
:root{
  --navy:#17324d;
  --blue:#2e5f8a;
  --light:#f5f8fb;
  --text:#24313d;
  --muted:#667788;
  --border:#dbe4ec;
  --white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  line-height:1.6;
  background:var(--white);
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:auto}
header{
  background:var(--white);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:10;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:74px;
  gap:24px;
}
.brand{
  font-size:1.35rem;
  font-weight:800;
  color:var(--navy);
  letter-spacing:.4px;
}
.brand small{
  display:block;
  font-size:.72rem;
  font-weight:600;
  color:var(--muted);
  letter-spacing:1px;
  text-transform:uppercase;
}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{font-weight:700;color:var(--navy)}
.hero{
  background:linear-gradient(135deg,#eef4f9,#ffffff);
  padding:88px 0 78px;
  border-bottom:1px solid var(--border);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:46px;
  align-items:center;
}
.kicker{
  text-transform:uppercase;
  letter-spacing:1.6px;
  font-weight:800;
  color:var(--blue);
  font-size:.8rem;
}
h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;margin:.4rem 0 1rem;color:var(--navy)}
h2{font-size:2rem;line-height:1.2;color:var(--navy);margin-top:0}
h3{color:var(--navy);margin-bottom:.35rem}
.lead{font-size:1.15rem;color:#4f6071;max-width:700px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{
  display:inline-block;
  padding:13px 19px;
  border-radius:8px;
  font-weight:800;
  border:1px solid var(--navy);
}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{color:#fff;text-decoration:none;opacity:.94}
.btn-secondary{color:var(--navy);background:#fff}
.btn-secondary:hover{text-decoration:none;background:var(--light)}
.hero-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:26px;
  box-shadow:0 12px 35px rgba(23,50,77,.08);
}
.section{padding:70px 0}
.section.alt{background:var(--light)}
.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.card{
  border:1px solid var(--border);
  border-radius:12px;
  padding:24px;
  background:#fff;
}
.card p{color:var(--muted)}
.checks{padding-left:20px}
.checks li{margin:8px 0}
.banner{
  background:var(--navy);
  color:#fff;
  padding:42px 0;
}
.banner h2{color:#fff;margin-bottom:8px}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.contact-box{
  border:1px solid var(--border);
  border-radius:12px;
  padding:26px;
  background:#fff;
}
.info-row{margin:12px 0}
.label{font-weight:800;color:var(--navy)}
footer{
  background:#11283d;
  color:#dce7f0;
  padding:36px 0;
  margin-top:0;
}
footer a{color:#fff}
.footer-grid{
  display:flex;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
}
.note{font-size:.9rem;color:#768697}
.page-head{
  background:var(--light);
  border-bottom:1px solid var(--border);
  padding:58px 0;
}
.page-head h1{font-size:2.7rem}
.service-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.service{
  padding:22px;
  border-left:4px solid var(--blue);
  background:#fff;
  border-radius:6px;
}
@media (max-width:800px){
  .hero-grid,.contact-grid,.grid-3,.service-list{grid-template-columns:1fr}
  .nav{align-items:flex-start;padding:16px 0;flex-direction:column}
  nav{gap:14px}
  header{position:static}
  .hero{padding:58px 0}
}
