@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@1&display=swap');

/* ============================================================
   Mount Up Media - 2026
   Tokens, type, layout, components.
   ============================================================ */

:root {
  --ink:    #0B0B0C;
  --bone:   #F4F1EC;
  --pewter: #2A2A2D;
  --steel:  #9A9A9D;
  --teal:   #2D9B9E;
  --crimson: #C8332A;
  --bronze: #B8702C;
  --signal: var(--crimson);
  --ember:  var(--bronze);

  --hairline: rgba(244, 241, 236, 0.14);
  --hairline-strong: rgba(244, 241, 236, 0.28);

  --maxw: 1440px;
  --gutter: 80px;
  --col-gap: 32px;

  --s-1: 8px;
  --s-2: 16px;
  --s-3: 24px;
  --s-4: 32px;
  --s-5: 48px;
  --s-6: 64px;
  --s-7: 96px;
  --s-8: 144px;
  --s-9: 192px;

  --display: "Cormorant Garamond", "Times New Roman", serif;
  --text:    "Manrope", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --dur-operator: 280ms;
  --dur-calm: 2200ms;
  --dur-frame: 2200ms;
  --ease-operator: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-calm: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-frame: cubic-bezier(0.65, 0, 0.35, 1);

  --loader-bg: #0a0a0a;
  --loader-text: #f5f5f5;
  --loader-muted: #888888;
  --loader-stroke: #1f1f1f;
  --loader-display: "Instrument Serif", var(--display);
  --brand-grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0.96  0 0 0 0 0.94  0 0 0 0 0.92  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: var(--ink); color: var(--bone); }
html {
  scroll-behavior: auto;
  scroll-padding-top: 96px;
  color-scheme: dark;
}
body {
  font-family: var(--text);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  position: relative;
  -webkit-tap-highlight-color: rgba(200, 51, 42, 0.16);
}

.skip-link {
  position: fixed;
  top: -64px;
  left: 24px;
  z-index: 10000;
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--bone);
  padding: 10px 14px;
  min-height: 44px;
  align-items: center;
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  transition: top var(--dur-operator) var(--ease-operator);
}
.skip-link:focus {
  top: 16px;
  outline: 2px solid var(--crimson);
  outline-offset: 2px;
}

/* ============================================================
   PAGE BACKGROUND TREATMENT
   - subtle pewter and ink gradient base
   - site-wide grain overlay (SVG turbulence, fine + organic)
   - rare ember glows
   ============================================================ */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(60% 40% at 80% 12%, rgba(184, 112, 44, 0.06), transparent 60%),
    radial-gradient(70% 50% at 10% 88%, rgba(45, 155, 158, 0.08), transparent 65%),
    linear-gradient(180deg, #131316 0%, #0B0B0C 18%, #0B0B0C 82%, #131316 100%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.01;
  mix-blend-mode: soft-light;
  background-image: var(--brand-grain);
  background-size: 420px 420px;
}
/* Bring content above the background pseudos */
.nav, main, section, footer, .hero { position: relative; z-index: 2; }

body.is-loading {
  overflow: hidden;
}
body.is-loading .nav,
body.is-loading main,
body.is-loading footer {
  opacity: 0;
}
body.is-loaded .nav,
body.is-loaded main,
body.is-loaded footer {
  opacity: 1;
  transition: opacity 500ms ease-out;
}

.loading-screen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  background: var(--loader-bg);
  color: var(--loader-text);
  opacity: 1;
  transition: opacity 600ms var(--ease-calm);
}
.loading-screen.is-exiting {
  opacity: 0;
  pointer-events: none;
}
.loading-screen__label {
  position: absolute;
  top: 32px;
  left: 32px;
  font-family: var(--text);
  font-size: 12px;
  letter-spacing: 0.3em;
  line-height: 1;
  text-transform: uppercase;
  color: var(--loader-muted);
  opacity: 0;
  transform: translateY(-20px);
  animation: loader-label-in 600ms var(--ease-calm) 100ms forwards;
}
.loading-screen__center {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.loading-screen__word {
  display: inline-block;
  font-family: var(--loader-display);
  font-size: 36px;
  font-style: italic;
  font-weight: 400;
  line-height: 0.95;
  color: rgba(245, 245, 245, 0.8);
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 400ms var(--ease-calm),
    transform 400ms var(--ease-calm);
}
.loading-screen__word.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.loading-screen__word.is-exiting {
  opacity: 0;
  transform: translateY(-20px);
}
.loading-screen__counter {
  position: absolute;
  right: 32px;
  bottom: 32px;
  font-family: var(--loader-display);
  font-size: 60px;
  font-style: italic;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 0.82;
  color: var(--loader-text);
  opacity: 0;
  transform: translateY(20px);
  animation: loader-counter-in 600ms var(--ease-calm) 100ms forwards;
}
.loading-screen__track {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: color-mix(in oklab, var(--loader-stroke) 50%, transparent);
}
.loading-screen__fill {
  height: 100%;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 100ms linear;
  background: linear-gradient(90deg, #89AACC 0%, #4E85BF 100%);
  box-shadow: 0 0 8px rgba(137, 170, 204, 0.35);
}

@keyframes loader-label-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes loader-counter-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.route-video-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1200ms var(--ease-calm);
}
body.route-bg-active .route-video-bg {
  opacity: 1;
}
.route-video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.26;
  filter: saturate(0.86) contrast(1.06) brightness(0.62);
}
.route-video-bg::before,
.route-video-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.route-video-bg::before {
  background:
    radial-gradient(70% 52% at 50% 26%, rgba(11, 11, 12, 0.14), rgba(11, 11, 12, 0.86) 74%),
    linear-gradient(180deg, rgba(11, 11, 12, 0.26), rgba(11, 11, 12, 0.92));
}
.route-video-bg::after {
  background:
    linear-gradient(90deg, rgba(11, 11, 12, 0.78), transparent 34%, transparent 66%, rgba(11, 11, 12, 0.78));
}
body.route-bg-active::before {
  opacity: 0.18;
}
body.route-bg-active::after {
  opacity: 0;
}
body.route-bg-active .subhero--ring {
  background: radial-gradient(1200px 600px at 50% 0%, rgba(184,112,44,0.055), transparent 60%);
}

@media (min-width: 768px) {
  .loading-screen__label {
    top: 48px;
    left: 48px;
    font-size: 14px;
  }
  .loading-screen__word {
    font-size: 60px;
  }
  .loading-screen__counter {
    right: 48px;
    bottom: 48px;
    font-size: 96px;
  }
}

@media (min-width: 1024px) {
  .loading-screen__word {
    font-size: 72px;
  }
  .loading-screen__counter {
    font-size: 128px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .loading-screen,
  .loading-screen__word,
  .route-video-bg {
    transition-duration: 1ms;
  }
  .loading-screen__label,
  .loading-screen__counter {
    animation-duration: 1ms;
  }
  .weather-logo__rain,
  .weather-logo__bolt,
  .weather-logo__flash {
    display: none;
  }
}

/* Section vignette with low organic grain handled by the page overlay */
.section--still {
  position: relative;
  isolation: isolate;
}
.section--still::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(42, 42, 45, 0.55), transparent 70%),
    linear-gradient(180deg, rgba(11, 11, 12, 0.12), rgba(11, 11, 12, 0.42));
}
.section--alt::before {
  background:
    radial-gradient(120% 80% at 50% 100%, rgba(42, 42, 45, 0.55), transparent 70%),
    linear-gradient(180deg, rgba(11, 11, 12, 0.42), rgba(11, 11, 12, 0.12));
}

/* Halation ring on signal CTAs */
.btn--signal {
  box-shadow:
    0 0 0 1px rgba(200, 51, 42, 0.35),
    0 8px 28px rgba(200, 51, 42, 0.16),
    0 0 24px rgba(184, 112, 44, 0.08);
}

a { color: inherit; text-decoration: none; }
img, svg, video, canvas { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; touch-action: manipulation; }
a, button, input, summary { touch-action: manipulation; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 1px solid var(--signal);
  outline-offset: 4px;
}
.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;
}

/* ---------- Type roles ---------- */
.mono {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--steel);
}
.mono.upper { text-transform: uppercase; letter-spacing: 0.16em; }
.kicker {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--steel);
}
.kicker--stack { margin-bottom: 12px; }
.kicker--tight { margin-bottom: 10px; }
.h1 {
  font-family: var(--display);
  font-weight: 400;
  font-variation-settings: "opsz" 96, "SOFT" 30;
  font-size: 96px;
  line-height: 1.02;
  letter-spacing: 0;
  color: var(--bone);
}
.h2 {
  font-family: var(--display);
  font-weight: 400;
  font-variation-settings: "opsz" 72, "SOFT" 30;
  font-size: 64px;
  line-height: 1.04;
  letter-spacing: 0;
  color: var(--bone);
}
.h3 {
  font-family: var(--display);
  font-weight: 400;
  font-variation-settings: "opsz" 36, "SOFT" 40;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: 0;
  color: var(--bone);
}
.body {
  font-size: 17px;
  line-height: 1.55;
  color: var(--bone);
  text-wrap: pretty;
}
.body--muted { color: var(--steel); }
.body--lg { font-size: 19px; line-height: 1.5; }

/* ---------- Layout ---------- */
.wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media (max-width: 900px) {
  :root { --gutter: 24px; --col-gap: 16px; }
  .body, .body--lg { font-size: 16px; }
  .h1 { font-size: 48px; line-height: 1; }
  .h2 { font-size: 38px; line-height: 1.06; }
  .h3 { font-size: 24px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .h1 { font-size: 72px; }
  .h2 { font-size: 52px; }
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 22px;
  font-family: var(--text);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  min-height: 48px;
  transition: transform var(--dur-operator) var(--ease-operator), background var(--dur-operator) var(--ease-operator), color var(--dur-operator) var(--ease-operator), border-color var(--dur-operator) var(--ease-operator);
  text-transform: none;
}
.btn--signal {
  background: var(--signal);
  color: var(--bone);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.btn--signal::before,
.btn--signal::after {
  content: "";
  position: absolute;
  inset: -160%;
  z-index: -1;
  opacity: 0;
  background: conic-gradient(from 90deg, rgba(200, 51, 42, 0.92), rgba(184, 112, 44, 0.86), rgba(28, 58, 64, 0.72), rgba(200, 51, 42, 0.92));
  transition: opacity var(--dur-operator) var(--ease-operator);
  animation: glow-spin 8s linear infinite;
}
.btn--signal::after {
  inset: 2px;
  z-index: -1;
  background: var(--signal);
  opacity: 1;
  animation: none;
}
.btn--signal:hover {
  transform: translateY(-1px);
  background: #D4463D;
}
.btn--signal:hover::before,
.btn--signal:focus-visible::before {
  opacity: 0.58;
}
@keyframes glow-spin {
  to { transform: rotate(1turn); }
}
.btn--ghost {
  background: transparent;
  color: var(--bone);
  border-color: var(--hairline-strong);
}
.btn--ghost:hover { border-color: var(--bone); }
.btn .arrow {
  display: inline-block;
  transition: transform var(--dur-operator) var(--ease-operator);
}
.btn:hover .arrow { transform: translateX(3px); }

/* ============================================================
   NAVBAR
   ============================================================ */
.nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 80;
  padding: 18px 0;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background var(--dur-operator) var(--ease-operator), border-color var(--dur-operator) var(--ease-operator), padding var(--dur-operator) var(--ease-operator);
}
.nav--solid {
  background: rgba(11, 11, 12, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom-color: var(--hairline);
  padding: 14px 0;
}
.nav__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
}
.nav__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
}
.nav__logo svg { width: 22px; height: 22px; }
.nav__mark {
  width: 42px;
  height: 42px;
  object-fit: cover;
  flex: 0 0 auto;
}
.nav__logo--weather {
  min-width: 0;
  text-transform: none;
}
.weather-logo {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(178px, 18vw, 248px);
  min-height: 46px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--bone) 18%, transparent);
  background:
    radial-gradient(90px 42px at 74% 18%, rgba(45, 155, 158, 0.16), transparent 64%),
    radial-gradient(120px 54px at 12% 100%, rgba(184, 112, 44, 0.14), transparent 68%),
    linear-gradient(180deg, rgba(19, 19, 22, 0.96), rgba(6, 7, 8, 0.94));
}
.weather-logo::before,
.weather-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.weather-logo::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(11, 11, 12, 0.78), transparent 26%, transparent 74%, rgba(11, 11, 12, 0.78)),
    linear-gradient(180deg, rgba(244, 241, 236, 0.08), transparent 18%, transparent 78%, rgba(11, 11, 12, 0.42));
}
.weather-logo::after {
  z-index: 6;
  opacity: 0.14;
  mix-blend-mode: screen;
  background-image: var(--brand-grain);
  background-size: 160px 160px;
}
.weather-logo__atmosphere {
  position: absolute;
  inset: -24%;
  z-index: 0;
  opacity: 0.66;
  background:
    radial-gradient(60px 40px at 62% 36%, rgba(137, 170, 204, 0.2), transparent 70%),
    radial-gradient(88px 46px at 20% 80%, rgba(194, 69, 69, 0.12), transparent 68%);
  filter: blur(14px);
}
.weather-logo__rain {
  position: absolute;
  inset: -20px -18px;
  z-index: 2;
  pointer-events: none;
  transform: rotate(14deg);
  transform-origin: center;
}
.weather-logo__drop {
  position: absolute;
  top: -18px;
  left: var(--left);
  width: var(--size);
  height: calc(var(--size) * 11);
  border-radius: 999px;
  opacity: var(--opacity);
  background: linear-gradient(to bottom, transparent, rgba(174, 194, 224, 0.68));
  animation: weather-logo-rain var(--duration) linear infinite;
  animation-delay: var(--delay);
}
.weather-logo__bolt {
  position: absolute;
  top: -8px;
  right: 18%;
  z-index: 3;
  width: 54px;
  height: 62px;
  opacity: 0;
  filter: blur(0.2px) drop-shadow(0 0 8px rgba(137, 170, 204, 0.46));
  background: linear-gradient(180deg, rgba(244, 241, 236, 0.92), rgba(137, 170, 204, 0));
  clip-path: polygon(44% 0, 61% 0, 48% 36%, 70% 36%, 30% 100%, 42% 52%, 24% 52%);
}
.weather-logo__flash {
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: 0;
  background:
    radial-gradient(circle at 66% 24%, rgba(244, 241, 236, 0.55), transparent 38%),
    radial-gradient(circle at 48% 50%, rgba(137, 170, 204, 0.24), transparent 58%);
}
.weather-logo.is-striking .weather-logo__bolt {
  animation: weather-logo-bolt 280ms var(--ease-operator) both;
}
.weather-logo.is-striking .weather-logo__flash {
  animation: weather-logo-flash 280ms var(--ease-operator) both;
}
.weather-logo__title {
  position: relative;
  z-index: 5;
  display: block;
  padding: 2px 18px 0;
  color: var(--bone);
  font-family: var(--display);
  font-size: clamp(22px, 1.75vw, 30px);
  font-weight: 300;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  text-shadow: 0 0 18px rgba(244, 241, 236, 0.12);
}
@keyframes weather-logo-rain {
  0% { transform: translateY(-28px); }
  100% { transform: translateY(96px); }
}
@keyframes weather-logo-bolt {
  0%, 100% { opacity: 0; transform: translateY(-5px) scaleY(0.92); }
  12%, 34% { opacity: 1; transform: translateY(0) scaleY(1); }
  22% { opacity: 0.24; }
  48% { opacity: 0.7; }
}
@keyframes weather-logo-flash {
  0%, 100% { opacity: 0; }
  10%, 30% { opacity: 0.72; }
  20% { opacity: 0.16; }
  44% { opacity: 0; }
}
.nav__links {
  display: flex;
  justify-content: center;
  gap: 22px;
}
.nav__links a {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  opacity: 0.75;
  transition: opacity var(--dur-operator) var(--ease-operator), color var(--dur-operator) var(--ease-operator);
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(72px, max-content);
  gap: 8px;
  align-items: center;
  min-height: 44px;
  overflow: hidden;
}
.nav__links a:hover { opacity: 1; }
.nav__links a::before {
  content: attr(data-nav-n);
  color: var(--bronze);
  opacity: 0.9;
}
.nav__label,
.nav__desc {
  grid-column: 2;
  grid-row: 1;
  white-space: nowrap;
  transition: opacity var(--dur-operator) var(--ease-operator), transform var(--dur-operator) var(--ease-operator);
}
.nav__desc {
  opacity: 0;
  transform: translateY(5px);
  color: var(--bone);
}
.nav__links a:hover .nav__label,
.nav__links a:focus-visible .nav__label {
  opacity: 0;
  transform: translateY(-5px);
}
.nav__links a:hover .nav__desc,
.nav__links a:focus-visible .nav__desc {
  opacity: 1;
  transform: translateY(0);
}
.nav__cta {
  display: flex;
  align-items: center;
  gap: 14px;
}
.nav__contact {
  position: relative;
}
.nav__contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  padding: 10px 14px;
  border: 1px solid var(--hairline-strong);
  min-height: 44px;
}
.nav__contact-btn:hover { border-color: var(--bone); }
.nav__contact-mark {
  position: relative;
  width: 9px;
  height: 9px;
  display: inline-block;
}
.nav__contact-mark::before,
.nav__contact-mark::after {
  content: "";
  position: absolute;
  background: currentColor;
}
.nav__contact-mark::before { top: 4px; left: 0; right: 0; height: 1px; }
.nav__contact-mark::after { top: 0; bottom: 0; left: 4px; width: 1px; }
.nav__dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 240px;
  background: var(--ink);
  border: 1px solid var(--hairline);
  padding: 8px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity var(--dur-operator) var(--ease-operator), transform var(--dur-operator) var(--ease-operator);
  z-index: 90;
}
.nav__contact:hover .nav__dropdown,
.nav__contact:focus-within .nav__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.nav__dropdown a {
  display: block;
  padding: 12px 14px;
  font-family: var(--text);
  font-size: 14px;
  color: var(--bone);
  border-bottom: 1px solid var(--hairline);
  min-height: 48px;
}
.nav__dropdown a:last-child { border-bottom: 0; }
.nav__dropdown a:hover { background: var(--pewter); }
.nav__dropdown small {
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: var(--steel);
  margin-top: 2px;
}

