/* ============================================================
   HERÓDOTO — site styles
   Light is :root; dark is [data-theme="dark"]. Same markup,
   theme swap only. Warm archival palette + editorial type.
   ============================================================ */

:root{
  --bg:        #F3ECDC;
  --surface:   #FAF5EA;
  --surface-2: #EBE1CC;
  --surface-3: #E6DAC0;
  --ink:       #221C15;
  --ink-2:     #4C4234;
  --ink-3:     #837359;
  --line:      #D7C9AC;
  --line-2:    #CBBC9C;
  --accent:    #6E2027;   /* fills */
  --accent-2:  #531318;
  --accent-text:#7C2A30;  /* accent-colored text on bg */
  --on-accent: #FAF5EA;   /* text on accent fill */
  --gold:      #9C7A2E;
  --gold-text: #8A6A22;
  --hero-tint: rgba(20,12,8,.30);
  --shadow:    0 1px 2px rgba(40,28,12,.08), 0 18px 50px rgba(40,28,12,.10);
  --shadow-sm: 0 1px 3px rgba(40,28,12,.10);
  --photo-filter: none;
}

[data-theme="dark"]{
  /* charcoal + cyan — matched to the user's existing dark site */
  --bg:        #222426;
  --surface:   #2A2D30;
  --surface-2: #33373B;
  --surface-3: #3B4044;
  --ink:       #E8EAEB;
  --ink-2:     #B2B7BA;
  --ink-3:     #7F858A;
  --line:      #36393D;
  --line-2:    #464B50;
  --accent:    #2BB7C5;   /* cyan fill */
  --accent-2:  #1E96A2;
  --accent-text:#43D3E0;  /* bright cyan text/links */
  --on-accent: #07191C;   /* dark text on cyan fill */
  --gold:      #4FBCC7;
  --gold-text: #5DC6D2;   /* kicker — dimmer cyan */
  --hero-tint: rgba(8,10,11,.42);
  --shadow:    0 1px 2px rgba(0,0,0,.5), 0 22px 60px rgba(0,0,0,.6);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.5);
  --photo-filter: brightness(.94) contrast(1.02);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Newsreader",Georgia,serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  transition:background .4s ease, color .4s ease;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;}
p{margin:0;}
::selection{background:var(--accent);color:var(--on-accent);}

.disp{font-family:"Cormorant Garamond",Georgia,serif;}
.serif{font-family:"Newsreader",Georgia,serif;}
.ui{font-family:"Archivo","Helvetica Neue",sans-serif;}
.kick{
  font-family:"Archivo",sans-serif; text-transform:uppercase;
  letter-spacing:.26em; font-weight:600; font-size:12px; color:var(--gold-text);
  display:inline-block;
}
.container{max-width:1280px;margin:0 auto;padding:0 48px;}
section{scroll-margin-top:84px;}

/* hairline divider */
.rule{border:0;border-top:1px solid var(--line);margin:0;}

/* ---------- buttons ---------- */
.btn{
  font-family:"Archivo",sans-serif; font-weight:600; font-size:13.5px;
  letter-spacing:.08em; text-transform:uppercase; line-height:1;
  display:inline-flex; align-items:center; gap:11px; cursor:pointer;
  padding:16px 30px; border:1.5px solid transparent; white-space:nowrap;
  transition:transform .18s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.btn .arr{transition:transform .2s ease;}
.btn:hover .arr{transform:translateX(4px);}
.btn-accent{background:var(--accent);color:var(--on-accent);}
.btn-accent:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn-paper{background:var(--surface);color:var(--ink);}
.btn-paper:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor;}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
[data-theme="dark"] .btn-ghost:hover{background:rgba(255,255,255,.07);}

