/* ===== Ímpeto Fisioterapia — Design System v2 =====
   Paleta travada no logo oficial: petróleo profundo + sage (eucalipto) + âmbar (acento único).
   Efeitos dentro do budget "saúde premium": reveal com stagger, sombras em camadas,
   hover multi-propriedade, hero com overlay em camadas. Nada além disso. */
:root{
  /* Marca (extraída do logo) */
  --petrol-950:#06262D;   /* oficial Canva */
  --petrol-900:#0B3540;
  --petrol-800:#104450;
  --petrol-700:#155463;
  --sage-500:#5E99A2;     /* azul claro da marca, ajustado p/ leitura em fundo claro */
  --sage-300:#92B7BC;     /* oficial Canva */
  --sage-100:#E3EEF0;
  --sage-rgb:146,183,188;
  --off-white:#FCFEFE; --areia:#E9F1F2;
  --ambar:#FFDE59; --ambar-dark:#E3C22F; --ambar-deep:#7A660F; --ambar-rgb:255,222,89;
  --ink:#06262D; --text:#33413E; --white:#FFFFFF;
  /* Aliases v1 (páginas existentes) */
  --verde-900:var(--petrol-900); --verde-700:var(--petrol-700); --verde-100:var(--sage-100);
  --ff-display:"Playfair Display",Georgia,serif; --ff-body:"Poppins",system-ui,sans-serif;
  --radius:20px; --radius-lg:32px;
  /* Sombras em camadas */
  --shadow-subtle:0 2px 8px rgba(12,42,46,.04),0 1px 3px rgba(12,42,46,.03);
  --shadow:0 4px 16px rgba(12,42,46,.06),0 2px 6px rgba(12,42,46,.04);
  --shadow-hover:0 20px 40px rgba(12,42,46,.10),0 8px 16px rgba(12,42,46,.05);
  --shadow-glow-wa:0 8px 24px rgba(var(--ambar-rgb),.30),0 2px 8px rgba(var(--ambar-rgb),.18);
  --ease-expo:cubic-bezier(.16,1,.3,1);
  --ease-quart:cubic-bezier(.25,.46,.45,.94);
  --maxw:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--ff-body);font-size:18px;line-height:1.65;color:var(--text);background:var(--off-white)}
