/* ============================================================
   ECOSUL — LP por estado (v2)
   Paleta azul-marinho + papel. Verde só no WhatsApp.
   Escala tipográfica de 7 passos. Tokens honestos: zero --amber, zero --forest.
   ============================================================ */

/* ---------- FONTES (self-hosted) ---------- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../assets/fonts/archivo-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../assets/fonts/archivo-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('../assets/fonts/manrope-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('../assets/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- TOKENS ---------- */
:root{
  --navy-900:#0B1E2E; --navy-800:#10314A; --navy-700:#17365D;
  --navy-600:#1E4A73; --navy-500:#2A5E8C; --navy-200:#C9DAE8;
  --navy-900-rgb:11,30,46; --navy-800-rgb:16,49,74; --navy-700-rgb:23,54,93;
  --navy-600-rgb:30,74,115; --navy-200-rgb:201,218,232;
  --ink:#15181A; --ink-2:#454E54; --ink-3:#6B7479; --ink-rgb:21,24,26;
  --paper:#FBFAF7; --paper-2:#F1F3F5; --line:#D5DCE3;
  --paper-rgb:251,250,247; --white:#FFFFFF; --white-rgb:255,255,255;
  --wa:#4EA256; --wa-dark:#3E8245; --wa-rgb:78,162,86;
  --star:#F5A623;
  /* faixa de destaque — cor escolhida pelo cliente em 2026-08-31 (era navy-800/900).
     Mesmo tom nos dois blocos: o cliente rejeitou duas vezes o CTA final mais escuro
     que a faixa. O verde do WhatsApp mede 2,91:1 sobre este vermelho, abaixo do piso
     de 3:1 para componente de UI — o anel que resolvia isso saiu a pedido dele. */
  --destaque:#8E1520; --destaque-glow:rgba(190,45,60,.26);
  --r-sm:6px; --r-md:12px; --r-lg:20px;
  --shadow-1:0 1px 2px rgba(var(--ink-rgb),.06),0 8px 24px -12px rgba(var(--ink-rgb),.18);
  --shadow-2:0 24px 64px -28px rgba(var(--navy-900-rgb),.45);
  /* ============================================================
     LAYOUT — 4 larguras nomeadas. Desktop (≥761) escolhe UMA.
     Mobile ≤760 não usa estes tetos (bloco próprio, aprovado).
     Seção nova não inventa pixel: se não cabe, o token é o
     errado — não se abre uma quinta régua.

     --maxw     1180px  régua externa. .wrap. Conteúdo centrado.
                        Só o fundo da seção é full-bleed; nada
                        de conteúdo encosta na borda da viewport.
     --copy     681px   coluna de conteúdo da seção. Título e
                        parágrafo compartilham ESTA caixa
                        (.sec-copy): bordas coincidem. Em px,
                        não em ch — ch escala com a fonte do
                        elemento (no corpo ≈681px; num h2 de
                        2–3rem daria 2–3× isso) e é o que
                        desalinha margem de título vs texto.
                        681px = 60–75 caracteres do corpo.
     --media    850px   mídia stacked (vídeo, grid de cards,
                        trilho). Razão --media / --copy
                        ≈ 1,25 (piso 1,0 · teto 1,3).
     --narrow   400px   peças que NÃO entram na conta de
                        proporção: selo da garantia, 9:16 de
                        antes/depois. Emblema do biólogo é
                        asset 152px, não régua.

     --measure  68ch    NÃO é régua de seção. Uso interno de
                        componente (FAQ aberto, colunas da
                        timeline, tetos que precisam acompanhar
                        a fonte). 68ch no body ≈ --copy; num
                        h2 de display estoura.

     Ritmo vertical: --sec-y. Escala tipo: --t-xs…--t-3xl.
     Alias --desk-media = --media (regras ≥761 já existentes).
     ============================================================ */
  --maxw:1180px;
  --copy:681px;
  --measure:68ch;
  --media:850px;
  --narrow:400px;
  --f-display:'Archivo',system-ui,-apple-system,sans-serif;
  --f-text:'Manrope',system-ui,-apple-system,sans-serif;
  --sec-y:clamp(4rem,8vw,7rem);
  /* escala: 0.75 / 0.875 / 1 / 1.25 / 1.75 / 2.5 / 3.5 */
  --t-xs:.75rem;
  --t-sm:.875rem;
  --t-md:1rem;
  --t-lg:1.25rem;
  --t-xl:clamp(1.4rem,2.4vw,1.75rem);
  --t-2xl:clamp(1.75rem,3.8vw,2.5rem);
  --t-3xl:clamp(2.25rem,5vw,3.5rem);
  --track:.16em;
}

/* ---------- RESET ---------- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;max-width:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:var(--t-md);font-weight:500;line-height:1.62;
  -webkit-font-smoothing:antialiased;max-width:100%;overflow-wrap:break-word}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;letter-spacing:-.02em;line-height:1.08}
p{margin:0}
.wrap{width:min(calc(100% - 2.5rem),var(--maxw));margin-inline:auto}
/* Coluna de conteúdo da seção. Mobile: o wrapper some da árvore
   (display:contents) — ≤760 aprovado fica bit-a-bit igual.
   .ba-sec__copy já agrupava título+texto; mantém o box.
   Desktop ≥761: vira a caixa --copy em px; título e parágrafo
   ocupam 100% dela — a quebra do h2 acontece dentro, sem
   alterar a borda. */
.sec-copy{display:contents}
.ba-sec__copy.sec-copy{display:block;width:100%;max-width:100%;min-width:0}
:focus-visible{outline:3px solid var(--navy-600);outline-offset:3px;border-radius:4px}
.cta-end :focus-visible,.trust :focus-visible{outline-color:var(--white)}
.gal :focus-visible{outline-color:var(--white)}
.btn--wa:focus-visible,.wa-float:focus-visible{outline:3px solid var(--white);outline-offset:3px;box-shadow:0 0 0 6px var(--navy-900)}

/* ---------- UTILITÁRIOS DE SEÇÃO ---------- */
.sec{padding:var(--sec-y) 0}
.sec--paper2{background:var(--paper-2)}
/* um estilo de rótulo só: 12px, uppercase, um tracking */
.eyebrow,.hero__eyebrow,.seal__top,.ftr h3,.gal__dica,.dep__dica,.gal__par-tag{
  font-family:var(--f-display);font-size:var(--t-xs);font-weight:700;
  letter-spacing:var(--track);text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--navy-700);margin-bottom:1rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--navy-600);flex:none}
.h2{font-family:var(--f-display);font-weight:800;font-size:var(--t-2xl);line-height:1.04;
  letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance;max-width:min(18ch,100%);overflow-wrap:anywhere}
.hero__sub,.dif__corpo,.urg p{font-weight:500}

/* ---------- BOTÕES — WhatsApp: branco sobre --wa #4EA256 (contraste ~3,1:1) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;font-family:var(--f-display);font-weight:800;
  font-size:var(--t-md);letter-spacing:.01em;text-decoration:none;padding:1.15rem 1.9rem;border-radius:var(--r-sm);
  border:1px solid transparent;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
  min-height:56px}
.btn:hover{transform:translateY(-2px)}
.btn--wa{background:var(--wa);color:var(--white);font-size:var(--t-lg);padding:1.15rem 1.5rem;white-space:nowrap;box-shadow:0 12px 30px -14px rgba(var(--wa-rgb),.85)}
.btn--wa:hover{background:var(--wa-dark);color:var(--white)}
.btn--wa svg{width:22px;height:22px;flex:none;fill:var(--white);color:var(--white)}

/* luz fria da marca — não é laranja */
.glow{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(70% 55% at 78% 6%,rgba(201,218,232,.30) 0%,rgba(201,218,232,0) 60%)}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.18;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.3'/></svg>")}
/* grão suja papel: some em superfície clara */
.hero .grain,.gar .grain{display:none}

/* ============ S1 · HERO — base (painel); ≥761 full-bleed B no bloco no fim ============ */
.hero{position:relative;background:var(--paper);color:var(--ink);height:100svh;min-height:600px;max-height:1000px;display:grid;
  grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden}
.hero__txt{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(3rem,6vw,5rem) clamp(2rem,4vw,4.5rem) clamp(3rem,5vw,4rem) max(1.25rem,calc((100vw - var(--maxw))/2));
  position:relative;z-index:2;
  background:linear-gradient(100deg,var(--paper) 62%,rgba(var(--paper-rgb),.86) 100%)}
.hero__stage{position:relative;overflow:hidden;height:100%}
.hero__banner{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;margin:0}
.hero__stage video,.hero__stage img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;
  filter:contrast(1.06) saturate(1.04);position:absolute;inset:0}
