*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;min-height:100dvh}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}:target{scroll-margin-block:var(--layout-header-height,4rem)}
:root{--seed-paper:#fcfefe;--seed-ink:#234a47;--seed-accent:#c6b6f0;--accent-deep:oklch(from var(--seed-accent) .38 c h);--accent-strong:oklch(from var(--seed-accent) .42 c h);--accent:var(--seed-accent);--accent-soft:oklch(from var(--seed-accent) .88 c h);--blend-white:#fff;--space-0:0;--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;--font-size-xs:clamp(.75rem, .728rem + .09vw, .8125rem);--font-size-sm:clamp(.875rem, .853rem + .09vw, .9375rem);--font-size-base:clamp(1rem, .956rem + .19vw, 1.125rem);--font-size-lg:clamp(1.25rem, 1.162rem + .38vw, 1.5rem);--font-size-xl:clamp(1.75rem, 1.588rem + .667vw, 2.1875rem);--font-size-3xl:clamp(1.75rem, 1.123rem + 2.571vw, 3.4375rem);--font-size-display:clamp(3.4375rem, 2.045rem + 5.714vw, 7.1875rem);--font-family-sans:var(--font-sans), sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.1;--line-height-snug:1.27;--line-height-normal:1.6;--letter-spacing-tight:-.02em;--letter-spacing-normal:0;--letter-spacing-wide:.08em;--radius-full:9999px;--border-width:1px;--border-width-thick:2px;--focus-ring-width:2px;--focus-ring-offset:2px;--duration-fast:.16s;--duration-slow:.42s;--duration-page:.62s;--duration-snap:2.5s;--duration-curtain-cover:.46s;--duration-curtain-clear:.62s;--duration-title-grow:calc(var(--duration-page) * .9);--duration-hero-hold:1s;--duration-word-hold:1.6s;--duration-word-follow:.42s;--duration-hero-arrival:var(--duration-title-grow);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-morph:cubic-bezier(.32, .72, 0, 1);--ease-title:cubic-bezier(.22, 1, .36, 1);--motion-scale:1;--layout-gutter:clamp(var(--space-5), 5vw, var(--space-7));--layout-header-height:4rem;--layout-header-pad:var(--space-7);--layout-hero-height:29rem;--layout-avatar:3rem;--layout-control-glyph:2rem;--layout-header-bar:calc(var(--layout-header-pad) * 2 + max(var(--layout-avatar), var(--font-size-base) * var(--line-height-normal)));--layout-contact-band:43.75rem;--layout-band-shape:clamp(3.6rem, 9.36vw, 9.45rem);--layout-band-edge:calc(var(--layout-band-shape) * 2.5);--layout-curtain-shape:calc(var(--layout-band-shape) * 2.25);--layout-hero-fold:65svh;--layout-cover-height:100svh;--measure-text:65ch;--measure-narrow:50ch;--measure-display:38ch;--z-base:0;--z-overlay:200;--z-hero-art:210;--z-hero-chrome:220;--z-menu-toggle:230;--z-skip-link:300;--z-curtain:400;--z-loader:400;--color-canvas:var(--seed-paper);--color-text:var(--seed-ink);--color-surface:color-mix(in oklab, var(--color-canvas), var(--color-text) 6%);--color-media-ground:var(--color-text);--color-on-media:var(--color-canvas);--color-avatar-ground:var(--color-text);--color-avatar-mark:var(--accent);--color-text-muted:var(--color-text);--color-border:var(--color-text);--color-border-strong:color-mix(in oklab, var(--color-text), var(--color-canvas) 45%);--color-link:var(--accent-strong);--color-link-hover:var(--accent-deep);--color-focus-ring:var(--accent-strong);--color-word-field-ink:var(--color-text);--color-hero-band:var(--color-canvas);--color-closing-band:var(--color-text);--color-on-closing-band:var(--accent);--color-overlay-text:var(--blend-white);--color-overlay-text-muted:#ffffffb8;--gap-stack:var(--space-4);--gap-grid:var(--space-5);--gap-section:var(--space-9);--gap-section-end:var(--gap-section);--gap-section-lead:var(--space-7);--gap-hero:var(--space-7)}@media (max-width:48rem){:root{--layout-case-meta:calc(var(--layout-gutter) * 2 + var(--border-width) + (var(--font-size-xs) + var(--font-size-sm)) * var(--line-height-normal));--layout-cover-height:calc(100svh - var(--layout-case-meta));--layout-gutter:var(--space-4);--layout-header-pad:var(--space-4);--layout-avatar:2.5rem;--gap-section-end:var(--space-4);--gap-section-lead:var(--space-4);--gap-hero:var(--space-4);--layout-hero-fold:calc(100svh - (100vw - var(--layout-gutter) * 2) / 2)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-canvas:var(--seed-ink);--color-text:var(--seed-paper);--color-hero-band:var(--color-canvas);--color-on-closing-band:var(--accent-strong);--color-link:var(--accent);--color-link-hover:var(--accent-soft);--color-focus-ring:var(--accent);--color-avatar-mark:var(--accent-strong)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:var(--seed-ink);--color-text:var(--seed-paper);--color-hero-band:var(--color-canvas);--color-on-closing-band:var(--accent-strong);--color-link:var(--accent);--color-link-hover:var(--accent-soft);--color-focus-ring:var(--accent);--color-avatar-mark:var(--accent-strong)}:root[data-palette="2"]{--seed-paper:#eef3ff;--seed-ink:#595668;--seed-accent:#c1cfa1}:root[data-palette="3"]{--seed-paper:#f4f1f4;--seed-ink:#591c29;--seed-accent:#bac1d2;--accent-soft:oklch(from var(--seed-accent) .945 c h)}:root[data-palette="4"]{--seed-paper:#f6fdfb;--seed-ink:#1c4862;--seed-accent:#82dabd}:root[data-palette="5"]{--seed-paper:#f6f8fd;--seed-ink:#7f2400;--seed-accent:#a8c4ff}:root[data-palette="6"]{--seed-paper:#fdfaf6;--seed-ink:#8e0910;--seed-accent:#e1b772}:root[data-palette="7"]{--seed-paper:#fdfaf6;--seed-ink:#8b0d0c;--seed-accent:#fbabbc}:root[data-palette="8"]{--seed-paper:#fdfdf6;--seed-ink:#2d3d6c;--seed-accent:#cfcabb;--accent-soft:oklch(from var(--seed-accent) .884 c h)}:root[data-menu-open]{--color-word-field-ink:var(--color-canvas)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-slow:0s;--duration-page:0s}}
html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background-color:var(--color-canvas);color:var(--color-text);font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal)}h1,h2,h3,h4{font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl);line-height:var(--line-height-snug)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}a{color:var(--color-link);text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-link-hover)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}:root[data-menu-open]{overflow:hidden}.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}::view-transition-group(*){animation-duration:calc(var(--duration-page) * var(--motion-scale));animation-timing-function:var(--ease-morph)}::view-transition-old(root){animation-duration:calc(var(--duration-page) * .4 * var(--motion-scale));animation-timing-function:linear}::view-transition-new(root){animation-duration:calc(var(--duration-page) * .4 * var(--motion-scale));animation-timing-function:linear}html[data-vt-direction=forward]::view-transition-old(root){animation:vt-fade-out calc(var(--duration-page) * .45 * var(--motion-scale)) linear calc(var(--duration-page) * .5 * var(--motion-scale)) both}html[data-vt-direction=forward]::view-transition-new(root){animation:vt-fade-in calc(var(--duration-page) * .4 * var(--motion-scale)) linear calc(var(--duration-page) * .5 * var(--motion-scale)) both}html[data-vt-direction=back]::view-transition-old(root){animation-duration:calc(var(--duration-page) * .12 * var(--motion-scale));animation-timing-function:linear}html[data-vt-direction=back]::view-transition-new(root){animation-duration:calc(var(--duration-page) * .12 * var(--motion-scale));animation-timing-function:linear}[data-vt=cover]{view-transition-class:cover}::view-transition-group(.cover){background-color:var(--color-media-ground)}::view-transition-old(.cover){object-fit:contain;width:100%;height:100%}::view-transition-new(.cover){object-fit:contain;width:100%;height:100%}::view-transition-old(.cover){animation:vt-fade-out calc(var(--duration-page) * .3 * var(--motion-scale)) var(--ease-morph) both}::view-transition-new(.cover){animation:vt-fade-in calc(var(--duration-page) * .3 * var(--motion-scale)) var(--ease-morph) both}html[data-vt-phase=morphing][data-vt-direction=forward] [data-hero-arrival]{opacity:1;transition:none}[data-vt-name^=project-title-]{view-transition-class:title;transition:font-size calc(var(--duration-title-grow) * var(--motion-scale)) var(--ease-title)}html[data-vt-phase=morphing][data-vt-direction=forward] [data-vt-name^=project-title-]{font-size:var(--font-size-lg);transition:none}::view-transition-old(.title){animation:vt-fade-out calc(var(--duration-page) * .3 * var(--motion-scale)) var(--ease-morph) both}::view-transition-new(.title){animation:vt-fade-in calc(var(--duration-page) * .3 * var(--motion-scale)) var(--ease-morph) both}[data-vt=hero-back]{view-transition-name:project-hero-back;view-transition-class:hero-chrome}::view-transition-new(.hero-chrome){animation:vt-fade-in calc(var(--duration-page) * .35 * var(--motion-scale)) var(--ease-morph) calc(var(--duration-page) * .6 * var(--motion-scale)) both}::view-transition-old(.hero-chrome){animation:vt-fade-out calc(var(--duration-page) * .2 * var(--motion-scale)) var(--ease-morph) both}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}html[data-cursor-arrow=on] [data-cursor],html[data-cursor-arrow=on] [data-cursor] *{cursor:none}
.CursorArrow-module__gm34Oa__follower{--cursor-arrow-size:4rem;z-index:var(--z-skip-link);width:var(--cursor-arrow-size);height:var(--cursor-arrow-size);pointer-events:none;color:var(--color-overlay-text);mix-blend-mode:exclusion;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);margin-block-start:calc(var(--cursor-arrow-size) / -2);margin-inline-start:calc(var(--cursor-arrow-size) / -2);position:fixed;inset-block-start:0;inset-inline-start:0}.CursorArrow-module__gm34Oa__follower[data-name=move]{width:calc(var(--cursor-arrow-size) * 2);margin-inline-start:calc(var(--cursor-arrow-size) * -1)}.CursorArrow-module__gm34Oa__follower[data-visible=true]{opacity:1}html[data-vt-phase=morphing] .CursorArrow-module__gm34Oa__follower{mix-blend-mode:normal;opacity:0;transition:none}@media (prefers-reduced-motion:reduce){.CursorArrow-module__gm34Oa__follower{transition:none}}.CursorArrow-module__gm34Oa__glyph{width:100%;height:100%;display:block}
