@font-face {
  font-family: "Abigaila Signature";
  src: url("/assets/fonts/abigaila-signature.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "DM Sans";
  src: url("/assets/fonts/dm-sans-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400 700;
  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: "DM Sans";
  src: url("/assets/fonts/dm-sans-latin-ext.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400 700;
  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: "Fraunces";
  src: url("/assets/fonts/fraunces-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 300 700;
  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: "Fraunces";
  src: url("/assets/fonts/fraunces-latin-ext.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 300 700;
  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;
}

:root {
  /* Golden-ratio composition: 1 / φ = 0.618, 1 / φ² = 0.382. */
  --phi: 1.618;
  --gold-major: 61.8%;
  --gold-minor: 38.2%;
  --ink: #11110e;
  --ink-soft: #2e2d28;
  --ink-muted: #56524b;
  --paper: #f0ece5;
  --paper-light: #faf8f4;
  --paper-deep: #ded6c7;
  --signal: #f4512c;
  --signal-dark: #8b432e;
  --line: color-mix(in oklab, var(--ink) 17%, transparent);
  --line-inverse: color-mix(in oklab, var(--paper) 22%, transparent);
  --font-display: "Fraunces", "Iowan Old Style", "Baskerville", Georgia, serif;
  --font-sans: "DM Sans", "Aptos", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "DM Sans", ui-monospace, SFMono-Regular, Consolas, monospace;
  --font-script: "Abigaila Signature", "Segoe Script", "Bradley Hand", cursive;
  /* 11 → 18 → 29 → 47 → 76 → 123 px at the wide-screen ceiling. */
  --type-micro: 0.6875rem;
  --type-small: 0.809rem;
  --type-body: clamp(1rem, 0.965rem + 0.18vw, 1.125rem);
  --type-lede: clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
  --type-h3: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
  --type-h4: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
  --type-h2: clamp(2.25rem, 1.65rem + 2.7vw, 4rem);
  --type-h1: clamp(2.75rem, 1.6rem + 5vw, 6rem);
  /* 0.382 → 0.618 → 1 → 1.618 → 2.618 → 4.236 → 6.854 → 11.09 rem. */
  --space-1: 0.382rem;
  --space-2: 0.618rem;
  --space-3: 1rem;
  --space-4: 1.618rem;
  --space-5: 2.618rem;
  --space-6: 4.236rem;
  --space-7: 6.854rem;
  --space-8: 11.09rem;
  --measure: 61.8ch;
  --measure-narrow: 38.2ch;
  --max: 90rem;
  --gutter: clamp(var(--space-3), 3vw, var(--space-5));
  --section: clamp(4rem, 7.5vw, 7rem);
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-decisive: cubic-bezier(0.7, 0, 0.3, 1);
  --ease-gallery: cubic-bezier(0.16, 1, 0.3, 1);
  --header-h: calc(var(--space-6) + var(--space-3));
  --z-header: 30;
  --z-menu: 40;
  --z-dialog: 100;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  margin: 0;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
  color: var(--ink);
  background: var(--paper-light);
  font-family: var(--font-sans);
  font-size: var(--type-body);
  line-height: 1.618;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

main {
  min-width: 0;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  background: var(--paper-deep);
}

figure,
blockquote,
h1,
h2,
h3,
p {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
  widows: 3;
  orphans: 3;
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.22em;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 0.125rem solid var(--signal);
  outline-offset: 0.25rem;
}

::selection {
  color: var(--paper-light);
  background: var(--signal);
}

.skip-link {
  position: fixed;
  z-index: 200;
  top: 0;
  left: var(--gutter);
  padding: 0.8rem 1rem;
  color: var(--paper-light);
  background: var(--ink);
  transform: translateY(-120%);
  transition: transform 180ms var(--ease);
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.shell {
  width: min(100%, var(--max));
  min-width: 0;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section {
  position: relative;
  min-width: 0;
  padding-block: var(--section);
}

.section--tight {
  padding-block: clamp(var(--space-5), 7vw, var(--space-7));
}

.section--paper {
  background-color: var(--paper-light);
  background-image: url("/assets/textures/painted-wall-dark.webp");
  background-repeat: repeat-y;
  background-position: 50% 0;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: multiply;
}

.section--sand {
  background-color: var(--paper);
  background-image: url("/assets/textures/painted-wall-dark.webp");
  background-repeat: repeat-y;
  background-position: 72% 0;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: multiply;
}

.section--ink {
  color: var(--paper-light);
  background-color: var(--ink);
  background-image: url("/assets/textures/painted-wall-light.webp");
  background-repeat: repeat-y;
  background-position: 44% 0;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: screen;
}

.section--signal {
  color: var(--ink);
  background-color: var(--signal);
  background-image: url("/assets/textures/painted-wall-dark.webp");
  background-repeat: repeat-y;
  background-position: 58% 0;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: multiply;
}

.section-rule {
  border-top: 1px solid var(--line);
}

.handwritten-note {
  width: max-content;
  max-width: none;
  margin: 0;
  font-family: var(--font-script);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0;
  text-wrap: nowrap;
  white-space: nowrap;
}

.script-interlude {
  position: relative;
  overflow: clip;
  padding-block: clamp(var(--space-5), 7vw, var(--space-7));
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}

.script-interlude--paper {
  color: var(--ink);
  background-color: var(--paper-light);
  background-image: url("/assets/textures/painted-wall-dark.webp");
  background-position: 50% 38%;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: multiply;
  border-color: var(--line);
}

.script-interlude--signal {
  color: var(--ink);
  background-color: var(--signal);
  background-image: url("/assets/textures/painted-wall-dark.webp");
  background-position: 50% 42%;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: multiply;
  border-color: color-mix(in oklab, var(--ink) 18%, transparent);
}

.script-interlude--ink {
  color: var(--paper-light);
  background-color: var(--ink);
  background-image: url("/assets/textures/painted-wall-light.webp");
  background-position: 50% 40%;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: screen;
  border-color: var(--line-inverse);
}

.script-interlude__inner {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(var(--space-4), 6vw, var(--space-7));
}

.script-interlude__text {
  position: relative;
  width: max-content;
  max-width: none;
  justify-self: end;
  padding: 0.08em 0.12em 0.16em;
  font-family: var(--font-script);
  font-size: clamp(3.35rem, 5.9vw, 6rem);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0;
  text-wrap: nowrap;
  white-space: nowrap;
  transform: rotate(-2deg);
}

.script-interlude__text > span {
  display: inline;
  white-space: inherit;
}

.script-interlude__text > span + span::before {
  content: " ";
}

.script-interlude__text::after {
  display: block;
  width: var(--gold-major);
  height: 2px;
  margin-top: 0.15em;
  margin-left: auto;
  background: currentColor;
  content: "";
  opacity: 0.28;
  transform: rotate(-1.5deg);
  transform-origin: right;
}

.has-reveal .script-interlude__text.reveal {
  transform: translate3d(0, 1rem, 0) rotate(-2deg);
}

.has-reveal .script-interlude__text.reveal.is-visible {
  transform: translate3d(0, 0, 0) rotate(-2deg);
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.kicker::before {
  width: var(--space-5);
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0.55;
}

.display {
  max-width: 11.09ch;
  font-size: var(--type-h1);
  line-height: 0.94;
}

.heading-xl {
  max-width: 11.09ch;
  font-size: var(--type-h1);
  line-height: 0.95;
}

.heading-lg {
  max-width: 17.944ch;
  font-size: var(--type-h2);
  line-height: 1;
}

.heading-md {
  font-size: var(--type-h3);
  line-height: 1.05;
}

.lede {
  max-width: var(--measure-narrow);
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.382;
  letter-spacing: -0.02em;
}

.copy {
  max-width: var(--measure);
}

.copy p + p {
  margin-top: 1.618em;
}

.muted {
  color: var(--ink-muted);
}

.section--ink .muted {
  color: color-mix(in oklab, var(--paper-light) 62%, transparent);
}

.button-link {
  position: relative;
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-3);
  border-bottom: 1px solid currentColor;
  font-size: clamp(0.75rem, 0.72rem + 0.1vw, var(--type-small));
  font-weight: 600;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
}

.button-link::after {
  content: "↗";
  font-size: 1.1rem;
  transition: transform 250ms var(--ease);
}

.button-link:hover::after,
.button-link:focus-visible::after {
  transform: translate3d(0.25rem, -0.25rem, 0);
}

.button-link--on-dark {
  color: var(--paper-light);
}

.site-header {
  position: sticky;
  z-index: var(--z-header);
  top: 0;
  height: var(--header-h);
  color: var(--paper-light);
  background: color-mix(in oklab, var(--ink) 94%, transparent);
  border-bottom: 1px solid var(--line-inverse);
  backdrop-filter: blur(1rem);
}

.site-header__inner {
  display: grid;
  width: min(100%, var(--max));
  height: 100%;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(var(--space-3), 3vw, var(--space-5));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.wordmark {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  text-decoration: none;
}

.wordmark__logo {
  width: clamp(7.6rem, 10.5vw, 9.25rem);
  height: auto;
  background: transparent;
  filter: invert(1);
  transition: opacity 250ms var(--ease), transform 350ms var(--ease);
}

.wordmark:hover .wordmark__logo,
.wordmark:focus-visible .wordmark__logo {
  opacity: 0.78;
  transform: translate3d(0.18rem, 0, 0);
}

.desktop-nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(var(--space-2), 1.25vw, var(--space-3));
}

.desktop-nav a,
.language-link {
  position: relative;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.desktop-nav a::after,
.language-link::after {
  position: absolute;
  right: 0;
  bottom: 0.45rem;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms var(--ease-decisive);
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a[aria-current="page"]::after,
.language-link:hover::after,
.language-link:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header-actions {
  display: flex;
  grid-column: 3;
  align-items: center;
  gap: var(--space-2);
}

.menu-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  display: block;
  width: 1.4rem;
  height: 1px;
  margin-inline: auto;
  background: currentColor;
  content: "";
  transition: transform 300ms var(--ease), opacity 180ms var(--ease);
}

.menu-toggle span {
  margin-block: 0.34rem;
}

.menu-toggle[aria-expanded="true"] span {
  opacity: 0;
}

.menu-toggle[aria-expanded="true"]::before {
  transform: translateY(0.44rem) rotate(45deg);
}

.menu-toggle[aria-expanded="true"]::after {
  transform: translateY(-0.44rem) rotate(-45deg);
}

.mobile-menu {
  position: fixed;
  z-index: var(--z-menu);
  inset: var(--header-h) 0 0;
  display: grid;
  align-content: space-between;
  padding: clamp(2rem, 8vw, 5rem) var(--gutter);
  color: var(--paper-light);
  background: var(--ink);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, -1rem, 0);
  visibility: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: opacity 250ms var(--ease), transform 350ms var(--ease);
}

.mobile-menu.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

.mobile-menu nav {
  display: grid;
}

.mobile-menu nav a {
  display: flex;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line-inverse);
  font-family: var(--font-display);
  font-size: var(--type-h3);
  letter-spacing: -0.03em;
  text-decoration: none;
}

.mobile-menu nav a::after {
  content: "↗";
  font-family: var(--font-sans);
  font-size: var(--type-body);
}

.hero {
  min-height: calc(100svh - var(--header-h));
  color: var(--paper-light);
  background: var(--ink);
}

.hero-slider {
  position: relative;
  overflow: hidden;
}

.hero-slider__viewport {
  position: relative;
  min-height: calc(100svh - var(--header-h));
}

.hero-slide {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(1.2rem, 0, 0);
  transition: opacity 600ms var(--ease), transform 700ms var(--ease), visibility 0s linear 700ms;
}

.hero-slide.is-active {
  position: relative;
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  transition-delay: 0s;
}

.hero-slider .hero__media img {
  animation: none;
}

.hero-slide--mural .hero__media img {
  object-position: center 52%;
}

.hero-slide--sculpture .hero__media img {
  object-position: center 46%;
}

.hero-slide--live .hero__media img {
  object-position: center;
}

.hero-slider .hero__caption {
  top: var(--space-5);
  bottom: auto;
}

.hero-slider__controls {
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: var(--space-4);
  left: 50%;
  display: flex;
  width: min(100%, var(--max));
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-left: calc(var(--gold-minor) + var(--space-4));
  transform: translateX(-50%);
  pointer-events: none;
}

.hero-slider__dots,
.hero-slider__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  pointer-events: auto;
}

.hero-slider__dots button,
.hero-slider__actions button {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line-inverse);
  border-radius: 0;
  color: var(--paper-light);
  background: color-mix(in oklab, var(--ink) 78%, transparent);
  font-size: var(--type-small);
  cursor: pointer;
  backdrop-filter: blur(0.6rem);
  transition: color 200ms var(--ease), background-color 200ms var(--ease), border-color 200ms var(--ease);
}

.hero-slider__dots button {
  border-color: transparent;
  color: color-mix(in oklab, var(--paper-light) 58%, transparent);
  background: transparent;
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.hero-slider__dots button::after {
  position: absolute;
  right: 0.45rem;
  bottom: 0.45rem;
  left: 0.45rem;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0.22);
  transform-origin: left;
  transition: transform 350ms var(--ease-decisive);
}

.hero-slider__dots button {
  position: relative;
}

.hero-slider__dots button[aria-current="true"] {
  color: var(--signal);
}

.hero-slider__dots button[aria-current="true"]::after {
  transform: scaleX(1);
}

.hero-slider__dots button:hover,
.hero-slider__dots button:focus-visible,
.hero-slider__actions button:hover,
.hero-slider__actions button:focus-visible {
  color: var(--ink);
  background: var(--signal);
  border-color: var(--signal);
}

.hero-slider__actions button[data-hero-toggle] {
  font-size: var(--type-micro);
}

.hero__grid {
  display: grid;
  min-height: min(52rem, calc(100svh - var(--header-h)));
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: stretch;
}

.hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: clamp(var(--space-4), 4.5vw, var(--space-6)) var(--gutter) var(--space-4) max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));
}

.hero__copy .kicker {
  color: var(--signal);
}

.hero__headline {
  margin-top: clamp(var(--space-4), 5vh, var(--space-5));
}

.hero__headline .display {
  max-width: 12ch;
  font-size: clamp(3rem, 4.9vw, 5.25rem);
}

.hero__script {
  width: max-content;
  max-width: none;
  margin-top: var(--space-3);
  margin-left: auto;
  color: color-mix(in oklab, var(--paper-light) 82%, transparent);
  font-size: clamp(2.2rem, 3vw, 3.4rem);
  text-align: right;
  transform: rotate(-2.5deg);
}

.hero__script::after {
  display: block;
  width: var(--gold-major);
  height: 1px;
  margin: 0.16em 0 0 auto;
  background: currentColor;
  content: "";
  opacity: 0.38;
  transform: rotate(-1deg);
  transform-origin: right;
}

.hero__headline em {
  display: block;
  color: var(--signal);
  font-style: normal;
}

.hero__footer {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.hero__intro {
  max-width: var(--measure-narrow);
  color: color-mix(in oklab, var(--paper-light) 75%, transparent);
}

.hero__footer .button-link {
  justify-self: start;
}

.hero__media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #1e342c;
}

.hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
  filter: none;
  transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.03);
  animation: hero-arrive 800ms var(--ease) both;
}

.hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, color-mix(in oklab, var(--ink) 35%, transparent), transparent 34%), linear-gradient(0deg, color-mix(in oklab, var(--ink) 30%, transparent), transparent 35%);
  content: "";
  pointer-events: none;
}

.hero__caption {
  position: absolute;
  z-index: 2;
  right: var(--gutter);
  bottom: 2rem;
  max-width: 17.944rem;
  font-size: var(--type-micro);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.13em;
  text-align: right;
  text-transform: uppercase;
}

@keyframes hero-arrive {
  from { opacity: 0; transform: translate3d(0, calc(var(--parallax-y, 0px) + 1.2rem), 0) scale(1.08); }
  to { opacity: 1; transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.03); }
}

.proof-strip {
  color: var(--paper-light);
  background-color: var(--ink);
  background-image: url("/assets/textures/painted-wall-light.webp");
  background-position: center;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: screen;
  border-top: 1px solid var(--line-inverse);
}

.proof-strip__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.proof-item {
  min-width: 0;
  padding: var(--space-4) var(--gutter);
  border-right: 1px solid var(--line-inverse);
}

.proof-item:last-child {
  border-right: 0;
}

.proof-item strong {
  display: block;
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.1;
}

.proof-item span {
  display: block;
  margin-top: var(--space-1);
  color: color-mix(in oklab, var(--paper-light) 55%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.manifesto-grid,
.split-grid,
.page-intro,
.contact-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  gap: clamp(var(--space-5), 9vw, var(--space-8));
}

.manifesto-grid__label,
.split-grid__aside {
  align-self: start;
}

.manifesto-grid__body .heading-lg {
  max-width: 15.5ch;
}

.manifesto-grid__body .lede {
  max-width: 42ch;
  margin-top: clamp(var(--space-4), 4vw, var(--space-6));
}

.manifesto-grid__body .copy {
  width: 100%;
  max-width: 56ch;
  margin-top: var(--space-5);
  margin-left: 0;
}

.manifesto-section {
  overflow: hidden;
  isolation: isolate;
}

.manifesto-watermark {
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
}

.manifesto-watermark::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--paper-light) 46%, transparent) 0%,
    color-mix(in oklab, var(--paper-light) 60%, transparent) 38%,
    color-mix(in oklab, var(--paper-light) 84%, transparent) 72%,
    color-mix(in oklab, var(--paper-light) 91%, transparent) 100%);
  content: "";
}

.manifesto-watermark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
  opacity: 0.54;
  filter: grayscale(0.48) saturate(0.82) contrast(0.96);
  mix-blend-mode: multiply;
  transform: scale(1.02);
}

.manifesto-section .manifesto-grid {
  position: relative;
  z-index: 1;
}

.practice-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(var(--space-3), 2vw, var(--space-5));
  margin-top: clamp(var(--space-5), 7vw, var(--space-7));
}

.practice-card {
  min-width: 0;
}

.practice-card:nth-child(n) {
  grid-column: auto;
  width: auto;
  margin-top: 0;
  margin-left: 0;
}

.practice-card__media {
  position: relative;
  overflow: hidden;
  background: var(--paper-deep);
}

.practice-card:nth-child(n) .practice-card__media {
  aspect-ratio: 4 / 5;
}

.practice-card img,
.gallery-card img,
.editorial-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease), filter 350ms var(--ease);
}

.practice-card a:hover img,
.practice-card a:focus-visible img,
.gallery-card button:hover img,
.gallery-card button:focus-visible img {
  transform: scale(1.035);
}

.practice-card a {
  display: grid;
  height: 100%;
  grid-template-rows: auto 1fr;
  text-decoration: none;
}

.practice-card__caption {
  display: grid;
  min-height: 9.75rem;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  align-content: start;
  gap: var(--space-2);
  padding: var(--space-4) 0;
  border-top: 0;
  background: transparent;
  transition: color 280ms var(--ease), background-color 280ms var(--ease);
}

.practice-card a:hover .practice-card__caption,
.practice-card a:focus-visible .practice-card__caption {
  color: var(--signal-dark);
  background: transparent;
}

