@font-face{font-family:"DM Sans";src:url("fonts/dm-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/dm-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/dm-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope-800.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}

:focus-visible{outline:3px solid var(--mint);outline-offset:5px}.hero-scene{position:absolute!important;inset:0;opacity:0;transform:scale(1.08)!important;transition:opacity 1.3s ease,transform 7s linear!important}.hero-scene.is-active{opacity:1;transform:scale(1.01)!important}.hero-scenes{position:absolute;right:clamp(22px,7vw,110px);top:50%;z-index:4;display:grid;gap:12px}.hero-scenes button{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:transparent;cursor:pointer;transition:.35s}.hero-scenes button.is-active{height:30px;border-radius:8px;background:var(--mint);border-color:var(--mint)}.hero-location{display:flex;align-items:center;gap:9px;margin:16px 0 0;font-size:.76rem;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.58)}.hero-location:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint)}.hero-content,.scroll-cue,.hero-scenes{transition:opacity .55s,transform .75s var(--ease)}.hero.is-past .hero-content{opacity:.18;transform:translateY(-50px)!important}.hero.is-past .scroll-cue,.hero.is-past .hero-scenes{opacity:0;pointer-events:none}

.work{background:#e9eee9;color:var(--ink);overflow:hidden}.work .section-label span{color:var(--mint-dark)}.work-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;align-items:end;margin-bottom:75px}.work-intro h2{font:800 clamp(3rem,6vw,6.6rem)/.95 var(--display);margin:0}.work-intro h2 em{font-style:normal;color:var(--mint-dark)}.work-intro p{font-size:1.2rem;max-width:560px;margin:0}.project-reel{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project{position:relative;background:#fff;border:1px solid rgba(5,7,6,.14);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}.project:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(5,30,17,.13)}.project-wide{grid-column:1/-1;display:grid;grid-template-columns:1.45fr .55fr}.project-media{min-height:540px;overflow:hidden}.project-media img,.compare>img,.compare-after img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.project:hover .project-media img{transform:scale(1.035)}.project-info{padding:36px;display:flex;flex-direction:column;justify-content:flex-end}.project-info>span{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--mint-dark)}.project-info h3{font:800 clamp(1.8rem,3vw,3.5rem)/1 var(--display);margin:22px 0 28px}.project-info p{font-size:.8rem;text-transform:uppercase;font-weight:700;color:#647069;margin:0}.device-stage{min-height:480px;padding:55px 38px;background:#07110c;display:grid;place-items:center;overflow:hidden}.device-frame{width:min(100%,520px);padding:10px 10px 24px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#111;box-shadow:0 35px 80px rgba(0,0,0,.42);transform:perspective(900px) rotateX(3deg) rotateY(-7deg);transition:transform .7s var(--ease)}.project:hover .device-frame{transform:perspective(900px) rotateX(0) rotateY(0) translateY(-8px)}.device-frame:before{content:"";display:block;width:7px;height:7px;background:#56615b;border-radius:50%;margin:0 auto 8px}.device-frame img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:3px}.compare{position:relative;height:480px;overflow:hidden;--split:54%}.compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split))}.compare-handle{position:absolute;z-index:3;left:var(--split);top:0;bottom:0;width:3px;padding:0;border:0;background:#fff;color:#062616;cursor:ew-resize;transform:translateX(-50%)}.compare-handle span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--mint);transform:translate(-50%,-50%);font-size:1.1rem;box-shadow:0 8px 24px rgba(0,0,0,.24)}

.image-mask{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease)}.image-mask.is-revealed{clip-path:inset(0)}.service div small{display:block;margin-top:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mint);opacity:.78;transition:.3s}.service:hover div small{color:#0a3b23}.service .detail b{display:block;max-height:0;margin-top:0;overflow:hidden;font-size:.73rem;font-weight:700;color:#0f5131;opacity:0;transition:max-height .45s var(--ease),margin .45s,opacity .4s}.service:hover .detail b,.service:focus-within .detail b{max-height:40px;margin-top:9px;opacity:1}.service-spotlight{transition:opacity .25s,transform .5s var(--ease)}.experience-photo img{transition:transform 1.1s var(--ease)}
.service-jump{display:flex;gap:8px;margin:0 0 24px;padding-bottom:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--mint) transparent}.service-jump button{flex:0 0 auto;min-height:45px;padding:0 15px;border:1px solid rgba(255,255,255,.16);background:transparent;color:rgba(255,255,255,.7);font:600 .72rem/1 var(--body);cursor:pointer;transition:.3s}.service-jump button span{margin-right:8px;color:var(--mint)}.service-jump button:hover,.service-jump button:focus-visible{background:var(--mint);border-color:var(--mint);color:#062616}.service-jump button:hover span{color:#062616}.service .number{transition:transform .45s var(--ease),opacity .35s}.service:hover .number{transform:translateY(-6px) scale(1.08)}
.ticker-track.is-reverse{animation-direction:reverse}.mobile-quote{display:none}.scroll-cue.is-hidden{opacity:0;pointer-events:none}.velocity-text{will-change:transform}.contact-orbit{transition:transform .35s ease-out}
body{transition:opacity .35s ease}body.is-leaving{opacity:.08}.work .reveal{transform:translateY(55px) scale(.985)}.work .reveal.is-visible{transform:none}.possibilities .reveal{transform:translateX(-34px)}.possibilities .reveal.is-visible{transform:none}.why .reveal{transform:translateY(25px) rotateX(4deg)}.why .reveal.is-visible{transform:none}.contact .reveal{transform:scale(.94)}.contact .reveal.is-visible{transform:none}

@media (max-width:980px){.hero-scenes{right:22px}.work-intro{grid-template-columns:1fr;gap:28px}.project-wide{grid-template-columns:1fr}.project-media{min-height:430px}.project-reel{grid-template-columns:1fr}.project-wide{grid-column:auto}.device-stage,.compare{min-height:420px;height:420px}.image-mask{clip-path:none}.project:hover{transform:none}}
@media (max-width:640px){.hero-scenes{top:auto;bottom:34px;right:22px;display:flex}.hero-scenes button.is-active{width:30px;height:9px}.hero-location{font-size:.67rem}.work{padding-left:0;padding-right:0}.work>.section-label,.work-intro{margin-left:22px;margin-right:22px}.project-reel{gap:10px}.project{border-left:0;border-right:0}.project-media{min-height:320px}.project-info{padding:26px 22px 34px}.project-info h3{font-size:2rem;margin:15px 0 20px}.device-stage{min-height:330px;padding:40px 22px}.compare{height:350px;min-height:350px}.service div small{font-size:.62rem}.service .detail b{display:none}.mobile-quote{position:fixed;z-index:79;left:50%;bottom:13px;display:flex;align-items:center;justify-content:space-between;width:calc(100% - 86px);min-height:48px;padding:0 18px;background:var(--mint);color:#062616;font-weight:800;box-shadow:0 12px 34px rgba(0,0,0,.3);transform:translate(-50%,90px);transition:transform .45s var(--ease)}.mobile-quote.is-visible{transform:translate(-50%,0)}.back-top{bottom:70px}.site-header nav{gap:24px}}
.image-mask{clip-path:inset(0 0 6% 0);opacity:.82;transition:clip-path 1s var(--ease),opacity .8s var(--ease)}.image-mask.is-revealed{clip-path:inset(0);opacity:1}
@media (prefers-reduced-motion:reduce){.hero-scene{transition:none!important}.image-mask{clip-path:none;opacity:1}.project,.device-frame{transform:none!important}}
.project-media picture,.device-frame picture,.experience-photo picture{display:block;width:100%;height:100%}
