:root{--color-bg:#f1f1ed;--color-surface:#fff;--color-surface-muted:#e7e7e1;--color-chip:#f1f1ed;--color-line:#e3e3dc;--color-line-strong:#cfcfc8;--color-ink:#141414;--color-muted:#5c5c57;--color-subtle:#8a8a84;--color-on-dark:#fff;--color-on-dark-muted:#b8b8b2;--color-on-dark-subtle:#8a8a84;--color-green:#1e7b4a;--color-green-strong:#155c37;--color-green-tint:#e4f1e1;--color-green-glow:#7fd99a;--color-green-glow-soft:#a9e5ba;--color-dark:#141414;--color-dark-raised:#1c1c1a;--color-dark-chip:#232321;--color-dark-deep:#0d0d0c;--color-dark-line:#ffffff14;--color-warn-bg:#fff3dc;--color-warn-fg:#8a5a00;--font-head:var(--font-sequel-head), "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-sequel-body), "Helvetica Neue", Arial, sans-serif;--font-book:var(--font-sequel-book), var(--font-body);--font-mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;--text-display:clamp(2.25rem, 1.4rem + 3.4vw, 3.75rem);--text-h1:clamp(2.125rem, 1.5rem + 2.6vw, 3.75rem);--text-h2:clamp(1.875rem, 1.45rem + 1.7vw, 2.75rem);--text-h2-sm:clamp(1.75rem, 1.4rem + 1.3vw, 2.5rem);--text-h3:clamp(1.375rem, 1.2rem + .8vw, 1.75rem);--text-h4:clamp(1.25rem, 1.15rem + .4vw, 1.375rem);--text-lead:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--text-body:clamp(1rem, .97rem + .12vw, 1.0625rem);--text-sm:.9375rem;--text-xs:.8125rem;--text-2xs:.75rem;--leading-tight:1.04;--leading-snug:1.12;--leading-body:1.55;--tracking-tight:-.03em;--tracking-snug:-.02em;--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-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--section-gap:clamp(4rem, 2.8rem + 5vw, 7rem);--container:75rem;--gutter:clamp(1rem, -.2rem + 5.6vw, 7.5rem);--reading:45rem;--radius-xs:.625rem;--radius-sm:.875rem;--radius-md:1.25rem;--radius-lg:1.5rem;--radius-xl:1.75rem;--radius-2xl:2rem;--radius-pill:999px;--shadow-sm:0 4px 16px #0000000f;--shadow-md:0 8px 32px #0000000f;--shadow-lg:0 24px 48px #00000080;--glass-bg:#ffffff9e;--glass-border:#ffffffe6;--glass-blur:24px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.16s;--duration:.26s;--z-nav:50;--z-menu:60;--z-overlay:70}@media (max-width:767px){:root{--radius-2xl:1.5rem;--radius-xl:1.5rem}}
@keyframes reveal{0%{opacity:0;translate:0 28px}}@keyframes rise{0%{opacity:0;translate:0 18px}}@keyframes fade-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;translate:0 32px}}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){[data-reveal]:not([data-in]){opacity:0}[data-reveal][data-in]{animation:reveal .8s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 80ms)}}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:var(--tracking-snug);font-weight:365;line-height:var(--leading-snug);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0}strong{font-family:var(--font-head);color:var(--color-ink);font-weight:365}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-green);outline-offset:3px;border-radius:4px}::selection{background:var(--color-green-tint);color:var(--color-green-strong)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-dark);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
