:root{--color-canvas:#FAF8F5;--color-paper:#FFFFFF;--color-ink:#272421;--color-muted:#70665D;--color-line:#E4DFD8;--color-hover:#F0ECE6;--color-focus:#66513F;--color-link:#46382C;--color-danger:#9A302A;--color-success:#38644B;--font-display:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;--font-ui:Inter,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-ui);font-size:1rem;line-height:1.5}
a{color:var(--color-link);text-underline-offset:.2em}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:24px;top:16px;background:var(--color-paper);padding:8px 12px}
header{max-width:1080px;margin:0 auto;padding:0 24px;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.wordmark{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--color-ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:24px}
nav a{min-height:44px;display:inline-flex;align-items:center}
main{max-width:1080px;margin:0 auto;padding:0 24px}
.hero{min-height:calc(100svh - 72px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:32px}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,6vw,5.5rem);line-height:1.06;letter-spacing:-.035em;max-width:900px;margin:0;text-wrap:balance}
.lede{color:var(--color-muted);font-size:1.125rem;max-width:56ch;margin:0}
section{max-width:680px;margin:0 auto;padding:64px 0;border-top:1px solid var(--color-line)}
h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.22;margin:0 0 16px}
p,li{font-size:1.125rem;line-height:1.65;max-width:66ch}
.muted{color:var(--color-muted)}
.todo{background:var(--color-hover);border:1px dashed var(--color-muted);padding:0 4px;border-radius:4px;font-size:.95em}
form{display:grid;gap:16px;margin-top:24px;max-width:480px}
label{font-weight:500}
.help{color:var(--color-muted);font-size:.875rem;margin:4px 0 0}
input{font:inherit;width:100%;padding:12px;border:1px solid var(--color-muted);border-radius:4px;background:var(--color-paper);color:var(--color-ink);min-height:44px}
.err{color:var(--color-danger);font-size:.875rem;margin:4px 0 0}
button{font:inherit;font-weight:500;min-height:44px;padding:12px 24px;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-canvas);border-radius:4px;cursor:pointer;justify-self:start}
button:hover{background:#3a3631}
footer{max-width:680px;margin:0 auto;padding:48px 24px;color:var(--color-muted);font-size:.875rem;border-top:1px solid var(--color-line)}
@media(max-width:599px){nav ul{gap:12px}header{padding:0 16px}}
@media(prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
