/* ============================================================
   Avaliação Neuropsicológica — Bianca Tomelin
   Clínica Médica NeuroCare, Campo Grande/RJ

   A página é comercial: o assunto é o serviço, não a profissional.
   Paleta e marca herdadas das demais landing pages da Neurocare
   (navy, terracota, âmbar sobre papel quente).
   ============================================================ */

:root{
  --ink:        #0E1626;
  --navy:       #16213A;
  --navy-2:     #1E2C48;
  --navy-3:     #2A3A5C;
  --azure:      #BC5B39;   /* terracota: traço decorativo e ícones */
  --azure-lift: #E3A77D;
  --azure-deep: #8A3F23;   /* terracota escuro: texto pequeno (7.4:1 no branco) */
  --gold:       #EAB102;   /* só como fundo — nunca como texto sobre claro */
  --gold-deep:  #C99600;
  --paper:      #F6EEE0;
  --paper-2:    #EEE2CA;
  --white:      #FFFDF7;
  --slate:      #6B5E4C;
  --slate-2:    #8C7F67;
  --line:       #E6DAC2;
  --line-dark:  rgba(170,140,90,.22);
  --sand:       #E4D4B0;
  --sand-deep:  #D7C194;

  --wrap: 1200px;
  --gut: 24px;

  --sans:'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display:'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;

  /* escala de espaçamento — base 4 */
  --s2:8px;  --s3:12px; --s4:16px; --s5:20px; --s6:24px;
  --s8:32px; --s10:40px; --s12:48px; --s16:64px; --s20:80px;
  --sec-y: clamp(64px, 7.4vw, 104px);

  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-xl: 28px;
  --r-btn: 11px;
  --r-pill: 999px;

  /* sombras na mesma temperatura do papel: marrom, nunca preto puro */
  --sh-soft: 0 1px 2px rgba(74,52,24,.05), 0 10px 26px -16px rgba(74,52,24,.26);
  --sh-lift: 0 2px 6px rgba(74,52,24,.06), 0 26px 50px -26px rgba(74,52,24,.36);
  --sh-pop:  0 4px 10px rgba(74,52,24,.08), 0 36px 62px -28px rgba(74,52,24,.44);

  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth; scroll-padding-top:104px;
  -webkit-text-size-adjust:100%; overflow-x:hidden;
}

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.62;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  /* overflow-x fica só no <html>: no Safari/iOS, overflow no <body>
     quebra position:fixed e o botão flutuante passa a rolar com a página. */
}

/* Grão: tira o aspecto de vetor chapado das áreas de cor sólida.
   Fica abaixo do cabeçalho (z-100) e do botão flutuante (z-120). */
body::after{
  content:''; position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}

img{ max-width:100%; display:block; }
a{ color:var(--azure-deep); }

h1,h2,h3{
  margin:0; font-family:var(--display); font-weight:700;
  line-height:1.14; letter-spacing:-.024em;
  text-wrap:balance;
}
p{ margin:0 0 1em; text-wrap:pretty; }
p:last-child{ margin-bottom:0; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }

.skip{
  position:absolute; left:-999px; top:0; z-index:200;
  background:var(--gold); color:var(--ink); padding:12px 20px; font-weight:700;
  border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{ left:0; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

:where(a,button,summary,details,input):focus-visible{
  outline:3px solid var(--gold-deep);
  outline-offset:3px;
  border-radius:4px;
}

/* Toque: tira o atraso do duplo-toque e troca o realce azul padrão do
   Android por um que combina com a paleta. */
a,button,summary{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(22,33,58,.08);
}

/* ícone de traço genérico */
.i{
  width:1.1em; height:1.1em; flex:none; fill:none; stroke:currentColor;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
.i-wa{ width:1.25em; height:1.25em; flex:none; fill:currentColor; }

/* ─────────────── entrada em cena ───────────────
   O estado inicial só existe quando o JS está vivo (classe .js no <html>),
   para que a página continue legível se o script falhar. */
.js .reveal{
  opacity:0; transform:translateY(12px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  transition-delay:var(--d, 0ms);
}
.js .reveal.is-in{ opacity:1; transform:none; }

/* ═══════════════ tipografia de seção ═══════════════ */
.tagline{
  display:flex; align-items:center; gap:12px;
  margin:0 0 var(--s4);
  font-size:.8125rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--azure-deep);
}
.tagline__rule{ width:30px; height:2px; background:var(--azure); flex:none; }

.sec{ position:relative; padding-block:var(--sec-y); }
.sec--paper{ background:var(--paper); }
.sec--paper-2{ background:var(--paper-2); }
.sec--white{ background:var(--white); }

.sechead{ max-width:720px; margin-bottom:var(--s12); }
.sechead--center{ margin-inline:auto; text-align:center; }
/* Centralizado, o traço empurrava a palavra para a direita do eixo. Ele
   fica só nas aberturas alinhadas à esquerda. */
.sechead--center .tagline,
.final .tagline{ justify-content:center; }
.sechead--center .tagline__rule,
.final .tagline__rule{ display:none; }
.sechead__h{
  font-size:clamp(1.875rem,3.4vw,2.625rem); color:var(--navy);
  font-weight:800; letter-spacing:-.034em; margin-bottom:var(--s4);
}
.sechead__p{ font-size:1.0625rem; line-height:1.68; color:var(--slate); max-width:60ch; margin:0; }
.sechead--center .sechead__p{ margin-inline:auto; }

/* ═══════════════ botões e links ═══════════════ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:13px 24px;
  font-family:var(--sans); font-size:1rem; font-weight:700; line-height:1.25;
  text-align:center; text-decoration:none;
  border:1.5px solid transparent; border-radius:var(--r-btn);
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease,
             transform .18s var(--ease), box-shadow .18s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0) scale(.99); }

.btn--gold{ background:var(--gold); color:#1E1606; box-shadow:0 10px 24px -14px rgba(201,150,0,.9); }
.btn--gold:hover{ background:#F6C01C; box-shadow:0 16px 30px -14px rgba(201,150,0,.95); }

.btn--navy{ background:var(--navy); color:#fff; }
.btn--navy:hover{ background:var(--navy-3); }

.btn--ghost{ background:transparent; color:var(--navy); border-color:rgba(22,33,58,.3); }
.btn--ghost:hover{ background:rgba(22,33,58,.06); border-color:rgba(22,33,58,.52); }

.btn--lg{ min-height:54px; padding:15px 28px; }
.btn--xl{ min-height:58px; padding:17px 34px; font-size:1.0625rem; }
.btn--block{ display:flex; width:100%; }

.link{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--azure-deep); font-weight:700; font-size:.9375rem; text-decoration:none;
  padding-block:10px;
  transition:color .18s ease, gap .18s var(--ease);
}
.link .i{ width:16px; height:16px; transition:transform .22s var(--ease); }
.link:hover{ color:var(--navy); }
.link:hover .i{ transform:translateX(4px); }

/* etiquetas de condição */
.chips{ display:flex; flex-wrap:wrap; gap:7px; list-style:none; margin:0; padding:0; }
.chips li{
  padding:6px 12px;
  font-size:.8125rem; font-weight:600; color:var(--azure-deep); line-height:1.35;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-pill);
}

/* ═══════════════ faixa de utilidade ═══════════════ */
.utility{ background:var(--sand); color:var(--ink); font-size:.8125rem; }
.utility__in{ display:flex; align-items:center; gap:28px; min-height:42px; flex-wrap:wrap; }
.utility__item{ display:flex; align-items:center; gap:8px; margin:0; }
.utility__item .i{ color:var(--azure-deep); }
.utility__tel{ margin-left:auto; color:var(--navy); text-decoration:none; font-weight:700; }
.utility__tel:hover{ color:var(--azure-deep); }

/* ═══════════════ cabeçalho ═══════════════ */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,253,247,.92);
  backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid var(--line);
  transition:transform .28s var(--ease);
}
.nav.nav--hidden{ transform:translateY(-100%); }
.nav__in{ display:flex; align-items:center; gap:28px; min-height:76px; }
.nav__brand{ flex:none; display:block; line-height:0; }
.nav__brand img{ width:182px; height:auto; }