.practice-card a:hover .practice-card__caption span,
.practice-card a:focus-visible .practice-card__caption span {
  color: var(--ink);
}

.practice-card__caption strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1;
}

.practice-card__caption span {
  padding-top: 0;
  color: var(--ink-muted);
  font-size: var(--type-micro);
  line-height: 1.55;
  letter-spacing: 0.09em;
  text-align: left;
  text-transform: uppercase;
}

.full-bleed-feature {
  position: relative;
  min-height: min(78rem, 87svh);
  overflow: hidden;
  color: var(--paper-light);
  background: #1b2f39;
}

.full-bleed-feature img {
  position: absolute;
  inset: -5%;
  width: 110%;
  height: 110%;
  object-fit: cover;
  transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.02);
  will-change: transform;
}

.full-bleed-feature::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, color-mix(in oklab, var(--ink) 12%, transparent) 30%, color-mix(in oklab, var(--ink) 85%, transparent) 100%);
  content: "";
}

.full-bleed-feature__content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(17rem, 1fr);
  align-items: end;
  gap: var(--space-5);
  padding-block: clamp(var(--space-5), 7vw, var(--space-7));
}

.full-bleed-feature__content p {
  max-width: var(--measure-narrow);
  justify-self: end;
}

.artist-origin > img {
  object-position: 55% center;
}

.sculpture-preview {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  align-items: center;
}

.sculpture-preview__media {
  position: relative;
}

.sculpture-preview__media img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.sculpture-preview__index {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  padding: 0.45rem 0.6rem;
  color: var(--paper-light);
  background: var(--ink);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.14em;
}

.sculpture-preview__copy .heading-lg {
  margin-top: var(--space-4);
}

.sculpture-preview__copy p {
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
}

.sculpture-preview__copy .button-link {
  margin-top: var(--space-5);
}

.news-list {
  margin-top: clamp(var(--space-5), 6vw, var(--space-7));
  border-top: 1px solid var(--line);
}

.news-item {
  display: grid;
  min-width: 0;
  grid-template-columns: var(--space-7) minmax(0, 1.618fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(var(--space-3), 3vw, var(--space-5));
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.news-item time {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.news-item strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.05;
}

.news-item span {
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.news-item i {
  font-style: normal;
  transition: transform 250ms var(--ease);
}

.news-item:hover i,
.news-item:focus-visible i {
  transform: translate3d(0.25rem, -0.25rem, 0);
}

.cta-panel {
  display: grid;
  min-height: 22rem;
  grid-template-columns: minmax(0, 1.618fr) minmax(16rem, 1fr);
  align-items: end;
  gap: clamp(var(--space-5), 8vw, var(--space-8));
}

.cta-panel .heading-xl {
  max-width: 19ch;
}

.cta-panel__script {
  width: max-content;
  max-width: none;
  margin-top: var(--space-4);
  margin-left: clamp(var(--space-4), 9vw, var(--space-8));
  color: color-mix(in oklab, var(--ink) 72%, transparent);
  font-size: clamp(3rem, 5.2vw, 5.8rem);
  transform: rotate(-2deg);
}

.cta-panel__actions {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  flex-direction: column;
  gap: var(--space-3);
}

.button-link--strong,
.button-link--secondary {
  width: min(100%, 27rem);
  min-height: 3.5rem;
  justify-content: space-between;
  padding: 0.8rem var(--space-4);
  border: 1px solid var(--ink);
}

.button-link--strong {
  color: var(--paper-light);
  background: var(--ink);
}

.button-link--secondary {
  color: var(--ink);
  background: transparent;
}

.button-link--strong:hover,
.button-link--strong:focus-visible {
  color: var(--ink);
  background: var(--paper-light);
}

.button-link--secondary:hover,
.button-link--secondary:focus-visible {
  color: var(--paper-light);
  background: var(--ink);
}

.artist-portrait-hero {
  position: relative;
  min-height: min(62rem, calc(100svh - var(--header-h)));
  overflow: hidden;
  color: var(--paper-light);
  background: #050505;
}

.artist-portrait-hero::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, #050505 0%, color-mix(in oklab, #050505 97%, transparent) 28%, color-mix(in oklab, #050505 76%, transparent) 48%, transparent 73%);
  content: "";
  pointer-events: none;
}

.artist-portrait-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #050505;
  animation: hero-arrive 800ms var(--ease) both;
}

.artist-portrait-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: min(62rem, calc(100svh - var(--header-h)));
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding-block: var(--space-7);
}

.artist-portrait-hero__content .heading-xl {
  max-width: 11ch;
  margin-top: var(--space-5);
}

.artist-portrait-hero__script {
  width: max-content;
  max-width: none;
  margin: var(--space-4) 0 calc(-1 * var(--space-2)) clamp(var(--space-4), 7vw, var(--space-8));
  color: var(--signal);
  font-size: clamp(3.2rem, 5.8vw, 6.4rem);
  transform: rotate(-3deg);
}

.artist-portrait-hero__content > p {
  max-width: 32rem;
  margin-top: var(--space-5);
  color: color-mix(in oklab, var(--paper-light) 75%, transparent);
}

.artist-portrait-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-5);
  margin-top: var(--space-5);
}

.artist-portrait-hero__actions > span {
  color: color-mix(in oklab, var(--paper-light) 58%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-hero {
  padding-block: clamp(3rem, 5vw, 5rem);
  color: var(--paper-light);
  background-color: var(--ink);
  background-image: url("/assets/textures/painted-wall-light.webp");
  background-repeat: no-repeat;
  background-position: 52% 34%;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: screen;
}

.page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.618fr);
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  align-items: end;
}

.page-hero__title {
  min-width: 0;
  padding-right: var(--space-2);
}

.page-hero .heading-xl {
  max-width: 20ch;
}

.page-hero__script {
  width: max-content;
  max-width: none;
  margin-top: var(--space-4);
  margin-left: auto;
  color: var(--signal);
  font-size: clamp(3rem, 5.4vw, 6rem);
  text-align: right;
  transform: rotate(-2.5deg);
}

.page-hero__script::after {
  display: block;
  width: var(--gold-major);
  height: 1px;
  margin: 0.14em 0 0 auto;
  background: currentColor;
  content: "";
  opacity: 0.52;
  transform: rotate(-1.5deg);
  transform-origin: right;
}

.page-hero__summary {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(8rem, 1fr);
  gap: var(--space-5);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--line-inverse);
}

.page-hero__summary p {
  max-width: var(--measure);
  color: color-mix(in oklab, var(--paper-light) 73%, transparent);
}

.page-hero__summary span {
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: clamp(var(--space-5), 5vw, var(--space-7));
}

.filter-button {
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 180ms var(--ease), background-color 180ms var(--ease);
}

.filter-button:hover,
.filter-button:focus-visible,
.filter-button[aria-pressed="true"] {
  color: var(--paper-light);
  background: var(--ink);
}

.portfolio-meta {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(8rem, 1fr);
  gap: var(--space-4);
  align-items: end;
  margin: calc(-1 * var(--space-4)) 0 var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--line);
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.portfolio-meta p {
  max-width: var(--measure);
}

.portfolio-meta span {
  justify-self: end;
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.gallery-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: clamp(var(--space-3), 2vw, var(--space-5));
}

.gallery-card {
  min-width: 0;
  grid-column: auto;
}

.gallery-card[hidden] {
  display: none;
}

.gallery-card button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: zoom-in;
}

.gallery-card__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--paper-deep);
}

.gallery-card:nth-child(odd) .gallery-card__media {
  aspect-ratio: 3 / 2;
}

.gallery-card__caption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-3) var(--space-5);
  border-top: 1px solid var(--line);
}

.gallery-card__caption strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
}

.gallery-card__caption span {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-align: right;
  text-transform: uppercase;
}

.artist-selection {
  overflow: clip;
}

.artist-selection__head {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(16rem, 1fr);
  gap: clamp(var(--space-5), 8vw, var(--space-8));
  align-items: end;
  margin-bottom: clamp(var(--space-5), 7vw, var(--space-7));
}

.artist-selection__head h2 {
  max-width: 15ch;
  margin-top: var(--space-3);
}

.artist-selection__head > p {
  max-width: var(--measure);
  color: var(--ink-muted);
}

.artist-selection__details {
  border-block: 1px solid var(--line);
}

.artist-selection__details > summary {
  display: flex;
  min-height: 5.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
  list-style: none;
  cursor: pointer;
}

.artist-selection__details > summary::-webkit-details-marker {
  display: none;
}

.artist-selection__details > summary span {
  display: grid;
  gap: 0.35rem;
}

.artist-selection__details > summary strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
}

.artist-selection__details > summary small {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.artist-selection__details > summary > i {
  position: relative;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.artist-selection__details > summary > i::before,
.artist-selection__details > summary > i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform 250ms var(--ease);
}

.artist-selection__details > summary > i::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.artist-selection__details[open] > summary > i::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

.artist-selection__details > summary:hover > i,
.artist-selection__details > summary:focus-visible > i {
  color: var(--paper-light);
  background: var(--ink);
}

.artist-selection__body {
  padding-block: clamp(var(--space-5), 7vw, var(--space-7));
  border-top: 1px solid var(--line);
}

.artist-selection .filter-bar {
  margin-bottom: var(--space-4);
}

.artist-selection .portfolio-meta {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 var(--space-5);
}

.artist-selection .portfolio-meta span {
  justify-self: auto;
}

.selection-grid {
  min-width: 0;
  column-count: 3;
  column-gap: clamp(var(--space-3), 2vw, var(--space-5));
}

.selection-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 clamp(var(--space-4), 4vw, var(--space-6));
  break-inside: avoid;
  vertical-align: top;
}

.selection-card[hidden] {
  display: none;
}

.selection-card button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: zoom-in;
}

.selection-card__media {
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--paper-deep);
}

.selection-card__media img {
  display: block;
  width: 100%;
  height: auto;
  transition: filter 450ms var(--ease), transform 800ms var(--ease);
}

.selection-card button:hover .selection-card__media img,
.selection-card button:focus-visible .selection-card__media img {
  filter: saturate(1.06) contrast(1.02);
  transform: scale(1.015);
}

.selection-card figcaption {
  display: grid;
  gap: var(--space-1);
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--line);
}

.selection-card figcaption strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: pretty;
}

.selection-card figcaption span {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 68.75rem) {
  .selection-grid {
    column-count: 2;
  }
}

@media (max-width: 42.5rem) {
  .artist-selection__head {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .selection-grid {
    column-count: 1;
  }
}

.album-section {
  overflow: clip;
}

.album-section__head {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(16rem, 1fr);
  gap: clamp(var(--space-5), 8vw, var(--space-8));
  align-items: end;
  margin-bottom: clamp(var(--space-6), 8vw, var(--space-8));
}

.album-section__head h2 {
  max-width: 16ch;
  margin-top: var(--space-3);
}

.album-section__script {
  width: max-content;
  max-width: none;
  margin-top: var(--space-4);
  margin-left: clamp(var(--space-4), 8vw, var(--space-8));
  color: var(--signal-dark);
  font-size: clamp(2.8rem, 4.7vw, 5.25rem);
  transform: rotate(-2deg);
}

.album-section__head > p {
  max-width: var(--measure);
  padding-bottom: 0.35rem;
  color: var(--ink-muted);
  font-size: var(--type-lede);
}

.album-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: clamp(var(--space-4), 4vw, var(--space-6));
  align-items: start;
}

.album-card,
.album-card button,
.encounter-card,
.encounter-card button {
  min-width: 0;
}

.album-card button,
.encounter-card button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: zoom-in;
}

.album-card__media,
.encounter-card__media {
  position: relative;
  overflow: hidden;
  background: var(--paper-deep);
}

.album-card__media {
  aspect-ratio: 1.18 / 1;
}

.album-card:nth-child(3n + 2) .album-card__media {
  aspect-ratio: 1 / 1.12;
}

.album-card:nth-child(3n) .album-card__media {
  aspect-ratio: 1.618 / 1;
}

.album-card__media img,
.encounter-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease), filter 450ms var(--ease);
}

.album-card button:hover .album-card__media img,
.album-card button:focus-visible .album-card__media img,
.encounter-card button:hover .encounter-card__media img,
.encounter-card button:focus-visible .encounter-card__media img {
  transform: scale(1.025);
  filter: saturate(1.06) contrast(1.02);
}

.album-card figcaption,
.encounter-card figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(7rem, 1fr);
  gap: var(--space-3);
  align-items: baseline;
  padding-block: var(--space-3) var(--space-5);
  border-top: 1px solid var(--line);
}

.album-card figcaption strong,
.encounter-card figcaption strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.05;
}

.album-card figcaption span,
.encounter-card figcaption span {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-align: right;
  text-transform: uppercase;
}

.showcase-section {
  overflow: clip;
}

.showcase-section .anchor-target {
  position: absolute;
  top: 0;
  left: 0;
  scroll-margin-top: 5rem;
}

.showcase-section--full-bleed {
  --showcase-inset: max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));
}

.showcase-section--full-bleed .showcase-section__stage {
  width: 100%;
  min-width: 0;
}

.showcase-section--full-bleed .showcase-slide__media {
  height: min(78svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5)));
}

.showcase-section--full-bleed .showcase-slide__media::after {
  display: none;
}

.showcase-section--full-bleed .showcase-slider--contain .showcase-slide__media img {
  width: min(100%, var(--native-width));
  height: min(100%, var(--native-height));
  margin: auto;
  padding: 0;
  background: var(--ink);
}

.showcase-section--full-bleed .showcase-slider--contain .showcase-slide--hires.showcase-slide--cinema .showcase-slide__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.showcase-section--full-bleed .showcase-slide--hires.showcase-slide--cinema .showcase-slide__media {
  height: min(78svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5)));
}

.showcase-section--full-bleed .showcase-slide figcaption {
  padding: var(--space-4) var(--showcase-inset);
}

.showcase-section--full-bleed .showcase-slider__controls {
  padding-inline: var(--showcase-inset);
}

.showcase-section__head {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(16rem, 1fr);
  gap: clamp(var(--space-5), 8vw, var(--space-8));
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 4rem);
}

.showcase-section__head h2 {
  max-width: 21ch;
  margin-top: var(--space-3);
}

.showcase-section__head > p {
  max-width: var(--measure);
  padding-bottom: var(--space-2);
  color: var(--ink-muted);
}

.showcase-section__script {
  width: max-content;
  max-width: none;
  margin-top: var(--space-4);
  margin-left: clamp(var(--space-4), 8vw, var(--space-8));
  color: var(--signal-dark);
  font-size: clamp(2.9rem, 4.7vw, 5.4rem);
  transform: rotate(-2deg);
}

.showcase-slider {
  min-width: 0;
}

.showcase-slider__viewport {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--ink);
}

.showcase-slide {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: none;
  transition: opacity 400ms var(--ease), visibility 0s linear 400ms;
}

.showcase-slide.is-active {
  position: relative;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  transition-delay: 0s;
}

.showcase-slide button {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: zoom-in;
}

.showcase-slide__media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  place-items: center;
  height: clamp(31rem, 58vw, 52rem);
  overflow: hidden;
  background: var(--ink);
}

.showcase-slide__media::after {
  position: absolute;
  inset: 0;
  border: 1px solid color-mix(in oklab, var(--paper-light) 12%, transparent);
  content: "";
  pointer-events: none;
}

.showcase-slide__media img {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms var(--ease);
}

.showcase-slider--contain .showcase-slide__media img {
  padding: clamp(var(--space-3), 2vw, var(--space-5));
  object-fit: contain;
}

.showcase-slide button:hover .showcase-slide__media img,
.showcase-slide button:focus-visible .showcase-slide__media img {
  filter: none;
  transform: none;
}

.showcase-slider--contain .showcase-slide button:hover .showcase-slide__media img,
.showcase-slider--contain .showcase-slide button:focus-visible .showcase-slide__media img {
  transform: none;
}

.showcase-slide figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(12rem, 1fr);
  gap: var(--space-4);
  align-items: baseline;
  padding: var(--space-4) clamp(var(--space-3), 2.4vw, var(--space-5));
  color: var(--paper-light);
  background: var(--ink);
  border-top: 1px solid var(--line-inverse);
}

.showcase-slide figcaption strong,
.showcase-slide figcaption span {
  opacity: 0;
  transform: translate3d(0, 0.4rem, 0);
  transition: opacity 520ms var(--ease-gallery), transform 720ms var(--ease-gallery);
}

.showcase-slide.is-active figcaption strong,
.showcase-slide.is-active figcaption span {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.showcase-slide.is-active figcaption span {
  transition-delay: 90ms;
}

.showcase-slide figcaption strong {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.3vw, 2.4rem);
  font-weight: 400;
  line-height: 1.1;
}

.showcase-slide figcaption span {
  color: color-mix(in oklab, var(--paper-light) 78%, var(--ink));
  font-size: var(--type-micro);
  letter-spacing: 0.11em;
  text-align: right;
  text-transform: uppercase;
}

.showcase-slider__controls {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(12rem, 1fr);
  align-items: center;
  min-height: 5.5rem;
  border-bottom: 1px solid var(--line);
}

.showcase-slider__count {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-mono);
  font-size: var(--type-small);
  letter-spacing: 0.12em;
}

.showcase-slider__count i {
  width: min(10vw, var(--space-6));
  height: 1px;
  background: currentColor;
  opacity: 0.28;
}

.showcase-slider__actions {
  display: flex;
  justify-content: flex-end;
}

.showcase-slider__actions button {
  display: grid;
  width: var(--space-6);
  height: var(--space-6);
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-bottom: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
  transition: color 220ms var(--ease), background 220ms var(--ease), border-color 220ms var(--ease);
}

.showcase-slider__actions button + button {
  border-left: 0;
}

.showcase-slider__actions button:hover,
.showcase-slider__actions button:focus-visible {
  color: var(--paper-light);
  background: var(--ink);
  border-color: var(--ink);
}

.showcase-slider__actions button[data-showcase-toggle] {
  font-size: var(--type-micro);
}

.encounters-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  gap: clamp(var(--space-4), 4vw, var(--space-6));
  align-items: end;
}

.encounter-card__media {
  aspect-ratio: 1 / 1;
}

.encounter-card:first-child .encounter-card__media {
  aspect-ratio: 1 / 1;
}

.encounter-card:last-child .encounter-card__media {
  aspect-ratio: 4 / 3;
}

.encounters-note {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) minmax(0, 1.618fr);
  gap: var(--space-5);
  max-width: 56rem;
  margin: var(--space-6) 0 0 auto;
  padding-top: var(--space-4);
  border-top: 1px solid var(--line);
}

.encounters-note > span {
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.encounters-note p {
  color: var(--ink-muted);
}

.lightbox {
  width: min(92vw, 84rem);
  max-width: 92vw;
  max-height: 92svh;
  padding: 0;
  border: 1px solid var(--line-inverse);
  color: var(--paper-light);
  background: var(--ink);
  box-shadow: 0 2rem 6rem color-mix(in oklab, var(--ink) 65%, transparent);
}

.lightbox::backdrop {
  background: color-mix(in oklab, var(--ink) 88%, transparent);
  backdrop-filter: blur(0.4rem);
}

.lightbox__inner {
  display: grid;
  height: calc(92svh - 2px);
  grid-template-rows: minmax(0, 1fr) auto;
}

.lightbox__media {
  display: grid;
  min-height: 0;
  place-items: center;
  padding: clamp(1rem, 3vw, 2rem);
}

.lightbox__media img {
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 0;
  max-height: 100%;
  object-fit: contain;
  background: transparent;
}

.lightbox__bar {
  display: flex;
  min-height: 5.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) clamp(1rem, 3vw, 2rem);
  border-top: 1px solid var(--line-inverse);
}

