/* ═══════════════════════════════════════════════════════════
   Cel. Marcos de Oliveira — Liderança de Verdade
   Design system + sections
   ═══════════════════════════════════════════════════════════ */

/* ---------- 1. TOKENS — TEMA CLARO ----------
   Semântica invertida de propósito para conversão global:
   --ink   = fundo da página (papel claro)
   --white = cor de título/destaque (navy profundo)
   --deep  = escuro verdadeiro, para as poucas superfícies que
             continuam escuras por decisão (fase do fogo, cinema,
             capas de livro, pills navy do marquee). */
:root{
  --ink:#f5f2ea;
  --deep:#04070f;
  --navy-900:#0a1526;
  --navy-800:#10203a;
  --navy-700:#16294a;
  --navy-600:#1d3560;
  --steel:#2f6492;
  --steel-lt:#4a7fb2;
  --ice:#3c5069;
  --paper:#fffdf8;
  --white:#101d30;
  /* dourado escurecido para passar WCAG AA (4,5:1) tanto como texto sobre
     --ink quanto como fundo de botão com texto branco. O tom claro anterior
     sobrevive em --gold-lt, restrito a texto grande e a usos decorativos. */
  --gold:#8a6a22;
  --gold-lt:#a9812f;

  --txt:#2a3b52;
  --txt-dim:#55677e;
  --txt-faint:#606f82;
  --line:rgba(16,32,58,.12);
  --line-strong:rgba(16,32,58,.23);

  /* Duas famílias, não três: Figtree nos títulos, Inter no texto e na
     interface. Cinzel saiu — --f-serif fica como apelido de --f-display
     para não quebrar as regras antigas que ainda a chamam. */
  --f-display:"Figtree",-apple-system,system-ui,sans-serif;
  --f-body:"Inter",-apple-system,system-ui,sans-serif;
  --f-serif:"Figtree",-apple-system,system-ui,sans-serif;

  --gut:clamp(20px,5vw,84px);
  --maxw:1560px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.7,0,.2,1);

  --r:14px;

  /* seta ↗ dos links de verificação de fonte */
  --ico-ext:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M9 7h8v8'/%3E%3C/svg%3E");
}

/* ---------- ACESSIBILIDADE ---------- */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip{
  position:absolute;left:16px;top:-100px;z-index:9999;
  background:var(--gold);color:#fff;padding:12px 22px;border-radius:8px;
  font-size:.875rem;font-weight:600;transition:top .25s var(--ease);
}
.skip:focus{top:16px}

/* item de download ainda indisponível — antes era href="#" e saltava ao topo */
.dl__soon{display:flex;align-items:center;justify-content:space-between;gap:14px;opacity:.45;cursor:default}
.dl__soon i{font-style:normal;font-size:.625rem;letter-spacing:.14em;border:1px solid var(--line-strong);padding:3px 8px;border-radius:4px}

/* mantém o número colado à unidade */
.story__count-line{white-space:nowrap}

/* ---------- LINKS DE VERIFICAÇÃO DE FONTE ----------
   Cada afirmação factual do site leva uma seta ↗ que abre a fonte
   pública onde o dado pode ser conferido. */
.srclink{
  display:inline-block;width:.66em;height:.66em;margin-left:.34em;
  vertical-align:.22em;background-color:var(--gold);opacity:.5;
  -webkit-mask:var(--ico-ext) center/contain no-repeat;
          mask:var(--ico-ext) center/contain no-repeat;
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.srclink:hover{opacity:1;transform:translate(1px,-1px)}
.srclink:focus-visible{opacity:1;outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
/* o ícone tem ~11px: no toque a área clicável precisa dos 44px do WCAG 2.5.5,
   então a ampliamos por pseudo-elemento sem mexer no tamanho visual */
@media (hover:none){
  .srclink{position:relative;opacity:.8}
  .srclink::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
}
/* seções de fundo escuro precisam do tom claro para o ícone aparecer */
.story .srclink,.mq--dark .srclink{background-color:var(--gold-lt);opacity:.72}
@media (prefers-reduced-motion:reduce){.srclink{transition:none}.srclink:hover{transform:none}}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;color-scheme:light}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  background:var(--ink);color:var(--txt);
  font-family:var(--f-body);font-size:16px;line-height:1.6;
  font-weight:400;letter-spacing:-.008em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-loading{overflow:hidden;height:100vh}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:none;outline:none}
button{cursor:pointer}
ul,ol{list-style:none}
em{font-style:normal}
::selection{background:var(--gold);color:#fff}

/* scrollbar clara com thumb dourado */
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:rgba(16,32,58,.22);border-radius:6px;border:3px solid var(--ink)}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* ---------- 3. TYPOGRAPHY PRIMITIVES ---------- */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.02;letter-spacing:-.035em}
.sec-title{
  font-size:clamp(2rem,4.6vw,4.4rem);
  font-weight:700;line-height:1.04;letter-spacing:-.04em;
  color:var(--white);max-width:20ch;
}
.sec-head{margin-bottom:clamp(48px,6vw,90px)}
.sec-head--center{text-align:center}
.sec-head--center .sec-title{margin-inline:auto;max-width:24ch}
.sec-head--center .eyebrow{justify-content:center}

.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:.688rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:22px;
}
.eyebrow i{display:block;width:34px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}

/* ---------- 4. BUTTONS ---------- */
.btn{
  --bg:transparent;--fg:var(--white);--bd:var(--line-strong);
  position:relative;display:inline-flex;align-items:center;gap:12px;
  padding:17px 30px;border-radius:100px;border:1px solid var(--bd);
  background:var(--bg);color:var(--fg);
  font-family:var(--f-display);font-size:.875rem;font-weight:600;letter-spacing:-.01em;
  overflow:hidden;isolation:isolate;
  transition:color .45s var(--ease),border-color .45s var(--ease),transform .5s var(--ease);
  will-change:transform;
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--white);transform:translateY(101%);
  transition:transform .55s var(--ease);
}
.btn:hover::before{transform:translateY(0)}
.btn:hover{color:var(--ink);border-color:transparent}
.btn i{width:6px;height:6px;border-radius:50%;background:currentColor;transition:transform .45s var(--ease)}
.btn:hover i{transform:scale(1.9)}
.btn--gold{--bg:var(--gold);--fg:#fff;--bd:transparent;box-shadow:0 10px 40px -14px rgba(138,106,34,.7)}
.btn--gold::before{background:var(--white)}
.btn--ghost{--bg:rgba(16,32,58,.03);backdrop-filter:blur(8px)}
.btn--sm{padding:12px 22px;font-size:.813rem}
.btn--full{width:100%;justify-content:center}

/* ---------- 5. GRAIN / VIGNETTE / GL ---------- */
.grain{
  position:fixed;inset:-120%;z-index:400;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 6s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}
}
.vignette{
  position:fixed;inset:0;z-index:399;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(16,32,58,.12) 100%);
}
/* fundo ambiente — glows suaves à deriva, puro CSS, sem geometria 3D */
.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;transition:opacity 1.4s var(--ease)}
.ambient__orb{
  position:absolute;border-radius:50%;filter:blur(90px);opacity:.3;
  animation:ambient-drift 44s ease-in-out infinite;
}
.ambient__orb--a{
  width:52vw;height:52vw;left:-14vw;top:-8vh;
  background:radial-gradient(circle,rgba(47,100,146,.55),transparent 68%);
}
.ambient__orb--b{
  width:38vw;height:38vw;right:-10vw;top:38vh;
  background:radial-gradient(circle,rgba(195,154,77,.28),transparent 70%);
  animation-duration:52s;animation-delay:-14s;
}
.ambient__orb--c{
  width:44vw;height:44vw;left:22vw;bottom:-18vh;
  background:radial-gradient(circle,rgba(91,145,196,.3),transparent 70%);
  animation-duration:60s;animation-delay:-30s;
}
@keyframes ambient-drift{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(4vw,3vh) scale(1.08)}
  66%{transform:translate(-3vw,-4vh) scale(.96)}
}
main{position:relative;z-index:2}

@media (prefers-reduced-motion:reduce){
  .ambient__orb{animation:none}
}

/* ---------- 6. PRELOADER ---------- */
.preloader{
  position:fixed;inset:0;z-index:900;background:var(--ink);
  display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s;
}
.preloader.is-out{opacity:0;visibility:hidden}
.preloader__inner{width:min(320px,72vw);text-align:center}
.preloader__rose{width:88px;height:88px;margin:0 auto 30px;color:var(--steel-lt)}
.pl-star{transform-origin:50% 50%;animation:plspin 7s linear infinite}
.pl-star--d{animation-direction:reverse;animation-duration:11s}
.pl-ring{opacity:.35;transform-origin:50% 50%;animation:plspin 18s linear infinite}
.pl-ring--2{animation-direction:reverse}
@keyframes plspin{to{transform:rotate(360deg)}}
.preloader__meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.preloader__label{font-family:var(--f-serif);font-size:.75rem;letter-spacing:.3em;color:var(--txt-faint);text-transform:uppercase}
.preloader__count{font-family:var(--f-display);font-size:.875rem;font-weight:600;color:var(--gold)}
.preloader__count::after{content:"%";font-size:.7em;opacity:.6;margin-left:2px}
.preloader__bar{height:1px;background:var(--line)}
.preloader__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--steel),var(--gold))}

/* ---------- 7. CURSOR ---------- */
.cursor{position:fixed;top:0;left:0;z-index:800;pointer-events:none;mix-blend-mode:difference}
.cursor__dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.cursor__ring{
  position:absolute;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;
  transform:translate(-50%,-50%) scale(1);transition:width .35s var(--ease),height .35s var(--ease),border-color .35s;
}
.cursor__label{
  position:absolute;transform:translate(-50%,-50%);white-space:nowrap;
  font-family:var(--f-display);font-size:.688rem;font-weight:600;letter-spacing:.04em;color:#fff;
  opacity:0;transition:opacity .3s;
}
.cursor.is-active .cursor__ring{width:74px;height:74px;border-color:rgba(255,255,255,.9)}
.cursor.is-active .cursor__label{opacity:1}
.cursor.is-active .cursor__dot{opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- 8. NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:600;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px var(--gut);
  transition:transform .6s var(--ease),background .5s,backdrop-filter .5s,padding .5s var(--ease);
}
.nav.is-stuck{
  background:rgba(245,242,234,.72);backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--line);padding-block:14px;
}
.nav.is-hidden{transform:translateY(-104%)}
.nav__brand{display:flex;align-items:center;gap:12px}
.nav__mark{width:30px;height:30px}
.nav__name{font-family:var(--f-display);font-size:.875rem;font-weight:600;letter-spacing:-.015em;color:var(--white)}
.nav__links{display:flex;gap:30px}
.nav__links a{
  position:relative;font-size:.813rem;font-weight:500;color:var(--txt-dim);
  transition:color .35s;
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);
}
.nav__links a:hover,.nav__links a.is-current{color:var(--white)}
.nav__links a:hover::after,.nav__links a.is-current::after{transform:scaleX(1);transform-origin:left}
.nav__burger{display:none;width:44px;height:44px;position:relative;border:1px solid var(--line);border-radius:50%}
.nav__burger span{position:absolute;left:13px;width:18px;height:1.5px;background:var(--white);transition:.4s var(--ease)}
.nav__burger span:nth-child(1){top:19px}
.nav__burger span:nth-child(2){top:24px}
body.menu-open .nav__burger span:nth-child(1){transform:translateY(2.5px) rotate(45deg)}
body.menu-open .nav__burger span:nth-child(2){transform:translateY(-2.5px) rotate(-45deg)}

