:root {
  --green: #009b63;
  --green-dark: #007a50;
  --green-soft: #e9f8f1;
  --mint: #eefaf5;
  --mint-strong: #ddf5ea;
  --navy: #071a37;
  --navy-2: #0d2f43;
  --text: #50627f;
  --muted: #7b8aa2;
  --line: #dfe8ee;
  --white: #ffffff;
  --danger: #d9233d;
  --radius: 10px;
  --shadow: 0 18px 55px rgba(15, 70, 52, .08);
  --container: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--navy);
  background: #fff;
  font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 5vw, 5.15rem); line-height: .98; }
h2 { font-size: clamp(2rem, 3.3vw, 3.25rem); line-height: 1.07; margin-bottom: 0; }
h3 { line-height: 1.2; }
p { color: var(--text); }
svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: var(--container); margin-inline: auto; }
.section { padding: 82px 0; }
.eyebrow { margin: 0 0 15px; color: var(--green); font-size: .78rem; font-weight: 750; letter-spacing: .11em; }
.lead { font-size: 1.16rem; line-height: 1.7; }
.skip-link { position: fixed; left: 18px; top: -80px; z-index: 9999; padding: 11px 16px; color: #fff; background: var(--navy); border-radius: 8px; }
.skip-link:focus { top: 14px; }
.desktop-only { display: inline-flex; }

@media (max-width: 820px) {
  :root { --container: min(100% - 32px, 620px); }
  .section { padding: 58px 0; }
  h1 { font-size: clamp(2.55rem, 11vw, 4rem); }
  h2 { font-size: clamp(1.85rem, 8vw, 2.65rem); }
  .lead { font-size: 1rem; }
  .desktop-only { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