.lightbox__details {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
}

.lightbox__details strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.05;
}

.lightbox__details span {
  color: color-mix(in oklab, var(--paper-light) 68%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lightbox__actions {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--space-3);
}

.lightbox__navigation {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border: 1px solid var(--line-inverse);
}

.lightbox__navigation button {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.lightbox__navigation button:hover,
.lightbox__navigation button:focus-visible {
  color: var(--ink);
  background: var(--paper-light);
}

.lightbox__navigation span {
  min-width: 3.5rem;
  color: color-mix(in oklab, var(--paper-light) 70%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.08em;
  text-align: center;
}

.lightbox__enquiry {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 1px solid currentColor;
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.11em;
  text-decoration: none;
  text-transform: uppercase;
}

.lightbox__close {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--line-inverse);
  color: var(--paper-light);
  background: transparent;
  cursor: pointer;
}

.editorial-flow {
  display: grid;
  gap: clamp(var(--space-6), 10vw, var(--space-8));
}

.editorial-row {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: clamp(var(--space-5), 7vw, var(--space-7));
  align-items: center;
}

.editorial-row:nth-child(even) .editorial-media {
  order: 2;
}

.editorial-row:nth-child(even) .editorial-copy {
  order: 1;
}

.editorial-media {
  min-width: 0;
  overflow: hidden;
}

.editorial-media img {
  aspect-ratio: 4 / 5;
}

.editorial-row--wide .editorial-media img {
  aspect-ratio: 3 / 2;
}

.editorial-copy .heading-md {
  margin-top: var(--space-4);
}

.editorial-copy p {
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: clamp(var(--space-5), 6vw, var(--space-7));
}

.process-step {
  min-width: 0;
  padding: clamp(var(--space-4), 3vw, var(--space-5));
  border-top: 1px solid var(--line-inverse);
}

.process-step strong {
  display: block;
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
  line-height: 1.05;
}

.process-step p {
  margin-top: var(--space-4);
  color: color-mix(in oklab, var(--paper-light) 68%, transparent);
}

.timeline {
  margin-top: clamp(var(--space-5), 6vw, var(--space-7));
  border-top: 1px solid var(--line);
}

.timeline-item {
  display: grid;
  grid-template-columns: var(--space-7) minmax(0, 1.618fr) minmax(0, 1fr);
  gap: clamp(var(--space-3), 4vw, var(--space-6));
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--line);
}

.timeline-item time {
  font-family: var(--font-display);
  font-size: var(--type-lede);
}

.timeline-item strong {
  font-weight: 500;
}

.timeline-item span {
  color: var(--ink-muted);
}

.quote-panel {
  width: var(--gold-major);
  max-width: var(--measure);
  margin-left: auto;
  padding-left: clamp(var(--space-4), 4vw, var(--space-6));
  border-left: 1px solid currentColor;
}

.quote-panel blockquote {
  font-family: var(--font-display);
  font-size: var(--type-h2);
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.quote-panel cite {
  display: block;
  margin-top: var(--space-4);
  font-size: var(--type-micro);
  font-style: normal;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(var(--space-5), 6vw, var(--space-7));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.fact {
  min-width: 0;
  padding: var(--space-4);
  border-right: 1px solid var(--line);
}

.fact:last-child {
  border-right: 0;
}

.fact strong {
  display: block;
  font-family: var(--font-display);
  font-size: var(--type-h2);
  font-weight: 400;
  line-height: 1;
}

.fact span {
  display: block;
  margin-top: var(--space-2);
  color: var(--ink-muted);
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-card {
  padding: clamp(var(--space-4), 5vw, var(--space-7));
  color: var(--paper-light);
  background: var(--ink);
}

.contact-card .heading-md {
  margin-top: var(--space-4);
}

.contact-card p {
  margin-top: var(--space-4);
  color: color-mix(in oklab, var(--paper-light) 68%, transparent);
}

.contact-card .button-link {
  margin-top: var(--space-5);
}

.contact-visual,
.legal-visual {
  position: relative;
  overflow: hidden;
  color: var(--paper-light);
  background: var(--ink);
}

.contact-visual::after,
.legal-visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, color-mix(in oklab, var(--ink) 78%, transparent));
  content: "";
  pointer-events: none;
}

.contact-visual > img,
.legal-visual > img {
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  transition: filter 500ms var(--ease), transform 1s var(--ease);
}

.contact-visual > img {
  object-position: center 44%;
}

.legal-visual > img {
  object-position: center 55%;
}

.contact-visual:hover > img,
.legal-visual:hover > img {
  filter: saturate(1.06) contrast(1.03);
  transform: scale(1.012);
}

.contact-visual figcaption,
.legal-visual figcaption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(12rem, 1fr);
  align-items: end;
  gap: var(--space-5);
  padding-block: var(--space-5);
}

.contact-visual figcaption strong {
  max-width: 17.944ch;
  font-family: var(--font-display);
  font-size: var(--type-h3);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.contact-visual figcaption span,
.legal-visual figcaption {
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-form-section {
  scroll-margin-top: var(--header-h);
}

.contact-form-stage {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: start;
  gap: clamp(var(--space-5), 8vw, var(--space-8));
  padding-bottom: clamp(var(--space-6), 10vw, var(--space-8));
  border-bottom: 1px solid var(--line);
}

.contact-form-stage__intro {
  position: sticky;
  top: calc(var(--header-h) + var(--space-4));
}

.contact-form-stage__intro .heading-lg,
.contact-form-stage__intro p,
.contact-form-stage__intro small {
  display: block;
  margin-top: var(--space-4);
}

.contact-form-stage__intro p {
  max-width: var(--measure-narrow);
  color: var(--ink-muted);
}

.contact-form-stage__intro .contact-form-stage__script {
  width: max-content;
  max-width: none;
  margin-top: var(--space-4);
  margin-left: clamp(var(--space-3), 4vw, var(--space-6));
  color: var(--signal-dark);
  font-size: clamp(2.8rem, 4.6vw, 5rem);
  transform: rotate(-2.5deg);
}

.contact-form-stage__intro small {
  max-width: 29rem;
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.contact-form {
  scroll-margin-top: calc(var(--header-h) + var(--space-4));
}

.contact-form__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.form-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.form-field--full {
  grid-column: 1 / -1;
}

.form-field > label {
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: 0.8rem 0;
  border: 0;
  border-bottom: 1px solid var(--ink);
  border-radius: 0;
  color: var(--ink);
  background: transparent;
}

.form-field textarea {
  min-height: 11rem;
  padding: var(--space-3);
  border: 1px solid var(--ink);
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--signal-dark);
}

.form-consent {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--space-3);
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.form-consent input {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0.2rem 0 0;
  accent-color: var(--signal-dark);
}

.contact-form__submit {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(12rem, 1fr);
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-3);
}

.form-submit {
  display: flex;
  min-height: 4.236rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 0.9rem var(--space-4);
  border: 1px solid var(--ink);
  color: var(--paper-light);
  background: var(--ink);
  font-size: var(--type-small);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 250ms var(--ease), background-color 250ms var(--ease);
}

.form-submit:hover,
.form-submit:focus-visible {
  color: var(--ink);
  background: var(--signal);
}

.form-submit i {
  font-size: var(--type-lede);
  font-style: normal;
}

.form-status {
  min-height: 3.2em;
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.contact-form-section .contact-grid {
  margin-top: clamp(var(--space-6), 10vw, var(--space-8));
}

.contact-details {
  display: grid;
  align-content: start;
  border-top: 1px solid var(--line);
}

.contact-detail {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--line);
}

.contact-detail dt {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-detail dd {
  margin: 0;
}

.inquiry-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.inquiry {
  min-height: 11rem;
  padding: var(--space-4);
  border: 1px solid var(--line);
}

.inquiry strong {
  display: block;
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
}

.inquiry span {
  display: block;
  margin-top: var(--space-3);
  color: var(--ink-muted);
  font-size: var(--type-small);
}

/* The shop is composed as the last room of an exhibition: sparse, tactile and image-led. */
.shop-teaser {
  overflow: hidden;
}

.shop-teaser__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: center;
  gap: clamp(var(--space-5), 8vw, var(--space-8));
}

.shop-teaser__copy .heading-lg,
.shop-teaser__copy p,
.shop-teaser__copy .button-link {
  margin-top: var(--space-4);
}

.shop-teaser__copy p {
  max-width: var(--measure-narrow);
  color: var(--ink-muted);
}

.shop-teaser__media {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  align-items: end;
  gap: var(--space-3);
  color: var(--ink);
  text-decoration: none;
}

.shop-teaser__media figure {
  min-width: 0;
  overflow: hidden;
  background: var(--paper-deep);
}

.shop-teaser__media figure:first-child {
  aspect-ratio: 1 / 1;
}

.shop-teaser__media figure:nth-child(2) {
  margin-bottom: var(--space-6);
  aspect-ratio: 4 / 5;
}

.shop-teaser__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: filter 420ms var(--ease), transform 750ms var(--ease);
}

.shop-teaser__media:hover img,
.shop-teaser__media:focus-visible img {
  filter: saturate(1.08) contrast(1.025);
  transform: scale(1.025);
}

.shop-teaser__media > span {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: var(--space-3) var(--space-4);
  color: var(--paper-light);
  background: var(--ink);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.shop-threshold__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.618fr) minmax(18rem, 1fr);
  align-items: center;
  gap: clamp(var(--space-5), 7vw, var(--space-7));
}

.shop-threshold__media {
  min-width: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.shop-threshold__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms var(--ease), filter 450ms var(--ease);
}

.shop-threshold__media:hover img {
  filter: saturate(1.08);
  transform: scale(1.025);
}

.shop-threshold__copy .heading-lg,
.shop-threshold__copy p,
.shop-threshold__copy .button-link {
  margin-top: var(--space-4);
}

.shop-threshold__copy p {
  max-width: var(--measure-narrow);
  color: color-mix(in oklab, var(--paper-light) 72%, transparent);
}

.shop-selection__header {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(var(--space-4), 7vw, var(--space-7));
  margin-bottom: clamp(var(--space-5), 7vw, var(--space-7));
}

.shop-selection__header .heading-lg {
  max-width: 11.09ch;
  margin-top: var(--space-4);
}

.shop-selection__header > p {
  max-width: var(--measure-narrow);
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.shop-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-3);
}

.shop-card {
  min-width: 0;
  container-type: inline-size;
}

.shop-card:nth-child(1),
.shop-card:nth-child(2) {
  grid-column: span 6;
}

.shop-card:nth-child(3) {
  grid-column: span 5;
}

.shop-card:nth-child(4) {
  grid-column: span 7;
}

.shop-card > a {
  display: grid;
  height: 100%;
  min-width: 0;
  grid-template-rows: auto minmax(18rem, 1fr);
  color: var(--ink);
  background: var(--paper-light);
  border: 1px solid var(--line);
  text-decoration: none;
  transition: color 320ms var(--ease), background-color 320ms var(--ease), border-color 320ms var(--ease);
}

.shop-card__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #e4ded2;
}

.shop-card__media img {
  width: 100%;
  height: 100%;
  padding: var(--space-3);
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: filter 420ms var(--ease), transform 750ms var(--ease);
}

.shop-card__media > span {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  padding: 0.55rem 0.75rem;
  color: var(--paper-light);
  background: var(--ink);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.shop-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(var(--space-4), 5cqi, var(--space-5));
}

.shop-card__body small {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.shop-card__body h2 {
  max-width: 11.09ch;
  margin-top: var(--space-3);
  font-size: var(--type-h3);
}

.shop-card__body p {
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
  color: var(--ink-muted);
  font-size: var(--type-small);
}

.shop-card__footer {
  display: flex;
  min-height: 3.5rem;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: auto;
  padding-top: var(--space-5);
  border-bottom: 1px solid currentColor;
}

.shop-card__footer strong {
  font-family: var(--font-display);
  font-size: var(--type-lede);
  font-weight: 400;
}

.shop-card__footer i {
  padding-bottom: 0.4rem;
  font-size: var(--type-micro);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: transform 280ms var(--ease);
}

.shop-card > a:hover,
.shop-card > a:focus-visible {
  color: var(--ink);
  background: var(--signal);
  border-color: var(--signal);
}

.shop-card > a:hover img,
.shop-card > a:focus-visible img {
  filter: saturate(1.09) contrast(1.03);
  transform: scale(1.025);
}

.shop-card > a:hover .shop-card__footer i,
.shop-card > a:focus-visible .shop-card__footer i {
  transform: translate3d(0.25rem, -0.12rem, 0);
}

.shop-assurances {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: start;
  gap: clamp(var(--space-5), 8vw, var(--space-8));
}

.shop-assurances .heading-md {
  max-width: 11.09ch;
  margin-top: var(--space-4);
}

.shop-assurances dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.shop-assurances dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) minmax(0, 1.618fr);
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--line);
}

.shop-assurances dt {
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.shop-assurances dd {
  margin: 0;
  color: var(--ink-muted);
}

.legal-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(0, 1.618fr);
  align-items: start;
  gap: clamp(var(--space-5), 9vw, var(--space-8));
}

.legal-grid > aside {
  position: sticky;
  top: calc(var(--header-h) + var(--space-4));
}

.legal-grid > aside p {
  margin-top: var(--space-4);
  font-size: var(--type-small);
}

.legal-copy {
  border-top: 1px solid var(--line);
}

.press-opening__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.618fr) minmax(18rem, 1fr);
  gap: clamp(var(--space-5), 7vw, var(--space-8));
  align-items: center;
}

.press-opening__media {
  position: relative;
  max-width: 56rem;
  padding: clamp(var(--space-2), 2vw, var(--space-3));
  background: var(--paper-light);
  transform: rotate(-1.1deg);
}

.press-opening__media img {
  width: 100%;
  height: auto;
}

.press-opening__media figcaption {
  padding-top: var(--space-2);
  color: var(--ink);
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.press-opening__copy p {
  max-width: var(--measure);
  margin-top: var(--space-4);
  color: color-mix(in oklab, var(--paper-light) 72%, transparent);
}

.press-selection__head {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(16rem, 1fr);
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  align-items: end;
  margin-bottom: var(--space-6);
}

.press-selection__head > p {
  max-width: 31rem;
  color: var(--ink-muted);
}

.press-links {
  border-top: 1px solid var(--line);
}

.press-link {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(3rem, 0.382fr) minmax(0, 1.618fr) auto;
  gap: clamp(var(--space-3), 4vw, var(--space-6));
  align-items: start;
  padding-block: clamp(var(--space-4), 4vw, var(--space-5));
  border-bottom: 1px solid var(--line);
  transition: padding 300ms var(--ease), color 260ms var(--ease), background-color 260ms var(--ease);
}

.press-link:hover,
.press-link:focus-visible {
  padding-inline: var(--space-3);
  color: var(--ink);
  background: color-mix(in oklab, var(--signal) 46%, transparent);
}

.press-link > span,
.press-link small {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.press-link h3 {
  max-width: 26ch;
  margin-top: var(--space-2);
  font-family: var(--font-display);
  font-size: var(--type-h4);
  line-height: 1.04;
  letter-spacing: -0.025em;
}

.press-link p {
  max-width: var(--measure);
  margin-top: var(--space-2);
  color: var(--ink-muted);
}

.press-link > i {
  font-size: var(--type-h4);
  font-style: normal;
}

.press-archive-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(var(--space-3), 3vw, var(--space-5));
}

.press-archive-card {
  min-width: 0;
  grid-column: span 4;
}

.press-archive-card:nth-child(1) {
  grid-column: span 5;
}

.press-archive-card:nth-child(2) {
  grid-column: span 7;
}

.press-archive-card button {
  width: 100%;
  text-align: left;
}

.press-archive-card__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  padding: clamp(0.4rem, 1vw, 0.75rem);
  background: var(--paper-light);
}

.press-archive-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 520ms var(--ease);
}

.press-archive-card button:hover .press-archive-card__media img,
.press-archive-card button:focus-visible .press-archive-card__media img {
  transform: scale(1.025);
}

.press-archive-card figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(8rem, 1fr);
  gap: var(--space-3);
  padding-top: var(--space-3);
}

.press-archive-card figcaption strong {
  font-size: var(--type-small);
}

.press-archive-card figcaption span {
  color: var(--ink-muted);
  font-size: var(--type-micro);
  text-align: right;
  text-transform: uppercase;
}

.press-archive__source {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--line);
}

.press-archive__source p {
  max-width: var(--measure);
  color: var(--ink-muted);
}

.legal-copy > section {
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--line);
}

.legal-copy h2 {
  font-size: var(--type-lede);
}

.legal-copy p {
  max-width: var(--measure);
  margin-top: var(--space-3);
  color: var(--ink-muted);
}

.site-footer {
  position: relative;
  overflow: hidden;
  color: var(--paper-light);
  background-color: var(--ink);
  background-image: url("/assets/textures/painted-wall-light.webp");
  background-repeat: repeat-y;
  background-position: 50% 0;
  background-size: min(112.5rem, 100vw) auto;
  background-blend-mode: screen;
  border-top: 1px solid var(--line-inverse);
}

.footer-watermark {
  position: absolute;
  z-index: 0;
  top: clamp(7rem, 13vw, 12rem);
  right: clamp(-8rem, -5vw, -2rem);
  width: clamp(32rem, 61.8vw, 68rem);
  height: auto;
  filter: invert(1);
  opacity: 0.035;
  pointer-events: none;
  transform: rotate(-4deg);
}

.footer-intro,
.footer-main {
  position: relative;
  z-index: 1;
  display: grid;
}

.footer-intro {
  grid-template-columns: minmax(0, 1.618fr) minmax(18rem, 1fr);
  gap: clamp(var(--space-5), 7vw, var(--space-8));
  align-items: end;
  padding-block: clamp(var(--space-6), 8vw, var(--space-8));
  border-bottom: 1px solid var(--line-inverse);
}

.footer-main {
  min-height: 30rem;
  grid-template-columns: minmax(16rem, 1.618fr) repeat(3, minmax(10rem, 1fr));
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  align-items: start;
  padding-block: clamp(var(--space-5), 6vw, var(--space-7));
}