.hero__video{z-index:1;opacity:0}
.hero__stage.is-live .hero__video{opacity:1;transition:opacity .45s ease}
.hero__stage .glow{z-index:2}
.hero__seam{position:absolute;inset:0 auto 0 -1px;width:34%;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,var(--paper) 0%,rgba(var(--paper-rgb),.62) 45%,rgba(var(--paper-rgb),0) 100%)}
.hero__logo{position:absolute;top:clamp(1.5rem,3.2vw,2.4rem);
  left:max(1.25rem,calc((100vw - var(--maxw))/2));
  height:40px;width:auto;z-index:3;display:block;
  filter:drop-shadow(0 1px 2px rgba(var(--ink-rgb),.10))}
.hero__logo img{height:100%;width:auto;max-width:none}
.hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--navy-700);margin-bottom:1.15rem}
.hero__eyebrow::before{content:"";width:30px;height:2px;background:var(--navy-600);flex:none}
.hero h1{font-weight:800;font-size:var(--t-3xl);line-height:.96;letter-spacing:-.035em;
  text-transform:uppercase;margin:0 auto 1.2rem;text-align:center;text-wrap:balance}
.hero h1 em{font-style:normal;color:inherit}
.hero__sub{font-size:var(--t-md);line-height:1.55;color:var(--ink-2);max-width:46ch;margin:0 auto 1.85rem;text-align:center}
.hero__actions{display:flex;align-items:stretch}
.hero__actions .btn{min-height:60px;font-size:var(--t-lg);padding:1.25rem 2.1rem}
/* ============ S2 · CREDIBILIDADE — placa navy ============ */
.trust{position:relative;overflow:hidden;background:var(--destaque);color:var(--white);padding:1.4rem 0}
.trust .wrap{position:relative;z-index:1}
.trust__grid{display:grid;gap:0;grid-template-columns:repeat(4,1fr)}
.trust__i{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;
  position:relative;padding:.15rem clamp(1rem,2.2vw,1.6rem)}
.trust__i:not(:first-child)::before{content:"";position:absolute;inset:0 auto 0 0;width:1px;pointer-events:none;
  background:rgba(var(--navy-200-rgb),.28)}
.trust__v{font-family:var(--f-display);font-weight:800;font-size:clamp(1.05rem,1.6vw,var(--t-lg));text-transform:uppercase;
  line-height:1.16;letter-spacing:-.015em;text-wrap:balance}
.trust__l{font-size:var(--t-sm);color:rgba(var(--white-rgb),.78);line-height:1.35;font-weight:500}

/* ============ S3 · URGÊNCIA — díptico: foto nua | texto no papel ============ */
.urg{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);align-items:stretch;
  background:var(--paper);color:var(--ink);overflow:hidden}
.urg__media{position:relative;min-height:0}
.urg__media .media-poster{z-index:0;object-position:var(--urg-crop,40% 62%);filter:none}
/* Mesmo padrão do hero/galeria: banner (frame 0) embaixo, vídeo some até
   ter frame — autoplay entra com fade, sem pulo no Safari. */
.urg__media video{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;
  object-position:var(--urg-crop,40% 62%);filter:none;display:block;
  z-index:1;opacity:0;visibility:hidden;background:transparent;pointer-events:none}
.urg__media.is-live video{opacity:1;visibility:visible;transition:opacity .45s ease}
.urg__txt{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(2.25rem,5vw,4rem) max(1.25rem,calc((100vw - var(--maxw))/2))
          clamp(2.25rem,5vw,4rem) clamp(1.75rem,3.6vw,3.25rem)}
.urg .h2{margin-bottom:1.1rem;color:var(--ink)}
.urg p{color:var(--ink-2);max-width:52ch;font-size:var(--t-md)}
.urg__actions{margin-top:1.7rem}
.urg__scrim{display:none}
.dif__wa{margin-top:clamp(1.75rem,3vw,2.5rem)}

/* ============ S4 · DIFERENCIAL — selo emblema (~1:3), topo do texto ============ */
.dif{position:relative;overflow:hidden}
/* Filete de costura entre urgência e diferencial — largura do .wrap, não de ponta a ponta. */
.dif::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(calc(100% - 2.5rem),var(--maxw));border-top:1px solid var(--line)}
.dif__grid{display:grid;grid-template-columns:minmax(0,.9fr) 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.dif__grid:has(.dif__img--seal){grid-template-columns:auto minmax(0,1fr);
  gap:clamp(1.4rem,3vw,2.6rem);align-items:start}
.dif__fig{position:relative;margin:0}
.dif__fig.dif__img--seal{background:transparent;box-shadow:none;border-radius:0;overflow:visible;
  display:flex;justify-content:flex-start;align-items:flex-start;width:auto}
.dif__img--seal img,.img-seal{width:152px;height:152px;max-width:152px;max-height:152px;
  object-fit:contain;filter:none;aspect-ratio:auto;margin:0;display:block}
.dif .h2{max-width:18ch}
.dif__corpo{margin-top:1.2rem;color:var(--ink-2);font-size:var(--t-md);max-width:56ch}
/* Desktop (≥1081) desfaz o contents e usa este wrapper como flex na col 2.
   Fora disso o wrapper some da árvore — mobile/tablet ficam iguais. */
.dif__body{display:contents}

/* ============ S4b · EQUIPE — seção navy, grid de cards navy, retrato de estúdio ============
   Produção desde 2026-08-31. Ver DESIGN.md → "Equipe" para o raciocínio completo de
   cor/formato do "+20" e o filete de costura contra a Galeria (também navy). */
.eq{background:var(--navy-800);color:var(--white);border-top:1px solid rgba(var(--navy-200-rgb),.32)}
.eq__head{display:block}
.eq .h2{color:var(--white)}
.eq__copy{max-width:56ch;margin:1.2rem 0 0}
.eq__apoio,.eq__fecho{font-size:var(--t-md);color:rgba(var(--white-rgb),.74);margin:0;font-weight:500;line-height:1.55}
.eq__fecho{margin-top:.75rem}
.eq__grid{display:flex;flex-wrap:wrap;justify-content:center;--eq-gap:1rem;gap:var(--eq-gap);margin-top:2rem}
.eq__item{flex:0 0 calc((100% - var(--eq-gap))/2);max-width:calc((100% - var(--eq-gap))/2);margin:0;
  background:var(--navy-900);border-radius:var(--r-lg);overflow:hidden;
  border:1px solid rgba(var(--navy-200-rgb),.16);box-shadow:0 20px 44px -22px rgba(var(--navy-900-rgb),.7)}
@media (min-width:761px){
  .eq__grid{--eq-gap:1.5rem}
  .eq__item{flex:0 0 calc((100% - var(--eq-gap)*2)/3);max-width:calc((100% - var(--eq-gap)*2)/3)}
}
.eq__foto{display:block;width:100%;aspect-ratio:18/17;object-fit:cover;margin:0;filter:contrast(1.04) saturate(1.02)}
.eq__nome{padding:1rem 1rem 1.4rem;font-family:var(--f-display);font-weight:700;font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.04em;
  color:var(--navy-200);text-align:center;letter-spacing:-.005em}
/* "+20" como sexto item do .eq__grid, mesma largura de coluna dos cinco cards de pessoa.
   Tom próprio (--navy-600) — nem o fundo da seção (--navy-800) nem o navy dos cards de
   pessoa (--navy-900): sobre este fundo os outros dois se confundiriam com o card ou com o
   próprio fundo. Contraste medido (WCAG, mínimo 4,5:1 p/ texto pequeno): "+20"
   (--navy-200 sobre --navy-600) ≈ 6,4:1; rótulo (branco a 72% sobre --navy-600) ≈ 5,7:1. */
.eq__item--mais{display:grid;place-content:center;gap:.3rem;text-align:center;padding:1.2rem;
  background:var(--navy-600);border:1px solid rgba(var(--navy-200-rgb),.32)}
.eq__mais-n{font-family:var(--f-display);font-weight:800;font-size:var(--t-2xl);color:var(--navy-200);line-height:1}
.eq__mais-l{font-size:var(--t-sm);color:rgba(var(--white-rgb),.72);line-height:1.3;max-width:16ch;margin-inline:auto}

/* ============ S5 · PASSO A PASSO ============ */
.tl{margin-top:3rem;position:relative}
.tl::before{content:"";position:absolute;left:calc(clamp(58px,7vw,86px) / 2);top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--navy-600),rgba(var(--navy-600-rgb),.15));z-index:0}
.tl__row{position:relative;display:grid;grid-template-columns:clamp(58px,7vw,86px) minmax(0,44ch) 1fr;
  gap:clamp(1.2rem,3vw,2.2rem);align-items:center;padding:clamp(.9rem,1.6vw,1.3rem) 0}
