/* ============================================================
   GIGA — EDIÇÃO VASCO DA GAMA · CRVG × MOTOCHEFE
   Landing de lançamento · derivada de projeto/brand/vascotokens.css
   Preto = o mar desconhecido · Branco = a rota · Vermelho = a cruz
   ============================================================ */

/* ---------- FONTES ---------- */
@font-face{font-family:'VASCO Arquibancada';src:url('../fonts/VASCOArquibancada-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/BarlowSemiCondensed-400.woff2') format('woff2');}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/BarlowSemiCondensed-700.woff2') format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/BigShouldersDisplay-800.woff2') format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/BigShouldersDisplay-900.woff2') format('woff2');}

/* ---------- TOKENS ---------- */
:root{
  --preto:#000000;
  --branco:#ffffff;
  --vermelho:#e1251b;
  --vermelho-hover:#c11f16;
  --ambar:#da941d;
  /* c500 clareado p/ AA 4.5:1 em texto pequeno; c-linha mantém o tom antigo p/ divisores */
  --c900:#0d0d0d; --c800:#171717; --c700:#242424; --c500:#8f8f8f; --c-linha:#6b6b6b; --c300:#c9c9c9; --c100:#ededed;

  --f-titulo:'VASCO Arquibancada','Big Shoulders Display',sans-serif;
  --f-display:'Big Shoulders Display','Barlow Semi Condensed',sans-serif;
  --f-texto:'Barlow Semi Condensed',sans-serif;

  --fs-hero:clamp(52px,9.5vw,150px);
  --fs-h2:clamp(34px,5vw,72px);
  --fs-h3:clamp(20px,2.4vw,28px);
  --fs-body:17px;
  --fs-lead:clamp(17px,1.4vw,20px);
  --fs-label:12px;
  --fs-caption:13px;

  --lh-tight:.9; --lh-titulo:.95; --lh-body:1.55;
  --ls-label:.18em; --ls-botao:.16em;

  --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-6:24px; --sp-8:32px; --sp-12:48px; --sp-16:64px; --sp-20:80px; --sp-28:112px;
  --container:1240px; --margem:32px;
  --borda:1px solid var(--c700);

  --dur-fast:150ms; --dur-base:240ms; --ease:cubic-bezier(.4,0,.2,1); --ease-impacto:cubic-bezier(.16,1,.3,1);
  /* nav-h acomoda o escudo normativo de 50px (63.2px de altura) com respiro real */
  --nav-h:88px;
}
@media (max-width:768px){ :root{ --margem:20px; --nav-h:78px; } }

/* ---------- BASE ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.lenis{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
body{
  margin:0; background:var(--preto); color:var(--c300);
  font:400 var(--fs-body)/var(--lh-body) var(--f-texto);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,video{max-width:100%;display:block;}
[hidden]{display:none!important;}
h1,h2,h3,p,ul,figure{margin:0;padding:0;}
ul{list-style:none;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--vermelho);color:var(--branco);}
:focus-visible{outline:2px solid var(--ambar);outline-offset:3px;}

/* scrollbar */
::-webkit-scrollbar{width:9px;}
::-webkit-scrollbar-track{background:var(--preto);}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--vermelho),var(--vermelho-hover));border-radius:0;}

.skip{
  position:fixed;top:-60px;left:16px;z-index:300;background:var(--branco);color:var(--preto);
  padding:12px 20px;font:700 14px var(--f-texto);text-transform:uppercase;letter-spacing:.08em;
  transition:top var(--dur-fast) var(--ease);
}
.skip:focus{top:16px;}

/* tipografia utilitária */
.num{font-variant-numeric:tabular-nums;}
.label{
  font:700 var(--fs-label)/1 var(--f-texto);letter-spacing:var(--ls-label);text-transform:uppercase;
  color:var(--c300);display:inline-flex;align-items:center;gap:10px;
}
.dot{width:8px;height:8px;background:var(--vermelho);display:inline-block;flex:none;}

/* faixa diagonal — assinatura gráfica (Estatuto CRVG art. 7) */
.frame{position:absolute;width:34px;height:34px;border:1px solid rgba(255,255,255,.5);pointer-events:none;}
.frame--tl{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.frame--br{bottom:-1px;right:-1px;border-left:0;border-top:0;}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font:700 15px var(--f-texto);letter-spacing:var(--ls-botao);text-transform:uppercase;
  height:44px;padding-inline:26px;border:0;border-radius:0;cursor:pointer;white-space:nowrap;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-base) var(--ease);
  position:relative;overflow:hidden;
}
.btn--lg{height:52px;padding-inline:32px;}
@media (max-width:640px){
  .btn{white-space:normal;height:auto;min-height:44px;padding-block:12px;text-align:center;line-height:1.3;}
  .btn--lg{min-height:52px;}
}
.btn--primario{background:var(--vermelho);color:var(--branco);}
.btn--primario:hover{background:var(--vermelho-hover);box-shadow:0 0 34px rgba(225,37,27,.4),0 0 70px rgba(225,37,27,.18);}
.btn--primario::after{ /* varredura da faixa — opacidade máx 16% */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.16) 50%,transparent 56%);
  transform:translateX(-110%);
}
.btn--primario:hover::after{animation:varrer 1.1s var(--ease) 1;}
@keyframes varrer{from{transform:translateX(-110%);}to{transform:translateX(110%);}}
.btn--fantasma{background:transparent;color:var(--branco);border:1px solid var(--branco);}
.btn--fantasma:hover{background:var(--branco);color:var(--preto);}

