:root{--color-bg:#f6f6f3;--color-fg:#0d0d0d;--color-muted:#6a6a67;--color-subtle:#71716d;--color-line:#0d0d0d;--color-line-soft:#dcdcd7;--color-surface:#e8e8e4;--color-accent:#2438ff;--color-guide:color-mix(in srgb, var(--color-accent) 2%, transparent);--font-sans:var(--font-geist), system-ui, sans-serif;--font-pixel:var(--font-geist-pixel), ui-monospace, monospace;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--font-display:var(--font-sans);--font-body:var(--font-sans);--text-xs:.75rem;--text-s:.875rem;--text-m:1rem;--text-l:1.25rem;--text-xl:clamp(1.75rem, 2.3vw, 2.25rem);--text-2xl:clamp(2rem, 3.4vw, 3rem);--text-display:clamp(2.75rem, 6.4vw, 6.25rem);--text-sub:clamp(1.25rem, 2vw, 2rem);--text-prose:clamp(1.125rem, 1.4vw, 1.25rem);--leading-tight:1.02;--leading-title:1.12;--leading-body:1.5;--tracking-display:-.035em;--tracking-title:-.025em;--tracking-body:-.01em;--tracking-label:.02em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--grid-columns:12;--grid-gutter:var(--space-5);--grid-margin:clamp(1rem, 4vw, 3rem);--content-max:90rem;--text-max:38rem;--radius-s:0;--radius-m:0;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration-base:.5s;--duration-slow:.9s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0d0d0d;--color-fg:#f1f1ec;--color-muted:#9a9a95;--color-subtle:#7c7c78;--color-line:#f1f1ec;--color-line-soft:#2a2a28;--color-surface:#1b1b1a;--color-accent:#8692ff}}:root[data-theme=dark]{--color-bg:#0d0d0d;--color-fg:#f1f1ec;--color-muted:#9a9a95;--color-subtle:#7c7c78;--color-line:#f1f1ec;--color-line-soft:#2a2a28;--color-surface:#1b1b1a;--color-accent:#8692ff}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--color-bg);min-height:100dvh;color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-m);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{max-width:100%;display:block}a{color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){[data-motion=reveal-text]:not([data-motion-ready]){visibility:hidden}[data-motion=reveal-image]:not([data-motion-ready]){clip-path:inset(100% 0 0)}}[data-motion=reveal-image],[data-motion=parallax]{overflow:clip}[data-motion=parallax]>*{scale:1.12}::view-transition{pointer-events:none}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-group(.case-title){animation-duration:.7s;animation-timing-function:var(--ease-out)}::view-transition-old(.case-title){object-fit:none;object-position:left top;height:100%}::view-transition-new(.case-title){object-fit:none;object-position:left top;height:100%}::view-transition-old(.case-title){animation:.25s ease-in both vt-fade-out}::view-transition-new(.case-title){animation:vt-fade-in .45s var(--ease-out) .15s both}::view-transition-old(.page-fade):only-child{animation:.25s ease-in both vt-fade-out}::view-transition-new(.page-rise):only-child{animation:vt-rise .8s var(--ease-out) .15s both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-rise{0%{opacity:0;transform:translateY(2rem)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}}
