/* CZ Tech · o ponto */
:root{
  --canvas:#EEF4FB; --panel:#F8FBFF; --night:#061430; --night-hero:#152A4D;
  --accent:#1A66D6; --accent-hover:#2F7DE1; --accent-muted:#8CC4FF;
  --text-secondary:#4E6180; --text-primary:#0B1A33; --line:#C9D7EA; --line-strong:#8FA6C4;
  --f-display:"Bricolage Grotesque",Georgia,serif; --f-text:"Figtree",system-ui,sans-serif; --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --out:cubic-bezier(.23,1,.32,1); --io:cubic-bezier(.65,0,.35,1);
  --gutter:clamp(16px,4vw,64px);
  --tshadow:0 1px 2px rgba(5,10,25,.9),0 3px 12px rgba(5,10,25,.7),0 10px 44px rgba(5,10,25,.7);
}
*{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 1rem/1.6 var(--f-text);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
a{color:inherit}
em{font-style:normal;color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--accent);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;transition:top .3s var(--out)}
.skip:focus{top:16px}
main:focus{outline:none}
[hidden]{display:none!important}
.shell{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
section{position:relative}
.label{font:400 .74rem/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:18px}
.label.light{color:var(--accent-muted)}
.lede{font-weight:300;color:var(--text-secondary);max-width:40ch;font-size:1.02rem}
.lede.light{color:#B5C6DF}
.ed-title{font:400 clamp(2.6rem,7.4vw,6.6rem)/.98 var(--f-display);letter-spacing:-.035em}
.ed-title em{font-weight:700}
.head-split{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:64px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border-radius:99px;background:var(--accent);color:#fff;text-decoration:none;font:600 1rem/1.2 var(--f-text);border:0;cursor:pointer;
  box-shadow:0 12px 30px -12px rgba(26,102,214,.8);transition:background .3s var(--out),transform .4s var(--out)}
@media (hover:hover){.btn:hover{background:var(--accent-hover);transform:translateY(-2px)}}
.btn-sm{min-height:40px;padding:9px 18px;font-size:.88rem}
.btn-lg{min-height:62px;padding:18px 38px;font-size:1.08rem}
.txt-btn{background:none;border:0;padding:8px 0;font:400 .78rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;transition:color .3s var(--out)}
@media (hover:hover){.txt-btn:hover{color:var(--accent)}}
.txt-btn:disabled{opacity:.35;cursor:default}
@media (pointer:coarse){.btn,.txt-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

/* ambiente fixo: cidade de pontos derivando, ciclo de 80s */
.ambient{position:fixed;inset:-10%;z-index:-1;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle,rgba(26,102,214,.16) 1.2px,transparent 1.6px);background-size:34px 34px;
  animation:drift 80s linear infinite;animation-delay:-20s}
@keyframes drift{to{transform:translate3d(34px,68px,0)}}

/* nav */
.nav{position:fixed;top:calc(14px + env(safe-area-inset-top));left:50%;z-index:60;width:min(1180px,calc(100% - 24px));transform:translateX(-50%);display:flex;align-items:center;gap:24px;
  padding:10px 10px 10px 20px;border-radius:99px;background:rgba(238,244,251,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(201,215,234,.7);
  transition:transform .6s var(--out),background .4s var(--out)}
.nav.hide{transform:translate(-50%,-140%)}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary)}
.brand-cz{width:44px;height:22px;fill:var(--accent)}
.brand-tech{display:block;width:62px;height:15px;background:var(--text-primary);-webkit-mask:url(tech-word.png) center/contain no-repeat;mask:url(tech-word.png) center/contain no-repeat}
.nav-links{display:flex;gap:22px;margin-left:auto}
.nav-links a{text-decoration:none;font-size:.92rem;color:var(--text-secondary);transition:color .3s var(--out)}
@media (hover:hover){.nav-links a:hover{color:var(--accent)}}

/* pin assinatura */
.pin{position:fixed;right:22px;top:50%;z-index:50;display:flex;align-items:center;gap:10px;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .6s var(--out)}
.pin.on{opacity:1}
.pin i{position:relative;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(26,102,214,.18)}
.pin i::after{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(140,196,255,.7),transparent 70%);opacity:.4;animation:glow 4.5s ease-in-out infinite;animation-delay:-1.2s}
@keyframes glow{50%{opacity:1}}
.pin span{font:400 .7rem var(--f-mono);color:var(--text-secondary);letter-spacing:.06em}
.pin.flash i{animation:flash .8s var(--out)}
@keyframes flash{40%{transform:scale(1.7)}}
.pin.dark span{color:var(--accent-muted)}

