/* ============================================================
   TAHÍS MENEZES — design system editorial v3.1 "Leitura"
   preto 100% → nuances de cinza → branco · rosa = assinatura
   ============================================================ */
:root{
  --preto:#000; --tinta:#0E0E0D; --carvao:#1A1A19; --grafite:#2E2E2C;
  --cinza:#6F6F6D; --cinza2:#A6A6A3; --prata:#D9D9D6; --gelo:#F4F4F2; --branco:#FEFEFC;
  --rosa:#DB849F; --rosa-ink:#B0577A;
  --ld:rgba(255,255,255,.16); --ll:rgba(0,0,0,.14);
  --serif:'Playfair Display',Georgia,serif; --sans:'Archivo',-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(20px,4vw,56px); --sect:clamp(84px,10vw,140px);
  --expo:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--tinta);color:var(--carvao);font-family:var(--sans);font-weight:400;font-size:16.5px;line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--rosa);color:var(--preto)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
section{scroll-margin-top:76px}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.015em}
h2{font-size:clamp(2rem,3.9vw,3.1rem);margin-bottom:24px}
h1 em,h2 em{font-style:italic;font-weight:500}
.lead{font-size:clamp(1.02rem,1.45vw,1.15rem);max-width:58ch}
.mut{color:var(--cinza)}

/* kicker editorial: fio que se desenha + rótulo + fólio */
.kick{display:flex;align-items:baseline;gap:18px;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;margin-bottom:30px}
.kick::before{content:"";align-self:center;width:34px;height:1px;background:currentColor;opacity:.5;transform-origin:left}
.js .kick::before{transform:scaleX(0);transition:transform 1s var(--expo) .15s}
.kick.on::before{transform:scaleX(1)}
.kick i{font-style:normal;margin-left:auto;font-weight:500;letter-spacing:.18em;opacity:.55}
.sect{background:var(--branco);padding:var(--sect) 0;color:var(--carvao)}
.sect.gelo{background:var(--gelo)}
.dark{background:var(--preto);color:var(--gelo);padding:var(--sect) 0}
.dark .lead{color:var(--prata)}
.dark .mut{color:var(--cinza2)}
.dark .kick{color:var(--cinza2)}
.sect .kick{color:var(--cinza)}

/* botões — cantos retos */
.btn{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:17px 30px;border:1px solid currentColor;transition:.3s var(--expo);cursor:pointer;background:none;color:inherit}
.btn.solid{background:var(--preto);color:var(--branco);border-color:var(--preto)}
.btn.solid:hover{background:var(--grafite);border-color:var(--grafite);letter-spacing:.22em}
.dark .btn.solid{background:var(--branco);color:var(--preto);border-color:var(--branco)}
.dark .btn.solid:hover{background:var(--prata);border-color:var(--prata);letter-spacing:.22em}
.btn.ghost:hover{background:var(--preto);color:var(--branco);letter-spacing:.22em}
.dark .btn.ghost:hover{background:var(--branco);color:var(--preto)}

/* fotos — sem moldura, sem efeito NA foto; a máscara se move, a foto não */
.foto{position:relative}
.foto img{width:100%}
.foto figcaption{display:flex;justify-content:space-between;gap:14px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--cinza);margin-top:9px}

