  :root{
    --ink:#1b1814;
    --ink-soft:#2a251e;
    --paper:#f3eee3;
    --paper-2:#eae2d2;
    --paper-3:#ddd2b8;
    --brass:#9c7a3e;
    --brass-light:#c7a86a;
    --olive:#5c6b4f;
    --rust:#8b4a34;
    --muted:#8a8275;
    --muted-ink:#5a544a;
    --line: rgba(27,24,20,0.12);
    --line-light: rgba(243,238,227,0.18);
    --maxw: 1320px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{ background:var(--brass); color:var(--paper); }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 48px; }
  .eyebrow{
    font-family:'Space Mono',monospace;
    font-size:11px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--muted-ink);
  }
  .eyebrow::before{
    content:'';
    width:22px; height:1px;
    background:var(--brass);
    display:inline-block;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    font-weight:500;
    margin:0;
    letter-spacing:-0.01em;
  }
  :focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
  }

  /* ===== SPINE RAIL (signature element) ===== */
  .spine{
    position:fixed;
    left:0; top:0; bottom:0;
    width:64px;
    background:var(--ink);
    z-index:200;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
    padding:28px 0;
    border-right:1px solid rgba(243,238,227,0.08);
    overflow-y:auto;
    scrollbar-width:none;
  }
  .spine::-webkit-scrollbar{ display:none; }
  .spine-mark{
    writing-mode:vertical-rl;
    font-family:'Space Mono',monospace;
    font-size:10px;
    letter-spacing:0.2em;
    color:var(--brass-light);
    text-transform:uppercase;
    white-space:nowrap;
    flex-shrink:0;
  }
  .spine-index{
    display:flex;
    flex-direction:column;
    gap:24px;
    align-items:center;
    flex-shrink:0;
  }
  .spine-index a{
    writing-mode:vertical-rl;
    font-family:'Space Mono',monospace;
    font-size:10px;
    letter-spacing:0.14em;
    color:#ffffff;
    white-space:nowrap;
    padding:6px 0;
    position:relative;
    transition:color .25s ease;
    flex-shrink:0;
  }
  .spine-index a span.n{ color:var(--brass); margin-bottom:6px; display:inline-block; white-space:nowrap;}
  .spine-index a:hover, .spine-index a.active{ color:var(--brass-light); }
  .spine-index a.active::before{
    content:'';
    position:absolute;
    left:-13px; top:50%;
    width:6px;height:6px;
    background:var(--brass);
    border-radius:50%;
    transform:translateY(-50%);
  }
  .spine-foot{
    font-family:'Space Mono',monospace;
    font-size:9px;
    color:rgba(243,238,227,0.3);
    writing-mode:vertical-rl;
    letter-spacing:.1em;
    white-space:nowrap;
    flex-shrink:0;
  }
  @media (max-width:1024px){ .spine{ display:none; } }

  /* ===== HEADER ===== */
  header.top{
    margin-left:64px;
    position:sticky; top:0; z-index:100;
    background:rgba(243,238,227,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  @media (max-width:1024px){ header.top{ margin-left:0; } }
  .topbar{
    display:flex; align-items:stretch;
    padding:0;
  }
  .topbar-left{
    display:flex; align-items:center; justify-content:center;
    width:340px;
    flex-shrink:0;
    padding:16px 24px;
  }
  @media (max-width:1200px){ .topbar-left{ width:260px; } }
  .topbar-right{
    display:flex; align-items:center; justify-content:flex-end;
    flex:1;
    padding:14px 48px;
    border-left:1px solid var(--line);
    gap:34px;
  }
  .brand{
    display:flex; align-items:center;
  }
  .logo-crop{
    display:flex; align-items:center;
  }
  .logo-crop img{
    height:80px; width:auto;
    display:block;
  }
  .foot-brand img{ height:56px; width:auto; }
  nav.main{ display:flex; gap:34px; align-items:center; }
  nav.main a{
    font-size:13px; letter-spacing:0.02em; font-weight:500;
    color:var(--muted-ink);
    transition:color .2s ease;
  }
  nav.main a:hover{ color:var(--ink); }
  .nav-cta{
    border:1px solid var(--ink);
    padding:9px 18px;
    border-radius:2px;
    font-size:12px !important;
    letter-spacing:0.08em !important;
    text-transform:uppercase;
    color:var(--ink) !important;
  }
  .nav-cta:hover{ background:var(--ink); color:var(--paper) !important; }
  .burger{ display:none; }
  @media (max-width:900px){
    nav.main{ display:none; }
    .burger{ display:block; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.1em; border:1px solid var(--ink); padding:8px 14px; }
  }

  /* ===== HERO ===== */
  .hero{
    margin-left:64px;
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    min-height:88vh;
    border-bottom:1px solid var(--line);
  }
  @media (max-width:1024px){ .hero{ margin-left:0; grid-template-columns:1fr; min-height:auto;} }
  .hero-copy{
    display:flex; flex-direction:column; justify-content:center;
    padding:60px 40px 60px 56px;
    gap:24px;
  }
  .hero-text-stack{
    display:grid;
    align-items:start;
  }
  .hero-text-slide{
    grid-area:1 / 1;
    display:flex; flex-direction:column; gap:20px;
    opacity:0; visibility:hidden;
    transition:opacity 1s ease;
    pointer-events:none;
  }
  .hero-text-slide.active{ opacity:1; visibility:visible; pointer-events:auto; }
  .hero-copy .eyebrow{ }
  .hero-title{
    font-size:clamp(32px, 3.6vw, 56px);
    line-height:1.04;
  }
  .hero-title i{ font-style:italic; color:var(--brass); font-weight:400; }
  .hero-sub{
    font-size:16px;
    color:var(--muted-ink);
    max-width:440px;
    line-height:1.6;
  }
  .hero-actions{ display:flex; gap:16px; align-items:center; margin-top:10px; flex-wrap:wrap; }
  .btn-primary{
    background:var(--ink); color:var(--paper);
    padding:15px 26px;
    font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase;
    border-radius:2px;
    display:inline-flex; align-items:center; gap:10px;
    transition:background .2s ease;
  }
  .btn-primary:hover{ background:var(--brass); }
  .btn-ghost{
    font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--muted-ink);
    border-bottom:1px solid var(--line);
    padding-bottom:2px;
  }
  .hero-meta{
    display:flex; gap:38px; margin-top:18px;
    padding-top:22px; border-top:1px solid var(--line);
    max-width:460px;
  }
  .hero-meta div{ }
  .hero-meta .num{ font-family:'Fraunces',serif; font-size:26px; }
  .hero-meta .lbl{ font-size:11px; color:var(--muted); letter-spacing:.04em; margin-top:2px;}

  .hero-visual{
    position:relative;
    overflow:hidden;
    background:var(--ink);
  }
  .hero-img-slide{
    position:absolute; inset:0;
    opacity:0;
    transition:opacity 1.4s ease;
  }
  .hero-img-slide.active{ opacity:1; z-index:1; }
  .hero-visual img{
    width:100%; height:100%; object-fit:cover;
    position:absolute; inset:0;
  }
  .hero-tag{
    position:absolute; left:28px; top:28px; z-index:3;
    background:var(--paper); color:var(--ink);
    padding:8px 14px;
    font-family:'Space Mono',monospace;
    font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase;
  }
  .hero-caption{
    position:absolute; left:28px; right:28px; bottom:64px; z-index:2;
    color:var(--paper);
  }
  .hero-caption .cap-title{ font-family:'Fraunces',serif; font-size:29px; font-style:italic; line-height:1.15; }
  .hero-caption .cap-sub{ font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.08em; color:var(--paper-3); margin-top:10px; }
  .hero-img-slide::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(27,24,20,0) 62%, rgba(27,24,20,0.62) 100%);
    z-index:1;
  }
  .hero-thumbs{
    position:absolute; right:28px; top:50%;
    transform:translateY(-50%);
    z-index:4;
    display:flex; flex-direction:column; gap:14px;
  }
  .hero-thumb{
    display:block;
    width:128px; height:96px;
    border:1px solid #ffffff;
    border-radius:2px;
    overflow:hidden;
    background:var(--ink);
    filter:brightness(0.55) saturate(0.85);
    transition:filter .35s ease, border-color .35s ease;
    cursor:pointer;
  }
  .hero-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .hero-thumb:hover{ filter:brightness(0.85) saturate(1); }
  .hero-thumb.active{ filter:brightness(1) saturate(1); border-color:var(--brass-light); }
  @media (max-width:900px){
    .hero-thumbs{ right:14px; gap:8px; }
    .hero-thumb{ width:84px; height:63px; }
  }

  /* ===== SECTION HEADS ===== */
  .section{ margin-left:64px; padding:100px 64px; border-bottom:1px solid var(--line); }
  @media (max-width:1024px){ .section{ margin-left:0; padding:70px 28px; } }
  .section-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-bottom:56px; gap:24px; flex-wrap:wrap;
  }
  .section-head h2{ font-size:clamp(30px,3.4vw,46px); margin-top:10px; }
  .section-head .see-all{
    font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--muted-ink); border-bottom:1px solid var(--line); padding-bottom:3px;
    white-space:nowrap;
  }

  /* ===== EDITORIAL GRID ===== */
  .grid-editorial{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2px;
    background:var(--line);
    border:1px solid var(--line);
  }
  @media (max-width:900px){ .grid-editorial{ grid-template-columns:1fr; } }
  .card{
    background:var(--paper);
    padding:0;
    display:flex; flex-direction:column;
  }
  .card-media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-3); }
  .card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.3,1); }
  .card:hover .card-media img{ transform:scale(1.05); }
  .card-tag{
    position:absolute; left:16px; top:16px;
    font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase;
    padding:6px 10px; color:var(--paper);
  }
  .tag-arq{ background:var(--olive); }
  .tag-design{ background:var(--brass); }
  .tag-eventos{ background:var(--rust); }
  .card-body{ padding:26px 26px 30px; flex:1; display:flex; flex-direction:column; gap:14px; }
  .card-body h3{ font-size:21px; line-height:1.2; }
  .card-body p{ font-size:14px; color:var(--muted-ink); line-height:1.6; margin:0; }
  .card-foot{
    margin-top:auto; padding-top:16px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between;
    font-family:'Space Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:.04em;
  }

  /* ===== MOST READ (numbered folio list) ===== */
  .lidas-wrap{ display:grid; grid-template-columns:0.9fr 1.6fr; gap:70px; }
  @media (max-width:900px){ .lidas-wrap{ grid-template-columns:1fr; gap:40px; } }
  .lidas-list{ display:flex; flex-direction:column; }
  .lidas-item{
    display:grid; grid-template-columns:56px 1fr; gap:18px;
    padding:22px 0; border-bottom:1px solid var(--line);
    align-items:baseline;
  }
  .lidas-item:first-child{ padding-top:0; }
  .lidas-item .idx{ font-family:'Fraunces',serif; font-style:italic; font-size:28px; color:var(--paper-3); }
  .lidas-item h4{ font-size:17px; line-height:1.35; font-weight:500; }
  .lidas-item:hover h4{ color:var(--brass); }
  .lidas-item .cat{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.08em; color:var(--muted); text-transform:uppercase; margin-top:6px; display:block;}

  .lidas-feature img{ width:100%; aspect-ratio:16/11; object-fit:cover; }
  .lidas-feature{ }
  .lidas-feature .lf-tag{ margin-top:22px; }
  .lidas-feature h3{ font-size:32px; margin-top:14px; line-height:1.12; }
  .lidas-feature p{ margin-top:14px; color:var(--muted-ink); font-size:15px; line-height:1.7; max-width:520px; }

  /* ===== AGENDA (events strip) ===== */
  .agenda-strip{
    display:flex; gap:0; overflow-x:auto; margin:0 -64px; padding:0 64px 8px;
    scrollbar-width:none;
    align-items:flex-start;
  }
  @media (max-width:1024px){ .agenda-strip{ margin:0 -28px; padding:0 28px 8px; } }
  .agenda-strip::-webkit-scrollbar{ display:none; }
  .agenda-card{
    display:block;
    min-width:280px; max-width:280px;
    margin-right:30px;
    flex-shrink:0;
  }
  .agenda-media{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--paper-3);
  }
  .agenda-media img{
    width:100%; height:100%; object-fit:cover;
    filter:brightness(0.55);
    transition:filter .35s ease;
  }
  .agenda-card:hover .agenda-media img{ filter:brightness(1); }
  .agenda-media::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(27,24,20,0) 45%, rgba(27,24,20,0.8) 100%);
  }
  .agenda-date-badge{
    position:absolute; left:0; right:0; bottom:0; z-index:2;
    padding:14px 16px;
    display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  }
  .agenda-date-badge .ad-day{
    font-family:'Fraunces',serif; font-size:52px; color:var(--paper); line-height:1;
  }
  .agenda-date-badge .ad-day span{ font-family:'Space Mono',monospace; font-size:22px; color:var(--paper-3); margin-left:5px; }
  .agenda-date-badge .ad-month{
    font-family:'Space Mono',monospace; font-size:19px; letter-spacing:.06em; text-transform:uppercase; color:var(--brass-light); text-align:left; line-height:1.2;
  }
  .agenda-card h4{ font-size:18px; margin-top:16px; line-height:1.25; }
  .agenda-card .loc{ font-size:12.5px; color:var(--muted-ink); margin-top:6px; font-family:'Space Mono',monospace; letter-spacing:.02em; }

  /* ===== EDITION / NEWSLETTER (dark band) ===== */
  .dark-band{
    background:var(--ink); color:var(--paper);
    margin-left:64px;
    padding:64px 64px;
    border-bottom:1px solid rgba(243,238,227,0.1);
  }
  @media (max-width:1024px){ .dark-band{ margin-left:0; padding:48px 28px; } }
  .edition-grid{ display:grid; grid-template-columns:0.55fr 1.45fr; gap:60px; align-items:center; max-width:1020px; }
  .edition-cover img{ max-width:220px; margin:0 auto; }
  @media (max-width:900px){ .edition-grid{ grid-template-columns:1fr; gap:48px; } }
  .edition-cover{
    position:relative;
    box-shadow:0 40px 80px -20px rgba(0,0,0,0.6);
  }
  .edition-cover img{ width:100%; aspect-ratio:3/4; object-fit:cover; }
  .edition-cover .ec-badge{
    position:absolute; right:-14px; top:26px;
    background:var(--brass); color:var(--ink);
    padding:10px 8px;
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em;
    writing-mode:vertical-rl;
  }
  .dark-band .eyebrow{ color:var(--paper-3); }
  .dark-band .eyebrow::before{ background:var(--brass-light); }
  .dark-band h2{ color:var(--paper); font-size:clamp(28px,3.2vw,44px); margin-top:14px; line-height:1.08; }
  .dark-band p.lead{ color:rgba(243,238,227,0.65); font-size:16px; line-height:1.7; max-width:480px; margin-top:20px; }
  .newsletter-form{
    display:flex; gap:0; margin-top:34px; border-bottom:1px solid rgba(243,238,227,0.35);
    max-width:460px; padding-bottom:14px;
  }
  .newsletter-form input{
    background:none; border:none; flex:1;
    font-family:'Inter',sans-serif; font-size:15px; color:var(--paper);
    outline:none; padding:8px 0;
  }
  .newsletter-form input::placeholder{ color:rgba(243,238,227,0.4); }
  .newsletter-form button{
    background:none; border:none; color:var(--brass-light);
    font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
    cursor:pointer;
  }
  .fine{ font-family:'Space Mono',monospace; font-size:11px; color:rgba(243,238,227,0.35); margin-top:16px; letter-spacing:.04em; }

  /* ===== FOOTER ===== */
  footer{
    margin-left:64px;
    padding:70px 64px 40px;
  }
  @media (max-width:1024px){ footer{ margin-left:0; padding:50px 28px 30px; } }
  .foot-top{
    display:grid; grid-template-columns:1.3fr 0.7fr 0.7fr 0.7fr; gap:40px;
    padding-bottom:56px; border-bottom:1px solid var(--line);
  }
  @media (max-width:800px){ .foot-top{ grid-template-columns:1fr 1fr; } }
  .foot-brand{ font-family:'Fraunces',serif; font-size:26px; }
  .foot-brand em{ font-style:italic; color:var(--brass); }
  .foot-about{ font-size:14px; color:var(--muted-ink); line-height:1.7; max-width:340px; margin-top:18px; }
  .foot-col h5{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:18px; }
  .foot-col a{ display:block; font-size:14px; color:var(--ink); padding:7px 0; }
  .foot-col a:hover{ color:var(--brass); }
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:center;
    padding-top:28px; font-size:12px; color:var(--muted); flex-wrap:wrap; gap:14px;
  }
  .foot-social{ display:flex; gap:18px; }

  /* reveal on scroll */
  .reveal{ opacity:1; transform:none; }
  html.js .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  html.js .reveal.in{ opacity:1; transform:translateY(0); }