@media (max-width: 900px) {
  .nav {
    padding: 10px 0 8px;
    background: rgba(11, 11, 12, 0.92);
    border-bottom-color: var(--hairline);
  }
  .nav__row {
    grid-template-columns: 1fr auto;
    gap: 8px 12px;
    align-items: start;
  }
  .nav__logo {
    min-height: 40px;
    font-size: 10px;
    letter-spacing: 0.16em;
  }
  .weather-logo {
    width: clamp(146px, 47vw, 194px);
    min-height: 42px;
  }
  .weather-logo__title {
    padding-inline: 12px;
    font-size: clamp(17px, 5.1vw, 22px);
  }
  .nav__mark {
    width: 28px;
    height: 28px;
  }
  .nav__links {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    padding: 0 0 2px;
    scrollbar-width: none;
  }
  .nav__links::-webkit-scrollbar { display: none; }
  .nav__links a {
    min-height: 44px;
    grid-template-columns: auto max-content;
    min-width: max-content;
    padding: 0 12px;
    border: 1px solid var(--hairline);
  }
  .nav__links a::before { font-size: 11px; }
  .nav__label {
    display: block;
    grid-column: 2;
    font-size: 10px;
  }
  .nav__desc {
    display: none;
  }
  .nav__contact {
    position: static;
  }
  .nav__cta {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
  }
  .nav__contact-btn {
    min-height: 40px;
    padding: 8px 10px;
    font-size: 10px;
    letter-spacing: 0.14em;
  }
  .nav__dropdown {
    position: fixed;
    top: 58px;
    left: 24px;
    right: 24px;
    width: auto;
    min-width: 0;
  }
}

/* ============================================================
   HERO - scroll-scrubbed video
   ============================================================ */
.hero {
  position: relative;
  width: 100%;
  height: 300vh; /* pin duration */
  background: var(--ink);
}
.hero--mounted {
  height: 260vh;
}
.hero--mounted .hero__shade {
  background:
    radial-gradient(90% 70% at 55% 48%, transparent 34%, rgba(11,11,12,0.42) 76%, rgba(11,11,12,0.72) 100%),
    linear-gradient(180deg, rgba(11,11,12,0.30) 0%, rgba(11,11,12,0.08) 42%, rgba(11,11,12,0.68) 100%);
}
.hero--mounted .hero__act1 .label,
.hero--mounted .hero__act2 .h1,
.hero--mounted .hero__act3 .h3 {
  text-shadow: 0 14px 42px rgba(0, 0, 0, 0.45);
}
.hero--mounted .hero__act1 .label {
  font-family: var(--display);
  font-size: 96px;
  line-height: 0.95;
  letter-spacing: 0;
  text-transform: none;
}
.hero--mounted .hero__act3 {
  bottom: 16vh;
}
.hero--second {
  border-top: 0;
}
.hero--logo {
  --logo-y: -150px;
  height: 100svh;
  min-height: 720px;
  overflow: hidden;
  isolation: isolate;
}
.hero--logo .hero__pin {
  position: relative;
  top: auto;
  height: 100svh;
  min-height: inherit;
  display: grid;
  place-items: center;
}
.hero__logo-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(80% 64% at 50% 46%, rgba(184, 112, 44, 0.1), transparent 52%),
    radial-gradient(110% 84% at 50% 100%, rgba(28, 58, 64, 0.2), transparent 70%),
    linear-gradient(180deg, #080809 0%, #0B0B0C 54%, #121112 100%);
}
.hero__logo-field::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.045;
  background-image: var(--brand-grain);
  background-size: 220px 220px;
  mask-image: radial-gradient(circle at 50% 48%, black 0 34%, transparent 76%);
}
.hero__logo-image {
  position: relative;
  z-index: 2;
  width: min(72vw, 860px);
  max-height: 64svh;
  object-fit: contain;
  opacity: 0;
  filter: saturate(1.05) contrast(1.04);
  transform: translate3d(0, calc(var(--logo-y) + 18px), 0) scale(0.96);
  animation: logo-enter var(--dur-frame) var(--ease-frame) 120ms forwards;
}
.hero__logo-shine {
  position: absolute;
  z-index: 3;
  width: min(78vw, 980px);
  height: 34svh;
  top: 32%;
  left: 50%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(105deg, transparent 0 44%, rgba(244, 241, 236, 0.26) 49%, transparent 55% 100%);
  mix-blend-mode: screen;
  transform: translate3d(-72%, 0, 0) skewX(-12deg);
  animation: logo-shine 2600ms var(--ease-frame) 780ms forwards;
}
.hero__logo-copy {
  position: absolute;
  z-index: 4;
  left: var(--gutter);
  right: var(--gutter);
  bottom: clamp(40px, 5.5vh, 64px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  animation: logo-copy-enter 900ms var(--ease-operator) 180ms forwards;
}
.hero__logo-copy .meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.82);
}
.hero__seo-title {
  font-family: var(--text);
  font-weight: 500;
  font-size: clamp(15px, 1.35vw, 20px);
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--bone);
  max-width: 680px;
  text-wrap: balance;
  text-shadow: 0 12px 42px rgba(0, 0, 0, 0.84);
}
.hero__seo-lede {
  max-width: 680px;
  color: rgba(244, 241, 236, 0.78);
  font-size: clamp(13px, 1.15vw, 16px);
  line-height: 1.5;
  text-wrap: balance;
  text-shadow: 0 10px 32px rgba(0, 0, 0, 0.9);
}
.fluid-line {
  min-height: 28px;
  font-family: var(--mono);
  font-size: clamp(10px, 1vw, 12px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.72);
}
.fluid-line [data-fluid-word] {
  display: inline-flex;
  min-width: 8ch;
  justify-content: center;
  color: var(--bone);
}
.fluid-line .fluid-letter {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  animation: fluid-letter-in 620ms var(--ease-frame) forwards;
  animation-delay: calc(var(--letter-i, 0) * 42ms);
}
@keyframes fluid-letter-in {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.hero__logo-copy .ctas {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.hero__service-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(940px, 100%);
  margin-top: 4px;
  border-top: 1px solid rgba(244, 241, 236, 0.18);
  border-left: 1px solid rgba(244, 241, 236, 0.18);
  background: rgba(11, 14, 16, 0.56);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero__service-rail a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-right: 1px solid rgba(244, 241, 236, 0.18);
  border-bottom: 1px solid rgba(244, 241, 236, 0.18);
  color: var(--bone);
  text-decoration: none;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.hero__service-rail a:hover,
.hero__service-rail a:focus-visible {
  background: rgba(200, 51, 42, 0.22);
}
@keyframes logo-enter {
  56% {
    opacity: 1;
    transform: translate3d(0, calc(var(--logo-y) - 4px), 0) scale(1.012);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, var(--logo-y), 0) scale(1);
  }
}
@keyframes logo-shine {
  0% {
    opacity: 0;
    transform: translate3d(-88%, 0, 0) skewX(-12deg);
  }
  22% { opacity: 0.42; }
  78% { opacity: 0.12; }
  100% {
    opacity: 0;
    transform: translate3d(20%, 0, 0) skewX(-12deg);
  }
}
@keyframes logo-copy-enter {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.hero__pin {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: var(--ink);
}
.hero__poster {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(120% 80% at 50% 60%, transparent 42%, rgba(11,11,12,0.44) 100%),
    url("assets/hero-poster.jpg") center / cover no-repeat;
  transform: scale(1.01);
}
.hero__canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: transparent;
  opacity: 0;
  transition: opacity var(--dur-frame) var(--ease-frame);
}
.hero--video-ready .hero__canvas { opacity: 1; }
.hero__video-source {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.hero__shader {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.44;
  mix-blend-mode: screen;
  background:
    radial-gradient(circle at var(--cursor-x, 50%) var(--cursor-y, 50%), rgba(45, 155, 158, 0.24), transparent 26%),
    radial-gradient(circle at calc(var(--cursor-x, 50%) + 12%) calc(var(--cursor-y, 50%) + 8%), rgba(184, 112, 44, 0.12), transparent 32%),
    linear-gradient(135deg, rgba(45, 155, 158, 0.08), transparent 38%, rgba(200, 51, 42, 0.08));
  transition: opacity var(--dur-frame) var(--ease-frame);
}
/* dark overlay for legibility */
.hero__shade {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    radial-gradient(120% 80% at 50% 60%, transparent 40%, rgba(11,11,12,0.55) 100%),
    linear-gradient(180deg, rgba(11,11,12,0.35) 0%, rgba(11,11,12,0.15) 30%, rgba(11,11,12,0.10) 60%, rgba(11,11,12,0.55) 100%);
  pointer-events: none;
}
.hero__overlays {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

/* Act 1 - top-left label */
.hero__act1 {
  position: absolute;
  top: 14vh;
  left: var(--gutter);
  opacity: 0;
  transition: opacity var(--dur-operator) linear;
}
.hero__act1 .label {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--bone);
  text-transform: lowercase;
}
.hero__act1 .meta {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
  margin-bottom: 12px;
}

/* Act 2 - center */
.hero__act2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(960px, calc(100% - var(--gutter) * 2));
  text-align: center;
  opacity: 0;
  pointer-events: auto;
}
.hero__act2 .h1 {
  margin-bottom: 18px;
}
.hero__act2 .sub {
  font-family: var(--text);
  font-size: 18px;
  line-height: 1.55;
  color: var(--bone);
  opacity: 0.86;
  max-width: 640px;
  margin: 0 auto;
}
.hero__act2 .meta {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
  margin-bottom: 22px;
}

/* Act 3 - lower-left CTAs */
.hero__act3 {
  position: absolute;
  bottom: 12vh;
  left: var(--gutter);
  display: flex;
  flex-direction: column;
  gap: 16px;
  opacity: 0;
  pointer-events: none;
  max-width: 540px;
}
.hero__act3.is-active { pointer-events: auto; }
.hero__act3 .meta {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.hero__act3 .h3 {
  margin-bottom: 8px;
  max-width: 460px;
}
.hero__act3 .ctas {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

/* Hero progress rail (right side) */
.hero__rail {
  position: absolute;
  top: 50%;
  right: 28px;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-end;
}
.hero__rail .tick {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--steel);
  opacity: 0.55;
  transition: color var(--dur-operator) var(--ease-operator), opacity var(--dur-operator) var(--ease-operator);
}
.hero__rail .tick .dot {
  width: 6px;
  height: 6px;
  background: var(--steel);
  border-radius: 0;
  transition: background var(--dur-operator) var(--ease-operator), transform var(--dur-operator) var(--ease-operator);
}
.hero__rail .tick.active { color: var(--bone); opacity: 1; }
.hero__rail .tick.active .dot { background: var(--signal); transform: scale(1.4); }

/* Hero scroll cue */
.hero__cue {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--steel);
  opacity: 0;
  animation: cue-fade var(--dur-calm) var(--ease-calm) .3s forwards;
}
.hero__cue .bar {
  width: 1px;
  height: 36px;
  background: linear-gradient(180deg, var(--steel), transparent);
  animation: cue-bar var(--dur-calm) var(--ease-calm) infinite;
}
.hero--logo .hero__cue {
  display: none;
}
@keyframes cue-fade { to { opacity: 1; } }
@keyframes cue-bar {
  0% { transform: scaleY(0); transform-origin: top; }
  50% { transform: scaleY(1); transform-origin: top; }
  51% { transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

/* Hero progress bar (top) */
.hero__progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  width: 0%;
  background: var(--signal);
  z-index: 6;
  transition: width 80ms linear;
}

/* Mobile hero */
@media (max-width: 900px) {
  .hero--logo {
    --logo-y: -222px;
    min-height: 860px;
  }
  .hero--logo .hero__pin {
    min-height: 860px;
  }
  .hero__logo-image {
    width: min(76vw, 360px);
    max-height: 32svh;
  }
  .hero__logo-shine {
    width: 74vw;
    height: 20svh;
    top: 25%;
  }
  .hero__logo-copy {
    bottom: 58px;
    gap: 10px;
  }
  .hero__logo-copy .meta {
    max-width: 34ch;
    font-size: 9px;
    line-height: 1.65;
  }
  .hero__seo-title {
    max-width: 31ch;
    font-size: clamp(16px, 4.7vw, 21px);
    line-height: 1.24;
  }
  .hero__seo-lede {
    max-width: 32ch;
    font-size: 14px;
    line-height: 1.42;
  }
  .fluid-line {
    min-height: 20px;
    font-size: 9px;
    letter-spacing: 0.14em;
  }
  .hero__logo-copy .ctas {
    width: min(100%, 318px);
    flex-direction: column;
  }
  .hero__logo-copy .btn {
    width: 100%;
    justify-content: center;
  }
  .hero__service-rail {
    grid-template-columns: 1fr 1fr;
    width: min(100%, 318px);
  }
  .hero__service-rail a {
    min-height: 46px;
    font-size: 9px;
    letter-spacing: 0.12em;
  }
  .hero__act1 { top: 14vh; left: 50%; transform: translateX(-50%); text-align: center; }
  .hero--mounted .hero__act1 { width: calc(100% - 48px); }
  .hero__act3 {
    bottom: 14vh;
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
    text-align: center;
    width: calc(100% - 48px);
  }
  .hero__act3 .ctas { flex-direction: column; width: 100%; }
  .hero__act3 .ctas .btn { justify-content: center; width: 100%; }
  .hero__rail { display: none; }
  .hero__act2 .sub { font-size: 15px; }
}

.mobile-action-bar {
  display: none;
}
@media (max-width: 700px) {
  body.has-mobile-action {
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }
  .mobile-action-bar {
    position: fixed;
    z-index: 70;
    left: 12px;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid rgba(244, 241, 236, 0.22);
    background: rgba(11, 11, 12, 0.9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    pointer-events: none;
    transition:
      opacity var(--dur-operator) var(--ease-operator),
      transform var(--dur-operator) var(--ease-operator);
  }
  .mobile-action-bar.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }
  .mobile-action-bar a {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--bone);
  }
  .mobile-action-bar a + a {
    border-left: 1px solid rgba(244, 241, 236, 0.18);
    background: rgba(200, 51, 42, 0.18);
  }
}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust {
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: 28px 0;
  background: var(--ink);
}
.trust__row {
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  gap: 48px;
}
.trust__logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
  align-items: center;
}
.trust__logo {
  font-family: var(--display);
  font-size: 18px;
  letter-spacing: 0;
  color: var(--steel);
  text-align: center;
  white-space: nowrap;
  filter: saturate(0);
  opacity: 1;
  transition: color var(--dur-operator) var(--ease-operator), opacity var(--dur-operator) var(--ease-operator);
  font-weight: 500;
}
.trust__logo:hover { color: var(--bone); opacity: 1; }
.trust__logo--mono { font-family: var(--text); font-weight: 700; letter-spacing: 0; }
.trust__logo--script { font-family: var(--display); font-style: italic; font-weight: 600; }
.trust__logo--wide { letter-spacing: 0.18em; }
.trust__logo--publix { letter-spacing: 0; }
.trust__logo--jaguar {
  font-family: var(--display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 300;
}
.trust__logo--muted { color: var(--steel); }

@media (max-width: 900px) {
  .trust__row { grid-template-columns: 1fr; gap: 16px; }
  .trust__logos {
    display: flex;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
  }
  .trust__marquee {
    display: flex;
    gap: 40px;
    animation: marquee 28s linear infinite;
    white-space: nowrap;
  }
  @keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }
}