.tl__row--solo{grid-template-columns:clamp(58px,7vw,86px) 1fr}
.tl__row--solo .tl__txt p{max-width:58ch}
.tl__row + .tl__row::before{content:"";position:absolute;top:0;left:calc(clamp(58px,7vw,86px) + clamp(1.2rem,3vw,2.2rem));
  right:0;height:1px;background:var(--line)}
.tl__n{position:relative;z-index:1;width:clamp(58px,7vw,86px);height:clamp(58px,7vw,86px);border-radius:50%;
  background:var(--paper);border:2px solid var(--navy-600);display:grid;place-items:center;
  font-family:var(--f-display);font-weight:800;font-size:var(--t-xl);color:var(--navy-800);
  letter-spacing:-.03em}
.tl__row:nth-child(even) .tl__n{background:var(--navy-800);color:var(--white);border-color:var(--navy-800)}
.tl__txt h3{font-weight:600;font-size:var(--t-lg);letter-spacing:-.01em;
  color:var(--navy-800);margin-bottom:.5rem;line-height:1.25}
.tl__txt p{color:var(--ink-2);max-width:44ch;font-size:var(--t-md);line-height:1.6;font-weight:500}
.tl__shot{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:2/1;box-shadow:var(--shadow-2);
  border:1px solid var(--line);justify-self:start;max-width:520px}
.tl__shot img,.tl__shot video{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(1.02)}
.tl__shot video{position:relative;z-index:1}

/* ============ S6b · ANTES E DEPOIS — card 9:16 centrado no desktop, 3:4 no mobile ============ */
.ba-sec .wrap{text-align:center}
.ba-sec .h2{margin-inline:auto}
.ba-sec__copy{margin-bottom:clamp(1.75rem,3vw,2.4rem)}
.ba__apoio{font-size:var(--t-md);color:var(--ink-2);max-width:44ch;margin:.8rem auto 0;font-weight:500}
.ba-sec__wa{margin-top:clamp(2rem,4vw,3rem);text-align:center}
.ba{margin:0;display:grid;justify-items:center}
.ba-video{
  position:relative;margin:0 auto;border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--line);background:var(--navy-900);
  aspect-ratio:3/4;
  width:min(100%,calc(70vh * 3 / 4),520px);
  max-height:70vh;
  box-shadow:var(--shadow-2);cursor:pointer}
.ba-video video{position:relative;z-index:1;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 62%;display:block}
.ba-video__som{
  position:absolute;inset:0;margin:auto;width:calc(100% - 1.5rem);max-width:18rem;height:max-content;z-index:2;
  display:grid;place-content:center;justify-items:center;gap:.7rem;padding:0;border:0;background:transparent;
  cursor:pointer;color:var(--navy-900)}
.ba-video__disco{
  position:relative;width:72px;height:72px;border-radius:50%;
  background:rgba(var(--white-rgb),.92);color:var(--navy-900);
  display:grid;place-items:center;box-shadow:var(--shadow-2)}
.ba-video__disco svg{width:28px;height:28px;max-width:none}
.ba-video__disco::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:1.5px solid var(--white);pointer-events:none;
  animation:ba-pulso 2.2s ease-out infinite}
@keyframes ba-pulso{
  0%{transform:scale(1);opacity:.7}
  100%{transform:scale(1.6);opacity:0}}
.ba-video__dica{
  color:var(--white);font-family:var(--f-display);font-size:var(--t-sm);font-weight:700;
  text-transform:uppercase;letter-spacing:var(--track);
  text-shadow:0 1px 2px rgba(0,0,0,.55);transition:opacity .22s ease}
.ba-video__som .ba-video__ico--on{display:none}
.ba-video__som.is-on .ba-video__ico--off{display:none}
.ba-video__som.is-on .ba-video__ico--on{display:block}
.ba-video__som:focus-visible{outline:3px solid var(--white);outline-offset:3px}
.ba-video.is-tocado .ba-video__som{
  top:.75rem;right:auto;bottom:auto;left:.75rem;margin:0;gap:0}
.ba-video.is-tocado .ba-video__disco{
  width:40px;height:40px;background:rgba(var(--navy-900-rgb),.72);color:var(--white);
  backdrop-filter:blur(6px);border:1px solid rgba(var(--white-rgb),.45);box-shadow:none}
.ba-video.is-tocado .ba-video__disco svg{width:20px;height:20px}
.ba-video.is-tocado .ba-video__disco::before{display:none;animation:none}
.ba-video.is-tocado .ba-video__dica{display:none;opacity:0}

/* ============ S4 · GALERIA DOCUMENTAL ============ */
.gal{overflow-x:clip;background:var(--navy-900);color:var(--white);
  border-block:1px solid rgba(var(--navy-200-rgb),.16)}
.gal__head{display:block}
.gal .h2{color:var(--white);max-width:16ch}
.gal__intro{max-width:52ch;margin-top:.8rem;color:rgba(var(--white-rgb),.74);line-height:1.55;font-weight:500}
.gal__track{display:flex;gap:1rem;margin-top:2rem;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-padding-inline:max(1.25rem,calc((100vw - var(--maxw))/2));
  touch-action:pan-x pan-y;
  overscroll-behavior-x:contain;
  overflow-anchor:none;
  -webkit-overflow-scrolling:touch;
  padding:0 max(1.25rem,calc((100vw - var(--maxw))/2)) 1.2rem;
  scrollbar-width:none}
@media (pointer:fine){
  .gal__track{cursor:grab}
  .gal__track.is-dragging{cursor:grabbing;user-select:none}
}
.gal__track::-webkit-scrollbar{display:none;height:0}
.gal__item{flex:0 0 clamp(280px,28vw,360px);margin:0;scroll-snap-align:start;
  border-radius:var(--r-md);overflow:hidden;background:var(--navy-800);
  box-shadow:0 18px 44px rgba(0,0,0,.24);border:1px solid rgba(var(--navy-200-rgb),.22)}
.gal__media{overflow:hidden;background:var(--navy-800)}
.gal__video{position:relative;aspect-ratio:4/5;background:var(--navy-800)}
.media-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:0;display:block;pointer-events:none;filter:contrast(1.05) saturate(1.02)}
/* Mesmo padrão do hero: banner (frame 0) permanente embaixo, vídeo opacity 0
   até o primeiro frame pintar — autoplay entra sem pulo. visibility:hidden no
   vídeo parado impede a camada opaca do WebKit (iOS) de cobrir o banner. */
.gal__video .gal__poster{z-index:0}
.gal__video video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:1;opacity:0;visibility:hidden;background:transparent;pointer-events:none}
.gal__video.is-live video{opacity:1;visibility:visible;transition:opacity .45s ease}
.gal__item img:not(.gal__poster),.gal__item video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;
  filter:contrast(1.05) saturate(1.02)}
.gal__par{display:flex;flex-direction:column}
.gal__par-half{position:relative}
/* As duas metades somam a altura de UMA foto 4/5 — o card par deixa de esticar o trilho. */
.gal__item .gal__par .gal__par-img{aspect-ratio:8/5}
.gal__item .gal__par-half img{aspect-ratio:4/3}
.gal__par-tag{position:absolute;top:.6rem;left:.6rem;z-index:2;padding:.3rem .6rem;border-radius:99px;
  background:rgba(var(--navy-900-rgb),.72);color:var(--white)}
.gal__caption{display:grid;gap:.35rem;padding:1rem 1rem 1.15rem;align-content:start}
.gal__caption strong{font-family:var(--f-display);font-size:var(--t-lg);line-height:1.15;color:var(--white)}
.gal__caption strong + span{font-size:var(--t-sm);line-height:1.45;color:rgba(var(--white-rgb),.7);font-weight:500}

.gal__ig-cta{margin-top:.9rem}
.gal__ig-cta a{display:inline-flex;align-items:center;gap:.55rem;color:var(--white);text-decoration:none;
  font-family:var(--f-display);font-size:var(--t-xs);font-weight:700;letter-spacing:var(--track);text-transform:uppercase;
  border-bottom:1px solid rgba(var(--navy-200-rgb),.45);padding-bottom:.15rem;min-height:44px}
.gal__ig-cta a:hover{color:var(--navy-200)}
.gal__ig-cta svg{width:18px;height:18px}
.gal__dica{margin-top:.75rem;color:rgba(var(--white-rgb),.68)}
@media (min-width:761px){ .gal__dica{display:none} }
.gal__wa{margin-top:clamp(1.75rem,3vw,2.5rem)}
@media (prefers-reduced-motion:reduce){ .gal__track{scroll-behavior:auto} }