/* ---------- PRELOADER ---------- */
.loader{
  position:fixed;inset:0;z-index:200;background:transparent;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
/* duas metades pretas divididas na diagonal: elas se abrem ao longo da faixa */
.loader__half{position:absolute;inset:-1px;background:var(--preto);will-change:transform;}
.loader__half--a{clip-path:polygon(0 0,100% 0,100% 100%);}
.loader__half--b{clip-path:polygon(0 0,100% 100%,0 100%);}
/* a faixa branca diagonal (canto inferior esquerdo -> superior direito, como a barra do logo);
   o brilho acompanha a expansão até tomar a tela */
.loader__faixa{
  position:absolute;top:50%;left:50%;width:260vmax;height:12vmin;background:var(--branco);
  transform:translate(-50%,-50%) rotate(0deg) scaleX(0);will-change:transform;
  /* luz difusa e elegante: alfas baixos e blur largo, sem anel duro de sombra */
  box-shadow:0 0 90px 6px rgba(255,255,255,.35),0 0 240px 90px rgba(255,255,255,.12);
}
.loader__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.loader__cruz{width:44px;height:44px;}
.loader__word{
  font:400 clamp(64px,10vw,120px)/1 var(--f-titulo);color:var(--branco);
  text-transform:uppercase;letter-spacing:.02em;
}
.loader__mote{font:700 13px var(--f-texto);letter-spacing:.24em;text-transform:uppercase;color:var(--c300);}
.loader__sub{font:700 12px var(--f-texto);letter-spacing:.3em;text-transform:uppercase;color:var(--c500);}
.loader__barwrap{width:min(320px,60vw);height:2px;background:var(--c800);margin-top:18px;overflow:hidden;}
.loader__bar{height:100%;width:100%;background:var(--branco);transform:scaleX(0);transform-origin:left;}
.loader__count{font:700 13px var(--f-texto);color:var(--c500);letter-spacing:.1em;}

/* ---------- CURSOR ---------- */
.cursor{position:fixed;top:0;left:0;z-index:250;pointer-events:none;mix-blend-mode:normal;opacity:0;transition:opacity .3s ease;}
.cursor.is-on{opacity:1;}
.cursor__ring{
  position:absolute;top:0;left:0;width:44px;height:44px;margin:-22px 0 0 -22px;
  border:1.5px solid rgba(255,255,255,.75);border-radius:50%;
  transition:width .3s var(--ease-impacto),height .3s var(--ease-impacto),margin .3s var(--ease-impacto),border-color .3s var(--ease),background .3s var(--ease);
}
.cursor__cruz{position:absolute;top:0;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;transition:transform .35s var(--ease-impacto),width .3s var(--ease-impacto),height .3s var(--ease-impacto),margin .3s var(--ease-impacto);}
/* a cruz do cursor permanece ESTÁTICA (Manual §9: a marca não anima) — só o anel reage */
.cursor.is-link .cursor__ring{width:72px;height:72px;margin:-36px 0 0 -36px;border-color:var(--vermelho);background:rgba(225,37,27,.08);}
.cursor.is-media .cursor__ring{width:84px;height:84px;margin:-42px 0 0 -42px;border-color:rgba(255,255,255,.9);}
.cursor.is-down .cursor__ring{transform:scale(.85);}
@media (pointer:coarse){ .cursor{display:none;} }

/* ---------- GRAIN ---------- */
.grain{
  position:fixed;inset:-100%;z-index:120;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0);}10%{transform:translate(-5%,-8%);}20%{transform:translate(-12%,4%);}
  30%{transform:translate(6%,-14%);}40%{transform:translate(-4%,12%);}50%{transform:translate(-12%,6%);}
  60%{transform:translate(10%,0);}70%{transform:translate(0,10%);}80%{transform:translate(-8%,-2%);}90%{transform:translate(8%,6%);}
}

