@font-face{font-family:'DM Sans';src:url('assets/dm-sans.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}
:root{--bg:#101112;--panel:#191a1c;--ink:#ededeb;--muted:#929396;--line:#303134;--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,.reel-stage:focus-visible{outline:2px solid #d4d4d4;outline-offset:5px}button:disabled{opacity:.35;cursor:default}::selection{background:#ccc;color:#111}.skip{position:fixed;top:-80px;z-index:100;background:var(--ink);color:var(--bg);padding:15px}.skip:focus{top:10px}.nav{position:absolute;z-index:20;top:24px;left:50%;transform:translateX(-50%);width:min(100% - 64px,1040px);height:66px;background:#191a1de8;border:1px solid #ffffff0e;border-radius:99px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 27px;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:4px;letter-spacing:-1.5px;font-size:21px;font-weight:600}.brand span{font-weight:300;color:#aaa}.brand i{font-size:29px;margin-left:6px;font-style:normal;color:#d0d0d0;font-weight:300}.nav nav{display:flex;gap:31px;font-size:12px;color:#b5b5b6}.nav nav a:hover{color:white}.nav-cta{padding:13px 19px;background:#d9d9d7;color:#151515;border-radius:40px;font-size:12px;display:flex;gap:26px}.nav-cta span{transition:transform .3s}.nav-cta:hover span{transform:translate(3px,-3px)}
.intro{text-align:center;padding:151px 24px 12px}.eyebrow{margin:0 0 27px;font-size:10px;font-weight:500;letter-spacing:2px;color:#a5a5a6}.intro h1{font-size:clamp(64px,7.7vw,112px);letter-spacing:-.07em;line-height:.97;font-weight:450;margin:0;text-wrap:balance}.soft{color:var(--muted);font-weight:300}.intro h1>span{display:inline-block;animation:title-in 1s var(--ease) both}.intro h1>span.soft{animation-delay:.1s}.intro-description{font-size:15px;line-height:1.55;color:#a5a6a8;margin:24px auto}.intro-actions{display:flex;justify-content:center;align-items:center;gap:23px;font-size:12px}.intro-work{border:1px solid #56575a;padding:13px 19px;border-radius:40px;display:flex;gap:20px}.intro-work:hover{background:#252628}.intro-services{color:#aaa;display:flex;gap:15px}.intro-services:hover{color:var(--ink)}
.reel-story{position:relative}.reel-sticky{height:100svh;min-height:600px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.gallery-heading{position:absolute;left:5%;right:5%;top:26px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.7px;color:#88898c}.gallery-heading>a{letter-spacing:0;font-size:11px}.gallery-heading>a span{margin-left:12px}.reel-stage{position:relative;flex:none;height:min(62svh,580px);min-height:340px;width:100%;perspective:1200px;isolation:isolate;--phone-width:clamp(195px,29.9svh,280px);--phone-height:calc(var(--phone-width)*1.77778)}.reel{position:absolute;width:var(--phone-width);height:var(--phone-height);top:50%;left:50%;transform:translate(-50%,-50%);border-radius:23px;overflow:hidden;background:#18191b;will-change:transform,opacity;z-index:1;opacity:.3}.reel:not(:first-child){transform:translate(calc(-50% + 360px),-50%) scale(.68)}.reel>img,.reel>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.reel>video{opacity:0;transition:opacity .3s}.reel.playing>video{opacity:1}.reel.is-active{z-index:10;opacity:1}.select-reel{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.is-active .select-reel{pointer-events:none}.phone-outline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--phone-width) + 13px);height:calc(var(--phone-height) + 14px);border:5px solid #080809;outline:1px solid #66676a;border-radius:29px;z-index:15;pointer-events:none;box-shadow:0 28px 70px #0007,inset 0 0 0 1px #929292}.speaker{display:block;position:absolute;top:7px;left:50%;transform:translateX(-50%);width:28%;height:13px;border-radius:40px;background:#080809}.gallery-bottom{width:min(1150px,90%);margin:12px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.work-caption>span{font-size:9px;letter-spacing:1.5px;color:#85868a}.work-caption h2{font-size:13px;font-weight:400;margin:9px 0 0;color:#c9c9cb}.player-controls{display:flex;gap:3px;padding:5px;border:1px solid var(--line);border-radius:50px}.player-controls button{background:transparent;border:0;border-radius:30px;padding:10px 12px;font-size:10px;color:#bbb}.player-controls button:hover{background:#303133;color:white}.player-controls span{margin-left:8px}.gallery-navigation{display:flex;align-items:center;justify-content:flex-end;gap:15px}.gallery-navigation>button{background:transparent;border:1px solid #444;border-radius:50%;width:32px;height:32px;font-size:16px}.dots{display:flex;gap:3px}.dots button{border:0;width:15px;height:26px;padding:0;background:transparent;position:relative}.dots button:after{content:'';display:block;width:4px;height:4px;background:#626366;border-radius:8px;margin:auto;transition:width .3s,background .3s}.dots button[aria-current=true]:after{width:13px;background:#ddd}.scroll-hint{text-align:center;font-size:8px;letter-spacing:2px;color:#777;margin:28px 0 0}.scroll-hint>span{display:inline-block;margin-left:10px;animation:nudge 2s ease-in-out infinite}.playback-message{text-align:center;font-size:11px;color:#bbb;position:absolute;bottom:4px;left:0;right:0;margin:0}
.section-space{padding:130px max(6vw,24px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:58px}.section-head h2{font-size:clamp(38px,4.7vw,69px);font-weight:450;letter-spacing:-.055em;line-height:1.05;margin:0}.section-head>p{margin:0 0 4px;color:#96979a;font-size:13px;line-height:1.6}.equipment{background:#141516;border-top:1px solid #27282a}.gear-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.gear{background:#1c1d1f;border:1px solid #28292b;border-radius:18px;overflow:hidden;transition:background .4s}.gear:hover{background:#242527}.gear-visual{height:300px;display:flex;align-items:center;justify-content:center;padding:37px 34px;overflow:hidden}.gear-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 15px #0005);transition:transform .8s var(--ease);will-change:transform}.gear:hover .gear-visual img{transform:translateY(-7px) scale(1.05)}.gear-copy{padding:0 29px 31px}.gear-copy>span{color:#89898d;font-size:9px;letter-spacing:1.2px}.gear h3{font-size:22px;letter-spacing:-.6px;font-weight:450;margin:12px 0 9px}.gear p{font-size:12px;color:#a1a1a4;margin:0}.about{max-width:1300px;margin:auto;padding-top:160px;padding-bottom:145px}.statement{font-size:clamp(42px,5.7vw,82px);font-weight:450;letter-spacing:-.06em;line-height:1.1;margin:0;max-width:990px}.statement span{color:#969699}.statement .word{display:inline-block;color:inherit;transition:opacity .1s linear}.about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:820px;margin:44px 0 0 auto;font-size:14px;line-height:1.8;color:#aaa}.about-bottom p{margin:0}.process-line{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:36px 0;margin-top:70px;border-block:1px solid var(--line);font-size:clamp(18px,2.6vw,34px);letter-spacing:-1px;color:#bbb}.process-line i{font-style:normal;font-size:17px;color:#565659}.experience-links{display:flex;flex-wrap:wrap;gap:28px;font-size:11px;color:#999;margin-top:30px}.experience-links>span{color:#616165}.experience-links a{border-bottom:1px solid #343434;padding-bottom:5px}.experience-links a:hover{color:white}
.services{background:#151617}.service-list{border-top:1px solid #3a3a3b}.service{border-bottom:1px solid #343436;padding:0}.service summary{display:flex;align-items:center;gap:40px;padding:33px 0;list-style:none;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-number{font-size:10px;color:#767679;width:24px}.service h3{font-size:clamp(23px,3vw,44px);font-weight:400;letter-spacing:-.055em;margin:0}.service-plus{margin-left:auto;font-size:30px;color:#a0a0a2;font-weight:300;transition:transform .4s}.service[open] .service-plus{transform:rotate(45deg)}.service-body{display:flex;justify-content:space-between;align-items:end;gap:35px;padding:0 0 35px 64px;animation:detail-in .5s var(--ease)}.service-body p{max-width:470px;font-size:14px;line-height:1.65;color:#aaa;margin:0}.service-body a{font-size:12px;border-bottom:1px solid #666;padding-bottom:7px;white-space:nowrap}.toolkit{display:flex;gap:45px;justify-content:space-between;margin-top:65px;color:#878789;font-size:12px;line-height:2}.toolkit>span{font-size:9px;letter-spacing:1.5px}.toolkit p{margin:0;text-align:right}.contact{text-align:center;padding-top:150px;padding-bottom:125px}.contact h2{font-size:clamp(43px,5.9vw,87px);font-weight:450;line-height:1.06;letter-spacing:-.06em;margin:0 auto 43px}.contact-main{display:flex;justify-content:center;align-items:center;gap:55px;border-radius:50px;background:#dadad7;color:#171717;width:fit-content;margin:0 auto;padding:19px 26px;font-size:14px}.contact-main>span{font-size:23px;transition:transform .3s}.contact-main:hover>span{transform:translate(4px,-4px)}.email{display:inline-block;color:#949498;font-size:12px;margin-top:26px}footer{border-top:1px solid #292929;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 6vw;padding:35px 0;color:#838386;font-size:11px}footer .brand{color:#dadada;font-size:20px}.js .reveal{opacity:.15;transform:translateY(42px)}.js:not(.reduced)[data-scroll-dir="up"] .reveal:not(.visible){transform:translateY(-42px)}.js .reveal.visible{opacity:1;transform:none;transition:opacity 1.5s var(--ease),transform 1.5s var(--ease)}.reveal-d1{transition-delay:.15s}.reveal-d2{transition-delay:.3s}.reveal-d3{transition-delay:.45s}.reveal-d4{transition-delay:.6s}.js .gear-visual img{opacity:0;transition:opacity 1.6s var(--ease),transform .8s var(--ease)}.js .gear.visible .gear-visual img{opacity:1}.reduced .reel{transition:none}.reduced .scroll-hint{display:none}noscript{padding:20px;display:block;text-align:center}.reel img{user-select:none}.reel-stage{touch-action:pan-y}
@keyframes title-in{from{transform:translateY(30px);opacity:.4}to{transform:none;opacity:1}}@keyframes nudge{50%{transform:translateY(4px)}}@keyframes detail-in{from{opacity:.3;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.intro{padding-top:165px}.intro h1{font-size:118px}.gear-visual{height:350px}.section-space{padding-left:max(6vw,calc((100vw - 1350px)/2));padding-right:max(6vw,calc((100vw - 1350px)/2))}}
@media(max-width:800px){.nav{top:16px;width:calc(100% - 32px,1040px);width:calc(100% - 32px);height:59px;padding-left:21px}.nav nav{display:none}.nav-cta{font-size:11px;gap:15px;padding:11px 14px}.brand{font-size:19px}.intro{padding-top:125px;padding-bottom:15px}.intro h1{font-size:75px}.intro .eyebrow{font-size:8px;letter-spacing:1.4px}.intro-description{font-size:13px}.intro-actions{gap:15px;font-size:10px}.intro-work{padding:12px 13px;gap:10px}.intro-services{gap:8px}.reel-stage{--phone-width:clamp(190px,30svh,240px);height:61svh;min-height:330px}.gallery-heading{font-size:8px;top:25px}.gallery-heading>a{font-size:9px}.gallery-bottom{grid-template-columns:1fr;gap:18px;text-align:center;margin-top:15px}.work-caption h2{font-size:12px;margin-top:7px}.player-controls{justify-self:center}.player-controls button{font-size:10px;padding:10px}.gallery-navigation{justify-content:center}.scroll-hint{margin-top:20px}.section-space{padding:80px 24px}.section-head{display:block;margin-bottom:38px}.section-head h2{font-size:42px}.section-head>p{margin-top:22px;font-size:12px}.gear-grid{grid-template-columns:1fr;gap:15px}.gear{display:grid;grid-template-columns:46% 54%;align-items:center;min-height:210px}.gear-visual{height:210px;padding:15px}.gear-copy{padding:20px 20px 20px 0}.gear h3{font-size:19px}.gear p{font-size:11px}.gear-copy>span{font-size:8px}.statement{font-size:43px}.about-bottom{grid-template-columns:1fr;gap:20px;margin-top:32px;font-size:13px}.process-line{margin-top:35px;gap:8px;padding:25px 0;font-size:19px;letter-spacing:-.5px}.process-line i{font-size:12px}.experience-links{gap:17px;font-size:10px}.experience-links>span{width:100%}.service summary{padding:26px 0;gap:15px}.service-number{width:15px}.service h3{font-size:26px}.service-body{padding:0 0 28px 30px;display:block}.service-body p{font-size:13px}.service-body a{display:inline-block;margin-top:22px;font-size:11px}.toolkit{display:block;margin-top:38px}.toolkit p{text-align:left;margin-top:13px;font-size:11px}.contact h2{font-size:44px}.contact-main{font-size:13px;padding:16px 23px}.contact .eyebrow{font-size:9px}footer{display:grid;grid-template-columns:1fr 1fr;padding:28px 0;font-size:10px;gap:20px}footer>a:last-child,footer>span{text-align:right}}
@media(max-width:370px){.intro h1{font-size:64px}.intro-actions{gap:10px}.section-head h2{font-size:35px}.service h3{font-size:22px}.gear h3{font-size:17px}.process-line{font-size:17px}.gallery-heading>a{max-width:110px;text-align:right}}
/* Keep the first phone close to the headline, then let the gallery hold the scroll. */
@media(min-width:801px){.intro{padding-top:137px}.intro h1{font-size:clamp(68px,7vw,101px)}.reel-sticky{justify-content:flex-start;padding-top:65px}.reel-stage{height:min(58svh,540px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1!important;transform:none!important}.js .gear-visual img{opacity:1}.scroll-hint{display:none}}
