html { scroll-padding-top: 86px; scroll-behavior: smooth; }
body {
  min-width: 320px;
  background: var(--white);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: rgba(25, 117, 92, 0.18); color: var(--navy); }

h1, h2, h3 {
  margin: 0;
  font-family: var(--font-heading);
  color: var(--navy);
  line-height: 1.08;
  letter-spacing: -0.035em;
}
h1 { font-size: clamp(3.3rem, 6vw, 5.9rem); font-weight: 800; }
h2 { font-size: clamp(2.3rem, 4.4vw, 4.35rem); font-weight: 800; }
h3 { font-size: clamp(1.05rem, 1.6vw, 1.35rem); font-weight: 700; }
p { margin: 0; color: var(--text-muted); }

.container { width: min(100% - 48px, var(--container)); margin-inline: auto; }
.section { padding-block: var(--section-space); }
.section-title { margin-top: 0.55rem; }
.section-title-light { color: var(--white); }
.section-index {
  display: inline-flex;
  margin-top: 1.15rem;
  color: rgba(10, 37, 74, 0.34);
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.section-index.light { color: rgba(255,255,255,0.42); }

.eyebrow {
  color: var(--teal);
  font-family: var(--font-heading);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.eyebrow-light { color: #BCE4D4; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 300;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: var(--white);
  color: var(--navy);
  transform: translateY(-180%);
  transition: transform var(--transition);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid rgba(88, 150, 52, 0.55); outline-offset: 3px; }