/* ---------- NAVBAR ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:150;height:var(--nav-h);
  display:flex;align-items:center;gap:var(--sp-8);
  padding-inline:var(--margem);
  transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s var(--ease),transform .45s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-solid{background:rgba(0,0,0,.82);backdrop-filter:blur(14px);border-bottom-color:var(--c800);}
.nav.is-hidden{transform:translateY(-100%);}
/* escudo: largura mínima normativa 50px + clearspace ~0.6x (Manual 2024) */
.nav__brand{display:flex;align-items:center;gap:30px;margin-right:auto;}
.nav__escudo{width:50px;height:auto;}
.nav__divisor{width:1px;height:30px;background:var(--c-linha);}
.nav__mc{height:22px;width:auto;}
.nav__links{display:flex;gap:var(--sp-6);}
.nav__links a{
  font:700 13px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--c300);
  position:relative;padding-block:6px;
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--vermelho);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-impacto);
}
.nav__links a:hover{color:var(--branco);}
.nav__links a:hover::after{transform:scaleX(1);}
/* UM primário vermelho por tela: sobre o hero o CTA da nav é fantasma;
   quando a nav fica sólida (hero já saiu), ele assume o vermelho */
.nav__cta{height:40px;padding-inline:20px;font-size:13px;background:transparent;border:1px solid var(--branco);}
.nav.is-solid .nav__cta{background:var(--vermelho);border-color:var(--vermelho);}
.nav.is-solid .nav__cta:hover{background:var(--vermelho-hover);}
.nav__burger{
  display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:10px;
}
.nav__burger span{display:block;width:26px;height:2px;background:var(--branco);transition:transform .3s var(--ease),opacity .3s var(--ease);}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg);}
@media (max-width:900px){
  .nav__links,.nav__cta{display:none;}
  .nav__burger{display:flex;}
}

.mmenu{
  position:fixed;inset:0;z-index:140;background:var(--preto);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
}
.mmenu.is-open{opacity:1;visibility:visible;}
.mmenu__links{display:flex;flex-direction:column;gap:var(--sp-6);text-align:center;}
.mmenu__links a{
  font:800 clamp(32px,9vw,44px)/1.05 var(--f-display);text-transform:uppercase;color:var(--branco);
}
.mmenu__links a:hover{color:var(--vermelho);}
.mmenu__cta{color:var(--vermelho)!important;}

