@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module___-Q3FG__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module___-Q3FG__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:"serif";src:url(../media/instrument_serif_latin_400_normal-s.p.3_vslfxq_--4i.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:"serif";src:url(../media/instrument_serif_latin_400_italic-s.p.1bk2-9tco4m7m.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:serif Fallback;src:local(Arial);ascent-override:128.92%;descent-override:40.37%;line-gap-override:0.0%;size-adjust:76.79%}.serif_854fe739-module__1cBt5q__className{font-family:"serif",serif Fallback,Georgia,serif}.serif_854fe739-module__1cBt5q__variable{--font-instrument-serif:"serif", "serif Fallback", Georgia, serif}
:root{--color-canvas:#0b0910;--color-surface:#17131f;--color-surface-raised:#231c2d;--color-surface-sunken:#120f18;--color-border:#2a2234;--color-border-strong:#352c40;--color-text:#f8f5ff;--color-text-muted:#b9aec9;--color-text-subtle:#8a7f9b;--color-text-on-pastel:#151219;--color-violet:#a878ff;--color-violet-soft:#c6aff1;--color-mint:#3ee6a5;--color-mint-soft:#a8e9cb;--color-pastel-pink:#f3b8dc;--color-pastel-lavender:#c6aff1;--color-pastel-mint:#a8e2c8;--color-pastel-yellow:#f6d46b;--color-person-a:#b08ae9;--color-person-b:#a8e9cb;--color-danger:#f3b8dc;--color-danger-border:#6b3a55;--color-focus:#c6aff1;--color-action:#f3b8dc;--color-action-text:#151219;--font-sans:var(--font-geist-sans), system-ui, sans-serif;--font-serif:var(--font-instrument-serif), Georgia, serif;--text-display:clamp(2.75rem, 1.6rem + 4.6vw, 4rem);--text-headline:clamp(2rem, 1.4rem + 2.4vw, 3.375rem);--text-title:1.5rem;--text-body-lg:1.0625rem;--text-body:1rem;--text-ui:.9375rem;--text-label:.8125rem;--text-eyebrow:.75rem;--tracking-display:-.055em;--tracking-title:-.03em;--tracking-eyebrow:.14em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--page-gutter:clamp(20px, 4vw, 56px);--page-max:1328px;--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--radius-xl:32px;--radius-pill:999px;--control-height:52px;--control-height-sm:44px;--ease-out:cubic-bezier(.2, 0, 0, 1);--duration-fast:.15s;--duration-base:.24s}
*{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--color-canvas)}body{min-width:320px;color:var(--color-text);background-color:var(--color-canvas);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}::selection{color:var(--color-canvas);background-color:var(--color-mint)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}[id]{scroll-margin-top:24px}.skip-link{z-index:100;color:var(--color-canvas);background-color:var(--color-focus);border-radius:10px;padding:10px 14px;position:fixed;inset-block-start:12px;inset-inline-start:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.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}html.lenis{scroll-behavior:auto}::view-transition{pointer-events:none}::view-transition-group(app-dock){z-index:100;animation:none}::view-transition-group(app-header){z-index:100;animation:none}::view-transition-old(app-dock){display:none}::view-transition-old(app-header){display:none}::view-transition-new(app-dock){animation:none}::view-transition-new(app-header){animation:none}::view-transition-old(.page-out){animation:.16s cubic-bezier(.4,0,1,1) both page-out}::view-transition-new(.page-in){animation:.32s cubic-bezier(.32,.72,0,1) 80ms both page-in}@keyframes page-out{to{opacity:0;filter:blur(2px)}}@keyframes page-in{0%{opacity:0;filter:blur(3px);translate:0 10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(.page-out){animation:none}::view-transition-new(.page-in){animation:none}}