/* ============================================================
   REVISTA USE — componentes do site dinâmico
   Acrescentados ao layout base: capa fixa da revista impressa,
   banners, página de matéria, listagens e leitor de PDF.
   ============================================================ */

/* ---------- SPINE: capa da edição impressa sempre presente ---------- */
.spine{ padding:18px 0 22px; gap:18px; justify-content:flex-start; }
.spine-cover{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding-bottom:16px; border-bottom:1px solid rgba(243,238,227,0.1);
  width:100%; flex-shrink:0;
}
.spine-cover img{
  width:44px; height:59px; object-fit:cover;
  border:1px solid rgba(199,168,106,0.5);
  box-shadow:0 6px 18px -6px rgba(0,0,0,0.8);
  transition:transform .3s ease, border-color .3s ease;
}
.spine-cover:hover img{ transform:scale(1.08); border-color:var(--brass-light); }
.spine-cover .sc-num{
  font-family:'Space Mono',monospace; font-size:8.5px; letter-spacing:.1em;
  color:var(--brass-light); text-transform:uppercase; text-align:center; line-height:1.3;
}
.spine-cover .sc-cta{
  font-family:'Space Mono',monospace; font-size:7.5px; letter-spacing:.06em;
  color:rgba(243,238,227,.55); border:1px solid rgba(243,238,227,.22);
  padding:3px 5px; text-transform:uppercase; transition:.2s;
}
.spine-cover:hover .sc-cta{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.spine-index{ flex:1; justify-content:center; }

/* faixa da revista no mobile, onde a spine não aparece */
.mag-strip{ display:none; }
@media (max-width:1024px){
  .mag-strip{
    display:flex; align-items:center; gap:14px;
    background:var(--ink); color:var(--paper); padding:10px 20px;
  }
  .mag-strip img{ width:38px; height:51px; object-fit:cover; border:1px solid rgba(199,168,106,.5); }
  .mag-strip .ms-txt{ flex:1; min-width:0; }
  .mag-strip .ms-lbl{ font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--brass-light); }
  .mag-strip .ms-title{ font-family:'Fraunces',serif; font-size:15px; margin-top:2px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mag-strip .ms-btn{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.08em;
    text-transform:uppercase; border:1px solid var(--brass); color:var(--brass-light);
    padding:8px 12px; white-space:nowrap; }
}

/* ---------- BANNERS ---------- */
.banner{ display:block; margin:0 auto; text-align:center; line-height:0; }
.banner img{ margin:0 auto; }
.banner-largo{ margin-left:64px; padding:34px 64px; background:var(--paper-2); border-bottom:1px solid var(--line); }
@media (max-width:1024px){ .banner-largo{ margin-left:0; padding:24px 20px; } }
.banner-largo .banner-inner{ max-width:1180px; margin:0 auto; }
.banner-lateral{ margin-bottom:26px; }
.banner-label{
  font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin-bottom:8px; display:block; text-align:center; line-height:1.4;
}

/* ---------- PÁGINA DE MATÉRIA ---------- */
.article-wrap{ margin-left:64px; display:grid; grid-template-columns:minmax(0,1fr) 300px;
  gap:60px; padding:52px 64px 90px; max-width:1440px; }
@media (max-width:1180px){ .article-wrap{ grid-template-columns:1fr; gap:48px; } }
@media (max-width:1024px){ .article-wrap{ margin-left:0; padding:34px 22px 60px; } }

.article-head{ max-width:820px; margin-bottom:34px; }
.breadcrumb{ font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); margin-bottom:20px; display:flex; gap:9px; flex-wrap:wrap; }
.breadcrumb a:hover{ color:var(--brass); }
.article-title{ font-size:clamp(30px,4vw,52px); line-height:1.06; margin:14px 0 18px; }
.article-dek{ font-size:19px; line-height:1.6; color:var(--muted-ink); font-family:'Fraunces',serif;
  font-style:italic; max-width:700px; }
