/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-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}}}@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;--ease-out:cubic-bezier(0, 0, .2, 1);--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;-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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.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}.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,)}.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))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}}:root{--bg:#050608;--surface:#0a0c0f;--surface-soft:#0f1216;--text:#f5f5f7;--muted:#9699a2;--line:#ffffff1d;--blue:#7d94ff;--cyan:#75ddec;--orange:#ff6b3d;--ease-out:cubic-bezier(.16, 1, .3, 1);--radius-panel:26px;--radius-card:20px;--radius-media:16px;--radius-pill:999px}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}html.overlay-scroll-locked{overflow:hidden}body{background:var(--bg);min-width:320px;color:var(--text);font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI Variable,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}button,a{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}:focus-visible{outline-offset:4px;outline:2px solid #aebbfff2}::selection{background:#7d94ff59}html{scrollbar-color:#ffffff38 var(--bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:#fff3;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.page-width{width:min(1220px,100% - 96px);margin-inline:auto}.nav-shell{z-index:50;-webkit-backdrop-filter:blur(12px)saturate(112%);backdrop-filter:blur(12px)saturate(112%);background:#090a0de0;border:1px solid #ffffff1c;border-radius:17px;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1220px,100% - 48px);height:54px;padding:0 18px;display:grid;position:fixed;top:14px;left:50%;transform:translate(-50%)translateZ(0);box-shadow:0 12px 36px #0000002e,inset 0 1px #ffffff0e,inset 0 -1px #00000038}.nav-shell:after{content:"";opacity:.78;transform-origin:0;pointer-events:none;background:linear-gradient(90deg,#0000,#75ddece0,#7d94ffeb,#0000);border-radius:999px;height:1px;position:absolute;bottom:-1px;left:17px;right:17px;transform:scaleX(0)}.brand-mark{letter-spacing:-.03em;width:34px;height:34px;transition:background .22s, color .22s, transform .18s var(--ease-out), border-color .22s;border:1px solid #ffffff42;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.brand-mark:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.brand-mark:active{transform:scale(.92)}.nav-links{color:#b8bac1;letter-spacing:.012em;gap:36px;font-size:12px;line-height:1.3;display:flex}.nav-links a{transition:color .25s}.nav-links a:hover{color:#fff}.nav-controls{justify-self:end;align-items:center;gap:8px;display:flex}.language-switch{color:#a0a4ad;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;place-self:center end;align-items:center;gap:7px;min-height:44px;padding:8px 0;font-size:12px;line-height:1;display:flex}.language-switch>span{transition:color .24s var(--ease-out),opacity .24s var(--ease-out),transform .3s var(--ease-out);line-height:1;display:block}.language-switch .active{color:#fff;transform:scale(1.06)}.language-switch>span:not(.active):not(.divider){opacity:1;transform:scale(.96)}.language-switch .divider{opacity:.35}.language-switch:active{transform:scale(.94)}.experience-switch{color:#787c85;letter-spacing:.13em;cursor:pointer;min-width:44px;height:30px;transition:transform .18s var(--ease-out),color .25s,border-color .25s,background .25s;background:#ffffff09;border:1px solid #ffffff1f;border-radius:10px;place-items:center;padding:0 9px;font-size:9px;line-height:1;display:grid;position:relative;overflow:hidden}.experience-switch:before{content:"";opacity:0;background:linear-gradient(115deg,#ff714933,#68e2d62e 52%,#8898ff38);transition:opacity .3s;position:absolute;inset:0}.experience-switch span{position:relative}.experience-switch:hover{color:#e8e9ec;border-color:#ffffff3b}.experience-switch:active{transform:scale(.94)}.experience-switch[aria-pressed=true]{color:#f4f5f7;background:#fff1;border-color:#9fe0da57}.experience-switch[aria-pressed=true]:before{opacity:1}.mobile-menu-toggle,.mobile-menu{display:none}.hero{isolation:isolate;background:#050608;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-3;background:radial-gradient(circle at 69% 48%,#111722 0,#090b10 31%,var(--bg) 66%);position:absolute;inset:0}.hero-motion-field{z-index:-1;contain:paint;pointer-events:none;opacity:0;animation:heroFieldIn 1.1s var(--ease-out) 80ms forwards;position:absolute;inset:0;overflow:hidden;transform:scale(.985)}.hero-motion-field:after{content:"";background:radial-gradient(at 76% 46%,#0000 0 30%,#05060821 58%,#0506087a 84%),linear-gradient(90deg,#050608fa 0,#050608c7 31%,#0506082e 61%,#05060814 100%);position:absolute;inset:0}.hero-light,.hero-lens{will-change:transform;position:absolute;transform:translate(0)}.hero-light>span,.hero-lens>span{transform-origin:50%;will-change:transform,opacity;width:100%;height:100%;display:block;position:relative;transform:translate(0)}.hero-light-primary{aspect-ratio:1;width:min(66vw,910px);top:3vh;right:-4vw}.hero-light-primary>span{background:radial-gradient(circle at 52% 48%,#dcf1ff6b 0 5%,#709dff3b 17%,transparent 45%),conic-gradient(from 210deg at 52% 49%,transparent 0 18%,#455bcd61 31%,#5bbed24f 45%,#8b69d238 59%,transparent 73%);filter:blur(46px);opacity:.72;border-radius:44% 56% 59% 41%/55% 38% 62% 45%;animation:16s cubic-bezier(.45,0,.55,1) -3s infinite heroPrimaryDrift}.hero-light-secondary{aspect-ratio:1.18;width:min(31vw,430px);top:34vh;right:10vw}.hero-light-secondary>span{filter:blur(28px);opacity:.84;background:radial-gradient(at 46% 48%,#79dfe83d,#5a7ede26 37%,#0000 72%);border-radius:52% 48% 45% 55%/44% 54% 46% 56%;animation:19s cubic-bezier(.45,0,.55,1) -11s infinite heroSecondaryDrift}.hero-lens{aspect-ratio:1.08;opacity:.52;width:min(43vw,600px);top:14vh;right:5vw}.hero-lens>span{background:linear-gradient(135deg,#fff1,#0000 29%,#70a4ff0b 54%,#0000 76%);border:1px solid #d1e6ff1a;border-radius:48% 52% 46% 54%/54% 43% 57% 46%;animation:23s cubic-bezier(.45,0,.55,1) -7s infinite heroLensDrift;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,inset 0 -18px 42px #4661ba0b,0 36px 100px #00000014}.hero-lens>span:before,.hero-lens>span:after{content:"";border-radius:inherit;pointer-events:none;position:absolute}.hero-lens>span:before{border:1px solid #ffffff0e;inset:11%;box-shadow:inset 0 1px #ffffff0f}.hero-lens>span:after{filter:blur(12px);background:radial-gradient(#e2f4ff29,#0000 69%);width:56%;height:18%;top:8%;right:4%;transform:rotate(24deg)}.hero-light-veil{background:linear-gradient(#0506080d,#0000 43%,#0506088a 100%);position:absolute;inset:0}.hero.is-motion-paused .hero-light>span,.hero.is-motion-paused .hero-lens>span,.overlay-scroll-locked .hero-light>span,.overlay-scroll-locked .hero-lens>span{animation-play-state:paused}.hero-content{z-index:1;padding-top:54px;position:relative}.eyebrow,.section-kicker{color:#9b9da5;letter-spacing:.12em;text-transform:uppercase;font-size:11px;line-height:1.4}.hero-title{letter-spacing:-.046em;text-wrap:balance;max-width:1040px;margin:30px 0 0;font-size:clamp(50px,6.35vw,96px);font-weight:580;line-height:1.055}.hero-title span{display:block}.hero-title .muted-line{color:#a3a5ac}.hero-body{color:#adb0b8;letter-spacing:.012em;width:min(600px,78%);margin:38px 0 0;font-size:clamp(15px,1.35vw,18px);line-height:1.82}.text-link{letter-spacing:.012em;border-bottom:1px solid #ffffff61;align-items:center;gap:14px;margin-top:34px;padding:8px 0 9px;font-size:13px;line-height:1.4;transition:border-color .25s,color .25s;display:inline-flex}.text-link .arrow{transition:transform .25s}.text-link:hover .arrow{transform:translate(4px,-4px)}.text-link:hover{border-color:#ffffffb8}.reveal{opacity:0;animation:reveal .62s var(--ease-out) forwards;transform:translateY(12px)}.delay-1{animation-delay:60ms}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}.belief{border-top:1px solid var(--line);flex-direction:column;justify-content:center;min-height:82vh;display:flex}.belief h2{letter-spacing:-.038em;color:#dedfe2;text-wrap:balance;max-width:1060px;margin:0;font-size:clamp(40px,5.7vw,82px);font-weight:520;line-height:1.18}.section-heading{grid-template-columns:minmax(0,820px);align-items:start;gap:30px;padding:158px 0 76px;display:grid}.section-heading h2,.metrics-section h2,.method-intro h2,.archive-panel h2,.about-grid h2{letter-spacing:-.04em;margin:28px 0 0;font-size:clamp(38px,4.8vw,70px);font-weight:530;line-height:1.12}.section-heading>p{max-width:620px;color:var(--muted);letter-spacing:.014em;margin:0;font-size:14px;line-height:1.88}.project-list{gap:120px;padding-bottom:164px;display:grid}.portfolio-visibility-pending .company-list{opacity:0;transform:translateY(6px)}.portfolio-visibility-ready .company-list{opacity:1;transition:opacity .28s ease,transform .36s var(--ease-out);transform:none}.portfolio-empty{border-block:1px solid var(--line);color:var(--muted);margin:0;padding:72px 0;font-size:15px;line-height:1.7}.project-card button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.project-visual{--cover-accent:#9bb1ff;contain:paint;border-radius:var(--radius-panel);background:radial-gradient(circle at 78% 42%, var(--cover-accent), transparent 34%),linear-gradient(145deg,#14171e 0%,#0b0d11 60%,#08090c 100%);height:min(58vw,680px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-visual{background:radial-gradient(circle at 78% 42%, color-mix(in srgb,var(--cover-accent) 18%,transparent), transparent 34%),linear-gradient(145deg,#14171e 0%,#0b0d11 60%,#08090c 100%)}}.project-visual{isolation:isolate;transition:transform .32s var(--ease-out),border-color .24s;border:1px solid #ffffff18;box-shadow:0 24px 70px #00000024}.project-visual:before{content:"";z-index:-1;background:linear-gradient(110deg,#ffffff09,transparent 28%),radial-gradient(circle at 5% 100%,var(--cover-accent),transparent 32%);position:absolute;inset:-3%}@supports (color:color-mix(in lab, red, red)){.project-visual:before{background:linear-gradient(110deg,#ffffff09,transparent 28%),radial-gradient(circle at 5% 100%,color-mix(in srgb,var(--cover-accent) 10%,transparent),transparent 32%)}}.project-visual:before{transition:transform .7s var(--ease-out),opacity .4s ease;transform:translate(-1.5%)scale(1.025)}.project-visual:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg,#05060847,#0000 42%),linear-gradient(#0000 60%,#0304065c);position:absolute;inset:0}.cover-lpro{--cover-accent:#78b9f2}.cover-cow,.cover-cow-live,.cover-cow-detail{--cover-accent:#6fbbeb}.cover-cow .project-media img,.cover-cow-live .project-media img{aspect-ratio:auto;object-fit:contain}.cover-cow-detail .project-media img{object-position:top}.company-group{border-top:1px solid var(--line)}.company-group:last-child{border-bottom:1px solid var(--line)}.company-heading{cursor:pointer;grid-template-columns:minmax(210px,1fr) minmax(220px,360px) auto;align-items:center;gap:clamp(22px,4vw,64px);padding:26px 0;list-style:none;display:grid}.company-heading::-webkit-details-marker{display:none}.company-heading strong{letter-spacing:-.025em;font-size:clamp(24px,3vw,38px);font-weight:500;line-height:1.25;display:block}.company-description{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.6;display:block}.company-preview{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;width:100%;height:132px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.company-preview:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0506081f,#0000 28%,#05060814);position:absolute;inset:0}.company-preview img{object-fit:cover;object-position:center;opacity:0;width:100%;height:100%;display:block;position:absolute;inset:0;transform:scale(1.025)}.company-preview img:first-child{opacity:1}.company-group[open]>.company-heading{grid-template-columns:minmax(210px,1fr) auto}.company-group[open]>.company-heading .company-preview{display:none}.company-toggle{color:var(--muted);flex-shrink:0;align-items:center;gap:18px;font-size:14px;display:flex}.company-toggle i{border:1px solid var(--line);width:44px;height:44px;color:var(--text);transition:transform .28s var(--ease-out),background .2s;border-radius:50%;place-items:center;font-size:26px;font-style:normal;font-weight:300;display:grid}.company-close-label,.company-group[open]>.company-heading .company-open-label{display:none}.company-group[open]>.company-heading .company-close-label{display:inline}.company-group[open]>.company-heading i{transform:rotate(45deg)}.company-heading:hover i{background:var(--surface-soft)}.company-heading:focus-visible{outline:2px solid var(--text);outline-offset:5px;border-radius:8px}.company-content{padding:16px 0 64px}.company-archive{margin-top:64px}.company-archive>h3{margin:0 0 28px;font-size:24px;font-weight:500}@media (prefers-reduced-motion:no-preference){.company-group[open]>.company-content{animation:companyReveal .3s var(--ease-out) both}.company-group:not([open]) .company-preview img{animation:companyPreviewCycle 12s var(--ease-out) infinite;animation-play-state:paused}.company-group.preview-in-view:not([open]) .company-preview img{animation-play-state:running}.page-motion-paused .company-group .company-preview img,.overlay-scroll-locked .company-group .company-preview img{animation-play-state:paused}@keyframes companyReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes companyPreviewCycle{0%,29%{opacity:1;transform:scale(1.025)}35%,94%{opacity:0;transform:scale(1.065)}to{opacity:1;transform:scale(1.025)}}}@media (prefers-reduced-motion:reduce){.portfolio-visibility-pending .company-list,.portfolio-visibility-ready .company-list{transition:none;transform:none}}@media (width<=820px){.company-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 14px;padding:24px 0}.company-preview{border-radius:12px;grid-area:2/1/auto/-1;height:clamp(104px,32vw,138px)}.company-group[open]>.company-heading{grid-template-columns:minmax(0,1fr) auto}.company-toggle{border:1px solid var(--line);color:#c7c9ce;min-height:44px;transition:transform .16s var(--ease-out),background .2s,border-color .2s;border-radius:999px;gap:8px;padding:4px 4px 4px 12px;font-size:13px;line-height:1}.company-toggle>span:first-child{display:none}.company-toggle i{background:var(--surface-soft);border:0;width:34px;height:34px;font-size:22px}.company-heading:active .company-toggle{background:var(--surface-soft);border-color:#ffffff29;transform:scale(.98)}.company-content{padding:8px 0 36px}.company-archive{margin-top:36px}}.artwork-section{margin-top:72px}.artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;display:grid}.artwork-grid figure{min-width:0;margin:0}.artwork-grid .image-zoom-trigger{border-radius:12px;height:auto}.artwork-grid img{width:100%;height:auto;display:block}.artwork-grid figcaption{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.artwork-section-kv .artwork-grid{grid-template-columns:1.3fr 1fr}.artwork-section-live .artwork-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.artwork-section-loreal-campaign .artwork-grid{grid-template-columns:minmax(0,1fr)}.artwork-section-loreal-display .artwork-grid figure:nth-child(n+3){grid-column:1/-1}.artwork-section-loreal-commerce .artwork-grid{grid-template-columns:minmax(0,760px);justify-content:center}.panel-visual-cow{aspect-ratio:auto!important;height:auto!important}.panel-visual-cow .image-zoom-trigger img{object-fit:contain;background:#111419;width:100%;height:auto;max-height:620px;display:block}.panel-visual-cow-detail img{object-position:top!important}.panel-visual-loreal-campaign,.panel-visual-loreal-display,.panel-visual-loreal-commerce{aspect-ratio:auto!important;height:auto!important}.panel-visual-loreal-campaign .image-zoom-trigger img,.panel-visual-loreal-display .image-zoom-trigger img,.panel-visual-loreal-commerce .image-zoom-trigger img{object-fit:contain;background:#111318;width:100%;height:auto;max-height:620px;display:block}@media (width<=820px){.artwork-section{margin-top:48px}.artwork-section .artwork-grid{grid-template-columns:minmax(0,1fr);gap:28px}.panel-visual-cow .image-zoom-trigger img,.panel-visual-loreal-campaign .image-zoom-trigger img,.panel-visual-loreal-display .image-zoom-trigger img,.panel-visual-loreal-commerce .image-zoom-trigger img{max-height:520px}}.cover-q3{--cover-accent:#e67b3d;background:radial-gradient(circle at 79% 39%,#cd5f2b3d,#0000 34%),linear-gradient(145deg,#1b1714,#0d0e0f 61%,#07100b)}.cover-o3hue{--cover-accent:#78d9f1;background:radial-gradient(circle at 82% 34%,#5db5ff3b,#0000 31%),radial-gradient(circle at 61% 75%,#f070bf26,#0000 32%),linear-gradient(145deg,#131a22,#0c0e14 60%,#15101a)}.cover-o3core{--cover-accent:#35dbea;background:radial-gradient(circle at 80% 34%,#35dbea38,#0000 32%),radial-gradient(circle at 64% 78%,#4476ee1f,#0000 34%),linear-gradient(145deg,#101b20,#090e12 62%,#071014)}.cover-o1s{--cover-accent:#ee7c42;background:radial-gradient(circle at 79% 39%,#e86f373d,#0000 34%),linear-gradient(145deg,#1a1513,#0e0d0d 62%,#090a0c)}.cover-i3{--cover-accent:#8fcff3;background:radial-gradient(circle at 79% 39%,#67b4e245,#0000 34%),linear-gradient(145deg,#111b25,#0a1016 62%,#11120d)}.cover-worldcup{--cover-accent:#e43c4f;background:radial-gradient(circle at 79% 39%,#c8203647,#0000 34%),linear-gradient(145deg,#1b1518,#0c0d11 62%,#07110f)}.cover-snoopy{--cover-accent:#f0d85a;background:radial-gradient(circle at 78% 39%,#2279b247,#0000 33%),linear-gradient(145deg,#141b24,#0b1016 64%,#11100b)}.cover-o3neo{--cover-accent:#a8c9df}.cover-matte{--cover-accent:#d8e9f6}.cover-grid{z-index:0;opacity:.38;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 78%);mask-image:linear-gradient(90deg,#000,#0000 78%)}.cover-editorial{z-index:5;pointer-events:none;flex-direction:column;justify-content:space-between;align-items:flex-start;width:34%;display:flex;position:absolute;top:40px;bottom:42px;left:42px}.cover-index{color:var(--cover-accent)}@supports (color:color-mix(in lab, red, red)){.cover-index{color:color-mix(in srgb,var(--cover-accent) 90%,white)}}.cover-index{letter-spacing:.18em;font-size:11px;line-height:1}.cover-title-group{gap:13px;max-width:360px;display:grid}.cover-title-group span{color:#ffffff8a;letter-spacing:.11em;text-transform:uppercase;font-size:10px;line-height:1.5}.cover-title-group strong{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(30px,3.4vw,52px);font-weight:520;line-height:1.08}.project-media{z-index:2;position:absolute;inset:5% 4% 5% 38%}.project-media img{aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:var(--radius-media);width:auto;min-width:0;transition:transform .38s var(--ease-out);border:1px solid #ffffff26;display:block;position:absolute;box-shadow:0 22px 54px #0006}.project-media .media-1{z-index:3;height:90%;top:5%;left:50%;transform:translate(-50%)rotate(-.7deg)}.project-media .media-2{z-index:2;height:66%;top:17%;left:0;transform:rotate(-5deg)}.project-media .media-3{z-index:1;height:62%;top:19%;right:0;transform:rotate(5deg)}.cover-loreal-campaign{--cover-accent:#d6b680;background:radial-gradient(circle at 80% 38%,#96b4e033,#0000 34%),linear-gradient(145deg,#181816,#0d0e11 62%,#11151b)}.cover-loreal-display{--cover-accent:#e2a5bc;background:radial-gradient(circle at 82% 36%,#e2a4bc33,#0000 34%),linear-gradient(145deg,#1a1517,#0e0e11 62%,#141112)}.cover-loreal-commerce{--cover-accent:#c8b794;background:radial-gradient(circle at 80% 39%,#c6b08433,#0000 34%),linear-gradient(145deg,#171612,#0d0e10 62%,#12100d)}.cover-loreal-campaign .project-media{inset:8% 3% 8% 40%}.cover-loreal-campaign .project-media img{aspect-ratio:auto;object-fit:contain;background:#e9e8e5;width:auto;height:auto}.cover-loreal-campaign .project-media .media-1{width:74%;top:31%;left:51%;transform:translate(-50%)rotate(-.7deg)}.cover-loreal-campaign .project-media .media-2{width:57%;height:auto;top:6%;left:0;transform:rotate(-4deg)}.cover-loreal-campaign .project-media .media-3{width:54%;height:auto;display:block;top:auto;bottom:5%;right:0;transform:rotate(4deg)}.cover-loreal-display .project-media img{aspect-ratio:1;object-fit:cover}.cover-loreal-display .project-media .media-1{height:78%;top:11%}.cover-loreal-display .project-media .media-2{height:58%;top:22%}.cover-loreal-display .project-media .media-3{height:53%;top:24%}.cover-loreal-commerce .project-media img{aspect-ratio:auto;object-fit:contain;object-position:top;background:#f4f2ee}.protected-media img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.project-label{z-index:6;color:#ffffff73;letter-spacing:.13em;text-transform:uppercase;font-size:7px;line-height:1;display:block;position:absolute;bottom:22px;right:24px}.view-cue{z-index:6;border-radius:var(--radius-pill);opacity:0;transition:opacity .22s,transform .28s var(--ease-out),background .2s;background:#050608c7;border:1px solid #ffffff29;padding:10px 14px;font-size:11px;position:absolute;top:24px;right:25px;transform:translateY(6px)}.project-card button:hover .project-visual{border-color:#ffffff2b;transform:translateY(-3px)scale(.997)}.project-card button:hover .project-visual:before,.archive-card button:hover .project-visual:before{transform:translate(1.5%,-.6%)scale(1.045)}.project-card button:hover .project-media .media-1,.archive-card button:hover .project-media .media-1{transform:translate(-50%)translateY(-6px)rotate(0)scale(1.014)}.project-card button:hover .project-media .media-2{transform:translate(-7px,4px)rotate(-6deg)}.project-card button:hover .project-media .media-3{transform:translate(7px,3px)rotate(6deg)}.project-card button:hover .view-cue{opacity:1;transform:none}.project-card button:active .project-visual,.archive-card button:active .project-visual{transition-duration:.12s;transform:scale(.988)}.project-copy{grid-template-columns:46px .9fr 1fr;align-items:start;gap:32px;padding:32px 0 0;display:grid}.project-index{color:#686b73;padding-top:8px;font-size:11px}.project-copy h3{letter-spacing:-.032em;margin:0;font-size:clamp(28px,3vw,42px);font-weight:520;line-height:1.14}.project-type{color:#8b8e96;letter-spacing:.018em;margin:11px 0 0;font-size:12px;line-height:1.55}.project-summary{color:#a2a5ad;letter-spacing:.016em;max-width:540px;margin:4px 0 0;font-size:14px;line-height:1.86}.metrics-section{color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0b0d11;padding:152px 0 158px}.metrics-section .section-kicker{color:#8c9099}.metrics-section h2{text-wrap:balance;max-width:760px;margin-top:0}.metric-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:84px;display:grid}.metric{border-bottom:1px solid var(--line);padding:48px 20px 10px 0}.metric+.metric{border-left:1px solid var(--line);padding-left:44px}.metric strong{letter-spacing:-.07em;font-size:clamp(62px,9vw,126px);font-weight:540;line-height:.9}.metric p{color:#979aa3;letter-spacing:.012em;margin:28px 0 0;font-size:13px;line-height:1.7}.resume-section{background:linear-gradient(#08090c,#050608 58%);padding:164px 0 156px}.resume-heading{grid-template-columns:1.08fr .62fr;align-items:end;gap:110px;display:grid}.resume-heading h2{letter-spacing:-.045em;text-wrap:balance;max-width:720px;margin:28px 0 0;font-size:clamp(42px,5.3vw,76px);font-weight:530;line-height:1.08}.resume-heading-side>p{color:#9699a2;letter-spacing:.016em;margin:0;font-size:14px;line-height:1.9}.resume-download{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#e2e3e6;letter-spacing:.02em;justify-content:space-between;align-items:center;width:100%;margin-top:34px;padding:16px 0;font-size:12px;transition:color .25s,border-color .25s;display:flex}.resume-download i{border:1px solid #fff3;border-radius:50%;place-items:center;width:28px;height:28px;font-style:normal;transition:transform .25s,background .25s,color .25s;display:grid}.resume-download:hover{color:#fff;border-color:#ffffff4d}.resume-download:hover i{color:#08090a;background:#f3f3f5;transform:translateY(3px)}.resume-board{border:1px solid var(--line);border-radius:var(--radius-panel);background:#0a0c0f;grid-template-columns:340px minmax(0,1fr);margin-top:78px;display:grid;overflow:hidden;box-shadow:0 34px 100px #0003,inset 0 1px #ffffff06}.resume-profile{border-right:1px solid var(--line);background:linear-gradient(160deg,#151821,#0c0e12 70%);flex-direction:column;padding:24px;display:flex}.resume-photo{aspect-ratio:4/4.75;background:#e8e8e6;border-radius:17px;overflow:hidden}.resume-photo img{object-fit:cover;object-position:center 27%;filter:saturate(.84)contrast(1.01);width:100%;height:100%;display:block}.resume-identity{border-bottom:1px solid var(--line);padding:30px 2px 28px}.resume-identity>p{color:#737781;letter-spacing:.16em;margin:0;font-size:9px;line-height:1.4}.resume-identity h3{letter-spacing:-.035em;margin:10px 0 0;font-size:36px;font-weight:520;line-height:1.06}.resume-identity>span{color:#a2a5ad;margin-top:12px;font-size:12px;line-height:1.7;display:block}.resume-status{border-bottom:1px solid var(--line);color:#b5b8bf;align-items:flex-start;gap:11px;padding:23px 2px;font-size:11px;line-height:1.7;display:flex}.resume-status i{background:#83e6ae;border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px;box-shadow:0 0 18px #83e6aea6}.resume-contact{gap:7px;margin-top:auto;padding:28px 2px 4px;display:grid}.resume-contact p{color:#656973;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:9px}.resume-contact a{color:#d5d7db;width:max-content;max-width:100%;font-size:11px;line-height:1.55;transition:color .25s}.resume-contact a:hover{color:#aebaff}.resume-experience{padding:48px 54px 58px}.resume-block-title{color:#8c8f98;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:18px;font-size:10px;line-height:1.4;display:flex}.resume-block-title span{color:#565a64}.resume-block-title p{margin:0}.current-role{border-bottom:1px solid var(--line);padding:36px 0 50px}.role-heading{grid-template-columns:150px 1fr;align-items:start;gap:28px;display:grid}.role-heading>span,.previous-list article>span{color:#6e727b;letter-spacing:.04em;font-size:10px;line-height:1.6}.role-heading h3{letter-spacing:-.025em;margin:0;font-size:25px;font-weight:520;line-height:1.25}.role-heading p{color:#a4a7ae;margin:8px 0 0;font-size:12px;line-height:1.65}.role-summary{color:#c3c5ca;letter-spacing:.014em;max-width:720px;margin:30px 0 0;font-size:14px;line-height:1.9}.current-role ul{border-top:1px solid #ffffff13;margin:28px 0 0 150px;padding:0;list-style:none}.current-role li{color:#9599a2;letter-spacing:.015em;border-bottom:1px solid #ffffff13;padding:19px 0 19px 20px;font-size:12px;line-height:1.86;position:relative}.current-role li:before{content:"";background:#8fa4ff;border-radius:50%;width:5px;height:5px;position:absolute;top:27px;left:0}.resume-block-sub{margin-top:42px}.previous-list{border-top:1px solid var(--line);margin-top:18px}.previous-list article{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:28px;padding:29px 0;display:grid}.previous-list h4{margin:0;font-size:16px;font-weight:500;line-height:1.5}.previous-list p{color:#868a94;margin:8px 0 0;font-size:12px;line-height:1.76}.previous-list .previous-company{color:#b0b3ba}.resume-competency-grid{grid-template-columns:1.05fr .95fr .7fr;gap:24px;margin-top:24px;display:grid}.resume-competency-grid>section{border:1px solid var(--line);border-radius:var(--radius-card);background:#0a0c0f;min-width:0;padding:34px}.capability-list{grid-template-columns:1fr 1fr;margin-top:28px;display:grid}.capability-list span{color:#c5c7cc;border-bottom:1px solid #ffffff13;align-items:baseline;gap:12px;padding:16px 10px 16px 0;font-size:12px;line-height:1.55;display:flex}.capability-list i{color:#565a64;font-size:8px;font-style:normal}.tool-cloud{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.tool-cloud span{color:#b8bbc2;background:#0f1217;border:1px solid #ffffff1c;border-radius:999px;padding:10px 13px;font-size:10px;line-height:1}.education-card{flex-direction:column;justify-content:space-between;min-height:150px;margin-top:28px;display:flex}.education-card strong{letter-spacing:-.025em;max-width:240px;font-size:23px;font-weight:500;line-height:1.35}.education-card span{color:#737780;letter-spacing:.08em;font-size:10px}.method-section{grid-template-columns:.78fr 1.22fr;gap:118px;padding:158px 0;display:grid}.method-intro{align-self:start;position:sticky;top:126px}.method-intro h2{text-wrap:balance;margin-top:0}.method-list{border-top:1px solid var(--line)}.method-list article{border-bottom:1px solid var(--line);grid-template-columns:48px 160px 1fr;gap:30px;padding:42px 0;display:grid}.method-list span{color:#656972;font-size:11px}.method-list h3{letter-spacing:.01em;margin:0;font-size:17px;font-weight:500;line-height:1.5}.method-list p{color:#92959e;letter-spacing:.016em;margin:0;font-size:13px;line-height:1.88}.archive-section{padding:0 0 164px}.archive-panel{border-radius:var(--radius-panel);border:1px solid var(--line);background:linear-gradient(145deg,#101318,#090b0e);padding:82px;box-shadow:inset 0 1px #ffffff06}.archive-panel h2{max-width:760px;margin-top:0}.archive-body{color:#93969f;letter-spacing:.016em;max-width:650px;margin:34px 0 60px;line-height:1.9}.archive-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:72px;display:grid}.archive-card:first-child{grid-column:1/-1}.archive-card:first-child .project-visual.compact{aspect-ratio:16/8.7}.archive-card button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.project-visual.compact{aspect-ratio:16/10.5;border-radius:20px;height:auto}.project-visual.compact .cover-editorial{width:38%;top:23px;bottom:24px;left:24px}.project-visual.compact .cover-title-group{gap:8px}.project-visual.compact .cover-title-group span{font-size:8px}.project-visual.compact .cover-title-group strong{font-size:clamp(19px,2.2vw,28px)}.project-visual.compact .project-media{inset:7% 5% 7% 51%}.project-visual.compact .project-media .media-1{height:92%}.project-visual.compact .media-2,.project-visual.compact .media-3{display:none}.project-visual.compact .project-label{font-size:6px;bottom:14px;right:15px}.project-visual.compact .view-cue{opacity:1;top:15px;right:15px;transform:none}.archive-card-copy{grid-template-columns:34px 1fr auto;align-items:start;gap:12px;padding:20px 2px 0;display:grid}.archive-card-copy>span{color:#60646d;padding-top:5px;font-size:10px}.archive-card-copy h3{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:500;line-height:1.3}.archive-card-copy p{color:#848892;margin:7px 0 0;font-size:11px;line-height:1.55}.archive-card-copy>i{color:#747883;font-size:15px;font-style:normal}.archive-tags{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.archive-tags span{border-bottom:1px solid var(--line);color:#d6d7db;letter-spacing:.015em;padding:27px 12px 27px 0;font-size:13px;line-height:1.5}.archive-tags i{color:#61646c;margin-right:18px;font-size:10px;font-style:normal}.about-section{border-top:1px solid var(--line);padding:150px 0 164px}.about-grid{grid-template-columns:1.2fr .8fr;gap:128px;margin-top:0;display:grid}.about-grid h2{margin:0}.about-grid>div>p{color:#9b9ea6;letter-spacing:.016em;margin:14px 0 0;font-size:14px;line-height:1.96}.footer{border-top:1px solid var(--line);isolation:isolate;background:linear-gradient(#050608 0%,#07090e 48%,#080b12 100%);min-height:88svh;position:relative;overflow:hidden}.footer:before{content:"";z-index:-2;background:linear-gradient(110deg,#ffffff06,#0000 28%),radial-gradient(circle at 84% 20%,#7d94ff1a,#0000 31%);position:absolute;inset:0}.footer-glow{z-index:-1;background:radial-gradient(circle,#7e94ff57,#5dcfe51f 34%,#0000 69%);border-radius:50%;width:min(86vw,1220px);height:min(50vw,700px);position:absolute;bottom:-34vw;left:50%;transform:translate(-50%)}.footer-orbit{z-index:-1;aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;width:min(66vw,940px);position:absolute;top:-36vw;right:-18vw;box-shadow:0 0 0 9vw #ffffff03,0 0 0 18vw #ffffff02}.footer-inner{padding:142px 0 38px;position:relative}.footer-intro-grid{grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr);align-items:end;gap:clamp(72px,9vw,140px);margin-top:0;display:grid}.footer-intro-grid h2{letter-spacing:-.045em;text-wrap:balance;max-width:810px;margin:0;font-size:clamp(44px,5.2vw,76px);font-weight:520;line-height:1.1}.footer-intro-copy>p{color:#9b9ea6;letter-spacing:.016em;max-width:440px;margin:0;font-size:14px;line-height:1.96}.footer-status{color:#c5c7cc;letter-spacing:.02em;align-items:center;gap:11px;margin-top:31px;font-size:11px;line-height:1.6;display:flex}.footer-status i{background:#83e6ae;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 18px #83e6aea6}.footer-roles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:74px;display:grid}.footer-roles span{color:#d5d7db;letter-spacing:.015em;align-items:center;gap:14px;min-width:0;padding:25px 18px 25px 0;font-size:12px;line-height:1.45;display:flex}.footer-roles span+span{border-left:1px solid var(--line);padding-left:22px}.footer-roles i{color:#5f636d;font-size:9px;font-style:normal}.footer-contact-grid{grid-template-columns:1.15fr .85fr;gap:16px;margin-top:24px;display:grid}.contact-card{contain:paint;border-radius:var(--radius-card);min-width:0;min-height:196px;transition:transform .34s var(--ease-out),border-color .28s,background .28s;background:#ffffff09;border:1px solid #ffffff1f;flex-direction:column;justify-content:space-between;padding:28px 30px 30px;display:flex;position:relative;overflow:hidden}.contact-card:before{content:"";opacity:0;background:radial-gradient(circle,#7f99ff3d,#0000 68%);border-radius:50%;width:220px;height:220px;transition:opacity .35s,transform .55s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-150px;right:-130px}.contact-card>span{color:#747883;letter-spacing:.15em;text-transform:uppercase;font-size:9px;line-height:1}.contact-card strong{z-index:1;letter-spacing:-.045em;overflow-wrap:anywhere;max-width:100%;font-size:clamp(25px,3.15vw,44px);font-weight:500;line-height:1.12;display:block;position:relative}.contact-card-phone strong{font-size:clamp(23px,2.5vw,36px)}.contact-card>i{color:#979ba4;font-size:17px;font-style:normal;transition:transform .35s,color .35s;position:absolute;top:26px;right:28px}.contact-card:hover{background:#ffffff0e;border-color:#ffffff3d;transform:translateY(-3px)}.contact-card:hover:before{opacity:1;transform:translate(-24px,-18px)scale(1.18)}.contact-card:hover>i{color:#dfe4ff;transform:translate(5px,-5px)}.contact-card:active{transition-duration:.12s;transform:scale(.988)}.footer-legal{color:#727680;letter-spacing:.025em;border-top:1px solid #ffffff14;justify-content:space-between;gap:50px;margin-top:25px;padding:22px 0 0;font-size:10px;line-height:1.75;display:flex}.footer-legal>p{max-width:760px;margin:0}.filing-links{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px 22px;display:flex}.filing-links a{color:#858993;transition:color .25s}.filing-links a:hover{color:#fff}.footer-meta{color:#747780;text-transform:uppercase;letter-spacing:.09em;grid-template-columns:1fr auto auto auto;align-items:center;gap:34px;margin-top:30px;font-size:9px;line-height:1.5;display:grid}.footer-meta button{color:#b2b5be;cursor:pointer;background:0 0;border:0;min-height:44px;padding:7px 0;font-size:13px;transition:color .25s}.footer-meta button:hover{color:#fff}.case-overlay{z-index:100;pointer-events:none;contain:layout paint style;position:fixed;inset:0}.overlay-backdrop{opacity:0;background:#000000c7;border:0;width:100%;transition:opacity .28s;position:absolute;inset:0}.case-panel{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;will-change:transform;backface-visibility:hidden;contain:layout paint style;scrollbar-color:#ffffff38 transparent;background:#0b0d10;width:min(920px,94vw);height:100%;transition:transform .46s cubic-bezier(.32,.72,0,1);position:absolute;top:0;right:0;overflow:auto;transform:translate(101%);box-shadow:-24px 0 72px #00000047}.case-panel:focus{outline:none}.case-panel::-webkit-scrollbar{width:6px}.case-panel::-webkit-scrollbar-track{background:0 0}.case-panel::-webkit-scrollbar-thumb{background:#ffffff38;border:1px solid #0000}.case-overlay.open{pointer-events:auto}.case-overlay.open .overlay-backdrop{opacity:1}.case-overlay.open .case-panel{transform:none}.panel-top{z-index:2;color:#858992;text-transform:uppercase;letter-spacing:.08em;background:#0b0d10f6;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:74px;padding:0 28px;font-size:10px;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #ffffff06}.panel-top button{cursor:pointer;color:#c1c3c9;min-height:44px;transition:color .2s, transform .16s var(--ease-out), background .2s;background:0 0;border:0;border-radius:10px;padding:0 2px 0 12px}.panel-top i{vertical-align:-2px;margin-left:8px;font-size:20px;font-style:normal}.panel-top button:hover{color:#fff;background:#ffffff0b}.panel-top button:active{transform:scale(.96)}.panel-visual{background:#111319;height:520px;position:relative;overflow:hidden}.panel-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#0607097a);position:absolute;inset:0}.panel-visual img{object-fit:cover;object-position:center 22%;width:100%;height:100%}.panel-visual-q3 img{object-position:center top}.panel-visual-o3hue img{object-position:center 18%}.panel-content{padding:66px 58px 110px}.panel-content>p:first-child{color:#676b74;letter-spacing:.1em;text-transform:uppercase;font-size:10px;line-height:1.5}.panel-content h2{letter-spacing:-.045em;margin:24px 0 0;font-size:clamp(40px,6vw,72px);line-height:1.08}.panel-content h3{color:#9fa2aa;letter-spacing:.015em;margin:16px 0 34px;font-size:13px;font-weight:400;line-height:1.6}.panel-content p{color:#b1b3b9;letter-spacing:.016em;font-size:14px;line-height:1.94}.panel-intro{max-width:650px;color:#d5d6da!important;font-size:16px!important}.panel-rule{background:var(--line);height:1px;margin:52px 0}.case-story{border-top:1px solid var(--line);gap:0;display:grid}.case-story section{border-bottom:1px solid var(--line);grid-template-columns:44px 150px 1fr;gap:24px;padding:36px 0;display:grid}.case-story span{color:#5f636c;font-size:10px}.case-story h4{margin:0;font-size:14px;font-weight:500;line-height:1.6}.case-story p{color:#9599a2;margin:0;font-size:13px}.panel-gallery,.panel-iterations,.panel-detail{margin-top:84px}.panel-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:14px;display:flex}.panel-section-label{text-transform:uppercase;margin:0;color:#777b84!important;letter-spacing:.12em!important;font-size:10px!important}.panel-section-heading>span{color:#555a64;letter-spacing:.12em;font-size:9px;line-height:1}.panel-gallery-lead{isolation:isolate;background:#111419;border:1px solid #ffffff1a;border-radius:18px;place-items:center;height:min(57vw,570px);margin:0;display:grid;position:relative;overflow:hidden}.panel-gallery-lead:after{content:"";z-index:-1;background:linear-gradient(#0607090a,#06070952);position:absolute;inset:0}.panel-gallery-lead:before,.panel-gallery-grid figure:after,.pdp-frame:after{content:"© DU KEJIN · PORTFOLIO";z-index:3;color:#ffffff6b;letter-spacing:.12em;pointer-events:none;background:#060709c2;border:1px solid #ffffff17;border-radius:999px;padding:6px 8px;font-size:6px;line-height:1;position:absolute;bottom:13px;left:14px}.panel-gallery-blur{display:none}.panel-gallery-lead img{object-fit:contain;border-radius:12px;width:auto;max-width:80%;height:91%;display:block;box-shadow:0 20px 52px #0000004d}.panel-gallery-lead figcaption,.panel-gallery-grid figcaption{z-index:2;color:#ffffffb3;letter-spacing:.1em;background:#060709d1;border:1px solid #ffffff1f;border-radius:999px;padding:7px 9px;font-size:8px;line-height:1;position:absolute;bottom:12px;right:14px}.panel-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:14px;margin-top:14px;display:grid}.panel-gallery-grid figure{aspect-ratio:3/4;contain:layout paint;background:#12151a;border:1px solid #ffffff17;border-radius:16px;grid-column:span 6;margin:0;position:relative;overflow:hidden}.panel-gallery-grid figure.gallery-wide{aspect-ratio:16/9;background:radial-gradient(circle at 50% 48%,#20252d,#101217 72%);grid-column:1/-1}.panel-gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .32s var(--ease-out);display:block}.panel-gallery-grid .gallery-wide img{object-fit:contain;padding:10px}.panel-gallery-grid figure:hover img{transform:scale(1.012)}.panel-iteration-intro{max-width:600px;margin:0 0 34px;color:#858993!important;font-size:13px!important}.iteration-groups{display:grid}.iteration-group{border-top:1px solid var(--line);min-width:0;padding:30px 0 34px}.iteration-group:last-child{border-bottom:1px solid var(--line)}.iteration-group-heading{grid-template-columns:42px minmax(0,1fr) auto;align-items:baseline;gap:14px;margin-bottom:22px;display:grid}.iteration-group-heading>span,.iteration-group-heading>p{color:#5f646e;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:9px;line-height:1.4}.iteration-group-heading h4{color:#d0d2d8;letter-spacing:.01em;margin:0;font-size:15px;font-weight:500;line-height:1.4}.iteration-track{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;-webkit-overflow-scrolling:touch;gap:12px;min-width:0;padding:0 0 12px;display:flex;overflow-x:auto}.iteration-track::-webkit-scrollbar{height:5px}.iteration-track::-webkit-scrollbar-track{background:0 0}.iteration-track::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.iteration-track figure{scroll-snap-align:start;flex:0 0 clamp(210px,31%,270px);margin:0}.iteration-image{aspect-ratio:3/4;background:#12151a;border:1px solid #ffffff1a;border-radius:15px}.iteration-image img{object-fit:cover;width:100%;height:100%;transition:transform .32s var(--ease-out);display:block}.iteration-track figure:hover .iteration-image img{transform:scale(1.012)}.iteration-track figcaption{color:#676b74;letter-spacing:.09em;text-transform:uppercase;margin-top:11px;font-size:8px;line-height:1.5}.panel-detail{width:min(100%,760px);margin-left:auto;margin-right:auto}.panel-pdp{background:#171a1f;border:1px solid #ffffff1c;border-radius:18px;padding:0 14px 14px;overflow:hidden;box-shadow:0 30px 90px #0003}.panel-pdp-chrome{color:#686d76;align-items:center;gap:7px;height:46px;display:flex}.panel-pdp-chrome i{background:#4e535c;border-radius:50%;width:6px;height:6px}.panel-pdp-chrome span{color:#656a74;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:8px;line-height:1;overflow:hidden}.pdp-frame{contain:layout paint;position:relative}.panel-pdp img{background:#f4f4f2;width:100%;height:auto;display:block}.panel-pdp-chrome+.pdp-frame img{border-radius:10px 10px 0 0}.panel-pdp .pdp-frame:last-child img{border-radius:0 0 10px 10px}.panel-meta{color:#646871;text-transform:uppercase;letter-spacing:.075em;margin-top:58px;font-size:10px;line-height:1.65;display:block}.image-zoom-trigger{border-radius:inherit;width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.image-zoom-trigger:after{content:"＋";z-index:5;color:#ffffffd1;opacity:.78;width:34px;height:34px;transition:opacity .2s,transform .22s var(--ease-out),background .2s;pointer-events:none;background:#07080bd1;border:1px solid #ffffff2e;border-radius:50%;place-items:center;font-size:17px;font-weight:300;line-height:1;display:grid;position:absolute;top:14px;right:14px}.image-zoom-trigger:hover:after,.image-zoom-trigger:focus-visible:after{opacity:1;background:#07080bc7;transform:scale(1.08)}.panel-visual .image-zoom-trigger,.panel-gallery-grid .image-zoom-trigger,.pdp-frame .image-zoom-trigger{width:100%;height:100%}.panel-gallery-lead .image-zoom-trigger{place-items:center;width:100%;height:100%;display:grid}.panel-gallery-grid .image-zoom-trigger img{transition:transform .32s var(--ease-out)}.panel-gallery-grid figure:hover .image-zoom-trigger img{transform:scale(1.012)}.image-lightbox{z-index:300;opacity:0;pointer-events:none;contain:layout paint style;transition:opacity .2s;position:fixed;inset:0;overflow:hidden}.image-lightbox:focus{outline:none}.image-lightbox.open{opacity:1;pointer-events:auto}.image-lightbox-backdrop{background:#030406f7;border:0;width:100%;position:absolute;inset:0}.image-lightbox-shell{z-index:1;grid-template-rows:66px minmax(0,1fr) 58px;width:100%;height:100%;transition:transform .22s cubic-bezier(.2,.78,.2,1);display:grid;position:relative;transform:scale(.99)}.image-lightbox.open .image-lightbox-shell{transform:none}.image-lightbox-toolbar,.image-lightbox-footer{color:#9a9da5;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;font-size:9px;line-height:1;display:flex}.image-lightbox-toolbar{background:#08090cf7;border-bottom:1px solid #ffffff14}.image-lightbox-toolbar button,.image-lightbox-footer button{color:#c2c4ca;cursor:pointer;min-height:44px;transition:color .2s,transform .16s var(--ease-out),background .2s;background:0 0;border:0;border-radius:10px;padding-inline:8px}.panel-top button,.image-lightbox-toolbar button,.image-lightbox-footer button{letter-spacing:.015em;white-space:nowrap;font-size:13px;line-height:1.4}.image-lightbox-toolbar button:hover,.image-lightbox-footer button:hover{color:#fff;background:#ffffff0b}.image-lightbox-toolbar button:active,.image-lightbox-footer button:active{transform:scale(.96)}.image-lightbox-toolbar i{vertical-align:-2px;margin-left:8px;font-size:18px;font-style:normal}.image-lightbox-stage{overscroll-behavior:contain;scrollbar-color:#ffffff38 transparent;touch-action:pan-y pinch-zoom;cursor:grab;justify-content:center;align-items:center;min-width:0;min-height:0;padding:18px;display:flex;overflow:auto}.image-lightbox-stage:active{cursor:grabbing}.image-lightbox-stage img{object-fit:contain;cursor:zoom-out;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;backface-visibility:hidden;border-radius:10px;width:auto;max-width:min(94vw,1600px);height:auto;max-height:calc(100dvh - 160px);animation:.26s cubic-bezier(.32,.72,0,1) both lightboxImageIn;display:block;transform:translateZ(0);box-shadow:0 20px 68px #0000006b}.image-lightbox-stage.direction-next img{animation-name:lightboxImageNext}.image-lightbox-stage.direction-previous img{animation-name:lightboxImagePrevious}.image-lightbox-stage.tall{align-items:flex-start}.image-lightbox-stage.tall img{width:min(94vw,900px);max-width:none;max-height:none;margin:auto}.image-lightbox-footer{background:#08090cf7;border-top:1px solid #ffffff14;justify-content:center}.image-lightbox-footer span{color:#a4a8b2;text-align:center;font-variant-numeric:tabular-nums;min-width:70px;font-size:12px}.image-lightbox-footer button:first-child{margin-right:auto}.image-lightbox-footer button:last-child{margin-left:auto}@keyframes lightboxImageIn{0%{opacity:0;transform:scale(.99)}}@keyframes lightboxImageNext{0%{opacity:0;transform:translate(26px)scale(.988)}}@keyframes lightboxImagePrevious{0%{opacity:0;transform:translate(-26px)scale(.988)}}.motion-ready .motion-item{opacity:0;transition:opacity .48s var(--ease-out),transform .54s var(--ease-out);transition-delay:var(--motion-delay,0s);transform:translateY(14px)}.motion-ready .motion-item.motion-soft{transform:translateY(18px)scale(.992)}.motion-ready .motion-item.motion-reset{transition:none}.motion-ready .motion-item.is-visible{opacity:1;transform:none}.motion-delay-1{--motion-delay:55ms}.motion-delay-2{--motion-delay:.11s}.motion-delay-3{--motion-delay:.165s}.motion-ready .project-card .cover-index,.motion-ready .project-card .cover-title-group,.motion-ready .project-card .project-media,.motion-ready .project-card .project-copy{opacity:0;transition:opacity .5s var(--ease-out),transform .58s var(--ease-out)}.motion-ready .project-card .cover-index{transform:translateY(8px)}.motion-ready .project-card .cover-title-group{transition-delay:70ms;transform:translateY(14px)}.motion-ready .project-card .project-media{transition-delay:90ms;transform:translateY(20px)scale(.986)}.motion-ready .project-card .project-copy{transition-delay:.12s;transform:translateY(10px)}.motion-ready .project-card.is-visible .cover-index,.motion-ready .project-card.is-visible .cover-title-group,.motion-ready .project-card.is-visible .project-media,.motion-ready .project-card.is-visible .project-copy{opacity:1;transform:none}.panel-motion-ready [data-panel-motion]{opacity:0;transition:opacity .42s var(--ease-out),transform .5s var(--ease-out);transition-delay:var(--panel-motion-delay,0s);transform:translateY(16px)scale(.994)}.panel-motion-ready [data-panel-motion].panel-motion-reset{transition:none}.panel-motion-ready [data-panel-motion].is-panel-visible{opacity:1;transform:none}.panel-motion-delay-1{--panel-motion-delay:45ms}.panel-motion-delay-2{--panel-motion-delay:90ms}.locale-enter{animation:none}.panel-content.locale-enter{animation:.22s both localeContentIn}.page-transition{z-index:220;pointer-events:none;opacity:0;transform-origin:50%;contain:strict;background:linear-gradient(90deg,#0000,#75ddeceb,#7d94ffe6,#0000);border-radius:999px;width:min(180px,38vw);height:2px;position:fixed;top:76px;left:50%;overflow:hidden;box-shadow:0 0 14px #75ddec47}.locale-transition{z-index:390;pointer-events:none;opacity:1;contain:strict;will-change:transform;background:radial-gradient(circle at 50% 46%,#1e263780,#0000 42%),linear-gradient(145deg,#08090c,#050609 64%,#090b11);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden;transform:translate(102%);box-shadow:inset 1px 0 #ffffff0f}.locale-transition:before{content:"";opacity:.42;background:linear-gradient(112deg,#0000 38%,#85c4da17 50%,#0000 62%);position:absolute;inset:0}.locale-transition span{z-index:1;color:#eff2f7f0;letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(42px,7vw,96px);font-weight:510;line-height:1;position:relative}.locale-transition i{background:linear-gradient(90deg,#0000,#7ed7e2d1,#7e93e8b8,#0000);width:min(220px,46vw);height:1px;position:absolute;top:calc(50% + clamp(42px,7vw,96px));left:50%;transform:translate(-50%);box-shadow:0 0 18px #71c3dd40}.mode-transition{z-index:420;aspect-ratio:1;pointer-events:none;opacity:0;contain:strict;background:radial-gradient(circle at 34% 26%,#f4d45d 0 4%,#ff784e 21%,#5ecfc6 52%,#5269d8 78%,#07090c 100%);border-radius:50%;width:24vmax;position:fixed;top:50%;left:50%;box-shadow:inset 0 0 0 1px #ffffff2e}.mode-transition[data-target=standard]{background:radial-gradient(circle at 34% 26%,#3d424d,#151922 35%,#080a0e 72%,#050608 100%)}.site-root{isolation:isolate;position:relative;overflow-x:clip}.site-root>section,.site-root>footer{z-index:1;position:relative}.lab-atmosphere{z-index:0;pointer-events:none;contain:strict;background:radial-gradient(circle at 78% 12%,#687edb24,#0000 32%),radial-gradient(circle at 16% 72%,#46b0b517,#0000 36%),#05070a;position:fixed;inset:0;overflow:hidden}.lab-particle-canvas,.lab-spectral-field,.lab-warp-grid,.lab-pointer-light,.lab-noise{width:100%;height:100%;position:absolute;inset:0}.lab-particle-canvas{opacity:.68}.lab-spectral-field{filter:blur(58px)saturate(118%);opacity:.62}.lab-spectral-field i{aspect-ratio:1;will-change:transform,opacity;border-radius:44% 56% 64% 36%/50% 38% 62% 50%;width:min(66vw,940px);display:block;position:absolute}.lab-spectral-field i:first-child{background:conic-gradient(from 35deg,#7388df4d,#92cadb24,#0000 46%,#5bbec22e,#7388df47);animation:17s cubic-bezier(.45,0,.55,1) infinite alternate labFieldOne;top:-24vh;right:-20vw}.lab-spectral-field i:nth-child(2){background:conic-gradient(from 230deg,#5668bb33,#0000 32%,#4aaab13d,#5668bb24);width:min(58vw,800px);animation:22s cubic-bezier(.45,0,.55,1) -8s infinite alternate labFieldTwo;top:38vh;left:-26vw}.lab-spectral-field i:nth-child(3){background:radial-gradient(circle at 45% 40%,#7391d733,#6bb9b91f 34%,#0000 68%);width:min(46vw,660px);animation:15s cubic-bezier(.45,0,.55,1) -3s infinite alternate labFieldThree;bottom:-36vh;right:10vw}.lab-warp-grid{opacity:.13;transform-origin:50% 0;background-image:linear-gradient(#6cb6be1a 1px,#0000 1px),linear-gradient(90deg,#788bd214 1px,#0000 1px);background-size:84px 84px;width:136%;height:136%;animation:18s linear infinite labGridSurge;inset:-18%;transform:perspective(680px)rotateX(61deg)translateY(17%)scale(1.1);-webkit-mask-image:radial-gradient(at 56% 48%,#000 0,#0000 68%);mask-image:radial-gradient(at 56% 48%,#000 0,#0000 68%)}.lab-pointer-light{opacity:0;background:radial-gradient(circle 280px at var(--lab-pointer-x,70vw) var(--lab-pointer-y,25vh),#dbebef26,#5bb3b812 28%,transparent 72%);transition:opacity .3s}.lab-atmosphere.pointer-active .lab-pointer-light{opacity:1}.lab-noise{opacity:.035;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");background-size:148px 148px}.mode-lab{--bg:#05070a;--surface:#0a0d12;--surface-soft:#0e1319}.mode-lab .nav-shell{-webkit-backdrop-filter:blur(24px)saturate(165%);backdrop-filter:blur(24px)saturate(165%);background:#040609ad;border-color:#ffffff38;box-shadow:0 16px 54px #00000061,inset 0 1px #ffffff26}.mode-lab .nav-shell:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,#ff70490f,#0000 28%,#53d1c40f 66%,#5b6fdc12);position:absolute;inset:0}.mode-lab .nav-shell:after{background:linear-gradient(90deg,#0000,#ff784e,#f0d15d,#5ed0c3,#687ee9,#0000)}.mode-lab .hero{background:#05070a75}.mode-lab .hero:before{background:radial-gradient(circle at 76% 42%,#5369bf33,#0000 34%),radial-gradient(circle at 85% 18%,#61b0b71a,#0000 30%),linear-gradient(110deg,#05070af5 2%,#05070ab3 52%,#05070a4d)}.mode-lab .hero:after{content:"";z-index:0;pointer-events:none;opacity:.38;background:repeating-linear-gradient(112deg,#0000 0 12%,#ffffff05 12.2%,#0000 12.45% 24%);animation:14s cubic-bezier(.45,0,.55,1) infinite alternate labScan;position:absolute;inset:-16%;transform:translate(-4%)}.mode-lab .hero-content{z-index:2}.mode-lab .hero-motion-field{mix-blend-mode:screen;opacity:.86}.mode-lab .hero-light-primary>span{background:radial-gradient(circle at 52% 48%,#ffefb06b 0 4%,#ff6e4642 18%,transparent 47%),conic-gradient(from 210deg at 52% 49%,transparent 0 15%,#5c71e066 28%,#53d6c659 46%,#f6d25438 62%,#ff6c4b47 73%,transparent 84%);filter:blur(42px)}.mode-lab .hero-light-secondary>span{background:radial-gradient(at 46% 48%,#5de0cf4f,#5e78e22e 39%,#0000 72%)}.mode-lab .hero-lens>span{background:linear-gradient(135deg,#ffffff1a,#0000 26%,#5fdac90f 51%,#ff6f480b 72%,#0000);border-color:#cdece529;box-shadow:inset 0 1px #fff3,inset 0 -18px 42px #4d65bc12,0 38px 110px #0000001f}.mode-lab .hero-title{text-shadow:-1px 0 #69bec41f,1px 0 #7789cd1f}.mode-lab .hero-title .muted-line{color:#c2c5cc;animation:6.8s cubic-bezier(.45,0,.55,1) infinite alternate labTypeBreath}.mode-lab .text-link{border-color:#67d8cc94}.lab-hero-kinetic{z-index:1;pointer-events:none;opacity:.9;width:58vw;height:70%;position:absolute;top:15%;right:-3vw;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 26% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 26% 82%,#0000 100%)}.lab-hero-kinetic span{--lab-word-index:0;color:#e2e9f009;letter-spacing:-.085em;white-space:nowrap;-webkit-text-stroke:1px #91b0d42b;opacity:0;animation:12s cubic-bezier(.45,0,.55,1) infinite labHeroWord;animation-delay:calc(var(--lab-word-index) * -4s);will-change:transform,opacity;font-size:clamp(128px,17vw,282px);font-weight:720;line-height:.8;position:absolute;top:50%;left:50%;transform:translate(-44%,-42%)scale(.9)}.mode-lab .resume-section{background:linear-gradient(#080b10a8,#030509b8 58%)}.mode-lab .metrics-section{background:#05080dad}.mode-lab .archive-panel,.mode-lab .resume-board,.mode-lab .resume-competency-grid>section{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#10151cdb,#080b0fe6);border-color:#ffffff24}.mode-lab .footer{background:linear-gradient(#05070ae0,#070a10db)}.mode-lab .footer:before{background:radial-gradient(circle at 82% 18%,#ff6f491f,#0000 29%),radial-gradient(circle at 18% 74%,#55d5c71f,#0000 34%)}.mode-lab .footer-glow{background:radial-gradient(circle,#ff482b7a,#d0ff3533 24%,#19edcc47 43%,#4b55ff38 58%,#0000 72%);animation-duration:5.8s}.mode-lab .footer-orbit{border-color:#62d9cc21;box-shadow:0 0 0 9vw #ff754b05,0 0 0 18vw #54cec103}.lab-card-glint{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle 250px at var(--lab-card-x,70%) var(--lab-card-y,28%),#e7efee33,#5cb5ba1a 28%,transparent 68%);mix-blend-mode:screen;transition:opacity .25s;position:absolute;inset:0}.mode-lab .project-visual{--lab-card-rx:0deg;--lab-card-ry:0deg;transform:perspective(1080px) rotateX(var(--lab-card-rx)) rotateY(var(--lab-card-ry)) translate3d(0,0,0);transform-style:preserve-3d;border-color:#ffffff29;transition:transform .34s cubic-bezier(.18,.82,.22,1),border-color .24s,box-shadow .32s;box-shadow:0 28px 78px #0000003b}.mode-lab .project-card button:hover .project-visual,.mode-lab .archive-card button:hover .project-visual{transform:perspective(1080px) rotateX(var(--lab-card-rx)) rotateY(var(--lab-card-ry)) translate3d(0,-5px,16px) scale(.994);border-color:#6fbec34d;box-shadow:0 34px 94px #00000052,0 0 0 1px #7489cd0f}.mode-lab .project-card button:hover .lab-card-glint,.mode-lab .archive-card button:hover .lab-card-glint{opacity:.72}.mode-lab .project-card button:hover .project-media img,.mode-lab .archive-card button:hover .project-media img{filter:saturate(1.08)contrast(1.03);box-shadow:0 24px 58px #00000070}.mode-lab .cover-grid{opacity:.52;background-image:linear-gradient(#5ed6c90e 1px,#0000 1px),linear-gradient(90deg,#ff764c0c 1px,#0000 1px)}.mode-lab .view-cue{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070a0ead;border-color:#70dacd3d}.mode-lab .metric strong{color:#e9ebee;text-shadow:1px 0 #68b7bc2e,-1px 0 #7185cb29}.mode-lab .contact-card:before{background:radial-gradient(circle at 76% 24%,#ff754b21,#0000 32%),radial-gradient(circle at 18% 88%,#54d2c41c,#0000 36%)}.mode-lab .case-panel{border-color:#69dccf36;box-shadow:-34px 0 110px #0000006b,-1px 0 #ff754b14}.mode-lab .panel-top{-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#080b0fe0}.mode-lab .image-lightbox-stage img{box-shadow:0 24px 92px #00000080,0 0 0 1px #65dbce21,22px -14px 70px #ff704912}.motion-ready .mode-lab .motion-item{transition-duration:.58s,.7s;transform:translateY(26px)scale(.984)}.motion-ready .mode-lab .motion-item.motion-soft{transform:translateY(30px)scale(.978)}.motion-ready .mode-lab .motion-item.is-visible,.motion-ready .mode-lab .motion-item.motion-soft.is-visible{transform:none}.mode-lab .panel-motion-ready [data-panel-motion]{transform:translateY(22px)scale(.988)}.mode-lab .panel-motion-ready [data-panel-motion].is-panel-visible{transform:none}@keyframes labFieldOne{0%{opacity:.48;transform:translate(-4%,-3%)rotate(-7deg)scale(.95)}to{opacity:.72;transform:translate(6%,7%)rotate(13deg)scale(1.06)}}@keyframes labFieldTwo{0%{opacity:.42;transform:translate(3%,-4%)rotate(5deg)scale(1.04)}to{opacity:.66;transform:translate(-6%,6%)rotate(-12deg)scale(.95)}}@keyframes labFieldThree{0%{opacity:.4;transform:translate(-4%,2%)scale(.94)}to{opacity:.62;transform:translate(6%,-7%)scale(1.08)}}@keyframes labGridSurge{0%{background-position:0 0,0 0}to{background-position:0 84px,84px 0}}@keyframes labScan{0%{opacity:.2;transform:translate(-4%)}to{opacity:.42;transform:translate(4%)}}@keyframes labTypeBreath{0%{opacity:.84;transform:translate(0)}to{opacity:1;transform:translate(3px)}}@keyframes labHeroWord{0%,to{opacity:0;transform:translate(-44%,-42%)scale(.92)}5%{opacity:0}11%,26%{opacity:.58;transform:translate(-50%,-50%)scale(1)}33%{opacity:0;transform:translate(-55%,-56%)scale(1.05)}}.locale-zh .hero-title{letter-spacing:-.026em;max-width:1140px;line-height:1.13}.locale-zh .belief h2{letter-spacing:-.026em;line-height:1.2}.locale-zh .section-heading h2,.locale-zh .metrics-section h2,.locale-zh .resume-heading h2,.locale-zh .method-intro h2,.locale-zh .archive-panel h2,.locale-zh .about-grid h2,.locale-zh .footer-intro-grid h2{letter-spacing:-.025em;line-height:1.18}.locale-zh .hero-body,.locale-zh .section-heading>p,.locale-zh .project-summary,.locale-zh .resume-heading-side>p,.locale-zh .role-summary,.locale-zh .current-role li,.locale-zh .previous-list p,.locale-zh .method-list p,.locale-zh .archive-body,.locale-zh .about-grid>div>p,.locale-zh .footer-intro-copy>p,.locale-zh .panel-content p{letter-spacing:.025em}.locale-en .hero-title{letter-spacing:-.052em;line-height:1.045}.locale-en .belief h2{letter-spacing:-.045em;line-height:1.12}@keyframes reveal{to{opacity:1;transform:none}}@keyframes heroFieldIn{to{opacity:1;transform:none}}@keyframes heroPrimaryDrift{0%,to{opacity:.68;transform:translate(-1.5%,-1%)scale(1)rotate(-1deg)}28%{opacity:.78;transform:translate(3.2%,-2.4%)scale(1.035)rotate(1.2deg)}57%{opacity:.7;transform:translate(-2.1%,3.1%)scale(.985)rotate(-.5deg)}82%{opacity:.76;transform:translate(1.8%,1.6%)scale(1.02)rotate(.7deg)}}@keyframes heroSecondaryDrift{0%,to{opacity:.72;transform:translate(2.4%,1.6%)scale(.98)}35%{opacity:.88;transform:translate(-4.2%,2.8%)scale(1.07)}68%{opacity:.78;transform:translate(2.2%,-3.8%)scale(1.01)}}@keyframes heroLensDrift{0%,to{opacity:.42;transform:translate(-1.2%,1%)rotate(-1.2deg)scale(.995)}32%{opacity:.58;transform:translate(1.8%,-1.6%)rotate(.8deg)scale(1.012)}66%{opacity:.48;transform:translate(-.4%,2.1%)rotate(1.5deg)scale(1.025)}}@keyframes localeContentIn{0%{opacity:0}to{opacity:1}}@keyframes navProgress{to{transform:scaleX(1)}}@keyframes coverGridDepth{0%{transform:translateY(10px)scale(1.035)}to{transform:translateY(-10px)scale(1.035)}}@keyframes footerGlowDepth{0%{opacity:.64;transform:translate(-50%,24px)scale(.96)}to{opacity:1;transform:translate(-50%,-18px)scale(1.04)}}@keyframes footerOrbitDepth{0%{opacity:.46;transform:translate(20px,24px)rotate(-3deg)}to{opacity:.82;transform:translate(-18px,-20px)rotate(3deg)}}@keyframes labScrollHeading{0%{opacity:.38;transform:translate(-3vw,34px)scale(.97)}52%{opacity:1}to{opacity:.86;transform:translate(2vw,-18px)scale(1.015)}}@keyframes labMediaDrift{0%{transform:translate(-3%,6%)rotate(-1.5deg)scale(.96)}to{transform:translate(2%,-5%)rotate(1deg)scale(1.025)}}@keyframes labMediaDriftReverse{0%{transform:translate(3%,6%)rotate(1.5deg)scale(.96)}to{transform:translate(-2%,-5%)rotate(-1deg)scale(1.025)}}@keyframes labMetricCharge{0%{opacity:.38;transform:translateY(36px)scale(.96)}52%{opacity:1}to{opacity:.9;transform:translateY(-12px)scale(1.015)}}@supports (animation-timeline:scroll()){.nav-shell:after{animation:linear both navProgress;animation-timeline:scroll(root)}}@supports (animation-timeline:view()){.project-card .cover-grid,.archive-card .cover-grid{animation:linear both coverGridDepth;animation-timeline:view();animation-range:entry exit 0%}.footer-glow{animation:linear both footerGlowDepth;animation-timeline:view();animation-range:entry exit 0%}.footer-orbit{animation:linear both footerOrbitDepth;animation-timeline:view();animation-range:entry exit 0%}.mode-lab .belief h2,.mode-lab .section-heading h2,.mode-lab .method-intro h2,.mode-lab .archive-panel>h2,.mode-lab .about-grid h2{animation:linear both labScrollHeading;animation-timeline:view();animation-range:entry exit 72%}.mode-lab .project-card:nth-child(odd) .project-media,.mode-lab .archive-card:nth-child(odd) .project-media{animation:linear both labMediaDrift;animation-timeline:view();animation-range:entry exit 0%}.mode-lab .project-card:nth-child(2n) .project-media,.mode-lab .archive-card:nth-child(2n) .project-media{animation:linear both labMediaDriftReverse;animation-timeline:view();animation-range:entry exit 0%}.mode-lab .metric strong{animation:linear both labMetricCharge;animation-timeline:view();animation-range:entry exit 82%}}@media (width<=820px){html{scrollbar-gutter:auto;scrollbar-width:none;scroll-padding-top:78px}body{overflow-x:hidden}.page-width{width:min(100% - 36px,680px)}.nav-shell{top:max(10px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(10px)saturate(112%);backdrop-filter:blur(10px)saturate(112%);background:#08090ceb;border-radius:17px;grid-template-columns:auto 1fr auto;gap:10px;width:calc(100% - 20px);height:54px;padding:0 8px 0 10px}.nav-links{display:none}.brand-mark{width:44px;height:44px}.nav-controls{gap:2px}.language-switch{justify-self:end;min-height:44px;padding:0 6px}.experience-switch{background:0 0;border-color:#0000;min-width:44px;height:44px;padding:0 7px}.experience-switch[aria-pressed=true]{background:#ffffff0f;border-color:#9fe0da42}.mobile-menu-toggle{cursor:pointer;width:44px;height:44px;transition:transform .16s var(--ease-out),background .2s;background:#ffffff12;border:0;border-radius:12px;place-content:center;gap:6px;padding:0;display:grid}.mobile-menu-toggle:active{background:#ffffff1c;transform:scale(.94)}.mobile-menu-toggle i{background:#d9dae0;width:15px;height:1px;transition:transform .3s,opacity .3s;display:block}.menu-open .mobile-menu-toggle i:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-open .mobile-menu-toggle i:last-child{transform:translateY(-3.5px)rotate(-45deg)}.mobile-menu{-webkit-backdrop-filter:blur(10px)saturate(112%);backdrop-filter:blur(10px)saturate(112%);max-height:calc(100dvh - max(82px, env(safe-area-inset-top)));overscroll-behavior:contain;opacity:0;transform-origin:calc(100% - 26px) 0;pointer-events:none;background:#08090cf7;border:1px solid #ffffff1a;border-radius:20px;padding:8px 14px;transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1);display:block;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;transform:translateY(-8px)scale(.985);box-shadow:0 20px 54px #00000057}.menu-open .mobile-menu{opacity:1;pointer-events:auto;transform:none}.mobile-menu a{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;min-height:58px;display:grid}.mobile-menu a:last-child{border-bottom:0}.mobile-menu span{color:#60636c;font-size:9px}.mobile-menu strong{letter-spacing:.01em;font-size:15px;font-weight:450;line-height:1.4}.mobile-menu i{color:#777b84;font-size:13px;font-style:normal}.hero{align-items:center;min-height:min(88dvh,720px);padding:92px 0 64px}.hero-content{padding-top:20px}.eyebrow,.section-kicker{letter-spacing:.12em;font-size:10px}.hero-motion-field:after{background:radial-gradient(at 88% 36%,#0000 0 23%,#0506082e 56%,#05060894 83%),linear-gradient(90deg,#050608f0 0,#050608c2 44%,#0506082b 100%)}.hero-light-primary{width:132vw;top:2vh;right:-76vw}.hero-light-primary>span{filter:blur(38px);opacity:.65}.hero-light-secondary{width:72vw;top:34%;right:-15vw}.hero-light-secondary>span{filter:blur(22px);opacity:.62}.hero-lens{opacity:.38;width:92vw;top:11%;right:-47vw}.mode-lab .lab-spectral-field{filter:blur(42px)saturate(112%);opacity:.56}.mode-lab .lab-spectral-field i:first-child{width:120vw;top:-12vh;right:-68vw}.mode-lab .lab-spectral-field i:nth-child(2){width:98vw;top:43vh;left:-60vw}.mode-lab .lab-spectral-field i:nth-child(3){width:86vw;bottom:-20vh;right:-32vw}.lab-particle-canvas{opacity:.52}.lab-pointer-light{display:none}.lab-warp-grid{opacity:.14;background-size:56px 56px;animation-duration:16s}.lab-hero-kinetic{opacity:.5;width:104vw;height:52%;top:24%;right:-34vw;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 38% 78%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 38% 78%,#0000 100%)}.lab-hero-kinetic span{-webkit-text-stroke-color:#91b0d421;font-size:clamp(126px,42vw,210px)}.mode-lab .hero:after{opacity:.3;inset:-24%}.mode-lab .hero-title{text-shadow:-1px 0 #69bec41a,1px 0 #7789cd1a}.hero-title{margin-top:20px;font-size:clamp(35px,9.4vw,48px)}.locale-en .hero-title{letter-spacing:-.04em;font-size:clamp(34px,9vw,46px);line-height:1.1}.locale-zh .hero-title{letter-spacing:-.022em;line-height:1.15}.hero-body{width:100%;margin-top:22px;font-size:15px;line-height:1.78}.text-link{min-height:44px;margin-top:24px;padding:10px 0 8px}.belief{min-height:0;padding:92px 0 100px}.belief h2{margin-top:0;font-size:clamp(35px,9.4vw,50px)}.section-heading{grid-template-columns:1fr;gap:20px;padding:82px 0 40px}.section-heading h2,.metrics-section h2,.resume-heading h2,.method-intro h2,.archive-panel h2,.about-grid h2{margin-top:22px;font-size:clamp(34px,9vw,48px)}.metrics-section h2,.method-intro h2,.archive-panel h2,.about-grid h2{margin-top:0}.section-heading>p{max-width:100%;font-size:14px;line-height:1.75}.project-list{gap:54px;padding-bottom:82px}.project-visual{aspect-ratio:1/1.02;border-radius:22px;height:auto;max-height:none}.project-visual:after{background:linear-gradient(90deg,#0506088f,#0506081f 58%,#0000 78%),linear-gradient(#0000 50%,#03040694)}.cover-grid{background-size:34px 34px}.cover-editorial{width:58%;top:18px;bottom:18px;left:18px}.cover-title-group{gap:9px;max-width:100%}.cover-title-group span{max-width:88%;font-size:7px;line-height:1.45}.cover-title-group strong{max-width:100%;font-size:clamp(23px,6.9vw,31px);line-height:1.08}.project-media{inset:10% -10% 3% 36%}.project-media img{border-radius:13px}.project-media .media-1{height:80%;top:10%;left:63%}.project-media .media-2{height:49%;top:31%;left:0;transform:rotate(-5deg)}.project-media .media-3{display:none}.cover-loreal-campaign .project-media{inset:13% 8% 28%}.cover-loreal-campaign .project-media .media-1{width:84%;height:auto;top:34%;left:56%}.cover-loreal-campaign .project-media .media-2{width:75%;height:auto;top:4%;left:0}.cover-loreal-campaign .project-media .media-3{display:none}.cover-loreal-display .project-media .media-1{height:72%;top:15%;left:60%}.cover-loreal-display .project-media .media-2{height:45%;top:34%}.cover-loreal-display .project-media .media-3{display:none}.cover-loreal-commerce .project-media .media-1{height:78%;top:11%;left:61%}.cover-loreal-commerce .project-media .media-2{height:45%;top:32%}.project-label{opacity:.8;font-size:5px;bottom:13px;right:13px}.view-cue{opacity:1;padding:9px 12px;top:16px;right:16px;transform:none}.project-copy{grid-template-columns:24px 1fr;gap:12px;padding-top:22px}.project-copy h3{font-size:clamp(29px,8vw,38px)}.project-index{padding-top:5px}.project-type{margin-top:8px}.project-summary{grid-column:1/-1;margin-top:10px;font-size:14px;line-height:1.78}.metrics-section{padding:84px 0 88px}.metric-grid,.method-section,.about-grid{grid-template-columns:1fr}.metric-grid{margin-top:44px}.metric{padding:28px 0 26px}.metric+.metric{border-left:0;padding-left:0}.metric strong{font-size:clamp(62px,17vw,84px)}.metric p{margin-top:16px;font-size:14px}.resume-section{padding:82px 0 84px}.resume-heading{grid-template-columns:1fr;gap:26px}.resume-heading h2{font-size:clamp(35px,9.4vw,49px)}.resume-heading-side>p{font-size:16px;line-height:1.78}.resume-download{min-height:54px;margin-top:22px}.resume-board{border-radius:22px;grid-template-columns:1fr;margin-top:40px}.resume-profile{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr);gap:0 16px;padding:16px;display:grid}.resume-photo{aspect-ratio:4/5;border-radius:14px;grid-row:1/3}.resume-identity{border-bottom:0;align-self:end;min-width:0;padding:6px 0 16px}.resume-identity h3{overflow-wrap:anywhere;font-size:26px}.resume-identity>span{margin-top:8px;font-size:11px}.resume-status{border-top:1px solid var(--line);border-bottom:0;align-self:start;min-width:0;padding:11px 0 0}.resume-contact{border-top:1px solid var(--line);grid-column:1/-1;margin-top:20px;padding:21px 0 3px}.resume-contact a{align-items:center;min-height:44px;font-size:12px;display:flex}.resume-experience{padding:32px 18px 38px}.current-role{padding:28px 0 38px}.role-heading{grid-template-columns:1fr;gap:10px}.role-heading h3{font-size:22px}.role-summary{margin-top:24px;font-size:16px;line-height:1.78}.current-role ul{margin:24px 0 0}.current-role li{padding:17px 0 17px 18px;font-size:15px;line-height:1.78}.current-role li:before{top:25px}.resume-block-sub{margin-top:34px}.previous-list article{grid-template-columns:1fr;gap:9px;padding:25px 0}.previous-list h4{font-size:16px}.previous-list p{font-size:15px;line-height:1.78}.resume-competency-grid{grid-template-columns:1fr;gap:14px;margin-top:14px}.resume-competency-grid>section{border-radius:20px;padding:28px 20px}.capability-list{grid-template-columns:1fr;margin-top:22px}.capability-list span{font-size:12px}.tool-cloud{margin-top:22px}.education-card{min-height:120px;margin-top:22px}.method-section{gap:42px;padding:88px 0 92px}.method-intro{position:static}.method-list article{grid-template-columns:28px 1fr;gap:8px 14px;padding:30px 0}.method-list h3{grid-column:2;font-size:16px}.method-list p{grid-column:2;font-size:14px;line-height:1.76}.archive-section{padding-bottom:88px}.archive-panel{border-radius:24px;padding:34px 20px}.archive-body{margin:24px 0 38px;font-size:14px;line-height:1.76}.archive-gallery{grid-template-columns:1fr;gap:38px;margin-bottom:50px}.archive-card:first-child{grid-column:auto}.project-visual.compact{aspect-ratio:16/11.5}.project-visual.compact .cover-editorial{width:44%;top:18px;bottom:18px;left:18px}.project-visual.compact .cover-title-group strong{max-width:100%;font-size:clamp(18px,5.4vw,24px)}.project-visual.compact .cover-title-group span{max-width:100%}.project-visual.compact .project-media{inset:6% 1% 6% 47%}.project-visual.compact .project-media .media-1{height:92%;top:4%;left:51%}.project-visual.compact .media-2,.project-visual.compact .media-3{display:none}.archive-card-copy h3{font-size:19px}.archive-tags{grid-template-columns:1fr}.archive-tags span{padding:22px 8px 22px 0;font-size:12px}.archive-tags i{margin-right:10px}.about-section{padding:88px 0 92px}.about-grid{gap:26px;margin-top:0}.about-grid>div>p{margin-top:0;font-size:14px;line-height:1.8}.footer{min-height:0}.footer-inner{padding:94px 0 max(30px, env(safe-area-inset-bottom))}.footer-intro-grid{grid-template-columns:1fr;gap:28px;margin-top:0}.footer-intro-grid h2{max-width:100%;font-size:clamp(34px,9.1vw,48px)}.footer-intro-copy>p{max-width:100%;font-size:14px;line-height:1.82}.footer-status{margin-top:24px;line-height:1.65}.footer-roles{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.footer-roles span{gap:10px;padding:20px 10px 20px 0;font-size:11px}.footer-roles span+span{padding-left:12px}.footer-roles span:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.footer-roles span:nth-child(4){border-top:1px solid var(--line)}.footer-contact-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}.contact-card{border-radius:20px;min-height:152px;padding:23px 22px 24px}.contact-card strong,.contact-card-phone strong{padding-right:16px;font-size:clamp(25px,7.4vw,34px);line-height:1.16}.contact-card>i{top:21px;right:21px}.footer-meta{grid-template-columns:1fr auto;gap:10px 20px;margin-top:25px;line-height:1.65}.footer-meta span:nth-child(2),.footer-meta button:nth-child(4){justify-self:end}.footer-meta button{text-align:left;min-height:44px}.footer-legal{gap:12px;margin-top:18px;padding-top:18px;font-size:10px;line-height:1.72;display:grid}.filing-links{justify-content:flex-start}.filing-links a{align-items:center;min-height:44px;display:flex}.footer-glow{width:140vw;height:92vw;bottom:-62vw}.footer-orbit{width:110vw;top:-48vw;right:-58vw;box-shadow:0 0 0 16vw #ffffff03}.case-panel{width:100%;height:calc(100dvh - max(12px, env(safe-area-inset-top)));border-radius:22px 22px 0 0;top:auto;bottom:0;transform:translateY(101%);box-shadow:0 -24px 72px #00000057}.case-overlay.open .case-panel{transform:none}.panel-top{height:60px;padding:0 16px 0 18px}.panel-top button{min-height:44px;padding:0 2px 0 12px}.panel-visual{height:min(35dvh,286px)}.panel-content{padding:34px 18px calc(68px + env(safe-area-inset-bottom))}.panel-content h2{margin-top:18px;font-size:clamp(34px,9.8vw,46px);line-height:1.1}.panel-content h3{margin:12px 0 30px}.panel-intro{font-size:15px!important}.panel-rule{margin:34px 0}.case-story section{grid-template-columns:24px 1fr;gap:8px 12px;padding:26px 0}.case-story h4{grid-column:2}.case-story p{grid-column:1/-1;font-size:16px;line-height:1.8}.panel-gallery,.panel-iterations,.panel-detail{margin-top:54px}.panel-section-heading{margin-bottom:14px;padding-bottom:12px}.panel-iteration-intro{margin-bottom:24px;font-size:13px!important}.iteration-group{padding:24px 0 28px}.iteration-group-heading{grid-template-columns:30px 1fr;gap:8px 10px;margin-bottom:16px}.iteration-group-heading>p{grid-column:2}.iteration-track{gap:10px;margin-right:-18px;padding-right:18px}.iteration-track figure{flex-basis:min(78vw,280px)}.iteration-image{border-radius:12px}.panel-gallery-lead{aspect-ratio:4/3;border-radius:14px;height:auto}.panel-gallery-lead img{border-radius:9px;max-width:76%;height:89%}.panel-gallery-lead figcaption{bottom:9px;right:9px}.panel-gallery-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.panel-gallery-grid figure{aspect-ratio:4/5;border-radius:12px;grid-column:auto}.panel-gallery-grid figure.gallery-wide{grid-column:1/-1}.panel-gallery-grid figcaption{padding:6px 7px;bottom:7px;right:7px}.panel-gallery-grid .gallery-wide img{padding:7px}.panel-pdp{border-radius:13px;padding:0 8px 8px}.panel-pdp-chrome{height:38px}.panel-pdp-chrome span{max-width:68%}.panel-pdp-chrome+.pdp-frame img{border-radius:7px 7px 0 0}.panel-pdp .pdp-frame:last-child img{border-radius:0 0 7px 7px}.panel-gallery-lead:before,.panel-gallery-grid figure:after,.pdp-frame:after{padding:5px 6px;font-size:5px;bottom:7px;left:7px}.panel-meta{margin-top:34px}.image-zoom-trigger:after{width:34px;height:34px;font-size:16px;top:8px;right:8px}.image-lightbox-shell{grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr) calc(54px + env(safe-area-inset-bottom))}.image-lightbox-toolbar,.image-lightbox-footer{letter-spacing:.06em;gap:10px;padding:0 14px;font-size:8px}.image-lightbox-toolbar{padding-top:env(safe-area-inset-top)}.image-lightbox-footer{padding-bottom:env(safe-area-inset-bottom)}.image-lightbox-toolbar>span{text-overflow:ellipsis;white-space:nowrap;max-width:50vw;overflow:hidden}.image-lightbox-toolbar button,.image-lightbox-footer button{align-items:center;min-height:44px;display:inline-flex}.image-lightbox-stage{padding:10px}.image-lightbox-stage img{max-width:calc(100vw - 20px);max-height:calc(100dvh - 132px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:7px}.image-lightbox-stage.tall img{width:calc(100vw - 20px);max-width:none;max-height:none}.image-lightbox-footer span{min-width:52px}.page-transition{width:min(144px,42vw);top:72px}.mode-transition{width:30vmax}.motion-ready .motion-item{transition-duration:.42s,.48s;transform:translateY(10px)}.motion-ready .motion-item.motion-soft{transform:translateY(12px)scale(.996)}.motion-ready .motion-item.motion-soft.is-visible{transform:none}.panel-motion-ready [data-panel-motion]{transition-duration:.38s,.46s;transform:translateY(10px)scale(.997)}::-webkit-scrollbar{width:0;height:0}}@media (width<=390px){.page-width{width:calc(100% - 32px)}.nav-shell{width:calc(100% - 16px)}.hero{min-height:min(88dvh,700px);padding:82px 0 54px}.hero-title{font-size:clamp(34px,9.2vw,39px)}.locale-en .hero-title{font-size:clamp(32px,8.8vw,37px)}.resume-profile{grid-template-columns:84px minmax(0,1fr);gap:0 13px}.locale-en .resume-identity h3{font-size:22px}.resume-status{font-size:10px;line-height:1.6}.contact-card strong,.contact-card-phone strong{font-size:clamp(23px,7vw,30px)}}@media (hover:none) and (pointer:coarse){.hero-light,.hero-lens{will-change:auto}.brand-mark:hover{color:var(--text);background:0 0;transform:none}.project-card button:hover .project-visual{border-color:#ffffff14;transform:none}.mode-lab .project-card button:hover .project-visual,.mode-lab .archive-card button:hover .project-visual{border-color:#ffffff29;transform:none;box-shadow:0 26px 76px #0000003d}.mode-lab .project-card button:hover .lab-card-glint,.mode-lab .archive-card button:hover .lab-card-glint{opacity:.12}.project-card button:hover .project-visual:before,.archive-card button:hover .project-visual:before{transform:translate(-1.5%)scale(1.025)}.project-card button:hover .project-media .media-1,.archive-card button:hover .project-media .media-1{transform:translate(-50%)rotate(-.7deg);box-shadow:0 22px 54px #0006}.project-card button:hover .project-media .media-2{transform:rotate(-5deg)}.project-card button:hover .project-media .media-3{transform:rotate(5deg)}.project-card button:active .project-visual,.archive-card button:active .project-visual{border-color:#ffffff2e;transform:scale(.985)}.contact-card:hover{box-shadow:none;background:#ffffff09;border-color:#ffffff1f;transform:none}.contact-card:hover:before{opacity:0;transform:none}.contact-card:hover>i{color:#979ba4;transform:none}.contact-card:active{background:#ffffff0e;border-color:#fff3;transform:scale(.985)}.image-zoom-trigger:hover:after{background:#07080b8f;transform:none}.language-switch:active,.mobile-menu-toggle:active,.mobile-menu a:active,.panel-top button:active,.image-lightbox-toolbar button:active,.image-lightbox-footer button:active,.footer-meta button:active,.resume-download:active,.text-link:active{opacity:.68}}@media (prefers-contrast:more){:root{--muted:#b7bac2;--line:#ffffff47}.nav-shell,.resume-board,.resume-competency-grid>section,.archive-panel,.contact-card{border-color:#ffffff57}.eyebrow,.section-kicker,.project-type,.project-summary,.footer-legal,.panel-content p{color:#c2c5cc}.cover-grid,.footer-glow,.footer-orbit{opacity:.18}.hero-motion-field{opacity:.48}}@media (prefers-reduced-transparency:reduce){.nav-shell,.mobile-menu,.panel-top,.image-lightbox-toolbar,.image-lightbox-footer{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0c0f}.overlay-backdrop,.image-lightbox-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.mode-lab .archive-panel,.mode-lab .resume-board,.mode-lab .resume-competency-grid>section,.mode-lab .view-cue{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0d12}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-motion-field{opacity:1;transform:none}.hero-light,.hero-lens{will-change:auto;transform:none!important}.hero-light>span,.hero-lens>span{will-change:auto;animation:none!important;transform:none!important}.motion-section,.motion-item{opacity:1;filter:none;transform:none}.motion-ready .project-card .cover-index,.motion-ready .project-card .cover-title-group,.motion-ready .project-card .project-media,.motion-ready .project-card .project-copy,.panel-motion-ready [data-panel-motion]{opacity:1;transform:none}.nav-shell:after{display:none}.cover-grid,.footer-glow,.footer-orbit{animation:none!important}.page-transition,.locale-transition,.mode-transition,.lab-particle-canvas{display:none}.lab-spectral-field i,.lab-warp-grid,.lab-hero-kinetic span,.mode-lab .hero:after,.mode-lab .hero-title .muted-line{animation:none!important;transform:none!important}.lab-hero-kinetic{opacity:.12}.lab-hero-kinetic span{opacity:0}.lab-hero-kinetic span:first-child{opacity:.28;transform:translate(-50%,-50%)!important}.mode-lab .project-visual,.mode-lab .project-card button:hover .project-visual,.mode-lab .archive-card button:hover .project-visual{transform:none!important}}.physical-control{--press-scale:.96;transform-origin:50%}.physical-control.is-pressed{scale:var(--press-scale);box-shadow:inset 0 3px 14px #00000094,inset 0 1px #ffffff0d!important}.spatial-card-target{touch-action:pan-y;transform-origin:50%;perspective:1100px}.spatial-card-target.is-pressed .project-visual{border-color:#fff3;box-shadow:inset 0 9px 30px #0000006b,0 16px 46px #0000002e}.project-card .spatial-card-target .project-visual,.archive-card .spatial-card-target .project-visual,.mode-lab .project-card .spatial-card-target .project-visual,.mode-lab .archive-card .spatial-card-target .project-visual{--card-rx:0deg;--card-ry:0deg;--card-lift:0px;--card-depth:0px;transform:perspective(1100px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translate3d(0,var(--card-lift),var(--card-depth));transform-style:preserve-3d;transition:transform .46s cubic-bezier(.16,1,.3,1),border-color .24s,box-shadow .32s}.project-card .spatial-card-target[data-spatial-active=true] .project-visual,.archive-card .spatial-card-target[data-spatial-active=true] .project-visual{border-color:#ffffff30;transition:transform 34ms linear,border-color .2s,box-shadow .28s;box-shadow:0 30px 84px #0000003d,inset 0 1px #ffffff0d}.project-card .spatial-card-target:hover .project-visual,.archive-card .spatial-card-target:hover .project-visual{--card-lift:-4px;--card-depth:10px}.project-card .spatial-card-target .lab-card-glint,.archive-card .spatial-card-target .lab-card-glint{background:radial-gradient(circle 270px at var(--card-glow-x,70%) var(--card-glow-y,28%),#e8f1f438,#75b9cd1a 27%,transparent 68%);mix-blend-mode:screen;transition:opacity .24s}.project-card .spatial-card-target[data-spatial-active=true] .lab-card-glint,.archive-card .spatial-card-target[data-spatial-active=true] .lab-card-glint{opacity:.58}.mode-lab .project-card .spatial-card-target[data-spatial-active=true] .lab-card-glint,.mode-lab .archive-card .spatial-card-target[data-spatial-active=true] .lab-card-glint{opacity:.76}.case-shared-transition .case-overlay.open .case-panel,.case-shared-transition .case-overlay.open .overlay-backdrop{transition:none}::view-transition-group(case-card){z-index:320;border-radius:var(--radius-panel);background:#0b0d10;animation-duration:.68s;animation-timing-function:cubic-bezier(.16,1,.3,1);overflow:hidden;box-shadow:0 34px 110px #00000075,inset 0 1px #ffffff14}::view-transition-old(case-card){object-fit:cover;mix-blend-mode:normal;width:100%;height:100%}::view-transition-new(case-card){object-fit:cover;mix-blend-mode:normal;width:100%;height:100%}::view-transition-old(case-action){object-fit:cover;mix-blend-mode:normal;width:100%;height:100%}::view-transition-new(case-action){object-fit:cover;mix-blend-mode:normal;width:100%;height:100%}::view-transition-group(case-action){z-index:330;border-radius:var(--radius-pill);background:#111419f0;animation:.64s cubic-bezier(.16,1,.3,1) both caseActionGeometry;overflow:hidden}.case-shared-opening::view-transition-old(case-card){animation:.68s cubic-bezier(.16,1,.3,1) both caseSurfaceOldOpen}.case-shared-opening::view-transition-old(case-action){animation:.68s cubic-bezier(.16,1,.3,1) both caseSurfaceOldOpen}.case-shared-opening::view-transition-new(case-card){animation:.68s cubic-bezier(.16,1,.3,1) both caseSurfaceNewOpen}.case-shared-opening::view-transition-new(case-action){animation:.68s cubic-bezier(.16,1,.3,1) both caseSurfaceNewOpen}.case-shared-closing::view-transition-old(case-card){animation:.62s cubic-bezier(.32,.72,0,1) both caseSurfaceOldClose}.case-shared-closing::view-transition-old(case-action){animation:.62s cubic-bezier(.32,.72,0,1) both caseSurfaceOldClose}.case-shared-closing::view-transition-new(case-card){animation:.62s cubic-bezier(.32,.72,0,1) both caseSurfaceNewClose}.case-shared-closing::view-transition-new(case-action){animation:.62s cubic-bezier(.32,.72,0,1) both caseSurfaceNewClose}.case-shared-opening::view-transition-old(root){animation:.68s cubic-bezier(.16,1,.3,1) both caseBackgroundOpen}.case-shared-opening::view-transition-new(root){animation:.68s cubic-bezier(.16,1,.3,1) both caseForegroundOpen}.case-shared-closing::view-transition-old(root){animation:.62s cubic-bezier(.32,.72,0,1) both caseForegroundClose}.case-shared-closing::view-transition-new(root){animation:.62s cubic-bezier(.32,.72,0,1) both caseBackgroundClose}@keyframes caseActionGeometry{0%{border-radius:var(--radius-pill)}58%{border-radius:18px}to{border-radius:12px}}@keyframes caseSurfaceOldOpen{0%{opacity:1}14%,to{opacity:0}}@keyframes caseSurfaceNewOpen{0%,12%{opacity:0}58%,to{opacity:1}}@keyframes caseSurfaceOldClose{0%{opacity:1}14%,to{opacity:0}}@keyframes caseSurfaceNewClose{0%,14%{opacity:0}60%,to{opacity:1}}@keyframes caseBackgroundOpen{0%{opacity:1;transform:scale(1)}to{opacity:.72;transform:scale(.986)}}@keyframes caseForegroundOpen{0%{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@keyframes caseForegroundClose{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.01)}}@keyframes caseBackgroundClose{0%{opacity:.72;transform:scale(.986)}to{opacity:1;transform:scale(1)}}@media (hover:none) and (pointer:coarse){.project-card .spatial-card-target:hover .project-visual,.archive-card .spatial-card-target:hover .project-visual{--card-lift:0px;--card-depth:0px}}@media (prefers-reduced-motion:reduce){.physical-control,.physical-control.is-pressed{box-shadow:none!important;scale:1!important}.project-card .spatial-card-target .project-visual,.archive-card .spatial-card-target .project-visual,.project-card .spatial-card-target[data-spatial-active=true] .project-visual,.archive-card .spatial-card-target[data-spatial-active=true] .project-visual{will-change:auto!important;transform:none!important}.project-card .spatial-card-target .lab-card-glint,.archive-card .spatial-card-target .lab-card-glint{opacity:0!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-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}
