:root { color-scheme: light; font-family: system-ui, sans-serif; color: #18272f; background: #f7faf9; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
header, main, footer { width: min(100% - 2.5rem, 48rem); margin-inline: auto; }
header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.15rem; border-bottom: 1px solid #cbd9d5; }
main { padding-block: clamp(2.5rem, 8vw, 5rem); }
footer { padding-block: 1rem 2rem; border-top: 1px solid #cbd9d5; color: #4f6068; }
h1, h2 { line-height: 1.2; text-wrap: balance; }
h1 { margin: .45rem 0 1rem; font-size: clamp(2.25rem, 7vw, 4.1rem); letter-spacing: -.055em; }
h2 { font-size: 1.35rem; margin: 0 0 .65rem; }
p { margin: .65rem 0; }
section { padding-top: 1.5rem; margin-top: 1.75rem; border-top: 1px solid #cbd9d5; }
.eyebrow { color: #17634e; font-size: .9rem; font-weight: 700; }
.lead { color: #3d545d; font-size: clamp(1.03rem, 2.6vw, 1.25rem); }
a { color: #135e4b; text-underline-offset: .2em; }
.brand { font-weight: 800; text-decoration: none; }
.button { display: inline-block; margin-top: .8rem; padding: .55rem .9rem; border-radius: .5rem; color: white; background: #135e4b; text-decoration: none; }
a:focus-visible { outline: 2px solid #135e4b; outline-offset: .25rem; }
