* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: #17212b;
  background: #f7f9fb;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.hero {
  min-height: 72vh;
  background: linear-gradient(135deg, #0e2a3b, #164b60);
  color: white;
  padding: 24px 7vw 70px;
}
.nav {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo { font-weight: 800; letter-spacing: 1.5px; }
.nav-contact {
  border: 1px solid rgba(255,255,255,.55);
  padding: 9px 18px;
  border-radius: 999px;
}
.hero-content { max-width: 900px; margin: 110px auto 0; }
.eyebrow {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  margin: 0 0 12px;
  opacity: .8;
}
h1 {
  font-size: clamp(42px, 7vw, 76px);
  line-height: 1.03;
  margin: 0 0 22px;
}
.hero-text { max-width: 700px; font-size: 19px; opacity: .9; }
.buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.button {
  display: inline-block;
  padding: 13px 22px;
  border-radius: 8px;
  font-weight: 700;
}
.primary { background: white; color: #12384b; }
.secondary { border: 1px solid rgba(255,255,255,.55); }
.section { max-width: 1200px; margin: auto; padding: 85px 7vw; }
.section-heading { max-width: 700px; margin-bottom: 38px; }
h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.1; margin: 0 0 14px; }
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}
.card {
  background: white;
  border: 1px solid #e3e9ed;
  border-radius: 14px;
  padding: 27px;
  box-shadow: 0 8px 25px rgba(18,56,75,.06);
}
.icon { font-size: 30px; margin-bottom: 15px; }
.card h3 { margin: 0 0 8px; font-size: 20px; }
.card p { margin: 0; color: #5c6871; }
.contact {
  background: #eaf1f4;
  padding: 65px 7vw;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 40px;
  align-items: center;
}
.contact-box {
  background: white;
  border-radius: 14px;
  padding: 25px;
  display: grid;
  gap: 12px;
  box-shadow: 0 8px 25px rgba(18,56,75,.07);
}
.contact-box a:hover, .nav-contact:hover { text-decoration: underline; }
footer {
  background: #0e2a3b;
  color: white;
  text-align: center;
  padding: 22px;
  font-size: 13px;
}
@media (max-width: 700px) {
  .hero { padding-bottom: 55px; }
  .hero-content { margin-top: 75px; }
  .contact { grid-template-columns: 1fr; }
}