.footer-statement {
  max-width: 10.5ch;
  font-family: var(--font-display);
  font-size: var(--type-h1);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

.footer-press {
  display: grid;
  min-height: 13.5rem;
  align-content: space-between;
  padding: clamp(var(--space-3), 3vw, var(--space-4));
  border: 1px solid var(--line-inverse);
  background: color-mix(in oklab, var(--paper-light) 4%, transparent);
  transition: color 260ms var(--ease), background-color 260ms var(--ease), transform 320ms var(--ease);
}

.footer-press:hover,
.footer-press:focus-visible {
  color: var(--ink);
  background: var(--signal);
  transform: translate3d(0, -0.35rem, 0);
}

.footer-press strong {
  max-width: 16ch;
  font-family: var(--font-display);
  font-size: var(--type-h4);
  line-height: 1.02;
  letter-spacing: -0.025em;
}

.footer-press small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: var(--type-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.footer-press i {
  font-size: var(--type-body);
  font-style: normal;
}

.footer-col strong {
  display: block;
  margin-bottom: var(--space-3);
  color: color-mix(in oklab, var(--paper-light) 50%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer-col a,
.footer-col span {
  display: block;
  width: fit-content;
  margin-top: 0.65rem;
  color: var(--paper-light);
  font-size: var(--type-small);
}

.footer-col address {
  margin-bottom: var(--space-2);
  font-style: normal;
}

.footer-col address span {
  margin-top: 0.3rem;
}

.footer-col--address address span:first-child {
  margin-bottom: 0.7rem;
  color: var(--signal);
}

.footer-col a {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  margin-top: 0;
}

.footer-legal {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  border-top: 1px solid var(--line-inverse);
  color: color-mix(in oklab, var(--paper-light) 52%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-legal a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.video-section {
  border-top: 1px solid var(--line-inverse);
  border-bottom: 1px solid var(--line-inverse);
}

.video-stage {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: center;
  gap: clamp(var(--space-5), 7vw, var(--space-7));
}

.video-stage__copy .heading-lg {
  margin-top: var(--space-4);
}

.video-stage__copy p {
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
  color: color-mix(in oklab, var(--paper-light) 70%, transparent);
}

.video-stage__copy .button-link {
  margin-top: var(--space-5);
}

.video-stage__frame {
  position: relative;
  min-width: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #d9e5e6;
}

.video-stage__frame::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, color-mix(in oklab, var(--ink) 45%, transparent));
  content: "";
  pointer-events: none;
  transition: opacity 350ms var(--ease);
}

.video-stage__frame img,
.video-stage__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-stage__frame img {
  object-fit: cover;
  transition: filter 450ms var(--ease), transform 800ms var(--ease);
}

.video-stage__frame:hover img,
.video-stage__frame:focus-within img {
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.025);
}

.video-stage__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  width: var(--space-7);
  height: var(--space-7);
  place-items: center;
  padding: var(--space-3);
  border: 0;
  border-radius: 50%;
  color: var(--ink);
  background: var(--signal);
  box-shadow: 0 1rem 3rem color-mix(in oklab, var(--ink) 38%, transparent);
  cursor: pointer;
  transform: translate3d(-50%, -50%, 0);
  transition: color 250ms var(--ease), background-color 250ms var(--ease), transform 350ms var(--ease);
}

.video-stage__play:hover,
.video-stage__play:focus-visible {
  color: var(--paper-light);
  background: var(--ink);
  transform: translate3d(-50%, -50%, 0) scale(1.055);
}

.video-stage__play i {
  width: 0;
  height: 0;
  margin-left: 0.3rem;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1rem solid currentColor;
}

.video-stage__play span {
  position: absolute;
  top: calc(100% + var(--space-3));
  left: 50%;
  width: max-content;
  color: var(--paper-light);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.video-stage__frame.is-playing::after {
  display: none;
}

/* Moving editorial canvas: the poster remains the accessible, low-data fallback. */
.motion-banner {
  position: relative;
  min-height: clamp(42rem, 78svh, 64rem);
  overflow: hidden;
  color: var(--paper-light);
  background: var(--ink);
  isolation: isolate;
}

.motion-banner__poster,
.motion-banner__poster img,
.motion-banner__video,
.motion-banner__veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.motion-banner__poster img {
  object-fit: cover;
  object-position: center;
  filter: saturate(0.86) contrast(1.08);
  transform: scale(1.015);
}

.motion-banner__video {
  z-index: -1;
  overflow: hidden;
  opacity: 0;
  transition: opacity 900ms var(--ease);
}

.motion-banner__video.is-ready {
  opacity: 1;
}

.motion-banner__video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100vw, 177.78vh);
  height: max(56.25vw, 100vh);
  border: 0;
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0) scale(1.02);
}

.motion-banner__veil {
  z-index: 1;
  background:
    linear-gradient(90deg, color-mix(in oklab, var(--ink) 84%, transparent) 0%, color-mix(in oklab, var(--ink) 46%, transparent) 54%, color-mix(in oklab, var(--ink) 18%, transparent) 100%),
    linear-gradient(180deg, color-mix(in oklab, var(--ink) 18%, transparent), color-mix(in oklab, var(--ink) 64%, transparent));
}

.motion-banner__copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: clamp(42rem, 78svh, 64rem);
  width: min(100%, var(--max));
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding-block: var(--space-7);
}

.motion-banner__copy .heading-xl {
  max-width: 11.09ch;
  margin-top: var(--space-4);
}

.motion-banner__copy p {
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
  color: color-mix(in oklab, var(--paper-light) 78%, transparent);
  font-size: var(--type-lede);
}

.motion-banner__copy .button-link {
  margin-top: var(--space-5);
}

/* Facebook films — locally postered, editorially framed, externally verified. */
.facebook-video-journal {
  overflow: hidden;
}

.facebook-video-journal__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: end;
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  margin-bottom: clamp(var(--space-5), 7vw, var(--space-7));
}

.facebook-video-journal__head .heading-lg {
  max-width: 9ch;
  margin-top: var(--space-4);
}

.facebook-video-journal__head .handwritten-note {
  max-width: none;
  margin-top: var(--space-3);
  margin-left: clamp(1rem, 8vw, 8rem);
  color: var(--signal);
  font-size: clamp(3rem, 5vw, 5.6rem);
  transform: rotate(-4deg);
}

.facebook-video-journal__head > p {
  max-width: var(--measure);
  color: color-mix(in oklab, var(--paper-light) 72%, transparent);
  font-size: var(--type-lede);
}

.facebook-video-journal__grid {
  display: grid;
  min-width: 0;
  grid-auto-flow: dense;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.8vw, var(--space-4));
}

.facebook-video-card {
  min-width: 0;
  grid-column: span 3;
  border: 1px solid var(--line-inverse);
  background: color-mix(in oklab, var(--ink-soft) 84%, black);
}

.facebook-video-card--feature {
  grid-column: 1 / -1;
}

.facebook-video-card > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: var(--paper-light);
  text-decoration: none;
}

.facebook-video-card--feature > a {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(18rem, 1fr);
}

.facebook-video-card__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 9 / 14;
  overflow: hidden;
  background: var(--ink-soft);
}

.facebook-video-card--feature .facebook-video-card__media {
  min-height: clamp(34rem, 48vw, 50rem);
  aspect-ratio: auto;
}

.facebook-video-card__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, color-mix(in oklab, var(--ink) 72%, transparent));
  content: "";
  pointer-events: none;
}

.facebook-video-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 450ms var(--ease), transform 800ms var(--ease);
}

.facebook-video-card:hover .facebook-video-card__media img,
.facebook-video-card:focus-within .facebook-video-card__media img {
  filter: saturate(1.12) contrast(1.04);
  transform: scale(1.045);
}

.facebook-video-card__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(3.7rem, 5vw, 5.4rem);
  height: clamp(3.7rem, 5vw, 5.4rem);
  place-items: center;
  border: 1px solid color-mix(in oklab, white 72%, transparent);
  border-radius: 50%;
  background: color-mix(in oklab, var(--ink) 48%, transparent);
  backdrop-filter: blur(0.45rem);
  transform: translate(-50%, -50%);
  transition: background 280ms var(--ease), transform 280ms var(--ease);
}

.facebook-video-card__play i {
  width: 0;
  height: 0;
  margin-left: 0.25rem;
  border-top: 0.52rem solid transparent;
  border-bottom: 0.52rem solid transparent;
  border-left: 0.8rem solid white;
}

.facebook-video-card:hover .facebook-video-card__play,
.facebook-video-card:focus-within .facebook-video-card__play {
  background: var(--signal);
  transform: translate(-50%, -50%) scale(1.08);
}

.facebook-video-card__views {
  position: absolute;
  z-index: 2;
  right: var(--space-3);
  bottom: var(--space-3);
  padding: 0.45rem 0.65rem;
  color: white;
  background: color-mix(in oklab, var(--ink) 68%, transparent);
  font-size: var(--type-micro);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.facebook-video-card__copy {
  display: flex;
  min-height: 16.5rem;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(var(--space-3), 2.4vw, var(--space-4));
}

.facebook-video-card--feature .facebook-video-card__copy {
  justify-content: flex-end;
  padding: clamp(var(--space-4), 4vw, var(--space-6));
}

.facebook-video-card__copy > span {
  color: color-mix(in oklab, var(--paper-light) 56%, transparent);
  font-size: var(--type-micro);
  font-weight: 650;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.facebook-video-card__copy h3 {
  margin-top: var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2vw, 2.8rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
}

.facebook-video-card__copy p {
  margin-top: var(--space-3);
  color: color-mix(in oklab, var(--paper-light) 68%, transparent);
  font-size: var(--type-small);
}

.facebook-video-card__copy strong {
  margin-top: auto;
  padding-top: var(--space-4);
  border-bottom: 1px solid currentColor;
  font-size: var(--type-small);
}

/* Facebook journal — a dense exhibition wall rather than a generic card feed. */
.social-journal {
  overflow: hidden;
}

.social-journal__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: end;
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  margin-bottom: clamp(var(--space-5), 7vw, var(--space-7));
}

.social-journal__head .heading-lg {
  max-width: 10ch;
  margin-top: var(--space-4);
}

.social-journal__head > p {
  max-width: var(--measure);
  color: var(--ink-muted);
  font-size: var(--type-lede);
}

.social-journal__grid {
  display: grid;
  min-width: 0;
  grid-auto-flow: dense;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: clamp(1rem, 2.2vw, var(--space-4));
}

.social-card {
  min-width: 0;
  grid-column: span 4;
  background: var(--paper-light);
  box-shadow: 0 0 0 1px var(--line);
}

.social-card--wide {
  grid-column: span 8;
}

.social-card--major {
  grid-column: span 8;
  background: var(--ink);
}

.social-card--full {
  grid-column: 1 / -1;
}

.social-card > a {
  display: block;
  min-width: 0;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.social-card--major > a,
.social-card--full > a {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(16rem, 1fr);
}

.social-card--major > a {
  color: var(--paper-light);
}

.social-card__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--paper);
}

.social-card--portrait .social-card__media {
  aspect-ratio: 3 / 4;
}

.social-card--major .social-card__media {
  height: 100%;
  min-height: clamp(42rem, 52vw, 54rem);
  aspect-ratio: auto;
}

.social-card--full .social-card__media {
  height: 100%;
  min-height: clamp(30rem, 38vw, 42rem);
  aspect-ratio: auto;
}

.social-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 450ms var(--ease), transform 800ms var(--ease);
}

.social-card:hover .social-card__media img,
.social-card:focus-within .social-card__media img {
  filter: saturate(1.08) contrast(1.035);
  transform: scale(1.035);
}

.social-card__source {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: #1877f2;
  font-family: Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  box-shadow: 0 0.4rem 1.2rem color-mix(in oklab, var(--ink) 28%, transparent);
}

.social-card__copy {
  display: flex;
  min-height: 18rem;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(var(--space-3), 3vw, var(--space-5));
}

.social-card--major .social-card__copy {
  min-height: 100%;
  justify-content: flex-end;
  padding: clamp(var(--space-4), 4vw, var(--space-6));
}

.social-card__meta {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  color: var(--ink-muted);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.social-card--major .social-card__meta {
  color: color-mix(in oklab, var(--paper-light) 58%, transparent);
}

.social-card__copy h3 {
  margin-top: var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 2.6vw, 3.4rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.social-card__copy p {
  max-width: 38.2ch;
  margin-top: var(--space-3);
  color: var(--ink-muted);
}

.social-card--major .social-card__copy p {
  color: color-mix(in oklab, var(--paper-light) 70%, transparent);
}

.social-card__link {
  margin-top: auto;
  padding-top: var(--space-4);
  border-bottom: 1px solid currentColor;
  font-size: var(--type-small);
  font-weight: 600;
}

.social-journal__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.social-journal__footer p {
  color: var(--ink-muted);
}

.news-perspectives__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: end;
  gap: var(--space-5);
  margin-bottom: var(--space-6);
}

.news-reference-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr) minmax(0, 1fr);
  border-top: 1px solid var(--line-inverse);
}

.news-reference {
  position: relative;
  display: flex;
  min-height: 28rem;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--space-5);
  border-right: 1px solid var(--line-inverse);
  color: var(--paper-light);
  text-decoration: none;
  transition: color 300ms var(--ease), background-color 300ms var(--ease);
}

.news-reference:last-child {
  border-right: 0;
}

.news-reference:hover,
.news-reference:focus-visible {
  color: var(--ink);
  background: var(--signal);
}

.news-reference time,
.news-reference > span {
  color: color-mix(in oklab, currentColor 62%, transparent);
  font-size: var(--type-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.news-reference > span {
  margin-top: 0.5rem;
}

.news-reference h3 {
  max-width: 12ch;
  margin-top: auto;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3vw, 4rem);
  font-weight: 500;
  line-height: 0.96;
}

.news-reference p {
  max-width: 38.2ch;
  margin-top: var(--space-3);
  color: color-mix(in oklab, currentColor 72%, transparent);
}

.news-reference i {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  font-style: normal;
  font-size: 1.4rem;
}

/* Latest studio journal — 61.8 / 38.2 editorial composition. */
.latest-section {
  overflow: hidden;
}

.latest-stage__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  align-items: end;
  gap: clamp(var(--space-4), 6vw, var(--space-7));
  margin-bottom: clamp(var(--space-5), 7vw, var(--space-7));
}

.latest-stage__header .heading-lg {
  max-width: 11.09ch;
}

.latest-stage {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.618fr) minmax(18rem, 1fr);
  align-items: stretch;
}

.latest-feature,
.latest-feature > a,
.latest-feature__media {
  position: relative;
  display: block;
  min-width: 0;
  height: 100%;
}

.latest-feature {
  min-height: clamp(44rem, 68vw, 66rem);
  overflow: hidden;
}

.latest-feature > a {
  color: var(--paper-light);
  text-decoration: none;
}

.latest-feature__media {
  overflow: hidden;
  background: #13336d;
}

.latest-feature__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, color-mix(in oklab, var(--ink) 62%, transparent));
  content: "";
  pointer-events: none;
}

.latest-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 48%;
  transition: transform 900ms var(--ease), filter 450ms var(--ease);
}

.latest-feature:hover img,
.latest-feature:focus-within img {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.035);
}

.latest-feature__overlay {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: var(--gold-major);
  min-width: 24rem;
  padding: clamp(var(--space-4), 4vw, var(--space-6));
  background: color-mix(in oklab, var(--ink) 93%, transparent);
  transition: background-color 350ms var(--ease);
}

.latest-feature:hover .latest-feature__overlay,
.latest-feature:focus-within .latest-feature__overlay {
  background: var(--ink);
}

.latest-feature__overlay time,
.latest-card time {
  display: block;
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.latest-feature__overlay h3 {
  margin-top: var(--space-3);
  font-size: var(--type-h3);
  line-height: 0.96;
}

.latest-feature__overlay h3 em {
  color: var(--signal);
  font-style: normal;
}

.latest-feature__overlay p {
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
  color: color-mix(in oklab, var(--paper-light) 72%, transparent);
  font-size: var(--type-small);
}

.latest-feature__overlay > span,
.latest-card i {
  display: block;
  margin-top: var(--space-5);
  font-size: var(--type-micro);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.latest-stage__stack {
  display: grid;
  grid-template-rows: minmax(0, 1.618fr) minmax(0, 1fr);
}

.latest-card {
  position: relative;
  display: flex;
  min-height: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: clamp(var(--space-4), 4vw, var(--space-6));
  text-decoration: none;
  transition: color 300ms var(--ease), background-color 300ms var(--ease);
}

.latest-card--signal {
  color: var(--ink);
  background: var(--signal);
}

.latest-card--paper {
  color: var(--ink);
  background: var(--paper-light);
}

.latest-card--signal:hover,
.latest-card--signal:focus-visible {
  background: #ff6d43;
}

.latest-card--paper:hover,
.latest-card--paper:focus-visible {
  background: var(--paper-deep);
}

.latest-card strong {
  display: block;
  max-width: 11.09ch;
  margin-top: var(--space-3);
  font-family: var(--font-display);
  font-size: var(--type-h3);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.latest-card span {
  display: block;
  max-width: var(--measure-narrow);
  margin-top: var(--space-4);
  font-size: var(--type-small);
}

.latest-card i {
  transition: transform 280ms var(--ease);
}

.latest-card:hover i,
.latest-card:focus-visible i {
  transform: translate3d(0.3rem, -0.16rem, 0);
}

.editorial-row--signal {
  gap: 0;
  align-items: stretch;
  background: var(--signal);
}

.editorial-row--signal .editorial-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(var(--space-5), 5vw, var(--space-7));
}

.editorial-row:hover .editorial-media img {
  transform: scale(1.025);
}

/* Deferred loading state, internal-page transitions and scroll position. */
.page-loader {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--paper-light);
  background: var(--ink);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 320ms var(--ease), visibility 320ms step-end;
}

.js.is-loading .page-loader,
.js.is-transitioning .page-loader {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition: opacity 320ms var(--ease), visibility 0ms step-start;
}

.page-loader__inner {
  display: grid;
  width: min(61.8vw, 13.5rem);
  justify-items: center;
  gap: var(--space-3);
}

.page-loader__inner img {
  width: 100%;
  height: auto;
  background: transparent;
  filter: invert(1);
}

.page-loader__inner span {
  color: color-mix(in oklab, var(--paper-light) 62%, transparent);
  font-size: var(--type-micro);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.page-loader__inner i {
  position: relative;
  display: block;
  width: var(--gold-major);
  height: 2px;
  overflow: hidden;
  background: var(--line-inverse);
}

.page-loader__inner i::after {
  position: absolute;
  inset: 0;
  background: var(--signal);
  content: "";
  transform: translate3d(-110%, 0, 0);
  animation: loader-brush 900ms var(--ease-decisive) infinite;
}

@keyframes loader-brush {
  50% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(110%, 0, 0); }
}

.scroll-progress {
  position: fixed;
  z-index: calc(var(--z-header) + 1);
  top: calc(var(--header-h) - 2px);
  right: 0;
  left: 0;
  height: 2px;
  pointer-events: none;
}

.scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
}

.js.is-transitioning body {
  overflow: hidden;
}

.js.is-transitioning main,
.js.is-transitioning .site-header,
.js.is-transitioning .site-footer {
  opacity: 0.72;
  transform: translate3d(0, -0.4rem, 0);
  transition: opacity 360ms var(--ease), transform 420ms var(--ease);
}

.has-reveal .reveal {
  opacity: 0;
  clip-path: none;
  filter: none;
  transform: translate3d(0, 12px, 0);
  transition: opacity 650ms var(--ease), transform 650ms var(--ease);
}

.has-reveal .reveal.is-visible {
  opacity: 1;
  clip-path: none;
  filter: none;
  transform: none;
}

@media (max-width: 75rem) {
  .desktop-nav {
    display: none;
  }

  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .menu-toggle {
    display: block;
  }

  .hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  }

  .news-item {
    grid-template-columns: 6rem minmax(0, 1fr) auto;
  }

  .news-item span {
    display: none;
  }
}

