@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800;900&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#f2f1ee;font-family:Inter,Arial,sans-serif}.grain{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{position:sticky;top:0;z-index:10;height:82px;padding:25px 4vw;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(#080808 70%,transparent)}.brand{color:#fff;text-decoration:none;display:flex;gap:10px}.brand-mark{font-size:21px;font-weight:900;letter-spacing:-1.5px}.brand-name{font:10px/1.05 "DM Mono";letter-spacing:.02em}.nav nav{display:flex;gap:30px}.nav nav a{color:#eee;text-decoration:none;font:10px "DM Mono";letter-spacing:.04em}.nav nav a:hover{opacity:.5}.hero{min-height:calc(100vh - 82px);padding:100px 4vw 80px;display:grid;grid-template-columns:.95fr 1.05fr;gap:3vw;border-bottom:1px solid #262626}.eyebrow,.section-no{font:10px "DM Mono";color:#888;letter-spacing:.05em}.hero h1{font-size:clamp(72px,12vw,190px);line-height:.78;letter-spacing:-.075em;margin:28px 0 42px;font-weight:900}.hero h1 span,.section-title span{color:#a9a8a5}.hero p{max-width:570px;color:#aaa;font-size:16px;line-height:1.6}.hero-side{display:flex;align-items:flex-end;justify-content:flex-end}.hero-mark{width:min(410px,100%);aspect-ratio:4/5;border:1px solid #292929;display:flex;align-items:flex-end;padding:25px;background:radial-gradient(circle at 50% 35%,#343434,#0b0b0b 68%)}.hero-mark b{font-size:46px;line-height:.8;letter-spacing:-.07em}.hero-mark small{display:block;font:9px "DM Mono";color:#777;margin-top:15px;letter-spacing:.1em}.section{padding:110px 4vw;border-bottom:1px solid #252525}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-title{font-size:clamp(60px,9vw,145px);line-height:.82;letter-spacing:-.07em;margin:25px 0 0;font-weight:900}.section-copy{font:11px/1.6 "DM Mono";color:#888;text-align:right}.projects{display:grid;grid-template-columns:1fr 1fr;gap:70px 28px}.project{color:#fff;text-decoration:none}.thumb{aspect-ratio:16/10;position:relative;overflow:hidden;border:1px solid #292929;background:#111}.thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8) contrast(1.05);transition:transform .6s ease,filter .6s ease}.project:hover .thumb img{transform:scale(1.035);filter:saturate(1) contrast(1.08)}.thumb-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 45%,rgba(0,0,0,.5))}.project-no{position:absolute;top:15px;left:16px;font:9px "DM Mono";color:#eee}.play{position:absolute;right:17px;bottom:14px;font:20px Arial;color:#fff;opacity:.9}.project-info{padding-top:17px}.project-info h3{font-size:25px;letter-spacing:-.04em;margin:0 0 7px}.project-info p{font:9px "DM Mono";color:#999;margin:0 0 12px}.project-info small{font:9px "DM Mono";color:#666}.placeholder .thumb{display:flex;align-items:center;justify-content:center;background:#0d0d0d}.placeholder-label{text-align:center;color:#444;font-weight:800;font-size:38px;line-height:.8;letter-spacing:-.06em}.vimeo-more{margin-top:90px;padding:55px 0;border-top:1px solid #2b2b2b;display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:#fff}.vimeo-more strong{font-size:clamp(35px,5vw,75px);letter-spacing:-.06em}.vimeo-more span{font:10px "DM Mono";color:#aaa}.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about h2{font-size:clamp(55px,8vw,120px);line-height:.8;letter-spacing:-.07em;margin:0}.about p{max-width:600px;color:#aaa;line-height:1.75}.contact{min-height:65vh}.contact a{color:#fff}.email{font-size:clamp(35px,6vw,85px);font-weight:800;letter-spacing:-.06em;text-decoration:none;border-bottom:1px solid #555}.social{margin-top:65px;font:11px "DM Mono";color:#888}.social a{text-decoration:none;margin-left:10px}footer{padding:25px 4vw;display:flex;justify-content:space-between;color:#666;font:9px "DM Mono"}@media(max-width:800px){.nav{padding:22px 5vw;height:72px}.nav nav{gap:16px}.hero{display:block;padding:90px 5vw 70px}.hero h1{font-size:19vw}.hero-side{margin-top:60px}.hero-portrait-wrap{width:min(680px,100%)}.section{padding:80px 5vw}.section-head{display:block}.section-copy{text-align:left;margin-top:25px}.projects{grid-template-columns:1fr;gap:55px}.about{grid-template-columns:1fr;gap:35px}.vimeo-more{display:block}.vimeo-more span{display:block;margin-top:20px}footer{padding:20px 5vw}}

/* CINEMATIC MOTION */
body{overflow-x:hidden}.nav{transition:background .45s ease,backdrop-filter .45s ease,transform .45s ease}.nav.nav-scrolled{background:rgba(8,8,8,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.reveal{opacity:0;transform:translateY(38px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:none}
.hero.reveal{transform:none;opacity:1}.hero.reveal .hero h1{opacity:0;transform:translateY(45px);animation:heroText 1.15s .18s cubic-bezier(.22,1,.36,1) forwards}.hero.reveal .hero p{opacity:0;transform:translateY(22px);animation:heroText .9s .48s cubic-bezier(.22,1,.36,1) forwards}.hero.reveal .eyebrow{opacity:0;animation:fadeIn .8s .05s ease forwards}.hero.reveal .hero-portrait-wrap{opacity:0;transform:translateY(30px) scale(.985);animation:portraitIn 1.2s .25s cubic-bezier(.22,1,.36,1) forwards}
@keyframes heroText{to{opacity:1;transform:none}}@keyframes fadeIn{to{opacity:1}}@keyframes portraitIn{to{opacity:1;transform:none}}
.hero-portrait-wrap{width:min(680px,100%);perspective:900px}.hero-portrait{position:relative;aspect-ratio:3.6/5;overflow:hidden;border:1px solid #292929;background:#111;transform:rotateY(-3deg);transition:transform 1s cubic-bezier(.22,1,.36,1)}.hero-portrait:hover{transform:rotateY(0) scale(1.012)}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.05);transform:scale(1.08);transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .8s ease}.hero-portrait:hover img{transform:scale(1.045);filter:grayscale(.75) contrast(1.08)}.portrait-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 45%,rgba(0,0,0,.7) 100%)}.portrait-caption{position:absolute;left:20px;right:20px;bottom:17px;display:flex;justify-content:space-between;gap:15px;font:8px "DM Mono";color:#eee;letter-spacing:.05em}.portrait-caption span:last-child{color:#999;text-align:right}
.project{transition:opacity .35s ease}.project:hover{opacity:.96}.project:nth-child(1){transition-delay:.02s}.project:nth-child(2){transition-delay:.08s}.project:nth-child(3){transition-delay:.14s}.project:nth-child(4){transition-delay:.20s}
.thumb{clip-path:inset(0 0 0 0);transition:clip-path .7s cubic-bezier(.22,1,.36,1)}.project:hover .thumb{clip-path:inset(2px 2px 2px 2px)}.play{transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}.project:hover .play{transform:translate(4px,-4px);opacity:1}
.vimeo-more strong{transition:letter-spacing .45s cubic-bezier(.22,1,.36,1)}.vimeo-more:hover strong{letter-spacing:-.045em}.vimeo-more span{transition:transform .45s ease}.vimeo-more:hover span{transform:translateX(5px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
