/* =====================================================================
   INMAJEC · estilos do site
   Ideia visual: as 4 peças da logo (azul, amarelo, vermelho, verde) em
   tons acolhedores sobre fundo creme. Formas orgânicas, cantos redondos,
   pouco movimento. Pensado para famílias de crianças neurodivergentes:
   alegre, mas calmo.
   Para trocar uma cor, mude só as variáveis em :root (logo abaixo).
   ===================================================================== */

/* ---------- Fontes (hospedadas no próprio site) ---------- */
@font-face{font-family:"Lexend";src:url("fonts/lexend-variavel.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/atkinson-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/atkinson-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/atkinson-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---------- Cores e medidas ---------- */
:root{
  --bg:#fdf8f1; --surface:#ffffff; --surface-2:#f6efe4;
  --ink:#1d2550; --text:#3d4361; --muted:#5d6280; --line:#ebe1d1;
  --night:#1f2b5c; --night-2:#29386f; --on-night:#f1f3fb; --on-night-muted:#c3cae6;
  --azul:#2b5bd7; --amarelo:#f7c531; --vermelho:#d03a54; --verde:#1e7a3c;
  --azul-soft:#e6eeff; --amarelo-soft:#fff1c7; --vermelho-soft:#ffe5e8; --verde-soft:#e3f4e1;
  --pessego:#ffe9d9; --ceu:#e4f1fb; --deco:#fff1c7;
  --on-amarelo:#3b2c05; --amarelo-txt:#3b2c05; --on-cor:#ffffff;
  --zap:#167a3c; --foco:#2b5bd7;
  --shadow:0 18px 40px -20px rgba(45,38,20,.28);
  --shadow-sm:0 8px 20px -12px rgba(45,38,20,.25);
  --f-display:"Lexend",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;
  --r-xl:36px; --r-lg:28px; --r-md:22px; --r-sm:14px;
  --blob:58% 42% 55% 45% / 48% 56% 44% 52%;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#10152a; --surface:#181f3a; --surface-2:#212a4b;
  --ink:#f3f4fb; --text:#cdd3ea; --muted:#a3abcb; --line:#2c3559;
  --night:#0b1022; --night-2:#151c38; --on-night:#f1f3fb; --on-night-muted:#b9c0dd;
  --azul:#7ea0f5; --amarelo:#f8cf4a; --vermelho:#f27389; --verde:#6cc76a;
  --azul-soft:#1d2a55; --amarelo-soft:#3a3214; --vermelho-soft:#3d1a24; --verde-soft:#17351f;
  --pessego:#2a2234; --ceu:#162540; --deco:#1d2a55;
  --on-cor:#0b1022; --amarelo-txt:#f8cf4a; --foco:#f8cf4a;
  --shadow:0 18px 40px -18px rgba(0,0,0,.6); --shadow-sm:0 8px 20px -12px rgba(0,0,0,.6); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#10152a; --surface:#181f3a; --surface-2:#212a4b;
  --ink:#f3f4fb; --text:#cdd3ea; --muted:#a3abcb; --line:#2c3559;
  --night:#0b1022; --night-2:#151c38; --on-night:#f1f3fb; --on-night-muted:#b9c0dd;
  --azul:#7ea0f5; --amarelo:#f8cf4a; --vermelho:#f27389; --verde:#6cc76a;
  --azul-soft:#1d2a55; --amarelo-soft:#3a3214; --vermelho-soft:#3d1a24; --verde-soft:#17351f;
  --pessego:#2a2234; --ceu:#162540; --deco:#1d2a55;
  --on-cor:#0b1022; --amarelo-txt:#f8cf4a; --foco:#f8cf4a;
  --shadow:0 18px 40px -18px rgba(0,0,0,.6); --shadow-sm:0 8px 20px -12px rgba(0,0,0,.6); color-scheme:dark}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.02em}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--foco);outline-offset:3px;border-radius:8px}
.wrap{width:100%;max-width:calc(var(--wrap) + 64px);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* pular para o conteúdo (aparece ao usar Tab) */
.skip{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 20px;border-radius:999px;background:var(--ink);color:var(--bg);font-family:var(--f-display);font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:16px}

/* tipografia de seção */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:16px;height:16px;border-radius:var(--blob);background:var(--c,var(--azul))}
.h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-top:14px}
.lede{font-size:1.15rem;max-width:62ch;margin-top:16px;color:var(--text)}
.sec{padding-block:clamp(72px,9vw,120px);position:relative}
.sec-head{display:grid;gap:4px;margin-bottom:48px}