.arrowlink{
  font-family:"Archivo",sans-serif;font-weight:600;font-size:13.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);
  display:inline-flex;align-items:center;gap:9px;
}
.arrowlink .arr{transition:transform .2s ease;}
.arrowlink:hover .arr{transform:translateX(5px);}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  color:#F6EFE1;
  transition:background .35s ease, color .35s ease, box-shadow .35s ease, padding .35s ease;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.nav.scrolled{
  background:var(--surface);color:var(--ink);
  box-shadow:0 1px 0 var(--line), 0 10px 30px rgba(40,28,12,.07);
}
[data-theme="dark"] .nav.scrolled{box-shadow:0 1px 0 var(--line), 0 10px 30px rgba(0,0,0,.5);}
.brand{
  font-family:"Cormorant Garamond",serif;font-weight:600;font-size:24px;
  letter-spacing:.32em;text-transform:uppercase;
}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{
  font-family:"Archivo",sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;position:relative;padding:4px 0;
  transition:opacity .2s ease;
}
.nav-links a.link::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;
  background:currentColor;transition:right .25s ease;
}
.nav-links a.link:hover::after{right:0;}
.nav-enter{
  border:1.5px solid currentColor;padding:9px 20px;
  letter-spacing:.12em;transition:background .2s ease,color .2s ease;
}
.nav.scrolled .nav-enter:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.nav:not(.scrolled) .nav-enter:hover{background:rgba(255,255,255,.14);}
.theme-link{display:inline-flex;align-items:center;gap:7px;opacity:.85;}
.theme-link:hover{opacity:1;}
.theme-link svg{width:15px;height:15px;}

/* hamburger */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;color:inherit;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:transform .25s,opacity .25s;}
.mobile-menu{display:none;}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:#15100b;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.hero-grad{position:absolute;inset:0;background:
  linear-gradient(180deg, var(--hero-tint) 0%, rgba(20,12,8,0) 24%, rgba(20,12,8,0) 42%, rgba(16,10,6,.55) 74%, rgba(12,8,4,.86) 100%);}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:64px;padding-top:120px;}
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;}
.hero h1{
  font-family:"Cormorant Garamond",serif;color:#FAF5EA;font-weight:600;
  font-size:clamp(46px,7.6vw,104px);line-height:.95;letter-spacing:-.01em;margin:18px 0 0;
}
.hero .dek{color:rgba(250,245,234,.92);font-size:clamp(17px,1.4vw,21px);line-height:1.5;margin:24px 0 30px;max-width:560px;}
.hero .kick{color:#D8B45E;}
[data-theme="dark"] .hero .kick{color:var(--gold-text);}
.hero-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.hero-caption{
  text-align:right;color:rgba(250,245,234,.74);font-family:"Archivo",sans-serif;
  font-size:11px;letter-spacing:.05em;line-height:1.65;max-width:260px;
  border-right:2px solid #C29A45;padding-right:16px;flex-shrink:0;
}
.hero-caption .t{font-family:"Newsreader",serif;font-style:italic;font-size:14px;color:rgba(250,245,234,.94);display:block;margin-bottom:4px;letter-spacing:0;}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(250,245,234,.6);font-family:"Archivo",sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;}
.scroll-hint .line{width:1px;height:34px;background:linear-gradient(180deg,rgba(250,245,234,.6),rgba(250,245,234,0));animation:scrollpulse 2.2s ease-in-out infinite;}
@keyframes scrollpulse{0%,100%{transform:scaleY(.5);opacity:.4;transform-origin:top;}50%{transform:scaleY(1);opacity:1;transform-origin:top;}}

/* ============================================================
   SOBRE / manifesto
   ============================================================ */
.band{padding:96px 0;}
.band.alt{background:var(--surface);}
.sobre-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;}
.sobre-statement{font-family:"Cormorant Garamond",serif;font-size:clamp(28px,3vw,42px);line-height:1.18;font-weight:500;color:var(--ink);}
.sobre-statement em{color:var(--accent-text);font-style:italic;}
.sobre-side p{font-size:17px;line-height:1.6;color:var(--ink-2);margin-bottom:22px;}

