.redesign-midnight {
  --new-ground: #101c27;
  --new-ink: #e6f3f0;
  --new-accent: #76e1ca;
  --new-paper: #edf8f4;
  --new-paper-ink: #122a34;
  --new-body: var(--type-body);
  --new-display: var(--type-display);
}
.redesign {
  --canvas: var(--new-paper);
  --ink: var(--new-paper-ink);
  --font-body: var(--new-body);
  --font-display: var(--new-display);
  background: var(--new-paper);
  color: var(--new-paper-ink);
  font-family: var(--new-body);
}
.redesign :is(h1,h2,h3,h4) {
  font-family: var(--new-display);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.redesign .site-header {
  background: var(--new-ground);
  color: var(--new-ink);
  border-bottom-color: color-mix(in srgb,var(--new-ink) 32%,transparent);
}
.redesign .site-header :is(.desktop-menu a,.desktop-nav a,.site-logo,.wordmark,.nav-link,.nav-toggle,.mobile-menu-button) {
  color: var(--new-ink);
}
.redesign .site-header .nav-toggle span {
  background: var(--new-ink);
}
.redesign .site-header :is(.mobile-menu,.mobile-nav) {
  background: var(--new-paper);
  color: var(--new-paper-ink);
}
.redesign .site-header :is(.mobile-menu,.mobile-nav) :is(a,.nav-link) {
  color: var(--new-paper-ink);
}
.redesign :focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}
.redesign :is(.page-hero.page-hero-compact,.route-hero,.cinema) {
  background: var(--new-ground);
  color: var(--new-ink);
}
.redesign :is(.page-hero.page-hero-compact,.route-hero) :is(h1,.hero-deck,.eyebrow,.route-hero__copy p,.v5-hero-label) {
  color: inherit;
}
.redesign .page-hero-compact .folio-art {
  box-shadow: 0 20px 55px #0003;
}
.redesign :is(.section-alt,.folio-acts,.manifesto-section,.simple-body-section,.source-content-section,.request-section) {
  background: var(--new-paper);
  color: var(--new-paper-ink);
}
.redesign :is(.bottom-cta,.cta-band) {
  background: var(--new-ground);
  color: var(--new-ink);
}
.redesign :is(.bottom-cta,.cta-band) :is(h2,p,.eyebrow,.eyebrow--cyan) {
  color: inherit;
}
.redesign :is(.form-wrap,.request-panel,.aside-service-box) {
  background: color-mix(in srgb,var(--new-paper) 70%,var(--palette-white));
  color: var(--new-paper-ink);
}
.redesign :is(.resource-card,.article-section,.case-chapter) {
  border-color: color-mix(in srgb,var(--new-paper-ink) 24%,var(--new-paper));
}
.redesign .resource-card :is(h2,h3) {
  font-size: clamp(1.28rem,2vw,1.8rem);
  line-height: 1.16;
}
.redesign .article-layout :is(.article-toc nav a,.toc-links a) {
  flex-shrink: 0;
}
.redesign .article-layout :is(h2,h3) {
  line-height: 1.14;
}
.redesign .site-footer,.redesign .footer.theme-dark {
  background: var(--new-ground);
  color: var(--new-ink);
}
.redesign :is(.site-footer,.footer.theme-dark) :is(a,p,h3,span) {
  color: inherit;
}
.redesign :is(.site-footer,.footer.theme-dark) a:hover {
  text-decoration: underline;
}
.redesign .cinematic-hero {
  --scene: 0;
  background: var(--new-ground);
  color: var(--new-ink);
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(2.5rem,5vw,5.8rem);
}
.redesign .cinematic-hero .cinematic-grid {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  align-items: center;
  min-height: min(650px,72svh);
  gap: clamp(1.2rem,4.5vw,5rem);
}
.redesign .cinematic-hero :is(.hero-text,.cinema__copy) {
  z-index: 2;
  position: relative;
  order: unset;
  min-width: 0;
  container-type: inline-size;
}
.redesign .cinematic-hero :is(h1,#cinema-title) {
  color: inherit;
  line-height: .99;
  letter-spacing: -.055em;
}
.redesign .cinematic-hero :is(.hero-deck,.cinema__copy > p:not(.cinema__eyebrow)) {
  color: inherit;
  font-size: clamp(1rem,1.5vw,1.3rem);
  max-width: 42ch;
  margin-top: 1.4rem;
}
.redesign .cinematic-hero :is(.eyebrow,.cinema__eyebrow) {
  color: var(--new-accent);
  font-family: var(--new-body);
  font-weight: 750;
  margin-bottom: 1rem;
}
.redesign .cinematic-hero :is(.button-quiet,.cinema__link) {
  color: inherit;
  border-color: currentColor;
}
.redesign .cinematic-art {
  position: relative;
  min-width: 0;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  aspect-ratio: 1.38;
  background: #24342f;
  box-shadow: 0 32px 60px #0003;
  border: 1px solid color-mix(in srgb,var(--new-accent) 65%,transparent);
}
.redesign .cinematic-art svg {
  width: 100%;
  height: 100%;
  display: block;
}
.redesign .cinematic-art figcaption {
  position: absolute;
  inset: auto auto .8rem .8rem;
  padding: .4rem .65rem;
  color: var(--palette-white);
  background: #151e2deb;
  font-family: var(--new-body);
  font-size: .72rem;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.art-far,.art-subject,.art-near {
  transform-box: view-box;
  transform-origin: center;
}
.art-far {
  transform: translateY(calc(var(--scene) * -10px)) scale(1.035);
}
.art-subject {
  transform: translateY(calc(var(--scene) * -33px)) scale(calc(1 + var(--scene) * .035));
}
.art-near {
  transform: translateY(calc(var(--scene) * -65px));
}
.redesign .cinematic-hero .hero-buttons {
  flex-wrap: wrap;
}
.redesign-copper .cinematic-art {
  border: 10px solid #f7ebd4;
  transform: rotate(-3deg);
}
.redesign-ledger .cinematic-art {
  border-block: 6px double var(--new-accent);
}
.redesign-plum .cinematic-art {
  border-radius: 52% 45% 10px 10px / 12% 12% 10px 10px;
}
.redesign-paper .cinematic-art {
  border: 10px solid #fffaec;
  box-shadow: 16px 16px 0 #a7795140;
}
.redesign-atlas .cinematic-art {
  border-radius: 0 65px 0 0;
}
.redesign-sage .cinematic-art {
  border-radius: 48% 52% 40% 35% / 38% 45% 50% 35%;
}
.redesign-flight .cinematic-art {
  border: 3px double var(--new-accent);
}
.redesign-terracotta .cinematic-art {
  border-radius: 48% 48% 0 0 / 26% 26% 0 0;
}
.redesign-indigo .cinematic-art {
  border: 0;
  clip-path: polygon(0 0,91% 0,100% 13%,100% 100%,9% 100%,0 87%);
}
.redesign-paper :is(.section h2,.resource-card h3) {
  font-weight: 550;
}
.redesign-flight .resource-grid {
  grid-template-columns: 1fr;
}
.redesign-ledger .resource-card {
  border-bottom: 2px solid var(--new-accent);
}
.redesign-plum main > .section:nth-of-type(even) {
  background: #f6e1e1;
}
.redesign-atlas .resource-card {
  border-radius: 0 28px 0 0;
}
.redesign-sage .resource-card {
  border-radius: 25px;
}
.redesign-terracotta .resource-card {
  border-radius: 42px 42px 0 0;
}
.redesign-indigo .resource-card {
  border-inline-start: 5px double #7e64b3;
}
@media (min-width: 1000px) {
  .redesign :is(.cinematic-reverse,.cinematic-portal) .cinematic-art {
    grid-column: 1;
    grid-row: 1;
  }
  .redesign :is(.cinematic-reverse,.cinematic-portal) .hero-text {
    grid-column: 2;
    grid-row: 1;
  }
  .redesign .cinematic-reverse .cinematic-grid {
    grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
  }
  .redesign .cinematic-portal .cinematic-grid {
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  }
  .redesign .cinematic-map .cinematic-grid {
    grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
  }
  .redesign .cinematic-magazine .cinematic-grid {
    grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);
  }
  .redesign .cinematic-soft .cinematic-grid {
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  }
  .redesign :is(.cinematic-wide,.cinematic-center) .cinematic-grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .redesign :is(.cinematic-wide,.cinematic-center) .cinematic-art {
    aspect-ratio: 2.55;
  }
  .redesign .cinematic-wide h1 {
    max-width: 17ch;
  }
  .redesign .cinematic-center .hero-text {
    text-align: center;
  }
  .redesign .cinematic-center :is(h1,.hero-deck) {
    margin-inline: auto;
    max-width: 20ch;
  }
  .redesign .cinematic-center .hero-deck {
    max-width: 48ch;
  }
  .redesign .cinematic-center .hero-buttons {
    justify-content: center;
  }
  .redesign .cinematic-strip .cinematic-grid {
    grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
  }
  .redesign .cinematic-strip .cinematic-art {
    aspect-ratio: 1.75;
  }
  .redesign .cinematic-stack .cinematic-art {
    aspect-ratio: 1.13;
  }
}
@media (max-width: 760px) {
  .redesign .cinematic-hero .cinematic-grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .redesign .cinematic-hero :is(h1,#cinema-title) {
    font-size: clamp(2.5rem,9.4vw,4.2rem);
    max-width: 17ch;
  }
  .redesign .cinematic-art {
    aspect-ratio: 1.55;
  }
  .redesign .cinematic-portal .cinematic-art,.redesign .cinematic-stack .cinematic-art {
    aspect-ratio: 1.25;
  }
  .redesign-copper .cinematic-art {
    transform: none;
    border-width: 5px;
  }
  .redesign-paper .cinematic-art {
    border-width: 5px;
    box-shadow: 7px 7px 0 #a7795140;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cinematic-hero :is(.art-far,.art-subject,.art-near) {
    transform: none;
  }
}
/* Keep legacy action classes readable on the new hero grounds. */
.redesign .cinematic-hero :is(.button-primary,.button--primary) {
  background: var(--brand-violet);
  border-color: var(--brand-violet);
  color: var(--on-primary);
}
.redesign .cinematic-hero :is(.button-primary,.button--primary):hover {
  background: var(--brand-violet-hover);
  border-color: var(--brand-violet-hover);
  color: var(--on-primary);
}
.redesign .cinematic-hero .button-quiet {
  background: transparent;
  color: var(--new-ink);
  border-color: currentColor;
}
.redesign .cinematic-hero .button-quiet:hover {
  color: var(--new-ground);
  background: var(--new-ink);
}
.redesign .site-header .wordmark em {
  color: var(--new-accent);
}
.redesign .site-header .button--top {
  background: var(--brand-violet);
  color: var(--on-primary);
}
.redesign .site-header .mobile-menu-button :is(span,svg) {
  color: var(--new-ink);
}
.redesign .cinematic-magazine h1 {
  max-width: 15ch;
}
/* Size display text against its copy column, including narrow desktop splits. */
.redesign .cinematic-hero :is(h1,#cinema-title) {
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  font-size: min(clamp(2.45rem,5.8vw,6.2rem), 13cqi);
}
@media (max-width: 760px) {
  .redesign .cinematic-hero :is(h1,#cinema-title) {
    font-size: min(clamp(2.25rem,9.4vw,4.2rem), 12.6cqi);
  }
}
.redesign .site-header :is(.nav-toggle,.mobile-menu-button) {
  color: var(--new-paper-ink);
  background: var(--new-paper);
  border-color: var(--new-paper);
}
.redesign .site-header :is(.nav-toggle,.mobile-menu-button) span {
  background: var(--new-paper-ink);
}
.redesign .site-header .mobile-menu-button svg {
  color: var(--new-paper-ink);
}