/* ============================================================
   FRONT PAGE PROOF DECK
   ============================================================ */
.proof-deck {
  position: relative;
  z-index: 3;
  padding: clamp(54px, 7vw, 96px) 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  background:
    radial-gradient(80% 100% at 92% 0%, rgba(184, 112, 44, 0.1), transparent 64%),
    rgba(11, 11, 12, 0.96);
  overflow: hidden;
}
.proof-deck__inner {
  display: grid;
  grid-template-columns: minmax(240px, 0.36fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: end;
}
.proof-deck__copy {
  display: grid;
  gap: 14px;
  align-self: center;
}
.proof-deck__copy .num {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--teal);
}
.proof-deck__copy h2 {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  color: var(--bone);
  max-width: 9ch;
}
.proof-deck__copy p {
  color: rgba(244, 241, 236, 0.72);
  max-width: 34ch;
}
.proof-deck__strip {
  display: grid;
  grid-template-columns: 1.1fr repeat(5, 0.72fr);
  gap: 12px;
  align-items: end;
}
.proof-deck__item {
  position: relative;
  min-width: 0;
  margin: 0;
  border: 1px solid rgba(244, 241, 236, 0.18);
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: rgba(244, 241, 236, 0.03);
}
.proof-deck__item--large {
  aspect-ratio: 4 / 5;
}
.proof-deck__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.06) brightness(0.82);
  transform: scale(1.015);
}
.proof-deck__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 11, 12, 0.02), rgba(11, 11, 12, 0.66));
  pointer-events: none;
}
.proof-deck__item figcaption {
  position: absolute;
  z-index: 2;
  left: 10px;
  right: 10px;
  bottom: 10px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bone);
}
@media (max-width: 900px) {
  .proof-deck {
    padding: 56px 0 64px;
  }
  .proof-deck__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .proof-deck__copy h2 {
    max-width: 12ch;
  }
  .proof-deck__strip {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 0 8px;
    margin-right: calc(var(--gutter) * -1);
    scrollbar-width: none;
  }
  .proof-deck__strip::-webkit-scrollbar {
    display: none;
  }
  .proof-deck__item,
  .proof-deck__item--large {
    flex: 0 0 min(66vw, 250px);
    aspect-ratio: 4 / 5;
    scroll-snap-align: start;
  }
}

.market-bridge {
  padding: 88px 0 96px;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  background:
    radial-gradient(60% 90% at 12% 0%, rgba(28, 58, 64, 0.18), transparent 62%),
    radial-gradient(60% 80% at 88% 100%, rgba(184, 112, 44, 0.12), transparent 68%),
    rgba(11, 14, 16, 0.92);
}
.market-bridge__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--col-gap);
  align-items: end;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--hairline);
}
.market-bridge__head .num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
}
.market-bridge__head .h2 {
  max-width: 15ch;
}
.market-bridge__head .sub {
  max-width: 72ch;
  margin-top: 14px;
  color: var(--steel);
}
.market-bridge__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-left: 1px solid var(--hairline);
}
.market-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 34px 28px;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  color: inherit;
  text-decoration: none;
  background: rgba(11, 14, 16, 0.46);
}
.market-card:hover,
.market-card:focus-visible {
  background: rgba(244, 241, 236, 0.035);
}
.market-card__k {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--teal);
}
.market-card strong {
  font-family: var(--display);
  font-weight: 300;
  font-size: 31px;
  line-height: 1.05;
  color: var(--bone);
}
.market-card span:last-child {
  margin-top: auto;
  color: var(--steel);
  font-size: 15px;
  line-height: 1.55;
}
.market-bridge--products .market-card strong {
  max-width: 9ch;
}
.market-bridge--products .market-card:hover strong,
.market-bridge--products .market-card:focus-visible strong {
  color: var(--bone);
}
@media (max-width: 1100px) {
  .market-bridge__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .market-bridge { padding: 72px 0; }
  .market-bridge__head {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .market-bridge__grid { grid-template-columns: 1fr; }
  .market-card { min-height: 220px; }
}

/* ============================================================
   IMMERSIVE SITE STAGE
   ============================================================ */
.site-stage {
  --stage-local: 0;
  --stage-depth: 0;
  --stage-global: 0;
  position: fixed;
  inset: 0;
  z-index: 1;
  width: 100vw;
  height: 100svh;
  opacity: 0;
  pointer-events: none;
  perspective: 1200px;
  transition: opacity var(--dur-frame) var(--ease-frame);
}
.site-stage.is-active { opacity: 0.96; }
.site-stage__plate {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 0;
  background: #050506;
  transform: translate3d(0, calc(var(--stage-depth) * -10px), 0) scale(calc(1 + (var(--stage-local) * 0.02)));
  transform-origin: 50% 50%;
  transition: transform 180ms linear;
  will-change: transform;
}
.site-stage__plate::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background:
    linear-gradient(90deg, rgba(11, 14, 16, 0.66) 0%, rgba(11, 14, 16, 0.18) 34%, rgba(11, 14, 16, 0.18) 66%, rgba(11, 14, 16, 0.72) 100%),
    linear-gradient(180deg, rgba(11, 14, 16, 0.58) 0%, transparent 22%, transparent 68%, rgba(11, 14, 16, 0.74) 100%);
  pointer-events: none;
}
.site-stage__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #050506;
  opacity: 0;
  filter: saturate(0.86) contrast(1.08);
  transform: translate3d(0, 0, 0) scale(1.01);
  transition:
    opacity var(--dur-frame) var(--ease-frame),
    transform var(--dur-frame) var(--ease-frame),
    filter var(--dur-frame) var(--ease-frame);
}
.site-stage__media.is-active {
  opacity: 1;
  filter: saturate(1) contrast(1);
  transform: translate3d(calc(var(--stage-depth) * -8px), calc(var(--stage-depth) * -6px), 0) scale(calc(1.005 + (var(--stage-local) * 0.018)));
}
.site-stage[data-active-stage="10"] .site-stage__media.is-active {
  object-position: center 62%;
}
.site-stage__grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0.032;
  background:
    linear-gradient(rgba(244, 241, 234, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244, 241, 234, 0.08) 1px, transparent 1px);
  background-size: 96px 96px;
  transform: translate3d(calc(var(--stage-depth) * 6px), calc(var(--stage-depth) * 5px), 0);
  transition: transform 180ms linear;
}
.site-stage__edge {
  display: none;
}
.site-stage__meter {
  position: absolute;
  z-index: 6;
  left: var(--gutter);
  right: var(--gutter);
  bottom: 28px;
  height: 2px;
  background: rgba(244, 241, 234, 0.18);
  transform-origin: left center;
}
.site-stage__meter span {
  display: block;
  height: 100%;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 120ms linear;
}
.site-stage__count {
  position: absolute;
  z-index: 6;
  top: 108px;
  right: var(--gutter);
  display: flex;
  gap: 6px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--bone);
}
.site-scene {
  min-height: 150svh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: transparent;
}
.site-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(11, 14, 16, 0.86) 0%, rgba(11, 14, 16, 0.58) 42%, rgba(11, 14, 16, 0.24) 100%),
    radial-gradient(72% 78% at 82% 52%, rgba(28, 58, 64, 0.12), transparent 72%);
  transition: opacity 900ms var(--ease-frame);
}
.site-scene > .wrap,
.site-scene > .frames__head,
.site-scene > .frame-morph,
.site-scene > .frames__track-wrap {
  position: relative;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 28px, 0);
  pointer-events: none;
  transition:
    opacity 520ms var(--ease-operator),
    transform 520ms var(--ease-operator),
    visibility 0s linear 520ms;
}
.site-scene > .wrap {
  width: 100%;
}
.site-scene .section__head {
  max-width: 820px;
}
.site-scene .icp__grid,
.site-scene .product-title-system,
.site-scene .offers__grid,
.site-scene .room-grid,
.site-scene .team-parallax,
.site-scene .team-intro,
.site-scene .testimonial-focus,
.site-scene .process__strip,
.site-scene .faq {
  max-width: min(1040px, 100%);
}
.site-scene .icp__grid,
.site-scene .room-grid,
.site-scene .process__strip {
  grid-template-columns: 1fr;
}
.site-scene .offers__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.site-scene .offer {
  min-height: 230px;
  padding: 28px;
}
.site-scene .offer__title {
  font-size: 25px;
}
.site-scene .offer__desc {
  font-size: 14px;
}
.site-scene .icp__card,
.site-scene .product-title-card,
.site-scene .product-title-panel,
.site-scene .offer,
.site-scene .room-card,
.site-scene .step,
.site-scene .faq__row {
  background: rgba(11, 14, 16, 0.86);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.site-scene .offer,
.site-scene .icp__card,
.site-scene .product-title-card,
.site-scene .product-title-panel,
.site-scene .room-card {
  border-color: rgba(244, 241, 236, 0.22);
}
.site-scene .offer__title {
  color: rgba(244, 241, 236, 0.98);
}
.site-scene .offer__desc {
  color: rgba(244, 241, 236, 0.72);
}
.site-scene.is-copy-visible > .wrap,
.site-scene.is-copy-visible > .frames__head,
.site-scene.is-copy-visible > .frame-morph,
.site-scene.is-copy-visible > .frames__track-wrap {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  transition:
    opacity 520ms var(--ease-operator),
    transform 520ms var(--ease-operator),
    visibility 0s linear 0s;
}
.site-scene.is-copy-visible .section__head,
.site-scene.is-copy-visible .icp__card,
.site-scene.is-copy-visible .product-title-card,
.site-scene.is-copy-visible .product-title-panel,
.site-scene.is-copy-visible .offer,
.site-scene.is-copy-visible .room-card,
.site-scene.is-copy-visible .step,
.site-scene.is-copy-visible .faq__row,
.site-scene.is-copy-visible .founder__copy,
.site-scene.is-copy-visible .closing__inner {
  transform: translate3d(0, 0, 0);
}
.site-scene.is-copy-visible .mum-reveal {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  clip-path: inset(0);
  transition-duration: 1200ms;
}
.site-scene--motion {
  min-height: 118svh;
  padding: 0;
}
.site-scene--motion::after {
  opacity: 0;
}
.site-scene--receipts {
  min-height: 220svh;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}
.site-scene--product-fit {
  justify-content: center;
}
.site-scene--product-fit::after {
  background:
    radial-gradient(76% 68% at 50% 48%, rgba(28, 58, 64, 0.14), transparent 72%),
    linear-gradient(90deg, rgba(11, 14, 16, 0.76) 0%, rgba(11, 14, 16, 0.52) 50%, rgba(11, 14, 16, 0.76) 100%);
}
.site-scene--product-fit > .wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-scene--product-fit .section__head {
  width: min(1040px, 100%);
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.site-scene--product-fit .section__head .h2,
.site-scene--product-fit .section__head .sub {
  margin-left: auto;
  margin-right: auto;
}
.site-scene--product-fit .product-title-system {
  width: min(1040px, 100%);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .site-stage {
    inset: 0;
    width: 100vw;
    height: 100svh;
    opacity: 0;
  }
  .site-stage.is-active { opacity: 0.74; }
  .site-stage__plate {
    transform: scale(calc(1 + (var(--stage-local) * 0.012)));
  }
  .site-stage__count {
    top: 140px;
    right: 24px;
  }
  .site-stage__meter {
    left: 24px;
    right: 24px;
    bottom: 22px;
  }
  .site-scene {
    min-height: 132svh;
    padding-top: 88px;
    padding-bottom: 96px;
  }
  .site-scene::after {
    background:
      linear-gradient(180deg, rgba(11, 14, 16, 0.62) 0%, rgba(11, 14, 16, 0.86) 42%, rgba(11, 14, 16, 0.94) 100%);
  }
  .site-scene--motion { min-height: 104svh; }
  .site-scene--receipts { min-height: 186svh; }
  .site-scene .icp__grid,
  .site-scene .product-title-system,
  .site-scene .offers__grid,
  .site-scene .room-grid,
  .site-scene .process__strip,
  .site-scene .faq {
    max-width: none;
  }
  .site-scene .offers__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   SECTION SHELL
   ============================================================ */
.section {
  padding: var(--s-9) 0;
  border-bottom: 1px solid var(--hairline);
}
@media (max-width: 900px) { .section { padding: 84px 0; } }
.section__head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--col-gap);
  align-items: end;
  margin-bottom: var(--s-7);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--hairline);
}
.section__head .num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
}
.section__head .meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.section__head .h2 { max-width: 16ch; }
.section__head .sub {
  font-size: 17px;
  color: var(--steel);
  max-width: 56ch;
  margin-top: 16px;
}
@media (max-width: 900px) {
  .section__head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 34px; }
}

/* ============================================================
   ICP CARDS
   ============================================================ */