.nav__links{ display:flex; gap:24px; margin-left:auto; }
.nav__links a{
  position:relative;
  font-size:.9375rem; font-weight:600; color:var(--navy); text-decoration:none;
  padding:6px 0;
}
.nav__links a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--azure); transition:right .22s var(--ease);
}
.nav__links a:hover::after,
.nav__links a.is-current::after{ right:0; }
.nav__links a.is-current{ color:var(--azure-deep); }
.nav__cta{ flex:none; min-height:46px; padding:10px 22px; font-size:.9375rem; }

/* ═══════════════ hero ═══════════════
   Serviço primeiro: título, público, ação. O retrato entra como prova,
   não como assunto. */
.hero{
  position:relative; isolation:isolate; overflow:hidden;
  color:var(--navy);
  background:
    radial-gradient(900px 620px at 12% 18%, rgba(234,177,2,.13), transparent 62%),
    radial-gradient(820px 600px at 88% 6%, rgba(188,91,57,.10), transparent 60%),
    linear-gradient(166deg, #FEFBF4 0%, #F7EFDD 52%, #F1E5CC 100%);
}
.hero__in{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(32px,4.6vw,68px); align-items:center;
  padding-block:clamp(40px,5vw,66px) clamp(44px,5vw,70px);
}
.hero__text{ display:flex; flex-direction:column; align-items:flex-start; }

.hero__eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  margin:0 0 var(--s5); padding:7px 15px 7px 12px;
  background:rgba(255,253,247,.86); border:1px solid var(--line);
  border-radius:var(--r-pill);
  font-size:.8125rem; font-weight:700; color:var(--navy); letter-spacing:-.004em;
}
.hero__eyebrow .i{ width:16px; height:16px; color:var(--azure); }

.hero__h{
  font-size:clamp(2.125rem,4.9vw,3.5rem);
  font-weight:800; letter-spacing:-.042em; line-height:1.04;
  color:var(--navy); margin-bottom:var(--s5);
}
/* Marca-texto de verdade: a cor cobre a palavra inteira, com cantos
   arredondados. O traço fino por baixo, que era a versão anterior, lia
   como um sublinhado quebrado. */
.hero__h em{
  font-style:normal; white-space:nowrap;
  background:rgba(234,177,2,.38);
  padding:.04em .16em; margin-inline:-.1em;
  border-radius:.2em;
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
.hero__sub{
  font-size:1.0625rem; line-height:1.66; color:var(--slate);
  max-width:48ch; margin-bottom:var(--s6);
}

/* públicos atendidos, logo abaixo da promessa */
.hero__aud{
  display:flex; flex-wrap:wrap; gap:8px;
  list-style:none; margin:0 0 var(--s6); padding:0;
}
.hero__aud li{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px;
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-pill);
  font-size:.875rem; font-weight:600; color:var(--navy);
  box-shadow:var(--sh-soft);
}
.hero__aud .i{ width:17px; height:17px; color:var(--azure); }

.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:var(--s5); }