/* header — masthead preto fixo */
header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ld);color:var(--gelo)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:66px}
.brand{display:flex;flex-direction:column;line-height:1}
.brand b{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.02em;color:#fff}
.brand span{font-size:8.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--cinza2);font-weight:600;margin-top:5px}
nav.desk{display:flex;gap:24px;font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
nav.desk a{position:relative;padding:6px 0;color:var(--prata)}
nav.desk a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--rosa);transition:width .35s var(--expo)}
nav.desk a:hover{color:#fff}
nav.desk a:hover::after,nav.desk a.atual::after{width:100%}
nav.desk a.atual{color:#fff}
.hcta{display:inline-flex;align-items:center;border:1px solid var(--gelo);color:var(--gelo);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:11px 18px;transition:.3s var(--expo)}
.hcta:hover{background:var(--branco);color:var(--preto)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.burger i{display:block;width:24px;height:1.5px;background:var(--gelo);transition:.3s}
.mmenu{position:fixed;inset:66px 0 0 0;background:var(--preto);z-index:49;display:none;flex-direction:column;padding:40px var(--pad);gap:4px;overflow:auto}
.mmenu a{font-family:var(--serif);font-size:24px;color:var(--gelo);padding:12px 0;border-bottom:1px solid var(--ld)}
.mmenu .hcta{font-family:var(--sans);font-size:11px;margin-top:26px;justify-content:center;border-color:var(--branco)}
body.menu-open .mmenu{display:flex}
body.menu-open .burger i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){opacity:0}
body.menu-open .burger i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ===== MOTION "LEITURA" ===== */
/* rv: tinta assenta */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--expo),transform .9s var(--expo);transition-delay:var(--d,0s)}
.rv.on{opacity:1;transform:none}
/* rv-mask: linha de impresso subindo da máscara */
.mline{display:block;overflow:hidden}
.mline>span{display:block}
.js .mline>span{transform:translateY(112%);transition:transform 1s var(--expo);transition-delay:var(--d,0s)}
.on .mline>span,.mline.on>span{transform:none}
/* rv-wipe: a máscara revela, a foto não se mexe */
.js .rv-wipe{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--expo);transition-delay:var(--d,0s)}
.rv-wipe.on{clip-path:inset(0 0 0% 0)}
/* legenda assenta depois da foto */
.js .foto figcaption{opacity:0;letter-spacing:.34em;transition:opacity .8s var(--expo) .35s,letter-spacing 1.1s var(--expo) .35s}
.foto.on figcaption,.on .foto figcaption{opacity:1;letter-spacing:.22em}
/* parallax editorial leve — desktop, com suporte */
@media (min-width:1061px){
  @supports (animation-timeline: view()){
    .plx{animation:plx linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    @keyframes plx{from{transform:translateY(3.2%)}to{transform:translateY(-3.2%)}}
  }
}

/* entrada dos heróis — CSS puro, INDEPENDE de JS (correção 23/07: foto sumia se o observer não disparasse) */
@keyframes fxup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fxline{from{transform:translateY(112%)}to{transform:none}}
@keyframes fxin{from{opacity:0}to{opacity:1}}
.fx-up{animation:fxup .9s var(--expo) both;animation-delay:var(--d,0s)}
.fx-line{display:block;overflow:hidden}
.fx-line>span{display:block;animation:fxline 1s var(--expo) both;animation-delay:var(--d,0s)}
.fx-in{animation:fxin 1s ease-out both;animation-delay:var(--d,0s)}
.foto figcaption.fx-up{opacity:1;letter-spacing:.22em}

/* virada de página — véu */
@view-transition{navigation:auto}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes vt-out{to{opacity:0}}
::view-transition-old(root){animation:vt-out .22s ease-out both}
::view-transition-new(root){animation:vt-in .42s var(--expo) both}

/* hero capa */
.hero{background:var(--preto);color:var(--gelo);padding-top:66px;min-height:100svh;display:flex;align-items:center}
.hgrid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(30px,5vw,80px);align-items:center;padding-top:clamp(30px,5vh,60px);padding-bottom:clamp(30px,5vh,60px)}
.hkick{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--cinza2);font-weight:600;margin-bottom:34px;display:flex;align-items:center;gap:16px}
.hkick::after{content:"";flex:1;max-width:120px;height:1px;background:var(--ld)}
.manif{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:1.1;letter-spacing:-.015em;color:#fff}
.manif em{font-style:italic;color:var(--rosa)}
.antes{margin:34px 0 0;display:grid;gap:13px;max-width:46ch}
.antes p{font-size:clamp(1rem,1.35vw,1.13rem);line-height:1.5;color:var(--cinza2);border-left:1px solid var(--ld);padding-left:18px}
.antes p:nth-child(2){color:var(--prata)}
.antes p:nth-child(3){color:#fff}
.assin{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:1.06rem;color:var(--prata)}
.hquest{display:block;margin:40px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.45;color:var(--gelo);max-width:44ch;text-decoration:underline;text-decoration-color:var(--ld);text-underline-offset:7px;transition:.35s}
.hquest:hover{text-decoration-color:var(--rosa);color:#fff}
.hctas{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap}
.hfoto{position:relative}
.hfoto img{width:100%;max-height:calc(100svh - 130px);object-fit:contain;object-position:center}
.hfoto figcaption{margin-top:10px;font-size:10px;text-transform:uppercase;color:var(--cinza);display:flex;justify-content:space-between;gap:12px}

/* hero interno (páginas) */
.phero{background:var(--preto);color:var(--gelo);padding:calc(66px + clamp(60px,9vw,110px)) 0 clamp(60px,9vw,110px)}
.phero .tag{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--cinza2);font-weight:600;margin-bottom:26px;display:flex;align-items:center;gap:16px}
.phero .tag::after{content:"";flex:1;max-width:120px;height:1px;background:var(--ld)}
.phero h1{font-size:clamp(2.2rem,4.6vw,3.9rem);color:#fff;max-width:18ch}
.phero .lead{margin-top:22px;color:var(--prata)}
.phero .hctas{margin-top:34px}
.pgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}
.migalha{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza);margin-bottom:0}
.migalha a:hover{color:var(--rosa-ink)}
.sect .migalha{padding-top:26px}

/* cadeia */
.chain{background:var(--preto);border-top:1px solid var(--ld);border-bottom:1px solid var(--ld);overflow:hidden;padding:15px 0}
.chain-track{display:flex;white-space:nowrap;animation:chain 34s linear infinite;width:max-content}
.chain span{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cinza2);font-weight:600;padding:0 10px}
.chain b{color:var(--rosa);font-weight:500;padding:0 10px}
@keyframes chain{to{transform:translateX(-50%)}}