.article-meta{ display:flex; gap:20px; flex-wrap:wrap; align-items:center; margin-top:26px;
  padding-top:20px; border-top:1px solid var(--line);
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--muted); }
.article-cover{ margin:0 0 12px; }
.article-cover img{ width:100%; max-height:640px; object-fit:cover; }
.article-credit{ font-size:11.5px; color:var(--muted); font-family:'Space Mono',monospace;
  padding:10px 0 30px; border-bottom:1px solid var(--line); margin-bottom:34px; }

.article-body{ max-width:720px; font-size:17.5px; line-height:1.78; color:var(--ink-soft); }
.article-body > *:first-child{ margin-top:0; }
.article-body p{ margin:0 0 26px; }
.article-body h2{ font-size:29px; margin:46px 0 18px; line-height:1.2; }
.article-body h3{ font-size:23px; margin:38px 0 14px; line-height:1.25; }
.article-body h4{ font-size:19px; margin:30px 0 12px; }
.article-body a{ color:var(--brass); border-bottom:1px solid rgba(156,122,62,.35); }
.article-body a:hover{ border-bottom-color:var(--brass); }
.article-body img{ margin:34px 0 10px; width:100%; height:auto; }
.article-body figure{ margin:34px 0; }
.article-body figcaption{ font-size:12.5px; color:var(--muted); font-family:'Space Mono',monospace;
  line-height:1.5; margin-top:8px; }
