/* Three existing identities; system fonts only, no third-party requests. */
:root {color-scheme:light; --paper:#fff; --ink:#111; --muted:#555; --rule:#bbb; --signal:#111;}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body.site {margin:0; background:var(--paper); color:var(--ink); font:1rem/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow-wrap:anywhere;}
body.largess {color-scheme:dark; --paper:#0b0e0c; --ink:#f2ecdd; --muted:#c5beae; --rule:#645337; --signal:#e6cb8d;}
body.dona {--paper:#f7f5f1; --ink:#0a0a0a; --muted:#555; --rule:#bcb8b0; --signal:#bd231b;}
a {color:var(--signal); text-underline-offset:.24em;}
a:hover {text-decoration-thickness:.15em;}
:focus-visible {outline:3px solid var(--signal); outline-offset:5px;}
.site-skip {position:absolute; top:-8rem; left:1rem; padding:.8rem; background:var(--paper); z-index:10;}
.site-skip:focus {top:.5rem;}
.site-header,.site-languages,.site-main,.site-status,.site-footer {max-width:74rem; margin:auto; padding-inline:clamp(1rem,4vw,3rem);}
.site-header {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.3rem; padding-block:1.5rem; border-bottom:1px solid var(--rule);}
.site-brand {font:bold 1.3rem/1.2 Georgia,serif; letter-spacing:.03em; text-decoration:none; white-space:nowrap;}
.dona .site-brand {font-family:inherit; font-weight:900;}
.site-header nav,.site-languages {display:flex; flex-wrap:wrap; gap:.3rem 1rem;}
.site-header nav a,.site-languages a {padding:.5rem 0; min-height:44px; display:inline-flex; align-items:center;}
.site-header nav a {font-size:.95rem; color:var(--ink);}
[aria-current="page"] {font-weight:800; text-decoration-thickness:.15em;}
.site-languages {padding-block:.45rem; font-size:.9rem;}
.site-status {color:var(--muted); font-size:.9rem; padding-block:.4rem;}
.site-status p {border-left:2px solid var(--rule); padding-left:1rem;}
.site-main {padding-block:2rem 4rem;}
h1 {font:500 clamp(2.4rem,6vw,5.2rem)/1.08 Georgia,"Times New Roman",serif; letter-spacing:-.03em; margin:0 0 1.5rem; max-width:20ch;}
.dona h1 {font-family:inherit; font-weight:900; letter-spacing:-.055em;}
h2 {font:600 clamp(1.5rem,3vw,2.2rem)/1.2 Georgia,serif; margin:0 0 1.2rem;}
.dona h2 {font-family:inherit; font-weight:800;}
p {max-width:76ch; margin:.8rem 0 1.4rem;}
.site-hero {display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(2rem,6vw,5rem); padding-block:1rem 4rem; align-items:center;}
.site-hero>* {min-width:0;}
.site-eyebrow {font-size:.8rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted);}
.site-lead {font-size:1.2rem; color:var(--muted);}
.site-button {display:inline-block; max-width:100%; padding:.8rem 1rem; min-height:48px; background:var(--signal); color:var(--paper); text-decoration:none; font-weight:700; border:1px solid var(--signal);}
.site-object {margin:0; border:1px solid var(--rule); padding:clamp(1rem,3vw,2rem); box-shadow:1rem 1rem 0 color-mix(in srgb,var(--rule) 20%,transparent);}
.largess .site-object {border:1px double var(--signal); outline:1px solid var(--rule); outline-offset:-.5rem;}
.site-object dl {margin:1.5rem 0;}
dt {font-size:.8rem; font-weight:700; color:var(--muted); letter-spacing:.03em;}
dd {margin:.25rem 0 1.1rem; font-size:1.12rem;}
.largess .site-object dd {font:1.25rem/1.5 Georgia,serif;}
figcaption {font-size:.78rem; color:var(--muted); border-top:1px solid var(--rule); padding-top:.9rem;}
.site-geometry {height:5rem; width:5rem; margin:.5rem auto 2rem; border:1px solid var(--signal); transform:rotate(45deg);}
.largess .site-geometry {border-radius:50%; border:3px double var(--signal); outline:1px solid var(--rule); outline-offset:6px;}
.dona .site-geometry {border:0; border-radius:50%; background:var(--signal); box-shadow:2rem 1rem 0 var(--paper),2rem 1rem 0 1px var(--rule);}
.topshelf .site-geometry {transform:none; width:8rem; max-width:calc(100% - 1rem); height:5rem; border:2px solid var(--ink); box-shadow:1rem -1rem 0 -2px var(--paper),1rem -1rem 0 0 var(--ink);}
.site-section {padding-block:2rem; border-top:1px solid var(--rule);}
.site-steps {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; padding-left:1.5rem; margin-block:2rem;}
.site-steps li {padding-left:.5rem;}
.site-steps li::marker {font:1.8rem/1 Georgia,serif; color:var(--signal);}
.site-note,.site-limits {color:var(--muted); font-size:.95rem;}
.site-limits {padding-block:1rem 2rem;}
summary {min-height:44px; padding:.6rem 0; cursor:pointer; font-weight:700;}
.site-public {margin-top:1rem;}
.site-legal {max-width:65ch;}
.site-legal>div {padding-block:.9rem; border-bottom:1px solid var(--rule);}
.site-footer {border-top:1px solid var(--rule); padding-block:1.8rem; color:var(--muted); font-size:.85rem;}
.site-footer p {margin:.4rem 0;}
@media(max-width:52rem) {.site-hero {grid-template-columns:1fr;} .site-object {max-width:32rem;} .site-steps {grid-template-columns:1fr;gap:1.4rem;} .site-header {align-items:flex-start;} .site-header nav {width:100%;}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}
@media(forced-colors:active) {.site-button {border:2px solid ButtonText;} .site-object {box-shadow:none;}}
@media print {.site-header nav,.site-languages,.site-skip {display:none;} .site-main {padding:0;} body.largess {--paper:#fff;--ink:#000;--muted:#333;--signal:#000;} a {color:inherit;} .site-object {box-shadow:none;}}
