/* Self-hosted Cormorant Garamond (SIL Open Font License, see fonts/OFL-LICENSE.txt).
   No requests go to Google or any other third party. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2")}

:root{
  --bg:#f6f1e7; --ink:#2b2a26; --body:#45433d; --muted:#5f5a50;
  --olive:#5b6b4e; --terra:#9a4f2c; --line:#e3dccd;
  /* Contrast on --bg (WCAG 2.2): ink 12.8:1, body 8.8:1, muted 6.1:1, terra 5.3:1, olive 5.1:1 — all pass AA */
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.65;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
.serif{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif}

a{color:var(--olive);text-underline-offset:3px}
a:hover{color:var(--terra)}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:2px}

.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:4px;z-index:10}
.skip:focus{left:8px;color:var(--bg)}

/* Home + 404 */
.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px}
.monogram{width:84px;height:84px;margin:0 auto 28px;border-radius:50%;border:1px solid var(--olive);display:grid;place-items:center;color:var(--olive);font-size:1.875rem;letter-spacing:.06em}
h1{font-weight:400;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.05;letter-spacing:-.01em}
h1 em{font-style:italic;color:var(--terra)}
.sub{margin-top:14px;color:var(--muted)}

/* Legal pages */
.doc{flex:1;width:100%;max-width:44rem;margin:0 auto;padding:48px 24px 24px}
.doc .back{display:inline-block;margin-bottom:28px;font-size:.9375rem}
.doc h1{font-size:clamp(2.25rem,6vw,3rem);margin-bottom:6px}
.doc .updated{color:var(--muted);font-size:.9375rem;margin-bottom:32px}
.doc h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:1.75rem;margin:36px 0 10px;color:var(--ink)}
.doc p,.doc li{color:var(--body)}
.doc p+p{margin-top:12px}
.doc ul{padding-left:1.25rem;margin-top:8px}
.doc li+li{margin-top:6px}
.doc .caps{text-transform:none;font-weight:600;color:var(--ink)}
.glance{width:100%;border-collapse:collapse;margin-top:12px;font-size:.9375rem;background:#fbf8f2;border:1px solid var(--line)}
.glance caption{text-align:left;font-weight:600;padding:0 0 8px;color:var(--ink)}
.glance th,.glance td{text-align:left;padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.glance th{font-weight:600;width:44%;color:var(--ink)}
.glance td{color:var(--body)}

footer{text-align:center;padding:24px 20px 32px;font-size:.8125rem;color:var(--muted);letter-spacing:.02em}
footer nav ul{list-style:none;display:flex;gap:6px 18px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
footer a{color:var(--muted);display:inline-block;padding:6px 2px} /* comfortable tap targets */

@media (max-width:480px){ .doc{padding-top:32px} .glance th{width:auto} .glance th,.glance td{display:block;border-top:none;padding:6px 12px} .glance tr{display:block;border-top:1px solid var(--line);padding:6px 0} }
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
