:root{
  --tinta:#0B1220; --nevoa:#F4F6FB; --linha:#E4E9F2;
  --azul:#2563EB; --azul2:#06B6D4; --roxo:#7C3AED; --rosa:#EC4899;
  --verde:#10B981; --ambar:#F59E0B; --vermelho:#EF4444;
}
body{ background:var(--nevoa); color:var(--tinta); }
.hero{
  position:relative; overflow:hidden; color:#fff; border-radius:0 0 32px 32px;
  background:linear-gradient(125deg,#0B1220 0%,#1E3A8A 45%,#7C3AED 100%);
  padding:64px 0 72px;
}
.hero::before,.hero::after{ content:""; position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; }
.hero::before{ width:420px; height:420px; background:var(--azul2); top:-160px; right:-90px; }
.hero::after{ width:340px; height:340px; background:var(--rosa); bottom:-170px; left:-70px; }
.hero > *{ position:relative; z-index:2; }
.hero-tag{
  display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700;
  letter-spacing:1.4px; text-transform:uppercase; padding:7px 16px; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); margin-bottom:18px;
}
.pulso{ width:8px; height:8px; border-radius:50%; background:#4ADE80; box-shadow:0 0 0 0 rgba(74,222,128,.7); animation:p 2s infinite; }
@keyframes p{ 70%{ box-shadow:0 0 0 12px rgba(74,222,128,0);} 100%{ box-shadow:0 0 0 0 rgba(74,222,128,0);} }
.hero h1{ font-size:clamp(2rem,5vw,3.4rem); font-weight:900; line-height:1.08; letter-spacing:-1.5px; margin-bottom:16px; }
.hero h1 .destaque{ background:linear-gradient(90deg,#22D3EE,#A78BFA,#F472B6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p.sub{ font-size:1.1rem; color:rgba(255,255,255,.85); max-width:560px; line-height:1.65; }
.hero-stats{ display:flex; gap:26px; flex-wrap:wrap; margin-top:26px; }
.hero-stat b{ display:block; font-size:1.7rem; font-weight:900; line-height:1; }
.hero-stat span{ font-size:.82rem; color:rgba(255,255,255,.72); }
.acao{ display:block; text-decoration:none; border-radius:22px; padding:30px 26px; color:#fff; position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; height:100%; }
.acao:hover{ transform:translateY(-6px); color:#fff; }
.acao .ico{ font-size:2rem; line-height:1; margin-bottom:12px; display:block; }
.acao h3{ font-weight:800; font-size:1.35rem; margin-bottom:6px; letter-spacing:-.4px; }
.acao p{ font-size:.94rem; color:rgba(255,255,255,.85); margin-bottom:16px; line-height:1.5; }
.acao .cta{ display:inline-block; font-weight:800; font-size:.9rem; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.32); padding:10px 20px; border-radius:999px; }
.acao-a{ background:linear-gradient(135deg,#2563EB,#06B6D4); box-shadow:0 14px 34px rgba(37,99,235,.32); }
.acao-b{ background:linear-gradient(135deg,#7C3AED,#EC4899); box-shadow:0 14px 34px rgba(124,58,237,.32); }
.mini{ display:block; text-decoration:none; background:#fff; border:1px solid var(--linha); border-radius:18px; padding:20px 16px; text-align:center; height:100%; transition:transform .2s ease, box-shadow .2s ease; }
.mini:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(11,18,32,.10); }
.mini .ico{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; font-size:1.3rem; margin-bottom:10px; }
.mini strong{ display:block; color:var(--tinta); font-size:.98rem; font-weight:800; line-height:1.25; }
.mini span{ font-size:.8rem; color:#64748B; }
.i-verde{ background:rgba(16,185,129,.14); } .i-azul{ background:rgba(37,99,235,.14); }
.i-verm{ background:rgba(239,68,68,.14); } .i-ambar{ background:rgba(245,158,11,.16); }
.titulo-secao{ font-weight:900; letter-spacing:-.8px; font-size:1.75rem; margin-bottom:4px; }
.sub-secao{ color:#64748B; margin-bottom:24px; }
.cat{ display:block; text-decoration:none; background:#fff; border:1px solid var(--linha); border-radius:20px; padding:24px 22px; height:100%; position:relative; overflow:hidden; transition:transform .22s ease, box-shadow .22s ease; }
.cat:hover{ transform:translateY(-6px); box-shadow:0 16px 34px rgba(11,18,32,.12); }
.cat::after{ content:""; position:absolute; inset:0 0 auto 0; height:5px; background:var(--cor); }
.cat .emo{ font-size:2rem; display:block; margin-bottom:10px; }
.cat h4{ font-weight:800; font-size:1.15rem; color:var(--tinta); margin-bottom:4px; }
.cat .qtd{ font-size:.85rem; color:#64748B; }
.cat .seta{ position:absolute; right:20px; bottom:20px; font-weight:900; color:var(--cor); opacity:0; transition:.22s; }
.cat:hover .seta{ opacity:1; right:16px; }
.painel{ background:#fff; border:1px solid var(--linha); border-radius:22px; padding:26px; }
.num-linha{ display:flex; align-items:baseline; gap:10px; margin-bottom:10px; }
.num-linha b{ font-size:1.9rem; font-weight:900; letter-spacing:-1px; }
.num-linha span{ font-size:.92rem; color:#64748B; }
.n-verm b{ color:var(--vermelho); } .n-ambar b{ color:var(--ambar); }
.faixa-dica{ background:linear-gradient(135deg,#0B1220,#1B2A44); color:#fff; border-radius:22px; padding:28px; }
.faixa-dica h4{ font-weight:800; margin-bottom:14px; }
.dica{ display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:rgba(255,255,255,.86); margin-bottom:10px; }
.dica i{ color:#4ADE80; font-style:normal; font-weight:900; }
.modo60 .hero h1{ font-size:2.4rem; }
.modo60 .acao h3{ font-size:1.55rem; }
.modo60 .mini strong{ font-size:1.1rem; }