/* oferta do mês: bilhete, não banner */
.hero__offer{
  display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px;
  margin:0 0 var(--s6); padding:11px 18px 11px 15px;
  background:var(--white); border:1px solid var(--line);
  border-left:4px solid var(--gold);
  border-radius:var(--r-md); box-shadow:var(--sh-soft);
  font-size:.9375rem; color:var(--slate);
}
.hero__offer-tag{
  font-size:.6875rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  color:var(--azure-deep);
}
.hero__offer-old{ text-decoration:line-through; color:var(--slate); }
.hero__offer-new{ font-size:1.25rem; font-weight:800; color:var(--navy); letter-spacing:-.03em; }

/* assinatura profissional: pequena, factual */
.hero__pro{
  display:flex; align-items:center; gap:13px;
  padding-top:var(--s5); border-top:1px solid var(--line-dark);
  width:100%; max-width:430px;
}
.hero__pro img{
  width:46px; height:46px; flex:none; border-radius:50%;
  object-fit:cover; object-position:50% 22%;
  border:2px solid var(--white); box-shadow:var(--sh-soft);
}
.hero__pro-name{ font-size:.9375rem; font-weight:700; color:var(--navy); margin:0; line-height:1.3; }
.hero__pro-reg{ font-size:.8125rem; color:var(--slate); margin:2px 0 0; line-height:1.3; }

/* retrato */
.hero__figure{ position:relative; margin:0; }
/* moldura deslocada: dá profundidade sem adicionar mais uma caixa */
.hero__figure::before{
  content:''; position:absolute; inset:18px -18px -18px 18px;
  border:1px solid var(--line-dark); border-radius:var(--r-xl);
  z-index:0;
}
/* height:auto é obrigatório: o atributo height do <img> conta como altura
   definida e, sem isso, o aspect-ratio é ignorado. */
.hero__figure img{
  position:relative; z-index:1;
  width:100%; height:auto; aspect-ratio:4/4.6; object-fit:cover; object-position:50% 18%;
  border-radius:var(--r-xl);
  box-shadow:var(--sh-lift);
}
.hero__badge{
  position:absolute; z-index:2; left:-14px; bottom:26px;
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 17px;
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-pill);
  box-shadow:var(--sh-lift);
  font-size:.875rem; font-weight:700; color:var(--navy);
}
.hero__badge .i{ width:18px; height:18px; color:var(--azure); }

/* faixa de confiança */
.trustbar{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4,1fr);
  list-style:none; margin:0 auto; padding:0 var(--gut);
  border-top:1px solid var(--line-dark);
}
.trustbar li{
  display:flex; align-items:center; gap:11px;
  padding:20px 22px 20px 0;
  font-size:.875rem; font-weight:600; color:var(--navy-3); line-height:1.4;
}
.trustbar li + li{ border-left:1px solid var(--line-dark); padding-left:22px; }
.trustbar .i{ width:22px; height:22px; color:var(--azure); stroke-width:1.5; }

/* ═══════════════ 2 — para quem se aplica ═══════════════ */
.audience{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--s6);
}
.aud{
  position:relative; display:flex; flex-direction:column;
  padding:var(--s8) var(--s6) var(--s6);
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--sh-soft);
  transition:transform .26s var(--ease), box-shadow .26s var(--ease), border-color .26s ease;
}
/* régua superior que preenche no hover — o cartão reage sem saltar de cor */
.aud::before{
  content:''; position:absolute; left:var(--s6); right:var(--s6); top:0; height:3px;
  background:var(--azure); border-radius:0 0 3px 3px;
  transform:scaleX(.22); transform-origin:left;
  transition:transform .32s var(--ease);
}
.aud:hover{ transform:translateY(-5px); box-shadow:var(--sh-pop); border-color:var(--sand-deep); }
.aud:hover::before{ transform:scaleX(1); }

.aud__icon{
  display:grid; place-items:center;
  width:54px; height:54px; margin-bottom:var(--s5);
  background:var(--paper); border:1px solid var(--line); border-radius:16px;
  color:var(--azure-deep);
}
.aud__icon svg{
  width:28px; height:28px; fill:none; stroke:currentColor;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
.aud__h{ font-size:1.3125rem; color:var(--navy); margin-bottom:var(--s2); }
.aud__p{ font-size:.9688rem; line-height:1.6; color:var(--slate); margin-bottom:var(--s5); }
.aud .chips{ margin-bottom:var(--s5); }
.aud .link{ margin-top:auto; align-self:flex-start; }

/* ═══════════════ 3 — o que é ═══════════════ */
.explain{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(32px,4.4vw,64px); align-items:start;
}
.explain__text .sechead{ margin-bottom:var(--s6); }
.explain__text p{ font-size:1.0625rem; line-height:1.72; color:var(--slate); max-width:54ch; }
.explain__note{
  display:flex; gap:13px; align-items:flex-start;
  margin-top:var(--s6); padding:var(--s5) var(--s6);
  background:var(--paper); border:1px solid var(--line);
  border-left:4px solid var(--azure); border-radius:var(--r-md);
  font-size:.9688rem; line-height:1.6; color:var(--navy);
}
.explain__note .i{ width:21px; height:21px; flex:none; color:var(--azure-deep); margin-top:2px; }

.fns{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s4);
  list-style:none; margin:0; padding:0;
}
.fn{
  padding:var(--s5);
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-md);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease);
}
.fn:hover{ transform:translateY(-3px); box-shadow:var(--sh-soft); }
.fn svg{
  width:24px; height:24px; margin-bottom:var(--s3);
  fill:none; stroke:var(--azure); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
.fn h3{ font-family:var(--sans); font-size:1rem; font-weight:700; color:var(--navy); margin-bottom:4px; }
.fn p{ font-size:.875rem; line-height:1.52; color:var(--slate); margin:0; }

/* ═══════════════ 4 — avaliação completa ═══════════════ */
.offer{
  display:grid; grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);
  gap:clamp(24px,3.2vw,44px); align-items:start;
}
.offer__body{
  padding:clamp(28px,3.4vw,44px);
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--sh-soft);
}
.offer__kicker{
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:var(--s4); padding:6px 13px;
  background:var(--navy); color:#fff; border-radius:var(--r-pill);
  font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
}
.offer__h{ font-size:clamp(1.5rem,2.4vw,1.875rem); color:var(--navy); margin-bottom:var(--s3); }
.offer__p{ font-size:1rem; line-height:1.66; color:var(--slate); max-width:58ch; margin-bottom:var(--s8); }

