:root{color-scheme:dark;--bg: #0b0b0d;--surface: #16161a;--line: #26262a;--line-strong: #3a3a3f;--fg: #edebe6;--fg-2: #c9c7c2;--muted: #a3a19c;--accent: #c8f560;--on-accent: #0b0b0d;--display: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;--body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--gutter: max(clamp(16px, 4vw, 40px), env(safe-area-inset-left, 0px));--gutter-r: max(clamp(16px, 4vw, 40px), env(safe-area-inset-right, 0px));--radius: 6px;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}a:hover{color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3{text-wrap:balance}p{margin:0}button{font:inherit}.wrap{max-width:1360px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}.muted{color:var(--muted)}.accent{color:var(--accent)}.wordmark{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em}.stage{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.site{position:relative;z-index:1}.stage-embedded{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}.loader{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;justify-content:space-between;padding:max(28px,env(safe-area-inset-top,0px)) var(--gutter-r) max(40px,env(safe-area-inset-bottom,0px)) var(--gutter);transition:opacity .6s var(--ease),visibility .6s}.loader.is-leaving{opacity:0;visibility:hidden}.loader-top,.loader-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}.loader-bottom{align-items:flex-end}.loader-count{font-family:var(--display);font-weight:700;font-size:clamp(96px,17vw,220px);line-height:.8;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.loader-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line)}.loader-bar span{display:block;height:100%;background:var(--accent);transform-origin:left}.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-block:24px}.nav-brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-height:44px}.nav-mark{color:var(--fg);transition:color .3s,transform .5s var(--ease)}.nav-brand:hover .nav-mark{color:var(--accent);transform:rotate(-8deg)}.loader-brand{display:inline-flex;align-items:center;gap:12px}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;font-size:15px}.nav-links>a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.pill{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid var(--line-strong);border-radius:999px;color:var(--fg-2);text-decoration:none}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:ping 2.4s var(--ease) infinite}@keyframes ping{0%{box-shadow:0 0 #c8f56080}70%,to{box-shadow:0 0 0 8px #c8f56000}}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .4s var(--ease),background .3s,border-color .3s}.btn svg{transition:transform .4s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{color:var(--on-accent);transform:translateY(-2px)}.btn-ghost{border:1px solid var(--line-strong)}.btn-ghost:hover{border-color:var(--fg)}.btn-link{padding:0 8px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line-strong)}.btn{border:0;cursor:pointer;font-family:inherit}.contact-email{font-family:var(--display);font-weight:500;font-size:clamp(26px,3.4vw,48px);letter-spacing:-.02em;color:var(--accent);text-decoration:none;overflow-wrap:anywhere}.contact-email:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.btn-lg{min-height:64px;padding:0 32px;font-family:var(--display);font-size:20px}.hero{position:relative;min-height:clamp(640px,88vh,860px);display:flex;flex-direction:column;justify-content:flex-end}.hero-visual{position:absolute;top:0;right:var(--gutter-r);width:min(640px,50vw);aspect-ratio:1;max-width:100%;color:var(--fg)}.sphere-fallback{width:100%;height:100%}.gl .sphere-fallback{display:none}.hero-copy{position:relative;display:flex;flex-direction:column;gap:28px;padding-bottom:48px}.hero-title{margin:0;max-width:1000px;font-family:var(--display);font-weight:700;font-size:clamp(52px,8.4vw,136px);line-height:.92;letter-spacing:-.045em}.hero-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}.lede{max-width:46ch;font-size:18px;color:var(--fg-2)}.hero-foot{display:flex;justify-content:space-between;gap:16px;padding-block:18px;border-top:1px solid var(--line)}.section{padding-block:clamp(80px,10vw,140px) 0}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px}.h2{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(40px,5vw,72px);letter-spacing:-.035em;line-height:1}.h2 sup{font-size:16px;font-weight:400;vertical-align:super}.h3{margin:0;font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.02em}.work-grid{display:flex;flex-wrap:wrap;gap:40px 32px}.card{display:flex;flex-direction:column;gap:16px;text-decoration:none;min-width:0}.card-0,.card-3{flex:1 1 640px}.card-1,.card-2{flex:1 1 420px}.card-media{position:relative;height:clamp(300px,40vw,560px)}.card-2 .card-media,.card-3 .card-media{height:clamp(280px,33vw,460px)}.card-media .gl-img{position:absolute;inset:0}.badge{position:absolute;top:16px;left:16px;padding:6px 10px;border-radius:999px;background:var(--bg);color:var(--fg);pointer-events:none}.card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px}.card-title{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;transition:color .3s}.card:hover .card-title{color:var(--accent)}.gl-img{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface)}.gl-img img{width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease),transform 1s var(--ease)}.gl-img.is-live{background:transparent}.gl-img.is-live img{opacity:0}html:not(.gl) .card:hover .gl-img img{transform:scale(1.05)}.caps{display:flex;flex-wrap:wrap;gap:48px}.caps-head{flex:1 1 300px;display:flex;flex-direction:column;gap:16px}.caps-list{flex:999 1 600px;min-width:0;list-style:none;margin:0;padding:0}.caps-list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-block:26px;border-top:1px solid var(--line);transition:padding .4s var(--ease)}.caps-list li:hover{padding-left:12px}.caps-num{width:40px}.caps-name{flex:1 1 260px}.caps-desc{flex:0 1 280px}.caps-name{font-family:var(--display);font-weight:500;font-size:clamp(26px,3vw,40px);letter-spacing:-.025em}.clients{margin-top:clamp(80px,10vw,140px);border-block:1px solid var(--line)}.clients-inner{display:flex;align-items:center;gap:32px;padding-block:32px}.clients-label{flex:0 0 auto}.clients-viewport{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.clients-track{display:flex;width:max-content;animation:marquee 34s linear infinite;will-change:transform}.clients:hover .clients-track{animation-play-state:paused}.client{display:inline-flex;align-items:center;gap:40px;padding-right:40px;font-family:var(--display);font-weight:500;font-size:clamp(24px,3vw,40px);letter-spacing:-.03em;color:var(--fg-2);white-space:nowrap}.band-dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}@keyframes marquee{to{transform:translate(-50%)}}.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}@media (max-width: 720px){.clients-inner{flex-direction:column;align-items:flex-start;gap:16px}.clients-viewport{width:100%}}.about{display:flex;flex-wrap:wrap;align-items:flex-end;gap:56px}.about-img{flex:1 1 320px;max-width:440px;aspect-ratio:4 / 5}.about-copy{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:28px}.about-body{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.7vw,38px);line-height:1.22;letter-spacing:-.02em;max-width:30ch}.contact{display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding-bottom:clamp(80px,10vw,140px)}.contact-title{margin:0;max-width:14ch;font-family:var(--display);font-weight:700;font-size:clamp(48px,7.5vw,120px);line-height:.95;letter-spacing:-.045em}.case-head{display:flex;flex-direction:column;gap:20px;padding-block:40px 40px}.back{display:inline-flex;align-items:center;gap:10px;min-height:44px;width:fit-content;text-decoration:none;font-size:15px}.case-title{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(56px,9vw,160px);line-height:.9;letter-spacing:-.05em}.layers-stage{position:relative;height:clamp(380px,50vw,680px);border:1px solid var(--line);border-radius:var(--radius);background:#16161a99;overflow:hidden}.layers-fallback{width:100%;height:100%;object-fit:cover}.gl .layers-fallback{display:none}.gl .layers-stage{background:transparent}.layers-hint{position:absolute;bottom:18px}.layers-hint-l{left:20px}.layers-hint-r{right:20px;text-align:right}.case-meta{display:flex;flex-wrap:wrap;padding-block:56px}.case-meta>div{flex:1 1 220px;display:flex;flex-direction:column;gap:8px;padding:20px 16px 20px 0;border-top:1px solid var(--line);font-size:17px}.case-text{padding-bottom:72px}.case-text p{max-width:34ch;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,34px);line-height:1.3;letter-spacing:-.02em;color:var(--fg)}.case-gallery{columns:2 340px;column-gap:32px}.case-gallery .g-item{break-inside:avoid;margin-bottom:32px;width:100%;max-width:100%}.palette{display:flex;flex-wrap:wrap;gap:16px;padding-top:32px}.swatch{flex:1 1 180px;height:180px;border-radius:var(--radius);border:1px solid var(--line);padding:18px;display:flex;align-items:flex-end}.next{padding-block:clamp(100px,12vw,160px) 80px}.next-link{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-top:32px;border-top:1px solid var(--line);text-decoration:none}.next-copy{display:flex;flex-direction:column;gap:16px}.next-title{font-family:var(--display);font-weight:700;font-size:clamp(48px,7vw,112px);line-height:.95;letter-spacing:-.045em}.next-btn{width:96px;height:96px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;transition:transform .5s var(--ease)}.next-btn svg{width:30px;height:30px}.next-link:hover .next-btn{transform:scale(1.12) rotate(-45deg)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:28px max(28px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}.footer a{min-height:24px}.wipe{position:fixed;inset:0;z-index:60;background:var(--accent);pointer-events:none;transform:translateY(100%)}.wipe-in{transform:translateY(0);transition:transform .65s cubic-bezier(.7,0,.2,1)}.wipe-out{transform:translateY(-100%);transition:transform .65s cubic-bezier(.7,0,.2,1)}@media (max-width: 720px){.nav-sub,.pill{display:none}.nav-links{gap:4px 16px}.hero{min-height:0;justify-content:flex-start}.hero-visual{position:relative;right:auto;width:min(420px,100%);margin:8px auto 0}.hero-copy{padding-top:8px}.hero-foot span:first-child{max-width:60%}.layers-hint-r{display:none}.about-img{max-width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