/* ============================================================
   TRILHAS
   ============================================================ */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:8px;}
.sec-head h2{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.01em;margin-top:10px;}
.sec-head .lead{font-size:16px;color:var(--ink-3);max-width:340px;text-align:right;}
.trilhas{margin-top:34px;border-top:1.5px solid var(--ink);}
.trilha{
  display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:24px;
  padding:26px 8px;border-bottom:1px solid var(--line);
  transition:background .2s ease,padding .2s ease;
}
.trilha:hover{background:var(--surface);padding-left:18px;padding-right:18px;}
.trilha .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:22px;color:var(--gold-text);}
.trilha .t{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(24px,2.4vw,32px);line-height:1.05;}
.trilha .d{font-size:15px;color:var(--ink-3);margin-top:3px;}
.trilha .go{color:var(--accent-text);font-size:22px;transition:transform .2s ease;}
.trilha:hover .go{transform:translateX(6px);}

/* ============================================================
   CURSOS grid
   ============================================================ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px;}
.card{
  background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--line-2);}
.card-media{position:relative;height:200px;overflow:hidden;background:var(--surface-2);}
.card-media img{width:100%;height:100%;object-fit:cover;filter:var(--photo-filter);transition:transform .5s ease;}
.card:hover .card-media img{transform:scale(1.05);}
.card-tag{
  position:absolute;top:12px;left:12px;font-family:"Archivo",sans-serif;font-size:10px;
  letter-spacing:.13em;text-transform:uppercase;font-weight:600;padding:6px 11px;
  background:rgba(34,28,21,.82);color:#FAF5EA;
}
.card-tag.free{background:var(--accent);color:var(--on-accent);}
.card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.card-body .top{display:flex;align-items:baseline;gap:10px;}
.card-body .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:19px;color:var(--gold-text);}
.card-body h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:28px;line-height:1.04;}
.card-body p{font-size:15px;line-height:1.45;color:var(--ink-2);margin:9px 0 18px;flex:1;}
.card-foot{display:flex;align-items:center;justify-content:space-between;font-family:"Archivo",sans-serif;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding-top:14px;border-top:1px solid var(--line);}
.card-foot .more{color:var(--accent-text);display:inline-flex;gap:7px;align-items:center;}
.card:hover .card-foot .more .arr{transform:translateX(4px);}
.card-foot .arr{transition:transform .2s ease;}

/* ============================================================
   RECURSOS / arquivo
   ============================================================ */
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1.5px solid var(--ink);}
.art{padding:26px 28px 0 0;border-right:1px solid var(--line);}
.art:last-child{border-right:0;padding-right:0;}
.art:not(:first-child){padding-left:28px;}
.art-media{height:150px;overflow:hidden;background:var(--surface-2);margin-bottom:15px;}
.art-media img{width:100%;height:100%;object-fit:cover;filter:var(--photo-filter);transition:transform .5s ease;}
.art:hover .art-media img{transform:scale(1.05);}
.art h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:27px;line-height:1.05;margin:8px 0;transition:color .2s;}
.art:hover h3{color:var(--accent-text);}
.art .date{font-family:"Archivo",sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}

/* ============================================================
   PROFESSOR
   ============================================================ */