.article-body ul,.article-body ol{ margin:0 0 26px; padding-left:24px; }
.article-body li{ margin-bottom:10px; }
.article-body blockquote{
  margin:38px 0; padding:6px 0 6px 28px; border-left:2px solid var(--brass);
  font-family:'Fraunces',serif; font-style:italic; font-size:23px; line-height:1.45; color:var(--ink);
}
.article-body blockquote p:last-child{ margin-bottom:0; }
.article-body iframe{ width:100%; aspect-ratio:16/9; height:auto; margin:32px 0; border:0; }
.article-body table{ width:100%; border-collapse:collapse; margin:30px 0; font-size:15px; }
.article-body td,.article-body th{ padding:11px 14px; border:1px solid var(--line); text-align:left; }
.article-body strong{ font-weight:600; color:var(--ink); }

.article-tags{ display:flex; flex-wrap:wrap; gap:9px; margin:44px 0 0; padding-top:28px;
  border-top:1px solid var(--line); }
.article-tags a{
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  border:1px solid var(--line); padding:7px 12px; color:var(--muted-ink); transition:.2s;
}
.article-tags a:hover{ border-color:var(--brass); color:var(--brass); }

.share{ display:flex; gap:10px; align-items:center; margin-top:26px; }
.share span{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); }
.share a{ width:34px; height:34px; border:1px solid var(--line); display:grid; place-items:center;
  border-radius:50%; transition:.2s; }