@media (max-width: 56.25rem) {
  :root {
    --header-h: var(--space-6);
    --section: clamp(var(--space-6), 16vw, var(--space-7));
  }

  .hero__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(32rem, 63svh);
  }

  .hero-slider__controls {
    padding-left: var(--gutter);
  }

  .manifesto-watermark img {
    object-position: 62% center;
    opacity: 0.38;
  }

  .manifesto-watermark::after {
    background: linear-gradient(180deg,
      color-mix(in oklab, var(--paper-light) 66%, transparent),
      color-mix(in oklab, var(--paper-light) 82%, transparent) 48%,
      color-mix(in oklab, var(--paper-light) 72%, transparent));
  }

  .motion-banner,
  .motion-banner__copy {
    min-height: 68svh;
  }

  .motion-banner__video {
    display: none;
  }

  .social-journal__head,
  .facebook-video-journal__head,
  .news-perspectives__head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: var(--space-4);
  }

  .social-journal__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .facebook-video-journal__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .facebook-video-card {
    grid-column: span 1;
  }

  .facebook-video-card--feature {
    grid-column: 1 / -1;
  }

  .facebook-video-card--feature > a {
    grid-template-columns: 1fr;
  }

  .facebook-video-card--feature .facebook-video-card__media {
    min-height: min(72rem, 72svh);
    aspect-ratio: 4 / 5;
  }

  .social-card,
  .social-card--portrait {
    grid-column: span 1;
  }

  .social-card--wide,
  .social-card--major,
  .social-card--full {
    grid-column: 1 / -1;
  }

  .social-card--major > a,
  .social-card--full > a {
    grid-template-columns: 1fr;
  }

  .social-card--major .social-card__media {
    min-height: min(76rem, 76svh);
    aspect-ratio: 4 / 5;
  }

  .news-reference-grid {
    grid-template-columns: 1fr;
  }

  .news-reference {
    min-height: 22rem;
    border-right: 0;
    border-bottom: 1px solid var(--line-inverse);
  }

  .news-reference:last-child {
    border-bottom: 0;
  }

  .latest-stage__header,
  .latest-stage,
  .video-stage,
  .script-interlude__inner,
  .contact-form-stage {
    grid-template-columns: 1fr;
  }

  .artist-portrait-hero {
    min-height: 0;
  }

  .artist-portrait-hero::after {
    display: none;
  }

  .artist-portrait-hero__content {
    min-height: 0;
    padding-block: var(--space-7) var(--space-6);
  }

  .artist-portrait-hero > img {
    position: relative;
    inset: auto;
    height: min(125vw, 46rem);
    object-position: 70% center;
  }

  .contact-form-stage__intro {
    position: static;
  }

  .script-interlude__inner {
    gap: var(--space-4);
  }

  .script-interlude__text {
    width: fit-content;
    max-width: 100%;
    justify-self: start;
  }

  .latest-stage__header {
    gap: var(--space-4);
  }

  .latest-feature {
    min-height: min(78rem, 88svh);
  }

  .latest-stage__stack {
    min-height: 38rem;
    grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
  }

  .editorial-row--signal {
    gap: 0;
  }

  .editorial-row--signal .editorial-copy {
    min-height: 31rem;
  }

  .hero__copy {
    min-height: auto;
    padding: clamp(3rem, 10vw, 5rem) var(--gutter) 3rem;
  }

  .hero__headline {
    margin-top: 4rem;
  }

  .hero__media {
    min-height: 34rem;
  }

  .hero__media::after {
    background: linear-gradient(180deg, color-mix(in oklab, var(--ink) 30%, transparent), transparent 30%, color-mix(in oklab, var(--ink) 32%, transparent));
  }

  .proof-strip__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proof-item:nth-child(2) {
    border-right: 0;
  }

  .proof-item:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line-inverse);
  }

  .manifesto-grid,
  .split-grid,
  .page-intro,
  .contact-grid,
  .sculpture-preview,
  .editorial-row,
  .shop-teaser__grid,
  .shop-threshold__grid,
  .shop-selection__header,
  .shop-assurances,
  .legal-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .album-section__head,
  .encounters-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .album-section__head > p {
    max-width: 46rem;
  }

  .encounter-card:first-child,
  .encounter-card:last-child {
    width: min(100%, 42rem);
  }

  .encounter-card:last-child {
    margin-left: auto;
  }

  .shop-card:nth-child(n) {
    grid-column: span 6;
  }

  .legal-grid > aside {
    position: static;
  }

  .contact-visual > img,
  .legal-visual > img {
    aspect-ratio: 3 / 2;
  }

  .manifesto-grid__body .copy {
    width: 100%;
    margin-left: 0;
  }

  .practice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .practice-card:nth-child(n) {
    grid-column: auto;
    margin-top: 0;
  }

  .practice-card:nth-child(3),
  .practice-card:nth-child(4) {
    grid-column: auto;
    width: auto;
    margin-left: 0;
  }

  .full-bleed-feature__content {
    grid-template-columns: 1fr;
  }

  .full-bleed-feature__content p {
    justify-self: start;
  }

  .gallery-card:nth-child(n) {
    grid-column: auto;
  }

  .gallery-card:nth-child(n) .gallery-card__media {
    aspect-ratio: 4 / 5;
  }

  .editorial-row:nth-child(even) .editorial-media,
  .editorial-row:nth-child(even) .editorial-copy {
    order: initial;
  }

  .process-grid,
  .fact-grid,
  .inquiry-list {
    grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  }

  .fact:nth-child(2) {
    border-right: 0;
  }

  .fact:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .timeline-item {
    grid-template-columns: 6rem minmax(0, 1fr);
  }

  .timeline-item span {
    grid-column: 2;
  }

  .page-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-intro,
  .footer-main {
    min-height: auto;
    grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  }

  .footer-statement {
    grid-column: 1 / -1;
    margin-bottom: 2rem;
  }

  .footer-press {
    grid-column: 1 / -1;
    width: min(100%, 42rem);
    justify-self: end;
  }

  .press-opening__grid,
  .press-selection__head {
    grid-template-columns: 1fr;
  }

  .press-opening__media {
    width: min(100%, 42rem);
  }

  .press-archive-card:nth-child(n) {
    grid-column: span 6;
  }
}

@media (max-width: 40rem) {
  .motion-banner__copy {
    padding-block: var(--space-6);
  }

  .social-journal__grid {
    grid-template-columns: 1fr;
  }

  .facebook-video-journal__grid {
    grid-template-columns: 1fr;
  }

  .facebook-video-card,
  .facebook-video-card--feature {
    grid-column: 1;
  }

  .facebook-video-card__media,
  .facebook-video-card--feature .facebook-video-card__media {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .facebook-video-journal__head .handwritten-note {
    margin-left: 0;
  }

  .social-card,
  .social-card--portrait,
  .social-card--wide,
  .social-card--major,
  .social-card--full {
    grid-column: 1;
  }

  .social-card--major .social-card__media {
    min-height: 68svh;
  }

  .social-journal__footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .wordmark__logo {
    width: 7.25rem;
  }

  .script-interlude {
    padding-block: var(--space-6);
  }

  .script-interlude__text {
    width: 100%;
    max-width: 100%;
    padding-inline: 0.08em;
    font-size: clamp(3.05rem, 13vw, 4.25rem);
    line-height: 0.92;
  }

  .script-interlude__text--long {
    width: auto;
    white-space: normal;
    text-wrap: balance;
  }

  .hero__script,
  .page-hero__script,
  .artist-portrait-hero__script,
  .album-section__script,
  .cta-panel__script,
  .contact-form-stage__intro .contact-form-stage__script {
    width: max-content;
    max-width: calc(100vw - (2 * var(--gutter)));
    margin-left: 0;
    font-size: clamp(2.4rem, 10vw, 3.75rem);
    text-align: left;
  }

  .page-hero__script,
  .cta-panel__script,
  .contact-form-stage__intro .contact-form-stage__script {
    white-space: normal;
    text-wrap: balance;
  }

  .hero__script::after,
  .page-hero__script::after {
    margin-left: 0;
  }

  .language-link {
    font-size: var(--type-micro);
  }

  .hero__footer,
  .page-hero__summary {
    grid-template-columns: 1fr;
  }

  .page-hero .heading-xl {
    overflow-wrap: anywhere;
  }

  .contact-visual > img,
  .legal-visual > img {
    aspect-ratio: 4 / 5;
  }

  .contact-visual figcaption,
  .legal-visual figcaption,
  .contact-form__grid,
  .contact-form__submit {
    grid-template-columns: 1fr;
  }

  .contact-visual figcaption,
  .legal-visual figcaption {
    gap: var(--space-3);
    padding-bottom: var(--space-4);
  }

  .contact-visual figcaption strong {
    font-size: var(--type-lede);
  }

  .hero__footer .button-link {
    justify-self: start;
  }

  .hero__media {
    min-height: 31rem;
  }

  .hero__caption {
    left: var(--gutter);
    right: auto;
    text-align: left;
  }

  .hero-slider__controls {
    bottom: var(--space-3);
    gap: var(--space-2);
  }

  .hero-slider__dots,
  .hero-slider__actions {
    gap: var(--space-1);
  }

  .hero-slider__dots button,
  .hero-slider__actions button {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
  }

  .latest-feature {
    min-height: 76svh;
  }

  .latest-feature__overlay {
    right: var(--space-3);
    bottom: var(--space-3);
    left: var(--space-3);
    width: auto;
    min-width: 0;
    padding: var(--space-4);
  }

  .latest-feature__overlay p {
    display: none;
  }

  .latest-stage__stack {
    min-height: 46rem;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1.618fr) minmax(0, 1fr);
  }

  .latest-card {
    padding: var(--space-5) var(--space-4);
  }

  .proof-strip__inner {
    grid-template-columns: 1fr;
  }

  .proof-item:nth-child(n) {
    border-right: 0;
    border-bottom: 1px solid var(--line-inverse);
  }

  .proof-item:last-child {
    border-bottom: 0;
  }

  .practice-grid,
  .process-grid,
  .fact-grid,
  .inquiry-list {
    grid-template-columns: 1fr;
  }

  .practice-card:nth-child(n) {
    grid-column: auto;
    width: auto;
  }

  .practice-card:nth-child(2) {
    width: auto;
    margin-left: 0;
  }

  .practice-card:nth-child(4) {
    width: auto;
    margin-left: 0;
  }

  .full-bleed-feature {
    min-height: 78svh;
  }

  .news-item {
    grid-template-columns: 1fr auto;
    gap: 0.5rem 1rem;
  }

  .news-item time {
    grid-column: 1 / -1;
  }

  .cta-panel {
    min-height: 31rem;
    grid-template-columns: 1fr;
    align-content: end;
  }

  .gallery-grid {
    gap: 0;
  }

  .portfolio-meta {
    grid-template-columns: 1fr;
  }

  .portfolio-meta span {
    justify-self: start;
  }

  .album-grid,
  .encounters-note {
    grid-template-columns: 1fr;
  }

  .album-grid {
    gap: var(--space-5);
  }

  .album-card:nth-child(n) .album-card__media,
  .encounter-card:first-child .encounter-card__media,
  .encounter-card:last-child .encounter-card__media {
    aspect-ratio: 4 / 3;
  }

  .album-card figcaption,
  .encounter-card figcaption {
    grid-template-columns: 1fr;
  }

  .album-card figcaption span,
  .encounter-card figcaption span {
    text-align: left;
  }

  .encounters-note {
    gap: var(--space-3);
    margin-left: 0;
  }

  .lightbox__bar {
    align-items: stretch;
    flex-direction: column;
  }

  .lightbox__actions {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .lightbox__enquiry {
    order: 3;
    width: 100%;
  }

  .gallery-card:nth-child(n) {
    grid-column: 1 / -1;
  }

  .quote-panel {
    width: 100%;
  }

  .timeline-item {
    grid-template-columns: 1fr;
  }

  .timeline-item span {
    grid-column: 1;
  }

  .fact:nth-child(n) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .fact:last-child {
    border-bottom: 0;
  }

  .contact-detail {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .shop-teaser__media {
    grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  }

  .shop-card:nth-child(n) {
    grid-column: 1 / -1;
  }

  .shop-card > a {
    grid-template-rows: auto auto;
  }

  .shop-assurances dl > div {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .footer-intro,
  .footer-main {
    grid-template-columns: 1fr;
  }

  .footer-statement {
    grid-column: auto;
  }

  .footer-press {
    grid-column: auto;
    width: 100%;
  }

  .press-link {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .press-link > i {
    grid-column: 2;
  }

  .press-archive-card:nth-child(n) {
    grid-column: 1 / -1;
  }

  .press-archive-card figcaption {
    grid-template-columns: 1fr;
  }

  .press-archive-card figcaption span {
    text-align: left;
  }

  .press-archive__source {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-legal {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 56.25rem) {
  .showcase-section__head {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .showcase-section__head > p {
    max-width: 46rem;
  }

  .showcase-slide__media {
    height: clamp(27rem, 72vw, 42rem);
  }
}

@media (max-width: 40rem) {
  .showcase-section__head {
    margin-bottom: var(--space-6);
  }

  .showcase-section__script {
    margin-left: var(--space-4);
    font-size: clamp(2.35rem, 10vw, 3.55rem);
  }

  .showcase-slide__media {
    height: min(66svh, 34rem);
  }

  .showcase-slider--contain .showcase-slide__media img {
    padding: var(--space-2);
  }

  .showcase-slide figcaption {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-3);
  }

  .showcase-slide figcaption span {
    text-align: left;
  }

  .showcase-slider__controls {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .showcase-slider__actions button {
    width: 3rem;
    height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .has-reveal .reveal {
    opacity: 1;
    transform: none;
  }

  .page-loader__inner i::after {
    animation: none;
    transform: none;
  }

  .hero__media img,
  .showcase-slide,
  .full-bleed-feature img {
    transform: none !important;
  }

  .motion-banner__video {
    display: none !important;
  }

  .social-card__media img {
    transform: none !important;
  }

  .facebook-video-card__media img {
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .kicker::before,
  .menu-toggle span,
  .menu-toggle::before,
  .menu-toggle::after {
    background: CanvasText;
  }
}

/* Editorial finish — quiet surfaces, the artwork supplies the colour. */
.section--paper,
.section--sand,
.section--ink,
.section--signal,
.page-hero,
.script-interlude,
.site-footer {
  background-image: none;
}

.section--signal,
.script-interlude--signal {
  color: var(--ink);
  background-color: var(--paper);
}

.manifesto-watermark { display: none; }
.manifesto-grid__body .copy { max-width: 60ch; }
.copy, .editorial-copy p, .legal-copy p { text-wrap: pretty; }
.heading-xl, .heading-lg, .heading-md, .display { text-wrap: balance; }
.page-hero .heading-xl { overflow-wrap: normal; }

.script-interlude { padding-block: clamp(2rem, 4vw, 3.5rem); }
.script-interlude__text::after,
.hero__script::after,
.page-hero__script::after { display: none; }
.handwritten-note { line-height: 1.2; }
.page-hero__script { margin: 1rem 0 0; text-align: left; font-size: clamp(2.5rem, 4vw, 4rem); }
.showcase-section__script { margin: .75rem 0 0; font-size: clamp(2.5rem, 4vw, 4rem); }
.cta-panel__script { margin-left: 0; }
.script-interlude__text,
.has-reveal .script-interlude__text.reveal,
.has-reveal .script-interlude__text.reveal.is-visible { transform: none; }

.showcase-section--lead { padding-top: 2.5rem; }
.showcase-section--lead .showcase-section__head { margin-block: 2rem 0; }
.showcase-section--lead .showcase-section__head h2 { font-size: var(--type-h3); }
.showcase-section--lead .showcase-section__script { display: none; }
.showcase-section--lead .showcase-section__head > p { font-size: 1rem; }
.showcase-section--full-bleed .showcase-slider--contain .showcase-slide__media img {
  display: block;
  object-fit: contain;
  max-width: 100%;
  max-height: 100%;
}
.showcase-slider__viewport,
.hero-slider,
.lightbox__media { touch-action: pan-y pinch-zoom; }
body.lightbox-open { overflow: hidden; }
.showcase-slide button:focus-visible { outline-offset: -4px; }
.showcase-slider__actions button,
.hero-slider__dots button,
.hero-slider__actions button { min-width: 44px; min-height: 44px; }
.showcase-slider__count { font-variant-numeric: tabular-nums; }
.showcase-slide[hidden] { display: none !important; }
.showcase-filter {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 1rem var(--showcase-inset, 0);
  margin-bottom: 1.5rem;
  border-block: 1px solid var(--line);
}
.showcase-filter label {
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.showcase-filter select {
  width: min(100%, 26rem);
  min-width: 0;
  min-height: 3rem;
  padding: .5rem 2rem .5rem .75rem;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: var(--paper-light);
  font: inherit;
  font-size: 1rem;
}
.press-opening__media { padding: 0; transform: none; }
.press-link { transition: color 200ms var(--ease), background-color 200ms var(--ease); }
.press-link:hover,
.press-link:focus-visible { padding-inline: 0; background: var(--paper); }
.editorial-row--signal { background: var(--paper); }
.social-card { box-shadow: none; grid-column: span 6; }
.social-card--major,
.social-card--full { grid-column: 1 / -1; }
.social-card__source { border-radius: 0; color: var(--paper-light); background: var(--ink); font-family: var(--font-sans); box-shadow: none; }
.social-card__copy { min-height: 15rem; padding-inline: 0; }
.social-card--major .social-card__copy { padding-inline: clamp(1.5rem, 4vw, 4rem); }
.social-journal__head .heading-lg { max-width: 18ch; }
.social-card__media img,
.social-card:hover .social-card__media img,
.social-card:focus-within .social-card__media img { filter: none; }
.press-archive-card:nth-child(n) { grid-column: span 6; }
.press-archive-card__media { padding: 0; }

.latest-feature { min-height: clamp(32rem, 55vw, 48rem); }
.latest-card--signal { background: var(--paper-deep); }
.latest-card--signal:hover,
.latest-card--signal:focus-visible { background: var(--paper); }
.latest-feature__overlay { padding: clamp(1.5rem, 3vw, 3rem); }
.latest-feature__overlay h3 em { color: var(--paper-light); }
.latest-feature__overlay > span { margin-top: 1.5rem; }
.cta-panel .heading-xl { font-size: var(--type-h2); }
.cta-panel__actions .button-link { width: auto; max-width: 100%; padding-inline: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink); }
.cta-panel__actions .button-link:hover,
.cta-panel__actions .button-link:focus-visible { color: var(--signal-dark); }
.site-footer { padding-top: clamp(3rem, 6vw, 6rem); }
.footer-press { background: transparent; }

@media (max-width: 56.25rem) {
  :root { --section: clamp(3.5rem, 8vw, 5rem); }
  .hero__grid { min-height: auto; grid-template-rows: auto minmax(24rem, 55svh); }
  .hero__copy { padding-block: 2.5rem 2rem; }
  .hero__headline { margin-top: 1.5rem; }
  .hero__headline .display { max-width: 20ch; font-size: clamp(2.5rem, 7.8vw, 4.5rem); }
  .hero__headline em { display: inline; }
  .hero__footer { margin-top: 1.25rem; gap: 1rem; }
  .hero__intro { max-width: 56ch; }
  .hero__media { min-height: 24rem; }
  .hero__script { margin-top: .5rem; font-size: 2.5rem; }
  .artist-portrait-hero__content { padding-block: 3rem; }
  .artist-portrait-hero__content .heading-xl { max-width: 17ch; margin-top: 1.5rem; }
  .artist-portrait-hero__script { margin-left: 0; }
  .artist-portrait-hero > img { height: min(105vw, 38rem); }
  .page-hero { padding-block: 2.5rem; }
  .page-hero__grid { gap: 1.5rem; }
  .page-hero__summary { margin-top: 1.5rem; gap: 1rem; }
  .page-hero__summary p { max-width: 62ch; }
  .showcase-section__head { gap: 1rem; }
  .showcase-section--full-bleed .showcase-slide__media,
  .showcase-section--full-bleed .showcase-slide--hires.showcase-slide--cinema .showcase-slide__media { height: min(72svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5))); }
  .cta-panel { min-height: auto; grid-template-columns: 1fr; gap: 2rem; }
  .latest-stage__stack { min-height: auto; }
  .latest-card { padding: 2rem; min-height: 19rem; }
  .social-card { grid-column: span 1; }
  .social-card--major,
  .social-card--full { grid-column: 1 / -1; }
}

@media (max-width: 40rem) {
  .hero__copy { padding-block: 1.75rem; }
  .hero__copy .kicker { font-size: .625rem; letter-spacing: .13em; }
  .hero__intro { font-size: 1rem; }
  .hero__media { min-height: 23rem; }
  .hero__grid { grid-template-rows: auto 55svh; }
  .hero-slider__controls { padding-inline: var(--gutter); }
  .hero-slider__dots { gap: 0; }
  .hero-slider__actions { gap: .25rem; }
  .page-hero .heading-xl { font-size: clamp(2.625rem, 9vw, 3.5rem); }
  .page-hero__script,
  .hero__script,
  .artist-portrait-hero__script,
  .showcase-section__script,
  .album-section__script,
  .cta-panel__script,
  .contact-form-stage__intro .contact-form-stage__script {
    width: max-content;
    max-width: 100%;
    margin-left: 0;
    font-size: clamp(2rem, 8.5vw, 3.3rem);
    white-space: nowrap;
    text-wrap: nowrap;
    transform: none;
  }
  .script-interlude__text,
  .script-interlude__text--long { width: max-content; font-size: clamp(2.25rem, 9vw, 3.5rem); white-space: nowrap; text-wrap: nowrap; line-height: 1.2; }
  .script-interlude__inner { gap: 1rem; }
  .showcase-section--lead { padding-top: 1.75rem; }
  .showcase-filter { align-items: stretch; flex-direction: column; gap: .5rem; padding-block: 1rem; }
  .showcase-filter select { width: 100%; }
  .showcase-section--lead .showcase-section__head { margin-block: 1.5rem 0; }
  .showcase-section--full-bleed .showcase-slide__media,
  .showcase-section--full-bleed .showcase-slide--hires.showcase-slide--cinema .showcase-slide__media { height: min(65svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5))); }
  .showcase-section--full-bleed .showcase-slider--contain .showcase-slide__media img { padding: 0; }
  .showcase-slider__controls { min-height: 5rem; }
  .showcase-slide figcaption { padding-block: 1rem; min-height: 6.25rem; }
  .showcase-slide figcaption strong { font-size: 1.5rem; }
  .showcase-slide figcaption span { font-size: .625rem; }
  .practice-grid { margin-top: 2rem; gap: 2rem; }
  .practice-card:nth-child(n) .practice-card__media { aspect-ratio: 4 / 5; }
  .practice-card__caption { min-height: 8rem; }
  .latest-stage__stack { grid-template-rows: auto; }
  .latest-card { min-height: 17rem; }
  .contact-form-stage { gap: 2rem; }
  .contact-form-stage__intro { position: static; }
  .footer-statement { font-size: 2rem; }
  .press-archive-card:nth-child(n) { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .has-reveal .reveal { opacity: 1; clip-path: none; filter: none; transform: none !important; }
  .showcase-slide figcaption strong,
  .showcase-slide figcaption span { transform: none; }
}

/* Quiet gallery — golden proportions around the work, never imposed on it. */
:root {
  --motion-entry: 650ms;
  --motion-ease: cubic-bezier(.2, .8, .2, 1);
}

.kicker::before { display: none; }
.kicker { gap: 0; letter-spacing: .15em; font-weight: 500; }
.section-rule { border-top: 0; }
.site-header { color: var(--ink); background: var(--paper-light); border-bottom-color: transparent; }
.wordmark__logo { filter: none; }
.desktop-nav a, .language-link { font-weight: 500; letter-spacing: .06em; }
.hero, .page-hero { color: var(--ink); background: var(--paper-light); }
.hero, .hero-slider__viewport, .hero__grid { min-height: 0; }
.hero__grid { align-items: center; }
.hero-slide, .hero-slide.is-active {
  transform: none;
  transition: opacity 650ms var(--motion-ease), visibility 0s linear 650ms;
}
.hero-slide.is-active { transition-delay: 0s; }
.hero__copy { padding-block: clamp(2rem, 5vw, 5rem); justify-content: center; gap: clamp(1.5rem, 3vw, 3rem); }
.hero__copy .kicker, .hero__headline em { color: var(--ink); }
.hero__headline, .hero__footer { margin-top: 0; }
.hero__headline .display { font-size: clamp(2.75rem, 4.6vw, 5.25rem); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.hero__script { margin-left: 0; color: var(--signal-dark); text-align: left; transform: none; }
.hero__intro { color: var(--ink-muted); max-width: 34ch; }
.hero__footer { gap: 1.5rem; }
.hero__media { min-height: 0; background: transparent; }
.hero__media::after { display: none; }
.hero-slider .hero__media img {
  position: static;
  width: 100%;
  height: auto;
  max-height: calc(100svh - var(--header-h) - 7rem);
  min-height: 0;
  object-fit: contain;
  object-position: center;
  transform: none;
  animation: none;
}
.hero-slider .hero__caption {
  position: static;
  max-width: none;
  padding: 1rem var(--gutter);
  color: var(--ink-muted);
  text-align: right;
  font-size: .625rem;
  font-weight: 400;
  letter-spacing: .12em;
}
.hero-slider__controls {
  position: relative;
  inset: auto;
  min-height: 4.5rem;
  width: 100%;
  padding: 0 var(--gutter);
  transform: none;
}
.hero-slider__dots button, .hero-slider__actions button {
  border: 0;
  color: var(--ink-muted);
  background: transparent;
  backdrop-filter: none;
}
.hero-slider__dots button[aria-current="true"] { color: var(--ink); }
.hero-slider__dots button:hover, .hero-slider__dots button:focus-visible,
.hero-slider__actions button:hover, .hero-slider__actions button:focus-visible { color: var(--ink); background: var(--paper); }
.hero-slider__actions { gap: .5rem; }

.page-hero { padding-block: clamp(2.5rem, 4.5vw, 4.5rem); }
.page-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); align-items: start; gap: 2rem; }
.page-hero__grid > .kicker { padding-top: .8rem; }
.page-hero__script { color: var(--signal-dark); font-size: clamp(2.5rem, 3.5vw, 3.5rem); transform: none; }
.page-hero__summary { padding-top: 0; margin-top: 1.5rem; border-top: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); gap: 2rem; }
.page-hero__summary p { grid-column: 2; max-width: 53ch; color: var(--ink-muted); }
.page-hero__summary > span { display: none; }
.artist-portrait-hero > img { animation: none; }
.artist-portrait-hero__script { color: var(--paper); }

.manifesto-section { padding-block: clamp(4rem, 9vw, 9rem); }
.manifesto-grid__body .lede { margin-top: 2rem; }
.manifesto-grid__body .copy { margin-top: 1.5rem; }
.practices-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); gap: 2rem; align-items: start; }
.practices-heading .kicker { padding-top: .6rem; }
.practice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 3vw, 3rem); margin-top: clamp(2.5rem, 5vw, 5rem); }
.practice-card:nth-child(n) .practice-card__media { aspect-ratio: 4 / 3; background: transparent; }
.practice-card img, .practice-card a:hover img, .practice-card a:focus-visible img { object-fit: contain; transform: none; filter: none; }
.practice-card__caption { position: relative; min-height: 7.5rem; padding: 1.5rem 2rem 1rem 0; gap: .75rem; }
.practice-card__caption strong { font-size: clamp(1.625rem, 2.4vw, 2.5rem); }
.practice-card__caption span { font-size: .6875rem; letter-spacing: .08em; }
.practice-card__caption i { position: absolute; right: .25rem; top: 1.5rem; font-style: normal; font-size: 1.25rem; transition: transform 250ms var(--motion-ease); }
.practice-card a:hover .practice-card__caption,
.practice-card a:focus-visible .practice-card__caption { color: var(--ink); }
.practice-card a:hover .practice-card__caption i,
.practice-card a:focus-visible .practice-card__caption i { transform: translate3d(3px, -3px, 0); }

