@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--paper:#f2f1ed;--ink:#191918;--muted:#74746e;--line:#d8d7d0;--accent:#614bff;--pad:4.5vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}button{color:inherit}::selection{background:#d0c7ff}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.header{height:108px;padding:0 var(--pad);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:36px;font-weight:800;letter-spacing:-2px}.brand span{color:var(--accent)}.header nav{display:flex;align-items:center;gap:42px;font-size:14px;font-weight:600}.header nav sup{font-size:10px;color:var(--muted);padding-left:4px}.nav-contact{border:1px solid var(--ink);padding:14px 20px;border-radius:30px}.nav-contact span{margin-left:20px}.nav-contact:hover{background:var(--ink);color:var(--paper)}.hero{padding:60px var(--pad) 64px}.hero-kicker{display:flex;align-items:center;gap:10px;font-size:13px}.dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.hero-role{color:var(--muted);margin-left:14px}.hero h1{font-size:clamp(50px,7.7vw,122px);font-weight:600;line-height:1.05;letter-spacing:-.066em;margin-top:54px}.hero h1>span{color:var(--accent)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;margin-top:44px;gap:24px}.hero-bottom p{font-size:17px;line-height:1.7}.hero-scroll{justify-self:center;display:flex;align-items:center;gap:22px;font-size:14px}.hero-scroll span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:48px;height:48px}.hero-mark{font-size:114px;color:var(--accent);line-height:1;transform:rotate(12deg)}.work{padding:42px var(--pad) 90px;scroll-margin-top:15px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.section-top h2{font-size:26px;font-weight:600;letter-spacing:-1px}.section-top h2>span{font-size:12px;color:var(--muted);letter-spacing:0;margin-left:16px;font-weight:400}.filters{display:flex;padding:5px;border:1px solid var(--line);border-radius:32px;gap:4px}.filters button{border:0;background:transparent;padding:11px 19px;border-radius:24px;font-size:13px}.filters .active{background:var(--ink);color:#fff}.filters sup{font-size:9px;margin-left:6px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 26px}.project-card.featured{grid-column:1/-1}.project-card[hidden]{display:none}.card-stage,.case-stage{position:relative;background:var(--stage);overflow:hidden;isolation:isolate}.card-stage{height:430px;border-radius:5px;transition:transform .35s}.featured .card-stage{height:570px}.stage-name{position:absolute;font-size:clamp(50px,6vw,96px);font-weight:800;letter-spacing:-5px;white-space:nowrap;top:22px;left:28px;opacity:.13;z-index:-1}.stage-label{position:absolute;bottom:22px;left:25px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.browser-frame{position:absolute;background:#fff;padding-top:17px;overflow:hidden;border-radius:7px;box-shadow:0 24px 70px #18191d26;transition:transform .6s}.browser-frame:before{content:'● ● ●';position:absolute;top:3px;left:10px;font-size:7px;letter-spacing:1px;color:#bfbfbe}.browser-frame img{width:100%}.card-stage .browser-frame{width:87%;top:104px;left:7%;transform:rotate(-4deg)}.project-link:hover .browser-frame{transform:rotate(-2deg) translateY(-7px)}.phone{position:absolute;background:#202020;padding:7px;border-radius:28px;overflow:hidden;box-shadow:0 20px 45px #1113;border:1px solid #ffffff36}.phone img{border-radius:21px;width:100%}.stage-onekindexpress .browser-frame{width:74%;left:8%;top:118px;transform:rotate(-5deg)}.stage-onekindexpress .phone{width:19%;left:73%;top:110px;transform:rotate(9deg)}.stage-onekindexpress .stage-name{font-size:8vw;top:20px}.stage-kvazar{background:#242527}.stage-kvazar .stage-name,.stage-kvazar .stage-label{color:#fff}.stage-kvazar .browser-frame{top:85px;width:90%;left:5%;transform:rotate(4deg)}.stage-localkitchen .browser-frame{top:104px;transform:rotate(-3deg)}.stage-gamex .phone{width:31%;top:112px}.stage-gamex .phone-0{left:2%;transform:rotate(-11deg)}.stage-gamex .phone-1{left:35%;top:66px;transform:rotate(3deg)}.stage-gamex .phone-2{left:69%;transform:rotate(11deg)}.card-info{display:flex;justify-content:space-between;align-items:center;padding-top:19px;gap:15px}.card-info h3{display:inline;font-size:24px;letter-spacing:-.8px;font-weight:600}.project-number{font-size:12px;color:var(--muted);margin-right:12px}.card-info p{font-size:12px;color:var(--muted);margin:7px 0 0 40px}.round-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:22px;flex-shrink:0;transition:background .2s,color .2s}.project-link:hover .round-arrow{background:var(--accent);color:white;border-color:var(--accent)}.about{padding:90px var(--pad) 110px;display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:600}.about h2{font-size:clamp(56px,6.7vw,100px);font-weight:600;letter-spacing:-.06em;line-height:1.08;margin-top:28px}.about h2 span{color:var(--accent)}.about-copy{padding-top:38px}.lead{font-size:clamp(21px,2.2vw,32px);line-height:1.5;letter-spacing:-.8px}.about-copy>p+ p{font-size:16px;line-height:1.7;color:var(--muted);margin-top:27px;max-width:500px}.capabilities{margin-top:40px}.capabilities>div{border-top:1px solid var(--line);padding:21px 0;font-size:16px}.capabilities span{font-size:11px;color:var(--muted);margin-right:30px}.contact{background:var(--accent);color:#fff;padding:64px var(--pad) 60px}.contact-title{font-size:clamp(36px,6.3vw,95px);font-weight:600;letter-spacing:-.055em;display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:30px;line-height:1.15}.contact-title>span{font-size:1.25em}.contact-links{display:flex;gap:40px;margin-top:42px;font-size:14px}.contact-links a{border-bottom:1px solid #ffffff7a;padding-bottom:6px}footer{display:flex;justify-content:space-between;align-items:center;padding:28px var(--pad);gap:30px}footer>span,footer>a:last-child{font-size:11px;color:var(--muted)}.case-intro{padding:46px var(--pad) 60px}.back-link{font-size:12px;color:var(--muted)}.case-kicker{display:flex;gap:35px;font-size:11px;margin-top:68px}.case-kicker>span:first-child{color:var(--muted)}.case-intro h1{font-size:clamp(54px,9vw,145px);font-weight:600;letter-spacing:-.065em;line-height:1.12;margin:24px 0 38px}.case-intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px}.case-intro-bottom h2{font-size:27px;max-width:450px;font-weight:600;letter-spacing:-1px;line-height:1.35}.case-intro-bottom p{font-size:16px;line-height:1.7;color:var(--muted);max-width:550px}.case-stage{height:660px;margin:0 var(--pad);border-radius:5px}.case-stage .stage-name{font-size:9vw;top:15px}.case-stage .browser-frame{width:77%;left:12%;top:130px;transform:rotate(-3deg)}.case-stage.stage-onekindexpress .browser-frame{width:70%;left:8%;top:140px}.case-stage.stage-onekindexpress .phone{width:19%;left:73%;top:105px}.case-stage.stage-gamex .phone{width:22%;top:110px}.case-stage.stage-gamex .phone-0{left:14%;transform:rotate(-9deg)}.case-stage.stage-gamex .phone-1{left:40%;top:80px}.case-stage.stage-gamex .phone-2{left:66%;transform:rotate(9deg)}.case-context{padding:100px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:70px}.case-context h2{font-size:36px;font-weight:600;letter-spacing:-1.5px;margin-top:20px}.case-meta{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;border-top:1px solid var(--line);margin:36px 0 28px;padding-top:22px}.case-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.case-meta p{font-size:13px;margin-top:10px;line-height:1.5}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:4px}.decisions{padding:68px var(--pad) 80px;background:#e8e7e1}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.decision-number{font-size:13px;color:var(--accent);display:block;border-top:1px solid #c4c3bb;padding-top:22px}.decision-grid h3{font-size:22px;font-weight:600;letter-spacing:-.7px;margin:25px 0 18px;line-height:1.35}.decision-grid p{font-size:14px;line-height:1.8;color:#686861}.gallery{padding:80px var(--pad) 95px}.gallery-hint{font-size:11px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 26px;align-items:start}.gallery-item{margin:0;min-width:0}.gallery-item:first-child.desktop-item{grid-column:1/-1}.zoom-image{padding:0;border:0;display:block;position:relative;width:100%;background:#e5e4de;text-align:left;overflow:hidden;border-radius:4px}.gallery-image{padding:32px;max-height:560px;overflow:hidden}.gallery-image img{width:100%;box-shadow:0 6px 22px #0000000d}.gallery-item:first-child.desktop-item .gallery-image{max-height:660px;padding:5vw 10vw}.mobile-item .gallery-image{height:580px;display:flex;justify-content:center;align-items:flex-start;background:#e2e3e1}.mobile-item img{width:230px;max-width:85%;border-radius:16px}.zoom-icon{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;background:var(--paper);border-radius:50%;font-size:21px;box-shadow:0 3px 12px #0001}.zoom-image:hover .zoom-icon{background:var(--accent);color:#fff}.gallery-item figcaption{font-size:12px;margin-top:15px}.gallery-item figcaption span{color:var(--muted);margin-right:16px}.next-project{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:60px var(--pad);gap:30px}.next-project h2{font-size:clamp(30px,5vw,72px);letter-spacing:-.055em;font-weight:600;margin:14px 0}.next-project p{font-size:13px;color:var(--muted)}.next-project>span{font-size:70px;color:var(--accent)}.lightbox{border:0;padding:64px 5vw 24px;width:94vw;max-width:1500px;max-height:94vh;background:var(--paper);border-radius:8px}.lightbox::backdrop{background:#161618db;backdrop-filter:blur(6px)}.lightbox img{max-width:100%;margin:auto;box-shadow:0 0 22px #0001}.lightbox p{font-size:12px;padding-top:20px;text-align:center}.lightbox-close{position:fixed;top:5vh;right:5vw;border:0;border-radius:30px;background:var(--ink);color:#fff;padding:12px 20px;z-index:2;font-size:13px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1700px){body{--pad:max(5vw,calc((100vw - 1600px)/2))}.card-stage{height:510px}.featured .card-stage{height:660px}}
@media(max-width:900px){.header{height:88px}.header nav{gap:23px}.hero{padding-top:45px}.hero h1{font-size:8.3vw}.hero-role{display:none}.hero-bottom p{font-size:14px}.hero-mark{font-size:90px}.card-stage{height:330px}.featured .card-stage{height:460px}.stage-name{letter-spacing:-2px}.card-info h3{font-size:21px}.about{gap:35px;padding-top:65px}.case-intro-bottom,.case-context{gap:35px}.case-stage{height:520px}.decision-grid{gap:20px}.decision-grid h3{font-size:19px}.case-context{padding-top:70px;padding-bottom:70px}}
@media(max-width:600px){:root{--pad:6vw}.header{height:78px}.brand{font-size:30px}.header nav{gap:22px;font-size:12px}.header nav>a:nth-child(2){display:none}.nav-contact{padding:10px 13px}.nav-contact span{margin-left:8px}.hero{padding-top:38px;padding-bottom:40px}.hero-kicker{font-size:11px}.hero h1{font-size:10.2vw;letter-spacing:-.065em;margin-top:34px;line-height:1.15}.hero-bottom{grid-template-columns:1fr auto;margin-top:27px;gap:25px}.hero-bottom p{font-size:13px;line-height:1.65}.hero-scroll{grid-row:2;justify-self:start;font-size:12px;gap:16px}.hero-scroll span{width:35px;height:35px}.hero-mark{font-size:74px;grid-column:2;grid-row:1 / span 2;align-self:end}.work{padding-top:24px;padding-bottom:58px}.section-top{align-items:flex-start;gap:20px;flex-direction:column;margin-bottom:22px}.section-top h2{font-size:22px}.section-top h2>span{font-size:10px;margin-left:11px}.filters{align-self:flex-end;margin-top:-3px}.filters button{padding:8px 15px;font-size:11px}.project-grid{grid-template-columns:1fr;gap:33px}.featured{grid-column:auto}.card-stage,.featured .card-stage{height:330px}.stage-name{font-size:48px;top:23px;left:18px;letter-spacing:-2px}.stage-onekindexpress .stage-name{font-size:9vw}.card-stage .browser-frame{top:91px}.stage-onekindexpress .browser-frame{width:80%;left:3%;top:90px}.stage-onekindexpress .phone{width:24%;left:71%;top:105px;border-radius:20px;padding:5px}.phone img{border-radius:14px}.stage-label{bottom:16px;left:18px;font-size:8px}.stage-gamex .phone{width:31%;top:90px;border-radius:20px;padding:5px}.stage-gamex .phone-1{top:62px}.card-info{padding-top:15px}.card-info h3{font-size:22px}.card-info p{font-size:11px;margin-left:34px}.project-number{margin-right:8px;font-size:10px}.round-arrow{width:36px;height:36px;font-size:19px}.about{grid-template-columns:1fr;gap:22px;padding:50px var(--pad) 60px}.about h2{font-size:60px;margin-top:23px}.about-copy{padding-top:0}.lead{font-size:23px;letter-spacing:-.6px}.about-copy>p+p{font-size:14px;margin-top:20px}.capabilities{margin-top:27px}.capabilities>div{font-size:14px;padding:18px 0}.contact{padding-top:42px;padding-bottom:38px}.contact-title{font-size:10vw;gap:10px;margin-top:23px;align-items:flex-start}.contact-title>span{font-size:1em}.contact-links{flex-direction:column;align-items:flex-start;gap:20px;font-size:12px;margin-top:30px}footer{flex-wrap:wrap;gap:22px;padding-top:22px;padding-bottom:22px}footer>span{order:3;width:100%;font-size:10px}footer>a:last-child{margin-left:auto}.case-intro{padding-top:28px;padding-bottom:34px}.case-kicker{margin-top:40px;gap:20px;font-size:9px}.case-intro h1{font-size:12vw;margin:20px 0 28px;overflow-wrap:anywhere;line-height:1.15}.case-intro-bottom{grid-template-columns:1fr;gap:16px}.case-intro-bottom h2{font-size:24px;max-width:350px}.case-intro-bottom p{font-size:14px}.case-stage{height:340px}.case-stage .stage-name{font-size:9vw;top:22px}.case-stage .browser-frame{width:87%;left:7%;top:90px}.case-stage.stage-onekindexpress .browser-frame{width:80%;left:3%;top:90px}.case-stage.stage-onekindexpress .phone{width:24%;left:71%;top:105px;border-radius:20px;padding:5px}.case-stage.stage-gamex .phone{width:29%;top:88px;border-radius:20px;padding:5px}.case-stage.stage-gamex .phone-0{left:4%}.case-stage.stage-gamex .phone-1{left:35%;top:66px}.case-stage.stage-gamex .phone-2{left:67%}.case-context{grid-template-columns:1fr;gap:25px;padding:55px var(--pad)}.case-context h2{font-size:30px;margin-top:13px}.case-meta{margin-top:27px;gap:20px}.case-meta p{font-size:12px}.decisions{padding:45px var(--pad)}.decisions .section-top .eyebrow{display:none}.decision-grid{grid-template-columns:1fr;gap:26px}.decision-grid h3{font-size:21px;margin:18px 0 11px}.decision-grid p{font-size:13px}.gallery{padding-top:48px;padding-bottom:50px}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-hint{font-size:10px}.gallery-image{padding:18px;max-height:400px}.gallery-item:first-child.desktop-item .gallery-image{padding:22px;max-height:420px}.mobile-item .gallery-image{height:500px;padding:25px}.mobile-item img{width:220px}.next-project{padding:35px var(--pad)}.next-project h2{font-size:32px}.next-project p{font-size:10px}.next-project>span{font-size:43px}.lightbox{width:96vw;padding:68px 12px 20px}.lightbox-close{right:5vw;top:5vh}.contact .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.stage-label{display:none}@media(max-width:600px){.hero h1{font-size:9.6vw}.case-page:has(.stage-onekindexpress) .case-intro h1{font-size:9.4vw}}
/* Expanded collection */
.work-controls{display:flex;align-items:center;gap:14px}.search{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:10px;padding:11px 0}.search input{border:0;outline:0;background:none;font:inherit;font-size:12px;width:170px;color:var(--ink)}.search:focus-within{border-color:var(--accent)}.search>span:last-child{font-size:24px;color:var(--muted);line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.collection-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border-top:1px solid var(--line);padding-top:24px}.collection-heading h2{font-size:14px;font-weight:600;letter-spacing:0}.collection-heading>span{font-size:11px;color:var(--muted)}.collection{margin-top:76px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 22px}.collection-grid .card-stage{height:295px}.collection-grid .stage-name{font-size:45px;top:21px;left:21px;letter-spacing:-2px}.collection-grid .browser-frame{top:84px;left:6%;width:88%;transform:rotate(-3deg)}.collection-grid .card-info h3{font-size:19px;letter-spacing:-.6px}.collection-grid .card-info p{font-size:10px;line-height:1.6;margin-left:34px;max-width:270px}.collection-grid .project-number{font-size:10px;margin-right:8px}.collection-grid .round-arrow{width:35px;height:35px;font-size:18px}.collection-grid .card-info{align-items:flex-start}.stage-mobile .phone{width:40%;left:30%;top:64px;padding:5px;border-radius:23px;transform:rotate(-6deg)}.stage-mobile .phone img{border-radius:18px}.case-stage.stage-mobile .phone{width:23%;left:38.5%;top:80px;padding:8px;border-radius:30px}.case-stage.stage-mobile .phone img{border-radius:23px}.stage-mobile:after{content:'';position:absolute;width:60%;aspect-ratio:1;border:1px solid #ffffff50;border-radius:50%;left:20%;top:20%;z-index:-1}.no-results{padding:60px 0 20px;color:var(--muted);font-size:16px}.project-grid .stage-onekindexpress .stage-name{font-size:5vw}.project-grid .stage-onekindexpress .browser-frame{width:78%;left:3%;top:118px}.project-grid .stage-onekindexpress .phone{width:26%;left:70%;top:100px;padding:5px;border-radius:23px}
@media(max-width:1100px){.collection-grid{grid-template-columns:1fr 1fr}.collection-grid .card-stage{height:340px}.work-controls{gap:12px}.search input{width:130px}}
@media(max-width:600px){.work-controls{width:100%;justify-content:space-between;gap:10px;align-items:center}.work-controls .filters{align-self:center}.search{padding:10px 0;gap:5px}.search input{width:105px;font-size:10px}.search>span:last-child{font-size:20px}.work-controls .filters button{padding:8px 11px}.work-controls .filters sup{margin-left:3px}.collection{margin-top:44px}.collection-heading{margin-bottom:20px;padding-top:20px}.collection-heading h2{font-size:12px}.collection-grid{grid-template-columns:1fr;gap:30px}.collection-grid .card-stage{height:300px}.collection-grid .stage-name{font-size:43px}.collection-grid .card-info h3{font-size:21px}.collection-grid .card-info p{font-size:10px;max-width:250px}.project-grid .stage-onekindexpress .stage-name{font-size:9vw}.project-grid .stage-onekindexpress .browser-frame{top:90px;width:80%}.project-grid .stage-onekindexpress .phone{top:100px;width:24%;left:71%;border-radius:20px}.case-stage.stage-mobile{height:410px}.case-stage.stage-mobile .phone{width:45%;left:27.5%;top:42px;padding:5px;border-radius:23px}.case-stage.stage-mobile .phone img{border-radius:18px}}
.gallery-item:only-child.mobile-item{grid-column:1/-1}.gallery-item:only-child.mobile-item .gallery-image{height:auto;max-height:none;padding:50px}.gallery-item:only-child.mobile-item img{width:280px}@media(max-width:600px){.gallery-item:only-child.mobile-item .gallery-image{padding:30px}.gallery-item:only-child.mobile-item img{width:225px}}

/* Native project windows and expanded categories. */
.stage-native .app-frame{width:88%;position:relative;z-index:2;box-shadow:0 22px 60px #0003;border-radius:14px;overflow:hidden}.app-frame img{display:block;width:100%;height:auto}.case-stage.stage-native .app-frame{width:82%;max-width:1200px}.case-note{font-size:14px;line-height:1.6;opacity:.7;margin-top:24px}.project-contribution{margin:24px 0}.filters{flex-wrap:wrap}@media(max-width:700px){.work-controls{flex-wrap:wrap}.filters{gap:4px}.filters button{padding:10px 12px}.case-stage.stage-native .app-frame{width:92%}}
.card-stage.stage-native .app-frame{position:absolute;left:6%;top:100px;transform:rotate(-3deg);transition:transform .6s}.project-link:hover .app-frame{transform:rotate(-1deg) translateY(-7px)}.case-stage.stage-native .app-frame{position:absolute;left:9%;top:95px;transform:rotate(-2deg)}@media(max-width:600px){.card-stage.stage-native .app-frame{top:86px}.case-stage.stage-native .app-frame{left:4%;top:75px}}