.prof{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;}
.prof-photo{
  position:relative;aspect-ratio:4/5;background:
   repeating-linear-gradient(135deg,var(--surface-2) 0 14px,var(--surface-3) 14px 28px);
  border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
}
.prof-photo span{font-family:"Archivo",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
.prof-body .quote{font-family:"Cormorant Garamond",serif;font-size:clamp(26px,2.8vw,40px);line-height:1.2;font-weight:500;}
.prof-body .quote em{font-style:italic;color:var(--accent-text);}
.prof-body .bio{font-size:16.5px;line-height:1.6;color:var(--ink-2);margin:22px 0;max-width:560px;}
.prof-sign{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:24px;color:var(--ink);}
.prof-sign small{display:block;font-family:"Archivo",sans-serif;font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;}

/* ============================================================
   CTA band
   ============================================================ */
.cta{background:var(--accent);color:var(--on-accent);text-align:center;padding:104px 0;position:relative;overflow:hidden;}
.cta .kick{color:rgba(250,245,234,.7);}
.cta h2{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(38px,5vw,72px);line-height:1.02;margin:14px 0 26px;}
.cta .btn-paper{background:var(--surface);color:var(--ink);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--surface);border-top:1px solid var(--line);padding:72px 0 36px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.foot-brand .brand{color:var(--ink);font-size:28px;display:inline-block;margin-bottom:14px;}
.foot-brand p{font-size:15px;color:var(--ink-3);line-height:1.6;max-width:300px;}
.foot-col h4{font-family:"Archivo",sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px;font-weight:600;}
.foot-col a,.foot-col p{display:block;font-size:15px;color:var(--ink-2);margin-bottom:11px;transition:color .2s;}
.foot-col a:hover{color:var(--accent-text);}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:52px;padding-top:24px;border-top:1px solid var(--line);font-family:"Archivo",sans-serif;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);}
.foot-bottom .socials{display:flex;gap:18px;}
.foot-bottom .socials a:hover{color:var(--accent-text);}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .scroll-hint .line{animation:none;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .cards{grid-template-columns:repeat(2,1fr);}
  .sobre-grid{grid-template-columns:1fr;gap:36px;}
  .prof{grid-template-columns:1fr;gap:34px;}
  .prof-photo{max-width:360px;}
}
@media (max-width:820px){
  .container{padding:0 26px;}
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .nav-inner{height:66px;}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav.open .nav-toggle span:nth-child(2){opacity:0;}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-menu{
    display:block;position:fixed;inset:66px 0 auto 0;z-index:55;background:var(--surface);
    border-bottom:1px solid var(--line);box-shadow:var(--shadow);
    max-height:0;overflow:hidden;transition:max-height .35s ease;
  }
  .nav.open ~ .mobile-menu{max-height:80vh;}
  .mobile-menu a{display:block;padding:16px 26px;font-family:"Archivo",sans-serif;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);}
  .mobile-menu a:last-child{border-bottom:0;}
  .hero-row{flex-direction:column;align-items:flex-start;gap:30px;}
  .hero-caption{text-align:left;border-right:0;border-left:2px solid #C29A45;padding-right:0;padding-left:14px;}
  .band{padding:64px 0;}
  .sec-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .sec-head .lead{text-align:left;}
  .arts{grid-template-columns:1fr;border-top:0;}
  .art{border-right:0;border-top:1.5px solid var(--ink);padding:24px 0 0;}
  .art:not(:first-child){padding-left:0;}
  .foot-top{grid-template-columns:1fr 1fr;gap:32px;}
  .foot-bottom{flex-direction:column;gap:14px;align-items:flex-start;}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr;}
  .trilha{grid-template-columns:34px 1fr auto;gap:14px;}
  .foot-top{grid-template-columns:1fr;}
  .hero-cta{gap:16px;}
  .btn{padding:14px 24px;}
}

/* ============================================================
   DARK-ONLY accents — cyan on charcoal (matches user's site)
   ============================================================ */
