:root {
  --navy: #13213a;
  --navy-2: #1c2f4f;
  --ink: #111926;
  --muted: #5a6676;
  --mist: #edf2f5;
  --line: #d6dfe6;
  --white: #ffffff;
  --water: #1d97ab;
  --water-2: #6cc6d3;
  --water-deep: #0b5866;
  --display: 'Fraunces', 'Fraunces Fallback', Georgia, serif;
  --body: 'Onest', 'Onest Fallback', Arial, sans-serif;
  --wrap: 1320px;
  --gut: clamp(20px, 4vw, 56px);
  --head-h: 84px;
}
html { scroll-behavior: auto; }
body { font-family: var(--body); font-size: 17px; line-height: 1.6; color: var(--ink); background: var(--white); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut); }
.wrap-narrow { max-width: 920px; }
main { display: block; }
section { position: relative; }
.sec { padding: clamp(80px, 11vw, 160px) 0; }
.sec-tight { padding: clamp(56px, 7vw, 100px) 0; }
.bg-mist { background: var(--mist); }
.bg-navy { background: var(--navy); color: #e9eef4; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.02em; line-height: 1.04; font-variation-settings: 'opsz' 144, 'SOFT' 50; text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 6.2vw, 6rem); }
h2 { font-size: clamp(2.1rem, 4.4vw, 4.2rem); }
h3 { font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.12; }
p { max-width: 62ch; }
.lead { font-size: clamp(1.1rem, 1.4vw, 1.32rem); color: var(--muted); line-height: 1.55; }
.bg-navy .lead { color: #b9c6d4; }
.skip { position: absolute; left: -9999px; top: 8px; background: var(--white); padding: 8px 14px; z-index: 200; }
.skip:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--water); outline-offset: 3px; }
@media (max-width: 999px) {
  :root { --head-h: 68px; }
  body { font-size: 16px; }
}
html, body { overflow-x: clip; }
main > section, .site-foot { overflow-x: clip; }
@media (min-width: 1700px) { :root { --wrap: 1560px; } body { font-size: 18px; } }
