:root{--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-18:4.5rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--page-gutter:clamp(var(--space-6), 5vw, var(--space-20));--review-height:5.25rem;--nav-height:6.5rem;--palette-charcoal:#202320;--palette-ink:#20231b;--palette-paper:#f2f0e7;--palette-cream:#eee9dc;--palette-white:#fffefa;--palette-rust:#df6447;--palette-red:#cd4d33;--palette-brick:#a63828;--palette-evergreen:#274b36;--palette-sage:#b9c4ae;--palette-deep-forest:#172c25;--palette-brass:#c2ab76;--palette-safety:#e4e72d;--palette-mineral:#e0e9ed;--palette-blue:#224f6c;--palette-slate:#758a96;--palette-muted:#626b5e;--palette-line:#d6d9cf;--palette-canvas:#e9e8e1;--color-bg:var(--palette-paper);--color-ink:var(--palette-ink);--color-accent:var(--palette-red);--color-muted:var(--palette-muted);--color-border:var(--palette-line);--color-focus:var(--palette-rust);--shadow-review:0 -4px 24px #0000000b;--shadow-dialog:0 24px 100px #00000050;--color-backdrop:#0b170fb3;--font-body:"DM Sans", Arial, sans-serif;--font-condensed:"Anton", Impact, sans-serif;--font-serif:"Libre Baskerville", Georgia, serif;--font-bold:"Archivo Black", Arial, sans-serif;--font-sign:"Bungee", Impact, sans-serif;--text-xs:.625rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--radius-sm:.25rem;--radius-pill:99rem;--duration-quick:.16s}@media (width<=760px){:root{--review-height:calc(5rem + env(safe-area-inset-bottom,0px));--nav-height:5.5rem}}*{box-sizing:border-box}html{font-family:var(--font-body);font-synthesis:none;-webkit-font-smoothing:antialiased;background:var(--palette-canvas);color:var(--palette-ink)}body,figure{margin:var(--space-0)}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;border-radius:0}a,button{color:inherit}a{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}img,svg{vertical-align:middle}.concept-gallery{padding-bottom:var(--review-height)}.skip-link{z-index:100;top:-8rem;left:var(--space-3);padding:var(--space-4);background:var(--palette-white);color:var(--palette-ink);position:fixed}.skip-link:focus{top:var(--space-3)}.sr-only{width:1px;height:1px;padding:var(--space-0);clip:rect(0,0,0,0);white-space:nowrap;border:0;margin:-1px;position:absolute;overflow:hidden}.inline-arrow{flex:none;width:1.25rem;height:1.25rem}.eyebrow{font-size:var(--text-xs);letter-spacing:.16em;align-items:center;gap:var(--space-3);margin:var(--space-0) var(--space-0) var(--space-7);font-weight:600;display:flex}.tiny-label{letter-spacing:.15em;font-size:.5625rem}dialog{box-shadow:var(--shadow-dialog);overscroll-behavior:contain;border:0}dialog::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid var(--palette-line);padding-bottom:var(--space-4);display:flex}.dialog-eyebrow{letter-spacing:.1em;padding-top:var(--space-3);font-size:.5rem}.close-button{background:var(--palette-line);width:2.5rem;height:2.5rem;color:var(--palette-ink);flex:none;place-items:center;font-size:1rem;display:grid}.detail-kicker{font-size:var(--text-xs);letter-spacing:.12em;margin:var(--space-0);color:var(--palette-muted);font-weight:500}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.heritage-family{--color-bg:#f1ead8;--color-ink:#27271d;--color-accent:#a53c2c;--color-muted:#696454;--color-border:#c5bca5;--color-button-text:#fff8e9;--heritage-paper:#fff9ea;--heritage-outline:#342a23;--heritage-shadow:#342a23;--heritage-shadow-step:1px;min-height:calc(100svh - var(--review-height));color:var(--color-ink);background:var(--color-bg)}.heritage-title{margin:var(--space-0);color:var(--color-accent);font-family:var(--font-sign);text-transform:uppercase;letter-spacing:-.055em;-webkit-text-stroke:1px var(--heritage-outline);text-shadow:1px 1px var(--heritage-shadow),2px 2px var(--heritage-shadow),3px 3px var(--heritage-shadow),4px 4px var(--heritage-shadow),5px 5px var(--heritage-shadow);font-weight:400;line-height:1.03}.heritage-label{font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase;font-weight:600}
