@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin-standard-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin-ext-standard-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF}:root{--paper:#eef2f6;--sheet:#f8fafc;--ink:#0e1726;--graphite:#4a5568;--rule:#c3cdd9;--accent:#1f4fe0;--accent-ink:#163bb0;--night:#0c0e1f;--night-2:#17153a;--violet:#a794ff;--moon:#ecebff;--night-text:#c4c0e2;--font:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--margin:clamp(20px, 4.2vw, 72px);--gutter:clamp(14px, 1.8vw, 28px);--nav-h:64px;--ease-out:cubic-bezier(.16, 1, .3, 1);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h);scrollbar-color:var(--graphite) var(--paper)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;font-stretch:100%;line-height:1.55;overflow-x:clip}img{max-width:100%;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a,button{touch-action:manipulation;-webkit-tap-highlight-color:#1f4fe026}button{font:inherit;color:inherit}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}[data-theme=night] :focus-visible,.nav.is-night :focus-visible{outline-color:var(--violet)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip:focus{transform:none}.icon{flex:none}.button{background:var(--ink);min-height:48px;color:var(--sheet);transition:background-color .2s, transform .2s var(--ease-out);border-radius:3px;align-items:center;gap:.6rem;padding:0 1.25rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent)}.button:active{transform:translateY(1px)}.button .icon{transition:transform .25s var(--ease-out)}.button:hover .icon{transform:translateY(2px)}.button--night{background:var(--moon);color:var(--night)}.button--night:hover{background:var(--violet)}.link-night{color:var(--moon);align-items:center;min-height:48px;font-weight:600;display:inline-flex}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}.nav{z-index:50;height:var(--nav-h);background:var(--paper);border-bottom:1px solid var(--rule);transition:background-color .3s,color .3s,border-color .3s;position:fixed;inset:0 0 auto}.nav.is-night{background:var(--night);color:var(--moon);border-color:#2a2752}.nav__inner{height:100%;padding:0 var(--margin);justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav__brand{letter-spacing:-.01em;align-items:center;gap:.6rem;min-height:44px;font-size:1.05rem;font-weight:750;font-stretch:118%;text-decoration:none;display:inline-flex}.nav__mark{width:26px;height:26px}.nav.is-night .nav__mark rect{fill:var(--violet)}.nav__studio{font-weight:450}.nav__links{gap:clamp(.25rem,2vw,2.25rem);display:flex}.nav__links a{align-items:center;min-height:44px;padding:0 .35rem;font-size:.95rem;font-weight:550;text-decoration:none;display:inline-flex;position:relative}.nav__links a:after{content:"";transform-origin:0;height:1px;transition:transform .25s var(--ease-out);background:currentColor;position:absolute;bottom:10px;left:.35rem;right:.35rem;transform:scaleX(0)}.nav__links a:hover:after,.nav__links a[aria-current=true]:after{transform:scaleX(1)}@media (width<=480px){.nav__studio{display:none}.nav__links a{padding:0 .3rem;font-size:.9rem}}.crop{border-color:var(--accent);pointer-events:none;border-style:solid;border-width:0;width:22px;height:22px;position:absolute}.crop--tl{border-top-width:1.5px;border-left-width:1.5px;top:-14px;left:-14px}.crop--tr{border-top-width:1.5px;border-right-width:1.5px;top:-14px;right:-14px}.crop--br{border-bottom-width:1.5px;border-right-width:1.5px;bottom:-14px;right:-14px}.phone{background:#10131f;border-radius:13.5%/6.4%;padding:2.6%;position:relative;box-shadow:inset 0 0 0 1px #ffffff17,0 1px #0e172633,0 28px 50px -24px #0e172673,0 60px 90px -60px #0e172659;container-type:inline-size}.phone__screen{aspect-ratio:739/1600;background:#0b0d19;border-radius:10.6cqw;position:relative;overflow:hidden}.phone__screen>img{object-fit:cover;width:100%;height:100%}.hero{height:max(100svh,640px);padding:calc(var(--nav-h) + clamp(18px, 3.2vh, 40px)) var(--margin) 0;column-gap:var(--gutter);background:var(--paper);grid-template-rows:auto minmax(0,1fr);grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.hero__sheet{inset:calc(var(--nav-h) + 10px) 10px 10px 10px;pointer-events:none;position:absolute}.tick{border:0 solid var(--rule);width:9px;height:9px;position:absolute}.tick--tl{border-top-width:1px;border-left-width:1px;top:0;left:0}.tick--tr{border-top-width:1px;border-right-width:1px;top:0;right:0}.tick--bl{border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.tick--br{border-bottom-width:1px;border-right-width:1px;bottom:0;right:0}.hero__title{z-index:2;grid-area:1/1/auto/-1;font-weight:800;font-stretch:125%;line-height:.8;position:relative}.hero__codeat{letter-spacing:-.04em;margin-left:-.055em;font-size:clamp(4.6rem,20.4vw,26rem);display:block}.hero__studio{letter-spacing:-.03em;text-align:right;margin-top:.12em;margin-right:-.02em;font-size:clamp(2.1rem,6.4vw,8rem);font-weight:640;display:block}.hero__lede{z-index:2;grid-area:2/1/auto/5;align-self:start;justify-items:start;gap:1.6rem;margin-top:clamp(24px,5vh,64px);display:grid;position:relative}.hero__lede p{text-wrap:pretty;max-width:22ch;font-size:clamp(1.15rem,1.45vw,1.45rem);font-weight:450;line-height:1.38}.hero__frame{--pw:clamp(170px, 17.5vw, 330px);height:calc(var(--pw) * 2.45);z-index:1;grid-area:2/5/auto/10;align-self:start;margin-top:calc(-1*clamp(1.5rem,4.6vw,6rem));position:relative}.hero__frame .crop{top:0}.hero__frame .crop--tl{left:4%}.hero__frame .crop--tr{right:2%}.hero__phone{width:var(--pw);position:absolute}.hero__phone--a{z-index:2;top:30px;left:4%;transform:rotate(-3deg)}.hero__phone--b{width:calc(var(--pw) * .9);top:96px;right:2%;transform:rotate(4.5deg)}.titleblock{border:1px solid var(--ink);background:var(--sheet);z-index:2;grid-area:2/10/auto/13;align-self:end;margin-bottom:clamp(20px,4vh,44px);font-size:.875rem;position:relative}.titleblock>div{border-top:1px solid var(--rule);grid-template-columns:6.2rem 1fr;display:grid}.titleblock>div:first-child{border-top:0}.titleblock dt{color:var(--graphite);border-right:1px solid var(--rule);padding:.5rem .75rem}.titleblock dd{overflow-wrap:anywhere;padding:.5rem .75rem;font-weight:600}.titleblock__muted{color:var(--graphite);font-weight:450}@media (width<=1023px){.hero{grid-template-rows:auto auto auto auto;height:auto;min-height:auto;padding-bottom:40px}.hero__codeat{font-size:clamp(3.5rem,21vw,16rem)}.hero__studio{font-size:clamp(1.9rem,9vw,5.5rem)}.hero__lede{grid-area:2/1/auto/-1;margin-top:28px}.hero__lede p{max-width:26ch}.hero__frame{aspect-ratio:1/.98;grid-area:3/1/auto/-1;align-self:auto;height:auto;min-height:0;margin-top:44px}.hero__phone{width:44%}.hero__phone--a{top:18px;left:5%}.hero__phone--b{width:40%;top:12%;right:5%}.hero__frame .crop--tl{left:0}.hero__frame .crop--tr{right:0}.titleblock{grid-area:4/1/auto/-1;margin:28px 0 0}}@media (width>=640px) and (width<=1023px){.hero__frame{aspect-ratio:1/.82}.hero__phone{width:34%}.hero__phone--a{left:14%}.hero__phone--b{width:31%;right:14%}.titleblock{grid-column:6/-1}}.intro-pending .hero__phone,.intro-pending .hero__frame .crop,.intro-pending .titleblock{opacity:0}.product{background:var(--night);color:var(--moon);scroll-margin-top:0;position:relative}.status{align-items:center;gap:.45rem;display:inline-flex}.status:before{content:"";background:var(--violet);border-radius:50%;width:7px;height:7px}.balloon{border:1.5px solid var(--violet);width:1.5rem;height:1.5rem;color:var(--moon);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;line-height:1;display:inline-grid}.scene{display:none}html.scene-on .scene{background:var(--paper);height:100vh;display:block;position:relative;overflow:hidden}html.scene-on .flow{display:none}.scene__paper{position:absolute;inset:0}.scene__paper .crop{width:28px;height:28px}.scene__paper .crop--tl{top:calc(13% - 18px);left:calc(37% - 18px)}.scene__paper .crop--br{bottom:calc(13% - 18px);right:calc(37% - 18px)}.scene__night{background:radial-gradient(60% 70% at 72% 18%, #543eaa52, transparent 70%), linear-gradient(180deg, var(--night-2) 0%, var(--night) 55%);clip-path:inset(13% 37% round 28px);will-change:clip-path;position:absolute;inset:0}.scene__grid{column-gap:var(--gutter);height:100%;padding:calc(var(--nav-h) + 3vh) var(--margin) 4vh;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.scene__copy{grid-column:1/5;align-self:center;gap:2.2rem;display:grid}.scene__title{letter-spacing:-.04em;color:var(--moon);font-size:clamp(2.6rem,4.2vw,5rem);font-weight:800;font-stretch:122%;line-height:.92}.scene__meta,.flow__meta{color:var(--night-text);flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.9rem;font-size:.95rem;display:flex}.scene__chapters{min-height:15.5rem;position:relative}.chapter{position:absolute;inset:0 0 auto}html.scene-on .chapter{visibility:hidden;opacity:0}.chapter__title{letter-spacing:-.02em;text-wrap:balance;max-width:18ch;font-size:clamp(1.5rem,2.1vw,2.15rem);font-weight:700;font-stretch:110%;line-height:1.12}.chapter__text{color:var(--night-text);text-wrap:pretty;max-width:38ch;margin-top:.9rem}.chapter__marks{gap:.5rem;margin-top:1.1rem;display:grid}.chapter__marks li{align-items:center;gap:.65rem;font-weight:600;display:flex}.chapter__summary{text-wrap:pretty;max-width:26ch;margin-bottom:1.5rem;font-size:clamp(1.25rem,1.7vw,1.6rem);line-height:1.35}.scene__stage{will-change:transform;grid-column:5/10;place-items:center;min-height:0;display:grid;position:relative}.scene__device,.scene__side{width:calc(min(76vh,800px)/2.08117)}.scene__device{z-index:2;will-change:transform;position:relative}.scene__side{opacity:0;visibility:hidden;margin-top:calc(min(76vh,800px)/-1.92308);margin-left:calc(min(76vh,800px)/-4.16667);position:absolute;top:50%;left:50%}.scene__phone .layer{width:100%;height:100%;position:absolute;inset:0}.scene__phone .layer:not(:first-child){opacity:0}.mark{left:var(--x);top:var(--y);width:var(--s);aspect-ratio:1;border:1.5px dashed var(--violet);opacity:0;border-radius:50%;position:absolute;translate:-50% -50%}.mark .balloon{background:var(--night);position:absolute}.mark[data-badge=top-right] .balloon{top:-.55rem;right:-.55rem}.mark[data-badge=bottom] .balloon{bottom:-.75rem;left:50%;translate:-50%}.mark[data-badge=top] .balloon{top:-.75rem;left:50%;translate:-50%}.mark[data-badge=left] .balloon{top:50%;left:-.75rem;translate:0 -50%}.scene__nav{grid-column:11/13;place-self:center end}.scene__nav ol{gap:.25rem;display:grid}.scene__nav button{cursor:pointer;min-height:44px;color:var(--night-text);background:0 0;border:0;align-items:center;gap:.8rem;padding:0 .25rem;font-size:.95rem;font-weight:550;transition:color .2s;display:flex}.scene__nav-bar{opacity:.45;transform-origin:100%;width:28px;height:1.5px;transition:transform .3s var(--ease-out), opacity .3s;background:currentColor}.scene__nav button:hover,.scene__nav button[aria-current=step]{color:var(--moon)}.scene__nav button[aria-current=step] .scene__nav-bar{opacity:1;background:var(--violet);transform:scaleX(1.6)}.flow{background:linear-gradient(180deg, var(--night-2), var(--night) 40%);padding:clamp(72px,12vw,120px) 0 clamp(64px,10vw,110px)}.flow__head{padding:0 var(--margin);gap:.25rem;max-width:46rem;display:grid}.flow__title{letter-spacing:-.04em;font-size:clamp(2.8rem,12vw,5.5rem);font-weight:800;font-stretch:122%;line-height:.92}.flow__summary{max-width:32ch;margin-top:1rem;font-size:1.15rem;line-height:1.45}.flow__head .actions{margin-top:1.25rem}.flow__gallery{margin-top:44px}.flow__track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--margin);padding:8px var(--margin) 24px;scrollbar-width:thin;scrollbar-color:#4b467c transparent;gap:clamp(18px,4vw,36px);display:flex;overflow-x:auto}.flow__track:focus-visible{outline-offset:-2px}.flow__item{scroll-snap-align:start;flex:0 0 min(68vw,300px);align-content:start;gap:1.4rem;display:grid}.flow__phone{width:100%;box-shadow:0 30px 60px -30px #000000b3,inset 0 0 0 1px #ffffff17}.flow__caption h3{letter-spacing:-.01em;font-size:1.2rem;font-weight:700;font-stretch:110%;line-height:1.2}.flow__caption p{color:var(--night-text);margin-top:.45rem;font-size:1rem}.flow__caption h3:not(:first-child){margin-top:1.2rem}.flow__controls{padding:4px var(--margin) 0;align-items:center;gap:1rem;display:flex}.flow__controls[hidden]{display:none}.round{width:48px;height:48px;color:var(--moon);cursor:pointer;background:0 0;border:1px solid #4b467c;border-radius:50%;place-items:center;transition:background-color .2s,border-color .2s;display:grid}.round:hover:not(:disabled){border-color:var(--violet);background:#221f48}.round:disabled{opacity:.4;cursor:default}.flow__count{font-variant-numeric:tabular-nums;color:var(--night-text);text-align:center;min-width:3.5rem}@media (width>=900px){.flow__track{justify-content:flex-start}.flow__item{flex-basis:290px}}.studio{column-gap:var(--gutter);padding:clamp(88px, 13vw, 180px) var(--margin) clamp(72px, 10vw, 140px);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:56px;display:grid}.studio__text{grid-column:1/7}.studio__title{letter-spacing:-.035em;text-wrap:balance;max-width:14ch;font-size:clamp(2.2rem,4.8vw,4.6rem);font-weight:780;font-stretch:116%;line-height:.98}.studio__text p{color:#2c3647;text-wrap:pretty;max-width:46ch;margin-top:1.8rem;font-size:1.125rem}.parts{grid-column:8/13;align-self:end}.parts table{border-collapse:collapse;width:100%;font-size:.95rem}.parts caption{text-align:left;padding-bottom:.9rem;font-size:1.1rem;font-weight:700;font-stretch:112%}.parts thead th{text-align:left;color:var(--graphite);border-bottom:1px solid var(--ink);padding:.55rem .75rem .55rem 0;font-size:.85rem;font-weight:500}.parts tbody th,.parts td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:middle;padding:1rem .75rem 1rem 0}.parts tbody th{font-size:1.05rem;font-weight:700}.parts__link{text-align:right!important;padding-right:0!important}.parts__link a{min-height:44px;color:var(--accent-ink);align-items:center;font-weight:600;display:inline-flex}.parts__link a:hover{color:var(--accent)}@media (width<=1023px){.studio__text,.parts{grid-column:1/-1}}@media (width<=560px){.parts thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.parts tr{border-bottom:1px solid var(--rule);border-top:1px solid var(--ink);grid-template-columns:1fr auto;padding:.6rem 0;display:grid}.parts tbody th,.parts td{border:0;padding:.15rem 0}.parts tbody th{grid-column:1}.parts td:nth-child(2){color:var(--graphite);grid-column:1}.parts td:nth-child(3){grid-column:1}.parts__link{grid-area:1/2/4;align-self:center}}.team{padding:clamp(40px, 6vw, 80px) var(--margin) clamp(96px, 13vw, 180px);border-top:1px solid var(--rule)}.team__title{letter-spacing:-.035em;margin-bottom:clamp(40px,6vw,72px);font-size:clamp(2.2rem,4.8vw,4.6rem);font-weight:780;font-stretch:116%;line-height:1}.team__pair{--photo:min(30vw, 400px);--seam:clamp(10px, 1.6vw, 22px);grid-template-columns:1fr 1fr;padding-top:40px;display:grid;position:relative}.team__pair[data-count="1"]{grid-template-columns:1fr}.team__dim{width:calc(var(--photo) * 2 + var(--seam) * 2);border-left:1.5px solid var(--accent);border-right:1.5px solid var(--accent);place-items:center;height:18px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.team__dim:before{content:"";background:var(--accent);height:1.5px;position:absolute;top:50%;left:0;right:0}.team__dim span{background:var(--paper);color:var(--accent-ink);padding:0 .75rem;font-size:.85rem;font-weight:600;position:relative}.person{width:var(--photo);min-width:0}.person--left{margin-right:var(--seam);justify-self:end}.person--right{margin-left:var(--seam);justify-self:start}.team__pair[data-count="1"] .person{justify-self:center;margin:0}.person__photo{aspect-ratio:4/5;background:var(--sheet);border:1px solid var(--ink);place-items:center;display:grid;overflow:hidden}.person__photo img{object-fit:cover;width:100%;height:100%}.person__initial{color:var(--rule);font-size:clamp(4rem,12vw,9rem);font-weight:800;font-stretch:125%}.person__name{letter-spacing:-.03em;overflow-wrap:anywhere;hyphens:auto;margin-top:1.25rem;font-size:clamp(1.6rem,3.2vw,3rem);font-weight:780;font-stretch:118%;line-height:1.02}.person__role{color:var(--graphite);margin-top:.4rem;font-weight:550}.person__bio{color:#2c3647;text-wrap:pretty;max-width:40ch;margin-top:.9rem}.person__socials{flex-wrap:wrap;gap:.25rem 1rem;margin-top:1rem;display:flex}.person__socials a{align-items:center;gap:.45rem;min-height:44px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.person__socials a:hover span:first-of-type{text-decoration:underline}.person--right{text-align:left}.person--left{text-align:right}.person--left .person__socials{justify-content:flex-end}.person--left .person__bio{margin-left:auto}@media (width<=640px){.team__pair{--seam:9px;--photo:calc((100vw - var(--margin) * 2 - var(--seam) * 2) / 2)}.person__name{font-size:clamp(1.35rem,6.4vw,2rem)}.person__bio,.person__role,.person__socials a{font-size:.92rem}}@media (width<=340px){.team__pair{--photo:100%;grid-template-columns:1fr;gap:40px}.team__dim{display:none}.person--left,.person--right{text-align:left;justify-self:stretch;margin:0}.person--left .person__socials{justify-content:flex-start}}.contact{padding:clamp(72px, 10vw, 140px) var(--margin);border-top:1px solid var(--rule);gap:1.5rem;display:grid}.contact__title{letter-spacing:-.035em;font-size:clamp(2.2rem,4.8vw,4.6rem);font-weight:780;font-stretch:116%}.contact__mail{overflow-wrap:anywhere;color:var(--accent-ink);font-size:clamp(1.4rem,4vw,3rem);font-weight:650}.contact__socials{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.contact__socials a{align-items:center;gap:.5rem;min-height:44px;font-weight:600;display:inline-flex}.footer{background:var(--ink);color:var(--paper);padding:clamp(48px, 7vw, 90px) var(--margin) 28px;overflow:hidden}.footer__word{letter-spacing:-.04em;color:var(--paper);margin-left:-.055em;font-size:clamp(4.2rem,20.4vw,26rem);font-weight:800;font-stretch:125%;line-height:.78}.footer__row{color:#b8c2d2;border-top:1px solid #2c3850;flex-wrap:wrap;gap:.5rem 2rem;margin-top:clamp(28px,4vw,52px);padding-top:18px;font-size:.95rem;display:flex}.footer__row p:first-child{color:var(--paper);font-weight:650}.footer__row a{color:var(--paper);align-items:center;min-height:44px;margin-top:-12px;margin-left:auto;display:inline-flex}.footer :focus-visible{outline-color:#8fb0ff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
