*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:#0f172a;
  background:#f8fafc;
  line-height:1.6;
}
a{color:#0b5cff;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

.container{
  width:min(1100px,92vw);
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:#071a3a;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
  flex-wrap:wrap;
}

.brand{
  color:#fff;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:.2px;
}

.site-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
}

.site-nav a{
  color:#dbeafe;
  padding:.2rem 0;
}

.site-nav a.active{
  color:#fff;
  font-weight:700;
}

.menu-toggle{
  display:none;
  background:#0b5cff;
  color:#fff;
  border:0;
  border-radius:.6rem;
  padding:.75rem 1rem;
  font:inherit;
  cursor:pointer;
}

.hero{
  background:linear-gradient(135deg,#071a3a 0%, #0b5cff 100%);
  color:#fff;
  padding:5rem 0;
}

.hero h1{
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:1.08;
  margin:.4rem 0 1rem;
  max-width:12ch;
}

.hero p{
  max-width:62ch;
  margin:0;
  color:#e5efff;
}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.8rem;
  color:#9bd0ff;
  margin:0;
}

.actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.6rem;
}

.btn{
  display:inline-block;
  border-radius:.75rem;
  padding:.9rem 1.25rem;
  font-weight:700;
}

.btn.primary{
  background:#fff;
  color:#071a3a;
}

.btn.secondary{
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
}

.section{
  padding:3.5rem 0;
}

.section h1{
  margin-top:0;
  font-size:clamp(1.8rem,3vw,2.7rem);
}

.section h2{
  margin-top:0;
  font-size:1.25rem;
}

.lead{
  font-size:1.05rem;
  max-width:70ch;
}

.grid-3,
.grid-2{
  display:grid;
  gap:1rem;
}

.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.two-col{
  display:grid;
  gap:1rem;
  grid-template-columns:1.3fr .9fr;
  align-items:start;
}

.card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:1rem;
  padding:1.25rem;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}

.card.accent{
  background:#eff6ff;
}

.list{
  margin:0;
  padding-left:1.2rem;
}

.list li{
  margin:.45rem 0;
}

.kicker{
  display:inline-block;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#0b5cff;
  font-weight:700;
  margin-bottom:.6rem;
}

.site-footer{
  background:#071a3a;
  color:#fff;
  padding:1.6rem 0;
  margin-top:2rem;
}

.site-footer a{
  color:#dbeafe;
}

.footer-grid{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.footer-grid p{
  margin:.25rem 0;
}

.contact-form label{
  display:block;
  margin-bottom:1rem;
  font-weight:700;
}

.contact-form input,
.contact-form textarea,
.contact-form select{
  width:100%;
  margin-top:.35rem;
  padding:.85rem;
  border:1px solid #cbd5e1;
  border-radius:.6rem;
  font:inherit;
  background:#fff;
}

.contact-form button{
  border:0;
  cursor:pointer;
}

.muted{
  color:#475569;
}

@media (max-width: 800px){
  .grid-3,
  .grid-2,
  .two-col{
    grid-template-columns:1fr;
  }

  .menu-toggle{
    display:block;
  }

  .site-nav{
    display:none;
    width:100%;
    padding-top:.5rem;
    flex-direction:column;
  }

  .site-nav.open{
    display:flex;
  }
}