[data-theme="dark"] .brand{color:var(--accent-text);}
[data-theme="dark"] .hero h1{color:var(--accent-text);}
[data-theme="dark"] .sec-head h2,
[data-theme="dark"] .page-head h1,
[data-theme="dark"] .syl-head h2{color:var(--accent-text);}
[data-theme="dark"] .hero .btn-paper{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
[data-theme="dark"] .hero .btn-paper:hover{background:var(--accent-2);}
[data-theme="dark"] .cta{background:var(--surface);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
[data-theme="dark"] .cta .kick{color:var(--gold-text);}
[data-theme="dark"] .cta h2{color:var(--accent-text);}
[data-theme="dark"] .cta .btn-paper{background:var(--accent);color:var(--on-accent);}
[data-theme="dark"] .cta .btn-paper:hover{background:var(--accent-2);}
[data-theme="dark"] .prof-body .quote em{color:var(--accent-text);}

/* ============================================================
   CURSOS PAGE
   ============================================================ */
.page-head{padding:150px 0 60px;background:var(--surface);border-bottom:1px solid var(--line);}
.page-head .crumbs{font-family:"Archivo",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:18px;}
.page-head .crumbs a:hover{color:var(--accent-text);}
.page-head h1{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(46px,7vw,94px);line-height:.94;letter-spacing:-.01em;margin-top:8px;}
.page-head .lead{font-size:19px;line-height:1.55;color:var(--ink-2);max-width:640px;margin-top:22px;}

.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:38px;}
.filters .flabel{font-family:"Archivo",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-right:6px;}
.chip{
  font-family:"Archivo",sans-serif;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;
  font-weight:600;padding:11px 19px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line-2);color:var(--ink-2);background:transparent;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;
}
.chip:hover{border-color:var(--ink-3);color:var(--ink);transform:translateY(-1px);}
.chip.active{background:var(--ink);color:var(--surface);border-color:var(--ink);}
[data-theme="dark"] .chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.card.hide{display:none;}
.cards-empty{display:none;padding:48px 0;font-family:"Newsreader",serif;font-style:italic;color:var(--ink-3);font-size:18px;}
.cards-empty.show{display:block;}

/* syllabus / programa */
.syllabus{display:grid;grid-template-columns:340px 1fr;border:1px solid var(--line);margin-top:38px;background:var(--bg);}
.syl-rail{padding:36px 32px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;}
.syl-rail .kick{margin-bottom:8px;}
.syl-trilha{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:16px 0;border-top:1px solid var(--line);font-family:inherit;}
.syl-trilha:first-of-type{border-top:0;}
.syl-trilha .t{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:600;color:var(--ink);transition:color .2s ease;display:block;}
.syl-trilha .d{font-family:"Newsreader",serif;font-size:13.5px;color:var(--ink-3);margin-top:1px;display:block;}
.syl-trilha:hover .t{color:var(--accent-text);}
.syl-trilha.active .t{color:var(--accent-text);}
.syl-note{margin-top:auto;padding-top:24px;font-family:"Newsreader",serif;font-style:italic;font-size:14px;color:var(--ink-3);line-height:1.5;}
.syl-main{padding:36px 42px;}
.syl-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:6px;}
.syl-head h2{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(30px,3.4vw,46px);line-height:1;letter-spacing:-.01em;}
.syl-head .count{font-family:"Archivo",sans-serif;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;white-space:nowrap;}
.syl-intro{font-family:"Newsreader",serif;font-size:16px;color:var(--ink-2);line-height:1.5;margin:8px 0 18px;max-width:620px;}
.syl-row{display:grid;grid-template-columns:54px 1fr 96px;align-items:center;gap:18px;padding:17px 0;border-top:1px solid var(--line);transition:background .2s ease,padding .2s ease;}
.syl-row:hover{background:var(--surface);padding-left:14px;padding-right:14px;}
.syl-row .n{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:30px;color:var(--gold-text);}
.syl-row .t{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:600;color:var(--ink);}
.syl-row .d{font-family:"Newsreader",serif;font-size:14px;color:var(--ink-3);margin-top:1px;}
.syl-row .meta{font-family:"Archivo",sans-serif;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600;text-align:right;}
.syl-row .meta.free{color:var(--accent-text);}
.syl-row.hide{display:none;}

@media (max-width:900px){
  .syllabus{grid-template-columns:1fr;}
  .syl-rail{border-right:0;border-bottom:1px solid var(--line);}
  .syl-note{display:none;}
}
@media (max-width:560px){
  .page-head{padding:120px 0 44px;}
  .syl-row{grid-template-columns:40px 1fr;gap:12px;}
  .syl-row .meta{display:none;}
}