.track__prog{
  height:2px;margin-top:.9rem;border-radius:99px;
  background:rgba(var(--navy-600-rgb),.18);
  overflow:hidden;position:relative}
.track__prog span{
  display:block;height:100%;width:0;border-radius:99px;
  background:var(--navy-600);transform:translateX(0)}
.track__prog[hidden]{display:block;visibility:hidden}
.track__prog--light{background:rgba(var(--navy-200-rgb),.2)}
.track__prog--light span{background:var(--navy-200)}

/* ============ S6 · GARANTIA — selo original + título + parágrafo, sem CTA ============ */
/* Fundo papel (2026-08-26): quebra os 2449px de navy consecutivo entre a
   galeria e o CTA final; o selo abaixo mantém a cor navy original. */
.gar{position:relative;overflow:hidden;background:var(--paper);color:var(--ink);
  padding:clamp(3.5rem,7vw,6rem) 0;
  background-image:radial-gradient(60% 70% at 15% 0%,rgba(var(--navy-600-rgb),.10) 0%,rgba(var(--navy-600-rgb),0) 70%)}
.gar__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
.gar__in > *{min-width:0;max-width:100%}
.seal{position:relative;background:linear-gradient(160deg,var(--navy-700),var(--navy-900));color:var(--white);
  border:1px solid rgba(var(--navy-600-rgb),.6);padding:2.8rem 2.2rem 2.6rem;text-align:center;
  width:min(100%,400px);
  clip-path:polygon(30px 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%,0 30px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85)}
.seal::before{content:"";position:absolute;inset:9px;border:1px solid rgba(var(--navy-200-rgb,201,218,232),.3);
  clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);pointer-events:none}
.seal{--seal-shine-w:1.25px;--seal-shine-c:rgba(var(--navy-200-rgb),.6)}
@supports (clip-path:polygon(evenodd,0 0,1px 0,0 1px)){
  .seal::after{content:"";position:absolute;inset:9px;pointer-events:none;
    background-image:radial-gradient(circle at center,transparent 36%,var(--seal-shine-c) 50%,transparent 64%);
    background-size:300% 300%;
    clip-path:polygon(evenodd,
      22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px,
      calc(22px + var(--seal-shine-w)*.41421) var(--seal-shine-w),
      calc(100% - var(--seal-shine-w)) var(--seal-shine-w),
      calc(100% - var(--seal-shine-w)) calc(100% - 22px - var(--seal-shine-w)*.41421),
      calc(100% - 22px - var(--seal-shine-w)*.41421) calc(100% - var(--seal-shine-w)),
      var(--seal-shine-w) calc(100% - var(--seal-shine-w)),
      var(--seal-shine-w) calc(22px + var(--seal-shine-w)*.41421));
    animation:seal-shine 8s linear infinite;animation-play-state:paused;will-change:background-position}
  .seal.is-visivel::after{animation-play-state:running}
}
@keyframes seal-shine{0%{background-position:0% 0%}50%{background-position:100% 100%}100%{background-position:0% 0%}}
@media (prefers-reduced-motion:reduce){
  .seal{--seal-shine-c:rgba(var(--navy-200-rgb),.45)}
  .seal::after{animation:none;background-image:linear-gradient(var(--seal-shine-c),var(--seal-shine-c));background-size:auto;will-change:auto}
}
.seal__top{color:var(--navy-200);margin-bottom:.5rem}
.seal__n{font-family:var(--f-display);font-weight:800;font-size:calc(var(--t-3xl) * 2.6);line-height:.78;
  letter-spacing:-.055em}
.seal__u{font-family:var(--f-display);font-weight:700;font-size:var(--t-md);letter-spacing:var(--track);text-transform:uppercase;
  margin-top:.55rem}
.gar__titulo{color:var(--ink);max-width:24ch;margin-top:2.2rem}
.gar__corpo{font-size:var(--t-lg);line-height:1.5;color:var(--ink-2);max-width:52ch;margin-top:1.1rem}
.gar__cover{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:2rem;max-width:56ch;width:100%}
.gar__cover li{color:var(--ink-2);font-size:var(--t-md);line-height:1.45;font-weight:500;
  border-top:1px solid var(--line);padding-top:.8rem;text-align:center}
.gar__cover b{color:var(--ink);font-weight:700}

/* ============ S7 · AVALIAÇÕES ============ */
.dep{border-top:1px solid var(--line)}
.dep__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:nowrap}
.dep__head > :first-child{min-width:0}
.dep__dica{margin-top:.6rem;color:var(--ink-2)}
@media (min-width:761px){ .dep__dica{display:none} }
.dep__wa{margin-top:clamp(2rem,4vw,3rem);text-align:center}

.dep__track{display:flex;gap:1.1rem;margin-top:2.2rem;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:max(1.25rem,calc((100vw - var(--maxw))/2));
  touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  overflow-anchor:none;
  padding:.5rem max(1.25rem,calc((100vw - var(--maxw))/2)) 1.4rem;
  scrollbar-width:none}
.dep__track::-webkit-scrollbar{display:none;height:0}

.gcard{flex:0 0 clamp(268px,25%,300px);scroll-snap-align:start;background:var(--white);
  border:1px solid var(--line);border-radius:14px;padding:1.35rem 1.4rem 1.5rem;
  box-shadow:0 1px 2px rgba(var(--ink-rgb),.06),0 10px 28px -16px rgba(var(--ink-rgb),.28);
  display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}
.gcard:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(var(--ink-rgb),.07),0 18px 40px -18px rgba(var(--ink-rgb),.34)}

.gcard__top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}
.gcard__av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--f-display);font-weight:800;font-size:var(--t-md);color:var(--white);flex:none}
.gcard__av--foto{object-fit:cover;background:var(--paper-2)}
.gcard__id{display:flex;flex-direction:column;min-width:0}
.gcard__nome{font-family:var(--f-display);font-weight:700;font-size:var(--t-md);color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcard__data{font-size:var(--t-sm);color:var(--ink-2);margin-top:.1rem;font-weight:500}
.gcard__g{flex:none;display:grid;place-items:center;opacity:.95}

.gcard__stars{color:var(--star);letter-spacing:.1em;font-size:var(--t-md);margin:.9rem 0 .55rem}

.gcard__txt{color:var(--ink-2);font-size:var(--t-sm);line-height:1.62;margin:0;font-weight:500;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;
  overflow-wrap:break-word}
.gcard.is-open .gcard__txt{-webkit-line-clamp:unset;display:block}
html:not(.has-js) .gcard__txt{-webkit-line-clamp:unset;display:block}
.gcard__mais{margin-top:.5rem;align-self:flex-start;background:none;border:0;
  min-height:44px;display:inline-flex;align-items:center;padding:0;
  font-family:var(--f-display);font-weight:700;font-size:var(--t-xs);letter-spacing:var(--track);
  text-transform:uppercase;color:var(--navy-700);cursor:pointer;border-bottom:2px solid var(--navy-200)}
.gcard__mais:hover{color:var(--navy-800);border-bottom-color:var(--navy-800)}
.gcard__mais[hidden]{display:none}

.dep__selo{margin-top:.6rem;font-family:var(--f-display);font-size:var(--t-sm);font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--ink-2);
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.dep__selo-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(var(--ink-rgb),.28);transition:border-color .18s ease}
.dep__selo-link:hover{border-bottom-color:var(--navy-700)}
.dep__selo-link:focus-visible{outline:3px solid var(--navy-700);outline-offset:3px}

.dep__selo::before{content:"";width:22px;height:2px;background:var(--star);flex:none}
.dep__selo b{color:var(--navy-800);font-size:var(--t-lg);letter-spacing:0;font-weight:800}
.avs{display:inline-flex;align-items:center;padding-left:10px;vertical-align:middle;margin-left:.35rem}
.avs > *{width:40px;height:40px;border-radius:50%;flex:none;margin-left:-10px;border:2px solid var(--paper-2);background:var(--paper-2)}
.avs img{object-fit:cover}
.avs .avs__mais{display:grid;place-items:center;background:var(--navy-800);color:var(--white);font-family:var(--f-display);font-weight:700;font-size:var(--t-xs)}

@media (max-width:980px){
  .gcard{flex:0 0 min(78vw,320px)}
  .dep__track{align-items:flex-start}
  .gcard__top{min-height:56px}
}