/* ---------- 9. MENU OVERLAY ---------- */
.menu{
  position:fixed;inset:0;z-index:590;
  background:linear-gradient(180deg,#faf8f2,#f0ece1);
  clip-path:circle(0% at 92% 6%);transition:clip-path .9s var(--ease),visibility 0s .9s;
  display:grid;place-items:center;padding:110px var(--gut) 60px;
  /* sem isto os 12 links seguem focáveis por Tab com o menu fechado */
  visibility:hidden;
}
body.menu-open .menu{clip-path:circle(150% at 92% 6%);visibility:visible;transition:clip-path .9s var(--ease),visibility 0s}
.menu__grid{width:100%;max-width:var(--maxw);display:grid;grid-template-columns:1.4fr 1fr;gap:60px}
.menu__link{
  display:flex;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);
  font-family:var(--f-display);font-size:clamp(1.75rem,4.4vw,3.4rem);font-weight:700;letter-spacing:-.04em;
  color:var(--txt-dim);transition:color .4s,padding-left .5s var(--ease);
  opacity:0;transform:translateY(28px);
}
body.menu-open .menu__link{opacity:1;transform:none;transition:opacity .7s var(--ease) var(--d,0s),transform .7s var(--ease) var(--d,0s),color .4s,padding-left .5s var(--ease)}
.menu__link em{font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--gold);font-family:var(--f-body)}
.menu__link:hover{color:var(--white);padding-left:18px}
.menu__kicker{font-size:.688rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.menu__sub{margin-bottom:38px}
.menu__sub li a{display:block;padding:7px 0;color:var(--txt-dim);font-size:.938rem;transition:color .3s,transform .4s var(--ease)}
.menu__sub li a:hover{color:var(--white);transform:translateX(6px)}
.menu__mail{display:block;color:var(--white);font-size:1rem;margin-bottom:24px;border-bottom:1px solid var(--line-strong);padding-bottom:6px}
.menu__note{color:var(--txt-faint);font-size:.813rem;line-height:1.7}

/* ---------- 10. PROGRESS RAIL ---------- */
.rail{
  position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:500;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  opacity:0;transition:opacity .6s;
}
.rail.is-on{opacity:1}
.rail__label,.rail__pct{
  font-family:var(--f-display);font-size:.625rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--txt-faint);writing-mode:vertical-rl;
}
.rail__label{color:var(--gold);max-height:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail__track{width:1px;height:120px;background:var(--line)}
.rail__track i{display:block;width:100%;height:0;background:var(--gold)}
@media (max-width:1200px){.rail{display:none}}

/* ---------- 10b. CAPA — retrato pinado, dois fundos em transição ----------
   O retrato (ha__canvas) fica travado em tela por toda a seção; a rolagem
   só troca o fundo (papel dithered → escuro com fogo) e a frase visível.
   Técnica: .heroes é alta (220svh), .heroes__view é sticky top:0 e cobre
   o viewport inteiro enquanto a seção passa por baixo dela. */
.heroes{position:relative;height:260svh}
.heroes__view{
  position:sticky;top:0;left:0;height:100svh;overflow:hidden;
  background:var(--ink);
}
.heroes__bg{position:absolute;inset:0;z-index:0;transition:none}
.heroes__bg--white{
  opacity:1;
  background:
    radial-gradient(120% 90% at 50% 0%,rgba(47,100,146,.055),transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.04 0 0 0 0 0.06 0 0 0 0 0.1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"),
    linear-gradient(180deg,#f6f4ee,#efece4);
}
.heroes__bg--dark{
  opacity:0;
  background:radial-gradient(90% 70% at 50% 100%,rgba(120,50,8,.28),transparent 60%),var(--deep);
}
.hb__fire{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(1200px,140vw);height:100%;pointer-events:none}

.ha__canvas{
  position:absolute;left:50%;bottom:0;z-index:2;
  width:min(720px,86vw);height:88%;transform:translateX(-50%);
  display:block;touch-action:pan-y;
  filter:drop-shadow(0 30px 80px rgba(0,0,0,.55));
}

.ha__phrase,.hb__phrase{
  position:absolute;left:var(--gut);z-index:3;max-width:14ch;
  font-family:var(--f-display);font-weight:700;letter-spacing:-.045em;line-height:1.04;
  pointer-events:none;   /* opacidade vem do scrub — transition aqui causa lag/conflito */
}
.ha__phrase{top:clamp(110px,16vh,180px);font-size:clamp(2rem,5.2vw,4.6rem);color:#10203a;opacity:1}
.ha__phrase em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--gold)}
.hb__phrase{
  bottom:clamp(88px,13vh,150px);font-size:clamp(1.5rem,3.6vw,3.2rem);color:#f7fafd;
  text-shadow:0 4px 40px rgba(0,0,0,.6);opacity:0;
}
.hb__phrase em{font-family:var(--f-serif);font-style:italic;font-weight:400;color:#e6c684}
.ha__phrase .line,.hb__phrase .line{display:block;overflow:hidden;padding-bottom:.06em}
.ha__phrase .w,.hb__phrase .w{display:block;transform:translateY(112%)}

.ha__id{
  position:absolute;left:var(--gut);bottom:34px;z-index:3;
  font-size:.688rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8c8f96;
  transition:color .6s;
}
.ha__hint{
  position:absolute;right:var(--gut);top:clamp(120px,17vh,190px);z-index:3;
  display:flex;align-items:center;gap:10px;
  font-size:.688rem;letter-spacing:.18em;text-transform:uppercase;color:#a4a7ad;
  transition:opacity .8s var(--ease);
}
.ha__hint i{display:block;width:30px;height:1px;background:#c5b98f}
.ha__hint.is-done,.heroes.is-scrolling .ha__hint{opacity:0!important}
.scrollcue--ink{color:#8c8f96;transition:color .6s}
.scrollcue--ink span{background:linear-gradient(180deg,var(--gold),transparent)}

/* fase escura: id/cue em tom claro para continuar legível */
.heroes.is-dark .ha__id{color:#93a5bd}
.heroes.is-dark .scrollcue--ink{color:#93a5bd}

/* nav sobre a fase escura da capa (fogo): texto claro */
body.on-dark .nav__name{color:#f7fafd}
body.on-dark .nav__links a{color:#93a5bd}
body.on-dark .nav__links a:hover,body.on-dark .nav__links a.is-current{color:#f7fafd}
body.on-dark .nav__burger{border-color:rgba(247,250,253,.25)}
body.on-dark .nav__burger span{background:#f7fafd}
body.on-dark .nav.is-stuck{background:rgba(4,7,15,.6);border-bottom-color:rgba(247,250,253,.08)}
body.on-dark .vignette{opacity:0}

/* ---------- 10d. APRESENTAÇÃO (ex-hero, sem retrato — segue a capa) ---------- */
.intro{
  position:relative;padding:clamp(90px,12vh,150px) var(--gut) clamp(70px,9vh,120px);
  max-width:var(--maxw);margin-inline:auto;
}
.intro .hero__content{max-width:min(760px,64ch)}

@media (max-width:760px){
  .heroes{height:240svh}
  .ha__canvas{width:min(400px,88vw);height:78%}
  .ha__phrase{top:100px;font-size:clamp(1.75rem,8.4vw,2.4rem);max-width:16ch}
  .hb__phrase{bottom:40px;font-size:clamp(1.35rem,6.6vw,1.9rem)}
  .ha__hint{top:auto;bottom:88px;right:auto;left:var(--gut)}
  .ha__id{display:none}
  .hb__fire{width:150vw;height:80vh;bottom:-6%}
}

/* ---------- 11. HERO ---------- */
.hero{
  position:relative;min-height:100svh;display:grid;
  grid-template-rows:1fr auto;
  padding:118px var(--gut) 0;overflow:hidden;
}
.hero__bg-type{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  font-family:var(--f-display);font-weight:900;letter-spacing:-.05em;
  font-size:clamp(6rem,20vw,17rem);line-height:1;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(120,160,205,.09);
  pointer-events:none;user-select:none;
}
.hero__portrait{
  position:absolute;right:clamp(-60px,-2vw,0px);bottom:0;
  width:clamp(340px,44vw,760px);
  -webkit-mask-image:linear-gradient(180deg,#000 76%,transparent 99%);
  mask-image:linear-gradient(180deg,#000 76%,transparent 99%);
  filter:drop-shadow(-30px 20px 60px rgba(0,0,0,.65));
  opacity:0;
}
.hero__portrait img{width:100%}
.hero__content{position:relative;z-index:3;max-width:min(760px,58vw);align-self:center}
.hero__title{
  font-size:clamp(2.75rem,7.4vw,7.5rem);font-weight:800;line-height:.94;letter-spacing:-.05em;
  color:var(--white);margin:6px 0 26px;
}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title .w{display:block;transform:translateY(112%)}
.hero__title .line:nth-child(2) .w{color:transparent;-webkit-text-stroke:1.4px var(--gold);
  background:linear-gradient(100deg,var(--gold) 0%,var(--gold-lt) 42%,var(--gold) 78%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero__lede{font-size:clamp(1rem,1.5vw,1.313rem);line-height:1.55;color:var(--ice);max-width:40ch;margin-bottom:34px}
.hero__lede em{color:var(--gold-lt);font-style:italic;font-family:var(--f-serif)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.hero__strip{
  position:relative;z-index:3;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
  margin-top:clamp(40px,5vh,72px);
  border-top:1px solid var(--line);
  background:var(--line);
}
.hero__stat{padding:22px 24px 26px;background:rgba(255,255,255,.66);backdrop-filter:blur(6px);transition:background .5s}
.hero__stat:hover{background:rgba(169,129,47,.1)}
.hero__stat b{display:block;font-family:var(--f-display);font-size:clamp(1.5rem,2.6vw,2.25rem);font-weight:700;color:var(--white);letter-spacing:-.04em;line-height:1}
.hero__stat b i{font-size:.42em;font-weight:500;color:var(--gold);margin-left:4px;letter-spacing:0}
.hero__stat span{display:block;margin-top:8px;font-size:.75rem;line-height:1.45;color:var(--txt-faint);max-width:26ch}

.scrollcue{
  position:absolute;right:var(--gut);bottom:clamp(128px,16vh,168px);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:.625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--txt-faint);
  writing-mode:vertical-rl;
}
.scrollcue span{display:block;width:1px;height:34px;background:linear-gradient(180deg,var(--gold),transparent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- 12. MANIFESTO ---------- */
.manifesto{
  position:relative;min-height:90svh;display:grid;align-content:center;
  padding:clamp(100px,14vh,190px) var(--gut);
  max-width:var(--maxw);margin-inline:auto;
}
.manifesto__text{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(1.75rem,4.3vw,4rem);line-height:1.14;letter-spacing:-.04em;
  max-width:22ch;color:var(--white);
}
.manifesto__text em{
  font-family:var(--f-serif);font-style:italic;font-weight:400;
  color:var(--gold);letter-spacing:-.01em;
}
.manifesto__text .word{display:inline-block;opacity:.16;transition:opacity .5s}
.manifesto__text .word.is-lit{opacity:1}
.manifesto__sig{margin-top:34px;font-size:.813rem;letter-spacing:.1em;color:var(--txt-faint)}

/* ---------- 12b. ASSISTA ---------- */
.watch{padding:clamp(80px,10vh,140px) var(--gut);max-width:1240px;margin-inline:auto}
.watch__frame{
  position:relative;aspect-ratio:16/9;border-radius:calc(var(--r) + 6px);overflow:hidden;
  border:1px solid var(--line-strong);cursor:pointer;
  box-shadow:0 50px 100px -50px rgba(16,32,58,.5),0 0 0 1px rgba(169,129,47,.1);
}
.watch__poster{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;
  filter:grayscale(.35) contrast(1.04) brightness(.9);
  transition:filter .8s var(--ease),transform 1.4s var(--ease);
}
.watch__frame:hover .watch__poster{filter:grayscale(.05) contrast(1) brightness(1);transform:scale(1.035)}
.watch__scrim{
  position:absolute;inset:0;
  background:radial-gradient(90% 80% at 50% 50%,transparent 40%,rgba(2,5,10,.5) 100%),
             linear-gradient(180deg,rgba(4,7,15,.2),transparent 30%,transparent 65%,rgba(4,7,15,.6));
}
.watch__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:clamp(76px,8vw,104px);aspect-ratio:1;border-radius:50%;
  background:var(--gold-lt);color:#10203a;display:grid;place-items:center;
  box-shadow:0 20px 60px -12px rgba(195,154,77,.75);
  transition:background .4s,transform .5s var(--ease);
}
.watch__play svg{width:38%;margin-left:6%}
.watch__frame:hover .watch__play{background:#e6c684}
.watch__ring{
  position:absolute;inset:0;border-radius:50%;border:1px solid rgba(230,198,132,.65);
  animation:waring 2.6s var(--ease) infinite;pointer-events:none;
}
.watch__ring--2{animation-delay:1.3s}
@keyframes waring{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.watch__meta{
  position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:16px;
  padding:18px 24px;font-size:.688rem;letter-spacing:.16em;text-transform:uppercase;color:#e8eef6;
}
.watch__note{margin-top:22px;text-align:center;font-size:.875rem;color:var(--txt-faint)}

/* modal de vídeo */
.vmodal{
  position:fixed;inset:0;z-index:860;background:rgba(2,5,10,.95);backdrop-filter:blur(16px);
  display:grid;place-items:center;padding:5vh 5vw;opacity:0;visibility:hidden;transition:.5s var(--ease);
}
.vmodal.is-on{opacity:1;visibility:visible}
.vmodal__box{width:min(1100px,92vw);aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--navy-900);border:1px solid rgba(247,250,253,.16)}
.vmodal__box iframe{width:100%;height:100%;border:0;display:block}
.vmodal__pending{
  height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  text-align:center;padding:32px;
}
.vmodal__pending img{width:64px;filter:brightness(1.6)}
.vmodal__pending p{font-size:1rem;line-height:1.7;color:#9fb2c8}
.vmodal__pending strong{color:#f7fafd;font-family:var(--f-display)}

/* ---------- 12c. WHATSAPP FLUTUANTE ---------- */
.wa{
  position:fixed;right:26px;bottom:26px;z-index:700;
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(150deg,#2aa81a,#1f8a12);color:#fff;
  display:grid;place-items:center;
  box-shadow:0 14px 40px -10px rgba(42,168,26,.65),0 4px 14px rgba(0,0,0,.4);
  opacity:0;transform:translateY(18px) scale(.9);pointer-events:none;
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.wa.is-on{opacity:1;transform:none;pointer-events:auto}
.wa svg{width:32px;height:32px}
.wa:hover{transform:translateY(-3px) scale(1.05)}
.wa__pulse{
  position:absolute;inset:0;border-radius:50%;border:1px solid rgba(42,168,26,.7);
  animation:waring 2.4s var(--ease) infinite;pointer-events:none;
}
.wa__tip{
  position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);
  white-space:nowrap;padding:9px 16px;border-radius:100px;
  background:rgba(4,7,15,.92);border:1px solid rgba(247,250,253,.18);backdrop-filter:blur(8px);
  font-family:var(--f-display);font-size:.75rem;font-weight:600;color:#dfe8f2;
  opacity:0;translate:8px 0;transition:.35s var(--ease);pointer-events:none;
}
.wa:hover .wa__tip{opacity:1;translate:0 0}
@media (max-width:600px){.wa{right:16px;bottom:16px;width:54px;height:54px}.wa__tip{display:none}}

/* ---------- 13. NUMBERS ---------- */
.numbers{padding:clamp(90px,12vh,160px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.numbers__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{
  position:relative;padding:clamp(28px,3vw,44px) clamp(22px,2.4vw,34px) clamp(34px,4vw,54px);
  background:#fffdf8;
  overflow:hidden;transition:background .6s var(--ease),box-shadow .6s var(--ease);
}
.stat::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--steel),var(--gold));
  transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease);
}
.stat:hover{background:#fff;box-shadow:0 24px 60px -30px rgba(16,32,58,.28)}
.stat:hover::after{transform:scaleX(1)}
.stat__num{
  display:block;font-family:var(--f-display);font-weight:800;letter-spacing:-.06em;
  font-size:clamp(3rem,6.4vw,6rem);line-height:.9;color:var(--white);
}
.stat--gold .stat__num{
  background:linear-gradient(120deg,var(--gold),var(--gold-lt) 55%,var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.stat__unit{margin:14px 0 16px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.stat__desc{font-size:.875rem;line-height:1.6;color:var(--txt-dim)}
.stat__desc .src{
  display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);
  font-size:.625rem;letter-spacing:.11em;text-transform:uppercase;color:var(--txt-faint);
}
.numbers__foot{
  margin-top:clamp(48px,6vw,80px);font-family:var(--f-display);font-weight:500;
  font-size:clamp(1.063rem,1.9vw,1.625rem);line-height:1.4;letter-spacing:-.03em;
  color:var(--ice);max-width:44ch;
}

/* ---------- 13b. A NOITE — história-âncora (painel escuro proposital,
   o único momento "cinema" fora da capa) ---------- */
.story{padding:clamp(40px,6vh,90px) var(--gut)}
.story__panel{
  max-width:var(--maxw);margin-inline:auto;
  background:
    radial-gradient(80% 90% at 85% 100%,rgba(120,50,8,.3),transparent 55%),
    radial-gradient(60% 70% at 10% 0%,rgba(47,100,146,.25),transparent 60%),
    var(--deep);
  border-radius:calc(var(--r) + 10px);
  padding:clamp(40px,6vw,90px);
  box-shadow:0 60px 120px -60px rgba(4,7,15,.7);
  overflow:hidden;position:relative;
}
.story__kicker{
  display:flex;align-items:center;gap:12px;
  font-size:.688rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:#e6c684;margin-bottom:22px;
}
.story__kicker i{width:34px;height:1px;background:linear-gradient(90deg,#e6c684,transparent)}
.story__title{
  font-size:clamp(1.75rem,4vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1.06;
  color:#f7fafd;max-width:22ch;margin-bottom:clamp(30px,4vw,54px);
}
.story__cols{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,5vw,80px)}
.story__text p{font-size:1.02rem;line-height:1.8;color:#a9b8cc;margin-bottom:16px}
.story__text strong{color:#f7fafd}
.story__text em{font-family:var(--f-serif);font-style:italic;color:#dfe8f2}
.story__count{font-variant-numeric:tabular-nums;color:#e6c684}
.story__quote{border-left:3px solid #c39a4d;padding:8px 0 8px 22px;margin-bottom:22px}
.story__quote p{font-family:var(--f-serif);font-style:italic;font-size:clamp(1.1rem,1.9vw,1.5rem);line-height:1.4;color:#f0e6cf;margin-bottom:10px}
.story__quote footer{font-size:.75rem;letter-spacing:.08em;color:#8a97ab}
.story__quote cite{font-style:italic}
.story__lesson{font-size:.95rem;line-height:1.75;color:#a9b8cc;margin-bottom:26px}
.story__lesson strong{color:#e6c684}
.btn--story{--fg:#f7fafd;--bd:rgba(247,250,253,.3)}
.btn--story:hover{color:var(--deep)}
@media (max-width:900px){.story__cols{grid-template-columns:1fr}}

/* ---------- 13c. BÚSSOLA DO LÍDER — quiz ---------- */
.quiz{padding:clamp(90px,12vh,160px) var(--gut);max-width:1000px;margin-inline:auto}
.quiz__lede{max-width:58ch;margin:18px auto 0;color:var(--txt-dim);font-size:.98rem;line-height:1.7}
.quiz__lede strong{color:var(--white)}
.quiz__lede--sm{margin-top:12px;font-size:.86rem;color:var(--txt-faint)}
.quiz__box{
  margin-top:clamp(30px,4vw,50px);border-radius:calc(var(--r) + 6px);
  background:#fffdf8;border:1px solid var(--line-strong);
  box-shadow:0 40px 90px -50px rgba(16,32,58,.4);
  padding:clamp(24px,3.5vw,44px);
}
.quiz__progress{position:relative;height:3px;background:rgba(16,32,58,.08);border-radius:3px;margin-bottom:28px}
.quiz__progress i{position:absolute;left:0;top:0;bottom:0;width:12.5%;background:linear-gradient(90deg,var(--steel),var(--gold));border-radius:3px;transition:width .5s var(--ease)}
.quiz__progress span{position:absolute;right:0;top:10px;font-size:.688rem;letter-spacing:.14em;color:var(--txt-faint)}
.quiz__q{font-family:var(--f-display);font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.02em;color:var(--white);line-height:1.3;margin-bottom:22px;min-height:2.6em}
.quiz__opts{display:grid;gap:10px}
.quiz__opt{
  text-align:left;padding:16px 20px;border-radius:12px;border:1px solid var(--line);
  background:rgba(16,32,58,.02);font-size:.95rem;line-height:1.5;color:var(--txt-dim);
  transition:border-color .3s,background .3s,transform .3s var(--ease);cursor:pointer;
}
.quiz__opt:hover{border-color:var(--gold);background:rgba(169,129,47,.06);transform:translateX(6px)}
.quiz__result{text-align:center;animation:faqIn .6s var(--ease)}
.quiz__badge{
  min-width:110px;height:110px;padding:0 10px;margin:0 auto 20px;border-radius:55px;
  display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#e0bd75,var(--gold));
  color:#fff;font-family:var(--f-display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em;
  box-shadow:0 20px 50px -18px rgba(138,106,34,.6);
}
.quiz__profile{font-family:var(--f-display);font-size:clamp(1.25rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.03em;color:var(--white);margin-bottom:12px}
.quiz__expl{max-width:52ch;margin:0 auto 10px;font-size:.98rem;line-height:1.75;color:var(--txt-dim)}
.quiz__secondary{max-width:56ch;margin:0 auto 18px;font-size:.9rem;line-height:1.65;color:var(--txt-dim)}
.quiz__attention{
  max-width:58ch;margin:0 auto 18px;text-align:left;padding:18px 22px;border-radius:14px;
  background:rgba(169,129,47,.08);border:1px solid rgba(169,129,47,.28);
}
.quiz__attention h4{font-size:.688rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-family:var(--f-body);font-weight:600}
.quiz__attention p{font-size:.92rem;line-height:1.65;color:var(--txt)}
.quiz__book{font-size:.8rem;color:var(--txt-faint);margin-bottom:26px}
.quiz__book em{font-style:italic}
.quiz__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.quiz__actions--sec{margin-top:16px}
.quiz__share,.quiz__again{font-size:.813rem;color:var(--txt-faint);text-decoration:underline;text-underline-offset:3px}
.quiz__share:hover,.quiz__again:hover{color:var(--gold)}

/* ---------- MINI-GAME: teaser → vídeo → último frame congelado ----------
   O <video> nativo segura o último frame sozinho ao terminar; o que fazemos
   aqui é escurecê-lo e trazer a pergunta por cima, sem trocar de elemento. */
.quiz__stagewrap{
  position:relative;border-radius:14px;overflow:hidden;
  aspect-ratio:16/9;background:var(--deep);
}
.quiz__loop,.quiz__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.quiz__loop{z-index:1}
.quiz__video{z-index:2;opacity:0;transition:opacity .35s var(--ease),filter .6s var(--ease)}
.quiz__scrim{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,7,15,.15),rgba(4,7,15,.72));
  transition:opacity .5s var(--ease);
}

/* botão de play — o convite. Anel pulsante sinaliza "isto é jogável" */
.quiz__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
  width:74px;height:74px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold);color:#fff;border:none;cursor:pointer;
  box-shadow:0 18px 44px -14px rgba(4,7,15,.8);
  transition:transform .35s var(--ease),background .35s;
}
.quiz__play svg{width:26px;height:26px;margin-left:3px}
.quiz__play:hover{transform:translate(-50%,-50%) scale(1.07)}
.quiz__ring{
  position:absolute;inset:-10px;border-radius:50%;border:1px solid var(--gold);
  animation:quizPulse 2.4s var(--ease) infinite;pointer-events:none;
}
@keyframes quizPulse{
  0%{transform:scale(.86);opacity:.9}
  100%{transform:scale(1.5);opacity:0}
}

/* a frase que transforma o teste num jogo */
.quiz__hook{
  position:absolute;left:0;right:0;bottom:20px;z-index:5;text-align:center;
  font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(1rem,2.2vw,1.35rem);color:#fff;
  text-shadow:0 2px 20px rgba(4,7,15,.9);padding:0 20px;
  transition:opacity .4s var(--ease);
}

/* progresso do clipe */
.quiz__vbar{position:absolute;left:0;right:0;bottom:0;z-index:5;height:3px;background:rgba(255,255,255,.16);opacity:0;transition:opacity .3s}
.quiz__vbar i{display:block;height:100%;width:0;background:var(--gold-lt);transition:width .2s linear}

.quiz__skip{
  display:block;margin:12px auto 0;font-size:.78rem;color:var(--txt-faint);
  background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}
.quiz__skip:hover{color:var(--gold)}

/* Pergunta e opções entram só depois da cena.
   Colapso por max-height em vez do truque grid 0fr→1fr: aqui o container não
   tem altura própria, então o 1fr resolveria para zero e nada apareceria.
   O visibility mantém as opções fora da ordem de foco enquanto escondidas. */
.quiz__reveal{
  max-height:0;overflow:hidden;opacity:0;visibility:hidden;
  transition:max-height .55s var(--ease),opacity .45s var(--ease),
             margin-top .55s var(--ease),visibility 0s .55s;
}

/* ---- estados ---- */
.quiz__case[data-state="playing"] .quiz__video{opacity:1}
.quiz__case[data-state="playing"] .quiz__play,
.quiz__case[data-state="playing"] .quiz__hook{opacity:0;pointer-events:none}
.quiz__case[data-state="playing"] .quiz__vbar{opacity:1}
.quiz__case[data-state="playing"] .quiz__scrim{opacity:.35}

.quiz__case[data-state="revealed"] .quiz__video{opacity:1;filter:saturate(.55) brightness(.6)}
.quiz__case[data-state="revealed"] .quiz__loop{filter:saturate(.55) brightness(.6)}
.quiz__case[data-state="revealed"] .quiz__play,
.quiz__case[data-state="revealed"] .quiz__hook,
.quiz__case[data-state="revealed"] .quiz__skip,
.quiz__case[data-state="revealed"] .quiz__vbar{opacity:0;pointer-events:none}
.quiz__case[data-state="revealed"] .quiz__stagewrap{aspect-ratio:21/9;transition:aspect-ratio .55s var(--ease)}
.quiz__case[data-state="revealed"] .quiz__reveal{
  max-height:2400px;opacity:1;visibility:visible;margin-top:20px;
  transition:max-height .7s var(--ease),opacity .45s var(--ease),
             margin-top .55s var(--ease),visibility 0s;
}

@media (max-width:600px){
  .quiz__play{width:60px;height:60px}
  .quiz__case[data-state="revealed"] .quiz__stagewrap{aspect-ratio:16/9}
}
@media (prefers-reduced-motion:reduce){
  .quiz__ring{animation:none;opacity:0}
  .quiz__video,.quiz__scrim,.quiz__hook,.quiz__reveal,.quiz__stagewrap{transition:none}
}

/* ---------- 13d. GUIA NR-1 — isca ---------- */
.lead{padding:clamp(80px,11vh,150px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.lead__inner{
  display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(36px,5vw,80px);align-items:center;
  border:1px solid var(--line-strong);border-radius:calc(var(--r) + 8px);
  background:linear-gradient(140deg,#fffdf8,#f7f3e9);
  padding:clamp(30px,4.5vw,64px);
  box-shadow:0 40px 100px -60px rgba(16,32,58,.4);
}
.lead__desc{font-size:.98rem;line-height:1.75;color:var(--txt-dim);max-width:52ch;margin-bottom:20px}
.lead__bullets li{
  position:relative;padding:8px 0 8px 28px;font-size:.92rem;color:var(--txt-dim);
}
.lead__bullets li::before{
  content:"";position:absolute;left:2px;top:14px;width:10px;height:10px;
  border:1px solid var(--gold);transform:rotate(45deg);
}
.lead__card{
  background:var(--navy-800);border-radius:var(--r);padding:30px 28px;
  display:grid;gap:12px;
  box-shadow:0 30px 70px -30px rgba(16,32,58,.55);
}
.lead__card-title{font-family:var(--f-display);font-weight:700;font-size:1.25rem;color:#f7fafd;letter-spacing:-.02em;line-height:1.25;margin-bottom:8px}
.lead__card-title span{font-family:var(--f-body);font-weight:400;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#c3d0e2}
.lead__card .btn--ghost{--fg:#dfe8f2;--bd:rgba(247,250,253,.28)}
.lead__note{font-size:.72rem;line-height:1.6;color:#8a97ab;text-align:center;margin-top:4px}
@media (max-width:900px){.lead__inner{grid-template-columns:1fr}}

/* ---------- 13e. AGENDA / ESCASSEZ ---------- */
.agenda{
  margin-top:30px;padding:22px 24px;border-radius:var(--r);
  border:1px solid var(--line);background:rgba(16,32,58,.025);
}
.agenda__t{font-size:.688rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:600}
.agenda ul{display:grid;gap:8px;margin-bottom:16px}
.agenda li{display:flex;justify-content:space-between;gap:14px;font-size:.875rem;border-bottom:1px dashed var(--line);padding-bottom:8px}
.agenda b{color:var(--white);font-weight:600}
.agenda span{color:var(--txt-dim)}
.agenda__seal{display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--txt-faint)}
.agenda__seal i{width:8px;height:8px;border-radius:50%;background:#2aa81a;box-shadow:0 0 0 4px rgba(42,168,26,.15);animation:pulse24 2.4s ease-in-out infinite}
@keyframes pulse24{50%{box-shadow:0 0 0 7px rgba(42,168,26,.08)}}

/* ---------- 13f. KEN BURNS no pôster do vídeo ---------- */
.watch__poster{animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{
  from{transform:scale(1) translate(0,0)}
  to{transform:scale(1.12) translate(-2.5%,-3%)}
}
.watch__frame:hover .watch__poster{animation-play-state:paused}

/* ---------- 13g. DEPOIMENTOS — avatar + selo ---------- */
.quote footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.quote__avatar{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--navy-700),var(--navy-900));
  color:#e6c684;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.04em;
}
.quote__who{text-align:left}
.quote__seal{
  font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#1f7a12;
  border:1px solid rgba(42,168,26,.35);border-radius:100px;padding:4px 10px;background:rgba(42,168,26,.07);
}

/* ---------- 13h. CORTINAS — transição de máscara nos programas ---------- */
.prog{position:relative}
.prog__curtain{position:absolute;inset:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}
.prog__curtain i{background:var(--ink);transform-origin:top}
@media (max-width:700px){.prog__curtain{grid-template-columns:repeat(2,1fr)}}

/* ---------- 13i. MODO APRESENTAÇÃO (tecla P) ---------- */
body.presenting .wa,body.presenting .rail,body.presenting .scrollcue,body.presenting .ha__hint{display:none!important}
body.presenting .nav{opacity:.15}
body.presenting .nav:hover{opacity:1}
.present-hint{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:750;
  padding:10px 22px;border-radius:100px;background:rgba(16,32,58,.9);color:#f7fafd;
  font-family:var(--f-display);font-size:.78rem;letter-spacing:.04em;
  opacity:0;pointer-events:none;transition:opacity .4s;
}
.present-hint.is-on{opacity:1}

/* ---------- 14. ABOUT ---------- */
.about{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,110px);
  padding:clamp(90px,12vh,170px) var(--gut);max-width:var(--maxw);margin-inline:auto;align-items:start;
}
.about__media{position:sticky;top:120px}
.about__photo{
  position:relative;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line-strong);
  box-shadow:0 40px 90px -44px rgba(16,32,58,.45);
}
.about__photo img{width:100%;filter:grayscale(.3) contrast(1.03);transition:filter .8s var(--ease),transform 1.2s var(--ease)}
.about__photo:hover img{filter:grayscale(0) contrast(1);transform:scale(1.03)}
.about__photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg,rgba(47,100,146,.14),transparent 55%);
}
.about__photo--2{
  position:absolute;right:-14%;bottom:-16%;width:52%;
  border-width:2px;border-color:rgba(195,154,77,.35);
}
.about__badge{
  position:absolute;left:-26px;top:-26px;width:74px;height:74px;border-radius:50%;
  display:grid;place-items:center;background:#fffdf8;border:1px solid var(--line-strong);
  box-shadow:0 14px 34px -14px rgba(16,32,58,.3);
}
.about__badge img{width:40px}
.about__text p{margin-bottom:18px;font-size:1rem;line-height:1.75;color:var(--txt-dim);max-width:60ch}
.about__text strong{color:var(--white);font-weight:600}
.about__text em{font-family:var(--f-serif);font-style:italic;color:var(--ice)}
.about__punch{
  margin-top:28px!important;padding-left:22px;border-left:2px solid var(--gold);
  font-family:var(--f-display);font-size:1.125rem!important;font-weight:500;line-height:1.5!important;
  color:var(--ice)!important;letter-spacing:-.02em;
}
.about__punch strong{color:var(--gold)}
.about__creds{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:clamp(46px,5vw,72px);background:var(--line);border:1px solid var(--line)}
.cred--wide{grid-column:1/-1}
.cred--wide p{max-width:64ch}
.cred{padding:26px 24px 30px;background:#fffdf8;transition:background .5s}
.cred:hover{background:rgba(169,129,47,.07)}
.cred__ico{
  display:block;width:34px;height:34px;margin-bottom:16px;border-radius:8px;
  background:linear-gradient(140deg,rgba(47,100,146,.16),rgba(169,129,47,.12));
  border:1px solid var(--line-strong);position:relative;
}
.cred__ico::after{
  content:"";position:absolute;inset:9px;
  background:var(--gold);
  -webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;
}
.cred__ico[data-ico="cmd"]::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.5 6.5L21 11l-6.5 2.5L12 20l-2.5-6.5L3 11l6.5-2.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.5 6.5L21 11l-6.5 2.5L12 20l-2.5-6.5L3 11l6.5-2.5z'/%3E%3C/svg%3E")}
.cred__ico[data-ico="press"]::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L4 14h6l-1 8 9-12h-6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L4 14h6l-1 8 9-12h-6z'/%3E%3C/svg%3E")}
.cred__ico[data-ico="edu"]::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9zM5 13.2V17c0 1.7 3.1 3 7 3s7-1.3 7-3v-3.8l-7 3.8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9zM5 13.2V17c0 1.7 3.1 3 7 3s7-1.3 7-3v-3.8l-7 3.8z'/%3E%3C/svg%3E")}
.cred__ico[data-ico="book"]::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h11a3 3 0 013 3v15H7a3 3 0 01-3-3zm13 0h3v18h-3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h11a3 3 0 013 3v15H7a3 3 0 01-3-3zm13 0h3v18h-3z'/%3E%3C/svg%3E")}
.cred__ico[data-ico="doctrine"]::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 3 6v6c0 5 3.8 9.4 9 10 5.2-.6 9-5 9-10V6zm0 4.2 5.5 2.5v3.1c0 3.2-2.4 6.1-5.5 6.9-3.1-.8-5.5-3.7-5.5-6.9V8.7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 3 6v6c0 5 3.8 9.4 9 10 5.2-.6 9-5 9-10V6zm0 4.2 5.5 2.5v3.1c0 3.2-2.4 6.1-5.5 6.9-3.1-.8-5.5-3.7-5.5-6.9V8.7z'/%3E%3C/svg%3E")}
.cred h3{font-size:1rem;font-weight:600;color:var(--white);margin-bottom:8px;letter-spacing:-.02em}
.cred p{font-size:.813rem;line-height:1.6;color:var(--txt-faint)}

/* ---------- 15. TRACK (horizontal) ---------- */
.track{position:relative}
.track__sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-block:80px}
.track__head{padding:0 var(--gut);margin-bottom:clamp(30px,4vh,54px)}
.track__title{font-size:clamp(1.75rem,4vw,3.6rem);letter-spacing:-.045em;color:var(--white)}
.track__rail{display:flex;gap:clamp(16px,2vw,28px);padding-inline:var(--gut);will-change:transform;position:relative}
.track__line{position:absolute;left:var(--gut);right:var(--gut);top:44px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-lt));transform:scaleX(0);transform-origin:left;pointer-events:none;border-radius:2px}
.tcard{
  flex:0 0 clamp(260px,26vw,380px);padding:30px 28px 34px;border-radius:var(--r);
  background:#fffdf8;
  border:1px solid var(--line);
  box-shadow:0 18px 44px -30px rgba(16,32,58,.25);
  transition:transform .6s var(--ease),border-color .6s,box-shadow .6s;
}
.tcard:hover{transform:translateY(-8px);border-color:var(--line-strong);box-shadow:0 30px 60px -30px rgba(16,32,58,.35)}
.tcard__year{
  display:inline-block;margin-bottom:18px;padding:5px 12px;border-radius:100px;
  border:1px solid var(--line-strong);font-size:.688rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.tcard h3{font-size:1.25rem;color:var(--white);margin-bottom:12px;letter-spacing:-.03em;line-height:1.15}
.tcard p{font-size:.875rem;line-height:1.65;color:var(--txt-dim)}
.tcard--hl{background:linear-gradient(165deg,rgba(195,154,77,.16),#fffdf8 60%);border-color:rgba(169,129,47,.45)}
.tcard--now{background:linear-gradient(165deg,rgba(47,100,146,.14),#fffdf8 60%);border-color:rgba(47,100,146,.4)}

/* ---------- 16. PROGRAMS ---------- */
.progs-intro{padding:clamp(100px,14vh,190px) var(--gut) clamp(60px,8vh,110px);max-width:var(--maxw);margin-inline:auto}
.progs-intro__title{font-size:clamp(1.875rem,4.4vw,4rem);letter-spacing:-.045em;color:var(--white);max-width:20ch;margin-bottom:26px}
.progs-intro__lede{font-size:clamp(.938rem,1.3vw,1.125rem);line-height:1.7;color:var(--txt-dim);max-width:56ch;margin-bottom:clamp(40px,5vw,64px)}
.progs-intro__list{border-top:1px solid var(--line)}
.progs-intro__list a{
  display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;
  padding:clamp(20px,2.4vw,30px) 0;border-bottom:1px solid var(--line);
  transition:padding-left .6s var(--ease),color .4s;
}
.progs-intro__list a:hover{padding-left:22px;background:linear-gradient(90deg,rgba(47,100,146,.12),transparent)}
.progs-intro__list em{font-family:var(--f-display);font-size:.813rem;font-weight:600;color:var(--gold);letter-spacing:.06em}
.progs-intro__list span{font-family:var(--f-display);font-size:clamp(1.125rem,2.4vw,2rem);font-weight:600;letter-spacing:-.035em;color:var(--white)}
.progs-intro__list i{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-faint)}

.prog{position:relative;padding:clamp(80px,11vh,150px) var(--gut);overflow:hidden}
.prog::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(70% 60% at 12% 0%,rgba(47,100,146,.2),transparent 60%);
  opacity:0;transition:opacity 1.2s var(--ease);
}
.prog.is-in::before{opacity:1}
.prog--02::before{background:radial-gradient(70% 60% at 88% 0%,rgba(195,154,77,.16),transparent 60%)}
.prog--03::before{background:radial-gradient(70% 60% at 50% 0%,rgba(91,145,196,.18),transparent 60%)}
.prog--04::before{background:radial-gradient(80% 60% at 20% 100%,rgba(195,154,77,.14),transparent 60%)}
.prog__inner{max-width:var(--maxw);margin-inline:auto;position:relative}
.prog__num{
  position:absolute;right:0;top:-.16em;z-index:-1;
  font-family:var(--f-display);font-weight:900;font-size:clamp(7rem,20vw,20rem);line-height:.8;
  color:transparent;-webkit-text-stroke:1px rgba(16,32,58,.1);pointer-events:none;
}
.prog__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.prog__tags span{
  padding:6px 14px;border-radius:100px;border:1px solid var(--line-strong);
  font-size:.688rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-dim);
}
.prog__tags span:first-child{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}
.prog__title{font-size:clamp(2.25rem,6vw,5.6rem);letter-spacing:-.05em;color:var(--white);margin-bottom:16px}
.prog__claim{
  font-family:var(--f-serif);font-style:italic;font-size:clamp(1.063rem,1.9vw,1.625rem);
  line-height:1.4;color:var(--gold-lt);max-width:36ch;
}
.prog__body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,80px);margin-top:clamp(44px,5vw,74px)}
.prog__lede{font-size:clamp(1.063rem,1.5vw,1.375rem);line-height:1.55;color:var(--ice);letter-spacing:-.02em;margin-bottom:22px;font-family:var(--f-display);font-weight:500}
.prog__col p{margin-bottom:16px;font-size:.938rem;line-height:1.75;color:var(--txt-dim)}
.prog__col strong{color:var(--white);font-weight:600}
.prog__col em{font-family:var(--f-serif);font-style:italic;color:var(--ice)}
.prog__sub{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;font-family:var(--f-body);font-weight:600}
.prog__list li{
  position:relative;padding:14px 0 14px 32px;border-bottom:1px solid var(--line);
  font-size:.938rem;line-height:1.6;color:var(--txt-dim);
}
.prog__list li::before{
  content:"";position:absolute;left:4px;top:21px;width:11px;height:11px;
  border:1px solid var(--gold);transform:rotate(45deg);transition:background .4s,transform .5s var(--ease);
}
.prog__list li:hover::before{background:var(--gold);transform:rotate(135deg)}
.prog__list strong{color:var(--white)}
.prog__why{
  margin-top:30px;padding:24px 26px;border-radius:var(--r);
  background:rgba(47,100,146,.1);border:1px solid var(--line-strong);
  border-left:3px solid var(--gold);
}
.prog__why h4{font-size:.688rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-family:var(--f-body)}
.prog__why p{font-size:.875rem;line-height:1.7;color:var(--txt-dim);margin:0 0 10px}
.prog__why p:last-child{margin-bottom:0}
.prog__why strong{color:var(--ice)}

/* bloco regulatório — alerta */
.prog__why--alert{background:rgba(195,154,77,.09);border-color:rgba(195,154,77,.34);border-left-color:var(--gold-lt)}
.prog__why--alert strong{color:var(--gold)}

/* bloco de ressalva honesta */
.prog__honest{
  margin-top:16px;padding:22px 24px;border-radius:var(--r);
  background:rgba(47,100,146,.08);border:1px dashed var(--line-strong);
}
.prog__honest h4{font-size:.688rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-lt);margin-bottom:10px;font-family:var(--f-body)}
.prog__honest p{font-size:.875rem;line-height:1.7;color:var(--txt-dim);margin:0}
.prog__honest strong{color:var(--ice)}

/* parágrafo de contraposicionamento */
.prog__anti{
  margin-top:24px!important;padding:16px 20px;border-radius:8px;
  background:rgba(16,32,58,.04);border-left:2px solid var(--steel-lt);
  font-size:.875rem!important;color:var(--txt-dim)!important;
}
.prog__anti strong{color:var(--ice)}
.prog__anti em{font-family:var(--f-serif);font-style:italic}

/* ---------- 16b. CLIENTES — marquee duplo (padrão Maze: duas faixas,
   direções opostas, puro CSS — sem depender de JS de terceiros) ---------- */
.clients{padding:clamp(70px,9vh,120px) 0;overflow:hidden}
.clients .eyebrow{justify-content:center;margin-bottom:38px;padding-inline:var(--gut)}

.mq{position:relative;overflow:hidden;padding:10px 0}
.mq + .mq{margin-top:16px}
.mq::before,.mq::after{
  content:"";position:absolute;top:0;bottom:0;width:clamp(40px,8vw,140px);z-index:2;pointer-events:none;
}
.mq::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.mq::after{right:0;background:linear-gradient(-90deg,var(--ink),transparent)}

.mq__track{display:flex;width:max-content;gap:16px;animation:mq-left 34s linear infinite}
.mq__track--rev{animation-name:mq-right;animation-duration:30s}
.mq:hover .mq__track{animation-play-state:paused}
@keyframes mq-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mq-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

.mq__pill{
  display:inline-flex;align-items:center;gap:14px;white-space:nowrap;flex:none;
  padding:16px 30px;border-radius:100px;
  font-family:var(--f-display);font-weight:600;letter-spacing:-.015em;
  font-size:clamp(.938rem,1.6vw,1.25rem);
  background:var(--navy-800);border:1px solid var(--navy-800);color:#c3d0e2;
  transition:background .4s,border-color .4s,color .4s;
}
.mq__pill i{width:6px;height:6px;border-radius:50%;background:var(--gold-lt);flex:none}
.mq--dark .mq__pill:hover{background:var(--navy-700);color:#fff}
.mq__pill--gold{background:transparent;border:1px solid rgba(169,129,47,.5);color:var(--ice)}
.mq__pill--gold i{background:var(--steel-lt)}
.mq__pill--gold:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.mq__pill--gold:hover i{background:#fff}

/* logos reais dos clientes — cada um tem proporção diferente, então o tile
   fixa a altura e o img se ajusta por dentro sem distorcer */
.mq__logo{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  height:76px;padding:14px 26px;border-radius:14px;
  background:#fff;border:1px solid var(--line);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.mq__logo img{
  max-height:100%;max-width:150px;width:auto;height:auto;
  filter:grayscale(1) opacity(.72);transition:filter .35s var(--ease);
}
.mq__logo:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(16,32,58,.28)}
.mq__logo:hover img{filter:none}
@media (prefers-reduced-motion:reduce){.mq__logo,.mq__logo img{transition:none}.mq__logo:hover{transform:none}}

.clients__note{
  margin-top:38px;text-align:center;font-size:.875rem;color:var(--txt-faint);
  padding-inline:var(--gut);
}

/* ---------- 16c. RECONHECIMENTOS — padrão "prêmio": linha + título + barra + ano ---------- */
.honors{padding:clamp(70px,9vh,120px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.honors__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border:1px solid var(--line)}
.honor{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:28px 30px;background:#fffdf8;
  transition:background .5s var(--ease);
}
/* hover no padrão Maze: o cartão inteiro vira dourado */
.honor:hover{background:linear-gradient(100deg,#c39a4d,#e0bd75)}
.honor:hover .honor__line{background:var(--navy-800)}
.honor:hover .honor__slash{color:var(--navy-800)}
.honor:hover .honor__year{color:#5a4415}
.honor__line{width:38px;height:2px;background:var(--gold);flex:none}
.honor__title{
  font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(1rem,1.8vw,1.375rem);color:var(--white);
  text-transform:uppercase;line-height:1.15;flex:1 1 auto;min-width:0;
}
.honor__slash{font-size:1.25rem;font-weight:700;color:var(--gold);flex:none}
.honor__year{font-size:.813rem;letter-spacing:.06em;color:var(--txt-faint);flex:none}

@media (max-width:700px){
  .honors__grid{grid-template-columns:1fr}
  .honor{padding:22px 20px}
}

.contact__hours{margin-top:20px;font-size:.75rem;letter-spacing:.06em;color:var(--txt-faint)}
.prog__foot{
  position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  margin-top:clamp(40px,5vw,64px);padding:30px 26px 26px;border-top:1px solid var(--line);
  border-radius:0 0 var(--r) var(--r);
  background:rgba(255,255,255,.6);
  backdrop-filter:blur(10px);
}
.prog__for{font-size:.813rem;line-height:1.7;color:var(--txt-dim);max-width:62ch}
.prog__for span{
  display:inline-block;margin-right:8px;padding:3px 10px;border-radius:100px;
  background:rgba(16,32,58,.06);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ice);
}

/* ---------- 17. BOOKS ---------- */
.books{padding:clamp(90px,12vh,160px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.books__row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,54px)}
.book{text-align:center;perspective:1400px}
.book__obj{margin:0 auto 30px;width:min(230px,60%);aspect-ratio:3/4.3;transform-style:preserve-3d;transition:transform .9s var(--ease)}
.book__cover{
  position:relative;width:100%;height:100%;border-radius:4px 10px 10px 4px;
  background:linear-gradient(140deg,var(--navy-700),var(--navy-900) 70%);
  border:1px solid rgba(16,32,58,.3);
  box-shadow:0 40px 70px -34px rgba(16,32,58,.55),inset 0 0 60px rgba(47,100,146,.16);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;
  padding:26px 20px;overflow:hidden;
}
.book__cover::before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(195,154,77,.3);border-radius:3px;
}
.book__cover::after{
  content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);
  transform:translateX(-120%);transition:transform 1.1s var(--ease);
}
.book:hover .book__cover::after{transform:translateX(120%)}
.book__spine{position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,rgba(0,0,0,.6),transparent)}
.book__cover em{
  font-family:var(--f-serif);font-size:clamp(1rem,1.5vw,1.375rem);line-height:1.2;text-align:center;
  color:#f7fafd;letter-spacing:.02em;
}
.book__cover i{font-family:var(--f-body);font-style:normal;font-size:.563rem;letter-spacing:.2em;text-transform:uppercase;color:#e6c684}
.book__cover--set{background:linear-gradient(140deg,rgba(195,154,77,.24),var(--navy-900) 70%)}
.book h3{font-size:1.25rem;color:var(--white);margin-bottom:6px;letter-spacing:-.03em}
.book__year{font-size:.688rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.book>p:last-child{font-size:.875rem;line-height:1.65;color:var(--txt-dim);max-width:34ch;margin-inline:auto}
.books__foot{margin-top:clamp(48px,6vw,80px);text-align:center;font-size:.938rem;color:var(--txt-faint)}
.books__foot strong{color:var(--ice)}

/* ---------- 18. WHO ---------- */
.who{padding:clamp(90px,12vh,160px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.who__head{margin-bottom:clamp(40px,5vw,70px)}
.who__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.who__list li{padding:32px 28px 38px;background:#fffdf8;transition:background .55s var(--ease)}
.who__list li:hover{background:rgba(47,100,146,.07)}
.who__list b{display:block;font-family:var(--f-display);font-size:1.125rem;font-weight:600;color:var(--white);margin-bottom:10px;letter-spacing:-.025em}
.who__list span{font-size:.875rem;line-height:1.65;color:var(--txt-dim)}

/* ---------- 19. QUOTES ---------- */
.quotes{padding:clamp(90px,12vh,160px) var(--gut);max-width:1100px;margin-inline:auto;text-align:center}
.quotes__viewport{position:relative;min-height:260px}
.quote{position:absolute;inset:0;opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);pointer-events:none}
.quote.is-active{opacity:1;transform:none;pointer-events:auto}
.quote p{
  font-family:var(--f-display);font-weight:500;font-size:clamp(1.25rem,2.7vw,2.25rem);
  line-height:1.35;letter-spacing:-.035em;color:var(--white);margin-bottom:28px;
}
.quote p::before{content:"“";color:var(--gold);margin-right:2px}
.quote p::after{content:"”";color:var(--gold)}
.quote footer b{display:block;font-family:var(--f-display);font-size:.938rem;color:var(--ice)}
.quote footer span{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint)}
.quotes__nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:40px}
.quotes__nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);position:relative;transition:background .4s,border-color .4s}
.quotes__nav button:hover{background:var(--gold);border-color:var(--gold)}
.quotes__nav button::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
.quotes__nav button[data-q="prev"]::after{transform:translate(-40%,-50%) rotate(-135deg)}
.quotes__nav button[data-q="next"]::after{transform:translate(-60%,-50%) rotate(45deg)}
.quotes__nav button:hover::after{color:#fff}
.quotes__nav span{font-size:.75rem;letter-spacing:.16em;color:var(--txt-faint)}

/* ---------- 20. KIT ---------- */
.kit{padding:clamp(90px,12vh,160px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.kit__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(16px,1.6vw,24px)}
.kit__card{
  padding:30px 28px 34px;border-radius:var(--r);
  background:#fffdf8;
  border:1px solid var(--line);
  box-shadow:0 20px 50px -36px rgba(16,32,58,.3);
}
.kit__card h3{font-size:1.063rem;color:var(--white);margin-bottom:22px;letter-spacing:-.02em}
.kit__card--bio{grid-row:span 2}
.kit__card--gallery{grid-column:2/-1}
.bio__row{padding:18px 0;border-top:1px solid var(--line);position:relative}
.bio__row:first-child{border-top:none;padding-top:0}
.bio__tag{display:block;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.bio__row p{font-size:.875rem;line-height:1.7;color:var(--txt-dim)}
.copy{
  margin-top:12px;padding:6px 14px;border-radius:100px;border:1px solid var(--line-strong);
  font-size:.688rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-dim);transition:.35s;
}
.copy:hover{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.copy.is-done{background:var(--gold);border-color:var(--gold);color:#fff}
.dl li a{
  display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;
  border-bottom:1px solid var(--line);font-size:.875rem;color:var(--txt-dim);
  transition:color .35s,padding-left .5s var(--ease);
}
.dl li a:hover{color:var(--white);padding-left:10px}
.dl i{font-style:normal;font-size:.625rem;letter-spacing:.14em;color:var(--gold);border:1px solid var(--line-strong);padding:3px 8px;border-radius:4px}
.specs li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.813rem}
.specs b{color:var(--gold);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.688rem;padding-top:2px}
.specs span{color:var(--txt-dim);text-align:right}
.gal{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.gal img{aspect-ratio:3/4;object-fit:cover;border-radius:8px;filter:grayscale(.45);cursor:pointer;transition:filter .5s,transform .5s var(--ease)}
.gal img:hover{filter:none;transform:translateY(-5px)}

/* ---------- 21. FAQ ---------- */
.faq{padding:clamp(90px,12vh,160px) var(--gut);max-width:1100px;margin-inline:auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{
  list-style:none;cursor:pointer;padding:26px 50px 26px 0;position:relative;
  font-family:var(--f-display);font-size:clamp(1rem,1.7vw,1.375rem);font-weight:500;
  letter-spacing:-.025em;color:var(--ice);transition:color .35s;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--white)}
.faq__item summary::after,.faq__item summary::before{
  content:"";position:absolute;right:8px;top:50%;background:var(--gold);transition:transform .45s var(--ease),opacity .45s;
}
.faq__item summary::after{width:16px;height:1.5px;transform:translateY(-50%)}
.faq__item summary::before{width:1.5px;height:16px;right:15px;transform:translateY(-50%)}
.faq__item[open] summary::before{transform:translateY(-50%) rotate(90deg);opacity:0}
.faq__item div{padding:0 60px 28px 0;font-size:.938rem;line-height:1.75;color:var(--txt-dim);animation:faqIn .5s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- 22. CONTACT ---------- */
.contact{padding:clamp(90px,12vh,170px) var(--gut) clamp(70px,9vh,120px);max-width:var(--maxw);margin-inline:auto}
.contact__inner{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,90px);
  padding:clamp(34px,4vw,68px);border-radius:calc(var(--r) + 8px);
  background:#fffdf8;
  border:1px solid var(--line-strong);
  box-shadow:0 60px 120px -64px rgba(16,32,58,.5);
}
.contact__title{font-size:clamp(1.75rem,3.6vw,3.25rem);letter-spacing:-.045em;color:var(--white);margin-bottom:22px;max-width:16ch}
.contact__lede{font-size:.938rem;line-height:1.75;color:var(--txt-dim);max-width:46ch;margin-bottom:34px}
.contact__direct{display:flex;flex-direction:column;gap:12px}
.contact__direct a{
  font-family:var(--f-display);font-size:1rem;color:var(--ice);
  border-bottom:1px solid var(--line-strong);padding-bottom:6px;width:fit-content;transition:color .35s,border-color .35s}
.contact__direct a:hover{color:var(--gold);border-color:var(--gold)}
.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.field{position:relative}
.field--full{grid-column:1/-1}
.field input,.field textarea,.field select{
  width:100%;padding:20px 16px 8px;border-bottom:1px solid var(--line-strong);
  background:rgba(16,32,58,.035);border-radius:6px 6px 0 0;font-size:.938rem;color:var(--white);
  transition:border-color .35s,background .35s;resize:vertical;
}
.field select{padding:16px;color:var(--txt-dim);appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c39a4d'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:20px}
.field select option{background:#fff;color:#26374d}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);background:rgba(169,129,47,.06)}
.field label{
  position:absolute;left:16px;top:17px;font-size:.938rem;color:var(--txt-faint);pointer-events:none;
  transition:.32s var(--ease);
}
.field input:focus+label,.field input:not(:placeholder-shown)+label,
.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{
  top:5px;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.form__note{grid-column:1/-1;font-size:.813rem;color:var(--gold);min-height:1.2em}

/* ---------- 23. FOOTER — 4 colunas no padrão Maze (padding generoso,
   link social com seta revelada no hover em CSS puro, botão circular
   de voltar ao topo) ---------- */
.foot{position:relative;z-index:2;padding:clamp(80px,10vh,140px) var(--gut) 30px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(16,32,58,.06))}
.foot__big{
  font-family:var(--f-display);font-weight:900;letter-spacing:-.05em;line-height:.85;
  font-size:clamp(2.5rem,11vw,10rem);color:transparent;-webkit-text-stroke:1px rgba(16,32,58,.14);
  text-align:center;margin-bottom:clamp(50px,7vw,90px);user-select:none;
}
.foot__inner{max-width:var(--maxw);margin:0 auto clamp(50px,6vw,80px)}
.foot__stack{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
.foot__cell{min-width:0}
.foot__mark{width:44px;margin-bottom:18px}
.foot__tagline{font-family:var(--f-serif);font-style:italic;font-size:1.063rem;color:var(--ice);line-height:1.6;max-width:22ch}

.foot__t{font-size:.688rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-family:var(--f-body);font-weight:600}
.foot__link{display:block;font-family:var(--f-body);color:var(--txt-dim);transition:color .3s}
.foot__link:hover{color:var(--white)}
.foot__link--big{font-family:var(--f-display);font-size:1rem;font-weight:500;color:var(--ice);margin-bottom:10px;letter-spacing:-.01em}
.foot__link--big:hover{color:var(--gold-lt)}
.foot__addr{margin-top:14px;font-size:.813rem;color:var(--txt-faint);line-height:1.6}

.foot__navlink{display:block;padding:6px 0;font-size:.875rem;color:var(--txt-dim);transition:color .3s,transform .4s var(--ease)}
.foot__navlink:hover{color:var(--white);transform:translateX(5px)}

.foot__social{
  display:flex;align-items:center;gap:14px;padding:9px 0;
  color:rgba(16,32,58,.4);font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;
  transition:color .35s;
}
.foot__arrow{
  position:relative;width:30px;height:10px;border:1px solid var(--line-strong);border-radius:2px;flex:none;
  overflow:hidden;transition:border-color .35s,background .35s;
}
.foot__arrow::after{
  content:"";position:absolute;top:50%;left:-14px;width:10px;height:10px;
  transform:translateY(-50%);opacity:0;transition:left .35s var(--ease),opacity .35s;
  background:linear-gradient(135deg,transparent 45%,var(--ink) 45%,var(--ink) 55%,transparent 55%),
             linear-gradient(45deg,transparent 45%,var(--ink) 45%,var(--ink) 55%,transparent 55%);
}
.foot__social:hover{color:var(--white)}
.foot__social:hover .foot__arrow{border-color:var(--gold);background:var(--gold)}
.foot__social:hover .foot__arrow::after{left:14px;opacity:1}

.foot__bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  max-width:var(--maxw);margin-inline:auto;padding-top:26px;border-top:1px solid var(--line);
  font-size:.75rem;color:var(--txt-faint);
}
.foot__top{
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;flex:none;
  border:1px solid var(--line-strong);color:var(--ice);
  transition:background .4s,border-color .4s,color .4s,transform .5s var(--ease);
}
.foot__top svg{width:18px;height:18px}
.foot__top:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);transform:translateY(-4px)}

@media (max-width:900px){
  .foot__stack{grid-template-columns:1fr 1fr;row-gap:36px}
}
@media (max-width:600px){
  .foot__stack{grid-template-columns:1fr}
}

/* ---------- 24. LIGHTBOX ---------- */
.lightbox{
  position:fixed;inset:0;z-index:850;background:rgba(2,5,10,.94);backdrop-filter:blur(14px);
  display:grid;place-items:center;padding:5vh 5vw;opacity:0;visibility:hidden;transition:.5s var(--ease);
}
.lightbox.is-on{opacity:1;visibility:visible}
.lightbox img{max-height:90vh;width:auto;border-radius:10px;box-shadow:0 40px 100px -30px #000}
.lightbox__close{position:absolute;top:28px;right:28px;width:48px;height:48px;border:1px solid rgba(247,250,253,.3);border-radius:50%}
.lightbox__close::before,.lightbox__close::after{content:"";position:absolute;left:15px;top:23px;width:18px;height:1.5px;background:#f7fafd}
.lightbox__close::before{transform:rotate(45deg)}
.lightbox__close::after{transform:rotate(-45deg)}

/* ---------- 25. REVEAL UTILITIES ---------- */
.reveal{opacity:0;transform:translateY(26px)}
[data-splitlines] .l{display:block;overflow:hidden}
[data-splitlines] .l>span{display:block;transform:translateY(105%)}

/* ---------- 26. RESPONSIVE ---------- */
@media (max-width:1180px){
  .about{grid-template-columns:1fr;gap:60px}
  .about__media{position:relative;top:0;max-width:520px}
  .kit__grid{grid-template-columns:1fr 1fr}
  .kit__card--bio{grid-row:auto;grid-column:1/-1}
  .kit__card--gallery{grid-column:1/-1}
  .hero__content{max-width:none}
  .hero__portrait{width:min(52vw,520px);opacity:.5!important}
}
@media (max-width:900px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:block}
  .menu__grid{grid-template-columns:1fr;gap:40px}
  .numbers__grid{grid-template-columns:1fr 1fr}
  .about__creds{grid-template-columns:1fr}
  .prog__body{grid-template-columns:1fr;gap:36px}
  .books__row{grid-template-columns:1fr;gap:56px}
  .who__list{grid-template-columns:1fr 1fr}
  .contact__inner{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr 1fr}
  .hero__strip{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:repeat(3,1fr)}
  .track__sticky{height:auto;padding-block:60px}
  .track__rail{flex-direction:column;transform:none!important}
  .tcard{flex:1 1 auto}
}
@media (max-width:600px){
  .hero{padding-top:120px}
  .hero__portrait{display:none}
  .numbers__grid,.who__list,.contact__form,.foot__cols{grid-template-columns:1fr}
  .hero__strip{grid-template-columns:1fr 1fr}
  .hero__stat{padding:16px 16px 20px}
  .hero__stat span{font-size:.688rem}
  .progs-intro__list a{grid-template-columns:44px 1fr;row-gap:6px}
  .progs-intro__list i{grid-column:2}
  .prog__foot{flex-direction:column;align-items:flex-start}
  .gal{grid-template-columns:repeat(2,1fr)}
  .scrollcue{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .hero__title .w,.ha__phrase .w,.hb__phrase .w,[data-splitlines] .l>span{transform:none}
  .hero__portrait{opacity:1}
  .manifesto__text .word{opacity:1}
}

/* ═══════════ CORREÇÕES DE MOBILE E TOQUE ═══════════ */
@media (max-width:600px){
  /* a segunda foto era absoluta em right:-14% e ficava cortada pela viewport */
  .about__photo--2{position:static;right:auto;margin-top:18px;max-width:62%}

  /* alvo de toque mínimo de 44px (WCAG 2.5.5) nos links de texto */
  .foot__link--big,.foot__navlink,.contact__direct a,.menu__mail,.menu__sub a,.nav__brand{
    min-height:44px;display:flex;align-items:center;
  }
  .copy{min-height:44px;min-width:44px}
  .foot__social{min-height:44px}
}

/* ═══════════════════════════════════════════════════════════
   REMONTAGEM 2026 — camada de redesign
   Cards 3D com tilt + glare, tipografia sem serifa, textos
   colapsáveis, textos soltos promovidos a componente.
   As regras abaixo SOBRESCREVEM as seções antigas de propósito —
   manter no fim do arquivo.
   ═══════════════════════════════════════════════════════════ */

/* ---------- R1. TIPOGRAFIA — itálicos de display viram peso, não serifa ---------- */
.ha__phrase em,.hb__phrase em,.manifesto__text em,.hero__lede em{font-style:normal;font-weight:inherit}
.prog__claim{font-style:normal;font-weight:500;letter-spacing:-.02em}
.about__text em,.prog__col em,.prog__anti em,.story__text em{font-style:normal;font-weight:600}
.foot__tagline{font-style:normal;font-weight:500}
.book__cover em{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em}
.story__quote p{font-style:italic}   /* citação direta é o único itálico que fica */

/* ---------- R2. CARD 3D — base compartilhada ----------
   O JS (tilt3d.js) aplica rotateX/rotateY no card e move o brilho
   via --gx/--gy. Os filhos ganham translateZ para paralaxe real. */
.tilt3d{
  position:relative;border-radius:22px;
  background:linear-gradient(165deg,#fffefb 0%,#f6f2e8 100%);
  border:1px solid rgba(16,32,58,.09);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 1px 2px rgba(16,32,58,.05),
             0 30px 70px -38px rgba(16,32,58,.4);
  transform-style:preserve-3d;will-change:transform;
  transition:box-shadow .5s var(--ease);
}
.tilt3d::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;
  background:radial-gradient(420px circle at var(--gx,50%) var(--gy,-20%),rgba(255,255,255,.55),transparent 55%);
  opacity:0;transition:opacity .45s var(--ease);
}
.tilt3d:hover::after{opacity:1}
.tilt3d:hover{box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 2px 4px rgba(16,32,58,.06),
              0 44px 90px -40px rgba(16,32,58,.5)}
.tilt3d>*{transform:translateZ(1px)}

/* ---------- R3. AUTORIDADE — grade solta, números flutuando ---------- */
.numbers__grid{background:none;border:none;gap:clamp(14px,1.8vw,24px);perspective:1600px}
.stat{border-radius:22px;overflow:visible}
.stat::after{border-radius:0 0 22px 22px;height:3px}
.stat__num{transform:translateZ(42px)}
.stat__unit{transform:translateZ(30px)}
.stat__desc{transform:translateZ(16px)}
.numbers__foot{
  max-width:none;margin-top:clamp(40px,5vw,64px);
  padding:26px 30px;border-radius:18px;border-left:3px solid var(--gold);
  background:linear-gradient(120deg,rgba(169,129,47,.08),rgba(47,100,146,.05));
}

/* ---------- R4. SOBRE — credenciais em cards soltos ---------- */
.about__creds{background:none;border:none;gap:clamp(12px,1.4vw,18px);perspective:1400px}
.cred{border-radius:20px}
.cred__ico{transform:translateZ(34px)}
.cred h3{transform:translateZ(24px)}
.cred p{transform:translateZ(12px)}

/* ---------- R5. TRAJETÓRIA — cards com profundidade ---------- */
.track__rail{perspective:1600px}
.tcard{border-radius:20px;background:linear-gradient(165deg,#fffefb,#f6f2e8)}
.tcard__year{transform:translateZ(36px)}
.tcard h3{transform:translateZ(26px)}
.tcard p{transform:translateZ(12px)}

/* ---------- R6. PARA QUEM / KIT / RECONHECIMENTOS — mesma família ---------- */
.who__list{background:none;border:none;gap:clamp(12px,1.4vw,18px);perspective:1400px}
.who__list li{border-radius:20px}
.kit__grid{perspective:1600px}
.kit__card{border-radius:20px}
.honors__grid{background:none;border:none;gap:clamp(12px,1.4vw,18px);perspective:1400px}
.honor{border-radius:18px}
.hero__strip{background:none;border-top:none;gap:clamp(10px,1.2vw,16px);perspective:1400px}
.hero__stat{
  border-radius:18px;border:1px solid rgba(16,32,58,.09);
  background:linear-gradient(165deg,rgba(255,255,255,.85),rgba(246,242,232,.85));
  backdrop-filter:blur(8px);
  box-shadow:0 20px 50px -34px rgba(16,32,58,.35);
}

/* ---------- R7. LIVROS — objeto 3D com lombada, páginas e contracapa ---------- */
.book__obj{position:relative}
.book__cover{position:absolute;inset:0;transform:translateZ(13px)}
.book__obj::before{           /* contracapa */
  content:"";position:absolute;inset:0;border-radius:4px 10px 10px 4px;
  background:linear-gradient(140deg,var(--navy-900),#060b16 70%);
  transform:translateZ(-13px);
  box-shadow:0 60px 80px -30px rgba(4,7,15,.65);
}
.book__obj::after{            /* bloco de páginas */
  content:"";position:absolute;top:2.5%;bottom:2.5%;right:-12px;width:26px;
  background:repeating-linear-gradient(180deg,#f2ecdc 0 2px,#ddd5c0 2px 3px);
  border-radius:2px 6px 6px 2px;
  transform:rotateY(90deg) translateZ(0);
}
.book:hover .book__obj{transform:translateZ(0) scale(1.02)}

/* ---------- R8. TEXTOS SOLTOS → componentes ---------- */
.books__foot,.clients__note,.watch__note{
  max-width:820px;margin-inline:auto;
  padding:18px 26px;border-radius:16px;
  border:1px solid var(--line);background:rgba(255,253,248,.8);
}
.clients__note{margin-top:38px}
.books__foot{margin-top:clamp(40px,5vw,64px)}

/* ---------- R9. LER MAIS — colapsável que preserva o texto completo ---------- */
.more{margin-top:20px;border-radius:16px;border:1px solid var(--line);background:rgba(16,32,58,.028);overflow:hidden}
.more>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;
  padding:16px 20px;font-family:var(--f-display);font-size:.85rem;font-weight:600;
  letter-spacing:.02em;color:var(--gold);transition:background .35s;
}
.more>summary::-webkit-details-marker{display:none}
.more>summary::before{
  content:"";width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:rotate(45deg) translateY(-2px);transition:transform .4s var(--ease);flex:none;
}
.more[open]>summary::before{transform:rotate(-135deg) translateY(-2px)}
.more>summary:hover{background:rgba(169,129,47,.07)}
.more__body{padding:4px 22px 20px;animation:faqIn .5s var(--ease)}
.more__body p{margin-bottom:14px;font-size:.92rem;line-height:1.75;color:var(--txt-dim)}
.more__body p:last-child{margin-bottom:0}

/* ---------- R10. BÚSSOLA 3D — canvas three.js atrás do título do quiz ---------- */
.compass3d{
  width:min(280px,56vw);aspect-ratio:1;margin:0 auto;display:block;
  filter:drop-shadow(0 26px 40px rgba(138,106,34,.35));
}

/* ---------- R11. ÁREA DE MEMBROS — chamada na home ---------- */
.members-cta{padding:clamp(70px,9vh,130px) var(--gut);max-width:var(--maxw);margin-inline:auto}
.members-cta__inner{
  position:relative;overflow:hidden;border-radius:calc(var(--r) + 10px);
  background:
    radial-gradient(70% 90% at 85% 10%,rgba(195,154,77,.22),transparent 55%),
    radial-gradient(60% 80% at 10% 100%,rgba(47,100,146,.28),transparent 60%),
    var(--navy-900);
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,4vw,70px);align-items:center;
  padding:clamp(36px,5vw,72px);
  box-shadow:0 60px 120px -60px rgba(4,7,15,.75);
}
.members-cta__title{font-size:clamp(1.75rem,3.6vw,3.2rem);letter-spacing:-.04em;line-height:1.05;color:#f7fafd;margin-bottom:16px}
.members-cta__lede{font-size:.95rem;line-height:1.75;color:#a9b8cc;max-width:48ch;margin-bottom:28px}
.members-cta__tiers{display:grid;gap:10px}
.members-cta__tiers li{
  display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-radius:12px;
  background:rgba(247,250,253,.05);border:1px solid rgba(247,250,253,.1);
  font-size:.875rem;color:#c3d0e2;
}
.members-cta__tiers b{color:#e6c684;font-family:var(--f-display);font-weight:600;flex:none}
.members-cta__actions{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:900px){.members-cta__inner{grid-template-columns:1fr}}

/* ---------- R12. RESPONSIVO da camada nova ---------- */
@media (max-width:900px){
  .numbers__grid{grid-template-columns:1fr 1fr}
  .about__creds,.honors__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .numbers__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .tilt3d,.tilt3d>*{transform:none!important}
  .tilt3d::after{display:none}
}

/* ═══════════════════════════════════════════════════════════
   REVISÃO TIPOGRÁFICA E DE HIERARQUIA — camada final
   Três problemas atacados aqui, nesta ordem:
   1. peso — nada acima de 500; ênfase por cor e tamanho, não por bold
   2. altura — itens lado a lado sempre com a mesma caixa
   3. condução — atos numerados e uma escada de tamanhos previsível
   Fica no fim do arquivo de propósito: sobrescreve as camadas antigas.
   ═══════════════════════════════════════════════════════════ */

/* ---------- T1. ESCADA TIPOGRÁFICA ----------
   Quatro degraus e só. Cada um com um trabalho claro. */
:root{
  --t-hero:clamp(2.6rem,6vw,5.5rem);   /* nome e frases de capa   */
  --t-sec:clamp(1.9rem,3.4vw,3.1rem);  /* título de seção         */
  --t-sub:clamp(1.15rem,1.6vw,1.5rem); /* título de card e lede   */
  --t-base:1rem;                       /* corpo                   */
  --t-meta:.75rem;                     /* rótulo, fonte, etiqueta */
}

h1,h2,h3,h4{
  font-family:var(--f-display);
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.1;
}

/* Teto de peso: 600. Nada de 700, 800 ou 900 — o tamanho e o espaço
   fazem a hierarquia, não a espessura. */
.sec-title,.prog__title,.progs-intro__title,.contact__title,
.story__title,.track__title,.hero__title,.members-cta__title,.mhero__title{
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.06;
}
/* Colunas de título miram 26 a 34 caracteres por linha — abaixo disso
   sobram palavras órfãs, acima a leitura perde o fio. */
.sec-title{font-size:var(--t-sec);max-width:26ch}
.sec-head--center .sec-title{max-width:28ch}
.story__title,.progs-intro__title{max-width:24ch}
.contact__title,.members-cta__title{max-width:20ch}
.manifesto__text{max-width:26ch}
/* Capa em duas colunas: frase à esquerda, retrato deslocado para a direita.
   Antes o retrato ficava centralizado e o texto passava por cima do rosto —
   a palavra final caía justamente sobre os olhos. */
.ha__phrase,.hb__phrase{max-width:none}
.ha__phrase{font-size:clamp(1.7rem,3.4vw,3rem);width:min(19ch,42vw)}
.hb__phrase{font-size:clamp(1.4rem,2.9vw,2.6rem);width:min(21ch,44vw)}
@media (min-width:901px){
  .ha__canvas{left:66%;width:min(620px,60vw)}
}
@media (max-width:900px){
  /* sem espaço para duas colunas, o retrato volta ao centro e a frase
     ocupa a largura toda, por cima da parte clara da imagem */
  .ha__phrase{width:min(18ch,86vw);font-size:clamp(1.7rem,7vw,2.4rem)}
  .hb__phrase{width:min(20ch,88vw);font-size:clamp(1.35rem,6vw,2rem)}
}

.hero__title{font-size:var(--t-hero);line-height:1.02;margin:14px 0 30px}
/* o contorno vazado no sobrenome era efeito de banner, não de marca */
.hero__title .line:nth-child(2) .w{
  -webkit-text-stroke:0;background:none;color:var(--gold);
  -webkit-text-fill-color:currentColor;
}

.ha__phrase,.hb__phrase{font-weight:600;letter-spacing:-.035em;line-height:1.08}
.ha__phrase em,.hb__phrase em{color:var(--gold);font-weight:600}

.manifesto__text{font-weight:500;font-size:clamp(1.6rem,3.6vw,3.2rem);line-height:1.18;letter-spacing:-.035em}
.manifesto__text em{font-weight:500}
.manifesto__text em{color:var(--gold);font-weight:500}

.prog__title{font-size:clamp(2rem,4.4vw,3.8rem)}
.progs-intro__title,.contact__title,.story__title,.track__title{font-size:var(--t-sec)}

/* ---------- T2. FIM DO EXCESSO DE NEGRITO ----------
   O <strong> passa a marcar com COR e um degrau leve de peso.
   Assim a página inteira para de gritar e o que importa reaparece. */
strong,b{font-weight:500}
.about__text strong,.prog__col strong,.story__text strong,
.prog__list strong,.more__body p strong,.lead__desc strong{
  font-weight:500;color:var(--navy-700);
}
.story__text strong{color:#e6c684}

/* rótulos e etiquetas: tamanho pequeno e espaçamento fazem o trabalho */
.eyebrow,.stat__unit,.prog__sub,.foot__t,.bio__tag,.agenda__t,
.honor__year,.tcard__year,.book__year,.mat__kind,.gcard__tier{
  font-family:var(--f-body);font-weight:500;letter-spacing:.16em;
}
.eyebrow{font-size:var(--t-meta)}

/* números grandes: leves e serifados, com algarismos alinhados */
.stat__num,.hero__stat b,.story__count,.quiz__badge{
  font-family:var(--f-display);font-weight:600;
  font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.04em;
}
.stat__num{font-size:clamp(3rem,5.4vw,5rem);line-height:.95}
/* o número dourado vazado por gradiente sumia em tela clara */
.stat--gold .stat__num{
  background:none;-webkit-text-fill-color:currentColor;color:var(--gold);
}
.foot__big,.prog__num{-webkit-text-stroke-width:.5px}

/* botões e interface continuam em Inter — serifada em botão fica frouxa */
.btn,.nav__name,.nav__links a,.menu__link,.copy,.field label,
.quiz__opt,.mnav__name,.mnav__out{font-family:var(--f-body)}
.btn{font-weight:500;letter-spacing:0}
.menu__link{font-weight:400;letter-spacing:-.01em}

/* ---------- T3. ALTURAS IGUAIS ----------
   Todo grupo de cards lado a lado divide a mesma caixa. Era daqui que
   vinha a sensação de item dobrando de tamanho ao lado do vizinho. */
/* align-items:stretch já iguala os itens DA MESMA fileira. Um
   grid-auto-rows:1fr aqui igualaria também fileiras diferentes — e a
   galeria do mídia kit, que é larga e alta, esticava a fileira de cima. */
.numbers__grid,.about__creds,.who__list,
.hero__strip,.kit__grid,.lib__grid,.books__row,.gate__grid{
  align-items:stretch;
}
.stat,.cred,.who__list li,.honor,.hero__stat,.kit__card,.mat,.tcard{
  display:flex;flex-direction:column;height:100%;
}
/* o texto empurra o rodapé do card para baixo, então todos terminam juntos */
.stat__desc,.cred p,.who__list span,.kit__card>*:last-child,.tcard p{margin-top:auto}
.stat__desc,.cred p,.tcard p{margin-top:0}
.stat{justify-content:flex-start}

/* Mídia kit em três fileiras, cada uma com itens do mesmo tamanho:
   biografias (larga, duas colunas por dentro) · downloads + requisitos ·
   galeria (larga). Antes o card de biografias era quase três vezes mais
   alto que o vizinho na mesma fileira. */
.kit__grid{grid-template-columns:1fr 1fr}
.kit__card--bio,.kit__card--gallery{grid-column:1/-1;grid-row:auto}
.kit__card--bio .bio{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,3vw,44px)}
.kit__card--bio .bio__row{border-top:none;padding-top:0}
.kit__card--bio .bio__row + .bio__row{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,44px)}
@media (max-width:760px){
  .kit__grid{grid-template-columns:1fr}
  .kit__card--bio .bio{grid-template-columns:1fr;gap:0}
  .kit__card--bio .bio__row + .bio__row{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
}

/* ---------- T4. ATOS — a condução que faltava ----------
   Seis marcos numerados dizem ao visitante onde ele está e para onde
   a página vai. É a espinha da narrativa, não enfeite. */
.ato{
  max-width:var(--maxw);margin:clamp(50px,7vh,90px) auto clamp(10px,2vh,26px);
  padding:0 var(--gut);
  display:grid;grid-template-columns:auto 1fr;align-items:center;
  gap:clamp(18px,3vw,34px);
}
.ato__num{
  font-family:var(--f-display);font-weight:600;font-size:clamp(2.4rem,5vw,4.2rem);
  line-height:1;color:var(--gold);opacity:.55;font-variant-numeric:lining-nums;
}
.ato__txt{display:grid;gap:6px;min-width:0}
.ato__t{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(1.1rem,2vw,1.6rem);letter-spacing:-.01em;color:var(--white);
}
.ato__d{font-size:.875rem;line-height:1.6;color:var(--txt-faint);max-width:60ch}
.ato::after{content:"";grid-column:1/-1;height:1px;background:var(--line);margin-top:8px}
@media (max-width:600px){
  .ato{grid-template-columns:1fr;gap:8px}
  .ato__num{font-size:2.2rem}
}

/* ---------- T5. RESPIRO E LEITURA ---------- */
.about__text p,.prog__col p,.story__text p,.more__body p{
  font-size:var(--t-base);line-height:1.78;max-width:64ch;
}
.stat__desc,.cred p,.tcard p,.who__list span{font-size:.875rem;line-height:1.65}
.prog__lede,.hero__lede,.progs-intro__lede{
  font-family:var(--f-display);font-weight:500;
  font-size:var(--t-sub);line-height:1.45;letter-spacing:-.008em;color:var(--ice);
}
.prog__claim{
  font-family:var(--f-display);font-weight:500;font-size:var(--t-sub);
  color:var(--gold);max-width:34ch;
}
.cred h3,.tcard h3,.kit__card h3,.book h3,.who__list b,.mat h3{
  font-family:var(--f-display);font-weight:600;font-size:var(--t-sub);
  letter-spacing:-.025em;line-height:1.25;color:var(--white);
}
.honor__title{
  font-family:var(--f-display);font-weight:600;text-transform:none;
  font-size:var(--t-sub);letter-spacing:-.025em;
}

/* citação: o único itálico que sobrou na página */
.story__quote p{font-family:var(--f-display);font-weight:500;font-style:normal}
.foot__tagline{font-family:var(--f-display);font-weight:500;font-style:normal}

/* ---------- T6. DESTAQUE PARA O QUE ESTAVA ESCONDIDO ----------
   Três informações comerciais estavam em corpo 13px cinza no rodapé de
   cada bloco. Viram cartão com moldura. */
.prog__foot{
  background:linear-gradient(120deg,rgba(47,100,146,.07),rgba(169,129,47,.05));
  border:1px solid var(--line-strong);border-radius:18px;
  padding:clamp(22px,2.6vw,30px);
}
/* as quatro credenciais da abertura estavam em 12px cinza — é a primeira
   prova que o visitante lê, precisa de corpo de leitura */
/* no celular não existe cursor, e a frase ainda caía por cima do retrato */
@media (hover:none),(pointer:coarse){.ha__hint{display:none}}
.hero__stat b{font-size:clamp(1.6rem,2.4vw,2.1rem)}
.hero__stat span{font-size:.875rem;line-height:1.5;color:var(--txt-dim);max-width:28ch}
.story__kicker,.agenda__t{font-size:.75rem}
.prog__for{font-size:.875rem}
.prog__for span{background:var(--gold);color:#fff;letter-spacing:.14em}
.agenda{background:linear-gradient(120deg,rgba(169,129,47,.1),transparent);border-color:rgba(169,129,47,.35)}
.numbers__foot{font-family:var(--f-display);font-weight:500;font-size:var(--t-sub);color:var(--white)}
.about__punch{
  font-family:var(--f-display)!important;font-weight:500;
  font-size:var(--t-sub)!important;line-height:1.45!important;color:var(--white)!important;
  border-left-width:2px;padding-left:24px;
}
.about__punch strong{color:var(--gold);font-weight:600}

/* ---------- T7. TETO DE PESO E FIM DOS CONTORNOS ----------
   A base ainda trazia 700, 800 e 900 em alguns pontos, além de três
   blocos de texto gigante desenhados só com contorno (-webkit-text-stroke).
   Contorno em corpo grande vira ruído e some em tela clara: viram
   preenchimento sólido de baixo contraste. */
.quiz__profile,.quiz__badge,.lead__card-title,.quote__avatar,
.honor__slash,.book__cover em,.hero__stat b,.stat__num,
.story__title,.track__title,.hero__title,.foot__big,.prog__num,.hero__bg-type{
  font-weight:600;
}

.foot__big,.prog__num,.hero__bg-type{
  -webkit-text-stroke:0;
  color:rgba(16,32,58,.07);
}
.prog__num{color:rgba(16,32,58,.06)}

/* degradês de texto que sobraram: viram cor chapada */
.stat--gold .stat__num,.hero__title .line:nth-child(2) .w{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  -webkit-text-fill-color:currentColor;
}
