* { box-sizing: border-box; }
body { margin: 0; background: #f6f2e9; color: #172c45; font: 17px/1.65 system-ui,sans-serif; }
header, footer { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 1rem max(1.2rem,calc((100% - 44rem)/2)); background: #172c45; }
header a, footer a { color: #f1deb2; }
main { max-width: 46rem; margin: auto; padding: clamp(1.25rem,5vw,3rem) 1.25rem; }
h1,h2 { font-family: Georgia,serif; font-weight: normal; line-height: 1.18; }
h1 { font-size: clamp(2rem,6vw,3.2rem); margin: 0 0 .75rem; }
h2 { margin-top: 1.65rem; }
a { color: #234c68; text-underline-offset: .18em; }
a:focus-visible { outline: 3px solid #a98436; outline-offset: 3px; }
.lead { font-size: 1.12rem; }
li { margin-bottom: .7rem; }
li p { margin: .25rem 0; }
