:root{--void:#0a0d12;--deep-teal:#0f4c58;--signal:#2bb3b1;--ember:#ff7a1a;--soft:#e9eef1;--ink:var(--soft);--ink-dim:#a3b1b8;--ink-faint:#8a979e;--line:#e9eef11f;--line-strong:#e9eef147;--panel:#0c1117b8;--font-display:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(18px, 4.2vw, 72px);--maxw:1520px;--head-h:76px;--bar:calc(max(0px, (100vh - 100vw / 2.39) / 2));--ease:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--slow:1.2s;--med:.7s;--fast:.34s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:#2bb3b159 var(--void)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{border:3px solid var(--void);background:#2bb3b14d}body{background:var(--void);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.62;overflow-x:hidden}body.is-locked{overflow:hidden}img,video,canvas,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.005em;text-transform:uppercase;margin:0;font-weight:700;line-height:.94}p{margin:0}a{color:inherit;text-decoration:none}ul,ol,dl{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--ember);color:var(--void)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{z-index:200;background:var(--soft);color:var(--void);letter-spacing:.08em;text-transform:uppercase;transition:transform var(--fast) var(--ease);padding:10px 16px;font-size:13px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip:focus-visible{transform:none}.mono{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:500}.stage{z-index:0;background:var(--void);opacity:1;width:100%;height:100%;transition:opacity .9s var(--ease-in-out);display:block;position:fixed;top:0;bottom:0;left:0;right:0}.stage.is-dimmed{opacity:0}.stage-fallback{z-index:0;background-color:var(--void);background-image:radial-gradient(120% 90% at 50% 0,#0f4c588c,#0000 62%),radial-gradient(70% 60% at 88% 12%,#ff7a1a24,#0000 60%),linear-gradient(90deg,#e9eef10e 1px,#0000 1px),linear-gradient(#e9eef10b 1px,#0000 1px);background-size:100% 100%,100% 100%,88px 88px,88px 88px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}body.is-flat{--bar:0px}body.is-flat .stage{display:none}body.is-flat .stage-fallback{display:block}body.is-flat .letterbox{display:none}.grain{z-index:55;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s steps(3,end) infinite grain-shift;position:fixed;top:-120px;bottom:-120px;left:-120px;right:-120px}@keyframes grain-shift{0%{transform:translate(0,0)}33%{transform:translate(-14px,8px)}66%{transform:translate(9px,-12px)}to{transform:translate(0,0)}}.letterbox{z-index:60;pointer-events:none;will-change:transform;background:#000;height:50vh;position:fixed;left:0;right:0}.letterbox--top{top:0}.letterbox--bottom{bottom:0}.site-head{z-index:70;height:var(--head-h);padding:0 var(--gutter);transition:background-color var(--med) var(--ease), backdrop-filter var(--med) var(--ease), border-color var(--med) var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0;right:0}.site-head.is-scrolled{-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);border-bottom-color:var(--line);background-color:#0a0d12b8}.brand{align-items:center;padding:6px 0;display:inline-flex}.dex-mark{width:clamp(76px,8vw,104px);height:auto;overflow:visible}.dex-flare{fill:#fff4e6d9;mix-blend-mode:screen;filter:drop-shadow(0 0 6px #ff7a1ad9)drop-shadow(0 0 18px #2bb3b173)}.site-nav{align-items:center;gap:clamp(14px,2vw,34px);display:flex}.site-nav a{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);transition:color var(--fast) var(--ease);padding:6px 0;font-size:12px;font-weight:500;position:relative}.site-nav a:after{content:"";background:var(--signal);transform-origin:0;height:1px;transition:transform var(--med) var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{color:var(--ink)}.site-nav a:focus-visible{color:var(--ink)}.site-nav a:hover:after{transform:scaleX(1)}.site-nav a:focus-visible:after{transform:scaleX(1)}.site-nav .nav-cta{color:var(--ink);border:1px solid var(--line-strong);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease), color var(--fast) var(--ease);padding:10px 18px}.site-nav .nav-cta:after{display:none}.site-nav .nav-cta:hover{background:var(--ember);border-color:var(--ember);color:var(--void)}.nav-toggle{border:1px solid var(--line-strong);justify-content:center;align-items:center;width:44px;height:44px;display:none}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{background:var(--ink);width:18px;height:1px;transition:transform var(--fast) var(--ease), opacity var(--fast) var(--ease);display:block}.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";position:relative}.nav-toggle__bars:before{top:-5px}.nav-toggle__bars:after{top:4px}.nav-toggle[aria-expanded=true] .nav-toggle__bars{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle__bars:before{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars:after{transform:translateY(-4px)rotate(-45deg)}.nav-panel{inset:var(--head-h) 0 auto 0;z-index:69;padding:12px var(--gutter) 28px;border-bottom:1px solid var(--line);background:#0a0d12f7;flex-direction:column;gap:2px;display:none;position:fixed}.nav-panel[data-open=true]{display:flex}.nav-panel a{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);padding:16px 0;font-size:26px}.eyebrow,.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--signal);font-size:11px;font-weight:500}.kicker{color:var(--ink-faint)}.kicker:before{content:"";vertical-align:middle;background:var(--ember);width:26px;height:1px;margin-right:12px;display:inline-block}.section-title{letter-spacing:.012em;text-transform:uppercase;font-size:clamp(34px,5.4vw,76px)}.lede{color:var(--ink-dim);max-width:56ch;font-size:clamp(15px,1.25vw,18px)}.hero{z-index:2;min-height:100svh;padding:calc(var(--head-h) + 40px) var(--gutter) 0;flex-direction:column;justify-content:center;display:flex;position:relative}.hero__inner{max-width:var(--maxw);width:100%;margin:0 auto;padding-bottom:14vh}.hero__title{letter-spacing:-.012em;margin:22px 0 0;font-size:clamp(44px,8.2vw,132px);line-height:.86}.hero__title .line{display:block;overflow:hidden}.hero__title .line>span{display:block}.hero__title .line:last-child{color:var(--soft)}.hero__lede{max-width:46ch;color:var(--ink-dim);margin-top:30px;font-size:clamp(15px,1.3vw,18px)}.hero__actions{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.hero__foot{left:var(--gutter);right:var(--gutter);bottom:calc(var(--bar) + 26px);justify-content:space-between;align-items:center;max-width:none;display:flex;position:absolute}.hero__scroll{color:var(--ink-faint);align-items:center;gap:10px;display:inline-flex}.hero__scroll i{background:linear-gradient(to right, var(--signal), transparent);transform-origin:0;width:46px;height:1px;animation:scroll-hint 3.4s var(--ease-in-out) infinite;display:block}@keyframes scroll-hint{0%,to{opacity:.4;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}}.btn{letter-spacing:.16em;text-transform:uppercase;color:var(--void);background:var(--soft);border:1px solid var(--soft);transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--med) var(--ease);justify-content:center;align-items:center;gap:10px;padding:15px 26px;font-size:12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--signal);border-color:var(--signal)}.btn--ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn--ghost:hover{border-color:var(--signal);color:var(--signal);background:0 0}.work{z-index:2;height:430vh;position:relative}.work__stage{height:100svh;padding:calc(var(--head-h) + 26px) var(--gutter) 34px;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:sticky;top:0}.work__stage>*{pointer-events:auto}.section-head{max-width:48rem}.work .section-head{max-width:26rem}.work .section-head .lede{max-width:40ch;margin-top:18px;font-size:15px}.work .section-title{margin-top:14px;font-size:clamp(30px,3.4vw,52px)}.corridor-hint{left:var(--gutter);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);transition:opacity var(--med) var(--ease);align-items:center;gap:10px;font-size:11px;display:inline-flex;position:absolute;bottom:132px}.corridor-hint__dot{background:var(--ember);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px 2px #ff7a1a8c}.work-index{left:var(--gutter);right:var(--gutter);scrollbar-width:none;border-top:1px solid var(--line);gap:2px;padding-top:12px;display:flex;position:absolute;bottom:34px;overflow-x:auto}.work-index::-webkit-scrollbar{display:none}.work-item{flex:1 1 0;min-width:0}.work-item__btn{text-align:left;width:100%;min-width:0;color:var(--ink-faint);transition:color var(--fast) var(--ease);flex-direction:column;gap:4px;padding:6px 12px 8px 0;display:flex;position:relative;overflow:hidden}.work-item__btn:before{content:"";background:var(--signal);transform-origin:0;height:1px;transition:transform var(--med) var(--ease);position:absolute;top:-13px;left:0;right:8px;transform:scaleX(0)}.work-item__btn:hover,.work-item.is-active .work-item__btn{color:var(--ink)}.work-item__btn:focus-visible{color:var(--ink)}.work-item__btn:hover:before,.work-item.is-active .work-item__btn:before{transform:scaleX(1)}.work-item__btn:focus-visible:before{transform:scaleX(1)}.work-item__num{letter-spacing:.16em;color:var(--ink-faint);font-size:10px}.work-item__title{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;line-height:1.15;overflow:hidden}.work-item__tags{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;opacity:0;transition:opacity var(--fast) var(--ease);font-size:10px}.work-item__thumb{display:none}.work-item__btn:hover .work-item__tags,.work-item.is-active .work-item__tags{opacity:1}.work-item__btn:focus-visible .work-item__tags{opacity:1}.work-caption{right:var(--gutter);text-align:right;letter-spacing:.04em;max-width:34ch;color:var(--ink-dim);opacity:0;transition:opacity var(--med) var(--ease), transform var(--med) var(--ease);pointer-events:none;font-size:12px;position:absolute;bottom:132px;transform:translateY(6px)}.work-caption.is-on{opacity:1;transform:none}.work-caption strong{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-size:15px;display:block}.services,.about,.contact{z-index:2;padding:clamp(96px, 16vh, 190px) var(--gutter);background:linear-gradient(to bottom, #0a0d12f0, var(--void) 24%);position:relative}.services__grid{background:var(--line);border:1px solid var(--line);perspective:1400px;max-width:var(--maxw);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(48px,7vw,96px);display:grid}.service{transform-style:preserve-3d;will-change:transform;transition:background-color var(--med) var(--ease);background:linear-gradient(160deg,#0f4c5829,#0a0d12fa 58%);padding:clamp(26px,3.4vw,56px);position:relative}.service:after{content:"";background:radial-gradient(420px 280px at var(--mx,50%) var(--my,0%), #2bb3b129, transparent 70%);opacity:0;transition:opacity var(--med) var(--ease);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.service:hover:after,.service:focus-within:after{opacity:1}.service__num{color:var(--ember)}.service__title{letter-spacing:.008em;max-width:14ch;margin-top:26px;font-size:clamp(24px,2.6vw,40px);line-height:.98;transform:translateZ(28px)}.service__copy{color:var(--ink-dim);max-width:42ch;margin-top:20px;font-size:15px;transform:translateZ(14px)}.service__meta{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex;transform:translateZ(10px)}.service__meta li{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);padding:6px 10px;font-size:10px}.about__grid{max-width:var(--maxw);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,96px);margin:0 auto;display:grid}.about__portrait{border:1px solid var(--line);margin:0;position:relative;overflow:hidden}.about__portrait img{filter:saturate(.85)contrast(1.05);width:100%;height:auto;transform:scale(1.01)}.about__portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#0a0d12cc);position:absolute;top:0;bottom:0;left:0;right:0}.about__portrait figcaption{z-index:1;position:absolute;bottom:14px;left:16px}.about__copy .section-title{margin:16px 0 26px;font-size:clamp(30px,3.6vw,58px)}.about__copy p{color:var(--ink-dim);max-width:52ch;margin-bottom:18px}.about__creator{border-left:1px solid var(--line-strong);padding-left:20px;color:var(--ink)!important}.about__creator strong{color:var(--signal);font-weight:500}.about__facts{border-top:1px solid var(--line);gap:14px;margin-top:38px;padding-top:26px;display:grid}.about__facts div{grid-template-columns:130px 1fr;gap:16px;display:grid}.about__facts dt{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);padding-top:3px;font-size:10px}.about__facts dd{color:var(--ink-dim);margin:0;font-size:14px}.contact__grid{max-width:var(--maxw);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(40px,6vw,120px);margin:0 auto;display:grid}.contact__intro .section-title{margin:16px 0 24px;font-size:clamp(34px,4.6vw,72px)}.contact__mail{font-family:var(--font-display);letter-spacing:.02em;margin-top:30px;font-size:clamp(17px,1.8vw,24px)}.contact__mail a{border-bottom:1px solid var(--line-strong);transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);padding-bottom:3px}.contact__mail a:hover{color:var(--signal);border-color:var(--signal)}.socials{gap:22px;margin-top:34px;display:flex}.socials a{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);border-bottom:1px solid #0000;padding-bottom:3px;font-size:11px}.socials a:hover{color:var(--ink);border-color:var(--ember)}.contact-form{border:1px solid var(--line);background:#0c111799;gap:20px;padding:clamp(24px,3vw,40px);display:grid}.field{gap:8px;display:grid}.field label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.field input,.field textarea{font:inherit;color:var(--ink);border:1px solid var(--line);transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);resize:vertical;background:#0a0d12b3;border-radius:0;padding:13px 14px;font-size:15px}.field input:hover,.field textarea:hover{border-color:var(--line-strong)}.field input:focus,.field textarea:focus{border-color:var(--signal);background:#0f4c5824;outline:none}.form-note{color:var(--ink-faint);max-width:44ch;font-size:11px}.form-status{color:var(--signal);min-height:1.2em;font-size:13px}.form-status[data-state=error]{color:var(--ember)}.site-foot{z-index:2;border-top:1px solid var(--line);padding:54px var(--gutter) 40px;background:var(--void);position:relative}.site-foot__inner{max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px;margin:0 auto;display:flex}.dex-mark--foot{width:clamp(88px,11vw,140px)}.site-foot__tag{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:15px}.viewer{border:1px solid var(--line);width:min(1180px,92vw);max-height:92svh;color:var(--ink);background:#080b0ff7;padding:0;overflow:hidden}.viewer::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040609db}.viewer[open]{animation:viewer-in .7s var(--ease) both}@keyframes viewer-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}.viewer__inner{gap:20px;max-height:92svh;padding:clamp(16px,2vw,28px);display:grid;overflow:auto}.viewer__bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.viewer__count{color:var(--signal)}.viewer__close{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:inline-flex}.viewer__close:hover{color:var(--ink);border-color:var(--ember)}.viewer__media{border:1px solid var(--line);width:auto;max-width:100%;aspect-ratio:var(--aspect,1.5);background:#04060a;justify-content:center;align-items:center;max-height:56svh;margin-inline-start:auto;margin-inline-end:auto;display:flex;position:relative}.viewer__media img,.viewer__media video{object-fit:contain;width:100%;height:100%}.viewer__text{gap:10px;display:grid}.viewer__title{letter-spacing:.03em;font-size:clamp(22px,2.6vw,38px)}.viewer__tags{flex-wrap:wrap;gap:8px;display:flex}.viewer__tags li{letter-spacing:.16em;text-transform:uppercase;color:var(--signal);border:1px solid #2bb3b159;padding:5px 9px;font-size:10px}.viewer__desc{color:var(--ink-dim);max-width:68ch;font-size:15px}.viewer__nav{justify-content:flex-end;gap:10px;display:flex}.loader{z-index:120;transition:opacity .8s var(--ease), visibility .8s;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:26px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader__flare{transform-origin:0;background:linear-gradient(to right, transparent, #ff7a1a26 12%, var(--ember) 46%, #fff3e4 58%, var(--signal) 76%, transparent);filter:blur(.5px)drop-shadow(0 0 14px #ff7a1acc);height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0;transform:scaleX(0)}.loader__mark{opacity:0;clip-path:inset(0 100% 0 0);width:min(42vw,380px);position:relative}.loader__mark .dex-mark,.loader__mark svg{width:100%;height:auto;overflow:visible}.loader__meta{left:var(--gutter);color:var(--ink-faint);position:absolute;bottom:28px}body.is-flat .work{height:auto;padding:clamp(80px, 12vh, 140px) var(--gutter)}body.is-flat .work__stage{pointer-events:auto;height:auto;padding:0;position:static}body.is-flat .corridor-hint{display:none}body.is-flat .work-caption{text-align:left;opacity:1;max-width:none;margin-top:24px;position:static;transform:none}body.is-flat .work-index{border-top:0;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:clamp(36px,5vw,64px);padding-top:0;display:grid;position:static;overflow:visible}body.is-flat .work-item__btn{min-width:0;color:var(--ink);gap:10px;padding:0}body.is-flat .work-item__btn:before{display:none}body.is-flat .work-item__thumb{width:100%;aspect-ratio:var(--ar,1.3333);background-image:var(--poster);border:1px solid var(--line);filter:saturate(.9);transition:border-color var(--fast) var(--ease), transform var(--slow) var(--ease), filter var(--slow) var(--ease);background-position:50%;background-size:cover;display:block}body.is-flat .work-item__btn:hover .work-item__thumb{filter:saturate(1.05);border-color:#2bb3b180;transform:scale(1.012)}body.is-flat .work-item__tags{opacity:1}body.is-flat .hero{min-height:92svh}@media (max-width:900px){:root{--head-h:66px}.site-nav{display:none}.nav-toggle{display:inline-flex}.hero__title{font-size:clamp(40px,12.5vw,84px)}.hero{padding-bottom:24px}.hero__inner{padding-bottom:8vh}.hero__foot{margin-top:28px;position:static}.services__grid,.about__grid,.contact__grid{grid-template-columns:minmax(0,1fr)}.work{height:340vh}.work__stage{padding-bottom:24px}.corridor-hint,.work-caption{display:none}.work-index{gap:0;padding-top:10px;bottom:22px}.work-item__btn{align-items:center;min-width:0;padding:8px 0}.work-item__num{letter-spacing:.06em;font-size:11px}.work-item__title,.work-item__tags{display:none}.work-item__btn:before{right:4px}.about__facts div{grid-template-columns:minmax(0,1fr);gap:4px}.viewer{border:0;width:100vw;max-height:100svh}.viewer__inner{max-height:100svh}.viewer__media{max-height:46svh;aspect-ratio:var(--aspect,1.5)}.viewer__nav .btn{flex:1}}@media (hover:none){.service:after{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.grain{animation:none}.hero__scroll i{animation:none;transform:none}}@media (max-width:900px),(max-aspect-ratio:3/2){:root{--bar:0px}.letterbox{display:none}}
/*$vite$:1*/