.icp__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.product-title-system {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
.product-title-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(244, 241, 236, 0.22);
  border-left: 1px solid rgba(244, 241, 236, 0.22);
  background: rgba(11, 14, 16, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.product-title-card {
  min-height: 280px;
  padding: 28px 22px;
  border-right: 1px solid rgba(244, 241, 236, 0.22);
  border-bottom: 1px solid rgba(244, 241, 236, 0.22);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  text-align: left;
  color: var(--bone);
  position: relative;
  overflow: hidden;
}
.product-title-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--dur-operator) var(--ease-operator);
}
.product-title-card span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--teal);
}
.product-title-card strong {
  margin-top: auto;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(24px, 2.1vw, 32px);
  line-height: 1.06;
  letter-spacing: 0;
  color: var(--bone);
  overflow-wrap: normal;
  text-wrap: balance;
}
.product-title-card em {
  font-style: normal;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(244, 241, 236, 0.68);
}
.product-title-card__proof {
  width: 100%;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 8px;
  margin-top: 8px;
}
.product-title-card__proof img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(244, 241, 236, 0.16);
  filter: saturate(0.86) contrast(1.05) brightness(0.8);
}
.product-title-card.is-active,
.product-title-card:hover,
.product-title-card:focus-visible {
  background: rgba(244, 241, 236, 0.045);
}
.product-title-card.is-active::after,
.product-title-card:hover::after {
  transform: scaleX(1);
}
.product-title-panel {
  border: 1px solid rgba(244, 241, 236, 0.22);
  background:
    radial-gradient(80% 120% at 100% 0%, rgba(184, 112, 44, 0.14), transparent 62%),
    rgba(11, 14, 16, 0.84);
  padding: clamp(28px, 4vw, 54px);
  min-height: 260px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.product-title-detail {
  display: none;
  max-width: 760px;
}
.product-title-detail.is-active {
  display: block;
  animation: product-detail-in 520ms var(--ease-operator) both;
}
.product-title-detail h3 {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(34px, 4vw, 64px);
  line-height: 1.02;
  color: var(--bone);
  margin: 18px 0;
}
.product-title-detail p {
  color: rgba(244, 241, 236, 0.74);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.55;
  max-width: 62ch;
}
.product-title-detail a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 28px;
  min-height: 44px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  border-bottom: 1px solid var(--hairline-strong);
  padding: 8px 0 5px;
}
.product-proof-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
  max-width: 860px;
}
.product-proof-thumb {
  position: relative;
  display: block;
  min-height: 132px;
  border: 1px solid rgba(244, 241, 236, 0.18);
  overflow: hidden;
  background: rgba(244, 241, 236, 0.03);
}
.product-proof-thumb img {
  width: 100%;
  height: 100%;
  min-height: 132px;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.05) brightness(0.78);
}
.product-proof-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 14, 16, 0.04), rgba(11, 14, 16, 0.72));
}
.product-proof-thumb span {
  position: absolute;
  z-index: 2;
  left: 10px;
  right: 10px;
  bottom: 10px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bone);
}
@keyframes product-detail-in {
  from { opacity: 0; transform: translate3d(0, 12px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.icp__card {
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: var(--s-5);
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 460px;
  position: relative;
  transition: background var(--dur-operator) var(--ease-operator);
}
.icp__card:hover { background: rgba(244, 241, 236, 0.02); }
.icp__card .num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--steel);
}
.icp__card .kicker { color: var(--teal); }
.icp__card .head {
  font-family: var(--display);
  font-weight: 400;
  font-variation-settings: "opsz" 36, "SOFT" 30;
  font-size: 26px;
  line-height: 1.18;
  letter-spacing: 0;
  color: var(--bone);
  text-wrap: balance;
}
.icp__card .pain {
  font-size: 15px;
  color: var(--steel);
  line-height: 1.5;
  padding-top: 16px;
  border-top: 1px dashed var(--hairline);
}
.icp__card .ship {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}
.icp__card .ship .tag {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.icp__card .ship .list {
  font-size: 14px;
  color: var(--bone);
  line-height: 1.7;
}
@media (max-width: 900px) {
  .icp__grid { grid-template-columns: 1fr; }
  .product-title-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .product-title-card {
    min-width: 76vw;
    scroll-snap-align: start;
    min-height: 318px;
    padding: 24px 20px;
  }
  .product-proof-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    margin-right: -24px;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .product-proof-row::-webkit-scrollbar {
    display: none;
  }
  .product-proof-thumb {
    min-width: min(56vw, 210px);
    scroll-snap-align: start;
  }
}

/* ============================================================
   OFFER SHELF
   ============================================================ */
.offers__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.site-scene--offers {
  min-height: 420svh;
  align-items: flex-start;
  padding: 128px 0 160px;
}
.site-scene--offers > .wrap {
  min-height: 330svh;
}
.offer {
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: var(--s-5);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 360px;
  text-decoration: none;
  position: relative;
  transition: background var(--dur-operator) var(--ease-operator);
  overflow: hidden;
}
.offer::after {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 0; height: 2px;
  background: var(--signal);
  transition: width var(--dur-operator) var(--ease-operator);
}
.offer:hover::after { width: 100%; }
.offer:hover { background: rgba(244, 241, 236, 0.02); }
.offer__bg,
.offer__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.offer__bg {
  z-index: 0;
  object-fit: cover;
  opacity: 0.34;
  filter: saturate(0.86) contrast(1.1);
  transform: scale(1.02);
  transition:
    opacity var(--dur-frame) var(--ease-frame),
    transform var(--dur-frame) var(--ease-frame),
    filter var(--dur-frame) var(--ease-frame);
}
.offer__shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(11, 14, 16, 0.98) 0%, rgba(11, 14, 16, 0.82) 45%, rgba(11, 14, 16, 0.52) 100%),
    radial-gradient(70% 80% at 82% 28%, rgba(184, 112, 44, 0.14), transparent 68%);
}
.offer > :not(.offer__bg):not(.offer__shade) {
  position: relative;
  z-index: 2;
}
.offer__num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--steel);
}
.offer__title {
  font-family: var(--display);
  font-weight: 400;
  font-variation-settings: "opsz" 48, "SOFT" 30;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: 0;
  color: var(--bone);
  margin-top: 4px;
  text-wrap: balance;
}
.offer__desc {
  font-size: 15px;
  color: var(--steel);
  line-height: 1.55;
  max-width: 38ch;
}
.offer__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid var(--hairline);
}
.offer__meta .k {
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 6px;
}
.offer__meta .v {
  font-family: var(--text);
  font-size: 14px;
  color: var(--bone);
  font-weight: 600;
  letter-spacing: 0.005em;
}
.offer__cta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  padding-top: 16px;
  border-top: 1px solid var(--hairline);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}
.offer__cta .arrow { transition: transform var(--dur-operator) var(--ease-operator); }
.offer:hover .offer__cta .arrow { transform: translateX(4px); }
.scroll-card-stack {
  display: block;
  border: 0;
}
.scroll-card-stack .offer {
  width: min(760px, 100%);
  min-height: min(58svh, 500px);
  margin: 0 auto 24svh;
  padding: clamp(30px, 4vw, 58px);
  position: sticky;
  top: clamp(132px, 16vh, 176px);
  justify-content: center;
  background: rgba(11, 14, 16, 0.9);
  border: 1px solid rgba(244, 241, 236, 0.24);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform-origin: 50% 12%;
}
.scroll-card-stack .offer:nth-child(1) { z-index: 1; }
.scroll-card-stack .offer:nth-child(2) { top: clamp(140px, 17vh, 186px); z-index: 2; }
.scroll-card-stack .offer:nth-child(3) { top: clamp(148px, 18vh, 196px); z-index: 3; }
.scroll-card-stack .offer:nth-child(4) { top: clamp(156px, 19vh, 206px); z-index: 4; }
.scroll-card-stack .offer:nth-child(5) { top: clamp(164px, 20vh, 216px); z-index: 5; }
.scroll-card-stack .offer:nth-child(6) { top: clamp(172px, 21vh, 226px); margin-bottom: 8svh; z-index: 6; }
.scroll-card-stack .offer:hover .offer__bg {
  opacity: 0.46;
  filter: saturate(1) contrast(1.03);
  transform: scale(1.05);
}
.scroll-card-stack .offer__num {
  color: var(--teal);
}
.scroll-card-stack .offer__title {
  font-size: clamp(38px, 5vw, 76px);
  max-width: 9ch;
}
.scroll-card-stack .offer__desc {
  color: rgba(244, 241, 236, 0.82);
  font-size: clamp(15px, 1.45vw, 18px);
  max-width: 46ch;
}
.scroll-card-stack .offer__cta {
  margin-top: 32px;
  max-width: max-content;
}
@media (max-width: 900px) {
  .offers__grid { grid-template-columns: 1fr; }
  .offer { min-height: 300px; }
  .site-scene--offers {
    min-height: auto;
    padding: 112px 0;
  }
  .site-scene--offers > .wrap {
    min-height: auto;
  }
  .scroll-card-stack .offer {
    position: relative;
    top: auto;
    min-height: 420px;
    margin-bottom: 24px;
  }
  .scroll-card-stack .offer:nth-child(n) {
    top: auto;
  }
}

/* ============================================================
   TEAM PARALLAX
   ============================================================ */
.site-scene--team {
  min-height: 178svh;
}
.team-parallax {
  width: 100%;
  min-height: 760px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  align-items: center;
  perspective: 1200px;
}
.team-frame {
  position: relative;
  margin: 0;
  border: 1px solid rgba(244, 241, 236, 0.22);
  background: rgba(11, 14, 16, 0.84);
  overflow: hidden;
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  transition: border-color var(--dur-operator) var(--ease-operator);
  will-change: transform;
}
.team-frame:hover {
  border-color: rgba(244, 241, 236, 0.38);
}
.team-frame img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.08) brightness(0.78);
  transform: scale(1.02);
  transition:
    filter var(--dur-frame) var(--ease-frame),
    transform var(--dur-frame) var(--ease-frame);
}
.team-frame:hover img {
  filter: saturate(1) contrast(1.04) brightness(0.88);
  transform: scale(1.045);
}
.team-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(84% 72% at 50% 24%, transparent 32%, rgba(11, 14, 16, 0.36) 100%),
    linear-gradient(180deg, rgba(11, 14, 16, 0.04) 0%, rgba(11, 14, 16, 0.62) 100%);
}
.team-frame figcaption {
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 6px;
}
.team-frame figcaption span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.66);
}
.team-frame figcaption strong {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(24px, 2.4vw, 38px);
  line-height: 1;
  color: var(--bone);
}
.team-story-card {
  position: absolute;
  z-index: 3;
  top: clamp(12px, 1.8vw, 22px);
  left: clamp(12px, 2.2vw, 28px);
  right: auto;
  width: min(360px, 52%);
  max-height: calc(100% - 84px);
  overflow: hidden;
  padding: clamp(14px, 1.35vw, 18px);
  border: 1px solid rgba(244, 241, 236, 0.24);
  background: rgba(5, 5, 6, 0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  animation: quote-card-in 1600ms var(--ease-calm) forwards;
}
.team-story-card span {
  display: block;
  margin-bottom: 10px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--signal);
}
.team-story-card h3 {
  display: none;
  margin: 0;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(22px, 2.5vw, 34px);
  line-height: 1;
  color: var(--bone);
}
.team-story-card p {
  margin: 0 0 9px;
  color: rgba(244, 241, 236, 0.78);
  font-size: clamp(10px, 0.9vw, 12px);
  line-height: 1.34;
}
.team-story-card__quote {
  padding-top: 9px;
  border-top: 1px solid rgba(244, 241, 236, 0.18);
  font-family: var(--display);
  font-style: italic;
  font-size: clamp(14px, 1.18vw, 18px);
  line-height: 1.08;
  color: rgba(244, 241, 236, 0.94);
  transition:
    opacity 360ms var(--ease-operator),
    filter 360ms var(--ease-operator),
    transform 360ms var(--ease-operator);
}
.team-story-card.is-switching .team-story-card__quote {
  opacity: 0;
  filter: blur(4px);
  transform: translate3d(0, -8px, 0);
}
@keyframes quote-card-in {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.team-frame--large {
  grid-column: 1 / span 5;
  aspect-ratio: 4 / 5;
}
.team-frame--water-wide {
  grid-column: 1 / span 7;
  aspect-ratio: 16 / 9;
  align-self: center;
}
.team-frame--water-wide img {
  object-position: center 48%;
}
.team-frame--top {
  grid-column: 7 / span 4;
  align-self: start;
  aspect-ratio: 3 / 4;
  margin-top: 40px;
}
.team-frame--wide {
  grid-column: 4 / span 6;
  aspect-ratio: 16 / 9;
  align-self: end;
  margin-top: -90px;
}
.team-frame--bottom {
  grid-column: 10 / span 3;
  aspect-ratio: 3 / 4;
  align-self: end;
  margin-top: -160px;
}
@media (max-width: 900px) {
  .site-scene--team {
    min-height: auto;
  }
  .team-parallax {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .team-frame,
  .team-frame--large,
  .team-frame--water-wide,
  .team-frame--top,
  .team-frame--wide,
  .team-frame--bottom {
    grid-column: auto;
    margin-top: 0;
    aspect-ratio: 4 / 3;
  }
  .team-frame--water-wide {
    aspect-ratio: 16 / 9;
  }
  .team-story-card {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: auto;
    max-height: none;
    margin: -1px 0 0;
    background: rgba(5, 5, 6, 0.92);
  }
}

/* ============================================================
   FOUNDER BLOCK
   ============================================================ */
.founder {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: var(--s-7);
  align-items: stretch;
}
.founder__photo {
  position: relative;
  background: var(--pewter);
  border: 1px solid var(--hairline);
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.site-scene--director .founder__photo--bromo {
  width: min(100%, 360px);
  aspect-ratio: 9 / 16;
  justify-self: center;
}
.feature-split--director-hero {
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  align-items: center;
}
.founder__photo--wide {
  aspect-ratio: 16 / 9;
}
.founder__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.74) contrast(1.08) brightness(0.82);
}
.founder__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(11,11,12,0.04), rgba(11,11,12,0.52)),
    radial-gradient(80% 70% at 50% 20%, transparent 42%, rgba(11,11,12,0.42) 100%);
}
.founder__photo .placeholder {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(70% 70% at 36% 28%, rgba(244, 241, 236, 0.05), transparent 62%),
    linear-gradient(135deg, rgba(28, 58, 64, 0.24), rgba(11, 11, 12, 0.74));
}
.founder__photo .label {
  position: absolute;
  z-index: 2;
  bottom: 16px;
  left: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--steel);
}
.founder__photo .corner {
  position: absolute;
  z-index: 2;
  top: 16px; right: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--steel);
  text-transform: uppercase;
}
.founder__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.founder__copy .quote {
  font-family: var(--display);
  font-weight: 400;
  font-variation-settings: "opsz" 48, "SOFT" 50;
  font-size: 28px;
  line-height: 1.4;
  color: var(--bone);
  text-wrap: pretty;
  margin-bottom: 32px;
}
.founder__copy .quote em {
  font-style: italic;
  color: var(--bone);
}
.founder__credits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--hairline);
  margin-top: 32px;
}
.founder__credit {
  padding: 20px 16px;
  border-right: 1px solid var(--hairline);
}
.founder__credit:last-child { border-right: 0; }
.founder__credit .k {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 6px;
}
.founder__credit .v {
  font-family: var(--display);
  font-size: 18px;
  color: var(--bone);
}
.founder__link {
  margin-top: 32px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bone);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--hairline-strong);
  padding-bottom: 4px;
  align-self: flex-start;
}
.founder__link:hover { border-bottom-color: var(--bronze); color: var(--bronze); }
.founder__links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 24px;
  margin-top: 32px;
}
.founder__links .founder__link {
  margin-top: 0;
}

@media (max-width: 900px) {
  .founder { grid-template-columns: 1fr; gap: 32px; }
  .founder__photo,
  .founder__photo--wide { aspect-ratio: 16/9; }
  .site-scene--director .founder__photo--bromo {
    width: min(100%, 320px);
    aspect-ratio: 9 / 16;
  }
  .founder__copy .quote {
    font-size: 22px;
    line-height: 1.38;
  }
  .founder__credits { grid-template-columns: 1fr; }
  .founder__credit { border-right: 0; border-bottom: 1px solid var(--hairline); }
}

/* ============================================================
   ROOM CARDS
   ============================================================ */