/* a tese */
.tgrid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,100px);align-items:start}
.tsticky{position:sticky;top:106px}
.tese-t{font-size:clamp(1.02rem,1.4vw,1.13rem);color:var(--grafite);margin-bottom:20px;max-width:54ch}
.tese-pull{font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,1.9rem);line-height:1.3;margin-top:34px;padding-top:30px;border-top:1px solid var(--ll)}
.tese-pull em{font-style:italic;color:var(--rosa-ink)}
.tnotas{margin-top:34px;border-top:1px solid var(--preto);padding-top:18px;display:grid;gap:14px}
.tnotas .tn{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:13px;color:var(--cinza);line-height:1.55}
.tnotas .tn b{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--carvao)}
.tnotas .tn i{font-style:normal;font-size:10px;letter-spacing:.1em;color:var(--cinza2)}
.tese-note{margin-top:26px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza);line-height:2}

/* projeção + ensaio */
.proj{background:var(--preto);aspect-ratio:3/4;position:relative;overflow:hidden}
.proj img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;width:auto;object-fit:contain;opacity:0;transition:opacity .12s}
.proj img.on{opacity:1}
.proj .pl{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--cinza2);z-index:2}
.proj .pc{position:absolute;bottom:12px;left:16px;font-size:10px;letter-spacing:.3em;color:var(--gelo);z-index:2;font-variant-numeric:tabular-nums}
.ensaio{display:grid;gap:clamp(26px,3.4vw,44px);margin-top:clamp(26px,3.4vw,44px)}
.ensaio .par{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px);align-items:start}
.ensaio .w72{width:72%}
.ensaio .w66{width:66%}
.ensaio .w58{width:58%;margin-left:auto}
.ensaio .w55{width:55%;margin-left:auto}
.eintro{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--cinza);display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--ll)}
.tclose{margin-top:clamp(60px,8vw,100px);text-align:center}
.tclose p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.4;max-width:30ch;margin:0 auto}
.tclose a{display:inline-flex;margin-top:28px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--preto);padding-bottom:4px;transition:.25s}
.tclose a:hover{color:var(--rosa-ink);border-color:var(--rosa-ink)}

/* sete perguntas — interlúdio compacto */
.qlist{border-top:1px solid var(--preto);margin-top:8px;column-gap:clamp(30px,4vw,60px)}
.qrow{display:grid;grid-template-columns:64px 1fr;gap:clamp(14px,2vw,28px);padding:clamp(13px,1.8vw,19px) 0;border-bottom:1px solid var(--ll);align-items:baseline;break-inside:avoid}
.qrow .n{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.7rem);color:var(--prata);font-style:italic}
.qrow p{font-size:clamp(1rem,1.45vw,1.18rem);font-family:var(--serif);line-height:1.4}
.gapquote{margin-top:clamp(40px,5vw,60px);background:var(--preto);color:var(--gelo);padding:clamp(36px,5vw,64px)}
.gapquote p:first-child{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.35;max-width:34ch}
.gapquote em{font-style:italic;color:var(--rosa)}
.gapsub{margin-top:18px;color:var(--cinza2);font-size:15px;max-width:52ch}

