:root{
  --brand-900:#082A52;
  --brand-700:#0A3C78;
  --brand-600:#0E4C98;
  --brand-100:#EAF3FF;
  --ink-900:#0f172a;
  --ink-700:#334155;
  --ink-600:#475569;
  --card-radius:18px;
  --shadow-soft:0 10px 30px rgba(2,6,23,.10);
  --shadow-hover:0 16px 45px rgba(2,6,23,.16);
}

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink-900);
}

.navbar{
  border-bottom:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}

.navbar-brand{font-weight:900; letter-spacing:-.02em;}
.nav-link{color:var(--ink-700); font-weight:700;}
.nav-link:hover{color:var(--ink-900);}

.btn-brand{
  background:var(--brand-600);
  border-color:var(--brand-600);
  color:#fff;
  font-weight:900;
  border-radius:12px;
  padding:.72rem 1rem;
}
.btn-brand:hover{background:var(--brand-700); border-color:var(--brand-700); color:#fff;}

.btn-ghost{
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  color:var(--ink-900);
  font-weight:900;
  border-radius:12px;
  padding:.72rem 1rem;
}
.btn-ghost:hover{background:rgba(15,23,42,.03); color:var(--ink-900);}

.hero{
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-35% -20% auto -20%;
  height:520px;
  background:
    radial-gradient(closest-side, rgba(14,76,152,.20), transparent 70%),
    radial-gradient(closest-side, rgba(10,60,120,.16), transparent 68%);
  filter: blur(10px);
  pointer-events:none;
}
.hero-inner{position:relative; padding:4.25rem 0 2.25rem;}
.eyebrow{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  font-weight:900;
  font-size:.9rem;
  color:var(--brand-700);
  background:rgba(234,243,255,.9);
  border:1px solid rgba(14,76,152,.12);
  padding:.35rem .6rem;
  border-radius:999px;
}

h1{
  font-size:clamp(2.1rem, 4vw, 3.25rem);
  line-height:1.06;
  letter-spacing:-.03em;
  font-weight:950;
  margin-top:1rem;
}

.lead{color:var(--ink-600); max-width:46rem; margin-top:1rem; font-size:1.1rem;}
.hero-cta{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem;}
.trust-row{display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.15rem; color:var(--ink-600); font-size:.95rem;}
.trust-pill{display:flex; align-items:center; gap:.5rem; padding:.45rem .65rem; border:1px solid rgba(15,23,42,.10); border-radius:999px; background:#fff;}

.section{padding:3.75rem 0;}
.section-title{font-weight:950; letter-spacing:-.02em; margin-bottom:.5rem;}
.section-sub{color:var(--ink-600); margin-bottom:1.75rem;}

.soft-card{border:1px solid rgba(15,23,42,.10); border-radius:var(--card-radius); box-shadow:var(--shadow-soft); background:#fff;}
.soft-card:hover{transform:translateY(-2px); box-shadow:var(--shadow-hover); transition:.18s ease;}

.badge-soft{
  background:rgba(14,76,152,.10);
  color:var(--brand-900);
  border:1px solid rgba(14,76,152,.16);
  font-weight:900;
}
.price{font-weight:950; letter-spacing:-.03em; font-size:2.15rem;}
.price small{font-weight:900; font-size:1rem; color:var(--ink-600);}
.mini-note{color:var(--ink-600); font-size:.92rem;}

.footer-link{color:var(--ink-600); text-decoration:none;}
.footer-link:hover{text-decoration:underline; color:var(--ink-900);}

@media (prefers-reduced-motion: reduce){
  .soft-card:hover{transform:none; transition:none;}
}