/* Base: design tokens, reset, page shell, footer, motion */
:root{--pine:#243c30;--pine-2:#33523f;--paper:#f7f4ec;--card:#fffefb;--ink:#23261f;--muted:#645e51;--line:#e2ddcf;--field:#d3cebf;--sage:#eceade;--brass:#a8864a;--brass-ink:#7d6128;--err:#a3402a;--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
main{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:clamp(40px,7vw,96px) 32px}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
footer{padding:28px 24px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-family:var(--serif);font-style:italic;font-size:15px}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:860px){main{padding:32px 20px 48px}}
