*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding:128px 0}.section--cream{background:var(--canvas)}.section--dark{background:var(--ink);color:#fff}.accent,em{color:var(--accent-deep);font-style:normal}.eyebrow{margin:0 0 22px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:600}.eyebrow:before{content:"[";color:var(--accent-deep);margin-right:8px}.eyebrow:after{content:"]";color:var(--accent-deep);margin-left:8px}.eyebrow--light{color:var(--on-dark-strong)}.lead{font-size:20px;max-width:660px;color:var(--text)}.lead--light{color:var(--on-dark)}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 22px;border:1px solid transparent;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:.25s var(--ease)}.button--dark{background:var(--ink);color:#fff}.button--dark:hover{background:var(--accent);color:var(--ink)}.button--accent{background:var(--accent);color:var(--ink)}.button--accent:hover{background:var(--accent-hover)}.button--outline{border-color:var(--hairline-dark);color:#fff}.button--outline:hover{border-color:var(--accent);color:var(--accent)}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.round-arrow{width:54px;height:54px;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:var(--accent);font-size:22px}.round-arrow--dark{border:1px solid var(--accent);background:transparent}/* Site header — single consolidated source (see also: dark-hero page variant in final.css, mobile breakpoints in responsive.css) */
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:rgba(11,13,14,.94);border-bottom:1px solid var(--hairline-dark);backdrop-filter:blur(14px);color:#fff;transition:.4s var(--ease)}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header.is-scrolled{height:calc(var(--header-h) - 18px);background:rgba(11,13,14,.99);box-shadow:0 1px 0 var(--hairline-dark)}
.site-header__inner{height:100%;display:flex;align-items:center;gap:36px}
.brand{flex:0 0 auto;display:flex;align-items:center}
.brand__mark{width:48px;height:auto;display:block}
.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto}
.desktop-nav .nav-item{position:relative;display:flex}
.desktop-nav a{position:relative;padding:6px 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff;transition:color .25s ease}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .3s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a[aria-expanded=true]:after{right:0}
.desktop-nav a[aria-current=page]:after{right:0}
.header-actions{display:flex;align-items:center;gap:10px}
.header-actions>.button{min-height:48px;padding-inline:22px}
.menu-button{width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;display:grid;place-content:center;gap:5px;cursor:pointer;color:#fff;transition:.25s ease}
.menu-button span{display:block;width:16px;height:1px;background:currentColor}
.menu-button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.nav-panel{position:fixed;top:var(--header-h);left:0;right:0;z-index:44;padding:44px 0;background:var(--ink-soft);border-bottom:1px solid var(--hairline-dark);box-shadow:0 24px 48px rgba(0,0,0,.35);display:grid;grid-template-columns:.9fr 1.6fr;gap:56px;color:#fff}
.nav-panel[hidden]{display:none}
.nav-panel__kicker{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.nav-panel__intro h3{margin:0 0 20px;font-family:var(--font-ui);font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:#fff}
.nav-panel__all{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#fff}
.nav-panel__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
.nav-panel__list li{border-bottom:1px solid var(--hairline-dark)}
.nav-panel__list a{display:block;padding:16px 0;transition:padding-left .25s var(--ease)}
.nav-panel__list a:hover{padding-left:10px}
.nav-panel__list a:hover span{color:var(--accent)}
.nav-panel__list a span{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em;color:#fff;transition:color .2s ease}
.nav-panel__list a small{display:block;margin-top:4px;font-size:12px;color:var(--on-dark-muted);text-transform:none;letter-spacing:0;font-weight:400}
.menu-overlay{position:fixed;inset:0;background:var(--ink);color:#fff;z-index:45;padding-top:118px;overflow-y:auto}
.menu-overlay[hidden]{display:none}
.menu-overlay__inner{min-height:calc(100vh - 140px);display:grid;grid-template-columns:1fr auto;align-items:end;padding-bottom:42px}
.menu-overlay nav{display:flex;flex-direction:column}
.menu-overlay nav>a{font-family:var(--font-display);font-size:clamp(44px,6vw,88px);line-height:.98;border-bottom:1px solid var(--hairline-dark);padding:12px 0;transition:.25s}
.menu-overlay nav>a:hover{color:var(--accent)}
.menu-overlay nav small{font-family:var(--font-ui);font-size:10px;margin-right:20px;color:var(--on-dark-muted)}
.menu-overlay__services{border-bottom:1px solid var(--hairline-dark)}
.menu-overlay__services summary{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-family:var(--font-display);font-size:clamp(44px,6vw,88px);line-height:.98;cursor:pointer;list-style:none}
.menu-overlay__services summary::-webkit-details-marker{display:none}
.menu-overlay__services summary:after{content:"+";margin-left:20px;font-size:32px;color:var(--on-dark-muted);transition:transform .25s ease}
.menu-overlay__services[open] summary:after{content:"–"}
.menu-overlay__services ul{list-style:none;margin:0;padding:0 0 20px;display:grid;gap:14px}
.menu-overlay__services a{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--on-dark)}
.menu-overlay__services a:hover{color:var(--accent)}
@media(max-width:1100px){.desktop-nav{display:none}.header-actions{margin-left:auto}}
.hero{min-height:880px;padding-top:calc(var(--header-h) + 66px);display:flex;align-items:center;overflow:hidden}.hero__grid{position:relative;display:grid;grid-template-columns:46% 54%;align-items:center;min-height:700px}.hero__copy{position:relative;z-index:3;padding-left:56px}.hero__copy h1,.page-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(72px,7.2vw,122px);line-height:.88;letter-spacing:-.045em;margin:0 0 34px}.hero__copy .lead{max-width:520px;margin:0 0 34px}.hero__actions{display:flex;gap:28px;align-items:center}.hero__meta{position:absolute;left:0;top:110px;bottom:80px;width:28px;display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#777;z-index:4}.hero__meta:before{content:"";position:absolute;left:16px;top:18px;bottom:18px;width:1px;background:var(--hairline)}.hero__meta span:first-child{color:var(--accent-deep)}.hero__art{min-height:670px;position:relative;display:grid;place-items:center}.hero__art:before{content:"";position:absolute;width:560px;height:560px;border-radius:47% 53% 60% 40%/50% 38% 62% 50%;background:radial-gradient(circle at 40% 35%,#fff 0,#f4f2ee 28%,#dedbd5 50%,transparent 72%);filter:blur(2px);transform:rotate(-18deg) scale(1.12);opacity:.92}.hero__frame{position:absolute;width:61%;aspect-ratio:1;border:2px solid rgba(40,40,40,.22);box-shadow:inset 0 0 0 16px rgba(255,255,255,.13),0 28px 80px rgba(0,0,0,.08);transform:rotate(-3deg)}.hero__symbol{width:180px;position:relative;z-index:2;filter:grayscale(1) contrast(1.05);opacity:.96}.hero__signal{position:absolute;right:8px;bottom:54px;border-left:1px solid var(--hairline);padding-left:16px;display:grid;gap:4px}.hero__signal small{font-size:9px}.hero__signal strong{font-family:var(--font-display);font-size:38px;font-weight:400}.hero__signal span{height:2px;background:linear-gradient(90deg,var(--accent) 0 28%,var(--hairline) 28%)}.client-rail{padding:0}.client-rail__inner{min-height:138px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:28px}.client-rail__placeholder{height:60px;border-top:1px solid var(--hairline-dark);border-bottom:1px solid var(--hairline-dark);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;letter-spacing:.04em}.split-heading{display:grid;grid-template-columns:32% 68%;gap:72px}.split-heading h2,.section-heading h2,.content-grid h2,.editorial-cta h2,.signature-cta h2,.lab-teaser h2{font-family:var(--font-display);font-size:clamp(48px,5vw,82px);font-weight:400;line-height:.95;letter-spacing:-.035em;margin:0 0 26px}.split-heading>div:first-child>p:not(.eyebrow){color:var(--muted);max-width:380px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.service-card{position:relative;min-height:250px;padding:26px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;transition:.35s var(--ease)}.service-card:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}.service-card__num{font-family:var(--font-display);font-size:22px}.service-card h3{font-size:18px;max-width:220px;margin:auto 0 10px}.service-card p{font-size:13px;color:var(--muted);margin:0 0 16px}.service-card:hover p{color:var(--on-dark)}.service-card__arrow{color:var(--accent-deep);font-size:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.section-heading--light h2{color:#fff}.work-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.work-card{border:1px solid var(--hairline-dark);background:var(--panel-2);min-height:420px}.work-card__media{height:310px;background:linear-gradient(135deg,#191c1d,#0c0e0f);display:grid;place-items:center;color:var(--on-dark-muted);font-size:11px}.work-card__body{padding:18px}.work-card h3{margin:0 0 4px}.work-card p{margin:0;color:var(--on-dark-muted);font-size:12px}.work-card:hover{border-color:rgba(200,212,0,.58)}.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--hairline)}.process-list li{padding:30px 22px 0 0;position:relative}.process-list li:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--canvas);border:1px solid var(--ink)}.process-list span{color:var(--accent-deep);font-size:12px}.process-list h3{font-size:14px;text-transform:uppercase}.process-list p{font-size:12px;color:var(--muted)}.lab-teaser__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.lab-teaser p:not(.eyebrow){color:#aaa;max-width:520px}.lab-orbit{height:360px;display:grid;place-items:center;position:relative;border:1px solid var(--hairline-dark);overflow:hidden}.lab-orbit:before,.lab-orbit:after{content:"";position:absolute;border:1px solid rgba(200,212,0,.22);border-radius:50%}.lab-orbit:before{width:290px;height:290px}.lab-orbit:after{width:190px;height:190px}.lab-orbit img{width:130px;filter:grayscale(1) brightness(1.8);opacity:.9}.lab-orbit span{position:absolute;color:var(--accent);font-size:22px;text-align:center}.signature-cta{padding:92px 0}.signature-cta__grid{display:grid;grid-template-columns:160px 1.25fr 1fr;align-items:center;gap:44px}.signature-cta h2{margin:0}.signature-cta__action{display:flex;gap:24px;align-items:center}.signature-cta__action p{color:var(--muted);font-size:13px}.site-footer{background:var(--ink);color:#fff;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:38px}.footer-grid h3{font-size:11px;text-transform:uppercase;color:var(--on-dark-muted)}.footer-grid a{display:block;font-size:12px;color:var(--on-dark);margin:8px 0}.footer-brand img{width:170px;filter:none;margin-bottom:18px}.footer-brand p{font-size:12px;color:var(--on-dark-muted);max-width:280px}.footer-bottom{border-top:1px solid var(--hairline-dark);margin-top:44px;padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:var(--on-dark-muted)}.page-hero{padding-top:calc(var(--header-h) + 100px);min-height:650px}.page-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px}.page-hero__geometry{min-height:420px;display:grid;place-items:center;background:radial-gradient(circle,#fff,var(--canvas) 65%)}.page-hero__geometry img{width:260px;filter:grayscale(1)}.page-hero--dark{background:var(--ink);color:#fff}.page-hero--dark .site-header{color:#fff}.page-hero__device{min-height:430px;border:1px solid var(--hairline-dark);display:grid;place-items:center}.device-placeholder{width:80%;aspect-ratio:16/10;border:1px solid var(--hairline-dark);display:grid;place-items:center;color:var(--on-dark-muted)}.service-index{border-top:1px solid var(--hairline)}.service-index>a{display:grid;grid-template-columns:80px 1fr auto;align-items:center;border-bottom:1px solid var(--hairline);padding:30px 8px;transition:.25s}.service-index>a:hover{padding-left:18px;background:var(--surface)}.service-index h2{font-family:var(--font-display);font-size:42px;font-weight:400;margin:0}.service-index p{margin:6px 0 0;color:var(--muted)}.editorial-cta{min-height:460px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.feature-list{list-style:none;padding:0;margin:40px 0 0;border-top:1px solid var(--hairline)}.feature-list li{padding:16px 0;border-bottom:1px solid var(--hairline)}.mini-process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--hairline-dark)}.mini-process span{padding:28px 10px;color:var(--on-dark)}.work-index{display:grid;gap:24px}.work-index__item{display:grid;grid-template-columns:1.25fr .75fr;min-height:560px;border:1px solid var(--hairline)}.work-index__visual{background:var(--ink);color:#777;display:grid;place-items:center}.work-index__item>div:last-child{padding:52px}.work-index__item h2{font-family:var(--font-display);font-size:64px;font-weight:400;margin:12px 0}.case-hero{padding-top:calc(var(--header-h) + 120px)}.case-hero__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.case-hero h1{font-family:var(--font-display);font-size:96px;font-weight:400;margin:0}.case-hero__mockup{aspect-ratio:4/3;background:var(--ink);color:#777;display:grid;place-items:center}.case-chapters{display:grid;grid-template-columns:repeat(4,1fr)}.case-chapters article{min-height:320px;border-right:1px solid var(--hairline-dark);padding:28px}.case-chapters span{color:var(--accent)}.principles{display:grid;grid-template-columns:1fr 1fr}.principles article{padding:52px;border:1px solid var(--hairline-dark);min-height:260px}.principles h2{font-family:var(--font-display);font-size:48px;font-weight:400}.experiment-grid{display:grid;grid-template-columns:repeat(4,1fr)}.experiment-grid article{border:1px solid var(--hairline);min-height:280px;padding:28px}.experiment-grid h2{font-family:var(--font-display);font-size:34px;font-weight:400}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.article-grid article{border-top:1px solid var(--hairline);padding-top:16px}.article-thumb{height:360px;background:var(--surface-subtle);display:grid;place-items:center;color:#999}.article-grid h2{font-family:var(--font-display);font-size:44px;font-weight:400}.reading-shell{width:min(820px,calc(100% - var(--gutter)*2));margin-inline:auto}.article-hero{padding-top:calc(var(--header-h) + 110px)}.article-hero h1{font-family:var(--font-display);font-size:76px;font-weight:400}.prose{font-size:19px;line-height:1.75}.contact-page{padding-top:calc(var(--header-h) + 110px)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.contact-grid h1,.start-project h1{font-family:var(--font-display);font-size:82px;font-weight:400;line-height:.94}.contact-facts{display:grid;gap:14px;margin-top:48px;font-size:13px}.contact-form{display:grid;gap:14px;border:1px solid var(--hairline);padding:32px;background:var(--surface)}.contact-form label{display:grid;gap:8px;font-size:11px;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--hairline);background:transparent;padding:14px 16px;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent-deep)}.start-project{padding-top:calc(var(--header-h) + 100px);min-height:100vh}.project-stepper{display:flex;gap:0;margin:44px 0;border-bottom:1px solid var(--hairline)}.project-stepper button{border:0;background:transparent;padding:16px 24px;color:var(--muted)}.project-stepper button.is-active{color:var(--ink);border-bottom:2px solid var(--accent)}.project-panel{max-width:900px;border:1px solid var(--hairline);padding:40px;background:var(--surface)}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice-grid button{min-height:110px;background:transparent;border:1px solid var(--hairline);text-align:left;padding:18px}.choice-grid button:hover{border-color:var(--accent-deep)}.not-found{min-height:100vh;padding-top:160px}.not-found__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}.not-found__code{font-family:var(--font-display);font-size:180px}.not-found h1{font-family:var(--font-display);font-size:64px;font-weight:400}.not-found img{width:360px;margin:auto;filter:grayscale(1) brightness(1.8)}