/* ---------- HERO ---------- */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;}
.hero__media{position:absolute;inset:0;will-change:transform;}
.hero__video{width:100%;height:100%;object-fit:cover;}
.hero__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 30%,rgba(0,0,0,.25) 62%,#000 100%),
    radial-gradient(90% 60% at 50% 42%,transparent 40%,rgba(0,0,0,.5) 100%);
}
.hero__content{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  padding:0 var(--margem) clamp(84px,12vh,140px);
  max-width:var(--container);margin-inline:auto;
}
.hero__eyebrow{
  font:700 var(--fs-label)/1 var(--f-texto);letter-spacing:var(--ls-label);text-transform:uppercase;
  color:var(--branco);display:inline-flex;align-items:center;gap:10px;margin-bottom:var(--sp-4);
}
.hero__title{
  font:900 var(--fs-hero)/var(--lh-tight) var(--f-display);
  color:var(--branco);text-transform:uppercase;letter-spacing:.01em;
  margin-bottom:var(--sp-6);
}
.hero__mask{display:block;overflow:hidden;}
.hero__line{display:block;}
.hero__line--acento{-webkit-text-stroke:1.5px var(--branco);color:transparent;}
.hero__micro{width:100%;font-size:var(--fs-caption);color:var(--c500);margin-top:4px;}
.hero__sub{
  font-size:var(--fs-lead);color:var(--c300);max-width:52ch;margin-bottom:var(--sp-6);text-wrap:pretty;
}
.hero__selos{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-8);}
.hero__selos li{
  font:700 11px/1 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--c300);
  border:var(--borda);padding:9px 14px;background:rgba(0,0,0,.35);
}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-4);}
.hero__scrollcue{
  position:absolute;right:var(--margem);bottom:28px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.hero__scrolltxt{font:700 10px var(--f-texto);letter-spacing:.3em;text-transform:uppercase;color:var(--c500);writing-mode:vertical-rl;}
.hero__scrollbar{width:1px;height:56px;background:var(--c700);position:relative;overflow:hidden;}
.hero__scrollbar::after{content:"";position:absolute;inset:0;background:var(--vermelho);transform:translateY(-100%);animation:cue 2s var(--ease) infinite;}
@keyframes cue{0%{transform:translateY(-100%);}55%{transform:translateY(0);}100%{transform:translateY(100%);}}
@media (max-width:768px){
  .hero__content{justify-content:flex-end;padding-bottom:96px;}
  .hero__actions .btn{width:100%;}
  .hero__scrollcue{display:none;}
}

/* ---------- MANIFESTO ---------- */
.manifesto{position:relative;background:var(--preto);}
.manifesto__stage{
  position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;
  padding:var(--sp-12) var(--margem);
}
.manifesto__pos{
  position:relative;z-index:1;max-width:1000px;margin-inline:auto;text-align:center;
  padding:0 var(--margem) var(--sp-16);
}
.manifesto__faixa{
  position:absolute;inset:0;pointer-events:none;opacity:.05;
  background:linear-gradient(105deg,transparent 0 46%,var(--branco) 46% 54%,transparent 54% 100%);
}
.manifesto__inner{max-width:1000px;text-align:center;position:relative;z-index:1;}
.manifesto__eyebrow{margin-bottom:var(--sp-6);}
.manifesto__text{
  /* 6 linhas precisam caber no pin: escala limitada por svh */
  font:800 clamp(26px,min(4.2vw,5.6svh),56px)/1.16 var(--f-display);text-transform:uppercase;color:var(--branco);
  letter-spacing:.01em;
}
.manifesto__text .m-line{display:block;}
.manifesto__text .m-line + .m-line{margin-top:.35em;}
.manifesto__text .u{opacity:.28;display:inline;color:var(--c300);}
/* destaque em BRANCO — vermelho+preto reprovado pelo manual (vascotokens §9) */
.manifesto__text .u--hl{color:var(--branco);}
.manifesto__nota{
  margin-top:var(--sp-8);font-size:var(--fs-caption);color:var(--c500);max-width:72ch;margin-inline:auto;line-height:1.6;
}
.manifesto__nota strong{color:var(--c300);}
.manifesto__micro{
  margin-top:var(--sp-4);font:700 12px var(--f-texto);letter-spacing:.2em;text-transform:uppercase;color:var(--c300);
}

/* ---------- CRUZ (símbolo) ---------- */
.cruz{position:relative;overflow:hidden;padding-block:var(--sp-28);}
.cruz__media{position:absolute;inset:0;}
.cruz__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.cruz__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.45) 26%,rgba(0,0,0,.55) 60%,#000 100%);
}
.cruz__watermark{
  position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:1;
  font:400 clamp(140px,26vw,420px)/1 var(--f-titulo);text-transform:uppercase;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);
  white-space:nowrap;pointer-events:none;will-change:transform;
}
.cruz__content{
  position:relative;z-index:2;max-width:var(--container);margin-inline:auto;
  padding-inline:var(--margem);
  display:flex;flex-direction:column;gap:var(--sp-6);
  min-height:52vh;justify-content:flex-end;
}
.cruz__title{
  font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;max-width:16ch;
}
.cruz__body{max-width:58ch;font-size:var(--fs-lead);color:var(--c300);}
.cruz__body .num{color:var(--branco);font-weight:700;}

/* ---------- DETALHES (horizontal) ---------- */
.det{background:var(--preto);padding-top:var(--sp-28);}
.det__head{max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);margin-bottom:var(--sp-12);}
.det__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;margin-top:var(--sp-4);max-width:20ch;}
.det__sub{margin-top:var(--sp-4);max-width:58ch;color:var(--c300);}
.det__caption{
  max-width:var(--container);margin:0 auto;padding:0 var(--margem) var(--sp-16);
  font-size:var(--fs-caption);color:var(--c500);max-width:90ch;
}
.det__viewport{position:relative;overflow:hidden;}
.det__track{
  display:flex;gap:clamp(24px,4vw,64px);width:max-content;
  padding:0 var(--margem) var(--sp-16);will-change:transform;align-items:stretch;
}
.det__panel{
  flex:none;width:min(78vw,540px);display:flex;flex-direction:column;gap:var(--sp-6);
}
.det__frame{
  position:relative;overflow:hidden;background:var(--c900);border:var(--borda);
  aspect-ratio:3/4;
}
/* no pin horizontal, o painel inteiro precisa caber na viewport SEM perder percurso:
   layout em duas colunas (foto + texto ao lado) mantém a largura e devolve o curso */
@media (min-width:768px){
  .det__panel{width:auto;flex-direction:row;align-items:flex-end;gap:clamp(24px,3vw,40px);}
  .det__frame{height:min(64svh,680px);width:auto;flex:none;}
  .det__info{max-width:340px;padding-bottom:10px;padding-right:0;}
}
/* mobile: mesmo scroll horizontal pinado, painel em coluna (foto em cima, texto embaixo);
   imagem maior para preencher a altura útil (o pin respira 84px do topo, ver main.js) */