/* ============ S9 · FAQ ============ */
.faq{max-width:840px;margin-top:2.4rem}
.faq__item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--white);margin-bottom:.7rem;overflow:hidden}
.faq__item[open]{border-color:var(--navy-200);box-shadow:var(--shadow-1)}
.faq__q{list-style:none;cursor:pointer;display:flex;gap:1rem;align-items:center;justify-content:space-between;
  padding:1.2rem 1.4rem;font-family:var(--f-display);font-weight:700;font-size:var(--t-md);color:var(--navy-800);
  min-height:56px;-webkit-tap-highlight-color:transparent}
.faq__q:focus-visible{outline:3px solid var(--navy-600);outline-offset:3px}
.faq__q::-webkit-details-marker{display:none}
.faq__q i{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);position:relative;transition:.2s}
.faq__q i::before,.faq__q i::after{content:"";position:absolute;inset:50% 7px auto 7px;height:2px;background:var(--navy-600);transform:translateY(-1px)}
.faq__q i::after{transform:translateY(-1px) rotate(90deg);transition:.2s}
.faq__item[open] .faq__q i{background:var(--navy-600);border-color:var(--navy-600)}
.faq__item[open] .faq__q i::before,.faq__item[open] .faq__q i::after{background:var(--white)}
.faq__item[open] .faq__q i::after{transform:translateY(-1px) rotate(0)}
.faq__a{padding:0 1.4rem 1.4rem;color:var(--ink-2);font-size:var(--t-md);max-width:72ch;font-weight:500}

/* ============ S10 · CTA FINAL — âncora navy-900 ============ */
.cta-end{position:relative;overflow:hidden;color:var(--white);min-height:clamp(360px,46vh,480px);
  background:var(--destaque);
  background-image:radial-gradient(75% 90% at 50% 0%,var(--destaque-glow) 0%,rgba(190,45,60,0) 62%);
  display:grid;place-items:center;text-align:center;
  border-top:1px solid rgba(201,218,232,.18)}
.cta-end__in{position:relative;padding:clamp(3rem,7vw,5rem) 0}
.cta-end p{margin:1.1rem auto 0;max-width:36ch;font-size:var(--t-lg);line-height:1.4;color:rgba(var(--white-rgb),.88);font-weight:500}
.cta-end .h2{color:var(--white);margin-inline:auto;text-shadow:0 2px 26px rgba(var(--navy-900-rgb),.6)}
.cta-end .btn{margin-top:2rem}
.cta-end__in{padding-bottom:clamp(3rem,7vw,5rem)}

/* ============ S11 · FOOTER — papel, wordmark tinta ============ */
.ftr{background:var(--paper);color:var(--ink-2);
  padding:3.4rem 0 max(2rem,calc(76px + env(safe-area-inset-bottom) + 1.5rem));font-size:var(--t-sm);
  border-top:1px solid var(--line);box-shadow:inset 0 6px 0 var(--navy-900)}
.ftr__grid{display:grid;gap:2rem;grid-template-columns:1.4fr 1.1fr 1fr;align-items:start}
.ftr img{height:40px;width:auto;margin-bottom:1rem}
.ftr h3{color:var(--ink);margin-bottom:.8rem}
.ftr a{color:var(--navy-800);text-decoration:none}
.ftr__tel{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;padding:.4rem 0;font-weight:600}
.ftr__tel svg{width:18px;height:18px;flex:none;fill:currentColor}
.ftr a:hover{color:var(--navy-600)}
.ftr__onde{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;color:var(--ink-2);font-weight:500}
/* estados viram links entre as páginas; o estado da página atual fica sem link (aria-current) */
.ftr__onde a{color:inherit;text-decoration:underline;text-decoration-color:rgba(var(--ink-rgb),.22);text-underline-offset:3px}
.ftr__onde a:hover,.ftr__onde a:focus-visible{color:var(--ink);text-decoration-color:currentColor}
/* sinaliza em qual estado a página está: peso + cor cheia + ponto navy */
.ftr__onde li[aria-current="page"]{color:var(--ink);font-weight:700;display:inline-flex;align-items:center;gap:.45rem;justify-self:inherit}
.ftr__onde li[aria-current="page"]::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--navy-600)}
.ftr__bar{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:var(--t-sm);color:var(--ink-3)}

/* ============ WHATSAPP FLUTUANTE ============ */
.wa-float{position:fixed;right:18px;bottom:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);
  color:var(--white);display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(var(--wa-rgb),.7);text-decoration:none;
  transition:transform .2s ease,opacity .2s ease,visibility .2s ease}
.wa-float:hover{transform:scale(1.06);background:var(--wa-dark)}
.wa-float svg{width:29px;height:29px;fill:var(--white);color:var(--white)}

