@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#fff;--surface:#f5f5f5;--ink:#222;--muted:#666;--line:#e6e6e6;--line-mid:#8a8a8a;--font-ja:"IBM Plex Sans JP", system-ui, sans-serif;--font-en:"IBM Plex Sans JP", system-ui, sans-serif;--fs-caption:.75rem;--fs-small:.8125rem;--fs-body:.9375rem;--fs-title-sm:1rem;--fs-title:1.25rem;--fs-page-title:clamp(1.5rem, 1.05rem + 1.5vw, 2.2rem);--fs-lead:clamp(1rem, .92rem + .35vw, 1.2rem);--lh-tight:1;--lh-snug:1.45;--lh-relaxed:1.9;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-caps:.08em;--ls-display:.04em;--ls-body:.02em;--ls-tight:-.012em;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--content-wide:90rem;--page-x:1.45rem;--page-top:7rem;--section-y:5rem;--head-gap:1.9rem;--head-rule-gap:1.2rem;--content-gap:2.75rem;--block-gap:1.25rem;--control-h:3.25rem;--button-w:18rem;--control-active-shadow:inset 0 0 0 1px var(--ink), 0 .45rem 1rem var(--ink)}@supports (color:color-mix(in lab,red,red)){:root{--control-active-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 16%, transparent), 0 .45rem 1rem color-mix(in srgb, var(--ink) 7%, transparent)}}:root{--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--ease-in-out-soft:cubic-bezier(.65, 0, .35, 1);--ease-spring-soft:cubic-bezier(.2, 1.08, .34, 1);--duration-fast:.16s;--duration-normal:.24s;--duration-slow:.42s;--duration-slower:.68s;--stagger-small:55ms;--stagger-medium:85ms;--stagger-step:60ms;--reveal-y-small:.45rem;--reveal-y-medium:.875rem;--reveal-blur:2px;--hover-lift:-2px;--hover-scale-subtle:1.018;--line-draw:var(--duration-slower) var(--ease-out-soft);--image-reveal:.9s var(--ease-out-soft);--drawer-enter:var(--duration-slow) var(--ease-out-soft);--ease:var(--ease-out-soft);--dur-fast:var(--duration-fast);--dur-mid:var(--duration-normal);--dur-slow:var(--duration-slow);--dur-reveal:var(--duration-slower);--reveal-y:var(--reveal-y-medium);--stagger:var(--stagger-medium);--z-menu:80;--z-header:90;--z-skip:100;--z-modal:140;--z-intro:150;--z-to-top:70;--z-preview:160;--z-cursor:170;--z-nav-progress:175}@media(min-width:760px){:root{--page-x:2.35rem;--page-top:8.2rem;--section-y:6rem;--head-gap:2.2rem}}@media(min-width:1020px){:root{--page-x:clamp(2.5rem, 5vw, 4.5rem);--page-top:9.5rem;--section-y:7rem}}@media(max-width:420px){:root{--page-x:1.2rem}}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-ja);font-size:16px;line-height:var(--lh-relaxed);scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html[data-astro-transition]{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto}.lenis.lenis-smooth iframe{pointer-events:none}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}main,.site-footer{transition:opacity .56s var(--ease-out-soft),transform .64s var(--ease-out-soft)}html.is-leaving main,html.is-leaving .site-footer{opacity:0;transition:opacity .3s var(--ease-in-out-soft),transform .38s var(--ease-in-out-soft);transform:translateY(-.75rem)}html.is-entering main,html.is-entering .site-footer{opacity:0;transition:none;transform:translateY(.9rem)}html.is-entering :not(.nav-progress),html.is-entering :before,html.is-entering :after{transition:none!important}::view-transition-group(*.work-media){border-radius:var(--radius-lg);overflow:hidden}::view-transition-image-pair(*.work-media){border-radius:inherit;overflow:hidden}::view-transition-old(*.work-media){border-radius:inherit;overflow:hidden}::view-transition-new(*.work-media){border-radius:inherit;overflow:hidden}}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-ja);font-size:var(--fs-body);font-weight:var(--fw-regular);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}body.menu-open{overflow:hidden}astro-dev-toolbar{display:none!important}::selection{color:var(--paper);background:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}button{border:0}h1,h2,h3,p,figure,dl,dd{margin:0}ul:where([class]),ol:where([class]){margin:0;padding:0;list-style:none}p,dd,li,textarea{overflow-wrap:anywhere;line-break:strict}.phrase{white-space:nowrap}.skip-link{z-index:var(--z-skip);border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);transition:transform var(--drawer-enter);padding:.5rem .75rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.js [data-reveal],.js [data-reveal-sections]>:not([data-reveal]){opacity:0;transform:translateY(var(--reveal-y));filter:blur(var(--reveal-blur));transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease),filter var(--duration-slow) var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform,filter}.js.is-reveal-resetting [data-reveal],.js.is-reveal-resetting [data-reveal-sections]>:not([data-reveal]),.js.is-reveal-resetting [data-reveal=clip] img,.js.is-reveal-resetting [data-reveal=rule]>*,.js.is-reveal-resetting [data-reveal=rule]:after,.js.is-reveal-resetting [data-reveal=line]>*,.js.is-reveal-resetting [data-reveal=line]:before{transition:none!important}.js [data-reveal].is-in,.js [data-reveal-sections]>:not([data-reveal]).is-in{opacity:1;filter:blur();will-change:auto;transform:none}.js [data-reveal=fade]{filter:none;transform:none}.js [data-reveal=clip]{filter:none;clip-path:inset(0 0 18% 0 round var(--radius-lg));transition:opacity var(--dur-reveal) var(--ease),clip-path var(--image-reveal);transition-delay:var(--d,0s);transform:none}.js [data-reveal=clip].is-in{clip-path:inset(0 0 0 0 round var(--radius-lg))}.js [data-reveal=clip] img{transition:transform var(--image-reveal);transition-delay:var(--d,0s);will-change:transform;transform:scale(1.025)}.js [data-reveal=clip].is-in img{will-change:auto;transform:none}.js [data-reveal=rule]{opacity:1;transition:none;transform:none}.js [data-reveal=rule]:after{transition:transform var(--line-draw);transition-delay:var(--d,0s);transform:scaleX(0)}.js [data-reveal=rule]>*{opacity:0;transform:translateY(var(--reveal-y-small));filter:blur(var(--reveal-blur));transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease),filter var(--duration-slow) var(--ease);transition-delay:calc(var(--d,0s) + var(--stagger-small))}.js [data-reveal=rule]>*+*{transition-delay:calc(var(--d,0s) + 2 * var(--stagger-medium))}.js [data-reveal=rule].is-in:after{transform:scaleX(1)}.js [data-reveal=rule][data-reveal-repeat=line].is-in:not(.is-line-in):after{transform:scaleX(0)}.js [data-reveal=rule][data-reveal-repeat=line].is-line-resetting:after{transition:none}.js [data-reveal=rule][data-reveal-repeat=line].is-line-in:after{transform:scaleX(1)}.js [data-reveal=rule].is-in>*{opacity:1;filter:blur();transform:none}.js [data-reveal=line]{opacity:1;filter:none;transition:none;transform:none}.js [data-reveal=line]:before{transition:transform var(--line-draw);transition-delay:var(--d,0s);transform:scaleX(0)}.js [data-reveal=line]>*{opacity:0;transform:translateY(var(--reveal-y-small));filter:blur(var(--reveal-blur));transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease),filter var(--duration-slow) var(--ease)}.js [data-reveal=line]>:first-child{transition-delay:calc(var(--d,0s) + var(--stagger-small))}.js [data-reveal=line]>:nth-child(2){transition-delay:calc(var(--d,0s) + var(--stagger-medium))}.js [data-reveal=line].is-in:before{transform:scaleX(1)}.js [data-reveal=line][data-reveal-repeat=line].is-in:not(.is-line-in):before{transform:scaleX(0)}.js [data-reveal=line][data-reveal-repeat=line].is-line-resetting:before{transition:none}.js [data-reveal=line][data-reveal-repeat=line].is-line-in:before{transform:scaleX(1)}.js [data-reveal=line].is-in>*{opacity:1;filter:blur();transform:none}.page{width:min(100%,var(--content-wide));padding:var(--page-top) var(--page-x) var(--section-y);margin-inline:auto}.page-head{--sculpture:clamp(5.75rem, 8.6vw, 7.75rem);margin-bottom:var(--head-gap);padding-bottom:var(--head-rule-gap);gap:clamp(.75rem,1.4vw,1.15rem);display:grid;position:relative}.page-head--stage{padding-right:calc(var(--sculpture) + clamp(.5rem,2vw,1.5rem))}.page-head__kicker{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);text-transform:uppercase}.page-head__sub{max-width:40em;color:var(--ink);font-size:var(--fs-title-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;line-height:var(--lh-snug)}.js [data-reveal=rule] .page-head__count{opacity:0;transition:opacity .7s var(--ease-out-soft) .45s}.js [data-reveal=rule].is-in .page-head__count{opacity:1}@media(max-width:759px){.page-head--work.page-head--stage{padding-right:0}.page-head--work .page-head__kicker{align-content:center;min-height:2.6rem;padding-right:5.5rem;display:grid}.page-head--work .page-head__stage{width:4.75rem;height:4.75rem;margin:0;top:-1.1rem;bottom:auto}}.page-head__count{color:var(--muted);font-size:max(.75rem,.2em);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);vertical-align:top;margin-left:.35em;line-height:1;display:inline-block;translate:0 .35em}.page-head--with-breadcrumb{margin-bottom:clamp(1.25rem,2vw,1.5rem)}.page-head:after{content:"";background:var(--ink);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.page-head--unfinished:before{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:0;right:0}.page-head--unfinished:after{width:72%;right:auto}.page-head__title{color:var(--ink);font-family:var(--font-en);font-size:var(--fs-page-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:var(--lh-tight);text-transform:uppercase;overflow-wrap:anywhere}.section-heading{margin-bottom:var(--head-gap);padding-bottom:var(--head-rule-gap);grid-template-columns:auto 1fr;align-items:baseline;gap:1rem;display:grid;position:relative}.section-heading:after{content:"";background:var(--ink);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.section-heading__num{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight)}.section-heading__title{color:var(--ink);font-family:var(--font-en);font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:var(--lh-tight);text-transform:uppercase}.page-lead{max-width:42em;margin-top:var(--head-gap);color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-relaxed)}.section-content{margin-top:var(--content-gap)}.section-block{margin-top:var(--section-y)}.btn{width:var(--button-w);border-radius:var(--radius-pill);cursor:pointer;max-width:100%;font-family:var(--font-ja);font-size:var(--fs-small);font-weight:var(--fw-medium);letter-spacing:var(--ls-body);line-height:var(--lh-tight);text-align:center;background:0 0;border:0;flex:none;padding:0;display:inline-flex}.btn__body{isolation:isolate;width:100%;min-height:var(--control-h);border:1px solid var(--ink);border-radius:var(--radius-pill);background:var(--ink);color:var(--paper);translate:var(--mag-x,0px) var(--mag-y,0px);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),translate var(--duration-slow) var(--ease-out-soft);justify-content:center;align-items:center;gap:.75rem;padding:.85rem 1.6rem;display:inline-flex;position:relative;overflow:hidden}.btn__body:before{content:"";z-index:0;background:var(--paper);transform-origin:0;transition:transform var(--duration-normal) var(--ease-out-soft);position:absolute;inset:0;transform:scaleX(0)}.btn:active:not(:disabled) .btn__body{transform:scale(.985)}.btn--full{width:var(--button-w);max-width:100%}.btn:focus-visible:not(:disabled) .btn__body{color:var(--ink);box-shadow:0 .7rem 1.4rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.btn:focus-visible:not(:disabled) .btn__body{box-shadow:0 .7rem 1.4rem color-mix(in srgb,var(--ink) 10%,transparent)}}.btn:focus-visible:not(:disabled) .btn__body{transform:translateY(var(--hover-lift))}.btn:focus-visible:not(:disabled) .btn__body:before{transform:scaleX(1)}@media(hover:hover){.btn:hover:not(:disabled) .btn__body{color:var(--ink);box-shadow:0 .7rem 1.4rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.btn:hover:not(:disabled) .btn__body{box-shadow:0 .7rem 1.4rem color-mix(in srgb,var(--ink) 10%,transparent)}}.btn:hover:not(:disabled) .btn__body{transform:translateY(var(--hover-lift))}.btn:hover:not(:disabled) .btn__body:before{transform:scaleX(1)}}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed}.btn:disabled .btn__body,.btn[aria-disabled=true] .btn__body{border-color:var(--line);background:var(--line);color:var(--muted)}.btn__label,.btn .arrow{z-index:1;position:relative}.btn__label{translate:calc(var(--mag-x,0px) * .4) calc(var(--mag-y,0px) * .4);transition:translate var(--duration-slow) var(--ease-out-soft)}.btn .arrow{transition:transform var(--dur-fast) var(--ease);display:inline-block}.btn:focus-visible:not(:disabled) .arrow{transform:translate(.28rem)}@media(hover:hover){.btn:hover:not(:disabled) .arrow{transform:translate(.28rem)}}.tag{border:1px solid var(--ink);border-radius:var(--radius-pill);background:var(--paper);min-height:1.55rem;color:var(--ink);font-family:var(--font-ja);font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:var(--lh-tight);overflow-wrap:normal;line-break:auto;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);flex:none;justify-content:center;align-items:center;padding:.12rem .6rem .1rem;display:inline-flex}a.tag{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}a.tag:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper)}@media(hover:hover){a.tag:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}}a.tag:active{transform:scale(.96)}.tag-list{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.site-header{z-index:var(--z-header);transition:background var(--dur-mid) var(--ease),box-shadow var(--dur-mid) var(--ease),transform .52s var(--ease-out-soft);background:0 0;position:fixed;inset:0 0 auto}.site-header.is-tucked:not(:focus-within){transform:translateY(-104%)}.site-header.is-scrolled{background:var(--paper)}@supports (color:color-mix(in lab,red,red)){.site-header.is-scrolled{background:color-mix(in srgb,var(--paper) 88%,transparent)}}.site-header.is-scrolled{box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-open .site-header{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.site-header__inner{width:min(100%,var(--content-wide));padding:1.1rem var(--page-x);grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-inline:auto;display:grid}.site-logo{min-height:2.75rem;color:var(--ink);font-family:var(--font-en);font-size:var(--fs-title-sm);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:var(--lh-tight);transition:opacity var(--dur-fast) var(--ease);justify-self:start;align-items:center;display:inline-flex;position:relative}.site-logo:after{content:"";transform-origin:0;height:1px;transition:transform var(--duration-normal) var(--ease-out-soft);background:currentColor;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.site-logo:focus-visible{opacity:.65}.site-logo:focus-visible:after{transform:scaleX(1)}@media(hover:hover){.site-logo:hover{opacity:.65}.site-logo:hover:after{transform:scaleX(1)}}.site-nav{font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);align-items:center;gap:2.25rem;display:none}.site-nav__link{min-height:2.75rem;color:var(--muted);transition:color var(--dur-fast) var(--ease);align-items:center;gap:.55rem;padding-block:.5rem;display:inline-flex;position:relative}.site-nav__link>span{transition:transform var(--dur-fast) var(--ease)}.site-nav__link .idx,.mobile-nav__link .idx{color:var(--muted);font-size:.85em}.site-nav__link:after{background:var(--ink);transform-origin:0;height:1px;transition:transform var(--dur-mid) var(--ease);content:"";position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav__link:focus-visible,.site-nav__link.is-active{color:var(--ink)}.site-nav__link:focus-visible>span{transform:translateY(-1px)}.site-nav__link:focus-visible:after,.site-nav__link.is-active:after{transform:scaleX(1)}@media(hover:hover){.site-nav__link:hover{color:var(--ink)}.site-nav__link:hover>span{transform:translateY(-1px)}.site-nav__link:hover:after{transform:scaleX(1)}}.site-menu{cursor:pointer;width:2.75rem;height:2.75rem;color:var(--ink);background:0 0;place-items:center;padding:0;display:grid}.site-menu span{border-radius:var(--radius-pill);width:1.5rem;height:1.5px;transition:transform var(--dur-mid) var(--ease),opacity var(--dur-fast) var(--ease);background:currentColor;grid-area:1/1;display:block}.site-menu span:first-child{transform:translateY(-.38rem)}.site-menu span:nth-child(3){transform:translateY(.38rem)}.site-menu:focus-visible span:nth-child(2){transform:scaleX(.7)}@media(hover:hover){.site-menu:hover span:nth-child(2){transform:scaleX(.7)}}.menu-open .site-menu span:first-child{transform:rotate(42deg)}.menu-open .site-menu span:nth-child(2){opacity:0}.menu-open .site-menu span:nth-child(3){transform:rotate(-42deg)}.mobile-nav{z-index:var(--z-menu);min-height:100dvh;padding:6.4rem var(--page-x) 2.4rem;visibility:hidden;background:var(--paper);opacity:0;clip-path:inset(0 0 100%);pointer-events:none;transition:visibility 0s linear var(--duration-slow),opacity var(--drawer-enter),clip-path var(--drawer-enter);align-content:space-between;display:grid;position:fixed;inset:0;overflow-y:auto}.menu-open .mobile-nav{visibility:visible;opacity:1;clip-path:inset(0);pointer-events:auto;transition:visibility 0s,opacity var(--drawer-enter),clip-path var(--drawer-enter)}.mobile-nav__link,.mobile-nav__foot{opacity:0;transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);transform:translateY(.6rem)}.menu-open .mobile-nav__link,.menu-open .mobile-nav__foot{opacity:1;transition-delay:calc(90ms + var(--row,3) * var(--stagger));transform:none}.mobile-nav .mask-char{transition:transform .2s var(--ease-out-soft);transform:translateY(110%)}.menu-open .mobile-nav .mask-char{transition:transform .9s var(--ease-out-soft);transition-delay:calc(.14s + var(--row,0) * 90ms + var(--i,0) * 28ms);transform:none}.menu-open .mobile-nav__link:focus,.menu-open .mobile-nav__foot:focus-within{opacity:1;transition:none;transform:none}.mobile-nav__list{display:grid;position:relative}.mobile-nav__list:before{content:"";background:var(--line);transform-origin:0;height:1px;transition:transform var(--line-draw);transform:scaleX(0)}.menu-open .mobile-nav__list:before{transition-delay:var(--stagger-small);transform:scaleX(1)}.mobile-nav__link{color:var(--ink);font-family:var(--font-en);font-size:var(--fs-page-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:var(--lh-tight);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"idx label"".ja";align-items:baseline;gap:.5rem 1rem;padding:1.4rem 0;display:grid;position:relative}.mobile-nav__link .idx{font-size:var(--fs-caption);grid-area:idx}.mobile-nav__label{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;grid-area:label;justify-self:start;padding-bottom:.3em}.mobile-nav__link.is-active .mobile-nav__label{background-size:100% 1px}.mobile-nav__ja{color:var(--muted);font-family:var(--font-ja);font-size:var(--fs-small);font-weight:var(--fw-medium);letter-spacing:.08em;grid-area:ja;line-height:1}.mobile-nav__motto{color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-medium);letter-spacing:.12em;line-height:var(--lh-snug)}.mobile-nav__link:after{content:"";background:var(--line);transform-origin:0;height:1px;transition:transform var(--line-draw);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.menu-open .mobile-nav__link:after{transition-delay:calc(.12s + var(--row,0) * var(--stagger-medium));transform:scaleX(1)}.mobile-nav__foot{justify-items:center;gap:1.4rem;display:grid}.mobile-nav__foot .social{justify-content:center;width:100%}.site-footer{background:0 0;position:relative}.site-footer:before{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.site-footer__mark{width:min(100%,var(--content-wide));padding:clamp(3.5rem,9vw,7rem) var(--page-x) clamp(.75rem,2vw,1.5rem);margin-inline:auto;container-type:inline-size}.footer-mark{width:max-content;color:var(--ink);font-family:var(--font-en);font-size:calc(100cqi / var(--fit,8.2));font-weight:var(--fw-bold);letter-spacing:.012em;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:baseline;gap:.26em;line-height:.9;display:flex;position:relative}html[data-stage=on] body[data-stage-mode=on] .footer-mark{color:#0000}.site-footer__bar{width:min(100%,var(--content-wide));padding:2.25rem var(--page-x);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.8rem;margin-inline:auto;display:flex}.site-footer__copy{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-regular);letter-spacing:var(--ls-caps)}.site-footer__privacy{color:var(--muted);font-size:var(--fs-caption);text-underline-offset:.2em;padding:.3rem .4rem;text-decoration:underline}.social{flex-wrap:wrap;align-items:center;gap:clamp(.2rem,1vw,.75rem);display:flex}.social a{width:2.75rem;height:2.75rem;color:var(--ink);translate:var(--mag-x,0px) var(--mag-y,0px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),translate var(--duration-slow) var(--ease-out-soft);background:0 0;place-items:center;display:grid}.social a:focus-visible{opacity:.7;transform:translateY(var(--hover-lift))}@media(hover:hover){.social li:hover a{opacity:.7;transform:translateY(var(--hover-lift))}}.social img{object-fit:contain;width:1.4rem;height:1.4rem}.social svg{stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.works-grid{--works-shift:0px;grid-template-columns:1fr;gap:clamp(3.4rem,8vw,6.5rem) clamp(1.75rem,4.4vw,4.75rem);display:grid}.works-grid>:nth-child(2n){translate:0 var(--works-shift)}.works-grid:has(>:nth-child(2n):last-child){padding-bottom:var(--works-shift)}.work-card{--d:0s;min-width:0;position:relative}.work-card__link{color:inherit;gap:.45rem;display:grid}.work-card__link:after{content:"";z-index:3;position:absolute;inset:0}.work-card__link:focus-visible{outline:none}.work-card:has(.work-card__link:focus-visible){outline:2px solid var(--ink);outline-offset:8px;border-radius:var(--radius-lg)}.work-card__media{aspect-ratio:16/9;border:1px solid var(--line-mid);border-radius:var(--radius-lg);background:var(--surface);view-transition-class:work-media;transition:border-color var(--duration-normal) var(--ease-out-soft),box-shadow var(--duration-normal) var(--ease-out-soft),transform var(--duration-normal) var(--ease-out-soft);position:relative;overflow:hidden}.work-card__media:after{content:"";z-index:2;pointer-events:none;border:1px solid var(--ink);border-radius:inherit;opacity:0;transition:opacity var(--duration-normal) var(--ease-out-soft),transform var(--duration-normal) var(--ease-out-soft);position:absolute;inset:-1px;transform:scale(.992)}.work-card:has(.work-card__link:focus-visible) .work-card__media{border-color:var(--ink);box-shadow:0 .75rem 1.8rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.work-card:has(.work-card__link:focus-visible) .work-card__media{box-shadow:0 .75rem 1.8rem color-mix(in srgb,var(--ink) 8%,transparent)}}.work-card:has(.work-card__link:focus-visible) .work-card__media{transform:translateY(var(--hover-lift))}.work-card:has(.work-card__link:focus-visible) .work-card__media:after{opacity:1;transform:scale(1)}@media(hover:hover){.work-card:has(.work-card__link:hover) .work-card__media{border-color:var(--ink);box-shadow:0 1.2rem 2.4rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.work-card:has(.work-card__link:hover) .work-card__media{box-shadow:0 1.2rem 2.4rem color-mix(in srgb,var(--ink) 10%,transparent)}}.work-card:has(.work-card__link:hover) .work-card__media{transform:translateY(var(--hover-lift))}.work-card:has(.work-card__link:hover) .work-card__media:after{opacity:1;transform:scale(1)}}.work-card:has(.work-card__link:active) .work-card__media{transform:scale(.99)}.work-card__img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out-soft)}.work-card:has(.work-card__link:focus-visible) .work-card__img{transform:scale(var(--hover-scale-subtle))}@media(hover:hover){.work-card:has(.work-card__link:hover) .work-card__img{transform:scale(var(--hover-scale-subtle))}}.work-card__body{gap:.85rem;padding-top:clamp(1.2rem,2vw,1.6rem);display:grid}.work-card__title{color:var(--ink);font-family:var(--font-ja);gap:.45rem;display:grid}.work-card__name{width:fit-content;font-size:var(--fs-title-sm);font-weight:var(--fw-bold);letter-spacing:.02em;line-height:var(--lh-snug);transition:background-size var(--duration-slow) var(--ease-out-soft);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.work-card__sub{color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-semibold);letter-spacing:.05em;line-height:var(--lh-snug)}.work-card__link:focus-visible .work-card__name{background-size:100% 1px}@media(hover:hover){.work-card__link:hover .work-card__name{background-size:100% 1px}}.work-card__desc{max-width:40em;color:var(--muted);font-size:var(--fs-small);line-height:var(--lh-relaxed);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.about-hero{grid-template-columns:1fr;align-items:start;display:grid}.about-hero__intro{min-width:0}.about-hero__text{gap:1rem;min-width:0;margin-top:1.35rem;display:grid}.about-hero__identity{gap:.5rem;display:grid}.about-hero__name{color:var(--ink);gap:.6rem;display:grid}.about-hero__ja{font-family:var(--font-ja);font-size:var(--fs-title-sm);font-weight:var(--fw-semibold);letter-spacing:.1em;line-height:var(--lh-snug)}.about-hero__roman{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight)}.about-hero__social{margin-top:.3rem}.about-hero__portrait{border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--surface);position:relative;overflow:hidden}.about-hero__portrait img{aspect-ratio:16/9;object-fit:cover;width:100%}.about-lead{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.about-lead{color:color-mix(in srgb,var(--ink) 86%,var(--paper))}}.about-lead{font-size:var(--fs-body);letter-spacing:.03em;line-height:2}.detail-rows--columns .detail-row__label{flex-direction:column;align-items:flex-start;gap:.9rem}.detail-rows--columns .detail-row__meta{color:var(--ink);font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:1}.detail-rows--columns .detail-row__title{font-size:var(--fs-body);letter-spacing:.06em;white-space:normal}.detail-rows--timeline .detail-row__label{flex-direction:column;align-items:flex-start;gap:.55rem}.detail-rows--timeline .detail-row__meta{color:var(--ink);font-size:var(--fs-title-sm);font-weight:var(--fw-bold);letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1.1}.detail-rows{--detail-label-column:minmax(18rem, 21rem);--detail-row-column-gap:clamp(2rem, 4vw, 3rem);display:grid}.detail-row{padding:var(--block-gap) 0;grid-template-columns:1fr;gap:.7rem;display:grid;position:relative}.detail-row:first-child{padding-top:0}.detail-row:after{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.js .detail-row:after{transition:transform var(--line-draw);transition-delay:var(--d,0s);transform:scaleX(0)}.js .detail-row.is-in:after{transform:scaleX(1)}.detail-row__label{flex-wrap:wrap;align-items:baseline;gap:.5rem .9rem;min-width:0;display:flex}.detail-row__meta,.detail-row__title{font-family:var(--font-en);font-size:var(--fs-small);letter-spacing:var(--ls-caps);line-height:var(--lh-snug)}.detail-row__meta{text-transform:uppercase}.detail-row__title{color:var(--ink);font-weight:var(--fw-semibold)}.detail-row__meta{color:var(--muted);font-weight:var(--fw-medium)}.detail-row__content{gap:.7rem;min-width:0;display:grid}.detail-row__text{max-width:42em;color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.detail-row__text{color:color-mix(in srgb,var(--ink) 86%,var(--paper))}}.detail-row__text{font-size:var(--fs-body);letter-spacing:.03em;line-height:2}.contact-layout{align-items:start;gap:clamp(2.5rem,6vw,3.5rem);display:grid}.contact-layout__aside{align-content:start;gap:2rem;display:grid}.contact-layout__lead{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.contact-layout__lead{color:color-mix(in srgb,var(--ink) 86%,var(--paper))}}.contact-layout__lead{font-size:var(--fs-lead);letter-spacing:.03em;line-height:2}.contact-layout__social{gap:.6rem;display:grid}.contact-layout__label{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight)}.contact-layout__social .social{margin-left:-.7rem}.contact-form{gap:var(--content-gap);width:100%;display:grid}.contact-type{border:0;gap:.75rem;min-width:0;margin:0;padding:0;display:grid}.contact-type legend{color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-semibold);margin-bottom:.85rem}.required-badge{border-radius:var(--radius-pill);background:var(--ink);min-height:1.45rem;color:var(--paper);font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--lh-tight);text-box-trim:trim-both;text-box-edge:cap alphabetic;vertical-align:middle;white-space:nowrap;place-items:center;margin-left:.45rem;padding:0 .58rem;display:inline-grid}.choice-card{min-height:var(--control-h);border:1px solid var(--line-mid);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);cursor:pointer;font-size:var(--fs-small);font-weight:var(--fw-medium);line-height:var(--lh-snug);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.8rem 1.2rem;display:grid}.choice-card:focus-within,.choice-card:has(input:checked){border-color:var(--ink)}@media(hover:hover){.choice-card:hover{border-color:var(--ink)}}.choice-card:focus-within,.choice-card:has(input:checked){background:var(--surface);box-shadow:var(--control-active-shadow)}.choice-card:active{transform:scale(.992)}.choice-card input{width:.8rem;height:.8rem;accent-color:var(--ink)}.field{gap:.7rem;display:grid}.field label{color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-semibold);letter-spacing:var(--ls-body);line-height:var(--lh-snug)}.field input,.field textarea{border:1px solid var(--line-mid);border-radius:var(--radius-md);background:var(--paper);width:100%;color:var(--ink);font-size:var(--fs-title-sm);font-weight:var(--fw-regular);line-height:var(--lh-snug);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.field input{min-height:var(--control-h);padding:.85rem 1.1rem}.field textarea{min-height:12rem;line-height:var(--lh-relaxed);resize:vertical;padding:1rem 1.1rem}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field textarea:focus{border-color:var(--ink);background:var(--surface);box-shadow:var(--control-active-shadow);outline:2px solid #0000;transform:translateY(-1px)}.form-status{min-height:1.2em;color:var(--muted);font-size:var(--fs-small);line-height:var(--lh-relaxed);margin:0}.privacy-check{color:var(--ink);text-align:left;grid-template-columns:1.5rem minmax(0,1fr);align-items:start;gap:.8rem;display:grid;position:relative}.privacy-check__input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.privacy-check__box{border:1px solid var(--line-mid);background:var(--paper);width:1.5rem;height:1.5rem;box-shadow:inset 0 0 0 0 var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-normal) var(--ease-out-soft),transform var(--duration-normal) var(--ease-out-soft);border-radius:.24rem;place-items:center;margin-top:.06rem;display:grid;position:relative;transform:translateZ(0)}@media(hover:hover){.privacy-check__box:hover{border-color:var(--ink)}}.privacy-check__icon{width:.9rem;height:.9rem;color:var(--paper);fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity var(--duration-fast) var(--ease),transform var(--duration-normal) var(--ease-out-soft);transform:scale(.9)}.privacy-check__icon path{stroke-dasharray:16;stroke-dashoffset:16px;transition:stroke-dashoffset .36s var(--ease-out-soft)}.privacy-check__input:checked+.privacy-check__box{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 .35rem var(--ink);transform:scale(1.04)}.privacy-check__input:checked+.privacy-check__box .privacy-check__icon{opacity:1;transform:scale(1)}.privacy-check__input:checked+.privacy-check__box .privacy-check__icon path{stroke-dashoffset:0}.privacy-check__input:active+.privacy-check__box{transform:scale(.94)}.privacy-check__input:focus-visible+.privacy-check__box{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:4px}.privacy-check__input:disabled+.privacy-check__box,.privacy-check__input:disabled~.privacy-check__text{cursor:not-allowed;opacity:.55}.privacy-check__text{font-size:var(--fs-small);font-weight:var(--fw-medium);line-height:var(--lh-snug);flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.privacy-check__text-label{cursor:pointer}.privacy-check__text>a{width:fit-content;color:var(--ink);font-weight:var(--fw-medium);line-height:var(--lh-snug);transition:background-size var(--duration-normal) var(--ease-out-soft),opacity var(--dur-fast) var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.privacy-check__text>a:focus-visible{opacity:.7;background-size:0 1px}@media(hover:hover){.privacy-check__text>a:hover{opacity:.7;background-size:0 1px}}@media(prefers-reduced-motion:reduce){.privacy-check__box,.privacy-check__icon,.privacy-check__icon path{transition:none}}.contact-protection{color:var(--muted);font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:var(--lh-relaxed)}.archive-gate{gap:var(--block-gap);width:100%;display:grid}.archive-content{margin-top:var(--content-gap);width:100%}.legal-section{padding:var(--block-gap) 0;gap:0;display:grid;position:relative}.legal-section:first-child{padding-top:0}.legal-section:after{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.js .legal-section:after{transition:transform var(--line-draw);transition-delay:var(--d,0s);transform:scaleX(0)}.js .legal-section.is-in:after{transform:scaleX(1)}.legal-section h2{color:var(--ink);font-size:var(--fs-title-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.legal-section p{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-relaxed)}.legal-section a{color:var(--ink);transition:background-size var(--duration-normal) var(--ease-out-soft),opacity var(--dur-fast) var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.legal-section a:focus-visible{opacity:.7;background-size:0 1px}@media(hover:hover){.legal-section a:hover{opacity:.7;background-size:0 1px}}.breadcrumbs{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.breadcrumbs ol{--crumb-line:var(--lh-snug);--crumb-pad:calc((2.75rem - 1em * var(--crumb-line)) / 2);color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);flex-wrap:nowrap;align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:flex-start;min-width:0;display:flex}.breadcrumbs li:not(:last-child){flex:none}.breadcrumbs li+li:before{padding-block:var(--crumb-pad);color:var(--line-mid);line-height:var(--crumb-line);content:"/";flex:none;margin-inline:.6rem}.breadcrumbs a,.breadcrumbs span{min-width:0;padding-block:var(--crumb-pad);line-height:var(--crumb-line);overflow-wrap:anywhere;word-break:auto-phrase;display:block}.breadcrumbs a{color:var(--ink);transition:background-size var(--duration-normal) var(--ease-out-soft),opacity var(--duration-fast) var(--ease-out-soft);background-image:linear-gradient(currentColor,currentColor);background-position:0 calc(100% - .65rem);background-repeat:no-repeat;background-size:0 1px}.breadcrumbs a:focus-visible{background-size:100% 1px}@media(hover:hover){.breadcrumbs a:hover{background-size:100% 1px}}.public-document-intro{width:100%}.public-document-lead{margin-top:0}.public-document-prose{width:100%;min-width:0}.public-document-prose>h2{margin-top:var(--block-gap);color:var(--ink);font-size:var(--fs-title-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug);scroll-margin-top:7rem}.public-document-prose>h2:first-child{margin-top:0}.public-document-prose p,.public-document-prose li{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-relaxed)}.public-document-prose p{margin-top:.75rem}.public-document-prose ul,.public-document-prose ol{margin:.75rem 0 0;padding-left:1.5rem;list-style-position:outside}.public-document-prose ul{list-style-type:disc}.public-document-prose ol{list-style-type:decimal}.public-document-prose ul>li::marker{color:var(--ink);font-size:.8em}.public-document-prose ol>li::marker{color:var(--ink);font-variant-numeric:tabular-nums}.public-document-prose li+li{margin-top:.35rem}.public-document-prose>:is(p,ul,ol):has(+h2),.public-document-prose>:is(p,ul,ol):last-child{width:100%;max-width:none;padding-bottom:var(--block-gap);position:relative}.public-document-prose>:is(p,ul,ol):has(+h2):after,.public-document-prose>:is(p,ul,ol):last-child:after{background:var(--line);content:"";transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.js .public-document-prose>:is(p,ul,ol):has(+h2):after,.js .public-document-prose>:is(p,ul,ol):last-child:after{transition:transform var(--line-draw);transition-delay:var(--d,0s);transform:scaleX(0)}.js .public-document-prose>:is(p,ul,ol):has(+h2).is-in:after,.js .public-document-prose>:is(p,ul,ol):last-child.is-in:after{transform:scaleX(1)}.public-document-prose a{color:var(--ink);transition:background-size var(--duration-normal) var(--ease-out-soft),opacity var(--duration-fast) var(--ease-out-soft);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.public-document-prose a:focus-visible{opacity:.7;background-size:0 1px}@media(hover:hover){.public-document-prose a:hover{opacity:.7;background-size:0 1px}}.work-cover{border:1px solid var(--line-mid);border-radius:var(--radius-lg);background:var(--surface);view-transition-class:work-media;transition:border-color var(--duration-normal) var(--ease-out-soft),box-shadow var(--duration-normal) var(--ease-out-soft);margin-top:clamp(1.4rem,3vw,2.4rem);position:relative;overflow:hidden}.work-cover__trigger{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.work-cover img{aspect-ratio:16/9;object-fit:cover;object-position:top center;width:100%;transition:transform var(--duration-slow) var(--ease-out-soft)}.work-cover:has(.work-cover__trigger:focus-visible){border-color:var(--ink);box-shadow:0 .75rem 1.8rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.work-cover:has(.work-cover__trigger:focus-visible){box-shadow:0 .75rem 1.8rem color-mix(in srgb,var(--ink) 8%,transparent)}}.work-cover:has(.work-cover__trigger:focus-visible){outline:2px solid var(--ink);outline-offset:3px}.work-cover__trigger:focus-visible img{transform:scale(var(--hover-scale-subtle))}@media(hover:hover){.work-cover:has(.work-cover__trigger:hover){border-color:var(--ink);box-shadow:0 .75rem 1.8rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.work-cover:has(.work-cover__trigger:hover){box-shadow:0 .75rem 1.8rem color-mix(in srgb,var(--ink) 8%,transparent)}}.work-cover__trigger:hover img{transform:scale(var(--hover-scale-subtle))}}.work-cover__trigger:active img{transform:scale(.995)}.work-intro{gap:clamp(2rem,4vw,3rem);margin-top:clamp(2.25rem,5vw,4rem);display:grid}.work-intro__desc{max-width:38em;color:var(--ink);font-size:var(--fs-lead);letter-spacing:.03em;line-height:2}.work-intro__side{align-content:start;gap:1.75rem;min-width:0;display:grid}.work-meta{display:grid}.work-meta__row{border-top:1px solid var(--line);grid-template-columns:6.25rem minmax(0,1fr);gap:1rem;padding-block:.95rem;display:grid}.work-meta__row:last-child{border-bottom:1px solid var(--line)}.work-meta__label{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);padding-top:.45rem}.work-meta__value{min-width:0}.next-work{margin-top:var(--section-y)}.next-work__link{gap:clamp(1.4rem,3vw,2.25rem);padding-top:clamp(1.4rem,3vw,2.25rem);display:grid;position:relative}.next-work__link:before{content:"";background:var(--ink);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.next-work__label{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);align-items:center;gap:.9rem;display:flex}.next-work__label:after{content:"→";transition:transform var(--duration-slow) var(--ease-out-soft);font-size:1.1em}.next-work__name{width:fit-content;color:var(--ink);font-family:var(--font-en);font-size:var(--fs-page-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);overflow-wrap:anywhere;transition:background-size var(--duration-slower) var(--ease-out-soft);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;margin-top:1rem;line-height:1.2}.next-work__sub{color:var(--ink);font-size:var(--fs-small);font-weight:var(--fw-semibold);letter-spacing:.05em;line-height:var(--lh-snug);margin-top:.9rem}.next-work__media{border:1px solid var(--line-mid);border-radius:var(--radius-lg);background:var(--surface);transition:border-color var(--duration-normal) var(--ease-out-soft),box-shadow var(--duration-normal) var(--ease-out-soft);position:relative;overflow:hidden}.next-work__media img{aspect-ratio:16/9;object-fit:cover;object-position:top center;width:100%}.next-work__link:focus-visible{outline-offset:6px;border-radius:var(--radius-lg)}.next-work__link:focus-visible .next-work__name{background-size:100% 2px}.next-work__link:focus-visible .next-work__label:after{transform:translate(.4rem)}@media(hover:hover){.next-work__link:hover .next-work__name{background-size:100% 2px}.next-work__link:hover .next-work__label:after{transform:translate(.4rem)}.next-work__link:hover .next-work__media{border-color:var(--ink);box-shadow:0 1.2rem 2.4rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.next-work__link:hover .next-work__media{box-shadow:0 1.2rem 2.4rem color-mix(in srgb,var(--ink) 10%,transparent)}}}.work-detail__actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;padding-top:.3rem;display:flex}.app-store-badge{width:min(100%,clamp(7.75rem,18vw,8.75rem));min-height:2.75rem;transition:opacity var(--dur-fast) var(--ease);align-items:center;display:inline-flex}.app-store-badge[href]{cursor:pointer}.app-store-status{border:1px solid var(--line-mid);min-height:2.75rem;color:var(--muted);font-size:var(--fs-small);font-weight:var(--fw-semibold);border-radius:999px;align-items:center;padding:.55rem 1rem;display:inline-flex}.app-store-badge img{width:100%;height:auto;transition:transform var(--dur-fast) var(--ease);display:block}.app-store-badge[href]:focus-visible{opacity:.78}.app-store-badge[href]:focus-visible img{transform:translateY(-1px)}@media(hover:hover){.app-store-badge[href]:hover{opacity:.78}.app-store-badge[href]:hover img{transform:translateY(-1px)}}.app-store-badge[href]:active img{transform:scale(.985)}.work-gallery{margin-top:var(--section-y)}.work-gallery__list{--gallery-gap:clamp(.7rem, 3vw, 1rem);--gallery-row:6px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:var(--gallery-row);align-items:start;gap:var(--gallery-gap);display:grid}@media(prefers-reduced-motion:no-preference){.js .work-gallery__list:not(.is-layout-ready) [data-reveal=clip]{opacity:0;clip-path:inset(0 0 18% 0 round var(--radius-lg));transition:none}.js .work-gallery__list:not(.is-layout-ready) [data-reveal=clip] img{transition:none;transform:scale(1.025)}}.work-gallery__item{grid-column:span 1;grid-row-end:span var(--gallery-row-span,32);border:1px solid var(--line-mid);border-radius:var(--radius-lg);background:var(--surface);transition:border-color var(--duration-normal) var(--ease-out-soft),box-shadow var(--duration-normal) var(--ease-out-soft);margin:0;position:relative;overflow:hidden}.work-gallery__item.is-landscape,.work-gallery__item.is-panorama{grid-column:1/-1}.work-gallery__item img{object-fit:contain;width:100%;height:auto;transition:transform var(--duration-slow) var(--ease-out-soft)}.work-gallery__item:has(.work-gallery__trigger:focus-visible){border-color:var(--ink);box-shadow:0 .75rem 1.8rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.work-gallery__item:has(.work-gallery__trigger:focus-visible){box-shadow:0 .75rem 1.8rem color-mix(in srgb,var(--ink) 8%,transparent)}}.work-gallery__item:has(.work-gallery__trigger:focus-visible){outline:2px solid var(--ink);outline-offset:3px}.work-gallery__item:has(.work-gallery__trigger:focus-visible) img{transform:scale(var(--hover-scale-subtle))}@media(hover:hover){.work-gallery__item:has(.work-gallery__trigger:hover){border-color:var(--ink);box-shadow:0 .75rem 1.8rem var(--ink)}@supports (color:color-mix(in lab,red,red)){.work-gallery__item:has(.work-gallery__trigger:hover){box-shadow:0 .75rem 1.8rem color-mix(in srgb,var(--ink) 8%,transparent)}}.work-gallery__item:has(.work-gallery__trigger:hover) img{transform:scale(var(--hover-scale-subtle))}}.work-detail__pager{margin-top:var(--section-y);padding-top:var(--head-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.55rem,3vw,1.2rem);display:grid;position:relative}.work-detail__pager.is-single{grid-template-columns:minmax(0,1fr);justify-items:center}.work-detail__pager:before{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.js .work-detail__pager:before{transition:transform var(--line-draw);transition-delay:var(--d,0s);transform:scaleX(0)}.js .work-detail__pager.is-in:before{transform:scaleX(1)}.work-detail__pager-link{width:100%;min-width:0;color:var(--ink);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);text-align:center;transition:color var(--dur-fast) var(--ease);align-content:start;justify-items:center;gap:.55rem;display:inline-grid}.work-detail__pager-link.is-index{align-content:center;align-self:stretch;gap:0}.work-detail__pager.is-single .work-detail__pager-link.is-index{width:auto;min-width:6rem}.work-detail__pager-label{overflow-wrap:anywhere;grid-row:2;max-width:100%}.work-detail__pager-link.is-index .work-detail__pager-label{transition:background-size var(--duration-normal) var(--ease-out-soft);background-image:linear-gradient(currentColor,currentColor);background-position:50% 100%;background-repeat:no-repeat;background-size:0 1px;padding-bottom:.3rem}.work-detail__pager-link.is-index:focus-visible .work-detail__pager-label{background-size:100% 1px}@media(hover:hover){.work-detail__pager-link.is-index:hover .work-detail__pager-label{background-size:100% 1px}}.work-detail__pager-icon{translate:var(--mag-x,0px) var(--mag-y,0px);border:1px solid var(--ink);border-radius:var(--radius-pill);width:clamp(2.35rem,11vw,2.65rem);height:clamp(2.35rem,11vw,2.65rem);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),translate var(--duration-slow) var(--ease-out-soft);grid-row:1;place-items:center;display:grid}.work-detail__pager-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.18rem;height:1.18rem;display:block;overflow:visible}.work-detail__pager-link:focus-visible .work-detail__pager-icon{background:var(--ink);color:var(--paper)}.work-detail__pager-link.is-prev:focus-visible .work-detail__pager-icon{transform:translate(-3px)}.work-detail__pager-link.is-next:focus-visible .work-detail__pager-icon{transform:translate(3px)}@media(hover:hover){.work-detail__pager-link:hover .work-detail__pager-icon{background:var(--ink);color:var(--paper)}.work-detail__pager-link.is-prev:hover .work-detail__pager-icon{transform:translate(-3px)}.work-detail__pager-link.is-next:hover .work-detail__pager-icon{transform:translate(3px)}}.work-detail__pager-link:active .work-detail__pager-icon{transform:scale(.94)}.contact-cta{margin-top:var(--section-y);text-align:center;justify-items:center;gap:clamp(1.75rem,3vw,2.25rem);padding-top:clamp(3rem,7vw,5.5rem);display:grid;position:relative}.contact-cta:before{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.contact-cta__lead{max-width:30em;color:var(--ink);font-size:var(--fs-lead);font-weight:var(--fw-semibold);font-feature-settings:"palt";letter-spacing:.04em;text-wrap:balance;line-height:1.85}.contact-cta>div{justify-content:center;width:100%;display:flex}.contact-cta .btn{margin-top:.75rem}@media(min-width:760px){.site-nav{display:flex}.site-menu{display:none}.works-grid{--works-shift:clamp(3rem, 10vw, 9.5rem);grid-template-columns:repeat(2,minmax(0,1fr))}.work-card{--d:calc(var(--stagger-step) * var(--card-column-2,0))}.work-gallery__list{--gallery-gap:1rem;--gallery-row:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.next-work__link{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:end;column-gap:clamp(2rem,5vw,5rem)}.work-gallery__item.is-square,.work-gallery__item.is-landscape{grid-column:span 2}.work-gallery__item.is-panorama{grid-column:1/-1}.detail-row{grid-template-columns:var(--detail-label-column) minmax(0,1fr);gap:var(--detail-row-column-gap)}.detail-row__title{white-space:nowrap}.site-footer__bar{text-align:left;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;display:grid}.site-footer__bar>.social{flex-wrap:nowrap;justify-self:end}}@media(max-width:759px){.btn,.btn--full{width:100%;max-width:none}}@media(min-width:1020px){.work-gallery__list{--gallery-gap:1.25rem}.about-hero{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.8rem clamp(2rem,4vw,4rem)}.work-intro{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;column-gap:clamp(3rem,6vw,6rem)}.detail-rows--columns{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(2rem,4vw,4.5rem)}.detail-rows--columns .detail-row{grid-template-columns:1fr;align-content:start;gap:1.25rem;padding:1.6rem 0 0}.detail-rows--columns .detail-row:after{top:0;bottom:auto}.contact-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(3rem,6vw,6.5rem)}.contact-layout__aside{position:sticky;top:8rem}.about-hero__intro{grid-column:1/-1}.about-hero__portrait{grid-column:1}.about-hero__text{grid-column:2;align-self:start;margin-top:0}.work-detail__pager-icon{width:3.2rem;height:3.2rem}}.u-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{position:relative}.gl-layer{--gl-pad:.2;pointer-events:none;position:absolute;inset:0;overflow:clip}.gl-layer__canvas{width:100%;height:calc(100vh * (1 + 2 * var(--gl-pad)));height:calc(100lvh * (1 + 2 * var(--gl-pad)));will-change:transform;display:block;position:absolute;top:0;left:0}.gl-layer--media{z-index:5}.gl-layer--stage{z-index:0;opacity:0;transition:opacity 1.1s var(--ease-out-soft)}html[data-stage=on] .gl-layer--stage{opacity:1}main{z-index:1;position:relative}.site-footer{z-index:1}.js [data-reveal=letters]{opacity:1;filter:none;will-change:auto;transition:color .9s var(--ease-out-soft);transform:none}[data-reveal=letters] [data-char]{display:inline-block}.js [data-reveal=letters] [data-char]{opacity:0;filter:blur(6px);transition:opacity .8s var(--ease),transform 1s var(--ease),filter .8s var(--ease);transition-delay:calc(var(--d,0s) + var(--i,0) * 38ms);transform:translateY(.32em)}.js [data-reveal=letters].is-in [data-char]{opacity:1;filter:blur();transform:none}.js.is-reveal-resetting [data-reveal=letters] [data-char],.js.is-reveal-resetting [data-reveal=rule] .mask-char{transition:none!important}.split__word--latin{white-space:nowrap}.mask-cell{vertical-align:top;margin-block:-.1em;padding-block:.1em;display:inline-block;overflow:hidden}.mask-char{display:inline-block}.js [data-reveal=rule]>.is-split{opacity:1;filter:none;transform:none}.js [data-reveal=rule] .mask-char{transition:transform 1s var(--ease-out-soft);transition-delay:calc(var(--d,0s) + 70ms + min(var(--i,0),24) * 32ms);transform:translateY(110%)}.js [data-reveal=rule].is-in .mask-char{transform:none}.page-head__stage{top:0;right:clamp(0rem,1.6vw,1.25rem);bottom:var(--head-rule-gap);width:var(--sculpture);height:var(--sculpture);pointer-events:none;margin-block:auto;position:absolute}.notfound-stage{pointer-events:none;place-items:center;width:100%;height:clamp(10rem,38vw,24rem);margin-block:clamp(1rem,3vw,2rem);display:grid}.notfound-stage__digits{color:var(--line);font-family:var(--font-en);font-size:clamp(8rem,32vw,20rem);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:1}html[data-stage=on] .notfound-stage__digits{color:#0000}.page--home{padding-top:0}.hero{grid-template-rows:minmax(0,1fr) auto;min-height:100svh;padding-top:clamp(5.5rem,13vh,8rem);padding-bottom:clamp(1.4rem,4.5vh,2.6rem);display:grid;position:relative}.hero__stage{align-items:center;min-width:0;min-height:0;display:grid;container-type:inline-size}.hero__name{color:var(--ink);font-family:var(--font-en);font-size:clamp(2.6rem,9.8vw,9.9rem);font-size:calc(100cqi / var(--hero-fit,8.1));font-weight:var(--fw-bold);letter-spacing:.012em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-self:start;align-items:baseline;gap:.26em;line-height:.9;display:flex;position:relative}html[data-stage=on] .hero__name{color:#0000}.hero__line{align-items:baseline;display:flex}.hero__probe{width:0;height:0;display:block}.hero__meta{opacity:calc(1 - var(--hero-p,0) * 1.7);translate:0 calc(var(--hero-p,0) * -1.6rem);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:1.5rem;display:grid}.hero__meta:focus-within{opacity:1;translate:none}.hero__role{white-space:nowrap;color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);gap:.5rem;display:grid}.hero__clock{border-left:1px solid var(--line-mid);color:var(--ink);font-variant-numeric:tabular-nums;margin-left:.9em;padding-left:.9em}.hero__colon{animation:2s step-end infinite clock-colon}@keyframes clock-colon{50%{opacity:.2}}.hero__motto{color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-medium);letter-spacing:.12em;line-height:var(--lh-snug);justify-self:center}.hero__scroll{min-height:2.75rem;color:var(--ink);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);justify-self:end;align-items:center;gap:.9rem;display:inline-flex}.hero__scroll-line{background:var(--line);width:4.5rem;height:1px;position:relative;overflow:hidden}.hero__scroll-line:after{content:"";background:var(--ink);transform-origin:0;animation:scroll-cue 2.6s var(--ease-in-out-soft) infinite;position:absolute;inset:0;transform:scaleX(0)}@keyframes scroll-cue{0%{transform-origin:0;transform:scaleX(0)}45%{transform-origin:0;transform:scaleX(1)}55%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@media(max-width:759px){.hero{padding-top:clamp(6rem,16vh,8rem)}.hero__name{font-size:16.6vw;font-size:calc(100cqi / var(--hero-fit-sm,5.31));flex-direction:column;gap:0;line-height:.94}}@media(max-width:1019px){.hero__meta{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"motto motto""role scroll";row-gap:1.6rem}.hero__motto{grid-area:motto;justify-self:start}.hero__role{grid-area:role}.hero__scroll{grid-area:scroll}.hero__scroll-line{width:2.5rem}}.marquee{margin-inline:calc(var(--page-x) * -1);border-block:1px solid var(--line);-webkit-user-select:none;user-select:none;gap:clamp(.4rem,1.2vw,.9rem);padding-block:clamp(1.1rem,2.6vw,1.8rem);display:grid;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.marquee__row{overflow:hidden}.marquee__track{will-change:transform;width:max-content;display:flex}.marquee__group{flex:none;align-items:center;display:flex}.marquee__item{color:var(--ink);font-family:var(--font-en);font-size:clamp(1.4rem,.9rem + 2vw,2.4rem);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);white-space:nowrap;padding-inline:clamp(.9rem,2vw,1.75rem);line-height:1.2}.marquee__row--sub .marquee__item{color:var(--muted);font-family:var(--font-ja);font-size:clamp(.875rem,.75rem + .5vw,1.1rem);font-weight:var(--fw-medium);letter-spacing:.08em;padding-inline:clamp(.9rem,2vw,1.6rem)}.marquee__dot{background:var(--ink);border-radius:50%;flex:none;width:clamp(.3rem,.6vw,.45rem);height:clamp(.3rem,.6vw,.45rem)}.marquee__row--sub .marquee__dot{background:var(--line-mid);width:.3rem;height:.3rem}.statement{margin-top:var(--section-y);justify-items:start;gap:clamp(1.4rem,3vw,2.4rem);display:grid}.statement__label{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);align-items:center;gap:.9rem;display:flex}.statement__label:before{content:"";background:var(--line-mid);width:1.5rem;height:1px}.statement__text{max-width:20.5em;color:var(--ink);font-size:clamp(1.25rem,.9rem + 1.5vw,2.1rem);font-weight:var(--fw-bold);font-feature-settings:"palt";letter-spacing:.03em;text-wrap:balance;line-height:1.42}.statement__char{opacity:clamp(.28,calc((var(--p,1) * (var(--n) + 10) - var(--i)) / 10),1)}.home-works{margin-top:var(--section-y);scroll-margin-top:5rem}.work-card__index{color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);align-items:center;gap:.75rem;display:flex}.work-card__index:after{content:"";background:var(--line-mid);transform-origin:0;height:1px;transition:transform var(--duration-slow) var(--ease-out-soft);flex:0 0 1.5rem}.work-card:has(.work-card__link:focus-visible) .work-card__index:after{transform:scaleX(2.4)}@media(hover:hover){.work-card:has(.work-card__link:hover) .work-card__index:after{transform:scaleX(2.4)}}[data-gl-media=print] img{transition:opacity .8s var(--ease-out-soft)}html:is([data-media=pending],[data-media=on]) [data-gl-media=print]:not([data-gl=live],[data-gl=off]) img{opacity:0}html:is([data-media=pending],[data-media=on]) [data-gl-media=print]{background:0 0}html:is([data-media=pending],[data-media=on]) [data-gl-media=print][data-reveal=clip]{clip-path:none}html[data-media=on] [data-gl-media] img{transform:none!important}html[data-media=on] [data-gl-media]{view-transition-name:none!important}.cursor{z-index:var(--z-cursor);pointer-events:none;opacity:0;transition:opacity var(--duration-normal) var(--ease-out-soft);display:none;position:fixed;top:0;left:0}html.has-cursor .cursor{display:block}.cursor.is-visible{opacity:1}.cursor__ring{--ring:2.1rem;width:var(--ring);height:var(--ring);margin:calc(var(--ring) / -2) 0 0 calc(var(--ring) / -2);border:1px solid var(--ink);position:absolute;top:0;left:0}@supports (color:color-mix(in lab,red,red)){.cursor__ring{border:1px solid color-mix(in srgb,var(--ink) 55%,transparent)}}.cursor__ring{transition:width .42s var(--ease-out-soft),height .42s var(--ease-out-soft),margin .42s var(--ease-out-soft),border-color var(--duration-normal) var(--ease-out-soft),background-color var(--duration-normal) var(--ease-out-soft),box-shadow var(--duration-normal) var(--ease-out-soft),scale var(--duration-fast) var(--ease-out-soft),opacity var(--duration-normal) var(--ease-out-soft);border-radius:50%}.cursor[data-state=link] .cursor__ring{--ring:3.5rem;border-color:var(--ink);background-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.cursor[data-state=link] .cursor__ring{background-color:color-mix(in srgb,var(--ink) 4%,transparent)}}.cursor[data-state=view] .cursor__ring{--ring:calc(var(--lens-radius,68px) * 2);box-shadow:0 0 0 1px var(--ink),inset 0 0 0 1px var(--ink);border-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.cursor[data-state=view] .cursor__ring{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}}.cursor[data-state=zoom] .cursor__ring{--ring:4.5rem;box-shadow:0 0 0 1px var(--ink);border-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.cursor[data-state=zoom] .cursor__ring{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 30%,transparent)}}.cursor[data-state=hidden] .cursor__ring{opacity:0;scale:.4}.cursor.is-pressed .cursor__ring{scale:.86}.cursor__label{border-radius:var(--radius-pill);background:var(--ink);color:var(--paper);font-family:var(--font-en);font-size:.625rem;font-weight:var(--fw-medium);letter-spacing:.14em;white-space:nowrap;opacity:0;transition:opacity var(--duration-normal) var(--ease-out-soft),translate .42s var(--ease-out-soft),scale .42s var(--ease-out-soft);padding:.42rem .62rem .38rem;line-height:1;position:absolute;top:0;left:0;translate:-50% .4rem;scale:.85}.cursor__label:empty{display:none}.cursor[data-state=view] .cursor__label{opacity:1;translate:-50% calc(var(--lens-radius,68px) + .6rem);scale:1}.cursor[data-state=zoom] .cursor__label{opacity:1;translate:-50% 2.85rem;scale:1}.nav-progress{z-index:var(--z-nav-progress);background:var(--ink);opacity:0;pointer-events:none;transform-origin:0;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.nav-progress.is-loading{opacity:1;transition:transform 2.6s cubic-bezier(.08,.72,.2,1),opacity .2s linear;transform:scaleX(.72)}.nav-progress.is-done{opacity:0;transition:transform .32s var(--ease-out-soft),opacity .42s var(--ease-out-soft) .24s;transform:scaleX(1)}.hover-preview{z-index:var(--z-preview);pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.hover-preview__media{aspect-ratio:16/9;border:1px solid var(--line-mid);border-radius:var(--radius-md);background:var(--surface);width:clamp(12rem,17vw,15.5rem);box-shadow:0 1.2rem 2.6rem var(--ink);position:absolute;bottom:1.4rem;left:1.4rem;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hover-preview__media{box-shadow:0 1.2rem 2.6rem color-mix(in srgb,var(--ink) 14%,transparent)}}.hover-preview__media{clip-path:inset(100% 0 0 0 round var(--radius-md));transition:clip-path .5s var(--ease-out-soft)}.hover-preview__media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:scale .7s var(--ease-out-soft);scale:1.12}.hover-preview__title{width:max-content;max-width:clamp(12rem,17vw,15.5rem);color:var(--ink);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity var(--duration-normal) var(--ease-out-soft),translate var(--duration-slow) var(--ease-out-soft);position:absolute;bottom:0;left:1.4rem;overflow:hidden;translate:0 .4rem}.hover-preview.is-visible .hover-preview__media{clip-path:inset(0 0 0 0 round var(--radius-md))}.hover-preview.is-visible .hover-preview__media img{scale:1}.hover-preview.is-visible .hover-preview__title{opacity:1;translate:0}.hover-preview.is-flipped .hover-preview__media,.hover-preview.is-flipped .hover-preview__title{left:auto;right:1.4rem}.to-top{right:var(--page-x);bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:var(--z-to-top);background:var(--paper);border-radius:50%;place-items:center;width:3rem;height:3rem;padding:0;display:grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.to-top{background:color-mix(in srgb,var(--paper) 86%,transparent)}}.to-top{color:var(--ink);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(.75rem)scale(.88);translate:0 calc(var(--dock,0px) * -1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity var(--duration-normal) var(--ease-out-soft),transform var(--duration-slow) var(--ease-spring-soft),visibility 0s linear var(--duration-slow)}.to-top.is-visible{opacity:1;visibility:visible;transition:opacity var(--duration-normal) var(--ease-out-soft),transform var(--duration-slow) var(--ease-spring-soft),visibility 0s;transform:none}.to-top.is-visible.is-away:not(:focus-visible){opacity:0;pointer-events:none;transform:translateY(.75rem)scale(.88)}.menu-open .to-top,.is-image-lightbox-open .to-top{opacity:0;visibility:hidden}.to-top__ring{width:100%;height:100%;position:absolute;inset:0;rotate:-90deg}.to-top__ring circle{fill:none;stroke-width:1px}.to-top__track{stroke:var(--line)}.to-top__progress{stroke:var(--ink);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--progress,0))}.to-top__arrow{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem;translate:var(--mag-x,0px) var(--mag-y,0px);transition:translate var(--duration-slow) var(--ease-out-soft);position:relative}.to-top:focus-visible .to-top__arrow{animation:to-top-nudge .7s var(--ease-out-soft)}@media(hover:hover){.to-top:hover .to-top__arrow{animation:to-top-nudge .7s var(--ease-out-soft)}}@keyframes to-top-nudge{0%{opacity:1;transform:translateY(0)}45%{opacity:0;transform:translateY(-.6rem)}46%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@media(forced-colors:active){.gl-layer{display:none}}@media print{.gl-layer,.cursor,.nav-progress,.hover-preview,.to-top,.marquee{display:none!important}[data-gl-media] img{opacity:1!important;transition:none!important}html[data-stage=on] body[data-stage-mode=on] .footer-mark{color:var(--ink)!important}html[data-stage=on] .notfound-stage__digits{color:var(--line)!important}.hero__name{color:var(--ink)!important}.hero__meta{opacity:1!important;translate:none!important}.js [data-reveal=letters] [data-char],.js [data-reveal=rule] .mask-char{opacity:1!important;filter:none!important;transform:none!important}.js [data-reveal],.js [data-reveal-sections]>:not([data-reveal]),.js [data-reveal=rule]>*,.js [data-reveal=line]>*{opacity:1!important;filter:none!important;clip-path:none!important;transform:none!important}.js [data-reveal=rule]:after,.js [data-reveal=line]:before,.js .public-document-prose>:is(p,ul,ol):has(+h2):after,.js .public-document-prose>:is(p,ul,ol):last-child:after{transform:scaleX(1)!important}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.js [data-reveal],.js [data-reveal-sections]>:not([data-reveal]),.js [data-reveal=rule]>*,.js [data-reveal=line]>*,.js [data-reveal=letters] [data-char],.js [data-reveal=rule] .mask-char{opacity:1;filter:none;clip-path:none;transform:none}.gl-layer,.cursor{display:none!important}.hero__scroll-line:after{animation:none;transform:scaleX(1)}.hero__meta{opacity:1;translate:none}.js [data-reveal=rule]:after,.js [data-reveal=line]:before,.js .detail-row:after,.js .legal-section:after,.js .public-document-prose>:is(p,ul,ol):has(+h2):after,.js .public-document-prose>:is(p,ul,ol):last-child:after,.js .work-detail__pager:before{transform:scaleX(1)}::view-transition-group(*){animation:none!important}::view-transition-image-pair(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.site-intro[data-astro-cid-fytac423]{position:fixed;inset:0;z-index:var(--z-intro);display:none;place-items:center;padding:var(--page-x);background:transparent;transition:opacity var(--duration-slow) var(--ease-out-soft)}html.is-loading .site-intro[data-astro-cid-fytac423]{display:grid}html.is-loading{overflow:hidden}html.is-loading main,html.is-loading .site-header,html.is-loading .site-footer,html.is-loading .to-top,html.is-loading .gl-layer--media{opacity:0;pointer-events:none}.site-header,.gl-layer--media{transition:opacity .6s var(--ease-out-soft)}.site-intro[data-astro-cid-fytac423].is-leaving{opacity:0;pointer-events:none}.site-intro[data-astro-cid-fytac423].is-skipping,.site-intro[data-astro-cid-fytac423].is-skipping .site-intro__panel[data-astro-cid-fytac423],.site-intro[data-astro-cid-fytac423].is-skipping .site-intro__rule[data-astro-cid-fytac423]{transition-duration:.12s}.site-intro__panel[data-astro-cid-fytac423]{display:grid;transition:opacity var(--duration-slow) var(--ease-in-out-soft),transform var(--duration-slow) var(--ease-in-out-soft),filter var(--duration-slow) var(--ease-in-out-soft)}.is-leaving[data-astro-cid-fytac423] .site-intro__panel[data-astro-cid-fytac423]{opacity:0;transform:translateY(-.5rem);filter:blur(var(--reveal-blur))}.site-intro__wordmark[data-astro-cid-fytac423]{position:relative;display:flex;align-items:baseline;gap:.26em;color:var(--ink);font-family:var(--font-en);font-size:clamp(2.1rem,1.1rem + 4vw,4.6rem);font-weight:var(--fw-bold);letter-spacing:.012em;line-height:var(--lh-tight);text-transform:uppercase;white-space:nowrap;transition:color .7s var(--ease-out-soft)}.site-intro__line[data-astro-cid-fytac423]{display:flex;align-items:baseline}.site-intro__probe[data-astro-cid-fytac423]{display:block;width:0;height:0}.has-particles[data-astro-cid-fytac423] .site-intro__wordmark[data-astro-cid-fytac423]{color:transparent}.site-intro__letter[data-astro-cid-fytac423]{display:inline-block;opacity:0;transform:translateY(.55em);filter:blur(var(--reveal-blur));transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease),filter var(--duration-slow) var(--ease);transition-delay:calc(80ms + var(--i) * 26ms)}.is-armed[data-astro-cid-fytac423] .site-intro__letter[data-astro-cid-fytac423]{opacity:1;transform:none;filter:blur(0)}.site-intro__rule[data-astro-cid-fytac423]{height:1px;margin-top:var(--head-rule-gap);background:var(--ink);transform:scaleX(var(--intro-p, 0));transform-origin:left;transition:transform .32s var(--ease-out-soft)}.site-intro__meta[data-astro-cid-fytac423]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.9rem;color:var(--muted);font-family:var(--font-en);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--ls-caps);line-height:var(--lh-tight);text-transform:uppercase;opacity:0;transform:translateY(.35rem);transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease);transition-delay:.4s}.is-armed[data-astro-cid-fytac423] .site-intro__meta[data-astro-cid-fytac423]{opacity:1;transform:none}.site-intro__count[data-astro-cid-fytac423]{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.site-intro[data-astro-cid-fytac423]{display:none!important}}@media print{.site-intro[data-astro-cid-fytac423]{display:none!important}}