.showcase-section--lead { padding-top: 0; }
.showcase-section__note { margin-top: 1.5rem; color: var(--ink-muted); font-size: .875rem; }
.showcase-section__note p { max-width: 65ch; }
.showcase-filter { justify-content: flex-end; gap: 1.25rem; margin-bottom: 1.25rem; padding-block: 0; border: 0; }
.showcase-filter select { width: auto; max-width: 28rem; padding-left: 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); font-size: .875rem; }
.showcase-section--full-bleed .showcase-slide--hires .showcase-slide__media,
.showcase-section--full-bleed .showcase-slide--hires.showcase-slide--cinema .showcase-slide__media { height: min(88svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5))); }
.showcase-slide figcaption {
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: .6rem 2rem;
  border: 0;
  color: var(--ink);
  background: var(--paper-light);
}
.showcase-slide figcaption strong { grid-column: 1; grid-row: 1; font-size: clamp(1.5rem, 2.3vw, 2.5rem); }
.showcase-slide figcaption span { grid-column: 1; grid-row: 2; color: var(--ink-muted); text-align: left; font-weight: 400; }
.showcase-slide__enlarge { grid-column: 2; grid-row: 1 / span 2; justify-self: end; align-self: center; font-size: .6875rem; font-style: normal; letter-spacing: .06em; transition: transform 250ms var(--motion-ease); }
.showcase-slide button:hover .showcase-slide__enlarge,
.showcase-slide button:focus-visible .showcase-slide__enlarge { transform: translateX(4px); }
.showcase-slider__controls { border: 0; min-height: 4.5rem; }
.showcase-slider__actions { gap: .5rem; }
.showcase-slider__actions button { width: 3rem; height: 3rem; border: 0; }
.showcase-slider__actions button:hover,
.showcase-slider__actions button:focus-visible { color: var(--ink); background: var(--paper); }
.showcase-slider__count { font-size: .6875rem; color: var(--ink-muted); }
.showcase-slider__count i { width: 2.5rem; }
.section--ink .showcase-slide figcaption { color: var(--paper-light); background: var(--ink); }
.section--ink .showcase-slide figcaption span { color: var(--paper); }
.section--ink .showcase-slider__count { color: var(--paper); }

/* Art stays still and true to colour. Only linked atmosphere photography zooms. */
main img { filter: none !important; }
.latest-feature__media img, .social-card__media img, .facebook-video-card__media img { transition: transform 650ms var(--motion-ease); }
.facebook-video-card:hover .facebook-video-card__media img,
.facebook-video-card:focus-within .facebook-video-card__media img,
.latest-feature:hover .latest-feature__media img { filter: none; }
.full-bleed-feature > img { transform: none; will-change: auto; }
.has-reveal .showcase-slider.reveal, .has-reveal .latest-stage.reveal { transform: none; }
.has-reveal .reveal:focus-within { opacity: 1; transform: none; transition-delay: 0ms; }
.has-reveal .practice-card:nth-child(2n) { transition-delay: 70ms; }

@keyframes quiet-entry {
  from { opacity: 0; transform: translate3d(0, 12px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.has-motion .hero-slide.is-active .hero__copy > *,
.has-motion .page-hero__grid > *,
.has-motion .page-hero__summary,
.has-motion .artist-portrait-hero__content > :not(.handwritten-note) {
  animation: quiet-entry var(--motion-entry) var(--motion-ease) both;
}
.has-motion .hero__copy > :nth-child(2),
.has-motion .page-hero__title { animation-delay: 80ms; }
.has-motion .hero__copy > :nth-child(3),
.has-motion .page-hero__summary { animation-delay: 160ms; }
.has-motion .artist-portrait-hero__content > h1 { animation-delay: 80ms; }
.has-motion .artist-portrait-hero__content > p:not(.handwritten-note) { animation-delay: 160ms; }
.has-motion .artist-portrait-hero__actions { animation-delay: 220ms; }

@media (hover: hover) and (pointer: fine) {
  .has-motion .latest-feature:hover .latest-feature__media img,
  .has-motion .latest-feature:focus-within .latest-feature__media img,
  .has-motion .social-card:hover .social-card__media img,
  .has-motion .social-card:focus-within .social-card__media img,
  .has-motion .facebook-video-card:hover .facebook-video-card__media img { transform: scale(1.025); }
}
@media (min-width: 901px) {
  .has-motion .full-bleed-feature > img[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.04); }
}
@media (max-width: 56.25rem) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
  .hero__copy { gap: 1.25rem; padding-block: 2rem; }
  .hero__headline .display { font-size: clamp(2.75rem, 7vw, 4rem); }
  .hero__headline br { display: none; }
  .hero__headline em { display: inline; }
  .hero__script { margin-top: .75rem; }
  .hero__intro { max-width: 52ch; }
  .hero__footer { gap: 1rem; }
  .hero-slider .hero__media img { height: auto; max-height: 70svh; aspect-ratio: 7 / 5; }
  .page-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .page-hero__summary { grid-template-columns: minmax(0, 1fr); }
  .page-hero__summary p { grid-column: 1; }
  .page-hero__grid > .kicker { padding-top: 0; }
  .showcase-section--full-bleed .showcase-slide--hires .showcase-slide__media,
  .showcase-section--full-bleed .showcase-slide--hires.showcase-slide--cinema .showcase-slide__media { height: min(78svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5))); }
}
@media (max-width: 40rem) {
  .hero__headline .display { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .hero__headline br { display: initial; }
  .hero__copy { padding-block: 1.5rem; gap: 1rem; }
  .hero__script { font-size: clamp(2rem, 8.5vw, 3.3rem); }
  .hero-slider .hero__caption { text-align: left; padding-block: .75rem; }
  .hero-slider__controls { min-height: 4rem; }
  .practices-heading { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .practice-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .practice-card__caption { min-height: 7rem; }
  .showcase-filter { flex-direction: row; align-items: center; gap: .75rem; margin-bottom: 1rem; }
  .showcase-filter label { font-size: .625rem; }
  .showcase-filter select { flex: 1; min-width: 0; }
  .showcase-slide figcaption { gap: .5rem 1rem; min-height: 0; }
  .showcase-slide figcaption strong { grid-column: 1 / -1; }
  .showcase-slide__enlarge { grid-row: 2; font-size: .625rem; text-align: right; }
  .showcase-section__note { font-size: .8125rem; }
  .has-reveal .practice-card:nth-child(2n) { transition-delay: 0ms; }
}

/* Studio journal and enquiry catalogue: local, restrained and fully labelled. */
.social-links { display: flex; flex-wrap: wrap; gap: .25rem; margin-left: -.625rem; }
.footer-col .social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-height: 44px;
  padding: 0;
  color: var(--paper-light);
  text-decoration: none;
}
.social-link svg { flex: none; transition: opacity 200ms ease; }
.social-link:hover svg { opacity: .65; }
.news-updates__head { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.news-updates__head .kicker { display: block; margin-bottom: 1.5rem; }
.news-update {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  gap: 2rem;
  padding-block: clamp(2rem, 4vw, 4rem);
  border-top: 1px solid var(--line);
  scroll-margin-top: calc(var(--header-h) + 2rem);
}
.news-update__date { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; font-size: .8125rem; color: var(--ink-muted); }
.news-update__date span { font-size: .6875rem; letter-spacing: .06em; }
.news-update h3 { max-width: 24ch; }
.news-update p { margin-block: 1.5rem; max-width: 58ch; color: var(--ink-muted); }
.news-update .button-link { max-width: 100%; min-height: 44px; }
.shop-catalog { margin: 0; }
.shop-card:nth-child(n) { grid-column: span 6; display: flex; flex-direction: column; min-width: 0; scroll-margin-top: calc(var(--header-h) + 2rem); }
.shop-card__media { background: transparent; }
.shop-card__media img { mix-blend-mode: normal; }
.shop-card__body { flex: 1; padding-inline: 0; }
.shop-card__body h2 { max-width: 22ch; }
.shop-card__quantity { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.5rem; }
.shop-card__quantity label { font-size: .8125rem; color: var(--ink-muted); }
.shop-card__quantity input { width: 5rem; min-height: 44px; padding: .625rem; border: 1px solid var(--line); background: transparent; color: var(--ink); font: inherit; font-size: 1rem; border-radius: 0; }
.shop-request { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); gap: clamp(2.5rem, 5vw, 6rem); align-items: start; }
.shop-request__summary { min-width: 0; }
.shop-request__summary h2 { margin-block: 1.25rem 2rem; }
.shop-request__summary p { max-width: 38ch; color: var(--ink-muted); }
.shop-request__summary ul { padding-left: 1.1rem; margin-block: 1.5rem; }
.shop-request__summary ul:empty { display: none; }
.shop-request__summary li { margin-block: .5rem; }
.shop-request__summary > a { display: inline-block; margin-top: 1.5rem; text-decoration: underline; text-underline-offset: .3em; overflow-wrap: anywhere; }
.shop-request__fields { min-width: 0; display: grid; gap: 1.5rem; }
.shop-request__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.shop-request__fields label { display: block; font-size: .8125rem; margin-bottom: .75rem; }
.shop-request__fields input, .shop-request__fields textarea {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  border: 1px solid var(--line);
  padding: .875rem;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 1rem;
  border-radius: 0;
}
.shop-request__fields textarea { resize: vertical; }
.shop-catalog [aria-invalid="true"] { border-color: #a13c32; }
.shop-request__notice, .shop-request__status, .shop-request__fallback { font-size: .8125rem; color: var(--ink-muted); }
.shop-request__notice a { text-decoration: underline; text-underline-offset: .2em; }
.shop-request__submit { justify-self: start; max-width: 100%; min-height: 48px; background: transparent; border: 0; border-bottom: 1px solid currentColor; text-align: left; white-space: normal; }
.shop-request__status:empty { display: none; }
.shop-request__fallback summary { cursor: pointer; padding-block: .75rem; min-height: 44px; }
.shop-request__fallback textarea { margin-block: .75rem; }
@media (max-width: 56.25rem) {
  .shop-request { grid-template-columns: minmax(0, 1fr); }
  .shop-request__summary p { max-width: 58ch; }
}
@media (max-width: 40rem) {
  .news-update { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .shop-card:nth-child(n) { grid-column: 1 / -1; }
  .shop-request__row { grid-template-columns: minmax(0, 1fr); }
}

/* Both user preference and data-saving mode stop every decorative transform. */
html:not(.has-motion) .has-reveal,
html:not(.has-motion) .reveal { opacity: 1; transform: none; transition-delay: 0ms; }
html:not(.has-motion) .practice-card img,
html:not(.has-motion) .social-card__media img,
html:not(.has-motion) .facebook-video-card__media img,
html:not(.has-motion) .latest-feature__media img,
html:not(.has-motion) .practice-card__caption i,
html:not(.has-motion) .showcase-slide__enlarge { transform: none !important; }
html:not(.has-motion) *, html:not(.has-motion) *::before, html:not(.has-motion) *::after {
  animation: none !important;
  transition-duration: .001ms !important;
  transition-delay: 0ms !important;
  scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-delay: 0ms !important; transition-delay: 0ms !important; }
  .has-reveal .reveal { opacity: 1; transform: none !important; }
  .hero__copy > *, .page-hero__grid > *, .page-hero__summary,
  .artist-portrait-hero__content > * { animation: none !important; }
  .practice-card__caption i, .showcase-slide__enlarge,
  .latest-feature__media img, .full-bleed-feature > img { transform: none !important; }
}

/* Extend the approved home language without changing its layout. */
.page-interior main { --interior-gap: clamp(1.5rem, 3vw, 3rem); }
.page-interior img { background: transparent; }
.page-interior .page-hero .heading-xl,
.page-interior .artist-portrait-hero .heading-xl { font-size: clamp(2.75rem, 4.6vw, 5.25rem); line-height: 1.04; font-weight: 400; letter-spacing: -.035em; }
.page-interior .page-hero__script { margin-left: 0; text-align: left; }
.page-interior .section--ink { color: var(--ink); background: var(--paper-light); }
.page-interior .section--ink .kicker { color: var(--ink-muted); }
.page-interior .showcase-slider__viewport,
.page-interior .showcase-slide__media,
.page-interior .showcase-slider--contain .showcase-slide__media img { background: var(--paper-light); }
.page-interior .showcase-filter select:focus-visible { outline-offset: -2px; }
.page-interior .editorial-media img { width: 100%; height: auto; max-height: 48rem; aspect-ratio: auto; object-fit: contain; }
.page-interior .editorial-row--signal { background: transparent; }
.page-interior .editorial-row:hover .editorial-media img,
.page-interior .editorial-row:focus-within .editorial-media img { transform: none; }
.page-interior .full-bleed-feature { display: block; min-height: 0; color: var(--ink); background: var(--paper-light); overflow: visible; }
.page-interior .full-bleed-feature::after { display: none; }
.page-interior .full-bleed-feature > img { position: static; display: block; width: 100%; height: auto; max-height: 78svh; object-fit: contain; transform: none !important; }
.page-interior .full-bleed-feature__content { position: static; min-height: 0; padding-block: clamp(2rem, 4vw, 4rem); align-items: start; }
.page-interior .full-bleed-feature__content .heading-xl { font-size: var(--type-h2); max-width: 21ch; }
.page-interior .full-bleed-feature__content p { color: var(--ink-muted); font-size: 1rem; }

.page-interior .artist-portrait-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); align-items: center; min-height: 0; background: var(--paper-light); color: var(--ink); }
.page-interior .artist-portrait-hero::after { display: none; }
.page-interior .artist-portrait-hero__content { min-width: 0; min-height: 0; padding: clamp(2rem, 4vw, 4rem) var(--gutter); padding-left: max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter))); }
.page-interior .artist-portrait-hero__content .heading-xl { max-width: 11ch; margin-top: 2rem; }
.page-interior .artist-portrait-hero__content > p { max-width: 38ch; margin-top: 1.75rem; color: var(--ink-muted); }
.page-interior .artist-portrait-hero__content > .artist-portrait-hero__script { margin: 1rem 0 0; color: var(--signal-dark); font-size: clamp(2.25rem, 3.5vw, 3.5rem); white-space: nowrap; transform: none; }
.page-interior .artist-portrait-hero__actions { gap: 1.5rem; margin-top: 2rem; }
.page-interior .artist-portrait-hero__actions > span { display: none; }
.page-interior .artist-portrait-hero__media { min-width: 0; aspect-ratio: 5 / 4; max-height: 48rem; overflow: hidden; }
.page-interior .artist-portrait-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 75% center; }
.page-interior .quote-panel { display: grid; width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); border: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); gap: 2rem; padding-block: 0; }
.page-interior .quote-panel blockquote { grid-column: 2; max-width: 28ch; padding: 0; border: 0; font-size: var(--type-h2); line-height: 1.16; }
.page-interior .quote-panel cite { grid-column: 2; margin: 0; color: var(--ink-muted); }
.page-interior .encounter-card button { border: 0; background: transparent; }
.page-interior .encounter-card__media,
.page-interior .encounter-card:first-child .encounter-card__media,
.page-interior .encounter-card:last-child .encounter-card__media { aspect-ratio: auto; background: transparent; }
.page-interior .encounter-card__media img { width: 100%; height: auto; max-height: 42rem; object-fit: contain; }
.page-interior .encounter-card figcaption { padding-inline: 0; border: 0; }