@media (max-width:767px){
  .det__panel{width:auto;flex-direction:column;gap:var(--sp-4);}
  .det__frame{height:min(54svh,520px);width:auto;flex:none;}
  .det__info{max-width:min(82vw,380px);}
  .det__info p{font-size:15px;}
  .det__track{padding-bottom:var(--sp-8);}
}
.det__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);will-change:transform;}
.det__info{display:flex;flex-direction:column;gap:8px;padding-right:var(--sp-6);}
/* numerais vermelhos >=19px bold = "large text" WCAG (3:1) e regra do manual (§8) */
.det__num{font:700 19px var(--f-texto);color:var(--vermelho);letter-spacing:.2em;}
.det__info h3{font:800 var(--fs-h3)/1.1 var(--f-display);letter-spacing:.04em;color:var(--branco);text-transform:uppercase;}
.det__info p{color:var(--c300);max-width:44ch;}
.det__progress{
  height:2px;background:var(--c800);margin:0 var(--margem) var(--sp-16);
}
.det__progress span{display:block;height:100%;width:100%;background:var(--vermelho);transform:scaleX(0);transform-origin:left;}

/* ---------- BENEFÍCIOS (sticky à direita) ---------- */
.ben{background:var(--preto);padding-block:var(--sp-28);}
.ben__head{max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);margin-bottom:var(--sp-16);}
.ben__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;margin-top:var(--sp-4);max-width:18ch;}
.ben__sub{margin-top:var(--sp-4);max-width:52ch;color:var(--c300);}
.ben__micro{
  max-width:var(--container);margin:var(--sp-12) auto 0;padding-inline:var(--margem);
  font-size:var(--fs-lead);color:var(--branco);font-weight:700;max-width:60ch;
}
.ben__grid{
  max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);
  align-items:start;
}
.ben__list{display:flex;flex-direction:column;}
.ben__item{
  padding:clamp(40px,7vh,72px) 0;border-bottom:var(--borda);
}
.ben__item:first-child{border-top:var(--borda);}
.ben__num{font:700 19px var(--f-texto);color:var(--vermelho);letter-spacing:.2em;display:block;margin-bottom:10px;}
.ben__item h3{font:800 clamp(22px,2.6vw,32px)/1.08 var(--f-display);color:var(--branco);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;}
.ben__item p{max-width:46ch;}
.ben__sticky{position:sticky;top:calc(var(--nav-h) + 24px);}
.ben__figure{
  /* fundo claro de foto de produto — autorizado pelo manual (--cinza-100) */
  position:relative;aspect-ratio:4/3;background:var(--branco);border:var(--borda);overflow:hidden;
}
.ben__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;
  opacity:0;transition:opacity .6s var(--ease);
}
.ben__img.is-active{opacity:1;}
/* mobile: a imagem PINA no topo enquanto os benefícios sobem e trocam o crossfade,
   espelhando a experiência do desktop */
@media (max-width:900px){
  /* align-items:start do desktop impede o stretch no flex: largura explícita obrigatória,
     porque as imagens absolutas não geram tamanho intrínseco */
  .ben__grid{display:flex;flex-direction:column;align-items:stretch;}
  .ben__sticky{position:sticky;top:0;order:-1;z-index:2;width:100%;}
  .ben__figure{aspect-ratio:16/10;}
  .ben__list{position:relative;z-index:1;}
}

/* ---------- VANTAGENS ---------- */
.raz{background:var(--preto);padding-block:var(--sp-28);}
.raz__head{max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);margin-bottom:var(--sp-16);}
.raz__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;margin-top:var(--sp-4);max-width:20ch;}
.raz__grid{
  max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);
}
.raz__card{
  background:var(--c900);border:var(--borda);padding:var(--sp-6);
  display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;
  transition:border-color var(--dur-base) var(--ease),transform var(--dur-base) var(--ease);
}
.raz__card::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--vermelho);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-impacto);
}
.raz__card:hover{border-color:var(--c500);transform:translateY(-6px);}
.raz__card:hover::after{transform:scaleX(1);}
.raz__num{font:700 19px var(--f-texto);color:var(--c500);letter-spacing:.2em;transition:color var(--dur-base);}
.raz__card:hover .raz__num{color:var(--vermelho);}
.raz__card h3{font:800 var(--fs-h3)/1.1 var(--f-display);color:var(--branco);text-transform:uppercase;letter-spacing:.04em;}
.raz__card p{color:var(--c300);}
@media (max-width:900px){ .raz__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .raz__grid{grid-template-columns:1fr;} }
.raz__cta{
  max-width:var(--container);margin:var(--sp-16) auto 0;padding-inline:var(--margem);
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4);
}
.raz__micro{font-size:var(--fs-caption);color:var(--c500);}
@media (max-width:600px){ .raz__cta .btn{width:100%;} }

