:root{
  --bg: #0b1624;         /* fundo hero */
  --ink: #0e2540;        /* azul institucional */
  --ink-2: #182e4b;      /* variação */
  --text: #eaf0f6;       /* texto claro */
  --muted: #98a3b3;
  --card: #0f1f34;
  --border: #1f3557;
  --accent: #51b6c7;     /* detalhe sóbrio */
  --radius: 16px;
  --shadow: 0 10px 30px rgba(0,0,0,.25);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  color:#0c1b2e;
  background:#fafcfe;
}

/* header */
.site-header{
  position:sticky; top:0; z-index:50;
  background:#fff; border-bottom:1px solid #eef2f7;
  backdrop-filter:saturate(180%) blur(6px);
}
.container{width:min(1120px, 92%); margin-inline:auto}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink)}
.brand-logo{height:40px; width:auto; display:block}
.brand-name{font-weight:800; letter-spacing:.06em}
.brand-sub{font-size:.72rem; letter-spacing:.28em; margin-left:4px; color:var(--ink-2)}

.site-nav ul{display:flex; gap:24px; list-style:none; margin:0; padding:0}
.site-nav a{color:var(--ink); text-decoration:none; font-weight:600}
.site-nav a:hover{color:var(--accent)}

.nav-toggle{display:none; background:none; border:0; cursor:pointer}
.nav-toggle-bar{display:block; width:24px; height:2px; background:var(--ink); margin:5px 0}

/* hero */
.hero{
  position:relative; color:var(--text); background:linear-gradient(180deg, var(--bg), #11243b 60%, #122847);
  padding:72px 0 96px;
  overflow:hidden;
}
.hero-inner{max-width:960px}
.hero h1{font-size:clamp(2rem, 3vw + 1rem, 3.2rem); line-height:1.15; margin:0 0 12px}
.hero .lead{font-size:1.125rem; color:#d7e1ee; max-width:760px}
.badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px}
.badge{border:1px solid rgba(255,255,255,.18); padding:8px 12px; border-radius:999px; font-weight:600; backdrop-filter:blur(6px)}
.hero-gradient{position:absolute; inset:auto -10% -25% -10%; height:45vh; background:radial-gradient(60% 60% at 50% 0%, rgba(81,182,199,.25), transparent 60%);}

/* sections */
.section{padding:64px 0}
.section.alt{background:#f6f9fc}
h2{font-size:1.8rem; margin:0 0 14px; color:var(--ink)}
.muted{color:#5b6b82}

.grid-2{display:grid; grid-template-columns:1.1fr .9fr; gap:28px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}

.card{
  background:#fff; border:1px solid #e7edf6; border-radius:var(--radius); padding:20px; box-shadow: 0 4px 14px rgba(16,36,64,.06);
}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.card h3{margin:0 0 6px; color:var(--ink)}
.card p{margin:0 0 12px}
.tag{display:inline-block; padding:6px 10px; border-radius:999px; background:#eef7fa; color:#0b5660; font-weight:600; font-size:.85rem}

.pill-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
.pill{background:#fff; border:1px dashed #d7e6ef; padding:14px 16px; border-radius:12px}

/* checklist */
.checklist{margin:0; padding:0; list-style:none; display:grid; gap:10px}
.checklist li{padding-left:26px; position:relative}
.checklist li::before{
  content:""; position:absolute; left:0; top:.5em; width:10px; height:10px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 3px rgba(81,182,199,.22);
}

/* footer */
.site-footer{background:#0e2540; color:#c6d4e9; padding:28px 0}
.footer-inner{display:flex; align-items:center; justify-content:space-between; gap:20px}
.brand-mini{display:flex; align-items:center; gap:10px}
.brand-mini img{height:26px}

/* animations (reveal) */
.fx-reveal{opacity:0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease}
.fx-reveal.is-in{opacity:1; transform:none}

/* responsive */
@media (max-width: 920px){
  .grid-2{grid-template-columns:1fr}
  .grid-3, .cards{grid-template-columns:1fr 1fr}
  .pill-grid{grid-template-columns:1fr}
  .copy{font-size:.7rem};
}
@media (max-width: 720px){
  .cards{grid-template-columns:1fr}
  .site-nav{position:absolute; right:0; top:64px; background:#fff; border:1px solid #eef2f7; border-radius:12px; padding:10px 14px; display:none; box-shadow:var(--shadow)}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column; gap:10px}
  .nav-toggle{display:block}
}