.share a:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.share svg{ width:15px; height:15px; }

/* coluna lateral */
.sidebar{ position:sticky; top:112px; align-self:start; }
.side-block{ margin-bottom:38px; }
.side-block h4{ font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted-ink); padding-bottom:12px;
  border-bottom:1px solid var(--line); margin-bottom:18px; }
.side-post{ display:grid; grid-template-columns:74px 1fr; gap:14px; padding:13px 0;
  border-bottom:1px solid var(--line); align-items:start; }
.side-post img{ width:74px; height:56px; object-fit:cover; background:var(--paper-3); }
.side-post h5{ font-family:'Fraunces',serif; font-size:14.5px; font-weight:500; line-height:1.34; }
.side-post:hover h5{ color:var(--brass); }
.side-post .sp-date{ font-family:'Space Mono',monospace; font-size:9.5px; color:var(--muted);
  letter-spacing:.06em; margin-top:5px; display:block; }

/* revista impressa na lateral do artigo */
.side-mag{ background:var(--ink); color:var(--paper); padding:26px 24px; text-align:center; }
.side-mag img{ width:132px; margin:0 auto 18px; box-shadow:0 20px 40px -14px rgba(0,0,0,.75); }
.side-mag .sm-lbl{ font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--brass-light); }
.side-mag h4{ font-family:'Fraunces',serif; font-size:19px; color:var(--paper); border:none;
  padding:10px 0 0; margin:0 0 8px; text-transform:none; letter-spacing:0; }
