:root{color-scheme:dark;--bg:#10110f;--paper:#eeeee8;--muted:#93958e;--line:rgba(238,238,232,.18);--accent:#d7e6ae;--gutter:clamp(24px,4.4vw,80px);--sans:Arial,'PingFang SC','Microsoft YaHei',sans-serif}
.arrow-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;pointer-events:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}button{border:0;background:none}em{font-family:inherit;font-style:normal;font-weight:inherit}section{scroll-margin-top:40px}.skip-link{position:fixed;top:-60px;left:20px;padding:12px;background:var(--paper);color:var(--bg);z-index:100}.skip-link:focus{top:20px}
.site-header{position:absolute;left:0;top:0;z-index:10;width:100%;height:102px;display:flex;align-items:center;padding:0 var(--gutter);gap:22px;border-bottom:1px solid rgba(255,255,255,.2)}.wordmark{font-size:33px;letter-spacing:-3px;font-weight:600;display:flex;gap:5px;align-items:center}.header-caption{font-size:10px;line-height:1.6;letter-spacing:1.2px}.header-caption>span{color:#b6b9b3;font-size:8px;letter-spacing:1px}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:12px}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--accent)}.site-header nav a>span{color:#b6b9b3;font-size:11px;margin-left:5px}.site-header nav .nav-contact{border:1px solid #7e857e;border-radius:50px;padding:12px 18px}.site-header nav .nav-contact span{margin-left:22px;color:var(--paper)}
.hero{height:100svh;min-height:740px;max-height:1200px;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:150px var(--gutter) 0;overflow:hidden;background:#1c2524}.hero-visual,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-visual video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(9,12,11,.5) 0%,rgba(9,12,11,.05) 32%,rgba(9,12,11,.42) 57%,rgba(9,12,11,.88) 100%),linear-gradient(90deg,rgba(10,13,11,.22),transparent 80%)}.hero-topnote{position:absolute;top:137px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#e4e6df;opacity:.8}.hero-copy{padding-bottom:65px}.eyebrow{font-size:10px;letter-spacing:1.9px;line-height:1.5}.live-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin:0 7px 2px 0} .hero .eyebrow{font-size:16px;letter-spacing:2.2px}.hero h1{font-weight:400;white-space:nowrap;font-size:clamp(90px,12.6vw,210px);line-height:1.12;letter-spacing:-.065em;margin:5px 0 21px}.hero-under{display:flex;justify-content:space-between;align-items:center;max-width:1000px}.hero-under>p{font-size:clamp(19px,1.7vw,27px);font-weight:400;line-height:1.8;letter-spacing:1.5px}.reel-button{display:flex;align-items:center;text-align:left;gap:17px;font-size:12px;padding:10px 0}.reel-button small{display:block;font-size:9px;letter-spacing:1.6px;color:#bcc2b8;margin-top:8px}.play-circle{width:62px;height:62px;display:grid;place-items:center;font-size:25px;border:1px solid rgba(238,238,232,.6);border-radius:50%;transition:background .25s,color .25s,transform .25s}.reel-button:hover .play-circle{background:var(--paper);color:var(--bg);transform:rotate(45deg)}.hero-bottom{height:70px;border-top:1px solid rgba(238,238,232,.3);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px}.scroll-cue{display:flex;gap:38px;align-items:center}.scroll-cue span{font-size:20px}.hero-fields{font-size:9px;letter-spacing:1.7px;color:#bdc2b8}.motion-toggle{padding:12px 0;font-size:10px;display:flex;gap:10px;align-items:center;color:#bfc4bc}
.section-shell{padding-left:var(--gutter);padding-right:var(--gutter)}.work-section{padding-top:90px;padding-bottom:88px}.section-overline{display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:1.3px;line-height:1.6;color:#b0b2aa}.section-overline>span:last-child{letter-spacing:1px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:32px 0 57px}.section-heading h2{font-size:clamp(28px,3.1vw,48px);line-height:1.45;font-weight:400;letter-spacing:-1.5px}.section-heading>p{font-size:12px;line-height:1.85;color:var(--muted)}.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:35px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{font-size:12px;padding:11px 19px;border:1px solid transparent;border-radius:40px;color:#b1b4aa;transition:color .2s,background .2s}.filter:hover{color:var(--paper);border-color:var(--line)}.filter.active{background:var(--paper);color:var(--bg)}.filter sup{font-size:8px;margin-left:7px;vertical-align:super}.selection-note{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:50px}.project-card{min-width:0;display:block;text-align:left;padding:0;position:relative;width:100%}.project-image{display:block;position:relative;background:#22251e;aspect-ratio:16/10;overflow:hidden;border-radius:2px}.project-image img,.project-image video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .65s cubic-bezier(.2,.65,.3,1),opacity .35s}.project-image video{opacity:0}.project-card.previewing .project-image video{opacity:1}.project-open:hover .project-image img{transform:scale(1.025)}.project-number{position:absolute;left:20px;top:18px;font-size:10px;letter-spacing:1px;z-index:2;color:#fff;text-shadow:0 1px 9px #000}.project-play{position:absolute;right:18px;bottom:18px;width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:#0003;backdrop-filter:blur(6px);font-size:17px}.project-meta{display:flex;justify-content:space-between;gap:16px;padding-top:19px}.project-meta .project-title{display:block;font-size:16px;font-weight:400;line-height:1.45}.project-subtitle{font-size:10px;color:var(--muted);line-height:1.6;letter-spacing:.3px;margin-top:5px}.project-category{text-align:right;font-size:9px;letter-spacing:1.1px;color:#b0b4a8;white-space:nowrap;padding-top:4px}.project-card[hidden]{display:none}.work-endnote{border-top:1px solid var(--line);margin-top:49px;padding-top:23px;font-size:9px;color:var(--muted);display:flex;justify-content:space-between;letter-spacing:1px}
.about-section{border-top:1px solid var(--line);padding-top:60px;padding-bottom:100px;background:#141611}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(45px,9vw,145px);margin-top:55px;align-items:start}.portrait-wrap{max-width:480px}.portrait-wrap img{width:100%;height:auto;object-fit:cover;filter:contrast(1.02)}.portrait-wrap figcaption{font-size:10px;letter-spacing:1.2px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:19px 0;color:#bfc3b6}.about-copy{max-width:570px;padding-top:4px}.about-copy>.eyebrow{color:#b6bdac;letter-spacing:1.3px;font-size:9px}.about-copy h2{font-weight:400;font-size:clamp(35px,4.3vw,65px);line-height:1.45;letter-spacing:-2px;margin:23px 0 27px}.about-lead{font-size:15px;line-height:1.85}.bio{font-size:12px;line-height:2.1;color:#a0a79b;margin-top:15px;max-width:470px}.impact{margin:27px 0 27px;display:flex;align-items:center;gap:28px}.impact>strong{font-size:63px;font-weight:450;line-height:1;letter-spacing:-4px}.impact>strong>span{font-size:34px;letter-spacing:-2px}.impact>div{font-size:11px;color:#d4d8cc;line-height:1.7}.impact small{font-size:9px;display:block;color:#8f9885;margin-top:5px}.capability{display:flex;border-top:1px solid var(--line);padding:16px 0;font-size:11px;gap:17px}.capability>span:first-child{color:#929b86;font-size:9px;padding-top:2px}.capability small{margin-left:auto;font-size:9px;color:#89927e;line-height:1.6}
.contact-section{padding-top:70px;background:#e9e9df;color:#20251b}.contact-section .section-overline{color:#6d7464}.contact-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:55px 0 51px} .contact-head h2{font-size:clamp(60px,8.2vw,132px);font-weight:400;letter-spacing:-.055em;line-height:1.03}.contact-arrow{display:grid;place-items:center;width:clamp(76px,11vw,165px);aspect-ratio:1;border:1px solid #919b82;border-radius:50%;font-size:clamp(36px,5vw,80px);transition:background .2s,color .2s}.contact-arrow:hover{background:#20251b;color:#e9e9df}.contact-details{border-top:1px solid #20251b30;display:flex;align-items:center;gap:35px;padding:27px 0 70px;font-size:13px}.contact-details>a>span{margin-left:18px}.copy-email{margin-left:auto;font-size:11px;color:#69735d}.copy-email>span{margin-left:25px}.contact-section footer{border-top:1px solid #20251b30;display:flex;justify-content:space-between;gap:18px;padding:27px 0;font-size:9px;letter-spacing:.8px;color:#6d7761}
.film-dialog{width:min(1150px,94vw);max-height:95svh;overflow:auto;border:1px solid #444b3c;background:#10130f;color:var(--paper);padding:24px;overscroll-behavior:contain}.film-dialog::backdrop{background:rgba(3,6,3,.88);backdrop-filter:blur(15px)}.film-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;gap:20px}.film-dialog-header h2{font-size:20px;font-weight:400;margin-top:5px}.film-dialog-header .eyebrow{color:#919a86;font-size:9px}.film-dialog-header button{width:42px;height:42px;font-size:30px;color:#cad3bd}.film-dialog>video{display:block;width:100%;max-height:68svh;background:#000}.film-info{display:flex;justify-content:space-between;gap:24px;padding-top:17px;font-size:11px;color:var(--muted);line-height:1.8}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:12px 20px;z-index:100;background:var(--paper);color:var(--bg);border-radius:3px;opacity:0;pointer-events:none;transition:.2s;font-size:12px}.toast.visible{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}
@media(min-width:1600px){.section-shell{padding-left:max(var(--gutter),calc((100vw - 1480px)/2));padding-right:max(var(--gutter),calc((100vw - 1480px)/2))}.hero-copy{padding-bottom:80px}}
@media(max-width:950px){.hero{min-height:680px}.header-caption{display:none}.site-header{height:82px}.hero-topnote{top:115px}.hero-copy{padding-bottom:55px}.hero h1{font-size:14vw}.hero-under{max-width:100%}.hero-fields{display:none}.section-heading{display:block}.section-heading>p{margin-top:20px}.about-grid{gap:45px;grid-template-columns:.9fr 1fr}.about-copy h2{font-size:39px}.impact{gap:18px}.impact>strong{font-size:50px}.capability small{display:none}.selection-note{display:none}.contact-details{gap:20px;font-size:11px}.contact-details>a>span{margin-left:8px}.contact-section footer{font-size:8px}}
@media(max-width:600px){:root{--gutter:22px}.site-header{height:78px}.wordmark{font-size:27px}.site-header nav{gap:22px;font-size:11px}.site-header nav a>span{display:none}.site-header nav .nav-contact{padding:10px 13px}.hero{min-height:700px;height:92svh;padding-top:150px;max-height:980px}.hero-visual video{object-position:58% center}.hero-topnote{top:105px;font-size:9px;letter-spacing:1px}.hero-topnote>span:last-child{display:none}.hero-copy{padding-bottom:35px}.hero .eyebrow{font-size:12px;letter-spacing:1.2px}.hero h1{font-size:16vw;letter-spacing:-.065em;margin:17px 0 21px;line-height:1.1;white-space:nowrap}.hero-under{display:block}.hero-under>p{font-size:18px;line-height:1.8}.reel-button{margin-top:26px;font-size:11px;gap:12px}.play-circle{width:43px;height:43px;font-size:20px}.reel-button small{font-size:8px;margin-top:5px}.hero-bottom{height:57px;font-size:9px}.scroll-cue{gap:22px}.motion-toggle{font-size:9px}.work-section{padding-top:50px;padding-bottom:50px}.section-overline{font-size:8px;letter-spacing:1px;gap:15px}.section-overline>span:last-child{font-size:8px}.section-heading{margin:25px 0 28px}.section-heading h2{font-size:26px;letter-spacing:-.7px}.section-heading>p{font-size:11px;line-height:1.9;margin-top:13px}.work-toolbar{margin-bottom:25px;padding-bottom:16px}.filters{gap:5px}.filter{padding:9px 10px;font-size:11px}.filter sup{font-size:7px;margin-left:5px}.project-grid{grid-template-columns:1fr;gap:30px}.project-meta{padding-top:13px}.project-meta .project-title{display:block;font-size:15px}.project-subtitle{font-size:9px}.project-category{font-size:8px}.project-number{top:15px;left:15px;font-size:9px}.project-play{height:31px;width:31px;right:12px;bottom:12px}.project-image{aspect-ratio:16/10}.work-endnote{font-size:8px;gap:25px;margin-top:30px;line-height:1.6}.about-section{padding-top:36px;padding-bottom:50px}.about-grid{grid-template-columns:1fr;gap:40px;margin-top:30px}.portrait-wrap{max-width:100%;width:100%}.portrait-wrap img{width:100%;max-height:480px;object-position:center 27%;object-fit:cover}.portrait-wrap figcaption{font-size:9px;padding:15px 0}.about-copy h2{font-size:44px;line-height:1.35;letter-spacing:-1px;margin:19px 0 23px}.about-lead{font-size:14px}.bio{font-size:12px}.impact{margin:26px 0;gap:25px}.impact>strong{font-size:64px}.capability small{display:block;font-size:8px}.contact-section{padding-top:38px}.contact-section .section-overline{flex-wrap:wrap;gap:8px}.contact-head{padding:32px 0;gap:10px;align-items:flex-end}.contact-head h2{font-size:9.4vw;letter-spacing:-.05em}.contact-arrow{width:50px;min-width:50px;font-size:27px;margin-bottom:3px}.contact-details{display:grid;grid-template-columns:1fr auto;gap:19px;padding:22px 0 39px}.contact-details>a:first-child{font-size:13px;grid-column:1/-1}.contact-details>a:nth-child(2){font-size:12px}.copy-email{font-size:10px}.copy-email>span{margin-left:12px}.contact-section footer{font-size:7px;letter-spacing:.2px;flex-wrap:wrap;gap:16px;padding:23px 0}.contact-section footer>span:nth-child(2){display:none}.film-dialog{padding:16px;width:95vw}.film-dialog-header h2{font-size:16px}.film-info{font-size:10px}.film-info>span:first-child{max-width:80%}}
.portrait-card .project-image{background:radial-gradient(ellipse at center,#38432b 0%,#181e15 75%)}.portrait-card .project-image img,.portrait-card .project-image video{object-fit:contain}
@media(max-width:600px){.hero-visual video{object-position:72% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-visual video{opacity:0}.manual-motion .hero-visual video{opacity:1}.hero-visual{background:center/cover url('assets/hero-poster.jpg')}}

/* Separate film and still controls keep every action keyboard-accessible. */
.project-open{display:block;width:100%;padding:0;text-align:left;border-radius:2px}
.project-stills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.still-button{display:block;min-width:0;padding:0;text-align:left}
.still-button img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#080b07;border:1px solid var(--line);transition:border-color .2s,opacity .2s}
.still-button:hover img{border-color:var(--accent);opacity:.88}
.still-time{display:block;margin-top:7px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.5px}
.still-dialog{width:min(1200px,94vw);max-height:95svh;overflow:auto;padding:54px 24px 20px;border:1px solid #444b3c;background:#10130f;color:var(--paper);overscroll-behavior:contain}
.still-dialog::backdrop{background:rgba(3,6,3,.9);backdrop-filter:blur(15px)}
.close-still{position:absolute;top:7px;right:12px;width:40px;height:40px;display:grid;place-items:center;font-size:30px;color:#cad3bd}
#still-image{display:block;max-width:100%;width:auto;max-height:75svh;height:auto;object-fit:contain;margin:0 auto;background:#080b07}
#still-caption{padding-top:16px;font-size:12px;line-height:1.7;color:var(--muted)}
@media(max-width:600px){.project-stills{gap:8px;margin-top:15px}.still-time{font-size:8px;margin-top:5px}.still-dialog{padding:50px 14px 16px;width:95vw}#still-caption{font-size:11px}.hero .eyebrow{line-height:1.8}.hero h1{font-size:16vw}.project-category{white-space:normal;min-width:45px}}