img{max-width:100%;height:auto;display:block;border-radius:var(--radius)}
::selection{background:rgba(var(--sage-rgb),.45);color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ambar-deep);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--ff-display);color:var(--ink);line-height:1.12;font-weight:500}
h1{font-size:clamp(2.5rem,5.5vw,4rem);letter-spacing:-.03em}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);letter-spacing:-.02em}
h3{font-size:1.25rem;font-weight:600}
h1 em,h2 em{font-style:normal;color:var(--ink);background:linear-gradient(transparent 60%,rgba(255,222,89,.8) 60%)}
.section--dark h1 em,.section--dark h2 em,.hero h1 em,.hero--video h1 em{color:var(--ambar);background:none}
a{color:var(--petrol-700)}
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
.section{padding:clamp(44px,7vw,80px) 0;position:relative}
.section--alt{background:linear-gradient(180deg,var(--areia) 0%,var(--off-white) 100%)}
.section--dark{background:radial-gradient(900px 480px at 85% -10%,rgba(var(--sage-rgb),.14),transparent 60%),linear-gradient(165deg,var(--petrol-900) 0%,var(--petrol-950) 100%);color:var(--sage-100);overflow:hidden}
.section--dark h2,.section--dark h3{color:var(--white)}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-500);margin-bottom:14px}
.eyebrow::before{content:"";display:inline-block;width:26px;height:1.5px;background:currentColor;vertical-align:middle;margin-right:10px;opacity:.6}
.section--dark .eyebrow,.hero .eyebrow{color:var(--ambar)}
.lead{font-size:1.15rem;max-width:48ch}
/* Divisor suave entre seções */
.section--dark::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--sage-rgb),.35),transparent)}
/* Botões */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 30px;border-radius:999px;font-weight:600;font-size:1.05rem;text-decoration:none;border:0;cursor:pointer;position:relative;overflow:hidden;transition:transform .3s var(--ease-quart),box-shadow .3s var(--ease-quart),background-color .3s,color .3s}
.btn--wa{background:var(--ambar);color:var(--petrol-950);box-shadow:var(--shadow-glow-wa)}
.btn--wa::before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(177deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 55%);pointer-events:none}
.btn--wa:hover{background:var(--ambar-dark);color:var(--petrol-950);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 32px rgba(var(--ambar-rgb),.45),0 4px 12px rgba(var(--ambar-rgb),.25)}
.btn--ghost{background:transparent;color:var(--petrol-900);border:1.5px solid rgba(12,42,46,.55)}
.btn--ghost:hover{background:var(--petrol-900);color:var(--white);transform:translateY(-2px);border-color:var(--petrol-900)}
.section--dark .btn--ghost,.hero .btn--ghost{color:var(--white);border-color:rgba(255,255,255,.35)}
.section--dark .btn--ghost:hover,.hero .btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6)}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(252,254,254,.85);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid rgba(12,42,46,.07)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:12px;max-width:1360px}
.site-header__logo img{height:44px;width:auto;border-radius:0}
.site-nav{display:flex;gap:2px;align-items:center;flex-wrap:nowrap;min-width:0}
.site-nav a{padding:10px 7px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.82rem;font-weight:500;white-space:nowrap;transition:background-color .25s,color .25s}
.site-nav a:hover{background:rgba(var(--sage-rgb),.25)}
.site-nav a[aria-current="page"]{color:var(--petrol-700);font-weight:700;background:rgba(var(--sage-rgb),.18)}
.site-nav a.btn{padding:12px 24px;min-height:48px;font-size:1rem;border-radius:999px}
.site-nav a.btn:hover{background:var(--ambar-dark);color:var(--petrol-950)}
.site-header__cta{flex-shrink:0}
.menu-toggle{display:none;background:none;border:0;font-size:1.8rem;color:var(--petrol-900);cursor:pointer;min-width:48px;min-height:48px}
/* ===== Hero — camadas de profundidade ===== */
.hero{padding:clamp(72px,10vw,120px) 0;position:relative;overflow:hidden;color:var(--sage-100);background:linear-gradient(168deg,var(--petrol-800) 0%,var(--petrol-900) 45%,var(--petrol-950) 100%)}
.hero::before{content:"";position:absolute;width:640px;height:640px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(var(--sage-rgb),.22),transparent 68%);filter:blur(70px);pointer-events:none}
.hero::after{content:"";position:absolute;width:420px;height:420px;left:-140px;bottom:-220px;border-radius:50%;background:radial-gradient(circle,rgba(var(--ambar-rgb),.12),transparent 70%);filter:blur(80px);pointer-events:none}
.hero .container{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center;position:relative;z-index:1}
.hero h1{color:var(--white)}
.hero .lead{margin:22px 0 34px;color:rgba(220,231,229,.88)}
/* Selo de confiança (glass) */
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);font-size:.85rem;font-weight:500;color:var(--sage-100);margin-bottom:20px}
.hero-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ambar);box-shadow:0 0 10px rgba(var(--ambar-rgb),.8)}
/* Mídia do hero com máscara orgânica (motivo do logo) */
.hero__media{position:relative;max-width:440px;justify-self:center;width:100%}
.hero__media img{width:100%;height:auto;border-radius:28px;box-shadow:0 25px 50px -12px rgba(0,0,0,.35)}
.hero__media .media-ph,.hero__media svg{width:100%;aspect-ratio:310/282;border-radius:28px;box-shadow:0 25px 50px -12px rgba(0,0,0,.35)}
.hero__media::before{content:"";position:absolute;width:72%;height:72%;right:-26px;bottom:-26px;z-index:-1;border-radius:46% 54% 52% 48%/58% 44% 56% 42%;background:rgba(var(--sage-rgb),.4);pointer-events:none}
.hero__media{z-index:0}
.media-ph{display:grid;place-items:center;background:linear-gradient(150deg,var(--petrol-700),var(--petrol-900) 70%);color:rgba(var(--sage-rgb),.55)}
/* Link secundário discreto */
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--petrol-700);text-decoration:none;padding:12px 4px;min-height:48px;border-bottom:2px solid rgba(var(--sage-rgb),.6);transition:gap .25s var(--ease-quart),border-color .25s}
.link-arrow:hover{gap:10px;border-color:var(--ambar-dark)}
/* Variantes de máscara (identidade por página) */
.hero__media.mask-b::before{right:auto;left:-26px;bottom:auto;top:-26px;background:rgba(var(--ambar-rgb),.22)}
.hero__media.mask-c::before{right:-26px;top:-26px;bottom:auto;border-radius:54% 46% 44% 56%/46% 56% 44% 54%}
/* Par de CTAs do hero */
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
/* Variante clara (diferencia páginas: pilates, massoterapia, pélvica) */
.hero--light{background:radial-gradient(820px 460px at 88% -10%,rgba(var(--sage-rgb),.4),transparent 62%),linear-gradient(170deg,var(--off-white) 0%,var(--areia) 100%);color:var(--text)}
.hero--light::before{background:radial-gradient(circle,rgba(var(--sage-rgb),.35),transparent 68%)}
.hero--light::after{background:radial-gradient(circle,rgba(var(--ambar-rgb),.14),transparent 70%)}
.hero--light h1{color:var(--ink)}
.hero--light h1 em{color:var(--ink);background:linear-gradient(transparent 60%,rgba(255,222,89,.8) 60%)}
.hero--light .lead{color:var(--text)}
.hero--light .eyebrow{color:var(--sage-500)}
.hero--light .hero-badge{background:rgba(255,255,255,.65);border-color:rgba(12,42,46,.1);color:var(--petrol-900)}
.hero--light .btn--ghost{color:var(--petrol-900);border-color:rgba(12,42,46,.35)}
.hero--light .btn--ghost:hover{background:var(--petrol-900);color:var(--white)}
.hero--light .hero__media::before{border-color:rgba(12,42,46,.15)}
.hero--light .media-ph{background:linear-gradient(150deg,var(--sage-300),var(--sage-100) 75%);color:var(--petrol-700)}
/* Entrada do hero: fade + blur + rise com stagger (todas as páginas) */
@media (prefers-reduced-motion:no-preference){
  .hero .eyebrow,.hero .hero-badge,.hero h1,.hero .lead,.hero .btn,.hero .hero-actions,.hero__media{opacity:0;transform:translateY(28px);filter:blur(8px);animation:heroIn 1.1s var(--ease-expo) forwards}
  .hero .hero-actions .btn{opacity:1;transform:none;filter:none;animation:none}
  .hero .eyebrow,.hero .hero-badge{animation-delay:.05s}
  .hero h1{animation-delay:.18s}
  .hero .lead{animation-delay:.32s}
  .hero .btn,.hero .hero-actions{animation-delay:.46s}
  .hero__media{animation-delay:.38s}
}
@keyframes heroIn{to{opacity:1;transform:none;filter:blur(0)}}
/* Barra de prova */
.proof-bar{background:var(--petrol-950);color:var(--sage-100);position:relative}
.proof-bar::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--sage-rgb),.3),transparent)}
.proof-bar .container{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-block:16px;text-align:center;font-size:.92rem;line-height:1.35}
.proof-bar .proof-planos{grid-column:1/-1;border-top:1px solid rgba(146,183,188,.25);padding-top:10px;font-size:.88rem;color:var(--sage-100);text-align:center}
.proof-bar .proof-planos strong{color:var(--ambar);font-family:var(--ff-body);font-size:.88rem;display:inline;letter-spacing:0}
.proof-bar strong{display:block;font-family:var(--ff-display);font-size:1.45rem;color:var(--ambar);letter-spacing:-.02em;line-height:1.15}
/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.card{background:var(--white);border:1px solid rgba(12,42,46,.06);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;gap:12px;position:relative;transition:transform .35s var(--ease-quart),box-shadow .35s var(--ease-quart),border-color .35s}
.card::before{content:"";position:absolute;top:0;left:24px;right:auto;width:0;height:3px;border-radius:0 0 4px 4px;background:var(--ambar);transition:width .45s var(--ease-expo)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:rgba(var(--sage-rgb),.5)}
.card:hover::before{width:56px}
.card__icon{font-size:2rem}
.card a{margin-top:auto;font-weight:600;text-decoration:none;transition:transform .25s var(--ease-quart)}
.card a:hover{transform:translateX(3px)}
/* Etapas de tratamento */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;counter-reset:step}
.step{background:var(--white);border:1px solid rgba(12,42,46,.06);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-subtle);transition:transform .35s var(--ease-quart),box-shadow .35s var(--ease-quart)}
.step h3{margin-bottom:8px}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--ff-display);font-size:1.7rem;color:var(--sage-500);display:block;margin-bottom:10px;letter-spacing:-.02em}
.section--dark .step::before{color:var(--ambar)}
.section--dark .step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none}
.section--dark .step:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-5px)}
/* Depoimentos */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:44px}
.quote-card{background:var(--white);border:1px solid rgba(12,42,46,.06);border-left:4px solid var(--ambar);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-subtle);transition:transform .35s var(--ease-quart),box-shadow .35s var(--ease-quart)}
.quote-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.quote-card cite{display:block;margin-top:14px;font-style:normal;font-weight:700;color:var(--petrol-900)}
.quote-card .stars{color:var(--ambar);letter-spacing:3px}
/* FAQ */
.faq{max-width:760px;margin:44px auto 0}
.faq__item{background:var(--white);border:1px solid rgba(12,42,46,.06);border-radius:var(--radius);box-shadow:var(--shadow-subtle);margin-bottom:12px;padding:6px 24px;transition:box-shadow .3s,border-color .3s}
.faq__item:hover{border-color:rgba(var(--sage-rgb),.5)}
.faq__item[open]{box-shadow:var(--shadow)}
.faq__item summary{font-weight:600;color:var(--ink);cursor:pointer;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px;gap:16px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-size:1.5rem;color:var(--ambar-dark);transition:transform .3s var(--ease-quart)}
.faq__item[open] summary::after{content:"+";transform:rotate(45deg)}
.faq__item p{padding-bottom:18px}
.cards+p,.cards~p.closing{margin-top:30px;text-align:center;font-style:italic;opacity:.9}
/* Formulário */
.form{display:grid;gap:16px;background:var(--white);padding:34px;border:1px solid rgba(12,42,46,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.form .btn{justify-self:center;min-width:min(320px,100%)}
.form__note{text-align:center}
.form label{font-weight:600;color:var(--ink);display:grid;gap:6px;font-size:.95rem}
.form input,.form select,.form textarea{font:inherit;padding:13px 16px;border:1.5px solid var(--areia);border-radius:12px;background:var(--off-white);min-height:48px;transition:border-color .25s,box-shadow .25s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--petrol-700);box-shadow:0 0 0 3px rgba(var(--sage-rgb),.35)}
.proof-inline{font-weight:600;color:var(--petrol-700);font-size:.95rem;margin:6px 0 6px}
.fine-note{font-size:.82rem;opacity:.75;margin-top:10px}
.steps--3{grid-template-columns:repeat(3,1fr)}
.form__note{font-size:.85rem;color:var(--text);opacity:.85;margin-top:-4px}
.form__status{font-weight:600}
.form__status--ok{color:var(--petrol-700)}
.form__status--err{color:#A33}
/* Grid 2 col */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,56px);align-items:center}
.grid-2 h2{margin-bottom:12px}
.grid-2 p+p{margin-top:10px}
.grid-2 p+.btn{margin-top:22px}
/* Mídia de seção com máscara suave */
.grid-2 img,.grid-2 svg[role="img"]{border-radius:var(--radius-lg);box-shadow:var(--shadow-hover)}
/* WA flutuante */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .3s var(--ease-quart),box-shadow .3s}
.wa-float:hover{transform:scale(1.08);box-shadow:0 10px 28px rgba(37,211,102,.45)}
.wa-float svg{width:32px;height:32px;fill:#fff}
/* CTA final — espaçamento e watermark */
.section--dark .container>h2+.btn,.section--dark .container>h2+p+.btn{margin-top:28px}

.section--dark .ghost-mark,.cta-ghost{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-family:var(--ff-display);font-size:clamp(6rem,14vw,13rem);color:rgba(255,255,255,.025);line-height:1;letter-spacing:-.04em;pointer-events:none;user-select:none;white-space:nowrap}
/* Footer */
.site-footer{background:linear-gradient(180deg,var(--petrol-900),var(--petrol-950));color:var(--sage-100);padding:60px 0 32px;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--sage-rgb),.3),transparent)}
.site-footer a{color:var(--sage-100);text-decoration:none;display:inline-block;padding-block:6px;transition:transform .2s ease,color .2s}
.site-footer a:hover{transform:translateX(3px);color:var(--white)}
.site-footer .container{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.site-footer h3{color:var(--white);font-size:1.05rem;margin-bottom:12px}
.site-footer ul{list-style:none;display:grid;gap:4px}
.site-footer__bottom{grid-column:1/-1;border-top:1px solid rgba(var(--sage-rgb),.18);padding-top:20px;font-size:.85rem;text-align:center;color:rgba(220,231,229,.7)}
/* ===== Reveal: fade + blur + rise, com stagger automático nos filhos ===== */
.reveal{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1s var(--ease-expo),transform 1s var(--ease-expo),filter 1s var(--ease-expo)}
.reveal.is-visible{opacity:1;transform:none;filter:blur(0)}
.reveal .card,.reveal .step,.reveal .quote-card,.reveal .faq__item,.reveal .check-list li{opacity:0;transform:translateY(22px);filter:blur(5px);transition:opacity .9s var(--ease-expo),transform .9s var(--ease-expo),filter .9s var(--ease-expo),box-shadow .35s var(--ease-quart),border-color .35s}
.reveal.is-visible .card,.reveal.is-visible .step,.reveal.is-visible .quote-card,.reveal.is-visible .faq__item,.reveal.is-visible .check-list li{opacity:1;transform:none;filter:blur(0)}
.reveal.is-visible :is(.cards,.steps,.quotes,.faq,.check-list)>*:nth-child(2){transition-delay:.1s}
.reveal.is-visible :is(.cards,.steps,.quotes,.faq,.check-list)>*:nth-child(3){transition-delay:.2s}
.reveal.is-visible :is(.cards,.steps,.quotes,.faq,.check-list)>*:nth-child(4){transition-delay:.3s}
.reveal.is-visible :is(.cards,.steps,.quotes,.faq,.check-list)>*:nth-child(5){transition-delay:.4s}
.reveal.is-visible :is(.cards,.steps,.quotes,.faq,.check-list)>*:nth-child(6){transition-delay:.5s}
.reveal.is-visible :is(.cards,.steps,.quotes,.faq,.check-list)>*:nth-child(7){transition-delay:.6s}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal .card,.reveal .step,.reveal .quote-card,.reveal .faq__item,.reveal .check-list li{opacity:1;transform:none;filter:none;transition:none}
  .hero .eyebrow,.hero .hero-badge,.hero h1,.hero .lead,.hero .btn,.hero__media{opacity:1;transform:none;filter:none;animation:none}
  .btn,.card,.step,.quote-card,.wa-float{transition:none}
}
/* Depoimento em vídeo */
.video-quote{max-width:560px;margin:36px auto 0;text-align:center}
.video-quote h3{margin-bottom:14px}
.video-quote video{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-hover);background:var(--petrol-950)}
.video-quote--tall{max-width:320px;margin-inline:auto;text-align:center}
.video-quote--tall video{aspect-ratio:9/16;object-fit:cover;width:100%}
.quote-duo{display:grid;grid-template-columns:1fr 320px;gap:clamp(28px,5vw,56px);align-items:start;margin-top:30px}
.quote-duo .quotes{grid-template-columns:1fr;margin-top:0}
.quote-duo .video-quote{margin-top:0}
.quote-duo .video-quote--tall{position:sticky;top:96px}
@media (max-width:860px){.quote-duo{grid-template-columns:1fr}.video-quote--tall{margin-inline:auto}}
mark{background:rgba(var(--ambar-rgb),.35);color:inherit;padding:0 4px;border-radius:4px}
.section--dark mark{background:rgba(var(--ambar-rgb),.25);color:var(--ambar)}
.vs-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}
.vs-card{background:var(--white);border:1px solid rgba(6,38,45,.08);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-subtle)}
.vs-card h3{margin-bottom:10px}
.vs-no{font-size:.92rem;color:var(--text);opacity:.65;text-decoration:line-through;text-decoration-color:rgba(6,38,45,.4)}
.vs-yes{font-size:.98rem;font-weight:600;color:var(--petrol-700);margin-top:4px}
@media (max-width:640px){.vs-cards{grid-template-columns:1fr}}
/* Lista de identificação ("é pra você se…") */
.check-list{list-style:none;display:grid;gap:14px;max-width:640px;margin-top:36px}
.check-list li{background:var(--white);border:1px solid rgba(12,42,46,.06);border-radius:var(--radius);box-shadow:var(--shadow-subtle);padding:18px 22px;display:flex;gap:12px;align-items:flex-start;font-weight:500;transition:transform .3s var(--ease-quart),box-shadow .3s,border-color .3s}
.check-list li:hover{transform:translateX(4px);border-color:rgba(var(--sage-rgb),.5);box-shadow:var(--shadow)}
.check-list li::before{content:"✔";color:var(--ambar-dark);font-weight:700}
/* Tabela comparativa */
.compare-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:36px}
.compare-table caption{caption-side:top;text-align:left;font-weight:600;color:var(--ink);padding-bottom:12px}
.compare-table th{background:var(--petrol-900);color:var(--white);text-align:left;padding:16px;font-weight:600}
.compare-table td{padding:16px;border-bottom:1px solid var(--areia)}
.compare-table tbody tr{transition:background-color .25s}
.compare-table tbody tr:nth-child(even){background:var(--areia)}
.compare-table tbody tr:hover{background:rgba(var(--sage-rgb),.22)}
.compare-table tbody tr:last-child td{border-bottom:0}

