* { box-sizing: border-box; }
body { margin: 0; color: #192b36; background: #f5f8f8; font: 1rem/1.65 system-ui, sans-serif; }
header, main, footer { max-width: 48rem; margin: auto; padding: 1.25rem clamp(1rem, 5vw, 3rem); }
header, footer { border-block-end: 1px solid #cbd7db; }
footer { border-block-end: 0; border-block-start: 1px solid #cbd7db; }
h1 { font-size: clamp(2rem, 7vw, 3.25rem); line-height: 1.12; letter-spacing: -.04em; }
h2 { font-size: 1.25rem; margin-top: 2rem; }
a { color: #075c65; text-underline-offset: .2em; }
header a { font-weight: 700; }
nav { display: flex; flex-wrap: wrap; gap: 1rem; }