/* ============ MOTION — reveals só em título e mídia ============ */
.js .reveal,.js .reveal--media,.js .reveal--now{
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.js .reveal:not(.is-settled){opacity:0;transform:translateY(18px)}
.js .reveal--media:not(.is-settled){opacity:0;transform:scale(1.03)}
.js .reveal--now:not(.is-settled){opacity:0;transform:translateY(14px)}
.reveal.is-settled,.reveal--media.is-settled,.reveal--now.is-settled{opacity:1!important;transform:none!important;filter:none!important}

/* ============ RESPONSIVO ============ */
@media (max-width:1080px){
  .hero{grid-template-columns:1fr;height:auto;min-height:100svh;max-height:none;position:relative}
  .hero__stage{position:absolute;inset:0;z-index:0}
  .hero__seam{display:none}
  .hero__txt{position:relative;z-index:2;background:none;justify-content:flex-end;
    padding:7rem max(1.25rem,calc((100vw - var(--maxw))/2)) clamp(3rem,6vw,4.5rem)}
  .hero__stage video,.hero__stage img{object-position:50% 62%}
  .hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(var(--paper-rgb),.30) 0%,rgba(var(--paper-rgb),.16) 16%,
                               rgba(var(--paper-rgb),.30) 33%,rgba(var(--paper-rgb),.75) 48%,
                               rgba(var(--paper-rgb),.99) 62%,var(--paper) 100%)}
  .hero h1{text-shadow:0 1px 2px rgba(var(--paper-rgb),.9),0 0 18px rgba(var(--paper-rgb),.9)}
  .hero__eyebrow{color:var(--navy-700)}
  .hero__logo{filter:drop-shadow(0 0 10px rgba(var(--paper-rgb),.9))}
  .tl__row{grid-template-columns:clamp(52px,8vw,70px) minmax(0,1fr) minmax(220px,34%);grid-template-areas:"n t s"}
  .tl__row--solo{grid-template-columns:clamp(52px,8vw,70px) 1fr;grid-template-areas:"n t"}
  .tl__n{grid-area:n;align-self:start;margin-top:calc((var(--t-lg) * 1.25 - clamp(58px,7vw,86px)) / 2)}
  .tl__txt{grid-area:t;align-self:start}
  .tl__shot{grid-area:s;aspect-ratio:16/10;margin-top:0}
  /* S5 · Timeline ≤1080: círculo no start, não no meio do row. Centro =
     padding-top + metade da line-height do h3 (o margin-top de .tl__n
     alinha os dois). 50% erraria o 04 — no mobile a foto é 2ª linha do
     grid (~150px abaixo). left segue a coluna menor deste breakpoint.
     Cor sólida: mesmo motivo do desktop (fades repetidos por segmento). */
  .tl{--tl-meet:calc(clamp(.9rem,1.6vw,1.3rem) + var(--t-lg) * .625)}
  .tl::before{content:none}
  .tl__row:not(:last-child)::after,
  .tl__row:not(:first-child)::after{
    content:"";position:absolute;left:calc(clamp(52px,8vw,70px) / 2);width:2px;
    background:var(--navy-600);z-index:0;pointer-events:none}
  .tl__row:not(:last-child)::after{top:var(--tl-meet);bottom:-1px}
  .tl__row:not(:first-child)::after{top:-1px;bottom:calc(100% - var(--tl-meet))}
  .tl__row:not(:first-child):not(:last-child)::after{top:-1px;bottom:-1px}
  .urg__actions{width:100%;max-width:100%}
  .urg__actions .btn--wa,.cta-end .btn--wa{
    width:100%;max-width:100%;min-width:0;
    white-space:normal;text-wrap:balance;line-height:1.12;text-align:center;
    padding:1rem 1.4rem;min-height:72px;
    justify-content:center;gap:.5rem}
  .urg__actions .btn--wa span,.cta-end .btn--wa span{flex:0 1 auto;width:auto;min-width:0;max-width:18ch;text-wrap:balance;text-align:center}
  @media (min-width:761px){
    .cta-end .btn--wa{width:auto;white-space:nowrap;padding:1.15rem 1.5rem;min-height:60px}
    .cta-end .btn--wa span{max-width:none;text-wrap:initial}}
  .cta-end__in > div{width:100%}
}
@media (max-width:760px){
  :root{--sec-y:2.75rem}
  body{font-size:var(--t-md)}
  .hero{min-height:100svh;height:auto;grid-template-columns:minmax(0,1fr)}
  .hero__txt{padding:5.5rem 1.25rem 3rem;background:none;min-width:0;max-width:100%}
  .hero__logo{top:1.4rem;left:1.25rem;height:32px;
    filter:drop-shadow(0 0 .7px rgba(var(--navy-900-rgb),1))
           drop-shadow(0 0 3px rgba(var(--navy-900-rgb),.92))
           drop-shadow(0 1px 8px rgba(var(--navy-900-rgb),.7))}
  .hero__scrim{background:
    linear-gradient(180deg,
      rgba(var(--navy-900-rgb),0)   40%,
      rgba(var(--navy-900-rgb),.30) 50%,
      rgba(var(--navy-900-rgb),.70) 58%,
      rgba(var(--navy-900-rgb),.88) 66%,
      rgba(var(--navy-900-rgb),.95) 76%,
      rgba(var(--navy-900-rgb),.98) 100%)}
  .hero h1{text-shadow:none;color:#fff;text-align:left;margin-left:0;margin-right:0}
  .hero h1 em{color:#fff}
  .hero__eyebrow{color:var(--navy-200)}
  .hero__eyebrow::before{background:var(--navy-200)}
  .hero__sub{color:rgba(255,255,255,.88);text-align:left}
  .hero__stage video,.hero__stage img{
    object-position:50% 50%;
    transform:scale(1.05) translateY(-4%);
    transform-origin:50% 50%}
  .urg{grid-template-columns:minmax(0,1fr)}
  .urg > *,.dif__grid > *{min-width:0;max-width:100%}
  .urg__media{min-height:0;aspect-ratio:4/3}
  .urg__media .media-poster,.urg__media video{object-position:var(--urg-crop-m,var(--urg-crop,40% 58%))}
  /* Altura no container, não no <video>: o mp4 é absoluto e só aparece no is-live. */
  .urg__media video{aspect-ratio:auto;height:100%}
  .urg__txt{padding:1.75rem 1.25rem}
  .tl__row{grid-template-columns:clamp(52px,8vw,70px) minmax(0,1fr);grid-template-areas:"n t" ". s"}
  .tl__row--solo{grid-template-columns:clamp(52px,8vw,70px) minmax(0,1fr);grid-template-areas:"n t"}
  .tl__shot{margin-top:1rem;aspect-ratio:16/9;max-width:none}
  .dif__grid,.dif__grid:has(.dif__img--seal){grid-template-columns:minmax(0,1fr);gap:1.35rem}
  .dif__img--seal img,.img-seal{width:160px;height:160px;max-width:160px;max-height:160px}
  .hero__actions{flex-direction:column;align-items:flex-start;min-width:0;max-width:100%}
  .hero__actions{text-align:left}
  .hero__actions .btn{width:auto;max-width:100%;font-size:1rem;white-space:nowrap;padding:.8rem 1.4rem;min-height:54px}
@media (max-width:374.98px){
  .hero__actions .btn{white-space:nowrap;text-wrap:balance}
}
  .trust{padding:.85rem 0}
  .trust__grid{grid-template-columns:repeat(2,1fr);gap:0}
  .ba-video{width:100%;max-width:none}
  .gal__item{flex:0 0 86vw}
  .ftr__grid{grid-template-columns:1fr}
  .gar{padding:clamp(3rem,7vw,5rem) 0}
  .seal{width:100%;max-width:none}
  .gar__cover{grid-template-columns:1fr;gap:1.6rem}
  .cta-end{min-height:0}
  .cta-end__in{padding:var(--sec-y) 0}
  .cta-end .h2{font-size:var(--t-2xl);max-width:24ch}

  /* P6: seções centradas no mobile. Desktop / 1024 intactos. Passo a passo: só o H2. */
  .dif,.ftr{text-align:center}
  .trust__i{align-items:flex-start;text-align:left;padding:1rem .75rem}
  .trust__i:not(:first-child)::before{content:none}
  .trust__i:nth-child(even)::before{content:""}
  .trust__i:nth-child(n+3)::after{content:"";position:absolute;inset:0 0 auto;height:1px;pointer-events:none;
    background:rgba(var(--navy-200-rgb),.28)}
  .trust__v,.trust__l{text-align:left}
  .urg__txt{align-items:center;text-align:center}
  .urg .h2{margin-inline:auto}
  .urg p{margin-inline:auto;max-width:38ch;text-align:center}
  .dif__grid,.dif__grid:has(.dif__img--seal){justify-items:center;text-align:center}
  .dif__fig.dif__img--seal{justify-content:center;align-items:center;width:100%}
  .dif__grid > div{display:flex;flex-direction:column;align-items:center;text-align:center}
  .dif .eyebrow{margin-inline:auto;justify-content:center}
  .dif .h2{margin-inline:auto}
  .dif__corpo,.dif__intro{margin-inline:auto;max-width:38ch;text-align:center}
  .eq__head{text-align:center}
  .eq__head .h2{margin-inline:auto}
  .eq__copy{margin-inline:auto;max-width:38ch}
  .gal__head{text-align:center}
  .gal__head .h2{margin-inline:auto}
  .gal__intro{margin-inline:auto}
  .gal__dica{text-align:center}
  .gal__caption{text-align:center;justify-items:center}
  .gal__ig-cta{text-align:center}
  .gal__wa{text-align:center}
  .dep__head{flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .dep__head > :first-child{text-align:center;display:flex;flex-direction:column;align-items:center}
  .dep__head .h2{margin-inline:auto}
  .dep__selo{justify-content:center;text-align:center}
  #h-proc{margin-inline:auto;text-align:center}
  .faq-sec,#h-faq,.faq-sec .faq,.faq-sec .faq__item,.faq-sec .faq__a{text-align:left}
  .faq-sec #h-faq,.faq-sec .faq{margin-inline:0}
  .faq-sec .faq__q{justify-content:space-between;text-align:left;padding-inline:1.4rem;position:static}
  .faq-sec .faq__q i{position:relative;right:auto;top:auto;margin-top:0}
  .faq-sec .faq__a{margin-inline:0;max-width:72ch}
  .ftr__grid{justify-items:center;align-items:center;text-align:center}
  .ftr img{margin-inline:auto}
  .ftr__tel{justify-content:center}
  .ftr__onde{justify-items:center}
  .ftr__bar{justify-content:center;text-align:center;flex-direction:column;align-items:center}
  .ftr{padding-bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem))}
}
@media (min-width:1081px){
  .hero h1{font-size:clamp(2.7rem,6vw,4.2rem)}
  .ba-sec{padding-top:clamp(3rem,5vw,4.5rem);padding-bottom:clamp(3rem,5vw,4.5rem)}
  .ba-video{aspect-ratio:9/16;width:100%;max-width:none;max-height:82vh;margin-inline:0}
}

/* Desktop/tablet ≥761: hero full-bleed, texto centrado, scrim só no bloco
   de texto. Gate em 761 — não 1081 — para não deixar a faixa 761–1080 no
   tratamento antigo de papel. ≤760 (mobile aprovado) não casa e fica intocado. */
@media (min-width:761px){
  .hero{grid-template-columns:1fr;height:auto;min-height:100svh;max-height:none;
    --hero-scrim-fade:280px}
  .hero__stage{position:absolute;inset:0;z-index:0}
  /* Sem brightness() no quadro: o vídeo fica limpo fora do texto.
     O filtro-base (contrast/saturate) permanece. ≤760 intocado. */
  .hero__stage video,.hero__stage img{object-position:50% 50%}
  .hero__seam{display:none}
  /* Faixa vertical ancorada no bloco de texto, não na hero: o ::before
     de .hero__txt é o 1º item in-flow (logo é absolute) e o flex-end
     cola ele no topo do eyebrow em qualquer altura de viewport. Altura
     líquida 0 (margin negativa) — o texto não se move. Fade 280px acima
     do eyebrow (ease-in, 11 paradas relativas 0/.02/.06/.13/.24/.38/.55/
     .72/.87/.96/1 × .71); platô .71 até a base. Alphas = curva × .76
     × 0,9342 (.76→.71). .hero__scrim (inset 0) some: era ele que punha
     véu no topo do vídeo. Pior caso (faixa sobre #fff): H1 ~6,5:1 e
     sub .88 ~5,5:1, piso 4,5:1. ≤760 intocado. */
  .hero__scrim{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:none}
  .hero__txt::before{content:"";flex:0 0 auto;min-height:0;align-self:flex-start;
    width:100vw;height:calc(var(--hero-scrim-fade) + 100vh);
    margin-top:calc(-1 * var(--hero-scrim-fade));margin-bottom:-100vh;
    pointer-events:none;position:relative;left:50%;transform:translateX(-50%);z-index:-1;
    background:linear-gradient(180deg,
      rgba(var(--navy-900-rgb),0) 0,
      rgba(var(--navy-900-rgb),.014) calc(.1 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.043) calc(.2 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.092) calc(.3 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.170) calc(.4 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.270) calc(.5 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.391) calc(.6 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.511) calc(.7 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.618) calc(.8 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.682) calc(.9 * var(--hero-scrim-fade)),
      rgba(var(--navy-900-rgb),.71) var(--hero-scrim-fade),
      rgba(var(--navy-900-rgb),.71) 100%)}
  .hero h1{text-shadow:none;color:#fff;text-align:center;margin-inline:auto}
  .hero h1 em{color:#fff}
  .hero__eyebrow{color:var(--navy-200);justify-content:center;margin-inline:auto}
  .hero__eyebrow::before{background:var(--navy-200)}
  .hero__sub{color:rgba(255,255,255,.88);text-align:center;margin-inline:auto;max-width:var(--measure)}
  /* Logo na régua (--maxw), não na borda da viewport. Chrome da página,
     não bloco de leitura — por isso fica no left da régua enquanto o
     texto centra. */
  /* left:0 = left da .hero__txt, que agora é a régua --maxw centrada.
     Não é a borda da viewport. ≤760 tem left:1.25rem próprio. */
  .hero__logo{left:0;
    filter:drop-shadow(0 0 .7px rgba(var(--navy-900-rgb),1))
           drop-shadow(0 0 3px rgba(var(--navy-900-rgb),.92))
           drop-shadow(0 1px 8px rgba(var(--navy-900-rgb),.7))}
  .hero__txt{position:relative;z-index:2;background:none;
    display:flex;flex-direction:column;justify-content:flex-end;align-items:center;
    width:min(calc(100% - 2.5rem),var(--maxw));max-width:var(--maxw);
    margin-inline:auto;text-align:center;
    padding:clamp(4rem,7vw,6rem) 0 clamp(4.5rem,8vw,7rem) 0}
  .hero__actions{justify-content:center}

  /* Desktop centralizado. Mobile ≤760 intocado.
     --desk-media é alias de --media (850px): mídia stacked na família
     do texto (--copy 681px → razão ≈ 1,25).
     Selo do biólogo, selo da garantia e o 9:16 de antes/depois já são
     --narrow — não se força a conta neles. */
  :root{--desk-media:var(--media)}

  /* Caixa de seção em px. Filhos (h2 + p) ocupam 100% — não têm
     max-width próprio em ch. ≤760 não casa: .sec-copy fica width 100%. */
  .sec-copy{
    display:flex;flex-direction:column;align-items:stretch;
    width:min(100%,var(--copy));max-width:var(--copy);margin-inline:auto;
    text-align:center}
  .sec-copy > *,
  .sec-copy .h2,
  .sec-copy p,
  .sec-copy .eq__copy,
  .sec-copy .dif__body,
  .sec-copy .dep__selo{
    width:100%;max-width:none;box-sizing:border-box}

  .dif,
  .dif__grid,
  .dif__grid:has(.dif__img--seal){text-align:center;justify-items:center}
  .dif__grid:has(.dif__img--seal){grid-template-columns:minmax(0,1fr)}
  .dif__fig.dif__img--seal{justify-content:center;align-items:center;width:100%}
  .dif__grid > div{display:flex;flex-direction:column;align-items:center;text-align:center}
  .dif .eyebrow{margin-inline:auto;justify-content:center}
  .dif .h2{margin-inline:auto;text-align:center}
  .dif__corpo,
  .dif__intro{margin-inline:auto;text-align:center}
  .dif__wa{display:flex;justify-content:center}

  .eq__head{text-align:center}
  .eq__head .h2{margin-inline:auto;text-align:center}
  .eq__copy{margin-inline:auto;text-align:center}
  /* Grid de cards na família --media, não na régua cheia (1180/680 = 1,74). */
  .wrap.eq__grid{width:min(calc(100% - 2.5rem),var(--media))}

  #h-proc{margin-inline:auto;text-align:center}

  .ba-sec{--ba-col:min(100%,calc(70vh * 3 / 4),520px)}
  .ba-sec .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
  .ba-sec__copy{order:0;text-align:center;width:100%;margin-bottom:clamp(1.75rem,3vw,2.4rem);margin-top:0}
  .ba-sec .h2{margin-inline:auto;text-align:center}
  .ba__apoio{margin:.8rem auto 0;text-align:center}
  .ba{order:0;width:var(--ba-col);max-width:100%;justify-items:stretch}
  .ba-video{width:100%;margin-inline:auto}
  .ba-sec__wa{order:0;text-align:center;width:100%;margin-top:clamp(2rem,4vw,3rem)}

  .gal__head{text-align:center}
  .gal__head .h2{margin-inline:auto;text-align:center}
  .gal__intro{margin-inline:auto;text-align:center}
  .gal__ig-cta,
  .gal__wa{text-align:center}

  .gar__in{width:min(calc(100% - 2.5rem),var(--maxw));margin-inline:auto;text-align:center;justify-items:center}
  .gar__titulo{margin-inline:auto;text-align:center;justify-self:center}
  .gar__corpo{margin-inline:auto;text-align:center;justify-self:center}
  .seal{width:min(100%,var(--narrow));justify-self:center}
  .gar__cover{justify-self:center;margin-inline:auto}
  .gar__cover li{text-align:center}

  .dep__head{flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .wrap.dep__head{width:min(calc(100% - 2.5rem),var(--copy))}
  .dep__head > :first-child{text-align:center;display:flex;flex-direction:column;align-items:center}
  .dep__head .h2{margin-inline:auto;text-align:center}
  .dep__selo{justify-content:center;text-align:center}
  .dep__wa{text-align:center}

  .faq-sec .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
  #h-faq{margin-inline:auto;text-align:center}
  .faq{max-width:var(--copy);width:100%;margin-top:2.4rem;text-align:left}

  /* Trilhos (galeria, depoimentos) na família --media, não na régua
     cheia. Vale em todo desktop ≥761; o bloco ≥1081 reforça. */
  .gal__track,.dep__track{
    width:min(calc(100% - 2.5rem),var(--media));
    margin-inline:auto;
    padding-inline:0;
    scroll-padding-inline:0}
  .gal .track__prog,.dep .track__prog{width:min(100%,var(--media));margin-inline:auto}

  .cta-end{text-align:center;place-items:center}
  .cta-end__in{width:min(calc(100% - 2.5rem),var(--maxw));margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
  .cta-end .h2{margin-inline:auto;text-align:center}
  .cta-end p{margin:1.1rem auto 0;text-align:center}
  .cta-end__in > div{width:auto}
  .cta-end .btn{margin-top:2rem}

  .ftr{text-align:center}
  .ftr__grid{justify-items:center;align-items:center;text-align:center}
  .ftr img{margin-inline:auto}
  .ftr__tel{justify-content:center}
  .ftr__onde{justify-items:center}
  .ftr__bar{justify-content:center;text-align:center;flex-direction:column;align-items:center}

  /* S3 · Urgência stacked (≥761): vídeo nítido em cima, texto abaixo, no eixo.
     Mídia na família do texto (850 / --copy 681px ≈ 1,25), não na régua cheia.
     16/9 no desktop; 4/3 do ≤760 fica intocado. */
  .urg{display:grid;grid-template-columns:minmax(0,1fr);position:relative;
    min-height:0;justify-items:center;
    padding:clamp(1.5rem,2.8vw,2.25rem) max(1.25rem,calc((100vw - var(--maxw))/2)) 0;
    background:var(--paper);color:var(--ink)}
  .urg__media{grid-area:auto;position:relative;inset:auto;z-index:auto;
    overflow:hidden;border-radius:0;min-height:0;aspect-ratio:16/9;
    width:min(100%,var(--desk-media));margin-inline:auto;justify-self:center}
  .urg__media video{position:absolute;inset:0;z-index:1;width:100%;height:100%;
    max-width:none;object-fit:cover;object-position:var(--urg-crop,40% 62%);
    filter:none;aspect-ratio:auto}
  .urg__media .media-poster{object-position:var(--urg-crop,40% 62%);filter:none}
  .urg__scrim{display:none}
  .urg__txt{grid-area:auto;position:relative;z-index:auto;
    display:flex;flex-direction:column;justify-content:flex-start;align-items:center;
    text-align:center;
    width:min(100%,var(--desk-media));max-width:var(--desk-media);margin-inline:auto;
    padding:clamp(1.75rem,3vw,2.5rem) 0 clamp(2.5rem,4.5vw,3.5rem)}
  .urg .h2{color:var(--ink);margin-inline:auto;margin-bottom:1.1rem;text-align:center}
  .urg p{color:var(--ink-2);margin-inline:auto;text-align:center}

  /* Fecha o bloco ≥761 por último: .ba-sec__copy{width:100%} e
     .dep__head > :first-child{align-items:center} vêm acima e
     não podem vencer a caixa --copy. */
  .sec-copy,
  .ba-sec__copy.sec-copy{
    display:flex;flex-direction:column;align-items:stretch;
    width:min(100%,var(--copy));max-width:var(--copy);margin-inline:auto;
    text-align:center}
  .sec-copy > *,
  .sec-copy .h2,
  .sec-copy p,
  .sec-copy .eq__copy,
  .sec-copy .dif__body,
  .sec-copy .dep__selo{
    width:100%;max-width:none;box-sizing:border-box}
  .dep__head > .sec-copy{align-items:stretch}
}
@media (min-width:1081px){
  /* Desktop centralizado: desfaz o díptico esquerda/direita. Tamanhos de
     mídia estreita (9:16, selo 152px) se mantêm; a foto do passo a passo
     deixa de esticar até a régua. ≤760 intocado. */
  .ba-sec{--ba-col:min(100%,calc(72vh * 9 / 16),var(--narrow))}

  /* S2 · Trust: primeiro item começa na régua */
  .trust__i:first-child{padding-left:0}
  .trust__i:last-child{padding-right:0}

  /* S4 · Galeria / S7 · Depoimentos: o trilho vive em --media, não na régua cheia. */
  .gal__track,.dep__track{
    width:min(calc(100% - 2.5rem),var(--media));
    margin-inline:auto;
    padding-inline:0;
    scroll-padding-inline:0}

  .dif__grid:has(.dif__img--seal){
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
    justify-items:center;
    text-align:center}
  .dif__grid:has(.dif__img--seal) > div{
    display:flex;flex-direction:column;align-items:center;text-align:center}
  .dif__grid:has(.dif__img--seal) .eyebrow,
  .dif__grid:has(.dif__img--seal) .h2{
    grid-column:auto;grid-row:auto;justify-self:center;margin-inline:auto;text-align:center}
  .dif__grid:has(.dif__img--seal) .dif__body{
    display:flex;flex-direction:column;align-items:center;grid-column:auto;grid-row:auto}
  .dif__grid:has(.dif__img--seal) .dif__corpo,
  .dif__grid:has(.dif__img--seal) .dif__intro{
    margin-inline:auto;text-align:center}
  .dif__grid:has(.dif__img--seal) > .dif__fig{
    grid-column:auto;grid-row:auto;width:152px;justify-self:center;align-self:center}

  /* S5 · Processo: único díptico horizontal. Passos curtos (não
     parágrafo) → coluna 38ch; mídia = 1,25× essa coluna ≈ 47.5ch,
     mesma razão --media/--measure. Step sem foto não reserva a 3ª. */
  .tl{
    width:min(100%,calc(clamp(58px,7vw,86px) + 38ch + 38ch * 1.25 + 2 * clamp(1.2rem,3vw,2.2rem)));
    margin-inline:auto}
  .tl__row{grid-template-columns:clamp(58px,7vw,86px) minmax(0,38ch) minmax(0,calc(38ch * 1.25))}
  .tl__row--solo{grid-template-columns:clamp(58px,7vw,86px) minmax(0,1fr)}
  .tl__row--solo .tl__txt,
  .tl__row--solo .tl__txt p{max-width:var(--measure)}
  .tl__shot{justify-self:stretch;max-width:calc(38ch * 1.25);width:100%;min-width:0}

  /* S5 · Timeline: segmentos por row. Só ≥1081; mobile e tablet 761–1080
     ficam com a linha original. */
  .tl::before{content:none}
  .tl__row:not(:last-child)::after,
  .tl__row:not(:first-child)::after{
    content:"";position:absolute;left:calc(clamp(58px,7vw,86px) / 2);width:2px;
    background:var(--navy-600);z-index:0;pointer-events:none}
  .tl__row:not(:last-child)::after{top:50%;bottom:-1px}
  .tl__row:not(:first-child)::after{top:-1px;bottom:50%}
  .tl__row:not(:first-child):not(:last-child)::after{top:-1px;bottom:-1px}

  .ba-sec .wrap{
    display:flex;flex-direction:column;align-items:center;text-align:center;
    grid-template-columns:none;grid-template-rows:none}
  .ba-sec__copy{display:block;width:100%;text-align:center;margin-top:0;margin-bottom:clamp(1.75rem,3vw,2.4rem)}
  .ba-sec .h2{
    grid-column:auto;grid-row:auto;justify-self:center;margin-inline:auto;text-align:center}
  .ba{
    grid-column:auto;grid-row:auto;width:min(var(--narrow),calc(72vh * 9 / 16));max-width:100%;align-self:center}
  .ba-video{margin-inline:auto;aspect-ratio:9/16;max-height:72vh;width:100%;max-width:none;box-sizing:border-box}
  .ba__apoio{
    grid-column:auto;grid-row:auto;margin:.8rem auto 0;align-self:center;text-align:center}
  .ba-sec__wa{
    grid-column:auto;grid-row:auto;width:100%;text-align:center;margin-top:clamp(2rem,4vw,3rem);align-self:center}

  .wrap.gar__in{
    width:min(calc(100% - 2.5rem),var(--maxw));
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
    justify-items:center;
    text-align:center}
  .gar__in > .gar__titulo{
    grid-column:auto;grid-row:auto;margin-top:2.2rem;align-self:center;justify-self:center;text-align:center;margin-inline:auto}
  .gar__in > .gar__corpo{
    grid-column:auto;grid-row:auto;margin-top:1.1rem;justify-self:center;text-align:center;margin-inline:auto}
  .gar__in > .seal{grid-column:auto;grid-row:auto;width:min(100%,var(--narrow));max-width:var(--narrow);align-self:center;justify-self:center}
  .gar__in > .gar__cover{
    display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:56ch;width:100%;
    margin-inline:auto;justify-self:center}
  .gar__cover li:nth-child(1),
  .gar__cover li:nth-child(2){
    grid-column:auto;grid-row:auto;text-align:center;align-self:center}

  .cta-end{place-items:center;text-align:center}
  .wrap.cta-end__in{
    width:min(calc(100% - 2.5rem),var(--maxw));
    display:flex;flex-direction:column;align-items:center;
    grid-template-columns:none;
    text-align:center;
    padding:clamp(3rem,7vw,5rem) 0}
  .cta-end__in .h2{grid-column:auto;grid-row:auto;align-self:center;margin-inline:auto;text-align:center}
  .cta-end__in p{grid-column:auto;grid-row:auto;align-self:center;margin:1.1rem auto 0;text-align:center}
  .cta-end__in > div{grid-column:auto;grid-row:auto;align-self:center;width:auto}
  .cta-end .btn{margin-top:2rem}

  .faq-sec .wrap{
    display:flex;flex-direction:column;align-items:center;
    grid-template-columns:none}
  .faq{max-width:var(--copy);width:100%;margin-top:2.4rem;text-align:left}

  /* Reforço: a caixa --copy ganha dos max-width em ch herdados
     (18ch/16ch/24ch/28ch/36ch) que ainda vivem no CSS base p/ o mobile. */
  .sec-copy{
    display:flex;flex-direction:column;align-items:stretch;
    width:min(100%,var(--copy));max-width:var(--copy);margin-inline:auto;
    text-align:center}
  .sec-copy > *,
  .sec-copy .h2,
  .sec-copy p,
  .sec-copy .eq__copy,
  .sec-copy .dif__body,
  .sec-copy .dep__selo{
    width:100%;max-width:none;box-sizing:border-box}
  .dep__head > .sec-copy{align-items:stretch}
}

/* ============ MOTION OFF ============ */
@media (prefers-reduced-motion:reduce){
  .ba-video__disco::before{animation:none;content:none}
  .track__prog span{transition:none}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal,.js .reveal--now,.js .reveal--media{opacity:1!important;transform:none!important}
}