/* ---------- PROVA EMOCIONAL ---------- */
.prova{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;}
.prova__media{position:absolute;inset:0;will-change:transform;}
.prova__media img{width:100%;height:110%;object-fit:cover;object-position:center 20%;}
.prova__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.3) 30%,rgba(0,0,0,.55) 70%,#000 100%);
}
.prova__content{
  position:relative;z-index:2;max-width:var(--container);margin-inline:auto;width:100%;
  padding:var(--sp-28) var(--margem) var(--sp-28);
  display:flex;flex-direction:column;gap:var(--sp-6);
}
.prova__title{
  font:900 clamp(34px,5.4vw,76px)/var(--lh-titulo) var(--f-display);color:var(--branco);
  text-transform:uppercase;max-width:18ch;
}
.prova__body{max-width:56ch;font-size:var(--fs-lead);color:var(--c300);display:flex;flex-direction:column;gap:var(--sp-4);}
.prova__micro{font:700 13px var(--f-texto);letter-spacing:.18em;text-transform:uppercase;color:var(--branco);}

/* ---------- GALERIA ---------- */
.gal{background:var(--preto);padding-block:var(--sp-28);}
.gal__head{max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);margin-bottom:var(--sp-12);}
.gal__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;margin-top:var(--sp-4);}
.gal__hint{color:var(--c500);font-size:var(--fs-caption);margin-top:var(--sp-3);}
.gal__grid{
  max-width:var(--container);margin-inline:auto;padding-inline:var(--margem);
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);
}
.gal__item{position:relative;overflow:hidden;background:var(--c900);border:var(--borda);aspect-ratio:3/4;}
.gal__item--wide{grid-column:span 2;aspect-ratio:auto;}
.gal__btn{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;}
.gal__btn img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-impacto),filter .5s var(--ease);}
.gal__item:hover img{transform:scale(1.05);}
@media (max-width:900px){
  .gal__grid{grid-template-columns:1fr 1fr;}
  /* a foto 16:9 abre a galeria no mobile: as verticais se encaixam em pares abaixo */
  .gal__item--wide{grid-column:span 2;order:-1;}
}

/* ---------- FAQ ---------- */
.faq{background:var(--preto);padding-block:var(--sp-28);}
.faq__head{max-width:900px;margin-inline:auto;padding-inline:var(--margem);margin-bottom:var(--sp-12);}
.faq__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;margin-top:var(--sp-4);}
.faq__list{max-width:900px;margin-inline:auto;padding-inline:var(--margem);}
.faq__item{border-bottom:var(--borda);}
.faq__item:first-child{border-top:var(--borda);}
.faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);width:100%;
  background:none;border:0;cursor:pointer;text-align:left;
  padding:26px 4px;color:var(--branco);
  font:800 clamp(17px,1.8vw,22px)/1.25 var(--f-display);text-transform:uppercase;letter-spacing:.04em;
  transition:color var(--dur-fast) var(--ease);
}
.faq__q:hover{color:var(--c300);}
.faq__icon{width:22px;height:22px;flex:none;color:var(--vermelho);transition:transform .35s var(--ease-impacto);}
.faq__q[aria-expanded="true"] .faq__icon{transform:rotate(45deg);}
.faq__a{overflow:hidden;} /* altura inicial 0 é aplicada via JS — sem JS, o conteúdo permanece acessível */
.faq__a p{padding:0 4px 26px;max-width:64ch;color:var(--c300);}

/* ---------- FICHA TÉCNICA ---------- */
.ficha{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  background:var(--preto);border-top:var(--borda);
}
.ficha__media{position:relative;min-height:480px;overflow:hidden;}
.ficha__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.ficha__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.55) 78%,#000 100%);
}
.ficha__panel{
  padding:clamp(56px,9vh,120px) clamp(24px,5vw,80px);
  display:flex;flex-direction:column;gap:var(--sp-8);justify-content:center;
}
.ficha__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;}
.ficha__sub{color:var(--c300);max-width:52ch;margin-top:calc(-1 * var(--sp-4));}
.ficha__statdesc{font-size:13px;line-height:1.45;color:var(--c500);margin-top:8px;max-width:26ch;}
.ficha__nota{font-size:var(--fs-caption);color:var(--c500);max-width:70ch;}
.ficha__stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);
  border-top:var(--borda);border-bottom:var(--borda);padding-block:var(--sp-6);
}
.ficha__num{display:flex;align-items:baseline;gap:6px;color:var(--branco);}
.ficha__num strong{font:800 clamp(40px,4.6vw,72px)/1 var(--f-display);}
.ficha__unit{font:700 14px var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--vermelho);}
.ficha__statlabel{font:700 12px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--c500);margin-top:8px;}
.ficha__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.ficha__grupo h3{
  font:800 15px/1.1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;color:var(--vermelho);
  margin-bottom:12px;font-size:19px;
}
.ficha__grupo ul{display:flex;flex-direction:column;gap:8px;}
.ficha__grupo li{
  font-size:14px;line-height:1.4;color:var(--c300);
  padding-left:14px;position:relative;
}
.ficha__grupo li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:2px;background:var(--c500);}
.ficha__manual a{
  font:700 13px var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--c300);
  border-bottom:1px solid var(--vermelho);padding-bottom:3px;transition:color var(--dur-fast) var(--ease);
}
.ficha__manual a:hover{color:var(--branco);}
@media (max-width:900px){
  .ficha{grid-template-columns:1fr;}
  .ficha__media{min-height:300px;}
  .ficha__grid{grid-template-columns:1fr;}
  .ficha__stats{grid-template-columns:repeat(3,1fr);gap:var(--sp-2);}
  .ficha__num strong{font-size:clamp(30px,9vw,44px);}
}

