:root {
  --navy: #0b1a29;
  --navy-soft: #142739;
  --white: #fff;
  --text: #0b1a29;
  --muted: #5f6b76;
  --soft: #e9eaeb;
  --border: #d8dde3;
  --max-width: 1170px;
  --radius: 4px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", Arial, sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; }
h2 { font-size: clamp(1.8rem, 3vw, 2.25rem); line-height: 1.2; }
h3 { font-size: 1rem; line-height: 1.35; }
p { margin-bottom: 1.25rem; }

.container { width: min(calc(100% - 40px), var(--max-width)); margin-inline: auto; }
.container--narrow { max-width: 760px; }
.section { padding: 64px 0; }
.section--navy { background: var(--navy); color: var(--white); }
.section--soft { background: var(--soft); }
.section--light { background: var(--white); }
.centered-copy { text-align: center; }
.eyebrow { font-size: .95rem; font-weight: 700; margin-bottom: 12px; }
.eyebrow--light { color: var(--white); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 767px) {
  .section { padding: 44px 0; }
  .container { width: min(calc(100% - 28px), var(--max-width)); }
}
