/* Route delivery subset; original site.css is retained. */
@font-face { font-family: Inter; src: url("assets/inter-var.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: Cardo; src: url("assets/cardo-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
:root { --night: #12131c; --ink: #191b29; --char: #1b1a1f; --teal: #0e2729; --paper: #efe9d9; --bone: #e7e0d1; --lavender: #c8c5bd; --mist: #d9d4c8; --copper: #c78c66; --copper-lit: #e0b393; --copper-ink: #7a4529; --garnet: #7d2d31; --warm-white: #f6e7d2; --acid: var(--copper); --red: var(--garnet); --line: #eee9da24; --line-2: #eee9da3d; --m: clamp(24px,5vw,90px); --shell: 76px; --ease: cubic-bezier(.22,.7,.18,1); --lift-dark: 0 1px 0 #ffffff14 inset,0 60px 100px -46px #04050acc,0 20px 34px -20px #04050a99; --lift-light: 0 1px 0 #ffffff66 inset,0 46px 74px -36px #2a2118b8,0 16px 26px -16px #2a211870; }
* { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--shell) + 20px); }
body { margin: 0px; background: var(--night); color: var(--paper); font: 400 16px / 1.6 Inter, Arial, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; background: none; border: 0px; }
h1, h2, h3, p, figure, blockquote, dl, dd { margin: 0px; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
::selection { background: var(--copper); color: var(--night); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: currentcolor solid 2px; outline-offset: 6px; }
.wordmark { font: 400 16px / 1 Cardo, Georgia, serif; letter-spacing: 0.24em; white-space: nowrap; text-transform: uppercase; }
.shell .wordmark { display: inline-flex; align-items: center; min-height: 44px; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); white-space: nowrap; }
.skip { position: fixed; left: 20px; top: -100px; z-index: 100; background: var(--paper); color: var(--ink); padding: 15px; }
.skip:focus { top: 10px; }
.opening::before, .capabilities::before, .proof::before, .closing::before, .work-hero::before, .inquiry::before, .svc-hero::before, .svc-room::before, .reality::before, .ways::before, .studio::before, .questions::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: url("assets/matte-grain.svg"); opacity: 0.05; }
.shell { position: sticky; top: 0px; z-index: 20; height: var(--shell); background: rgba(19, 20, 30, 0.9); backdrop-filter: blur(14px) saturate(1.2); border-bottom: 1px solid var(--line); }
.shell-inner { height: 100%; padding: 0 var(--m); display: flex; justify-content: space-between; align-items: center; }
.main-nav { display: flex; align-items: center; gap: 38px; font-size: 13px; letter-spacing: 0.01em; }
.main-nav > a { padding: 12px 0px; color: var(--mist); transition: color 0.18s; }
.main-nav > a:hover { color: rgb(255, 255, 255); }
.main-nav > a[aria-current="page"] { color: rgb(255, 255, 255); text-decoration-line: underline; text-decoration-style: initial; text-decoration-color: var(--copper); text-decoration-thickness: 1px; text-underline-offset: 9px; }
.main-nav .nav-cta { display: flex; gap: 26px; align-items: center; border: 1px solid rgba(239, 233, 217, 0.36); padding: 8px 16px; margin-left: 14px; color: var(--paper); transition: background 0.18s, color 0.18s, border-color 0.18s; }
.nav-cta span { font-size: 19px; line-height: 1; transition: transform .18s var(--ease); }
.main-nav .nav-cta:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.nav-cta:hover span { transform: translate(1.4px, -1.4px); }
.shell__menu { display: none; min-height: 44px; font-size: 13px; letter-spacing: 0.02em; }
.menu[hidden] { display: none; }
.menu { position: fixed; inset: 0px; z-index: 40; display: flex; flex-direction: column; padding: 0 var(--m) 28px; background: radial-gradient(90% 55% at 85% 0%,#2d3246 0%,transparent 70%),radial-gradient(60% 40% at 0% 100%,#3b2b2459 0%,transparent 70%),var(--night); }
.menu__bar { height: var(--shell); flex: 0 0 auto; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.menu__close { min-height: 44px; font-size: 13px; }
.menu nav { display: grid; padding-top: 26px; }
.menu nav a { font-size: 40px; font-weight: 500; line-height: 1.15; letter-spacing: -0.045em; padding: 16px 0px; border-bottom: 1px solid var(--line); }
.menu nav a span { color: var(--copper); }
.menu__note { margin-top: auto; padding-top: 30px; font-size: 13px; line-height: 1.8; color: var(--lavender); }
.menu__note a { color: var(--paper); text-decoration: underline rgba(239, 233, 217, 0.4); text-underline-offset: 4px; }
.round-link { display: inline-flex; align-items: center; gap: 20px; min-height: 56px; font-size: 14px; }
.arrow-disc { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--copper); color: var(--copper); border-radius: 50%; font-size: 21px; transition: background .18s var(--ease),color .18s,transform .18s var(--ease); }
.round-link:hover .arrow-disc, .round-link:focus-visible .arrow-disc { background: var(--copper); color: var(--night); transform: translate(1.4px, -1.4px); }
.quiet-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--mist); background: linear-gradient(currentcolor, currentcolor) 0px calc(100% - 9px) / 100% 1px no-repeat; transition: color 0.18s; }
.quiet-link:hover { color: rgb(255, 255, 255); }
.opening { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0px, 1.04fr) minmax(0px, 0.96fr); grid-template-rows: auto 1fr auto; column-gap: clamp(24px, 3vw, 56px); padding: 0 var(--m); min-height: min(max(720px,calc(100svh - var(--shell))),1000px); background: radial-gradient(46% 58% at 78% 38%, rgb(54, 59, 82) 0%, rgb(36, 39, 58) 46%, transparent 76%), radial-gradient(30% 34% at 70% 96%, rgba(109, 74, 54, 0.32) 0%, transparent 72%), radial-gradient(60% 70% at 0% 0%, rgb(31, 33, 52) 0%, transparent 64%), linear-gradient(rgb(24, 26, 39) 0%, rgb(17, 18, 27) 100%); }
.opening-meta { grid-area: 1 / 1 / auto / -1; position: relative; z-index: 4; display: flex; justify-content: space-between; gap: 20px; padding-top: 26px; font-size: 10.5px; font-weight: 550; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(189, 183, 169); }
.opening-copy { grid-area: 2 / 1; align-self: end; position: relative; z-index: 4; padding: 40px 0px 72px; }
.opening h1 { font-size: clamp(58px, 7.6vw, 122px); font-weight: 520; line-height: 0.92; letter-spacing: -0.062em; color: rgb(244, 239, 227); }
.opening h1 span { display: block; white-space: nowrap; }
.opening-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 38px; margin-top: 34px; }
.closing { position: relative; isolation: isolate; overflow: hidden; padding: 140px var(--m) 104px; background: linear-gradient(rgb(23, 23, 30) 0%, rgb(21, 22, 34) 42%, rgb(18, 19, 28) 100%); }
.closing-light { position: absolute; z-index: -1; left: 22%; top: -46%; width: min(1200px, 120vw); height: 130%; background: radial-gradient(closest-side, rgb(61, 65, 88) 0%, rgba(44, 43, 59, 0.5) 42%, rgba(38, 42, 62, 0) 100%), radial-gradient(closest-side at 30% 70%, rgba(90, 66, 52, 0.12), rgba(90, 66, 52, 0)); pointer-events: none; }
.closing h2 { font-size: clamp(50px, 6.6vw, 108px); font-weight: 520; line-height: 0.92; letter-spacing: -0.066em; color: rgb(244, 239, 227); }
.closing-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px 60px; margin-top: 64px; padding-top: 26px; border-top: 1px solid var(--line); }
.closing-row > p { max-width: 460px; font: 400 26px / 1.3 Cardo, Georgia, serif; letter-spacing: -0.02em; color: rgb(230, 224, 210); }
.closing-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 34px; }
footer { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 2fr); gap: 36px 40px; padding: 56px var(--m) 24px; border-top: 1px solid var(--line); background: var(--night); }
.foot-brand p { margin-top: 14px; font-size: 12.5px; line-height: 1.7; color: rgb(179, 173, 161); }
.foot-brand a[href^="mailto"] { display: inline-flex; align-items: center; min-height: 28px; color: var(--paper); text-decoration: underline rgba(239, 233, 217, 0.4); text-underline-offset: 4px; }
.foot-cols { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 28px; }
.foot-cols div { display: flex; flex-direction: column; align-items: flex-start; }
.foot-head { margin-bottom: 6px; font-size: 10.5px; font-weight: 550; letter-spacing: 0.13em; text-transform: uppercase; color: var(--copper-lit); }
.foot-cols a { display: inline-flex; align-items: center; min-height: 32px; font-size: 13.5px; color: var(--mist); transition: color 0.18s; }
.foot-cols a:hover, .foot-legal a:hover { color: rgb(255, 255, 255); }
footer .review-note { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 20px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 11px; color: rgb(157, 153, 143); }
.foot-legal { display: flex; gap: 4px 20px; }
.foot-legal a { display: inline-flex; align-items: center; min-height: 28px; color: rgb(179, 173, 161); }
@media (max-width: 1023px) {
:root { --shell: 68px; }
.main-nav { display: none; }
.shell__menu { display: block; }
footer { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
:root { --m: 22px; --shell: 62px; }
.wordmark { font-size: 13px; letter-spacing: 0.2em; }
.menu nav a { font-size: 36px; padding: 14px 0px; }
footer { gap: 30px; padding-top: 40px; }
.foot-cols { grid-template-columns: 1fr 1fr; gap: 26px 20px; }
.foot-cols div:first-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
*, ::before, ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
html { scroll-behavior: auto; }
}
@media (max-width: 1023px) {
.opening { grid-template-columns: minmax(0px, 1fr); grid-template-rows: auto auto auto auto; min-height: 0px; }
.opening h1 span, .opening h1 em { white-space: normal; }
.opening-copy { grid-row: 2; padding: 60px 0px 0px; }
.opening h1 { font-size: min(9.2vw, 88px); }
.closing-row { flex-direction: column; align-items: flex-start; }
.closing-actions { justify-content: flex-start; }
}
@media (max-width: 600px) {
.opening-meta { padding-top: 20px; font-size: 9.5px; }
.opening-meta p:last-child { display: none; }
.opening-copy { padding-top: 40px; }
.opening h1 { font-size: min(52px, 13vw); line-height: 0.95; letter-spacing: -0.058em; }
.opening-actions { flex-direction: column; align-items: flex-start; gap: 0px; margin-top: 22px; }
.opening .arrow-disc { width: 46px; height: 46px; font-size: 19px; }
.closing { padding: 96px var(--m) 80px; }
.closing-light { left: -30%; top: -20%; width: 170%; height: 80%; }
.closing h2 { font-size: min(42px, 10.8vw); line-height: 0.98; }
.closing-row { margin-top: 40px; gap: 22px; }
.closing-row > p { font-size: 21px; }
.closing-actions { flex-direction: column; align-items: flex-start; gap: 0px; }
}
h1, h2, h3, .slide-cols li, .tier-1-line, .situations a, .lb-text, .cap-key span { text-wrap: balance; }
li, dd, figcaption, .svc-rel a { text-wrap: pretty; }
.quiet-link { gap: 0.35em; }
.opening h1 > span { margin-left: -0.064em; }
.closing h2 { font-size: clamp(46px, 5.8vw, 94px); max-width: 13ch; }
.closing-row { align-items: last baseline; }
@media (min-width: 1024px) {
.foot-cols { margin-top: 7px; }
}
@media (max-width: 600px) {
.opening-meta { font-size: 10.5px; }
.opening-copy { padding-top: 32px; }
.opening-actions { margin-top: 18px; }
}
.menu { overflow-y: auto; overscroll-behavior: contain; max-height: 100dvh; padding-bottom: max(28px,env(safe-area-inset-bottom)); padding-left: max(var(--m),env(safe-area-inset-left)); padding-right: max(var(--m),env(safe-area-inset-right)); }
@media print {
html, body { print-color-adjust: exact; background: rgb(18, 19, 28) !important; }
.skip, .cookie-banner, .shell__menu, .menu { display: none !important; }
.shell { position: static; backdrop-filter: none; }
*, ::before, ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; box-shadow: none !important; text-shadow: none !important; }
img { filter: none !important; transform: none !important; }
.opening::before, .capabilities::before, .proof::before, .closing::before, .work-hero::before, .inquiry::before, .svc-hero::before, .svc-room::before, .reality::before, .ways::before, .studio::before, .questions::before, .paper::before, .sheet::before, .plane-context::after, .tableau::before { display: none !important; }
.opening-figure::before, .closing-light, .studio-light { display: none !important; }
.tableau, .studio, .closing, footer { break-inside: avoid; }
}
.cookie-banner { position: fixed; z-index: 90; left: 20px; right: 20px; bottom: 20px; max-width: 620px; margin: 0px auto; display: none; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 22px; background: rgba(25, 27, 41, 0.95); backdrop-filter: blur(12px); color: var(--paper); border: 1px solid var(--line-2); box-shadow: rgba(0, 0, 0, 0.3) 0px 16px 48px; }
.cookie-banner.show { display: flex; }
.cookie-text { font-size: 13px; line-height: 1.6; color: var(--lavender); }
.cookie-text a { color: var(--paper); text-decoration: underline; text-underline-offset: 4px; }
.cookie-btn { flex: 0 0 auto; min-height: 44px; padding: 0px 20px; border: 1px solid rgba(239, 233, 217, 0.5); color: var(--paper); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.cookie-btn:hover { border-color: var(--paper); }
@media (max-width: 600px) {
.cookie-banner { left: 12px; right: 12px; bottom: 12px; flex-direction: column; align-items: flex-start; gap: 14px; }
.cookie-btn { align-self: stretch; }
}
.home-page .closing { padding-bottom: 132px; }
@media (max-width: 600px) {
.home-page .closing { padding-bottom: 104px; }
}
.home-page .opening-v2 { grid-template-columns: minmax(0px, 1fr); grid-template-rows: auto 1fr auto; }
.home-page .opening-v2 .opening-copy { grid-area: 2 / 1; align-self: end; padding: 56px 0px 48px; }
.home-page .opening-v2 h1 { font-size: clamp(64px, 9.6vw, 156px); }
.opening-foot-v2 { grid-area: 3 / 1; position: relative; z-index: 4; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 60px; padding: 26px 0px 44px; border-top: 1px solid var(--line); }
.opening-line { max-width: 25ch; margin: 0px; font: 400 clamp(21px, 1.9vw, 28px) / 1.3 Cardo, Georgia, serif; letter-spacing: -0.015em; color: rgb(230, 224, 210); }
.home-page .opening-v2 .opening-actions { margin-top: 0px; }
.v2-gap { position: relative; isolation: isolate; overflow: hidden; padding: clamp(96px,11vw,168px) var(--m) clamp(72px,8vw,112px); background: radial-gradient(56% 46% at 54% 58%, rgba(231, 224, 209, 0.07) 0%, rgba(231, 224, 209, 0) 72%), linear-gradient(rgb(21, 22, 31) 0%, rgb(19, 20, 28) 100%); }
.gap-head { display: grid; grid-template-columns: minmax(0px, 7fr) minmax(0px, 4fr); column-gap: clamp(32px, 5vw, 80px); align-items: end; }
.v2-gap h2 { max-width: 12ch; margin: 0px; font-size: clamp(40px, 4.4vw, 68px); font-weight: 520; line-height: 0.98; letter-spacing: -0.055em; color: rgb(244, 239, 227); }
.gap-sub { max-width: 34ch; margin: 0px; font: 400 clamp(18px, 1.4vw, 21px) / 1.5 Cardo, Georgia, serif; color: var(--mist); }
.gap-field { position: relative; height: clamp(380px, 46vw, 700px); margin-top: clamp(96px, 11vw, 176px); }
.gap-a, .gap-b { position: absolute; margin: 0px; font-size: clamp(30px, 4.4vw, 70px); font-weight: 500; line-height: 1; letter-spacing: -0.05em; white-space: nowrap; transition: transform 1.4s var(--ease); }
.gap-a { left: 0px; top: 0px; color: rgb(244, 239, 227); }
.gap-b { right: 0px; bottom: 0px; color: rgb(189, 183, 169); }
.gap-close { margin: 22px 0px 0px; text-align: right; font-size: 11.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--copper-lit); }
.gap-familiar { display: flex; align-items: baseline; gap: 10px 28px; margin-top: clamp(72px, 8vw, 120px); padding-top: 16px; border-top: 1px solid var(--line); }
.gap-familiar-t { flex: 0 0 auto; margin: 0px; font-size: 10.5px; font-weight: 550; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mist); }
.gap-familiar ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0px; padding: 0px; }
.gap-familiar li { display: flex; align-items: baseline; }
.gap-familiar li + li::before { content: "/"; margin: 0px 14px; font: 400 18px / 1 Cardo, Georgia, serif; color: var(--copper); }
.gap-familiar a { display: inline-flex; align-items: center; min-height: 44px; font: 400 clamp(17px, 1.35vw, 20px) / 1.3 Cardo, Georgia, serif; color: rgb(230, 224, 210); background: linear-gradient(var(--copper),var(--copper)) 0 calc(100% - 8px)/0 1px no-repeat; transition: background-size .2s var(--ease),color .2s; }
.gap-familiar a:hover, .gap-familiar a:focus-visible { color: rgb(255, 255, 255); background-size: 100% 1px; }
.home-page .closing-v2 .closing-light { left: -14%; top: auto; bottom: -70%; width: min(1500px, 150vw); height: 160%; background: radial-gradient(closest-side, rgba(199, 140, 102, 0.22) 0%, rgba(168, 80, 46, 0.11) 48%, rgba(199, 140, 102, 0) 100%); }
.home-page .closing-v2 .closing-row > p { max-width: 30ch; font-size: 24px; }
@media (prefers-reduced-motion: no-preference) {
.gap-field.will-move .gap-a { transform: translate3d(9vw, 7vw, 0px); }
.gap-field.will-move .gap-b { transform: translate3d(-9vw, -7vw, 0px); }
.gap-field.will-move.is-in .gap-a, .gap-field.will-move.is-in .gap-b { transform: none; }
}
@media (max-width: 600px) {
.home-page .opening-v2 .opening-copy { padding: 40px 0px 34px; }
.home-page .opening-v2 h1 { font-size: min(64px, 15.4vw); }
.opening-foot-v2 { flex-direction: column; align-items: flex-start; gap: 20px; padding: 22px 0px 32px; }
.opening-line { font-size: 21px; }
.gap-head { display: block; }
.v2-gap h2 { font-size: min(38px, 10vw); }
.gap-sub { margin-top: 20px; font-size: 18px; }
.gap-field { height: clamp(250px, 74vw, 320px); margin-top: 84px; }
.gap-a, .gap-b { max-width: 8.6em; white-space: normal; font-size: min(34px, 9.2vw); line-height: 1.04; }
.gap-b { text-align: right; }
.gap-close { margin-top: 18px; }
.gap-familiar { display: block; margin-top: 64px; }
.gap-familiar ul { display: block; margin-top: 6px; }
.gap-familiar li { display: block; border-top: 1px solid rgba(238, 233, 218, 0.08); }
.gap-familiar li:first-child { border-top: 0px; }
.gap-familiar li + li::before { content: none; }
.gap-familiar a { font-size: 18px; }
.home-page .closing-v2 .closing-row > p { font-size: 21px; }
}
.home-page, .work-page { --ax-ink: #111614; --ax-ink2: #1a1f1c; --ax-paper: #f8f8f8; --ax-foil: #c4b69a; --ax-offwhite: #efe9d9; --ax-mineral: #b8b2a6; --ax-rule: #e8e4dc1f; --ax-display: "Anton",Impact,"Arial Narrow",sans-serif; --ax-mono: "DM Mono",ui-monospace,Menlo,monospace; }
.work-page .closing, .home-page .closing-v2 { background: var(--ax-ink); }
.work-page .closing .closing-light, .home-page .closing-v2 .closing-light { display: none; }
.work-page .closing h2, .home-page .closing-v2 h2 { font: 400 clamp(44px,5.2vw,88px)/.94 var(--ax-display); letter-spacing: 0.01em; text-transform: uppercase; color: var(--ax-offwhite); }
.home-page .opening-v2 { background: var(--ax-ink); }
.home-page .opening-v2 .opening-meta { font: 400 11px/1.5 var(--ax-mono); letter-spacing: 0.22em; color: var(--ax-foil); }
.home-page .opening-v2 h1 { font: 400 clamp(64px,7.6vw,128px)/.9 var(--ax-display); letter-spacing: 0.01em; text-transform: uppercase; color: var(--ax-mineral); }
.home-page .opening-v2 h1 > span { display: block; margin-left: 0px; white-space: nowrap; }
.home-page .opening-v2 h1 .h1-last { color: var(--ax-offwhite); }
.home-page .opening-v2 .opening-foot-v2 { border-top-color: var(--ax-rule); }
.home-page .v2-gap { background: var(--ax-ink); }
.home-page .v2-gap h2 { font: 400 clamp(40px,4.8vw,80px)/.96 var(--ax-display); letter-spacing: 0.01em; text-transform: uppercase; color: var(--ax-offwhite); max-width: 14ch; }
.home-page .gap-a, .home-page .gap-b { font-family: var(--ax-display); font-weight: 400; font-size: clamp(40px, 4.8vw, 80px); line-height: 0.96; letter-spacing: 0.01em; text-transform: uppercase; }
.home-page .gap-a { color: var(--ax-offwhite); }
.home-page .gap-b { color: var(--ax-mineral); }
.home-page .gap-close, .home-page .gap-familiar-t { font: 400 11px/1.5 var(--ax-mono); letter-spacing: 0.22em; text-transform: uppercase; color: var(--ax-foil); }
.home-page .gap-familiar { border-top-color: var(--ax-rule); }
.home-page .gap-familiar li + li::before { color: var(--ax-foil); }
.home-page .gap-familiar a { background-image: linear-gradient(var(--ax-foil),var(--ax-foil)); }
.home-page .v2-edit { position: relative; isolation: isolate; padding: clamp(104px,11vw,176px) var(--m) clamp(112px,12vw,192px); background: var(--ax-paper); color: rgb(17, 22, 20); }
.home-page .v2-edit::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: url("assets/matte-grain.svg"); opacity: 0.1; mix-blend-mode: multiply; }
.no-tr, .no-tr * { transition: none !important; }
@media (max-width: 600px) {
.home-page .v2-edit { padding: 88px var(--m) 104px; }
}
@media (max-width: 600px) {
.apex-meta, .home-page .opening-v2 .opening-meta, .work-page .work-hero .eyebrow { font-size: 10px; letter-spacing: 0.18em; }
.home-page .opening-v2 h1 { font-size: min(58px, 14.6vw); line-height: 0.92; }
.home-page .opening-v2 h1 > span { white-space: normal; }
.home-page .v2-gap h2 { font-size: min(40px, 10.6vw); }
.home-page .gap-a, .home-page .gap-b { font-size: min(40px, 10.6vw); line-height: 1; }
.work-page .closing h2, .home-page .closing-v2 h2 { font-size: min(48px, 12vw); }
}
.home-page .v2-gap::before, .home-page .v2-studio::before, .home-page .v2-credits::before, .home-page .v2-bridge::before, .work-page .editorial::before, .work-page .work-time::before, .work-page .linen-break::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: url("assets/matte-grain.svg"); opacity: 0.05; }
footer { background: rgb(17, 22, 20); }
footer .foot-head { font: 400 10.5px / 1.6 "DM Mono", ui-monospace, Menlo, monospace; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(196, 182, 154); }
.home-page, .work-page, .services-body, .inquiry-page, body.page-about { --ax-midnight: #12131c; }
.home-page .opening-v2, .home-page .closing-v2 { background: var(--ax-midnight); }

/* Reserve the existing fixed image frames; release secondary images after the primary paints or immediately on interaction. No-JS keeps native image loading. */
html.tpc-primary-loading .home-page .ax-card-img>img[loading="lazy"]{display:none}

/* Compact mobile notice; suspend while form controls or the menu are in use. */
@media(max-width:640px){
  #cookieBanner.cookie-banner{flex-direction:row;align-items:center;gap:12px;padding:10px 12px}
  #cookieAccept.cookie-btn{align-self:center;min-width:68px;min-height:44px;padding:0 10px}
  #cookieBanner .cookie-text{min-width:0}
  #cookieBanner.cookie-banner.notice-suspended{display:none}
}
