/* Verium CFO / HUB · site institucional · tokens da marca v1.0 */
:root{
  --navy:#051534; --navy-2:#0A2050; --blue:#0453D4; --blue-hover:#0343A8; --blue-light:#9FB6E8;
  --ink:#0F1B2D; --muted:#5F6673; --line:#E3E9F0; --line-strong:#C9D3E2; --wash:#EEF2FA; --paper:#FBFCFE;
  --ok:#2E8B57; --warn:#F2A93B; --risk:#E15759;
  --font:"Nunito Sans", Arial, Helvetica, sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --r-sm:4px; --r:6px;
  --shadow:0 1px 2px rgba(5,21,52,.06), 0 8px 24px rgba(5,21,52,.06);
  --tshadow:0 1px 2px rgba(2,8,24,.6);
  --wrap:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.55;overflow-x:hidden;overflow-x:clip;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
h1,h2,h3{margin:0;line-height:1.12;font-weight:700;letter-spacing:-.01em;color:var(--navy)}
h2{font-size:clamp(28px,3.4vw,40px);max-width:24ch}
h3{font-size:20px}
p{margin:0}
a{color:var(--blue);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:var(--r-sm)}
.skip{position:absolute;left:16px;top:-60px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:var(--r);z-index:100}
.skip:focus{top:12px}
.muted{color:var(--muted)}
.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.sec-navy .kicker,.hero .kicker{color:var(--blue-light)}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
.wrap.narrow{max-width:800px}
.sec{padding:clamp(72px,9vw,120px) 0;position:relative}
.sec-wash{background:var(--wash)}
.sec-navy{background:var(--navy);color:#DCE8F5}
.sec-navy h2,.sec-navy h3{color:#fff}
.sec-navy .muted{color:var(--blue-light)}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:var(--r);font-weight:600;font-size:16px;line-height:1.2;background:var(--navy);color:#fff;border:1.5px solid var(--navy);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);white-space:nowrap}
.btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-accent{background:var(--blue);border-color:var(--blue)}
.btn-accent:hover{background:#fff;border-color:#fff;color:var(--navy)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
@media (pointer:coarse){.btn{min-height:44px}}

/* ---------- Navegação ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s var(--ease),box-shadow .3s var(--ease)}
.nav-inner{width:min(var(--wrap),100% - 48px);margin-inline:auto;display:flex;align-items:center;gap:32px;height:72px}
.nav-logo{display:block;margin-right:auto}
.nav-logo img{height:38px;width:auto}
.nav .logo-dark{display:none}
.nav-links{display:flex;gap:22px}
.nav-links a{color:rgba(255,255,255,.86);font-weight:600;font-size:14.5px;white-space:nowrap}
.nav-links a:hover{color:#fff}
.btn-nav{padding:10px 18px;font-size:15px;background:var(--blue);border-color:var(--blue)}
.btn-nav:hover{background:#fff;border-color:#fff;color:var(--navy)}
.nav.solid{background:rgba(251,252,254,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav.solid .logo-light{display:none}
.nav.solid .logo-dark{display:block}
.nav.solid .nav-links a{color:var(--ink)}
.nav.solid .nav-links a:hover{color:var(--blue)}
.nav.solid .btn-nav:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;transition:transform .25s var(--ease),opacity .25s}
.nav.solid .nav-toggle span,.nav.open .nav-toggle span{background:var(--navy)}
.nav.open .nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
.nav.open .nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu-mobile{display:none;flex-direction:column;gap:4px;padding:8px 24px 20px;background:var(--paper);box-shadow:0 1px 0 var(--line)}
.menu-mobile a{padding:12px 0;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.menu-mobile a.btn{margin-top:12px;border-bottom:0;color:#fff}
.nav.open{background:var(--paper)}
.nav.open .logo-light{display:none}
.nav.open .logo-dark{display:block}
.nav.open .menu-mobile{display:flex}
@media (max-width:1000px){
  .nav-links,.btn-nav{display:none}
  .nav-toggle{display:flex}
  .nav-inner{height:64px}
}

/* ---------- HERO ---------- */
.hero{background:var(--navy);color:#fff;position:relative}
.hero-scroll{position:relative}
.stage{position:relative;height:100vh;height:100svh;overflow:hidden}
.art{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:center;padding-right:4vw;pointer-events:none}
.art svg{height:min(86vh,86vw);width:auto;transform:translateZ(0)}
.grid line{stroke:var(--blue-light);stroke-width:.8;opacity:var(--go,0);stroke-dasharray:1;stroke-dashoffset:var(--gd,1)}
.dots circle{fill:var(--blue-light);opacity:.7}
.vgroup{opacity:1}
#vstroke{stroke-dasharray:1;stroke-dashoffset:var(--vs,1);opacity:var(--vso,1)}
#vfill{opacity:var(--vf,0)}
#vblue{opacity:var(--vb,0)}
.bands{position:absolute;inset:0;width:min(var(--wrap),100% - 48px);margin-inline:auto}
.band{position:absolute;left:0;top:50%;transform:translateY(-50%);width:min(560px,52%);opacity:0;will-change:opacity;text-shadow:var(--tshadow)}
.band .btn{text-shadow:none}
.band h1,.band h2{color:#fff;font-size:clamp(34px,4.2vw,58px);line-height:1.06;max-width:16ch}
.band .lead{font-size:clamp(24px,2.6vw,36px);line-height:1.22;font-weight:600;color:#fff;max-width:22ch}
.band .sub{margin-top:18px;font-size:clamp(17px,1.4vw,21px);color:#DCE8F5;max-width:40ch}
.band .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.band .kicker{margin-bottom:18px}
/* palavras divididas */
.w{display:inline-block;white-space:pre}
.band-1 .w,.band-4 h2 .w{--kc:clamp(0,calc((var(--k,0) - var(--th,0)) * 3),1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc)) * 26px))}
.band-2 .w{--kc:clamp(0,calc((var(--k,0) - var(--th,0)) * 2.8),1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc)) * -22px))}
.focus-wrap{position:relative;display:block}
.focus-soft{position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k,0))}
.focus-sharp{opacity:var(--k,0)}
.band-4 .sub{--ks:clamp(0,calc((var(--k,0) - .62) * 4),1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks)) * 14px))}
.band-4 .cta-row{--kb:clamp(0,calc((var(--k,0) - .76) * 5),1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb)) * 12px))}
.cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-light);opacity:var(--cue,0);transition:opacity .6s}
.cue i{width:1px;height:34px;background:linear-gradient(var(--blue-light),transparent);display:block;animation:cue 2.4s var(--ease) infinite;animation-delay:-1.2s}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-height:560px){.cue{display:none}}
/* hero estático */
.hero-static{display:none;position:relative;min-height:100svh;padding:120px 24px 72px;overflow:hidden;align-items:flex-end}
.hero-static-v{position:absolute;right:-18vw;top:12vh;width:78vw;height:auto;opacity:.92}
.hero-static-text{position:relative;max-width:560px}
.hero-static h1{color:#fff;font-size:clamp(34px,8.5vw,52px);line-height:1.06}
.hero-static .sub{color:#DCE8F5;margin:18px 0 26px;font-size:18px}
/* os cinco portões: idênticos em CSS e 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),(prefers-reduced-motion:reduce){
  .hero-scroll{display:none}
  .hero-static{display:flex}
}

/* ---------- Entradas (IntersectionObserver) ---------- */
.reveal .part{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.reveal.in .part{opacity:1;transform:none}
.reveal.in .part:nth-child(2){transition-delay:.08s}
.reveal.in .part:nth-child(3){transition-delay:.16s}
.reveal.in .part:nth-child(4){transition-delay:.24s}
.reveal.in .part:nth-child(5){transition-delay:.32s}
.reveal.in.settled .part:nth-child(n){transition-delay:0s}

/* ---------- Problema ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px 30px;box-shadow:var(--shadow);position:relative;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),opacity .7s var(--ease-out)}
.card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(5,21,52,.06),0 16px 36px rgba(5,21,52,.1)}
.card .num{display:block;font-size:13px;font-weight:700;color:var(--blue);letter-spacing:.1em;margin-bottom:34px}
.card h3{margin-bottom:10px}
.card p{color:var(--muted)}

/* ---------- Serviços ---------- */
.rows{list-style:none;margin:44px 0 0;padding:0}
.row{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line);align-items:start}
.row:last-child{border-bottom:1px solid var(--line)}
.row h3{margin-bottom:8px}
.row p{color:var(--muted);max-width:62ch}
.ico{width:44px;height:44px;padding:9px;border-radius:var(--r);background:var(--wash);stroke:var(--navy);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:background .3s var(--ease),stroke .3s var(--ease)}
.row:hover .ico{background:var(--navy);stroke:#fff}

/* ---------- Como funciona ---------- */
.timeline{list-style:none;margin:56px 0 0;padding:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;counter-reset:step}
.tl-line{position:absolute;left:0;right:0;top:0;height:2px;width:100%}
.tl-line path{stroke:var(--blue-light);stroke-width:2;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-out)}
.reveal.in .tl-line path{stroke-dashoffset:0}
.step{position:relative;counter-increment:step}
.step .dot{position:absolute;display:block;top:-41px;left:0;width:14px;height:14px;border-radius:50%;background:var(--navy);border:2px solid var(--blue-light);transition:background .4s var(--ease),transform .4s var(--ease)}
.reveal.in .step .dot{background:var(--blue);border-color:var(--blue)}
.step h3::before{content:counter(step,decimal-leading-zero);display:block;font-size:13px;color:var(--blue-light);letter-spacing:.14em;margin-bottom:10px;font-weight:700}
.step p{color:#BFD0EE;margin-top:8px;font-size:16px}

/* ---------- Momento interativo ---------- */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split2-text p.muted{margin-top:16px;max-width:46ch}
.hold{margin-top:30px;display:inline-flex;align-items:center;gap:14px;border:1.5px solid var(--navy);background:#fff;color:var(--navy);padding:10px 20px 10px 10px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:background .2s var(--ease),color .2s var(--ease)}
.hold:hover{background:var(--wash)}
.hold.done{background:var(--navy);color:#fff}
.hold-ring{width:40px;height:40px;display:block;position:relative}
.hold-ring svg{width:40px;height:40px;transform:rotate(-90deg)}
.hold-ring circle{fill:none;stroke:var(--blue);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--h,0));stroke-linecap:round}
.hold.done .hold-ring circle{stroke:#fff}
.hold-ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--blue);opacity:calc(.25 + .75 * var(--h,0));transform:scale(calc(.7 + .3 * var(--h,0)));transition:none}
.hold.done .hold-ring::before{background:#fff}
.help{margin-top:12px;font-size:14px;color:var(--muted)}
.report{--h:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;position:relative}
.report-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.rh-left{display:flex;align-items:center;gap:10px}
.rh-tag{font-size:11px;color:var(--muted);background:var(--wash);padding:4px 8px;border-radius:999px;letter-spacing:.06em;white-space:nowrap}
.report-body{padding:18px 20px 20px;position:relative;display:grid;gap:18px}
.report-body::after{content:"";position:absolute;inset:0;backdrop-filter:blur(calc((1 - var(--h)) * 12px));-webkit-backdrop-filter:blur(calc((1 - var(--h)) * 12px));pointer-events:none;background:rgba(251,252,254,calc((1 - var(--h)) * .35))}
.rp-stage{--kv:clamp(0,calc((var(--h) - var(--st,.4)) * 5),1);opacity:calc(.3 + .7 * var(--kv));transform:translateY(calc((1 - var(--kv)) * 6px))}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.kpi{display:flex;flex-direction:column;gap:4px;background:var(--wash);border-radius:var(--r);padding:12px 12px 10px;min-width:0}
.kpi-label{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-value{font-size:20px;color:var(--navy);line-height:1.15;white-space:nowrap}
.kpi-value.accent{color:var(--blue)}
.kpi-delta{font-size:11.5px;color:var(--muted)}
.kpi-delta.ok{color:var(--ok)}
.kpi-delta.risk{color:var(--risk)}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rp-block h4{margin:0 0 8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);display:flex;justify-content:space-between;align-items:baseline}
.rp-block h4 span{font-weight:400;color:var(--muted);letter-spacing:.04em;text-transform:none;font-size:11px}
.dre{width:100%;border-collapse:collapse;font-size:12.5px}
.dre td{padding:5px 0;border-top:1px solid var(--line);color:var(--ink);white-space:nowrap}
.dre td:first-child{padding-right:8px}
.dre tr:first-child td{border-top:1.5px solid var(--navy)}
.dre td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}
.dre td:nth-child(3){text-align:right;width:48px;color:var(--muted);font-size:11.5px}
.dre td.ok{color:var(--ok)}
.dre .sub td{font-weight:600}
.dre .total td{font-weight:700;color:var(--navy);border-top:1.5px solid var(--navy)}
.spark{width:100%;height:auto}
.spark-bars rect{fill:var(--blue-light);rx:2}
.spark-bars rect.low{fill:var(--warn)}
.spark-bars rect.hi{fill:var(--blue)}
.spark-lbl{font:700 9px var(--font);fill:var(--muted)}
.spark-lbl.warn{fill:#B9731A}
.spark-lbl.accent{fill:var(--blue)}
.rp-note{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}
.alerts,.decisions{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:12.5px}
.alerts li{padding-left:16px;position:relative;line-height:1.4}
.alerts li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--muted)}
.alerts li.risk::before{background:var(--risk)}
.alerts li.warn::before{background:var(--warn)}
.alerts li.ok::before{background:var(--ok)}
.decisions{counter-reset:dec}
.decisions li{counter-increment:dec;display:grid;grid-template-columns:18px 1fr;gap:4px 6px;line-height:1.4}
.decisions li::before{content:counter(dec);font-weight:700;color:var(--blue)}
.decisions em{grid-column:2;font-style:normal;font-size:11px;color:var(--muted)}
@media (max-width:640px){.report-grid{grid-template-columns:1fr}.dre td{white-space:normal}}

/* ---------- Ferramentas ---------- */
.lead-p{margin-top:14px;max-width:56ch}
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.tool{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;box-shadow:var(--shadow);color:var(--ink);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),opacity .7s var(--ease-out)}
.tool:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(5,21,52,.06),0 16px 36px rgba(5,21,52,.1);color:var(--ink)}
.tool-tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.tool h3{font-size:22px}
.tool p{color:var(--muted)}
.tool-cta{margin-top:auto;padding-top:8px;font-weight:700;color:var(--navy)}
.tool:hover .tool-cta{color:var(--blue)}
@media (max-width:1024px){.tools{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.tools{grid-template-columns:1fr}}

/* ---------- Clientes ---------- */
.logos{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.logos li{background:#fff;border:1px solid var(--line);border-radius:var(--r);min-height:108px;display:flex;align-items:center;justify-content:center;padding:22px 28px;transition:transform .35s var(--ease-out),opacity .7s var(--ease-out),box-shadow .35s var(--ease-out)}
.logos li:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.logos img{height:40px;width:auto;max-width:100%;object-fit:contain;opacity:.88}

/* ---------- Cases ---------- */
.case .case-company{font-weight:700;color:var(--navy);margin-bottom:16px}
.case-bd{margin:0 0 18px;display:grid;gap:10px}
.case-bd dt{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.case-bd dd{margin:2px 0 0;color:var(--muted);font-size:15px}
.case-num{display:block;font-size:34px;color:var(--navy);margin-bottom:14px}
.case blockquote{margin:0;padding-top:14px;border-top:1px solid var(--line);font-size:15px;color:var(--ink)}
.case blockquote footer{margin-top:6px;font-size:13px;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq{margin-top:36px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;font-weight:700;font-size:18px;color:var(--navy);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq details p{padding:0 0 22px;color:var(--muted);max-width:62ch}

/* ---------- CTA + formulário ---------- */
.sec-cta{overflow:hidden}
.cta-v{position:absolute;left:-120px;bottom:-60px;width:min(44vw,520px);height:auto;opacity:.08;pointer-events:none}
.sec-cta .split2{align-items:start}
.sec-cta .split2-text p{margin-top:18px;max-width:40ch;color:#DCE8F5}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;background:#fff;border-radius:var(--r);padding:30px;box-shadow:var(--shadow);color:var(--ink);position:relative}
.field{display:flex;flex-direction:column;gap:6px}
.field-full{grid-column:1 / -1}
.field[hidden]{display:none}
.field label{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.02em}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,83,212,.15)}
.field.invalid input,.field.invalid select{border-color:var(--risk)}
.form-error{color:var(--risk);font-size:14px;grid-column:1 / -1}
.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.form-note{font-size:13px;color:var(--muted)}
.form-success{grid-column:1 / -1;background:var(--wash);border-radius:var(--r);padding:18px 20px}
.form-success strong{color:var(--navy);display:block;margin-bottom:4px}
.form-success p{color:var(--muted);font-size:15px}
.form.sent .field,.form.sent .form-actions,.form.sent .form-error{display:none}

/* ---------- Rodapé ---------- */
.footer{padding:56px 0 28px;border-top:1px solid var(--line);background:var(--paper)}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:40px;align-items:start}
.footer-inner img{height:36px;width:auto;margin-bottom:16px}
.footer-inner .muted{font-size:15px;max-width:44ch}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:10px}
.footer-links a,.footer-contact a{color:var(--ink);font-weight:600;font-size:15px}
.footer-links a:hover,.footer-contact a:hover{color:var(--blue)}
.copy{margin-top:40px;font-size:13px}

/* ---------- Ambiente ---------- */
.ambient{position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 40% 30% at 30% 20%,rgba(159,182,232,.14),transparent 70%);animation:drift 70s linear infinite;animation-delay:-20s;opacity:0}
body.light-bg .ambient{opacity:1}
@keyframes drift{0%{transform:translate(0,0)}50%{transform:translate(6%,8%)}100%{transform:translate(0,0)}}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused !important}

/* ---------- Responsivo ---------- */
@media (max-width:1024px){
  .cards3,.logos{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .tl-line{display:none}
  .step .dot{position:static;margin-bottom:12px}
  .split2{grid-template-columns:1fr;gap:40px}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .cards3,.logos,.timeline{grid-template-columns:1fr}
  .form{grid-template-columns:1fr;padding:22px}
  .footer-inner{grid-template-columns:1fr}
  .row{grid-template-columns:44px 1fr;gap:16px}
  .wrap{width:min(var(--wrap),100% - 32px)}
  .nav-inner{width:min(var(--wrap),100% - 32px)}
  .hold{width:100%;justify-content:flex-start}
}

/* ---------- Movimento reduzido: tudo no estado final ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;transition-delay:0s !important}
  .reveal .part{opacity:1;transform:none}
  .tl-line path{stroke-dashoffset:0}
  .reveal .step .dot{background:var(--blue);border-color:var(--blue)}
  .report{--h:1}
  .hold{display:none}
  .help{display:none}
  .ambient{display:none}
  html{scroll-behavior:auto}
}
/* ---------- Páginas de ferramentas ---------- */
.tp-nav{background:var(--navy)}
.tp-nav .nav-inner{height:72px}
.tp-nav .nav-back{color:rgba(255,255,255,.86);font-weight:600;font-size:15px;margin-left:auto}
.tp-nav .nav-back:hover{color:#fff}
.tp-head{background:var(--navy);color:#DCE8F5;padding:120px 0 56px}
.tp-head h1{color:#fff;font-size:clamp(30px,4vw,48px);max-width:20ch}
.tp-head .sub{margin-top:16px;font-size:18px;max-width:60ch}
.tp-body{padding:56px 0 80px}
.tp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start}
.tp-form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);display:grid;gap:18px}
.tp-form h2{font-size:20px;max-width:none}
.tp-form .field input,.tp-form .field select{font-variant-numeric:tabular-nums}
.tp-form .hint{font-size:12.5px;color:var(--muted);line-height:1.4}
.tp-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tp-form details{border:1px solid var(--line);border-radius:var(--r);padding:0 14px}
.tp-form details summary{cursor:pointer;padding:12px 0;font-weight:700;font-size:14px;color:var(--navy);list-style:none;display:flex;justify-content:space-between}
.tp-form details summary::-webkit-details-marker{display:none}
.tp-form details summary::after{content:"+";color:var(--blue);font-size:18px;line-height:1}
.tp-form details[open] summary::after{content:"−"}
.tp-form details .inner{display:grid;gap:14px;padding:4px 0 16px}
.tp-res{display:grid;gap:18px;position:sticky;top:90px}
.res-hero{background:var(--navy);color:#fff;border-radius:var(--r);padding:26px 28px;display:grid;gap:6px}
.res-hero .kicker{margin-bottom:4px}
.res-hero .big{font-size:clamp(30px,3.4vw,42px);font-weight:700;line-height:1.1;white-space:nowrap}
.res-hero .big.accent{color:var(--blue-light)}
.res-hero .line{color:#DCE8F5;font-size:15px}
.res-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.res-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 14px;display:grid;gap:4px;min-width:0}
.res-card .lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.res-card .val{font-size:20px;font-weight:700;color:var(--navy);white-space:nowrap}
.res-card .val.ok{color:var(--ok)}
.res-card .val.risk{color:var(--risk)}
.res-card .sm{font-size:12px;color:var(--muted)}
.res-table{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.res-table h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.res-table table{width:100%;border-collapse:collapse;font-size:14px}
.res-table td,.res-table th{padding:8px 0;border-top:1px solid var(--line);text-align:left}
.res-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:0;font-weight:700}
.res-table td:not(:first-child),.res-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.res-table tr.total td{font-weight:700;color:var(--navy);border-top:1.5px solid var(--navy)}
.res-table td.win{color:var(--ok);font-weight:700}
.bars{display:grid;gap:10px;margin-top:6px}
.bar{display:grid;grid-template-columns:150px 1fr 110px;align-items:center;gap:12px;font-size:14px}
.bar i{display:block;height:14px;border-radius:3px;background:var(--navy);width:calc(var(--w,0) * 100%);min-width:3px;transition:width .5s var(--ease-out)}
.bar.alt i{background:var(--blue)}
.bar b{text-align:right;font-variant-numeric:tabular-nums}
.res-read{background:var(--wash);border-radius:var(--r);padding:18px 20px;font-size:15px;display:grid;gap:8px}
.res-read strong{color:var(--navy)}
.res-read ul{margin:0;padding-left:18px;display:grid;gap:6px}
.res-cta{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.res-cta p{max-width:46ch;color:var(--muted);font-size:15px}
.res-cta strong{display:block;color:var(--navy);font-size:17px;margin-bottom:4px}
.tp-notes{margin-top:48px;max-width:860px}
.tp-notes h2{font-size:22px;margin-bottom:14px}
.tp-notes ol,.tp-notes ul{padding-left:20px;color:var(--muted);display:grid;gap:8px;font-size:15px}
.tp-notes .aviso{margin-top:18px;padding:14px 18px;border-radius:var(--r);background:#FFF6E5;color:#6B4A0D;font-size:14px}
.tp-share{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}
.tp-share .btn{padding:9px 14px;font-size:14px;background:#fff;color:var(--navy);border-color:var(--line-strong)}
.tp-share .btn:hover{border-color:var(--navy);background:var(--navy);color:#fff}
@media (max-width:900px){.tp-grid{grid-template-columns:1fr}.tp-res{position:static}.res-cards{grid-template-columns:1fr 1fr}.bar{grid-template-columns:110px 1fr 100px}}
@media (max-width:640px){.tp-form .row2{grid-template-columns:1fr}.res-cards{grid-template-columns:1fr}.tp-head{padding-top:100px}}
/* ---------- Notícias (estilo painel de notícias, na marca) ---------- */
body.dark{background:var(--navy)}
body.dark .footer{background:var(--paper)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.news-card{display:flex;flex-direction:column;gap:10px;background:var(--navy-2);border:1px solid rgba(159,182,232,.18);border-radius:var(--r);padding:0 0 22px;overflow:hidden;color:#DCE8F5;transition:transform .35s var(--ease-out),border-color .35s var(--ease-out),opacity .7s var(--ease-out)}
.news-card:hover{transform:translateY(-3px);border-color:var(--blue-light);color:#fff}
.news-card img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;display:block;margin-bottom:8px}
.news-card>:not(img){margin-left:22px;margin-right:22px}
.news-meta{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-light)}
.news-meta time{color:#BFD0EE;font-weight:600;letter-spacing:.04em;text-transform:none;margin-left:8px}
.news-card h3{font-size:19px;line-height:1.25;color:#fff}
.news-card p{color:#BFD0EE;font-size:15px}
.news-card .tool-cta{margin-top:auto;color:var(--blue-light)}
.news-more{margin-top:28px}
@media (max-width:1024px){.news-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.news-grid{grid-template-columns:1fr}}
/* página de notícias */
.gn{padding:110px 0 80px;color:#DCE8F5}
.gn-head h1{color:#fff;font-size:clamp(30px,3.6vw,44px);line-height:1.1}
.gn-sub{margin-top:12px;color:#BFD0EE;max-width:60ch}
.gn-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:28px 0 22px;border-bottom:1px solid rgba(159,182,232,.2);padding-bottom:10px}
.gn-tabs a{color:#BFD0EE;font-weight:600;font-size:14.5px;padding:8px 14px;border-radius:999px;transition:background .2s var(--ease),color .2s var(--ease)}
.gn-tabs a:hover{color:#fff;background:rgba(159,182,232,.12)}
.gn-tabs a.on{background:var(--blue);color:#fff}
.gn-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px;align-items:start}
.gn-box,.gn-side{background:var(--navy-2);border:1px solid rgba(159,182,232,.16);border-radius:12px;padding:22px 24px}
.gn-box h2,.gn-side h2{color:#9FB6E8;font-size:20px;font-weight:700;padding-bottom:14px;border-bottom:1px solid rgba(159,182,232,.2);margin-bottom:6px;max-width:none}
.gn-side h2 span{display:block;font-size:12px;font-weight:600;color:#BFD0EE;letter-spacing:.04em;margin-top:2px}
.gn-vazio{color:#BFD0EE;padding:18px 0}
.gn-item[hidden]{display:none}
.gn-main{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(159,182,232,.14);color:#DCE8F5}
.gn-main img{grid-row:1 / span 3;width:100%;height:auto;border-radius:8px;aspect-ratio:1200/630;object-fit:cover}
.gn-main h3{color:#fff;font-size:24px;line-height:1.2}
.gn-main p{color:#BFD0EE;font-size:15px}
.gn-main:hover h3,.gn-row:hover h3,.gn-fonte:hover h3{color:var(--blue-light)}
.gn-src{display:block;font-size:12.5px;font-weight:700;color:#9FB6E8;margin-bottom:6px}
.gn-src time{font-weight:400;color:#BFD0EE;margin-left:6px}
.gn-row{display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(159,182,232,.14);color:#DCE8F5}
.gn-row:last-child,.gn-fonte:last-child{border-bottom:0}
.gn-row h3{color:#fff;font-size:17px;line-height:1.3;font-weight:600}
.gn-row img{width:120px;height:auto;border-radius:6px;aspect-ratio:1200/630;object-fit:cover}
.gn-fonte{display:block;padding:14px 0;border-bottom:1px solid rgba(159,182,232,.14);color:#DCE8F5}
.gn-fonte h3{color:#fff;font-size:15px;line-height:1.35;font-weight:600}
@media (max-width:900px){.gn-grid{grid-template-columns:1fr}.gn-main{grid-template-columns:1fr}.gn-main img{grid-row:auto}}
@media (max-width:640px){.gn{padding-top:92px}.gn-row{grid-template-columns:1fr 92px}.gn-row img{width:92px}}
/* artigo */
.art-head{background:var(--navy);color:#DCE8F5;padding:120px 0 56px}
.art-head .wrap{max-width:860px}
.art-head h1{color:#fff;font-size:clamp(30px,4vw,46px);line-height:1.1;max-width:24ch}
.art-head .lead{margin-top:18px;font-size:19px;max-width:60ch;color:#DCE8F5}
.art-head .news-meta{color:var(--blue-light)}
.art-head .news-meta time{color:#BFD0EE}
.art-body{padding:56px 0 72px;background:var(--paper)}
.art-body .wrap{max-width:760px}
.art-body h2{font-size:26px;margin:40px 0 14px;max-width:none}
.art-body p{margin:0 0 18px;font-size:17.5px;line-height:1.65}
.art-body ul{padding-left:22px;margin:0 0 18px;display:grid;gap:8px}
.art-box{background:var(--wash);border-radius:var(--r);padding:22px 24px;margin:34px 0}
.art-box h2{margin:0 0 12px;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.art-box ol{margin:0;padding-left:22px;display:grid;gap:10px}
.art-fontes{border-top:1px solid var(--line);padding-top:22px;margin-top:40px}
.art-fontes h2{font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.art-fontes ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px;font-size:15px}
.art-fontes a{font-weight:600}
.art-aviso{font-size:13px;color:var(--muted);margin-top:28px;line-height:1.5}
.art-cta{margin-top:40px}
