
:root {
  --navy:#0B3B60;
  --navy-dark:#07304e;
  --blue-50:#E9F2FB;
  --blue-100:#D4E4F7;
  --blue-600:#0A4A7A;
  --text:#111827;
  --muted:#4B5563;
  --bg:#FFFFFF;
  --card:#FFFFFF;
  --border:rgba(11,59,96,0.12);
}

* { box-sizing:border-box; }
html,body { margin:0; padding:0; }
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

a { color:var(--navy); text-decoration:none; }
a:hover { text-decoration:underline; }

.container {
  max-width:1120px;
  margin:0 auto;
  padding:0 1rem;
}

header.nav {
  position:sticky;
  top:0;
  z-index:50;
  background:var(--navy);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.nav-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:64px;
}

.brand {
  display:flex;
  align-items:center;
  gap:.75rem;
}

.brand-mark {
  width:36px;
  height:36px;
  border-radius:12px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  display:grid;
  place-items:center;
}

.brand-mark-inner {
  width:16px;
  height:24px;
  border-radius:4px;
  background:#fff;
  position:relative;
}

.brand-mark-inner::after {
  content:'';
  position:absolute;
  left:50%;
  top:4px;
  bottom:4px;
  width:2px;
  transform:translateX(-50%);
  background:var(--navy);
}

.brand-text-title {
  font-weight:600;
  letter-spacing:-0.02em;
  font-size:1.05rem;
}

.brand-text-sub {
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  opacity:.8;
}

.nav-links {
  display:flex;
  gap:1.5rem;
  font-size:.9rem;
}

.nav-links a {
  color:#E5F0FF;
  text-decoration:none;
}

.nav-links a:hover {
  color:#fff;
}

.nav-cta {
  padding:.45rem 1rem;
  border-radius:.85rem;
  background:#fff;
  color:var(--navy);
  font-size:.85rem;
  font-weight:600;
  border:none;
  cursor:pointer;
}

.nav-cta:hover {
  background:#F3F4F6;
}

.hero {
  background:linear-gradient(135deg, var(--navy), #1464A5);
  color:#fff;
  padding:3.5rem 0 3.75rem;
}

.hero-grid {
  display:grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap:2.5rem;
  align-items:center;
}

.hero-badge {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .7rem;
  border-radius:999px;
  background:rgba(15,118,178,.15);
  font-size:.7rem;
  border:1px solid rgba(191,219,254,.4);
}

.hero-title {
  font-size:2.4rem;
  font-weight:800;
  letter-spacing:-0.03em;
  margin:1rem 0 .6rem;
}

.hero-sub {
  font-size:1rem;
  opacity:.92;
  max-width:34rem;
}

.hero-actions {
  margin-top:1.4rem;
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.btn-primary {
  padding:.7rem 1.4rem;
  border-radius:.9rem;
  border:none;
  cursor:pointer;
  background:#fff;
  color:var(--navy);
  font-weight:600;
  font-size:.9rem;
}

.btn-primary:hover {
  background:#E5E7EB;
}

.btn-ghost {
  padding:.7rem 1.4rem;
  border-radius:.9rem;
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  font-weight:600;
  font-size:.9rem;
  cursor:pointer;
}

.btn-ghost:hover {
  background:rgba(15,23,42,.25);
}

.hero-contact {
  margin-top:1rem;
  font-size:.85rem;
  opacity:.9;
}

.hero-cards {
  display:grid;
  gap:.8rem;
}

.hero-card {
  background:rgba(15,23,42,.25);
  border-radius:1rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(148,163,184,.5);
  font-size:.8rem;
}

.hero-card strong {
  display:block;
  font-size:.9rem;
}

.section {
  padding:3rem 0;
}

.section-header {
  max-width:40rem;
  margin-bottom:1.5rem;
}

.section-kicker {
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--muted);
}

.section-title {
  font-size:1.6rem;
  font-weight:700;
  margin:.3rem 0;
  color:var(--navy);
}

.section-sub {
  font-size:.95rem;
  color:var(--muted);
}

.cards-grid {
  display:grid;
  gap:1rem;
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.card {
  background:var(--card);
  border-radius:1rem;
  border:1px solid var(--border);
  padding:1.1rem 1.2rem;
  box-shadow:0 8px 24px rgba(15,23,42,.03);
  font-size:.9rem;
}

.card h3 {
  margin:0 0 .35rem;
  font-size:1rem;
  color:var(--navy);
}

.card p {
  margin:0;
  color:var(--muted);
}

.two-col {
  display:grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);
  gap:2.5rem;
  align-items:center;
}

.badge-pill {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .7rem;
  border-radius:999px;
  background:var(--blue-50);
  font-size:.7rem;
  color:var(--navy);
  border:1px solid rgba(148,163,184,.4);
}

.list {
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  font-size:.9rem;
}

.list li {
  margin-bottom:.4rem;
  color:var(--muted);
}

.list li::before {
  content:'• ';
  color:var(--blue-600);
}

.testimonials {
  display:grid;
  gap:1rem;
}

.testimonial {
  border-radius:1rem;
  border:1px solid var(--border);
  background:#F9FAFB;
  padding:1rem 1.2rem;
  font-size:.85rem;
  color:var(--muted);
}

.testimonial strong {
  display:block;
  margin-top:.5rem;
  color:var(--navy);
}

.form-card {
  max-width:32rem;
  border-radius:1.1rem;
  border:1px solid var(--border);
  padding:1.4rem 1.5rem;
  background:#F9FAFB;
}

.form-grid {
  display:grid;
  gap:.75rem;
}

.form-grid-2 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

label {
  font-size:.78rem;
  font-weight:500;
  color:var(--muted);
  display:block;
  margin-bottom:.2rem;
}

input, textarea, select {
  width:100%;
  padding:.55rem .6rem;
  border-radius:.6rem;
  border:1px solid #D1D5DB;
  font-size:.85rem;
  font-family:inherit;
}

input:focus, textarea:focus, select:focus {
  outline:2px solid var(--navy);
  outline-offset:1px;
  border-color:var(--navy);
}

textarea { min-height:90px; resize:vertical; }

.btn-submit {
  margin-top:.4rem;
  padding:.7rem 1.4rem;
  border-radius:.9rem;
  border:none;
  background:var(--navy);
  color:#fff;
  font-weight:600;
  font-size:.9rem;
  cursor:pointer;
}

.btn-submit:hover {
  background:var(--navy-dark);
}

.footer {
  border-top:1px solid #E5E7EB;
  background:#F9FAFB;
  margin-top:2.5rem;
  padding:1.8rem 0;
  font-size:.8rem;
  color:var(--muted);
}

.footer-row {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}

.footer a { color:var(--navy); }

.main {
  padding:2.5rem 0 3.5rem;
}

.page-title {
  font-size:1.7rem;
  font-weight:700;
  color:var(--navy);
  margin:0 0 .4rem;
}

.page-sub {
  font-size:.95rem;
  color:var(--muted);
  margin:0 0 1.5rem;
}

.contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:2rem;
}

.contact-card {
  border-radius:1rem;
  border:1px solid var(--border);
  padding:1.2rem 1.4rem;
  background:#F9FAFB;
  font-size:.9rem;
}

.contact-card p { margin:.2rem 0; }

.contact-card strong { color:var(--navy); }

@media (max-width:900px) {
  .hero-grid,
  .two-col,
  .cards-grid,
  .contact-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .hero {
    padding:2.5rem 0 2.8rem;
  }
}

@media (max-width:720px) {
  .nav-links {
    display:none;
  }
  .hero-title {
    font-size:2rem;
  }
}
