@charset "UTF-8";
:root{--bg:#0b0d0e;--ink:#f0f1ec;--muted:#a6acab;--acid:#d5ff3f;--line:#303636;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--gutter:clamp(22px,4.5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Helvetica Neue","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{color:#0b0d0e;background:var(--acid)}:focus-visible{outline:2px solid var(--acid);outline-offset:6px}a,button{touch-action:manipulation}.skip-link{position:fixed;top:-100px;left:20px;background:var(--acid);color:#0b0d0e;padding:15px;z-index:100}.skip-link:focus{top:12px}
.site-header{height:96px;padding:0 var(--gutter);position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-size:24px;font-weight:800;letter-spacing:-1.1px;white-space:nowrap}.wordmark span{font-size:14px;letter-spacing:0;margin-left:10px;font-weight:400;vertical-align:top;display:inline-block;padding-top:3px}.header-role{font-size:11px;line-height:1.5;letter-spacing:.06em;margin-left:auto;margin-right:8vw}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav a{padding:10px 0}nav a span{font-size:10px;color:var(--acid);vertical-align:top;margin-left:3px}.contact-link{border-bottom:1px solid var(--ink)}
.hero{height:100svh;min-height:760px;max-height:1400px;position:relative;isolation:isolate;overflow:hidden;padding:140px var(--gutter) 34px;display:flex;flex-direction:column;justify-content:space-between}.hero-stage{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 66% 43%,#183236 0%,#0b1214 35%,#0b0d0e 70%)}#hero-canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity 900ms var(--ease-out)}.hero-stage.ready #hero-canvas{opacity:1}.hero-topline{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.09em;color:#a9b2b2}.hero-copy{position:relative;margin-top:11vh}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:400;text-transform:uppercase;margin:0 0 30px}.hero-copy .eyebrow{color:var(--acid);font-size:13px;letter-spacing:.15em}h1{font-size:clamp(70px,11.6vw,188px);font-weight:600;letter-spacing:-.065em;line-height:.87;margin:0}h1>span{display:block}.second-line{margin-left:8vw}h1 em{font-style:normal;color:var(--acid)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:60px}.hero-bottom>p{font-size:18px;line-height:1.7;margin:0}.round-link{display:flex;gap:16px;align-items:center;font-size:14px;line-height:1.6}.round-link small{font-size:10px;color:var(--muted);letter-spacing:.09em}.mini-cross{width:45px;height:45px;border:1px solid #8b9793;border-radius:50%;position:relative}.mini-cross:before,.mini-cross:after{content:"";height:1px;width:11px;background:var(--acid);position:absolute;left:16px;top:21px}.mini-cross:after{transform:rotate(90deg)}.hero-index{font-size:13px;text-align:right;line-height:2}.hero-index>span{font-size:10px;color:var(--muted);letter-spacing:.04em}
.section-pad{padding:125px var(--gutter)}.section-heading{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:24px;align-items:start;margin-bottom:70px}.section-heading .eyebrow{padding-top:10px;color:var(--muted)}h2{font-weight:400;font-size:clamp(35px,4.4vw,72px);line-height:1.18;letter-spacing:-.055em;margin:0}.section-heading h2 span{color:var(--muted)}.section-note{font-size:14px;line-height:1.9;margin:12px 0 0;color:var(--muted)}.preview-placeholder{height:50vw;max-height:600px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:clamp(32px,7vw,110px);letter-spacing:-.05em;background:#101718}.preview-placeholder p{font-size:16px;letter-spacing:.1em;color:var(--muted)}
.about{background:#e5e9e5;color:#182120}.about .eyebrow{color:#57625e}.about h2{font-size:clamp(42px,6.5vw,108px);line-height:1.2}.about h2 em{font-style:normal;color:#707d74}.about-body{margin-top:64px;margin-left:35%;display:flex;gap:5vw;font-size:17px;line-height:2}.profile-slot{margin-top:80px;border-top:1px solid #abb3ac;padding-top:26px;display:flex;justify-content:space-between;align-items:center;color:#626d67;font-size:13px}.profile-name{font-size:26px;color:#182120}.contact{padding-top:100px;padding-bottom:60px}.contact h2{font-size:clamp(62px,10.5vw,168px);line-height:.98;font-weight:600;letter-spacing:-.065em}.contact h2 em{font-style:normal;color:var(--acid)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:65px;gap:24px}.contact-bottom>p{font-size:20px}.contact-bottom>span{font-size:14px;color:var(--muted)}footer{margin:0 var(--gutter);border-top:1px solid var(--line);padding:28px 0 36px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}.scroll-progress{position:fixed;bottom:0;left:0;width:100%;height:3px;background:var(--acid);transform-origin:left;transform:scaleX(0);z-index:50}
@media(min-width:1800px){h1{font-size:12vw}}@media(max-width:900px){.header-role{display:none}.hero{min-height:700px}.hero-copy{margin-top:4vh}h1{font-size:12.4vw}.section-heading{grid-template-columns:1fr 2fr}.section-note{grid-column:2}.hero-index{display:none}.about-body{margin-left:20%;display:block}}
@media(max-width:600px){.site-header{height:80px;gap:18px}.wordmark{font-size:20px}.wordmark span{font-size:11px;margin-left:7px}nav{gap:17px;font-size:13px}.hero{min-height:680px;height:95svh;max-height:950px;padding-top:105px}.hero-topline{font-size:9px;line-height:1.7;max-width:270px}.hero-topline>span:last-child{display:none}.hero-copy{margin-top:24vh}.hero-copy .eyebrow{font-size:11px;margin-bottom:21px}h1{font-size:13.1vw;line-height:.94;letter-spacing:-.06em}.second-line{margin-left:0}.hero-bottom{margin-top:40px}.hero-bottom>p{font-size:14px}.round-link{gap:10px;font-size:12px}.round-link small{font-size:8px}.mini-cross{width:38px;height:38px}.mini-cross:before,.mini-cross:after{left:13px;top:18px}.section-pad{padding:75px var(--gutter)}.section-heading{display:block;margin-bottom:36px}.section-heading h2{font-size:39px}.section-heading .eyebrow{font-size:11px;margin-bottom:28px}.section-note{font-size:13px;margin-top:24px}.about h2{font-size:43px}.about-body{margin:36px 0 0;font-size:16px}.profile-slot{margin-top:45px;gap:20px}.profile-name{font-size:22px}.contact h2{font-size:13.3vw}.contact-bottom{display:block;margin-top:38px}.contact-bottom>p{font-size:17px}.contact-bottom>span{display:block;margin-top:20px}footer{flex-wrap:wrap}footer p{width:50%;text-align:right}footer>a:last-child{margin-left:auto}.preview-placeholder{height:65vw;font-size:8vw}}
.scene-fallback{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b0d0eee,#0b0d0e33),url('assets/scene-fallback.webp') center/cover no-repeat;opacity:.8;transition:opacity 600ms ease}.hero-stage.ready .scene-fallback{opacity:0;visibility:hidden}.site-header.is-scrolled{position:fixed;height:76px;background:#0b0d0eed;border-bottom:1px solid #ffffff13;backdrop-filter:blur(18px)}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 32px}.project-card.featured{grid-column:1/-1}.project-open{width:100%;padding:0;border:0;background:none;text-align:left;display:block}.project-image{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:#172022;isolation:isolate}.featured .project-image{aspect-ratio:1.82}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 38%,#0003);pointer-events:none;z-index:1}.project-image .poster{width:100%;height:100%;object-fit:cover;display:block;transition:transform 850ms var(--ease-out),filter 250ms ease;will-change:transform}.award-badge{position:absolute;width:clamp(170px,23%,300px);height:auto;right:3%;top:5%;z-index:3;filter:drop-shadow(0 2px 7px #0006);pointer-events:none}.project-image-top{position:absolute;left:30px;top:28px;right:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:2;font-size:11px;letter-spacing:.08em;color:#fff}.featured .project-image-top{right:auto}.sample-tag{border:1px solid #ffffff5e;border-radius:30px;padding:5px 9px;font-size:11px;letter-spacing:0;background:#0002}.image-bottom{position:absolute;bottom:28px;left:30px;font-size:11px;letter-spacing:.08em;z-index:2;color:#fff}.view-project{position:absolute;left:calc(50% - 64px);top:calc(50% - 64px);width:128px;height:128px;background:var(--acid);color:#15210a;border-radius:50%;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;gap:6px;opacity:0;transition:opacity 200ms ease,transform 250ms var(--ease-out);pointer-events:none}.view-mark{font-size:35px;line-height:1;font-weight:300}.project-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:23px}.project-caption h3{font-size:clamp(24px,2.7vw,45px);font-weight:400;letter-spacing:-.035em;margin:0}.featured .project-caption h3{font-size:clamp(34px,4vw,64px);letter-spacing:.03em}.project-caption p{font-size:14px;color:var(--muted);margin:10px 0 0}.project-type{font-size:10px;text-align:right;line-height:1.8;letter-spacing:.05em;padding-top:7px;color:var(--muted)}.work-footnote{font-size:12px;color:#818c86;line-height:1.8;margin:38px 0 0}.project-open:focus-visible{outline:2px solid var(--acid);outline-offset:8px;border-radius:3px}
.disciplines{margin-top:76px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #a6b1a9;border-bottom:1px solid #a6b1a9;padding:27px 0;gap:30px}.disciplines>span{font-size:12px;color:#6e796f}.disciplines strong{display:block;font-size:20px;font-weight:400;color:#182120;margin-top:22px}.disciplines small{display:block;font-size:10px;margin-top:8px;letter-spacing:.05em}.profile-slot{margin-top:30px;border-top:0}.motion-toggle{position:fixed;right:22px;bottom:22px;border:1px solid #ffffff25;border-radius:30px;z-index:25;color:#e2e6df;background:#151a18dd;backdrop-filter:blur(12px);padding:12px 16px;font-size:11px;display:flex;align-items:center;gap:8px;transition:transform 160ms var(--ease-out)}.motion-toggle:active{transform:scale(.97)}.pause-icon{display:inline-block;width:8px;height:9px;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-toggle[aria-pressed="true"] .pause-icon{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;border-right:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity 850ms var(--ease-out),transform 850ms var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.project-card:nth-child(3){transition-delay:60ms}.hero-copy h1>span{animation:hero-in 1.15s var(--ease-out) both}.hero-copy h1>span:nth-child(2){animation-delay:80ms}.hero-copy .eyebrow{animation:fade-in 900ms ease both}.hero-bottom{animation:fade-in 1.4s ease both}@keyframes hero-in{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}.motion-paused .reveal{transition-duration:100ms}.motion-paused .project-image .poster{transition:none}.motion-paused .hero-copy h1>span,.motion-paused .hero-copy .eyebrow,.motion-paused .hero-bottom{animation:none}
dialog{padding:0;border:0;color:var(--ink);background:var(--bg)}dialog::backdrop{background:#020403db;backdrop-filter:blur(12px)}#project-dialog{width:min(1380px,94vw);max-width:94vw;max-height:94svh;border:1px solid #323b36;border-radius:8px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526253 transparent}#project-dialog[open]{display:block}.dialog-shell{padding:24px}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:0 4px 21px}.dialog-kicker{font-size:11px;letter-spacing:.13em;color:var(--muted)}.close-dialog,.close-certificate{background:none;border:0;padding:5px 10px;display:flex;gap:18px;align-items:center;font-size:13px;min-height:44px}.close-symbol{font-size:29px;font-weight:300;line-height:1}.dialog-media{position:relative;background:#141a18;aspect-ratio:16/9;border-radius:3px;overflow:hidden}.dialog-media>img:not(.award-badge),.dialog-media>video{width:100%;height:100%;object-fit:contain;display:block}.dialog-media>video{background:#000}.media-note{position:absolute;bottom:20px;left:20px;right:20px;border:1px solid #fff2;background:#0b0d0ec9;backdrop-filter:blur(12px);padding:13px 18px;border-radius:3px;display:flex;align-items:center;gap:14px;font-size:14px}.media-note .mini-cross{width:34px;height:34px;border-color:#6a766c;flex:none}.media-note .mini-cross:before,.media-note .mini-cross:after{left:11px;top:16px}.media-note small{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);margin-top:5px}.dialog-story{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:50px 18px 30px}.dialog-story .eyebrow{color:var(--acid);font-size:11px;margin-bottom:22px}.dialog-story h2{font-size:clamp(32px,4vw,66px);word-break:break-word;line-height:1.08}.dialog-subtitle{color:var(--muted);font-size:15px}.dialog-description{font-size:17px;line-height:1.9;margin:0 0 30px}.dialog-story dl{font-size:13px;border-top:1px solid var(--line);padding:18px 0;margin:0}.dialog-story dl>div{display:flex;justify-content:space-between;gap:20px;margin:11px 0}.dialog-story dt{color:var(--muted)}.dialog-story dd{margin:0}.award-detail{padding:22px 0;border-top:1px solid var(--line);display:flex;gap:23px}.award-small{font-size:21px;letter-spacing:-.04em;font-weight:700;color:var(--acid);white-space:nowrap}.award-detail strong{font-size:14px;font-weight:400;line-height:1.6}.award-detail p{font-size:12px;color:var(--muted)}.certificate-trigger{padding:8px 0;border:0;border-bottom:1px solid #abb5aa;background:none;font-size:12px}.pending-note{font-size:12px;color:var(--muted);line-height:1.8;padding-top:18px;border-top:1px solid var(--line)}#certificate-dialog{width:min(1200px,94vw);max-width:94vw;max-height:94svh;border-radius:5px;background:#101510}.certificate-shell{padding:12px}.close-certificate{margin-left:auto}.certificate-shell>img{max-width:100%;max-height:75svh;object-fit:contain;display:block;margin:auto}.certificate-shell>p{font-size:12px;line-height:1.7;text-align:center;color:var(--muted);margin:16px}.noscript-note{padding:30px var(--gutter)}
@media(hover:hover) and (pointer:fine){.project-open:hover .poster{transform:scale(1.035)}.project-open:hover .view-project{opacity:1}nav a:hover,footer>a:last-child:hover{color:var(--acid)}.round-link:hover .mini-cross{background:var(--acid)}.round-link:hover .mini-cross:before,.round-link:hover .mini-cross:after{background:#0b0d0e}.certificate-trigger:hover{color:var(--acid)}}
@media(max-width:900px){.project-grid{gap:50px 22px}.project-caption h3{font-size:25px}.project-type{font-size:9px}.dialog-story{gap:30px;padding:35px 5px 20px}.award-detail{display:block}.award-small{display:block;margin-bottom:14px}.dialog-description{font-size:15px}}
@media(max-width:600px){.site-header.is-scrolled{height:66px}.project-grid{display:block}.project-card{margin-bottom:42px}.project-card:last-child{margin-bottom:0}.project-image,.featured .project-image{aspect-ratio:1.6}.project-image-top{top:15px;left:15px;right:15px;font-size:9px}.image-bottom{bottom:15px;left:15px;font-size:10px}.project-caption{margin-top:18px}.project-caption h3{font-size:28px}.featured .project-caption h3{font-size:36px}.project-caption p{font-size:13px}.award-badge{min-width:0;width:36%;right:1%;top:7%}.project-caption .project-type{font-size:9px}.work-footnote{font-size:11px}.view-project{display:none}.disciplines{grid-template-columns:1fr;gap:0;padding:0;margin-top:45px}.disciplines>span{position:relative;padding:20px 0 20px 34px;border-bottom:1px solid #c1c9c1}.disciplines>span:last-child{border:0}.disciplines strong{display:inline-block;margin:0 0 0 12px;font-size:18px}.disciplines small{margin-left:24px}.profile-slot{flex-wrap:wrap}.motion-toggle{right:14px;bottom:14px;padding:10px 12px}.motion-label{display:none}#project-dialog{width:100vw;max-width:100vw;max-height:100svh;height:100svh;border:0;border-radius:0;margin:0}.dialog-shell{padding:15px}.dialog-top{padding-bottom:12px}.dialog-story{grid-template-columns:1fr;gap:20px;padding:28px 5px}.dialog-story h2{font-size:40px}.dialog-media{aspect-ratio:1.6}.dialog-media>img:not(.award-badge){object-fit:cover}.media-note{left:10px;right:10px;bottom:10px;padding:8px 11px;font-size:11px;gap:8px}.media-note .mini-cross{display:none}.media-note small{font-size:8px;margin-top:3px}.award-detail{display:flex;gap:20px}.dialog-story .eyebrow{margin-bottom:15px}.certificate-shell>p{font-size:11px}footer{padding-bottom:60px}}
.hero-reel-link{display:flex;align-items:center;gap:16px;background:none;border:0;padding:8px;text-align:left;font-size:15px}.hero-reel-link small{display:block;margin-top:8px;font-size:10px;letter-spacing:.06em;color:var(--muted)}.reel-play-mini{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--acid);color:var(--bg);font-size:14px;padding-left:3px;transition:transform 220ms var(--ease-out)}
.reel{padding-bottom:35px;border-bottom:1px solid #ffffff0e}.reel-heading{display:flex;align-items:baseline;gap:30px;margin-bottom:40px}.reel-heading .eyebrow{margin:0 auto 0 0;color:var(--muted);white-space:nowrap}.reel-heading h2{font-size:clamp(28px,3.2vw,50px);letter-spacing:-.045em}.reel-heading h2 span{color:var(--muted)}.reel-heading>p:last-child{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.reel-stage{display:block;position:relative;width:100%;aspect-ratio:2.35;border:1px solid #4a5550;padding:0;overflow:hidden;background:#141c1c;color:var(--ink);text-align:left;border-radius:3px;isolation:isolate}.reel-stage>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 56%;opacity:.7;transition:transform 700ms var(--ease-out)}.reel-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07100d44,transparent 30%,#070e0bed);z-index:0}.reel-top,.reel-bottom{position:absolute;left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;z-index:1}.reel-top{top:30px;font-size:10px;letter-spacing:.13em}.reel-top>span:last-child{padding:7px 10px;border:1px solid #ffffff4a;border-radius:30px;letter-spacing:.04em}.reel-bottom{bottom:34px;align-items:flex-end}.reel-bottom>strong{font-size:clamp(48px,6.5vw,104px);letter-spacing:-.06em;line-height:.9;font-weight:500}.reel-bottom>strong>span{display:block;font-size:10px;letter-spacing:.17em;font-weight:400;margin-top:18px;color:#bdc8c0}.reel-duration{font-size:30px;letter-spacing:-.035em;font-variant-numeric:tabular-nums;text-align:right}.reel-duration small{display:block;font-size:9px;letter-spacing:.09em;color:#bdc8c0;margin-top:12px}.reel-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);height:110px;width:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;background:#d5ff3fec;color:#102010;border:1px solid #e8ffaa;z-index:2;transition:background 180ms ease,box-shadow 220ms ease}.reel-play>span{font-size:24px;padding-left:5px;line-height:1}.reel-play>small{font-size:9px;letter-spacing:.1em}.reel-caption{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);margin-top:20px;line-height:1.7}.reel-caption>span:last-child{color:#77847c}.reel-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#05100abb}.reel-placeholder .eyebrow{color:var(--acid);font-size:11px;margin:0 0 24px}.reel-placeholder strong{font-weight:400;font-size:clamp(28px,4vw,64px);letter-spacing:-.05em}.reel-placeholder p{color:var(--muted);font-size:14px;margin-top:26px}.reel-dialog-caption{padding:28px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:36px}.reel-dialog-caption .eyebrow{color:var(--acid);font-size:10px;margin-bottom:12px}.reel-dialog-caption h2{font-size:32px}.reel-dialog-caption>p{font-size:14px;color:var(--muted);line-height:1.8;max-width:380px;margin:0}
@media(hover:hover) and (pointer:fine){.hero-reel-link:hover .reel-play-mini{transform:scale(1.08)}.reel-stage:hover>img{transform:scale(1.025)}.reel-stage:hover .reel-play{background:var(--acid);box-shadow:0 0 0 12px #d5ff3f14}}
.motion-paused .reel-stage>img,.motion-paused .reel-play,.motion-paused .reel-play-mini{transition:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{transform:none;opacity:1}.project-open:hover .poster{transform:none}.reel-stage:hover>img,.hero-reel-link:hover .reel-play-mini{transform:none}}