.incl{ list-style:none; margin:0; padding:0; display:grid; gap:var(--s4); }
.incl li{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start;
  font-size:.9688rem; line-height:1.55; color:var(--navy);
}
.incl svg{
  width:26px; height:26px; flex:none; padding:5px;
  background:var(--paper); border-radius:50%;
  fill:none; stroke:var(--azure-deep); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;
}
.incl strong{ display:block; font-weight:700; }
.incl span{ display:block; font-size:.875rem; color:var(--slate); font-weight:500; }

/* cartão comercial */
.price{
  position:sticky; top:104px;
  padding:clamp(26px,3vw,34px);
  background:linear-gradient(168deg, var(--white) 0%, var(--paper) 100%);
  border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--sh-lift);
}
.price__label{
  font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--azure-deep); margin:0 0 var(--s3);
}
.price__row{ display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-bottom:var(--s3); }
.price__old{
  font-size:1.25rem; font-weight:700; color:var(--slate-2);
  text-decoration:line-through; text-decoration-color:var(--azure); letter-spacing:-.02em;
}
.price__new{
  font-size:clamp(2.25rem,3.4vw,2.75rem); font-weight:800; color:var(--navy);
  letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums;
}
.price__badge{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 14px;
  background:var(--gold); color:#1E1606; border-radius:var(--r-pill);
  font-size:.8125rem; font-weight:800;
}
.price__badge .i{ width:15px; height:15px; stroke-width:2; }

.price__meta{ list-style:none; margin:0 0 var(--s6); padding:0; }
.price__meta li{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:12px 0; border-top:1px solid var(--line);
  font-size:.9375rem;
}
.price__meta li:first-child{ border-top:none; }
.price__meta dt,
.price__meta span:first-child{ color:var(--slate); }
.price__meta strong{ color:var(--navy); font-weight:700; text-align:right; }

.price__urgency{
  font-size:.875rem; font-weight:700; color:var(--azure-deep);
  margin:var(--s3) 0 var(--s6);
}
.price__note{ font-size:.8438rem; line-height:1.55; color:var(--slate); margin:var(--s4) 0 0; }

/* ═══════════════ 5 — a profissional ═══════════════ */
.pro{
  display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(32px,4.4vw,62px); align-items:center;
}
.pro__figure{ position:relative; margin:0; }
.pro__figure img{
  width:100%; height:auto; aspect-ratio:1/1.08; object-fit:cover;
  border-radius:var(--r-xl); box-shadow:var(--sh-lift);
}
.pro__reg{
  position:absolute; right:-12px; bottom:22px;
  padding:12px 18px;
  background:var(--navy); color:#fff; border-radius:var(--r-md);
  box-shadow:var(--sh-lift);
  text-align:center;
}
.pro__reg span{ display:block; font-size:.6875rem; font-weight:700; letter-spacing:.1em; opacity:.72; }
.pro__reg strong{ display:block; font-size:1.0625rem; font-weight:800; letter-spacing:-.01em; }

.pro__h{ font-size:clamp(1.75rem,3vw,2.25rem); color:var(--navy); margin-bottom:6px; }
.pro__role{ font-size:1rem; font-weight:700; color:var(--azure-deep); margin-bottom:var(--s5); }
.pro__body p{ font-size:1.0313rem; line-height:1.7; color:var(--slate); max-width:56ch; }

.creds{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3);
  list-style:none; margin:var(--s8) 0 0; padding:0;
}
.creds li{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start;
  padding:var(--s4);
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md);
}
.creds svg{
  width:20px; height:20px; margin-top:2px;
  fill:none; stroke:var(--azure-deep); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
.creds strong{ display:block; font-size:.9375rem; font-weight:700; color:var(--navy); line-height:1.35; }
.creds span{ display:block; font-size:.8438rem; color:var(--slate); margin-top:2px; }

.more{ margin-top:var(--s6); }
.more summary{
  cursor:pointer; list-style:none;
  display:inline-flex; align-items:center; gap:9px;
  font-size:.9375rem; font-weight:700; color:var(--azure-deep); padding:8px 0;
}
.more summary::-webkit-details-marker{ display:none; }
.more summary::after{
  content:''; width:9px; height:9px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px); transition:transform .24s var(--ease);
}
.more[open] summary::after{ transform:rotate(-135deg) translateY(-2px); }
.more summary:hover{ color:var(--navy); }
.more__text{
  margin-top:var(--s3); padding-left:var(--s4);
  border-left:2px solid var(--line);
  font-size:.9063rem; line-height:1.72; color:var(--slate);
}
.more__text p{ margin:0 0 7px; }
.more__text p:last-child{ margin:0; }