/* ================= HERO ================= */
.hero{height:500vh;background:var(--night-hero)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--night-hero)}
.layer{position:absolute;inset:0;will-change:transform,opacity}
.l-bg{background:radial-gradient(ellipse 70% 60% at 50% 52%,#16233B 0%,#0C1526 55%,#060B16 100%)}
.bg-glow{position:absolute;left:50%;top:52%;width:min(70vw,90vh);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(79,130,210,.3) 0%,rgba(40,80,150,.12) 40%,transparent 70%);animation:glow 6s ease-in-out infinite}
/* o logo 3D: girado por JS (ignora o ajuste de animação do sistema, por decisão de marca). O filtro fica no palco, nunca no objeto 3D, para as camadas não achatarem */
/* mapa topográfico: curvas de nível geradas do mapa, luz que segue o cursor. Tudo é movido por JS, nada depende de animação CSS */
.wm-wrap{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;will-change:transform,opacity}
.worldmap{position:relative;width:max(100vw,200svh);aspect-ratio:2/1;flex:none;will-change:transform;--mx:50%;--my:50%}
.worldmap>i{position:absolute;inset:0;display:block}
.wm-topo{background:linear-gradient(180deg,#8FA9CC 0%,#5A7DAF 55%,#3D5F92 100%);opacity:.5;-webkit-mask:url(mapa-topo.svg) center/100% 100% no-repeat;mask:url(mapa-topo.svg) center/100% 100% no-repeat}
.wm-lit{position:absolute;left:0;top:0;width:640px;height:640px;overflow:hidden;will-change:transform;-webkit-mask-image:radial-gradient(circle closest-side,#000 0%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.35) 70%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 0%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.35) 70%,transparent 100%)}
.wm-lit .wm-topo{position:absolute;left:0;top:0;right:auto;bottom:auto;background:linear-gradient(180deg,#F4F9FF,#C3DBF5);opacity:1;will-change:transform}
.wm-glow{position:absolute;left:0;top:0;width:640px;height:640px;background:radial-gradient(circle closest-side,rgba(110,160,230,.2),transparent);will-change:transform}
.wm-pin{position:absolute;left:var(--x);top:var(--y);width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#CFE6FF;box-shadow:0 0 14px 4px rgba(140,196,255,.7);will-change:transform}
.wm-ring{position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(140,196,255,.8);opacity:.5}
.wm-pin.br{width:13px;height:13px;margin:-6.5px;background:#fff;box-shadow:0 0 22px 7px rgba(91,166,255,.9)}
.wm-label{position:absolute;left:22px;top:50%;transform:translateY(-50%);white-space:nowrap;padding:5px 11px;border-radius:99px;background:#fff;color:var(--text-primary);font:600 .78rem var(--f-text);font-style:normal;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);opacity:0}
.wm-ripple{position:absolute;width:14px;height:14px;margin:-7px;border-radius:50%;border:2px solid #CFE6FF;pointer-events:none}
.logo-scene{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.logo-wrap{--W:clamp(280px,44vw,640px);width:var(--W);aspect-ratio:522/254;will-change:transform,opacity;-webkit-perspective:1300px;perspective:1300px}
.logo-wrap::before{content:"";position:absolute;left:6%;right:6%;bottom:-16%;height:26%;background:radial-gradient(ellipse closest-side,rgba(1,6,18,.6),transparent);pointer-events:none}
.cz3d{position:relative;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform}
.cz3d svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;-webkit-backface-visibility:visible;backface-visibility:visible}
.wm-static{z-index:-1}
.hero-static::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 62% 36% at 50% 47%,rgba(6,20,48,.82) 0%,rgba(6,20,48,.6) 55%,transparent 100%)}
  .hs-scene{position:relative;inset:auto;width:min(68vw,340px);aspect-ratio:522/254;margin-bottom:20px}
.hs-scene .logo-wrap{--W:min(68vw,340px)}
body.paused .bg-glow{animation-play-state:paused}
#heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateZ(0);transition:opacity .8s var(--out)}
.stage.video-ready #heroVideo{opacity:1}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(6,14,32,0) 40%,rgba(6,14,32,.5) 100%)}

.band{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutter);opacity:0;color:#F4F8FF;text-shadow:var(--tshadow);pointer-events:none;z-index:2;isolation:isolate}
.band.live{pointer-events:auto}
.band::before{content:"";position:absolute;inset:-4%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));
  background:radial-gradient(ellipse 54% 44% at 50% 50%,rgba(9,28,70,.72) 0%,rgba(9,28,70,.64) 55%,rgba(9,28,70,.3) 78%,rgba(9,28,70,0) 100%)}
.band.dark-x{color:var(--text-primary);text-shadow:0 1px 18px rgba(238,244,251,.9)}
.band.dark::before{background:radial-gradient(ellipse 52% 36% at 50% 46%,rgba(238,244,251,.78) 0%,rgba(238,244,251,.66) 60%,rgba(238,244,251,0) 88%)}
.b1 h1{font:400 clamp(3rem,8.4vw,7.6rem)/.95 var(--f-display);letter-spacing:-.04em;max-width:12ch}
.kicker{font:400 .76rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;color:var(--accent-muted);text-shadow:none}
.b2 .big{font:400 clamp(2rem,4.6vw,4.2rem)/1.05 var(--f-display);letter-spacing:-.03em;max-width:18ch}
.b3{justify-content:flex-start;padding-top:15vh}
.b3::before{background:radial-gradient(ellipse 58% 34% at 50% 24%,rgba(5,12,30,.72) 0%,rgba(5,12,30,.62) 60%,rgba(5,12,30,0) 88%)}
.b3 h2{font:400 clamp(2rem,4.1vw,3.9rem)/1 var(--f-display);letter-spacing:-.04em;max-width:19ch}
.b3 .sub{margin-top:16px;font-weight:300;font-size:1.1rem;max-width:40ch;opacity:var(--ks,1);transform:translateY(calc((1 - var(--ks,1))*14px))}
.b3 .cta-row{position:absolute;left:0;right:0;bottom:11vh;display:flex;justify-content:center;opacity:var(--kb,1);transform:translateY(calc((1 - var(--kb,1))*18px))}
.band .btn{text-shadow:none}
/* palavras divididas */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w{display:inline-block;white-space:nowrap}
.split .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc)}
.split.drift .w{transform:translateY(calc((1 - var(--kc))*-26px))}
.split.rise .w{transform:translateY(calc((1 - var(--kc))*30px))}
.split.blur{position:relative}
.split.blur .soft{position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k,0))}
.split.blur .sharp{opacity:var(--k,0)}
.cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:#CFE3FF;font:400 .72rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;transition:opacity .5s var(--out)}
.cue .ring{width:30px;height:30px;transform:rotate(-90deg)}
.cue.gone{opacity:0}
@media (max-height:560px){.cue,.pin{display:none}}

.hero-static{display:none}

/* ================= MANIFESTO ================= */
.manifesto{background:var(--canvas);padding:clamp(100px,12vw,170px) 0 clamp(60px,8vw,110px)}

/* manifesto em palco: faixa escura com a frase da marca e seis cards lado a lado */
.mf-stage{display:grid;gap:12px}
.mf-dark{position:relative;overflow:hidden;display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(20px,3vw,48px);align-items:end;padding:clamp(24px,3vw,44px);border-radius:22px;color:#EAF1FF;background:radial-gradient(ellipse 70% 90% at 100% 0,rgba(79,150,255,.3),transparent 60%),repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 26px),var(--text-primary)}
.mf-big{font:400 clamp(2rem,3.7vw,3.6rem)/1.03 var(--f-display);letter-spacing:-.045em}
.mf-big b{font-weight:700;color:var(--accent-muted)}
.mf-side{display:grid;gap:18px;justify-items:start}
.mf-para{font:300 clamp(.98rem,1.2vw,1.1rem)/1.6 var(--f-text);color:#B9CBE6;max-width:46ch}
.mf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mf-c{display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2vw,26px);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22);transition:transform .5s var(--out),box-shadow .5s var(--out)}
@media (hover:hover){.mf-c:hover{transform:translateY(-5px);box-shadow:0 22px 38px -22px rgba(26,102,214,.45)}}
.mf-count{font:400 .72rem var(--f-mono);letter-spacing:.1em;color:var(--accent)}
.mf-c h3{font:400 clamp(1.4rem,2.1vw,1.9rem)/1.05 var(--f-display);letter-spacing:-.03em}
.mf-c p:not(.mf-count){font-weight:300;color:var(--text-secondary);font-size:.98rem;line-height:1.55}
@media (max-width:960px){.mf-dark{grid-template-columns:1fr;align-items:start}.mf-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.mf-cards{grid-template-columns:1fr}}

/* ================= LISTAS ================= */
.ed{padding:clamp(110px,13vw,190px) 0}
.ed .ed-title{margin-bottom:8vh}
.line{display:block;height:1px;background:var(--line);transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--out)}
.in .line,.line.in,.rows.in .line.last{transform:none}
.row{position:relative;display:grid;grid-template-columns:1fr 1.15fr;gap:5vw;align-items:baseline;padding:2.4rem 0}
.row>.line{position:absolute;left:0;right:0;top:0}
.row h3{display:flex;align-items:baseline;gap:1.2em;font:400 clamp(1.4rem,2.4vw,2.1rem)/1.15 var(--f-display);letter-spacing:-.02em;transition:color .4s var(--out)}
.row h3 small{font:400 .72rem var(--f-mono);color:var(--text-secondary);letter-spacing:.06em;min-width:3.6em}
.row p{font-weight:300;color:var(--text-secondary);max-width:46ch}
@media (hover:hover){.row:hover h3{color:var(--accent)}}
/* linha do tempo dos serviços */
.tl{position:relative;display:grid;gap:clamp(22px,3.4vw,44px);margin-top:clamp(40px,6vw,80px)}
.tl-rail{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--line)}
.tl-rail i{position:absolute;inset:0;background:linear-gradient(var(--accent),var(--accent-muted));transform-origin:top;transform:scaleY(var(--tp,0))}
.tl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.tl-card{background:#fff;border-radius:22px;padding:clamp(20px,2.4vw,32px);box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22);width:calc(100% - 52px);transition:transform .5s var(--out),box-shadow .5s var(--out)}
@media (hover:hover){.tl-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -20px rgba(26,102,214,.4)}}
.tl-card h3{font:400 clamp(1.35rem,2.2vw,1.9rem)/1.15 var(--f-display);letter-spacing:-.02em;margin-bottom:.5em}
.tl-card p{font-weight:300;color:var(--text-secondary)}
.tl-node{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:grid;place-items:center;background:var(--canvas);border:2px solid var(--line-strong);font:400 .76rem var(--f-mono);color:var(--text-secondary);z-index:1;transition:background .4s,color .4s,border-color .4s,box-shadow .4s}
.tl-item.lit .tl-node{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 7px rgba(26,102,214,.16)}
.tl-item:nth-of-type(even) .tl-card{grid-column:2;justify-self:end}
.tl-item:nth-of-type(odd) .tl-card{grid-column:1;justify-self:start}
@media (max-width:720px){
  .tl-rail{left:23px}
  .tl-item{grid-template-columns:1fr}
  .tl-item .tl-card,.tl-item:nth-of-type(even) .tl-card,.tl-item:nth-of-type(odd) .tl-card{grid-column:1;width:calc(100% - 66px);margin-left:66px;justify-self:stretch}
  .tl-node{left:23px;top:30px;margin-top:0}
}
.process .row h3 small{min-width:8.5em}

/* entrada genérica */
.js .in-up{opacity:0;transform:translateY(44px) scale(.96);transition:opacity .8s var(--out),transform 1.1s var(--out);transition-delay:calc(var(--d,0)*130ms)}
.js .in-up.in{opacity:1;transform:none}
.js .in-up.done{transition-delay:0s}

/* ================= DEMO ================= */
.demo{padding:0 0 clamp(110px,13vw,190px)}
/* três exemplos na mesma tela: um card por clínica, cada um com a tela do celular do paciente */
.ex-stage{margin-top:clamp(26px,3.4vw,44px)}
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ex{display:flex;flex-direction:column;align-items:center;gap:14px;padding:clamp(16px,1.8vw,24px);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22)}
.ex-head{align-self:stretch;display:flex;align-items:center;gap:12px}
.ex-av{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--text-primary);color:#8CC4FF;font:700 .9rem var(--f-display);letter-spacing:.02em}
.ex-head h3{font:400 clamp(1.25rem,1.8vw,1.55rem)/1.05 var(--f-display);letter-spacing:-.025em}
.ex-head p{font-size:.84rem;color:var(--text-secondary);font-weight:300;margin-top:2px}
.ex-tag{align-self:stretch;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:99px;background:var(--canvas);font:600 .8rem var(--f-text);color:var(--text-primary)}
.ex-tag i{font:400 .68rem var(--f-mono);font-style:normal;color:var(--accent)}
.dphone{position:relative;flex:none;width:210px;height:392px;border-radius:32px;background:var(--text-primary);box-shadow:0 26px 40px -28px rgba(11,26,51,.6)}
.dphone::before{content:"";position:absolute;top:8px;left:50%;z-index:3;width:70px;height:18px;margin-left:-35px;border-radius:0 0 12px 12px;background:var(--text-primary)}
.dscreen{position:absolute;inset:8px;border-radius:25px;background:#F4F8FD;padding:32px 10px 10px;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.dscreen-lp{padding:0}
.dscreen .sim-map{height:112px;flex:none;border-radius:14px}
.dscreen .rank{height:176px;flex:none}
.dscreen .rank li{height:38px;padding:0 10px;font-size:.74rem;border-radius:10px}
.dscreen .gmn{gap:9px}
.dscreen .g-title b{font-size:1rem}
.dscreen .g-stars{font-size:.76rem}.dscreen .stars{letter-spacing:1px}
.dscreen .chip{margin:0 4px 4px 0;padding:3px 8px;font-size:.66rem}
.dscreen .g-actions span{padding:7px 2px;font-size:.66rem}
.dscreen .g-meter{font-size:.7rem;gap:8px;padding-top:8px}
.dscreen .lp{height:100%;border-radius:0}
.dscreen .lp-hero{padding:34px 14px 16px}
.dscreen .lp-hero b{font-size:1.05rem}
.dscreen .lp-blocks i{height:46px}
.lp-toast{position:absolute;left:10px;right:10px;bottom:64px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:#fff;box-shadow:0 12px 24px -10px rgba(11,26,51,.5);opacity:0;transform:translateY(14px);transition:opacity .6s var(--out) 1.2s,transform .8s var(--out) 1.2s}
.lp-toast>i{flex:none;width:26px;height:26px;border-radius:50%;background:#1FA855}
.lp-toast b{display:block;font-size:.7rem}.lp-toast small{font-size:.62rem;color:var(--text-secondary)}
.ex.in .lp-toast{opacity:1;transform:none}
.ex-res{align-self:stretch;margin-top:auto;padding:12px 14px;border-radius:14px;background:var(--text-primary);color:#D3E0F5;display:grid;gap:3px}
.ex-res b{font:700 clamp(1.3rem,1.9vw,1.7rem)/1 var(--f-display);color:#fff;letter-spacing:-.02em}
.ex-res span{font-size:.82rem;font-weight:300;line-height:1.4}
@media (max-width:960px){.ex-grid{grid-template-columns:1fr}.ex{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start}.ex-head,.ex-tag{flex:1 1 100%}.dphone{order:2}.ex-res{order:3;flex:1 1 220px;align-self:center;margin-top:0}}
@media (max-width:560px){.ex{flex-direction:column;flex-wrap:nowrap;align-items:center}.ex-head,.ex-tag{flex:none}.dphone,.ex-res{order:0}.ex-res{align-self:stretch;flex:none}}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:16px;min-height:480px}
.card .label{margin:0}
.sim-map{position:relative;height:150px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#E3EEFC,#CFE2FA)}
.roads{position:absolute;inset:0;width:100%;height:100%}
.roads path{fill:none;stroke:#fff;stroke-width:7}
.mpin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;background:#D9533F;color:#fff;font:600 .7rem/26px var(--f-text);text-align:center;transform:rotate(-45deg) scale(0);transition:transform .6s var(--out),background .5s var(--out)}
.go .mpin{transform:rotate(-45deg) scale(1)}
.m1{left:22%;top:28%}.m2{left:60%;top:20%;transition-delay:.1s}.m3{left:40%;top:60%;transition-delay:.2s}
.m-you{left:75%;top:58%;background:#9AA9BF;transition-delay:.3s}
.m-you.win{background:var(--accent)}
.radar{position:absolute;left:calc(75% + 13px);top:calc(58% + 13px);width:10px;height:10px;margin:-5px;border-radius:50%;border:2px solid var(--accent);opacity:0}
.radar.on{animation:radar 2s ease-out infinite;animation-delay:-.4s}
@keyframes radar{from{transform:scale(1);opacity:.9}to{transform:scale(12);opacity:0}}
.rank{list-style:none;margin:0;padding:0;position:relative;height:200px}
.rank li{position:absolute;left:0;right:0;height:44px;padding:0 14px;display:flex;justify-content:space-between;align-items:center;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:.9rem;transition:transform .8s var(--out),background .5s var(--out),color .5s var(--out)}
.rank small{color:var(--text-secondary)}
.rank .you{border-style:dashed;background:var(--canvas)}
.rank .you.win{background:var(--accent);border:1px solid var(--accent);color:#fff}
.rank .you.win small{color:#D6E7FF}
.gmn{display:grid;gap:12px}
.g-row{position:relative;min-height:24px}
.g-row .sk{position:absolute;inset:0;border-radius:8px;background:linear-gradient(90deg,#E8F0FA,#F6F9FE,#E8F0FA);background-size:200% 100%;animation:shimmer 1.6s linear infinite;transition:opacity .5s var(--out)}
@keyframes shimmer{to{background-position:-200% 0}}
.gmn .g-row>:not(.sk){opacity:0;transform:scale(.7);transition:opacity .5s var(--out),transform .6s var(--out)}
.gmn.s1 .g-title .sk,.gmn.s2 .g-stars .sk{opacity:0}
.gmn.s1 .g-title>:not(.sk),.gmn.s2 .g-stars>:not(.sk),.gmn.s3 .g-cats>*,.gmn.s4 .g-photos>*,.gmn.s5 .g-actions>*{opacity:1;transform:none}
.g-title b{font:700 1.15rem var(--f-display)}
.stars{color:#F2B705;letter-spacing:2px}
.chip{display:inline-block;margin:0 6px 6px 0;padding:4px 10px;border-radius:99px;background:#DCE9FB;color:#124FA8;font-size:.78rem}
.g-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.g-photos i{aspect-ratio:1;border-radius:10px;background:linear-gradient(135deg,#BCD6F7,#E6F0FC)}
.g-photos i:nth-child(2){background:linear-gradient(135deg,#9EC4F3,#DCE9FB)}.g-photos i:nth-child(3){background:linear-gradient(135deg,#CFE1F9,#9CC3F2)}
.g-actions{display:flex;gap:6px}.g-actions span{flex:1;text-align:center;padding:9px 4px;border-radius:10px;border:1px solid var(--line);font-size:.8rem;color:var(--accent)}
.g-meter{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--text-secondary);padding-top:10px;border-top:1px dashed var(--line)}
.g-meter div{flex:1;height:6px;border-radius:6px;background:#DCE9FB;overflow:hidden}
.g-meter i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);transition:transform .5s var(--out)}
.g-meter b{color:var(--accent);font-weight:600}
.lp-wrap{flex:1;display:flex;align-items:center;justify-content:center;gap:22px}
.phone{position:relative;width:170px;height:340px;border-radius:30px;background:var(--night);padding:8px}
.lp{height:100%;border-radius:23px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.lp-hero{padding:30px 12px 14px;background:linear-gradient(160deg,var(--accent),#0E3A7D);color:#fff;display:grid;gap:4px}
.lp-hero small{font:400 .56rem var(--f-mono);text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.lp-hero b{font:700 .95rem/1.15 var(--f-display)}.lp-hero span{font-size:.62rem;color:#FFD76A}
.lp-blocks{flex:1;padding:10px;display:grid;gap:8px;align-content:start}
.lp-blocks i{height:40px;border-radius:10px;background:var(--canvas);border:1px solid var(--line)}
.lp-btn{position:relative;margin:10px;padding:10px;border-radius:99px;text-align:center;background:#1FA855;color:#fff;font-weight:600;font-size:.68rem}
.lp-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 10px rgba(31,168,85,.35);opacity:0;animation:glow 4s ease-in-out infinite;animation-delay:-1s}
.tap{position:absolute;bottom:22px;left:55%;width:28px;height:28px;border-radius:50%;background:rgba(26,102,214,.35);border:2px solid #fff;opacity:0;animation:tap 4s var(--io) infinite;animation-delay:-.5s}
@keyframes tap{0%,30%{transform:translate(30px,-120px);opacity:0}50%{opacity:1;transform:none}60%{transform:scale(.7)}72%,100%{transform:scale(1.4);opacity:0}}
.bars{display:flex;gap:10px;height:220px;align-items:flex-end}
.bars>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.bars i{width:34px;height:var(--h);border-radius:8px 8px 3px 3px;background:var(--line-strong);transform-origin:50% 100%;transform:scaleY(0);transition:transform 1.4s var(--out) .4s}
.bars .us i{background:var(--accent)}
.card.in .bars i{transform:none}
.bars span{font:400 .64rem/1.3 var(--f-mono);text-align:center;color:var(--text-secondary)}
.bars .us span{color:var(--accent)}

/* ================= PALCO (peças compartilhadas) ================= */
.stage-panel{position:relative;background:#E3EBF6;border-radius:32px;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.panel-card{position:relative;background:#fff;border-radius:22px;padding:clamp(18px,2.2vw,28px);box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22)}
.panel-card.dark{background:var(--text-primary);color:#EAF1FF}
.ftabs{display:flex;align-items:center;gap:6px;padding:0 4px 12px;overflow-x:auto;scrollbar-width:none}
.ftabs::-webkit-scrollbar{display:none}
.ftab{position:relative;flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:0;border-radius:14px;background:transparent;color:var(--text-secondary);font:600 .92rem var(--f-text);cursor:pointer;white-space:nowrap;transition:background .4s var(--out),color .4s var(--out),box-shadow .4s var(--out)}
.ftab small{font:400 .68rem var(--f-mono);opacity:.75}
@media (hover:hover){.ftab:hover{color:var(--text-primary)}}
.ftab[aria-selected="true"]{background:#fff;color:var(--text-primary);box-shadow:0 10px 22px -16px rgba(11,26,51,.45)}
.ftab.hot::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.ftab.done{color:var(--text-primary)}
.btn-light{background:#fff;color:var(--text-primary);box-shadow:none}
@media (hover:hover){.btn-light:hover{background:#DCE9FB}}

/* ================= A ESCOLHA (palco de 5 etapas) ================= */
.journey{height:520vh;background:var(--panel)}
.j-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.j-sticky .shell{padding-top:56px}
.j-head{margin-bottom:12px;align-items:end}
.j-head .lede{max-width:34ch;font-size:.92rem}
.j-head{margin-bottom:12px;align-items:end}
.j-head .ed-title{font-size:clamp(2rem,3.4vw,3.2rem)}
.j-head .lede{max-width:34ch;font-size:.92rem}
.cz-badge{align-self:flex-start;display:inline-block;margin-top:6px;padding:5px 11px;border-radius:99px;background:rgba(26,102,214,.12);color:var(--accent);font:600 .72rem var(--f-text)}
/* o funil: 5 etapas que se fecham, com o detalhe da etapa ao lado */
.j-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:1fr auto;gap:12px;padding:14px;height:auto}
.j-fun{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:6px 6px 6px 8px}
.j-funnel{display:flex;flex-direction:column;align-items:center;gap:5px}
.j-bar{position:relative;width:var(--w);height:clamp(54px,9.4svh,84px);display:flex;align-items:center;gap:12px;padding:0 calc(var(--in) + 16px);border:0;color:var(--text-primary);font:inherit;cursor:pointer;
  background:#fff;clip-path:polygon(0 0,100% 0,calc(100% - var(--in)) 100%,var(--in) 100%);opacity:0;transform:scaleX(.6) translateY(-8px);transform-origin:50% 0;transition:opacity .5s var(--out),transform .8s var(--out),background .4s,color .4s}
.j-bar.shown{opacity:1;transform:none}
.j-bar.on{background:var(--accent);color:#fff}
.j-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.j-num{font:400 .7rem var(--f-mono);opacity:.7}
.j-name{font:400 clamp(1.05rem,1.7vw,1.45rem)/1 var(--f-display);letter-spacing:-.02em}
.j-tag{font:600 .56rem var(--f-mono);font-style:normal;letter-spacing:.08em;padding:3px 6px;border-radius:99px;background:rgba(26,102,214,.14);color:var(--accent)}
.j-bar.on .j-tag{background:rgba(255,255,255,.22);color:#fff}
.j-bar b{margin-left:auto;font:700 clamp(1rem,1.5vw,1.3rem)/1 var(--f-display);color:var(--accent);letter-spacing:-.02em;white-space:nowrap}
.j-bar.on b{color:#fff}
.j-closing{font-size:.82rem;line-height:1.45;color:var(--text-secondary);font-weight:300;max-width:46ch;margin:0 auto;text-align:center}
.j-detail{grid-column:2;grid-row:1;position:relative;display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(20px,2.6vw,36px);align-items:center;padding:clamp(16px,2vw,26px);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22)}
.j-phone{justify-self:center}
.j-info{position:relative;min-height:230px}
.j-i{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:10px;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .5s var(--out),transform .8s var(--out)}
.j-i.on{opacity:1;transform:none;pointer-events:auto}
.j-i h3{font:400 clamp(2rem,3.4vw,3.2rem)/1 var(--f-display);letter-spacing:-.035em}
.j-sent{font-weight:300;color:var(--text-secondary);font-size:1.02rem;line-height:1.45;max-width:30ch}
.j-i .j-stat{display:flex;align-items:baseline;gap:10px;font-size:.84rem;line-height:1.3;color:var(--text-secondary);margin-top:4px}
.j-i .j-stat b{flex:none;font:700 clamp(1.8rem,2.6vw,2.4rem)/1 var(--f-display);color:var(--accent);letter-spacing:-.03em}
.j-progress{grid-column:1/-1;grid-row:2}
@media (max-height:760px){.j-head .lede{display:none}.j-sent{font-size:.9rem}.j-i h3{font-size:2rem}.j-closing{display:none}}
.j-progress{height:3px;margin:12px 10px 2px;border-radius:3px;background:rgba(11,26,51,.08);overflow:hidden}
.j-progress span{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
.source{margin-top:16px;font:400 .7rem var(--f-mono);color:var(--text-secondary)}

/* o celular de cada etapa */
.j-phone{position:relative;z-index:2;width:210px;height:min(400px,calc(46svh + 60px));border-radius:32px;background:var(--text-primary);justify-self:center;align-self:center;box-shadow:0 30px 50px -30px rgba(11,26,51,.6)}
.j-phone::before{content:"";position:absolute;top:8px;left:50%;z-index:2;width:70px;height:18px;margin-left:-35px;border-radius:0 0 12px 12px;background:var(--text-primary)}
.jp-s{position:absolute;inset:8px;border-radius:25px;background:#F4F8FD;padding:34px 12px 12px;display:flex;flex-direction:column;gap:9px;overflow:hidden;opacity:0;transform:scale(.96);transition:opacity .5s var(--out),transform .7s var(--out)}
.jp-s.on{opacity:1;transform:none}
.jp-search{display:flex;align-items:center;gap:8px;min-height:36px;padding:9px 12px;border-radius:99px;background:#fff;box-shadow:0 4px 12px -6px rgba(11,26,51,.3);font-size:.72rem}
.jp-search svg{flex:none;width:14px;height:14px;fill:none;stroke:var(--text-secondary);stroke-width:2.4;stroke-linecap:round}
.caret{display:inline-block;width:1.5px;height:14px;background:var(--accent);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.jp-sugg{list-style:none;margin:0;padding:0}
.jp-sugg li{font-size:.68rem;color:var(--text-secondary);padding:9px 6px;border-bottom:1px solid #E3EAF4}
.jp-map{position:relative;height:150px;flex:none;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#E3EEFC,#CFE2FA)}
.jp-pin{position:absolute;width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#D9533F;color:#fff;font:600 .6rem/22px var(--f-text);text-align:center}
.jp-pin.p1{left:58%;top:40%;background:var(--accent);box-shadow:0 0 0 5px rgba(26,102,214,.22)}
.jp-pin.p2{left:22%;top:20%}.jp-pin.p3{left:30%;top:62%}
.jp-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.jp-list li{display:flex;justify-content:space-between;padding:8px 10px;border-radius:10px;background:#fff;font-size:.66rem}
.jp-list li.you{background:var(--accent);color:#fff}
.jp-prof{display:grid;gap:2px;padding:10px;border-radius:12px;background:#fff}
.jp-prof b{font:700 .85rem var(--f-display)}
.jp-prof small{font-size:.62rem;color:var(--text-secondary)}
.jp-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.jp-photos i{aspect-ratio:1;border-radius:8px;background:linear-gradient(135deg,#BCD6F7,#E6F0FC)}
.jp-photos i:nth-child(2){background:linear-gradient(135deg,#9EC4F3,#DCE9FB)}
.jp-review{display:grid;gap:5px;padding:9px 10px;border-radius:10px;background:#fff}
.jp-review .stars{font-size:.6rem}
.jp-review i{display:block;height:5px;border-radius:5px;background:#E3EBF6}
.jp-review i.short{width:60%}
.jp-actions{display:flex;gap:5px}
.jp-actions span{flex:1;text-align:center;padding:8px 2px;border-radius:9px;background:#fff;font-size:.6rem;color:var(--accent)}
.jp-actions .wa{background:#1FA855;color:#fff}
.jp-wa{position:relative;margin-top:auto;padding:12px;border-radius:99px;background:#1FA855;color:#fff;text-align:center;font-weight:600;font-size:.72rem}
.jp-wa::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 8px rgba(31,168,85,.3);opacity:0}
.jp-s.on .jp-wa::after{animation:glow 3s ease-in-out infinite;animation-delay:-.6s}
.jp-tap{position:absolute;right:40px;bottom:24px;width:24px;height:24px;border-radius:50%;background:rgba(26,102,214,.35);border:2px solid #fff;opacity:0}
.jp-month{font:700 .8rem var(--f-display)}
.jp-cal{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.jp-cal i{aspect-ratio:1;border-radius:7px;background:#fff}
.jp-cal i.booked{background:var(--accent);box-shadow:0 0 0 3px rgba(26,102,214,.25)}
.jp-booked{margin-top:auto;display:grid;gap:2px;padding:12px;border-radius:14px;background:var(--text-primary);color:#fff;font-weight:600;font-size:.74rem}
.jp-booked small{font-weight:400;color:#B5C6DF;font-size:.64rem}

/* ================= CASES ================= */
.cases{padding:clamp(110px,13vw,190px) 0 40px}
.case-stage{margin-top:clamp(30px,4vw,56px);display:grid;gap:12px}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.case-card{position:relative;display:flex;flex-direction:column;border:2px solid transparent;font:inherit;text-align:left;cursor:pointer;padding:0;border-radius:22px;background:#fff;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22);transition:transform .5s var(--out),box-shadow .5s var(--out)}
.case-card:focus-visible{transform:translateY(-6px);box-shadow:0 24px 40px -22px rgba(26,102,214,.45)}
@media (hover:hover){.case-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -22px rgba(26,102,214,.45)}}
.case-shot{position:relative;height:clamp(260px,26vw,360px);display:flex;justify-content:center;padding-top:22px;overflow:hidden;background:linear-gradient(180deg,#DCE9FB,#F1F6FD)}
.case-shot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(transparent,#fff)}
.case-shot img{width:min(62%,230px);height:auto;align-self:flex-start;filter:drop-shadow(0 20px 26px rgba(11,26,51,.28));transition:transform .7s var(--out)}
@media (hover:hover){.case-card:hover .case-shot img{transform:translateY(-8px) scale(1.03)}}
.case-info{position:relative;display:grid;gap:4px;padding:6px 22px 22px}
.case-n{font:400 .72rem var(--f-mono);color:var(--accent)}
.case-info h3{font:400 clamp(1.5rem,2.4vw,2.1rem)/1.05 var(--f-display);letter-spacing:-.03em}
.case-info p{font-weight:300;color:var(--text-secondary);font-size:.94rem}
.case-go{margin-top:10px;font:600 .86rem var(--f-text);color:var(--accent)}
.case-go i{display:inline-block;font-style:normal;transition:transform .4s var(--out)}
@media (hover:hover){.case-card:hover .case-go i{transform:translateX(6px)}}
.case-card.sel{border-color:var(--accent);box-shadow:0 24px 40px -22px rgba(26,102,214,.45)}
.case-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.case-info{display:grid}
.case-info h3{margin:0}
.case-detail{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:clamp(20px,3.4vw,52px);align-items:center;padding:clamp(20px,2.6vw,36px)}
.cd-shot{display:flex;justify-content:center}
.cd-shot img{width:min(100%,210px);height:auto;filter:drop-shadow(0 22px 30px rgba(11,26,51,.28))}
.cd-body{display:grid;gap:14px;justify-items:start}
.cd-body h3{font:400 clamp(1.7rem,2.8vw,2.6rem)/1.05 var(--f-display);letter-spacing:-.035em}
.cd-text{font-weight:300;color:var(--text-secondary);font-size:1.02rem;line-height:1.55;max-width:56ch}
.cd-stats{display:flex;flex-wrap:wrap;gap:12px}
.cd-stats>div{display:grid;gap:4px;padding:14px 18px;border-radius:16px;background:var(--canvas);min-width:140px}
.cd-stats b{font:700 clamp(1.8rem,2.8vw,2.6rem)/1 var(--f-display);color:var(--accent);letter-spacing:-.03em}
.cd-stats span{font-size:.84rem;color:var(--text-secondary);max-width:20ch;line-height:1.3}
.cd-bars{display:grid;gap:8px;width:min(100%,420px)}
.cd-bars>p{font:400 .72rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.cd-bars>div{display:flex;align-items:flex-end;gap:12px;height:110px}
.cd-bars figure{margin:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.cd-bars i{display:block;width:100%;max-width:64px;height:calc(var(--h) * 78px);border-radius:8px 8px 3px 3px;background:var(--accent);transform-origin:50% 100%;animation:cdGrow .9s var(--out) both}
.cd-bars b{font:700 .9rem var(--f-display)}
.cd-bars span{font:400 .68rem var(--f-mono);color:var(--text-secondary)}
@keyframes cdGrow{from{transform:scaleY(0)}}
.cd-note{font:400 .72rem var(--f-mono);color:var(--text-secondary);letter-spacing:.04em}
@media (max-width:720px){.case-detail{grid-template-columns:1fr;justify-items:center}.cd-body{justify-items:start;width:100%}}

/* ================= RESULTADOS (o palco que abre) ================= */
.results{padding:0 0 clamp(110px,13vw,190px)}
.r-pin{height:240vh}
.r-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.r-sticky .shell{padding-top:56px}
.r-head{margin-bottom:26px}
.r-head .ed-title{font-size:clamp(2.2rem,4.4vw,4.2rem)}
.r-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform-origin:50% 50%;background:none}
.r-stage::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#E3EBF6;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);opacity:var(--bg,1)}
.r-card{display:flex;flex-direction:column;min-height:400px}
.r-big{display:block;font:700 clamp(2.2rem,3.4vw,3rem)/1 var(--f-display);letter-spacing:-.03em;margin:2px 0 8px}
.r-note{font-weight:300;color:var(--text-secondary);font-size:.92rem;margin-bottom:22px}
.mini-bars{flex:1;display:flex;align-items:flex-end;gap:8px;min-height:150px;padding-top:34px}
.mini-bars i{position:relative;flex:1;height:calc(var(--v)*100%);border-radius:8px 8px 3px 3px;background:#E3EBF6;transform-origin:50% 100%;transform:scaleY(0);transition:transform 1.1s var(--out)}
.mini-bars i:nth-child(2){transition-delay:.06s}.mini-bars i:nth-child(3){transition-delay:.12s}.mini-bars i:nth-child(4){transition-delay:.18s}.mini-bars i:nth-child(5){transition-delay:.24s}.mini-bars i:nth-child(6){transition-delay:.3s}
.mini-bars i.hi{background:var(--text-primary)}
.mini-bars em{position:absolute;left:50%;top:-30px;transform:translateX(-50%);padding:3px 8px;border-radius:6px;background:var(--text-primary);color:#fff;font:400 .66rem var(--f-mono);font-style:normal;white-space:nowrap}
.grown .mini-bars i{transform:none}
.mini-x{display:flex;justify-content:space-between;margin-top:10px;font:400 .64rem var(--f-mono);color:var(--text-secondary);text-transform:uppercase}
.area{position:relative;flex:1;min-height:150px;margin-top:34px}
.area svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.area-fill{fill:#E3EBF6}
.area-line{fill:none;stroke:#AFC3DF;stroke-width:2;vector-effect:non-scaling-stroke}
.marker{position:absolute;inset:0;pointer-events:none;transform:translateX(calc(var(--mx,1)*100%))}
.marker i{position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--text-primary)}
.marker em{position:absolute;left:0;top:-6px;transform:translate(-50%,-100%);padding:3px 8px;border-radius:6px;background:var(--text-primary);color:#fff;font:400 .66rem var(--f-mono);font-style:normal;white-space:nowrap}
.hbars{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px}
.hbars>div{position:relative;display:grid;grid-template-columns:78px 1fr;align-items:center;gap:10px}
.hbars span{font:400 .66rem var(--f-mono);text-transform:uppercase;color:var(--text-secondary)}
.hbars i{display:block;height:40px;width:calc(var(--w)*100%);border-radius:10px;background:#E3EBF6;transform-origin:0 50%;transform:scaleX(0);transition:transform 1.1s var(--out)}
.hbars .us i{background:var(--text-primary);transition-delay:.15s}
.grown .hbars i{transform:none}
.hbars em{position:absolute;right:12px;font:400 .68rem var(--f-mono);font-style:normal;color:var(--text-secondary)}
.hbars .us em{color:#fff}


/* título que sai do desfoque */
.blur-in{position:relative}
.blur-in .soft{position:absolute;inset:0;filter:blur(8px);opacity:1;transition:opacity 1.2s var(--out)}
.blur-in .sharp{display:block;opacity:0;transition:opacity 1.2s var(--out)}
.blur-in.in .soft{opacity:0}
.blur-in.in .sharp{opacity:1}
.js .in-rise{opacity:0;transform:translateY(60px);transition:opacity 1s var(--out),transform 1.3s var(--out)}
.js .in-rise.in{opacity:1;transform:none}
.js .in-scale{opacity:0;transform:scale(.94);transition:opacity 1s var(--out),transform 1.3s var(--out)}
.js .in-scale.in{opacity:1;transform:none}

/* ================= SCORE (o palco do diagnóstico) ================= */
.score{padding:clamp(110px,13vw,190px) 0}
.score-head{text-align:center;max-width:900px;margin:0 auto 48px}
.score-head .label{margin-bottom:14px}
.score-head .ed-title{font-size:clamp(2.4rem,5.4vw,4.8rem);margin-bottom:18px}
.score-head .lede{margin:0 auto;max-width:46ch}
.s-stage{max-width:1180px;margin:0 auto}
.ftab i{font:400 .66rem var(--f-mono);font-style:normal;padding:2px 7px;border-radius:99px;background:#E3EBF6;color:var(--text-secondary);transition:background .4s var(--out),color .4s var(--out)}
.ftab i.full{background:var(--accent);color:#fff}
.s-mini{display:none;margin-left:auto;padding-right:8px;font:400 .68rem var(--f-mono);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}
.s-mini b{margin-left:6px;font:700 1.05rem var(--f-display);color:var(--text-primary)}
.s-body{display:grid;grid-template-columns:1.75fr 1fr;gap:12px}
.s-questions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,30px) clamp(20px,3vw,40px);align-content:start;min-height:430px}
.s-questions.swap{animation:qIn .55s var(--out)}
@keyframes qIn{from{opacity:0;transform:translateY(12px)}}
.qb{display:flex;flex-direction:column;gap:12px;padding-bottom:18px;border-bottom:1px solid #E6EDF6}
.qb-top{display:flex;gap:10px;align-items:baseline}
.qb-top small{font:400 .68rem var(--f-mono);color:var(--text-secondary)}
.qb-top h3{font:600 1.02rem/1.3 var(--f-text)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip-opt{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:8px 16px;border:1px solid var(--line);border-radius:99px;background:#fff;font:400 .88rem var(--f-text);color:var(--text-primary);cursor:pointer;transition:background .3s var(--out),color .3s var(--out),border-color .3s var(--out)}
@media (hover:hover){.chip-opt:hover{border-color:var(--accent)}}
.chip-opt[aria-pressed="true"]{background:var(--text-primary);border-color:var(--text-primary);color:#fff}
.chip-opt[aria-pressed="true"]::before{content:"✓";font-size:.78rem}
.qb-note{min-height:2.7em;font-size:.84rem;font-weight:300;color:var(--text-secondary)}
.s-side{display:grid;grid-template-rows:auto 1fr;gap:12px}
.s-live .label{margin-bottom:6px}
.s-score b{font:700 clamp(3rem,5vw,4.4rem)/1 var(--f-display);letter-spacing:-.04em}
.s-score span{margin-left:6px;color:var(--text-secondary)}
.s-meter{position:relative;display:grid;grid-template-columns:30fr 30fr 30fr 10fr;gap:3px;height:8px;margin:16px 0 22px}
.s-meter i{border-radius:4px;opacity:.22}
.z1{background:#EF4444}.z2{background:#F59E0B}.z3{background:var(--accent)}.z4{background:#5FAE12}
.s-meter::after{content:"";position:absolute;inset:0;border-radius:4px;background:linear-gradient(90deg,#EF4444 0 30%,#F59E0B 30% 60%,#3F86EB 60% 90%,#5FAE12 90% 100%);clip-path:inset(0 calc((1 - var(--s,0))*100%) 0 0 round 4px);transition:clip-path .9s cubic-bezier(.22,1,.36,1);box-shadow:0 0 14px -2px rgba(63,134,235,.6)}
.s-meter.bump{animation:meterBump .6s var(--out)}
@keyframes meterBump{40%{transform:scaleY(1.9)}}
.s-needle{z-index:1;position:absolute;inset:0;pointer-events:none;transform:translateX(calc(var(--s,0)*100%));transition:transform .9s cubic-bezier(.3,1.4,.5,1)}
.s-needle::after{content:"";position:absolute;left:-2px;top:-5px;width:4px;height:18px;border-radius:2px;background:var(--text-primary);box-shadow:0 0 0 2px #fff}
.s-pillars{display:grid;gap:12px}
.sp span{display:flex;justify-content:space-between;margin-bottom:6px;font:400 .68rem var(--f-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}
.sp span b{font-weight:400;color:var(--text-primary)}
.sp div{height:6px;border-radius:6px;background:#E3EBF6;overflow:hidden}
.sp i{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);transition:transform .8s var(--out)}
.s-verdict{display:flex;flex-direction:column;gap:10px}
.s-verdict h3{font:400 clamp(1.4rem,2vw,1.8rem)/1.1 var(--f-display);letter-spacing:-.02em}
.s-verdict p:not(.label){font-weight:300;color:#C9D7EC;font-size:.92rem}
.s-verdict .label{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.status{padding:3px 10px;border-radius:99px;font:400 .64rem var(--f-mono);letter-spacing:.08em;color:#fff}
.s-verdict .btn{margin-top:auto;align-self:flex-start}
.s-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 10px 0}
.s-next{color:var(--accent)}
.s-next.pulse{animation:nudge 1.6s var(--io) infinite}
@keyframes nudge{50%{transform:translateX(5px)}}

/* ================= FAQ ================= */
.faq{padding:clamp(110px,13vw,190px) 0;background:var(--panel)}
.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,6vw,90px);align-items:start}
.faq .ed-title{font-size:clamp(2.4rem,5vw,4.6rem)}
.qa details{border-top:1px solid var(--line)}
.qa details:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:44px;padding:24px 0;font:400 clamp(1.15rem,1.8vw,1.5rem)/1.25 var(--f-display);letter-spacing:-.01em;transition:color .3s var(--out)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font:300 1.6rem var(--f-text);color:var(--accent);transition:transform .5s var(--out)}
.qa details[open] summary::after{transform:rotate(45deg)}
@media (hover:hover){.qa summary:hover{color:var(--accent)}}
.qa details p{padding:0 0 24px;font-weight:300;color:var(--text-secondary);max-width:52ch}

/* ================= CTA (o banner escuro) ================= */
.cta{padding:clamp(70px,9vw,130px) 0 clamp(30px,4vw,50px)}
.cta-banner{position:relative;overflow:hidden;border-radius:32px;padding:clamp(52px,7vw,104px) clamp(24px,5vw,80px);text-align:center;color:#EAF1FF;
  background:repeating-linear-gradient(90deg,rgba(140,196,255,.07) 0 1px,transparent 1px 46px),var(--text-primary)}
.cta-glow{position:absolute;left:15%;top:-40%;width:70%;height:100%;border-radius:50%;background:radial-gradient(ellipse,rgba(26,102,214,.55),transparent 70%);opacity:.6;animation:glow 6s ease-in-out infinite;animation-delay:-2s;pointer-events:none}
.cta-banner>*:not(.cta-glow){position:relative}
.cta-banner .label{margin-bottom:12px}
.cta-title{font:400 clamp(2.4rem,6.2vw,5.4rem)/.98 var(--f-display);letter-spacing:-.04em;margin-bottom:18px}
.cta-title em{font-weight:700;color:var(--accent-muted)}
.cta-text{max-width:46ch;margin:0 auto 32px;font-weight:300;font-size:1.05rem;color:#B5C6DF}

/* ================= RODAPÉ ================= */
.footer{background:var(--night);border-top:1px solid #15284D;color:#8EA6C8;font-size:.86rem;padding:30px 0}
.foot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.foot-logo{display:flex;align-items:center;gap:8px;color:#EAF1FF}
.foot-logo svg{height:22px;width:auto;fill:currentColor}
.foot-tech{display:block;width:70px;aspect-ratio:520/128;background:currentColor;-webkit-mask:url(tech-word.png) center/contain no-repeat;mask:url(tech-word.png) center/contain no-repeat}
.wa-float{position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:55;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1FA855;color:#fff;box-shadow:0 14px 30px -10px rgba(31,168,85,.8);transform:scale(0);transition:transform .5s var(--out)}
.wa-float.show{transform:scale(1)}

/* pausa de loops */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ================= RESPONSIVO ================= */
@media (max-width:960px){
  .case-grid{grid-template-columns:1fr}
  .case-card{flex-direction:row}
  .case-shot{flex:0 0 42%;height:auto;min-height:220px}
  .case-info{align-content:center;padding:18px}
  .nav-links{display:none}
  .nav .btn-sm{margin-left:auto}
  .cards,.faq-grid,.s-body,.r-stage{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:10px;padding:1.8rem 0}
  .s-questions{grid-template-columns:1fr;min-height:0}
  .pin{right:10px}
}
/* palcos sem pino: celular e movimento reduzido (idêntico ao JS) */
@media (max-width: 720px), all{
  .journey{height:auto}
  .j-sticky{position:static;height:auto;display:block;padding:100px 0 70px}
  .j-sticky .shell{padding-top:0}
  .j-progress{display:none}
  .r-pin{height:auto}
  .r-sticky{position:static;height:auto;display:block;padding-top:90px}
  .r-sticky .shell{padding-top:0}
  .r-stage{transform:none!important;--bg:1!important}
  .r-head,.r-side{opacity:1!important}
}
@media (max-width:960px){.j-stage{grid-template-columns:1fr}.j-fun,.j-detail{grid-column:1}.j-fun{grid-row:1}.j-detail{grid-row:2}.j-progress{grid-row:3}}
@media (max-width:720px){
  .stage-panel{border-radius:24px;padding:8px}
  .j-bar{width:calc(100% - (100% - var(--w))*.4);gap:8px;padding:0 calc(var(--in)*.6 + 12px)}.j-name{font-size:1rem}.j-detail{grid-template-columns:1fr;justify-items:center}.j-info{width:100%;min-height:260px}.j-bar{height:56px}.j-closing{display:block}
  .ftab{padding:10px 14px;font-size:.84rem}
  .j-phone{justify-self:center}
  .s-mini{display:block}
  .s-stage .ftabs{flex-wrap:wrap}
  .pin{display:none}
}

/* ===== HERO ESTÁTICO: os cinco portões (idênticos ao JS) ===== */
@media (max-width: 720px), (orientation: portrait) and (max-width: 1024px), (orientation: portrait) and (pointer: coarse), (orientation: landscape) and (pointer: coarse) and (max-height: 560px), all{
  .hero{height:auto}
  .stage{display:none}
  .hero-static{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;min-height:100vh;min-height:100svh;padding:130px var(--gutter) 90px;color:#F4F8FF;
    background:radial-gradient(ellipse 80% 50% at 50% 30%,#16233B 0%,#0C1526 60%,#060B16 100%)}
  .hs-title{font:400 clamp(2.6rem,11vw,4.4rem)/.98 var(--f-display);letter-spacing:-.04em;max-width:12ch;text-shadow:var(--tshadow)}
  .hero-static .sub{font-weight:300;max-width:32ch;text-shadow:var(--tshadow)}
  .hero-static .btn{margin-top:14px}
}

/* Movimento reduzido: as animações do site rodam mesmo assim, por decisão de marca (ver reveals no app.js) */

/* ================= PÁGINA LEGAL ================= */
.legal{padding:150px 0 120px}
.legal .ed-title{font-size:clamp(2.6rem,6vw,5rem);margin-bottom:56px}
.legal-body{max-width:68ch}
.legal-body h2{font:400 clamp(1.4rem,2.2vw,1.9rem)/1.2 var(--f-display);letter-spacing:-.01em;margin:48px 0 14px;padding-top:24px;border-top:1px solid var(--line)}
.legal-body p,.legal-body li{font-weight:300;color:var(--text-secondary);margin-bottom:12px}
.legal-body strong{font-weight:600;color:var(--text-primary)}
.legal-body ul{padding-left:1.2em}
.legal-body a{color:var(--accent)}

/* ================= MODO ESCURO ================= */
.theme-btn{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text-primary);display:grid;place-items:center;cursor:pointer;transition:background .3s var(--out),transform .4s var(--out)}
@media (hover:hover){.theme-btn:hover{background:rgba(26,102,214,.12);transform:rotate(18deg)}}
.theme-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.theme-btn .t-moon{display:none}
[data-theme="dark"] .theme-btn .t-sun{display:none}
[data-theme="dark"] .theme-btn .t-moon{display:block}
[data-theme="dark"]{
  color-scheme:dark;
  --canvas:#07101F; --panel:#0A1629; --text-primary:#EAF1FF; --text-secondary:#9DB1CF;
  --line:#1D3254; --line-strong:#3A5580; --accent-hover:#4A92F0;
  --surface:#12224094; --surf:#122240; --stage:#0C1932; --ink:#0B1A33;
}
[data-theme="dark"] .nav{background:rgba(7,16,31,.72);border-color:rgba(58,85,128,.45)}
[data-theme="dark"] .ambient{opacity:.35}
/* superfícies que eram brancas */
[data-theme="dark"] .mf-c,[data-theme="dark"] .tl-card,[data-theme="dark"] .ex,[data-theme="dark"] .panel-card,[data-theme="dark"] .case-card,[data-theme="dark"] .chip-opt,[data-theme="dark"] .card,[data-theme="dark"] .j-detail{background:var(--surf);box-shadow:0 1px 2px rgba(0,0,0,.3),0 14px 30px -20px rgba(0,0,0,.7)}
[data-theme="dark"] .stage-panel,[data-theme="dark"] .r-stage::before{background:var(--stage);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
[data-theme="dark"] .ftab[aria-selected="true"]{background:var(--surf);color:var(--text-primary)}
[data-theme="dark"] .ftab i,[data-theme="dark"] .mini-bars i,[data-theme="dark"] .hbars i,[data-theme="dark"] .sp div{background:#1D3254}
[data-theme="dark"] .mini-bars i.hi,[data-theme="dark"] .hbars .us i{background:var(--accent)}
[data-theme="dark"] .mini-bars em,[data-theme="dark"] .marker em{background:var(--accent);color:#fff}
[data-theme="dark"] .marker i,[data-theme="dark"] .s-needle::after{background:var(--text-primary)}
[data-theme="dark"] .s-needle::after{box-shadow:0 0 0 2px var(--stage)}
[data-theme="dark"] .chip-opt[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
[data-theme="dark"] .case-shot{background:linear-gradient(180deg,#14264A,#0F1E3A)}
[data-theme="dark"] .case-shot::after{background:linear-gradient(transparent,var(--surf))}
/* o que era "tinta escura" continua escuro, só com mais contraste */
[data-theme="dark"] .mf-dark,[data-theme="dark"] .cta-banner,[data-theme="dark"] .panel-card.dark,[data-theme="dark"] .ex-res,[data-theme="dark"] .ex-av{background-color:#0E2142}
[data-theme="dark"] .mf-dark{background-color:#0E2142}
[data-theme="dark"] .ex-res b,[data-theme="dark"] .ex-res span{color:#EAF1FF}
[data-theme="dark"] .btn-dark{background:#1D3254;color:#fff}
[data-theme="dark"] .btn-light{background:#EAF1FF;color:var(--ink)}
@media (hover:hover){[data-theme="dark"] .btn-light:hover{background:#CFE2FA}}
[data-theme="dark"] .cd-stats>div,[data-theme="dark"] .ex-tag,[data-theme="dark"] .tl-node{background:var(--stage)}
/* telas de celular continuam claras, como o app real */
[data-theme="dark"] .dscreen,[data-theme="dark"] .jp-s,[data-theme="dark"] .lp-toast,[data-theme="dark"] .case-shot img{--text-primary:#0B1A33;--text-secondary:#4E6180;--canvas:#EEF4FB;--line:#C9D7EA;--panel:#F8FBFF;color:#0B1A33}
[data-theme="dark"] .dphone,[data-theme="dark"] .j-phone{background:#030A16;box-shadow:0 0 0 1px #2A4470,0 26px 40px -28px #000}
[data-theme="dark"] .area-fill{fill:#1B3560}
[data-theme="dark"] .area-line{stroke:#5BA6FF}
[data-theme="dark"] .qb{border-bottom-color:#1D3254}
[data-theme="dark"] em,[data-theme="dark"] .ed-title em,[data-theme="dark"] .cta-title em{color:#5BA6FF}
[data-theme="dark"] .label{color:#8FA9CF}
/* funil e acentos no escuro */
[data-theme="dark"]{--accent:#3F86EB}
[data-theme="dark"] .btn:not(.btn-light):not(.btn-dark),[data-theme="dark"] .j-bar.on,[data-theme="dark"] .mini-bars em,[data-theme="dark"] .marker em,[data-theme="dark"] .chip-opt[aria-pressed="true"]{background-color:#1A66D6}
@media (hover:hover){[data-theme="dark"] .btn:not(.btn-light):not(.btn-dark):hover{background-color:#2F7DE1}}
[data-theme="dark"] .j-bar{background:var(--surf)}
[data-theme="dark"] .j-bar.on{background:#1A66D6}
[data-theme="dark"] .j-tag{background:rgba(91,166,255,.18);color:#8CC4FF}
[data-theme="dark"] .cz-badge{background:rgba(91,166,255,.16);color:#8CC4FF}

/* ================= MOBILE PRIMEIRO ================= */
/* mapa do hero no celular: maior, com o Brasil no centro da tela */
@media (max-width:720px){.wm-static .worldmap{position:absolute;left:50%;top:36%;width:125vw;translate:-50% -50%}}
@media (max-width:720px){
  .nav{gap:8px;padding:8px 8px 8px 14px;top:calc(10px + env(safe-area-inset-top))}
  .nav .btn{white-space:nowrap;min-height:40px;padding:8px 16px;font-size:.84rem;margin-left:auto}
  .nav-links{display:none}
  .brand-cz{width:38px}.brand-tech{width:54px}
  .hero-static{justify-content:center;gap:16px;padding-top:110px}
  .hs-title{font-size:clamp(2rem,9.2vw,2.9rem);max-width:16ch}
  .hero-static .btn{width:100%;max-width:340px}
}
/* seis cards do manifesto viram carrossel de deslizar */
@media (max-width:560px){
  .mf-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -14px;padding:2px 14px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .mf-cards::-webkit-scrollbar{display:none}
  .mf-c{flex:0 0 82%;scroll-snap-align:center}
}
@media (max-width:720px){
  .hero-static::after{background:radial-gradient(ellipse 75% 30% at 50% 58%,rgba(6,20,48,.55) 0%,rgba(6,20,48,.3) 60%,transparent 100%)}
  .wm-static .worldmap>.wm-topo{opacity:.85}
  .hero-static{padding-bottom:90px}
}


/* ================= MOBILE: navegação, palcos, toque e legibilidade ================= */
html{-webkit-tap-highlight-color:transparent}
a,button,summary,.chip-opt,.ftab,.j-bar{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.menu-btn,.nav-menu,.dots{display:none}
.only-m{display:none}
.j-detail,.case-detail,.s-stage{scroll-margin-top:84px}
@media (max-width:720px),all{
  .only-d{display:none}.only-m{display:inline}
  .j-bar{cursor:pointer}
  .j-bar::after{content:"›";font:400 1.5rem/1 var(--f-display);opacity:.55;margin-left:2px;flex:none}
  .j-bar.on::after{opacity:1}
}
@media (max-width:720px){
  /* menu */
  .menu-btn{display:grid;place-content:center;gap:5px;flex:none;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer}
  .menu-btn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text-primary);transition:transform .35s var(--out),opacity .2s}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:8px;border-radius:24px;background:var(--canvas);border:1px solid var(--line);box-shadow:0 24px 50px -20px rgba(6,20,48,.45)}
  .nav-menu a{display:flex;align-items:center;min-height:52px;padding:0 16px;border-radius:14px;text-decoration:none;font:400 1.15rem var(--f-display);color:var(--text-primary)}
  .nav-menu a:active{background:rgba(26,102,214,.12)}
  /* espaço vertical menor */
  .manifesto{padding:72px 0 56px}
  .ed{padding:68px 0}
  .ed .ed-title{margin-bottom:5vh}
  .demo{padding:0 0 72px}
  .cases{padding:72px 0 32px}
  .results{padding:0 0 72px}
  .r-sticky{padding-top:64px}
  .j-sticky{padding:72px 0 56px}
  .score{padding:72px 0}
  .score-head{margin-bottom:32px}
  .faq{padding:72px 0}
  .cta{padding:64px 0 32px}
  .head-split{margin-bottom:36px}
  /* processo: rótulo acima do título */
  .row h3{flex-direction:column;align-items:flex-start;gap:6px}
  .process .row h3 small{min-width:0;display:block}
  /* estatísticas em duas colunas iguais */
  .cd-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cd-stats>div{min-width:0}
  /* score: placar próprio e três abas numa linha com rolagem */
  .s-mini{display:flex;align-items:baseline;gap:8px;margin:0;padding:6px 10px 12px;font:400 .75rem var(--f-mono);text-transform:uppercase;color:var(--text-secondary)}
  .s-mini b{font:700 1.7rem/1 var(--f-display);color:var(--text-primary)}
  .s-mini small{font-size:.75rem}
  .s-stage .ftabs{flex-wrap:nowrap}
  .s-meter{margin-left:6px;margin-right:6px}
  /* a etiqueta do gráfico fica dentro do card */
  .marker em{transform:translate(calc(var(--mx,1)*-100%),-100%)}
  /* carrosséis */
  .ex-grid,.r-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .ex-grid::-webkit-scrollbar,.r-stage::-webkit-scrollbar{display:none}
  .ex-grid{margin:0 -8px;padding:2px 8px 10px}
  .ex{flex:0 0 84%;scroll-snap-align:center;flex-direction:column;flex-wrap:nowrap;align-items:center}
  .ex-head,.ex-tag{flex:none}.dphone,.ex-res{order:0}.ex-res{align-self:stretch;flex:none}
  .r-stage{background:#E3EBF6}
  [data-theme="dark"] .r-stage{background:var(--stage)}
  .r-stage::before{display:none}
  .r-card{flex:0 0 84%;scroll-snap-align:center;min-height:360px}
  .dots-720{display:flex;justify-content:center;margin:-2px 0 -6px}
  .dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}
  .dots button::before{content:"";display:block;width:8px;height:8px;border-radius:99px;background:var(--line-strong);transition:width .3s var(--out),background .3s var(--out)}
  .dots button[aria-current="true"]::before{width:22px;background:var(--accent)}
  /* texto real nunca abaixo de 12px */
  .label,.j-tag,.ftab i,.ftab small,.qb-top small,.source,.mini-x,.mini-x span,.cd-bars span,.hbars span,.hbars em,.mini-bars em,.marker em,.sp span,.real-bars>p,.cd-bars>p,.cd-note{font-size:.75rem}
  /* o botão do WhatsApp não cobre o fim da página */
  .footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}
@media (max-width:560px){
  .dots-560{display:flex;justify-content:center;margin:-2px 0 -6px}
}
@media (max-width:720px),(pointer:coarse){
  .chips{gap:8px}
  .chip-opt{min-height:44px}
  .theme-btn{width:44px;height:44px}
  .foot-logo{min-height:44px}
  .foot a:not(.foot-logo){display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
}
@media (max-width:720px){
  .row h3 small,.j-num,.mf-count,.cz-badge,.case-n,.ex-tag i,.case-go,.btn-sm{font-size:.75rem}
  .brand{min-height:44px}
  .nav .btn{min-height:44px}
  .btn-sm{font-size:.84rem}
}

/* ================= DO DIAGNÓSTICO AO TOPO: escada de crescimento ================= */
.climb{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1.32fr 1.32fr 1.32fr 1.04fr;gap:10px;align-items:end}
.step{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.step:nth-child(1){--h:330px}.step:nth-child(2){--h:400px}.step:nth-child(3){--h:470px}.step:nth-child(4){--h:540px}
.step-n{font:400 .8rem var(--f-mono);letter-spacing:.1em;color:var(--accent);padding-left:4px}
.step-card{display:flex;flex-direction:column;gap:10px;min-height:var(--h);padding:clamp(20px,2.2vw,30px);border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px rgba(11,26,51,.04),0 14px 30px -20px rgba(11,26,51,.22)}
.step:nth-child(4) .step-card{background:var(--text-primary);border-color:var(--text-primary);color:#EAF1FF}
.step-when{font:400 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.step:nth-child(4) .step-when{color:var(--accent-muted)}
.step-card h3{font:400 clamp(1.35rem,1.8vw,1.95rem)/1.05 var(--f-display);letter-spacing:-.03em}
.step-card p:not(.step-when){font-weight:300;color:var(--text-secondary);max-width:34ch}
.step:nth-child(4) .step-card p:not(.step-when){color:#B9CBE6}
.step-bar{display:block;margin-top:auto;height:8px;border-radius:99px;background:#E3EBF6;overflow:hidden}
.step-bar i{display:block;height:100%;width:calc(var(--lv)*1%);border-radius:99px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);transition:transform 1.3s var(--out) .5s}
.step.in .step-bar i{transform:none}
.step:nth-child(4) .step-bar{background:rgba(255,255,255,.14)}
.step:nth-child(4) .step-bar i{background:var(--accent-muted)}
@media (max-width:720px){
  .climb{grid-template-columns:1fr;gap:10px}
  .step{--h:0px!important;padding-left:calc((var(--d) + 0) * 14px)}
  .step-card{min-height:0}
  .step:nth-child(1){padding-right:42px}.step:nth-child(2){padding-right:28px}.step:nth-child(3){padding-right:14px}
}
[data-theme="dark"] .step-card{background:var(--surf);border-color:var(--line)}
[data-theme="dark"] .step:nth-child(4) .step-card{background:#0E2142;border-color:#1D3254}
[data-theme="dark"] .step-bar{background:#1D3254}
/* mapa do celular: bordas que se dissolvem, sem corte seco no fim do hero */
@media (max-width:720px){
  .wm-static{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 95%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 95%,transparent 100%)}
}
@media (max-width:420px){.nb-extra{display:none}}
@media (min-width:721px) and (max-width:960px){
  .climb{grid-template-columns:repeat(2,1fr)}
  .step{--h:0px!important}
}
.jp-search span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:720px){.hero-static .wm-label{display:none}}

/* ícones e números: pulam para o lugar quando o card chega */
.in-up .mf-count,.in-up .ex-av,.in-up .step-n,.in-up .tl-node,.in-up .j-num{transition:scale .7s cubic-bezier(.34,1.56,.64,1) calc(var(--d,0)*130ms + .3s),opacity .5s var(--out) calc(var(--d,0)*130ms + .3s),background .4s,border-color .4s,box-shadow .4s}
.js .in-up:not(.in) .mf-count,.js .in-up:not(.in) .ex-av,.js .in-up:not(.in) .step-n,.js .in-up:not(.in) .tl-node{transform:scale(.3);opacity:0}
@media (min-width:961px){.step:nth-child(-n+3) .step-card{padding:clamp(26px,2.8vw,40px);gap:14px}.step:nth-child(-n+3) .step-card p:not(.step-when){font-size:1.04rem}}
@media (min-width:961px){.step:nth-child(-n+3) .step-card{padding-left:clamp(22px,2.2vw,32px);padding-right:clamp(22px,2.2vw,32px)}.step:nth-child(4) .step-card{padding-left:clamp(20px,1.8vw,26px);padding-right:clamp(20px,1.8vw,26px)}}

/* ===== Botões flutuantes: WhatsApp e Instagram, com o mesmo brilho pulsando ===== */
.wa-float,.ig-float{text-decoration:none}
.wa-float::after,.ig-float::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;animation:floatGlow 2.8s ease-out infinite}
.wa-float::after{box-shadow:0 0 0 0 rgba(31,168,85,.55),0 0 22px 4px rgba(31,168,85,.45)}
.ig-float::after{box-shadow:0 0 0 0 rgba(214,41,118,.5),0 0 22px 4px rgba(214,41,118,.4)}
.ig-float{position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));z-index:55;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);box-shadow:0 14px 30px -10px rgba(214,41,118,.7);transform:scale(0);transition:transform .5s var(--out)}
.ig-float.show{transform:scale(1)}
.ig-float::after{animation-delay:-1.4s}
@keyframes floatGlow{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
.wa-float,.ig-float{position:fixed}
@media (hover:hover){.ig-float:hover,.wa-float:hover{filter:brightness(1.08)}}
/* ícone do Instagram no rodapé da política: sem sublinhado, sem cara de link */
.ig-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#8EA6C8;text-decoration:none;transition:color .3s var(--out),background .3s var(--out)}
.ig-link:hover,.ig-link:focus-visible{color:#fff;background:rgba(142,166,200,.14)}
/* Brilho dos botões flutuantes: a luz nasce colada no botão e se espalha para fora, sem anel vazio no meio */
.wa-float::after,.ig-float::after{display:none}
.wa-float.show{animation:waGlow 2.6s ease-out infinite}
.ig-float.show{animation:igGlow 2.6s ease-out infinite;animation-delay:-1.3s}
@keyframes waGlow{
  0%{box-shadow:0 14px 30px -10px rgba(31,168,85,.8),0 0 0 0 rgba(31,168,85,.6),0 0 14px 2px rgba(31,168,85,.5)}
  70%,100%{box-shadow:0 14px 30px -10px rgba(31,168,85,.8),0 0 0 22px rgba(31,168,85,0),0 0 34px 12px rgba(31,168,85,0)}
}
@keyframes igGlow{
  0%{box-shadow:0 14px 30px -10px rgba(214,41,118,.7),0 0 0 0 rgba(214,41,118,.55),0 0 14px 2px rgba(253,89,73,.5)}
  70%,100%{box-shadow:0 14px 30px -10px rgba(214,41,118,.7),0 0 0 22px rgba(214,41,118,0),0 0 34px 12px rgba(253,89,73,0)}
}
/* Brilho mais suave: só luz difusa (sem borda marcada), mais lenta e discreta */
.wa-float.show{animation:waGlow 3.8s ease-in-out infinite}
.ig-float.show{animation:igGlow 3.8s ease-in-out infinite;animation-delay:-1.9s}
@keyframes waGlow{
  0%,100%{box-shadow:0 14px 30px -10px rgba(31,168,85,.8),0 0 14px 0 rgba(31,168,85,.22)}
  50%{box-shadow:0 14px 30px -10px rgba(31,168,85,.8),0 0 38px 10px rgba(31,168,85,.3)}
}
@keyframes igGlow{
  0%,100%{box-shadow:0 14px 30px -10px rgba(214,41,118,.7),0 0 14px 0 rgba(214,41,118,.2)}
  50%{box-shadow:0 14px 30px -10px rgba(214,41,118,.7),0 0 38px 10px rgba(214,41,118,.28)}
}

/* Carrosséis do celular: só andam para os lados; o gesto vertical rola a página */
@media (max-width:720px){
  .mf-cards,.ex-grid,.r-stage{overflow-y:hidden;overscroll-behavior-x:contain}
}

/* ===== Rodapé no celular: logo e Política na mesma linha; botões flutuantes descem para o centro do rodapé ===== */
@media (max-width:720px){
  .footer{padding:26px 0 calc(90px + env(safe-area-inset-bottom))}
  .footer .foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
  .footer .foot-logo{order:1}
  .footer .foot>a:not(.foot-logo){order:2;margin-left:auto;text-decoration:none;opacity:.9}
  .footer .foot>p{order:3;flex:1 0 100%;margin:0}
  .wa-float,.ig-float{transition:transform .5s var(--out),right .6s var(--out),bottom .6s var(--out)}
  body.at-foot .wa-float{right:calc(50% - 66px);bottom:calc(16px + env(safe-area-inset-bottom))}
  body.at-foot .ig-float{right:calc(50% + 8px);bottom:calc(16px + env(safe-area-inset-bottom))}
}
