@font-face {
  font-family: "Archivo";
  src: url("assets/fonts/archivo-medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --black: #030303;
  --white: #f0eee9;
  --muted: #b7b4ae;
  --paper: #fafafa;
  --ink: #0a0a0a;
  --line: rgba(255, 255, 255, 0.15);
  --display: var(--sans);
  --sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --brand: var(--sans);
  --header-clearance: clamp(88px, 9vw, 120px);
  --pad: clamp(1.25rem, 3.2vw, 3.75rem);
  --p-density: 1;
  --motion-ease: cubic-bezier(.16, 1, .3, 1);
  --motion-soft: cubic-bezier(.22, .8, .24, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; overflow-x: hidden; color: var(--white); background: var(--black); font-family: var(--sans); font-weight: 500; font-synthesis: none; font-size: 16px; line-height: 1.45; }
body.menu-open { overflow: hidden; }
.has-js body.intro-active { height: 100%; overflow: hidden; }
.has-seen-intro body.intro-active { height: auto; overflow-x: hidden; overflow-y: auto; }
::selection { color: var(--black); background: var(--white); }
* { scrollbar-width: thin; scrollbar-color: #686763 var(--black); }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--black); }
::-webkit-scrollbar-thumb { border: 2px solid var(--black); background: #686763; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 1px solid var(--white); outline-offset: 5px; }

.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .75rem 1rem; color: var(--black); background: var(--white); transform: translateY(-180%); transition: transform 180ms ease; }
.skip-link:focus { transform: none; }

.intro-loader { display: none; }
.has-js .intro-loader { position: fixed; z-index: 1000; inset: 0; display: block; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; scroll-behavior: auto; scrollbar-width: none; background: #000; color: #fff; opacity: 1; isolation: isolate; transition: opacity 650ms cubic-bezier(.16, 1, .3, 1); }
.intro-loader::-webkit-scrollbar { display: none; }
.intro-loader:focus { outline: none; }
.intro-loader__track { height: 500svh; }
.intro-loader__stage { position: sticky; top: 0; width: 100%; height: 100dvh; overflow: hidden; background: #000; }
.intro-loader__stage::after { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: clamp(140px, 22svh, 220px); background: linear-gradient(transparent, rgba(0,0,0,.8)); pointer-events: none; content: ""; }
.intro-loader__video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 43% center; background: #000; }
.intro-loader__controls { position: absolute; z-index: 4; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); left: max(1.25rem, env(safe-area-inset-left)); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.intro-loader__hint { margin: 0; font-size: .7rem; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.intro-loader__skip { min-height: 44px; padding: .6rem .15rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.55); color: inherit; background: transparent; font: inherit; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: border-color 180ms ease; }
.intro-loader__skip:hover, .intro-loader__skip:focus-visible { border-bottom-color: #fff; }
.intro-loader__progress { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; height: 2px; background: rgba(255,255,255,.2); }
.intro-loader__progress span { display: block; height: 100%; background: #fff; transform: scaleX(0); transform-origin: left; }
.intro-loader.is-exiting { opacity: 0; }
.intro-loader.is-skipped { transition-duration: 300ms; }
.intro-loader.is-iris-reveal.is-exiting { opacity: 1; transition: none; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.intro-loader.is-iris-reveal .intro-loader__video { will-change: transform; }
.intro-loader__controls, .intro-loader__progress { transition: opacity 120ms ease; }
.intro-loader.is-ending .intro-loader__controls { opacity: 0; pointer-events: none; }
.intro-loader.is-ending .intro-loader__progress { opacity: 0; }
.intro-loader.is-hidden { display: none; }
.has-seen-intro .intro-loader { display: none; }
.has-js body.intro-active .hero-main { animation-play-state: paused; }
#hero-title[tabindex="-1"]:focus { outline: none; }

.site-header { position: fixed; z-index: 50; top: 0; left: 0; display: grid; grid-template-columns: 1fr 2fr; align-items: center; width: 100%; height: clamp(4.5rem, 7vw, 6.5rem); padding: 0 var(--pad); color: #fff; mix-blend-mode: difference; text-transform: uppercase; }
.site-header { transition: color 200ms ease, background-color 200ms ease; }
.site-header.is-on-content {
  mix-blend-mode: normal;
  color: var(--header-ink);
  background-color: var(--header-surface);
}
body.menu-open .site-header { mix-blend-mode: normal; color: #fff; background-color: #050505; }
@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
}
.wordmark { display: inline-flex; align-items: center; width: max-content; min-height: 44px; font-family: var(--brand); font-size: clamp(20px, 1.75vw, 26px); font-style: normal; font-weight: 500; font-synthesis: none; line-height: 1; letter-spacing: 0; text-transform: uppercase; white-space: nowrap; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(2rem, 5vw, 5.5rem); }
.site-nav a, .site-footer nav a, .back-top { position: relative; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; }
.site-nav a::after, .site-footer nav a::after, .back-top::after, .plain-link::after { position: absolute; right: 0; bottom: -.35rem; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform 220ms ease; }
.site-nav a:hover::after, .site-footer nav a:hover::after, .back-top:hover::after, .plain-link:hover::after { transform: scaleX(1); transform-origin: left; }
.site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav-contact { display: flex; align-items: center; gap: .85rem; }
.nav-contact span { width: .75rem; height: .75rem; border: 1px solid currentColor; border-radius: 50%; }
.menu-toggle { display: none; }

/* Quiet light sections reuse the same typography and local contrast tokens. */
.paper-section {
  --black: var(--paper);
  --white: var(--ink);
  --muted: #505050;
  --line: #d8d8d8;
  color: var(--white);
  background: var(--black);
  scroll-margin-top: var(--header-clearance);
}
.paper-section ::selection { color: var(--paper); background: var(--ink); }
.paper-section .eh-link:hover { color: var(--ink); }
.paper-section .eh-rule { border-color: var(--line); }
.paper-section .eh-clients__list a {
  padding-inline: .25em;
  color: var(--ink);
  border-color: var(--line);
  transition: color 200ms ease, background-color 200ms ease;
}
.paper-section .eh-clients__list a:hover,
.paper-section .eh-clients__list a:focus-visible {
  color: var(--paper);
  background-color: var(--ink);
}
@media (prefers-reduced-motion: reduce) {
  .paper-section .eh-clients__list a { transition: none; }
}

.image-frame { position: relative; overflow: hidden; margin: 0; background: #121212; }
.image-frame::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.06); content: ""; pointer-events: none; }
.collage-band { position: relative; overflow: hidden; border-top: 1px solid var(--line); background: var(--black); }
h1, h2, p { margin-top: 0; }
h1, h2 { margin-bottom: .55em; font-family: var(--display); font-weight: 500; letter-spacing: -.035em; line-height: .9; text-transform: uppercase; }

.hero-collage { position: relative; height: clamp(800px, 69vw, 1010px); min-height: 800px; overflow: hidden; background: #050505; isolation: isolate; }
.hero-collage::after { position: absolute; z-index: 6; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.45), transparent 27%, transparent 68%, rgba(0,0,0,.56)); content: ""; pointer-events: none; }
.hero-main { position: absolute; z-index: 1; inset: 0 19% 0 18%; animation: bio-arrival 1100ms cubic-bezier(.16,1,.3,1) both; }
.hero-main img { object-position: 47% 31%; filter: contrast(1.11) saturate(.72) brightness(.66); transform: scale(1.12); }
.hero-eye, .hero-yellow, .hero-redhead, .hero-blue { position: absolute; z-index: 12; }
.hero-eye { top: 16%; left: 4%; width: 16%; height: 19%; }
.hero-eye img { object-position: 50% 23%; transform: scale(1.34); }
.hero-yellow { top: 41%; left: 4%; width: 13%; height: 24%; }
.hero-yellow img { object-position: 49% 45%; transform: scale(1.05); }
.hero-redhead { top: 11%; right: 4%; width: 20%; height: 37%; }
.hero-redhead img { object-position: 50% 27%; transform: scale(1.1); }
.hero-blue { right: 9%; bottom: 0; width: 17%; height: 20%; }
.hero-blue img { object-position: 50% 25%; transform: scale(1.18); }

@keyframes bio-arrival {
  from { clip-path: inset(0 49% 0 49%); filter: contrast(1.35); }
  to { clip-path: inset(0); filter: contrast(1); }
}

.hero-intro { position: absolute; z-index: 20; left: 9%; bottom: 7.5%; display: flex; flex-direction: column; align-items: flex-start; gap: 2.5rem; }
.hero-intro > p { margin: 0; color: var(--white); font-size: clamp(.75rem, .85vw, .85rem); letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; }
.scroll-cue { display: flex; align-items: center; gap: 1rem; font-size: .69rem; letter-spacing: .16em; line-height: 1.45; text-transform: uppercase; }
.orbit-arrow { display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border: 1px dashed rgba(255,255,255,.72); border-radius: 50%; color: var(--white); }
.hero-copy { position: absolute; z-index: 20; right: 19%; bottom: 9%; width: clamp(16rem, 25vw, 24rem); }
.hero-copy h1 { margin: 0 0 1.2rem; font-size: clamp(4.4rem, 7.2vw, 6rem); }
.hero-copy h1 > span { display: block; }
.hero-copy p { max-width: 26ch; margin: 0; color: var(--muted); font-size: clamp(.875rem, .9vw, .95rem); }
.section-rail { position: absolute; z-index: 25; top: 27%; right: 1.4%; display: grid; justify-items: center; gap: 1rem; }
.section-rail > span { width: 1px; height: 3.5rem; margin-bottom: .6rem; background: rgba(255,255,255,.75); }
.section-rail a { color: #d3d0ca; font-size: .75rem; letter-spacing: .11em; text-transform: uppercase; writing-mode: vertical-rl; }
.specimen-label { position: absolute; z-index: 20; color: var(--white); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.specimen-label--one { top: 11.5%; left: 22%; }

.featured-band { display: grid; grid-template-columns: 31% 15% 39% 15%; height: clamp(330px, 29vw, 430px); }
.featured-copy { position: relative; z-index: 4; grid-column: 1; padding: clamp(2rem, 4vw, 4.2rem) 0 2rem 8vw; }
.featured-copy h2 { margin-bottom: 1rem; font-size: clamp(3.2rem, 4.6vw, 5.5rem); }
.plain-link { position: relative; display: inline-block; font-size: .72rem; letter-spacing: .19em; text-transform: uppercase; }
.round-arrows { display: flex; gap: .65rem; margin-top: 1.8rem; margin-left: 60%; }
.round-arrows span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-size: .75rem; }
.featured-thumb { grid-column: 1 / 3; align-self: end; width: 72%; height: 37%; margin-left: 8vw; }
.featured-thumb img { object-position: 50% 14%; transform: scale(1.35); }
.featured-main { grid-column: 3; grid-row: 1; }
.featured-main img { object-position: 50% 31%; transform: scale(1.22); transition: transform 700ms cubic-bezier(.16,1,.3,1); }
.featured-main:hover img { transform: scale(1.27); }
.featured-eye { grid-column: 4; grid-row: 1; }
.featured-eye img { object-position: 46% 23%; transform: scale(1.85); filter: saturate(.8); }

.coming-band { display: grid; grid-template-columns: 32% 54% 14%; height: clamp(390px, 36vw, 520px); }
.coming-copy { position: relative; z-index: 5; grid-column: 1; padding: clamp(3rem, 5vw, 5.7rem) 3vw 2rem 6.5vw; }
.coming-copy h2 { font-size: clamp(3.5rem, 5vw, 5.7rem); }
.coming-copy p, .row-copy p, .about-copy p { color: var(--muted); font-size: clamp(.875rem, .92vw, 1rem); }
.coming-copy p { max-width: 29ch; margin-bottom: 1.5rem; }
.outline-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.8rem; min-height: 2.6rem; padding: .65rem .85rem; border: 1px solid rgba(255,255,255,.55); font-size: .69rem; letter-spacing: .16em; text-transform: uppercase; transition: color 180ms ease, background 180ms ease; }
.outline-link:hover { color: var(--black); background: var(--white); }
.coming-main { z-index: 2; grid-column: 2; }
.coming-main img { object-position: 51% center; transform: scale(1.08); }
.coming-strip { z-index: 4; display: grid; grid-column: 3; grid-template-rows: repeat(3, 1fr); gap: 1rem; padding: 0 0 1rem 1rem; }
.coming-strip figure { margin: 0; }
.coming-strip figure:nth-child(1) img { object-position: 49% 27%; transform: scale(1.7); }
.coming-strip figure:nth-child(2) img { object-position: 49% 23%; transform: scale(1.7); }
.coming-strip figure:nth-child(3) img { object-position: 50% 33%; transform: scale(1.4); }

.project-row { display: grid; height: clamp(330px, 28vw, 420px); }
.project-row figure { margin: 0; }
.project-row--mineral { grid-template-columns: 31% 13% 20% 27% 9%; }
.project-row--mineral .row-image { grid-column: 1; }
.project-row--mineral .row-image img { object-position: 48% 27%; transform: scale(1.45); }
.project-row--mineral .row-detail { grid-column: 2; align-self: start; height: 52%; }
.project-row--mineral .row-detail img { object-position: 51% 26%; transform: scale(2.1); filter: grayscale(1); }
.project-row--mineral .row-copy { grid-column: 3; }
.project-row--mineral .row-portrait { grid-column: 4; }
.project-row--mineral .row-portrait img { object-position: 50% 18%; }
.project-row--mineral .row-texture { grid-column: 5; align-self: end; height: 50%; }
.project-row--mineral .row-texture img { object-position: 58% 21%; transform: scale(2.3); filter: grayscale(1); }
.row-copy { align-self: center; padding: 2rem clamp(1.2rem, 2.4vw, 3rem); }
.row-copy h2 { margin-bottom: .75rem; font-size: clamp(2rem, 2.7vw, 3.2rem); }
.row-copy .plain-link { margin-bottom: 1rem; }
.row-copy p { max-width: 29ch; margin-bottom: 1.35rem; }

.project-row--temporary { grid-template-columns: 36% 19% 11% 34%; }
.project-row--temporary .row-image { grid-column: 1; }
.project-row--temporary .row-image img { object-position: 45% 24%; transform: scale(1.22); }
.project-row--temporary .row-copy { grid-column: 2; }
.project-row--temporary .row-detail { z-index: 3; grid-column: 3; align-self: center; height: 52%; }
.project-row--temporary .row-detail img { object-position: 50% 24%; transform: scale(2); filter: grayscale(.85); }
.project-row--temporary .row-stage { grid-column: 4; }
.project-row--temporary .row-stage img { object-position: 50% 17%; transform: scale(1.08); }

.project-row--progress { grid-template-columns: 22% 18% 22% 29% 9%; }
.detail-stack { display: grid; grid-column: 1; grid-template-columns: 1fr; grid-template-rows: 45% 55%; gap: .75rem; padding: .75rem 0 .75rem 2.5vw; }
.detail-stack figure:first-child img { object-position: 50% 42%; transform: scale(2.2); }
.detail-stack figure:last-child img { object-position: 50% 23%; transform: scale(1.65); }
.row-sculpture { grid-column: 2; }
.row-sculpture img { object-position: 50% 11%; filter: grayscale(1) contrast(1.2); }
.project-row--progress .row-copy { grid-column: 3; }
.progress-eye { grid-column: 4; }
.progress-eye img { object-position: 50% 26%; transform: scale(1.78); }
.progress-side { grid-column: 5; }
.progress-side img { object-position: 48% 35%; transform: scale(1.48); }

.about-band { display: grid; grid-template-columns: 35% 29% 36%; height: clamp(310px, 25vw, 380px); }
.about-portrait { grid-column: 1; }
.about-portrait img { object-position: 54% 20%; transform: scale(1.24); filter: saturate(.65) brightness(.7); }
.about-copy { align-self: center; padding: 2rem 5vw; }
.about-copy h2 { font-size: clamp(3rem, 4.2vw, 5rem); }
.about-copy p { max-width: 36ch; }
.learn-link { margin-top: 1rem; }
.learn-link span { margin-left: 2rem; font-size: 1.2rem; }
.about-eye img { object-position: 50% 27%; transform: scale(1.75); filter: grayscale(1) brightness(.62) contrast(1.2); }

.site-footer { display: grid; grid-template-columns: auto 1px 1fr auto; align-items: center; gap: clamp(2rem, 4vw, 5rem); min-height: 7rem; padding: 0 var(--pad); border-top: 1px solid var(--line); }
.footer-rule { width: 1px; height: 2.5rem; background: rgba(255,255,255,.6); }
.site-footer nav { display: flex; gap: 2rem; }
.back-top span { display: inline-grid; width: 2rem; height: 2rem; margin-left: .8rem; place-items: center; border: 1px dashed rgba(255,255,255,.65); border-radius: 50%; }

.has-js [data-reveal] { opacity: 1; transform: none; filter: none; }

/* Scroll choreography — home */
.has-js .home-page [data-reveal] {
  --reveal-delay: 0;
  --reveal-x: 0px;
  --reveal-y: 42px;
  opacity: 0;
  transform: translate3d(var(--reveal-x), var(--reveal-y), 0) scale(.985);
  filter: none;
  transition:
    opacity 800ms var(--motion-soft),
    transform 1100ms var(--motion-ease),
    clip-path 1200ms var(--motion-ease);
  transition-delay: calc(var(--reveal-delay) * 85ms);
  will-change: opacity, transform, filter, clip-path;
}

.has-js .home-page [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.has-js .home-page [data-reveal-style^="media"] {
  filter: none;
}

.has-js .home-page [data-reveal-style="media-left"] {
  --reveal-x: -34px;
  --reveal-y: 0px;
}

.has-js .home-page [data-reveal-style="media-right"] {
  --reveal-x: 34px;
  --reveal-y: 0px;
}

.has-js .home-page [data-reveal-style="media-center"] {
  --reveal-y: 0px;
}

.has-js .home-page [data-reveal-style^="media"] > img {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1200ms var(--motion-ease);
  transition-delay: calc(var(--reveal-delay) * 85ms);
  will-change: clip-path, translate;
}

.has-js .home-page [data-reveal-style="media-left"] > img { clip-path: inset(0 100% 0 0); }
.has-js .home-page [data-reveal-style="media-right"] > img { clip-path: inset(0 0 0 100%); }
.has-js .home-page [data-reveal-style="media-center"] > img { clip-path: inset(0 48%); }
.has-js .home-page [data-reveal-style^="media"].is-visible > img { clip-path: inset(0); }

.has-js .home-page [data-reveal-style="copy"],
.has-js .home-page [data-reveal-style="list"] {
  opacity: 1;
  transform: none;
  filter: none;
}

.has-js .home-page [data-reveal-style="copy"] > *,
.has-js .home-page [data-reveal-style="list"] > * {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  filter: none;
  transition:
    opacity 720ms var(--motion-soft),
    transform 1050ms var(--motion-ease);
  transition-delay: calc((var(--reveal-delay) * 85ms) + 80ms);
  will-change: opacity, transform, filter;
}

.has-js .home-page [data-reveal-style="copy"] > :nth-child(2),
.has-js .home-page [data-reveal-style="list"] > :nth-child(2) { transition-delay: calc((var(--reveal-delay) * 85ms) + 165ms); }
.has-js .home-page [data-reveal-style="copy"] > :nth-child(3),
.has-js .home-page [data-reveal-style="list"] > :nth-child(3) { transition-delay: calc((var(--reveal-delay) * 85ms) + 250ms); }
.has-js .home-page [data-reveal-style="copy"] > :nth-child(4),
.has-js .home-page [data-reveal-style="list"] > :nth-child(4) { transition-delay: calc((var(--reveal-delay) * 85ms) + 335ms); }

.has-js .home-page [data-reveal-style="copy"].is-visible > *,
.has-js .home-page [data-reveal-style="list"].is-visible > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
}

.has-js .home-page [data-reveal].reveal-complete,
.has-js .home-page [data-reveal].reveal-complete > * { will-change: auto; }

.home-page [data-parallax] > img {
  translate: 0 var(--media-drift, 0px);
  scale: 1.045;
  transition: translate 100ms linear;
  will-change: translate;
}

.home-page [data-parallax-text] {
  translate: 0 var(--copy-drift, 0px);
  transition: translate 120ms linear;
  will-change: translate;
}

.home-page .work-tile::before,
.home-page .work-tile > span {
  opacity: 0;
  translate: 0 14px;
  transition: opacity 650ms var(--motion-soft), translate 850ms var(--motion-ease);
  transition-delay: calc((var(--reveal-delay) * 85ms) + 360ms);
}

.home-page .work-tile.is-visible::before,
.home-page .work-tile.is-visible > span { opacity: 1; translate: 0 0; }

.home-page .orbit-arrow { animation: orbit-pulse 2200ms var(--motion-soft) infinite; }

@keyframes orbit-pulse {
  0%, 100% { transform: translateY(0); border-color: rgba(255,255,255,.72); }
  50% { transform: translateY(7px); border-color: rgba(255,255,255,.3); }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { position: relative; z-index: 60; display: flex; align-items: center; gap: .75rem; min-height: 44px; padding: 0; border: 0; color: var(--white); background: transparent; font: inherit; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; }
  .menu-toggle i, .menu-toggle i::after { display: block; width: 1.7rem; height: 1px; background: currentColor; content: ""; transition: transform 220ms ease; }
  .menu-toggle i::after { transform: translateY(6px); }
  .menu-open .menu-toggle i { transform: rotate(45deg); }
  .menu-open .menu-toggle i::after { transform: rotate(-90deg); }
  .site-nav { position: fixed; z-index: 45; inset: 0; flex-direction: column; justify-content: center; gap: 2rem; background: rgba(3,3,3,.98); opacity: 0; pointer-events: none; transition: opacity 220ms ease; }
  .site-nav a { font-family: var(--display); font-size: 2.2rem; letter-spacing: 0; }
  .menu-open .site-nav { opacity: 1; pointer-events: auto; }
  .hero-collage { height: 780px; min-height: 780px; }
  .hero-main { inset: 0 12% 0 6%; }
  .hero-eye { left: 3%; width: 22%; }
  .hero-yellow { left: 3%; width: 17%; }
  .hero-redhead { right: 3%; width: 24%; }
  .hero-blue { right: 8%; width: 15%; }
  .hero-copy { right: 15%; }
  .section-rail { display: none; }
  .featured-copy, .featured-thumb { padding-left: 0; margin-left: 5vw; }
  .coming-copy { padding-left: 5vw; }
}

@media (max-width: 680px) {
  :root { --pad: 1rem; }
  .site-header { height: 4.5rem; }
  .wordmark { font-size: 20px; }
  .hero-collage { height: 790px; }
  .hero-main { inset: 0; }
  .hero-main img { object-position: 48% 14%; transform: scale(1.12); }
  .hero-collage::after { background: linear-gradient(to bottom, rgba(0,0,0,.18), transparent 25%, transparent 54%, rgba(0,0,0,.82) 88%); }
  .hero-eye { top: 13%; left: 0; width: 28%; height: 17%; }
  .hero-yellow { top: 31%; left: 0; width: 20%; height: 17%; }
  .hero-redhead { top: 12%; right: 0; width: 29%; height: 27%; }
  .hero-blue { right: 0; bottom: 16%; width: 20%; height: 14%; }
  .hero-copy { right: 8%; bottom: 7%; width: 52%; }
  .hero-copy h1 { font-size: clamp(3.5rem, 15vw, 5rem); }
  .hero-copy p { font-size: .875rem; }
  .hero-intro { left: 6%; bottom: 7%; gap: 1.6rem; }
  .hero-intro > p { display: none; }
  .featured-band { grid-template-columns: 40% 45% 15%; height: 330px; }
  .featured-copy { grid-column: 1; margin-left: 0; padding: 2.5rem 1rem; }
  .featured-copy h2 { font-size: 2.65rem; }
  .featured-thumb, .round-arrows { display: none; }
  .featured-main { grid-column: 2; }
  .featured-eye { grid-column: 3; }
  .coming-band { grid-template-columns: 38% 62%; height: 430px; }
  .coming-copy { grid-column: 1; padding: 3rem 1rem 1.5rem; }
  .coming-copy h2 { font-size: 2.8rem; }
  .coming-copy p { font-size: .875rem; }
  .outline-link { gap: .6rem; padding: .55rem .65rem; font-size: .7rem; }
  .coming-main { grid-column: 2; }
  .coming-main img { object-position: 55% center; }
  .coming-strip { display: none; }
  .project-row { height: 410px; }
  .project-row--mineral { grid-template-columns: 44% 28% 28%; }
  .project-row--mineral .row-image { grid-column: 1; }
  .project-row--mineral .row-detail, .project-row--mineral .row-texture { display: none; }
  .project-row--mineral .row-copy { z-index: 3; grid-column: 2; padding: 1rem; background: var(--black); }
  .project-row--mineral .row-portrait { grid-column: 3; }
  .project-row--temporary { grid-template-columns: 46% 34% 20%; }
  .project-row--temporary .row-image { grid-column: 1; }
  .project-row--temporary .row-copy { z-index: 3; grid-column: 2; padding: 1rem; background: var(--black); }
  .project-row--temporary .row-detail { display: none; }
  .project-row--temporary .row-stage { grid-column: 3; }
  .project-row--progress { grid-template-columns: 23% 35% 42%; }
  .detail-stack { grid-column: 1; padding-left: .5rem; }
  .row-sculpture, .progress-side { display: none; }
  .project-row--progress .row-copy { z-index: 3; grid-column: 2; padding: 1rem; background: var(--black); }
  .progress-eye { grid-column: 3; }
  .row-copy h2 { font-size: 1.85rem; }
  .row-copy p { font-size: .875rem; }
  .row-copy .outline-link { width: 100%; }
  .about-band { grid-template-columns: 31% 42% 27%; height: 360px; }
  .about-copy { z-index: 3; padding: 1.25rem; background: var(--black); }
  .about-copy h2 { font-size: 2.8rem; }
  .about-copy p { font-size: .875rem; }
  .site-footer { grid-template-columns: 1fr auto; gap: 1rem; min-height: 7rem; }
  .footer-rule, .site-footer nav { display: none; }
  .back-top { justify-self: end; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .has-js [data-reveal] { opacity: 1; transform: none; filter: none; transition: none; }
  .featured-main img, .site-nav, .menu-toggle i, .menu-toggle i::after { transition: none; }
  .has-js .intro-loader { transition-duration: 180ms; }
  .has-js .intro-loader.is-exiting { opacity: 0; -webkit-mask-image: none; mask-image: none; animation: none; }
  .intro-loader__video { transition: none; }
}

/* Home architecture */
.statement-band { display: grid; grid-template-columns: 18% 52% 30%; min-height: clamp(430px, 36vw, 540px); }
.statement-detail img { object-position: 50% 26%; transform: scale(1.75); filter: grayscale(.75); }
.statement-copy { align-self: center; padding: 4rem clamp(2rem, 6vw, 7rem); }
.statement-copy h2 { max-width: 14ch; font-size: clamp(3rem, 5.2vw, 6rem); }
.statement-copy p { max-width: 52ch; margin: 0 0 0 auto; color: var(--muted); font-size: clamp(.9rem, 1.05vw, 1.05rem); }
.statement-image img { object-position: 50% 18%; }

.selected-home { display: grid; grid-template-columns: repeat(18, 1fr); grid-template-rows: minmax(250px, 22vw) minmax(250px, 22vw) minmax(300px, 28vw); }
.selected-heading { z-index: 3; grid-column: 1 / 7; grid-row: 1 / 3; align-self: center; padding: 4rem 5vw 4rem 6vw; }
.selected-heading h2 { font-size: clamp(3.2rem, 5vw, 5.8rem); }
.selected-heading p { max-width: 24ch; margin-bottom: 1.6rem; color: var(--muted); font-size: .9rem; }
.work-tile { position: relative; }
.work-tile::before { position: absolute; z-index: 3; top: 1rem; left: 1rem; padding: .3rem .45rem; color: var(--white); background: rgba(3,3,3,.72); content: attr(data-ref); font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }
.work-tile img { transition: transform 750ms cubic-bezier(.16,1,.3,1), filter 450ms ease; }
.work-tile:hover img { transform: scale(1.05); filter: brightness(.72); }
.work-tile span { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; left: 1rem; font-family: var(--display); font-size: clamp(1.1rem, 1.55vw, 1.75rem); line-height: 1; text-shadow: 0 2px 18px rgba(0,0,0,.9); text-transform: uppercase; }
.work-tile--one { grid-column: 7 / 13; grid-row: 1 / 3; }
.work-tile--one img { object-position: 50% 27%; }
.work-tile--two { grid-column: 13 / 19; grid-row: 1; }
.work-tile--two img { object-position: 50% 23%; }
.work-tile--three { grid-column: 1 / 5; grid-row: 3; }
.work-tile--three img { object-position: 50% 23%; }
.work-tile--four { grid-column: 5 / 9; grid-row: 3; }
.work-tile--four img { object-position: 50% 30%; }
.work-tile--five { grid-column: 9 / 15; grid-row: 3; }
.work-tile--five img { object-position: 50% 20%; }
.work-tile--six { grid-column: 15 / 19; grid-row: 2 / 4; }
.work-tile--six img { object-position: 50% 22%; }

.featured-project { display: grid; grid-template-columns: 29% 59% 12%; min-height: clamp(490px, 42vw, 640px); }
.featured-project-copy { position: relative; z-index: 4; align-self: center; padding: 3rem 3vw 3rem 6vw; }
.featured-project-copy h2 { font-size: clamp(3.4rem, 5vw, 5.8rem); }
.featured-project-copy p { max-width: 28ch; margin-bottom: 1.6rem; color: var(--muted); font-size: .9rem; }
.featured-project-image img { object-position: center; transform: scale(1.05); }
.featured-project-strip { display: grid; grid-template-rows: 1fr 1fr; gap: 1rem; padding-left: 1rem; }
.featured-project-strip figure { margin: 0; }
.featured-project-strip img { object-position: 50% 24%; transform: scale(1.55); }

.clients-preview { display: grid; grid-template-columns: 35% 35% 30%; min-height: clamp(350px, 30vw, 455px); }
.clients-title { align-self: center; padding: 3rem 3vw 3rem 6vw; }
.clients-title h2 { font-size: clamp(3rem, 4.4vw, 5rem); }
.credits-field { display: flex; flex-direction: column; justify-content: center; border-inline: 1px solid var(--line); }
.credits-field > span { padding: .65rem 3vw; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: clamp(1.5rem, 2.4vw, 2.8rem); text-transform: uppercase; }
.credits-field > span:last-child { border-bottom: 0; }
.clients-image img { object-position: 50% 19%; }

.contact-teaser { display: grid; grid-template-columns: 28% 50% 22%; min-height: clamp(380px, 34vw, 520px); }
.contact-eye img { object-position: 50% 26%; transform: scale(1.7); filter: grayscale(1); }
.contact-teaser-copy { align-self: center; padding: 3rem 6vw; }
.contact-teaser-copy h2 { font-size: clamp(3.2rem, 5.2vw, 6rem); }
.contact-teaser-copy p { color: var(--muted); font-size: .95rem; }
.contact-arrow { display: inline-flex; align-items: center; gap: 2rem; margin-top: 1rem; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; }
.contact-arrow-mark { font-size: 1.35rem; }
.contact-face img { object-position: 50% 24%; transform: scale(1.25); }

/* Internal pages */
.inner-page .site-header { position: fixed; }
.archive-hero, .about-hero, .contact-page-hero { position: relative; min-height: clamp(670px, 62vw, 900px); overflow: hidden; background: #050505; }
.archive-title { position: absolute; z-index: 5; top: 36%; left: 6vw; width: 34%; }
.archive-title h1, .about-hero-copy h1, .contact-page-copy h1 { margin: 0 0 1.2rem; font-size: clamp(4rem, 7vw, 6rem); }
.archive-title p, .about-hero-copy p, .contact-page-copy p { max-width: 34ch; color: var(--muted); font-size: 1rem; }
.archive-hero-image { position: absolute; inset: 0 12% 0 40%; }
.archive-hero-image img { object-position: 50% 26%; transform: scale(1.18); }
.archive-eye { position: absolute; z-index: 4; right: 0; bottom: 8%; width: 18%; height: 34%; }
.archive-eye img { object-position: 50% 27%; transform: scale(1.85); filter: grayscale(.8); }

.archive-nav { display: grid; grid-template-columns: 1fr 2fr; align-items: end; gap: 2rem; padding: 4rem 6vw 2rem; border-bottom: 1px solid var(--line); }
.archive-nav h2 { margin: 0; font-size: clamp(2.8rem, 4.5vw, 5rem); }
.filter-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1.5rem; }
.filter-list button { min-height: 44px; padding: .4rem 0; border: 0; border-bottom: 1px solid transparent; color: var(--muted); background: transparent; font: inherit; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.filter-list button:hover, .filter-list button.is-active { color: var(--white); border-bottom-color: currentColor; }
.project-catalog { background: var(--line); }
.portfolio-project { display: grid; grid-template-columns: minmax(220px, 23%) 1fr; margin-bottom: 1px; scroll-margin-top: var(--header-clearance); background: var(--black); }
.portfolio-project.is-filtered { display: none; }
.project-meta { position: sticky; top: var(--header-clearance); align-self: start; min-height: 28rem; padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 3vw, 3rem); background: var(--black); }
.project-index { display: block; margin-bottom: clamp(5rem, 10vw, 10rem); color: var(--muted); font-size: .75rem; letter-spacing: .12em; }
.project-meta > p { margin-bottom: .75rem; color: var(--muted); font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; }
.project-meta h3 { max-width: 100%; margin: 0 0 1.5rem; font-family: var(--display); font-size: clamp(17px, 1.9vw, 32px); font-weight: 500; overflow-wrap: anywhere; letter-spacing: -.035em; line-height: .95; text-transform: uppercase; }
.project-meta > div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: var(--muted); font-size: .75rem; }
.project-meta > div span + span::before { margin-right: 1rem; content: "·"; }
.project-gallery { column-count: 3; column-gap: 1px; border-left: 1px solid var(--line); background: var(--line); }
.project-shot { display: inline-block; width: 100%; margin: 0 0 1px; vertical-align: top; }
.project-shot a { display: block; }
.project-shot img { height: auto; transition: filter 350ms ease; }
.project-shot a:hover img { filter: brightness(.78); }
.archive-empty { padding: 5rem 6vw; font-family: var(--display); font-size: 2rem; text-transform: uppercase; }

.about-hero { display: grid; grid-template-columns: 47% 35% 18%; }
.about-hero-image img { object-position: 50% 16%; }
.about-hero-copy { container-type: inline-size; z-index: 3; align-self: center; padding: 4rem 5vw; }
.about-hero-eye { height: 35%; margin-top: 45%; }
.about-hero-eye img { object-position: 50% 25%; transform: scale(1.9); filter: grayscale(1); }
.bio-section { display: grid; grid-template-columns: 48% 52%; min-height: 610px; }
.bio-copy, .vision-copy, .credits-copy { align-self: center; padding: clamp(3rem, 7vw, 8rem); }
.bio-copy h2, .vision-copy h2, .credits-copy h2 { font-size: clamp(3.4rem, 5.5vw, 6rem); }
.bio-copy p, .vision-copy p, .credits-copy p { max-width: 58ch; color: var(--muted); font-size: clamp(.9rem, 1vw, 1rem); }
.bio-image img { object-position: 44% center; }
.vision-section { display: grid; grid-template-columns: 36% 46% 18%; min-height: 600px; }
.vision-image img { object-position: 48% 24%; }
.vision-detail { height: 46%; align-self: end; }
.vision-detail img { object-position: 50% 25%; transform: scale(1.65); }
.credits-copy { container-type: inline-size; }
.credits-copy h2 { font-size: clamp(20px, 14cqw, 60px); }
.credits-section { display: grid; grid-template-columns: 39% 35% 26%; min-height: 500px; }
.credits-large { display: flex; flex-direction: column; justify-content: center; border-inline: 1px solid var(--line); }
.credits-large span { padding: .6rem 3vw; font-family: var(--display); font-size: clamp(1.6rem, 2.6vw, 3rem); text-transform: uppercase; }
.credits-image img { object-position: 50% 24%; }

.contact-page-hero { min-height: max(760px, 100svh); }
.contact-page-image { position: absolute; inset: 0 12% 0 32%; }
.contact-page-image img { object-position: 50% 13%; filter: brightness(.68) saturate(.8); }
.contact-page-detail { position: absolute; z-index: 4; top: 18%; left: 7%; width: 19%; height: 28%; }
.contact-page-detail img { object-position: 50% 25%; transform: scale(1.55); }
.contact-page-copy { container-type: inline-size; position: absolute; z-index: 5; right: 6vw; bottom: 11%; width: 47%; }
.contact-page-copy h1 { font-size: clamp(4rem, 6.7vw, 6rem); }
.contact-options { display: grid; grid-template-columns: 36% 42% 22%; min-height: 530px; }
.booking-copy { container-type: inline-size; align-self: center; padding: 4rem 4vw 4rem 6vw; }
.booking-copy h2 { font-size: clamp(24px, 11cqw, 54px); }
.booking-copy p { max-width: 32ch; color: var(--muted); font-size: .95rem; }
.contact-links { display: flex; flex-direction: column; justify-content: center; border-inline: 1px solid var(--line); }
.contact-links a, .contact-location { display: grid; grid-template-columns: 1fr auto; gap: .4rem 1rem; align-items: center; padding: 1.4rem 3vw; border-bottom: 1px solid var(--line); }
.contact-links > :last-child { border-bottom: 0; }
.contact-links span { grid-column: 1; color: var(--muted); font-size: .72rem; letter-spacing: .17em; text-transform: uppercase; }
.contact-links strong { grid-column: 1; font-family: var(--display); font-size: clamp(1.3rem, 1.8vw, 2.1rem); font-weight: 500; overflow-wrap: anywhere; }
.contact-links i { grid-column: 2; grid-row: 1 / 3; font-size: 1.4rem; font-style: normal; }
.booking-image img { object-position: 50% 24%; }

@media (max-width: 900px) {
  .statement-band { grid-template-columns: 20% 50% 30%; }
  .selected-home { grid-template-rows: minmax(240px, 28vw) minmax(240px, 28vw) minmax(280px, 34vw); }
  .portfolio-project { grid-template-columns: minmax(190px, 28%) 1fr; }
  .project-gallery { column-count: 2; }
  .contact-options { grid-template-columns: 38% 62%; }
  .booking-image { display: none; }
}

@media (max-width: 680px) {
  .statement-band { grid-template-columns: 20% 60% 20%; min-height: 500px; }
  .statement-copy { padding: 3rem 1.25rem; }
  .statement-copy h2 { font-size: 2.65rem; }
  .statement-copy p { font-size: .875rem; }
  .selected-home { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto 420px repeat(2, 300px) 360px; }
  .selected-heading { grid-column: 1 / 3; grid-row: 1; padding: 3rem 1rem; }
  .selected-heading h2 { font-size: 3.2rem; }
  .work-tile--one { grid-column: 1 / 3; grid-row: 2; }
  .work-tile--two, .work-tile--four { grid-column: 1; }
  .work-tile--three, .work-tile--five { grid-column: 2; }
  .work-tile--two, .work-tile--three { grid-row: 3; }
  .work-tile--four, .work-tile--five { grid-row: 4; }
  .work-tile--six { grid-column: 1 / 3; grid-row: 5; }
  .featured-project { grid-template-columns: 40% 60%; min-height: 480px; }
  .featured-project-copy { padding: 3rem 1rem; }
  .featured-project-copy h2 { font-size: 2.9rem; }
  .featured-project-strip { display: none; }
  .clients-preview { grid-template-columns: 48% 52%; min-height: 430px; }
  .clients-title { padding: 3rem 1rem; }
  .clients-title h2 { font-size: 2.7rem; }
  .credits-field { border-right: 0; }
  .clients-image { display: none; }
  .contact-teaser { grid-template-columns: 22% 58% 20%; min-height: 470px; }
  .contact-teaser-copy { padding: 2rem 1rem; }
  .contact-teaser-copy h2 { font-size: 2.8rem; }
  .archive-hero, .about-hero, .contact-page-hero { min-height: 700px; }
  .archive-title { top: auto; bottom: 7%; left: 1rem; width: 60%; }
  .archive-hero-image { inset: 0 0 0 12%; }
  .archive-eye { width: 25%; }
  .archive-nav { grid-template-columns: 1fr; padding: 3rem 1rem 1.5rem; }
  .filter-list { justify-content: flex-start; gap: .3rem 1rem; }
  .portfolio-project { display: block; margin-bottom: 1px; }
  .project-meta { position: relative; min-height: 0; padding: 2rem 1rem 2.5rem; }
  .project-index { margin-bottom: 3.5rem; }
  .project-meta h3 { max-width: 100%; font-size: clamp(26px, 8vw, 36px); }
  .project-gallery { column-count: 2; border-left: 0; border-top: 1px solid var(--line); }
  .about-hero { grid-template-columns: 48% 40% 12%; }
  .about-hero-copy { padding: 4rem 1rem; }
  .about-hero-copy h1 { font-size: 29cqw; }
  .bio-section { grid-template-columns: 1fr; grid-template-rows: auto 280px; min-height: 0; }
  .bio-image img { object-position: 44% center; }
  .bio-copy, .vision-copy, .credits-copy { padding: 3rem 1.25rem; }
  .bio-copy h2 { font-size: 3rem; }
  .vision-copy { container-type: inline-size; }
  .vision-copy h2 { font-size: 22cqw; }
  .credits-copy h2 { font-size: clamp(20px, 14cqw, 60px); }
  .vision-section { grid-template-columns: 34% 54% 12%; min-height: 620px; }
  .credits-section { grid-template-columns: 58% 42%; min-height: 560px; }
  .credits-image { display: none; }
  .contact-page-image { inset: 0; }
  .contact-page-detail { top: 15%; left: 0; width: 28%; height: 22%; }
  .contact-page-copy { right: 1rem; bottom: 8%; width: 72%; }
  .contact-page-copy h1 { font-size: 14.5cqw; }
  .contact-options { grid-template-columns: 1fr; }
  .booking-copy { padding: 3rem 1rem; }
  .contact-links { border: 0; border-top: 1px solid var(--line); }
  .contact-links a { padding: 1.75rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .work-tile img, .work-tile span, .project-shot img { transition: none; }

  .has-js .home-page [data-reveal],
  .has-js .home-page [data-reveal-style="copy"] > *,
  .has-js .home-page [data-reveal-style="list"] > * {
    opacity: 1;
    transform: none;
    filter: none;
    clip-path: none;
    transition: none;
  }

  .home-page [data-parallax],
  .home-page [data-parallax] > img,
  .home-page [data-parallax-text],
  .home-page .work-tile::before,
  .home-page .work-tile > span {
    opacity: 1;
    translate: none;
    scale: 1;
    transition: none;
  }

  .home-page .orbit-arrow { animation: none; }
}

.home-page .work-tile img {
  transition: transform 750ms var(--motion-ease), filter 450ms ease, translate 100ms linear, clip-path 1200ms var(--motion-ease);
}

/* Shared Work disclosure: the archive remains a direct link. */
.nav-work { position: relative; display: flex; align-items: center; gap: 4px; }
.work-dropdown summary { display: flex; align-items: center; justify-content: center; width: 32px; min-height: 44px; cursor: pointer; list-style: none; }
.work-dropdown summary::-webkit-details-marker { display: none; }
.work-dropdown summary svg { width: 16px; height: 16px; transition: transform 180ms ease; }
.work-dropdown[open] summary svg { transform: rotate(180deg); }
.work-submenu { position: absolute; top: 100%; left: -18px; min-width: 150px; padding: 10px 18px 16px; color: var(--white); background: #050505; border: 1px solid var(--line); }
.work-submenu a { display: inline-flex; align-items: center; min-height: 44px; }
.site-header:has(.work-dropdown[open]) { mix-blend-mode: normal; color: var(--white); background: #050505; }
.site-nav a.is-current-section::after { transform: scaleX(1); }

/* One contact footer on every page, including the home. */
.contact-footer { display: grid; grid-template-columns: 1.1fr 1.15fr .65fr auto; align-items: start; gap: 2rem; padding: 3rem var(--pad) 2.5rem; border-top: 1px solid var(--line); color: var(--white); background: #030303; }
.footer-identity p { margin: .7rem 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.footer-contacts { display: grid; gap: .75rem; font-style: normal; min-width: 0; }
.footer-contacts a { width: fit-content; min-height: 44px; font-size: clamp(13px, 1.1vw, 16px); overflow-wrap: anywhere; }
.footer-contacts span { display: block; margin-bottom: .2rem; color: var(--muted); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.footer-socials { display: grid; gap: .4rem; }
.footer-socials a, .footer-top { display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.footer-socials svg, .footer-top svg, .video-source svg, .video-back svg { width: 17px; height: 17px; flex: 0 0 auto; }
.contact-footer a:hover { text-decoration: underline; text-underline-offset: 5px; }

/* Moving-image archive: the films carry the colour and composition. */
.video-intro { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 1.5rem 3rem; padding: calc(var(--header-clearance) + 3rem) var(--pad) 3rem; }
.video-intro h1 { grid-row: span 2; margin: 0; font-size: clamp(64px, 9vw, 130px); line-height: .95; font-weight: 500; letter-spacing: -.04em; }
.video-intro p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
.video-back { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.video-back svg { transform: rotate(-135deg); }
.video-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.5rem 2rem; padding: 0 var(--pad) 5rem; scroll-margin-top: var(--header-clearance); }
.video-project { min-width: 0; }
.video-project--lead { grid-column: 1 / -1; }
.video-player { aspect-ratio: 16 / 9; background: #111; }
.video-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.video-caption { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-top: 1.15rem; }
.video-caption h2 { margin: 0 0 .3rem; font-size: clamp(22px, 2.4vw, 36px); font-weight: 500; letter-spacing: -.025em; line-height: 1.15; }
.video-caption p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.video-source { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.video-source:hover, .video-back:hover { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 1000px) {
  .contact-footer { grid-template-columns: 1fr 1fr; gap: 2rem 3rem; }
  .footer-socials { display: flex; gap: 2rem; }
  .footer-top { justify-self: start; }
  .video-caption { flex-direction: column; gap: .3rem; }
}
@media (max-width: 900px) {
  body:not(.editorial-home) .nav-work { flex-wrap: wrap; justify-content: center; max-width: 100%; }
  body:not(.editorial-home) .work-dropdown summary { width: 44px; }
  body:not(.editorial-home) .work-submenu { top: 100%; left: 50%; transform: translateX(-50%); padding: 0 18px; text-align: center; min-width: 130px; border: 0; }
  body:not(.editorial-home) .site-nav .work-submenu a { font-size: 21px; line-height: 1.5; }
  body:not(.editorial-home) .nav-work:has(details[open]) { margin-bottom: 42px; }
}
@media (max-width: 680px) {
  .editorial-home .nav-work { flex-wrap: wrap; justify-content: center; }
  .editorial-home .work-dropdown summary { width: 44px; }
  .editorial-home .work-submenu { top: 100%; left: 50%; transform: translateX(-50%); padding: 0 18px; text-align: center; min-width: 130px; border: 0; }
  .editorial-home .site-nav .work-submenu a { font-size: 21px; line-height: 1.5; }
  .editorial-home .nav-work:has(details[open]) { margin-bottom: 42px; }
  .contact-footer { grid-template-columns: 1fr; gap: 1.75rem; padding: 2rem 20px; }
  .footer-contacts { gap: 1rem; }
  .footer-contacts a { font-size: 15px; }
  .footer-socials { gap: 2.5rem; }
  .footer-top { margin-top: .25rem; }
  .video-intro { padding: calc(var(--header-clearance) + 1.5rem) 20px 2rem; gap: 1.5rem; }
  .video-intro h1 { grid-column: 1 / -1; grid-row: auto; font-size: 20vw; }
  .video-intro p { font-size: 14px; }
  .video-back { align-self: end; }
  .video-gallery { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; padding: 0 20px 3.5rem; }
  .video-caption h2 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) { .work-dropdown summary svg { transition: none; } }