/* ═══════════════ 6 — etapas ═══════════════ */
.flow{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s6); }
.step{ position:relative; display:flex; flex-direction:column; }
.step__top{ position:relative; display:flex; align-items:center; gap:14px; margin-bottom:var(--s5); }
/* fio que liga um marcador ao próximo */
.step__top::after{
  content:''; position:absolute; left:56px; right:calc(var(--s6) * -1 - 2px); top:50%;
  height:2px; background:repeating-linear-gradient(90deg, var(--sand-deep) 0 6px, transparent 6px 12px);
}
.step:last-child .step__top::after{ display:none; }
.step__num{
  display:grid; place-items:center; flex:none;
  width:52px; height:52px; border-radius:50%;
  background:var(--white); border:2px solid var(--navy);
  font-size:1.0625rem; font-weight:800; color:var(--navy); letter-spacing:-.02em;
}
.step__icon{
  display:grid; place-items:center; flex:none;
  width:40px; height:40px; border-radius:12px;
  background:var(--paper-2); color:var(--azure-deep);
}
.step__icon svg{
  width:22px; height:22px; fill:none; stroke:currentColor;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
.step__h{ font-family:var(--sans); font-size:1.0625rem; font-weight:700; color:var(--navy); margin-bottom:7px; }
.step__dur{
  display:inline-flex; align-self:flex-start; align-items:center; gap:6px; margin-bottom:10px;
  padding:4px 11px;
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-pill);
  font-size:.75rem; font-weight:700; color:var(--azure-deep);
}
.step__dur .i{ width:13px; height:13px; }
.step p{ font-size:.9375rem; line-height:1.58; color:var(--slate); margin:0; }

/* ═══════════════ 7 — duração total ═══════════════ */
.dur{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5);
  margin-bottom:var(--s12);
}
.stat{
  padding:var(--s8) var(--s6);
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--sh-soft); text-align:center;
}
.stat__n{
  display:block; font-family:var(--display); font-variant-numeric:tabular-nums;
  font-size:clamp(2.25rem,4vw,3rem); font-weight:800; color:var(--navy);
  letter-spacing:-.05em; line-height:1; margin-bottom:10px;
}
.stat__n small{ font-size:.4em; font-weight:700; letter-spacing:-.01em; }
.stat__l{ font-size:.9375rem; color:var(--slate); margin:0; line-height:1.5; }

.phases{ display:flex; gap:10px; margin-bottom:var(--s6); }
.phase{ flex:var(--f,1); min-width:0; }
.phase__bar{
  height:10px; border-radius:var(--r-pill); margin-bottom:12px;
  background:var(--sand-deep);
}
.phase:nth-child(1) .phase__bar{ background:var(--azure-lift); }
.phase:nth-child(2) .phase__bar{ background:var(--azure); }
.phase:nth-child(3) .phase__bar{ background:var(--navy-3); }
.phase:nth-child(4) .phase__bar{ background:var(--gold); }
.phase__h{ font-size:.875rem; font-weight:700; color:var(--navy); margin:0 0 2px; line-height:1.35; }
.phase__d{ font-size:.8125rem; color:var(--slate); margin:0; }

.dur__note{
  display:flex; align-items:flex-start; gap:12px;
  padding:var(--s5) var(--s6);
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-md);
  font-size:.9375rem; line-height:1.6; color:var(--slate);
}
.dur__note .i{ width:20px; height:20px; flex:none; color:var(--azure-deep); margin-top:2px; }

/* ═══════════════ depoimentos ═══════════════ */
.sec--reviews{ background:linear-gradient(180deg, var(--paper-2), var(--sand)); overflow:hidden; }

.reviews__summary{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  margin:4px 0 46px; text-align:center;
}
.reviews__summary-label{
  font-size:1.5rem; font-weight:800; color:var(--navy);
  letter-spacing:-.01em; text-transform:uppercase; line-height:1;
}
.reviews__stars{ display:flex; gap:5px; }
.reviews__star{ width:22px; height:22px; }
.reviews__star.is-full{ fill:var(--gold-deep); }
.reviews__summary-sub{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px;
  font-size:.9375rem; color:var(--ink);
}
.reviews__glogo{ width:17px; height:17px; flex:none; }

.reviews{ position:relative; }
.reviews__viewport{ overflow:hidden; margin:0 -4px; padding:4px; }
.reviews__track{
  display:flex; align-items:stretch; gap:20px;
  list-style:none; margin:0; padding:0;
  will-change:transform;
  transition:transform 1.1s cubic-bezier(.65,0,.35,1);
}
.reviews__track.is-jumping{ transition:none; }
.reviews__slide{ flex:none; width:380px; }

.review-card{
  display:flex; flex-direction:column; height:100%;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:30px 28px 26px;
  opacity:.55;
  box-shadow:0 18px 44px -26px rgba(74,52,24,.4);
  transition:opacity .5s ease, transform .5s var(--ease), box-shadow .5s ease, border-color .5s ease;
}
.reviews__slide.is-active .review-card{
  opacity:1; transform:translateY(-6px);
  border-color:rgba(201,150,0,.55);
  box-shadow:0 30px 60px -22px rgba(74,52,24,.45), 0 0 0 2px rgba(201,150,0,.5);
}

.review-card__head{ display:flex; align-items:center; gap:13px; }
.review-card__avatar{
  position:relative; display:flex; align-items:center; justify-content:center; flex:none;
  width:52px; height:52px; border-radius:16px;
  font-size:1rem; font-weight:800; color:#fff; letter-spacing:.01em;
}
.review-card__avatar--azure{ background:var(--azure-deep); }
.review-card__avatar--azure-deep{ background:var(--azure); }
.review-card__avatar--navy-3{ background:var(--navy-3); }
.review-card__avatar--slate{ background:var(--slate); }
.review-card__badge{
  position:absolute; right:-4px; bottom:-4px;
  display:grid; place-items:center;
  width:19px; height:19px; border-radius:50%;
  background:#fff; box-shadow:0 1px 4px rgba(6,14,26,.4);
}
.review-card__glogo{ width:13px; height:13px; }
.review-card__name{ font-size:1.0625rem; font-weight:800; color:var(--navy); letter-spacing:-.012em; line-height:1.3; }
.review-card__date{ font-size:.8125rem; color:var(--slate); margin-top:1px; }