.page-interior .video-section { border: 0; }
.page-interior .video-stage__copy p, .page-interior .process-step p { color: var(--ink-muted); }
.page-interior .process-step { padding-inline: 0; border-color: var(--line); }
.page-interior .process-grid { gap: 2rem; }
.page-interior .video-stage__frame::after { display: none; }
.page-interior .video-stage__play { color: var(--ink); background: var(--paper-light); box-shadow: none; }
.page-interior .video-stage__play span { padding: .45rem .75rem; color: var(--ink); background: var(--paper-light); }
.page-interior .motion-banner { min-height: 0; color: var(--ink); background: var(--paper-light); }
.page-interior .motion-banner__poster { position: relative; width: 100%; height: auto; }
.page-interior .motion-banner__poster img { position: static; display: block; width: 100%; height: auto; max-height: 75svh; object-fit: contain; transform: none; }
.page-interior .motion-banner__copy { min-height: 0; padding-block: clamp(2rem, 4vw, 4rem); }
.page-interior .motion-banner__copy .heading-xl { max-width: 24ch; font-size: var(--type-h2); }
.page-interior .motion-banner__copy p { max-width: 60ch; color: var(--ink-muted); font-size: 1rem; }
.page-interior .motion-banner__copy .button-link { padding-inline: 0; border: 0; border-bottom: 1px solid currentColor; color: var(--ink); background: transparent; }
.page-interior .facebook-video-journal__head > p { color: var(--ink-muted); font-size: 1rem; }
.page-interior .facebook-video-journal__head .heading-lg { max-width: 18ch; }
.page-interior .facebook-video-journal__head .handwritten-note { margin-left: 0; color: var(--signal-dark); font-size: clamp(2rem, 3.5vw, 3.5rem); transform: none; }
.page-interior .facebook-video-journal__grid,
.page-interior .social-journal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 5rem) var(--interior-gap); }
.page-interior .facebook-video-card:nth-child(n),
.page-interior .social-card:nth-child(n) { grid-column: auto; border: 0; background: transparent; box-shadow: none; }
.page-interior .facebook-video-card--feature:nth-child(n),
.page-interior .social-card--major:nth-child(n),
.page-interior .social-card--full:nth-child(n) { grid-column: 1 / -1; }
.page-interior .facebook-video-card > a,
.page-interior .social-card > a { display: block; color: var(--ink); }
.page-interior .facebook-video-card__media,
.page-interior .social-card__media { height: auto; min-height: 0; aspect-ratio: auto; background: transparent; }
.page-interior .facebook-video-card__media::after { display: none; }
.page-interior .facebook-video-card__media img,
.page-interior .social-card__media img { display: block; width: 100%; height: auto; max-height: 42rem; object-fit: contain; }
.page-interior .facebook-video-card--feature .facebook-video-card__media img,
.page-interior .social-card--major .social-card__media img,
.page-interior .social-card--full .social-card__media img { max-height: 75svh; }
.page-interior .facebook-video-card__copy,
.page-interior .social-card__copy { min-height: 0; padding: 1.5rem 0 0; }
.page-interior .facebook-video-card__copy > span,
.page-interior .facebook-video-card__copy p,
.page-interior .social-card__meta,
.page-interior .social-card__copy p { color: var(--ink-muted); }
.page-interior .facebook-video-card__copy h3,
.page-interior .social-card__copy h3 { max-width: 24ch; font-weight: 400; line-height: 1.12; font-size: clamp(1.5rem, 2.5vw, 2.5rem); }
.page-interior .social-card__source { display: none; }
.page-interior .facebook-video-card__views { font-weight: 400; font-size: .75rem; }
.page-interior .news-reference-grid { grid-template-columns: minmax(0, 1fr); border-color: var(--line); }
.page-interior .news-reference { min-height: 0; padding: 2rem 3rem 2rem 0; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; }
.page-interior .news-reference h3 { max-width: 28ch; margin-top: 1rem; font-size: var(--type-h3); font-weight: 400; line-height: 1.12; }
.page-interior .news-reference:hover, .page-interior .news-reference:focus-visible { background: var(--paper); }
.page-interior .press-selection { padding-top: 1.5rem; }
.page-interior .press-link { padding-block: 2rem; text-decoration: none; }
.page-interior .press-link:hover h3, .page-interior .press-link:focus-visible h3 { text-decoration: underline; text-underline-offset: .15em; }
.page-interior .press-link h3 { max-width: 28ch; font-weight: 400; line-height: 1.12; }

.page-interior .contact-visual, .page-interior .legal-visual { color: var(--ink); background: var(--paper-light); }
.page-interior .contact-visual::after, .page-interior .legal-visual::after { display: none; }
.page-interior .contact-visual > img, .page-interior .legal-visual > img { width: 100%; height: auto; max-height: 72svh; aspect-ratio: auto; object-fit: contain; transform: none; }
.page-interior .contact-visual figcaption, .page-interior .legal-visual figcaption { position: static; padding-block: 1.5rem; }
.page-interior .contact-visual figcaption strong { font-size: var(--type-lede); line-height: 1.2; }
.page-interior .contact-visual figcaption span { color: var(--ink-muted); font-size: .75rem; }
.page-interior .contact-card { padding: 0; color: var(--ink); background: transparent; }
.page-interior .contact-card p { color: var(--ink-muted); }
.page-interior .contact-card a { overflow-wrap: anywhere; }
.page-interior .form-submit { justify-content: space-between; min-height: 48px; padding-inline: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink); }
.page-interior .shop-selection { padding-top: 1.5rem; }
.page-interior .shop-grid { gap: clamp(2.5rem, 5vw, 5rem) var(--interior-gap); }
.page-interior .shop-card__media img { padding: 0; }
.page-interior .shop-request__fields input, .page-interior .shop-request__fields textarea { border: 0; border-bottom: 1px solid var(--ink); padding-inline: 0; }
.page-interior .shop-request__fields [aria-invalid="true"] { border-color: #a13c32; }
.page-interior .page-hero .kicker,
.page-interior .showcase-filter label,
.page-interior .showcase-slider__count,
.page-interior .showcase-slide figcaption span,
.page-interior .form-field > label { font-size: .75rem; }
html:not(.has-motion) .editorial-media img,
html:not(.has-motion) .video-stage__frame img { transform: none !important; }
html:not(.has-motion) .video-stage__play,
html:not(.has-motion) .facebook-video-card__play { transform: translate3d(-50%, -50%, 0) !important; }
@media (max-width: 56.25rem) {
  .page-interior .artist-portrait-hero { grid-template-columns: minmax(0, 1fr); }
  .page-interior .artist-portrait-hero__content { padding-block: 2rem; }
  .page-interior .artist-portrait-hero__content .heading-xl { max-width: none; margin-top: 1.5rem; }
  .page-interior .artist-portrait-hero__media { aspect-ratio: 4 / 3; max-height: 38rem; }
  .page-interior .quote-panel { grid-template-columns: minmax(0, 1fr); }
  .page-interior .quote-panel blockquote, .page-interior .quote-panel cite { grid-column: 1; }
  .page-interior .facebook-video-journal__grid, .page-interior .social-journal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .page-interior .page-hero .heading-xl, .page-interior .artist-portrait-hero .heading-xl { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .page-interior .facebook-video-journal__grid, .page-interior .social-journal__grid { grid-template-columns: minmax(0, 1fr); }
  .page-interior .contact-visual figcaption, .page-interior .legal-visual figcaption { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .page-interior .artist-portrait-hero__content > .artist-portrait-hero__script { font-size: clamp(2rem, 8.5vw, 3rem); }
  .page-interior .full-bleed-feature__content { gap: 1.5rem; }
  .page-interior .news-reference { padding-right: 2rem; }
}

/* The image sets the hue; only the footer remains an intentionally dark surface. */
html { background: var(--paper-light); }
main { --ink-muted: #403d37; }
body[class] main [data-photo-tone][data-photo-source] {
  --photo-wash: color-mix(in oklab, var(--photo-dominant) 14%, var(--paper-light));
  color: var(--ink);
  background: var(--photo-wash);
  background-image: none;
}
main.section--ink, main .section--ink { color: var(--ink); background-color: var(--photo-wash, var(--paper-light)); }
main .section--ink .kicker, main .section--ink .muted { color: var(--ink-muted); }
body[class] main .showcase-slider__viewport, body[class] main .showcase-slide__media,
body[class] main .showcase-slider--contain .showcase-slide__media img,
body[class] main .section--ink .showcase-slide figcaption,
body[class] main .hero__copy, body[class] main .hero__media { background: transparent; color: var(--ink); }
main .showcase-slide figcaption span, main .section--ink .showcase-slider__count { color: var(--ink-muted); }
main img { background: transparent; }
main .editorial-row { padding: clamp(1rem, 2.5vw, 2.5rem); }
main .practice-card__caption, main .social-card__copy, main .facebook-video-card__copy,
main .shop-card__body { padding-inline: clamp(1rem, 2vw, 2rem); }
main .practice-card__media img { object-fit: contain; }
main .hero-slider__controls { background: transparent; }

/* A true photograph beside the studio text, no watermark or overlay. */
.manifesto-section .manifesto-watermark { display: none; }
.manifesto-grid__label { display: grid; align-content: start; gap: 2rem; }
.manifesto-image img { width: 100%; height: auto; max-height: 40rem; object-fit: contain; }
.manifesto-image figcaption { margin-top: 1rem; font-size: .8125rem; color: var(--ink-muted); }

.visual-essay__heading { display: grid; grid-template-columns: 1fr 1.618fr; gap: 2rem; align-items: start; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.visual-essay__heading h2 { max-width: 20ch; }
.visual-essay__grid { display: grid; grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.visual-essay__figure { min-width: 0; }
.visual-essay__figure button { display: block; width: 100%; padding: 0; border: 0; text-align: left; color: inherit; background: transparent; cursor: zoom-in; }
.visual-essay__figure img { width: 100%; max-width: var(--photo-native-width); height: auto; max-height: 76svh; margin-inline: auto; object-fit: contain; }
.visual-essay__figure figcaption { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding: 1.25rem; font-size: .875rem; }
.visual-essay__figure figcaption i { font-style: normal; }
.visual-essay__figure button:focus-visible { outline-offset: -3px; }
.visual-essay__figure:nth-child(2) { margin-top: clamp(2rem, 8vw, 8rem); }
.visual-essay__figure--wide { grid-column: 1 / -1; }

/* Remove the last home-page black panel while preserving its editorial structure. */
.latest-feature, .latest-feature > a, .latest-feature__media { min-height: 0; height: auto; color: var(--ink); background: transparent; }
.latest-feature__media::after { display: none; }
.latest-feature__media img { height: auto; max-height: 43rem; object-fit: contain; }
.latest-feature__overlay, .latest-feature:hover .latest-feature__overlay,
.latest-feature:focus-within .latest-feature__overlay { position: static; min-width: 0; width: 100%; background: transparent; padding: 2rem 0 0; }
.latest-feature__overlay h3 em { color: var(--ink); }
.latest-feature__overlay p, .latest-feature__overlay > span { color: var(--ink-muted); }
.latest-stage__stack { gap: 2rem; }
.journal-related { display: grid; gap: .5rem; padding: 0 2rem 1.5rem; }
.journal-related a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; color: var(--ink); }
.latest-card { min-height: 16rem; background: color-mix(in oklab, var(--photo-dominant) 7%, var(--paper-light)); }
.shop-teaser__media > span, .facebook-video-card__views,
.facebook-video-card__play { background: var(--paper-light); color: var(--ink); border-color: var(--line); }
.facebook-video-card__play i { border-left-color: var(--ink); }
main .practice-card__media { background: transparent; }
.video-privacy-note { color: var(--ink-muted); }

.mobile-menu, .page-loader { color: var(--ink); background: var(--paper-light); }
.mobile-menu nav a { color: var(--ink); border-color: var(--line); }
.mobile-menu nav a::after { color: var(--ink-muted); }
.page-loader__inner span { color: var(--ink-muted); }
.page-loader__inner img { filter: none; }
.lightbox { color: var(--ink); background: var(--paper-light); border-color: var(--line); box-shadow: 0 1rem 4rem #11110e1a; }
.lightbox::backdrop { background: color-mix(in oklab, var(--paper-light) 90%, transparent); }
.lightbox__bar, .lightbox__navigation, .lightbox__close { border-color: var(--line); color: var(--ink); }
.lightbox__details span, .lightbox__navigation span { color: var(--ink-muted); }
.lightbox__navigation button:hover, .lightbox__navigation button:focus-visible { background: var(--paper-deep); }

/* Social links are visible at the very start of the footer, on every route. */
.site-footer { background: var(--ink); color: var(--paper-light); }
.footer-signature { min-width: 0; }
.footer-signature .social-links { margin: 2rem 0 0; gap: .75rem 1.5rem; }
.site-footer .social-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; width: auto; padding: .375rem 0; color: var(--paper-light); text-decoration: none; }
.site-footer .social-link svg { display: block; flex: 0 0 26px; width: 26px; height: 26px; stroke: currentColor; opacity: 1; }
.site-footer .social-link span { margin: 0; font-size: .875rem; color: inherit; }
.site-footer .social-link:hover span, .site-footer .social-link:focus-visible span { text-decoration: underline; text-underline-offset: .3em; }
.footer-main { grid-template-columns: minmax(0, 1.618fr) repeat(3, minmax(0, 1fr)); }
.footer-col { min-width: 0; }
.footer-col a { overflow-wrap: anywhere; }
@media (max-width: 75rem) {
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 56.25rem) {
  .footer-signature { grid-column: 1 / -1; }
  .visual-essay__heading { grid-template-columns: minmax(0, 1fr); }
  .visual-essay__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .visual-essay__grid, .footer-main { grid-template-columns: minmax(0, 1fr); }
  .visual-essay__figure:nth-child(2) { margin-top: 0; }
  .visual-essay__figure img { max-height: 72svh; }
  .visual-essay__figure figcaption { padding: 1rem; }
  main .editorial-row { padding: 1rem; }
  .footer-signature .social-links { gap: .5rem 1rem; }
}

/* Artist feedback, September 2026. One shared reading scale after legacy styles.
   Six levels: identity, section, subtitle, introduction, body, label.
   Handwriting keeps its existing brand face, at the section-title size. */
:root {
  --type-h1: clamp(2.5rem, 1.5rem + 3.5vw, 5rem);
  --type-h2: clamp(2rem, 1.5rem + 1.7vw, 3rem);
  --type-h3: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  --type-h4: var(--type-h3);
  --type-lede: clamp(1.125rem, 1rem + .35vw, 1.375rem);
  --type-body: clamp(1rem, .95rem + .2vw, 1.125rem);
  --type-small: .875rem;
  --type-micro: var(--type-small);
  --header-h: 6rem;
}

/* The signature is an identity, not a discreet navigation icon. */
.site-header__inner { gap: 1.5rem; }
.wordmark { min-width: 0; }
.wordmark__logo { width: clamp(14rem, 16vw, 15rem); max-width: 100%; }
.desktop-nav { gap: clamp(.75rem, 1.15vw, 1rem); }
.desktop-nav a, .language-link {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .015em;
  text-transform: none;
}
.language-link { min-width: 2.75rem; justify-content: center; }
.menu-toggle { flex: 0 0 2.75rem; }
.mobile-menu nav a { font-size: var(--type-h3); line-height: 1.25; }
.mobile-menu > .kicker { margin-top: 2rem; }

/* Persistent, visible H1: it never disappears when the slideshow changes. */
.hero__identity {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 2rem;
  padding-block: clamp(1.5rem, 2.5vw, 2.5rem);
}
.hero__identity > h1 { max-width: none; }
.hero__identity > p { color: var(--ink-muted); }
.hero__copy { gap: 1.25rem; padding-block: 2rem; }
#main .hero__headline .display {
  max-width: 19ch;
  font-size: var(--type-h3);
  line-height: 1.15;
  letter-spacing: -.02em;
}
body.page-home .hero__intro { max-width: 38ch; }
.hero-slider .hero__media img { max-height: calc(100svh - var(--header-h) - 7rem); }

/* Semantic levels always win over page-specific, older display sizes. */
#main h1 { font-size: var(--type-h1); line-height: 1.08; letter-spacing: -.025em; }
#main h2 { font-size: var(--type-h2); line-height: 1.12; letter-spacing: -.02em; }
#main h3 { font-size: var(--type-h3); line-height: 1.2; letter-spacing: -.015em; }
#main :is(.heading-xl, .heading-lg, .heading-md, .display) { overflow-wrap: normal; }
#main .lede { font-size: var(--type-lede); line-height: 1.5; }
#main .kicker {
  max-width: 100%;
  color: var(--ink-soft);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .07em;
  text-wrap: balance;
}
#main .hero__copy .kicker { font-size: 1rem; letter-spacing: .07em; }
#main .button-link {
  max-width: 100%;
  min-height: 2.75rem;
  padding-block: .5rem;
  font-size: var(--type-small);
  line-height: 1.5;
  letter-spacing: .07em;
}
#main .button-link::after { flex-shrink: 0; }
#main :is(.editorial-copy p, .hero__intro, .page-hero__summary p,
  .artist-portrait-hero__content > p:not(.handwritten-note), .process-step p,
  .facebook-video-card__copy p, .social-card__copy p, .latest-feature__overlay p,
  .latest-card p, .shop-card__body p, .contact-card p, .legal-copy p) {
  font-size: var(--type-body);
  line-height: 1.65;
}
#main :is(.practice-card__caption strong, .showcase-slide figcaption strong) {
  font-size: var(--type-h3);
  line-height: 1.2;
}
#main :is(.practice-card__caption span, .hero__caption,
  .manifesto-image figcaption, .showcase-slide figcaption span,
  .showcase-slide__enlarge, .showcase-slider__count, .showcase-filter label,
  .showcase-section__note, .contact-visual figcaption span,
  .news-update__date, .news-update__date span, .facebook-video-card__views,
  .facebook-video-card__copy > span, .social-card__meta, .shop-card__body small,
  .shop-card__quantity label, .shop-request__fields label,
  .shop-request__notice, .shop-request__status, .shop-request__fallback,
  .form-field > label, .form-consent, .form-note, .form-status) {
  font-size: var(--type-small);
  line-height: 1.5;
  letter-spacing: .02em;
}
#main .showcase-filter select { font-size: 1rem; min-height: 2.75rem; }
#main .hero-slider__dots button,
#main .hero-slider__actions button { font-size: var(--type-small); }
#main .handwritten-note {
  max-width: 100%;
  font-size: var(--type-h2);
  line-height: 1.25;
  white-space: nowrap;
  text-wrap: nowrap;
}
.footer-statement { font-size: var(--type-h2); line-height: 1.15; }
.site-footer :is(.kicker, .footer-press small, .footer-col strong, .footer-legal) {
  font-size: var(--type-small);
  line-height: 1.6;
  letter-spacing: .06em;
}
.site-footer .footer-col :is(a, span) { font-size: 1rem; line-height: 1.6; }
.lightbox :is(.lightbox__details span, .lightbox__navigation span, .lightbox__original) {
  font-size: var(--type-small);
  line-height: 1.5;
}

