:root{--space-1:8px;--space-2:12px;--space-3:18px;--space-4:24px;--space-5:36px;--space-6:56px;--space-7:88px;--space-8:128px}.brand{font-family:"DM Sans",sans-serif;font-size:20px;font-weight:700;letter-spacing:-.075em;line-height:1}.hero h1{color:#15181b;font-family:"DM Sans",sans-serif;font-weight:700;letter-spacing:-.11em}.hero h1 span{font-family:inherit}.hero-block{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:4px}.project-card:focus-visible,.short-card:focus-visible{outline-color:var(--blue);outline-offset:7px}.project-card,.short-card,.info-card,.hero-orbit,.contact-circle{will-change:transform,opacity}.project-card,.short-card{transition-timing-function:cubic-bezier(.22,.8,.24,1)}nav a,.carousel-control,.contact-button,.copy-email,.progress i,.vertical-progress i{transition-timing-function:cubic-bezier(.22,.8,.24,1)}
.hero-orbit{position:absolute;border:0;overflow:visible;--parallax-y:0px}.doodle-path{fill:none;vector-effect:non-scaling-stroke;stroke-dasharray:none}.orbit-one{animation:drift-orbit-one 60s ease-in-out infinite alternate}.orbit-two{animation:drift-orbit-two 72s ease-in-out infinite alternate;animation-delay:-14s}@keyframes drift-orbit-one{from{transform:translate3d(0,var(--parallax-y),0)}to{transform:translate3d(-11px,calc(var(--parallax-y) + 8px),0) rotate(2deg) scale(1.018)}}@keyframes drift-orbit-two{from{transform:translate3d(0,var(--parallax-y),0)}to{transform:translate3d(8px,calc(var(--parallax-y) - 7px),0) rotate(-2.5deg) scale(.982)}}
.play-button,.short-play{transition:opacity .2s cubic-bezier(.22,.8,.24,1)}.project-card.is-playing .play-button,.short-card.is-playing .short-play{opacity:0;pointer-events:none}.video-hint{margin:var(--space-3) 0 0;color:#767676;font:10px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.carousel-nav-label{display:flex;gap:var(--space-3);align-items:center;justify-content:center;margin-top:var(--space-3);color:#747474;font:10px "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.carousel-nav-label b{color:var(--ink);font-weight:500}.shorts-section .carousel-nav-label{color:#aaa}.shorts-section .carousel-nav-label b{color:var(--paper)}
.audio-toggle{position:absolute;right:14px;top:14px;z-index:5;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;padding:0;background:rgba(0,0,0,.3);backdrop-filter:blur(6px);color:#fff;cursor:pointer;opacity:0;transition:opacity .2s}.audio-toggle svg{width:16px;height:16px}.is-active:hover .audio-toggle,.is-active:focus-within .audio-toggle{opacity:1}.missing-video .audio-toggle{display:none}
.carousel,.short-reel{touch-action:pan-y}.project-card,.short-card{cursor:pointer}.video-fallback,.short-fallback{padding:var(--space-4);color:#fff}.missing-video .play-button,.missing-video .short-play{display:none}.missing-video .video-fallback,.missing-video .short-fallback{display:grid;place-items:center;text-align:center}.missing-video .video-fallback:before,.missing-video .short-fallback:before{content:attr(data-placeholder);font:500 10px/1.5 "DM Mono",monospace;letter-spacing:.08em;white-space:pre-line;opacity:.92}.missing-video .video-fallback:after,.missing-video .short-fallback:after{content:"";position:absolute;width:54%;height:1px;background:rgba(255,255,255,.55);box-shadow:0 -18px 0 rgba(255,255,255,.16),0 18px 0 rgba(255,255,255,.16);transform:rotate(-12deg)}
.info-track{height:465px}.info-card{height:430px}.info-card.is-active{z-index:3}.info-card.is-after{opacity:.55;transform:translateY(27px) scale(.972);z-index:2}.info-card.is-before{opacity:.22;transform:translateY(45px) scale(.945);z-index:1}.card-number{right:8%;top:17%;width:2ch;color:rgba(255,255,255,.14);font:700 clamp(130px,19vw,230px)/.82 "DM Sans",sans-serif;letter-spacing:-.08em;text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.revision-mark{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.info-rail{position:absolute;left:0;top:0;height:430px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;color:#696762;font:11px "DM Mono",monospace}.vertical-progress{position:relative;width:2px;height:340px;background:#b7b3aa}.vertical-progress i{display:block;width:100%;height:25%;background:var(--blue);transition:height .45s}.info-card:nth-child(4) .card-number{display:none}
.short-stage .carousel-control{color:var(--paper)}.short-reel{height:clamp(390px,48vw,640px);width:min(82vw,980px)}.short-card{width:clamp(195px,25vw,320px);backface-visibility:hidden;transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .45s,filter .45s}.short-card.is-active{transform:translateX(-50%) scale(1);z-index:3;opacity:1;filter:none}.short-card.is-before{transform:translateX(calc(-50% - clamp(160px,18vw,245px))) scale(.7) rotate(-3deg);z-index:2;opacity:.7;filter:blur(1.5px)}.short-card.is-after{transform:translateX(calc(-50% + clamp(160px,18vw,245px))) scale(.7) rotate(3deg);z-index:2;opacity:.7;filter:blur(1.5px)}
.contact-circle{--parallax-y:0px;animation:drift 9s ease-in-out infinite alternate}.circle-b{animation-delay:-4s}@keyframes drift{from{transform:translate3d(0,var(--parallax-y),0)}to{transform:translate3d(-18px,calc(var(--parallax-y) - 13px),0) scale(1.04)}}.contact-technical{margin:var(--space-4) 0 0;color:rgba(255,255,255,.72);font:10px/1.8 "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase;position:relative;z-index:1}

/* The hero is a complete stage: the same calm geometry as Contact, without copying it. */
.hero{min-height:calc(100svh - 110px);margin:clamp(14px,2.6vw,32px) clamp(20px,3.2vw,48px);padding:clamp(46px,7vw,108px);display:grid;place-items:center;background:var(--ink);color:var(--paper);border-radius:28px}.hero-content{position:absolute;left:50%;top:50%;z-index:2;width:min(760px,calc(100% - 48px));margin:0;text-align:center;transform:translate(-50%,-50%)}.hero h1{color:var(--paper);font-size:clamp(98px,15vw,230px)}.hero h1 span{color:var(--blue)}.hero-tagline{color:var(--paper)}.hero-intro{margin-left:auto;color:rgba(242,238,230,.68)}.hero-actions{justify-content:center}.hero .availability{color:var(--paper)}.hero .work-button{color:var(--paper);border-color:rgba(242,238,230,.74)}.hero .scroll-cue{color:rgba(242,238,230,.62);z-index:2}.hero .scroll-cue span{color:var(--paper)}.hero .orbit-one{width:min(60vw,780px);height:min(60vw,780px);right:-17vw;top:auto;bottom:-36vw}.hero .orbit-two{width:min(34vw,470px);height:min(34vw,470px);left:auto;right:24vw;top:-21vw;bottom:auto}.hero .orbit-one .doodle-path{stroke:rgba(242,238,230,.27)!important}.hero .orbit-two .doodle-path{stroke:rgba(50,107,255,.65)!important}.hero-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-glow{position:absolute;right:-13%;bottom:-28%;width:min(60vw,840px);height:min(60vw,840px);border-radius:50%;background:radial-gradient(circle,rgba(50,107,255,.22),rgba(50,107,255,0) 67%);filter:blur(9px);animation:glow-drift 30s ease-in-out infinite alternate}@keyframes glow-drift{to{transform:translate3d(-14px,-10px,0) scale(1.025)}}

/* One easing curve keeps card changes and section entrances from feeling disconnected. */
.project-card{transition:transform .6s cubic-bezier(.22,.8,.24,1),opacity .6s cubic-bezier(.22,.8,.24,1),filter .6s cubic-bezier(.22,.8,.24,1)}.short-card{transition:transform .6s cubic-bezier(.22,.8,.24,1),opacity .6s cubic-bezier(.22,.8,.24,1),filter .6s cubic-bezier(.22,.8,.24,1)}.project-card.is-before,.project-card.is-after{filter:blur(.8px)}.short-card.is-before,.short-card.is-after{filter:blur(.8px)}.info-track{touch-action:pan-y}.info-mobile-control{display:none}.reveal{transition:opacity .6s cubic-bezier(.22,.8,.24,1),transform .6s cubic-bezier(.22,.8,.24,1)}.reveal-ready .reveal{opacity:0;transform:translate3d(0,18px,0)}.reveal-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:700px){.brand{font-size:18px}.hero{min-height:calc(100svh - 89px);margin:12px;padding:42px 28px;display:grid;place-items:center;border-radius:20px}.hero-content{left:50%;top:50%;width:calc(100% - 48px);text-align:center;margin:0}.hero-actions{justify-content:center}.hero-intro{margin-right:auto}.hero .orbit-one{width:112vw;height:112vw;right:-54vw;bottom:-55vw}.hero .orbit-two{width:64vw;height:64vw;right:18vw;top:-31vw}.hero-glow{right:-52%;bottom:-21%;width:130vw;height:130vw}.video-hint,.carousel-nav-label{display:none}.audio-toggle{opacity:1}.info-track{height:505px}.info-card{height:475px}.info-rail{display:none}.info-mobile-control{display:block;position:absolute;bottom:-62px;font-family:"DM Sans",sans-serif;font-size:24px;width:44px;height:44px;padding:0;border:1px solid rgba(18,21,24,.22);border-radius:50%;background:transparent}.info-prev{left:32%}.info-next{right:32%}.short-reel{width:88vw;height:121vw}.short-card{width:51vw}.short-card.is-before{transform:translateX(calc(-50% - 28vw)) scale(.7) rotate(-3deg)}.short-card.is-after{transform:translateX(calc(-50% + 28vw)) scale(.7) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit,.contact-circle,.hero-glow,.availability i,.workflow-line i{animation:none!important}.project-card,.short-card,.info-card,.progress i,.vertical-progress i,.play-button,.short-play,.reveal{transition-duration:1ms!important}}

/* Final interface details. */
.site-header nav{gap:clamp(17px,2.5vw,42px)}.site-header nav a{padding:30px 0 27px;border-bottom:2px solid transparent}.site-header nav a:after{display:none}.site-header nav a:hover,.site-header nav a.active{color:var(--ink);border-color:var(--blue)}
.hero .orbit-one .doodle-path{stroke:rgba(242,238,230,.1)!important}.hero .orbit-two .doodle-path{stroke:rgba(50,107,255,.2)!important}.hero-glow{background:radial-gradient(circle,rgba(50,107,255,.08),rgba(50,107,255,0) 67%)!important;filter:blur(12px)!important}
.video-player{width:min(92vw,1120px);max-height:90vh;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:18px;background:#121518;box-shadow:0 28px 90px rgba(0,0,0,.55);overflow:hidden}.video-player::backdrop{background:rgba(9,11,13,.82);backdrop-filter:blur(8px)}.video-player video{display:block;width:100%;max-height:82vh;background:#000}.player-close{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:26px;line-height:1;cursor:pointer;backdrop-filter:blur(6px)}
@media(max-width:700px){.site-header nav a{padding:25px 0 22px}.carousel-control{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(18,21,24,.18);border-radius:50%;background:rgba(242,238,230,.8);backdrop-filter:blur(8px);font-size:38px;line-height:.8;box-shadow:0 5px 14px rgba(18,21,24,.08)}.short-stage .carousel-control{color:var(--paper);border-color:rgba(242,238,230,.28);background:rgba(18,21,24,.5)}.info-mobile-control{width:28px;height:28px;right:17px;left:auto;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(18,21,24,.12);color:rgba(255,255,255,.9);font:17px/1 "DM Sans",sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(10px)}.info-prev{top:18px;bottom:auto}.info-next{top:54px;bottom:auto}.info-mobile-control:hover{background:rgba(18,21,24,.28);color:#fff}}