/* ondinha orgânica no topo das faixas coloridas */
.onda{position:relative}
.onda::before{content:"";position:absolute;left:0;right:0;top:-31px;height:32px;background:inherit;pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 32' preserveAspectRatio='none'%3E%3Cpath d='M0 32V18C120 4 240 0 380 10s260 22 420 12S1080 0 1200 14v18z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 32' preserveAspectRatio='none'%3E%3Cpath d='M0 32V18C120 4 240 0 380 10s260 22 420 12S1080 0 1200 14v18z'/%3E%3C/svg%3E") center/100% 100% no-repeat}

/* formas orgânicas decorativas */
.deco{position:absolute;pointer-events:none;z-index:0}
.deco svg{width:100%;height:100%;display:block}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:0;font-family:var(--f-display);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:transform .25s cubic-bezier(.3,.7,.3,1.2),box-shadow .25s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.97)}
.btn svg{width:20px;height:20px;flex:none}
.btn-pri{background:var(--azul);color:var(--on-cor);box-shadow:0 10px 24px -12px var(--azul)}
.btn-zap{background:var(--zap);color:#fff;box-shadow:0 10px 24px -12px var(--zap)}
.btn-yel{background:var(--amarelo);color:var(--on-amarelo);box-shadow:0 10px 24px -14px #b48a00}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}

/* caminho de chamada rápida (WhatsApp) na hero */
.path-zap{background:var(--zap);color:#fff;box-shadow:0 10px 24px -12px var(--zap)}
.path-zap:hover{background:color-mix(in srgb,var(--zap) 90%,#000);color:#fff;transform:translateY(-2px)}
.path-zap b{color:#fff}
.path-zap p{color:color-mix(in srgb,#fff 80%,transparent)}
.path-zap svg,.path-zap *{color:#fff}

/* ---------- Topo ---------- */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.top.scrolled{border-color:var(--line);box-shadow:0 6px 24px -18px rgba(45,38,20,.4)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px}
.brand img{width:46px;height:46px;object-fit:contain}
.brand-t{display:grid;line-height:1}
.brand-t b{font-family:var(--f-display);font-weight:800;font-size:1.35rem;color:var(--ink);letter-spacing:.02em}
.brand-t span{font-size:.72rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.menu a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;text-decoration:none;font-family:var(--f-display);font-weight:500;font-size:.95rem;color:var(--ink);transition:background .2s}
.menu a:hover,.menu a.on{background:var(--surface-2)}
.menu a[aria-current="page"]{background:var(--amarelo-soft)}
.menu .btn{margin-left:10px;padding:0 22px;color:var(--on-cor)}
.menu .btn:hover{background:var(--azul)}
.burger{display:none;width:48px;height:48px;border-radius:16px;border:2px solid var(--line);background:var(--surface);cursor:pointer;place-items:center}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,top .3s}
.burger span::before{top:-6px}.burger span::after{top:6px}
.open .burger span{background:transparent}
.open .burger span::before{top:0;transform:rotate(45deg)}
.open .burger span::after{top:0;transform:rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;padding-block:48px 40px}
.hero .deco.d1{width:540px;height:540px;right:-160px;top:-120px;color:var(--deco)}
.hero .deco.d2{width:220px;height:220px;left:-90px;bottom:60px;color:var(--ceu)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-copy{min-width:0}
.pill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 18px 8px 8px;border-radius:24px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line),var(--shadow-sm);font-family:var(--f-display);font-size:.9rem;font-weight:500;color:var(--ink)}
.pill i{display:inline-grid;place-items:center;padding:4px 12px;border-radius:999px;font-style:normal;font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;background:var(--azul-soft);color:var(--azul)}
.pill i.now{background:var(--verde-soft);color:var(--verde)}
.pill i.soon{background:var(--amarelo-soft);color:var(--amarelo-txt)}
.hero h1{font-size:clamp(2.5rem,5.8vw,4.4rem);font-weight:800;margin-top:22px;letter-spacing:-.035em}
.hero h1 .w{display:inline-block;position:relative;z-index:0;color:var(--ink)}
.hero h1 .w::after{content:"";position:absolute;left:-3%;right:-3%;bottom:-.06em;height:.36em;z-index:-1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24' preserveAspectRatio='none'%3E%3Cpath d='M4 16C60 6 120 4 160 10s90 10 136-4' fill='none' stroke='%23f7c531' stroke-width='12' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero .lede{font-size:1.2rem;margin-top:22px}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;max-width:580px}
.path{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.3,.7,.3,1.2),box-shadow .3s}
.path::after{content:"";position:absolute;width:90px;height:90px;right:-30px;bottom:-34px;border-radius:var(--blob);background:var(--s);transition:transform .4s}
.path:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 2px var(--c),var(--shadow)}
.path:hover::after{transform:scale(1.15) rotate(12deg)}
.path > *{position:relative;z-index:1}
.path small{font-family:var(--f-display);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c);font-weight:700}
.path b{font-family:var(--f-display);color:var(--ink);font-size:1.15rem;display:flex;justify-content:space-between;align-items:center;gap:8px}
.path b span{transition:transform .25s}
.path:hover b span{transform:translateX(4px)}
.path p{font-size:.95rem;color:var(--muted)}

/* logo montando sobre uma forma orgânica */
.stage{position:relative;aspect-ratio:1;width:100%;max-width:480px;margin-inline:auto}
.stage .blob{position:absolute;inset:4%;color:var(--ceu)}
.stage .blob svg{width:100%;height:100%}
.stage .dots-deco{position:absolute;inset:0;pointer-events:none}
.puzzle{position:absolute;inset:20%;filter:drop-shadow(0 22px 26px rgba(45,38,20,.2))}
.puzzle img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:snap 1.1s cubic-bezier(.2,.9,.25,1.15) both}
.puzzle .q1{clip-path:inset(0 50% 50% 0);--dx:-38%;--dy:-30%;--rot:-14deg;animation-delay:.15s}
.puzzle .q2{clip-path:inset(0 0 50% 50%);--dx:38%;--dy:-34%;--rot:12deg;animation-delay:.3s}
.puzzle .q3{clip-path:inset(50% 50% 0 0);--dx:-36%;--dy:34%;--rot:10deg;animation-delay:.45s}
.puzzle .q4{clip-path:inset(50% 0 0 50%);--dx:40%;--dy:30%;--rot:-12deg;animation-delay:.6s}
@keyframes snap{from{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}60%{opacity:1}to{transform:none;opacity:1}}
.chip{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);font-family:var(--f-display);font-size:.88rem;color:var(--ink);font-weight:500;white-space:nowrap;animation:pop .7s cubic-bezier(.2,.9,.3,1.3) both}
.chip b{display:grid;place-items:center;min-width:38px;padding:0 8px;height:38px;border-radius:12px 12px 12px 50%;font-size:1rem;font-weight:800}
.chip.c1{top:8%;left:-4%;animation-delay:1.1s}
.chip.c1 b{background:var(--amarelo-soft);color:var(--amarelo-txt)}
.chip.c2{bottom:14%;right:-6%;animation-delay:1.3s}
.chip.c2 b{background:var(--verde-soft);color:var(--verde)}
.chip.c3{bottom:2%;left:6%;animation-delay:1.5s}
.chip.c3 b{background:var(--vermelho-soft);color:var(--vermelho)}
.chip svg{width:18px;height:18px}
@keyframes pop{from{transform:scale(.6) translateY(10px);opacity:0}to{transform:none;opacity:1}}

/* parceiros: lista parada (sem letreiro em movimento) */
.trust{padding-block:28px 8px;position:relative;z-index:1}
.trust-in{display:flex;align-items:center;gap:28px;border-top:2px dashed var(--line);padding-top:26px}
.trust-l{flex:none;font-family:var(--f-display);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;max-width:160px;line-height:1.35}
.parceiros{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.parceiros li{padding:8px 14px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-family:var(--f-display);font-weight:500;font-size:.92rem;color:var(--ink)}

/* ---------- Impacto ---------- */
.impact{background:var(--pessego);overflow:hidden}
.impact .deco.d1{width:320px;height:320px;right:-110px;top:30px;color:var(--deco)}
.impact .wrap{position:relative;z-index:1}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.stat{background:var(--surface);padding:28px 24px;border-radius:var(--r-lg);display:grid;gap:10px;align-content:start;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.stat::before{content:"";width:40px;height:40px;border-radius:var(--blob);background:var(--s,var(--azul-soft));position:absolute;right:16px;top:16px}
.stat .n{font-family:var(--f-display);font-weight:800;font-size:clamp(2.6rem,5vw,3.4rem);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.stat .n em{font-style:normal;color:var(--c);font-size:.6em}
.stat p{color:var(--text);font-size:.98rem}
.impact-q{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-top:48px;padding:28px 32px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--surface) 70%,transparent)}
.impact-q blockquote{margin:0;font-family:var(--f-display);font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.4;color:var(--ink);font-weight:500;max-width:44ch}
.impact-q .mark{font-family:var(--f-display);font-size:5.5rem;line-height:.6;color:var(--vermelho);font-weight:800}
.impact-q cite{display:block;margin-top:12px;font-family:var(--f-body);font-size:.95rem;font-style:normal;color:var(--muted);font-weight:400}

/* ---------- Sobre ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.about-grid > *{min-width:0}
.about-copy p+p{margin-top:16px}
.mvv{display:grid;gap:14px}
.mvv-i{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .3s cubic-bezier(.3,.7,.3,1.2),box-shadow .3s}
.mvv-i:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1.5px var(--line),var(--shadow)}
.ic{display:grid;place-items:center;flex:none}
.mvv-i .ic{width:58px;height:58px;border-radius:var(--blob);background:var(--s);color:var(--c)}
.mvv-i .ic svg{width:26px;height:26px}
.mvv-i h3{font-size:1.15rem;margin-bottom:4px}
.mvv-i p{font-size:.98rem}
.values{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.values span{padding:6px 12px;border-radius:999px;background:var(--surface-2);font-size:.9rem;color:var(--ink);font-weight:700}

/* ---------- Programa ---------- */
.prog{background:var(--surface)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:0;padding:0;counter-reset:s;position:relative}
.steps::before{content:"";position:absolute;top:28px;left:40px;right:40px;height:0;border-top:4px dotted var(--line)}
.step{position:relative;display:grid;gap:12px;align-content:start}
.step .num{counter-increment:s;width:60px;height:60px;border-radius:var(--blob);display:grid;place-items:center;background:var(--c);color:var(--on-cor);font-family:var(--f-display);font-weight:800;font-size:1.3rem;box-shadow:0 0 0 8px var(--surface);position:relative}
.step .num::before{content:counter(s)}
.step:nth-child(2) .num{color:var(--on-amarelo)}
.step h3{font-size:1.2rem;margin-top:8px}
.step p{font-size:.98rem}
.offer{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:64px}
.offer > *{min-width:0}
.offer-card{border-radius:var(--r-xl);padding:clamp(28px,4vw,44px);background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line)}
.offer-card h3{font-size:1.5rem;margin-bottom:18px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.checks li::before{content:"";width:30px;height:30px;border-radius:var(--blob);background:var(--verde-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e7a3c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat}
.checks b{color:var(--ink)}
.offer-side{border-radius:var(--r-xl);padding:clamp(28px,4vw,44px);background:var(--azul-soft);color:var(--text);position:relative;overflow:hidden;display:grid;align-content:space-between;gap:24px}
.offer-side h3{font-size:1.6rem;position:relative}
.offer-side .big{font-family:var(--f-display);font-weight:800;font-size:clamp(3.6rem,7vw,5.2rem);line-height:.9;color:var(--azul);letter-spacing:-.04em;position:relative}
.offer-side .big small{display:block;font-size:1rem;font-weight:500;letter-spacing:0;margin-top:10px;color:var(--text)}
.offer-side::after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:var(--blob);background:var(--amarelo-soft)}
.offer-side .btn{position:relative;justify-self:start}

/* ---------- REAC (faixa escura) ---------- */
.reac{background:var(--night);color:var(--on-night);overflow:hidden}
.reac .h2,.reac h3{color:#fff}
.reac .eyebrow,.reac .lede{color:var(--on-night-muted)}
.reac-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,6vw,72px);align-items:center}
.reac-grid > *{min-width:0}
.waves{position:relative;aspect-ratio:1;max-width:440px;width:100%;margin-inline:auto}
.waves span{position:absolute;inset:0;margin:auto;border-radius:50%;border:2px solid var(--c);opacity:0;animation:wave 6s cubic-bezier(.2,.6,.3,1) 3}
.waves span:nth-child(1){--c:#7ea0f5;animation-delay:0s;inset:6%;opacity:.35}
.waves span:nth-child(2){--c:#f8cf4a;animation-delay:1.5s;inset:14%;opacity:.35}
.waves span:nth-child(3){--c:#f27389;animation-delay:3s;inset:22%;opacity:.35}
.waves span:nth-child(4){--c:#6cc76a;animation-delay:4.5s;inset:30%;opacity:.35}
@keyframes wave{0%{transform:scale(.6);opacity:0}20%{opacity:.8}100%{transform:scale(1.05);opacity:.35}}
.waves .core{position:absolute;inset:34%;border-radius:var(--blob);background:#fdf8f1;display:grid;place-items:center;box-shadow:0 0 0 10px rgba(255,255,255,.06),0 0 70px rgba(126,160,245,.45)}
.waves .core img{width:68%}
.waves .tagw{position:absolute;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-family:var(--f-display);font-size:.84rem;color:#fff;white-space:nowrap}
.tagw.t1{top:8%;left:0}.tagw.t2{top:46%;right:-2%}.tagw.t3{bottom:8%;left:10%}
.feats{display:grid;gap:12px;margin-top:32px}
.feat{display:grid;grid-template-columns:50px 1fr;gap:16px;padding:18px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:background .25s,border-color .25s}
.feat:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}
.feat .ic{width:50px;height:50px;border-radius:var(--blob);background:color-mix(in srgb,var(--c) 26%,transparent);color:var(--c)}
.feat .ic svg{width:24px;height:24px}
.feat h3{font-size:1.08rem;margin-bottom:2px}
.feat p{font-size:.95rem;color:var(--on-night-muted)}
.reac .feat{--c-a:#7ea0f5}
.note{margin-top:22px;padding:14px 18px;border-radius:var(--r-sm);border-left:4px solid var(--amarelo);background:rgba(248,207,74,.1);font-size:.92rem;color:var(--on-night-muted)}

/* ---------- Famílias ---------- */
.fam-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.fam-grid > *{min-width:0}
.howto{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;counter-reset:h}
.howto li{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;padding:18px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.howto li::before{counter-increment:h;content:counter(h);width:46px;height:46px;border-radius:var(--blob);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;background:var(--amarelo-soft);color:var(--amarelo-txt)}
.howto b{color:var(--ink);display:block;font-family:var(--f-display);font-weight:600}

/* caixa de inscrição com aviso LGPD */
.inscricao{margin-top:22px;padding:22px;border-radius:var(--r-lg);background:var(--amarelo-soft);display:grid;gap:14px}
.inscricao h3{font-size:1.15rem;display:flex;gap:10px;align-items:center}
.inscricao h3 svg{width:24px;height:24px;flex:none;color:var(--ink)}
.inscricao ul{margin:0;padding-left:20px;display:grid;gap:6px;font-size:.98rem;color:var(--ink)}
.inscricao a{font-weight:700}
.consent{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;padding:14px;border-radius:var(--r-sm);background:var(--surface);cursor:pointer;font-size:.96rem;color:var(--ink)}
.consent input{width:26px;height:26px;margin:0;accent-color:var(--azul);cursor:pointer}
.consent a{color:var(--azul)}
.erro{font-size:.92rem;font-weight:700;color:var(--vermelho);display:flex;gap:8px;align-items:center}
.erro:empty{display:none}
.inscricao .btn{justify-self:start}

.faq{display:grid;gap:10px}
.faq > h3{font-size:1.35rem;margin-bottom:8px}
.faq details{border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .2s}
.faq details[open]{box-shadow:inset 0 0 0 2px var(--azul)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 20px;font-family:var(--f-display);font-weight:600;color:var(--ink);border-radius:var(--r-md)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b5bd7' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 20px 20px;color:var(--text)}

/* ---------- Gestores ---------- */
.gest{background:var(--surface)}
.gest-box{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-xl);overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--line)}
.gest-box > *{min-width:0}
.gest-l{padding:clamp(28px,5vw,56px);background:var(--bg)}
.gest-r{padding:clamp(28px,5vw,56px);background:#1e6b37;color:#f0faf0;display:grid;align-content:space-between;gap:28px;position:relative;overflow:hidden}
.gest-r h3{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem)}
.gest-r p{color:#eaf7ea}
.gest-r::before{content:"";position:absolute;right:-70px;bottom:-70px;width:260px;height:260px;border-radius:var(--blob);background:rgba(255,255,255,.1)}
.gest-r::after{content:"";position:absolute;left:-40px;top:-40px;width:120px;height:120px;border-radius:var(--blob);background:rgba(247,197,49,.22)}
.gest-r > *{position:relative;z-index:1}
.gest-r .btn{background:#fff;color:#16502a;justify-self:start}
.bens{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.bem{padding:20px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.bem .ic{width:46px;height:46px;border-radius:var(--blob);background:var(--s);color:var(--c);margin-bottom:12px}
.bem .ic svg{width:22px;height:22px}
.bem h3{font-size:1.02rem;margin-bottom:4px}
.bem p{font-size:.95rem;color:var(--muted)}
.seminar{display:flex;gap:14px;align-items:center;padding:16px;border-radius:var(--r-md);background:rgba(255,255,255,.14)}
.seminar svg{flex:none}
.seminar b{font-family:var(--f-display);color:#fff}
.seminar small{display:block;color:#eaf7ea;font-size:.92rem}

/* ---------- Cidades ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);font-family:var(--f-display);font-weight:500;font-size:.98rem;color:var(--ink);cursor:pointer;transition:background .2s,box-shadow .2s,color .2s}
.filters button:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--bg);box-shadow:none}
.filters button span{opacity:.75;margin-left:4px}
.cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.city{position:relative;padding:24px 24px 24px 28px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);display:grid;gap:8px;align-content:start;transition:transform .3s cubic-bezier(.3,.7,.3,1.2),box-shadow .3s}
.city:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1.5px var(--line),var(--shadow)}
.city-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.city h3{font-size:1.3rem}
.city .uf{font-size:.85rem;color:var(--muted);font-weight:700;letter-spacing:.04em}
.city p{font-size:.96rem}
.city .quando{font-size:.88rem;color:var(--muted);font-weight:700}
.st{flex:none;font-family:var(--f-display);font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap}
.st.done{background:var(--azul-soft);color:var(--azul)}
.st.now{background:var(--verde-soft);color:var(--verde)}
.st.soon{background:var(--amarelo-soft);color:var(--amarelo-txt)}
.city .pin{position:absolute;left:0;top:26px;width:6px;height:30px;border-radius:0 6px 6px 0;background:var(--c)}
.city .tag{justify-self:start;font-size:.8rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink)}
.vazio{padding:24px;border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink)}

/* ---------- Equipe (molduras acolhedoras, prontas para fotos) ---------- */
.team{background:var(--surface)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mem{display:grid;gap:14px;align-content:start}
.ph{position:relative;aspect-ratio:16/11;border-radius:var(--r-xl);background:var(--s);overflow:hidden;display:grid;place-items:center;box-shadow:0 0 0 6px var(--surface),0 0 0 8px color-mix(in srgb,var(--c) 40%,transparent)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph b{font-family:var(--f-display);font-weight:800;font-size:3.4rem;letter-spacing:-.04em;transition:transform .4s;position:relative;z-index:1;color:color-mix(in srgb,var(--c) 58%,var(--ink))}
.mem:hover .ph b{transform:scale(1.06) rotate(-3deg)}
.ph::after{content:"";position:absolute;width:70%;height:80%;right:-22%;bottom:-30%;border-radius:var(--blob);background:var(--c);opacity:.18}
.ph::before{content:"";position:absolute;width:30%;height:40%;left:-8%;top:-12%;border-radius:var(--blob);background:var(--surface);opacity:.55}
.mem h3{font-size:1.15rem}
.mem .role{font-size:.94rem;color:var(--muted)}
.mem .bio{font-size:.92rem}
.mem .crm{font-size:.88rem;color:var(--muted);font-weight:700}
.mem a.ig{display:inline-flex;align-items:center;min-height:44px;font-size:.94rem;color:var(--azul);font-weight:700;text-decoration:none}
.mem a.ig:hover{text-decoration:underline}

/* ---------- Depoimentos ---------- */
.carousel{position:relative;border-radius:var(--r-xl);background:var(--ceu);padding:clamp(28px,5vw,64px);overflow:hidden}
.slides{display:grid;position:relative;z-index:1}
.slide{grid-area:1/1;display:grid;gap:24px;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.slide.on{opacity:1;visibility:visible}
.slide blockquote{margin:0;font-family:var(--f-display);font-size:clamp(1.3rem,2.7vw,2rem);font-weight:500;line-height:1.35;color:var(--ink);max-width:36ch}
.slide cite{font-style:normal;display:flex;align-items:center;gap:14px;font-size:.98rem;color:var(--muted)}
.slide cite i{width:46px;height:46px;border-radius:var(--blob);background:var(--c);flex:none}
.slide cite b{color:var(--ink);display:block}
.car-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;position:relative;z-index:1}
.car-ctl button.arrow{width:48px;height:48px;border-radius:50%;border:0;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:transform .2s}
.car-ctl button.arrow:hover{transform:scale(1.06)}
.car-ctl svg{width:20px;height:20px}
.dots{display:flex;gap:0;margin-left:6px}
.dots button{width:36px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.dots button::before{content:"";width:12px;height:12px;border-radius:999px;background:color-mix(in srgb,var(--ink) 28%,transparent);transition:width .3s,background .3s}
.dots button[aria-current="true"]::before{width:26px;background:var(--azul)}
.carousel .bigq{position:absolute;right:clamp(16px,4vw,48px);top:-10px;font-family:var(--f-display);font-weight:800;font-size:clamp(9rem,18vw,15rem);line-height:1;color:var(--amarelo);opacity:.45;pointer-events:none}

/* ---------- Imprensa ---------- */
.news{display:grid;gap:14px;padding:clamp(28px,4vw,48px) clamp(28px,4vw,48px) clamp(28px,4vw,48px) clamp(34px,4.5vw,56px);border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.news:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 2px var(--azul),var(--shadow)}
.news::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(var(--azul) 0 25%,var(--amarelo) 25% 50%,var(--vermelho) 50% 75%,var(--verde) 75%)}
.news-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.92rem;color:var(--muted)}
.news-meta .src{font-family:var(--f-display);font-weight:700;color:var(--ink);padding:4px 12px;border-radius:999px;background:var(--surface-2)}
.news h3{font-size:clamp(1.4rem,2.6vw,2rem);max-width:30ch}
.news p{max-width:70ch}
.news .more{font-family:var(--f-display);font-weight:600;color:var(--azul)}

/* ---------- Contato ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,56px);align-items:start}
.contact-grid > *{min-width:0}
.channels{display:grid;gap:12px;margin-top:28px}
.ch{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;padding:16px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);text-decoration:none;transition:transform .25s,box-shadow .25s}
a.ch:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--c)}
.ch .ic{width:54px;height:54px;border-radius:var(--blob);background:var(--s);color:var(--c)}
.ch .ic svg{width:24px;height:24px}
.ch small{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.ch b{font-family:var(--f-display);color:var(--ink);font-weight:600;word-break:break-word}
.form{padding:clamp(24px,4vw,40px);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow),inset 0 0 0 1.5px var(--line);display:grid;gap:18px}
.form h3{font-size:1.4rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label:not(.consent){display:grid;gap:6px;font-size:.95rem;font-weight:700;color:var(--ink)}
.form input:not([type]),.form input[type=text],.form textarea{width:100%;min-height:52px;padding:12px 16px;border-radius:var(--r-sm);border:2px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:400;transition:border-color .2s,box-shadow .2s}
.form textarea{min-height:110px;resize:vertical}
.form input:focus-visible,.form textarea:focus-visible{outline:none;border-color:var(--azul);box-shadow:0 0 0 4px color-mix(in srgb,var(--azul) 25%,transparent)}
.form ::placeholder{color:var(--muted);opacity:1}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0;margin-bottom:8px;font-weight:700;color:var(--ink);font-size:.95rem}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label{display:inline-flex!important;min-height:44px;align-items:center;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--line);cursor:pointer;font-weight:500!important;transition:background .2s,box-shadow .2s,color .2s}
.seg input:checked+label{background:var(--azul);color:var(--on-cor);box-shadow:none}
.seg input:focus-visible+label{outline:3px solid var(--foco);outline-offset:2px}
.form .hint{font-size:.9rem;color:var(--muted)}
.aviso-saude{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-sm);background:var(--vermelho-soft);color:var(--ink);font-size:.92rem}
.aviso-saude svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--vermelho)}
.form .btn{justify-self:start}

/* ---------- CTA final ---------- */
.final{padding-block:0 clamp(72px,9vw,120px)}
.final-box{border-radius:var(--r-xl);padding:clamp(36px,6vw,72px);background:var(--amarelo);color:var(--on-amarelo);display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;position:relative;overflow:hidden}
.final-box h2{color:#2b2203;font-size:clamp(1.9rem,3.8vw,3rem);max-width:20ch;position:relative}
.final-box p{color:#3b2c05;margin-top:14px;max-width:52ch;position:relative}
.final-box .acts{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.final-box .acts .btn-pri{background:#1d2550;color:#fff}
.final-box .pz{position:absolute;right:-30px;bottom:-50px;width:240px;opacity:.18;transform:rotate(-12deg)}
.final-box::before{content:"";position:absolute;left:-60px;top:-70px;width:220px;height:220px;border-radius:var(--blob);background:rgba(255,255,255,.3)}

/* ---------- Rodapé ---------- */
footer{background:var(--night);color:var(--on-night-muted);padding-block:56px 32px;font-size:.96rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot > *{min-width:0}
.foot .brand img{background:#fdf8f1;border-radius:14px;padding:3px}
.foot .brand-t b{color:#fff}
.foot .brand-t span{color:var(--on-night-muted)}
.foot h2{color:#fff;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid}
.foot li a,.foot li span{display:inline-flex;align-items:center;min-height:40px;text-decoration:none;word-break:break-word}
.foot a:hover{color:#fff;text-decoration:underline}
.foot p{margin-top:16px;max-width:40ch}
.legal{margin-top:10px;font-size:.88rem}
.copy-l{border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem}
.copy-l a{text-decoration:underline}
.bar4{display:flex;height:8px}
.bar4 i{flex:1}
.bar4 i:nth-child(1){background:var(--azul)}.bar4 i:nth-child(2){background:var(--amarelo)}.bar4 i:nth-child(3){background:var(--vermelho)}.bar4 i:nth-child(4){background:var(--verde)}

/* botão flutuante do WhatsApp */
.fab{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:60px;height:60px;border-radius:50%;background:var(--zap);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(22,122,60,.7);transition:transform .25s;animation:pop .6s 2s both}
.fab:hover{transform:scale(1.08)}
.fab svg{width:30px;height:30px}
.fab-label{width:auto;padding-right:16px;grid-template-columns:60px auto;align-items:center;gap:10px}
.fab-label span{font-family:var(--f-display);font-weight:700;font-size:.95rem;white-space:nowrap}

/* entrada suave ao rolar (só onde o navegador suporta; o conteúdo nunca some) */
@supports (animation-timeline: view()){
  .rv{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
  @keyframes rise{from{transform:translateY(28px)}to{transform:none}}
}

/* quem pede "reduzir movimento" no aparelho fica sem animação */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .waves span{opacity:.35}
}

/* ---------- Responsivo ---------- */
@media (max-width:1060px){
  .menu{position:fixed;inset:78px 0 auto 0;max-height:calc(100dvh - 78px);overflow:auto;flex-direction:column;align-items:stretch;gap:4px;padding:16px max(20px,env(safe-area-inset-right,0px)) 24px max(20px,env(safe-area-inset-left,0px));background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility 0s .25s}
  .open .menu{opacity:1;transform:none;visibility:visible;transition:opacity .25s,transform .25s,visibility 0s}
  .menu a{min-height:52px;padding:0 16px;font-size:1.05rem}
  .menu .btn{margin:8px 0 0}
  .burger{display:grid}
}
@media (max-width:960px){
  .hero-grid,.about-grid,.reac-grid,.fam-grid,.contact-grid,.offer,.gest-box{grid-template-columns:1fr}
  .stage{max-width:380px}
  .impact-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .steps::before{display:none}
  .team-grid{grid-template-columns:1fr 1fr}
  .final-box{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .foot > :first-child{grid-column:1/-1}
  .trust-in{flex-direction:column;align-items:flex-start;gap:14px}
  .trust-l{max-width:none}
}
@media (max-width:600px){
  body{font-size:1rem}
  .paths,.bens,.form .row{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .impact-grid{grid-template-columns:1fr}
  .impact-q{grid-template-columns:1fr;gap:8px;padding:22px}
  .team-grid{grid-template-columns:1fr 1fr;gap:18px}
  .ph b{font-size:2.4rem}
  .chip{font-size:.78rem;padding:8px 12px 8px 8px}
  .chip b{min-width:30px;height:30px;font-size:.85rem}
  .chip.c1{left:-2%}.chip.c2{right:-2%}
  .tagw.t2{right:0}
  .foot{grid-template-columns:1fr}
  .hero .deco.d1{width:360px;height:360px;right:-200px}
  .pill{padding:10px 16px;font-size:.88rem}
}

/* ===== Páginas internas (tratamento, privacidade, 404) ===== */
.sub-hero{position:relative;overflow:hidden;padding-block:48px 64px;background:var(--ceu)}
.sub-hero .deco.d1{width:420px;height:420px;right:-120px;top:-140px;color:var(--deco)}
.sub-hero .deco.d2{width:180px;height:180px;right:22%;bottom:-90px;color:var(--vermelho-soft)}
.sub-hero .wrap{position:relative;z-index:1}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;color:var(--muted)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;color:var(--ink)}
.sub-hero h1{font-size:clamp(2.2rem,5.2vw,3.8rem);font-weight:800;margin-top:12px;max-width:20ch;letter-spacing:-.035em}
.sub-hero h1 em{font-style:normal;background:linear-gradient(transparent 68%,color-mix(in srgb,var(--amarelo) 80%,transparent) 68%, color-mix(in srgb,var(--amarelo) 80%,transparent) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.06em}
.sub-hero .lede{max-width:60ch}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.fact{padding:18px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}
.fact small{display:block;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.fact b{display:block;font-family:var(--f-display);color:var(--ink);font-size:1.1rem;margin-top:4px}
.fact::before{content:"";display:block;width:26px;height:26px;border-radius:var(--blob);background:var(--c);margin-bottom:12px}

.doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,5vw,72px);padding-block:64px 40px}
.toc{position:sticky;top:100px;align-self:start;display:grid;gap:2px}
.toc p{font-family:var(--f-display);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px}
.toc a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;text-decoration:none;font-size:.96rem;color:var(--text);border-left:4px solid transparent;transition:background .2s,color .2s,border-color .2s}
.toc a:hover{background:var(--surface-2)}
.toc a.on{color:var(--ink);font-weight:700;background:var(--surface-2);border-left-color:var(--azul)}
.doc-body{display:grid;gap:80px;min-width:0}
.blk{scroll-margin-top:100px;display:grid;gap:20px;min-width:0}
.blk > p{max-width:68ch}
.blk h2{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:700}
.blk h3{font-size:1.2rem}

.acro{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.acro div{padding:20px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.acro b{display:block;font-family:var(--f-display);font-weight:800;font-size:2.6rem;line-height:1;color:color-mix(in srgb,var(--c) 80%,var(--ink))}
.acro span{display:block;font-family:var(--f-display);font-weight:600;color:var(--ink);margin-top:10px}
.acro p{font-size:.94rem;color:var(--muted);margin-top:4px}

.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:f;margin:0;padding:0}
.flow li{list-style:none;position:relative;padding:22px 20px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);display:grid;gap:8px;align-content:start}
.flow li::before{counter-increment:f;content:counter(f);width:38px;height:38px;border-radius:var(--blob);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;color:var(--on-cor);background:var(--c)}
.flow li:nth-child(2)::before{color:var(--on-amarelo)}
.flow li:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;translate:0 -50%;width:24px;height:24px;border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--muted);font-weight:700;z-index:1}
.flow b{font-family:var(--f-display);color:var(--ink)}
.flow p{font-size:.95rem}

.device{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:24px;border-radius:var(--r-lg);background:var(--surface-2)}
.device .ic{width:72px;height:72px;border-radius:var(--blob);background:var(--surface);color:var(--azul)}
.device .ic svg{width:36px;height:36px}
.device dl{display:grid;grid-template-columns:repeat(3,auto);gap:4px 28px;margin:0}
.device dt{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.device dd{margin:0 0 8px;font-family:var(--f-display);color:var(--ink);font-weight:600}

.protos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.proto{padding:24px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);display:grid;gap:8px;align-content:start;border-top:6px solid var(--c)}
.proto .code{font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--ink)}
.proto .name{font-weight:700;color:color-mix(in srgb,var(--c) 45%,var(--ink))}
.proto p{font-size:.96rem}
.proto .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.proto .meta span{font-size:.82rem;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-weight:700}

.timeline{list-style:none;margin:0;padding:0;display:grid;position:relative}
.timeline::before{content:"";position:absolute;left:22px;top:10px;bottom:10px;width:4px;border-radius:4px;background:linear-gradient(var(--azul),var(--amarelo),var(--vermelho),var(--verde))}
.timeline li{display:grid;grid-template-columns:48px 1fr;gap:18px;padding-block:14px;position:relative}
.timeline li > i{width:48px;height:48px;border-radius:var(--blob);background:var(--surface);box-shadow:inset 0 0 0 3px var(--c);display:grid;place-items:center;font-style:normal;font-family:var(--f-display);font-weight:800;color:var(--ink);position:relative}
.timeline b{font-family:var(--f-display);color:var(--ink);font-size:1.1rem;display:block}
.timeline small{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:var(--surface-2);font-size:.8rem;font-weight:700;color:var(--muted);vertical-align:middle}
.timeline p{margin-top:4px;max-width:62ch}

.goals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.goal{display:flex;gap:14px;align-items:center;padding:18px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.goal span{width:46px;height:46px;flex:none;border-radius:var(--blob);display:grid;place-items:center;background:var(--s);color:var(--c)}
.goal span svg{width:22px;height:22px}
.goal b{font-family:var(--f-display);color:var(--ink);font-weight:600;line-height:1.3}

.study{padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);display:grid;gap:14px}
.study-h{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.study-h .yr{font-family:var(--f-display);font-weight:800;font-size:1.1rem;color:var(--on-cor);background:var(--azul);padding:4px 12px;border-radius:12px}
.study-h .jr{font-style:italic;color:var(--muted)}
.study h3{font-size:1.2rem;line-height:1.3}
.study > a{display:inline-flex;align-items:center;min-height:44px;justify-self:start;color:var(--azul);font-weight:700;text-decoration:none}
.study > a:hover{text-decoration:underline}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpi{padding:16px;border-radius:var(--r-sm);background:var(--surface-2)}
.kpi b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.8rem;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.kpi span{font-size:.88rem;color:var(--muted)}
.bars{display:grid;gap:10px;margin:4px 0 0}
.bars figcaption{font-size:.9rem;color:var(--muted);margin-bottom:4px}
.bar{display:grid;grid-template-columns:minmax(0,190px) 1fr 56px;gap:12px;align-items:center;font-size:.94rem}
.bar .tr{height:14px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.bar .tr i{display:block;height:100%;border-radius:999px;background:var(--c);width:var(--w)}
.bar em{font-style:normal;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);text-align:right}
.studies{display:grid;gap:16px}
.limits{padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);background:var(--amarelo-soft);display:grid;gap:12px;color:var(--ink)}
.limits h3{font-size:1.2rem}
.limits ul{margin:0;padding-left:20px;display:grid;gap:6px}
.safe{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.refs{margin:0;padding-left:22px;display:grid;gap:10px;font-size:.94rem}
.refs a{color:var(--azul);word-break:break-word}
.doc-cta{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* CTA de consulta para tratamento na página do tratamento */
.consulta-cta{padding:32px 26px;border-radius:var(--r-lg);background:var(--zap);color:#fff;margin-block:40px}
.consulta-cta h2{color:#fff}
.consulta-cta p{color:color-mix(in srgb,#fff 85%,transparent)}
.consulta-cta .btn{background:#fff;color:var(--zap)}
.consulta-cta .btn:hover{background:color-mix(in srgb,#fff 95%,#000)}
.doc-cta a{display:grid;gap:6px;padding:26px;border-radius:var(--r-lg);text-decoration:none;transition:transform .3s cubic-bezier(.3,.7,.3,1.2);position:relative;overflow:hidden}
.doc-cta a:hover{transform:translateY(-4px)}
.doc-cta a b{font-family:var(--f-display);font-size:1.3rem}
.doc-cta .c1{background:var(--vermelho);color:var(--on-cor)}
.doc-cta .c2{background:#1e6b37;color:#fff}
.small-note{font-size:.92rem;color:var(--muted)}

/* texto longo (política de privacidade) */
.legal-doc{max-width:76ch;padding-block:56px 80px;display:grid;gap:40px}
.legal-doc section{display:grid;gap:12px}
.legal-doc h2{font-size:clamp(1.4rem,2.6vw,1.8rem)}
.legal-doc h3{font-size:1.1rem;margin-top:6px}
.legal-doc ul,.legal-doc ol{margin:0;padding-left:22px;display:grid;gap:6px}
.legal-doc a{color:var(--azul);font-weight:700}
.legal-doc table{width:100%;border-collapse:collapse;font-size:.95rem}
.legal-doc th,.legal-doc td{text-align:left;vertical-align:top;padding:12px;border-bottom:1.5px solid var(--line)}
.legal-doc th{font-family:var(--f-display);color:var(--ink);background:var(--surface-2)}
.tabela{overflow-x:auto;border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px var(--line)}
.resumo{padding:24px;border-radius:var(--r-lg);background:var(--verde-soft);color:var(--ink);display:grid;gap:10px}
.resumo ul{gap:8px}
.destaque{padding:18px 20px;border-radius:var(--r-md);background:var(--amarelo-soft);color:var(--ink)}

/* 404 */
.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding-block:64px;position:relative;overflow:hidden}
.nf .wrap{display:grid;justify-items:center;gap:18px;position:relative;z-index:1}
.nf img{width:120px;height:120px}
.nf h1{font-size:clamp(2rem,5vw,3.2rem)}
.nf .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}

@media (max-width:960px){
  .doc{grid-template-columns:1fr}
  .toc{position:static;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px;padding:16px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
  .toc p{grid-column:1/-1}
  .facts,.acro{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
  .flow li::after{display:none}
  .goals{grid-template-columns:1fr 1fr}
  .device{grid-template-columns:1fr}
  .device dl{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .protos,.goals,.safe,.doc-cta,.flow,.kpis{grid-template-columns:1fr}
  .bar{grid-template-columns:1fr 48px}
  .bar > span:first-child{grid-column:1/-1}
}
