@font-face{font-family:DM Serif Display;src:url(/fonts/dm-serif-display-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2)format("woff2");font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-ext.woff2)format("woff2");font-style:normal;font-weight:300 700;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Source Han Serif SC;src:url(/fonts/source-han-serif-sc-vf.otf)format("opentype");font-style:normal;font-weight:200 900;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--foreground:#f0e6d8;--muted:#000;--muted-foreground:#8a7e8e;--border:#2a2a2a;--accent:#c99aaa;--accent-foreground:#000;--dark-band:#000;--dark-band-foreground:#f0e6d8;--font-display:"DM Serif Display";--font-body:"Inter";--font-mono:"Geist Mono"}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.star{pointer-events:none;animation:2s ease-in-out infinite star-twinkle;position:absolute}@keyframes decor-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.decor-sway{transform-origin:bottom;animation:3s ease-in-out infinite decor-sway}@keyframes decor-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.decor-float{animation:2.5s ease-in-out infinite decor-float}.font-hand{font-family:Caveat,Comic Sans MS,cursive}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--background);color:var(--foreground);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;letter-spacing:0;margin:0;overflow-x:hidden}html[data-locale=zh] body,html[data-locale=zh] body *{letter-spacing:0;font-family:Source Han Serif SC,Noto Serif CJK SC,Songti SC,serif}button,a{color:inherit}a{text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.menu-locked{overflow:hidden}.site{background:var(--background);min-height:100vh;color:var(--foreground);transition:background-color .25s,color .25s}.section-inner{width:100%;margin-inline:auto}.header-shell{z-index:50;pointer-events:none;position:fixed;inset:0 0 auto}.header-frame{width:100%;margin-inline:auto;padding:16px 19.2px 0;transition:width .5s cubic-bezier(.4,0,.2,1),padding-top .5s cubic-bezier(.4,0,.2,1)}.header-bar{pointer-events:auto;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:12.8px;width:100%;min-height:52.8px;padding:11.2px 6.4px;transition:min-height .5s cubic-bezier(.4,0,.2,1),padding .5s cubic-bezier(.4,0,.2,1),background-color .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1),-webkit-backdrop-filter .5s cubic-bezier(.4,0,.2,1),backdrop-filter .5s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.header-shell.compact .header-frame{width:614.4px;padding-top:5.6px}.header-shell.compact .header-bar{border-color:color-mix(in srgb, var(--border) 60%, transparent);background:color-mix(in srgb, var(--background) 80%, transparent);min-height:43.2px;box-shadow:0 1.6px 12.8px color-mix(in srgb, var(--foreground) 7%, transparent);-webkit-backdrop-filter:blur(19.2px);backdrop-filter:blur(19.2px);padding:6.2px 9.6px}.brand{color:#fff;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6.4px;min-width:0;font-size:12.8px;line-height:17.6px;transition:color .5s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.brand>span:first-child{line-height:1}.header-shell.compact .brand{color:var(--foreground)}.desktop-nav{align-items:center;gap:3.2px;height:26.4px;display:flex;position:absolute;left:calc(50% - 89.64px)}.desktop-nav a{z-index:1;color:#fffc;border-radius:999px;padding:4.8px 11.2px;font-size:11.2px;line-height:16.8px;transition:color .15s cubic-bezier(.4,0,.2,1);display:block;position:relative}.desktop-nav a.active{color:#fff}.desktop-nav a:hover{color:var(--foreground)}.header-shell.compact .desktop-nav a{color:var(--muted-foreground)}.header-shell.compact .desktop-nav a.active{color:#fff}.nav-indicator{background:#111318;border-radius:999px;width:50.1248px;transition:width .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),background-color .5s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0}.desktop-nav[data-active="1"] .nav-indicator{width:41.8872px;transform:translate(53.3248px)}.desktop-nav[data-active="2"] .nav-indicator{width:53.9872px;transform:translate(98.4128px)}.header-shell.compact .nav-indicator{background:#111318}html[data-locale=zh] .desktop-nav[data-active="0"] .nav-indicator{width:44.8px;transform:translate(0)}html[data-locale=zh] .desktop-nav[data-active="1"] .nav-indicator{width:44.8px;transform:translate(48px)}html[data-locale=zh] .desktop-nav[data-active="2"] .nav-indicator{width:44.8px;transform:translate(96px)}.header-actions{justify-content:flex-end;align-items:center;gap:6.4px;margin-left:auto;display:flex}.round-control,.menu-control,.lab-controls button,.scroll-top{border:1px solid var(--border);background:color-mix(in srgb, var(--background) 60%, transparent);color:var(--foreground);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;place-items:center;display:inline-grid}.round-control{border-radius:50%;flex:0 0 28.8px;width:28.8px;height:28.8px}.round-control svg{width:14.4px;height:14.4px}.locale-control{font-size:9.6px;font-weight:600;line-height:1}.say-hi{color:#fff;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:4.8px;height:28px;padding:4.8px 11.2px;font-size:11.2px;line-height:16.8px;transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.header-shell.compact .say-hi{border-color:var(--border);background:color-mix(in srgb, var(--background) 45%, transparent);color:var(--foreground)}.menu-control{border-radius:50%;width:44px;height:44px;display:none}.mobile-menu{display:none}.hero{color:#fff;background:#101319;width:100%;height:100svh;min-height:560px;position:relative;overflow:hidden}.header-sentinel{pointer-events:none;width:1px;height:1px;position:absolute;top:50%;left:0}.hero-media,.hero-media>.media-element,.hero-overlay{width:100%;height:100%;position:absolute;inset:0}.hero-media>.media-element{object-fit:cover}.hero-overlay{pointer-events:none}.hero-content{z-index:2;width:calc(100% - 80px);position:absolute;bottom:80px;left:40px}.hero h1{font-family:var(--font-display), sans-serif;flex-direction:column;margin:0;font-size:7vw;font-weight:600;line-height:.95;display:flex}.hero h1>span{padding-bottom:.08em;display:block;overflow:hidden}.hero-line-text{will-change:transform, opacity;animation:1.1s cubic-bezier(.16,1,.3,1) both hero-line-enter;display:block}.hero h1>span:nth-child(2) .hero-line-text{animation-delay:.12s}.hero-role{color:#ffffffa3}.hero p{color:#ffffffd1;will-change:transform, opacity;max-width:576px;margin:32px 0 0;font-size:18px;line-height:28px;animation:.9s cubic-bezier(.16,1,.3,1) .34s both hero-support-enter}.hero-actions{will-change:transform, opacity;align-items:center;gap:12px;margin-top:24px;animation:.9s cubic-bezier(.16,1,.3,1) .46s both hero-support-enter;display:flex}.hero-actions a{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;line-height:20px;display:inline-flex}.hero-primary{color:#11151b;background:#fff;transition:transform .15s cubic-bezier(.4,0,.2,1)}.hero-secondary{background:0 0;border:1px solid #ffffff4d;transition:color .15s,background-color .15s}.hero-primary:hover{transform:scale(1.02)}.hero-secondary:hover{color:#11151b;background:#fff}.hero-actions a:active{transform:scale(.98)}html[data-locale=en] .hero-primary{width:166.078px}html[data-locale=en] .hero-secondary{width:114.625px}html[data-locale=en] .say-hi{width:77px}@keyframes hero-line-enter{0%{opacity:0;transform:translateY(112%)}to{opacity:1;transform:translateY(0)}}@keyframes hero-support-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-media-scroll{0%{transform:translateY(0)}to{transform:translateY(180px)}}@keyframes hero-content-scroll{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-46.667px)}}@supports (animation-timeline:scroll()){.hero-media{animation:1ms linear both hero-media-scroll;animation-timeline:scroll(root);animation-range:0 900px}.hero-content{animation:1ms linear both hero-content-scroll;animation-timeline:scroll(root);animation-range:315px 630px}}.eyebrow{color:var(--muted-foreground);font-family:var(--font-mono), monospace;text-transform:uppercase;margin:0 0 12px;font-size:10px;line-height:15px;display:block}.work-section{background:var(--background);padding:102.4px 0}.work-inner{width:100%;max-width:1120px;padding-inline:38.4px}.work-heading{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);justify-content:space-between;align-items:flex-end;gap:19.2px;height:96.8px;margin-bottom:64px;padding-bottom:19.2px;display:flex}.work-heading .eyebrow{color:#d4b896;margin-bottom:12px;font-size:12px;line-height:16px}.work-heading h2,.lab-heading h2,.about-grid h2{font-family:var(--font-display), sans-serif;margin:0}.work-heading h2{color:#c99aaa;font-size:36px;font-weight:600;line-height:40px}.work-heading p{color:#f0e6d8;text-wrap:pretty;width:280px;margin:0;font-size:14px;line-height:22px}.work-grid{gap:40px 24px;width:100%;max-width:none;display:grid}.work-layout-balanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-layout-balanced-grid .span-wide{grid-column:1/-1}.work-layout-feature-first{grid-template-columns:repeat(2,minmax(0,1fr))}.work-layout-feature-first .span-wide{grid-column:1/-1}.work-layout-editorial-stack{grid-template-columns:repeat(12,minmax(0,1fr))}.work-layout-editorial-stack .work-item{grid-column:1/span 7}.work-layout-editorial-stack .work-item:nth-child(2n){grid-column:6/span 7}.work-layout-editorial-stack .span-wide{grid-column:1/-1}.work-item{min-width:0;min-height:482.425px}.work-card{min-width:0;height:100%;display:block}.work-card-link{transition:transform .3s;display:block}.work-card-link:hover{transform:translateY(-4px)}.work-card-link:hover .media-element{transform:scale(1.03)}.work-card-link:hover h3{color:#f0d4b8}.work-media{aspect-ratio:3/4;background:var(--muted);border-radius:12.8px;width:100%;position:relative;overflow:hidden}.work-item.aspect-wide .work-media{aspect-ratio:16/9}.work-item.aspect-square .work-media{aspect-ratio:1}.media-element{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.work-media .media-element,.lab-media .media-element{padding:0}.work-meta{color:#f0e6d8;min-height:16px;font-family:var(--font-mono), monospace;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12.8px;margin-top:16px;font-size:13px;font-weight:600;line-height:18px;display:flex}.work-meta>span:first-child{align-items:center;gap:5.6px;min-width:0;display:inline-flex}.meta-mark{color:#f0e6d8;font-family:var(--font-body), sans-serif;font-size:13px}.work-card h3{min-width:0;font-family:var(--font-display), sans-serif;color:#d4b896;text-shadow:0 0 10px #d4b8964d;align-items:flex-start;margin:16px 0 0;font-size:24px;font-weight:700;line-height:28px;display:block}.work-card>p{color:#f0e6d8;text-wrap:pretty;max-width:56ch;margin:10px 0 0;font-size:15px;font-weight:500;line-height:22px}.lab-section{color:var(--dark-band-foreground);background:#000;padding:102.4px 0}.lab-inner{max-width:1280px;padding-inline:32px}.lab-heading{justify-content:space-between;align-items:flex-end;gap:16px;height:128px;margin-bottom:51.2px;display:flex}.lab-heading .eyebrow{color:#fff6;margin-bottom:12.8px;font-size:8px;line-height:12px}.lab-heading h2{color:#c99aaa;font-size:36px;font-weight:600;line-height:40px}.lab-heading h2>span{display:block}.lab-heading h2>span:last-child{color:color-mix(in srgb, var(--accent) 78%, white)}.lab-heading>p{color:#ffffffb3;text-wrap:pretty;width:307.2px;margin:0;font-size:12.8px;line-height:19.2px}.lab-rail{gap:25.6px;width:100%;max-width:1120px;margin-inline:auto;padding-inline:38.4px;display:grid}.lab-layout-phone-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-layout-phone-gallery .span-wide{grid-column:1/-1}.lab-layout-mixed-grid,.lab-layout-showcase{grid-template-columns:repeat(12,minmax(0,1fr))}.lab-layout-mixed-grid .lab-item{grid-column:span 6}.lab-layout-showcase .lab-item{grid-column:span 4}.lab-layout-mixed-grid .span-wide,.lab-layout-showcase .span-wide{grid-column:1/-1}.lab-layout-mixed-grid .lab-item,.lab-layout-showcase .lab-item,.lab-layout-mixed-grid .lab-card,.lab-layout-showcase .lab-card{min-height:0}.lab-item{min-width:0;min-height:0}.lab-card{text-align:left;width:100%;min-height:0;transition:transform .3s;display:block}.lab-item:hover .lab-card{transform:translateY(-4px)}.lab-item:hover .lab-media img,.lab-item:hover .lab-media video{transform:scale(1.03)}.lab-item:hover .lab-card h3{color:#f0d4b8}.lab-frame{aspect-ratio:3/4}.lab-media{border-radius:12.8px;width:100%;overflow:hidden}.lab-media img,.lab-media video{object-fit:cover;width:100%;height:100%;transition:transform .3s}.lab-frame{width:100%;height:417.064px}.lab-media{background:#171a20;width:100%;height:100%;margin-inline:auto;overflow:hidden}.lab-card.phone .lab-media{width:100%;box-shadow:none;border:none;border-radius:12.8px;padding:0}.lab-card.phone .media-element{object-position:top;border-radius:12.8px}.lab-card.card .lab-media{background:0 0;border-radius:12.8px;width:100%}.lab-card.card .lab-frame{aspect-ratio:3/4;height:auto}.lab-item.aspect-wide .lab-card.card .lab-frame{aspect-ratio:16/9}.lab-item.aspect-square .lab-card.card .lab-frame{aspect-ratio:1}.lab-layout-mixed-grid .span-wide.aspect-wide .lab-card.card .lab-frame,.lab-layout-showcase .span-wide.aspect-wide .lab-card.card .lab-frame{aspect-ratio:auto;height:360px}.lab-caption{text-align:left;margin-top:16px}.lab-card h3{min-width:0;font-family:var(--font-display), sans-serif;color:#d4b896;text-shadow:0 0 10px #d4b8964d;align-items:flex-start;margin:16px 0 0;font-size:24px;font-weight:700;line-height:28px;display:block}.lab-card p{color:#f0e6d8;text-wrap:pretty;max-width:56ch;margin:10px 0 0;font-size:15px;font-weight:500;line-height:22px}.lab-meta{color:#f0e6d8;font-family:var(--font-mono), monospace;text-transform:uppercase;margin-top:9.6px;font-size:12px;font-weight:600;line-height:18px;display:block}.lab-controls{display:none}.about-section{background:#000 url(/media/about-bg.gif) 50%/cover no-repeat;padding:102.4px 0;position:relative}.about-section:before{content:"";z-index:0;background:#0009;position:absolute;inset:0}.about-section .section-inner{z-index:1;position:relative}.about-inner{max-width:1120px;padding-inline:32px}.about-label{color:#e8b4c8;text-shadow:0 0 15px #e8b4c8,0 0 30px #e8b4c899;height:auto;margin:0 0 20px;font-size:20px;font-weight:700;line-height:1.2}.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:51.2px;min-height:307.2px;margin-top:19.2px;display:grid}.about-statement{grid-column:span 9}.about-grid h2{white-space:pre-line;color:#fff;text-shadow:0 0 10px #ffffff80,0 0 20px #ffffff4d;max-width:800px;min-height:220px;font-size:20px;font-weight:500;line-height:1.8}.statement-accent{color:color-mix(in srgb, var(--accent) 78%, white)}.statement-muted{color:color-mix(in srgb, var(--muted-foreground) 65%, transparent)}.about-copy{grid-column:span 3;padding-top:9.6px}.about-actions{flex-wrap:wrap;gap:9.6px;margin-top:0;display:flex}.about-actions a{border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:6.4px;height:33.6px;padding:8px 16px;font-size:11.2px;font-weight:500;line-height:16px;transition:color .15s,border-color .15s,transform .15s;display:inline-flex}.about-actions a:hover{color:var(--accent);border-color:var(--accent)}.about-actions a:active{transform:scale(.98)}.about-actions .resume-button{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.about-actions .resume-button:hover{color:var(--background);transform:scale(1.02)}.footer{background:var(--accent);color:var(--accent-foreground);overflow:hidden}.footer-inner{max-width:1280px;padding:89.6px 32px}.hello{height:98.496px;font-family:var(--font-display), sans-serif;justify-content:flex-start;align-items:center;gap:25.6px;font-size:6vw;font-weight:600;line-height:.95;display:flex}.hello svg{width:.55em;height:.55em}.footer-details{border-top:1px solid #fff3;grid-template-columns:repeat(3,minmax(0,1fr));gap:25.6px;min-height:66.624px;margin-top:51.2px;padding-top:32px;font-size:14px;line-height:20px;display:grid}.footer-details>div{min-width:0}.footer-details>div>span{font-family:var(--font-mono), monospace;text-transform:uppercase;opacity:.6;font-size:10px;line-height:14px;display:block}.footer-details>div>a,.footer-details>div>div,.footer-details strong{gap:12.8px;margin-top:6.4px;font-size:14px;font-weight:400;line-height:16px;display:flex}.footer-details a:hover{opacity:.8}.footer-bottom{text-transform:uppercase;opacity:.5;justify-content:space-between;gap:6.4px;margin-top:38.4px;font-size:8.8px;line-height:13.2px;display:flex}.scroll-top{z-index:40;background:color-mix(in srgb, var(--background) 80%, transparent);opacity:0;pointer-events:none;width:38.4px;height:38.4px;box-shadow:0 1.6px 6.4px color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:50%;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),background-color .15s;position:fixed;bottom:25.6px;right:25.6px;transform:translateY(8px)scale(.9)}.scroll-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scroll-top svg{width:15.2px;height:15.2px}.motion-ready .reveal-on-scroll{opacity:0;transition:opacity 1.15s cubic-bezier(.22,.61,.36,1),transform 1.25s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0s)}.motion-ready .reveal-heading{transform:translateY(40px)}.motion-ready .reveal-work{transform:translateY(80px)scale(.975)}.motion-ready .reveal-lab{transform:translateY(48px)}.motion-ready .reveal-footer{transform:translateY(40px)}.motion-ready .reveal-on-scroll.in-view{opacity:1;transform:none}html[data-locale=zh] .hero h1,html[data-locale=zh] .work-heading h2,html[data-locale=zh] .lab-heading h2,html[data-locale=zh] .about-grid h2,html[data-locale=zh] .hello{font-weight:600}html:not([data-locale=zh]) .hero h1,html:not([data-locale=zh]) .work-heading h2,html:not([data-locale=zh]) .work-card h3,html:not([data-locale=zh]) .lab-heading h2,html:not([data-locale=zh]) .lab-card h3,html:not([data-locale=zh]) .about-grid h2,html:not([data-locale=zh]) .hello,html:not([data-locale=zh]) .mobile-menu a{font-weight:400}html[data-locale=zh] .eyebrow,html[data-locale=zh] .work-meta,html[data-locale=zh] .lab-meta,html[data-locale=zh] .footer-details>div>span,html[data-locale=zh] .footer-bottom{text-transform:none}@media (max-width:900px){.desktop-nav{left:50%;transform:translate(-50%)}.header-shell.compact .header-frame{width:min(100%,768px)}.work-inner{width:100%;padding-inline:32px}.lab-inner,.about-inner{padding-inline:32px}.about-grid{gap:40px}}@media (max-width:700px){.header-frame{padding:16px 16px 0}.header-shell.compact .header-frame{width:100%;padding-top:16px}.header-bar,.header-shell.compact .header-bar{min-height:60px;padding:8px 8px 8px 14px}.brand{max-width:150px;font-size:15px}.desktop-nav,.desktop-only{display:none}.menu-control{display:inline-grid}.header-actions{gap:6px}.header-shell.menu-open{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0003;bottom:0}.mobile-menu{pointer-events:auto;border:1px solid var(--border);background:var(--background);border-radius:24px;flex-direction:column;gap:4px;width:min(100% - 32px,420px);margin:8px auto 0;padding:20px;display:flex;box-shadow:0 24px 70px #00000038}.mobile-menu a{border-bottom:1px solid var(--border);min-height:48px;font-family:var(--font-display), sans-serif;justify-content:space-between;align-items:center;padding:0 12px;font-size:22px;font-weight:600;display:flex}.mobile-menu .mobile-say-hi{background:var(--foreground);color:var(--background);border:0;border-radius:999px;justify-content:center;margin-top:12px;font-size:15px}.hero-content{width:calc(100% - 48px);bottom:38px;left:24px}.hero h1{font-size:11vw}.hero p{max-width:95%;font-size:15px;line-height:24px}.work-section,.lab-section,.about-section{padding:88px 0}.work-inner,.lab-inner,.about-inner{padding-inline:24px}.work-heading,.lab-heading{flex-direction:column;align-items:flex-start;height:auto;margin-bottom:48px}.work-heading{padding-bottom:30px}.work-heading h2,.lab-heading h2{font-size:48px;line-height:52px}.work-heading p,.lab-heading>p{width:100%}.work-grid,.work-layout-editorial-stack{grid-template-columns:1fr;gap:56px}.work-layout-editorial-stack .work-item,.work-layout-editorial-stack .work-item:nth-child(2n),.work-grid .span-wide{grid-column:auto}.work-item{min-height:0}.work-card h3{font-size:25px;line-height:30px}.lab-rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:20px;width:auto;max-width:none;margin-inline:-24px;padding:0 24px 16px;display:flex;overflow-x:auto}.lab-rail::-webkit-scrollbar{display:none}.lab-item{scroll-snap-align:start;flex:0 0 75vw;min-height:0}.lab-card{min-height:0}.lab-frame{height:auto}.lab-layout-mixed-grid .span-wide.aspect-wide .lab-card.card .lab-frame,.lab-layout-showcase .span-wide.aspect-wide .lab-card.card .lab-frame{aspect-ratio:16/9;height:auto}.lab-card.phone .lab-media{aspect-ratio:720/1564;width:min(240px,68vw)}.lab-controls{justify-content:center;align-items:center;gap:16px;margin-top:28px;display:flex}.lab-controls button{color:#fff;background:0 0;border-color:#ffffff40;border-radius:50%;width:40px;height:40px}.lab-controls button:disabled{opacity:.3}.lab-dots{gap:6px;display:flex}.lab-dots span{background:#ffffff47;border-radius:50%;width:5px;height:5px}.lab-dots span.active{background:var(--accent);border-radius:999px;width:16px}.about-grid{grid-template-columns:1fr;gap:32px}.about-statement,.about-copy{grid-column:auto}.about-grid h2{min-height:0;font-size:38px;line-height:48px}.footer-inner{padding:72px 24px}.hello{height:auto;font-size:18vw}.footer-details{grid-template-columns:1fr;gap:28px;font-size:14px;line-height:20px}.footer-details>div>span{font-size:10px;line-height:14.2857px}.footer-details>div>a,.footer-details>div>div,.footer-details strong{gap:16px;margin-top:8px;font-size:14px;line-height:20px}.footer-bottom{flex-direction:column;font-size:11px;line-height:16.5px}.scroll-top{width:48px;height:48px;bottom:24px;right:24px}.scroll-top svg{width:19px;height:19px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-media,.hero-content,.hero-line-text,.hero p,.hero-actions,.reveal-on-scroll{opacity:1!important;transform:none!important}.hero-line-text,.hero p,.hero-actions{animation:none!important}}.project-detail{min-height:100vh;color:var(--foreground);background:#f8f0ee;padding:100px 0 80px}.detail-inner{max-width:800px;margin:0 auto;padding:0 32px}.detail-back{color:inherit;align-items:center;gap:8px;margin-bottom:40px;font-size:14px;text-decoration:none;display:inline-flex}.detail-back:hover{color:inherit}.detail-header{margin-bottom:32px}.detail-header h1{font-family:var(--font-display), serif;color:inherit;margin:8px 0 16px;font-size:42px;font-weight:600;line-height:1.1}.detail-summary{max-width:640px;color:inherit;text-align:justify;margin:0 0 8px;font-size:18px;font-weight:500;line-height:1.8}.detail-tools{max-width:640px;color:inherit;opacity:.8;margin:0 0 12px;font-size:14px;line-height:1.6}.detail-year{font-family:var(--font-mono), monospace;color:var(--muted-foreground);font-size:12px}.detail-links{flex-wrap:wrap;gap:12px;margin-bottom:48px;display:flex}.detail-link{border:1px solid var(--border);color:var(--foreground);border-radius:999px;align-items:center;padding:8px 16px;font-size:13px;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.detail-link:hover{border-color:var(--foreground);background:color-mix(in srgb, var(--foreground) 5%, transparent)}.detail-sections{flex-direction:column;gap:64px;display:flex}.detail-section{flex-direction:column;gap:16px;display:flex}.detail-section-title{font-family:var(--font-display), serif;margin:0;font-size:24px;font-weight:600}.detail-section-desc{max-width:560px;color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.7}.detail-gallery{columns:2;column-gap:32px}.detail-gallery.gallery-grid{columns:auto;grid-template-columns:1fr 1fr;gap:32px;display:grid}.detail-gallery.gallery-grid .detail-gallery-item{margin-bottom:0}.detail-gallery-item{break-inside:avoid;width:100%;margin-bottom:32px;overflow:hidden}.detail-gallery-item.size-small{max-width:78%;margin-left:auto;margin-right:auto}.detail-gallery-item.size-wide{column-span:all;width:100%}.detail-media-element{object-fit:cover;width:100%;height:auto;display:block}.detail-media-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.detail-media-link:hover .detail-media-element{opacity:.9}.detail-media-hint{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:20px;padding:6px 14px;font-size:13px;transition:opacity .2s;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.detail-media-link{position:relative}.detail-media-link:hover .detail-media-hint{opacity:1}.detail-media-caption{color:var(--muted-foreground);margin:8px 0 0;font-size:12px;line-height:1.5}@media (max-width:700px){.project-detail{padding:80px 0 60px}.detail-inner{padding:0 20px}.detail-header h1{font-size:30px}.detail-gallery{columns:1}}
