:root{--bg:#000;--fg:#ededed;--muted:#8c8c8c;--line:#1f1f1f;--line-strong:#333;--panel:#0c0c0c;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,h4,p,dl,dd,ul,ol{margin:0}:focus-visible{outline-offset:3px;outline:1px solid #fff}::selection{color:#000;background:#fff}.wrap{width:min(1160px,100% - 48px);margin-inline:auto}.mono{font-family:var(--mono);letter-spacing:0;font-size:13px}.muted{color:var(--muted)}.small{font-size:14px}.btn{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;height:44px;padding:0 20px;font-size:15px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{color:#000;background:#fff}.btn-primary:hover{background:#d4d4d4}.btn-ghost{border-color:var(--line-strong)}.btn-ghost:hover{border-color:#fff}.btn-sm{height:34px;padding:0 14px;font-size:14px}.btn-lg{height:52px;padding:0 26px;font-size:16px}.link{border-bottom:1px solid var(--line-strong);align-items:center;gap:6px;padding-bottom:2px;transition:border-color .15s;display:inline-flex}.link:hover{border-color:#fff}.nav{z-index:10;border-bottom:1px solid var(--line);background:#000000eb;position:sticky;top:0}.nav-inner{align-items:center;gap:28px;height:60px;display:flex}.logo{letter-spacing:-.01em;font-weight:600}.nav-links{color:var(--muted);gap:24px;margin-left:auto;font-size:14px;display:flex}.nav-links a:hover{color:var(--fg)}.lang{font-family:var(--mono);font-size:12px;display:flex}.lang button{color:var(--muted);padding:4px 6px}.lang button.on{color:var(--fg);text-underline-offset:4px;text-decoration:underline}.hero{isolation:isolate;padding:120px 0 0;position:relative}.hero-bg{z-index:-1;pointer-events:none;width:100vw;animation:1.2s both hero-bg-in;position:absolute;top:0;bottom:0;left:50%;translate:-50%;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.hero-bg:after{content:"";background:radial-gradient(70% 60% at 30% 40%,#0000008c,#0000 75%);position:absolute;inset:0}@keyframes hero-bg-in{0%{opacity:0}}.hero-tag{align-items:center;gap:10px;margin-bottom:32px;display:flex}.dot{background:#3fb950;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3fb9502e}.hero h1{letter-spacing:-.035em;max-width:980px;font-size:clamp(32px,5.2vw,60px);font-weight:600;line-height:1.08}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:44px;display:flex}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:96px;display:grid}.facts>div{padding:24px 24px 0 0}.facts>div+div{border-left:1px solid var(--line);padding-left:24px}.facts dt{letter-spacing:-.03em;font-size:28px;font-weight:600}.facts dd{color:var(--muted);margin-top:4px;font-size:14px}.facts dt{font-variant-numeric:tabular-nums}.facts .mono-dt{font-family:var(--mono);letter-spacing:-.02em;white-space:nowrap;font-size:24px;font-weight:500}.facts{border-top-color:#0000;position:relative}.facts:before{content:"";background:var(--line-strong);transform-origin:0;height:1px;transition:transform 1.4s cubic-bezier(.22,1,.36,1);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.facts.seen:before{transform:none}.fact-more{color:#5c5c5c;opacity:0;margin:14px 0 0;font-size:11.5px;line-height:1.6;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1),color .2s;transform:translateY(6px)}.facts.seen .fact-more{opacity:1;transition-delay:1.2s;transform:none}.fact-more span{cursor:default;transition:color .2s}.fact-more span.on{color:var(--fg)}.loc-bar{gap:2px;height:4px;margin-top:14px;display:flex}.loc-bar i{transform-origin:0;background:#3a3a3a;border-radius:1px;flex-basis:0;transition:transform .8s cubic-bezier(.22,1,.36,1),background .2s;transform:scaleX(0)}.facts.seen .loc-bar i{transform:none}.loc-bar i:first-child{background:#8c8c8c}.loc-bar i.on{background:#fff}.fact-loc .fact-more{margin-top:10px}.section{padding-top:140px}.section-head{border-bottom:1px solid var(--line);align-items:baseline;gap:20px;padding-bottom:20px;display:flex}.section-head h2{letter-spacing:-.03em;font-size:clamp(26px,3.4vw,36px);font-weight:600}.cut-lines .section-head{--h:clamp(0, (var(--p,0) - .35) / .65, 1);border-bottom-color:#0000;position:relative}.cut-lines .section-head:after{content:"";background:linear-gradient(90deg, transparent, var(--line-strong) 12%, var(--line-strong) 88%, transparent);width:100vw;height:1px;transform:scaleX(var(--p,0));transform-origin:0;pointer-events:none;position:absolute;bottom:-1px;left:calc(50% - 50vw)}.cut-lines .section-head:before{content:"";left:calc(50% - 50vw + var(--p,0) * 100vw);filter:blur(.5px);width:90px;height:5px;opacity:calc(1 - var(--p,0));pointer-events:none;background:radial-gradient(closest-side at 92%,#fff,#ffffff80 30%,#0000);margin-left:-90px;position:absolute;bottom:-3px}.cut-lines .section-head h2{clip-path:inset(-10% -10% 0);transform:translateY(calc((1 - var(--h)) * 105%));opacity:calc(.2 + var(--h) * .8)}body{overflow-x:clip}.work{border-bottom:1px solid var(--line);grid-template-columns:7fr 5fr;align-items:start;gap:48px;padding:56px 0;display:grid}.work-head{flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.work-head h3{letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1.15}.shot-main,.shot-row button{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;transition:border-color .15s;display:block;overflow:hidden}.shot-main:hover,.shot-row button:hover{border-color:#fff}.shot-main img{aspect-ratio:16/10;object-fit:cover;object-position:top left;width:100%}.shot-row{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.shot-row button{position:relative}.shot-row img{aspect-ratio:16/10;object-fit:cover;object-position:top left;width:100%}.more{color:#fff;background:#000000b3;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.tagline{letter-spacing:-.015em;font-size:19px;font-weight:500;line-height:1.4}.about-p{margin-top:12px;font-size:15px}.work-text h4{text-transform:uppercase;letter-spacing:.06em;margin:26px 0 10px;font-size:12px;font-weight:500}.eng{border-top:1px solid var(--line);padding:0;list-style:none}.eng li{border-bottom:1px solid var(--line);padding:9px 0 9px 20px;font-size:14.5px;line-height:1.5;position:relative}.eng li:before{content:"—";color:var(--muted);position:absolute;left:0}.stack{color:var(--fg);margin-top:20px;line-height:1.7}.langs{margin-top:12px}.lang-bar{gap:3px;height:8px;display:flex}.lang-bar span{border-radius:3px;min-width:4px}.lang-legend{flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding:0;font-size:12px;list-style:none;display:flex}.lang-legend li{align-items:center;gap:7px;display:flex}.lang-legend i{border-radius:3px;width:10px;height:10px}.work-links{gap:20px;margin-top:26px;font-size:15px;display:flex}picture{display:contents}.work.vfx{grid-template-columns:8fr 4fr}.vfx-frame{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;position:relative;overflow:hidden}.vfx-frame video{object-fit:cover;width:100%;height:100%;display:block}.vfx-sound{border:1px solid var(--line-strong);color:#fff;background:#000000b8;border-radius:8px;align-items:center;gap:8px;height:32px;padding:0 12px;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex;position:absolute;bottom:12px;left:12px}.vfx-sound:hover{border-color:#fff}.vfx-sound[aria-pressed=true]{color:#000;background:#fff;border-color:#fff}.vfx .stack{margin-top:22px}.section-lead{max-width:620px;margin-top:8px;font-size:15px}.section>.section-lead,.sites-lead{margin:16px 0 0}@property --glow{syntax:"<color>";inherits:true;initial-value:#333}.flow{--card:min(560px, 70vw);--step:calc(var(--card) * .34);--ease:cubic-bezier(.22, 1, .36, 1);outline:none;padding-top:40px;transition:--glow 1.2s;position:relative}.flow-stage{height:calc(var(--card) * .625 + 48px);perspective:1600px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;margin-inline:calc(50% - 50vw);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.flow-stage.dragging{cursor:grabbing}.flow-stage:before{content:"";width:calc(var(--card) * 1.3);height:calc(var(--card) * .7);background:radial-gradient(closest-side, color-mix(in srgb, var(--glow) 34%, transparent), transparent);filter:blur(30px);opacity:.55;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-45%)}.flow-card{width:var(--card);aspect-ratio:16/10;border:1px solid var(--line-strong);z-index:calc(100 - var(--a) * 10);transform:translateX(calc(-50% + var(--d) * var(--step))) translateZ(calc(var(--a) * -240px)) rotateY(calc(clamp(-1, var(--d), 1) * -40deg));filter:brightness(calc(1 - min(var(--a), 3) * .22));transition:transform .9s var(--ease), filter .9s var(--ease), opacity .6s ease, border-color .2s;will-change:transform;background:#000;border-radius:10px;position:absolute;top:16px;left:50%;box-shadow:0 30px 60px #000000b3}.flow-card.far{opacity:0;pointer-events:none}.dragging .flow-card{transition:border-color .2s}.flow-card>img{object-fit:cover;object-position:top;pointer-events:none;border-radius:9px;width:100%;height:100%}.flow-card.on:hover{border-color:#fff}.flow-phone{aspect-ratio:390/844;border:1px solid var(--line-strong);opacity:0;width:22%;transition:opacity .35s ease, transform .5s var(--ease);pointer-events:none;background:#000;border-radius:13px;padding:3px;position:absolute;bottom:-14px;right:14px;transform:translateY(24px)scale(.92);box-shadow:0 16px 32px #0009}.flow-card.on .flow-phone{opacity:1;transition-delay:.3s;transform:none}.dragging .flow-card.on .flow-phone{opacity:0;transition-delay:0s}.flow-card.on:hover .flow-phone{transition-delay:0s;transform:translateY(-6px)}.flow-phone img{object-fit:cover;object-position:top;border-radius:10px;width:100%;height:100%}.flow-info{text-align:center;max-width:560px;animation:flow-in .7s var(--ease) both;margin:26px auto 0}.flow-info .site-title{align-items:center}@keyframes flow-in{0%{opacity:0;transform:translateY(6px)}}.flow-nav .lb-btn:disabled{opacity:.3;cursor:default;border-color:var(--line-strong)}.flow-dots button{width:7px;height:7px;transition:background .4s, width .5s var(--ease);background:#333;border-radius:4px;padding:0}.flow-dots button:hover{background:#666}.flow-dots button.on{background:#fff;width:22px}@media (prefers-reduced-motion:reduce){.flow-card,.flow-phone,.flow-info{transition:none;animation:none}}.site-title{align-items:center}.flow-info .site-meta,.flow-info .work-links{justify-content:center}.flow-info .work-links{margin-top:18px;font-size:14px}.flow-nav{justify-content:center;align-items:center;gap:18px;margin-top:28px;display:flex}.flow-nav>button{border:1px solid var(--line-strong);border-radius:50%;width:42px;height:42px;transition:border-color .15s,opacity .15s}.flow-nav>button:hover:not(:disabled){border-color:#fff}.flow-nav>button:disabled{opacity:.3;cursor:default}.flow-dots{gap:8px;display:flex}.flow-dots button{background:#333;border-radius:50%;width:7px;height:7px;padding:0;transition:background .2s,width .2s}.flow-dots button.on{background:#fff;border-radius:4px;width:22px}.site-title{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.site-title h3{letter-spacing:-.02em;font-size:22px;font-weight:600}.flow-info>.muted{font-size:14.5px}.site-meta{align-items:center;gap:12px;margin-top:14px;font-size:12px;display:flex}.swatches{gap:4px;display:flex}.swatches i{border:1px solid var(--line-strong);border-radius:3px;width:14px;height:14px}.work-pin{margin-top:140px;position:relative}.work-sticky{flex-direction:column;height:calc(100vh - 60px);display:flex;position:sticky;top:60px;overflow:hidden}.work-bar{grid-template-columns:auto 1fr;align-items:center;gap:12px 32px;padding-top:28px;display:grid}.work-bar h2{letter-spacing:-.03em;font-size:clamp(26px,3.4vw,36px);font-weight:600}.work-tabs{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.work-tabs button{color:var(--muted);border-radius:999px;padding:6px 12px;font-size:14px;transition:color .2s,background .2s}.work-tabs button:hover{color:var(--fg)}.work-tabs button.on{color:#000;background:#fff}.work-progress{background:var(--line);grid-column:1/-1;height:1px}.work-progress>div{transform-origin:0;background:#fff;height:100%;transform:scaleX(0)}.work-viewport{flex:1;min-height:0;overflow:visible}.work-sticky{--slide-gap:96px}.work-track{gap:var(--slide-gap);will-change:transform;backface-visibility:hidden;height:100%;display:flex}.work-slide img{transform:translateZ(0)}.work-slide{will-change:opacity;flex:0 0 100%;min-width:0}.work-slide .work{border-bottom:0;padding:28px 0 0}.work-slide .shot-main img{max-height:max(220px,100vh - 430px)}@media (height<=820px){.work-slide .about-p{display:none}.work-slide .work-text h4{margin-top:20px}}.services{padding:0;list-style:none}.service{border-bottom:1px solid var(--line);grid-template-columns:3fr 5fr 4fr;align-items:baseline;gap:32px;padding:28px 0;transition:padding .15s;display:grid}.service:hover{padding-left:8px}.service h3{letter-spacing:-.02em;font-size:22px;font-weight:600}.service p{font-size:15px}.service-stack{color:var(--fg);flex-wrap:wrap;justify-content:flex-end;gap:4px 0;font-size:12px;display:flex}.service-stack span{white-space:nowrap}.service-stack span:not(:last-child):after{content:"/";color:var(--muted);margin:0 8px}.process{padding-top:56px}.process h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:28px;font-size:12px;font-weight:500}.timeline{grid-template-columns:repeat(4,1fr);gap:24px;padding:0;list-style:none;display:grid}.timeline li{flex-direction:column;gap:4px;padding-top:28px;font-size:14px;line-height:1.45;display:flex;position:relative}.timeline li:before{content:"";background:var(--line-strong);height:1px;position:absolute;top:6px;left:14px;right:-24px}.timeline li:last-child:before{display:none}.timeline .node{background:#000;border:1px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;top:0;left:0}.timeline li:last-child .node{background:#fff}.timeline strong{font-size:16px;font-weight:600}.pricing{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:24px;display:flex}.pricing p{max-width:640px;font-size:15px}.about{grid-template-columns:7fr 5fr;gap:48px;padding-top:40px;display:grid}.about-text p{letter-spacing:-.01em;font-size:19px;line-height:1.55}.about-text p+p{margin-top:20px;font-size:16px}.spec{border-top:1px solid var(--line)}.spec>div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:16px;padding:12px 0;font-size:15px;display:grid}.spec dt{color:var(--muted);padding-top:2px}.contact{padding-top:160px}.contact h2{letter-spacing:-.035em;max-width:760px;margin-bottom:36px;font-size:clamp(30px,4.6vw,52px);font-weight:600;line-height:1.1}.contact-list{border-top:1px solid var(--line);margin-top:64px;padding:0;list-style:none}.contact-list a{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:16px;padding:18px 0;font-size:18px;transition:padding .15s;display:grid}.contact-list a:hover{padding-left:8px}.footer{justify-content:space-between;padding:64px 0 40px;display:flex}.footer a:hover{color:var(--fg)}.lightbox{z-index:50;background:#000;grid-template-rows:auto 1fr auto;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.lb-top{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:14px 24px;display:flex}.lb-top .lb-btn{margin-left:auto}.lb-btn{border:1px solid var(--line-strong);background:#000;border-radius:8px;place-items:center;width:40px;height:40px;transition:border-color .15s;display:grid}.lb-btn:hover{border-color:#fff}.lb-stage{place-items:center;min-height:0;padding:24px 80px;display:grid;position:relative}.lb-stage img{object-fit:contain;border:1px solid var(--line);border-radius:6px;max-width:100%;max-height:100%}.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%)}.lb-prev{left:24px}.lb-next{right:24px}.lb-bottom{text-align:center;padding:0 24px 20px}.lb-bottom p{margin-bottom:14px;font-size:15px}.lb-thumbs{justify-content:center;gap:6px;display:flex;overflow-x:auto}.lb-thumbs button{border:1px solid var(--line);opacity:.4;border-radius:4px;flex:0 0 72px;transition:opacity .15s;overflow:hidden}.lb-thumbs button:hover{opacity:.8}.lb-thumbs button.on{opacity:1;border-color:#fff}.lb-thumbs img{aspect-ratio:16/10;object-fit:cover;object-position:top left;width:100%}@media (width<=960px){.work,.work.vfx,.about{grid-template-columns:1fr;gap:32px}.work-text{order:-1}.facts{grid-template-columns:1fr 1fr}.facts>div:nth-child(3){border-left:0;padding-left:0}.service{grid-template-columns:1fr 1fr}.service-stack{grid-column:2;justify-content:flex-start}.timeline{grid-template-columns:1fr 1fr;row-gap:32px}.timeline li:nth-child(2):before{display:none}}@media (width<=640px){.wrap{width:calc(100% - 32px)}.nav-links{display:none}.lang{margin-left:auto}.hero{padding-top:72px}.facts{margin-top:64px}.facts dt{font-size:22px}.facts>div{padding-right:12px}.facts>div+div{padding-left:12px}.section{padding-top:96px}.service{grid-template-columns:1fr;gap:8px;padding:22px 0}.service:hover{padding-left:0}.service-stack{grid-column:auto;justify-content:flex-start;margin-top:4px}.process{padding-top:40px}.timeline{grid-template-columns:1fr;gap:0}.timeline li{padding:0 0 24px 30px}.timeline li:before,.timeline li:nth-child(2):before{width:1px;height:auto;display:block;inset:14px auto 0 6px}.timeline li:last-child:before{display:none}.timeline li:last-child{padding-bottom:0}.pricing{flex-direction:column;align-items:flex-start}.spec>div{grid-template-columns:100px 1fr}.contact{padding-top:112px}.flow{--card:82vw;--step:30vw}.contact-list a{grid-template-columns:1fr auto;font-size:16px}.contact-list a .mono{display:none}.lb-stage{padding:16px}.lb-prev,.lb-next{display:none}.lb-thumbs{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lightbox{animation:none}}
