/* Agency theme adapters and page-specific composition variants. */
.agency-marquee {
  --agency-ground: var(--color-agency-ground);
  --agency-ink: var(--color-agency-ink);
  --agency-accent: #e3b5ff;
  --agency-paper: var(--color-agency-paper);
  --agency-paper-ink: var(--color-agency-paper-ink);
  --agency-display: var(--font-display-sans);
  --agency-body: var(--font-sans-system);
}
.redesign.agency {
  --primary: var(--color-clay);
  --secondary: var(--color-copper);
  --new-ground: var(--agency-ground);
  --new-ink: var(--agency-ink);
  --new-accent: var(--agency-accent);
  --new-paper: var(--agency-paper);
  --new-paper-ink: var(--agency-paper-ink);
  --new-display: var(--agency-display);
  --new-body: var(--agency-body);
  --spatial-ground: var(--agency-ground);
  --spatial-ink: var(--agency-ink);
  --spatial-light: var(--agency-accent);
  --spatial-metal: var(--color-copper);
}
.redesign.agency :is(.nav-contact,.button--top,.button-primary,.button--primary,.toc-cta) {
  background: var(--color-clay);
  border-color: var(--color-clay);
  color: var(--color-white);
}
.redesign.agency :is(.nav-contact,.button--top,.button-primary,.button--primary,.toc-cta):hover {
  background: var(--color-clay-hover);
  border-color: var(--color-clay-hover);
  color: var(--color-white);
}
.redesign.agency .site-header :is(.site-logo,.wordmark) {
  font-family: var(--agency-display);
}
.redesign.agency .site-header .wordmark em {
  color: var(--agency-ink);
}
.redesign.agency .spatial-hero {
  --header-height: 78px;
  --hold: 0px;
  min-height: calc(100svh - var(--header-height) + var(--hold));
  align-items: start;
  padding: 0;
  overflow: visible;
}
.redesign.agency .spatial-hero .spatial-grid {
  min-height: calc(100svh - var(--header-height));
  padding-block: clamp(2.2rem,5.5vh,5rem);
  align-content: center;
  width: min(calc(100% - 2 * clamp(1.15rem,4vw,5rem)), 1450px);
  position: relative;
}
.redesign.agency .spatial-hero.is-held .spatial-grid {
  position: sticky;
  top: var(--header-height);
}
.redesign.agency .spatial-grid h1 {
  font-family: var(--agency-display);
  font-weight: 620;
}
.redesign.agency .spatial-grid :is(.eyebrow,.cinema__eyebrow) {
  color: var(--agency-accent);
}
.redesign.agency .spatial-grid .button-quiet:hover {
  background: color-mix(in srgb,var(--agency-ink) 12%,transparent);
}
.redesign.agency .spatial-stage figcaption {
  font-family: var(--agency-body);
  color: var(--agency-ink);
}
.redesign.agency .spatial-stage figcaption::before {
  content: '';
  display: inline-block;
  width: .4rem;
  height: .4rem;
  margin-right: .45rem;
  background: var(--color-copper);
}
.redesign.agency .spatial-stage {
  box-shadow: none;
}
.redesign.agency .craft-scene::before {
  background: var(--color-copper);
}
.redesign.agency .inner-film__trace {
  stroke: var(--color-copper);
}
.redesign
.redesign.agency .spatial-grid :is(.hero-text,.cinema__copy) {
  align-self: center;
}
@media (min-width: 1000px) {
  .redesign.agency .agency-immersive .spatial-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-template-rows: 1fr;
    isolation: isolate;
  }
  .redesign.agency .agency-immersive .spatial-grid .cinema__copy {
    grid-area: 1 / 1;
    align-self: end;
    padding-bottom: clamp(var(--space-rem-8),7vh,5.5rem);
  }
  .agency-immersive .spatial-stage {
    grid-area: 1 / 1 / 2 / 3;
    width: 100%;
    align-self: stretch;
    aspect-ratio: auto;
    min-height: 560px;
  }
  .agency-immersive .spatial-stage :is(canvas,img) {
    inset-inline-start: 30%;
    width: 70%;
  }
  .agency-immersive .spatial-stage figcaption {
    inset: 1rem 1rem auto auto;
  }
  .redesign.agency .agency-blueprint .spatial-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);
    border-block: 1px solid #88453550;
  }
  .agency-blueprint .spatial-stage {
    border: 1px solid #88453546;
    aspect-ratio: 1.23;
  }
  .redesign.agency .agency-ledger .spatial-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 1.2rem;
  }
  .redesign.agency .agency-ledger .spatial-grid .hero-text {
    grid-area: 1 / 1;
  }
  .redesign.agency .agency-ledger .spatial-stage {
    grid-area: 2 / 1;
    aspect-ratio: 3.25;
  }
  .redesign.agency .agency-ledger h1 {
    max-width: 25ch;
  }
  .redesign.agency .agency-marquee .spatial-grid {
    grid-template-columns: minmax(0,1fr);
    gap: var(--space-rem-detail);
  }
  .agency-marquee .hero-text {
    text-align: center;
  }
  .agency-marquee :is(h1,.hero-deck) {
    margin-inline: auto;
  }
  .redesign.agency .agency-marquee h1 {
    max-width: 22ch;
  }
  .agency-marquee .hero-buttons {
    justify-content: center;
  }
  .agency-marquee .spatial-stage {
    aspect-ratio: 4.2;
  }
  .redesign.agency .agency-editorial .spatial-grid {
    grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
    gap: 4.8rem;
  }
  .agency-editorial .hero-text {
    border-top: 3px double var(--color-clay);
    padding-top: var(--space-rem-8);
  }
  .agency-editorial .spatial-stage {
    aspect-ratio: 1.15;
    border: 0;
    border-bottom: 1px solid #88453570;
  }
  .redesign.agency .agency-atlas .spatial-grid {
    grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
    gap: .75rem;
  }
  .agency-atlas .hero-text {
    border-left: 3px solid var(--color-copper);
    padding-left: 1.35rem;
  }
  .agency-atlas .spatial-stage {
    aspect-ratio: 1.18;
  }
  .redesign.agency .agency-path .spatial-grid {
    grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr);
  }
  .agency-path .spatial-stage figcaption {
    inset-inline-start: 22%;
    bottom: 11%;
  }
  .redesign.agency .agency-flight .spatial-grid {
    grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr);
  }
  .agency-flight .hero-text {
    border-block: 1px solid #cd8d6b66;
    padding-block: 1.6rem;
  }
  .agency-flight .spatial-stage {
    aspect-ratio: 1.9;
    border-block: 1px solid #cd8d6b80;
  }
  .redesign.agency .agency-portal .spatial-grid {
    grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
  }
  .redesign.agency .agency-portal .spatial-stage {
    grid-area: 1 / 1;
    aspect-ratio: 1;
  }
  .redesign.agency .agency-portal .hero-text {
    grid-area: 1 / 2;
  }
  .agency-cutaway .spatial-stage {
    aspect-ratio: 1.13;
    border-left: 3px solid var(--color-copper);
  }
}
@media (max-width: 999px) {
  .redesign.agency .spatial-hero .spatial-grid {
    grid-template-columns: minmax(0,1fr);
    align-content: start;
  }
  .redesign.agency .spatial-hero .spatial-stage {
    aspect-ratio: 1.55;
  }
  .redesign.agency :is(.agency-portal,.agency-blueprint,.agency-cutaway) .spatial-stage {
    aspect-ratio: 1.22;
  }
  .redesign.agency .spatial-grid h1 {
    max-width: 18ch;
    font-size: min(clamp(2.25rem,8vw,4.9rem),12cqi);
  }
}
@media (min-width: 1000px) {
  .redesign.agency .agency-immersive .spatial-stage::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg,var(--agency-ground) 15%,transparent 62%);
  }
  .redesign.agency .agency-immersive .spatial-grid .cinema__copy {
    max-width: 30rem;
  }
}
.redesign.agency {
  --line: color-mix(in srgb,var(--color-agency-paper-ink) 24%,var(--color-agency-paper));
}
.redesign.agency .breadcrumbs:has(+ .inner-runway) {
  background: var(--color-agency-ground);
  color: var(--color-agency-ink);
  box-shadow: 0 0 0 100vmax var(--color-agency-ground);
  clip-path: inset(0 -100vmax);
}
.redesign.agency .breadcrumbs:has(+ .inner-runway) :is(a,span) {
  color: inherit;
}
.redesign.agency .inner-runway .inner-grid {
  min-height: 0;
  padding-block: 0;
}
.redesign.agency .inner-runway .inner-film {
  border: 0;
  padding: 0;
  background: radial-gradient(ellipse at center,color-mix(in srgb,var(--color-agency-highlight) 35%,var(--color-agency-ground)),transparent 69%);
}
.inner-film :is(.inner-film__poster,.inner-film__canvas) {
  width: 100%;
  height: 100%;
  grid-area: 1/1;
  object-fit: contain;
  filter: drop-shadow(0 16px 16px #10162d44);
}
.inner-film.is-live .inner-film__poster {
  visibility: hidden;
}
.redesign.agency .inner-film__label {
  background: var(--color-agency-ground);
  color: var(--color-agency-ink);
  border: 0;
  border-inline-start: 2px solid var(--color-copper);
}
.redesign.agency .spatial-stage :is(img,canvas) {
  filter: drop-shadow(0 12px 22px #19244b45);
}
.redesign.agency .spatial-stage {
  background: radial-gradient(ellipse at 55% 53%,color-mix(in srgb,var(--color-agency-highlight) 45%,var(--color-agency-ground)),var(--color-agency-ground) 77%);
}
.redesign.agency :is(.article-section--case,.article-section--tool,.case-inline-callout) {
  background: color-mix(in srgb,var(--color-agency-highlight) 15%,var(--color-agency-paper));
  color: var(--color-agency-paper-ink);
  border-color: var(--line);
}
.redesign.agency :is(.article-section--case,.article-section--tool,.case-inline-callout) :is(h2,h3,p,li) {
  color: inherit;
}
.redesign.agency .article-aside .toc-links a:is(:hover,.is-active) {
  height: auto;
  background: color-mix(in srgb,var(--color-agency-highlight) 23%,var(--color-agency-paper));
  color: var(--color-agency-paper-ink);
}
.redesign.agency .request-panel-head {
  background: #151f42;
  color: #edf4ff;
}
.redesign.agency .brief-form :is(input:not([type=checkbox]),select,textarea) {
  background: var(--color-white);
  color: #1a2343;
  border-color: #879ac4;
}
.redesign.agency .brief-form :is(input,textarea)::placeholder {
  color: #566885;
  opacity: 1;
}
.redesign.agency .related-card {
  min-height: 0;
}
.redesign.agency .related-card h3 {
  margin-block: .7rem var(--space-rem-4);
}
@media(max-width:760px) {
  .redesign.agency .inner-runway .inner-stage {
    min-height: 0;
  }
}
body: has([data-spatial-hero]) .site-header {
  background: color-mix(in srgb,var(--new-ground) 84%,transparent);
  backdrop-filter: blur(16px) saturate(140%);
}
[data-spatial-hero] .spatial-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at var(--spot-x,55%) var(--spot-y,50%),#cd8d6b35,transparent 53%);
}
[data-spatial-hero] .spatial-stage :is(canvas,img) {
  translate: 0 calc(var(--camera-progress,0) * -12px);
}
[data-spatial-hero] :is(.hero-buttons,.hero-actions) a {
  position: relative;
}
.spatial-spark {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 4px;
  height: 4px;
  background: #a5f0ff;
  pointer-events: none;
}
@media(prefers-reduced-motion:reduce) {
  [data-spatial-hero] .spatial-stage :is(canvas,img),[data-spatial-hero] a {
    translate: none!important;
  }
}
[data-spatial-hero] .hero-review-note {
  margin: .75rem 0 0;
  color: var(--new-ink);
  font-size: .85rem;
}
[data-spatial-hero] .spatial-stage::before {
  transform: scale(calc(1 + var(--camera-progress,0)*.12));
}