/* Two real columns: no empty middle track stealing space from a phone logo.
   This query is also used by the menu's resize handler in app.js. */
@media (max-width: 87.5rem) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .site-header__inner { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
  .header-actions { grid-column: 2; gap: .25rem; }
}
@media (max-width: 56.25rem) {
  :root { --header-h: 5rem; }
  .wordmark__logo { width: 12.5rem; }
  .hero__identity { display: grid; gap: .5rem; padding-block: 1.5rem .5rem; }
  .hero__copy { padding-block: 1.5rem; gap: .75rem; }
  .hero__footer { gap: .75rem; }
  .hero-slider .hero__media img { max-height: 70svh; aspect-ratio: auto; }
  .hero-slider .hero__caption { padding-block: .75rem; }
}
@media (max-width: 40rem) {
  .wordmark__logo { width: 11.25rem; }
  .hero__identity > h1 { letter-spacing: -.03em; }
  .hero__identity > p { line-height: 1.5; }
  .mobile-menu { padding-block: 1.25rem; }
  .mobile-menu nav a { min-height: 3.5rem; }
  #main .showcase-slide__enlarge { grid-column: 1 / -1; grid-row: 3; justify-self: start; text-align: left; }
  #main .showcase-slide figcaption span { grid-column: 1 / -1; }
  #main .handwritten-note { white-space: normal; text-wrap: balance; }
}
@media (prefers-reduced-motion: no-preference) {
  .has-motion .hero__identity { animation: quiet-entry 650ms var(--motion-ease) both; }
}

/* Exhibition rhythm: image first, generous works, restrained reading columns. */
:root { --gallery-max: 105rem; }

.hero__grid { grid-template-columns: minmax(0, 2.571fr) minmax(0, 1fr); }
.hero__copy { padding: 2rem var(--gutter); }
.hero-slider .hero__media img { width: min(100%, var(--image-native-width)); max-height: none; margin-inline: auto; }
.hero-slider .hero__caption { text-align: left; }
.hero__identity { padding-block: clamp(1.5rem, 2.5vw, 2.5rem); }

/* A compact exhibition header puts the artwork close to its title. */
.page-interior .page-hero { padding-block: clamp(2rem, 3.5vw, 3.5rem); }
.page-interior .page-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 2rem clamp(2rem, 5vw, 5rem);
}
.page-interior .page-hero__title { min-width: 0; }
.page-interior .page-hero__title .kicker { margin-bottom: 1rem; }
.page-interior .page-hero .heading-xl { max-width: 16ch; }
.page-interior .page-hero__summary { display: block; margin: 0; padding: 0 0 .25rem; }
.page-interior .page-hero__summary p { max-width: 48ch; margin: 0; }

/* Full-width landscape masters; portraits and small sources remain bounded. */
#main .showcase-section--full-bleed .showcase-slide__media {
  height: min(86svh, var(--native-height), calc(100vw / var(--image-ratio, 1.5)));
}
#main .showcase-section--full-bleed :is(.showcase-slide--hires, .showcase-slide--large):is(.showcase-slide--landscape, .showcase-slide--cinema) .showcase-slide__media {
  height: min(var(--native-height), calc(100vw / var(--image-ratio, 1.5)));
}
#main .showcase-section--full-bleed .showcase-slide__media img {
  width: min(100%, var(--native-width));
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}
#main .showcase-slide figcaption { background: transparent; }
.showcase-section__head { gap: 2rem; }
.showcase-section--lead .showcase-filter { margin-bottom: 1rem; }
.showcase-toolbar {
  position: sticky;
  top: var(--header-h);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: .5rem var(--showcase-inset, 0);
  background: var(--photo-wash, var(--paper-light));
}
#main .showcase-toolbar .showcase-filter { flex: 1; justify-content: flex-start; margin: 0; padding: 0; }
#main .showcase-toolbar .showcase-slider__controls {
  display: flex; flex: 0 0 auto; gap: 2rem; min-height: 3rem; padding: 0;
}
.showcase-toolbar .showcase-slider__count { gap: .75rem; }
.showcase-toolbar .showcase-slider__count i { width: 1.5rem; }

/* Larger selected installations; small press documents keep their native cap. */
.visual-essay > .shell, .practices-section > .shell { --max: var(--gallery-max); }
.visual-essay--opening { padding-block: 0 1.5rem; }
.visual-essay--opening > .shell { width: 100%; padding-inline: 0; }
.visual-essay--opening .visual-essay__figure figcaption { padding-inline: var(--gutter); }
.page-interior .page-hero__jump { display: flex; width: fit-content; max-width: 100%; gap: .75rem; margin-top: 1.25rem; }
.page-interior .page-hero__jump::after { content: "↓"; }
#news-updates-title { scroll-margin-top: calc(var(--header-h) + 4rem); }
.page-interior .shop-selection__header { gap: 1.5rem 3rem; margin-bottom: 2rem; }
.page-interior .shop-selection__header .heading-lg { max-width: none; margin-top: 1rem; }
.visual-essay__grid { row-gap: clamp(2.5rem, 6vw, 6rem); }
.visual-essay__figure--wide:nth-child(n) { margin-top: 0; }
.visual-essay__figure img { max-height: 86svh; }
.visual-essay__figure--landscape img { max-height: none; }
.visual-essay__figure figcaption { padding-inline: 0; }
.visual-essay__figure--wide figcaption { max-width: var(--photo-native-width); margin-inline: auto; }
.visual-essay__figure button:focus-visible { outline-offset: -3px; }

/* Give editorial images room without making long text run across the screen. */
#main .editorial-media img { width: min(100%, var(--image-native-width)); max-height: none; margin-inline: auto; }
.page-interior .editorial-copy { max-width: 62ch; }
.page-interior .full-bleed-feature > img,
.page-interior .motion-banner__poster img,
.page-interior .contact-visual > img, .page-interior .legal-visual > img {
  width: min(100%, var(--image-native-width)); max-height: none; margin-inline: auto;
}

@media (max-width: 56.25rem) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
  .hero__identity { padding-block: 1.25rem; }
  .hero__copy { padding-block: 1.25rem; }
  .hero-slider .hero__media img { max-height: none; }
  .page-interior .page-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .page-interior .page-hero { padding-block: 2rem; }
  .page-interior .page-hero__title .kicker { margin-bottom: .75rem; }
}
@media (max-width: 40rem) {
  .visual-essay > .shell { padding-inline: 0; }
  .visual-essay__heading, .visual-essay__figure figcaption { padding-inline: var(--gutter); }
  .visual-essay__heading { gap: 1rem; margin-bottom: 2rem; }
  .visual-essay__figure img { max-height: none; }
  .visual-essay__grid { gap: 2.5rem; }
  .showcase-section--lead { padding-top: 0; }
  #main .showcase-filter { flex-direction: row; align-items: center; gap: 1rem; }
  #main .showcase-filter select { flex: 1; width: auto; min-width: 0; }
  .showcase-toolbar { flex-wrap: wrap; gap: .25rem; }
  #main .showcase-toolbar .showcase-filter { flex-basis: 100%; }
  #main .showcase-toolbar .showcase-slider__controls { flex: 1; justify-content: space-between; }
  .hero-slider__controls { min-height: 3.5rem; }
}

/* Utility pages and preferences use the same restrained, readable design. */
#main :focus-visible { outline-color: var(--signal-dark); }
.privacy-banner[hidden], [data-shop-fallback][hidden], [data-contact-fallback][hidden] { display: none; }
.menu-open .privacy-banner { display: none; }
.privacy-banner { position: fixed; z-index: 55; inset: auto 1rem 1rem; max-width: 70rem; margin-inline: auto; padding: 1.25rem; background: #faf8f4; color: #11110e; border: 1px solid #68645f; box-shadow: 0 8px 32px #11110e18; }
.privacy-banner p { margin: .5rem 0 1rem; max-width: 80ch; font-size: 1rem; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.privacy-actions button { min-height: 44px; padding: .65rem 1rem; border: 1px solid #68645f; color: #11110e; background: #faf8f4; font: inherit; font-size: 1rem; cursor: pointer; }
.privacy-actions button:hover { background: #eae5dc; }
.privacy-actions button:focus-visible, .privacy-dialog :focus-visible { outline: 2px solid #8b432e; outline-offset: 3px; }
.privacy-dialog { color: #11110e; background: #faf8f4; width: min(42rem, calc(100% - 2rem)); max-height: calc(100svh - 2rem); padding: 0; border: 1px solid #68645f; margin: auto; overflow: auto; }
.privacy-dialog::backdrop { background: #11110e66; }
.privacy-dialog__inner { padding: clamp(1.25rem, 4vw, 2rem); }
.privacy-dialog h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); margin-bottom: 1rem; }
.privacy-dialog p { font-size: 1rem; line-height: 1.55; margin: 1rem 0; }
.privacy-option { display: flex; gap: 1rem; padding: 1rem 0; border-top: 1px solid #c1bcb3; }
.privacy-option > span, .privacy-option > strong { min-width: 0; }
.privacy-option > span > span { display: block; margin-top: .4rem; font-size: 1rem; }
.privacy-option input { flex: 0 0 24px; width: 24px; height: 24px; margin-top: .2rem; accent-color: #8b432e; }
.privacy-option:not(label) { display: block; }
.privacy-option:not(label) p { margin-bottom: 0; }
.privacy-inactive { color: #403d37; }
.footer-legal { flex-wrap: wrap; gap: 1rem 2rem; }
.footer-legal button { color: inherit; background: transparent; border: 0; padding: .5rem 0; font: inherit; text-transform: inherit; text-decoration: underline; cursor: pointer; min-height: 44px; }
.policy-layout { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr); gap: 2rem 5rem; align-items: start; }
.policy-layout nav { display: flex; flex-direction: column; gap: 1rem; }
.policy-copy { max-width: 70ch; }
.policy-copy section + section { margin-top: 3rem; }
.policy-copy h2 { margin-bottom: 1rem; }
.policy-copy p + p { margin-top: 1rem; }
.policy-copy section { scroll-margin-top: calc(var(--header-h) + 2rem); }
.policy-date { margin-bottom: 2rem; color: var(--ink-muted); }
.contact-form__fallback { margin-top: 1.5rem; }
.contact-form__fallback textarea { width: 100%; min-height: 12rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--ink-muted); font: inherit; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.not-found { min-height: 100svh; display: grid; align-content: center; }
.not-found__logo { width: 220px; height: auto; margin-bottom: 3rem; }
.not-found p { max-width: 50ch; margin: 1.5rem 0; }
.not-found__links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
@media (max-width: 640px) {
  .privacy-banner { inset: auto .5rem .5rem; padding: 1rem; max-height: 55svh; overflow: auto; }
  .privacy-actions button { flex: 1 1 9rem; }
  .policy-layout { grid-template-columns: minmax(0, 1fr); }
  .policy-layout nav { padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
}

/* Public catalogue: full works, no thumbnails or transactional checkout. */
.public-catalogue { padding-top: clamp(3rem, 7vw, 7rem); }
.catalogue-intro { max-width: 70rem; }
.catalogue-intro p { max-width: 66ch; }
.catalogue-legacy-anchor { display: block; scroll-margin-top: calc(var(--header-h) + 2rem); }
.catalogue-feedback { max-width: 66ch; margin-top: 2rem; }
.catalogue-category { margin-top: clamp(3.5rem, 8vw, 8rem); min-width: 0; }
#main .catalogue-category > h3 { max-width: 32ch; margin-bottom: 1.5rem; font-size: clamp(1.5rem, 3vw, 2.6rem); line-height: 1.15; text-wrap: balance; }
.catalogue-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(4rem, 9vw, 9rem); }
.catalogue-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; min-width: 0; }
.catalogue-card__media { min-width: 0; margin: 0; }
.catalogue-card__image-link { display: grid; place-items: center; min-height: 12rem; }
.catalogue-card__media img { display: block; width: auto; height: auto; max-width: 100%; max-height: 80vh; max-height: 80svh; object-fit: contain; margin: 0 auto; }
.catalogue-card__details { width: min(100%, 66ch); min-width: 0; }
#main .catalogue-card__title { margin: 0 0 1rem; color: var(--ink); font-family: var(--font-display); font-size: clamp(1.65rem, 3vw, 2.7rem); font-weight: 400; line-height: 1.12; overflow-wrap: anywhere; }
.catalogue-card__facts, .catalogue-card__availability, .catalogue-card__price, .catalogue-card__notice, .catalogue-card__reference { font-size: 1rem; line-height: 1.6; }
.catalogue-card__description { white-space: pre-line; overflow-wrap: anywhere; }
.catalogue-card__reference { overflow-wrap: anywhere; }
.catalogue-media-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem 1.5rem; padding-top: 1rem; }
.catalogue-media-count { font-size: 1rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.catalogue-button { min-height: 44px; min-width: 44px; padding: .5rem 0; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; color: var(--ink); background: transparent; font: inherit; font-size: 1rem; line-height: 1.5; cursor: pointer; }
.catalogue-button:disabled { cursor: wait; }
.catalogue-enquiry { display: inline-flex; align-items: center; min-height: 44px; margin-top: .75rem; font-size: 1rem; text-decoration: underline; text-underline-offset: .3em; }
.catalogue-copy summary { min-height: 44px; padding-block: .65rem; cursor: pointer; font-size: 1rem; }
.catalogue-copy textarea { width: 100%; max-width: 100%; padding: .75rem; border: 1px solid currentColor; border-radius: 0; color: var(--ink); background: transparent; font: inherit; font-size: 1rem; line-height: 1.5; resize: vertical; }
.public-catalogue a:focus-visible, .public-catalogue button:focus-visible, .catalogue-copy summary:focus-visible, .catalogue-copy textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.public-catalogue [hidden] { display: none !important; }
.catalogue-image-error { max-width: 60ch; padding-block: 2rem; }
#main .shop-card__body h3 { max-width: 22ch; font-family: var(--font-display); font-weight: 400; font-size: clamp(1.5rem, 2.8vw, 2.4rem); line-height: 1.15; }
@media (max-width: 640px) {
  .catalogue-media-controls { justify-content: space-between; gap: .5rem; }
  .catalogue-media-controls .catalogue-button { flex: 0 1 40%; font-size: .875rem; }
  .catalogue-media-count { font-size: .875rem; }
  .catalogue-card__media img { max-height: 72vh; max-height: 72svh; }
}