/* ---------- LISTA + FORM ---------- */
.lista{background:var(--preto);border-top:var(--borda);padding:var(--sp-28) var(--margem);}
.lista__inner{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--sp-6);text-align:center;align-items:center;}
.lista__eyebrow{color:var(--ambar);}
.lista__title{font:900 var(--fs-h2)/var(--lh-titulo) var(--f-display);color:var(--branco);text-transform:uppercase;max-width:18ch;}
.lista__body{max-width:52ch;font-size:var(--fs-lead);}
.lista__confianca{
  font:700 11px/1.8 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--c500);
  border-top:var(--borda);border-bottom:var(--borda);padding-block:12px;
}
.lista .form{width:100%;max-width:640px;text-align:left;margin-top:var(--sp-4);}
.lista .form__submit{align-self:stretch;width:100%;}
.lista .form__micro{text-align:center;}
.lista .form__ok{align-items:center;text-align:center;}
.form__row.form__row--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media (max-width:600px){ .form__row.form__row--2{grid-template-columns:1fr;} }
.form__opcional{color:var(--c500);text-transform:none;letter-spacing:0;font-weight:400;}

/* ---------- CINEMA ---------- */
.cine__trigger{
  display:inline-flex;align-items:center;gap:16px;margin-top:var(--sp-6);
  background:none;border:0;cursor:pointer;color:var(--branco);padding:0;
}
.cine__play{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:64px;height:64px;border:1.5px solid var(--branco);border-radius:50%;
  transition:background var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease),transform var(--dur-base) var(--ease);
}
.cine__play svg{width:22px;height:22px;margin-left:3px;}
.cine__trigger:hover .cine__play{background:var(--vermelho);border-color:var(--vermelho);transform:scale(1.06);}
.cine__label{font:700 14px var(--f-texto);letter-spacing:.16em;text-transform:uppercase;}
.cine{
  position:fixed;inset:0;z-index:230;background:rgba(0,0,0,.97);
  display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);
}
.cine[hidden]{display:none;}
.cine__video{max-width:100%;max-height:92vh;width:min(1280px,100%);background:#000;outline:none;}
.cine__close{
  position:absolute;top:20px;right:20px;z-index:2;display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;background:rgba(0,0,0,.5);border:var(--borda);color:var(--branco);cursor:pointer;
  transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);
}
.cine__close svg{width:22px;height:22px;}
.cine__close:hover{background:var(--vermelho);border-color:var(--vermelho);}
.footer__links{max-width:var(--container);margin:0 auto var(--sp-6);}
.footer__links a{
  font:700 12px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--c300);
  border-bottom:1px solid var(--vermelho);padding-bottom:3px;
}
.footer__links a:hover{color:var(--branco);}

