@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-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}}}@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;--spacing:.25rem;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.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}.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)}}:root{--ink:#0a0a0a;--paper:#f1eee7;--violet:#8c43ff;--mint:#d4f7e8;--line:#0a0a0a2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Helvetica Neue,PingFang SC,Noto Sans CJK SC,Arial,sans-serif}section,footer{scroll-margin-top:92px}a{color:inherit;text-decoration:none}button{font:inherit}.cursor-dot,.cursor-ring{z-index:1000;pointer-events:none;opacity:0;will-change:transform;display:none;position:fixed;top:0;left:0}@media (pointer:fine){.cursor-dot,.cursor-ring{display:block}.custom-cursor-active body,.custom-cursor-active a,.custom-cursor-active button,.custom-cursor-active [tabindex]{cursor:none!important}}.cursor-dot{background:var(--violet);border-radius:50%;width:4px;height:4px;transition:opacity .18s}.cursor-ring{background:#8c43ff00;border:1px solid #8c43ff8c;border-radius:50%;width:30px;height:30px;transition:width .25s ease-out,height .25s ease-out,background .25s ease-out,border-color .25s ease-out,opacity .18s}.cursor-dot.is-visible,.cursor-ring.is-visible{opacity:1}.cursor-ring.is-hovering{background:#8c43ff14;border-color:#8c43ffb3;width:50px;height:50px}.ticker{background:var(--ink);color:#cfeee5;letter-spacing:.12em;white-space:nowrap;height:36px;font-size:12px;font-weight:700;overflow:hidden}.ticker-track{will-change:transform;align-items:center;width:max-content;height:100%;animation:32s linear forwards tickerIntro,16s linear 32s infinite tickerLoop;display:flex;transform:translate(100vw)}.ticker-sequence{flex:0 0 100vw;justify-content:space-around;align-items:center;height:100%;padding:0 3vw;display:flex}.ticker-track i{color:var(--violet);font-style:normal}@keyframes tickerIntro{0%{transform:translate(100vw)}to{transform:translate(-100vw)}}@keyframes tickerLoop{0%{transform:translate(-100vw)}to{transform:translate(-200vw)}}@keyframes tickerResponsiveIntro{0%{transform:translate(100vw)}to{transform:translate(-25%)}}@keyframes tickerResponsiveLoop{0%{transform:translate(-25%)}to{transform:translate(-50%)}}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f1eee7e6;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:78px;padding:0 32px;display:grid;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;gap:10px;width:max-content;font-size:24px;font-weight:700;display:inline-flex}.brand-dot{background:var(--violet);border-radius:50%;width:18px;height:18px;margin-right:10px;box-shadow:10px 0 #0a0a0a}.site-header nav{white-space:nowrap;justify-self:center;gap:clamp(20px,3vw,52px);font-size:15px;font-weight:700;display:flex}nav a{position:relative}nav a:after{content:"";background:var(--violet);height:2px;transition:right .25s;position:absolute;bottom:-7px;left:0;right:100%}nav a:hover:after{right:0}.hero{--hero-bg:var(--paper);isolation:isolate;min-height:calc(100vh - 114px);padding:clamp(38px,5vw,78px) 6vw 42px;position:relative;overflow:hidden}.hero:after{content:"";z-index:10;background:var(--ink);pointer-events:none;transform-origin:top;animation:1.05s cubic-bezier(.77,0,.18,1) 80ms both heroCurtain;position:absolute;inset:0}.eyebrow{letter-spacing:.22em;font-size:11px;font-weight:800}.hero-orbit{--orbit-safe-shift:0px;top:calc(2% + var(--orbit-safe-shift));right:3%;bottom:calc(8% - var(--orbit-safe-shift));z-index:1;transform-origin:50%;animation:1.15s cubic-bezier(.16,1,.3,1) .38s both heroOrbitIn;position:absolute;left:3%}.orbit-plane{--orbit-radius-x:min(37vw,520px);--orbit-radius-y:min(24vw,280px);--orbit-center-y:calc(44% + 13px);transform-origin:50%;position:absolute;inset:0;transform:rotate(-10deg)}.orbit-guide{left:50%;top:var(--orbit-center-y);width:calc(var(--orbit-radius-x) * 2);height:calc(var(--orbit-radius-y) * 2);border:1px solid #0a0a0a21;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.orbit-guide:after{content:"";border-radius:inherit;border:1px dashed #8c43ff21;position:absolute;inset:13px}.orbit-node{offset-path:ellipse(var(--orbit-radius-x) var(--orbit-radius-y) at 50% var(--orbit-center-y));offset-distance:0%;offset-rotate:0deg;width:clamp(70px,5.875vw,85px);height:clamp(70px,5.875vw,85px);position:absolute;top:0;left:0}.orbit-icon{--proximity-scale:1;opacity:1;filter:drop-shadow(0 10px 18px #0a0a0a1f);width:100%;height:100%;transform:rotate(10deg) scale(var(--proximity-scale));transform-origin:50%;will-change:transform}.orbit-icon img{aspect-ratio:1;object-fit:contain;width:100%;height:100%;display:block}.hero-core{z-index:2;text-align:left;width:100vw;position:absolute;top:46%;left:50%;transform:translate(-50%,-52%)}.hero-word-mask{z-index:2;background:0 0;padding-bottom:.08em;display:block;position:relative;overflow:hidden}.hero-word-mask>*{animation:.78s cubic-bezier(.16,1,.3,1) forwards heroWordIn;display:block;transform:translateY(115%)scale(.96)}.hero-upper-copy{flex-direction:column;align-items:flex-start;width:max-content;margin:0 0 clamp(20px,2.2vw,34px);display:flex;position:relative;left:60%;transform:translate(-50%,-28px)}.hero-welcome-mask{padding-left:0}.hero-to-my-mask{align-self:flex-end;margin-top:clamp(7px,.8vw,12px);margin-right:clamp(8px,1.4vw,22px);padding:0 .02em .08em}.hero-welcome{letter-spacing:-.055em;color:var(--violet);font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5.4vw,84px);font-style:italic;line-height:.82;animation-delay:.68s}.hero-to-my{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:clamp(19px,2.8vw,42px);font-weight:700;line-height:.82;animation-delay:.86s}.hero-portfolio-mask{box-sizing:content-box;width:max-content;margin-inline:auto;padding:0 clamp(8px,1.35vw,24px) .12em}.hero-core h1{letter-spacing:-.075em;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(72px,11.04vw,169px);font-weight:400;line-height:.76;animation-delay:1.04s}.hero-meta{z-index:3;justify-content:space-between;align-items:flex-end;font-size:13px;display:flex;position:absolute;bottom:42px;left:32px;right:6vw}.hero-identity{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.identity-mask{padding-bottom:.08em;display:block;overflow:hidden}.identity-mask>*{animation:.72s cubic-bezier(.16,1,.3,1) forwards heroIdentityIn;display:block;transform:translateY(115%)}.identity-mask:first-child>*{animation-delay:1.32s}.identity-mask:last-child>*{animation-delay:1.43s}.hero-identity strong{color:#1a1a1a;letter-spacing:-.035em;font-family:Helvetica Neue,Arial Nova,Arial,sans-serif;font-size:clamp(25px,2.3vw,39px);font-weight:500;line-height:1}.identity-mask>span{color:#6e6a66;letter-spacing:.015em;font-family:Georgia,Times New Roman,serif;font-size:clamp(14px,1.2vw,18px);font-weight:400}.hero-meta a{border-bottom:1px solid;padding-bottom:8px;font-size:14px;font-weight:800;animation:.65s cubic-bezier(.16,1,.3,1) 1.55s both heroAuxIn}.hero-meta a span{color:var(--violet);font-size:20px}@keyframes heroCurtain{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes heroOrbitIn{0%{opacity:0;transform:scale(.82)translateY(28px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes heroWordIn{0%{transform:translateY(115%)scale(.96)}to{transform:translateY(0)scale(1)}}@keyframes heroIdentityIn{0%{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes heroAuxIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.work-section{background:var(--ink);color:var(--paper);padding:80px 32px 110px}.section-intro{grid-template-columns:1fr 2fr;align-items:start;gap:40px;padding:0 0 70px;display:grid}.section-intro>div{align-items:center;gap:0;display:flex}.section-intro p{letter-spacing:.18em;margin:0;font-size:11px;font-weight:800}.section-kicker{padding-bottom:2px;overflow:hidden}.section-kicker>span{display:block}.section-intro h2{letter-spacing:-.045em;margin:0;padding-bottom:.08em;font-family:Georgia,serif;font-size:clamp(42px,5.5vw,88px);font-weight:400;line-height:1;overflow:hidden}.section-intro h2>span{display:block}.section-intro.inverse h2{color:#d3eee6}.section-intro .section-title,.contact-label .section-title{letter-spacing:.065em;margin:0;padding:0 0 .08em;font-family:Helvetica Neue,PingFang SC,Noto Sans CJK SC,Arial,sans-serif;font-size:clamp(36px,2.6vw,52px);font-weight:650;line-height:1;overflow:hidden}.section-intro.inverse .section-title{color:#d3eee6}.section-intro .section-title.is-brand-purple,.contact-label .section-title.is-brand-purple{color:var(--violet)}.section-intro.section-heading-only{padding-bottom:clamp(44px,4.5vw,64px);display:block}.work-index{border-top:1px solid #3a3a3a;border-bottom:1px solid #3a3a3a;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 58px;display:grid}.work-index button{color:#aaa;text-align:left;cursor:pointer;background:0 0;border:0;border-right:1px solid #3a3a3a;align-items:center;gap:12px;min-height:78px;padding:0 18px;transition:color .28s,background .28s;display:flex;position:relative}.work-index button:last-child{border-right:0}.work-index button:after{content:"";background:var(--violet);transform-origin:0;height:2px;transition:transform .32s ease-out;position:absolute;bottom:-1px;left:18px;right:18px;transform:scaleX(0)}.work-index button span{color:#666;font:9px/1 ui-monospace,monospace;transition:color .28s}.work-index button strong{letter-spacing:.055em;font-size:clamp(17px,1.45vw,22px);font-weight:650}.work-index button i{color:#656565;margin-left:auto;font-size:12px;font-style:normal;transition:color .28s,transform .28s}.work-index button:hover{color:var(--paper);background:#ffffff06}.work-index button:hover i{color:var(--violet);transform:translate(2px,2px)}.work-index button.active{color:var(--paper)}.work-index button.active:after{transform:scaleX(1)}.work-index button.active span,.work-index button.active i{color:var(--violet)}.work-gallery-stage{min-width:0}.gallery-heading{border-bottom:1px solid #3a3a3a;justify-content:space-between;align-items:end;gap:32px;padding:0 0 22px;display:flex}.gallery-heading>div:first-child{align-items:baseline;gap:16px;display:flex}.gallery-category-title{color:#d3eee6;letter-spacing:-.04em;white-space:nowrap;align-items:baseline;gap:clamp(32px,2.8vw,44px);font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,2.1vw,36px);line-height:1;display:inline-flex}.gallery-category-title>span{display:block}.gallery-heading b{color:#8c8c8c;letter-spacing:.12em;font:600 14px/1 ui-monospace,monospace}.gallery-controls{align-items:center;display:flex}.work-view-more-button{isolation:isolate;background:var(--violet);min-width:148px;height:50px;color:var(--paper);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0 30px;display:grid;position:relative;overflow:hidden}.work-view-more-button:before{content:"";z-index:0;border-radius:inherit;transform-origin:0;background:#0a0a0a33;transition:transform .46s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.work-view-more-copy{z-index:1;letter-spacing:.14em;white-space:nowrap;grid-area:1/1;font:700 12px/1 ui-monospace,monospace;position:relative}.work-view-more-copy.is-reveal{z-index:2;color:#fff;clip-path:inset(0 100% 0 0);transition:clip-path .46s cubic-bezier(.65,0,.35,1)}.work-view-more-button:hover:before{transform:scaleX(1)}.work-view-more-button:hover .work-view-more-copy.is-reveal{clip-path:inset(0)}.work-view-more-button:focus{outline:none}.work-view-more-button:focus-visible{outline:2px solid var(--paper);outline-offset:4px}.horizontal-gallery{--gallery-gap:18px;margin:0 -32px;padding:24px 0 26px;overflow:hidden}.gallery-track{align-items:flex-start;column-gap:var(--gallery-gap);will-change:transform;width:max-content;min-width:0;display:flex}.gallery-sequence{align-items:flex-start;column-gap:var(--gallery-gap);flex:none;width:max-content;min-width:0;display:flex}.gallery-card{flex:0 0 var(--gallery-card-width,clamp(330px,38vw,550px));color:var(--paper);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.gallery-art-frame{aspect-ratio:var(--gallery-ratio,16/10);background:#101010;border-radius:3px;transition:transform .38s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}.gallery-media{object-fit:contain;background:#101010;width:100%;height:100%;display:block}.gallery-media-play{z-index:2;color:var(--paper);pointer-events:none;background:#0a0a0a7a;border-color:#f3f1ecc7}.work-art{isolation:isolate;width:100%;height:100%;transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s;display:block;position:relative;overflow:hidden}.gallery-card:hover .gallery-art-frame,.gallery-card:focus-visible .gallery-art-frame{transform:translateY(-6px)}.gallery-card:hover .work-art,.gallery-card:focus-visible .work-art{filter:brightness(1.04);transform:scale(1.035)}.gallery-card:focus-visible{outline:1px solid var(--violet);outline-offset:7px}.gallery-view-label{z-index:2;color:#f3f1ec;letter-spacing:.11em;opacity:0;background:#0a0a0ad1;padding:7px 9px;font-size:8px;font-weight:800;transition:opacity .28s,transform .28s;position:absolute;top:14px;right:14px;transform:translateY(7px)}.gallery-card:hover .gallery-view-label,.gallery-card:focus-visible .gallery-view-label{opacity:1;transform:translateY(0)}.work-art:before,.work-art:after{content:"";z-index:-1;position:absolute}.project-index{font:12px/1 ui-monospace,monospace;position:absolute;top:18px;left:18px}.project-mark{letter-spacing:-.09em;place-items:center;font-family:Georgia,serif;font-size:clamp(60px,10vw,160px);line-height:1;display:grid;position:absolute;inset:0}.project-en{letter-spacing:.18em;font-size:10px;font-weight:800;position:absolute;bottom:18px;left:18px}.play{border:1px solid;border-radius:50%;place-items:center;width:48px;height:48px;font-size:13px;display:grid;position:absolute;bottom:18px;right:18px}.citrus{color:#17230e;background:#c8dd5c}.citrus:before{aspect-ratio:1;background:#e9f2b7;border-radius:50%;width:44%;top:-13%;right:8%;box-shadow:-150px 190px #739a38}.forest{color:#e3f5ef;background:#153631}.forest:before{border:1px solid #bfd8d0;inset:10% 18%;transform:rotate(-7deg)}.forest:after{background:#fff;border-radius:50%;width:9px;height:9px;top:27%;left:30%;box-shadow:170px 60px #acff90,85px 180px #8c43ff,260px 200px #fff}.summer{color:#312920;background:#e4ceb2}.summer:before{filter:blur(6px);background:#ffffff6b;width:36%;height:120%;top:-10%;left:32%;transform:skew(-13deg)}.summer:after{aspect-ratio:.55;border:2px solid #876847;border-radius:45% 45% 10% 10%;width:26%;top:17%;right:19%}.vestige{color:#130f0a;background:#e7e1d9}.vestige:before{background:#111;width:70%;height:1px;top:50%;left:15%;transform:rotate(-24deg)}.machine{color:#d6b9ff;background:#221633}.machine:before{aspect-ratio:1;border:1px solid #b486ff;border-radius:50%;width:46%;top:5%;left:27%;box-shadow:inset 0 0 70px #3c1177,0 0 60px #8c43ff}.machine:after{background:repeating-linear-gradient(90deg,#0000 0 28px,#ffffff0f 29px 30px);inset:0}.bamboo{color:#f1ead9;background:#7b8b65}.bamboo:before{background:#364936;width:16px;height:140%;top:-20%;left:22%;transform:rotate(4deg);box-shadow:130px -40px #43553d,310px 0 #283c31}.gallery-card-caption{border-top:1px solid #303030;justify-content:space-between;gap:18px;padding-top:15px;display:flex}.gallery-card-caption>span{flex-direction:column;gap:6px;min-width:0;display:flex}.gallery-card-caption strong{font-size:20px;font-weight:600}.gallery-card-caption small{color:#8f8f8f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.gallery-card-caption em{color:#777;font:9px/1.5 ui-monospace,monospace}.viewer-circle-control{width:48px;height:48px;color:var(--paper);cursor:pointer;background:#0a0a0a14;border:1px solid #f3f1ec7a;border-radius:50%;place-items:center;padding:0;transition:color .24s,border-color .24s,background .24s,transform .24s;display:grid}.viewer-circle-control svg{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.viewer-circle-control:hover,.viewer-circle-control:focus-visible{color:var(--violet);border-color:var(--violet);background:#8c43ff14;outline:none;transform:scale(1.05)}.viewer-page-close{z-index:20;position:absolute;top:24px;right:28px}.viewer-page-close:hover svg{transform:rotate(7deg)}.viewer-nav-zone{z-index:8;pointer-events:none;align-items:center;width:clamp(120px,14vw,180px);display:flex;position:absolute;top:0;bottom:0}.viewer-nav-zone.is-previous{justify-content:flex-start;padding-left:26px;left:0}.viewer-nav-zone.is-next{justify-content:flex-end;padding-right:26px;right:0}.viewer-arrow-control{opacity:0;pointer-events:none}.viewer-nav-zone.is-previous .viewer-arrow-control{transform:translate(-8px)}.viewer-nav-zone.is-next .viewer-arrow-control{transform:translate(8px)}.viewer-nav-zone.is-visible .viewer-arrow-control,.viewer-arrow-control:focus-visible{opacity:1;pointer-events:auto;transform:translate(0)}.viewer-nav-zone .viewer-arrow-control:hover{transform:scale(1.05)}.viewer-nav-zone.is-previous .viewer-arrow-control:hover svg{transform:translate(-3px)}.viewer-nav-zone.is-next .viewer-arrow-control:hover svg{transform:translate(3px)}.viewer-arrow-control svg{transition:transform .24s}.work-modal{z-index:200;background:#101010;padding:0;animation:.35s ease-out both workModalBackdropIn;position:fixed;inset:0}.work-modal-shell{width:100%;height:100dvh;color:var(--paper);background:#101010;animation:.45s cubic-bezier(.16,1,.3,1) workModalIn;position:relative;overflow:hidden}.media-first-viewer{place-items:center;width:100%;height:100%;padding:64px 120px 32px;display:grid}.viewer-media-column{width:min(calc((100dvh - 168px) * var(--viewer-ratio)),calc(100vw - 240px));max-width:100%;transition:opacity .18s,transform .28s ease-out}.viewer-media-frame{width:100%;aspect-ratio:var(--viewer-ratio);background:#151515;overflow:hidden}.viewer-media-frame>img,.viewer-media-frame>video{object-fit:contain;background:#0b0b0b;width:100%;height:100%;display:block}.viewer-media-frame>.work-art{width:100%;height:100%}.viewer-media-column.has-natural-media{width:max-content;max-width:calc(100vw - 240px)}.viewer-media-column.has-natural-media .viewer-media-frame{aspect-ratio:auto;background:0 0;width:max-content;max-width:100%;display:grid;overflow:visible}.viewer-media-column.has-natural-media .viewer-media-frame>img{object-fit:contain;background:0 0;width:auto;max-width:calc(100vw - 240px);height:auto;max-height:calc(100dvh - 168px)}.viewer-caption-row{border-top:1px solid #f3f1ec33;justify-content:flex-start;align-items:center;width:100%;min-height:52px;padding-top:8px;display:flex}.viewer-caption-row.is-project-info{text-align:center;border-top:0;justify-content:center;width:fit-content;max-width:100%;margin-inline:auto;padding-top:12px}.viewer-caption-row.is-centered{text-align:center;justify-content:center;padding-top:4px}.viewer-caption-group{align-items:center;gap:14px;width:max-content;max-width:100%;display:inline-flex}.viewer-caption-row h3{letter-spacing:-.02em;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(18px,1.7vw,27px);font-weight:400;line-height:1.15}.viewer-info-control{z-index:14;color:#a87ed794;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;transition:color .2s,transform .2s;animation:5.4s ease-in-out infinite infoBorderBreathe;display:grid;position:relative}.viewer-info-control:before{content:"";background:0 0;border:2px solid;border-radius:50%;width:32px;height:32px;transition:border-color .2s,background-color .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-info-control svg{z-index:1;fill:currentColor;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;opacity:.86;width:15px;height:15px;position:relative;overflow:visible}.viewer-info-control svg path{fill:none}.viewer-info-control.is-first-hint{color:var(--violet);animation:.48s cubic-bezier(.16,1,.3,1) both infoRevealSettle}.viewer-info-control.is-first-hint:before{animation:.48s ease-out both infoFillToOutline}.viewer-info-control.is-first-hint svg{animation:.48s ease-out both infoGlyphReveal}.viewer-info-control:after{content:attr(data-tooltip);background:var(--paper);color:var(--ink);letter-spacing:.1em;white-space:nowrap;opacity:0;pointer-events:none;padding:6px 8px;font:8px/1 ui-monospace,monospace;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px)}.viewer-info-control:hover,.viewer-info-control:focus-visible,.viewer-info-control[aria-expanded=true]{color:var(--violet);outline:none;animation-play-state:paused;transform:scale(1.05)}.viewer-info-control:hover:after,.viewer-info-control:focus-visible:after{opacity:1;transform:translateY(0)}.viewer-project-note-layer{z-index:10;visibility:hidden;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000085;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:visible}.viewer-project-note-layer.is-open{visibility:visible;opacity:1;pointer-events:auto;animation:.2s ease-out both projectNoteLayerIn}.viewer-project-note{aspect-ratio:1448/1086;color:#2b2432;width:min(58vw,101.333dvh,920px);position:relative;overflow:visible}.viewer-project-note-layer.is-open .viewer-project-note{animation:.28s cubic-bezier(.16,1,.3,1) both projectNoteIn}.viewer-project-note-image{aspect-ratio:1448/1086;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;position:absolute;inset:0}.viewer-project-note-content{z-index:1;flex-direction:column;justify-content:flex-start;min-width:0;display:flex;position:absolute;inset:34% 12% 16% 10%}.viewer-project-note h3{letter-spacing:-.02em;text-align:center;width:70%;margin:0 auto clamp(18px,1.6vw,22px);font-family:Georgia,Songti SC,serif;font-size:clamp(24px,2vw,36px);font-weight:400;line-height:1.12}.viewer-project-note h3.is-long-project-note-title{width:100%;max-width:none}.project-note-title-nowrap{white-space:nowrap}.viewer-project-note p{text-align:left;width:82%;max-width:650px;margin:0 auto;font-family:Georgia,Songti SC,serif;font-size:clamp(17.5px,1.35vw,21px);line-height:1.6}@keyframes infoBorderBreathe{0%,to{color:#9769ca8a}50%{color:#9d63def0}}@keyframes infoRevealSettle{0%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes infoFillToOutline{0%,18%{border-color:var(--violet);background-color:var(--violet)}48%{background-color:#8c43ff6b;border-color:#8c43ff8c}to{border-color:var(--violet);background-color:#0000}}@keyframes infoGlyphReveal{0%,32%{opacity:0}to{opacity:.86}}@keyframes projectNoteLayerIn{0%{opacity:0}to{opacity:1}}@keyframes projectNoteIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes projectNoteLayerOut{0%{opacity:1}to{opacity:0}}@keyframes projectNoteOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(6px)scale(.985)}}.viewer-project-note-layer.is-closing{pointer-events:none;animation:.2s ease-in both projectNoteLayerOut}.viewer-project-note-layer.is-closing .viewer-project-note{animation:.22s ease-in both projectNoteOut}.media-first-viewer.motion-exit-left .viewer-media-column{opacity:0;transform:translate(-12px)}.media-first-viewer.motion-exit-right .viewer-media-column{opacity:0;transform:translate(12px)}.media-first-viewer.motion-enter-left .viewer-media-column{opacity:0;transition:none;transform:translate(-12px)}.media-first-viewer.motion-enter-right .viewer-media-column{opacity:0;transition:none;transform:translate(12px)}@keyframes workModalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes workModalIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}.vi-project-modal{z-index:220;color:var(--paper);background:#0b0b0b;animation:.45s ease-out both viProjectBackdropIn;position:fixed;inset:0;overflow:hidden}.work-view-more-modal{z-index:190;color:var(--paper);background:#0b0b0b;animation:.45s ease-out both viProjectBackdropIn;position:fixed;inset:0;overflow:hidden}.work-view-more-shell{width:100%;height:100dvh;animation:.62s cubic-bezier(.16,1,.3,1) both viProjectShellIn;position:relative;overflow:hidden}.work-view-more-shell>.vi-center-viewport{width:100%;height:100%}.work-view-more-close{top:24px;right:28px}.vi-project-shell{grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100dvh;animation:.62s cubic-bezier(.16,1,.3,1) both viProjectShellIn;display:grid;position:relative;overflow:hidden}.vi-project-header{z-index:3;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:flex-start;gap:30px;padding:28px 96px 18px 32px;display:flex;position:relative}.vi-project-header>div{align-items:baseline;gap:16px;min-width:0;display:flex}.vi-project-header span,.vi-project-header p,.vi-project-footer{color:#777;letter-spacing:.14em;font:9px/1.4 ui-monospace,monospace}.vi-project-header span{color:var(--violet)}.vi-project-header h3{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3vw,48px);font-weight:400;line-height:.9}.vi-project-header p{margin:0}.vi-project-close{top:22px;right:28px}.vi-center-viewport{--vi-visual-gap:clamp(31px,5.5vw,94px);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.vi-center-viewport:active{cursor:grabbing}.vi-center-track{will-change:transform;align-items:center;width:max-content;min-width:0;height:100%;display:flex}.vi-center-sequence{flex:none;align-items:center;width:max-content;min-width:0;display:flex}.vi-center-item{--center-scale:.5;--center-depth:0;--center-opacity:.55;--media-ratio:1.6;--vi-visual-width:min(clamp(517px,59.26vw,994px),68.44vw,calc(78dvh * var(--media-ratio)));flex:0 0 calc(var(--vi-visual-width) + var(--vi-visual-gap) + 26px);min-width:0;color:var(--paper);z-index:var(--center-depth);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.vi-center-item.is-portrait{--vi-visual-width:min(clamp(392px,calc(82.6dvh * var(--media-ratio)),807px),68.44vw,calc(78dvh * var(--media-ratio)))}.vi-center-item.is-square{--vi-visual-width:min(clamp(448px,49.7vw,821px),68.44vw,calc(78dvh * var(--media-ratio)))}.vi-center-scale-layer{flex:0 0 var(--vi-visual-width);width:var(--vi-visual-width);aspect-ratio:var(--media-ratio);transform:translateZ(0) scale(var(--center-scale));transform-origin:50%;opacity:var(--center-opacity);will-change:transform,opacity;display:block;position:relative}.vi-center-media{background:#151515;place-items:center;transition:filter .3s,transform .34s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;inset:0;overflow:hidden}.vi-center-media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.vi-gallery-placeholder{width:100%;height:100%}.vi-center-caption{z-index:3;color:#f3f1ec;letter-spacing:.11em;opacity:0;pointer-events:none;background:#0a0a0ad1;padding:7px 9px;font-size:8px;font-weight:800;transition:opacity .25s,transform .25s;position:absolute;top:10px;right:10px;transform:translateY(6px)}.vi-center-item:hover .vi-center-media,.vi-center-item:focus-visible .vi-center-media{filter:brightness(1.04);transform:scale(1.025)}.vi-center-item:hover .vi-center-caption,.vi-center-item:focus-visible .vi-center-caption{opacity:1;transform:translateY(0)}.vi-center-item:focus-visible{outline:1px solid var(--violet);outline-offset:8px}.vi-project-footer{border-top:1px solid #ffffff21;justify-content:space-between;gap:24px;padding:16px 32px 22px;display:flex}.vi-project-footer span:last-child{color:#999}.vi-lightbox{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080808f7;place-items:center;animation:.38s ease-out both viLightboxIn;display:grid;position:absolute;inset:0;overflow:hidden}.vi-lightbox-close{top:24px;right:28px}.vi-lightbox-media{width:min(calc((100dvh - 150px) * var(--viewer-ratio)),calc(100vw - 240px));aspect-ratio:var(--viewer-ratio);place-items:center;display:grid;overflow:hidden}.vi-lightbox-media img{object-fit:contain;width:100%;height:100%;display:block}.vi-lightbox-media.has-natural-media{aspect-ratio:auto;width:max-content;max-width:calc(100vw - 240px);overflow:visible}.vi-lightbox-media.has-natural-media img{object-fit:contain;width:auto;max-width:calc(100vw - 240px);height:auto;max-height:calc(100dvh - 120px)}.vi-lightbox-media>.vi-gallery-placeholder{width:100%;height:100%}.vi-lightbox-count{color:#777;letter-spacing:.14em;align-items:center;gap:8px;font:10px/1 ui-monospace,monospace;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.vi-lightbox-count b{color:var(--paper);font-weight:700}.vi-lightbox-count i{color:var(--violet);font-style:normal}@keyframes viProjectBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes viProjectShellIn{0%{opacity:0;clip-path:inset(3%);transform:scale(.985)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}@keyframes viLightboxIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.motion-ready [data-reveal=section-intro] .section-kicker>span{transform:translateY(115%)}.motion-ready [data-reveal=section-intro] h2>span{transform-origin:0 100%;transform:translateY(115%)scale(.95)}.motion-ready [data-reveal=section-intro] .work-heading>p{opacity:0;transform:translateY(24px)}.motion-ready [data-reveal=section-intro].is-revealed .section-kicker>span{transition:transform .75s cubic-bezier(.16,1,.3,1) .1s;transform:translateY(0)}.motion-ready [data-reveal=section-intro].is-revealed h2>span{transition:transform .95s cubic-bezier(.16,1,.3,1) .2s;transform:translateY(0)scale(1)}.motion-ready [data-reveal=section-intro].is-revealed .work-heading>p{opacity:1;transition:opacity .65s .36s,transform .75s cubic-bezier(.16,1,.3,1) .36s;transform:translateY(0)}.motion-ready [data-reveal=work-index] button{opacity:0;transform:translateY(28px)}.motion-ready [data-reveal=work-index].is-revealed button{opacity:1;transition:opacity .6s calc(var(--index-delay) + 80ms) ease,transform .75s calc(var(--index-delay) + 80ms) cubic-bezier(.16,1,.3,1),color .28s ease,background .28s ease;transform:translateY(0)}.motion-ready [data-reveal=work-gallery] .gallery-heading{opacity:0;transform:translateY(24px)}.motion-ready [data-reveal=work-gallery].is-revealed .gallery-heading{opacity:1;transition:opacity .6s,transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.about-section{border-top:1px solid #0a0a0a1f;padding:clamp(84px,7vw,110px) 32px 120px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:6.4vw;display:grid}.portrait-card{aspect-ratio:834/1112;background:var(--violet);width:min(100%,520px);min-height:0;color:var(--paper);justify-self:center;overflow:hidden;transform:rotate(-1.2deg)}.portrait-card video{object-fit:contain;object-position:center;background:var(--violet);width:100%;height:100%;display:block}.portrait-type{letter-spacing:-.08em;font-family:Georgia,serif;font-size:clamp(70px,11vw,165px);line-height:.68}.portrait-type span{display:block}.portrait-type span:nth-child(2n){color:#0000;-webkit-text-stroke:1px var(--paper);margin-left:32%}.portrait-card p{letter-spacing:.16em;margin:0;font-size:11px}.bio{max-width:744px}.bio-meta{width:100%;color:var(--violet);letter-spacing:.02em;white-space:nowrap;justify-content:space-between;align-items:center;gap:clamp(28px,2.5vw,36px);margin-bottom:32px;font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:clamp(17.6px,1.375vw,20px);font-weight:500;line-height:1.4;display:flex}.bio-copy{gap:28px;max-width:744px;display:grid}.bio p{text-align:justify;text-align-last:left;text-justify:inter-ideograph;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(19px,2.3vw,34px);line-height:1.62}.about-label{color:var(--violet);letter-spacing:.16em;margin-bottom:20px;font-size:clamp(13px,1.05vw,16px);font-weight:800;line-height:1.35;display:block}.about-capabilities{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8vw;margin-top:100px;padding-top:38px;display:grid}.text-list{grid-template-columns:1fr 1fr;column-gap:30px;display:grid}.text-list span{border-bottom:1px solid var(--line);padding:15px 0;font-family:Georgia,serif;font-size:clamp(18px,2vw,28px)}.text-list.muted span{letter-spacing:.025em;font-family:Helvetica Neue,PingFang SC,Arial,sans-serif;font-size:clamp(15px,1.25vw,19px);line-height:1.35}.motion-ready [data-reveal=about-content]>*{opacity:0;transform:translateY(70px)}.motion-ready [data-reveal=about-content] .portrait-card{clip-path:inset(100% 0 0);transform:translateY(70px)rotate(-1.2deg)scale(.96)}.motion-ready [data-reveal=about-content].is-revealed>*{opacity:1;transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.motion-ready [data-reveal=about-content].is-revealed>:nth-child(2){transition-delay:.12s}.motion-ready [data-reveal=about-content].is-revealed .portrait-card{clip-path:inset(0);transition:opacity .7s,transform 1s cubic-bezier(.16,1,.3,1),clip-path 1s cubic-bezier(.16,1,.3,1);transform:translateY(0)rotate(-1.2deg)scale(1)}.experience-section{background:var(--ink);color:var(--paper);padding:100px 32px 120px}.section-intro.compact{align-items:end;padding-bottom:36px}.experience-desktop{border-top:1px solid #383838;grid-template-columns:minmax(270px,34%) 1fr;align-items:stretch;gap:clamp(50px,8vw,140px);padding-top:34px;display:grid}.experience-nav{flex-direction:column;gap:clamp(24px,2.4vw,36px);min-height:0;padding:clamp(28px,3vw,44px) 0;display:flex}.experience-nav button{width:100%;color:var(--paper);text-align:left;cursor:pointer;opacity:.68;background:0 0;border:0;border-bottom:1px solid #2e2e2e;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:7px;padding:0 20px 18px 18px;transition:opacity .3s,transform .3s;display:flex;position:relative}.experience-nav button:before{content:"";background:var(--violet);width:2px;height:0;transition:height .3s;position:absolute;top:29px;left:0}.experience-nav button:hover{opacity:.84;transform:translate(4px)}.experience-nav button.active{opacity:1}.experience-nav button.active:before{height:38px}.experience-nav button span{color:#b2b2b2;letter-spacing:.09em;font:clamp(12px,.86vw,14px)/1.4 ui-monospace,monospace}.experience-nav button strong{color:#b8b8b8;letter-spacing:.06em;font-size:clamp(16px,1.2vw,19px);font-weight:600;line-height:1.35}.experience-nav button em{font-family:Georgia,serif;font-size:clamp(26px,2.45vw,36px);font-style:normal;font-weight:600;line-height:1.14}.experience-detail{opacity:0;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:clamp(28px,3vw,44px) 0;transition:opacity .22s ease-out,transform .22s ease-out;display:flex;transform:translateY(10px)}.experience-detail.is-visible{opacity:1;transition-duration:.42s;transform:translateY(0)}.experience-detail.is-leaving{opacity:0;transform:translateY(-8px)}.experience-text-block{text-align:left;width:min(100%,760px)}.experience-summary{margin:0 0 clamp(16px,1.5vw,22px)}.experience-copy{gap:clamp(16px,1.5vw,22px);display:grid}.experience-summary,.experience-copy p{color:#f3f1ecc7;font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:clamp(24px,2.04vw,30px);line-height:1.62}.experience-summary,.experience-copy p,.mobile-experience-detail>p{text-align:justify;text-align-last:left;text-justify:inter-ideograph}.experience-copy p{margin:0}.experience-mobile{display:none}.work-section{border-top:1px solid #383838;padding-top:110px}.motion-ready [data-reveal=experience] .experience-nav{opacity:0;transform:translateY(48px)}.motion-ready [data-reveal=experience] .experience-detail{clip-path:inset(0 0 100%)}.motion-ready [data-reveal=experience].is-revealed .experience-nav{opacity:1;transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.motion-ready [data-reveal=experience].is-revealed .experience-detail{clip-path:inset(0);transition:opacity .22s ease-out,transform .42s ease-out,clip-path .95s cubic-bezier(.16,1,.3,1) .12s}footer{color:#f3f1ec;isolation:isolate;background:#0d0d0d;border-top:1px solid #ffffff1f;flex-direction:column;min-height:max(100svh,780px);padding:clamp(72px,8vw,110px) 32px 26px;display:flex;position:relative;overflow:hidden}.contact-content{z-index:3;pointer-events:none;width:100%;max-width:100%;position:relative}.contact-label{align-items:center;margin-bottom:0;display:flex}.contact-label .section-title{color:#f3f1ec}.contact-top-row{justify-content:space-between;align-items:center;gap:clamp(28px,5vw,72px);width:100%;margin-top:clamp(26px,2.8vw,38px);display:flex}.contact-details{align-items:flex-start;width:max-content;margin:0;display:flex}.contact-details>div{color:#f3f1eceb;letter-spacing:.02em;align-items:center;gap:15px;min-height:38px;font-size:clamp(18px,1.45vw,22px);display:flex}.contact-details img{object-fit:contain;opacity:.92;width:clamp(31px,2.5vw,38px);height:clamp(29px,2.35vw,36px);display:block}.contact-email-cta{pointer-events:auto;border-bottom:2px solid #f3f1ecb8;width:max-content;margin:0;padding-bottom:8px;font-size:clamp(18px,1.8vw,25px);font-weight:750;transition:color .25s,transform .25s,border-color .25s;display:block}.contact-email-cta:hover{color:var(--violet);border-color:var(--violet);transform:translate(4px)}.contact-playground{z-index:1;contain:layout paint;touch-action:pan-y;position:absolute;inset:0;overflow:hidden}.contact-object{z-index:1;color:#f3f1ec;opacity:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:50%;will-change:transform;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:0;left:0}.contact-object.is-ready{opacity:1}.contact-object:active,.contact-object.is-dragging{z-index:8;cursor:grabbing}.contact-object:focus{box-shadow:none;outline:none}.contact-object:focus-visible{outline:1px solid var(--violet);outline-offset:8px}.contact-object.is-exited{visibility:hidden;pointer-events:none}.contact-object img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.contact-object-clip{width:clamp(100px,9.8vw,150px)}.contact-object-clip-purple{aspect-ratio:609/1353}.contact-object-clip-cream{aspect-ratio:622/1342}.contact-object-circle,.contact-object-square{aspect-ratio:1;width:clamp(170px,15.5vw,238px)}.contact-object-text{color:#f1eee7;letter-spacing:-.065em;white-space:nowrap;width:max-content;height:auto;font-family:Helvetica Neue,Arial Nova,Arial,sans-serif;font-size:clamp(52px,6vw,88px);font-weight:800;line-height:.82}.contact-object-email-y123,.contact-object-email-at{color:var(--violet)}.contact-object-text span{pointer-events:none;display:block}.footer-bottom{z-index:3;color:#ffffff94;letter-spacing:.08em;border-top:1px solid #ffffff24;justify-content:space-between;margin-top:auto;padding-top:18px;font-size:11px;display:flex;position:relative}.footer-bottom a{color:#f3f1ec;transition:color .25s}.footer-bottom a:hover{color:var(--violet)}.motion-ready footer[data-reveal=contact] .section-kicker>span{transform:translateY(115%)}.motion-ready footer[data-reveal=contact] .contact-details,.motion-ready footer[data-reveal=contact] .contact-email-cta,.motion-ready footer[data-reveal=contact] .footer-bottom{opacity:0;transform:translateY(34px)}.motion-ready footer[data-reveal=contact].is-revealed .section-kicker>span{transition:transform .75s cubic-bezier(.16,1,.3,1) .1s;transform:translateY(0)}.motion-ready footer[data-reveal=contact].is-revealed .contact-details{opacity:1;transition:opacity .65s .36s,transform .8s cubic-bezier(.16,1,.3,1) .36s;transform:translateY(0)}.motion-ready footer[data-reveal=contact].is-revealed .contact-email-cta{opacity:1;transition:opacity .65s .48s,transform .8s cubic-bezier(.16,1,.3,1) .48s;transform:translateY(0)}.motion-ready footer[data-reveal=contact].is-revealed .footer-bottom{opacity:1;transition:opacity .65s .6s,transform .8s cubic-bezier(.16,1,.3,1) .6s;transform:translateY(0)}@media (max-width:1024px) and (min-width:781px){.gallery-category-title{gap:clamp(22px,3vw,32px)}.viewer-project-note{width:min(74vw,98.6667dvh,820px)}footer{min-height:max(100svh,800px)}.contact-object-clip{width:clamp(88px,11vw,120px)}.contact-object-circle,.contact-object-square{width:clamp(145px,18vw,190px)}.contact-object-text{font-size:clamp(46px,7vw,72px)}}@media (min-width:1024px){.experience-desktop .experience-summary,.experience-desktop .experience-copy p{color:#f3f1ecb8;font-weight:400}.experience-desktop .experience-nav button strong{font-weight:400}}@media (max-width:780px){.site-header{grid-template-columns:auto minmax(0,1fr);column-gap:18px;min-height:66px;padding:0 18px}.brand{font-size:19px}.site-header nav{justify-self:end;gap:clamp(14px,3vw,24px);font-size:13px;font-weight:600}.hero{min-height:680px;padding:36px 18px}.hero-orbit{top:calc(5% + var(--orbit-safe-shift));right:0;bottom:calc(12% - var(--orbit-safe-shift));left:0}.orbit-plane{--orbit-radius-x:42vw;--orbit-radius-y:min(42vw,210px);--orbit-center-y:calc(42% + 8px);transform:rotate(-8deg)}.orbit-node{width:55px;height:55px}.orbit-icon{transform:rotate(8deg) scale(var(--proximity-scale))}.hero-core{width:100vw;top:41%;transform:translate(-50%,-52%)}.hero-upper-copy{margin:0 0 18px;left:60%;transform:translate(-50%,-18px)}.hero-welcome-mask{padding-left:0}.hero-to-my-mask{margin-top:5px;margin-right:3vw;padding:0 .02em .08em}.hero-welcome{font-size:clamp(27px,7.4vw,38px)}.hero-to-my{font-size:clamp(14px,4vw,22px)}.hero-core h1{font-size:clamp(48px,14.25vw,75px)}.hero-meta{flex-direction:column;align-items:flex-start;gap:14px;bottom:24px;left:18px;right:18px}.hero-identity{gap:3px;max-width:100%}.hero-identity strong{font-size:clamp(17px,4.7vw,22px)}.identity-mask>span{font-size:clamp(11px,3.2vw,14px)}.hero-meta a{align-self:flex-end;font-size:11px}.work-section,.about-section,.experience-section,footer{padding-left:18px;padding-right:18px}.about-section{padding-top:72px}.section-intro{grid-template-columns:1fr;gap:34px;padding-bottom:46px}.section-intro h2{font-size:44px}.section-intro .section-title,.contact-label .section-title{font-size:clamp(26px,8vw,34px)}.section-intro.section-heading-only{padding-bottom:38px}.work-index{grid-template-columns:1fr 1fr;margin-bottom:48px}.work-index button{border-bottom:1px solid #3a3a3a;min-height:64px;padding:0 11px}.work-index button strong{letter-spacing:.045em;font-size:13px}.work-index button:nth-child(2n){border-right:0}.work-index button:nth-last-child(-n+2){border-bottom:0}.work-index button:after{left:11px;right:11px}.gallery-heading{flex-wrap:wrap;align-items:flex-start;row-gap:16px}.gallery-heading>div:first-child{flex-direction:column;gap:9px}.gallery-controls{justify-content:flex-end;width:100%}.gallery-category-title{gap:clamp(14px,4vw,22px);max-width:calc(100vw - 36px);font-size:clamp(22px,6vw,26px)}.gallery-heading b{font-size:13px}.work-view-more-button{min-width:126px;height:46px;padding:0 24px}.work-view-more-copy{font-size:11px}.horizontal-gallery{--gallery-gap:13px;margin:0 -18px;padding:20px 0 24px}.gallery-card{flex-basis:min(var(--gallery-card-width,82vw),82vw)}.gallery-card-caption strong{font-size:17px}.gallery-card-caption small{max-width:65vw}.project-mark{font-size:29vw}.viewer-page-close{width:44px;height:44px;position:absolute;top:14px;right:14px}.viewer-nav-zone{pointer-events:none;width:68px}.viewer-nav-zone.is-previous{padding-left:10px}.viewer-nav-zone.is-next{padding-right:10px}.viewer-arrow-control{opacity:.72;pointer-events:auto;background:#0a0a0a33;width:46px;height:46px;transform:none!important}.media-first-viewer{padding:66px 18px 24px}.viewer-media-column{width:min(calc((100dvh - 150px) * var(--viewer-ratio)),calc(100vw - 36px))}.viewer-media-column.has-natural-media{width:max-content;max-width:calc(100vw - 36px)}.viewer-media-column.has-natural-media .viewer-media-frame>img{max-width:calc(100vw - 36px);max-height:calc(100dvh - 150px)}.viewer-caption-row{min-height:50px;padding-top:8px}.viewer-caption-row.is-project-info{padding-top:12px}.viewer-caption-row.is-centered{padding-top:4px}.viewer-caption-row h3{font-size:clamp(17px,5vw,22px)}.viewer-caption-group{gap:12px}.viewer-info-control{flex-basis:44px}.viewer-info-control:after{display:none}.viewer-project-note-layer{padding:18px}.viewer-project-note{width:min(92vw,98.6667dvh)}.viewer-project-note-content{inset:31% 10% 15.5%}.viewer-project-note h3{width:70%;margin-bottom:clamp(10px,3.2vw,16px);font-size:clamp(18px,5vw,24px)}.viewer-project-note p{width:100%;max-width:none;font-size:clamp(13.75px,3.5vw,17.5px);line-height:1.55}.vi-project-header{padding:18px 74px 14px 18px}.vi-project-header>div{grid-template-columns:auto 1fr;gap:5px 12px;display:grid}.vi-project-header h3{grid-area:2/1/auto/-1;font-size:34px}.vi-project-header p{display:none}.vi-project-close,.work-view-more-close{top:14px;right:14px}.vi-center-item{--vi-visual-width:min(94vw,calc(64dvh * var(--media-ratio)))}.vi-center-item.is-portrait{--vi-visual-width:min(88vw,calc(70dvh * var(--media-ratio)))}.vi-center-item.is-square{--vi-visual-width:min(86vw,calc(65dvh * var(--media-ratio)))}.vi-center-caption{display:none}.vi-project-footer{padding:13px 18px 18px}.vi-project-footer span:first-child{display:none}.vi-project-footer span:last-child{max-width:100%;font-size:8px}.vi-lightbox-close{top:14px;right:14px}.vi-lightbox-media{width:min(calc((100dvh - 120px) * var(--viewer-ratio)),calc(100vw - 36px))}.vi-lightbox-media.has-natural-media{width:max-content;max-width:calc(100vw - 36px)}.vi-lightbox-media.has-natural-media img{max-width:calc(100vw - 36px);max-height:calc(100dvh - 120px)}.vi-lightbox-count{bottom:38px}.about-grid{grid-template-columns:1fr;gap:66px}.portrait-card{min-height:0}.about-label{font-size:clamp(12px,3.6vw,15px)}.bio-meta{white-space:normal;flex-wrap:wrap;gap:12px clamp(20px,3.33vw,24px);margin-bottom:32px}.about-capabilities{grid-template-columns:1fr;gap:58px;margin-top:70px}.text-list{grid-template-columns:1fr}.text-list.muted span{font-size:clamp(15px,4.3vw,18px)}.experience-desktop{display:none}.experience-mobile{border-top:1px solid #383838;display:block}.motion-ready [data-reveal=experience] .experience-mobile article{opacity:0;transform:translateY(30px)}.motion-ready [data-reveal=experience].is-revealed .experience-mobile article{opacity:1;transition:opacity .6s,transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.motion-ready [data-reveal=experience].is-revealed .experience-mobile article:nth-child(2){transition-delay:80ms}.motion-ready [data-reveal=experience].is-revealed .experience-mobile article:nth-child(3){transition-delay:.16s}.experience-mobile article{border-bottom:1px solid #383838}.experience-mobile article>button{width:100%;color:var(--paper);text-align:left;cursor:pointer;opacity:.64;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:7px;padding:22px 42px 22px 0;transition:opacity .3s;display:flex;position:relative}.experience-mobile article.active>button{opacity:1}.experience-mobile button span{color:#b2b2b2;letter-spacing:.09em;font:clamp(12px,3.2vw,13px)/1.35 ui-monospace,monospace}.experience-mobile button strong{font-family:Georgia,serif;font-size:clamp(24px,6.8vw,28px);line-height:1.15}.experience-mobile button em{color:#b8b8b8;letter-spacing:.06em;font-size:clamp(14px,4vw,16px);font-style:normal;line-height:1.35}.experience-mobile button b{color:var(--violet);font-size:22px;font-weight:400;position:absolute;top:31px;right:4px}.mobile-experience-detail{padding:0 0 34px;animation:.42s ease-out both mobileDetailIn}.mobile-experience-detail>p{margin:0 0 16px}.mobile-experience-detail .experience-copy{gap:16px;margin-top:0;display:grid}.mobile-experience-detail>p,.mobile-experience-detail .experience-copy p{color:#f3f1ecc7;font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:clamp(22px,6.1vw,25px);line-height:1.62}@keyframes mobileDetailIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.work-section{padding-top:90px}footer{min-height:max(100svh,760px);padding:72px 18px 22px}.contact-top-row{flex-direction:column;align-items:flex-start;gap:22px;margin-top:22px}.contact-details{margin:0}.contact-details>div{gap:11px;font-size:clamp(16px,4.7vw,19px)}.contact-details img{width:30px;height:28px}.contact-email-cta{max-width:100%;margin:0;font-size:clamp(16px,4.7vw,20px)}.contact-object-clip{width:clamp(62px,19vw,84px)}.contact-object-circle,.contact-object-square{width:clamp(105px,31vw,138px)}.contact-object-text{font-size:clamp(36px,12vw,54px)}.footer-bottom{flex-wrap:wrap;gap:15px}}@media (min-width:768px) and (max-width:1023px){.ticker{letter-spacing:.065em;font-weight:500}.ticker-track{animation:32s linear forwards tickerResponsiveIntro,16s linear 32s infinite tickerResponsiveLoop}.ticker-sequence{flex:none;justify-content:center;column-gap:clamp(12px,1.7vw,16px);width:max-content;min-width:100vw;padding:0 clamp(12px,1.8vw,18px) 0 0}.hero-orbit{--orbit-icon-size:clamp(50px,6.5vw,66px);left:24px;right:24px}.orbit-plane{--orbit-diameter-x:calc(min(84vw,860px) - var(--orbit-icon-size) - 28px);--orbit-radius-x:calc(var(--orbit-diameter-x) / 2);--orbit-radius-y:calc(var(--orbit-diameter-x) / 3);transform:rotate(-10deg)}.orbit-node{width:var(--orbit-icon-size);height:var(--orbit-icon-size)}.orbit-icon{transform:rotate(10deg) scale(var(--proximity-scale))}.portrait-card video{z-index:1;opacity:1;visibility:visible;position:relative}}@media (max-width:767px){.site-header{column-gap:clamp(8px,2vw,18px);padding-inline:clamp(12px,4vw,18px)}.site-header .brand{gap:clamp(6px,1.6vw,8px);font-size:clamp(17px,5.2vw,19px)}.site-header .brand-dot{width:clamp(15px,4.8vw,18px);height:clamp(15px,4.8vw,18px);margin-right:clamp(6px,1.6vw,8px);box-shadow:clamp(8px,2.6vw,10px) 0 #0a0a0a}.site-header nav{flex-wrap:nowrap;gap:clamp(8px,2.4vw,18px);min-width:0;font-size:clamp(10px,2.7vw,13px);font-weight:500}.ticker{letter-spacing:.06em;font-weight:400}.ticker-track{animation:32s linear forwards tickerResponsiveIntro,16s linear 32s infinite tickerResponsiveLoop}.ticker-sequence{flex:none;justify-content:center;column-gap:clamp(18px,5vw,28px);width:max-content;min-width:100vw;padding:0 clamp(12px,3.8vw,18px) 0 0}.hero{--hero-mobile-visual-lift:20px;--hero-mobile-safe-correction:0px;--hero-mobile-effective-lift:calc(var(--hero-mobile-visual-lift) - var(--hero-mobile-safe-correction))}.hero-orbit{--orbit-icon-size:clamp(37px,10.2vw,47px);--orbit-mobile-safe:clamp(12px,3.5vw,16px);top:calc(0% + var(--orbit-safe-shift) - var(--hero-mobile-effective-lift));right:0;bottom:calc(4% - var(--orbit-safe-shift) + var(--hero-mobile-effective-lift));left:0}.orbit-plane{--orbit-mobile-diameter:min(calc(100vw - var(--orbit-mobile-safe) - var(--orbit-mobile-safe) - var(--orbit-icon-size) - 12px),558px);--orbit-radius-x:calc(var(--orbit-mobile-diameter) / 2);--orbit-radius-y:calc(var(--orbit-mobile-diameter) / 2);--orbit-center-y:50%;transform:rotate(-10deg)}.orbit-node{width:var(--orbit-icon-size);height:var(--orbit-icon-size)}.orbit-icon{transform:rotate(10deg) scale(var(--proximity-scale))}.hero-core{top:calc(41% - var(--hero-mobile-effective-lift))}.hero-meta{bottom:calc(24px + var(--hero-mobile-effective-lift))}.hero-portfolio-mask{overflow-clip-margin:.14em;padding-top:.1em;padding-bottom:.16em}.viewer-nav-zone{pointer-events:auto;touch-action:manipulation;width:clamp(64px,22vw,220px);top:64px;bottom:72px}.viewer-arrow-control{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s,visibility 0s linear .18s,color .24s,border-color .24s,background .24s}.viewer-nav-zone.is-visible .viewer-arrow-control{visibility:visible;transition-delay:0s}.portrait-card video{z-index:1;opacity:1;visibility:visible;position:relative}.bio-meta{white-space:nowrap;flex-wrap:nowrap;gap:clamp(8px,2.2vw,16px);font-size:clamp(14px,3.6vw,16px)}.bio p{font-size:clamp(16.5px,4.2vw,18.5px);line-height:1.64}.about-capabilities{gap:clamp(43px,11vw,46px);margin-top:clamp(46px,12vw,50px);padding-top:32px}.about-capabilities .about-label{font-size:clamp(12px,3.6vw,15px)}.about-capabilities .text-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,5.5vw,28px) clamp(16px,5vw,24px)}.about-capabilities .text-list span{min-width:0}.about-capabilities .text-list.muted span{white-space:nowrap}.about-capabilities .text-list span,.about-capabilities .text-list.muted span{font-size:clamp(14px,3.65vw,16.5px);line-height:1.4}.experience-mobile button span{font-size:clamp(12px,3vw,14px)}.experience-mobile button strong{font-size:clamp(18px,4.7vw,21px)}.experience-mobile button em{font-size:clamp(13.5px,3.45vw,15.5px)}.mobile-experience-detail>p{margin-bottom:clamp(14px,4vw,18px)}.mobile-experience-detail .experience-copy{gap:clamp(14px,4vw,18px)}.mobile-experience-detail>p,.mobile-experience-detail .experience-copy p{font-size:clamp(17px,4.35vw,19px);line-height:1.66}.viewer-project-note-layer{padding:clamp(14px,4.5vw,24px)}.viewer-project-note{aspect-ratio:auto;min-height:min(58svh,69vw);max-height:min(72svh,620px)}.viewer-project-note-image{aspect-ratio:auto;object-fit:fill;height:100%}.viewer-project-note-content{box-sizing:border-box;min-height:inherit;max-height:inherit;justify-content:safe center;align-items:center;padding:clamp(22px,5.8vw,32px) clamp(22px,6vw,30px);position:relative;inset:auto;overflow:visible}.viewer-project-note h3,.viewer-project-note h3.is-long-project-note-title{text-wrap:balance;overflow-wrap:anywhere;width:70%;margin:0 auto clamp(9px,2.5vw,14px);font-size:clamp(15.5px,3.9vw,18.5px)}.project-note-title-nowrap{white-space:normal}.viewer-project-note p{text-align:justify;text-align-last:left;width:clamp(84%,80% + 16px,88%);max-width:none;text-justify:inter-ideograph;margin-inline:auto;font-size:clamp(12.5px,3.2vw,14.75px);line-height:1.56}}.is-touch-viewer .viewer-nav-zone{pointer-events:auto;touch-action:manipulation;width:clamp(64px,22vw,220px);top:64px;bottom:72px}.is-touch-viewer .viewer-arrow-control{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s,visibility 0s linear .18s,color .24s,border-color .24s,background .24s;transform:none!important}.is-touch-viewer .viewer-nav-zone.is-visible .viewer-arrow-control{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}@media (max-width:767px) and (max-height:600px){.viewer-project-note-content{overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.viewer-project-note-content::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor-dot,.cursor-ring{display:none!important}.custom-cursor-active body,.custom-cursor-active a,.custom-cursor-active button,.custom-cursor-active [tabindex]{cursor:auto!important}.hero:after{display:none}.ticker-track,.hero-orbit,.hero-word-mask>*,.identity-mask>*,.hero-meta a,.mobile-experience-detail{animation:none!important}.ticker-track{transform:none!important}.ticker-sequence:not(:first-child){display:none}.hero-orbit,.hero-word-mask>*,.identity-mask>*,.hero-meta a{opacity:1!important;transform:none!important}[data-reveal] :not(.contact-object),[data-reveal]{opacity:1!important;clip-path:none!important;transition:none!important;transform:none!important}.contact-object{transition:none!important}.horizontal-gallery{scrollbar-width:none;overflow-x:auto;animation:none!important}.horizontal-gallery::-webkit-scrollbar{display:none}.gallery-track{animation:none!important;transform:none!important}.gallery-sequence[aria-hidden=true]{display:none}.vi-center-viewport{scrollbar-width:none;overflow-x:auto}.vi-center-viewport::-webkit-scrollbar{display:none}.vi-center-track{transform:none!important}.vi-center-sequence:not(:first-child){display:none}.vi-center-item,.vi-center-scale-layer{opacity:1!important}.vi-center-scale-layer{transform:none!important}.work-gallery-stage,.gallery-art-frame,.work-art,.gallery-view-label,.experience-detail,.experience-nav button,.contact-email-cta,.footer-bottom a,.viewer-media-column,.viewer-circle-control,.viewer-info-control{transition:none!important}.viewer-info-control,.viewer-info-control.is-first-hint,.viewer-info-control.is-first-hint:before,.viewer-info-control.is-first-hint svg{animation:none!important}.viewer-info-control{color:#ae91d7d1;border-color:#9b7acc85}.viewer-info-control:before{background:0 0;border-color:currentColor}.viewer-info-control svg{opacity:.86}.work-modal,.work-modal-shell,.work-view-more-modal,.work-view-more-shell,.vi-project-modal,.vi-project-shell,.vi-lightbox,.viewer-project-note-layer,.viewer-project-note{animation:none!important}.work-view-more-button:before,.work-view-more-copy.is-reveal{transition: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-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}