.review-card__rating{ display:flex; align-items:center; gap:7px; margin-top:16px; }
.review-card__stars{ display:flex; gap:3px; }
.review-card__star{ width:18px; height:18px; }
.review-card__star.is-full{ fill:var(--gold-deep); }
.review-card__verified{
  display:grid; place-items:center;
  width:15px; height:15px; border-radius:50%;
  background:#3A63C8; color:#fff; font-size:.625rem; line-height:1;
}

.review-card__quote{
  margin:18px 0 0; flex:1;
  font-size:1.0313rem; line-height:1.64; color:var(--slate); letter-spacing:-.004em;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:7; overflow:hidden;
}
.review-card__quote p{ margin:0; }

.review-card__footer{
  margin-top:20px; padding-top:16px; border-top:1px solid var(--line);
  font-size:.875rem; color:var(--slate);
}

.reviews__arrow{
  position:absolute; top:50%; z-index:3;
  display:grid; place-items:center;
  width:48px; height:48px; margin-top:-24px;
  border-radius:50%; border:1px solid var(--line);
  background:var(--white);
  box-shadow:var(--sh-soft);
  color:var(--navy); cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, transform .18s var(--ease);
}
.reviews__arrow .i{ width:20px; height:20px; }
.reviews__arrow:hover{ background:var(--gold); border-color:var(--gold); color:#1E1606; transform:scale(1.06); }
.reviews__arrow--prev{ left:-12px; }
.reviews__arrow--next{ right:-12px; }
.reviews__arrow[hidden]{ display:none; }

.reviews__dots{ display:flex; justify-content:center; gap:9px; margin-top:22px; }
.reviews__dots button{
  display:grid; place-items:center; width:30px; height:30px;
  background:none; border:0; padding:0; cursor:pointer;
}
.reviews__dots span{
  display:block; width:7px; height:7px; border-radius:50%;
  background:rgba(22,33,58,.24); transition:transform .25s var(--ease), background-color .25s ease;
}
.reviews__dots button[aria-current="true"] span{ background:var(--gold-deep); transform:scale(1.45); }

/* pausa: visível só para o teclado — WCAG 2.2.2 */
.reviews__pause{
  position:absolute; width:1px; height:1px; margin:0; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.reviews__pause:focus{
  position:static; width:auto; height:auto; clip:auto; overflow:visible; white-space:normal;
  display:inline-flex; margin-top:16px; padding:10px 18px;
  border:1px solid rgba(22,33,58,.35); border-radius:var(--r-pill);
  color:var(--navy); font-size:.875rem; font-weight:700; background:var(--white);
}

.reviews__actions{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px 28px;
  margin-top:48px;
}
.link--light{ color:var(--navy); }
.link--light:hover{ color:var(--azure-deep); }

/* sem JavaScript: a lista envolve em grade, sem trilho nem setas */
.reviews:not(.is-ready) .reviews__track{ flex-wrap:wrap; justify-content:center; transition:none; }
.reviews:not(.is-ready) .reviews__slide{ width:min(380px, 100%); }
.reviews:not(.is-ready) .review-card{ opacity:1; }
.reviews:not(.is-ready) .reviews__arrow,
.reviews:not(.is-ready) .reviews__dots{ display:none; }

/* ═══════════════ 8 — chamada final ═══════════════ */
.final{
  position:relative; overflow:hidden;
  background:
    radial-gradient(720px 420px at 50% 0%, rgba(234,177,2,.18), transparent 68%),
    linear-gradient(160deg, var(--paper) 0%, var(--sand) 100%);
  color:var(--ink); text-align:center;
  padding-block:clamp(62px,7vw,92px);
}
.final__in{ position:relative; z-index:1; max-width:720px; }
.final .tagline{ justify-content:center; }
.final__h{
  font-size:clamp(1.875rem,3.6vw,2.625rem); color:var(--navy);
  font-weight:800; letter-spacing:-.034em; margin-bottom:var(--s4);
}
.final__p{ font-size:1.0625rem; line-height:1.68; color:var(--ink); margin-bottom:var(--s8); }
.final__alt{ margin-top:var(--s5); font-size:.9375rem; color:var(--ink); }
.final__alt a{ color:var(--navy); font-weight:700; text-decoration:none; border-bottom:1px solid rgba(22,33,58,.35); }
.final__alt a:hover{ color:var(--azure-deep); border-bottom-color:var(--azure-deep); }

/* ═══════════════ 9 — dúvidas ═══════════════ */
.faq__wrap{ max-width:880px; }
.faq details{ border-bottom:1px solid var(--line); }
.faq details:first-of-type{ border-top:1px solid var(--line); }
.faq summary{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  list-style:none; cursor:pointer;
  padding:22px 4px;
  font-size:1.0625rem; font-weight:700; color:var(--navy);
  letter-spacing:-.018em; line-height:1.45;
  transition:color .18s ease;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:''; flex:none; width:14px; height:14px; margin-top:6px;
  border-right:2.5px solid var(--azure); border-bottom:2.5px solid var(--azure);
  transform:rotate(45deg); transition:transform .24s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(-135deg); }
.faq details[open] summary{ color:var(--azure-deep); }
.faq summary:hover{ color:var(--azure-deep); }
.faq details > div{ padding:0 4px 24px; }
.faq details p{ font-size:1rem; color:var(--slate); line-height:1.68; max-width:68ch; }

/* ═══════════════ localização ═══════════════ */
.local{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:clamp(32px,4vw,54px); align-items:start; }
.local__h{ font-size:1.5rem; color:var(--navy); margin-bottom:12px; }
.local__addr{
  font-style:normal; font-size:1.125rem; line-height:1.6; color:var(--navy); font-weight:600;
  margin-bottom:10px;
}
.local__ref{ font-size:.9688rem; color:var(--slate); margin-bottom:26px; }

.local__dl{ margin:0 0 28px; }
.local__dl dt{
  font-size:.75rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
  color:var(--azure-deep);
  padding-top:16px; margin-top:16px; border-top:1px solid var(--line);
}
.local__dl dt:first-child{ border-top:none; margin-top:0; padding-top:0; }
.local__dl dd{ margin:5px 0 0; font-size:1rem; color:var(--navy); line-height:1.55; }
.local__dl dd a{ color:var(--navy); font-weight:600; text-decoration:none; border-bottom:1px solid var(--line); }
.local__dl dd a:hover{ color:var(--azure-deep); }

.local__actions{ display:flex; flex-wrap:wrap; gap:14px; }

.local__map{
  border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--line); box-shadow:var(--sh-lift);
  background:var(--paper-2);
  aspect-ratio:4/3.2;
}
.local__map iframe{ width:100%; height:100%; border:0; display:block; }

/* ═══════════════ rodapé ═══════════════ */
.foot{ background:var(--sand-deep); color:var(--ink); padding-block:58px 0; font-size:.9375rem; }
.foot__in{
  display:grid; grid-template-columns:1.35fr 1fr 1fr 1.1fr; gap:44px;
  padding-bottom:42px;
}
.foot__brand img{ width:196px; height:auto; margin-bottom:18px; }
.foot__brand p{ line-height:1.6; }
.foot__col h2{
  font-family:var(--sans); font-size:.9375rem; font-weight:800; color:var(--navy);
  margin-bottom:14px;
}
.foot__col p{ margin-bottom:.7em; line-height:1.6; }
.foot a{ color:var(--navy); text-decoration:none; border-bottom:1px solid rgba(22,33,58,.3); }
.foot a:hover{ color:var(--azure-deep); border-bottom-color:var(--azure-deep); }

.foot__legal{
  display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;
  padding-block:22px 28px;
  border-top:1px solid rgba(90,70,40,.22);
  font-size:.8125rem; color:var(--navy-3);
}
.foot__legal p{ margin:0; }

/* ═══════════════ botão flutuante ═══════════════ */
.wafab{
  position:fixed; right:22px; bottom:22px; z-index:120;
  display:flex; align-items:center; gap:12px;
  text-decoration:none;
  padding-bottom:env(safe-area-inset-bottom);
}
.wafab__disc{
  position:relative;
  display:grid; place-items:center;
  width:62px; height:62px; flex:none;
  border-radius:50%;
  background:#25D366;
  box-shadow:0 4px 12px rgba(6,60,30,.28), 0 14px 32px -10px rgba(37,211,102,.7);
  transition:transform .2s var(--ease), box-shadow .2s ease;
}
.wafab__disc svg{ width:33px; height:33px; fill:#fff; }
.wafab__disc::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:2px solid #25D366;
  animation:wapulse 2.8s ease-out infinite;
}
@keyframes wapulse{
  0%   { transform:scale(1);    opacity:.6; }
  70%  { transform:scale(1.45); opacity:0; }
  100% { transform:scale(1.45); opacity:0; }
}
.wafab__label{
  padding:10px 18px; border-radius:var(--r-pill);
  background:var(--white); color:var(--navy);
  font-size:.9375rem; font-weight:700; white-space:nowrap;
  border:1px solid var(--line);
  box-shadow:var(--sh-soft);
  opacity:0; transform:translateX(14px); pointer-events:none;
  transition:opacity .2s ease, transform .2s var(--ease);
}
.wafab:hover .wafab__label,
.wafab:focus-visible .wafab__label{ opacity:1; transform:none; }
.wafab:hover .wafab__disc{ transform:scale(1.06); }
.wafab:focus-visible{ outline:none; }
.wafab:focus-visible .wafab__disc{ outline:3px solid var(--gold-deep); outline-offset:4px; }

/* ═══════════════════════════════════════════════════════
   RESPONSIVO — o celular é o caso principal
   ═══════════════════════════════════════════════════════ */

@media (max-width:1080px){
  .hero__in{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
  .hero__badge{ left:-8px; }
  .trustbar{ grid-template-columns:repeat(2,1fr); }
  .trustbar li:nth-child(odd){ border-left:none; padding-left:0; }
  .trustbar li:nth-child(n+3){ border-top:1px solid var(--line-dark); }
  .audience{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .explain{ grid-template-columns:1fr; }
  .offer{ grid-template-columns:1fr; }
  .price{ position:static; }
  .flow{ grid-template-columns:repeat(2,1fr); row-gap:var(--s10); }
  .step:nth-child(2) .step__top::after{ display:none; }
  .reviews__slide{ width:320px; }
  .foot__in{ grid-template-columns:1fr 1fr; gap:36px; }
}

@media (max-width:960px){
  html{ scroll-padding-top:84px; }
  .utility{ display:none; }
  .nav__links{ display:none; }
  .nav__in{ min-height:64px; justify-content:space-between; }
  .nav__brand img{ width:150px; }
  .nav__cta{ margin-left:auto; }

  /* Hero: a mensagem inteira vem antes do retrato. */
  .hero__in{ grid-template-columns:1fr; gap:var(--s8); padding-block:var(--s8) var(--s10); }
  .hero__text{ align-items:stretch; }
  .hero__h{ font-size:clamp(2rem,7.4vw,2.75rem); }
  .hero__sub{ max-width:none; }
  .hero__actions{ flex-direction:column; align-items:stretch; }
  .hero__actions .btn{ width:100%; }
  .hero__pro{ max-width:none; }
  .hero__figure{ order:2; }
  .hero__figure::before{ inset:14px -14px -14px 14px; }
  .hero__figure img{ aspect-ratio:16/11; object-position:50% 16%; }
  .hero__badge{ left:auto; right:14px; bottom:-14px; }

  .pro{ grid-template-columns:1fr; gap:var(--s10); }
  .pro__figure{ width:min(420px,100%); margin-inline:auto; }
  .pro__figure img{ aspect-ratio:4/3.4; object-position:50% 24%; }
  .pro__reg{ right:14px; bottom:-16px; }

  .local{ grid-template-columns:1fr; gap:var(--s8); }
  .local__map{ order:-1; aspect-ratio:4/3; }
  .local__actions .btn{ width:100%; }

  .reviews__arrow--prev{ left:4px; }
  .reviews__arrow--next{ right:4px; }

  .foot{ padding-top:46px; }
  .foot__legal{ flex-direction:column; gap:10px; padding-bottom:96px; }

  .wafab{ right:16px; bottom:16px; }
  .wafab__label{ display:none; }
  .wafab__disc::before{ animation-duration:3.4s; }
}

@media (max-width:760px){
  :root{ --gut:20px; }
  body{ font-size:16.5px; }

  .nav__cta-long{ display:none; }
  .nav__cta{ padding:10px 18px; }

  .sechead{ margin-bottom:var(--s8); }

  /* No celular os blocos entram um embaixo do outro: o atraso em cascata
     só criaria buracos brancos durante a rolagem. */
  .js .reveal{ transition-delay:0ms; }

  .hero__eyebrow{ font-size:.75rem; padding:6px 13px 6px 10px; }
  .hero__aud li{ font-size:.8125rem; padding:7px 12px; }
  .hero__offer{ font-size:.875rem; padding:11px 15px 11px 13px; }
  .hero__offer-new{ font-size:1.125rem; }

  .trustbar{ grid-template-columns:1fr; padding-bottom:var(--s5); }
  .trustbar li{ padding:14px 0; border-top:1px solid var(--line-dark); }
  .trustbar li:first-child{ border-top:none; }
  .trustbar li + li{ border-left:none; padding-left:0; }
  .trustbar li:nth-child(odd){ padding-left:0; }

  .audience{ grid-template-columns:1fr; gap:var(--s5); }
  .aud{ padding:var(--s6) var(--s5) var(--s5); }
  .aud::before{ left:var(--s5); right:var(--s5); transform:scaleX(1); }

  .fns{ gap:var(--s3); }
  .fn{ padding:var(--s4); }

  .offer__body{ padding:var(--s6) var(--s5); }
  .incl li{ gap:12px; }

  /* Etapas viram uma linha do tempo vertical: o número fica no trilho, à
     esquerda, e o ícone abre a coluna de texto. */
  .flow{ grid-template-columns:1fr; gap:0; }
  .step{ padding-left:72px; padding-bottom:var(--s8); }
  .step:last-child{ padding-bottom:0; }
  .step__top{ position:static; margin-bottom:var(--s3); }
  .step__num{ position:absolute; left:0; top:0; width:50px; height:50px; }
  .step__top::after{ display:none; }
  .step::after{
    content:''; position:absolute; left:24px; top:58px; bottom:10px; width:2px;
    background:repeating-linear-gradient(180deg, var(--sand-deep) 0 6px, transparent 6px 12px);
  }
  .step:last-child::after{ display:none; }

  .dur{ grid-template-columns:1fr; gap:var(--s4); margin-bottom:var(--s8); }
  .stat{ display:flex; align-items:center; gap:var(--s5); text-align:left; padding:var(--s5) var(--s6); }
  /* O número vira rótulo lateral: sem quebra, para "6 a 10" não virar duas linhas. */
  .stat__n{ flex:none; white-space:nowrap; margin-bottom:0; font-size:1.875rem; }
  .stat__l{ font-size:.9375rem; }

  /* As fases deixam de ser uma barra e viram linhas legíveis. */
  .phases{ flex-direction:column; gap:var(--s3); }
  .phase{ display:grid; grid-template-columns:6px minmax(0,1fr) auto; align-items:center; gap:14px; }
  .phase__bar{ height:100%; min-height:36px; margin:0; }
  .phase__d{ text-align:right; white-space:nowrap; }

  .creds{ grid-template-columns:1fr; }

  .reviews__slide{ width:86%; }
  .review-card{ padding:26px 22px 22px; }
  .review-card__quote{ -webkit-line-clamp:9; }
  .reviews__arrow{ display:none; }

  .faq summary{ font-size:1rem; padding:20px 2px; }

  .foot__in{ grid-template-columns:1fr; gap:30px; }
}

@media (max-width:400px){
  /* Em 320px a marca e o botão não cabem lado a lado na largura original. */
  .nav__in{ gap:12px; }
  .nav__brand img{ width:126px; }
  .nav__cta{ padding:10px 14px; font-size:.875rem; }

  .wafab__disc{ width:58px; height:58px; }
  .wafab__disc svg{ width:31px; height:31px; }
  .hero__aud li .i{ display:none; }
  .stat{ gap:var(--s4); padding:var(--s5); }
  .stat__n{ font-size:1.625rem; }
}

/* ═══════════════ preferências ═══════════════ */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .btn:hover,.aud:hover,.fn:hover{ transform:none; }
  .wafab__disc::before{ display:none; }
  .js .reveal{ opacity:1; transform:none; }
}

@media print{
  .nav,.wafab,.local__map,.utility,.reviews__arrow,.reviews__dots{ display:none !important; }
  body{ color:#000; }
  body::after{ display:none; }
  .hero,.final,.foot,.sec--paper,.sec--paper-2,.sec--reviews{ background:#fff !important; color:#000 !important; }
  .js .reveal{ opacity:1 !important; transform:none !important; }
}