.side-mag p{ font-size:13px; color:rgba(243,238,227,.6); line-height:1.6; margin:0 0 18px; }
.side-mag .btn-mag{ display:block; background:var(--brass); color:var(--ink); padding:11px;
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  transition:.2s; }
.side-mag .btn-mag:hover{ background:var(--brass-light); }

/* ---------- LISTAGENS ---------- */
.page-head{ margin-left:64px; padding:60px 64px 34px; border-bottom:1px solid var(--line); }
@media (max-width:1024px){ .page-head{ margin-left:0; padding:40px 22px 26px; } }
.page-head h1{ font-size:clamp(34px,4.4vw,58px); line-height:1.03; margin:12px 0 14px; }
.page-head h1 i{ color:var(--brass); }
.page-head p{ font-size:15.5px; color:var(--muted-ink); line-height:1.65; max-width:620px; margin:0; }
.page-head .count{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); margin-top:16px; }

.list-section{ margin-left:64px; padding:56px 64px 80px; }
@media (max-width:1024px){ .list-section{ margin-left:0; padding:38px 22px 60px; } }
.list-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  background:var(--line); border:1px solid var(--line); }
@media (max-width:1000px){ .list-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:660px){ .list-grid{ grid-template-columns:1fr; } }

.pager{ display:flex; gap:6px; justify-content:center; align-items:center; margin-top:52px; flex-wrap:wrap; }
.pager a,.pager span{ font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.06em;
  padding:10px 15px; border:1px solid var(--line); transition:.2s; }
.pager a:hover{ border-color:var(--brass); color:var(--brass); }
.pager .on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.pager .off{ color:var(--paper-3); }

.searchbar{ display:flex; gap:0; max-width:520px; margin-top:22px;
  border-bottom:1px solid var(--ink); padding-bottom:10px; }
.searchbar input{ flex:1; border:none; background:none; font-family:'Inter',sans-serif;
  font-size:16px; color:var(--ink); outline:none; }
.searchbar button{ border:none; background:none; cursor:pointer; font-family:'Space Mono',monospace;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass); }

.empty-state{ padding:80px 20px; text-align:center; color:var(--muted); }
.empty-state h3{ font-size:24px; color:var(--ink); margin-bottom:12px; }

/* ---------- REVISTA IMPRESSA ---------- */
.mag-hero{ margin-left:64px; background:var(--ink); color:var(--paper);
  padding:70px 64px; display:grid; grid-template-columns:300px 1fr; gap:64px; align-items:center; }
@media (max-width:1024px){ .mag-hero{ margin-left:0; padding:44px 22px; grid-template-columns:1fr; gap:36px; } }
.mag-hero .mh-cover{ position:relative; box-shadow:0 40px 80px -22px rgba(0,0,0,.7); }
.mag-hero .mh-cover img{ width:100%; aspect-ratio:3/4; object-fit:cover; }
.mag-hero .mh-badge{ position:absolute; right:-14px; top:24px; background:var(--brass); color:var(--ink);
  padding:10px 8px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em;
  writing-mode:vertical-rl; }
.mag-hero h1{ color:var(--paper); font-size:clamp(30px,3.6vw,50px); line-height:1.06; margin:14px 0 18px; }
.mag-hero h1 i{ color:var(--brass-light); }
.mag-hero .mh-desc{ color:rgba(243,238,227,.65); font-size:16px; line-height:1.7; max-width:560px; }
.mag-hero .mh-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.btn-brass{ background:var(--brass); color:var(--ink); padding:15px 26px;
  font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  transition:.2s; display:inline-flex; align-items:center; gap:9px; }
.btn-brass:hover{ background:var(--brass-light); }
.btn-outline{ border:1px solid rgba(243,238,227,.35); color:var(--paper); padding:15px 26px;
  font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  transition:.2s; }
.btn-outline:hover{ background:var(--paper); color:var(--ink); }
.mag-hero .mh-meta{ display:flex; gap:34px; margin-top:32px; padding-top:24px;
  border-top:1px solid rgba(243,238,227,.15); }
.mag-hero .mh-meta .num{ font-family:'Fraunces',serif; font-size:26px; color:var(--paper); }
.mag-hero .mh-meta .lbl{ font-size:11px; color:rgba(243,238,227,.5); margin-top:3px; }

.mag-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
@media (max-width:1000px){ .mag-grid{ grid-template-columns:repeat(3,1fr); gap:24px; } }
@media (max-width:700px){ .mag-grid{ grid-template-columns:repeat(2,1fr); } }
.mag-item img{ width:100%; aspect-ratio:3/4; object-fit:cover; background:var(--paper-3);
  border:1px solid var(--line); transition:transform .4s cubic-bezier(.2,.7,.3,1); }