/* método síntese (capa) */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px);border-top:1px solid var(--ld);padding-top:clamp(30px,4vw,46px)}
.pillar .rn{font-family:var(--serif);font-style:italic;font-size:clamp(1.9rem,3vw,2.6rem);color:var(--cinza);line-height:1;margin-bottom:14px}
.pillar h3{font-size:1.12rem;margin-bottom:10px}
.pillar p{font-size:14px;color:var(--cinza2)}
.arcopr{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.45;max-width:46ch;margin:clamp(40px,5vw,60px) auto 0;text-align:center;color:var(--gelo)}

/* trilhas portais */
.trilhas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);margin-top:8px}
.tcard{border:1px solid var(--preto);padding:clamp(30px,4vw,50px);display:flex;flex-direction:column;gap:14px;transition:.4s var(--expo);position:relative}
.tcard .tag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--cinza)}
.tcard h3{font-size:clamp(1.4rem,2.2vw,1.85rem)}
.tcard p{color:var(--grafite);font-size:15.5px}
.tcard .go{margin-top:auto;padding-top:18px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;display:flex;gap:8px;align-items:center}
.tcard .go::after{content:"→";transition:transform .35s var(--expo)}
.tcard:hover{background:var(--preto);color:var(--gelo)}
.tcard:hover p{color:var(--prata)}
.tcard:hover .go{color:var(--rosa)}
.tcard:hover .go::after{transform:translateX(6px)}

/* espelho dual */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.5vw,70px);margin-top:10px}
.duo>div{border-top:1px solid var(--ld);padding-top:24px}
.duo .dt{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--cinza2);font-weight:600;margin-bottom:16px}
.duo p{color:var(--prata);font-size:15.5px}
.duocards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);margin-top:clamp(36px,5vw,60px)}
.dcard{border:1px solid var(--ld);padding:clamp(24px,3vw,38px)}
.dcard h3{font-size:1.35rem;margin-bottom:12px}
.dcard p{color:var(--prata);font-size:15px}
.dcard.alt{background:var(--branco);color:var(--carvao);border-color:var(--branco)}
.dcard.alt p{color:var(--grafite)}

/* antes → depois */
.adrow{display:grid;grid-template-columns:1fr 56px 1fr;gap:clamp(12px,2vw,26px);padding:clamp(20px,2.6vw,30px) 0;border-bottom:1px solid var(--ll);align-items:center}
.adrow .a p{color:var(--cinza);font-size:15.5px}
.adrow .d p{font-size:15.5px;color:var(--preto)}
.adrow .arrow{font-size:18px;color:var(--rosa-ink);text-align:center}
.adhead{display:grid;grid-template-columns:1fr 56px 1fr;gap:clamp(12px,2vw,26px);font-size:10px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--cinza);padding-bottom:12px;border-bottom:1px solid var(--preto);margin-top:26px}

/* conceito-chave + citação */
.keyconc{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,4.5vw,70px);align-items:center}
.keyconc .box{border:1px solid var(--ld);padding:clamp(28px,3.6vw,44px)}
.keyconc .box .f{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.45}
.keyconc .box em{font-style:italic;color:var(--rosa)}
.cjq{margin-top:clamp(50px,7vw,90px);text-align:center;border-top:1px solid var(--ld);padding-top:clamp(40px,5vw,64px)}
.cjq .q{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,2rem);font-style:italic;line-height:1.4;max-width:36ch;margin:0 auto;color:#fff}
.cjq .who{margin-top:20px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--cinza2)}
.cjq .who span{display:block;margin-top:6px;font-weight:400;letter-spacing:.14em;color:var(--cinza)}

