* { box-sizing: border-box; }
body { margin: 0; font: 1.0625rem/1.65 "Inter", system-ui, sans-serif; color: #182928; background: #f4f7f3; }
header, main, footer { max-width: 48rem; margin: auto; padding: 1.5rem clamp(1.25rem, 5vw, 3rem); }
header { font-size: 1.25rem; font-weight: 700; border-bottom: 1px solid #c7d5cd; }
h1 { font-size: clamp(2.2rem, 7vw, 4rem); line-height: 1.08; letter-spacing: -.045em; }
h2 { font-size: 1.25rem; margin-top: 1.8rem; }
p { max-width: 65ch; }
.intro { font-size: 1.25rem; }
a { color: #075c50; text-underline-offset: .15em; }
footer { border-top: 1px solid #c7d5cd; }
nav { display: flex; flex-wrap: wrap; gap: 1rem; }
