/* Motion-led local design iteration */
.header{height:100px}.hero-v2{display:block;padding:64px 7% 55px;min-height:0;overflow:hidden}.hero-v2 h1{font-size:clamp(90px,13.8vw,216px);margin:0;letter-spacing:-.075em;line-height:.92;font-weight:500}.headline-line{display:block;animation:headline-enter 1.1s cubic-bezier(.2,.8,.15,1) both}.headline-row{display:flex;align-items:center;gap:5%;margin-top:16px}.headline-row>.headline-line{animation-delay:.12s}.film-window{display:block;position:relative;flex:0 0 37%;aspect-ratio:1.55;margin:8px 0 0 0;overflow:hidden;border-radius:0;background:#161816;transform:perspective(1000px) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:transform .2s;animation:film-enter 1.2s cubic-bezier(.2,.8,.15,1) .2s both;isolation:isolate;translate:0 calc(var(--hero-shift,0px) * -1)}.film-window video{display:block;width:100%;height:100%;object-fit:cover}.film-window:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#000b);pointer-events:none}.film-label{position:absolute;left:18px;right:18px;bottom:15px;font:12px/1.2 Arial,sans-serif;letter-spacing:.025em;color:white;display:flex;justify-content:space-between;z-index:2}.film-play{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;background:#d8ff00;color:#151515;width:60px;height:60px;border-radius:50%;font:32px Arial,sans-serif;letter-spacing:0;z-index:2;transition:scale .3s,rotate .3s}.film-window:hover .film-play{scale:1.15;rotate:45deg}.hero-v2 .hero-bottom{max-width:none;align-items:end;margin-top:45px;display:flex}.hero-v2 .hero-bottom p{font-size:18px}.motion-toggle{background:none;border:0;border-bottom:1px solid #999;padding:7px 0;font-size:12px;margin-left:auto;margin-right:40px}.hero-v2 .period:before{transition:transform .8s}.hero-v2:hover .period:before{transform:rotate(90deg)}.work-section{padding-top:38px}.project-card a:hover .view-project{transform:translate(-50%,-50%) scale(1)}.project-image .view-project{left:var(--cursor-x,50%);top:var(--cursor-y,50%);right:auto;bottom:auto;border-radius:50%;width:105px;height:105px;padding:25px;display:grid;place-items:center;text-align:center;font-size:13px;transform:translate(-50%,-50%) scale(0);transition:transform .25s;pointer-events:none}.scroll-reveal .project-image{opacity:1;translate:0 0;clip-path:inset(15% 0 0 0);transition:clip-path 1s cubic-bezier(.2,.7,.2,1)}.scroll-reveal.arrived .project-image{clip-path:inset(0)}.clients{background:#e9ebe3;padding:32px 0 42px;overflow:hidden}.clients-heading{display:flex;justify-content:space-between;align-items:center;padding:0 3.2% 32px}.clients-pause{border:0;background:none;font-size:12px}.client-track{display:flex;width:max-content;animation:client-drift 32s linear infinite}.client-group{display:flex;align-items:center;gap:90px;padding-right:90px;flex:none}.client-group span{font-size:35px;letter-spacing:-.045em;font-weight:600;white-space:nowrap}.client-group span:nth-child(2){font-weight:400}.client-group span:nth-child(3){font-family:Georgia,serif;font-style:italic;font-size:48px}.clients:hover .client-track,.clients.paused .client-track,.motion-paused .client-track{animation-play-state:paused}.cinema{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0 4%;border-radius:0;background:#101110;color:#f7f7f2;overflow:hidden}.cinema[open]{display:flex;flex-direction:column;animation:cinema-enter .5s cubic-bezier(.2,.8,.2,1)}.cinema::backdrop{background:#101110}.cinema-top{height:85px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #43463c;flex:none;font-size:12px;letter-spacing:.07em}.cinema .dialog-close{position:static;display:flex;align-items:center;gap:25px;font-size:14px;padding:12px 0}.dialog-close span{font-size:32px;line-height:1}.cinema-body{position:relative;display:grid;grid-template-columns:1fr 1fr 50px;flex:1;min-height:0;gap:4%;align-items:center;padding:25px 0}.cinema-title{align-self:center}.cinema-title p{font-size:11px;letter-spacing:.08em;color:#b8bcad}.cinema-title h2{font-size:clamp(50px,6vw,95px);line-height:1;letter-spacing:-.065em;margin:30px 0}.cinema-title em{font-family:Georgia,serif;font-weight:400;color:#d8ff00}.cinema-title>span{display:block;font-size:14px;color:#a9ae9f;line-height:1.6}.cinema-screen{height:100%;min-height:0;display:flex;justify-content:center;align-items:center}.cinema-screen video{height:100%;width:auto;max-width:100%;max-height:calc(100dvh - 205px);aspect-ratio:9/16;object-fit:contain;background:#050505;margin:0;cursor:pointer}.cinema-side{writing-mode:vertical-rl;font-size:11px;letter-spacing:.12em;justify-self:end;color:#939889}.cinema-controls{display:flex;align-items:center;gap:22px;padding:22px 0;border-top:1px solid #43463c;min-height:75px;flex:none}.cinema-controls button{background:none;color:white;border:0;font-size:13px;min-width:65px;text-align:left;padding:8px 0}.cinema-controls>span{font-size:12px;font-variant-numeric:tabular-nums}.film-seek{flex:1;min-width:30px;accent-color:#d8ff00;cursor:pointer;height:20px}.cinema-status{position:absolute;bottom:90px;left:4%;font-size:13px}.case-heading-v2{padding:38px 5% 55px}.case-title-line{display:flex;justify-content:space-between;border-top:1px solid #c3c5bb;padding-top:24px}.case-heading-v2 .back-link{margin-bottom:35px}.case-heading-v2 h1{max-width:1250px;font-size:clamp(50px,7.3vw,118px);margin:30px 0 45px}.case-heading-v2 .case-meta{justify-content:space-between}.case-wide{margin:0;width:100%;overflow:hidden}.case-wide img{width:100%;height:auto;max-height:none;object-fit:initial;background:none}.case-progress{position:fixed;left:0;top:0;height:4px;width:100%;transform:scaleX(0);transform-origin:left;background:#b6d500;z-index:100}.project-detail{display:grid;grid-template-columns:24% 1fr;gap:7%;padding:90px 5%}.project-rail{position:sticky;top:40px;align-self:start;display:flex;flex-direction:column;gap:16px;font-size:13px}.project-rail>span{font-size:24px;letter-spacing:-.035em;margin-bottom:25px}.project-rail a{width:fit-content;border-bottom:1px solid #b6bbad;padding-bottom:4px}.case-story-v2{display:block;padding:0}.case-story-v2 h2{font-size:clamp(28px,3.1vw,48px);line-height:1.2;letter-spacing:-.035em;margin:28px 0 40px}.case-body-copy{max-width:600px;margin-left:auto}.case-body-copy p{font-size:18px;line-height:1.6}.js-ready .reveal-type{background:linear-gradient(90deg,#171817 var(--read-progress,100%),#bfc3b6 var(--read-progress,100%));background-clip:text;-webkit-background-clip:text;color:transparent}.case-gallery-v2{padding:0;gap:60px}.gallery-heading{display:flex;justify-content:space-between;padding:25px 5% 0;border-top:1px solid #bcc0b2;font-size:13px}.gallery-frame{overflow:hidden}.gallery-frame>div{overflow:hidden}.gallery-frame img{width:100%;height:auto}.gallery-frame figcaption{display:flex;justify-content:space-between;padding:14px 5%;font-size:12px;color:#626958}.gallery-frame.scroll-reveal>div{clip-path:inset(8% 3%);transition:clip-path 1s cubic-bezier(.2,.75,.2,1)}.gallery-frame.arrived>div{clip-path:inset(0)}.next-project-v2{padding:75px 0 0}.next-project-v2>a{position:relative;display:block;border:0;padding:0;overflow:hidden}.next-photo{height:65vh;min-height:360px}.next-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.next-project-v2 a:hover img{transform:scale(1.045)}.next-overlay{position:absolute;inset:0;padding:5%;background:linear-gradient(transparent,#000c);color:white;display:flex;flex-direction:column;justify-content:end}.next-overlay h2{font-size:clamp(42px,7vw,105px);line-height:1.1;letter-spacing:-.045em;display:flex;justify-content:space-between;margin-top:20px}.motion-paused *, .motion-paused *:before{animation-play-state:paused!important}.motion-paused .reveal-type{background:none;color:#171817}.motion-paused .film-window{translate:0 0;transform:none}@keyframes headline-enter{from{opacity:0;transform:translateY(80px) rotate(3deg);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes film-enter{from{opacity:0;clip-path:inset(0 50%);scale:.9}to{opacity:1;clip-path:inset(0);scale:1}}@keyframes client-drift{to{transform:translateX(-50%)}}@keyframes cinema-enter{from{opacity:0;clip-path:inset(12% 15%)}to{opacity:1;clip-path:inset(0)}}@media(max-width:900px){.hero-v2{padding:50px 5%}.hero-v2 h1{font-size:15vw}.film-window{flex-basis:40%}.hero-v2 .hero-bottom p{font-size:16px}.cinema-body{grid-template-columns:1fr 1.2fr}.cinema-side{display:none}.cinema-title h2{font-size:54px}.project-detail{grid-template-columns:20% 1fr;gap:7%}}@media(max-width:700px){.header{height:82px}.hero-v2{padding:38px 6% 32px}.hero-v2 h1{font-size:20vw;letter-spacing:-.07em}.headline-row{gap:6%;margin-top:14px;align-items:center}.film-window{flex-basis:42%;aspect-ratio:1.1;margin:0}.film-play{width:38px;height:38px;font-size:23px}.film-label{font-size:8px;left:9px;right:9px;bottom:9px}.film-label>span{display:none}.hero-v2 .hero-bottom{margin-top:32px;display:grid;grid-template-columns:1fr auto;gap:22px}.hero-v2 .hero-bottom p{font-size:15px;grid-column:1/-1}.hero-v2 .hero-bottom .text-link{max-width:none;font-size:13px;justify-self:end}.motion-toggle{margin:0;width:fit-content;font-size:12px}.client-group{gap:45px;padding-right:45px}.client-group span{font-size:27px}.clients-heading{padding:0 6% 25px;gap:20px}.clients-heading .eyebrow{font-size:10px}.cinema{padding:0 6%}.cinema-top{height:65px;font-size:10px}.cinema-body{display:flex;padding:16px 0;justify-content:center}.cinema-title,.cinema-side{display:none}.cinema-screen video{max-height:calc(100dvh - 170px);height:100%;width:auto;max-width:100%}.cinema-controls{gap:12px;padding:12px 0;min-height:85px;flex-wrap:wrap}.cinema-controls button{font-size:12px;min-width:auto}.film-seek{min-width:100px}.cinema-controls [data-fullscreen]{margin-left:auto}.cinema-controls [data-sound]{margin-left:auto}.cinema-status{bottom:100px;left:6%}.case-heading-v2 h1{font-size:13vw}.case-heading-v2 .case-meta{font-size:12px;gap:15px}.case-title-line .eyebrow{font-size:11px}.project-detail{display:block;padding:40px 6%}.project-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:15px;padding-bottom:30px;border-bottom:1px solid #bfc3b6;margin-bottom:35px;font-size:12px}.project-rail>span{flex-basis:100%;margin:0;font-size:25px}.case-story-v2 h2{font-size:29px}.case-body-copy p{font-size:17px}.case-gallery-v2{gap:22px}.gallery-heading{font-size:11px;gap:20px}.next-photo{height:50vh;min-height:300px}.next-project-v2{padding-top:30px}}@media(prefers-reduced-motion:reduce){.film-window{animation:none;translate:none;transform:none}.client-track{animation:none}.js-ready .reveal-type{background:none;color:#171817}.gallery-frame.scroll-reveal>div,.scroll-reveal .project-image{clip-path:none}.headline-line{animation:none}}

.headline-line{padding-bottom:.13em;margin-bottom:-.13em}.cinema:focus-visible{outline:none}@media(max-width:700px){.cinema-controls .time-duration{display:none}}
/* Continuous mark, scroll choreography and compact film player. */
@keyframes headline-enter{from{opacity:0;transform:translateY(65px) rotate(3deg)}to{opacity:1;transform:none}}
.hero-v2 .period{overflow:visible}
.hero-v2 .period:before{width:.46em;height:.46em;animation:mark-turn 9s linear infinite;transform-origin:center;transition:none}
@keyframes mark-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.project-image{overflow:hidden}
.project-image img,.gallery-frame>div img,.case-wide img{transform:translateY(var(--image-travel,0px)) scale(var(--image-scale,1.09));will-change:transform;transition:filter .4s}
.project-card a:hover .project-image img{transform:translateY(var(--image-travel,0px)) scale(var(--image-scale,1.09));filter:saturate(1.12)}
.kinetic-title{translate:var(--title-travel,0px) 0;opacity:var(--title-opacity,1);will-change:translate}
.text-link span,.button span{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.text-link:hover span,.button:hover span{transform:translate(5px,-5px) rotate(8deg)}
.reel-popup{inset:0;margin:auto;width:min(420px,calc((100dvh - 160px)*.5625),calc(100vw - 32px));height:auto;max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff25;border-radius:12px;background:#131513;color:#fff;overflow:auto;box-shadow:0 30px 100px #0008}
.reel-popup[open]{display:block;animation:popup-enter .35s cubic-bezier(.2,.8,.2,1)}
.reel-popup::backdrop{background:#10151080;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.reel-popup .cinema-top{height:48px;padding:0 15px;border:0;font-size:9px;letter-spacing:.09em}
.reel-popup .dialog-close{position:static;display:flex;align-items:center;gap:8px;background:none;border:0;color:white;font-size:11px;padding:8px 0}
.reel-popup .dialog-close span{font-size:23px}
.reel-popup .cinema-screen{height:auto;display:block;padding:0}
.reel-popup .cinema-screen video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:9/16;object-fit:contain;margin:0;background:#050505}
.reel-popup .cinema-controls{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;padding:10px 14px 12px;min-height:0;border:0}
.reel-popup .time-current{grid-column:1;grid-row:1}
.reel-popup .film-seek{grid-column:2;grid-row:1;width:100%;min-width:0;margin:0}
.reel-popup .time-duration{display:block;grid-column:3;grid-row:1}
.reel-popup .cinema-controls>span{font-size:10px}
.reel-popup .cinema-controls button{min-width:0;font-size:11px;padding:6px 0;grid-row:2;margin:0}
.reel-popup [data-sound]{justify-self:center}
.reel-popup [data-fullscreen]{justify-self:end}
.reel-popup .cinema-status{position:static;margin:0;padding:0 14px 12px;font-size:11px;line-height:1.4}
.reel-popup .cinema-status:empty{display:none}
.reel-popup:focus-visible{outline:none}
.reel-popup:fullscreen{width:100%;height:100%;border-radius:0;display:flex;flex-direction:column;align-items:center}
.reel-popup:fullscreen .cinema-screen{min-height:0;flex:1}.reel-popup:fullscreen video{height:100%;width:auto;max-width:100%}.reel-popup:fullscreen .cinema-top,.reel-popup:fullscreen .cinema-controls{width:min(600px,100%)}
@keyframes popup-enter{from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none}}
.motion-paused .project-image img,.motion-paused .gallery-frame img,.motion-paused .case-wide img{transform:none!important}.motion-paused .kinetic-title{translate:none;opacity:1}
@media(prefers-reduced-motion:reduce){.project-image img,.gallery-frame>div img,.case-wide img{transform:none!important}.kinetic-title{translate:none;opacity:1}}
.studio-intro,.section-title{overflow:clip}