/* ===== Módulo editorial (home piloto) ===== */
.hero--video{position:relative;min-height:min(88vh,760px);display:grid;align-items:end;padding:96px 0 clamp(48px,8vw,96px);overflow:hidden;background:var(--petrol-950)}
.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;z-index:0}
.hero-poster{filter:blur(7px) brightness(.92) saturate(1.05);transform:scale(1.08)}
.hero-poster--sharp{filter:brightness(.95);transform:none}
.hero--video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,38,45,.30) 0%,rgba(6,38,45,.55) 55%,rgba(6,38,45,.85) 100%);z-index:1}
.hero--video .container{position:relative;z-index:2;display:block}
.hero--video h1{color:var(--white);max-width:14ch}
.hero--video .hero-line{color:var(--sage-100);font-size:1.15rem;margin:18px 0 30px;max-width:44ch}
@media (prefers-reduced-motion:no-preference){
  .hero--video h1,.hero--video .hero-line,.hero--video .hero-actions{opacity:0;transform:translateY(28px);filter:blur(8px);animation:heroIn 1.1s var(--ease-expo) forwards}
  .hero--video .hero-line{animation-delay:.16s}
  .hero--video .hero-actions{animation-delay:.32s}
}
.statement{text-align:center}
.display-xl{font-family:var(--ff-display);font-weight:500;letter-spacing:-.035em;line-height:1.04;font-size:clamp(2.6rem,7.5vw,6.5rem);color:var(--ink);max-width:16ch;margin-inline:auto}
.statement small{display:block;margin-top:22px;font-size:1.05rem;color:var(--text)}
.section--dark .display-xl{color:var(--white)}
.index-list{list-style:none;border-top:1px solid rgba(6,38,45,.14);margin-top:44px}
.index-item a{display:flex;align-items:baseline;gap:clamp(14px,3vw,28px);padding:clamp(18px,3.4vw,30px) 4px;border-bottom:1px solid rgba(6,38,45,.14);text-decoration:none;color:var(--ink);transition:background-color .25s,padding-left .3s var(--ease-quart)}
.index-item .num{font-family:var(--ff-display);font-size:.95rem;color:var(--sage-500);min-width:2ch}
.index-item .name{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.5rem,4vw,2.6rem);letter-spacing:-.02em}
.index-item .go{margin-left:auto;font-size:1.4rem;color:var(--sage-500);transition:transform .3s var(--ease-quart)}
.index-item a:hover{background:rgba(var(--sage-rgb),.14);padding-left:14px}
.index-item a:hover .go{transform:translateX(6px)}
.full-bleed{position:relative;min-height:min(72vh,560px);display:grid;place-items:center;overflow:hidden;padding:0}
.full-bleed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 82%;border-radius:0}
.full-bleed::after{content:"";position:absolute;inset:0;background:rgba(6,38,45,.55)}
.full-bleed .display-xl{position:relative;z-index:1;color:var(--white);padding-inline:24px}
.pull-quote{max-width:880px;margin-inline:auto;text-align:center}
.pull-quote blockquote p{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.pull-quote blockquote p::before{content:"“";color:var(--ambar-dark);font-size:1.4em}
.pull-quote blockquote p::after{content:"”";color:var(--ambar-dark);font-size:1.4em}
.pull-quote cite{display:block;margin-top:18px;font-style:normal;font-weight:600;color:var(--petrol-700)}
.pull-quote .stars{color:var(--ambar-dark);letter-spacing:3px;display:block;margin-bottom:14px}
.pull-quote .link-arrow{margin-top:24px}
.steps-line{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,48px);margin-top:44px;counter-reset:sl}
.steps-line>div{border-top:2px solid rgba(var(--sage-rgb),.6);padding-top:16px}
.steps-line>div::before{counter-increment:sl;content:"0" counter(sl);font-family:var(--ff-display);color:var(--sage-500);display:block;margin-bottom:6px}
.steps-line h3{font-size:1.1rem}
.steps-line p{font-size:.98rem}
@media (max-width:767px){.hero-video{display:none}.steps-line{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}.hero--video h1,.hero--video .hero-line,.hero--video .hero-actions{opacity:1;transform:none;filter:none;animation:none}}