/* etapas líderes */
.steps{border-top:1px solid var(--preto)}
.step{display:grid;grid-template-columns:170px 1fr 210px;gap:clamp(18px,3vw,44px);padding:clamp(26px,3.4vw,40px) 0;border-bottom:1px solid var(--ll)}
.step .tag{font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--cinza)}
.step h3{font-size:clamp(1.25rem,2vw,1.6rem);margin-bottom:10px}
.step p{font-size:15px;color:var(--grafite);max-width:56ch}
.step .meta{margin-top:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza)}
.step .col3{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;text-align:right;gap:16px}
.step a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--preto);padding-bottom:4px;transition:.25s;white-space:nowrap}
.step a:hover{color:var(--rosa-ink);border-color:var(--rosa-ink)}
.howto{margin-top:clamp(40px,5vw,60px);background:var(--gelo);padding:clamp(28px,4vw,48px)}
.howlabel{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;margin-bottom:24px}
.howgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.howgrid span{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--cinza);display:block;margin-bottom:10px}
.howgrid p{font-size:14.5px;color:var(--grafite)}
.scarce{margin-top:26px;padding-top:18px;border-top:1px solid var(--ll);font-size:13.5px;color:var(--cinza);font-style:italic}
.soon{margin-top:26px;border:1px dashed var(--ll);padding:clamp(20px,2.6vw,30px);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.soon p{font-size:14.5px;color:var(--grafite);max-width:62ch}
.soon a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--preto);padding-bottom:4px;white-space:nowrap}
.soon a:hover{color:var(--rosa-ink);border-color:var(--rosa-ink)}

/* palestras */
.palgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,80px);align-items:start}
.palcards{display:grid;gap:clamp(18px,2.4vw,28px)}
.pcard{border:1px solid var(--ll);background:var(--branco);padding:clamp(24px,3vw,38px)}
.pcard .tag{font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--cinza);margin-bottom:12px}
.pcard h3{font-size:clamp(1.25rem,2vw,1.6rem);margin-bottom:12px}
.pcard p{font-size:15px;color:var(--grafite)}
.pcard ul{margin:14px 0 0;list-style:none}
.pcard li{font-size:14px;color:var(--cinza);padding:7px 0 7px 22px;position:relative;border-top:1px solid var(--ll)}
.pcard li::before{content:"—";position:absolute;left:0;color:var(--rosa-ink)}
.pcard.ghost{background:none;border-style:dashed}
.pspecs{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pspecs span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ll);padding:9px 16px;color:var(--grafite)}
.palphotos{display:grid;gap:clamp(18px,2.4vw,28px);position:sticky;top:106px}

/* empresas */
.empgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px)}
.ecard{border-top:1px solid var(--preto);padding-top:22px}
.ecard h3{font-size:1.4rem;margin-bottom:12px}
.ecard p{font-size:15px;color:var(--grafite)}
.ecard .meta{margin-top:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza)}
.nr1{background:var(--preto);color:var(--gelo);padding:clamp(28px,4vw,48px);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.nr1 p{font-size:15.5px;max-width:64ch;color:var(--prata)}
.nr1 b{color:#fff}
.nr1 a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--gelo);padding-bottom:4px;white-space:nowrap;color:var(--gelo)}
.nr1 a:hover{color:var(--rosa);border-color:var(--rosa)}
.baggage{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:center}

/* quem é */
.atos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);margin-bottom:clamp(46px,6vw,70px)}
.ato{border-top:1px solid var(--preto);padding-top:20px}
.ato .an{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--cinza);margin-bottom:10px}
.ato h3{font-size:1.3rem;margin-bottom:10px}
.ato p{font-size:14.5px;color:var(--grafite)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
.chips{margin:22px 0 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);line-height:2.2}
.chips b{color:var(--carvao);font-weight:600}
.pull{margin-top:26px;padding-top:22px;border-top:1px solid var(--ll);font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.5}

/* faq */
.faqs{border-top:1px solid var(--preto);margin-top:8px}
details{border-bottom:1px solid var(--ll)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(20px,2.6vw,28px) 0;font-family:var(--serif);font-size:clamp(1.15rem,1.9vw,1.5rem);font-weight:500}
summary::-webkit-details-marker{display:none}
summary i{font-style:normal;font-family:var(--sans);font-size:22px;font-weight:300;transition:.3s;flex:none;color:var(--cinza)}
details[open] summary i{transform:rotate(45deg);color:var(--rosa-ink)}
details p{padding:0 0 26px;max-width:64ch;color:var(--grafite);font-size:15.5px}