.room-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--hairline);
}
.room-card {
  padding: var(--s-5) var(--s-4) var(--s-5) 0;
  border-right: 1px solid var(--hairline);
}
.room-card:last-child { border-right: 0; }
.room-card:not(:first-child) { padding-left: var(--s-4); }
.room-card__num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--teal);
  margin-bottom: 56px;
}
.room-card h3 {
  font-family: var(--display);
  font-weight: 300;
  font-size: 34px;
  line-height: 1;
  color: var(--bone);
  margin-bottom: 18px;
}
.room-card p {
  font-size: 14px;
  color: var(--steel);
  line-height: 1.55;
}

@media (max-width: 900px) {
  .room-grid { grid-template-columns: 1fr; }
  .room-card,
  .room-card:not(:first-child) {
    padding: 28px 0;
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }
  .room-card__num { margin-bottom: 28px; }
}

/* ============================================================
   TESTIMONIAL FOCUS RAIL
   ============================================================ */
.proof-receipts {
  width: 100%;
  margin: 0 0 56px;
}
.proof-receipts__head {
  max-width: 920px;
  margin: 0 auto 34px;
  text-align: center;
}
.proof-receipts__head .h2 {
  margin: 8px 0 10px;
  font-size: clamp(42px, 5vw, 82px);
}
.proof-receipts__head p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(20px, 2.2vw, 30px);
  font-style: italic;
  color: rgba(184, 112, 44, 0.92);
}
.proof-receipts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin: 0 auto;
  max-width: 1060px;
}
.proof-receipt-card {
  position: relative;
  min-height: 0;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(184, 112, 44, 0.48);
  background: #050506;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  --receipt-x: 50%;
  --receipt-y: 42%;
  --receipt-scale: 1.01;
  --receipt-hover-scale: 1.04;
}
.proof-receipt-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--receipt-x) var(--receipt-y);
  filter: saturate(0.82) contrast(1.06) brightness(0.54);
  transform: scale(var(--receipt-scale));
  transition:
    filter var(--dur-frame) var(--ease-frame),
    transform var(--dur-frame) var(--ease-frame);
}
.proof-receipt-card:hover img {
  filter: saturate(0.96) contrast(1.04) brightness(0.7);
  transform: scale(var(--receipt-hover-scale));
}
.proof-receipt-card--gary {
  --receipt-x: 50%;
  --receipt-y: 31%;
  --receipt-scale: 1.04;
  --receipt-hover-scale: 1.07;
}
.proof-receipt-card--nfl {
  --receipt-x: 50%;
  --receipt-y: 50%;
  --receipt-scale: 1;
  --receipt-hover-scale: 1.03;
}
.proof-receipt-card--dp {
  --receipt-x: 47%;
  --receipt-y: 44%;
}
.proof-receipt-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 5, 6, 0.08), rgba(5, 5, 6, 0.82) 72%, rgba(5, 5, 6, 0.96));
  pointer-events: none;
}
.proof-receipt-card > div {
  position: relative;
  z-index: 1;
  padding: 24px;
}
.proof-receipt-card span {
  display: block;
  margin-bottom: 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--signal);
}
.proof-receipt-card h4 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 0.96;
  color: var(--bone);
}
.proof-receipt-card p {
  margin: 0;
  color: rgba(244, 241, 236, 0.78);
  font-size: 15px;
  line-height: 1.5;
}
.proof-receipts__statement {
  max-width: 940px;
  margin: 34px auto 0;
  text-align: center;
  color: rgba(244, 241, 236, 0.86);
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.6;
}
.testimonial-focus {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(520px, 0.9fr);
  gap: 32px;
  align-items: stretch;
}
.testimonial-focus__viewer {
  border: 1px solid rgba(244, 241, 236, 0.2);
  background:
    radial-gradient(80% 80% at 50% 0%, rgba(28, 58, 64, 0.14), transparent 70%),
    rgba(11, 14, 16, 0.88);
  min-height: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.testimonial-focus__label {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(244, 241, 236, 0.16);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.66);
}
.testimonial-focus__label strong {
  color: var(--bone);
  font-weight: 400;
  text-align: right;
}
.testimonial-focus__viewer iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  flex: 0 0 auto;
  border: 0;
  background: #050506;
  min-height: 0;
  display: block;
  color-scheme: dark;
}
.testimonial-focus__rail {
  position: relative;
  min-height: 520px;
  border: 1px solid rgba(244, 241, 236, 0.16);
  background:
    radial-gradient(80% 90% at 50% 50%, rgba(184, 112, 44, 0.08), transparent 72%),
    rgba(11, 14, 16, 0.54);
  overflow: hidden;
  perspective: 1200px;
}
.testimonial-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(224px, 70vw);
  min-height: 320px;
  padding: 22px;
  border: 1px solid rgba(244, 241, 236, 0.22);
  background: rgba(11, 14, 16, 0.9);
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
  opacity: var(--rail-opacity, 0);
  transform:
    translate(-50%, -50%)
    translate3d(var(--rail-x, 0px), 0, var(--rail-z, 0px))
    rotateY(var(--rail-rotate, 0deg))
    scale(var(--rail-scale, 0.84));
  transition:
    opacity 520ms var(--ease-operator),
    transform 720ms var(--ease-frame),
    border-color var(--dur-operator) var(--ease-operator);
  will-change: transform, opacity;
}
.testimonial-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--card-frame);
  background-size: cover;
  background-position: center;
  opacity: 0.22;
  filter: saturate(0.86) contrast(1.08);
}
.testimonial-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(80% 68% at 50% 20%, rgba(244, 241, 236, 0.05), transparent 68%),
    linear-gradient(180deg, rgba(11, 14, 16, 0.38), rgba(11, 14, 16, 0.92));
  pointer-events: none;
}
.testimonial-card > * {
  position: relative;
  z-index: 2;
}
.testimonial-card.is-active {
  border-color: rgba(244, 241, 236, 0.44);
}
.testimonial-card__meta {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--teal);
}
.testimonial-card strong {
  margin-top: auto;
  font-family: var(--display);
  font-weight: 300;
  font-size: 32px;
  line-height: 1;
  color: var(--bone);
}
.testimonial-card span:last-child {
  color: rgba(244, 241, 236, 0.72);
  font-size: 14px;
  line-height: 1.5;
}
.testimonial-focus__controls {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.testimonial-focus__controls button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(244, 241, 236, 0.22);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  background: rgba(11, 14, 16, 0.78);
}
.testimonial-focus__controls button:hover,
.testimonial-focus__controls button:focus-visible {
  background: rgba(184, 112, 44, 0.12);
  border-color: rgba(244, 241, 236, 0.36);
}
@media (max-width: 1000px) {
  .proof-receipts__grid {
    grid-template-columns: 1fr;
    max-width: 520px;
  }
  .proof-receipt-card {
    min-height: 420px;
  }
  .testimonial-focus {
    grid-template-columns: 1fr;
  }
  .testimonial-focus__viewer,
  .testimonial-focus__rail {
    min-height: 420px;
  }
  .testimonial-focus__viewer {
    min-height: 0;
  }
  .testimonial-focus__viewer iframe {
    min-height: 0;
  }
}
@media (max-width: 700px) {
  .proof-receipts {
    margin-bottom: 42px;
  }
  .proof-receipts__head {
    text-align: left;
  }
  .proof-receipts__head .h2 {
    font-size: clamp(34px, 10.5vw, 44px);
    line-height: 1.02;
  }
  .proof-receipt-card {
    min-height: 360px;
  }
  .proof-receipts__statement {
    text-align: left;
    font-size: 16px;
  }
  .testimonial-card {
    width: min(216px, 70vw);
    min-height: 278px;
    padding: 18px;
  }
  .testimonial-focus {
    gap: 20px;
  }
  .testimonial-focus__rail {
    min-height: 356px;
  }
  .testimonial-focus__label {
    padding: 14px 16px;
    gap: 12px;
  }
  .testimonial-focus__controls {
    justify-content: stretch;
  }
  .testimonial-focus__controls button {
    flex: 1;
  }
}

/* ============================================================
   PROCESS STRIP
   ============================================================ */
.bts-expand {
  --expand-progress: 0;
  position: relative;
  min-height: 120svh;
  width: min(100%, 1180px);
  margin: 0 auto 64px;
  border: 1px solid rgba(244, 241, 236, 0.18);
  overflow: hidden;
  background: #050506;
}
.bts-expand__background {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(11, 14, 16, 0.22), rgba(11, 14, 16, 0.86)),
    url("assets/hero-frames/mounted-hero.jpg") center / cover no-repeat;
  opacity: calc(0.98 - (var(--expand-progress) * 0.52));
  transform: scale(calc(1.06 - (var(--expand-progress) * 0.04)));
  transition: opacity 120ms linear, transform 120ms linear;
}
.bts-expand__stage {
  min-height: 120svh;
  position: relative;
  display: grid;
  place-items: center;
  justify-items: center;
  padding: 96px 24px;
}
.bts-expand__title {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 6vw, 80px);
  pointer-events: none;
  color: rgba(244, 241, 236, 0.78);
  mix-blend-mode: screen;
}
.bts-expand__title span {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(48px, 9vw, 130px);
  line-height: 0.9;
  transform: translate3d(calc((var(--expand-progress) - 0.5) * 18vw), 0, 0);
  transition: transform 120ms linear;
}
.bts-expand__title span:first-child {
  transform: translate3d(calc((0.5 - var(--expand-progress)) * 18vw), 0, 0);
}
.bts-expand__media {
  position: relative;
  z-index: 2;
  width: min(calc(330px + (var(--expand-progress) * 930px)), calc(100vw - 96px), 1120px);
  margin-inline: auto;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(244, 241, 236, calc(0.2 + (var(--expand-progress) * 0.18)));
  background: #050506;
  overflow: hidden;
  transform: translate3d(0, 0, 0) scale(calc(0.9 + (var(--expand-progress) * 0.1)));
  transition: width 120ms linear, transform 120ms linear, border-color 120ms linear;
}
.bts-expand__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(11, 14, 16, calc(0.48 - (var(--expand-progress) * 0.36)));
  transition: background 120ms linear;
}
.bts-expand__media iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.bts-expand__meta {
  position: absolute;
  z-index: 3;
  left: clamp(22px, 5vw, 64px);
  bottom: clamp(22px, 5vw, 64px);
  display: grid;
  gap: 8px;
  max-width: 420px;
  opacity: calc(0.3 + (var(--expand-progress) * 0.7));
}
.bts-expand__meta span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--teal);
}
.bts-expand__meta strong {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1;
  color: var(--bone);
}
.process__strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--hairline);
}
.step {
  padding: var(--s-5) var(--s-4) var(--s-5) 0;
  padding-right: var(--s-4);
  border-right: 1px solid var(--hairline);
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
}
.step:last-child { border-right: 0; }
.step:not(:first-child) { padding-left: var(--s-4); }
.step__num {
  font-family: var(--display);
  font-weight: 300;
  font-size: 64px;
  line-height: 0.9;
  color: var(--bone);
  letter-spacing: 0;
}
.step__title {
  font-family: var(--text);
  font-weight: 600;
  font-size: 18px;
  color: var(--bone);
  letter-spacing: 0;
}
.step__desc {
  font-size: 14px;
  color: var(--steel);
  line-height: 1.55;
}
.process__terms {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--hairline);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--steel);
  text-transform: lowercase;
}
.team-intro {
  margin-top: 56px;
}
.team-intro__head {
  max-width: 760px;
  margin-bottom: 44px;
}
.team-intro__head .h2 {
  margin-bottom: 18px;
}
.team-intro__head .sub {
  color: var(--steel);
  max-width: 62ch;
}
.team-glow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 936px;
  margin: 0 auto 64px;
}
.team-glow-card {
  position: relative;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  animation: team-card-in 800ms ease-out forwards;
  animation-delay: var(--team-delay, 0ms);
}
.team-glow-card__glow {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 300px;
  opacity: 0.52;
  pointer-events: none;
  background: var(--team-gradient);
  filter: blur(45px);
  transform: scale(0.9);
}
.team-glow-card__body {
  position: relative;
  z-index: 1;
  height: 300px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border: 8px solid transparent;
  background:
    linear-gradient(#121315, #121315) padding-box,
    var(--team-gradient) border-box;
}
.team-glow-card__body::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(80% 58% at 50% 0%, rgba(244, 241, 236, 0.08), transparent 60%),
    linear-gradient(180deg, rgba(244, 241, 236, 0.03), rgba(11, 11, 12, 0.08));
  mix-blend-mode: overlay;
  opacity: 0.34;
}
.team-glow-card__icon {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: rgba(244, 241, 236, 0.9);
}
.team-glow-card__icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.team-glow-card__body h4,
.team-glow-card__body p {
  position: relative;
  z-index: 1;
}
.team-glow-card__body h4 {
  margin-bottom: 12px;
  color: var(--bone);
  font-family: var(--text);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
}
.team-glow-card__body p {
  color: rgba(244, 241, 236, 0.62);
  font-size: 14px;
  line-height: 1.6;
}
.team-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(260px, 0.72fr);
  gap: 56px;
  align-items: start;
}
.team-showcase__photos {
  display: flex;
  gap: 12px;
  min-width: 0;
}
.team-showcase__col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.team-showcase__col--offset-large {
  margin-top: 68px;
}
.team-showcase__col--offset-small {
  margin-top: 32px;
}
.team-photo-card {
  width: 155px;
  height: 165px;
  flex: 0 0 auto;
  border: 1px solid var(--hairline);
  background-image:
    linear-gradient(180deg, rgba(11,11,12,0), rgba(11,11,12,0.42)),
    var(--photo);
  background-position:
    center,
    var(--photo-position, center);
  background-size:
    cover,
    var(--photo-size, cover);
  background-repeat: no-repeat;
  filter: grayscale(1) brightness(0.76);
  opacity: 1;
  transition:
    filter 500ms var(--ease-calm),
    opacity 300ms var(--ease-operator),
    border-color 300ms var(--ease-operator);
}
.team-photo-card--tall {
  width: 172px;
  height: 182px;
}
.team-photo-card--short {
  width: 142px;
  height: 150px;
}
.team-photo-card.is-active,
.team-showcase:not(.has-active) .team-photo-card:first-child {
  filter: grayscale(0) brightness(1);
  border-color: rgba(244, 241, 236, 0.36);
}
.team-showcase.has-active .team-photo-card.is-dimmed {
  opacity: 0.52;
}
.team-showcase__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding-top: 4px;
}
.team-member-row {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  row-gap: 5px;
  width: 100%;
  text-align: left;
  opacity: 1;
  transition:
    opacity 300ms var(--ease-operator),
    color 300ms var(--ease-operator);
}
.team-member-row > span {
  grid-row: 1 / span 2;
  width: 16px;
  height: 10px;
  border: 1px solid rgba(244, 241, 236, 0.22);
  background: rgba(244, 241, 236, 0.12);
  transition:
    width 300ms var(--ease-operator),
    border-color 300ms var(--ease-operator),
    background 300ms var(--ease-operator);
}
.team-member-row strong {
  color: rgba(244, 241, 236, 0.82);
  font-family: var(--text);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.team-member-row small {
  color: var(--steel);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
}
.team-member-row.is-active > span {
  width: 22px;
  border-color: rgba(244, 241, 236, 0.82);
  background: rgba(244, 241, 236, 0.82);
}
.team-member-row.is-active strong {
  color: var(--bone);
}
.team-showcase.has-active .team-member-row.is-dimmed {
  opacity: 0.48;
}
@keyframes team-card-in {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (max-width: 900px) {
  .bts-expand,
  .bts-expand__stage {
    min-height: auto;
  }
  .bts-expand {
    width: min(100%, 680px);
    margin: 0 auto 48px;
  }
  .bts-expand__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 56px 14px 188px;
  }
  .bts-expand__title {
    inset: 22px 0 auto;
    flex-direction: column;
    gap: 8px;
    opacity: 0.22;
  }
  .bts-expand__title span,
  .bts-expand__title span:first-child {
    font-size: clamp(38px, 15vw, 64px);
    transform: none;
  }
  .bts-expand__media {
    width: min(calc(330px + (var(--expand-progress) * 930px)), 100%);
    margin: 0 auto;
  }
  .bts-expand__meta {
    left: 50%;
    right: auto;
    bottom: 40px;
    width: min(calc(100% - 40px), 520px);
    max-width: none;
    justify-items: center;
    text-align: center;
    transform: translateX(-50%);
  }
  .bts-expand__meta strong {
    font-size: clamp(34px, 11vw, 46px);
  }
  .process__strip { grid-template-columns: 1fr 1fr; }
  .step { border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); padding: 24px; }
  .step:nth-child(2n) { border-right: 0; }
  .step__num { font-size: 44px; }
  .team-intro {
    margin-top: 48px;
  }
  .team-glow-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 48px;
  }
  .team-glow-card {
    max-width: 300px;
  }
  .team-glow-card__glow,
  .team-glow-card__body {
    height: 260px;
  }
  .team-showcase {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .team-showcase__photos {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x proximity;
  }
  .team-showcase__col {
    flex: 0 0 auto;
  }
  .team-showcase__col--offset-large {
    margin-top: 48px;
  }
  .team-showcase__col--offset-small {
    margin-top: 22px;
  }
  .team-photo-card {
    width: 110px;
    height: 120px;
    scroll-snap-align: start;
  }
  .team-photo-card--tall {
    width: 122px;
    height: 132px;
  }
  .team-photo-card--short {
    width: 106px;
    height: 116px;
  }
  .team-showcase__list {
    grid-template-columns: 1fr 1fr;
    gap: 18px 14px;
  }
  .team-member-row strong {
    font-size: 16px;
  }
  .team-member-row small {
    font-size: 8px;
    letter-spacing: 0.16em;
  }
}

