@charset "UTF-8";@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(./instrument-sans-latin-ext-wght-italic-CTF9u33F.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(./instrument-sans-latin-wght-italic-BlcgWI5J.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-opsz-normal-BFQXbQ-f.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-opsz-normal-BmPQvyvo.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-opsz-normal-BM0NlUE_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-opsz-normal-Ci9T9ieq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-opsz-normal-DpK-iCPk.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-opsz-normal-BwkfbSeq.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #0c161b;--ink-2: #252f33;--ivory: #f0f1e8;--paper: #e9eae2;--paper-2: #dfe3d7;--mute: #7c857d;--mute-on-light: #5b635c;--acid: #e8e900;--bg: var(--ink);--fg: var(--ivory);--fg-mute: var(--mute);--rule: rgb(240 241 232 / .14);--sans: "Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--display: "Inter Variable", Inter, sans-serif;--mono: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;--pad: clamp(20px, 4vw, 64px);--nav-h: clamp(64px, 8vh, 88px);--gutter: clamp(16px, 2vw, 32px);--fs-mono: clamp(.6875rem, .62rem + .2vw, .8125rem);--fs-body: clamp(.9375rem, .85rem + .3vw, 1.0625rem);--fs-h2: clamp(2rem, 1.2rem + 2.6vw, 3.6rem);--fs-h3: clamp(1.5rem, 1.1rem + 1.4vw, 2.4rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.65, 0, .35, 1);--dur: .9s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}html.igloo-preloading{overflow:hidden;background:var(--igloo-preloader-bg, var(--ink))}#igloo-preloader{position:fixed;inset:0;z-index:9999;display:none;place-items:center;background:var(--igloo-preloader-bg, var(--ink));color:var(--igloo-preloader-color, var(--ivory));opacity:1;transition:opacity .82s var(--ease-io);pointer-events:all}html.igloo-preloading #igloo-preloader{display:grid}#igloo-preloader.igloo-preloader--done{display:grid;opacity:0;pointer-events:none}.igloo-preloader__mark{width:min(72vw,560px);aspect-ratio:16/9;position:relative;display:grid;place-items:center;opacity:1;transition:opacity .56s ease}#igloo-preloader.igloo-preloader--done .igloo-preloader__mark{opacity:0}.igloo-preloader__spinner{width:28px;height:28px;border:2px solid rgba(240,241,232,.22);border-top-color:#f0f1e8f2;border-radius:999px;animation:igloo-preloader-spin .8s linear infinite}.igloo-preloader__mark--lottie .igloo-preloader__spinner{display:none}.igloo-preloader__lottie{width:100%;height:100%}@keyframes igloo-preloader-spin{to{transform:rotate(360deg)}}body{margin:0;font-family:var(--sans);font-size:var(--fs-body);line-height:1.5;color:var(--fg);background:var(--bg);font-feature-settings:"ss01","cv01";-webkit-font-smoothing:antialiased;overflow-x:clip}h1,h2,h3,p,ul,ol{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;font-optical-sizing:auto}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}svg{display:block}:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.light :focus-visible{outline-color:var(--ink)}.mono{font-family:var(--mono);font-size:var(--fs-mono);font-weight:400;letter-spacing:.01em;line-height:1.55}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.light{--bg: var(--paper);--fg: var(--ink);--fg-mute: var(--mute-on-light);--rule: rgb(12 22 27 / .16);color:var(--fg);background:var(--bg)}igloo-scramble:not(:defined){display:block}main>section,main>igloo-hero,main>igloo-mainframe,main>igloo-follower{position:relative;background:var(--bg)}.footer{position:relative;background:var(--bg)}main>section>:where(:not(.scene)){position:relative;z-index:2}main>igloo-hero>:where(*){position:relative;z-index:2}main>igloo-mainframe>:where(*){position:relative;z-index:2}main>igloo-follower>:where(*){position:relative;z-index:2}.footer>:where(*){position:relative;z-index:2}.gl{position:fixed;inset:0;z-index:1;pointer-events:none}.gl canvas{display:block;width:100%;height:100%}.scene{position:absolute;z-index:0;pointer-events:none;overflow:hidden}.scene__fallback{display:none;width:100%;height:100%;opacity:.8}html.no-webgl .scene__fallback{display:block}.accent{color:var(--acid)}mark{color:inherit;background:none;box-decoration-break:clone;padding:0 .08em;background-image:linear-gradient(var(--acid),var(--acid));background-size:100% .42em;background-position:0 .82em;background-repeat:no-repeat}.rule{display:inline-block;vertical-align:middle;width:3em;height:1px;margin-left:.8em;background:currentColor;opacity:.5}.arrow{display:inline-block;transition:transform .5s var(--ease-out)}.nav{position:absolute;inset:0 0 auto;z-index:10;height:var(--nav-h);padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--ivory)}.nav__brand{display:inline-flex;align-items:center;justify-self:start}.nav__mark{display:block;flex-shrink:0;height:52px;width:auto;color:inherit}.nav__mark .logo{display:block;width:auto;height:100%}.nav__menu ul{display:flex;gap:clamp(20px,2.6vw,40px)}.nav__link{position:relative;display:inline-grid;font-size:.8125rem;font-weight:450;transition:font-weight .35s var(--ease-io)}.nav__link:after{content:attr(data-text);grid-area:1/1;font-weight:600;visibility:hidden;pointer-events:none}.nav__link:before{content:"";position:absolute;inset:8px -9px;background:linear-gradient(currentColor,currentColor) left bottom/8px 1px no-repeat,linear-gradient(currentColor,currentColor) left bottom/1px 8px no-repeat,linear-gradient(currentColor,currentColor) right top/8px 1px no-repeat,linear-gradient(currentColor,currentColor) right top/1px 8px no-repeat;pointer-events:none;opacity:0}.nav__link:hover,.nav__link:focus-visible,.nav__link[aria-current=page]{font-weight:600}.nav__link[aria-current=page]:before{opacity:1}.nav__label{grid-area:1/1}.nav--on-light,.nav--on-light .nav__toggle{color:var(--ink)}.nav__toggle{display:none;align-items:center;gap:.7em;justify-self:end;order:3;color:var(--ivory)}.nav__toggle-icon{position:relative;width:14px;height:14px}.nav__toggle-icon:before,.nav__toggle-icon:after{content:"";position:absolute;inset:50% 0 auto;height:1.5px;background:currentColor;transition:transform .5s var(--ease-out)}.nav__toggle-icon:after{transform:rotate(90deg)}.nav__toggle[aria-expanded=true] .nav__toggle-icon:before{transform:rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__toggle-icon:after{transform:rotate(-45deg)}@media(max-width:767px){.nav{grid-template-columns:1fr auto}.nav__toggle{display:inline-flex}.nav__menu{position:fixed;inset:0;z-index:20;display:grid;align-content:end;padding:var(--pad);padding-bottom:calc(var(--pad) * 2);background:var(--ink);clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease-out)}.nav__menu ul{flex-direction:column;gap:.4em}.nav__menu .nav__link{font-size:clamp(2.2rem,10vw,3.4rem);font-weight:500;letter-spacing:-.03em;line-height:1.1;transform:translateY(40px);opacity:0;transition:transform .9s var(--ease-out),opacity .6s}.nav__menu .nav__link:before{inset:-4px -10px}.nav__menu.is-open{clip-path:inset(0)}.nav__menu.is-open .nav__link{transform:none;opacity:1}.nav__menu.is-open li:nth-child(2) .nav__link{transition-delay:.08s}.nav__menu.is-open li:nth-child(3) .nav__link{transition-delay:.16s}.nav__menu.is-open li:nth-child(4) .nav__link{transition-delay:.24s}.nav__toggle[aria-expanded=true]{color:var(--ivory)}}.link{position:relative;display:inline-block;justify-self:start;padding-bottom:3px;color:var(--fg)}.link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left}.link:hover:after,.link:focus-visible:after{animation:link-swipe .7s var(--ease-io)}.link:hover .arrow,.link:focus-visible .arrow{transform:translate(5px)}.link:hover .arrow--ne,.link:focus-visible .arrow--ne{transform:translate(3px,-3px)}.link--accent{color:var(--acid)}@keyframes link-swipe{0%{transform:scaleX(1);transform-origin:right}49%{transform:scaleX(0);transform-origin:right}51%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.cta{display:inline-flex;align-items:center;gap:clamp(16px,1.6vw,28px);color:var(--fg)}.cta__disc{display:grid;place-items:center;width:clamp(52px,4.4vw,68px);height:clamp(52px,4.4vw,68px);border-radius:50%;background:var(--acid);color:var(--ink);font-size:1.3em;font-weight:400;transition:transform .6s var(--ease-out);will-change:transform}.cta__disc span{transition:transform .6s var(--ease-out)}.cta__label{font-size:clamp(.8125rem,.74rem + .25vw,.9375rem);font-weight:700}.cta:hover .cta__disc,.cta:focus-visible .cta__disc{transform:scale(1.06)}.cta:hover .cta__disc span,.cta:focus-visible .cta__disc span{transform:rotate(90deg)}.cta:hover .arrow,.cta:focus-visible .arrow{transform:translate(6px)}.cta--small{gap:clamp(14px,1.4vw,22px)}.cta--small .cta__disc{width:clamp(52px,4vw,60px);height:clamp(52px,4vw,60px);font-size:1.2em}.cta--small .cta__label{font-size:clamp(.875rem,.8rem + .25vw,1rem)}.play{display:inline-flex;align-items:center;gap:.9em;color:var(--acid)}.play:hover .play__icon,.play:focus-visible .play__icon{transform:rotate(90deg)}.play__icon{width:18px;height:18px;transition:transform .6s var(--ease-out)}.play__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1}.play__cycle{display:inline-block;color:var(--fg-mute);transition:color .3s}.play.is-cycling .play__cycle{animation:spin .9s var(--ease-io);color:var(--acid)}@keyframes spin{to{transform:rotate(360deg)}}.chapter{position:absolute;left:var(--pad);top:clamp(72px,10vh,120px);display:flex;flex-direction:column;gap:14px;color:var(--fg-mute);z-index:2}.chapter__rule{width:1px;height:clamp(48px,7vh,96px);background:currentColor;opacity:.6;transform-origin:top}.orbit{display:grid;justify-items:center;gap:18px;width:min(100%,300px);--rot: 0deg}.orbit__svg{width:100%;aspect-ratio:1;fill:none;stroke:var(--fg);stroke-width:.6;overflow:visible}.orbit__ring{opacity:.35}.orbit__track{stroke:var(--acid);stroke-width:1.2;stroke-dasharray:var(--progress, 0) 1;transform:rotate(-90deg);transform-origin:100px 100px}.orbit__mark{transform:rotate(var(--a));transform-origin:100px 100px;fill:var(--fg);stroke:none}.orbit__mark--plus{fill:none;stroke:var(--fg);stroke-width:.8}.orbit__dot{transform:rotate(var(--rot));transform-origin:100px 100px;fill:var(--acid);stroke:none}.orbit__legend{display:flex;justify-content:space-between;width:100%;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-mute)}.orbit__legend li{transition:color .5s}.orbit__legend li.is-on{color:var(--fg)}.mark{position:absolute;z-index:1;width:24px;color:var(--acid);pointer-events:none}.mark .mark-arc{display:block;width:100%;height:auto}.mark--hero-foot{left:calc(var(--pad) + 10.5rem);bottom:clamp(28px,5vh,56px);width:22px}.mark--intro{position:relative;display:block;grid-column:1/-1;width:28px;color:currentColor;line-height:0}.mark--projects{right:var(--pad);top:clamp(72px,11vh,128px);width:16px;transform:rotate(90deg)}.mark--contact{left:var(--pad);top:clamp(72px,12vh,140px);width:24px;transform:rotate(180deg)}.mark--footer{position:relative;grid-column:11/13;justify-self:end;align-self:start;width:32px;transform:rotate(90deg)}@media(max-width:1023px){.mark--hero-foot,.mark--projects{display:none}.mark--footer{grid-column:9/13}}@media(max-width:767px){.mark--footer{grid-column:1/4;justify-self:start;width:24px}}.hero{position:relative;min-height:100svh;height:auto;padding:0;overflow:hidden}igloo-hero.hero::part(root){height:auto;min-height:100svh}igloo-hero.hero::part(container),igloo-hero.hero:not(:defined){display:grid;box-sizing:border-box;height:auto;min-height:100svh;padding:calc(var(--nav-h) + clamp(24px,4svh,56px)) var(--pad) clamp(28px,4svh,56px);grid-template-columns:minmax(0,1fr) minmax(16rem,.42fr);grid-template-rows:1fr auto 1fr auto;column-gap:clamp(24px,4vw,64px);row-gap:clamp(24px,4svh,48px);grid-template-areas:". ." "head side" ". ." "foot foot"}.hero__scene{inset:0 6% 0 0}.hero__head{grid-area:head;align-self:center;min-width:0;container-type:inline-size}.hero__title{font-size:10.5vw;font-size:21cqi;line-height:.94;letter-spacing:-.045em}.hero__title .line{display:block}.hero__side{grid-area:side;align-self:center;justify-self:end;width:100%;max-width:24rem;min-width:0;display:grid;gap:18px}.hero__claim{font-size:clamp(1.35rem,1rem + 1vw,1.9rem);font-weight:500;letter-spacing:-.02em;line-height:1.18}.hero__lead{font-size:.9375rem;color:var(--fg-mute);max-width:30ch}.hero__side .cta{margin-top:clamp(12px,3vh,32px)}.hero__side .cta__disc{flex-shrink:0}.hero__side .cta__label{min-width:0}.hero__progress{color:var(--fg-mute);margin-top:clamp(8px,2vh,24px)}.hero__foot{grid-area:foot;display:grid;gap:16px;justify-items:start}.hero__index{color:var(--fg-mute)}.hero__motto{color:var(--ivory)}.hero__labels{display:none;grid-area:labels;align-self:center;justify-self:end;position:relative;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-mute);padding-top:clamp(40px,8vh,96px)}.hero__labels:before{content:"";position:absolute;top:0;left:0;width:1px;height:clamp(28px,6vh,72px);background:currentColor;opacity:.6}igloo-hero.hero{--igloo-hero-bg: var(--ink);--igloo-hero-color: var(--ivory);background:var(--igloo-hero-bg)}igloo-hero::part(logo){display:none!important}igloo-mainframe.intro{--igloo-mainframe-bg: var(--paper);background:var(--igloo-mainframe-bg)}igloo-mainframe.intro::part(container){display:grid;box-sizing:border-box;min-height:inherit;padding:clamp(72px,10vh,128px) var(--pad) clamp(64px,8vh,112px);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(24px,4vh,48px);align-content:start}igloo-hero.hero>*{z-index:5}igloo-falling.project__falling{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.clients{display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(80px,1fr);align-items:center;gap:var(--gutter);padding:clamp(20px,3vh,32px) var(--pad);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--ivory)}.clients__title,.clients__tag{color:var(--fg-mute)}.clients__tag{text-align:right}.clients__list{display:flex;align-items:center;gap:clamp(20px,3vw,56px);font-size:clamp(.875rem,.7rem + .5vw,1.0625rem)}.clients__item{position:relative;flex-shrink:0;white-space:nowrap}.clients__item+.clients__item:before{content:"";position:absolute;left:calc(clamp(20px,3vw,56px)/-2);top:10%;height:80%;width:1px;background:var(--rule)}.clients__logo{display:block;height:1.35em;width:auto;object-fit:contain}.clients:not(.light) .clients__logo{filter:brightness(0) invert(1)}.clients.light{color:var(--fg)}.intro{min-height:90svh;padding:0;overflow:hidden}igloo-mainframe.intro::part(root){min-height:90svh}.intro__scene{top:0;left:32%;width:46%;height:72%}.intro__head{grid-column:2/9}.intro__title{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.035em}.intro__axis{grid-column:10/13;align-self:start;display:grid;grid-template-columns:auto 1fr auto;gap:16px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-mute);margin-top:.4em}.intro__axis span:last-child{text-align:right}.intro__axis-rule{height:1px;margin-top:.6em;background:currentColor;opacity:.5}.intro__cols{grid-column:2/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(32px,4vw,72px);row-gap:20px}.intro__col{display:grid;gap:22px;align-content:start;max-width:34ch}.intro__col p{color:var(--fg-mute);font-size:.9375rem}.projects{padding:clamp(96px,14vh,180px) var(--pad) clamp(96px,14vh,180px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(56px,8vh,96px)}.projects__head{grid-column:2/8;display:grid;gap:14px}.projects__title{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.035em}.projects__sub{color:var(--fg-mute)}.projects__aside{grid-column:9/13;display:flex;justify-content:space-between;align-items:baseline;gap:var(--gutter);padding-top:.5em}.projects__tag{color:var(--fg-mute)}.projects__list{grid-column:1/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}.project{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto auto;grid-template-areas:"." "meta" "name" "kind" "text";gap:10px;min-height:min(76vh,640px);padding:20px 20px 24px;border:1px solid var(--rule);overflow:hidden;transition:border-color .6s}.project:hover{border-color:#f0f1e852}.project:not(:has(.project__meta)):not(:has(.project__kind)){grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"." "name" "text"}.project__stage{position:absolute;inset:0 0 42%;z-index:0;overflow:visible;pointer-events:none}.project__media{position:absolute;inset:10% 9% -18%;margin:0;overflow:hidden;z-index:1}.project__media>img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.project__index{position:absolute;top:18px;left:20px;color:var(--fg-mute);z-index:2}.project__meta{grid-area:meta;color:var(--fg-mute);position:relative;z-index:2}.project__name{grid-area:name;font-size:var(--fs-h3);letter-spacing:-.03em;line-height:1.05;position:relative;z-index:2}.project__kind{grid-area:kind;color:var(--acid)}.project__text{grid-area:text;font-size:.875rem;max-width:34ch;color:#f0f1e8c7}.project__link{position:absolute;inset:0;z-index:3;display:block;font-size:1rem}.project__link:after{content:"";position:absolute;inset:0}.project__link .arrow{position:absolute;right:20px;bottom:22px;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--rule);border-radius:50%;pointer-events:none;transition:border-color .5s,background-color .5s,color .5s,transform .5s}.project__link:hover .arrow,.project__link:focus-visible .arrow{background:var(--acid);border-color:var(--acid);color:var(--ink);transform:translate(3px)}.services{display:grid;grid-template-columns:1fr 1fr;min-height:min(78svh,820px);padding:0;background:var(--ink);overflow:hidden}.services .chapter{color:var(--ink);z-index:3}.service{position:relative;display:grid;place-items:center;min-height:min(78svh,820px);padding:clamp(48px,8vh,96px) clamp(28px,4vw,72px);overflow:hidden}.service--software{background:var(--acid);color:var(--ink)}.service--hardware{background:var(--ink);color:var(--acid)}igloo-falling.service__falling{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.service__body{position:relative;z-index:2;display:grid;justify-items:center;gap:18px;max-width:34ch;text-align:center}.service__mark{width:36px;color:currentColor;margin-bottom:6px}.service__mark .mark-arc{display:block;width:100%;height:auto}.service__title{font-size:clamp(1.5rem,1.15rem + 1.1vw,2.2rem);letter-spacing:-.03em;line-height:1.12}.service__text{font-size:.9375rem;line-height:1.45}.service--software .service__text{color:var(--ink)}.service--hardware .service__text{color:var(--acid)}.service__cta{display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:8px 8px 8px 16px;border-radius:999px;font-size:var(--fs-mono);transition:transform .45s var(--ease-out)}.service__cta:hover,.service__cta:focus-visible{transform:translateY(-2px)}.service__cta-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.75em}.service--software .service__cta{background:var(--ink);color:var(--ivory)}.service--software .service__cta-icon{background:var(--ivory);color:var(--ink)}.service--hardware .service__cta{background:var(--acid);color:var(--ink)}.service--hardware .service__cta-icon{background:var(--ink);color:var(--acid)}.contact{min-height:100svh;padding:clamp(112px,18vh,220px) var(--pad) 42svh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-content:start;overflow:hidden}.contact__scene{left:0;right:0;bottom:0;height:68%}.contact__peak{position:absolute;left:41.5%;top:44%;width:1px;height:14%;background:var(--ivory);opacity:.7;z-index:2}.contact__peak:before{content:"";position:absolute;top:-3px;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--ivory)}.contact__head{grid-column:2/8;display:grid;gap:clamp(40px,8vh,96px)}.contact__title{font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.035em}.contact__labels{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-mute)}.contact__labels .rule{display:block;margin:1.2em 0 0}.contact__side{grid-column:8/13;display:grid;gap:14px;align-content:start;justify-items:start;padding-top:.6em}.contact__note{color:var(--fg-mute)}.contact__mail{font-size:clamp(1.5rem,.9rem + 2.4vw,3.2rem);font-weight:450;letter-spacing:-.03em;line-height:1;position:relative;padding-bottom:.12em;overflow:hidden}.contact__mail:after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease-out)}.contact__mail:hover:after,.contact__mail:focus-visible:after{transform:scaleX(1);transform-origin:left}.contact__side .cta{margin-top:clamp(24px,5vh,56px)}.footer{padding:clamp(56px,8vh,96px) var(--pad) clamp(20px,3vh,32px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(48px,7vh,88px);color:var(--ink)}.footer .nav__brand{color:var(--ink)}.footer__brand{grid-column:1/6;display:grid;gap:18px;justify-items:start;align-content:start}.footer__brand .footer__claim{max-width:44ch;margin-top:12px}.footer__brand .footer__legal,.footer__brand .footer__policy{color:var(--fg-mute)}.footer__brand .footer__policy{margin-top:-10px;transition:color .3s}.footer__brand .footer__policy:hover,.footer__brand .footer__policy:focus-visible{color:var(--ink)}.footer__nav{grid-column:span 2;padding-left:var(--gutter);border-left:1px solid var(--rule)}.footer__nav:first-of-type{grid-column:7/9}.footer__nav ul{display:grid;gap:2px}.footer__nav a{display:flex;align-items:center;min-height:24px;color:var(--fg-mute);transition:color .3s}.footer__nav a:hover,.footer__nav a:focus-visible{color:var(--ink)}.footer__gap{margin-top:1.3em}.footer__bar{grid-column:1/13;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--rule);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-mute)}@media(min-width:1280px){igloo-hero.hero::part(container),igloo-hero.hero:not(:defined){grid-template-columns:minmax(0,1fr) minmax(16rem,.42fr) 4.75rem;grid-template-areas:". . ." "head side labels" ". . ." "foot foot foot"}.hero__labels{display:block}}@media(min-width:1440px){.hero__scene{left:0;right:8%}}@media(max-width:767px){igloo-hero.hero::part(container),igloo-hero.hero:not(:defined){grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"head" "side" "foot"}.hero{min-height:100svh}.hero__scene{position:relative;grid-area:scene;inset:auto;margin:0 calc(var(--pad) * -1)}.hero__side{justify-self:start;max-width:34rem}.hero__labels{display:none}}@media(max-width:1023px){.clients{grid-template-columns:1fr auto}.clients__tag{display:none}.clients__list{grid-column:1/-1;grid-row:2;flex-wrap:wrap;row-gap:12px;margin-top:8px}}@media(max-width:1023px){.intro__scene{left:40%;width:60%;height:56%}.intro__head{grid-column:2/12}.intro__axis{grid-column:2/7;margin:-24px 0 0}.intro__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.projects__head{grid-column:2/12}.projects__aside{grid-column:2/13;justify-content:flex-start;gap:clamp(24px,6vw,64px)}.projects__list{grid-template-columns:1fr;gap:var(--gutter)}.project{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;grid-template-areas:"scene meta" "scene name" "scene kind" "scene text";column-gap:clamp(24px,4vw,48px);min-height:62vh;padding:24px}.project:nth-child(2n){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"meta scene" "name scene" "kind scene" "text scene"}.project__stage{position:relative;grid-area:scene;inset:auto;min-height:100%;overflow:hidden}.project__media{inset:8%}.project__meta{grid-area:meta;margin-top:12px}.project__name{grid-area:name}.project__kind{grid-area:kind}.project__text{grid-area:text}.project:not(:has(.project__meta)):not(:has(.project__kind)){grid-template-rows:auto auto 1fr;grid-template-areas:"scene name" "scene text" "scene text"}.project:not(:has(.project__meta)):not(:has(.project__kind)):nth-child(2n){grid-template-areas:"name scene" "text scene" "text scene"}}@media(max-width:1023px){.services{grid-template-columns:1fr}.service{min-height:min(68svh,620px)}}@media(max-width:1023px){.contact{padding-bottom:46svh}.contact__head{grid-column:2/13}.contact__side{grid-column:2/13;margin-top:clamp(32px,6vh,64px)}.contact__peak{left:62%;top:44%}}@media(max-width:1023px){.footer__brand{grid-column:1/13}.footer__nav:first-of-type{grid-column:1/5;padding-left:0;border-left:0}.footer__nav:last-of-type{grid-column:5/9}}@media(max-width:767px){:root{--nav-h: 64px}}@media(max-width:767px){.hero{min-height:100svh}igloo-hero.hero::part(container),igloo-hero.hero:not(:defined){padding-bottom:28px}.hero__lead{max-width:34ch}.hero__progress,.hero__labels{display:none}.hero__foot{align-self:end;grid-template-columns:1fr;gap:16px}}@media(max-width:767px){.clients{grid-template-columns:1fr}.clients__list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}.clients__item+.clients__item:before{display:none}}@media(max-width:767px){.intro{min-height:0}igloo-mainframe.intro::part(root){min-height:0}igloo-mainframe.intro::part(container){min-height:0;padding-top:clamp(120px,22vh,200px);row-gap:clamp(24px,5vh,40px)}.intro__scene{left:auto;right:0;width:62%;height:clamp(130px,24vh,200px)}.intro__head,.intro__cols,.intro__axis{grid-column:1/13}.intro__axis{grid-row:auto;max-width:320px}.intro__cols{grid-template-columns:1fr;gap:40px}}@media(max-width:767px){.chapter{position:static;grid-column:1/13;flex-direction:row;align-items:center;margin-bottom:-20px}.chapter__rule{width:clamp(48px,20vw,96px);height:1px;transform-origin:left}}@media(max-width:767px){[data-reveal=rule] .chapter__rule{transform:scaleX(0)}[data-reveal=rule].is-in .chapter__rule{transform:none}}@media(max-width:767px){.projects{row-gap:clamp(40px,7vh,64px)}.projects__head,.projects__aside{grid-column:1/13}.projects__aside{flex-direction:column;gap:8px}.project{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto auto auto;grid-template-areas:"scene" "meta" "name" "kind" "text";min-height:82svh;padding:18px 18px 22px}.project:nth-child(2n){grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto auto auto;grid-template-areas:"scene" "meta" "name" "kind" "text";min-height:82svh;padding:18px 18px 22px}.project__stage{min-height:38svh;margin:28px -18px 0;overflow:visible}.project__media{inset:8% 10% -12%}.project__meta{padding-top:36px}.project__index{left:18px}.project__text{padding-right:52px}}@media(max-width:767px){.services{min-height:0}.service{min-height:min(62svh,560px);padding:clamp(40px,8vh,72px) var(--pad)}.services .chapter{position:absolute;left:var(--pad);top:clamp(24px,4vh,40px);flex-direction:column;margin-bottom:0}.services .chapter__rule{width:1px;height:clamp(48px,7vh,96px);transform-origin:top}.services [data-reveal=rule] .chapter__rule{transform:scaleY(0)}.services [data-reveal=rule].is-in .chapter__rule{transform:scaleY(1)}}@media(max-width:767px){.contact{padding-bottom:50svh}.contact__head,.contact__side{grid-column:1/13}.contact__title{font-size:clamp(1.9rem,8.4vw,3rem)}.contact__labels{display:none}.contact__peak{left:70%;top:58%;height:10%}.contact__scene{height:52%}}@media(max-width:767px){.footer{row-gap:40px}.footer__nav:first-of-type,.footer__nav:last-of-type{grid-column:span 6}.footer__nav:last-of-type{padding-left:var(--gutter)}.footer__bar{flex-direction:column;gap:6px}}@media(max-width:389px){.hero__side .cta{gap:14px}}@media(max-width:389px){.clients__list{grid-template-columns:1fr}}@media(max-width:389px){.contact__mail{font-size:clamp(1.25rem,7vw,1.6rem)}}.page-hero{min-height:min(72svh,760px);padding:calc(var(--nav-h) + clamp(32px,6vh,72px)) var(--pad) clamp(56px,8vh,96px);display:grid;align-content:end;gap:22px}.page-hero__overline{color:var(--fg-mute)}.page-hero__title{font-size:clamp(2.6rem,1.2rem + 4.2vw,5.6rem);line-height:.98;letter-spacing:-.04em}.page-hero__title .line{display:block}.page-hero__lead{max-width:46ch;color:var(--fg-mute);font-size:clamp(1rem,.92rem + .3vw,1.125rem)}.page-hero__lead a{text-decoration:underline;text-underline-offset:3px}.page-hero__mark{width:36px;color:currentColor}.page-hero--acid{background:var(--acid);color:var(--ink);--fg: var(--ink);--fg-mute: rgb(12 22 27 / .72)}.page-hero--paper{background:var(--paper);color:var(--ink);--fg: var(--ink);--fg-mute: var(--mute-on-light)}.page-hero .block__actions .link{font-size:calc(var(--fs-mono) + 2px)}.block{padding:clamp(72px,10vh,128px) var(--pad);display:grid;gap:20px}.block__title{font-size:var(--fs-h2);letter-spacing:-.035em;line-height:1.05}.block__text{max-width:54ch;color:var(--fg-mute)}.block__text+.block__text{margin-top:-8px}.block a:not(.cta):not(.link):not(.service__cta){text-decoration:underline;text-underline-offset:3px}.block--acid{background:var(--acid);color:var(--ink);--fg: var(--ink);--fg-mute: rgb(12 22 27 / .62)}.block--ink{background:var(--ink)}.block--paper{background:var(--paper)}.block--tight{padding-block:clamp(48px,6vh,80px)}.block--row{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:var(--gutter)}.block__actions{display:flex;flex-wrap:wrap;gap:20px 32px;margin-top:8px}.jobs{display:grid;gap:14px;max-width:62ch;padding-left:0}.jobs li{padding-left:1.1em;text-indent:-1.1em;color:var(--fg-mute)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gutter);padding:0 var(--pad) clamp(72px,10vh,128px);background:var(--bg)}.cards--team{padding-top:clamp(32px,5vw,64px)}.card{display:grid;align-content:start;gap:12px;padding:clamp(28px,4vh,40px) 0;border-top:1px solid var(--rule)}.card:has(.card__photo){padding-top:0}.card__photo{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}.card__photo img{display:block;width:100%;height:100%;object-fit:cover}.card__name{font-size:var(--fs-h3);letter-spacing:-.03em;line-height:1.15}.card__role{font-size:var(--fs-mono);font-family:var(--mono);color:var(--fg-mute)}.card__bio{color:var(--fg-mute);max-width:36ch}.cards--scroll{grid-template-columns:repeat(4,minmax(0,1fr))}.cards--dark{background:var(--ink)}.split{display:grid;grid-template-columns:1fr 1fr;min-height:min(70svh,760px);background:var(--ink)}.panel{position:relative;display:grid;align-content:center;gap:18px;padding:clamp(48px,8vh,96px) clamp(28px,4vw,64px);overflow:hidden}.panel__body{position:relative;z-index:2;display:grid;gap:16px;max-width:42ch}.panel__title{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.4rem);letter-spacing:-.03em;line-height:1.12}.panel--ink{background:var(--ink);color:var(--ivory)}.panel--paper{background:var(--paper);color:var(--ink)}.panel--acid{background:var(--acid);color:var(--ink)}igloo-falling.split__falling{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}igloo-falling.page-band__falling{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}igloo-falling.cta-band__falling{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.page-band{position:relative;min-height:min(36svh,280px);overflow:hidden;background:var(--acid)}.page-band--ink{background:var(--ink)}.people{padding:clamp(40px,6vh,72px) var(--pad);background:var(--ink-2);color:var(--ivory)}.people__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gutter)}.people__item{display:grid;align-content:start;gap:10px}.people__photo{margin:0;aspect-ratio:3/4;overflow:hidden;background:var(--ink)}.people__photo img{display:block;width:100%;height:100%;object-fit:cover}.people__name{font-size:1rem;letter-spacing:-.02em;line-height:1.2}.people__role{color:#f0f1e88c}.cta-band{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--gutter);row-gap:14px;min-height:min(32svh,260px);padding:clamp(40px,6vh,72px) var(--pad);background:var(--ink);color:var(--ivory)}.cta-band>:not(igloo-falling){position:relative;z-index:2}.cta-band__label,.cta-band__note{grid-column:1}.cta-band .cta{grid-column:2;grid-row:1/-1;color:inherit;justify-self:end;align-self:center}.cta-band--acid{background:var(--acid);color:var(--ink);--fg: var(--ink);--fg-mute: rgb(12 22 27 / .62)}.cta-band--acid .cta__disc{background:var(--ink);color:var(--acid)}.cta-band--center{justify-items:center;text-align:center}.cta-band__label{font-size:clamp(1.4rem,1.1rem + 1.2vw,2.2rem);letter-spacing:-.03em;line-height:1.15;font-family:var(--display);font-weight:700}.cta-band__note{color:var(--fg-mute);max-width:42ch}.cta-band a:not(.cta){text-decoration:underline;text-underline-offset:3px}.preview{padding:0 var(--pad) clamp(72px,10vh,120px);background:var(--ink)}.preview .projects__list{grid-template-columns:1fr 1fr}.preview--related .projects__list{grid-template-columns:repeat(3,minmax(0,1fr))}.preview--related .project{min-height:min(56vh,480px)}.cross{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);padding:clamp(72px,10vh,128px) var(--pad);background:var(--paper);color:var(--ink)}.cross__title{font-size:var(--fs-h2);letter-spacing:-.035em;line-height:1.05}.cross__body{display:grid;align-content:center;gap:14px}.cross__subtitle{font-size:var(--fs-h3)}.cross--ink{background:var(--ink);color:var(--ivory)}.case-hero{min-height:min(56svh,560px);padding:0;overflow:hidden;background:var(--ink)}.case-hero__media{display:block;width:100%;height:min(56svh,560px);object-fit:cover}.case-intro{padding:clamp(56px,8vh,96px) var(--pad) clamp(32px,4vh,48px);display:grid;gap:18px;background:var(--paper);color:var(--ink)}.case-intro__meta{font-family:var(--mono);font-size:var(--fs-mono);color:var(--mute-on-light)}.case-intro__title{font-size:clamp(2.4rem,1.4rem + 3vw,4.4rem);letter-spacing:-.04em}.case-intro__text{max-width:46ch;color:var(--mute-on-light)}.switch{display:flex;align-items:center;gap:16px;padding:28px var(--pad);background:var(--paper);color:var(--ink);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.switch__label{font-family:var(--mono);font-size:var(--fs-mono);color:var(--mute-on-light)}.switch__label.is-on{color:var(--ink)}.toggle{position:relative;width:48px;height:28px}.toggle__input{position:absolute;inset:0;opacity:0;cursor:pointer}.toggle__track{display:block;width:100%;height:100%;border-radius:999px;background:var(--ink)}.toggle__track:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--acid);transition:transform .35s var(--ease-out)}.toggle__input:checked+.toggle__track:after{transform:translate(20px)}.case-media{padding:0;background:var(--ink)}.case-media img{display:block;width:100%;height:min(48svh,420px);object-fit:cover}.clients--page{grid-template-columns:minmax(140px,1fr) auto auto}.clients--page .link{justify-self:end}@media(max-width:1023px){.block--row{grid-template-columns:1fr}}@media(max-width:1023px){.split{grid-template-columns:1fr}}@media(max-width:1023px){.cross{grid-template-columns:1fr}}@media(max-width:1023px){.cards,.cards--scroll{grid-template-columns:1fr}}@media(max-width:1023px){.cta-band{grid-template-columns:1fr}}@media(max-width:1023px){.people__list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1023px){.cta-band .cta{grid-column:1;grid-row:auto;justify-self:start}}@media(max-width:1023px){.preview--related .projects__list{grid-template-columns:1fr 1fr}.preview.preview--related .project:not(:has(.project__meta)):not(:has(.project__kind)),.preview.preview--related .project:not(:has(.project__meta)):not(:has(.project__kind)):nth-child(2n){grid-template-columns:none;grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"." "name" "text";min-height:min(52vh,440px)}.preview.preview--related .project__stage{position:absolute;inset:0 0 42%;grid-area:auto;min-height:0;overflow:visible}}@media(max-width:767px){.page-hero{min-height:0}.page-hero__title{font-size:clamp(2.4rem,11vw,3.4rem)}}@media(max-width:767px){.preview--related .projects__list{grid-template-columns:1fr}}@media(max-width:767px){.people__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.preview .projects__list{grid-template-columns:1fr}}.faq{padding:clamp(72px,10vh,128px) var(--pad);background:var(--paper);color:var(--ink)}.faq__title{font-size:var(--fs-h2);letter-spacing:-.035em;line-height:1.05;max-width:16ch;margin-bottom:clamp(32px,5vh,56px)}.faq__item{border-top:1px solid var(--rule);color:var(--ink)}.faq__item:last-child{border-bottom:1px solid var(--rule)}.faq__summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;cursor:pointer;list-style:none}.faq__summary::-webkit-details-marker{display:none}.faq__summary:after{content:"+";flex:0 0 auto;font-family:var(--mono);font-size:1.4rem;line-height:1}.faq__item[open] .faq__summary:after{content:"−"}.faq__question{font-size:clamp(1.05rem,.95rem + .4vw,1.35rem);font-weight:550;letter-spacing:-.025em}.faq__answer{margin:0;max-width:62ch;padding:0 0 28px;color:var(--mute-on-light);line-height:1.7}@media(max-width:767px){.faq__summary{padding-block:22px}}.form{display:grid;gap:28px;max-width:720px;margin-top:12px}.field{display:grid;gap:10px}fieldset.field{border:0;margin:0;padding:0;min-inline-size:0}fieldset.field legend{padding:0;float:none}.field__label{font-family:var(--mono);font-size:var(--fs-mono);color:var(--fg-mute)}.field__control{width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;color:var(--fg);font:inherit}.field__control::placeholder{color:var(--fg-mute)}.field__control:focus{outline:none;border-bottom-color:var(--acid)}textarea.field__control{min-height:8em;resize:vertical}select.field__control{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 6px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:28px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative}.chip__input{position:absolute;opacity:0;pointer-events:none}.chip__label{display:inline-flex;padding:8px 14px;border:1px solid var(--rule);border-radius:999px;font-family:var(--mono);font-size:var(--fs-mono);cursor:pointer;transition:background .3s var(--ease-out),color .3s,border-color .3s}.chip__input:checked+.chip__label{background:var(--acid);color:var(--ink);border-color:var(--acid)}.chip__input:focus-visible+.chip__label{outline:2px solid var(--acid);outline-offset:3px}.form__actions{margin-top:8px}.dropzone{display:grid;place-items:center;min-height:120px;padding:24px;border:1px dashed var(--rule);color:var(--fg-mute);text-align:center;cursor:pointer}.dropzone:hover,.dropzone:focus-visible{border-color:var(--acid);color:var(--fg)}.process{display:grid;padding:0 var(--pad) clamp(40px,6vh,72px);background:var(--paper);color:var(--ink)}.process__item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,48px);padding:clamp(36px,5vh,56px) 0;border-top:1px solid var(--rule);align-items:start}.process__item:last-child{border-bottom:1px solid var(--rule)}.process__index{display:flex;flex-direction:column;gap:12px;color:var(--mute-on-light)}.process__index:after{content:"";width:1px;height:clamp(32px,5vh,56px);background:currentColor;opacity:.5}.process__title{font-size:clamp(1.25rem,1rem + .8vw,1.7rem);letter-spacing:-.03em;line-height:1.2;margin-bottom:12px}.process__text{color:var(--mute-on-light);max-width:48ch}.process__text+.process__text{margin-top:12px}.process__item .link,.process__item .cta{margin-top:18px}@media(max-width:767px){.process__item{grid-template-columns:1fr;gap:8px}}.filters{display:flex;flex-wrap:wrap;gap:12px;padding:28px var(--pad) 12px;background:var(--paper);color:var(--ink)}.archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);padding:24px var(--pad) clamp(72px,10vh,128px);background:var(--paper);color:var(--ink)}.archive__item{display:grid;gap:14px;padding-top:20px;border-top:1px solid var(--rule);color:inherit}.archive__item[hidden]{display:none}.archive__media{aspect-ratio:16/10;overflow:hidden;background:var(--ink-2)}.archive__media img{display:block;width:100%;height:100%;object-fit:cover}.archive__title{font-size:var(--fs-h3);letter-spacing:-.03em}.archive__text{color:var(--mute-on-light);max-width:44ch}@media(max-width:1023px){.archive{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.archive{grid-template-columns:1fr}}[data-reveal=fade]{opacity:0;transform:translateY(26px);transition:opacity .9s ease var(--delay, 0ms),transform 1.1s var(--ease-out) var(--delay, 0ms)}[data-reveal=fade].is-in{opacity:1;transform:none}[data-reveal=lines] .line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}[data-reveal=lines] .line>span{display:inline-block;transform:translateY(112%);transition:transform 1.25s var(--ease-out)}[data-reveal=lines] .line:nth-child(1)>span{transition-delay:0ms}[data-reveal=lines] .line:nth-child(2)>span{transition-delay:90ms}[data-reveal=lines] .line:nth-child(3)>span{transition-delay:.18s}[data-reveal=lines] .line:nth-child(4)>span{transition-delay:.27s}[data-reveal=lines] .line:nth-child(5)>span{transition-delay:.36s}[data-reveal=lines].is-in .line>span{transform:none}[data-reveal=rule] .chapter__rule{transform:scaleY(0);transition:transform 1.2s var(--ease-out) .2s}[data-reveal=rule].is-in .chapter__rule{transform:scaleY(1)}.hero__title .line>span{transition-duration:1.5s}[data-parallax]{will-change:translate}html.is-smooth{scroll-behavior:auto}html.is-smooth #smooth-content{position:fixed;left:0;top:0;width:100%;will-change:transform}.mark--idle .mark-arc{animation:mark-drift 90s linear infinite;transform-origin:50% 100%}@keyframes mark-drift{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-reduced-motion:reduce){[data-reveal=fade],[data-reveal=lines] .line>span,[data-reveal=rule] .chapter__rule{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){[data-parallax]{translate:none!important;will-change:auto}}.nav{grid-template-columns:auto 1fr}.nav__menu{justify-self:end}.nav__link{min-height:44px;align-items:center}.nav__toggle{min-height:44px;min-width:72px}.nav__brand,.nav__toggle{position:relative;z-index:21}.cta:hover .cta__disc span,.cta:focus-visible .cta__disc span{transform:translate(2px,-2px)}.cta__label>.arrow{display:none}.light .link--accent{color:var(--ink)}.clients--page{grid-template-columns:1fr;gap:24px}.clients--page .clients__list{width:100%;min-width:0}.clients--page .link{justify-self:start}.page-hero{min-height:0;padding-block:calc(var(--nav-h) + 64px) 72px}.page-hero__title{text-wrap:balance}.page-hero--composed,.page-hero--people{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px)}.page-hero__copy{display:grid;align-content:center;gap:24px;min-width:0}.page-hero--composed .page-hero__title,.page-hero--people .page-hero__title{font-size:clamp(2.6rem,4.8vw,5rem)}.glyph{width:48px;height:48px;flex:none}.hero-diagram{margin:0;color:var(--acid)}.light .hero-diagram{color:var(--ink)}.hero-diagram>svg{width:100%;max-height:380px;display:block}.diagram__solid{fill:currentColor;fill-opacity:.17}.hero-diagram figcaption{border-top:1px solid currentColor;padding-top:18px;display:grid;gap:16px}.hero-diagram figcaption p{font-size:1.1rem;letter-spacing:-.02em}.hero-diagram ul{display:flex;justify-content:space-between;gap:12px;font-size:11px;opacity:.75}.people-mosaic{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.people-mosaic img{display:block;width:100%;height:auto;aspect-ratio:3/5;object-fit:cover}.people-mosaic img:nth-child(2){margin-top:36px}.people-mosaic img:nth-child(3){margin-top:72px}.people-mosaic figcaption{grid-column:1/-1;margin-top:16px;line-height:1.8}.people-mosaic a{display:block;text-decoration:underline;text-underline-offset:4px}.brand-construction{display:flex;align-items:center;gap:32px;padding-block:28px}.brand-construction .logo{width:200px;max-width:50%;height:auto}.benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;padding-top:24px}.benefits .process__item{grid-template-columns:48px minmax(0,1fr);gap:24px;border-bottom:0}.benefit__icon{color:var(--ink)}.cta-band--quiet{min-height:0;padding-block:32px;border-block:1px solid var(--rule)}.cta-band--quiet .cta-band__label{font-size:1.35rem;font-weight:500}.field__label,.chip__label{font-family:var(--sans);font-size:14px;line-height:1.5}.field__control{font-size:16px;min-height:48px}.field__control:focus{border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}.chip__label{min-height:44px;align-items:center;padding:10px 16px}.chip__input:focus-visible+.chip__label{outline-color:var(--ink)}.form__hint{font-size:14px;color:var(--fg-mute);max-width:54ch}.form__feedback{padding:24px;background:var(--acid);color:var(--ink);display:grid;gap:12px}.form__feedback[hidden]{display:none}.form__draft{white-space:pre-wrap;font:inherit;max-height:240px;overflow:auto}.dropzone:has(+input:focus-visible){outline:2px solid var(--ink);outline-offset:4px}.contact-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(48px,8vw,128px);padding:56px var(--pad) 88px}.contact-aside{display:grid;align-content:start;gap:24px}.contact-aside h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;letter-spacing:-.03em}.contact-aside a{text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-aside address{font-style:normal;line-height:1.8}.contact-layout .form{margin:0;max-width:none}.page-hero--contact{padding-bottom:48px}.jobs{max-width:none;gap:0}.jobs li{padding:24px 0;text-indent:0;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr auto;gap:12px 24px}.jobs li strong{font-size:1.5rem;color:var(--fg)}.jobs li p{max-width:60ch;grid-row:2}.jobs li a{grid-column:2;grid-row:1/3;align-self:center}.service__mark .glyph{width:48px;height:48px}.service-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:48px var(--pad)}.service-paths article{border-top:1px solid var(--rule);padding-top:24px;display:grid;gap:16px;align-content:start}.service-paths h2{font-size:1.4rem;letter-spacing:-.02em}.service-paths p{color:var(--fg-mute)}.process__deliverable{font-size:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);max-width:54ch}@media(max-width:1023px){.page-hero--composed,.page-hero--people{gap:32px}}@media(max-width:1023px){.hero-diagram>svg{max-height:300px}}@media(max-width:1023px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cards--scroll{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.benefits{gap:0 32px}}@media(max-width:1023px){.contact-layout{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:40px}}@media(max-width:767px){.nav__menu{justify-self:stretch;align-content:center;padding-top:calc(var(--nav-h) + 32px);color:var(--ivory);visibility:hidden}.nav__menu.is-open{visibility:visible}.nav.is-open .nav__brand{color:var(--ivory)}.nav__menu ul{gap:16px}.nav__menu .nav__link{min-height:48px}}@media(max-width:767px){.page-hero{padding-block:calc(var(--nav-h) + 40px) 48px}.page-hero--composed,.page-hero--people{grid-template-columns:1fr;gap:32px}.page-hero--composed .page-hero__title,.page-hero--people .page-hero__title{font-size:clamp(2.5rem,10.5vw,3.5rem)}.page-hero__copy{gap:20px}}@media(max-width:767px){.hero-diagram{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:20px}.hero-diagram figcaption{border-top:0;border-left:1px solid currentColor;padding:8px 0 8px 20px}.hero-diagram figcaption p{font-size:1rem}.hero-diagram ul{flex-direction:column;gap:4px;font-size:11px}}@media(max-width:767px){.people-mosaic img{aspect-ratio:4/5}.people-mosaic img:nth-child(2){margin-top:16px}.people-mosaic img:nth-child(3){margin-top:32px}}@media(max-width:767px){.block{padding-block:56px}}@media(max-width:767px){.cross{padding-block:56px}}@media(max-width:767px){.faq{padding-block:56px}}@media(max-width:767px){.block--tight{padding-block:32px}}@media(max-width:767px){.benefits{grid-template-columns:1fr}}@media(max-width:767px){.service-paths{grid-template-columns:1fr}}@media(max-width:767px){.contact-layout{grid-template-columns:1fr}}@media(max-width:767px){.benefits .process__item{grid-template-columns:40px 1fr;gap:20px}.benefit__icon .glyph{width:40px;height:40px}}@media(max-width:767px){.process:not(.benefits) .process__item{grid-template-columns:28px minmax(0,1fr);gap:16px}.process__index:after{display:none}.process__index{padding-top:3px}}@media(max-width:767px){.cards{grid-template-columns:1fr}.card{gap:14px}.card__photo{aspect-ratio:4/3}}@media(max-width:767px){.contact-layout{padding-block:40px 56px;gap:40px}}@media(max-width:767px){.contact-aside{gap:20px}.contact-aside h2{font-size:1.8rem}}@media(max-width:767px){.form{gap:24px}}@media(max-width:767px){.jobs li{grid-template-columns:1fr}.jobs li a{grid-column:1;grid-row:3;justify-self:start}}.hardware-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:16px var(--pad) 64px}.hardware-steps article{display:grid;align-content:start;gap:16px;border-top:1px solid var(--rule);padding-top:24px}.hardware-steps h3{font-size:1.3rem}.hardware-steps p{color:var(--fg-mute)}.dropzone.is-dragging{border:2px solid var(--ink);background:var(--acid)}@media(max-width:1023px){.hardware-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.hardware-steps{grid-template-columns:1fr;gap:24px}}.projects__list>.project.project--visual,.projects__list>.project.project--visual:nth-child(2n){grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;grid-template-areas:"media" "meta" "name" "kind" "text";min-height:0;padding:0 0 24px;gap:12px;align-content:start;border:0;border-bottom:1px solid var(--rule);overflow:visible}.projects__list>.project.project--visual .project__stage{position:relative;inset:auto;grid-area:media;aspect-ratio:3/2;width:100%;min-height:0;overflow:hidden}.projects__list>.project.project--visual .project__media{position:absolute;inset:0;margin:0}.projects__list>.project.project--visual .project__media>img{object-fit:contain;object-position:center;transition:transform .5s}.projects__list>.project.project--visual:hover .project__media>img{transform:scale(1.025)}.projects__list>.project.project--visual.project--framed .project__stage{aspect-ratio:24/17;background:var(--ink);border:1px solid var(--rule);isolation:isolate}.projects__list>.project.project--visual.project--framed .project__media{inset:0;width:91%;aspect-ratio:3/2;height:auto;margin:auto;border:1px solid rgba(240,241,232,.16);box-shadow:0 12px 32px #0003}.project--visual .project__index{display:none}.project--visual .project__name{padding-right:24px}.project--visual .project__text{max-width:44ch}.project--visual .project__link>.arrow{top:auto;bottom:24px;right:0}.project--visual .project__meta{margin-top:8px}.archive__media{aspect-ratio:3/2}.archive__media img{object-fit:contain;transition:transform .5s}.archive__item:hover img{transform:scale(1.025)}.archive__meta{display:flex;justify-content:space-between;margin-top:4px;color:var(--mute-on-light)}.portfolio-note{padding:16px var(--pad) 0;font-size:14px;color:var(--mute-on-light)}.case-heading{padding:calc(var(--nav-h) + 48px) var(--pad) 40px;display:grid;gap:40px}.case-heading__row{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end}.case-heading h1{font-size:clamp(2.5rem,6vw,6rem);line-height:1;letter-spacing:-.045em;margin-top:20px}.case-heading__lead{max-width:42ch;font-size:clamp(1.1rem,1.6vw,1.5rem);color:var(--mute-on-light)}.case-switch{scroll-margin-top:calc(var(--nav-h) + 20px)}.case-switch__intro{margin-bottom:16px;color:var(--mute-on-light)}.case-switch__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.case-switch__option{display:flex;align-items:center;gap:24px;padding:24px;border:1px solid var(--rule);color:var(--ink);text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}.case-switch__option[href]:hover{border-color:var(--ink);background:var(--paper-2)}.case-switch__option[aria-selected=true],.case-switch__option[aria-selected=true]:hover{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.case-switch__option[aria-selected=true] .case-switch__icon,.case-switch__option[aria-selected=true] .case-switch__number,.case-switch__option[aria-selected=true]:hover .case-switch__icon,.case-switch__option[aria-selected=true]:hover .case-switch__number{color:var(--acid)}.case-switch__option[aria-selected=true] .case-switch__arrow,.case-switch__option[aria-selected=true]:hover .case-switch__arrow{transform:rotate(45deg)}.case-switch__option:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.case-switch__icon{width:44px;flex:none}.case-switch__icon svg{display:block;width:100%}.case-switch__copy{display:grid;gap:4px;min-width:0}.case-switch__name{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2;font-weight:600;letter-spacing:-.035em}.case-switch__description{font-size:14px;opacity:.75}.case-switch__number{margin-left:auto;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:end;gap:8px}.case-switch__arrow{font-family:var(--sans);font-size:24px;line-height:1;transition:transform .18s ease}.case-switch--single .case-switch__list{display:flex}.case-switch--single .case-switch__option{padding:12px 18px;gap:12px}.case-switch--single .case-switch__icon{width:28px}.case-switch--single .case-switch__name{font-size:1rem}@media(max-width:767px){.case-switch__list{gap:8px}.case-switch__option{display:grid;grid-template-columns:1fr auto;grid-template-rows:32px 1fr;align-items:start;gap:16px 8px;padding:16px}.case-switch__icon{width:32px}.case-switch__copy{grid-column:1/-1;grid-row:2}.case-switch__number{grid-column:2;grid-row:1;flex-direction:row;align-items:center}.case-switch__description{font-size:12px}.case-switch--single .case-switch__option{display:flex}}@media(prefers-reduced-motion:reduce){.case-switch__option,.case-switch__arrow{transition:none}}.case-study{background:var(--paper)}.case-study[hidden]{display:none}.case-study:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.case-system{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,96px);margin:0 var(--pad);padding:clamp(32px,6vw,80px);min-height:440px;background:var(--ink);color:var(--ivory)}.case-system__intro{display:grid;gap:24px}.case-system__intro .mono{color:var(--acid)}.case-system__intro h2{max-width:13ch;font-size:var(--case-title-size, clamp(2rem, 4vw, 4rem));line-height:1.05;letter-spacing:-.045em}.case-system__intro>p:last-child{max-width:40ch;color:var(--ivory);opacity:.75}.case-system__diagram{margin:0;text-align:center}.case-system__diagram figcaption{margin-top:40px;color:var(--ivory);opacity:.6;font-size:10px}.case-system--small{background:transparent;color:var(--fg);min-height:0;margin:0;padding:clamp(48px,7vh,88px) var(--pad);align-items:start;gap:clamp(32px,5vw,80px);border-block:1px solid var(--rule);--case-title-size: clamp(1.7rem, 2.8vw, 2.6rem)}.case-system--small .case-system__intro{gap:20px}.case-system--small .case-system__intro .mono{color:var(--mute-on-light)}.case-system--small .case-system__intro h2{max-width:20ch}.case-system--small .case-system__intro>p:last-child{color:var(--fg-mute);opacity:1}.case-system__hub{display:grid;justify-items:center;gap:16px;width:fit-content;min-width:140px;margin-inline:auto;padding:24px;border:1px solid var(--acid);color:var(--acid)}.case-system__hub svg{width:64px}.case-system__hub span{font-size:14px}.case-system__nodes{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:64px}.case-system__nodes:before{content:"";position:absolute;top:0;left:50%;height:32px;border-left:1px solid var(--acid)}.case-system__nodes:after{content:"";position:absolute;top:32px;left:calc((100% - 24px) / 6);right:calc((100% - 24px) / 6);border-top:1px solid var(--acid)}.case-system__nodes li{position:relative;border:1px solid rgba(240,241,232,.35);padding:16px 8px;font-size:13px}.case-system__nodes li:before{content:"";position:absolute;top:-32px;left:50%;height:31px;border-left:1px solid var(--acid)}.case-schema{margin:0}.case-schema__flow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.case-schema__nodes{list-style:none;margin:0;padding:0;display:grid;gap:18px}.case-schema__node{display:grid;grid-template-columns:auto auto minmax(24px,1fr);align-items:center;gap:14px}.case-schema__index{font-size:10px;color:var(--mute-on-light)}.case-schema__name{font-size:15px}.case-schema__line{height:1px;margin-right:16px;background:var(--rule)}.case-schema__nodes{position:relative}.case-schema__nodes:after{content:"";position:absolute;top:.75em;bottom:.75em;right:0;width:16px;border:1px solid var(--rule);border-left:0;border-radius:0 16px 16px 0;pointer-events:none}.case-schema__node:not(:first-child):not(:last-child) .case-schema__line{margin-right:0}.case-schema__hub{position:relative}.case-schema__hub:before{content:"";position:absolute;top:50%;right:100%;width:14px;border-top:1px solid var(--rule)}.case-schema__hub{display:flex;align-items:center;gap:14px;margin:0}.case-schema__hub .mono{font-size:13px;letter-spacing:.06em;text-transform:uppercase}.case-schema__mark{width:10px;height:10px;background:var(--acid);border:1px solid var(--ink)}.case-schema figcaption{margin-top:32px;font-size:10px;color:var(--mute-on-light)}@media(max-width:1023px){.case-system{grid-template-columns:1fr}.case-system__diagram{width:100%;max-width:460px;margin-inline:auto}.case-system__intro h2{max-width:20ch}}@media(max-width:767px){.case-system{margin-inline:0;padding:40px var(--pad)}.case-system__nodes li{font-size:12px;padding-inline:4px}.case-schema__flow{grid-template-columns:1fr;align-items:start}.case-schema__node{grid-template-columns:auto auto 1fr}.case-schema__line{display:none}.case-schema__nodes:after,.case-schema__hub:before{display:none}.case-schema__hub{margin-top:8px}}.case-heading--identity{--visual-top: clamp(32px, 6vh, 72px);position:relative;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);row-gap:0;padding:calc(var(--nav-h) + var(--visual-top)) var(--pad) 0;overflow:hidden}.case-heading--identity h1{margin-top:0;font-size:clamp(2.6rem,4.8vw,5rem);line-height:.98;letter-spacing:-.04em;text-wrap:balance}.case-heading--identity .case-heading__lead{max-width:36ch}.case-heading--identity .case-switch{width:100%;max-width:560px;margin-top:12px}.case-heading--identity .case-switch__intro{margin-bottom:10px}.case-heading--identity .case-switch__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;border-top:1px solid var(--rule)}.case-heading--identity .case-switch__option,.case-heading--identity .case-switch__option[href]:hover,.case-heading--identity .case-switch__option[aria-selected=true],.case-heading--identity .case-switch__option[aria-selected=true]:hover{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-items:start;gap:4px 12px;margin-top:-1px;padding:14px 0 0;border:0;border-top:2px solid transparent;background:none;color:var(--mute-on-light)}.case-heading--identity .case-switch__option[href]:hover{color:var(--ink);border-top-color:var(--rule)}.case-heading--identity .case-switch__option[aria-selected=true],.case-heading--identity .case-switch__option[aria-selected=true]:hover{color:var(--ink);border-top-color:var(--ink)}.case-heading--identity .case-switch__option[aria-selected=true] .case-switch__icon,.case-heading--identity .case-switch__option[aria-selected=true]:hover .case-switch__icon,.case-heading--identity .case-switch__option[aria-selected=true] .case-switch__number,.case-heading--identity .case-switch__option[aria-selected=true]:hover .case-switch__number{color:var(--ink)}.case-heading--identity .case-switch__option[aria-selected=true] .case-switch__number:before,.case-heading--identity .case-switch__option[aria-selected=true]:hover .case-switch__number:before{background:var(--acid);border-color:var(--ink)}.case-heading--identity .case-switch__icon{grid-column:1;grid-row:1/span 2;width:24px;margin-top:2px}.case-heading--identity .case-switch__copy{grid-column:2;grid-row:2}.case-heading--identity .case-switch__name{font-size:1.05rem;letter-spacing:-.02em}.case-heading--identity .case-switch__description{font-size:13px;opacity:1}.case-heading--identity .case-switch__number{grid-column:2;grid-row:1;flex-direction:row;align-items:center;justify-content:start;gap:8px;margin:0;font-size:11px}.case-heading--identity .case-switch__number:before{content:"";width:7px;height:7px;border:1px solid currentColor}.case-heading--identity .case-switch__arrow{display:none}.case-heading__copy{grid-column:1;grid-row:1;position:relative;z-index:2;display:grid;justify-items:start;align-content:start;gap:20px;min-width:0;padding-bottom:clamp(40px,6vh,72px)}.case-heading__back{margin-bottom:clamp(12px,3vh,32px)}.case-heading__overline{color:var(--fg-mute)}.case-heading__visual{grid-column:2;grid-row:1;position:relative;min-height:360px;margin:calc(-1 * var(--visual-top)) calc(-1 * var(--pad)) 0 0}.case-heading__caption{position:absolute;right:var(--pad);bottom:16px;font-size:10px;color:var(--fg-mute)}.case-heading__visual--shot igloo-identity{opacity:.22;mask-image:none;transform:translate(-10%,-18%)}.case-heading__visual--shot .case-heading__shot{position:absolute;z-index:1;top:50%;right:clamp(8px,1.5vw,28px);left:auto;width:auto;height:auto;max-width:min(84%,680px);max-height:84%;transform:translateY(-50%);border-radius:12px;box-shadow:0 28px 64px #0c161b52}.case-heading__meta{grid-column:1/-1;grid-row:2;position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:16px clamp(40px,6vw,96px);margin:0;padding:20px 0 clamp(40px,6vh,64px);border-top:1px solid var(--rule)}.case-heading__meta dt{margin-bottom:6px;color:var(--fg-mute)}.case-heading__meta dd{margin:0;font-size:var(--fs-body)}.case-heading__meta .link{display:inline-flex;gap:6px}.case-statement{display:grid;grid-template-columns:.55fr 1fr 1fr;gap:48px;padding:clamp(72px,12vh,128px) var(--pad) 0}.case-statement__label{padding-top:.9em;color:var(--mute-on-light)}.case-statement__body{grid-column:2/-1}.case-statement__body h2{max-width:20ch;font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.case-statement__body p{max-width:48ch;margin-top:24px;font-size:clamp(1.05rem,.95rem + .4vw,1.25rem);color:var(--mute-on-light)}igloo-identity{position:absolute;inset:0;display:block;overflow:hidden;color:var(--ink);pointer-events:none}igloo-identity[hidden]{display:none}igloo-identity{mask-image:linear-gradient(90deg,transparent 0,#000 18%)}igloo-identity:is([family=sites],[family=plan]){mask-image:none}.iv{display:block}.iv-layer{transition:transform 1.4s var(--ease-out)}.iv-layer--back{transform:translate(calc(var(--iv-px, 0) * 2px),calc(var(--iv-py, 0) * 1px))}.iv-layer--mid{transform:translate(calc(var(--iv-px, 0) * 4px),calc(var(--iv-py, 0) * 3px))}.iv-layer--front{transform:translate(calc(var(--iv-px, 0) * 6px),calc(var(--iv-py, 0) * 4px))}.iv-dots{fill:currentColor;opacity:.3}.iv-line,.iv-ring,.iv-block,.iv-node,.iv-pulse{vector-effect:non-scaling-stroke;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.iv-line{fill:none}.iv-line--lane{opacity:.4}.iv-line--main{opacity:.9}.iv-line--ray{opacity:.3}.iv-line--wall{opacity:.75}.iv-line--faint{opacity:.35;stroke-dasharray:3 5}.iv-pulse{fill:none;stroke-width:2.5px;stroke-dasharray:2.5 97.5;stroke-dashoffset:100;opacity:0}.iv-ring{fill:none;opacity:.8;transform-box:fill-box;transform-origin:center}.iv-ring--faint{opacity:.2;stroke-dasharray:2 7}.iv-ring--seat{fill:var(--bg);opacity:.7}.iv-block{fill:none;opacity:.8}.iv-block--solid{fill:currentColor;fill-opacity:.17}.iv-block--hub{opacity:1}.iv-block--opaque{fill:var(--bg)}.iv-block--faint{opacity:.35;stroke-dasharray:3 4}.iv-block--site{opacity:.7}.iv-node{fill:var(--bg)}.iv-node--hub{fill:var(--acid)}.iv-label,.iv-index{font-family:var(--mono);letter-spacing:.01em;fill:currentColor;paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.iv-label{font-size:11px;opacity:.72}.iv-label--focus{font-size:12px;letter-spacing:.08em;opacity:1}.iv-index{font-size:10px;opacity:.5}.iv-pulse{animation:iv-pulse 14s linear infinite;animation-delay:calc(var(--iv-i, 0) * -2.9s);animation-play-state:paused}.iv-ring{animation:iv-breathe 7s var(--ease-io) infinite alternate;animation-play-state:paused}.iv-ring--faint{animation:iv-turn 240s linear infinite;animation-play-state:paused}.iv-ring.iv-ring--seat{animation:none}[data-editorial-motion].is-moving:not(.is-paused) .iv-pulse,[data-editorial-motion].is-moving:not(.is-paused) .iv-ring{animation-play-state:running}:is(.archive__item,.project):is(:hover,:focus-within) igloo-identity[variant=card] .iv-pulse,:is(.archive__item,.project):is(:hover,:focus-within) igloo-identity[variant=card] .iv-ring{animation-play-state:running}igloo-identity[variant=card][motion=off] .iv-pulse,igloo-identity[variant=card][motion=off] .iv-ring{animation-play-state:paused!important}@keyframes iv-pulse{0%{stroke-dashoffset:100;opacity:0}12%{opacity:.7}88%{opacity:.7}to{stroke-dashoffset:0;opacity:0}}@keyframes iv-breathe{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes iv-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.iv-pulse{display:none}.iv-ring{animation:none}.iv-layer{transform:none;transition:none}}.project-identity{--surface: color-mix(in srgb, currentColor 4%, var(--bg));--pad: clamp(14px, 1.6vw, 24px);position:relative;container-type:inline-size;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;padding:var(--pad);background:var(--surface);border:1px solid color-mix(in srgb,currentColor 14%,transparent);overflow:hidden;transition:border-color .5s var(--ease-out)}.project-identity__label{position:relative;z-index:1;font-size:11px;opacity:.62}.project-identity__visual{--bg: var(--surface);position:relative;min-height:0;margin:4px calc(-1 * var(--pad)) 12px}.project-identity__visual img.project-identity__shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-identity--shot{display:block;padding:0}.project-identity--shot .project-identity__visual{position:absolute;inset:0;margin:0}.project-identity__footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:28px}.project-identity img.project-identity__logo{width:auto;max-width:46%;height:clamp(16px,5cqw,26px);object-fit:contain;object-position:left;filter:brightness(0) invert(1);transform:none}.project-identity__name{font-size:clamp(15px,3.6cqw,20px);font-weight:600;letter-spacing:-.02em}.project-identity__arrow{font-size:18px;line-height:1;transition:transform .5s var(--ease-out)}.project-identity--plain .project-identity__footer{align-items:end}.project-identity--plain .project-identity__name{max-width:14ch;font-size:clamp(24px,7cqw,44px);line-height:1;letter-spacing:-.04em}.light .project-identity img.project-identity__logo{filter:brightness(0)}igloo-identity[variant=card]{color:inherit;mask-image:none}:is(.archive__item,.project):is(:hover,:focus-within) .project-identity{border-color:color-mix(in srgb,currentColor 34%,transparent)}:is(.archive__item,.project):is(:hover,:focus-within) .project-identity .project-identity__arrow{transform:translate(3px,-3px)}@media(hover:hover)and (pointer:fine){.project-identity--shot .project-identity__visual{isolation:isolate;background:var(--ivory)}.project-identity--shot img.project-identity__shot{filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply;transition:filter .6s var(--ease-out),transform .6s var(--ease-out)}:is(.archive__item,.project):is(:hover,:focus-within) .project-identity--shot .project-identity__visual{background:transparent}:is(.archive__item,.project):is(:hover,:focus-within) .project-identity--shot img.project-identity__shot{filter:none;mix-blend-mode:normal;transform:scale(1.025)}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:reduce){.project-identity--shot img.project-identity__shot{transition:none}}.service-tags{display:flex;flex-wrap:wrap;gap:8px}.service-tags li{padding:8px 12px;border:1px solid var(--rule);font-size:13px}.case-cover{margin:0;padding:0 var(--pad) 32px}.case-cover img{width:100%;height:auto;display:block}.case-cover figcaption{padding-top:16px;color:var(--mute-on-light);font-size:13px;max-width:72ch}.case-detail figcaption{padding-top:16px;color:var(--mute-on-light);font-size:13px;max-width:72ch}.case-story,.case-direction{--chapter-cols: minmax(0, 4fr) minmax(0, 7fr) minmax(0, 1fr);display:grid;grid-template-columns:var(--chapter-cols);column-gap:clamp(32px,4vw,64px)}.case-story{padding:clamp(72px,10vw,128px) var(--pad) clamp(64px,9vw,120px)}.case-story>.mono{grid-column:1/-1;margin-bottom:28px;color:var(--mute-on-light)}.case-story__chapter{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:start}.case-story__chapter+.case-story__chapter{margin-top:clamp(72px,9vw,128px)}.case-direction{align-items:start;padding:0 var(--pad) clamp(80px,11vw,144px)}.case-story__chapter h2,.case-direction h2{grid-column:1;position:sticky;top:calc(var(--nav-h) + 24px);max-width:13ch;font-size:clamp(1.7rem,2.6vw,2.9rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}.case-story__chapter .case-prose,.case-direction .case-prose{grid-column:2}.case-prose{max-width:64ch;font-size:clamp(1.05rem,.98rem + .3vw,1.22rem);line-height:1.55;color:var(--ink)}.case-prose>*+*{margin-top:1.05em}.case-prose__list{list-style:none;padding:0;border-bottom:1px solid var(--rule)}.case-prose__list li{position:relative;padding:16px 0 16px 34px;border-top:1px solid var(--rule)}.case-prose__list li:before{content:"↗";position:absolute;left:2px;top:15px}.case-prose__list strong{font-weight:600}.case-prose>.case-prose__highlight{margin-top:1.8em;padding-left:22px;border-left:3px solid var(--acid);font-size:clamp(1.3rem,1.05rem + .85vw,1.8rem);line-height:1.24;letter-spacing:-.025em;text-wrap:pretty}.case-detail h2,.case-infrastructure h2{font-size:clamp(1.6rem,2.5vw,2.8rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:24px}.case-prose>p:not(.case-prose__highlight){color:#0c161bd6}.case-detail div>p{color:var(--mute-on-light);max-width:48ch}.case-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0 var(--pad) 64px}.case-focus p{border-top:1px solid var(--rule);padding-top:20px;display:flex;gap:16px}.case-focus span{font-size:24px}.case-detail,.case-infrastructure{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:56px;padding:64px var(--pad);align-items:center}.case-detail figure{margin:0}.case-detail img{width:100%;height:auto;display:block}.case-detail .mono,.case-infrastructure .mono{margin-bottom:24px}.case-infrastructure{grid-template-columns:1fr 1fr}.case-infrastructure ul{margin-top:24px;display:grid;gap:12px}.case-infrastructure div>p{color:var(--fg-mute)}.case-direction{border:0}@media(max-width:1023px){.case-story,.case-direction{--chapter-cols: minmax(0, 1fr) minmax(0, 2fr)}}@media(max-width:1023px){.case-heading__row{gap:32px}}@media(max-width:1023px){.case-heading--identity{column-gap:32px}.case-statement{grid-template-columns:1fr 1fr;gap:24px 32px}.case-statement__label{grid-column:1/-1;padding-top:0}.case-statement__body{grid-column:1/-1}}@media(max-width:1023px){.case-detail{grid-template-columns:1fr;gap:32px}}@media(max-width:767px){.projects__list>.project.project--visual{padding-bottom:24px}}@media(max-width:767px){.case-heading{gap:28px;padding-block:calc(var(--nav-h) + 32px) 32px}.case-heading__row{grid-template-columns:1fr;gap:24px}}@media(max-width:767px){.case-heading--identity{--visual-top: 32px;grid-template-columns:1fr;row-gap:20px;padding-block:calc(var(--nav-h) + var(--visual-top)) 0}.case-heading--identity .case-switch__list{gap:0 16px}.case-heading__copy{gap:18px;padding-bottom:8px}.case-heading__visual{grid-column:1;grid-row:2;height:clamp(200px,58vw,280px);min-height:0;margin:0 calc(-1 * var(--pad))}.case-heading__visual--shot .case-heading__shot{right:auto;left:50%;width:auto;max-width:min(92%,680px);transform:translate(-50%,-50%);border-radius:8px}.case-heading__visual--shot igloo-identity{transform:none}.case-heading__meta{grid-row:3;display:grid;gap:12px}.case-heading__meta>div{display:grid;grid-template-columns:104px 1fr;gap:12px}.case-heading__meta dt{margin:.2em 0 0}igloo-identity{mask-image:none}.case-statement{padding-top:56px}}@media(max-width:767px){.case-story,.case-direction{--chapter-cols: minmax(0, 1fr)}.case-story__chapter,.case-direction{row-gap:20px}.case-story__chapter h2,.case-direction h2{position:static;max-width:none}.case-story__chapter h2,.case-story__chapter .case-prose,.case-direction h2,.case-direction .case-prose{grid-column:1}}@media(max-width:767px){.case-focus{grid-template-columns:1fr;gap:24px}}@media(max-width:767px){.case-infrastructure{grid-template-columns:1fr;gap:24px}}@media(max-width:767px){.case-direction{gap:20px}}@media(max-width:767px){.case-heading h1{font-size:clamp(2.5rem,11vw,4rem)}}@media(max-width:767px){.case-cover{padding-inline:0}.case-cover figcaption{padding-inline:var(--pad);font-size:12px}}@media(max-width:767px){.case-story{padding-block:56px 48px}.case-story__chapter+.case-story__chapter{margin-top:56px}.case-direction{padding-bottom:64px}}@media(max-width:767px){.case-detail{padding-block:48px}}@media(max-width:767px){.case-infrastructure{padding-block:48px}}@media(max-width:767px){.case-focus{padding-bottom:48px}}@media(max-width:767px){.case-direction{padding-top:0}}.ownership-list{padding:48px var(--pad) 64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.ownership-list article{border-top:1px solid var(--rule);padding-top:24px;display:grid;gap:16px;align-content:start}.ownership-list h3{font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:-.025em}.ownership-list p{color:var(--fg-mute);max-width:40ch}.case-cover>a{display:block}@media(max-width:767px){.ownership-list{grid-template-columns:1fr;gap:32px;padding-block:32px 48px}}@media(prefers-reduced-motion:reduce){.project--visual>img{transition:none}}@media(prefers-reduced-motion:reduce){.archive__media img{transition:none}}.projects__list>.project.project--visual .project__stage{margin:0}.project--visual .project__meta{padding-top:0}@media(max-width:767px){.projects{padding-block:56px;row-gap:28px}.projects .chapter{margin-bottom:0}.projects__list{gap:40px}.project--visual .project__text{padding-right:24px}}.hero-diagram svg :is(path,rect,circle){vector-effect:non-scaling-stroke;stroke-width:1.5px}.case-result{padding:clamp(72px,12vh,144px) var(--pad);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);row-gap:28px;background:var(--ink);color:var(--ivory)}.case-result>*{grid-column:2/-1}.case-result>.mono{grid-column:1}.case-result .mono{color:var(--acid);padding-top:.5em}.case-result h2{font-size:clamp(1.6rem,3vw,3rem);line-height:1.18;letter-spacing:-.03em;max-width:34ch;font-weight:500}.case-result__list{list-style:none;padding:0;counter-reset:result;border-bottom:1px solid rgba(240,241,232,.16)}.case-result__list li{counter-increment:result;position:relative;padding:clamp(20px,2.6vw,32px) 0 clamp(20px,2.6vw,32px) 88px;border-top:1px solid rgba(240,241,232,.16);font-size:clamp(1.25rem,.9rem + 1.3vw,2.1rem);line-height:1.16;letter-spacing:-.028em;font-weight:500;text-wrap:pretty}.case-result__list li:before{content:counter(result,decimal-leading-zero);position:absolute;left:0;top:calc(clamp(20px,2.6vw,32px) + .55em);color:var(--acid);font-family:var(--mono);font-size:12px;letter-spacing:.04em;line-height:1}.case-result__list strong{font-weight:600;color:var(--acid)}@media(max-width:1023px){.case-result{grid-template-columns:1fr}.case-result>*,.case-result>.mono{grid-column:1}}@media(max-width:767px){.case-result{padding-block:56px}.case-result__list li{grid-template-columns:36px minmax(0,1fr);column-gap:12px}}.project--visual .project__text{padding-right:52px}
