* { box-sizing: border-box; }
body { margin: 0; color: #182332; background: #fafaf8; font: 1.05rem/1.65 system-ui, sans-serif; }
main { width: min(100%, 49rem); margin: auto; padding: 2rem clamp(1rem, 4vw, 3rem) 4rem; }
nav, footer, .variant { font-size: .94rem; }
article { margin: 2.5rem 0; overflow-wrap: anywhere; }
h1, h2 { line-height: 1.2; letter-spacing: -.025em; }
h1 { font-size: clamp(1.8rem, 5vw, 2.7rem); }
h2 { margin: 2em 0 .65em; font-size: 1.4rem; }
p { margin: .85em 0; }
a { color: #16518b; text-underline-offset: .18em; }
footer { border-top: 1px solid #ccd3d9; padding-top: 1rem; }
@media print { nav, footer { display: none; } main { width: auto; padding: 0; } h2 { break-after: avoid; } }