/* ============================================================
   CLOSING CTA
   ============================================================ */
.closing {
  background: var(--pewter);
  padding: 160px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.closing__inner {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}
.closing .h2 {
  margin-bottom: 24px;
  display: grid;
  gap: 4px;
  color: var(--bone);
  text-shadow: 0 0 34px rgba(244, 241, 236, 0.18);
}
.closing .sub {
  font-size: 18px;
  color: rgba(244, 241, 236, 0.82);
  margin-bottom: 40px;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
}
.closing__ctas {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.closing__phone {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--steel);
  margin-top: 28px;
}
.closing__phone a { color: var(--bone); border-bottom: 1px solid var(--hairline-strong); padding-bottom: 2px; }
.closing__phone a:hover { color: var(--bronze); border-bottom-color: var(--bronze); }
.closing.site-scene { background: transparent; }
.site-scene--cta::after {
  background:
    linear-gradient(90deg, rgba(5, 5, 6, 0.86), rgba(5, 5, 6, 0.54) 46%, rgba(5, 5, 6, 0.32)),
    linear-gradient(180deg, rgba(5, 5, 6, 0.28), rgba(5, 5, 6, 0.78));
}
.closing-socials {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  margin-top: 36px;
}
.closing-social {
  position: relative;
  padding: 12px 18px;
  font-family: var(--text);
  font-size: 16px;
  color: rgba(244, 241, 236, 0.82);
  transition:
    opacity var(--dur-operator) var(--ease-operator),
    color var(--dur-operator) var(--ease-operator);
}
.closing-socials:hover .closing-social:not(:hover) {
  opacity: 0.48;
}
.closing-social span {
  position: relative;
  z-index: 2;
}
.closing-social img {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 42px;
  width: 56px;
  height: 56px;
  object-fit: contain;
  opacity: 0;
  filter: blur(2px);
  transform: translate3d(-50%, -10px, 0) rotate(var(--social-rotate, -4deg));
  transition:
    opacity 200ms var(--ease-operator),
    filter 200ms var(--ease-operator),
    transform 200ms var(--ease-operator);
}
.closing-social:nth-child(2n) {
  --social-rotate: 5deg;
}
.closing-social:hover {
  color: var(--bone);
}
.closing-social:hover img {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(-50%, -24px, 0) rotate(var(--social-rotate, -4deg));
}

.sticky-booking-bar {
  position: fixed;
  z-index: 68;
  left: 50%;
  bottom: calc(22px + env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(244, 241, 236, 0.16);
  background: rgba(7, 8, 9, 0.76);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, 20px, 0);
  transition:
    opacity var(--dur-operator) var(--ease-operator),
    transform var(--dur-operator) var(--ease-operator);
}
.sticky-booking-bar.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(-50%, 0, 0);
}
.subtle-book-button {
  position: relative;
  min-width: 148px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid rgba(244, 241, 236, 0.62);
  border-radius: 999px;
  color: var(--bone);
  font-family: var(--text);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: rgba(11, 14, 16, 0.36);
  transition:
    border-color 500ms var(--ease-operator),
    box-shadow 500ms var(--ease-operator),
    transform 500ms var(--ease-operator),
    color 300ms var(--ease-operator);
}
.subtle-book-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(244, 241, 236, 0.06), transparent);
  transform: translateX(-110%);
  transition: transform 700ms var(--ease-operator);
}
.subtle-book-button::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(177, 86, 15, 0);
  border-radius: inherit;
  opacity: 0;
  transition:
    border-color 500ms var(--ease-operator),
    opacity 500ms var(--ease-operator);
}
.subtle-book-button span,
.subtle-book-button i {
  position: relative;
  z-index: 1;
}
.subtle-book-button i {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--bronze);
  box-shadow: 0 0 0 rgba(177, 86, 15, 0);
  transition:
    background 500ms var(--ease-operator),
    box-shadow 500ms var(--ease-operator),
    transform 500ms var(--ease-operator);
}
.subtle-book-button i::before,
.subtle-book-button i::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--bronze);
  opacity: 0;
}
.subtle-book-button i::before {
  animation: sticky-dot-pulse 2200ms ease-out infinite;
}
.subtle-book-button i::after {
  animation: sticky-dot-ping 2400ms ease-out infinite;
}
.subtle-book-button:hover,
.subtle-book-button:focus-visible {
  border-color: var(--bone);
  color: var(--bone);
  box-shadow: 0 0 28px rgba(177, 86, 15, 0.18);
  transform: translateY(-1px) scale(1.025);
}
.subtle-book-button:hover::before,
.subtle-book-button:focus-visible::before {
  transform: translateX(110%);
}
.subtle-book-button:hover::after,
.subtle-book-button:focus-visible::after {
  border-color: rgba(177, 86, 15, 0.38);
  opacity: 1;
}
.subtle-book-button:hover i,
.subtle-book-button:focus-visible i {
  background: #D49A49;
  box-shadow: 0 0 18px rgba(212, 154, 73, 0.48);
  transform: scale(1.08);
}
.subtle-book-button:active {
  transform: scale(0.96);
}
.sticky-booking-bar__link {
  min-height: 44px;
  min-width: 92px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid rgba(244, 241, 236, 0.12);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.78);
  background: rgba(244, 241, 236, 0.025);
  transition:
    border-color var(--dur-operator) var(--ease-operator),
    background var(--dur-operator) var(--ease-operator),
    color var(--dur-operator) var(--ease-operator);
}
.sticky-booking-bar__link:hover,
.sticky-booking-bar__link:focus-visible {
  border-color: rgba(244, 241, 236, 0.28);
  background: rgba(177, 86, 15, 0.12);
  color: var(--bone);
}
@keyframes sticky-dot-pulse {
  0%, 100% { opacity: 0; transform: scale(1); }
  45% { opacity: 0.26; transform: scale(1.65); }
}
@keyframes sticky-dot-ping {
  0% { opacity: 0.42; transform: scale(1); }
  75%, 100% { opacity: 0; transform: scale(2.35); }
}
@media (max-width: 700px) {
  .sticky-booking-bar {
    left: 12px;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    transform: translate3d(0, 16px, 0);
  }
  .sticky-booking-bar.is-visible {
    transform: translate3d(0, 0, 0);
  }
  .subtle-book-button {
    min-width: 0;
    flex: 1 1 auto;
  }
  .sticky-booking-bar__link {
    min-width: 70px;
    padding: 0 10px;
    font-size: 9px;
  }
  .closing-social {
    flex: 1 1 50%;
    padding: 14px 10px;
    font-size: 15px;
  }
  .closing-social img {
    width: 44px;
    height: 44px;
  }
}

/* ============================================================
   FOOTER
   ============================================================ */
.motion-footer-wrap {
  position: relative;
  height: 100svh;
  overflow: hidden;
  border-top: 1px solid var(--hairline);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.motion-footer {
  height: 100svh;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background: var(--ink);
  color: var(--bone);
  isolation: isolate;
}
.motion-footer__aurora {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  width: 82vw;
  height: 62svh;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(28, 58, 64, 0.3), rgba(184, 112, 44, 0.18) 42%, transparent 70%);
  filter: blur(76px);
  transform: translate(-50%, -50%);
  animation: footer-breathe 8s var(--ease-frame) infinite alternate;
}
.motion-footer__grid-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.38;
  background-size: 60px 60px;
  background-image:
    linear-gradient(to right, rgba(244, 241, 236, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(244, 241, 236, 0.035) 1px, transparent 1px);
  mask-image: linear-gradient(to bottom, transparent, black 24%, black 76%, transparent);
}
.motion-footer__giant {
  position: absolute;
  z-index: 0;
  left: 50%;
  bottom: -5vw;
  transform: translateX(-50%) translateY(var(--footer-y, 0px)) scale(var(--footer-scale, 1));
  font-family: var(--text);
  font-size: clamp(104px, 23vw, 330px);
  font-weight: 800;
  line-height: 0.76;
  letter-spacing: -0.05em;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px rgba(244, 241, 236, 0.075);
  background: linear-gradient(180deg, rgba(244, 241, 236, 0.12), transparent 62%);
  -webkit-background-clip: text;
  background-clip: text;
  opacity: var(--footer-opacity, 1);
  pointer-events: none;
  user-select: none;
}
.motion-footer__marquee {
  position: absolute;
  z-index: 2;
  top: 56px;
  left: -4vw;
  width: 108vw;
  overflow: hidden;
  transform: rotate(-2deg);
  border-top: 1px solid rgba(244, 241, 236, 0.14);
  border-bottom: 1px solid rgba(244, 241, 236, 0.14);
  background: rgba(11, 14, 16, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 15px 0;
}
.motion-footer__marquee-track {
  display: flex;
  width: max-content;
  gap: 44px;
  animation: footer-scroll-marquee 38s linear infinite;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.64);
}
.motion-footer__marquee-track span {
  white-space: nowrap;
}
.motion-footer__center {
  position: relative;
  z-index: 3;
  width: min(100%, 980px);
  margin: auto;
  padding: 160px var(--gutter) 96px;
  text-align: center;
  transform: translate3d(0, var(--footer-content-y, 0px), 0);
  opacity: var(--footer-content-opacity, 1);
}
.motion-footer__heading {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(56px, 9vw, 126px);
  line-height: 0.88;
  color: var(--bone);
  margin-bottom: 44px;
  text-shadow: 0 0 38px rgba(244, 241, 236, 0.12);
  transform: translate3d(0, var(--footer-content-y, 0px), 0);
  opacity: var(--footer-content-opacity, 1);
}
.motion-footer__heading span {
  display: block;
}
.motion-footer__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  perspective: 900px;
  transform: translate3d(0, var(--footer-content-y, 0px), 0);
  opacity: var(--footer-content-opacity, 1);
}
.motion-pill {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border: 1px solid rgba(244, 241, 236, 0.16);
  background:
    linear-gradient(145deg, rgba(244, 241, 236, 0.055), rgba(244, 241, 236, 0.018));
  color: var(--bone);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 1px rgba(244, 241, 236, 0.12);
  transition:
    background var(--dur-operator) var(--ease-operator),
    border-color var(--dur-operator) var(--ease-operator),
    color var(--dur-operator) var(--ease-operator);
  will-change: transform;
}
.motion-pill:hover,
.motion-pill:focus-visible {
  border-color: rgba(244, 241, 236, 0.34);
  background: rgba(184, 112, 44, 0.12);
}
.footer-social-cta {
  position: relative;
  z-index: 4;
  width: min(100%, 980px);
  margin: -70px auto 30px;
  padding: 0 var(--gutter);
  display: grid;
  gap: 18px;
  justify-items: center;
}
.footer-social-cta__actions,
.footer-social-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.footer-action,
.footer-social-badges a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(244, 241, 236, 0.16);
  background: rgba(244, 241, 236, 0.028);
  color: rgba(244, 241, 236, 0.78);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition:
    border-color var(--dur-operator) var(--ease-operator),
    background var(--dur-operator) var(--ease-operator),
    color var(--dur-operator) var(--ease-operator),
    transform var(--dur-operator) var(--ease-operator);
}
.footer-action {
  padding: 0 18px;
}
.footer-action--signal {
  border-color: rgba(200, 51, 42, 0.42);
  background: var(--signal);
  color: var(--bone);
}
.footer-social-badges a {
  padding: 0 14px;
  min-width: 92px;
}
.footer-action:hover,
.footer-action:focus-visible,
.footer-social-badges a:hover,
.footer-social-badges a:focus-visible {
  border-color: rgba(244, 241, 236, 0.32);
  background: rgba(177, 86, 15, 0.14);
  color: var(--bone);
  transform: translateY(-1px);
}
.motion-footer__bottom {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  padding: 0 var(--gutter) 36px;
}
.motion-footer__copy {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(244, 241, 236, 0.52);
}
.motion-footer__top {
  justify-self: end;
}
@keyframes footer-breathe {
  from { transform: translate(-50%, -50%) scale(0.96); opacity: 0.62; }
  to { transform: translate(-50%, -50%) scale(1.08); opacity: 1; }
}
@keyframes footer-scroll-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 900px) {
  .motion-footer__marquee {
    top: 96px;
  }
  .motion-footer__center {
    padding: 180px 24px 72px;
  }
  .motion-footer__bottom {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    padding: 0 24px 28px;
  }
  .footer-social-cta {
    margin: -28px auto 24px;
    padding: 0 18px;
  }
  .footer-social-badges a {
    flex: 1 1 30%;
    min-width: 96px;
  }
  .motion-footer__top {
    justify-self: center;
  }
}
.footer { background: var(--ink); padding: 96px 0 0; }
.footer__grid {
  display: grid;
  grid-template-columns: 5fr 3fr 3fr 3fr;
  gap: var(--s-7);
  padding-bottom: 80px;
  border-bottom: 1px solid var(--hairline);
}
.footer__col h5 {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 24px;
  font-weight: 400;
}
.footer__brand {
  font-family: var(--display);
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0;
  color: var(--bone);
  margin-bottom: 12px;
}
.footer__tag {
  font-size: 14px;
  color: var(--steel);
  margin-bottom: 28px;
}
.footer__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--bone);
}
.footer__contact a { border-bottom: 1px solid var(--hairline); padding-bottom: 2px; width: fit-content; }
.footer__contact a:hover { border-bottom-color: var(--bone); }
.footer__list { display: flex; flex-direction: column; gap: 10px; }
.footer__list a {
  font-family: var(--text);
  font-size: 15px;
  color: var(--bone);
  opacity: 0.85;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.footer__list a:hover { opacity: 1; color: var(--bone); }
.footer__list a .arr {
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity var(--dur-operator) var(--ease-operator), transform var(--dur-operator) var(--ease-operator);
  color: var(--bronze);
}
.footer__list a:hover .arr { opacity: 1; transform: translateX(0); }
.footer__path-note {
  color: var(--steel);
  margin-left: 8px;
  font-size: 12px;
}

.footer__bottom {
  background: var(--pewter);
  margin-top: 0;
}
.footer__bottom-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 28px 0;
  gap: 24px;
}
.footer__copy {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--steel);
  text-transform: lowercase;
}
.footer__sign {
  font-weight: 400;
  font-size: 32px;
  line-height: 1;
  color: var(--bone);
  white-space: nowrap;
}
.footer__sign-stay {
  font-family: var(--mono);
  font-size: 0.78em;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.footer__sign-resilient {
  font-family: var(--display);
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0;
  color: var(--crimson);
}
@media (max-width: 1180px) {
  .footer__grid {
    grid-template-columns: 1.4fr 1fr;
    gap: var(--s-5);
  }
}
@media (max-width: 900px) {
  .footer__grid { grid-template-columns: 1fr; gap: 48px; padding-bottom: 48px; }
  .footer__bottom-row { grid-template-columns: 1fr; text-align: center; gap: 12px; }
  .footer__contact a,
  .footer__list a,
  .founder__link,
  .closing__phone a,
  .meta-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* ============================================================
   STUB / SUBPAGE shell
   ============================================================ */
.subhero {
  padding: 200px 0 96px;
  border-bottom: 1px solid var(--hairline);
}
.subhero--ring {
  background: radial-gradient(1200px 600px at 50% 0%, rgba(184,112,44,0.08), transparent 60%);
}
.subhero .crumb {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 24px;
}
.subhero .h1 { max-width: 18ch; margin-bottom: 24px; }
.subhero .lede {
  font-size: 19px;
  color: var(--steel);
  max-width: 60ch;
  line-height: 1.55;
}
.narrow-wrap { max-width: 720px; }
.form-lede { margin-bottom: 40px; }

.filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
  border-top: 1px solid var(--hairline);
  padding-top: 24px;
}
.work-filter {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--steel);
  padding: 10px 14px;
  border: 1px solid var(--hairline);
  background: transparent;
  min-height: 44px;
}
.work-filter.is-active,
.work-filter:hover,
.work-filter:focus-visible {
  color: var(--bone);
  border-color: var(--hairline-strong);
}

