@font-face{font-family:inter;src:url(../media/inter_latin_400_normal-s.08vufg9rbrtqu.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:inter;src:url(../media/inter_latin_500_normal-s.037elok7xg7ol.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_1cf1ff10-module__TFULTG__className{font-family:inter,inter Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.inter_1cf1ff10-module__TFULTG__variable{--font-inter:"inter", "inter Fallback", -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif}
@font-face{font-family:kaiseiOpti;src:url(../media/kaisei_opti_latin_400_normal-s.p.2lald-syjmd1u.woff2)format("woff2");font-display:optional;font-weight:400;font-style:normal}@font-face{font-family:kaiseiOpti Fallback;src:local(Arial);ascent-override:105.78%;descent-override:26.26%;line-gap-override:0.0%;size-adjust:109.66%}.kaiseiopti_f5fb3ef1-module__hqPvJW__className{font-family:kaiseiOpti,kaiseiOpti Fallback,Georgia,Times New Roman,serif}.kaiseiopti_f5fb3ef1-module__hqPvJW__variable{--font-kaisei:"kaiseiOpti", "kaiseiOpti Fallback", Georgia, Times New Roman, serif}
:root{--color-canvas:#fff;--color-surface-inverse:#0b0b0b;--color-text-primary:#090909;--color-text-secondary:#343434;--color-text-muted:#717171;--color-text-inverse:#f7f7f4;--color-text-inverse-muted:#aaa9a5;--color-border-subtle:#dededb;--color-border-inverse:#363633;--color-media-placeholder:#e4e7e7;--color-focus:#005fcc;--font-heading:var(--font-kaisei), Georgia, "Times New Roman", serif;--font-body:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--type-display:clamp(3.4rem, 7.4vw, 7.75rem);--type-case-display:clamp(2.8rem, 5.8vw, 6rem);--type-section-statement:clamp(2rem, 4.25vw, 4.5rem);--type-project-title:clamp(1.75rem, 2.65vw, 3rem);--type-heading-md:clamp(1.45rem, 2vw, 2.2rem);--type-body-lg:clamp(1.05rem, 1.38vw, 1.25rem);--type-body:clamp(.9375rem, 1.05vw, 1.0625rem);--type-small:.8125rem;--type-label:.75rem;--type-caption:.6875rem;--leading-tight:.98;--leading-heading:1.08;--leading-body:1.62;--leading-label:1.4;--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;--space-11:12rem;--space-12:16rem;--section-space:clamp(6rem, 11vw, 11rem);--section-space-lg:clamp(8rem, 16vw, 17rem);--page-gutter:clamp(1.25rem, 4.5vw, 5rem);--content-width:96rem;--text-width:42rem;--grid-gap:clamp(2rem, 5vw, 6rem);--media-radius:.5rem;--radius-pill:999px;--motion-fast:.16s;--motion-base:.5s;--motion-ease:cubic-bezier(.22, 1, .36, 1);--focus-ring:0 0 0 3px color-mix(in srgb, var(--color-focus) 35%, transparent)}@media (max-width:63.99rem){:root{--section-space:clamp(5rem, 12vw, 8rem);--section-space-lg:clamp(7rem, 18vw, 11rem)}}
*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);color:var(--color-text-primary);font-synthesis:none;scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}body,button,a{text-rendering:optimizelegibility}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}::selection{background:var(--color-text-primary);color:var(--color-canvas)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;box-shadow:var(--focus-ring);border-radius:.125rem}h1,h2,h3,p,figure,blockquote,ul,ol{margin:0}section[id]{scroll-margin-top:6rem}next-route-announcer{width:1px;height:1px;top:0;left:0;overflow:hidden;position:fixed!important}.skip-link{z-index:1000;top:var(--space-4);left:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-text-primary);color:var(--color-text-inverse);transition:translate var(--motion-fast) var(--motion-ease);position:fixed;translate:0 -200%}.skip-link:focus{translate:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
