/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--color-brand-ink:#1d2a3b;--color-brand-ink-deep:#111a26;--color-brand-slate:#7b8793;--color-brand-slate-deep:#555f69;--color-brand-slate-light:#a9b3be;--color-brand-signal:#d9622b;--color-white:#fff;--color-paper:#f3f4f6;--color-line:#c3c9d0;--color-line-soft:#d9dde2;--color-text:var(--color-brand-ink);--color-text-soft:var(--color-brand-slate-deep);--color-bg:var(--color-paper);--color-surface:var(--color-white);--color-dark:var(--color-brand-ink-deep);--color-on-dark:var(--color-white);--color-accent:var(--color-brand-slate-light);--color-on-accent:var(--color-brand-ink);--color-border:var(--color-line);--color-signal:var(--color-brand-signal);--color-overlay:#111a2673;--color-error:#7a1414;--font-display:"IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;--font-tech:"VX Mono Latin", "Noto Kufi Arabic", ui-monospace, monospace;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:600;--text-display:calc(clamp(2.5rem, 1.6rem + 3.9vw, 5.25rem));--text-h2:calc(clamp(2.25rem, 1.5rem + 3.4vw, 5rem));--text-h3:calc(clamp(1.5rem, 1.15rem + 1.5vw, 2.75rem));--text-h4:calc(clamp(1.125rem, 1.05rem + .35vw, 1.375rem));--text-lead:calc(clamp(1.0625rem, 1rem + .3vw, 1.25rem));--text-body:1rem;--text-tech:.875rem;--text-label:.8125rem;--text-small:.75rem;--leading-display:1.15;--leading-heading:1.3;--leading-lead:1.6;--leading-body:1.75;--leading-tech:1.85;--spacing-gutter:1rem;--spacing-gutter-md:2.5rem;--spacing-gutter-lg:5.9rem;--spacing-section:3rem;--spacing-section-lg:4rem;--spacing-nav-inset:1.6rem;--container-content:116rem;--radius-xs:.125rem;--radius-sm:.25rem;--breakpoint-xs:420px;--breakpoint-sm:480px;--breakpoint-md:769px;--breakpoint-lg:990px;--breakpoint-xl:1024px;--breakpoint-2xl:1200px;--breakpoint-3xl:1400px;--breakpoint-4xl:1600px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-inout:cubic-bezier(.76, 0, .24, 1);--ease-draw:cubic-bezier(.66, 0, .34, 1);--dur-fast:.25s;--dur-base:.5s;--dur-slow:1s;--pl-step:.32s;--pl-slide:.36s;--pl-expand:.9s;--pl-fade:.45s;--pl-scale:.25;--hero-interval:6s;--hero-fade:1s;--scroll-duration:1.15s;--scroll-to:1.4s;--animate-marquee:marquee 20s linear infinite;--animate-nudge:nudge .5s ease-in-out 2}}@layer base{:root{--mark-ink:var(--color-brand-ink);--mark-slate:var(--color-brand-slate);--flip:1;--to-end:to left}:root[dir=ltr]{--flip:-1;--to-end:to right}*,:after,:before{box-sizing:border-box}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}html.lenis,html.lenis body,img{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped,.media,.sprite{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}body{font-family:var(--font-display);font-size:var(--text-body);font-weight:var(--font-weight-regular);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-medium)}ol,ul{padding:0;list-style:none}img,svg{max-width:100%;display:block}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline-offset:3px;outline:2px solid}.sprite{width:0;height:0;position:absolute}.skip-link{z-index:200;background:var(--color-text);color:var(--color-on-dark);font-family:var(--font-tech);font-size:var(--text-label);transition:transform var(--dur-fast);padding:.6em 1em;position:fixed;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.t-tech{font-family:var(--font-tech);font-size:var(--text-tech);line-height:var(--leading-tech);font-weight:var(--font-weight-regular)}.lead{font-size:var(--text-lead);line-height:var(--leading-lead);font-weight:var(--font-weight-medium)}.prose>p{margin-block-end:1.6em}.prose>p:last-child{margin-block-end:0}.section{padding-block:var(--spacing-section);padding-inline:var(--spacing-gutter);position:relative}@media (width>=480px){.section{padding-inline:var(--spacing-gutter-md)}}@media (width>=769px){.section{padding-block:var(--spacing-section-lg);padding-inline:var(--spacing-gutter-lg)}}@media (width>=127.8rem){.section{padding-inline:calc(.5 * (100% - var(--container-content)))}}.media{position:relative}.media>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}}@layer components{.tags{flex-wrap:wrap;gap:.3em;display:flex}.tag{font-family:var(--font-tech);font-size:var(--text-label);transition:background-color var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);border:1px solid;border-radius:.3em;padding:.15em .55em;line-height:1.6;display:inline-block}.tag:focus-visible,.tag:hover,.tag[aria-pressed=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-on-dark)}.hero .tag:focus-visible,.hero .tag:hover{background:var(--color-on-dark);border-color:var(--color-on-dark);color:var(--color-text)}.btn-arrow{border:1px solid var(--color-text);background:var(--color-text);min-height:2.6em;font-family:var(--font-tech);font-size:var(--text-label);text-align:start;cursor:pointer;transition:background-color var(--dur-fast),border-color var(--dur-fast);border-radius:.065em;align-items:stretch;line-height:1.4;display:inline-flex}.btn-arrow>i,.btn-arrow>span{background:var(--color-surface);color:var(--color-text);transition:background-color var(--dur-fast),color var(--dur-fast);align-items:center;display:flex}.btn-arrow>span{min-width:8em;padding:.55em .9em}.btn-arrow>i{justify-content:center;width:2.65em;margin-inline-start:1px;font-style:normal}.btn-arrow svg{width:1em;height:1em}.btn-arrow:focus-visible,.btn-arrow:hover{background:var(--color-surface);border-color:var(--color-surface)}.btn-arrow:focus-visible>i,.btn-arrow:focus-visible>span,.btn-arrow:hover>i,.btn-arrow:hover>span{background:var(--color-text);color:var(--color-on-dark)}.btn-arrow--ghost{border-color:var(--color-on-dark);background:0 0}.btn-arrow--ghost>i,.btn-arrow--ghost>span{color:var(--color-on-dark);background:0 0}.btn-arrow--ghost>i{border-inline-start:1px solid var(--color-on-dark);margin-inline-start:0}.btn-arrow--ghost:focus-visible,.btn-arrow--ghost:hover{background:0 0;border-color:#0000}.btn-arrow--solid>i,.btn-arrow--solid>span{background:var(--color-text);color:var(--color-on-dark)}.btn-arrow--solid>i{border-inline-start:1px solid #ffffff40;margin-inline-start:0}.btn-arrow--solid:focus-visible>i,.btn-arrow--solid:focus-visible>span,.btn-arrow--solid:hover>i,.btn-arrow--solid:hover>span{background:var(--color-surface);color:var(--color-text)}.block-heading{font-size:calc(clamp(2.3rem,4.2vw,5rem));line-height:1;font-weight:var(--font-weight-medium)}.block-heading__link{display:inline}.block-heading span{background:var(--color-text);color:var(--color-on-dark);vertical-align:top;border-radius:.065em;align-items:center;margin-block:.04em;margin-inline-end:.08em;padding:.12em .22em .2em;line-height:1.15;display:inline-flex}.block-heading__arrow{justify-content:center;align-self:stretch;min-width:1.4em}.block-heading__arrow svg{width:.5em;height:1.15em}.block-heading__link:hover .block-heading__arrow svg{animation:var(--animate-nudge)}.block-heading--light span{background:var(--color-on-dark);color:var(--color-text)}.hero__slide:after,.hero__slide:before,.preloader__slide:after,.preloader__slide:before,.statement__media:after,.statement__media:before{content:"";z-index:2;pointer-events:none;position:absolute;inset:0}.hero__slide:before,.preloader__slide:before,.statement__media:before{background:linear-gradient(#111a2600 30%,#111a2699)}.hero__slide:after,.preloader__slide:after,.statement__media:after{background:linear-gradient(var(--to-end),#111a2600 0,#111a2666 100%)}.mobile-menu__logo svg,.mobile-nav__logo svg,.top-nav__logo svg{width:100%;height:auto}.top-nav{z-index:15;padding:1.25em var(--spacing-nav-inset);font-size:var(--text-label);align-items:center;display:none;position:fixed;inset-block-start:0;inset-inline-start:0}@media (width>=769px){.top-nav{display:flex}}.top-nav__logo{width:2.6rem;transition:opacity var(--dur-fast);display:block}.top-nav__menu{align-items:center;gap:.15em;margin-inline-start:2rem;display:flex}.top-nav__menu>li{position:relative}.top-nav__menu a{white-space:nowrap;transition:background-color var(--dur-fast),color var(--dur-fast);border-radius:.2em;padding:.45em 1.25em;display:block}.top-nav__menu>li>a{background:var(--color-surface);color:var(--color-text)}html[data-nav-theme=accent] .top-nav__menu>li>a,html[data-nav-theme=white] .top-nav__menu>li>a{background:var(--color-paper)}html[data-nav-theme] .top-nav__menu>li.has-sub:focus-within>a,html[data-nav-theme] .top-nav__menu>li.has-sub:hover>a,html[data-nav-theme] .top-nav__menu>li>a.is-current,html[data-nav-theme] .top-nav__menu>li>a:focus-visible,html[data-nav-theme] .top-nav__menu>li>a:hover{background:var(--color-text);color:var(--color-on-dark)}.mobile-menu,html[data-nav-theme=dark] .mobile-nav,html[data-nav-theme=dark] .top-nav{--mark-ink:var(--color-white);--mark-slate:var(--color-brand-slate-light)}.top-nav__sub{opacity:0;pointer-events:none;min-width:14em;transition:opacity var(--dur-base),transform var(--dur-base);padding-block-start:.15em;position:absolute;inset-block-start:100%;inset-inline-start:0;transform:translateY(.5em)}.top-nav__sub li{margin-block-start:.15em}.top-nav__sub a{background:var(--color-text);color:var(--color-on-dark)}.top-nav__sub a:focus-visible,.top-nav__sub a:hover{background:var(--color-surface);color:var(--color-text)}.has-sub:focus-within .top-nav__sub,.has-sub:hover .top-nav__sub{opacity:1;pointer-events:auto;transform:none}.mobile-top{z-index:20;position:fixed;inset-block-start:0;inset-inline:0}@media (width>=769px){.mobile-menu,.mobile-top{display:none!important}}.mobile-top__bar{z-index:2;padding:1.1em var(--spacing-gutter) .6em;background:var(--color-dark);color:var(--color-on-dark);font-size:var(--text-label);transition:padding var(--dur-base) var(--ease-out);justify-content:space-between;align-items:center;gap:1em;display:flex;position:relative}.past-top .mobile-top__bar{padding-block-start:.6em}.marquee{white-space:nowrap;flex:1;position:relative;overflow:hidden}.marquee:after{content:"";background:linear-gradient(var(--to-end),transparent,var(--color-dark));width:1.5em;position:absolute;inset-block:0;inset-inline-end:0}.marquee ul{display:inline-flex}.marquee li{padding-inline-end:2.5em}.mobile-top__contact{flex-shrink:0;align-items:center;gap:.6em;display:inline-flex}.mobile-top__contact svg{width:.85em;height:.85em}.mobile-nav{padding:.8em var(--spacing-gutter);transition:transform var(--dur-base) var(--ease-out),opacity .35s ease-out;align-items:center;gap:1.25em;display:flex}.nav-hidden .mobile-nav{opacity:0;pointer-events:none;transform:translateY(-110%)}.mobile-nav__logo{flex-shrink:0;width:2.1rem}.mobile-nav__buttons{flex:1;gap:.35em;display:flex}.pill-btn{background:var(--color-surface);min-height:2.75rem;color:var(--color-text);font-family:var(--font-tech);font-size:var(--text-label);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast);border-radius:.15em;flex:1;justify-content:center;align-items:center;gap:.6em;padding:.5em 1.25em;display:inline-flex}.mm-lang:active,.pill-btn:active{transform:scale(.97)}html[data-nav-theme=white] .pill-btn{background:var(--color-paper)}.burger{flex-direction:column;gap:3px;width:12px;display:inline-flex}.burger i{background:currentColor;height:1px;display:block}.burger i:last-child{width:70%}.mobile-menu{z-index:99;padding:calc(.75rem + env(safe-area-inset-top,0px)) var(--spacing-gutter) calc(1.25rem + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;background:var(--color-dark);color:var(--color-on-dark);flex-direction:column;gap:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-menu[hidden]{display:none}@media (width>=480px){.mobile-menu{padding-inline:var(--spacing-gutter-md)}}.mobile-menu__top{justify-content:space-between;align-items:center;min-height:3.5rem;display:flex}.mobile-menu__logo{width:2.1rem}.mobile-menu__actions{align-items:center;gap:.5rem;display:flex}.top-nav__lang{margin-inline-start:.6em}.mm-lang{min-height:3rem;font-family:var(--font-tech);font-size:var(--text-label);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast);border:1px solid #fff3;border-radius:1.5rem;align-items:center;padding-inline:1.1rem;display:inline-flex}.mm-lang:active{background:#ffffff1f}.mobile-menu__close{background:var(--color-on-dark);width:3rem;height:3rem;color:var(--color-text);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;position:relative}.mobile-menu__close:active{transform:scale(.92)}.mobile-menu__close span:after,.mobile-menu__close span:before{content:"";inset-block-start:50%;background:currentColor;width:1.1rem;height:1.5px;margin-left:-.55rem;position:absolute;left:50%}.mobile-menu__close span:before{transform:rotate(45deg)}.mobile-menu__close span:after{transform:rotate(-45deg)}.mm-links>li{border-block-end:1px solid #ffffff1f}.mm-link{text-align:start;width:100%;min-height:3.75rem;transition:color var(--dur-fast),transform var(--dur-fast) var(--ease-out);align-items:center;gap:.9rem;padding-block:.55rem;display:flex}.mm-link:active{transform:scale(.985)}.mm-link__num{width:1.6rem;font-size:var(--text-small);color:var(--color-brand-slate-light);flex-shrink:0}.mm-link__text{font-size:calc(clamp(1.6rem,1.1rem + 2.6vw,2.2rem));font-weight:var(--font-weight-regular);flex:1;padding-block:.1em .2em;line-height:1.25;display:block;overflow:hidden}.mm-link__text>span{display:inline-block}.mm-link__icon{opacity:.45;width:1.15rem;height:1.15rem;transition:opacity var(--dur-fast),transform var(--dur-base) var(--ease-out);flex-shrink:0}.mm-link:active .mm-link__icon,.mm-link:hover .mm-link__icon{opacity:1;transform:translateX(calc(-6px * var(--flip)))}.mm-contact svg,.mm-link.is-current,.mm-link[aria-current=true]{color:var(--color-brand-slate-light)}.mm-link__plus{width:1.15rem;height:1.15rem;transition:transform var(--dur-base) var(--ease-out);flex-shrink:0;position:relative}.mm-link__plus:after,.mm-link__plus:before{content:"";background:currentColor;height:1.5px;margin-block-start:-.75px;position:absolute;inset-block-start:50%;inset-inline:0}.mm-link__plus:after{transform:rotate(90deg)}.mobile-menu__toggle[aria-expanded=true] .mm-link__plus{transform:rotate(45deg)}.mm-sub{transition:grid-template-rows var(--dur-base) var(--ease-out);grid-template-rows:0fr;display:grid}.mobile-menu__toggle[aria-expanded=true]+.mm-sub{grid-template-rows:1fr}.hero,.mm-sub__inner{overflow:hidden}.mm-chips{grid-template-columns:1fr 1fr;gap:.4rem;padding-block:.25rem 1rem;display:grid}.mm-chips a{border-radius:var(--radius-sm);background:var(--color-accent);min-height:3rem;color:var(--color-on-accent);font-size:var(--text-label);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast);align-items:center;padding:.6rem .85rem;display:flex}.mm-chips a:active{background:var(--color-on-dark);transform:scale(.97)}.mobile-menu__bottom{flex-direction:column;gap:1.25rem;margin-block-start:auto;display:flex}.mm-contact{font-size:var(--text-label);gap:.4rem;display:grid}@media (width>=420px){.mm-contact{grid-template-columns:1fr 1fr}}.mm-contact a{border-radius:var(--radius-sm);min-height:3rem;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast);background:#ffffff0f;align-items:center;gap:.6rem;padding:.6rem .85rem;display:flex}.mm-contact a:active{background:#ffffff1f;transform:scale(.97)}.mm-contact svg{flex-shrink:0;width:1rem;height:1rem}.mm-contact__wide{grid-column:1/-1}.mobile-menu__follow{border-block:1px solid #fff3;border-block-start-color:var(--color-on-dark);font-size:var(--text-label);display:flex}.mobile-menu__follow p{width:33.333%;padding-block:.6em}.mobile-menu__follow ul{width:66.666%;display:flex}.mobile-menu__follow li{width:50%}.mobile-menu__follow a{padding-block:.6em;display:inline-block}.mm-cta{font-size:calc(clamp(2rem,1.4rem + 3vw,2.6rem))}.hero{background:var(--color-dark);min-height:100svh;color:var(--color-on-dark);align-items:flex-end;padding-block:12em 1.5em;display:flex}@media (width>=769px){.hero{padding-block-start:17em}}@media (width>=990px){.hero{padding-inline-end:1.5rem}}.hero__slides{isolation:isolate;position:absolute;inset:0}.hero__slide{opacity:0;transition:opacity var(--hero-fade) ease-in-out;position:absolute;inset:0}.hero__slide.is-active{opacity:1}.hero__slide--preview{transition-duration:var(--dur-base)}.hero__content{z-index:3;width:100%;position:relative}.hero__heading{max-width:11em;font-size:var(--text-display);line-height:var(--leading-display);font-weight:var(--font-weight-medium);text-wrap:balance;margin-block-end:.35em}.hero__label{font-size:var(--text-label);border-block-end:1px solid;margin-block:.6em;padding-block:.4em}.hero__latest-scroller{margin-inline:calc(var(--spacing-gutter) * -1);padding-inline:var(--spacing-gutter);scrollbar-width:none;scroll-snap-type:x mandatory;overflow-x:auto}.hero__latest-scroller::-webkit-scrollbar{display:none}.hero__latest-list{gap:.5rem;display:flex}.hero__latest-list>li{scroll-snap-align:start;flex:0 0 80vw}@media (width>=480px){.hero__latest-scroller{margin-inline:calc(var(--spacing-gutter-md) * -1);padding-inline:var(--spacing-gutter-md)}.hero__latest-list>li{flex-basis:50vw}}@media (width>=769px){.hero__latest-scroller{margin-inline:calc(var(--spacing-gutter-lg) * -1);padding-inline:var(--spacing-gutter-lg)}}@media (width>=990px){.hero__latest-scroller{margin-inline:0;padding-inline:0;overflow:visible}.hero__latest-list{grid-template-columns:repeat(3,1fr);display:grid}}@media (width>=1200px){.hero__work{justify-content:space-between;gap:1em;display:flex}.hero__links{width:calc(30% - 1em)}.hero__latest{width:70%}}@media (width>=1600px){.hero__latest,.hero__links{width:50%}}.swipe-bar{background:#ffffff40;height:2px;margin-block-start:.9rem;position:relative;overflow:hidden}.swipe-bar i{background:var(--color-on-dark);width:30%;transition:transform .15s linear;position:absolute;inset-block:0;inset-inline-start:0}@media (width>=990px){.swipe-bar{display:none}}.latest-card{background:var(--color-surface);height:100%;color:var(--color-text);transition:background-color var(--dur-fast),color var(--dur-fast);padding:.25rem;display:flex}.latest-card:focus-visible,.latest-card:hover{background:var(--color-text);color:var(--color-on-dark)}.latest-card:active{transform:scale(.98)}.latest-card__media{aspect-ratio:50/44;flex:0 0 50%}.latest-card__body{flex-direction:column;justify-content:space-between;gap:.75em;padding:.25em .75em .35em;display:flex}.latest-card__type{font-size:var(--text-small);line-height:1.6}.latest-card__name{font-size:.95rem;font-weight:var(--font-weight-medium);line-height:1.35}.intro{background:var(--color-paper)}.intro__scroll{height:200vh}.intro__sticky{margin-block-start:8rem;position:sticky;inset-block-start:8rem}.intro__text{max-width:31em;font-size:var(--text-h3);padding-block:2.75rem;line-height:1.5}.intro__text,.split-heading{font-weight:var(--font-weight-medium)}.split-heading{justify-content:space-between;padding-block-start:.6em;display:flex;position:relative}.split-heading:before{content:"";border-block-start:1px solid;width:0;position:absolute;inset-block-start:0;inset-inline-start:0}.intro__body .buttons,.intro__media,.intro__spread{margin-block-start:2.5em}.intro__media{aspect-ratio:16/10}@media (width>=769px){.intro__spread{justify-content:space-between;align-items:flex-end;gap:2em;margin-block-start:12em;display:flex}.intro__body{width:34%;min-width:19rem}.intro__media{width:50%;margin-block-start:0}}.statement{background:var(--color-dark);min-height:90svh;color:var(--color-on-dark);flex-direction:column;justify-content:space-between;gap:2.5em;display:flex}.statement__media{position:absolute;inset:0}.statement__media>img{filter:brightness(.68)saturate(.9)}.statement__col{z-index:4;position:relative}.statement__heading{max-width:8.5em;font-size:var(--text-h2);line-height:1.12}@media (width>=769px){.statement{flex-flow:wrap;gap:2.5em 0;padding-block-start:7rem}.statement__col{width:calc(50% - 1em)}.statement__col--body>*{max-width:30rem;margin-inline:auto 4em}.approach{padding-block:7em 6em}.approach__text>*{max-width:34rem}.approach__media{max-width:34rem;margin-inline:auto 0}}.approach,.model{background:var(--color-surface)}.approach__heading{font-size:var(--text-h2);margin-block-end:1.25em;line-height:1.12}.approach__text .lead{margin-block-end:1.75em}.approach__media{color:var(--color-text);margin-block-start:3em}@media (width>=1024px){.approach{flex-flow:row-reverse wrap;justify-content:space-between;align-items:flex-end;display:flex}.approach__text{width:calc(42% - 1em)}.approach__media{width:calc(45% - 1em);max-width:none;margin:0}}.frame-drawing{width:100%;height:auto;overflow:visible}.frame-drawing path{fill:none;stroke:currentColor;stroke-width:1px}.frame-drawing path.f{fill:var(--color-surface)}.frame-drawing .below path,.frame-drawing .ground path{stroke:var(--color-brand-slate)}.frame-drawing .ground path{stroke-dasharray:.012 .009}.model{border:1px solid var(--color-border);margin:0}.model__bar,.model__readout{font-size:var(--text-small);color:var(--color-text-soft);align-items:center;gap:.75em;padding:.6em .9em;line-height:1.6;display:flex}.model__bar{border-block-end:1px solid var(--color-border);justify-content:space-between}.model__title{color:var(--color-text)}.model__meta{align-items:center;gap:1em;display:flex}.model__hint{transition:opacity var(--dur-base)}.model__hint.is-done{opacity:0}.model__stage{aspect-ratio:4/5;background-image:linear-gradient(var(--color-line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--color-line-soft) 1px,transparent 1px);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;background-position:50%;background-size:2rem 2rem;width:100%;max-height:calc(max(16rem,100svh - 17rem));position:relative;overflow:hidden}.model__stage.is-dragging{cursor:grabbing}.model__stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.model__stage .frame-drawing{width:80%;height:80%;position:absolute;inset:10%}.model.is-live .frame-drawing,html:not(.js) .model__bar,html:not(.js) .model__readout,html:not(.js) .model__stage canvas,html:not(.js) .model__tabs{display:none}html:not(.js) .model__stage{cursor:auto;background:0 0}.model__tabs{border-block-start:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid}.model__tab{border-inline-start:1px solid var(--color-border);font-family:var(--font-tech);font-size:var(--text-label);color:var(--color-text-soft);transition:color var(--dur-fast),background-color var(--dur-fast);flex-direction:column;align-items:center;gap:.15em;padding:.75em .25em;line-height:1.4;display:flex;position:relative}.model__tab:first-child{border-inline-start:0}.model__tab>span{font-size:var(--text-small);color:var(--color-brand-slate)}.model__tab:focus-visible,.model__tab:hover{color:var(--color-text)}.model__tab[aria-pressed=true]{color:var(--color-text);background:var(--color-bg)}.model__tab:before{content:"";height:2px;width:calc(var(--p,0) * 100%);background:var(--color-text);position:absolute;inset-block-start:-1px;inset-inline-start:0}.model__readout{border-block-start:1px solid var(--color-border);min-height:3.4em}.model__readout p{flex-wrap:wrap;align-items:center;gap:.3em .6em;display:flex}.model__readout p[hidden]{display:none}.model__readout small{font-size:inherit;color:var(--color-brand-slate)}.model__gauge{background:var(--color-line-soft);width:6.5rem;height:4px;position:relative}.model__gauge i{width:calc(var(--v,0) * 100%);background:var(--color-text);position:absolute;inset-block:0;inset-inline-start:0}.model__gauge b{background:var(--color-signal);width:2px;position:absolute;inset-block:-4px;inset-inline-start:85%}.model__ramp{background:linear-gradient(var(--to-end),var(--color-line-soft),var(--color-brand-slate) 45%,var(--color-text) 80%,var(--color-signal));width:6.5rem;height:6px}.model__flag{color:var(--color-signal);transition:color var(--dur-base);align-items:center;gap:.5em;display:inline-flex}.model__flag:before{content:"";background:currentColor;border-radius:50%;width:.55em;height:.55em}.model__flag.is-resolved{color:var(--color-text)}.work{background:var(--color-paper)}.work__heading{font-size:var(--text-h2);line-height:1.05}.work__footer{margin-block-start:1.5em}.work__footer .lead{max-width:25em}.work__footer .tags{margin-block:1.5em 2.25em}.work__list{margin-block-start:2.5em}@media (width>=1200px){.work,.work__intro-inner{justify-content:space-between;display:flex}.work__intro{width:calc(36% - 1em)}.work__intro-inner{height:100vh;margin-block:calc(var(--spacing-section-lg) * -1);flex-direction:column;padding-block:6.5rem 2.5rem;position:sticky;inset-block-start:0}.work__list{border-inline-start:1px solid var(--color-border);width:calc(64% - 1em);margin-block-start:0;padding-inline-start:.75em}}@media (width>=1400px){.work__intro{width:calc(42% - 1em)}.work__list{width:calc(58% - 1em)}}.project-card{border-block-end:1px solid var(--color-border);transition:background-color var(--dur-fast) ease-in,color var(--dur-fast) ease-in,opacity var(--dur-base);padding:1em}.project-card:last-child{border-block-end:0}.project-card:focus-within,.project-card:hover{background:var(--color-text);color:var(--color-on-dark)}.project-card__index{color:var(--color-text-soft);transition:color var(--dur-fast)}.project-card:focus-within .project-card__index,.project-card:hover .project-card__index{color:var(--color-brand-slate-light)}.project-card__name{font-size:var(--text-h4);margin-block:.15em .9em;line-height:1.35}.project-card__meta{font-size:var(--text-label);grid-template-columns:repeat(2,minmax(0,1fr));gap:.6em 1em;margin:0 0 1.25em;line-height:1.6;display:grid}.project-card__meta dt{color:var(--color-text-soft);transition:color var(--dur-fast)}.project-card__meta dd{margin:0}.project-card:focus-within .project-card__meta dt,.project-card:hover .project-card__meta dt{color:var(--color-brand-slate-light)}.project-card__media-wrap{position:relative}.project-card__media{aspect-ratio:2}.project-card__cta{z-index:3;opacity:0;transform:translate(calc(50% * var(--flip)),-50%);transition:opacity var(--dur-fast);position:absolute;inset-block-start:50%;inset-inline-start:50%}.project-card:focus-within .project-card__cta,.project-card:hover .project-card__cta{opacity:1}@media (width>=1200px){.project-card{justify-content:space-between;gap:1.25em;display:flex}.project-card__info{flex-shrink:0;width:16.5rem}.project-card__meta{grid-template-columns:1fr;gap:.35em;margin:0}.project-card__meta>div{grid-template-columns:4.75em 1fr;gap:.5em;display:grid}.project-card__media-wrap{flex:1}:root[dir=ltr] .project-card__meta>div{grid-template-columns:5.5em 1fr}}.work__list.is-filtered .project-card:not([data-match]){opacity:.22}.feature{background:var(--color-dark);min-height:115svh;color:var(--color-on-dark);flex-wrap:wrap;align-items:center;display:flex}.feature__media{opacity:.6;position:absolute;inset:0}.feature__content{z-index:1;flex-direction:column;align-items:flex-start;gap:1.25em;display:flex;position:sticky;inset-block-start:50vh}.feature__label{font-size:var(--text-h4)}.feature__name{font-size:var(--text-label)}@media (width>=1200px){.feature{min-height:81vh}.feature__media{opacity:.45}.feature__content{flex-direction:row;justify-content:space-between;align-items:center;width:100%}}.cta{background:var(--color-accent);color:var(--color-on-accent)}.cta__title{max-width:13em;margin-block-end:.8em;font-size:calc(clamp(1.5rem,1.15rem + 1.3vw,2.4rem));line-height:1.35}.cta__form-wrap{margin-block-start:3em}.cta__lead{max-width:30em;margin-block-end:3em}@media (width>=769px){.cta__content{flex-wrap:wrap;justify-content:space-between;margin-block-end:6em;display:flex}.cta__intro{width:calc(49% - 1em);margin-block-start:11em}.cta__form-wrap{width:calc(51% - 1em);margin-block-start:0}.cta__lead{margin-block-end:6em}}.contact-form{font-family:var(--font-tech);font-size:var(--text-label)}.field-row{gap:0 1em;display:grid}.field{flex-direction:column;margin-block-end:1.5em;display:flex}.field label,.field legend{line-height:1.6}.field input:not([type=checkbox]),.field textarea{appearance:none;width:100%;transition:background-color var(--dur-base);background:0 0;border:0;border-block-end:1px solid;border-radius:0;padding-block:.7em .6em;font-size:1rem;line-height:1.5}.field input[dir=ltr]{text-align:right}.field input:focus,.field textarea:focus{background:#ffffff40;outline:none}.field textarea{resize:vertical;min-height:4.5em}.field textarea::placeholder{color:var(--color-text-soft);opacity:1}.field.has-error label,.field.has-error legend{color:var(--color-error)}.field.has-error input,.field.has-error textarea{border-color:var(--color-error)}.field--chips{border:0;min-width:0;margin:0 0 1.6em;padding:0}.field--chips legend{margin-block-end:.6em;padding:0;line-height:1.6}.field__hint{color:var(--color-text-soft)}.chips{flex-wrap:wrap;gap:.45em;display:flex}.chip{cursor:pointer;position:relative}.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip span{transition:background-color var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);border:1px solid;border-radius:.3em;padding:.4em .85em;line-height:1.6;display:inline-block}@media (hover:hover){.chip:hover span{background:#ffffff4d}}.chip input:checked+span{background:var(--color-text);border-color:var(--color-text);color:var(--color-on-dark)}.chip input:focus-visible+span{outline-offset:2px;outline:2px solid}.field--chips.has-error .chip span{border-color:var(--color-error)}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1em 1.5em;margin-block-start:.5em;display:flex}.form-note{color:var(--color-text-soft);flex:16em}.form-status{min-height:1.6em;margin-block-start:1.25em}.form-status.is-error{color:var(--color-error)}.site-footer{padding-block-start:calc(clamp(4rem,8vw,10.5rem));padding-inline:var(--spacing-gutter);background:var(--color-paper)}@media (width>=480px){.field-row{grid-template-columns:1fr 1fr}.site-footer{padding-inline:1.5rem}}.site-footer__top{font-size:var(--text-label);gap:1em;display:grid}@media (width>=990px){.site-footer__top{font-size:var(--text-tech);grid-template-columns:1fr 1fr}}.site-footer__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:2em 1em;margin-block:3em 2em;display:grid}@media (width>=990px){.site-footer__links{grid-template-columns:repeat(4,1fr);margin-block-start:5em}}.footer-col__heading{border-block-end:1px solid;padding-block:.6em;font-size:1rem}.footer-col li{border-block-end:1px solid var(--color-line-soft)}.footer-col a{padding-block:.5em;transition:background-color 50ms ease-out;display:block}.footer-col a span{transition:padding var(--dur-fast) ease-out,color var(--dur-fast) ease-out;display:inline-block}.footer-col a:focus-visible,.footer-col a:hover{background:var(--color-text)}.footer-col a:focus-visible span,.footer-col a:hover span{color:var(--color-on-dark);padding-inline-start:.6em}.site-footer__bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1em;padding-block:2.25em 1.75em;display:flex}.site-footer__wordmark{width:min(100%,62rem);color:var(--color-text);flex:0 62%;display:block}.site-footer__wordmark svg{width:100%;height:auto}.site-footer__place{font-size:var(--text-small)}@media not all and (width>=769px){.site-footer__wordmark{flex-basis:100%}}.preloader{z-index:100;background:var(--color-white);transition:opacity var(--pl-fade) ease-in;position:fixed;inset:0}html:not(.js) .preloader{display:none}.preloader__mark{inset-block-start:50%;width:auto;height:40%;position:absolute;left:50%;transform:translate(-50%,-50%)}@media (width>=769px){.preloader__mark{height:70%}}.preloader__slides{width:100%;height:100%;transition:transform var(--pl-expand) var(--ease-inout);position:relative;overflow:hidden;transform:scale(1)}html.preloader-on .preloader__slides{transform:scale(var(--pl-scale))}.preloader__slide,.preloader__slide img{position:absolute;inset:0}.preloader__slide img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.preloader__slide:after,.preloader__slide:before{transition:opacity var(--pl-expand) ease-in}html.preloader-on .preloader__slide:after,html.preloader-on .preloader__slide:before{opacity:0}.preloader__slide.is-sliding{animation:pl-slide var(--pl-slide) var(--ease-inout) calc(var(--i) * var(--pl-step)) forwards;animation-play-state:paused}html.preloader-playing .preloader__slide.is-sliding{animation-play-state:running}@keyframes pl-slide{0%{transform:translateY(0)}to{transform:translateY(100%)}}.line,html.js.preloader-on,html.js.preloader-on body{overflow:hidden}html.preloader-gone .preloader{opacity:0;pointer-events:none}html.preloader-done .preloader{display:none}.js .hero__work{opacity:0;transition:opacity 1s var(--ease-out) .45s,transform 1.2s var(--ease-expo) .45s;transform:translateY(5rem)}.js .hero.is-in .hero__work{opacity:1;transform:none}.line{margin-block:-.14em -.2em;padding-block:.14em .2em;display:block}.line>span{display:inline-block}.js .js-lines .line>span{transition:transform 1.3s var(--ease-expo) calc(var(--li,0) * .1s);transform:translateY(115%)}.js .hero.is-in .js-lines .line>span,.js .js-lines.in-view .line>span{transform:none}.js .reveal-up{opacity:0;transition:opacity .8s var(--ease-out),transform 1s var(--ease-expo);transform:translateY(3rem)}.js .reveal-up.in-view{opacity:1;transform:none}.js .js-img{clip-path:inset(16% 8%);transition:clip-path 1.6s var(--ease-expo)}.js .js-img.in-view{clip-path:inset(0)}.js .media>img{opacity:0;transition:opacity var(--dur-slow)}.js .media>img.is-loaded{opacity:1}[data-parallax]>.hero__slide>img,[data-parallax]>img{transform:translate3d(0,calc(var(--pp,0) * var(--pamt,-6%)),0) scale(var(--pscale,1.14));will-change:transform}.hero__slides{--pamt:-14%;--pscale:1.12}.feature__media,.statement__media{--pamt:-10%;--pscale:1.2}.project-card__media{--pamt:-5%;--pscale:1.12}.hero__slide>img{transition:opacity var(--dur-slow)}.js .js-words .word{opacity:.18;transition:opacity .4s}.js .js-words .word.is-on{opacity:1}.split-heading:before{transition:width var(--dur-slow) var(--ease-draw)}.split-heading span:first-child{transition:margin var(--dur-slow) var(--ease-draw);margin-inline-end:1em}.split-heading span:nth-child(2){transition:margin 2s var(--ease-draw);margin-inline-end:40vw}.pill-btn:hover .burger i:last-child,.split-heading.in-view:before,html:not(.js) .split-heading:before{width:100%}.split-heading.in-view span,html:not(.js) .split-heading span{margin-inline-end:0}.js .block-heading span{opacity:0;transition:opacity .35s ease-out,transform .35s ease-out;transform:translateY(.1em)}.js .block-heading span:nth-child(2){transition-delay:80ms}.js .block-heading span:nth-child(3){transition-delay:.16s}.js .block-heading.in-view span,.js .mobile-menu.is-open .block-heading span{opacity:1;transform:none}.js .frame-drawing path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1s var(--ease-draw) calc(var(--d) * 80ms),fill-opacity .5s ease-out calc(var(--d) * 80ms)}.js .frame-drawing path.f{fill-opacity:0}.js .frame-drawing .ground path{stroke-dasharray:.012 .009;stroke-dashoffset:0;opacity:0;transition:opacity .8s ease-out calc(var(--d) * 80ms)}.js .in-view .frame-drawing path{stroke-dashoffset:0}.js .in-view .frame-drawing path.f{fill-opacity:1}.js .in-view .frame-drawing .ground path{opacity:1}.btn-arrow:focus-visible>i svg,.btn-arrow:hover>i svg{animation:var(--animate-nudge)}.marquee ul{animation:var(--animate-marquee)}.mobile-menu{clip-path:inset(0 0 100%);transition:clip-path .8s var(--ease-inout)}.mobile-menu.is-open{clip-path:inset(0)}.mm-link__text>span{transition:transform .9s var(--ease-expo);transform:translateY(110%)}.mm-link__icon,.mm-link__num,.mm-link__plus,.mm-links>li,.mobile-menu__bottom>*{transition-property:opacity,transform,border-color}.mm-link__icon,.mm-link__num,.mm-link__plus{opacity:0}.mm-links>li{border-block-end-color:#0000;transition:border-color .6s ease-out}.mobile-menu__bottom>*{opacity:0;transition:opacity .7s ease-out,transform .9s var(--ease-expo);transform:translateY(1.25rem)}.mobile-menu.is-open .mm-link__text>span{transform:none}.mobile-menu.is-open .mm-link__num,.mobile-menu.is-open .mm-link__plus{opacity:1;transition:opacity .6s ease-out}.mobile-menu.is-open .mm-link__icon{opacity:.45;transition:opacity .6s ease-out,transform var(--dur-base) var(--ease-out)}.mobile-menu.is-open .mm-links>li{border-block-end-color:#ffffff1f}.mobile-menu.is-open .mobile-menu__bottom>*{opacity:1;transform:none}.mobile-menu.is-open .mm-links>li:first-child *{transition-delay:.3s}.mobile-menu.is-open .mm-links>li:nth-child(2)>.mm-link *{transition-delay:.36s}.mobile-menu.is-open .mm-links>li:nth-child(3) *{transition-delay:.42s}.mobile-menu.is-open .mm-links>li:nth-child(4) *{transition-delay:.48s}.mobile-menu.is-open .mm-links>li:nth-child(5) *{transition-delay:.54s}.mobile-menu.is-open .mm-links>li:first-child{transition-delay:.3s}.mobile-menu.is-open .mm-links>li:nth-child(2){transition-delay:.36s}.mobile-menu.is-open .mm-links>li:nth-child(3){transition-delay:.42s}.mobile-menu.is-open .mm-links>li:nth-child(4){transition-delay:.48s}.mobile-menu.is-open .mm-links>li:nth-child(5){transition-delay:.54s}.mobile-menu.is-open .mobile-menu__bottom>:first-child{transition-delay:.6s}.mobile-menu.is-open .mobile-menu__bottom>:nth-child(2){transition-delay:.68s}.mobile-menu.is-open .mobile-menu__bottom>:nth-child(3){transition-delay:.76s}.mobile-menu.is-open .mm-cta span:first-child{transition-delay:.8s}.mobile-menu.is-open .mm-cta span:nth-child(2){transition-delay:.86s}.mobile-menu.is-open .mm-cta span:nth-child(3){transition-delay:.92s}.burger i{transition:transform var(--dur-base) var(--ease-out),width var(--dur-base) var(--ease-out)}#open-menu[aria-expanded=true] .burger i:first-child{transform:translateY(4px)rotate(45deg)}#open-menu[aria-expanded=true] .burger i:nth-child(2){transform:scaleX(0)}#open-menu[aria-expanded=true] .burger i:nth-child(3){width:100%;transform:translateY(-4px)rotate(-45deg)}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:VX Mono Latin;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+23,U+26,U+2B,U+30-39,U+40-5A,U+61-7A,U+A9}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes marquee{0%{transform:translate(0)}to{transform:translateX(calc(50% * var(--flip)))}}@keyframes nudge{0%,50%,to{transform:translate(0)}25%{transform:translateX(calc(1px * var(--flip)))}75%{transform:translateX(calc(-2px * var(--flip)))}}
