/* North Vision · site institucional (v2: linguagem de produto web)
   Marca: símbolo, paleta e fontes do Manual de Identidade Visual v1.0.
   Adaptação web: títulos de seção em Outfit (caixa natural), Integral CF reservada à abertura e a destaques.
   Sem sombras, sem blur, sem preto puro. Degradês só entre tons vizinhos da escala azul. */

@font-face{font-family:"Integral CF";src:url("../fonts/IntegralCF-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Integral CF";src:url("../fonts/IntegralCF-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Integral CF";src:url("../fonts/IntegralCF-ExtraBold.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Integral CF";src:url("../fonts/IntegralCF-Heavy.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-latin-ext-700-normal.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Outfit";src:url("../fonts/outfit-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Outfit";src:url("../fonts/outfit-latin-ext-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --norte:#032457;--royal:#0237A5;--rota:#0149DB;--horizonte:#3F9FFE;
  --ardosia:#2A344E;--prata:#D7DADD;--nevoa:#F2F5FA;--linha:#DCE3EE;--grafite:#4A5568;
  --apoio:#B8C2D0;--fio:#35517A;--sombra:#153363;--eco:#E4EBF8;--glow:#02338E;
  --ok:#12B76A;--warn:#F5A524;--crit:#E5484D;
  --grad-rota:linear-gradient(135deg,#0149DB 0%,#0237A5 100%);
  --grad-card:linear-gradient(135deg,#0149DB 0%,#0237A5 45%,#032457 100%);
  --grad-prof:linear-gradient(135deg,#0237A5 0%,#032457 100%);
  --grad-alc:linear-gradient(135deg,#3F9FFE 0%,#0149DB 100%);
  --display:"Integral CF","Archivo",system-ui,sans-serif;
  --text:"Outfit","Geomanist",system-ui,sans-serif;
  --wrap:1120px;--gut:clamp(18px,4.5vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--text);font-size:clamp(15px,.25vw + 12.5px,17px);line-height:1.6;color:var(--grafite);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--rota);text-underline-offset:3px}
b,strong{color:var(--norte);font-weight:600}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--horizonte);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--norte);padding:10px 16px;border-radius:8px;z-index:100;font-weight:600}
.skip:focus{left:8px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}

/* ---------- tipografia ---------- */
.d{font-family:var(--display);text-transform:uppercase;letter-spacing:-.005em;line-height:1.04;color:var(--norte)}
.h2{font-family:var(--text);font-weight:600;font-size:clamp(1.7rem,3.3vw,2.8rem);line-height:1.08;letter-spacing:-.03em;color:var(--norte);max-width:20ch}
.h2 em{font-style:normal;color:var(--rota)}
.dark .h2,.on-dark .h2{color:#fff}.dark .h2 em,.on-dark .h2 em{color:var(--horizonte)}
.lead{font-size:clamp(1rem,.35vw + .92rem,1.18rem);line-height:1.55;max-width:54ch;margin-top:18px;color:var(--grafite)}
.dark .lead,.on-dark .lead{color:var(--prata)}
.pill{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;color:var(--rota);background:var(--eco);padding:8px 16px 8px 14px;border-radius:999px}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rota)}
.dark .pill,.on-dark .pill{background:var(--ardosia);color:var(--prata);border:1px solid var(--fio)}
.dark .pill::before,.on-dark .pill::before{background:var(--horizonte)}
.hl{color:var(--rota)}.on-dark .hl,.dark .hl{color:var(--horizonte)}

.sec{padding:clamp(64px,8vw,112px) 0;position:relative}
.head{margin-bottom:clamp(40px,6vw,76px)}
.head .h2{margin-top:20px}

/* painéis arredondados (sensação de site, não de página) */
.panel{margin:0 clamp(8px,1.6vw,24px);border-radius:clamp(24px,3.4vw,48px);position:relative;overflow:hidden}
.panel.dark{background:var(--norte);color:var(--prata)}
.panel.nevoa{background:var(--nevoa)}

/* símbolo */
.sym{display:block;width:100%;height:auto}
.sym--neg{--sp:#fff;--sd:#D7DADD}.sym--col{--sp:#0237A5;--sd:#032457}.sym--wm{--sp:#153363;--sd:#153363}.sym--eco{--sp:#E4EBF8;--sd:#E4EBF8}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--text);font-weight:600;font-size:1.02rem;letter-spacing:-.005em;text-decoration:none;padding:17px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .25s var(--ease);min-height:54px;line-height:1.1;text-align:center}
.btn i{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--rota);display:grid;place-items:center;flex:none;transition:transform .25s var(--ease)}
.btn i svg{width:14px;height:14px}
.btn:hover i{transform:translateX(4px)}
.btn--pri{background:var(--rota);color:#fff}.btn--pri:hover{background:var(--royal);color:#fff}
.btn--lt{background:#fff;color:var(--norte)}.btn--lt:hover{background:var(--eco);color:var(--norte)}
.btn--lt i{background:var(--norte);color:#fff}
.btn--wa{background:#25D366;color:#fff}.btn--wa:hover{background:#1FBE5B;color:#fff}.btn--wa .wai{width:22px;height:22px;flex:none}
.btn--ghost{border-color:var(--fio);color:#fff;background:transparent}.btn--ghost:hover{border-color:var(--horizonte);color:#fff}
.btn--line{border-color:var(--linha);color:var(--norte);background:#fff}.btn--line:hover{border-color:var(--rota);color:var(--rota)}
.btn[disabled]{background:var(--apoio);color:var(--norte);cursor:wait}
.btn--sm{padding:11px 20px;min-height:44px;font-size:.94rem}

/* ---------- cabeçalho flutuante ---------- */
.hdr{position:fixed;top:12px;left:0;right:0;z-index:50;padding:0 clamp(10px,2vw,24px);pointer-events:none}
.hdr__in{pointer-events:auto;max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--norte);border:1px solid var(--fio);border-radius:999px;padding:8px 8px 8px 22px;height:64px;position:relative}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand .sym{width:24px}
.brand__n{font-family:var(--display);font-weight:500;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;white-space:nowrap}
.nav{display:flex;align-items:center;gap:clamp(4px,1.2vw,10px)}
.nav a:not(.btn){font-size:.96rem;color:var(--prata);text-decoration:none;padding:9px 14px;border-radius:999px;transition:background-color .2s,color .2s}
.nav a:not(.btn):hover{background:var(--ardosia);color:#fff}
.burger{display:none;background:var(--ardosia);border:0;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:#fff;position:absolute;left:14px;border-radius:2px;transition:transform .2s,top .2s,background-color .2s}
.burger span{top:22px}.burger span::before,.burger span::after{content:"";left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
@media (max-width:920px){
  .burger{display:block}
  .nav{position:absolute;top:72px;left:0;right:0;background:var(--norte);border:1px solid var(--fio);border-radius:28px;flex-direction:column;align-items:stretch;gap:2px;padding:12px;transform:translateY(-8px);visibility:hidden;opacity:0;transition:opacity .2s,transform .2s,visibility .2s}
  .nav.open{transform:none;visibility:visible;opacity:1}
  .nav a:not(.btn){padding:15px 16px;font-size:1.1rem}
  .nav .btn{margin-top:8px}
}

/* ---------- hero ---------- */
.hero{background:var(--norte);color:var(--prata);position:relative;overflow:hidden;min-height:min(100vh,860px);display:flex;align-items:center;text-align:center;padding:clamp(72px,9vw,120px) 0 clamp(72px,9vw,120px)}
.hero__glow{position:absolute;right:-20vw;top:-26vw;width:76vw;height:76vw;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,var(--norte) 66%);pointer-events:none}
.hero__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.hero__sym{width:34px;flex:none;margin-bottom:6px}
.hero h1{font-family:"Poppins",var(--text);font-weight:700;text-transform:uppercase;color:#fff;font-size:clamp(1.9rem,4.2vw,3.7rem);line-height:1.02;letter-spacing:-.01em;margin:26px auto 0;max-width:24ch}
.hero h1 .bk{display:none}
@media (min-width:720px){.hero h1 .bk{display:inline}}
.hero h1 .hl{display:inline}
.hero .sub{font-size:clamp(1.05rem,.5vw + .95rem,1.28rem);line-height:1.55;color:var(--prata);max-width:44ch;margin:26px auto 0}
.hero__cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:36px}
.btn--slim{min-height:38px;padding:8px 22px;font-size:.9rem;font-weight:500;border-width:1px}
.hero__note{margin:40px auto 0;font-size:.92rem;color:var(--apoio);max-width:60ch}
.rt,.app,.bub{display:none}

/* faixa de canais */
.strip{background:var(--grad-rota);color:#fff;overflow:hidden;padding:20px 0;border-top:1px solid var(--royal)}
.strip__t{display:flex;width:max-content;animation:marq 38s linear infinite}
.strip__t span{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;padding:0 30px;white-space:nowrap;display:flex;align-items:center;gap:30px}
.strip__t span::after{content:"";width:8px;height:8px;background:var(--horizonte);transform:rotate(22deg);border-radius:2px}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- problema: cards que empilham ---------- */
.stack{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,96px);align-items:start}
.stack__l{position:sticky;top:130px}
.stack__r{display:grid;gap:22px;padding-bottom:20px}
.sc{position:sticky;top:calc(120px + var(--i)*22px);border-radius:28px;padding:clamp(24px,3.2vw,38px);min-height:240px;display:flex;flex-direction:column;justify-content:space-between;gap:34px}
.sc:nth-child(1){background:var(--nevoa)}
.sc:nth-child(2){background:var(--eco)}
.sc:nth-child(3){background:var(--norte);color:var(--prata)}
.sc q{font-family:var(--text);font-weight:600;font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.12;letter-spacing:-.025em;color:var(--norte);quotes:none}
.sc:nth-child(3) q{color:#fff}
.sc div{font-size:1.04rem}
.sc div b{display:block;font-size:.82rem;color:var(--rota);font-weight:600;margin-bottom:6px}
.sc:nth-child(3) div b{color:var(--horizonte)}
.sc:nth-child(3) strong{color:#fff}
@media (max-width:900px){.stack{grid-template-columns:1fr}.stack__l{position:static}.sc{position:static;min-height:0}}

/* ---------- como funciona: abas ---------- */
.tabs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(22px,4vw,56px);align-items:stretch}
.tabs__nav{display:grid;gap:10px;align-content:start}
.tab{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;text-align:left;background:#fff;border:2px solid var(--linha);border-radius:22px;padding:16px 20px;cursor:pointer;font:inherit;color:var(--grafite);transition:border-color .2s,background-color .2s,transform .25s var(--ease)}
.tab:hover{border-color:var(--rota);transform:translateX(4px)}
.tab span.n{width:44px;height:44px;border-radius:50%;background:var(--eco);color:var(--rota);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.72rem;transition:background-color .2s,color .2s}
.tab b{font-size:1.08rem;font-weight:600;letter-spacing:-.02em;display:block}
.tab small{font-size:.9rem;color:var(--grafite)}
.tab[aria-selected="true"]{background:var(--norte);border-color:var(--norte);transform:none}
.tab[aria-selected="true"] b{color:#fff}.tab[aria-selected="true"] small{color:var(--apoio)}
.tab[aria-selected="true"] span.n{background:var(--horizonte);color:var(--norte)}
.tp{background:#fff;border-radius:32px;padding:clamp(26px,4vw,52px);border:1px solid var(--linha);display:none;animation:fade .5s var(--ease)}
.tp.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tp h3{font-weight:600;font-size:clamp(1.25rem,2vw,1.7rem);letter-spacing:-.03em;line-height:1.1;color:var(--norte)}
.tp>p{margin-top:14px;font-size:1.08rem;max-width:48ch}
.tp dl{margin-top:30px;display:grid;gap:0}
.tp dl div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--linha)}
.tp dt{font-size:.82rem;font-weight:600;color:var(--rota);padding-top:3px}
.tp dd{color:var(--norte);font-size:1.02rem}
.tp .tag{display:inline-block;margin-top:26px;background:var(--eco);color:var(--rota);font-weight:600;font-size:.85rem;padding:7px 14px;border-radius:999px}
@media (max-width:880px){.tabs{grid-template-columns:1fr}.tp dl div{grid-template-columns:1fr;gap:4px}}
.note{margin-top:28px;display:flex;gap:14px;align-items:flex-start;font-size:1.04rem;max-width:62ch}
.note::before{content:"";flex:none;width:6px;align-self:stretch;border-radius:4px;background:var(--rota)}

/* ---------- módulos: bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bt{border-radius:28px;padding:clamp(24px,3vw,36px);position:relative;overflow:hidden;min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s var(--ease)}
.bt:hover{transform:translateY(-6px)}
.bt .n{align-self:flex-start;margin-bottom:auto;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--rota);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.02em}
.bt h3{margin-top:28px;font-weight:600;font-size:clamp(1.15rem,1.5vw,1.4rem);letter-spacing:-.03em;line-height:1.08;color:var(--norte);position:relative}
.bt p{margin-top:10px;font-size:1rem;position:relative;max-width:36ch}
.bt:nth-child(1){grid-column:span 3;background:var(--nevoa)}
.bt:nth-child(2){grid-column:span 3;background:var(--eco)}
.bt:nth-child(3){grid-column:span 2;background:var(--norte);color:var(--prata)}
.bt:nth-child(4){grid-column:span 2;background:var(--grad-card);color:var(--prata)}
.bt:nth-child(5){grid-column:span 2;background:var(--nevoa)}
.bt:nth-child(6){grid-column:span 6;background:var(--eco);min-height:200px}
.bt:nth-child(3) h3,.bt:nth-child(4) h3{color:#fff}
.bt:nth-child(3) .n{background:var(--ardosia);color:var(--horizonte)}
.bt:nth-child(4) .n{background:#fff;color:var(--rota)}
.bt:nth-child(6) p{max-width:60ch}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bt:nth-child(n){grid-column:span 1}.bt:nth-child(6){grid-column:span 2}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bt:nth-child(n){grid-column:span 1;min-height:210px}}

/* ---------- acompanhamento: celular ---------- */
.fol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,6vw,96px);align-items:center}
.phone{width:min(100%,380px);margin:0 auto;background:var(--ardosia);border:1px solid var(--fio);border-radius:44px;padding:14px;position:relative}
.phone__s{background:var(--norte);border-radius:32px;overflow:hidden;min-height:560px;display:flex;flex-direction:column}
.phone__h{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--royal)}
.phone__h .sym{width:20px}
.phone__h .av{width:40px;height:40px;border-radius:50%;background:var(--norte);display:grid;place-items:center;flex:none}
.phone__h b{color:#fff;font-weight:600;font-size:1rem;display:block;line-height:1.2}
.phone__h small{color:var(--prata);font-size:.78rem}
.chat{padding:20px 16px 26px;display:flex;flex-direction:column;gap:12px;flex:1;justify-content:flex-end}
.msg{max-width:84%;padding:12px 16px;border-radius:18px;font-size:.96rem;line-height:1.4;animation:pop .5s var(--ease) both}
.msg small{display:block;margin-top:6px;font-size:.7rem;font-weight:500}
.msg--in{background:#fff;color:var(--norte);border-bottom-left-radius:5px;align-self:flex-start}
.msg--in small{color:var(--grafite)}
.msg--out{background:var(--rota);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.msg--out small{color:var(--eco)}
.fol.in-view .msg:nth-child(1){animation-delay:.2s}.fol.in-view .msg:nth-child(2){animation-delay:1s}.fol.in-view .msg:nth-child(3){animation-delay:1.8s}.fol.in-view .msg:nth-child(4){animation-delay:2.6s}
.js .msg{opacity:0}.js .fol.in-view .msg{opacity:1}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.phone__ft{padding:0 18px 16px;font-size:.72rem;color:var(--apoio);text-align:center}
.evs{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.ev{display:inline-block;font-weight:600;font-size:.82rem;border-radius:999px;padding:8px 16px;white-space:nowrap}
.ev.med{background:var(--norte);color:#fff}.ev.est{background:var(--eco);color:var(--rota)}.ev.hip{border:2px dashed var(--grafite);color:var(--grafite)}
.exp{margin-top:18px;font-size:1rem}
.list{margin-top:30px;display:grid;gap:0}
.list li{padding:16px 0;border-top:1px solid var(--linha);display:flex;gap:16px;align-items:baseline;color:var(--norte)}
.list li::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--rota);transform:rotate(22deg);flex:none;translate:0 -1px}
.fine-l{margin-top:22px;font-size:.88rem;color:var(--grafite)}
@media (max-width:900px){.fol{grid-template-columns:1fr}}

/* ---------- modelo ---------- */
.eq{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;gap:12px;align-items:stretch}
.eq__b{background:var(--ardosia);border:1px solid var(--fio);border-radius:28px;padding:clamp(22px,2.4vw,32px)}
.eq__b span.k{font-size:.85rem;color:var(--horizonte);font-weight:600}
.eq__b strong{display:block;font-weight:600;font-size:clamp(1.1rem,1.5vw,1.35rem);letter-spacing:-.025em;line-height:1.12;color:#fff;margin-top:10px}
.eq__b span.t{display:block;margin-top:12px;font-size:1rem;color:var(--apoio)}
.eq__b--tot{background:var(--grad-card);border-color:transparent}.eq__b--tot span.t{color:var(--prata)}.eq__b--tot span.k{color:#fff}
.eq__op{display:grid;place-items:center;font-weight:300;font-size:2.4rem;color:var(--fio)}
@media (max-width:980px){.eq{grid-template-columns:1fr}.eq__op{height:30px;font-size:1.8rem}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);margin-top:clamp(40px,6vw,76px)}
.two h3{font-weight:600;font-size:1.5rem;letter-spacing:-.025em;color:#fff;margin-bottom:12px}
.tick li,.cross li{position:relative;padding:15px 0 15px 36px;border-top:1px solid var(--fio);font-size:1.04rem;color:var(--prata)}
.tick li::before,.cross li::before{content:"";position:absolute;left:0;top:23px;width:14px;height:14px;border-radius:4px}
.tick li::before{background:var(--horizonte);transform:rotate(22deg)}
.cross li::before{background:var(--fio)}
.fine{margin-top:40px;font-size:.9rem;color:var(--apoio);max-width:80ch}
@media (max-width:760px){.two{grid-template-columns:1fr}}

/* ---------- simulador ---------- */
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(22px,4vw,48px);align-items:start}
.calc__f{background:#fff;border-radius:32px;padding:clamp(24px,3.4vw,44px);display:grid;gap:26px;border:1px solid var(--linha)}
.fl{display:grid;gap:10px}
.fl__top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.fl label{font-weight:500;color:var(--norte);font-size:1rem}
.fl small{display:block;color:var(--grafite);font-size:.84rem;font-weight:400}
.val{display:flex;align-items:center;background:var(--nevoa);border:2px solid transparent;border-radius:14px;width:128px;flex:none;transition:border-color .15s,background-color .15s}
.val:focus-within{border-color:var(--rota);background:#fff}
.val i{font-style:normal;color:var(--grafite);font-size:.9rem;padding-left:12px}
.val i.r{padding:0 12px 0 0}
.val input{width:100%;min-width:0;border:0;background:transparent;font:inherit;font-weight:600;font-size:1.04rem;color:var(--norte);padding:11px 8px;outline:0;text-align:right}
.val i.r+input{order:-1}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;--p:30%}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,var(--rota) var(--p),var(--eco) var(--p))}
input[type=range]::-moz-range-track{height:8px;border-radius:8px;background:var(--eco)}
input[type=range]::-moz-range-progress{height:8px;border-radius:8px;background:var(--rota)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:6px solid var(--rota);margin-top:-9px;transition:transform .15s}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:6px solid var(--rota)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.out{background:var(--grad-card);border-radius:32px;padding:clamp(26px,3.4vw,44px);color:var(--prata);position:sticky;top:110px}
.out .k{font-size:.92rem;color:var(--apoio);font-weight:500}
.out__v{font-family:var(--display);font-weight:900;font-size:clamp(2rem,4vw,3rem);color:#fff;line-height:1;margin-top:14px;word-break:break-word;letter-spacing:-.02em}
.out__l{margin-top:12px;font-size:1.04rem}
.out dl{margin-top:28px;padding-top:22px;border-top:1px solid var(--fio);display:grid;gap:14px}
.out dl div{display:flex;justify-content:space-between;gap:16px;font-size:1rem}
.out dt{color:var(--apoio)}.out dd{color:#fff;font-weight:600;text-align:right}
.out__msg{margin-top:24px;padding:18px 20px;border-radius:20px;background:var(--norte);font-size:1rem;color:#fff}
.out__fine{margin-top:16px;font-size:.82rem;color:var(--apoio)}
@media (max-width:900px){.calc{grid-template-columns:1fr}.out{position:static}}

/* ---------- seleção ---------- */
.crit{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.crit li{background:#fff;border-radius:24px;padding:24px 22px 26px;transition:transform .3s var(--ease),background-color .3s}
.crit li:hover{transform:translateY(-6px);background:var(--norte)}
.crit li:hover b{color:#fff}.crit li:hover span{color:var(--prata)}
.crit li b{display:block;font-size:1.1rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px;transition:color .3s}
.crit li span{font-size:.96rem;line-height:1.45;display:block;transition:color .3s}
@media (max-width:1040px){.crit{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.crit{grid-template-columns:1fr}}
.verd{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.verd div{border-radius:24px;padding:26px 26px 30px;background:var(--eco)}
.verd div:nth-child(1){background:var(--norte);color:var(--prata)}
.verd div:nth-child(1) b{color:var(--horizonte)}
.verd b{display:block;font-size:.88rem;font-weight:600;color:var(--rota);margin-bottom:8px}
.verd p{font-size:1.08rem;color:var(--norte);font-weight:500;letter-spacing:-.01em;line-height:1.35}
.verd div:nth-child(1) p{color:#fff}
@media (max-width:760px){.verd{grid-template-columns:1fr}}

/* ---------- pessoas ---------- */
.people{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,6vw,96px);align-items:center}
.collage{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto;gap:14px}
.photo{position:relative;border-radius:28px;overflow:hidden;background:var(--nevoa);border:2px dashed var(--linha);aspect-ratio:var(--ar,1/1)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.photo__ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;overflow:hidden}.photo__ph svg{display:none}
.photo__ph svg.g{position:absolute;inset:0;width:100%;height:100%}
.photo__ph .sym{position:absolute;right:-10%;top:6%;width:64%}
.photo__ph span{position:relative;font-size:.82rem;font-weight:600;color:var(--rota);display:block;margin-bottom:4px}
.photo__ph em{position:relative;font-style:normal;color:var(--norte);font-size:1rem;line-height:1.3}
.collage .photo:nth-child(1){--ar:3/4;grid-row:span 2}
.collage .photo:nth-child(2){--ar:1/1}
.collage .photo:nth-child(3){--ar:1/1}
.quote{margin-top:30px;font-weight:600;font-size:clamp(1.2rem,1.9vw,1.55rem);letter-spacing:-.03em;line-height:1.15;color:var(--norte)}
.quote em{font-style:normal;color:var(--rota)}
.vals{margin-top:30px;display:grid}
.vals li{padding:18px 0;border-top:1px solid var(--linha);display:grid;grid-template-columns:minmax(130px,.5fr) 1fr;gap:16px}
.vals li:last-child{border-bottom:1px solid var(--linha)}
.vals b{font-weight:600;font-size:1.04rem;letter-spacing:-.01em}
@media (max-width:900px){.people{grid-template-columns:1fr}}
@media (max-width:480px){.vals li{grid-template-columns:1fr;gap:4px}}

/* ---------- faq ---------- */
.faqw{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,96px);align-items:start}
.faqw .head{position:sticky;top:130px;margin:0}
.faq details{background:var(--nevoa);border-radius:24px;margin-bottom:12px;transition:background-color .2s}
.faq details[open]{background:var(--eco)}
.faq summary{list-style:none;cursor:pointer;padding:22px 64px 22px 26px;position:relative;font-weight:600;font-size:clamp(1rem,.8vw + .55rem,1.15rem);letter-spacing:-.02em;line-height:1.25;color:var(--norte)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:#fff;background-image:linear-gradient(#0149DB,#0149DB),linear-gradient(#0149DB,#0149DB);background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq details>div{padding:0 26px 26px;font-size:1.04rem;max-width:62ch}
.faq details>div p+p{margin-top:12px}
@media (max-width:900px){.faqw{grid-template-columns:1fr}.faqw .head{position:static;margin-bottom:30px}}

/* ---------- CTA / formulário ---------- */
.cta{background:var(--norte);color:var(--prata)}
.cta__glow{position:absolute;left:-20vw;top:-20vw;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,var(--norte) 66%);pointer-events:none}
.cta__wm{position:absolute;right:-8vw;bottom:-12vw;width:min(46vw,560px);pointer-events:none}
.cta__in{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,6vw,88px);align-items:start}
.cta__l ol{margin-top:36px;display:grid;gap:20px;counter-reset:n}
.cta__l ol li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;color:var(--prata)}
.cta__l ol li::before{counter-increment:n;content:counter(n);width:44px;height:44px;border-radius:50%;background:var(--rota);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.78rem}
.cta__l ol li b{display:block;color:#fff;font-weight:600;font-size:1.12rem}
.alt{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}
.form{position:relative;background:#fff;color:var(--grafite);border-radius:36px;padding:clamp(24px,3.6vw,48px)}
.form h3{font-weight:600;font-size:clamp(1.4rem,2.2vw,1.8rem);letter-spacing:-.03em;color:var(--norte)}
.form>p{margin-top:6px}
.form__g{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.form__g .full{grid-column:1/-1}
.fld{display:flex;flex-direction:column;gap:8px}
.fld>label{font-size:.92rem;color:var(--norte);font-weight:500}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{width:100%;font:inherit;font-size:1.04rem;color:var(--norte);background:var(--nevoa);border:2px solid var(--nevoa);border-radius:16px;padding:14px 18px;min-height:56px;transition:border-color .15s,background-color .15s;appearance:none;-webkit-appearance:none}
.form select{background-image:linear-gradient(45deg,transparent 50%,#0149DB 50%),linear-gradient(135deg,#0149DB 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:46px}
.form textarea{min-height:104px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--rota);background:#fff;outline:0}
.form [aria-invalid=true]{border-color:var(--crit);background:#fff}
.err{color:#B42318;font-size:.86rem;display:none}
.fld.bad .err{display:block}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;margin-top:22px}
.chk input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--rota)}
.form .btn{width:100%;margin-top:24px}
.form__fine{margin-top:16px;font-size:.84rem;color:var(--grafite)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{margin-top:18px;padding:14px 18px;border-radius:16px;background:var(--eco);color:var(--norte);font-size:.96rem;display:none}
.notice.show{display:block}.notice.warn{background:#FDF2D8}
@media (max-width:900px){.cta__in{grid-template-columns:1fr}}
@media (max-width:520px){.form__g{grid-template-columns:1fr}}

/* ---------- rodapé ---------- */
.ftr{background:#fff;color:var(--grafite);padding:clamp(56px,7vw,90px) 0 36px;font-size:1rem}
.ftr__big{display:flex;align-items:center;gap:20px;margin-bottom:46px}
.ftr__big .sym{width:56px}
.ftr__big p{font-weight:600;font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:-.03em;line-height:1.1;color:var(--norte);max-width:22ch}
.ftr__g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ftr h4{font-size:.88rem;font-weight:600;color:var(--rota);margin-bottom:14px}
.ftr li{margin:10px 0}
.ftr a{color:var(--norte);text-decoration:none}
.ftr a:hover{color:var(--rota);text-decoration:underline}
.ftr__b{margin-top:48px;padding-top:24px;border-top:1px solid var(--linha);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.88rem}
@media (max-width:760px){.ftr__g{grid-template-columns:1fr}}

/* whatsapp flutuante */
.wa{position:fixed;right:18px;bottom:18px;z-index:40;width:62px;height:62px;border-radius:50%;background:var(--rota);color:#fff;display:none;place-items:center;border:3px solid #fff}
.wa.show{display:grid}.wa:hover{background:var(--royal);color:#fff}.wa svg{width:28px;height:28px}

/* consentimento */
.ck{position:fixed;left:14px;right:14px;bottom:14px;z-index:60;max-width:720px;margin:0 auto;background:var(--norte);color:var(--prata);border:1px solid var(--fio);border-radius:28px;padding:20px 24px;display:none;gap:14px 24px;align-items:center;flex-wrap:wrap;font-size:.94rem}
.ck.show{display:flex}.ck p{flex:1 1 280px}.ck a{color:var(--horizonte)}
.ck__b{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- movimento ---------- */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in-view{opacity:1;transform:none}
.js .rv[data-d="1"]{transition-delay:.1s}.js .rv[data-d="2"]{transition-delay:.2s}.js .rv[data-d="3"]{transition-delay:.3s}.js .rv[data-d="4"]{transition-delay:.4s}
.draw path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s var(--ease) .3s}
.in-view .draw path,.draw.go path{stroke-dashoffset:0}

/* ---------- páginas internas ---------- */
.page{padding:clamp(48px,6vw,80px) 0 clamp(56px,8vw,104px)}
.page h1{font-family:var(--text);font-weight:600;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.035em;line-height:1.04;color:var(--norte);margin-top:20px;max-width:16ch}
.prose{max-width:760px;margin-top:40px}
.prose h2{font-weight:600;font-size:1.35rem;letter-spacing:-.02em;color:var(--norte);margin:40px 0 12px}
.prose p,.prose li{font-size:1.04rem}.prose p+p{margin-top:14px}
.prose ul{margin-top:12px;padding-left:20px;list-style:disc}.prose li{margin:6px 0}
.thanks{background:var(--norte);color:var(--prata);min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:70px 0}
.thanks h1{font-family:var(--display);color:#fff;font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1;margin-top:24px;max-width:14ch}
.thanks .sub{font-size:1.25rem;max-width:46ch;margin-top:24px}
.thanks ol{margin-top:34px;display:grid;gap:18px;max-width:560px;counter-reset:t}
.thanks ol li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.thanks ol li::before{counter-increment:t;content:counter(t);width:44px;height:44px;border-radius:50%;background:var(--rota);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.78rem}
.thanks ol b{color:#fff;display:block;font-weight:600}
/* compat. páginas internas antigas */
.micro{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;color:var(--rota);background:var(--eco);padding:8px 16px 8px 14px;border-radius:999px}
.micro::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rota)}
.on-dark .micro{background:var(--ardosia);color:var(--prata);border:1px solid var(--fio)}.on-dark .micro::before{background:var(--horizonte)}

/* ===================== TEMA ESCURO ===================== */
/* Fundos: Norte (base), Sombra e Ardósia (painéis e cards). Texto: branco, Prata e Apoio. Destaque: Horizonte e Rota. */
:root{color-scheme:dark}
body{background:var(--norte);color:var(--prata)}
b,strong{color:#fff}
a{color:var(--horizonte)}a:hover{color:#fff}
.sec{background:var(--norte)}
.panel.nevoa{background:var(--sombra)}
.panel.dark{background:var(--ardosia)}
.h2{color:#fff}.h2 em{color:var(--horizonte)}
.lead{color:var(--prata)}
.hl{color:var(--horizonte)}
.pill,.micro{background:var(--ardosia);color:var(--prata);border:1px solid var(--fio)}
.pill::before,.micro::before{background:var(--horizonte)}
.panel.nevoa .pill{background:var(--norte)}

/* dores */
.sc:nth-child(1){background:var(--ardosia)}
.sc:nth-child(2){background:var(--sombra);border:1px solid var(--fio)}
.sc:nth-child(3){background:var(--grad-card)}
.sc q{color:#fff}.sc div{color:var(--prata)}.sc div b{color:var(--horizonte)}
.sc:nth-child(3) div b{color:#fff}

/* abas */
.tab{background:var(--norte);border-color:var(--fio);color:var(--apoio)}
.tab:hover{border-color:var(--horizonte)}
.tab b{color:#fff}.tab small{color:var(--apoio)}
.tab span.n{background:var(--sombra);color:var(--horizonte)}
.tab[aria-selected="true"]{background:var(--rota);border-color:var(--rota)}
.tab[aria-selected="true"] small{color:var(--eco)}
.tab[aria-selected="true"] span.n{background:#fff;color:var(--rota)}
.tp{background:var(--norte);border-color:var(--fio)}
.tp h3{color:#fff}.tp>p{color:var(--prata)}
.tp dl div{border-color:var(--fio)}.tp dt{color:var(--horizonte)}.tp dd{color:#fff}
.tp .tag{background:var(--sombra);color:var(--horizonte)}
.note::before{background:var(--horizonte)}

/* módulos */
.bt:nth-child(1),.bt:nth-child(5){background:var(--ardosia)}
.bt:nth-child(2),.bt:nth-child(6){background:var(--sombra);border:1px solid var(--fio)}
.bt:nth-child(3){background:var(--sombra);border:1px solid var(--fio)}
.bt:nth-child(4){background:var(--grad-card)}
.bt h3{color:#fff}.bt p{color:var(--prata)}
.bt .n{background:var(--norte);color:var(--horizonte)}
.bt:nth-child(3) .n{background:var(--norte);color:var(--horizonte)}
.bt:nth-child(4) .n{background:#fff;color:var(--rota)}

/* acompanhamento */
.list li{color:#fff;border-color:var(--fio)}
.list li::before{background:var(--horizonte)}
.ev.med{background:var(--rota);color:#fff}
.ev.est{background:var(--norte);color:var(--horizonte);border:1px solid var(--fio)}
.ev.hip{border-color:var(--apoio);color:var(--apoio)}
.exp{color:var(--prata)}
.phone{background:var(--norte)}

/* modelo */
.eq__b{background:var(--norte);border-color:var(--fio)}
.eq__b--tot{background:var(--grad-card)}
.panel.dark .fine{color:var(--apoio)}

/* simulador */
.calc__f{background:var(--ardosia);border-color:var(--fio)}
.fl label{color:#fff}.fl small{color:var(--apoio)}
.val{background:var(--norte);border-color:var(--fio)}
.val:focus-within{border-color:var(--horizonte);background:var(--norte)}
.val i{color:var(--apoio)}.val input{color:#fff}
input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--horizonte) var(--p),var(--fio) var(--p))}
input[type=range]::-moz-range-track{background:var(--fio)}
input[type=range]::-moz-range-progress{background:var(--horizonte)}
input[type=range]::-webkit-slider-thumb{background:var(--norte);border-color:var(--horizonte)}
input[type=range]::-moz-range-thumb{background:var(--norte);border-color:var(--horizonte)}

/* seleção */
.crit li{background:var(--norte);border:1px solid var(--fio)}
.crit li b{color:#fff}.crit li span{color:var(--prata)}
.crit li:hover{background:var(--rota);border-color:var(--rota)}
.verd div{background:var(--norte);border:1px solid var(--fio)}
.verd div:nth-child(1){background:var(--rota);border-color:var(--rota)}
.verd div:nth-child(1) b{color:#fff}
.verd b{color:var(--horizonte)}.verd p{color:#fff}

/* quem somos */
.photo{background:var(--ardosia);border-color:var(--fio)}
.photo__ph span{color:var(--horizonte)}.photo__ph em{color:#fff}
.quote{color:#fff}.quote em{color:var(--horizonte)}
.vals li{border-color:var(--fio)}.vals li:last-child{border-color:var(--fio)}
.vals b{color:#fff}.vals span{color:var(--prata)}

/* faq */
.faq details{background:var(--norte);border:1px solid var(--fio)}
.faq details[open]{background:var(--ardosia)}
.faq summary{color:#fff}
.faq details>div{color:var(--prata)}

/* conversão */
.cta{background:var(--sombra)}
.cta__glow{background:radial-gradient(circle,var(--glow) 0%,var(--sombra) 66%)}
.cta .sym--wm{--sp:#0F2C5E;--sd:#0F2C5E}

/* rodapé */
.ftr{background:var(--norte);color:var(--apoio);border-top:1px solid var(--fio)}
.ftr__big p{color:#fff}.ftr h4{color:var(--horizonte)}
.ftr a{color:var(--prata)}.ftr a:hover{color:#fff}
.ftr__b{border-color:var(--fio)}

/* páginas internas */
.page h1{color:#fff}.prose h2{color:#fff}.prose p,.prose li{color:var(--prata)}
.micro{display:inline-flex}

/* botão ghost e linha seguem iguais; botão de consentimento */
.btn--line{background:var(--ardosia);border-color:var(--fio);color:#fff}

/* ============ FUNDOS: azul quase preto com degradê de azul ============ */
/* Base --ink (#020A1C) não é preto puro; os brilhos usam os azuis da marca. */
:root{--ink:#020A1C;--ink2:#071430;--card:#0A1A3C;--cardline:#1C3A70}
body{background:var(--ink)}
.hero{background:radial-gradient(90% 85% at 50% 115%,#0A3A9A 0%,#06194A 36%,#020A1C 76%)}
.sec{background:var(--ink)}
#problema{background:radial-gradient(70% 55% at 100% 0%,#08225C 0%,#020A1C 70%)}
#servicos{background:radial-gradient(70% 55% at 0% 0%,#08225C 0%,#020A1C 70%)}
#simulador{background:radial-gradient(70% 55% at 100% 100%,#08225C 0%,#020A1C 70%)}
#quem-somos{background:radial-gradient(70% 55% at 0% 100%,#08225C 0%,#020A1C 70%)}
.panel.nevoa{background:radial-gradient(110% 100% at 100% 0%,#0B3280 0%,#071A45 45%,#030D24 100%)}
.panel.dark{background:radial-gradient(110% 100% at 0% 0%,#0A2F78 0%,#061638 50%,#030D24 100%)}
.cta{background:radial-gradient(100% 120% at 0% 0%,#0237A5 0%,#06194A 45%,#020A1C 100%)}
.cta__glow{display:none}
.cta .sym--wm{--sp:#0B2A66;--sd:#0B2A66}

.pill,.micro{background:var(--card);border-color:var(--cardline)}
.panel.nevoa .pill{background:var(--ink2)}
.sc:nth-child(1){background:var(--card);border:1px solid var(--cardline)}
.sc:nth-child(2){background:var(--ink2);border:1px solid var(--cardline)}
.tab{background:var(--ink2);border-color:var(--cardline)}
.tab span.n{background:var(--card)}
.tp{background:var(--ink2);border-color:var(--cardline)}
.tp dl div{border-color:var(--cardline)}
.tp .tag{background:var(--card)}
.bt:nth-child(1),.bt:nth-child(5){background:var(--card);border:1px solid var(--cardline)}
.bt:nth-child(2),.bt:nth-child(3),.bt:nth-child(6){background:var(--ink2);border:1px solid var(--cardline)}
.bt .n{background:var(--ink);color:var(--horizonte)}
.bt:nth-child(3) .n{background:var(--ink)}
.phone{background:var(--ink2);border-color:var(--cardline)}
.phone__s{background:var(--ink)}
.list li{border-color:var(--cardline)}
.ev.est{background:var(--ink2);border-color:var(--cardline)}
.eq__b{background:var(--ink2);border-color:var(--cardline)}
.eq__b--tot{background:var(--grad-card);border-color:transparent}
.two .tick li,.two .cross li{border-color:var(--cardline)}
.calc__f{background:var(--ink2);border-color:var(--cardline)}
.val{background:var(--ink);border-color:var(--cardline)}
.val:focus-within{background:var(--ink)}
input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--horizonte) var(--p),#1C3A70 var(--p))}
input[type=range]::-moz-range-track{background:#1C3A70}
input[type=range]::-webkit-slider-thumb{background:var(--ink)}
input[type=range]::-moz-range-thumb{background:var(--ink)}
.crit li{background:var(--ink2);border-color:var(--cardline)}
.crit li:hover{background:var(--rota)}
.verd div{background:var(--ink2);border-color:var(--cardline)}
.photo{background:var(--card);border-color:var(--cardline)}
.vals li,.vals li:last-child{border-color:var(--cardline)}
.faq details{background:var(--ink2);border-color:var(--cardline)}
.faq details[open]{background:var(--card)}
.ftr{background:var(--ink);border-top-color:var(--cardline)}
.ftr__b{border-color:var(--cardline)}
.ck{background:var(--ink2);border-color:var(--cardline)}
.thanks{background:radial-gradient(90% 85% at 50% 115%,#0A3A9A 0%,#06194A 36%,#020A1C 76%)}

/* rodapé em preto (pedido do cliente; o manual prevê o Azul Norte como escuro da marca) */
.ftr{background:#000;border-top-color:#1C3A70}
.ftr__b{border-color:#1C3A70}

/* ================= RITMO DE FUNDOS: preto · Azul Rota · degradê ================= */
:root{--verde:#25D366;--k2:#0A0F1C;--kline:#1F2A44;--bline:#1D3A80;--onblue:#E4EBF8}
body{background:#000}
.hero{background:#000}
.strip{background:#000;color:var(--prata);border-top:1px solid var(--kline);border-bottom:1px solid var(--kline)}
.strip__t span::after{background:var(--verde)}

/* ---- seções em Azul Rota: texto branco, destaque sublinhado em verde ---- */
#problema,#acompanhamento,#selecao,#conversa{color:var(--onblue)}
#problema{background:var(--rota)}
#acompanhamento{background:var(--rota)}
#selecao{background:var(--rota)}
#conversa{background:linear-gradient(135deg,#0149DB 0%,#0237A5 100%)}
#problema .h2,#acompanhamento .h2,#selecao .h2,#conversa .h2{color:#fff}
#problema .h2 em,#acompanhamento .h2 em,#selecao .h2 em,#conversa .h2 em{color:#fff;text-decoration:underline;text-decoration-color:var(--verde);text-decoration-thickness:.09em;text-underline-offset:.13em;text-decoration-skip-ink:none}
#problema .lead,#acompanhamento .lead,#selecao .lead,#conversa .lead{color:var(--onblue)}
#problema .pill,#acompanhamento .pill,#selecao .pill,#conversa .pill{background:#000;border-color:var(--kline);color:var(--prata)}
#problema .pill::before,#acompanhamento .pill::before,#selecao .pill::before,#conversa .pill::before{background:var(--verde)}
#problema strong,#problema b,#acompanhamento b,#selecao b{color:inherit}

/* dores */
.sc:nth-child(1){background:#000;border:0}
.sc:nth-child(2){background:#06122B;border:1px solid var(--bline)}
.sc:nth-child(3){background:#fff;border:0}
.sc:nth-child(3) q{color:var(--norte)}
.sc:nth-child(3) div{color:var(--grafite)}
.sc:nth-child(3) div b{color:var(--rota)}
.sc:nth-child(1) div b,.sc:nth-child(2) div b{color:var(--verde)}

/* ---- como funciona: preto ---- */
#como-funciona{background:#000}
#como-funciona .pill{background:var(--k2)}
.tab{background:var(--k2);border-color:var(--kline)}
.tab:hover{border-color:var(--rota)}
.tab span.n{background:#000;color:var(--verde)}
.tab[aria-selected="true"]{background:var(--rota);border-color:var(--rota)}
.tab[aria-selected="true"] span.n{background:var(--verde);color:#000}
.tp{background:#05080F;border-color:var(--kline)}
.tp dl div{border-color:var(--kline)}
.tp dt{color:var(--verde)}
.tp .tag{background:var(--verde);color:#000}
.note::before{background:var(--verde)}

/* ---- módulos: degradê de azul ---- */
#servicos{background:radial-gradient(80% 70% at 100% 0%,#0237A5 0%,#04122E 45%,#000 100%)}
.bt:nth-child(1),.bt:nth-child(5){background:#000;border:1px solid var(--bline)}
.bt:nth-child(2),.bt:nth-child(3),.bt:nth-child(6){background:#06122B;border:1px solid var(--bline)}
.bt:nth-child(4){background:var(--grad-card);border:0}
.bt .n,.bt:nth-child(3) .n{background:#000;color:var(--verde)}
.bt:nth-child(4) .n{background:#fff;color:var(--rota)}

/* ---- acompanhamento (azul) ---- */
.list li{color:#fff;border-color:#2E69EA}
.list li::before{background:var(--verde)}
.ev.med{background:#000;color:#fff;border:0}
.ev.est{background:#fff;color:var(--rota);border:0}
.ev.hip{border:2px dashed #fff;color:#fff;background:transparent}
.exp{color:var(--onblue)}
#acompanhamento .exp b{color:#fff}
.phone{background:#000;border-color:var(--bline)}
.phone__s{background:#000}

/* ---- modelo: preto ---- */
#modelo{background:#000}
.eq__b{background:var(--k2);border-color:var(--kline)}
.eq__b span.k{color:var(--verde)}
.eq__b--tot{background:var(--grad-card);border-color:transparent}
.eq__b--tot span.k{color:#fff}
.tick li::before{background:var(--verde)}
.two .tick li,.two .cross li{border-color:var(--kline)}
.cross li::before{background:#3A4256}

/* ---- simulador: degradê, saída em preto com número verde ---- */
#simulador{background:radial-gradient(80% 70% at 0% 100%,#0237A5 0%,#04122E 45%,#000 100%)}
.calc__f{background:#05080F;border-color:var(--bline)}
.val{background:#000;border-color:var(--kline)}
.val:focus-within{border-color:var(--verde);background:#000}
input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--verde) var(--p),#1F2A44 var(--p))}
input[type=range]::-moz-range-track{background:#1F2A44}
input[type=range]::-moz-range-progress{background:var(--verde)}
input[type=range]::-webkit-slider-thumb{background:#000;border-color:var(--verde)}
input[type=range]::-moz-range-thumb{background:#000;border-color:var(--verde)}
.out{background:#000;border:1px solid var(--bline)}
.out__v{color:var(--verde)}.out__v.neg{color:#FF6B6B}
.out dl{border-color:var(--kline)}
.out__msg{background:var(--k2)}

/* ---- seleção (azul) ---- */
.crit li{background:#000;border:1px solid var(--bline)}
.crit li:hover{background:#fff;border-color:#fff}
.crit li:hover b{color:var(--norte)}.crit li:hover span{color:var(--grafite)}
.verd div{background:#000;border:1px solid var(--bline)}
.verd div:nth-child(1){background:var(--verde);border-color:var(--verde)}
.verd div:nth-child(1) b,.verd div:nth-child(1) p{color:#000}
.verd b{color:var(--prata)}.verd p{color:#fff}

/* ---- quem somos: preto ---- */
#quem-somos{background:#000}
.photo{background:var(--k2);border-color:var(--kline)}
.photo__ph span{color:var(--verde)}
.vals li,.vals li:last-child{border-color:var(--kline)}
.quote em{color:var(--verde)}

/* ---- perguntas: degradê ---- */
#perguntas{background:radial-gradient(90% 80% at 100% 0%,#0237A5 0%,#04122E 45%,#000 100%)}
#perguntas .pill{background:#000}
.faq details{background:#000;border:1px solid var(--bline)}
.faq details[open]{background:#06122B}

/* ---- conversa ---- */
#conversa{background:linear-gradient(135deg,#0149DB 0%,#0237A5 100%)}
.cta__l ol li::before{background:#000;color:#fff}
.cta__l ol li b{color:#fff}.cta__l ol li{color:var(--onblue)}
.cta .sym--wm{--sp:#1A5CEC;--sd:#1A5CEC}

.ftr{background:#000}
.ck{background:#000;border-color:var(--kline)}

/* ================= CANAIS / PLATAFORMAS ================= */
.pfs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pf{background:var(--k2);border:1px solid var(--kline);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s}
.pf:hover{transform:translateY(-6px);border-color:var(--rota)}
.pf__img{aspect-ratio:16/10;background:var(--bg,#fff);position:relative;overflow:hidden}
.pf__img img{position:absolute;inset:0;width:100%;height:100%;transition:transform .6s var(--ease)}
.pf__img--cover img{object-fit:cover}
.pf__img--contain img{object-fit:contain;padding:6%}
.pf:hover .pf__img img{transform:scale(1.04)}
.pf__b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.pf__t{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--prata);background:#000;border:1px solid var(--kline);padding:5px 12px 5px 10px;border-radius:999px}
.pf__t::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--verde)}
.pf h3{font-weight:600;font-size:1.3rem;letter-spacing:-.02em;color:#fff;margin-top:6px}
.pf p{color:var(--prata);font-size:1rem}
.pfs__note{margin-top:26px;font-size:.86rem;color:var(--apoio);max-width:70ch}
@media (max-width:980px){.pfs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.pfs{grid-template-columns:1fr}}

.pf__img--zoom img{object-fit:cover;object-position:50% 52%;transform:scale(1.18)}
.pf:hover .pf__img--zoom img{transform:scale(1.24)}

/* ================= CONSOLIDAÇÃO (menos seções, mesmo conteúdo) ================= */
.subh{font-weight:600;font-size:clamp(1.3rem,2.2vw,1.75rem);letter-spacing:-.025em;line-height:1.15;color:#fff}
.sub{margin-top:clamp(56px,7vw,88px);margin-bottom:28px}
.sub p,.sel p{margin-top:10px;color:var(--prata);max-width:62ch}

/* módulos em 3×2, mais baixos */
@media (min-width:901px){.bt:nth-child(n){grid-column:span 2;min-height:176px}}
.bt p{font-size:.96rem}
.bt:nth-child(6) p{max-width:36ch}

/* canais mais compactos */
.pf__img{aspect-ratio:2/1}
.pf__b{padding:16px 20px 20px;gap:6px}
.pf h3{font-size:1.12rem;margin-top:4px}
.pf p{font-size:.94rem}

/* modelo + seleção */
.sel{margin-top:clamp(48px,6vw,80px)}
#modelo .crit{margin-top:24px}
#modelo .crit li{background:var(--k2);border:1px solid var(--kline)}
#modelo .crit li:hover{background:var(--rota);border-color:var(--rota)}
#modelo .crit li b{color:#fff}#modelo .crit li span{color:var(--prata)}
#modelo .crit li:hover span{color:#fff}
#modelo .verd div{background:var(--k2);border:1px solid var(--kline)}
#modelo .verd div:nth-child(1){background:var(--verde);border-color:var(--verde)}
#modelo .verd b{color:var(--prata)}#modelo .verd p{color:#fff}
#modelo .verd div:nth-child(1) b,#modelo .verd div:nth-child(1) p{color:#000}
#modelo .fine{margin-top:32px}

/* acompanhamento dentro de "como funciona" */
#como-funciona .fol{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:center}
#como-funciona .exp{color:var(--prata);margin-top:14px}
#como-funciona .exp b{color:#fff}
#como-funciona .evs{margin-top:22px}
#como-funciona .ev.med{background:var(--rota);color:#fff}
#como-funciona .ev.est{background:#fff;color:var(--rota)}
#como-funciona .ev.hip{border:2px dashed var(--apoio);color:var(--apoio);background:transparent}
#como-funciona .phone{width:min(100%,330px);background:var(--k2);border-color:var(--bline)}
#como-funciona .phone__s{min-height:440px}
@media (max-width:900px){#como-funciona .fol{grid-template-columns:1fr}}

/* faixa de CTA no meio da página */
.band{background:var(--rota);padding:clamp(28px,4vw,44px) 0}
.band__in{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}
.band__t{font-weight:600;font-size:clamp(1.3rem,2.6vw,2rem);letter-spacing:-.025em;line-height:1.1;color:#fff}
.band__s{margin-top:4px;color:var(--onblue)}
@media (max-width:620px){.band .btn{width:100%}}

/* ================= REESCRITA: 1 design por seção, texto enxuto ================= */
.sec{padding:clamp(56px,7vw,96px) 0}
.head{margin-bottom:clamp(28px,4vw,48px)}
.sc{min-height:190px;gap:20px}

/* como funciona: passos + celular */
#como-funciona .flow.fol{margin-top:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:center}
.st2{display:grid}
.st2 li{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--kline)}
.st2 li:last-child{border-bottom:1px solid var(--kline)}
.st2 .n{width:44px;height:44px;border-radius:50%;background:var(--verde);color:#000;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.85rem}
.st2 b{display:block;color:#fff;font-weight:600;font-size:1.18rem;letter-spacing:-.02em;line-height:1.2}
.st2 div span{display:block;margin-top:3px;color:var(--prata)}
#como-funciona .evs{margin-top:26px}
@media (max-width:900px){#como-funciona .flow.fol{grid-template-columns:1fr}}

/* o que fazemos: lista + canais */
.svc{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:start}
.mods2 li{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:16px 0;border-top:1px solid var(--bline)}
.mods2 li:last-child{border-bottom:1px solid var(--bline)}
.mods2 .n{font-family:var(--display);font-weight:800;font-size:.85rem;color:var(--verde);padding-top:5px}
.mods2 b{display:block;color:#fff;font-weight:600;font-size:1.12rem;letter-spacing:-.02em;line-height:1.2}
.mods2 div span{display:block;margin-top:2px;color:var(--prata);font-size:.96rem}
.chs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chs .pf{border-radius:20px}
.chs .pf__img{aspect-ratio:3/2}
.chs .pf__b{padding:12px 14px 14px;gap:4px}
.chs .pf__t{font-size:.7rem;padding:3px 9px 3px 8px}
.chs .pf h3{font-size:1rem;margin-top:2px}
.svc__note{margin-top:16px;font-size:.84rem;color:var(--apoio)}
@media (max-width:900px){.svc{grid-template-columns:1fr}}
@media (max-width:560px){.chs{grid-template-columns:1fr 1fr}}

/* modelo: equação + 2 cartões */
.mc2{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:clamp(28px,4vw,44px)}
.mc{background:var(--k2);border:1px solid var(--kline);border-radius:26px;padding:clamp(22px,3vw,34px)}
.mc .subh{font-size:1.35rem}
.mc>p{color:var(--prata);margin-top:8px}
.chp{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chp li{background:#000;border:1px solid var(--kline);border-radius:99px;padding:6px 14px;font-size:.9rem;color:#fff}
.vd{margin-top:18px;display:grid;gap:8px}
.vd li{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:baseline;padding:12px 16px;border-radius:14px;background:#000;border:1px solid var(--kline)}
.vd li b{font-size:.92rem;color:#fff}
.vd li span{color:var(--prata);font-size:.94rem}
.vd li.ok{background:var(--verde);border-color:var(--verde)}
.vd li.ok b,.vd li.ok span{color:#000}
.mc .cross{margin-top:12px}
.mc .cross li{border-color:var(--kline)}
.mc__fine{margin-top:18px;font-size:.84rem;color:var(--apoio)}
@media (max-width:900px){.mc2{grid-template-columns:1fr}}
@media (max-width:480px){.vd li{grid-template-columns:1fr;gap:2px}}

/* ================= FAQ: cards espalhados + painel central ================= */
.head--c{text-align:center;display:flex;flex-direction:column;align-items:center}
.head--c .h2{max-width:22ch}
#perguntas .pill::before{background:var(--verde)}
.fq-hint{margin-top:14px;color:var(--apoio);font-size:.95rem;display:inline-flex;align-items:center;gap:10px}
.fq-hint::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--verde);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.6)}}

.fq-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0 4px}
.fq-row{display:flex;justify-content:center;gap:16px;width:100%}
.fq{position:relative;width:min(300px,28%);min-height:112px;padding:18px 22px 20px;border-radius:22px;background:var(--k2);border:1px solid var(--bline);display:flex;flex-direction:column;justify-content:space-between;gap:14px;cursor:pointer;transform:translate(var(--dx,0),var(--dy,0));transition:filter .4s var(--ease),opacity .35s,border-color .25s,background-color .25s,transform .4s var(--ease);will-change:filter}
.fq[data-ring="2"]{filter:blur(1.8px)}
.fq[data-ring="1"]{filter:blur(.7px)}
.fq[data-ring="0"]{background:var(--grad-card);border-color:#2E69EA}
.fq__i{font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.06em;color:var(--verde)}
.fq[data-ring="0"] .fq__i{color:#fff}
.fq h3{font-weight:600;font-size:1.06rem;letter-spacing:-.015em;line-height:1.22;color:#fff}
.fq__a{display:none}
.fq:hover,.fq:focus-visible,.fq.on{filter:none;border-color:var(--verde);transform:translate(var(--dx,0),calc(var(--dy,0px) - 6px))}
.fq:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
.fq.on{background:#06122B}
.fq-stage.has-open .fq:not(.on){opacity:.32}

.fq-panel{position:absolute;left:50%;top:50%;width:min(580px,88%);transform:translate(-50%,-46%) scale(.95);opacity:0;pointer-events:none;background:#05080F;border:1px solid var(--verde);border-radius:30px;padding:clamp(24px,3.4vw,38px);z-index:5;transition:opacity .25s,transform .35s var(--ease)}
.fq-panel.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.fq-n{display:inline-block;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.08em;color:#000;background:var(--verde);padding:5px 12px;border-radius:99px}
.fq-q{margin-top:14px;font-weight:600;font-size:clamp(1.3rem,2.4vw,1.75rem);letter-spacing:-.025em;line-height:1.15;color:#fff}
.fq-ans{margin-top:12px;color:var(--prata);font-size:1.05rem;line-height:1.55}
.fq-x{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--kline);background:#000;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;pointer-events:none;display:none}
@media (hover:none){.fq-x{display:block;pointer-events:auto}.fq-hint{display:none}}

/* celular: lista simples que expande no lugar */
@media (max-width:860px){
  .fq-stage{gap:10px}
  .fq-row{display:contents}
  .fq{width:100%;min-height:0;transform:none;filter:none!important;opacity:1!important;border-color:var(--bline)}
  .fq:hover,.fq.on{transform:none}
  .fq[data-ring="0"]{background:var(--k2);border-color:var(--bline)}
  .fq[data-ring="0"] .fq__i{color:var(--verde)}
  .fq.open{border-color:var(--verde);background:#06122B}
  .fq.open .fq__a{display:block;color:var(--prata);font-size:1rem;line-height:1.5}
  .fq-panel{display:none}
  .fq-hint{display:none}
}

/* FAQ: cards finos e juntos (seção mais curta) */
.fq-stage{gap:10px;padding:0;min-height:440px;justify-content:center}
.fq-row{gap:10px}
.fq{min-height:0;padding:12px 18px;border-radius:16px;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 12px;width:min(300px,28%);transform:translate(calc(var(--dx,0px) * .6),calc(var(--dy,0px) * .35))}
.fq__i{flex:none;font-size:.72rem}
.fq h3{flex:1;min-width:0;font-size:.96rem;line-height:1.22}
.fq__a{flex-basis:100%}
.fq:hover,.fq:focus-visible,.fq.on{transform:translate(calc(var(--dx,0px) * .6),calc(var(--dy,0px) * .35 - 4px))}
@media (max-width:860px){
  .fq-stage{min-height:0;gap:8px}
  .fq{width:100%;padding:12px 16px;border-radius:14px;transform:none}
  .fq:hover,.fq.on{transform:none}
  .fq.open .fq__a{margin-top:4px}
}

/* ================= O QUE FAZEMOS v2: escada de rota + faixa de canais ================= */
.h2{text-wrap:balance}
.stairs-w{position:relative;margin-top:8px}
.stairs__route{position:absolute;left:0;right:0;bottom:10px;width:100%;height:calc(100% - 40px);pointer-events:none;z-index:0}
.stairs{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:start}
.stairs li{margin-top:calc((5 - var(--i)) * 26px);background:var(--k2);border:1px solid var(--bline);border-top:3px solid var(--verde);border-radius:18px;padding:16px 16px 18px;display:flex;flex-direction:column;gap:4px;min-height:140px;transition:transform .35s var(--ease),border-color .25s}
.stairs li:hover{transform:translateY(-6px);border-color:var(--verde)}
.stairs li:last-child{background:var(--grad-card);border-color:#2E69EA;border-top-color:#fff}
.stairs .n{font-family:var(--display);font-weight:800;font-size:.8rem;color:var(--verde);letter-spacing:.04em}
.stairs li:last-child .n{color:#fff}
.stairs b{color:#fff;font-weight:600;font-size:1.05rem;letter-spacing:-.02em;line-height:1.2;margin-top:6px}
.stairs .dd{color:var(--prata);font-size:.9rem;line-height:1.4}
.chn{margin-top:clamp(40px,5vw,64px)}
.chn__t{font-weight:600;font-size:clamp(1.2rem,2vw,1.5rem);letter-spacing:-.02em;color:#fff;margin-bottom:18px}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mq__t{display:flex;gap:14px;width:max-content;animation:mqs 48s linear infinite}
.mq:hover .mq__t{animation-play-state:paused}
.mq .pf{width:228px;flex:none;border-radius:20px}
.mq .pf__img{aspect-ratio:3/2}
.mq .pf__b{padding:12px 14px 14px;gap:4px}
.mq .pf__t{font-size:.7rem;padding:3px 9px 3px 8px}
.mq .pf h3{font-size:1rem;margin-top:2px}
@keyframes mqs{to{transform:translateX(calc(-50% - 7px))}}
@media (prefers-reduced-motion:reduce){.mq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.mq__t{animation:none}}
@media (max-width:1000px){
  .stairs{grid-template-columns:repeat(3,1fr)}
  .stairs li{margin-top:0}
  .stairs__route{display:none}
}
@media (max-width:560px){.stairs{grid-template-columns:1fr}.stairs li{min-height:0}}

/* canais: seção própria */
#canais{background:#000}
#canais .pill{background:var(--k2)}
.pfs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pf__b{padding:16px 20px 20px}
.pf p{color:var(--prata);font-size:.94rem}
.pfs__note{margin-top:22px;font-size:.84rem;color:var(--apoio);max-width:72ch}
@media (max-width:980px){.pfs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.pfs{grid-template-columns:1fr}}

#servicos{padding-bottom:clamp(16px,2vw,32px)}
#canais{padding-top:clamp(40px,5vw,64px)}

/* ================= CANAIS: carrossel em perfil (coverflow) ================= */
#canais{background:#000;overflow:hidden;padding-top:clamp(48px,6vw,80px)}
.car{position:relative;outline:none}
.car__stage{position:relative;height:500px;max-width:1200px;margin:0 auto}
.cc{--s:1;position:absolute;left:50%;top:0;width:min(420px,78vw);height:100%;display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;border-radius:28px;background:var(--k2);border:1px solid var(--bline);transform:translateX(-50%) translateX(calc(var(--o,0) * 74%)) scale(var(--s));transition:transform .6s var(--ease),opacity .5s,filter .5s,border-color .4s;cursor:pointer;user-select:none;will-change:transform,filter}
.cc[data-pos="0"]{--s:1;z-index:4;border-color:var(--verde);cursor:default;background:#06122B}
.cc[data-pos="1"]{--s:.86;z-index:3;filter:blur(3px);opacity:.55}
.cc[data-pos="2"]{--s:.72;z-index:2;filter:blur(6px);opacity:.22;pointer-events:none}
.cc[data-pos="3"]{--s:.62;z-index:1;opacity:0;pointer-events:none}
.cc__top{display:flex;justify-content:space-between;align-items:center}
.cc__tag{font-family:var(--display);font-weight:700;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--verde)}
.cc__n{font-family:var(--display);font-weight:800;font-size:.8rem;color:var(--apoio)}
.cc__img{position:relative;border-radius:18px;overflow:hidden;background:var(--bg,#fff);aspect-ratio:16/10;flex:none}
.cc__img img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cc__img--cover img{object-fit:cover}
.cc__img--contain img{object-fit:contain;padding:7%}
.cc__img--zoom img{object-fit:cover;transform:scale(1.18)}
.cc__t{font-weight:600;font-size:1.55rem;letter-spacing:-.025em;line-height:1.1;color:#fff;margin-top:6px}
.cc__p{color:var(--prata);font-size:1rem;line-height:1.5}
.cc__f{margin-top:auto;padding-top:14px;border-top:1px solid var(--kline);color:var(--verde);font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:10px}
.cc__f::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--verde);flex:none}
.car__ui{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:26px}
.car__btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--bline);background:var(--k2);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s}
.car__btn:hover{background:var(--verde);border-color:var(--verde);color:#000}
.car__btn svg{width:18px;height:18px}
.car__dots{display:flex;gap:8px;align-items:center}
.car__dot{width:9px;height:9px;border-radius:99px;border:0;padding:0;background:#2A3A5C;cursor:pointer;transition:width .35s var(--ease),background-color .25s}
.car__dot.on{width:30px;background:var(--verde)}
.car:focus-visible .car__stage{outline:2px solid var(--verde);outline-offset:6px;border-radius:24px}
.head--c .lead{margin-left:auto;margin-right:auto}
@media (max-width:700px){
  .car__stage{height:520px}
  .cc{width:76vw;padding:16px 18px 18px}
  .cc__t{font-size:1.35rem}
  .cc[data-pos="1"]{filter:blur(2px)}
}
@media (prefers-reduced-motion:reduce){.cc{transition:none}}

/* carrossel: card mais limpo, fundo neutro, sem setas */
.cc{background:#0B0C10;border-color:#23262E;gap:14px;padding:18px 20px 22px}
.cc[data-pos="0"]{background:#0B0C10;border-color:var(--verde)}
.cc__top{justify-content:flex-start}
.cc__t{margin-top:4px}
.car__stage{height:430px}
.car__ui{margin-top:22px}
.car__dot{background:#2B2E37}
.car__dot.on{background:var(--verde)}
@media (max-width:700px){.car__stage{height:430px}}

/* ================= MODELO 3D: cartas em perspectiva ================= */
#modelo{background:#000;overflow:hidden}
.m3d{perspective:1500px;margin-top:clamp(12px,3vw,36px);padding:clamp(28px,4vw,56px) 0}
.m3d__s{--rx:10deg;--ry:0deg;display:flex;justify-content:center;align-items:center;gap:clamp(14px,2.6vw,38px);transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out;animation:m3dfloat 9s ease-in-out infinite}
@keyframes m3dfloat{0%,100%{transform:rotateX(10deg) rotateY(-4deg)}50%{transform:rotateX(7deg) rotateY(4deg)}}
.m3d.on .m3d__s{animation:none}
.m3d__c{position:relative;width:min(290px,28%);min-height:250px;padding:26px 24px;border-radius:24px;background:#0B0C10;border:1px solid #23262E;display:flex;flex-direction:column;gap:10px;transform-style:preserve-3d}
.m3d__c::before,.m3d__c::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0B0C10;border:1px solid #23262E;pointer-events:none}
.m3d__c::before{transform:translateZ(-14px);background:#15171D}
.m3d__c::after{transform:translateZ(-28px);background:#1B1E26}
.m3d__c .k{font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--verde);transform:translateZ(26px)}
.m3d__c strong{display:block;font-weight:600;font-size:1.4rem;letter-spacing:-.025em;line-height:1.12;color:#fff;transform:translateZ(34px)}
.m3d__c p{color:var(--prata);font-size:1rem;line-height:1.5;margin-top:auto;transform:translateZ(18px)}
.m3d__c--a{transform:rotateY(14deg) translateZ(0)}
.m3d__c--b{transform:rotateY(0deg) translateZ(30px)}
.m3d__c--r{transform:rotateY(-14deg) translateZ(70px);background:var(--grad-card);border-color:#2E69EA;min-height:290px}
.m3d__c--r::before{background:#0237A5;border-color:#0237A5}
.m3d__c--r::after{background:#032457;border-color:#032457}
.m3d__c--r .k{color:#fff}
.m3d__c--r p{color:var(--onblue)}
.m3d__op{flex:none;font-family:var(--display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--verde);transform:translateZ(60px)}
.m3d__note{margin:clamp(20px,3vw,36px) auto 0;max-width:62ch;text-align:center;color:var(--apoio);font-size:.95rem}
@media (prefers-reduced-motion:reduce){.m3d__s{animation:none;transition:none}}
@media (max-width:860px){
  .m3d{perspective:none}
  .m3d__s{flex-direction:column;animation:none;transform:none!important;gap:6px}
  .m3d__c,.m3d__c--a,.m3d__c--b,.m3d__c--r{width:100%;min-height:0;transform:none}
  .m3d__c::before,.m3d__c::after{display:none}
  .m3d__c .k,.m3d__c strong,.m3d__c p,.m3d__op{transform:none}
}
.m3d{padding:clamp(16px,2.4vw,32px) 0}
.m3d__c{min-height:226px}
.m3d__c--r{min-height:262px}

/* ================= O QUE FAZEMOS v3: painéis que expandem ================= */
.xps{display:flex;gap:10px;height:400px;margin-top:8px}
.xp{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:24px;background:#0B0C10;border:1px solid #23262E;cursor:pointer;transition:flex .65s var(--ease),background-color .4s,border-color .4s}
.xp.is-on{flex:5 1 0;background:var(--grad-card);border-color:#2E69EA;cursor:default}
.xp:not(.is-on):hover{border-color:var(--verde)}
.xp:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
.xp__n{position:absolute;left:22px;top:20px;font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.04em;color:var(--verde);transition:color .3s}
.xp.is-on .xp__n{color:#fff}
.xp__v{position:absolute;left:50%;bottom:22px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;white-space:nowrap;font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:#fff;transition:opacity .25s}
.xp.is-on .xp__v{opacity:0}
.xp__b{position:absolute;left:28px;right:28px;bottom:28px;opacity:0;pointer-events:none;transition:opacity .3s}
.xp.is-on .xp__b{opacity:1;transition-delay:.3s}
.xp__b h3{font-weight:600;font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.03em;line-height:1.05;color:#fff}
.xp__b p{margin-top:12px;max-width:34ch;color:var(--onblue);font-size:1.08rem;line-height:1.45}
@media (prefers-reduced-motion:reduce){.xp,.xp__b,.xp__v{transition:none}}
@media (max-width:860px){
  .xps{flex-direction:column;height:auto;gap:8px}
  .xp{flex:none;display:grid;grid-template-columns:44px 1fr;align-items:center;padding:16px 18px;border-radius:18px;transition:background-color .4s,border-color .4s}
  .xp.is-on{flex:none}
  .xp__n,.xp__v{position:static;transform:none;writing-mode:horizontal-tb;opacity:1}
  .xp__v,.xp.is-on .xp__v{font-size:1.1rem;opacity:1}
  .xp__b{position:static;grid-column:1/-1;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s var(--ease),opacity .3s}
  .xp.is-on .xp__b{max-height:160px;opacity:1;padding-top:10px;transition-delay:0s}
  .xp__b h3{display:none}
  .xp__b p{margin-top:0;font-size:1rem}
}

/* ================= O QUE FAZEMOS v4: minimalista ================= */
#servicos{background:#000}
.fr6{border-top:1px solid #23262E;margin-top:8px}
.fr6 li{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.1fr);gap:8px 24px;align-items:baseline;padding:22px 4px;border-bottom:1px solid #23262E;position:relative;transition:padding .35s var(--ease)}
.fr6 li::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--verde);transition:width .5s var(--ease)}
.fr6 li:hover{padding-left:14px}
.fr6 li:hover::before{width:100%}
.fr6 .n{font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.04em;color:var(--verde)}
.fr6 h3{font-weight:600;font-size:clamp(1.3rem,2.2vw,1.8rem);letter-spacing:-.025em;line-height:1.1;color:#fff}
.fr6 p{color:var(--apoio);font-size:1.02rem;line-height:1.45}
@media (prefers-reduced-motion:reduce){.fr6 li,.fr6 li::before{transition:none}}
@media (max-width:700px){
  .fr6 li{grid-template-columns:44px 1fr;padding:18px 2px}
  .fr6 p{grid-column:2}
}

/* ================= O QUE FAZEMOS v5: minimalismo máximo ================= */
.fr6{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,56px) clamp(32px,7vw,110px);border:0;margin-top:clamp(8px,2vw,24px)}
.fr6 li{display:block;position:relative;padding:0 0 0 24px;border:0;transition:none}
.fr6 li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--verde);transition:transform .35s var(--ease)}
.fr6 li:hover{padding-left:24px}
.fr6 li:hover::before{width:8px;transform:scale(1.7)}
.fr6 .n{display:none}
.fr6 h3{font-size:clamp(1.35rem,2vw,1.7rem)}
.fr6 p{margin-top:6px;color:var(--apoio);font-size:1rem}
@media (max-width:700px){
  .fr6{grid-template-columns:1fr;gap:26px}
  .fr6 li{grid-template-columns:none}
  .fr6 p{grid-column:auto}
}

/* ================= COMO FUNCIONA v2: simplificado ================= */
.st2 li{grid-template-columns:34px 1fr;gap:10px;padding:16px 0;border:0}
.st2 li:last-child{border:0}
.st2 .n{width:auto;height:auto;border-radius:0;background:none;color:var(--verde);display:block;font-size:.8rem;letter-spacing:.04em;padding-top:7px}
.st2 b{font-size:1.3rem}
.st2 div span{color:var(--apoio);margin-top:4px}

/* COMO FUNCIONA v3: passos em cards azuis */
.st2{gap:10px}
.st2 li{grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:16px 20px 18px;border:0;border-radius:20px;background:var(--grad-rota);transition:transform .3s var(--ease)}
.st2 li:hover{transform:translateX(6px)}
.st2 li:last-child{border:0}
.st2 .n{width:32px;height:32px;border-radius:50%;background:#000;color:var(--verde);display:grid;place-items:center;font-size:.8rem;padding:0;margin-top:2px}
.st2 b{font-size:1.25rem;color:#fff}
.st2 div span{color:var(--onblue);margin-top:4px}
@media (prefers-reduced-motion:reduce){.st2 li{transition:none}}

/* COMO FUNCIONA v4: cards azuis finos (uma linha) */
.st2{gap:8px}
.st2 li{grid-template-columns:28px 116px 1fr;gap:12px;align-items:center;padding:10px 16px;border-radius:14px}
.st2 li>div{display:contents}
.st2 .n{width:26px;height:26px;margin-top:0;font-size:.72rem}
.st2 b{font-size:1.05rem;margin:0}
.st2 div span{margin:0;font-size:.92rem;line-height:1.3}
@media (max-width:700px){
  .st2 li{grid-template-columns:28px 1fr;align-items:start;padding:12px 16px}
  .st2 li>div{display:block}
  .st2 div span{margin-top:2px}
}

/* COMO FUNCIONA: mais espaço entre os cards */
.st2{gap:18px}
@media (max-width:700px){.st2{gap:14px}}

/* COMO FUNCIONA: cards com a mesma altura */
.st2{grid-auto-rows:1fr}
.st2 li{min-height:58px}

/* ================= COMO FUNCIONA v5: cards altos que acompanham o celular ================= */
#como-funciona .flow.fol{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
#como-funciona .flow.fol>div:first-child{display:flex}
.st2{width:100%;height:100%;display:grid;grid-auto-rows:1fr;gap:14px}
.st2 li{grid-template-columns:48px 1fr;gap:16px;align-items:center;min-height:0;padding:18px 24px;border-radius:22px;border:1px solid #2E69EA;background:var(--grad-rota);transition:background-color .3s,border-color .3s}
.st2 li:hover{transform:none;border-color:#fff}
.st2 li>div{display:block}
.st2 .n{width:40px;height:40px;font-size:.9rem;margin-top:0}
.st2 b{font-size:1.3rem;display:block;margin:0}
.st2 div span{display:block;margin-top:4px;font-size:1rem;line-height:1.4;color:var(--onblue)}
@media (max-width:900px){
  #como-funciona .flow.fol{grid-template-columns:1fr}
  .st2{height:auto}
  .st2 li{padding:16px 18px}
}

/* COMO FUNCIONA: número grande, verde, com sombra leve (sem círculo) */
.st2 li{grid-template-columns:62px 1fr}
.st2 .n{width:auto;height:auto;border-radius:0;background:none;display:block;place-items:unset;font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:1;letter-spacing:-.02em;color:var(--verde);text-shadow:0 3px 0 #032457,0 10px 20px rgba(0,0,0,.4);margin:0}
@media (max-width:900px){.st2 li{grid-template-columns:52px 1fr}.st2 .n{font-size:2.2rem}}

/* COMO FUNCIONA v6: coluna do número centralizada e maior */
.st2 li{grid-template-columns:104px 1fr;gap:0;padding:0;align-items:stretch;overflow:hidden}
.st2 .n{align-self:stretch;display:grid;place-items:center;width:auto;height:auto;margin:0;padding:0;font-size:4rem;line-height:1;border-right:1px solid #4F86F5;letter-spacing:-.04em}
.st2 li>div{align-self:center;padding:18px 24px}
@media (max-width:900px){
  .st2 li{grid-template-columns:78px 1fr}
  .st2 .n{font-size:3rem}
  .st2 li>div{padding:16px 18px}
}

/* número: compensa o espaço extra da fonte acima dos algarismos (desenho 8px abaixo do centro a 64px) */
.st2 .n{transform:translateY(-.125em)}

/* ================= MOCKUP DE CELULAR 3D ================= */
.mock{perspective:1700px;display:flex;flex-direction:column;align-items:center;gap:22px;padding:10px 0}
.mock__ph{position:relative;width:min(290px,100%);height:560px;border-radius:54px;padding:11px;background:linear-gradient(145deg,#5A5F6B 0%,#23262E 22%,#0B0C10 55%,#2E323B 100%);border:1.5px solid #6B717E;transform-style:preserve-3d;transform:rotateY(-17deg) rotateX(5deg) rotateZ(1.4deg);transition:transform .7s var(--ease);box-shadow:-28px 36px 70px #000,-6px 8px 0 #101216}
.mock__ph:hover{transform:rotateY(-8deg) rotateX(3deg) rotateZ(.6deg)}
.mock__ph::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#15171D;border:1.5px solid #3A3E48;transform:translateZ(-16px)}
.mock__ph::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0B0C10;transform:translateZ(-32px)}
.mock__b{position:absolute;width:4px;border-radius:2px;background:linear-gradient(90deg,#4A4F5A,#23262E)}
.mock__b--a{left:-5px;top:104px;height:26px}
.mock__b--v1{left:-5px;top:156px;height:50px}
.mock__b--v2{left:-5px;top:216px;height:50px}
.mock__b--p{right:-5px;top:190px;height:84px}
.mock__scr{position:relative;height:100%;border-radius:46px;background:#000;overflow:hidden;display:flex;flex-direction:column;border:3px solid #000}
.mock__scr::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,#fff 0%,transparent 32%);opacity:.07}
.mock__island{position:absolute;top:10px;left:50%;width:92px;height:27px;margin-left:-46px;border-radius:14px;background:#000;z-index:5}
.mock__top{background:var(--royal)}
.mock__sb{display:flex;justify-content:space-between;align-items:center;padding:14px 26px 6px;font-weight:600;font-size:.78rem;color:#fff}
.mock__ic{display:flex;gap:5px;align-items:center}
.mock__ic i{display:block;background:#fff;border-radius:2px}
.mock__ic .s{width:14px;height:9px;clip-path:polygon(0 100%,0 70%,25% 70%,25% 45%,50% 45%,50% 20%,75% 20%,75% 0,100% 0,100% 100%)}
.mock__ic .w{width:12px;height:9px;border-radius:50% 50% 2px 2px}
.mock__ic .ba{width:22px;height:10px;border-radius:3px;position:relative;background:#fff}
.mock__top .phone__h{padding-top:10px;background:transparent}
.mock .chat{flex:1;padding:16px 14px 10px;gap:10px;background:#0B0C10;justify-content:flex-end}
.mock .msg{font-size:.88rem;line-height:1.35;padding:10px 14px;max-width:86%}
.mock__in{margin:6px 12px 4px;height:36px;border-radius:18px;background:#15171D;border:1px solid #23262E;color:#6B7280;font-size:.82rem;display:flex;align-items:center;padding:0 16px;flex:none}
.mock__home{display:block;width:104px;height:4px;border-radius:2px;background:#fff;margin:6px auto 10px;flex:none}
.mock__note{font-size:.82rem;color:var(--apoio);text-align:center;max-width:30ch}
.fol.in-view .msg:nth-child(5){animation-delay:3.4s}
@media (prefers-reduced-motion:reduce){.mock__ph{transition:none}}
@media (max-width:900px){.mock__ph{transform:rotateY(-9deg) rotateX(3deg) rotateZ(.8deg);height:560px}.mock__ph:hover{transform:rotateY(-9deg) rotateX(3deg) rotateZ(.8deg)}}

/* mockup: conversa cabe inteira, barra de mensagem visível */
.mock .chat{min-height:0;overflow:hidden;padding:12px 12px 8px;gap:8px}
.mock .msg{font-size:.82rem;line-height:1.3;padding:8px 12px;border-radius:16px}
.mock .msg small{display:none}
.mock__top .phone__h{padding:8px 16px 12px}
.mock__top .phone__h .av{width:34px;height:34px}

/* COMO FUNCIONA: cards menos espessos (altura fixa, bloco centralizado ao lado do celular) */
#como-funciona .flow.fol>div:first-child{align-self:center}
.st2{height:auto;grid-auto-rows:1fr;gap:16px}
.st2 li{min-height:104px}
.st2 .n{font-size:3.4rem}
@media (max-width:900px){.st2 li{min-height:0}.st2 .n{font-size:2.8rem}}

/* COMO FUNCIONA: cards alinhados ao topo e à base do celular (o espaço entre eles se distribui) */
#como-funciona .flow.fol{align-items:stretch}
#como-funciona .flow.fol>div:first-child{align-self:stretch}
.mock{padding:0;gap:0}
.st2{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:0}
.st2 li{flex:none;min-height:112px}
@media (max-width:900px){
  .st2{height:auto;justify-content:flex-start;gap:14px}
  .st2 li{min-height:0}
}
#como-funciona .flow.fol>div:first-child{margin-bottom:-13px}
@media (max-width:900px){#como-funciona .flow.fol>div:first-child{margin-bottom:0}}

/* fotos reais: sem borda tracejada de espaço reservado; retrato acompanha a altura dos dois cards ao lado */
.photo:has(img){border-color:transparent}
.collage .photo:nth-child(1){aspect-ratio:auto;align-self:stretch;min-height:320px}
.collage .photo:nth-child(1) img{object-position:24% 38%}
@media (max-width:900px){.collage .photo:nth-child(1){aspect-ratio:auto;min-height:0}}

/* quem somos: uma foto só (retrato 3:4) */
.collage{display:block}
.collage .photo:nth-child(1){aspect-ratio:3/4;align-self:auto;min-height:0;width:min(100%,440px);margin:0 auto}
.collage .photo:nth-child(1) img{object-position:24% 38%}
@media (max-width:900px){.collage .photo:nth-child(1){width:min(100%,380px)}}
