* { box-sizing:border-box }
body { margin:0; background:#faf9f6; color:#171d20; font:1rem/1.65 system-ui,sans-serif }
header, footer { border-block:1px solid #e7e7e4 }
.shell { max-width:720px; padding:16px 20px; margin:auto }
main.shell { padding-block:36px 48px }
header .shell { display:flex; align-items:center; justify-content:space-between; gap:12px }
.brand { color:#171d20; font-weight:800; font-size:1.3rem; text-decoration:none }
h1,h2 { line-height:1.16; letter-spacing:-.035em }
h1 { font-size:clamp(2rem,7vw,3.25rem); margin:0 0 16px }
h2 { margin:32px 0 10px }
p { margin:0 0 14px }
a { color:#94371d; text-underline-offset:3px }
a:focus-visible { outline:2px solid #94371d; outline-offset:4px }
.contact { display:inline-block; background:#15834b; color:#fff; text-decoration:none; font-weight:750; border-radius:11px; padding:12px 16px; margin:6px 0 }
nav { display:flex; flex-wrap:wrap; gap:8px 20px }
ol { padding-left:22px }
li { margin-bottom:8px }
