:root{
  --noite:#04122E;--noite-2:#071C46;--azul:#0151D7;--azul-vivo:#1E6FFF;--azul-claro:#E9F1FE;
  --tinta:#0B1524;--suave:#55647A;--linha:#E4E9F0;--alt:#F6F8FB;--raio:18px;--topo-h:60px;
  --sombra:0 20px 52px rgba(11,21,36,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,system-ui,sans-serif;color:var(--tinta);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--azul);text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:16px 32px;font-weight:600;font-size:16px;border:2px solid transparent;font-family:inherit;cursor:pointer;transition:.2s}
.btn-luz{background:#fff;color:var(--noite)}
.btn-luz:hover{background:#DCE8FF;transform:translateY(-2px)}
.btn-vazio{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn-vazio:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-azul{background:var(--azul);color:#fff}
.btn-azul:hover{background:#013FA8;transform:translateY(-2px)}
/* barra congelada no topo */
.barra{position:sticky;top:0;z-index:60;background:rgba(4,18,46,.82);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid transparent;transition:background .25s,border-color .25s,box-shadow .25s}
.barra.rolou{background:rgba(4,18,46,.96);border-bottom-color:rgba(255,255,255,.13);box-shadow:0 8px 30px rgba(3,10,26,.38)}
section[id],.bloco,[id]{scroll-margin-top:calc(var(--topo-h) + 18px)}
/* topo escuro */
.topo{background:var(--noite);color:#fff;position:relative;overflow:hidden}
.topo::before{content:"";position:absolute;width:980px;height:980px;border-radius:50%;background:radial-gradient(circle,rgba(30,111,255,.40) 0%,rgba(30,111,255,0) 68%);top:-430px;right:-260px}
.topo .wrap{position:relative;z-index:2}
.topo-curto::before{width:760px;height:760px;top:-460px;right:-180px;background:radial-gradient(circle,rgba(30,111,255,.30) 0%,rgba(30,111,255,0) 70%)}
.nav{display:flex;align-items:center;gap:28px;height:var(--topo-h)}
.nav .logo{display:flex;align-items:center;gap:13px;color:#fff}
.nav .logo img{height:19px;filter:brightness(0) invert(1);opacity:.92}
.nav .sep{width:1px;height:18px;background:rgba(255,255,255,.22);display:block}
.nav .prod{font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.nav .prod span{font-weight:300;opacity:.7}
.nav nav{margin-left:auto;display:flex;gap:26px;font-size:14.5px;font-weight:500}
.nav nav a{color:rgba(255,255,255,.76)}
.nav nav a:hover{color:#fff}
.nav nav a.atual{color:#fff;position:relative}
.nav nav a.atual::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:#7FB0FF}
.cabeca{padding:34px 0 62px;max-width:760px}
.cabeca h1{font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:-.026em;line-height:1.14;margin:0 0 16px}
.cabeca p{font-size:17.5px;color:rgba(255,255,255,.72);margin:0}
/* rodape */
footer{background:var(--noite);color:rgba(255,255,255,.55);padding:56px 0 32px;font-size:14.5px}
footer .g{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:46px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.12)}
footer h4{color:#fff;font-size:15px;margin:0 0 14px;font-weight:600}
footer a{color:rgba(255,255,255,.55);display:block;padding:4px 0}
footer a:hover{color:#fff}
footer .m{font-size:21px;font-weight:600;color:#fff;margin-bottom:12px}
footer .m span{font-weight:300;opacity:.7}
footer .fim{padding-top:24px;font-size:13px;color:rgba(255,255,255,.35)}
@media(max-width:980px){
  .nav nav{display:none}
  footer .g{grid-template-columns:1fr}
}