.mag-item:hover img{ transform:translateY(-6px); box-shadow:0 26px 44px -20px rgba(27,24,20,.5); }
.mag-item h4{ font-size:16px; margin-top:16px; line-height:1.3; }
.mag-item .mi-num{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--brass); margin-top:8px; display:block; }

/* ---------- LEITOR (folhear a edição) ---------- */
.reader{ position:fixed; inset:0; background:#151310; z-index:900; display:flex; flex-direction:column; }
.reader-bar{ display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:12px 20px; background:rgba(27,24,20,.95); border-bottom:1px solid rgba(243,238,227,.1);
  color:var(--paper); flex-shrink:0; }
.reader-bar .rb-title{ font-family:'Fraunces',serif; font-size:16px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }
.reader-bar .rb-num{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--brass-light); }
.reader-tools{ display:flex; gap:8px; align-items:center; }
.rt-btn{ background:none; border:1px solid rgba(243,238,227,.22); color:var(--paper);
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  padding:8px 13px; cursor:pointer; transition:.2s; display:inline-flex; align-items:center; gap:7px; }
.rt-btn:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.rt-btn[disabled]{ opacity:.3; cursor:default; }

.reader-stage{ flex:1; display:grid; place-items:center; overflow:hidden; padding:22px;
  perspective:2600px; position:relative; }
.book{ position:relative; display:flex; transform-style:preserve-3d;
  transition:transform .4s ease; max-height:100%; }
.book-page{ position:relative; background:#fff; box-shadow:0 30px 60px -22px rgba(0,0,0,.85);
  max-height:calc(100vh - 150px); }
.book-page img{ height:100%; max-height:calc(100vh - 150px); width:auto; object-fit:contain; display:block; }
.book-page.left{ transform-origin:right center; }
.book-page.right{ transform-origin:left center; }
.book-page.flipping-fwd{ animation:flipFwd .62s cubic-bezier(.4,.1,.3,1) both; }
.book-page.flipping-bwd{ animation:flipBwd .62s cubic-bezier(.4,.1,.3,1) both; }
@keyframes flipFwd{
  0%{ transform:rotateY(0); filter:brightness(1); }
  100%{ transform:rotateY(-172deg); filter:brightness(.72); }
}
@keyframes flipBwd{
  0%{ transform:rotateY(0); filter:brightness(1); }
  100%{ transform:rotateY(172deg); filter:brightness(.72); }
}
.reader-nav{ position:absolute; top:0; bottom:0; width:16%; cursor:pointer; border:none;
  background:transparent; display:grid; place-items:center; color:rgba(243,238,227,.35);
  font-size:34px; transition:.2s; }
.reader-nav:hover{ background:linear-gradient(90deg,rgba(0,0,0,.35),transparent); color:var(--paper); }
.reader-nav.next{ right:0; background:none; }
.reader-nav.next:hover{ background:linear-gradient(270deg,rgba(0,0,0,.35),transparent); }
.reader-nav.prev{ left:0; }
.reader-nav[disabled]{ opacity:0; pointer-events:none; }

.reader-thumbs{ display:flex; gap:8px; overflow-x:auto; padding:12px 18px; background:rgba(27,24,20,.95);
  border-top:1px solid rgba(243,238,227,.1); flex-shrink:0; scrollbar-width:thin; }
.reader-thumbs img{ height:66px; width:auto; border:1px solid transparent; opacity:.5;
  cursor:pointer; transition:.2s; flex-shrink:0; }
.reader-thumbs img:hover{ opacity:.85; }
.reader-thumbs img.on{ opacity:1; border-color:var(--brass); }
@media (max-width:820px){
  .book{ flex-direction:column; }
  .book-page.left{ display:none; }
  .reader-thumbs{ display:none; }
  .reader-bar .rb-title{ font-size:13px; }
}

/* ---------- NEWSLETTER (retorno do formulário) ---------- */
.nl-msg{ font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.04em;
  margin-top:14px; padding:10px 0; }
.nl-msg.ok{ color:var(--brass-light); }
.nl-msg.err{ color:#e0a08f; }

/* ---------- PÁGINA DE ERRO ---------- */
.error-page{ margin-left:64px; min-height:72vh; display:grid; place-items:center; padding:60px 24px; text-align:center; }
@media (max-width:1024px){ .error-page{ margin-left:0; } }
.error-page .code{ font-family:'Fraunces',serif; font-size:clamp(80px,14vw,190px); line-height:.9;
  color:var(--paper-3); font-style:italic; }
.error-page h1{ font-size:clamp(26px,3.4vw,40px); margin:18px 0 14px; }
.error-page p{ color:var(--muted-ink); font-size:16px; line-height:1.65; max-width:460px; margin:0 auto 30px; }

/* menu mobile */
.mobile-menu{ display:none; }
@media (max-width:900px){
  .mobile-menu{ display:block; background:var(--paper-2); border-top:1px solid var(--line); padding:8px 20px 14px; }
  .mobile-menu[hidden]{ display:none; }
  .mobile-menu a{ display:block; padding:11px 0; border-bottom:1px solid var(--line); font-size:15px; }
  .mobile-menu a:last-child{ border-bottom:none; }
}

/* ---------- AGENDA DE EVENTOS ---------- */
.agenda-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:34px 30px; }
@media (max-width:1100px){ .agenda-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:800px){ .agenda-grid{ grid-template-columns:repeat(2,1fr); gap:26px 20px; } }
@media (max-width:520px){ .agenda-grid{ grid-template-columns:1fr; } }
.agenda-grid .agenda-card{ min-width:0; max-width:none; margin-right:0; }

