:root { color-scheme:light; --cream:#F7F3EA; --ink:#151515; --gold:#C6A15B; --sage:#6F756B; --beige:#D9CFC0; --font-title:Georgia,'Times New Roman',serif; --font-ui:system-ui,-apple-system,'Segoe UI',sans-serif; --font-signature:'Segoe Script','Bradley Hand','Brush Script MT',cursive; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-ui); line-height:1.6; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; color:inherit; cursor:pointer; background:transparent; border:0; min-height:44px; min-width:44px; }
button:disabled { cursor:default; color:#767067; }
a { color:inherit; }
:focus-visible { outline:3px solid #60502C; outline-offset:5px; }
h1,h2,p { margin-top:0; }
h1,h2 { font-family:var(--font-title); font-weight:400; line-height:1.12; }
button, p, h1, h2, dd, .signature { overflow-wrap:anywhere; }
.skip-link { position:absolute; top:0; left:1rem; transform:translateY(-150%); z-index:20; background:var(--cream); padding:.7rem; }
.skip-link:focus { transform:translateY(0); }
.eyebrow { font-size:.7rem; letter-spacing:.18em; font-weight:650; }
.icon-button { font-size:1.5rem; border-radius:50%; }
.icon-button:hover { background:#e9e1d4; }
.text-button { padding:.5rem 0; text-align:left; text-decoration:underline; text-underline-offset:5px; }
.status { text-align:center; font-size:.85rem; color:#5a6057; min-height:1.6em; }