/* faixa de fecho (capa) */
.fecho{background:var(--preto);color:var(--gelo);padding:clamp(60px,8vw,100px) 0;text-align:center}
.fecho p{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.5vw,2.05rem);line-height:1.4;max-width:34ch;margin:0 auto}
.fecho em{color:var(--rosa)}

/* formulário */
.lista{background:var(--branco);padding:var(--sect) 0}
.formbox{max-width:860px;margin:0 auto;text-align:center}
form{margin-top:clamp(34px,4.6vw,50px);display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
label{font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:600}
input,select,textarea{font-family:var(--sans);font-size:15.5px;padding:15px 16px;border:1px solid var(--preto);background:var(--branco);color:var(--carvao);width:100%;border-radius:0;-webkit-appearance:none;appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--rosa);outline-offset:0}
input::placeholder,textarea::placeholder{color:var(--cinza2)}
form .btn{grid-column:1/-1;justify-content:center;background:var(--preto);color:var(--branco);border-color:var(--preto)}
form .btn:hover{background:var(--grafite)}
form .btn:disabled{opacity:.6;cursor:wait}
.formnote{grid-column:1/-1;text-align:center;font-size:12.5px;color:var(--cinza)}
.formmsg{grid-column:1/-1;display:none;text-align:center;font-size:15px;padding:16px;border:1px solid var(--ll);background:var(--gelo)}

/* contato + footer */
.contact{background:var(--preto);color:var(--gelo);padding:var(--sect) 0 0}
.stay{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--prata);margin:6px 0 clamp(36px,5vw,54px)}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
.ccard{border:1px solid var(--ld);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:8px;transition:.35s var(--expo)}
.ccard .t{font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--cinza2)}
.ccard .v{font-family:var(--serif);font-size:1.25rem;color:#fff}
.ccard:hover{background:var(--branco);color:var(--preto)}
.ccard:hover .v{color:var(--preto)}
.ccard:hover .t{color:var(--cinza)}
footer{margin-top:var(--sect);border-top:1px solid var(--ld);padding:26px 0}
.fbar{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza2)}
.fbar b{font-family:var(--serif);font-size:14px;letter-spacing:.02em;text-transform:none;color:#fff}
.fnav{display:flex;gap:18px;flex-wrap:wrap}
.fnav a:hover{color:#fff}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  .fx-up,.fx-line>span,.fx-in{animation:none}
  .rv,.rv-wipe{opacity:1;transform:none;clip-path:none;transition:none}
  .mline>span{transform:none;transition:none}
  .kick::before{transform:scaleX(1);transition:none}
  .foto figcaption{opacity:1;letter-spacing:.22em;transition:none}
  .chain-track{animation:none}
  .plx{animation:none}
  html{scroll-behavior:auto}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* responsivo */
@media(max-width:1060px){
  nav.desk,.hcta.desk{display:none}
  .burger{display:flex}
  .hgrid,.pgrid{grid-template-columns:1fr;gap:44px}
  .hero{min-height:0}
  .hfoto{order:-1;margin-top:14px}
  .hfoto img{max-height:72svh}
  .tgrid{grid-template-columns:1fr}
  .tsticky{position:static}
  .palgrid{grid-template-columns:1fr}
  .palphotos{position:static;grid-template-columns:1fr 1fr}
  .keyconc,.baggage{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:26px}
}
@media(max-width:760px){
  .duo,.duocards,.trilhas,.empgrid,.howgrid,.cgrid{grid-template-columns:1fr}
  .pillars,.atos{grid-template-columns:1fr 1fr}
  .step{grid-template-columns:1fr}
  .step .col3{align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap}
  .qrow{grid-template-columns:44px 1fr}
  .adrow{grid-template-columns:1fr;gap:8px}
  .adrow .arrow{text-align:left}
  .adhead{display:none}
  form{grid-template-columns:1fr}
  .ensaio .par{grid-template-columns:1fr}
  .ensaio .w72,.ensaio .w66,.ensaio .w58,.ensaio .w55{width:100%;margin:0}
  .palphotos{grid-template-columns:1fr}
}
@media(max-width:480px){.pillars,.atos{grid-template-columns:1fr}}
