* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; overflow-x: clip; }
body {
  margin: 0;
  font: 400 1rem/1.65 var(--sans);
  color: var(--ink);
  background: var(--paper);
  overflow-x: clip;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.wrap { width: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }
.narrow { max-width: 820px; }
section { padding: clamp(3.75rem, 7vw, 6.5rem) 0; }
h1, h2, h3, h4, h5 { margin: 0; font-family: var(--serif); line-height: 1.16; color: var(--navy); }
h1 { font-size: clamp(2.6rem, 6vw, 5rem); font-weight: 600; letter-spacing: -.035em; }
h2 { font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -.025em; }
h3 { font-size: 1.28rem; }
h4 { font-size: 1.1rem; }
h5 { font: 700 .9rem/1.4 var(--sans); }
p { margin: 0; }
.lead { max-width: 65ch; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.eyebrow { color: var(--teal); font-weight: 700; font-size: .78rem; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.section-heading { max-width: 720px; margin-bottom: 2rem; }
.section-heading .eyebrow { margin-bottom: .65rem; }
.section-heading h2 { margin-bottom: .75rem; }
.section-heading .lead { margin-bottom: 0; }
.soft-section { background: #edf4f3; }
.grid { display: grid; gap: 1.25rem; }
.grid.c2 { grid-template-columns: 1fr; }
.grid.c3 { grid-template-columns: 1fr; }
.split { display: grid; gap: 2rem; align-items: center; }
.sr-only, .honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.honeypot:focus-within { position: static; width: auto; height: auto; clip: auto; clip-path: none; }
@media (min-width: 760px) {
  .grid.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .split { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