.form{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-4);}
.form__row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:var(--sp-4);}
.form__field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.form__label{
  font:700 var(--fs-label)/1 var(--f-texto);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c300);
}
.form__input{
  /* borda >=3:1 (SC 1.4.11): c-linha #6b6b6b = 3.94:1 sobre preto */
  width:100%;min-width:0;height:48px;background:var(--preto);border:1px solid var(--c-linha);border-radius:2px;
  color:var(--branco);font:400 16px var(--f-texto);padding-inline:14px;outline:none;
  transition:border-color var(--dur-fast) var(--ease);
  appearance:none;
}
select.form__input{background-image:linear-gradient(45deg,transparent 50%,var(--c500) 50%),linear-gradient(135deg,var(--c500) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;}
.form__input::placeholder{color:var(--c500);}
.form__input:focus{border-color:var(--ambar);}
.form__input[aria-invalid="true"]{border-color:var(--vermelho);}
/* tom funcional de erro (não é cor de marca): 6.8:1 sobre preto */
.form__erro{font-size:var(--fs-caption);font-weight:700;color:#ff6f68;}
.form__hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;}
.form__consent{
  display:flex;gap:12px;align-items:flex-start;cursor:pointer;
  font-size:var(--fs-caption);color:var(--c500);line-height:1.45;max-width:60ch;
}
.form__consent input{width:18px;height:18px;accent-color:var(--vermelho);flex:none;margin-top:2px;}
.form__submit{margin-top:var(--sp-2);align-self:flex-start;}
.form__micro{font-size:var(--fs-caption);color:var(--c500);}
.form__ok{display:flex;flex-direction:column;gap:var(--sp-4);padding-block:var(--sp-8);}
.form__okcruz{width:52px;height:52px;}
.form__ok h3{font:800 clamp(24px,3vw,36px)/1.05 var(--f-display);color:var(--branco);text-transform:uppercase;}
.form__ok p{max-width:50ch;}

/* ---------- CTA FINAL ---------- */
.final{
  position:relative;background:var(--preto);text-align:center;overflow:hidden;
  padding:var(--sp-28) var(--margem);
  display:flex;flex-direction:column;align-items:center;gap:var(--sp-8);
}
.final__glow{
  position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);
  width:min(900px,90vw);height:min(500px,60vw);pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(225,37,27,.16),transparent 70%);
}
.final__grito{
  position:relative;z-index:1;
  font:400 clamp(88px,17vw,260px)/.95 var(--f-titulo);color:var(--branco);text-transform:uppercase;
}
.final__title{
  position:relative;z-index:1;
  font:900 clamp(22px,3vw,40px)/1.05 var(--f-display);color:var(--branco);text-transform:uppercase;max-width:24ch;
}
.final__linha{position:relative;z-index:1;font-size:var(--fs-lead);color:var(--c300);max-width:52ch;}
.final .btn{position:relative;z-index:1;}
.final__micro{position:relative;z-index:1;font-size:var(--fs-caption);color:var(--c500);}

/* ---------- FOOTER ---------- */
.footer{
  background:var(--preto);border-top:1px solid var(--c800);
  padding:var(--sp-16) var(--margem) var(--sp-8);
  max-width:100%;
}
.footer__top{
  max-width:var(--container);margin-inline:auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-8);
  padding-bottom:var(--sp-8);border-bottom:1px solid var(--c800);margin-bottom:var(--sp-8);
}
.footer__lockup{display:flex;align-items:center;gap:30px;}
.footer__escudo{width:50px;height:auto;}
.footer__divisor{width:1px;height:36px;background:var(--c-linha);}
.footer__mc{height:26px;width:auto;}
.footer__selo-edicao{display:flex;flex-direction:column;gap:4px;}
.footer__giga{font:400 26px/1 var(--f-titulo);color:var(--branco);text-transform:uppercase;}
.footer__giga-sub{font:700 11px var(--f-texto);letter-spacing:.2em;color:var(--c500);text-transform:uppercase;}
.footer__selos{display:flex;flex-wrap:wrap;gap:var(--sp-3);}
.footer__selos li{
  font:700 11px/1 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--c300);
  border:var(--borda);padding:8px 12px;
}
.footer__tag{
  max-width:var(--container);margin:0 auto var(--sp-6);
  font:800 clamp(18px,2.4vw,28px)/1.1 var(--f-display);color:var(--branco);text-transform:uppercase;letter-spacing:.03em;
}
.footer__legal{max-width:var(--container);margin-inline:auto;font-size:var(--fs-caption);color:#8f8f8f;line-height:1.6;max-width:100ch;}

/* ---------- LIGHTBOX ---------- */
.lb{
  position:fixed;inset:0;z-index:220;background:rgba(0,0,0,.94);
  display:flex;align-items:center;justify-content:center;
}
.lb[hidden]{display:none;}
.lb__stage{max-width:min(92vw,1100px);max-height:86vh;display:flex;align-items:center;justify-content:center;}
.lb__stage img{max-width:100%;max-height:86vh;object-fit:contain;border:var(--borda);}
.lb__close,.lb__nav{
  position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;background:rgba(0,0,0,.5);border:var(--borda);color:var(--branco);cursor:pointer;
  transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);
}
.lb__close svg,.lb__nav svg{width:22px;height:22px;}
.lb__close:hover,.lb__nav:hover{background:var(--vermelho);border-color:var(--vermelho);}
.lb__close{top:20px;right:20px;}
.lb__nav--prev{left:20px;top:50%;transform:translateY(-50%);}
.lb__nav--next{right:20px;top:50%;transform:translateY(-50%);}
.lb__count{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  font:700 12px var(--f-texto);letter-spacing:.2em;color:var(--c500);
}
@media (max-width:600px){
  .lb__nav{width:44px;height:44px;}
  .lb__nav--prev{left:8px;} .lb__nav--next{right:8px;}
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .loader{display:none!important;}
  .cursor{display:none!important;}
  .grain{animation:none;}
  .manifesto__text .u{opacity:1!important;}
  .hero__line--acento{-webkit-text-stroke:0;color:var(--branco);}
}