.agenda-flag{
  position:absolute; right:12px; top:12px; z-index:3;
  background:rgba(27,24,20,.82); color:var(--paper-3);
  font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.12em;
  text-transform:uppercase; padding:5px 9px;
}
.agenda-card.is-past .agenda-media img{ filter:brightness(0.4) saturate(0.5); }
.agenda-card.is-past:hover .agenda-media img{ filter:brightness(0.7) saturate(0.8); }
.agenda-card:hover h4{ color:var(--brass); }

.agenda-tabs{ display:flex; gap:10px; margin-top:26px; flex-wrap:wrap; }
.agenda-tabs a{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--line); padding:10px 16px; color:var(--muted-ink); transition:.2s;
  display:inline-flex; align-items:center; gap:8px;
}
.agenda-tabs a span{ color:var(--brass); font-size:10px; }
.agenda-tabs a:hover{ border-color:var(--brass); color:var(--ink); }
.agenda-tabs a.on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.agenda-tabs a.on span{ color:var(--brass-light); }

/* ficha do evento */
.event-facts{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:20px 34px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line);
}
.event-facts .ef-lbl{
  display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); margin-bottom:6px;
}
.event-facts .ef-val{ font-size:15.5px; line-height:1.5; color:var(--ink); }

/* ---------- CARTÃO DE EVENTO ---------- */
/* A arte do evento é um logotipo: aparece inteira, sobre papel, e a data
   ganha um selo próprio abaixo — nada se sobrepõe. */
.agenda-card .agenda-media{
  position:relative; aspect-ratio:4/3; overflow:hidden;
  background:var(--paper-2); border:1px solid var(--line);
}
.agenda-card .agenda-media img{
  width:100%; height:100%; object-fit:contain; padding:14px;
  filter:none; transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.agenda-card .agenda-media::after{ content:none; }
.agenda-card:hover .agenda-media img{ transform:scale(1.04); }
.agenda-card:hover .agenda-media{ border-color:var(--brass-light); }

.agenda-date{
  display:flex; align-items:baseline; gap:9px; margin-top:16px;
  padding-bottom:10px; border-bottom:1px solid var(--line);
}
.agenda-date .ad-day{
  font-family:'Fraunces',serif; font-size:30px; line-height:1; color:var(--ink);
}
.agenda-date .ad-month{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--brass);
}
.agenda-card h4{ font-size:17.5px; margin-top:13px; line-height:1.28; }
.agenda-card .loc{
  font-family:'Space Mono',monospace; font-size:11.5px; color:var(--muted);
  margin-top:7px; letter-spacing:.02em;
}
.agenda-card:hover h4{ color:var(--brass); }

.agenda-flag{
  position:absolute; right:10px; top:10px; z-index:3;
  background:var(--ink); color:var(--paper-3);
  font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.12em;
  text-transform:uppercase; padding:5px 9px;
}
.agenda-card.is-past .agenda-media img{ filter:grayscale(1) opacity(.6); }
.agenda-card.is-past:hover .agenda-media img{ filter:grayscale(.2) opacity(.9); }
.agenda-card.is-past .agenda-date .ad-day{ color:var(--muted); }
.agenda-card.is-past .agenda-date .ad-month{ color:var(--muted); }

.agenda-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:38px 30px; }
@media (max-width:1100px){ .agenda-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:800px){ .agenda-grid{ grid-template-columns:repeat(2,1fr); gap:28px 20px; } }
@media (max-width:520px){ .agenda-grid{ grid-template-columns:1fr; } }
.agenda-grid .agenda-card{ min-width:0; max-width:none; margin-right:0; display:block; }

.agenda-tabs{ display:flex; gap:10px; margin-top:26px; flex-wrap:wrap; }
.agenda-tabs a{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--line); padding:10px 16px; color:var(--muted-ink); transition:.2s;
  display:inline-flex; align-items:center; gap:8px;
}
.agenda-tabs a span{ color:var(--brass); font-size:10px; }
.agenda-tabs a:hover{ border-color:var(--brass); color:var(--ink); }
.agenda-tabs a.on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.agenda-tabs a.on span{ color:var(--brass-light); }

/* ficha do evento */
.event-facts{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:20px 34px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line);
}
.event-facts .ef-lbl{
  display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); margin-bottom:6px;
}
.event-facts .ef-val{ font-size:15.5px; line-height:1.5; color:var(--ink); }