.work-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.work-card {
  border: 1px solid var(--hairline);
  background: var(--ink);
  overflow: hidden;
  transition: border-color .3s ease;
}
.work-card:hover { border-color: var(--hairline-strong); }
.work-card__still {
  aspect-ratio: 16/9;
  background:
    radial-gradient(80% 80% at 50% 30%, rgba(244, 241, 236, 0.04), transparent 70%),
    var(--pewter);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.work-card__still::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(11,11,12,0.08), rgba(11,11,12,0.58)),
    radial-gradient(85% 80% at 50% 45%, transparent 42%, rgba(11,11,12,0.42) 100%);
}
.work-card__still--harpers { background-image: url("assets/work/harpers-bazaar.jpg"); }
.work-card__still--publix { background-image: url("assets/work/publix.png"); }
.work-card__still--jaguar { background-image: url("assets/work/jaguar-corvette.jpg"); }
.work-card__still--amazon { background-image: url("assets/work/amazon-trailer.jpg"); }
.work-card__still--football { background-image: url("assets/work/football-highlight.png"); }
.work-card__still--ring { background-image: url("assets/work/frames/ring-of-fire-03.jpg"); }
.work-card__still--marriott { background-image: url("assets/work/frames/marriott-water-street-01.jpg"); }
.work-card__still--soundlab { background-image: url("assets/work/sound-lab-void.jpg"); }
.work-card__still--irene {
  background-image: url("assets/work/irene-yacht-edit.jpg");
  background-position: center 44%;
}
.work-card__still--nvidia {
  background-image:
    radial-gradient(80% 80% at 62% 24%, rgba(45,155,158,0.18), transparent 52%),
    linear-gradient(135deg, #0e1418, #182028 58%, #0b0b0c);
}
.work-card__still--puma {
  background-image:
    radial-gradient(72% 72% at 40% 20%, rgba(184,112,44,0.16), transparent 54%),
    linear-gradient(135deg, #161618, #1f1d22 62%, #0b0b0c);
}
.work-card__still .badge {
  position: absolute;
  z-index: 2;
  top: 16px; left: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--steel);
  padding: 6px 8px;
  background: rgba(11,11,12,0.6);
  border: 1px solid var(--hairline);
}
.work-card__meta {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  padding: 24px;
  gap: 16px;
  border-top: 1px solid var(--hairline);
}
.work-card__scene {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bronze);
}
.work-card__title {
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.15;
  color: var(--bone);
  letter-spacing: 0;
}
.work-card__year {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--steel);
}
.work-card__synopsis {
  color: var(--steel);
  font-size: 14px;
  line-height: 1.5;
  max-width: 52ch;
}
.work-card__action {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--bone);
  letter-spacing: 0.16em;
  text-transform: lowercase;
}
@media (max-width: 900px) { .work-grid { grid-template-columns: 1fr; gap: 16px; } }

.service-stack {
  display: grid;
  gap: 0;
}
.service-lane {
  display: grid;
  grid-template-columns: 200px 1fr 280px;
  gap: 48px;
  padding: 56px 0;
  border-bottom: 1px solid var(--hairline);
}
.service-lane__meta-note {
  font-size: 13px;
  color: var(--bone);
}
.service-lane__meta-note + .service-lane__meta-note {
  color: var(--steel);
  margin-top: 6px;
}
.service-lane__title {
  font-size: 36px;
  margin-bottom: 16px;
}
.service-lane__body {
  max-width: 50ch;
  margin-bottom: 24px;
}
.service-lane__list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 10px;
}
.service-lane__list li {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--bone);
  padding-left: 20px;
  position: relative;
}
.service-lane__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 1px;
  background: var(--signal);
}
.service-lane__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-self: center;
}
@media (max-width: 1050px) {
  .service-lane { grid-template-columns: 1fr; gap: 24px; }
  .service-lane__actions { align-self: start; }
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.contact-card {
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: var(--s-5);
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 380px;
  min-width: 0;
}
.contact-card .kicker { color: var(--teal); }
.contact-card .h3 { max-width: 14ch; }
.contact-card .desc { color: var(--steel); font-size: 15px; }
.contact-card .btn { margin-top: auto; }
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .contact-card {
    padding: 32px 24px;
    min-height: auto;
  }
  .contact-card .btn {
    width: 100%;
    justify-content: center;
  }
}

.email-form {
  display: flex;
  gap: 0;
  border: 1px solid var(--hairline-strong);
  max-width: 540px;
  min-width: 0;
}
.email-form input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 18px 20px;
  font: inherit;
  color: var(--bone);
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0.04em;
}
.email-form input::placeholder { color: var(--steel); }
.email-form input:focus { background: rgba(244,241,236,0.02); }
.email-form button {
  padding: 0 24px;
  background: var(--signal);
  color: var(--bone);
  font-family: var(--text);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.map-embed {
  aspect-ratio: 16/9;
  background:
    radial-gradient(circle at 30% 40%, rgba(200,51,42,0.08), transparent 40%),
    linear-gradient(135deg, rgba(28, 58, 64, 0.18), rgba(11, 11, 12, 0.68)),
    var(--pewter);
  border: 1px solid var(--hairline);
  position: relative;
  overflow: hidden;
}
.map-embed .pin {
  position: absolute;
  top: 38%; left: 42%;
  width: 14px; height: 14px;
  background: var(--signal);
  border: 2px solid var(--bone);
  border-radius: 0;
  box-shadow: 0 0 0 6px rgba(200,51,42,0.18), 0 0 0 14px rgba(200,51,42,0.08);
}
.map-embed .label {
  position: absolute;
  top: calc(38% + 24px); left: calc(42% - 60px);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--bone);
  background: var(--ink);
  border: 1px solid var(--hairline);
  padding: 6px 10px;
  text-transform: uppercase;
}

/* utility */
.divider { height: 1px; background: var(--hairline); margin: 96px 0; }

/* ============================================================
   FRAMES FROM THE FIELD - marquee
   ============================================================ */