/* ============================================================
   MATERIAIS / LOJA
   ============================================================ */
.feature{display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:center;margin-top:8px;}
.feature .ck{margin-bottom:8px;}
.feature h2{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.01em;}
.feature p{font-size:17.5px;line-height:1.55;color:var(--ink-2);margin:18px 0 0;max-width:520px;}
.feature .incl{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:9px;}
.feature .incl li{font-family:"Newsreader",serif;font-size:16px;color:var(--ink-2);padding-left:24px;position:relative;}
.feature .incl li::before{content:"—";position:absolute;left:0;color:var(--accent-text);}
.price-row{display:flex;align-items:baseline;gap:16px;margin:26px 0 22px;}
.price-now{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:46px;line-height:1;color:var(--accent-text);}
.price-old{font-family:"Archivo",sans-serif;font-size:15px;letter-spacing:.04em;color:var(--ink-3);text-decoration:line-through;}
.price-tag{font-family:"Archivo",sans-serif;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--on-accent);background:var(--accent);padding:5px 10px;align-self:center;}

/* book cover */
.cover{aspect-ratio:3/4;position:relative;overflow:hidden;background:#1a130d;box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease;}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--photo-filter);}
.cover-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,8,4,.62) 0%,rgba(13,8,4,.08) 34%,rgba(13,8,4,.2) 56%,rgba(10,6,3,.9) 100%);}
.cover-brand{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;color:#F4ECDD;font-family:"Cormorant Garamond",serif;font-size:13px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;}
.cover-brand .vol{font-family:"Archivo",sans-serif;font-size:9.5px;letter-spacing:.12em;opacity:.75;}
.cover-ttl{position:absolute;left:20px;right:20px;bottom:22px;color:#F8F3E8;}
.cover-ttl .ck{font-family:"Archivo",sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#D8B45E;}
.cover-ttl h4{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:28px;line-height:1.02;margin-top:6px;}
.cover-ttl .ed{font-family:"Archivo",sans-serif;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,243,232,.72);margin-top:8px;display:block;}
.cover-bar{position:absolute;left:0;bottom:0;height:5px;width:100%;background:var(--accent);}
.feature-cover .cover{box-shadow:var(--shadow);}

.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:38px;}
.prod{display:flex;flex-direction:column;}
.prod:hover .cover{transform:translateY(-6px);}
.prod-info{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;}
.prod-fmt{display:flex;gap:7px;}
.fmt{font-family:"Archivo",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-3);border:1px solid var(--line-2);padding:5px 9px;}
.prod-price{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:27px;color:var(--ink);white-space:nowrap;}
.prod-price small{font-family:"Archivo",sans-serif;font-size:10px;letter-spacing:.04em;color:var(--ink-3);}
.prod-buy{display:flex;gap:14px;align-items:center;margin-top:15px;}
.prod-buy .btn{padding:13px 22px;font-size:12.5px;flex:1;justify-content:center;}

/* depoimentos */
.depo{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px;}
.depo-card{background:var(--bg);border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column;}
.band.alt .depo-card{background:var(--bg);}
.depo-card .stars{color:#C29A45;letter-spacing:4px;font-size:13px;margin-bottom:14px;}
[data-theme="dark"] .depo-card .stars{color:var(--gold-text);}
.depo-card .q{font-family:"Newsreader",serif;font-style:italic;font-size:18.5px;line-height:1.5;color:var(--ink);flex:1;}
.depo-card .who{margin-top:20px;font-family:"Archivo",sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;}
.depo-card .who b{display:block;font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:2px;}

@media (max-width:1080px){
  .feature{grid-template-columns:1fr 300px;gap:40px;}
  .shelf,.depo{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .feature{grid-template-columns:1fr;gap:30px;}
  .feature-cover{max-width:300px;}
  .shelf,.depo{grid-template-columns:1fr;}
  .shelf{max-width:380px;}
}
