:root{--bg:#0a0a0a;--paper:#f4f4f3;--white:#fff;--card:#ececea;--card-hover:#dfdfdc;--ink:#111;--g5:#262625;--g4:#565654;--g3:#8c8c8a;--g2:#9c9c9a;--g1:#ededec;--accent:#ff4d1f;--accent-ink:#c2410c;--accent-ring:#ff4d1f80;--focus-on-dark:var(--accent);--focus-on-paper:var(--accent-ink);--edge:#dbdbd9;--edge-dark:#ffffff24;--maxw:1400px;--maxw-wide:1400px;--gutter:clamp(20px, 5vw, 64px);--hero-mid:#141413;--chip-fill:#ffffff05;--glow-core:#ffffff17;--glow-mid:#ffffff08;--logo-right:#4a4a48;--face-right:#3a3a38;--swatch-strategy:#f7f7f6;--swatch-brand:#e2e2e0;--swatch-development:#c0c0be;--swatch-ai:#8c8c8a;--swatch-after:#3a3a38;--font-sans:var(--font-space-grotesk), "Space Grotesk", system-ui, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-2xs:11px;--font-size-xs:12px;--font-size-xs-plus:12.5px;--font-size-sm:13px;--font-size-sm-plus:13.5px;--font-size-body-sm:14px;--font-size-body-sm-plus:14.5px;--font-size-body:15px;--font-size-md:16px;--font-size-brand:17px;--font-size-lg:19px;--font-size-xl:21px;--font-size-display:clamp(44px, 8.4vw, 92px);--font-size-section:clamp(26px, 3.6vw, 44px);--font-size-services:clamp(27px, 3.6vw, 46px);--font-size-service-title:clamp(18px, 1.5vw, 21px);--font-size-section-mobile:clamp(23px, 6vw, 30px);--font-size-card-title:clamp(17px, 1.7vw, 21px);--font-size-caption:clamp(16px, 1.6vw, 19px);--font-size-lead:clamp(16px, 1.5vw, 19px);--line-height-display:.98;--line-height-brand:1.02;--line-height-title:1.08;--line-height-statement:1.14;--line-height-body:1.5;--line-height-card:1.52;--line-height-lead:1.55;--letter-spacing-display:-.03em;--letter-spacing-title:-.015em;--letter-spacing-statement:-.02em;--letter-spacing-snug:-.01em;--letter-spacing-caps:.09em;--letter-spacing-brand:.02em;--letter-spacing-label:.06em;--letter-spacing-cue:.18em;--letter-spacing-wordmark:.3em;--space-1:6px;--space-2:8px;--space-3:9px;--space-4:10px;--space-5:11px;--space-6:12px;--space-7:14px;--space-8:15px;--space-9:18px;--space-10:20px;--space-11:22px;--space-12:24px;--space-13:26px;--space-14:30px;--space-15:34px;--space-16:40px;--space-17:48px;--space-section:clamp(70px, 10vw, 120px);--space-services:clamp(64px, 9vw, 120px);--space-services-head:clamp(48px, 8vw, 110px);--space-service-card:clamp(22px, 2vw, 30px);--space-service-gap:clamp(10px, 1vw, 16px);--space-service-head-gap:clamp(24px, 4vw, 56px);--space-service-title-gap:clamp(48px, 7vw, 100px);--space-card:clamp(20px, 2.2vw, 30px);--space-card-mobile:18px;--space-cards-top:clamp(30px, 4vw, 48px);--space-nav-gap:34px;--space-cta-gap:14px;--space-caption-left:clamp(16px, 6vw, 80px);--size-nav-height:78px;--size-slot:clamp(30px, 3.4vw, 44px);--size-cube:min(320px, 60vw);--size-glow:min(760px, 120vw);--size-cards:min(980px, 100%);--size-mark:7px;--size-live:7px;--size-swatch:20px;--size-swatch-sm:18px;--size-service-card-min:clamp(266px, 26.6vw, 364px);--size-explore:18px;--size-bar:22px;--size-logo-width:26px;--size-logo-height:30px;--size-caption:200px;--size-card-min-height:180px;--size-scene-height:240vh;--duration-fast:.18s;--duration:.2s;--duration-card:.28s}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
html{box-sizing:border-box}.skip{top:12px;left:var(--gutter);z-index:100;padding:var(--space-5) var(--space-10);background-color:var(--white);color:var(--bg);font-family:var(--font-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip:focus,.skip:focus-visible{outline:2px solid var(--focus-on-dark);outline-offset:3px;transform:none}*,:before,:after{box-sizing:inherit}body{font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-size:var(--font-size-body);line-height:var(--line-height-body);background-color:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow-x:clip}h1,h2,h3{text-wrap:balance}#approach,#work,#contact,#start-project{scroll-margin-top:var(--size-nav-height)}.tap{position:relative}.tap:before{content:"";position:absolute;inset:-12px -8px}
