@charset "UTF-8";
:root{--bg:#0b0d0b;--panel:#111410;--panel-light:#171b14;--text:#f1f1e9;--muted:#969d90;--green:#c6ff43;--line:rgba(215,229,194,.14);--font:Inter,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:6px}img,video{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.18}::selection{background:var(--green);color:var(--bg)}.container{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:-70px;left:20px;padding:12px 20px;background:var(--green);color:var(--bg);z-index:100}.skip-link:focus{top:12px}
.site-header{height:76px;position:fixed;inset:0 0 auto;z-index:40;background:rgba(11,13,11,.89);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:650;white-space:nowrap}.brand-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--green);color:var(--bg);border-radius:50%;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:-1px}.brand-divider{color:#515747;margin:0 7px}.brand-role{font-weight:500}.site-header nav{height:100%;display:flex;gap:32px;align-items:center}.site-header nav a{height:100%;display:flex;align-items:center;color:var(--muted);font-size:13px;position:relative;transition:color .2s}.site-header nav a:hover,.site-header nav a.active{color:var(--text)}.site-header nav a.active:after{content:"";height:2px;position:absolute;bottom:17px;left:0;right:0;background:var(--green)}.site-header nav a.nav-resume{height:auto;border:1px solid var(--line);padding:6px 13px;gap:18px;color:var(--text)}.scroll-progress{position:absolute;bottom:-1px;left:0;height:1px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--green)}
.hero{height:calc(100svh - 1px);min-height:760px;max-height:1120px;position:relative;padding:124px 4% 0;display:flex;flex-direction:column;overflow:hidden;background:#10150e;isolation:isolate}.hero-media{position:absolute;inset:76px 0 0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 76% 44%,#344324 0,rgba(29,40,19,.65) 25%,#0f140e 57%,#0b0d0b 90%)}.hero:after{content:"";position:absolute;inset:76px 0 0;z-index:-1;background:radial-gradient(560px circle at var(--pointer-x,50%) var(--pointer-y,45%),rgba(198,255,67,.075),transparent 72%),linear-gradient(0deg,rgba(11,13,11,.98),rgba(11,13,11,.24) 52%,rgba(11,13,11,.1));transition:background-position .2s ease-out}.hero-grid{position:absolute;inset:0;transform:translate3d(var(--grid-x,0px),var(--grid-y,0px),0);transition:transform .2s ease-out;background-image:linear-gradient(rgba(182,210,150,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(182,210,150,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 10%,#000 100%)}.hero-orbit{position:absolute;border:1px solid rgba(199,229,146,.12);border-radius:50%;width:700px;height:700px;top:-180px;right:-70px}.orbit-two{width:900px;height:900px;right:-170px;top:-280px;border-color:rgba(199,229,146,.07)}.viewfinder{width:42%;height:46%;position:absolute;right:8%;top:13%;transform:translate3d(var(--finder-x,0px),var(--finder-y,0px),0);transition:transform .24s ease-out;border:1px solid rgba(198,255,67,.18);color:rgba(198,255,67,.5)}.viewfinder:before,.viewfinder:after{content:"";position:absolute;width:20px;height:20px;border-color:var(--green);border-style:solid}.viewfinder:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.viewfinder:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.finder-label,.finder-bottom{font:10px var(--mono);letter-spacing:2px;position:absolute;left:20px;top:20px}.finder-bottom{top:auto;bottom:20px;font-size:9px}.finder-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:40px var(--mono);font-weight:200}.hero-watermark{position:absolute;right:12%;top:27%;font-size:clamp(54px,7.6vw,128px);font-weight:800;line-height:.88;letter-spacing:-6px;color:rgba(208,230,176,.055)}.hero-topline{display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:1.4px;color:#a5ae9b}.hero-media-status{font-family:var(--font);letter-spacing:1px;display:flex;gap:9px;align-items:center}.hero-media-status i,.status-dot{height:5px;width:5px;border-radius:50%;display:inline-block;background:var(--green);flex-shrink:0}.hero-content{margin-top:auto;padding-top:110px;padding-bottom:56px;max-width:1320px;width:100%;align-self:center}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.6px;line-height:1.6;color:var(--green);margin-bottom:22px}.eyebrow span{margin:0 8px}.hero h1{font-size:clamp(58px,6.7vw,104px);font-weight:800;letter-spacing:-4px;line-height:1.15;margin-left:-5px}.hero-emphasis{position:relative}.cursor{display:inline-block;width:4px;height:.8em;background:var(--green);margin-left:18px;vertical-align:baseline;animation:blink 1.3s step-end infinite}.hero-bottom{margin-top:35px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.hero-role{font-size:15px;margin-bottom:12px;color:#e4e8da}.hero-role span{color:#5d6951;margin:0 8px}.hero-description{color:#a9b29f;font-size:15px;line-height:1.9;max-width:680px}.hero-actions{display:flex;gap:12px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:14px 23px;min-height:50px;font-size:13px;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s,border-color .2s}.button span{font-size:17px;font-weight:400}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:#11170b}.primary:hover{background:#d6ff7a}.secondary{background:rgba(17,20,16,.72);border-color:#49523e}.secondary:hover{border-color:var(--green)}.hero-foot{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:63px;font:9px var(--mono);letter-spacing:1.4px;color:#76816b}.hero-foot a{color:#b7c0a9}.hero-foot a span{margin-left:14px;color:var(--green)}.hero-foot>span:last-child{text-align:right}.hero-video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero.has-video .hero-media{background:#0b0d0b}.hero.has-video .hero-video{transform:scale(1.055) translate3d(var(--hero-x,0px),var(--hero-y,0px),0);transition:transform .22s ease-out}.hero.has-video:after{background:radial-gradient(560px circle at var(--pointer-x,50%) var(--pointer-y,45%),rgba(198,255,67,.055),transparent 72%),linear-gradient(0deg,rgba(11,13,11,.92),rgba(11,13,11,.3) 52%,rgba(11,13,11,.16))}.animation-media{overflow:hidden}.animation-media .media-poster{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s}.animation-card:hover .media-poster{transform:scale(1.035);filter:saturate(1.08)}.action-media .media-poster{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s}.featured-work:hover .action-media .media-poster{transform:scale(1.025);filter:saturate(1.08)}
.stats-wrap{border-bottom:1px solid var(--line);background:#0e110d}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 0 24px}.stats>div{padding-left:38px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:46px;letter-spacing:-2px;font-weight:550;line-height:1.2;font-family:var(--font)}.stats strong span{font-family:var(--font);font-size:15px;font-weight:400;letter-spacing:0;margin-left:6px;color:#c3cbb7}.stats p{font-size:11px;color:var(--muted);margin-top:10px}.stats-note{font-size:10px;color:#6d7764;padding-bottom:20px}
.section{padding-top:112px;padding-bottom:112px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2{font-size:clamp(32px,3.3vw,49px);letter-spacing:-1.8px;font-weight:650}.section-intro{max-width:430px;color:var(--muted);font-size:13px;line-height:1.9;padding-bottom:2px}.featured-work{display:grid;grid-template-columns:1.55fr 1fr;border:1px solid var(--line);background:var(--panel)}.featured-screen{min-width:0;display:flex;flex-direction:column}.media-slot{position:relative;overflow:hidden;background:#151a11;min-width:0}.action-media{flex:1;min-height:460px;border-right:1px solid var(--line)}.placeholder{width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;padding:25px;background:radial-gradient(ellipse at 55% 45%,rgba(78,94,50,.14),transparent 70%),#14190f}.placeholder:before{content:"";position:absolute;inset:18%;border:1px solid rgba(184,214,135,.09);transform:rotate(-12deg);pointer-events:none}.placeholder:after{content:"";position:absolute;width:46%;aspect-ratio:1;border:1px solid rgba(184,214,135,.1);border-radius:50%;top:10%;left:27%;pointer-events:none}.placeholder-top,.placeholder-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font:9px var(--mono);letter-spacing:1.4px;color:#81916e;z-index:1}.placeholder-bottom{font-family:var(--font);font-size:10px;letter-spacing:1px;color:#8b967f}.placeholder-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);font-size:clamp(90px,12vw,195px);font-weight:200;line-height:1;font-family:var(--mono);letter-spacing:-14px;color:transparent;-webkit-text-stroke:1px rgba(170,199,126,.25)}.placeholder-center{align-self:center;margin-top:auto;margin-bottom:auto;z-index:2;text-align:center}.placeholder-center p{font:10px var(--mono);letter-spacing:4px;color:#c2cead;margin-top:100px}.media-badge{font-size:9px;border:1px solid rgba(162,185,126,.25);padding:4px 8px;letter-spacing:.5px}.film-selector{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-right:1px solid var(--line)}.film-selector button{background:transparent;padding:18px 24px;border:0;color:var(--muted);text-align:left;font-size:12px;display:flex;align-items:center;justify-content:space-between;position:relative}.film-selector button+button{border-left:1px solid var(--line)}.film-selector button span{font:10px var(--mono);color:#78836b}.film-selector button.selected{color:var(--green);background:#1a2113}.featured-copy{padding:40px 38px;align-self:center}.featured-copy .eyebrow{font-size:9px;margin-bottom:22px;letter-spacing:1.2px}.featured-copy h3{font-size:36px;letter-spacing:-1px;margin-bottom:22px;line-height:1.25}.body-copy{font-size:13px;line-height:1.95;color:var(--muted)}.project-facts{margin:28px 0}.project-facts>div{display:grid;grid-template-columns:70px 1fr;gap:13px;border-top:1px solid var(--line);padding:14px 0;font-size:11px}.project-facts dt{color:#737f66}.project-facts dd{margin:0;color:#c3caba;line-height:1.9}.project-tags{display:flex;gap:7px;flex-wrap:wrap}.project-tags span{font-size:10px;padding:4px 9px;border:1px solid var(--line);color:#a6b096}.small-note{font-size:10px;color:#76816b;margin-top:24px}.media-poster{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.play-button{border:1px solid rgba(255,255,255,.35);background:rgba(11,13,11,.7);backdrop-filter:blur(10px);color:var(--text);position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 22px;font-size:13px;display:flex;align-items:center;gap:16px}.play-button:hover{background:var(--green);color:var(--bg);border-color:var(--green)}.poster-pending{position:absolute;bottom:18px;left:18px;background:#0b0d0bd9;padding:4px 10px;color:var(--text);font-size:10px}
.animation-section{border-block:1px solid var(--line);background:#0e110d}.animation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.animation-card{min-width:0}.animation-media{aspect-ratio:16/11;border:1px solid var(--line)}.animation-card:nth-child(2) .placeholder{background:radial-gradient(ellipse at 45% 40%,rgba(97,94,66,.18),transparent 80%),#191a12}.animation-card:nth-child(3) .placeholder{background:radial-gradient(ellipse at 45% 40%,rgba(65,90,78,.18),transparent 80%),#121a16}.animation-card:nth-child(2) .placeholder:before{transform:rotate(12deg)}.animation-card:nth-child(3) .placeholder:before{transform:rotate(0deg)}.animation-media .placeholder-number{font-size:110px;letter-spacing:-9px}.animation-media .placeholder-center p{margin-top:78px;font-size:8px;letter-spacing:2px}.animation-media .placeholder{padding:16px}.animation-media .placeholder-top{font-size:8px;letter-spacing:.6px}.animation-media .placeholder-bottom{font-size:9px}.card-copy{padding-top:24px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-heading h3{font-size:20px;letter-spacing:-.4px}.card-heading>span{font:11px var(--mono);color:#78816e}.card-copy>p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:16px;margin-bottom:18px}.performance-note{margin-top:43px;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.performance-label{font-size:11px;color:var(--green);white-space:nowrap}.performance-label span{margin-left:18px}.performance-note p{display:flex;gap:19px;flex-wrap:wrap;font-size:11px;color:#a4af97}.performance-note strong{font-weight:500;color:#d1d7c8}.performance-note small{font-size:9px;color:#66735c;margin-left:auto}
.process-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.process-film{min-width:0;margin:0;padding:22px;border:1px solid var(--line);background:var(--panel)}.process-film-top,.process-film-caption,.process-film-caption>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.process-film-top{font:9px var(--mono);letter-spacing:1px;color:#a5b493;margin-bottom:18px}.process-film-top>span:last-child{color:#718160;text-align:right}.process-film-stage{position:relative;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(ellipse at 55% 45%,rgba(78,94,50,.14),transparent 70%),#14190f}.process-film-stage video{width:100%;height:100%;object-fit:contain;background:#090a08}.process-film-caption{padding-top:17px;font-size:10px;color:#a4b296}.process-film-caption>span:first-child{justify-content:flex-start}.process-film-caption .status-dot{background:var(--green)}.process-film-caption>span:last-child{font-family:var(--mono);font-size:9px;color:#74806a}.video-load-error{position:absolute;inset:auto 12px 48px;padding:8px 12px;background:#0b0d0bea;color:#d7dfcd;font-size:11px}.process-copy h3{font-size:39px;letter-spacing:-1.3px;line-height:1.3;margin-bottom:24px}.process-copy .eyebrow{font-family:var(--font);font-size:11px;letter-spacing:1px;margin-bottom:16px}.process-points{list-style:none;padding:0;margin:25px 0 0}.process-points li{display:flex;gap:21px;padding:15px 0;border-top:1px solid var(--line)}.process-points li>span{font:10px var(--mono);color:var(--green);padding-top:3px}.process-points h4{font-size:12px;font-weight:500;margin-bottom:4px}.process-points p{font-size:11px;color:var(--muted)}
.workflow-section{border-block:1px solid var(--line);background:#0e110d}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.workflow-card{padding:29px 26px 26px}.workflow-card+.workflow-card{border-left:1px solid var(--line)}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;font:11px var(--mono);color:var(--green)}.step-top>span:last-child{font-size:19px;color:#5b6a4d}.workflow-card h3{font-size:23px;margin-bottom:9px}.step-english{font:8px var(--mono);letter-spacing:1.2px;color:#647356}.workflow-card .body-copy{font-size:12px;margin-top:20px;min-height:70px}.step-output{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;font-size:10px;color:#a7b298}.workflow-foot{display:flex;align-items:center;gap:22px;margin-top:30px;font:10px var(--mono);letter-spacing:2px;color:#657459}.workflow-foot>div{flex:1;height:1px;background:var(--line)}.workflow-foot b{color:var(--green);margin-left:5px;font-size:14px}
.location-tag{border:1px solid var(--line);padding:7px 13px;font-size:11px;color:#a9b39b;display:flex;align-items:center;gap:10px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-lead{font-size:26px;font-weight:500;line-height:1.6;letter-spacing:-.6px;margin-bottom:25px}.about-intro .body-copy+.body-copy{margin-top:17px}.tool-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tool-list span{border:1px solid var(--line);padding:5px 10px;font-size:10px;color:#a7b49b}.column-label{font:10px var(--mono);letter-spacing:1px;color:#9bab8c;padding-bottom:19px;border-bottom:1px solid var(--line)}.experience-item{padding:22px 0;border-bottom:1px solid var(--line)}.experience-item:last-child{border-bottom:0}.experience-date{font:10px var(--mono);color:#7e8b71;margin-bottom:10px}.experience-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.experience-heading h3{font-size:14px;line-height:1.6;font-weight:500}.experience-heading span{font-size:10px;color:var(--green);white-space:nowrap}.experience-item .body-copy{font-size:11px;margin-top:12px}.contact-card{margin-top:80px;padding:32px;border:1px solid var(--line);background:var(--panel);display:grid;grid-template-columns:170px 1.1fr 1fr;gap:40px;align-items:center}.resume-preview{position:relative;display:block;transform:rotate(-3deg);transition:transform .3s;background:#e6e8df;padding:4px}.resume-preview:hover{transform:rotate(0)}.resume-preview img{width:100%;height:auto;opacity:.85}.resume-preview>span{position:absolute;inset:auto 4px 4px;background:#c6ff43;color:#10170a;padding:9px 12px;display:flex;justify-content:space-between;font-size:10px;font-weight:600}.contact-main .eyebrow{font-size:9px;margin-bottom:15px}.contact-main h3{font-size:32px;letter-spacing:-1px;margin-bottom:15px}.contact-main>p:not(.eyebrow){font-size:10px;color:#929f85;margin-bottom:24px}.contact-main .button{padding:10px 17px;min-height:43px;font-size:11px;gap:25px}.contact-main small{display:block;font-size:9px;color:#68785b;margin-top:13px}.contact-details{margin:0}.contact-details>div{padding:13px 0;border-bottom:1px solid var(--line)}.contact-details>div:last-child{border-bottom:0}.contact-details dt{font:9px var(--mono);color:#6e7c61;letter-spacing:.7px;margin-bottom:7px}.contact-details dd{margin:0;font-size:13px;color:#d1d9c6}.contact-details a{display:flex;justify-content:space-between;gap:12px;word-break:break-all}.contact-details a:hover{color:var(--green)}.contact-details a span{color:var(--green)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:35px}.footer-name{font:700 34px var(--mono);letter-spacing:-3px;line-height:1}.footer-name span{font-size:16px;vertical-align:top;letter-spacing:0;color:var(--green);margin-left:5px}.site-footer p{font-size:10px;color:#6d7b60}.site-footer p span{margin-left:20px;font-family:var(--mono)}.back-top{font-size:10px;color:#9ba98d;display:flex;gap:20px}.back-top span{color:var(--green)}.video-dialog{color:var(--text);background:var(--panel);padding:0;border:1px solid var(--line);width:min(1080px,92vw);max-height:90svh}.video-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px}.dialog-heading h2{font-size:15px;font-weight:500}.dialog-heading button{border:0;background:transparent;padding:5px 10px;font-size:18px}.video-dialog video{width:100%;max-height:75svh;background:#000}.media-error{position:absolute;inset:auto 15px 15px;padding:8px 12px;background:#0b0d0be6;color:#c5d1b8;font-size:12px;z-index:5}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(min-width:1600px){.hero-topline,.hero-foot{width:1320px;align-self:center}.hero{padding-inline:56px}.site-header{padding-inline:max(56px,calc((100vw - 1320px)/2))}}
@media(max-width:760px){html{scroll-padding-top:80px}.container{width:calc(100% - 40px)}.site-header{height:64px;padding-inline:20px;gap:15px}.brand{font-size:13px;gap:8px}.brand-mark{width:30px;height:30px;font-size:10px}.brand-role,.brand-divider{display:none}.site-header nav{gap:19px}.site-header nav a{font-size:11px}.site-header nav .nav-resume{display:none!important}.site-header nav a.active:after{bottom:11px}.hero{padding:99px 20px 0;min-height:730px;max-height:1000px;height:100svh}.hero-media,.hero:after{top:64px}.hero-topline{font-size:8px;letter-spacing:.8px}.hero-media-status{font-size:9px;letter-spacing:.2px;gap:6px}.hero-orbit{width:480px;height:480px;right:-200px;top:-90px}.orbit-two{width:630px;height:630px;right:-275px;top:-165px}.viewfinder{width:65%;height:32%;right:8%;top:12%}.finder-label{font-size:7px;letter-spacing:1px;left:14px;top:14px}.finder-bottom{font-size:7px;letter-spacing:.8px;left:14px;bottom:14px}.hero-watermark{font-size:68px;letter-spacing:-3px;right:5%;top:28%}.hero-content{padding-top:140px;padding-bottom:32px}.eyebrow{font-size:9px;letter-spacing:1px}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(42px,9.9vw,72px);letter-spacing:-2px;line-height:1.2;margin-left:-2px}.cursor{width:3px;margin-left:10px}.hero-bottom{display:block;margin-top:27px}.hero-role{font-size:12px;margin-bottom:12px}.hero-role span{margin-inline:3px}.hero-description{font-size:12px;line-height:1.9;max-width:430px}.hero-actions{margin-top:26px;gap:10px}.hero-actions .button{padding:11px 17px;font-size:11px;gap:28px;min-height:44px}.hero-foot{min-height:52px;font-size:8px;letter-spacing:.7px}.hero-foot>span:last-child{display:none}.stats{grid-template-columns:repeat(2,1fr);padding:10px 0 0}.stats>div{padding:23px 0 22px 24px}.stats>div:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.stats>div:nth-child(4){border-top:1px solid var(--line)}.stats strong{font-size:38px}.stats p{font-size:10px}.stats-note{font-size:9px;padding-top:10px;padding-bottom:22px}.section{padding-block:68px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:30px;letter-spacing:-1px;line-height:1.35}.section-intro{margin-top:19px;font-size:12px}.featured-work{grid-template-columns:1fr}.action-media{min-height:310px;border-right:0;aspect-ratio:16/11}.film-selector{border-right:0}.film-selector button{padding:15px 19px;font-size:11px}.featured-copy{padding:28px 24px}.featured-copy .eyebrow{margin-bottom:17px}.featured-copy h3{font-size:31px}.project-facts{margin-block:23px}.featured-copy .body-copy{font-size:12px}.animation-grid{grid-template-columns:1fr;gap:38px}.animation-media{aspect-ratio:16/10}.animation-media .placeholder-number{font-size:140px}.animation-media .placeholder{padding:22px}.card-copy{padding-top:20px}.card-heading h3{font-size:21px}.card-copy>p{margin-top:13px}.performance-note{gap:15px;margin-top:30px;padding-top:23px}.performance-note p{gap:9px 16px;font-size:10px}.performance-note strong{width:100%}.performance-note small{margin-left:0;font-size:9px}.process-layout{grid-template-columns:1fr;gap:32px}.process-copy h3{font-size:32px}.process-copy .body-copy{font-size:12px}.board-grid{gap:12px}.study-label small{font-size:6px;letter-spacing:.1px}.board-heading{font-size:8px}.study-frame{aspect-ratio:4/3}.process-points li{gap:20px;padding-block:14px}.workflow-grid{grid-template-columns:1fr 1fr}.workflow-card{padding:24px 18px}.workflow-card:nth-child(3){border-left:0}.workflow-card:nth-child(n+3){border-top:1px solid var(--line)}.step-top{margin-bottom:25px}.workflow-card h3{font-size:21px}.step-english{font-size:7px;letter-spacing:.4px}.workflow-card .body-copy{font-size:11px;min-height:82px;margin-top:16px}.step-output{font-size:9px;margin-top:15px;padding-top:13px}.workflow-foot{font-size:8px;letter-spacing:.7px;gap:10px}.workflow-foot b{margin-left:0}.location-tag{display:inline-flex;margin-top:22px}.about-layout{grid-template-columns:1fr;gap:37px}.about-lead{font-size:24px;margin-bottom:20px}.about-intro .body-copy{font-size:12px}.experience-heading{gap:10px;align-items:flex-start;flex-direction:column}.experience-heading h3{font-size:14px}.experience-heading span{font-size:10px}.contact-card{margin-top:40px;padding:27px 23px;grid-template-columns:86px 1fr;gap:28px 22px}.resume-preview{align-self:start;margin-top:7px}.contact-main .eyebrow{font-size:8px;letter-spacing:.5px;margin-bottom:12px}.contact-main h3{font-size:25px;line-height:1.3;margin-bottom:12px}.contact-main>p:not(.eyebrow){font-size:9px;line-height:1.8;margin-bottom:18px}.contact-main .button{font-size:10px;padding:9px 13px;gap:14px;min-height:39px}.contact-main small{font-size:8px}.contact-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.contact-details dd{font-size:13px}.contact-details>div{padding-block:12px}.contact-details dt{font-size:8px}.site-footer{padding-block:27px;flex-wrap:wrap;gap:20px}.footer-name{font-size:29px}.site-footer p{order:3;width:100%;font-size:9px;border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between}.back-top{font-size:10px}.placeholder-number{font-size:145px}.placeholder-center p{font-size:9px}.placeholder-top{font-size:8px}.placeholder-bottom{font-size:9px}}
@media(max-width:380px){.site-header nav{gap:14px}.hero-topline>span:first-child{font-size:7px;letter-spacing:.3px}.hero-role{font-size:11px}.hero-description{font-size:11px}.hero h1{font-size:40px}.hero{min-height:700px}.section-heading h2{font-size:27px}.workflow-card{padding-inline:14px}.step-output{font-size:8px}.contact-card{padding-inline:18px;grid-template-columns:70px 1fr;gap:18px}.contact-main h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.pointer-glow{position:fixed;z-index:20;left:var(--glow-x,-600px);top:var(--glow-y,-600px);width:420px;height:420px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:.48;background:radial-gradient(circle,rgba(198,255,67,.11) 0,rgba(198,255,67,.045) 28%,transparent 70%);mix-blend-mode:screen;transition:opacity .2s ease}.featured-work,.animation-card,.workflow-card,.process-film,.contact-card{transition:border-color .28s ease,box-shadow .28s ease,outline-color .28s ease}.featured-work.is-lit{border-color:rgba(198,255,67,.58);box-shadow:0 0 0 1px rgba(198,255,67,.14),0 0 32px rgba(198,255,67,.075)}.animation-card{outline:1px solid transparent;outline-offset:7px}.animation-card.is-lit{outline-color:rgba(198,255,67,.52);background:radial-gradient(260px circle at var(--card-x,50%) var(--card-y,30%),rgba(198,255,67,.07),transparent 76%)}.animation-card.is-lit .animation-media,.featured-work.is-lit .action-media{border-color:rgba(198,255,67,.62);box-shadow:0 0 22px rgba(198,255,67,.08)}.workflow-card.is-lit,.process-film.is-lit,.contact-card.is-lit{box-shadow:inset 0 0 0 1px rgba(198,255,67,.44),0 0 24px rgba(198,255,67,.06)}.workflow-card.is-lit{background:radial-gradient(220px circle at var(--card-x,50%) var(--card-y,30%),rgba(198,255,67,.08),transparent 76%),#12160f}.process-film.is-lit{border-color:rgba(198,255,67,.5)}.contact-card.is-lit{border-color:rgba(198,255,67,.5)}
@media(max-width:760px),(prefers-reduced-motion:reduce){.pointer-glow{display:none}}
/* Fluid pointer background adapted from React Bits SplashCursor. */
body{isolation:isolate}
.splash-cursor{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;clip-path:inset(var(--splash-clip-top,100%) 0 0 0);opacity:.62;mix-blend-mode:screen}
.splash-cursor__canvas{display:block;width:100%;height:100%}
.stats-wrap,.animation-section,.workflow-section{background:rgba(14,17,13,.76)}

/* Cinematic portfolio motion: one restrained opening, then chapter-first reveals. */
.opening-sequence{display:none;position:fixed;inset:0;z-index:120;overflow:hidden;place-items:center;background:radial-gradient(ellipse at 73% 42%,rgba(198,255,67,.08),transparent 38%),#090b09;color:#f1f1e9;isolation:isolate}
.opening-sequence:before,.opening-sequence:after{content:"";position:absolute;pointer-events:none}
.opening-sequence:before{inset:7.5%;border:1px solid rgba(215,229,194,.12)}
.opening-sequence:after{width:46vw;height:46vw;right:-14vw;top:-20vw;border:1px solid rgba(198,255,67,.16);border-radius:50%;box-shadow:0 0 100px rgba(198,255,67,.04)}
body.is-opening .opening-sequence{display:grid;animation:opening-curtain-out 1.18s cubic-bezier(.76,0,.24,1) 1.35s forwards}
.opening-sequence__content{position:relative;z-index:1;width:min(1380px,84vw)}
.opening-sequence__kicker,.opening-sequence__footer,.opening-sequence__index{font:600 10px var(--mono);letter-spacing:2.2px;color:#94a184}
.opening-sequence__kicker{margin-bottom:28px;opacity:0;animation:opening-meta-in .7s cubic-bezier(.22,1,.36,1) .08s forwards}
.opening-sequence__kicker span{color:var(--green);padding-inline:8px}
.opening-sequence__title-mask{overflow:hidden;padding-block:.13em;margin-block:-.13em}
.opening-sequence__title{display:block;width:max-content;max-width:100%;font-size:clamp(58px,12.2vw,180px);font-weight:750;letter-spacing:-.105em;line-height:.94;transform-origin:left center;transform:translate3d(0,115%,0) scaleX(.76);opacity:0;animation:opening-title-in 1.05s cubic-bezier(.16,1,.3,1) .18s forwards}
.opening-sequence__footer{display:flex;justify-content:space-between;gap:24px;margin-top:30px;opacity:0;animation:opening-meta-in .8s cubic-bezier(.22,1,.36,1) .48s forwards}
.opening-sequence__footer span:first-child{color:var(--green)}
.opening-sequence__rule{height:1px;margin-top:20px;background:rgba(215,229,194,.18);overflow:hidden}
.opening-sequence__rule i{display:block;width:100%;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left;animation:opening-rule-in 1.1s cubic-bezier(.22,1,.36,1) .45s forwards}
.opening-sequence__index{position:absolute;right:8%;bottom:8%;z-index:1;font-size:9px;color:#667158}
@keyframes opening-title-in{from{transform:translate3d(0,115%,0) scaleX(.76);opacity:0}to{transform:translate3d(0,0,0) scaleX(1);opacity:1}}
@keyframes opening-meta-in{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes opening-rule-in{to{transform:scaleX(1)}}
@keyframes opening-curtain-out{to{clip-path:inset(0 0 100% 0)}}
body.motion-ready .hero-title-line{display:block;width:max-content;max-width:100%;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
body.motion-ready .hero-title-inner{display:block;transform-origin:left bottom;transform:translate3d(0,112%,0) scaleX(.82);opacity:0;transition:transform 1.28s cubic-bezier(.16,1,.3,1),opacity .5s ease;will-change:transform}
body.motion-ready .hero.hero-entered .hero-title-inner{transform:translate3d(0,0,0) scaleX(1);opacity:1}
body.motion-ready .hero.hero-entered .hero-title-line:nth-of-type(2) .hero-title-inner{transition-delay:.13s}
body.motion-ready .hero-topline,body.motion-ready .hero-bottom,body.motion-ready .hero-foot{opacity:0;transform:translate3d(0,22px,0);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
body.motion-ready .hero.hero-entered .hero-topline,body.motion-ready .hero.hero-entered .hero-bottom,body.motion-ready .hero.hero-entered .hero-foot{opacity:1;transform:translate3d(0,0,0)}
body.motion-ready .hero.hero-entered .hero-bottom{transition-delay:.48s}
body.motion-ready .hero.hero-entered .hero-foot{transition-delay:.62s}
body.motion-ready .hero-video{transition:transform 2.6s cubic-bezier(.16,1,.3,1),filter 2.6s cubic-bezier(.16,1,.3,1)}
body.motion-ready .hero:not(.hero-entered) .hero-video{transform:scale(1.13) translate3d(var(--hero-x,0px),var(--hero-y,0px),0);filter:brightness(.72) saturate(.84)}
body.motion-ready .hero.hero-entered .hero-video{transform:scale(1.055) translate3d(var(--hero-x,0px),var(--hero-y,0px),0);filter:brightness(.92) saturate(1)}
body.motion-ready .motion-heading .eyebrow{clip-path:inset(0 100% 0 0);opacity:0;transform:translate3d(-5vw,0,0) scaleX(.88);transform-origin:left center;transition:clip-path 1s cubic-bezier(.16,1,.3,1),opacity .7s ease,transform 1.05s cubic-bezier(.16,1,.3,1)}
body.motion-ready .motion-heading h2{clip-path:inset(0 0 100% 0);opacity:0;transform:translate3d(0,.72em,0) scaleX(.83);transform-origin:left bottom;transition:clip-path 1.08s cubic-bezier(.16,1,.3,1),opacity .7s ease,transform 1.18s cubic-bezier(.16,1,.3,1);transition-delay:.16s}
body.motion-ready .motion-heading .section-intro{opacity:0;transform:translate3d(0,22px,0);transition:opacity .8s ease,transform .95s cubic-bezier(.16,1,.3,1);transition-delay:.44s}
body.motion-ready .motion-heading.motion-visible .eyebrow{clip-path:inset(0);opacity:1;transform:translate3d(0,0,0) scaleX(1)}
body.motion-ready .motion-heading.motion-visible h2{clip-path:inset(0);opacity:1;transform:translate3d(0,0,0) scaleX(1)}
body.motion-ready .motion-heading.motion-visible .section-intro{opacity:1;transform:translate3d(0,0,0)}
body.motion-ready .motion-card{opacity:0;transform:translate3d(0,62px,0) scale(.965);clip-path:inset(0 0 5% 0);transition:opacity 1.05s ease,transform 1.22s cubic-bezier(.16,1,.3,1),clip-path 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--motion-delay,1320ms)}
body.motion-ready .motion-card.motion-visible{opacity:1;transform:translate3d(0,0,0) scale(1);clip-path:inset(0)}
body.motion-ready .motion-card .motion-media{clip-path:inset(0 100% 0 0);transition:clip-path 1.18s cubic-bezier(.16,1,.3,1) .15s}
body.motion-ready .motion-card.motion-visible .motion-media{clip-path:inset(0)}
body.motion-ready .motion-card .media-poster{transform:scale(1.13);filter:saturate(.82);transition:transform 1.6s cubic-bezier(.16,1,.3,1),filter 1.3s ease}
body.motion-ready .motion-card.motion-visible .media-poster{transform:scale(1.02);filter:saturate(1)}
body.motion-ready .site-header{opacity:0;transform:translate3d(0,-100%,0);transition:opacity .65s ease,transform .9s cubic-bezier(.16,1,.3,1)}
body.motion-ready.opening-finished .site-header{opacity:1;transform:translate3d(0,0,0)}
body.motion-ready .section-heading .eyebrow{font-size:12px;letter-spacing:2.2px}
@media(max-width:760px){.opening-sequence:before{inset:24px}.opening-sequence__content{width:calc(100% - 64px)}.opening-sequence__kicker{font-size:8px;letter-spacing:1.2px}.opening-sequence__title{font-size:clamp(48px,13vw,88px);letter-spacing:-.09em}.opening-sequence__footer{font-size:8px;letter-spacing:1px}.opening-sequence__index{right:32px;bottom:32px;font-size:8px}body.motion-ready .hero-title-line{padding-bottom:.12em;margin-bottom:-.12em}body.motion-ready .motion-card{transform:translate3d(0,38px,0) scale(.98)}}
@media(prefers-reduced-motion:reduce){.opening-sequence{display:none!important}body.motion-ready .hero-title-inner,body.motion-ready .hero-topline,body.motion-ready .hero-bottom,body.motion-ready .hero-foot,body.motion-ready .motion-heading .eyebrow,body.motion-ready .motion-heading h2,body.motion-ready .motion-heading .section-intro,body.motion-ready .motion-card{clip-path:none!important;opacity:1!important;transform:none!important;transition:none!important;animation:none!important}body.motion-ready .hero-video{filter:none!important;transform:scale(1.055)!important;transition:none!important}}
.hero-title-line{display:block;width:max-content;max-width:100%}
body.motion-ready .section-heading .eyebrow{font-size:clamp(16px,2.05vw,26px);line-height:1.25;letter-spacing:.12em;margin-bottom:22px}
@media(max-width:760px){body.motion-ready .section-heading .eyebrow{font-size:clamp(13px,3.8vw,16px);letter-spacing:.08em;margin-bottom:16px}}

@property --specular-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes specular-orbit{to{--specular-angle:1turn}}
@keyframes specular-sweep{0%,25%{transform:translate3d(-180%,0,0) skewX(-18deg);opacity:0}31%{opacity:.9}70%{transform:translate3d(460%,0,0) skewX(-18deg);opacity:.9}76%,100%{transform:translate3d(460%,0,0) skewX(-18deg);opacity:0}}
.specular-button{position:relative;isolation:isolate;overflow:hidden}
.specular-sheen{position:absolute;top:-30%;bottom:-30%;left:0;width:28%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.18) 20%,rgba(255,255,255,.72) 48%,rgba(255,255,255,.24) 74%,transparent 100%);transform:translate3d(-180%,0,0) skewX(-18deg);opacity:0;filter:drop-shadow(0 0 5px rgba(198,255,67,.28));animation:specular-sweep 6.8s cubic-bezier(.62,0,.25,1) infinite;animation-delay:var(--specular-delay,0s);pointer-events:none;z-index:1}
.specular-button:before{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;background:conic-gradient(from var(--specular-angle),transparent 0deg 78deg,rgba(198,255,67,.12) 89deg,rgba(242,255,216,.42) 98deg,rgba(198,255,67,.1) 108deg,transparent 120deg 258deg,rgba(198,255,67,.18) 271deg,rgba(248,255,231,.96) 282deg,rgba(198,255,67,.72) 294deg,transparent 310deg 360deg) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.88;filter:drop-shadow(0 0 4px rgba(198,255,67,.45));animation:specular-orbit 6.4s linear infinite;animation-delay:var(--specular-delay,0s);pointer-events:none;z-index:0;transition:opacity .35s ease,filter .35s ease}
.specular-button>*{position:relative;z-index:2}
.specular-button>.specular-sheen{position:absolute;z-index:1}
.button>.specular-label{font-size:inherit;font-weight:inherit}
.film-selector button>.specular-label{font:inherit;color:inherit}
.specular-button:hover .specular-sheen,.specular-button:focus-visible .specular-sheen{opacity:1}
.specular-button:hover:before,.specular-button:focus-visible:before{opacity:1;filter:drop-shadow(0 0 7px rgba(198,255,67,.62))}
.film-selector button.selected{box-shadow:inset 0 -2px var(--green)}
.site-header .nav-resume{--specular-delay:-1.1s}
.hero-actions .specular-button:first-child{--specular-delay:0s}
.hero-actions .specular-button:last-child{--specular-delay:-.65s}
.film-selector .specular-button:first-child{--specular-delay:-1.7s}
.film-selector .specular-button:last-child{--specular-delay:-3.6s}
.media-slot .play-button{--specular-delay:-.7s}
.contact-main .button{--specular-delay:-5s}
@media(prefers-reduced-motion:reduce){.specular-button:before{animation:none;opacity:.68;filter:none}.specular-sheen{animation:none;opacity:.3;transform:translate3d(130%,0,0) skewX(-18deg)}}
/* Make the film controls unmistakable and keep the looping hero video inexpensive to composite. */
.media-slot .play-button{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);min-height:58px;padding:8px 22px 8px 12px;gap:12px;border:1px solid rgba(198,255,67,.96);border-radius:999px;background:var(--green);color:#0b0d0b;box-shadow:0 8px 30px rgba(0,0,0,.48),0 0 24px rgba(198,255,67,.18);font-size:13px;font-weight:750;letter-spacing:.02em;backdrop-filter:blur(8px);opacity:1}
.media-slot .play-button-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#0b0d0b;color:var(--green);font-size:12px;line-height:1;padding-left:2px}
.media-slot .play-button-label{color:inherit;font-size:13px;white-space:nowrap}
.media-slot .play-button:hover{transform:translate(-50%,calc(-50% - 3px)) scale(1.04);background:#d6ff7a;border-color:#edffc5;color:#0b0d0b}
.media-slot .play-button:focus-visible{outline:3px solid #f1f1e9;outline-offset:4px}
.hero.has-video .hero-video{filter:none!important;backface-visibility:hidden}
body.motion-ready .hero:not(.hero-entered) .hero-video{transform:scale(1.075) translate3d(var(--hero-x,0px),var(--hero-y,0px),0);filter:none;transition:transform 2.2s cubic-bezier(.16,1,.3,1)}
body.motion-ready .hero.hero-entered .hero-video{transform:scale(1.035) translate3d(var(--hero-x,0px),var(--hero-y,0px),0);filter:none;transition:transform .26s ease-out}
@media(max-width:760px){.media-slot .play-button{min-height:52px;padding:7px 18px 7px 10px;gap:10px}.media-slot .play-button-icon{width:30px;height:30px;flex-basis:30px}.media-slot .play-button-label{font-size:12px}body.motion-ready .hero:not(.hero-entered) .hero-video{transform:scale(1.055) translate3d(var(--hero-x,0px),var(--hero-y,0px),0)}body.motion-ready .hero.hero-entered .hero-video{transform:scale(1.02) translate3d(var(--hero-x,0px),var(--hero-y,0px),0)}}

