:root{--palette-white:#fff;--palette-sand-50:#faf7f1;--palette-sand-100:#f5f1ea;--palette-sand-200:#e8ddc9;--palette-sand-300:#d9cbb0;--palette-line:#d9d1bf;--palette-warm-gray-400:#a49d90;--palette-warm-gray-500:#6b6559;--palette-warm-gray-600:#4a463d;--palette-blue-600:#3d5a6c;--palette-blue-800:#22384a;--palette-blue-900:#1a2b3a;--palette-olive-500:#7a8560;--palette-olive-700:#4a5236;--palette-wood-500:#8a7355;--palette-wood-700:#5a4a37;--bg-page:var(--palette-sand-100);--bg-elevated:var(--palette-sand-50);--bg-inverse:var(--palette-blue-900);--bg-tint:var(--palette-sand-200);--text-primary:var(--palette-blue-900);--text-secondary:var(--palette-blue-600);--text-muted:var(--palette-warm-gray-500);--text-inverse:var(--palette-sand-50);--text-on-tint:var(--palette-blue-900);--accent:var(--palette-blue-800);--accent-soft:var(--palette-blue-600);--accent-olive:var(--palette-olive-500);--accent-wood:var(--palette-wood-500);--border-subtle:var(--palette-line);--border-strong:var(--palette-warm-gray-400);--focus-ring:var(--palette-blue-600);--selection-bg:var(--palette-sand-200);--selection-fg:var(--palette-blue-900)}:root[data-theme=dark]{--palette-night-900:#1a1613;--palette-night-800:#221d18;--palette-night-700:#2c261f;--palette-night-600:#3a332b;--palette-night-line:#3f3830;--bg-page:var(--palette-night-900);--bg-elevated:var(--palette-night-800);--bg-inverse:var(--palette-sand-100);--bg-tint:var(--palette-night-700);--text-primary:var(--palette-sand-100);--text-secondary:var(--palette-sand-300);--text-muted:var(--palette-warm-gray-400);--text-inverse:var(--palette-blue-900);--text-on-tint:var(--palette-sand-100);--accent:var(--palette-sand-300);--accent-soft:var(--palette-sand-200);--accent-olive:var(--palette-olive-500);--accent-wood:var(--palette-wood-500);--border-subtle:var(--palette-night-line);--border-strong:var(--palette-warm-gray-500);--focus-ring:var(--palette-sand-200);--selection-bg:var(--palette-night-600);--selection-fg:var(--palette-sand-100)}:root{--font-serif:"Libre Baskerville", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.875rem;--fs-3xl:2.25rem;--fs-4xl:3rem;--fs-5xl:3.75rem;--fs-6xl:4.75rem;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.55;--lh-relaxed:1.75;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-widest:.18em;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-bold:700;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--space-section-y:clamp(4rem, 8vw, 8rem);--space-block-y:clamp(2rem, 4vw, 4rem);--gutter:clamp(1rem, 4vw, 2.5rem);--container-max:1280px;--container-narrow:720px;--container-wide:1440px;--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-pill:999px;--shadow-hairline:0 0 0 1px #1a2b3a0f;--shadow-soft:0 1px 2px #1a2b3a08, 0 8px 24px #1a2b3a0a;--shadow-lifted:0 2px 4px #1a2b3a0a, 0 20px 40px #1a2b3a0f;--bp-xs:480px;--bp-sm:768px;--bp-md:1024px;--bp-lg:1280px;--bp-xl:1536px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-modal:700;--z-toast:900;--dur-instant:80ms;--dur-fast:.18s;--dur-base:.32s;--dur-slow:.52s;--dur-editorial:.72s;--ease-out:cubic-bezier(.2, .6, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-editorial:cubic-bezier(.16, .84, .28, 1)}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0s;--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--dur-editorial:0s}}:root{--curve-height-sm:24px;--curve-height-md:40px;--curve-height-lg:72px;--rule-thin:1px;--rule-medium:2px;--divider-rhythm:var(--space-16,4rem);--opacity-whisper:.4;--opacity-soft:.6;--opacity-firm:.85}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;line-height:var(--lh-normal)}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit;text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--selection-bg);color:var(--selection-fg)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}html{background-color:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;font-weight:var(--fw-regular);line-height:var(--lh-normal);scroll-padding-top:var(--header-offset,clamp(64px, 10vw, 96px))}body{background-color:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:9999;background:var(--bg-inverse);color:var(--text-inverse);font-family:var(--font-sans);letter-spacing:.04em;transition:transform var(--dur-fast,.2s) ease-out;border-radius:0 0 4px;padding:.75rem 1.25rem;font-size:.875rem;text-decoration:none;position:absolute;top:0;left:0;transform:translateY(-120%)}.skip-link:focus,.skip-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;transform:translateY(0)}main,[id]{scroll-margin-top:var(--header-offset,clamp(64px, 10vw, 96px))}@keyframes presence-fade-in{0%{opacity:0}to{opacity:1}}@keyframes presence-page-turn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.presence-page-enter{animation:presence-page-turn var(--dur-slow) var(--ease-editorial) both}.presence-fade-enter{animation:presence-fade-in var(--dur-slow) var(--ease-out) both}.presence-reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease-editorial), transform var(--dur-slow) var(--ease-editorial);will-change:opacity, transform;transform:translateY(16px)}.presence-reveal-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.presence-page-enter,.presence-fade-enter{animation:none}.presence-reveal{opacity:1;transition:none;transform:none}}
