@font-face{font-family:Newsreader;src:url('Newsreader.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{color-scheme:light;--paper:#faf8ef;--ink:#193d32;--muted:#586344;--line:#d9d6c7;--yellow:#f3dc8b}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:19px/1.65 Newsreader,Georgia,serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #7c702e;outline-offset:5px}.skip{position:absolute;left:16px;top:-100px;padding:10px;background:white}.skip:focus{top:10px;z-index:2}
.shell{width:min(100% - 48px,960px);margin:auto}header{padding:42px 0 24px;border-bottom:4px double #a7a78f;display:flex;align-items:end;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:42px;font-weight:700;line-height:.85;letter-spacing:-2px;text-decoration:none;display:inline-block}.brand span{display:block;color:#6a7132;margin-top:7px}nav{display:flex;gap:24px;font:14px/1.5 system-ui,sans-serif}nav a{padding:10px 0;text-decoration:none}nav a[aria-current=page]{border-bottom:2px solid var(--ink)}main{max-width:700px;padding:46px 0 32px}.eyebrow{font:12px/1.5 system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 14px}h1{font-weight:450;font-size:clamp(42px,7vw,64px);line-height:1.05;letter-spacing:-1.6px;margin:0 0 22px}h2{font-size:28px;line-height:1.2;font-weight:500;margin:34px 0 12px}p{margin:0 0 18px;overflow-wrap:anywhere}.intro{font-size:23px;line-height:1.4;color:var(--muted);margin-bottom:30px}.contact{padding:24px 28px;background:var(--yellow);border-radius:16px;margin:24px 0 36px}.contact h2{margin:0 0 10px}.contact a{font-size:25px}.contact p:last-child{margin-bottom:0}.small{font:14px/1.6 system-ui,sans-serif;color:var(--muted)}section{scroll-margin-top:24px}footer{border-top:1px solid var(--line);padding:24px 0 40px;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;font:13px/1.6 system-ui,sans-serif;color:var(--muted)}footer p{margin:0}footer a{padding:8px 0}strong{font-weight:650}
@media(max-width:440px){.shell{width:calc(100% - 40px)}header{padding-top:28px}.brand{font-size:36px}nav{gap:16px;font-size:13px}main{padding-top:34px}.contact{padding:22px}h2{font-size:26px}body{font-size:18px}}