.frames {
  padding: 96px 0 120px;
  border-bottom: 1px solid var(--hairline);
  position: relative;
  overflow: hidden;
}
.frames__head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--col-gap);
  align-items: end;
  padding: 0 var(--gutter);
  margin: 0 auto var(--s-6);
  max-width: var(--maxw);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--hairline);
}
.frames__head .num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--steel);
  text-transform: uppercase;
}
.frames__head .h2 { max-width: 16ch; }
.frames__head .sub {
  font-size: 17px;
  color: var(--steel);
  margin-top: 12px;
  max-width: 56ch;
}
.frame-morph {
  width: min(1180px, calc(100% - var(--gutter) * 2));
  margin: 0 auto 72px;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
.frame-morph__copy {
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: 28px 0;
}
.frame-morph__copy h3 {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1;
  color: var(--bone);
  margin: 16px 0;
}
.frame-morph__copy p {
  color: rgba(244, 241, 236, 0.7);
  line-height: 1.55;
}
.frame-morph__stage {
  position: relative;
  height: min(64svh, 620px);
  min-height: 480px;
  border: 1px solid rgba(244, 241, 236, 0.16);
  background:
    radial-gradient(70% 90% at 50% 20%, rgba(28, 58, 64, 0.18), transparent 70%),
    rgba(11, 14, 16, 0.52);
  overflow: hidden;
  perspective: 1100px;
}
.frame-morph__stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(72% 76% at 50% 42%, rgba(244, 241, 236, 0.035), transparent 66%),
    linear-gradient(90deg, rgba(11, 14, 16, 0.76), transparent 50%, rgba(11, 14, 16, 0.76));
}
.morph-frame {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: clamp(58px, 6vw, 92px);
  aspect-ratio: 3 / 4;
  border: 1px solid rgba(244, 241, 236, 0.28);
  background: #070809;
  overflow: hidden;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition:
    border-color var(--dur-operator) var(--ease-operator),
    opacity 180ms linear;
  will-change: transform, opacity;
}
.morph-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.9) contrast(1.06);
}
.morph-frame span {
  position: absolute;
  left: 6px;
  bottom: 6px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.12em;
  color: var(--bone);
  padding: 2px 4px;
  background: rgba(11, 14, 16, 0.64);
}
.morph-frame:hover,
.morph-frame:focus-visible {
  border-color: var(--bone);
  z-index: 4;
}
.frames__track-wrap {
  position: relative;
  mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
}
.frames__track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: frames-scroll 60s linear infinite;
  will-change: transform;
}
.frames__track:hover { animation-play-state: paused; }
@keyframes frames-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.frame {
  position: relative;
  width: 360px;
  aspect-ratio: 16/9;
  border: 1px solid var(--hairline);
  flex-shrink: 0;
  overflow: hidden;
  transition: transform var(--dur-operator) var(--ease-operator);
}
.frame:hover { transform: scale(1.02); }
.frame .still {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.04);
  transform: scale(1.012);
  transition:
    transform var(--dur-frame) var(--ease-frame),
    filter var(--dur-frame) var(--ease-frame);
}
.frame:hover .still {
  filter: saturate(1) contrast(1.03);
  transform: scale(1.052);
}
.still--bazaar { --pf: linear-gradient(135deg, #1a1311, #2a1f1a); }
.still--ring { --pf: linear-gradient(135deg, #1a0f08, #3a2310); }
.still--puma { --pf: linear-gradient(135deg, #161618, #1f1d22); }
.still--nvidia { --pf: linear-gradient(135deg, #0e1418, #182028); }
.still--publix { --pf: linear-gradient(135deg, #14181a, #1e2528); }
.still--jaguar { --pf: linear-gradient(135deg, #181410, #2a1f14); }
.still--amazon { --pf: linear-gradient(135deg, #0e0e10, #181820); }
.still--founder { --pf: linear-gradient(135deg, #1c1408, #3c2510); }
.still--studio { --pf: linear-gradient(135deg, #14110e, #251c14); }
.still--athlete { --pf: linear-gradient(135deg, #100c0a, #261810); }
.frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: var(--brand-grain);
  background-size: 320px 320px;
  mix-blend-mode: overlay;
  opacity: 0.035;
  pointer-events: none;
}
.frame__cap {
  position: absolute;
  z-index: 2;
  bottom: 12px;
  left: 12px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: lowercase;
  color: var(--bone);
  padding: 6px 8px;
  background: rgba(11,11,12,0.55);
  border: 1px solid var(--hairline);
  opacity: 0;
  transition: opacity var(--dur-operator) var(--ease-operator);
}
.frame:hover .frame__cap { opacity: 1; }
@media (max-width: 900px) {
  .frame-morph {
    width: calc(100% - 48px);
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 48px;
  }
  .frame-morph__copy {
    padding: 22px 0;
  }
  .frame-morph__stage {
    min-height: 360px;
    height: 48svh;
  }
  .morph-frame {
    width: clamp(52px, 14vw, 68px);
  }
  .frame { width: min(76vw, 280px); }
  .frames__track { animation-duration: 38s; }
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq {
  border-top: 1px solid var(--hairline);
}
.faq__row {
  border-bottom: 1px solid var(--hairline);
  padding: 28px 0;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
}
.faq__summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
  min-height: 44px;
}
.faq__q {
  font-family: var(--text);
  font-weight: 500;
  font-size: 19px;
  color: var(--bone);
  letter-spacing: 0;
}
.faq__icon {
  width: 22px; height: 22px;
  position: relative;
  flex-shrink: 0;
  margin-top: 4px;
}
.faq__icon::before, .faq__icon::after {
  content: "";
  position: absolute;
  background: var(--bone);
}
.faq__icon::before { left: 0; right: 0; top: 50%; height: 1px; transform: translateY(-50%); }
.faq__icon::after  { top: 0; bottom: 0; left: 50%; width: 1px; transform: translateX(-50%); transition: transform .25s ease; }
.faq__row[open] .faq__icon::after { transform: translateX(-50%) scaleY(0); }
.faq__a {
  grid-column: 1 / -1;
  margin-top: 16px;
  font-family: var(--display);
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.45;
  color: var(--steel);
  max-width: 70ch;
  display: none;
}
.faq__row[open] .faq__a { display: block; }

/* ============================================================
   CALENDLY EMBED CONTAINER
   ============================================================ */
.calendly-embed {
  width: 100%;
  max-width: 920px;
  margin: 32px auto 0;
  aspect-ratio: 16/9;
  border: 1px solid var(--hairline-strong);
  background: var(--pewter);
  position: relative;
  overflow: hidden;
}
.calendly-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.calendly-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
  background:
    radial-gradient(50% 50% at 50% 50%, rgba(244,241,236,0.04), transparent 70%),
    var(--pewter);
}
.calendly-placeholder .lab {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 14px;
}
.calendly-placeholder .ttl {
  font-family: var(--display);
  font-size: 28px;
  color: var(--bone);
  margin-bottom: 18px;
}
@media (max-width: 700px) {
  .calendly-embed { aspect-ratio: 4/5; }
}

/* Local time pill in footer */
.local-time {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--steel);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.local-time .ldot {
  width: 6px; height: 6px; border-radius: 0;
  background: #65a865;
  box-shadow: 0 0 8px rgba(101, 168, 101, 0.6);
}

/* Thesis line */
.thesis {
  font-family: var(--display);
  font-style: italic;
  font-size: 24px;
  color: var(--bone);
  border-left: 2px solid var(--signal);
  padding-left: 18px;
  margin-top: 32px;
  max-width: 56ch;
}

/* ROF accent (only here) */
.rof-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ember);
  border: 1px solid currentColor;
  padding: 8px 12px;
  margin-bottom: 24px;
}
.rof-tag .dot { width: 6px; height: 6px; background: currentColor; border-radius: 0; }

.feature-split,
.studio-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-7);
}
.studio-split { grid-template-columns: 5fr 7fr; }
.copy-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
}
.copy-narrow {
  max-width: 900px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.inline-actions {
  display: flex;
  gap: 16px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.inline-actions--loose { margin-top: 48px; }
.team-plate {
  position: relative;
  aspect-ratio: 16 / 6;
  background:
    linear-gradient(90deg, rgba(11,11,12,0.82), rgba(11,11,12,0.34), rgba(11,11,12,0.88)),
    url("assets/brand/founder-water.jpg") center 42% / cover no-repeat;
  overflow: hidden;
}
.team-plate::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 80% at 30% 50%, transparent 30%, rgba(11,11,12,0.7) 100%);
}
.team-plate__label {
  position: absolute;
  bottom: 24px;
  left: var(--gutter);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--steel);
  text-transform: uppercase;
}
.standard-grid,
.insight-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.insight-grid { grid-template-columns: repeat(3, 1fr); }
.standard-card,
.insight-card {
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: var(--s-5);
}
.standard-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 24px;
  align-items: center;
}
.standard-card__portrait {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--hairline);
  position: relative;
  background: linear-gradient(135deg, #171311, #292019);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.standard-card__portrait::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(11,11,12,0.04), rgba(11,11,12,0.64)),
    radial-gradient(80% 80% at 50% 40%, transparent 42%, rgba(11,11,12,0.46) 100%);
}
.standard-card__portrait::after {
  content: attr(data-label);
  position: absolute;
  bottom: 6px;
  left: 6px;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.16em;
  color: var(--steel);
  text-transform: lowercase;
}
.standard-card__portrait--direction { background-image: url("assets/work/showreel-2024.jpg"); }
.standard-card__portrait--prep { background-image: url("assets/hero-poster.jpg"); }
.standard-card__portrait--production { background-image: url("assets/work/jaguar-corvette.jpg"); }
.standard-card__portrait--post { background-image: url("assets/brand/resilient-teal-source.jpg"); }
.standard-card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1);
}
.standard-card__name {
  font-family: var(--display);
  font-size: 24px;
  line-height: 1.05;
  color: var(--bone);
  letter-spacing: 0;
  margin-bottom: 8px;
}
.standard-card__line,
.insight-card__line {
  font-size: 14px;
  color: var(--steel);
  line-height: 1.5;
}
.standard-note {
  margin-top: 32px;
  color: var(--steel);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: lowercase;
}
.still-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.still-frame {
  margin: 0;
  border: 1px solid var(--hairline);
  aspect-ratio: 4 / 5;
  position: relative;
  background: linear-gradient(135deg, #15110f, #292018);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.still-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(11,11,12,0.02), rgba(11,11,12,0.68)),
    radial-gradient(85% 85% at 50% 35%, transparent 38%, rgba(11,11,12,0.5) 100%);
}
.still-frame--harpers { background-image: url("assets/work/harpers-bazaar.jpg"); }
.still-frame--showreel { background-image: url("assets/work/showreel-2024.jpg"); }
.still-frame--jaguar { background-image: url("assets/work/jaguar-corvette.jpg"); }
.still-frame--publix { background-image: url("assets/work/publix.png"); }
.still-frame--amazon { background-image: url("assets/work/amazon-trailer.jpg"); }
.still-frame--football { background-image: url("assets/work/football-highlight.png"); }
.still-frame--held { background-image: url("assets/work/frames/monkeytilt-02.jpg"); }
.still-frame--mounted { background-image: url("assets/work/frames/midori-01.jpg"); }
.still-frame--founder {
  background-image: url("assets/work/frames/ava-crystal-01.jpg");
  background-size: 154%;
  background-position: 52% 46%;
}
.still-frame--teal { background-image: url("assets/work/frames/star-wars-bazaar-03.jpg"); }
.still-frame--crimson { background-image: url("assets/work/frames/dean-painted-canvas-01.jpg"); }
.still-frame--ring { background-image: url("assets/work/frames/ring-of-fire-04.jpg"); }
.still-frame--marriott { background-image: url("assets/work/frames/marriott-water-street-02.jpg"); }
.still-frame--nvidia { background-image: url("assets/work/frames/nvidia-team-liquid-02.jpg"); }
.still-frame--puma { background-image: url("assets/work/frames/puma-01.jpg"); }
.still-frame--monkeytilt { background-image: url("assets/work/frames/monkeytilt-01.jpg"); }
.still-frame--midori { background-image: url("assets/work/frames/midori-03.jpg"); }
.still-frame--tequila { background-image: url("assets/work/frames/tequila-gran-diamante-02.jpg"); }
.still-frame--athlogic { background-image: url("assets/work/frames/athlogic-02.jpg"); }
.still-frame--anytime {
  background-image: url("assets/work/frames/anytime-fitness-02.jpg");
  background-size: 168%;
  background-position: 58% 52%;
}
.still-frame--maxx {
  background-image: url("assets/work/frames/maxx-out-01.jpg");
  background-size: 148%;
  background-position: 50% 52%;
}
.still-frame--starwars { background-image: url("assets/work/frames/star-wars-bazaar-02.jpg"); }
.still-frame--oneofus { background-image: url("assets/work/frames/one-of-us-01.jpg"); }
.still-frame--ring-wide { background-image: url("assets/work/frames/ring-of-fire-02.jpg"); }
.still-frame figcaption {
  position: absolute;
  z-index: 2;
  bottom: 8px;
  left: 8px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.18em;
  color: var(--steel);
  text-transform: lowercase;
}
.insight-card {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 360px;
  color: inherit;
}
.insight-card__frame {
  aspect-ratio: 16 / 10;
  background:
    linear-gradient(180deg, rgba(11, 14, 16, 0.08), rgba(11, 14, 16, 0.54)),
    var(--insight-frame, linear-gradient(135deg, #171311, #292018)) center / cover no-repeat;
  margin: 0 -20px;
  border: 1px solid var(--hairline);
}
.insight-card__title { margin-top: auto; }
.insight-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

/* ============================================================
   COLORIST PAGE
   ============================================================ */
.colorist-hero .wrap {
  position: relative;
}
.colorist-avatar {
  width: min(240px, 48vw);
  aspect-ratio: 4 / 5;
  margin-top: 34px;
  border: 1px solid rgba(244, 241, 236, 0.22);
  overflow: hidden;
  background: #050506;
}
.colorist-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.84) contrast(1.06) brightness(0.82);
}
.colorist-avatar--grading {
  width: min(280px, 52vw);
}
.colorist-avatar--grading img {
  object-position: center 42%;
}
.colorist-cert-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}
.colorist-cert-row span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(244, 241, 236, 0.18);
  padding: 0 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  background: rgba(244, 241, 236, 0.035);
}
.colorist-still-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  width: min(840px, 100%);
  margin-top: 18px;
}
.colorist-still-rail img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 1px solid rgba(244, 241, 236, 0.18);
  filter: saturate(0.82) contrast(1.06) brightness(0.78);
}
.colorist-sales-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--hairline);
  background: var(--hairline);
}
.colorist-sales-grid article {
  min-height: 310px;
  padding: clamp(24px, 3vw, 38px);
  background:
    linear-gradient(180deg, rgba(244, 241, 236, 0.03), rgba(11, 14, 16, 0.84)),
    rgba(11, 14, 16, 0.92);
}
.colorist-sales-grid span,
.colorist-process .kicker {
  display: block;
  margin-bottom: 18px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--signal);
}
.colorist-sales-grid h3,
.colorist-process h3 {
  margin: 0 0 14px;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(32px, 3.4vw, 54px);
  line-height: 0.98;
  color: var(--bone);
}
.colorist-sales-grid p,
.colorist-process p {
  margin: 0;
  max-width: 620px;
  color: rgba(244, 241, 236, 0.72);
  font-size: 15px;
  line-height: 1.65;
}
.colorist-process {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(24px, 4vw, 64px);
  align-items: end;
  margin-top: 28px;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--hairline);
  background: rgba(244, 241, 236, 0.025);
}
.grade-compare-grid,
.color-portfolio-3d__deck {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.color-portfolio-3d {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  min-height: 560px;
  border: 1px solid var(--hairline);
  padding: clamp(24px, 5vw, 56px);
  background:
    radial-gradient(70% 90% at 42% 24%, rgba(137, 170, 204, 0.1), transparent 70%),
    linear-gradient(180deg, rgba(244, 241, 236, 0.025), rgba(11, 14, 16, 0.9));
  overflow: hidden;
  perspective: 1300px;
}
.color-portfolio-3d__deck {
  transform-style: preserve-3d;
  perspective: 1300px;
}
.color-portfolio-3d__deck .grade-card {
  min-height: 440px;
  transform-style: preserve-3d;
  transition:
    transform var(--dur-frame) var(--ease-frame),
    border-color var(--dur-operator) var(--ease-operator),
    filter var(--dur-frame) var(--ease-frame);
}
.color-portfolio-3d__deck .grade-card:nth-child(1) {
  transform: rotateY(10deg) translate3d(8px, 18px, -48px);
  filter: brightness(0.82);
}
.color-portfolio-3d__deck .grade-card:nth-child(2) {
  transform: translate3d(0, -12px, 64px);
  z-index: 2;
}
.color-portfolio-3d__deck .grade-card:nth-child(3) {
  transform: rotateY(-10deg) translate3d(-8px, 18px, -48px);
  filter: brightness(0.9);
}
.color-portfolio-3d:hover .grade-card {
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
}
.color-portfolio-3d__copy {
  border-left: 1px solid var(--hairline);
  padding-left: clamp(24px, 4vw, 46px);
}
.color-portfolio-3d__copy h3 {
  margin: 16px 0;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(38px, 4.2vw, 72px);
  line-height: 0.96;
  color: var(--bone);
}
.color-portfolio-3d__copy p {
  margin: 0 0 28px;
  color: rgba(244, 241, 236, 0.72);
  line-height: 1.65;
}
.grade-card {
  padding: 16px;
  border: 1px solid var(--hairline);
  background: rgba(11, 14, 16, 0.76);
}
.grade-card__image {
  aspect-ratio: 16 / 9;
  margin-bottom: 22px;
  border: 1px solid rgba(244, 241, 236, 0.16);
  background:
    linear-gradient(180deg, rgba(11, 14, 16, 0.04), rgba(11, 14, 16, 0.46)),
    var(--grade-image) center / cover no-repeat;
  filter: var(--grade-filter, none);
}
.grade-card--raw,
.grade-card--log {
  --grade-image: url("assets/work/frames/midori-03.jpg");
  --grade-filter: saturate(0.24) contrast(0.72) brightness(1.16);
}
.grade-card--rec709 {
  --grade-image: url("assets/work/frames/midori-03.jpg");
  --grade-filter: saturate(0.86) contrast(0.96) brightness(0.92);
}
.grade-card--final {
  --grade-image: url("assets/work/frames/midori-03.jpg");
  --grade-filter: saturate(1.12) contrast(1.14) brightness(0.82);
}
.grade-card span,
.look-grid span {
  display: block;
  margin-bottom: 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--signal);
}
.grade-card h3,
.look-grid h3 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1;
  color: var(--bone);
}
.grade-card p,
.look-grid p {
  margin: 0;
  color: rgba(244, 241, 236, 0.7);
  font-size: 14px;
  line-height: 1.55;
}
.look-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--hairline);
  background: var(--hairline);
  margin-bottom: 40px;
}
.look-grid article {
  min-height: 260px;
  padding: 28px;
  background: rgba(11, 14, 16, 0.9);
}
@media (max-width: 1000px) {
  .grade-compare-grid,
  .color-portfolio-3d,
  .color-portfolio-3d__deck,
  .look-grid,
  .colorist-sales-grid,
  .colorist-process {
    grid-template-columns: 1fr;
  }
  .color-portfolio-3d {
    min-height: 0;
    padding: 22px;
  }
  .color-portfolio-3d__copy {
    border-left: 0;
    border-top: 1px solid var(--hairline);
    padding-left: 0;
    padding-top: 24px;
  }
  .color-portfolio-3d__deck .grade-card,
  .color-portfolio-3d__deck .grade-card:nth-child(1),
  .color-portfolio-3d__deck .grade-card:nth-child(2),
  .color-portfolio-3d__deck .grade-card:nth-child(3) {
    min-height: 0;
    transform: none;
    filter: none;
  }
  .colorist-still-rail {
    grid-template-columns: repeat(5, 150px);
    overflow-x: auto;
    padding-bottom: 8px;
  }
}
.meta-list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 8px;
}
.meta-list li {
  color: var(--bone);
  font-size: 12px;
}
.meta-link {
  display: block;
  color: var(--bone);
  font-size: 14px;
}
.meta-link + .meta-link { margin-top: 6px; }

.seo-panel {
  border: 1px solid var(--hairline);
  padding: var(--s-5);
  background: rgba(11, 11, 12, 0.42);
}
.seo-panel + .seo-panel { margin-top: 24px; }
.seo-panel__eyebrow {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 14px;
}
.seo-panel__title {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.05;
  letter-spacing: 0;
  color: var(--bone);
  margin-bottom: 18px;
  text-wrap: balance;
}
.seo-panel__body {
  color: var(--steel);
  max-width: 72ch;
}
.seo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.seo-card {
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: var(--s-5);
  min-height: 300px;
}
.seo-card__num {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 22px;
}
.seo-card__title {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 300;
  line-height: 1.08;
  color: var(--bone);
  margin-bottom: 14px;
}
.seo-card__text {
  color: var(--steel);
  font-size: 15px;
  line-height: 1.55;
}
.industry-video-shelf {
  background: rgba(11, 14, 16, 0.94);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.industry-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.industry-video-card {
  min-width: 0;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  background: rgba(244, 241, 236, 0.018);
}
.industry-video-card__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #050506;
  border-bottom: 1px solid var(--hairline);
  overflow: hidden;
}
.industry-video-card__frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.industry-video-card__body {
  padding: 24px;
}
.industry-video-card__body span {
  display: block;
  margin-bottom: 18px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bronze);
}
.industry-video-card__body h3 {
  margin-bottom: 12px;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.02;
  color: var(--bone);
}
.industry-video-card__body p {
  color: var(--steel);
  font-size: 15px;
  line-height: 1.55;
}
.seo-link-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.seo-link-list a {
  min-height: 72px;
  padding: 22px 24px;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  color: var(--bone);
  text-decoration: none;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.seo-link-list a:hover { background: rgba(244, 241, 236, 0.03); }
.proof-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}
.proof-strip__item {
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: var(--s-5);
}
.proof-strip__label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bronze);
  margin-bottom: 18px;
}
.proof-strip__title {
  font-family: var(--display);
  font-weight: 300;
  font-size: 28px;
  line-height: 1.08;
  color: var(--bone);
  margin-bottom: 12px;
}
.proof-strip__body {
  color: var(--steel);
  font-size: 15px;
}
@media (max-width: 1000px) {
  .seo-grid,
  .proof-strip,
  .industry-video-grid {
    grid-template-columns: 1fr;
  }
  .seo-link-list {
    grid-template-columns: 1fr;
  }
  .seo-card,
  .proof-strip__item {
    min-height: auto;
    padding: 32px 24px;
  }
}

/* Shared scroll reveals */
.mum-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  clip-path: inset(0 0 8% 0);
  transition:
    opacity var(--dur-frame) var(--ease-frame),
    transform var(--dur-frame) var(--ease-frame),
    clip-path var(--dur-frame) var(--ease-frame);
  transition-delay: calc(var(--reveal-stagger, 0) * 80ms);
  will-change: opacity, transform, clip-path;
}
.mum-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  clip-path: inset(0);
}

@media (max-width: 900px) {
  .feature-split,
  .studio-split,
  .standard-grid,
  .insight-grid {
    grid-template-columns: 1fr;
  }
  .standard-card { grid-template-columns: 1fr; }
  .still-grid { grid-template-columns: repeat(2, 1fr); }
  .team-plate { aspect-ratio: 16 / 10; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .mum-reveal {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }
  .site-stage { display: none; }
  .frames__track { animation: none !important; transform: none !important; }
  .hero__shader { opacity: 0.12; }
}