/* Responsivo */
@media (max-width:1340px){
  .site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--off-white);flex-direction:column;align-items:stretch;padding:16px 24px;border-bottom:1px solid var(--areia);box-shadow:var(--shadow)}
  .site-nav.is-open{display:flex}
  .site-nav a{white-space:normal}
  .menu-toggle{display:block}
}
@media (max-width:900px){
  .proof-bar .container{display:flex;flex-wrap:wrap;justify-content:center;column-gap:20px;row-gap:4px;padding-block:12px}
  .proof-bar .container>div{font-size:.82rem}
  .proof-bar strong{display:inline;font-size:1rem;margin-right:5px}
  .proof-bar .proof-planos{flex-basis:100%;padding-top:8px;font-size:.8rem}
  .hero .container,.grid-2{grid-template-columns:1fr}
  .hero__media{max-width:420px;margin-inline:auto}
  .cards,.steps{grid-template-columns:1fr 1fr}
  .quotes{grid-template-columns:1fr}
  .site-footer .container{grid-template-columns:1fr}
}
@media (max-width:420px){
  .site-header__logo img{height:36px;width:auto}
  .site-header__cta{padding:12px 18px;font-size:.95rem}
}
@media (max-width:560px){
  .cards,.steps{grid-template-columns:1fr}
  .section{padding:48px 0}
  h1{font-size:clamp(2.1rem,9vw,2.5rem)}
  .display-xl{font-size:clamp(2.2rem,10vw,2.6rem)}
  .lead{font-size:1.05rem}
  .hero{padding:44px 0 56px}
  .hero .lead{margin:18px 0 26px}
  .hero--video{min-height:min(66vh,540px);padding:84px 0 36px}
  .hero--video h1{font-size:clamp(2rem,8.5vw,2.3rem)}
  .hero--video .hero-line{margin:12px 0 20px;font-size:1.02rem}
  .full-bleed{min-height:min(52vh,420px)}
  .form{padding:24px 18px}
  .form input,.form select,.form textarea{font-size:16px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
  .container a.btn:not(.site-header__cta),.form .btn{display:flex;width:100%;justify-content:center;text-align:center;font-size:1rem;padding:14px 18px;line-height:1.3}
  .card{padding:24px}
  .quote-card{padding:24px 20px}
  .cta-ghost,.section--dark .ghost-mark{font-size:5rem;top:-4px}
}

/* ===== Hotfix mobile: mata overflow horizontal (bug reportado 20/07) — e-mail inquebravel + colunas 1fr estouram com fonte ampliada ===== */
html,body{overflow-x:clip}
a[href^="mailto:"]{overflow-wrap:anywhere}
.hero .container{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
.vs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-footer .container{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-duo{grid-template-columns:minmax(0,1fr) 320px}
.quote-duo .quotes{grid-template-columns:minmax(0,1fr)}
@media (max-width:900px){.hero .container,.grid-2,.quotes,.site-footer .container{grid-template-columns:minmax(0,1fr)}.cards,.steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:860px){.quote-duo{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.vs-cards{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.cards,.steps{grid-template-columns:minmax(0,1fr)}}
