:root { --ink:#151313; --paper:#f5efe3; --cream:#fffaf0; --muted:#756e63; --line:#ded4c3; --rust:#9d482f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:ui-rounded, "SF Pro Rounded", "Avenir Next", Avenir, system-ui, sans-serif; font-size:16px; line-height:1.7; }
.site-header, .site-footer { display:flex; justify-content:space-between; align-items:center; max-width:1260px; margin:auto; padding:26px 40px; }
.site-header { border-bottom:1px solid var(--line); }
.brand { color:var(--ink); display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:900; letter-spacing:.14em; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; color:var(--cream); background:var(--rust); border-radius:9px; font-family:Georgia, serif; font-size:19px; letter-spacing:0; }
.header-label, .eyebrow { color:var(--rust); font-size:11px; font-weight:900; letter-spacing:.16em; }
.page-shell { display:grid; grid-template-columns:190px minmax(0, 760px); gap:clamp(42px, 9vw, 140px); max-width:1080px; margin:0 auto; padding:74px 30px 110px; }
.side-nav { position:sticky; top:28px; align-self:start; padding-top:12px; }
.side-nav p { margin:0 0 12px; }
.side-nav nav { display:grid; border-left:1px solid var(--line); }
.side-nav a { padding:5px 0 5px 14px; color:var(--muted); font-size:13px; text-decoration:none; }
.side-nav a:hover, a:focus-visible { color:var(--rust); text-decoration:underline; text-underline-offset:3px; }
.terms { min-width:0; }
.terms > .eyebrow { margin:0 0 12px; }
h1, h2 { line-height:1.13; letter-spacing:-.045em; }
h1 { max-width:680px; margin:0; font-family:Georgia, "Iowan Old Style", serif; font-size:clamp(42px, 7vw, 72px); font-weight:600; }
h1 em { color:var(--rust); font-weight:400; }
.lede { max-width:560px; margin:24px 0 35px; color:#514b42; font-size:20px; }
.document-meta { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin:0 0 70px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.document-meta div { min-width:0; }
dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
dd { margin:2px 0 0; font-size:13px; font-weight:700; line-height:1.35; }
section { scroll-margin-top:25px; margin-top:47px; }
h2 { margin:0 0 13px; color:#2b2520; font-size:26px; font-weight:800; }
p { margin:0 0 16px; }
ul { margin:0 0 16px; padding-left:24px; }
li { margin:6px 0; }
.terms a { color:var(--rust); font-weight:700; text-underline-offset:3px; }
.site-footer { color:var(--muted); border-top:1px solid var(--line); font-size:13px; }
.site-footer a { color:var(--rust); font-weight:700; text-decoration:none; }
.not-found { max-width:680px; margin:0 auto; padding:min(20vh, 180px) 30px; }
.not-found .eyebrow { margin:0 0 10px; }
.not-found > p:not(.eyebrow) { margin:23px 0; color:var(--muted); font-size:19px; }
.home-link { display:inline-block; padding:10px 15px; color:var(--cream); background:var(--rust); border-radius:9px; font-weight:800; text-decoration:none; }
@media (max-width:760px) { .site-header, .site-footer { padding:21px 22px; } .page-shell { display:block; padding:48px 22px 78px; } .side-nav { position:static; margin:0 0 42px; } .side-nav nav { display:flex; flex-wrap:wrap; gap:7px 14px; border:0; } .side-nav a { padding:0; font-size:12px; text-decoration:underline; text-underline-offset:3px; } .document-meta { grid-template-columns:1fr; gap:10px; margin-bottom:54px; } .header-label { display:none; } h2 { font-size:23px; } }
@media print { body { background:white; font-size:11pt; } .site-header, .site-footer { padding-left:0; padding-right:0; } .page-shell { display:block; max-width:none; padding:30px 0; } .side-nav { display:none; } section { break-inside:avoid; } }
