/* ============================================================
   poster-pages.css
   IG-ad poster aesthetic applied to:
     #page-proseries · .amuse-feature · #page-shop
   Tokens reused from audition.css (--oh-* names preserved).
   Square corners everywhere, Anton block headlines, color blocking.
   ============================================================ */

/* All H1/H2/H3/H4 on the three poster pages start from a clean slate.
   Anton is the workhorse for big block lines. Cormorant italic for accents.
   Outfit/Manrope for body copy. */
#page-proseries,
.amuse-feature,
#page-shop {
  background: var(--oh-green-deep);
  color: var(--oh-cream);
  font-family: "Manrope", "Outfit", "Helvetica Neue", Arial, sans-serif;
}

#page-proseries *,
.amuse-feature *,
#page-shop * {
  border-radius: 0 !important;
}

/* ───── Reusable atoms ───────────────────────────────────────── */

.pp-band {
  position: relative;
  padding: 56px 64px;
  isolation: isolate;
}
.pp-band--tight { padding: 36px 64px; }
.pp-band--coral { background: var(--oh-coral-deep); color: var(--oh-cream-warm); }
.pp-band--coral-light { background: var(--oh-coral); color: var(--oh-cream-warm); }
.pp-band--blush { background: var(--oh-blush); color: var(--oh-green-ink); }
.pp-band--cream { background: var(--oh-cream-warm); color: var(--oh-green-ink); }
.pp-band--forest { background: var(--oh-green-ink); color: var(--oh-cream-warm); }
.pp-band--green { background: var(--oh-green-deep); color: var(--oh-cream); border-top: 1px solid var(--oh-rule); border-bottom: 1px solid var(--oh-rule); }

.pp-eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  opacity: .85;
  display: inline-block;
  margin-bottom: 14px;
}

.pp-block,
.pp-block * {
  font-family: "Anton", "Archivo Narrow", "Oswald", Impact, sans-serif !important;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 0.92;
  text-transform: uppercase;
}

.pp-display {
  font-family: "Anton", sans-serif;
  font-size: clamp(72px, 11vw, 168px);
  line-height: 0.84;
  letter-spacing: .005em;
  text-transform: uppercase;
  display: block;
}
.pp-display--split {
  display: inline-block;
  background: var(--oh-blush);
  color: var(--oh-green-ink);
  padding: 0 16px 6px;
  margin-top: -2px;
}
.pp-display--row {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 6px 10px;
}

.pp-h2 {
  font-family: "Anton", sans-serif;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 0.92;
  letter-spacing: .005em;
  text-transform: uppercase;
  margin: 0 0 18px;
  font-weight: 400;
}
.pp-h3 {
  font-family: "Anton", sans-serif;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 0.94;
  letter-spacing: .005em;
  text-transform: uppercase;
  margin: 0 0 12px;
  font-weight: 400;
}
.pp-h4 {
  font-family: "Anton", sans-serif;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.0;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 0 0 10px;
  font-weight: 400;
}

.pp-italic {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 500;
}

.pp-body {
  font-family: "Manrope", "Outfit", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .005em;
}
.pp-body p { margin: 0 0 16px; }
.pp-body p:last-child { margin-bottom: 0; }

.pp-meta {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .8;
}

/* CTA buttons — square, tracked caps */
.pp-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 26px;
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
  cursor: pointer;
  border: 0;
}
.pp-cta em {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 16px;
  letter-spacing: 0;
}
.pp-cta--primary {
  background: var(--oh-green-ink);
  color: var(--oh-cream-warm);
}
.pp-cta--primary:hover { background: #000; transform: translateY(-1px); }
.pp-cta--coral {
  background: var(--oh-coral);
  color: var(--oh-cream-warm);
}
.pp-cta--coral:hover { background: var(--oh-coral-ink); transform: translateY(-1px); }
.pp-cta--outline {
  background: transparent;
  color: var(--oh-cream-warm);
  border: 1px solid var(--oh-cream-warm);
}
.pp-cta--outline:hover { background: var(--oh-cream-warm); color: var(--oh-green-ink); }
.pp-cta--outline-dark {
  background: transparent;
  color: var(--oh-green-ink);
  border: 1px solid var(--oh-green-ink);
}
.pp-cta--outline-dark:hover { background: var(--oh-green-ink); color: var(--oh-cream-warm); }

/* Hairline rules */
.pp-rule {
  display: block;
  width: 60px;
  height: 1px;
  background: currentColor;
  opacity: .35;
  margin: 22px 0;
}

/* Photo slot — used inside coral/blush bands (replaces the IG ad's right-side photo) */
.pp-photo {
  position: relative;
  overflow: hidden;
  background: #1a0a14;
  min-height: 320px;
}
.pp-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pp-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.45));
}
.pp-photo-caption {
  position: absolute;
  left: 24px;
  bottom: 22px;
  font-family: "SF Mono", Menlo, ui-monospace, monospace;
  color: rgba(255,255,255,.65);
  font-size: 10px;
  letter-spacing: .2em;
  z-index: 1;
  text-transform: uppercase;
}

/* ============================================================
   PAGE: #page-proseries
   ============================================================ */

#page-proseries { padding: 0; }
#page-proseries > * { max-width: none !important; }

/* PS HERO — coral band with PRO / SERIES poster wordmark + stage photo */
#page-proseries .ps-hero {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  background: var(--oh-coral-deep) !important;
  padding: 0 !important;
  min-height: 540px;
  text-align: left !important;
  color: var(--oh-cream-warm) !important;
}
#page-proseries .ps-hero::before,
#page-proseries .ps-hero::after { display: none !important; }
#page-proseries .ps-hero .hero-logo-section { display: none !important; }
#page-proseries .ps-hero .label {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  opacity: .85;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  display: inline-block !important;
}
#page-proseries .ps-hero h1 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(88px, 12vw, 184px) !important;
  font-weight: 400 !important;
  line-height: 0.84 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  text-shadow: none !important;
}
#page-proseries .ps-hero h1 em,
#page-proseries .ps-hero h1 .ps-block {
  font-style: normal !important;
  display: inline-block;
  background: var(--oh-blush);
  color: var(--oh-green-ink);
  padding: 0 14px 4px;
  margin-top: -2px;
  font-family: "Anton", sans-serif !important;
}
#page-proseries .ps-hero .sub {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: clamp(18px, 1.6vw, 24px) !important;
  font-weight: 500 !important;
  color: var(--oh-cream-warm) !important;
  opacity: .92;
  max-width: 560px;
  margin: 22px 0 12px !important;
}
#page-proseries .ps-hero .tagline {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  opacity: .82;
  margin: 0 !important;
  display: inline-block !important;
}
#page-proseries .ps-hero .btn {
  margin-top: 30px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 26px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  background: var(--oh-green-ink) !important;
  color: var(--oh-cream-warm) !important;
  border: 0 !important;
}
#page-proseries .ps-hero .btn:hover { background: #000 !important; }
#page-proseries .ps-hero .btn .btn-arrow {
  display: inline-block;
  margin-left: 4px;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 16px;
  letter-spacing: 0;
  transition: transform .2s ease;
}
#page-proseries .ps-hero .btn:hover .btn-arrow { transform: translateX(4px); }

.ps-hero-text {
  padding: 56px 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Big circular animated logo treatment — used by ProSeries / Collective / Teachers / Gallery heroes.
   Aliased via .hero-logo-big (the new shared class) and the legacy .ps-hero-logo. */
.ps-hero-logo,
.hero-logo-big {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: 0;
  position: relative;
}
.ps-hero-logo video,
.ps-hero-logo img,
.hero-logo-big video,
.hero-logo-big img {
  display: block;
  width: min(620px, 100%);
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  filter: drop-shadow(0 12px 36px rgba(0, 0, 0, 0.32));
}
@media (max-width: 1024px) {
  .ps-hero-logo,
  .hero-logo-big { min-height: 320px; padding: 16px; }
  .ps-hero-logo video,
  .ps-hero-logo img,
  .hero-logo-big video,
  .hero-logo-big img { width: min(420px, 80%); }
}

/* ============================================================
   Split heroes: Collective / Teachers / Gallery
   ============================================================ */
#page-adult-company .ac-hero--split {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  align-items: center !important;
  min-height: 540px;
}
#page-adult-company .ac-hero--split .ac-hero-text-stack {
  padding: 48px 56px;
}

#page-teachers .tch-hero--split {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr !important;
  gap: 0 !important;
  align-items: center !important;
}
#page-teachers .tch-hero--split .tch-hero-text {
  padding: 44px 64px 36px !important;
}
#page-teachers .tch-hero--split .hero-logo-big {
  background: transparent;
}

.gallery-hero.gallery-hero--split {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 0;
  align-items: center;
  /* Compact — Gallery is browse content, so the hero stays thin and the IG strip
     below lands above the fold on most desktop viewports.
     `!important` defeats `tighten.css` which sets a 56px-vertical padding on the
     generic `.gallery-hero` selector. The split variant manages its own padding
     via the inner cells. */
  padding: 0 !important;
  min-height: 220px !important;
  max-height: 260px !important;
}
.gallery-hero.gallery-hero--split .gallery-hero-text {
  padding: 28px 48px 28px 64px;
  text-align: left;
}
.gallery-hero.gallery-hero--split .gallery-hero-text h1 {
  font-size: clamp(40px, 4.4vw, 64px) !important;
  margin: 0 0 6px !important;
  line-height: 1;
}
.gallery-hero.gallery-hero--split .gallery-hero-text p {
  margin: 0 !important;
  font-size: 14px;
  color: var(--oh-mute);
}
.gallery-hero.gallery-hero--split .hero-logo-big {
  min-height: 0;
  padding: 16px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-hero.gallery-hero--split .hero-logo-big video,
.gallery-hero.gallery-hero--split .hero-logo-big img {
  width: min(260px, 100%);
  height: auto;
  display: block;
}

/* ============================================================
   Instagram "Follow Along" card on Gallery
   Static, on-brand follow card (replaced the SnapWidget live feeds,
   which ad blockers / privacy browsers routinely killed).
   ============================================================ */
.ig-follow {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: 48px 40px 40px;
  background: var(--oh-green-deep);
}
.ig-follow .igf-eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--oh-coral);
}
.ig-follow .igf-headline {
  font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
  font-style: italic;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.1;
  color: var(--oh-cream);
}
.igf-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  max-width: 720px;
  margin-top: 10px;
}
.igf-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 24px 26px;
  background: var(--oh-green-ink);
  border: 1px solid var(--oh-rule);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.igf-tile:hover {
  border-color: var(--oh-coral);
  background: #0b241b;
  transform: translateY(-2px);
}
.igf-handle {
  font-family: "Anton", sans-serif;
  font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: .005em;
  text-transform: uppercase;
  color: var(--oh-cream);
}
.igf-sub {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oh-mute);
}
.igf-arrow {
  position: absolute;
  top: 22px;
  right: 24px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  line-height: 1;
  color: var(--oh-coral);
  transition: transform .2s ease;
}
.igf-tile:hover .igf-arrow { transform: translateX(4px); }

@media (max-width: 600px) {
  .ig-follow { padding: 36px 20px 32px; }
  .igf-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* ============================================================
   Contact + Early Access — light poster touch
   (Anton headlines + coral accent stripe + tracked-caps eyebrow)
   ============================================================ */

#page-contact { position: relative; }
#page-contact::before {
  content: "";
  display: block;
  height: 6px;
  background: var(--oh-coral-deep);
}
#page-contact .contact-form-side h1 {
  font-family: "Anton", "Archivo Narrow", "Oswald", Impact, sans-serif !important;
  font-size: clamp(48px, 5.5vw, 88px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
  color: var(--oh-cream-warm) !important;
}
#page-contact .contact-form-side::before {
  content: "Reach out";
  display: block;
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--oh-coral);
  margin-bottom: 14px;
}
#page-contact .contact-info-side h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(28px, 2.6vw, 38px) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: .005em !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 0 18px !important;
}
#page-contact .contact-detail .dlabel {
  color: var(--oh-coral) !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}
#page-contact .btn-primary {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

#page-early-access { position: relative; }
#page-early-access::before {
  content: "";
  display: block;
  height: 6px;
  background: var(--oh-coral-deep);
}
#page-early-access .ea-headline {
  font-family: "Anton", "Archivo Narrow", "Oswald", Impact, sans-serif !important;
  font-size: clamp(48px, 6vw, 96px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 16px 0 !important;
}
#page-early-access .ea-detail-label,
#page-early-access .ea-live-badge {
  font-family: "Manrope", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}
#page-early-access .ea-detail-value {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(20px, 2vw, 28px) !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}
#page-early-access .btn-blush {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

@media (max-width: 980px) {
  #page-adult-company .ac-hero--split,
  #page-teachers .tch-hero--split,
  .gallery-hero.gallery-hero--split {
    grid-template-columns: 1fr !important;
    min-height: 0;
    max-height: none !important;
  }
  #page-adult-company .ac-hero--split .ac-hero-text-stack,
  #page-teachers .tch-hero--split .tch-hero-text,
  .gallery-hero.gallery-hero--split .gallery-hero-text {
    padding: 24px 24px 32px !important;
    text-align: center;
  }
  #page-adult-company .ac-hero--split .hero-logo-big,
  #page-teachers .tch-hero--split .hero-logo-big,
  .gallery-hero.gallery-hero--split .hero-logo-big {
    order: -1;
    padding: 28px 24px 8px !important;
    min-height: 160px;
  }
  #page-adult-company .ac-hero--split .hero-logo-big video,
  #page-adult-company .ac-hero--split .hero-logo-big img,
  #page-teachers .tch-hero--split .hero-logo-big video,
  #page-teachers .tch-hero--split .hero-logo-big img,
  .gallery-hero.gallery-hero--split .hero-logo-big video,
  .gallery-hero.gallery-hero--split .hero-logo-big img {
    width: 160px !important;
    height: 160px !important;
    max-width: 50vw !important;
    object-fit: contain;
  }
}

/* PS GREEN BAR — under hero, Anton meta line */
.ps-meta-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 28px;
  padding: 22px 64px;
  background: var(--oh-green-ink);
  color: var(--oh-cream-warm);
  font-family: "Anton", sans-serif;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: .005em;
  text-transform: uppercase;
  line-height: 1;
}
.ps-meta-bar .pp-dot { opacity: .5; }

/* The Program · Why ProSeries — full-bleed bands replacing .content-section */
#page-proseries .content-section {
  max-width: none !important;
  margin: 0 !important;
  padding: 64px 64px !important;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  text-align: left !important;
  width: 100% !important;
}
#page-proseries .content-section.alt {
  background: var(--oh-green-deep) !important;
  color: var(--oh-cream) !important;
}
#page-proseries .content-section.alt h2 { color: var(--oh-cream-warm) !important; }
#page-proseries .content-section .chapter {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  margin-bottom: 16px !important;
  color: var(--oh-coral) !important;
  opacity: .9;
}
#page-proseries .content-section .chapter::before,
#page-proseries .content-section .chapter::after { display: none !important; }
#page-proseries .content-section .chapter .no {
  font-family: "Anton", sans-serif !important;
  font-size: 22px !important;
  letter-spacing: .02em;
  color: inherit !important;
}
#page-proseries .content-section .chapter .lbl { color: inherit !important; }
#page-proseries .content-section h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(48px, 6vw, 96px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 24px !important;
  color: var(--oh-coral-deep);
}
#page-proseries .content-section.alt h2 { color: var(--oh-coral) !important; }
#page-proseries .content-section p,
#page-proseries .content-section .section-lead {
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 1.65 !important;
  max-width: 70ch;
  margin: 0 0 14px !important;
  color: inherit;
}
#page-proseries .content-section.alt p { color: var(--oh-cream); }

/* Why ProSeries — 4-item grid as alternating coral / blush / forest / cream blocks */
#page-proseries .why-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  margin-top: 32px !important;
  background: var(--oh-green-deep);
  border: 1px solid var(--oh-rule);
}
#page-proseries .why-item {
  padding: 36px 32px !important;
  background: var(--oh-green-ink);
  color: var(--oh-cream) !important;
  border: 0 !important;
  margin: 0 !important;
}
#page-proseries .why-item:nth-child(1) { background: var(--oh-coral-deep); color: var(--oh-cream-warm); }
#page-proseries .why-item:nth-child(1) h4,
#page-proseries .why-item:nth-child(1) p { color: var(--oh-cream-warm) !important; }
#page-proseries .why-item:nth-child(2) { background: var(--oh-cream-warm); color: var(--oh-green-ink); }
#page-proseries .why-item:nth-child(2) h4,
#page-proseries .why-item:nth-child(2) p { color: var(--oh-green-ink) !important; }
#page-proseries .why-item:nth-child(3) { background: var(--oh-blush); color: var(--oh-green-ink); }
#page-proseries .why-item:nth-child(3) h4,
#page-proseries .why-item:nth-child(3) p { color: var(--oh-green-ink) !important; }
#page-proseries .why-item:nth-child(4) { background: var(--oh-green-ink); color: var(--oh-cream-warm); }
#page-proseries .why-item:nth-child(4) h4,
#page-proseries .why-item:nth-child(4) p { color: var(--oh-cream-warm) !important; }
#page-proseries .why-item h4 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(26px, 2.4vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  color: inherit !important;
}
#page-proseries .why-item p {
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: inherit !important;
  opacity: .92;
  margin: 0 !important;
}
#page-proseries .why-item em {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 500;
}

/* The Three Tracks — full poster panels */
#page-proseries .track-detail-section {
  max-width: none !important;
  padding: 0 !important;
  background: var(--oh-green-deep);
}
#page-proseries .td-intro {
  padding: 64px 64px 40px;
  background: var(--oh-green-deep);
  color: var(--oh-cream);
  text-align: left;
}
#page-proseries .td-intro h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(56px, 7vw, 112px) !important;
  font-weight: 400 !important;
  line-height: 0.9 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 20px !important;
  color: var(--oh-cream-warm) !important;
}
#page-proseries .td-intro p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  max-width: 60ch;
  color: var(--oh-cream);
  opacity: .85;
}

/* Track tabs row — click to swap which detail panel shows */
#page-proseries .track-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--oh-rule);
  margin: 0;
  padding: 0;
}
#page-proseries .track-tab {
  text-align: left;
  padding: 22px 28px;
  background: var(--oh-green-deep);
  color: var(--oh-cream);
  border: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: "Manrope", sans-serif;
  position: relative;
  transition: background .22s ease, color .22s ease;
}
#page-proseries .track-tab .tt-num {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  opacity: .55;
}
#page-proseries .track-tab .tt-name {
  font-family: "Anton", sans-serif;
  font-size: clamp(36px, 4vw, 56px);
  letter-spacing: .005em;
  text-transform: uppercase;
  line-height: .95;
}
#page-proseries .track-tab .tt-meta {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .72;
  margin-top: 6px;
}
/* Active tab takes its track's own accent so the panel below feels seamless */
#page-proseries .track-tab[data-track-tab="prep"][aria-selected="true"]   { background: var(--oh-coral-deep); color: var(--oh-cream-warm); }
#page-proseries .track-tab[data-track-tab="elite"][aria-selected="true"]  { background: var(--oh-blush);      color: var(--oh-green-ink); }
#page-proseries .track-tab[data-track-tab="pro"][aria-selected="true"]    { background: var(--oh-green-ink);  color: var(--oh-cream-warm); }
#page-proseries .track-tab[aria-selected="true"] .tt-num,
#page-proseries .track-tab[aria-selected="true"] .tt-meta { opacity: .9; }

/* Hover hints */
#page-proseries .track-tab:not([aria-selected="true"]):hover { background: var(--oh-green-ink); }
#page-proseries .track-tab:focus-visible { outline: 2px solid var(--oh-coral); outline-offset: -2px; }

/* Hide non-active panels */
#page-proseries .track-detail[data-active="false"] { display: none !important; }

#page-proseries .track-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

#page-proseries .track-detail {
  position: relative;
  padding: 32px 56px !important;
  border: 0 !important;
  display: grid !important;
  /* Wide screens: head/desc in col 1, then Schedule | Training | Pricing as cols 2-4 */
  grid-template-columns: 1.05fr 1.4fr 1fr 1fr;
  grid-template-areas:
    "head schedule training pricing"
    "desc schedule training allin";
  gap: 28px 32px;
  align-items: start;
}
#page-proseries .track-detail .td-header        { grid-area: head; }
#page-proseries .track-detail .td-description   { grid-area: desc; }
#page-proseries .track-detail > .td-section:nth-of-type(1) { grid-area: schedule; }
#page-proseries .track-detail > .td-section:nth-of-type(2) { grid-area: training; }
#page-proseries .track-detail > .td-section:nth-of-type(3) { grid-area: pricing;  }
#page-proseries .track-detail .td-allin         { grid-area: allin; align-self: end; }

@media (max-width: 1180px) {
  #page-proseries .track-detail {
    grid-template-columns: 1fr 2.4fr;
    grid-template-areas:
      "head desc"
      "head schedule"
      "head training"
      "head pricing"
      "head allin";
  }
}
@media (max-width: 720px) {
  #page-proseries .track-detail {
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "desc"
      "schedule"
      "training"
      "pricing"
      "allin";
  }
}
#page-proseries .track-detail[data-track="prep"]  { background: var(--oh-coral-deep) !important; color: var(--oh-cream-warm) !important; }
#page-proseries .track-detail[data-track="elite"] { background: var(--oh-blush) !important;      color: var(--oh-green-ink) !important; }
#page-proseries .track-detail[data-track="pro"]   { background: var(--oh-green-ink) !important;  color: var(--oh-cream-warm) !important; }

/* Force per-track text color on all descendants */
#page-proseries .track-detail[data-track="prep"] *,
#page-proseries .track-detail[data-track="pro"] * { color: var(--oh-cream-warm) !important; }
#page-proseries .track-detail[data-track="elite"] * { color: var(--oh-green-ink) !important; }

/* Special-case the all-in box content (different bg so different color) */
#page-proseries .track-detail[data-track="prep"] .td-allin-label,
#page-proseries .track-detail[data-track="prep"] .td-allin-amount,
#page-proseries .track-detail[data-track="prep"] .td-allin-amount span,
#page-proseries .track-detail[data-track="pro"]  .td-allin-label,
#page-proseries .track-detail[data-track="pro"]  .td-allin-amount,
#page-proseries .track-detail[data-track="pro"]  .td-allin-amount span,
#page-proseries .track-detail[data-track="elite"] .td-allin-label,
#page-proseries .track-detail[data-track="elite"] .td-allin-amount,
#page-proseries .track-detail[data-track="elite"] .td-allin-amount span { color: inherit !important; }

#page-proseries .td-header {
  position: relative;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#page-proseries .td-eyebrow {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: inherit !important;
  opacity: .8;
  margin-bottom: 12px !important;
}
#page-proseries .td-name-row {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap;
  gap: 14px 24px;
}
#page-proseries .td-name {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(56px, 6.4vw, 104px) !important;
  font-weight: 400 !important;
  line-height: 0.86 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  color: inherit !important;
}
#page-proseries .td-price {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  background: transparent;
  border: 0;
  padding: 0;
}
#page-proseries .td-price-amount {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(36px, 4vw, 56px) !important;
  font-weight: 400 !important;
  letter-spacing: .005em;
  line-height: 1;
  color: inherit !important;
}
#page-proseries .td-price-unit {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .8;
}
#page-proseries .td-meta {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .85;
  margin-top: 16px !important;
}
#page-proseries .td-description {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 17px !important;
  line-height: 1.4 !important;
  max-width: 38ch;
  margin: 12px 0 0 !important;
  color: inherit !important;
  opacity: .92;
}

#page-proseries .td-section {
  margin: 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid currentColor !important;
}
#page-proseries .td-section h4 {
  font-family: "Manrope", sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  margin: 0 0 8px !important;
  opacity: .65;
  color: inherit !important;
}

/* Track details — schedule blocks */
#page-proseries .td-day-block {
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
#page-proseries .td-day-head {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px;
  margin-bottom: 2px !important;
}
#page-proseries .td-day-name {
  font-family: "Anton", sans-serif !important;
  font-size: 18px !important;
  letter-spacing: .005em;
  text-transform: uppercase;
  color: inherit !important;
}
#page-proseries .td-day-hours {
  font-family: "Manrope", sans-serif !important;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .65;
}
#page-proseries .td-slots {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-proseries .td-slots li {
  display: flex;
  gap: 10px;
  padding: 1px 0;
  font-family: "Manrope", sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.35;
  color: inherit !important;
}
#page-proseries .td-slot-time {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
  flex: 0 0 74px;
}
#page-proseries .td-tag {
  font-family: "Manrope", sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  padding: 2px 7px;
  margin-left: 8px;
  text-transform: uppercase;
  background: rgba(0,0,0,.18);
  color: inherit;
  vertical-align: middle;
}
#page-proseries .track-detail[data-track="elite"] .td-tag,
#page-proseries .track-detail[data-track="pro"] .td-tag { background: rgba(255,255,255,.16); }

#page-proseries .td-genres {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 12px !important;
  color: inherit !important;
}
#page-proseries .td-included {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-proseries .td-included li {
  font-family: "Manrope", sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.45;
  padding: 1px 0;
  color: inherit !important;
}
#page-proseries .td-included li::before {
  content: "—  ";
  opacity: .55;
  margin-right: 4px;
}

#page-proseries .td-fees {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-proseries .td-fees li {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  padding: 3px 0;
  border-bottom: 1px solid currentColor !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12.5px !important;
  color: inherit !important;
  opacity: .92;
}
#page-proseries .td-fees li:last-child { border-bottom: 0 !important; }
#page-proseries .td-fees li span:last-child {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

#page-proseries .td-allin {
  margin-top: 10px !important;
  padding: 10px 14px !important;
  background: rgba(0,0,0,.18) !important;
  border: 0 !important;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}
#page-proseries .track-detail[data-track="elite"] .td-allin,
#page-proseries .track-detail[data-track="pro"] .td-allin { background: rgba(255,255,255,.10) !important; }
#page-proseries .td-allin-label {
  font-family: "Manrope", sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .78;
}
#page-proseries .td-allin-amount {
  font-family: "Anton", sans-serif !important;
  font-size: 32px !important;
  letter-spacing: .005em;
  color: inherit !important;
}
#page-proseries .td-allin-amount span {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-left: 4px;
  opacity: .7;
}

/* One-time fees + Deposit notes */
#page-proseries .pricing-onetime,
#page-proseries .pricing-notes {
  padding: 48px 64px !important;
  margin: 0 !important;
  max-width: none !important;
  border: 0 !important;
}
#page-proseries .pricing-onetime {
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
}
#page-proseries .pricing-notes {
  background: var(--oh-blush) !important;
  color: var(--oh-green-ink) !important;
}
#page-proseries .pricing-onetime h3,
#page-proseries .pricing-notes h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;
  text-transform: uppercase !important;
  letter-spacing: .005em !important;
  margin: 0 0 22px !important;
  color: var(--oh-coral-deep);
}
#page-proseries .pricing-onetime-rows {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 !important;
  border-top: 1px solid var(--oh-green-ink);
  border-bottom: 1px solid var(--oh-green-ink);
}
#page-proseries .pricing-onetime .pot-row {
  display: grid !important;
  grid-template-columns: 1fr 1.4fr auto;
  gap: 16px 24px;
  align-items: baseline;
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(10,31,24,.25) !important;
}
#page-proseries .pricing-onetime .pot-row:last-child { border-bottom: 0 !important; }
#page-proseries .pricing-onetime .pot-name {
  font-family: "Anton", sans-serif !important;
  font-size: 24px;
  letter-spacing: .005em;
  text-transform: uppercase;
}
#page-proseries .pricing-onetime .pot-meta {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .7;
}
#page-proseries .pricing-onetime .pot-amount {
  font-family: "Anton", sans-serif !important;
  font-size: 36px;
  letter-spacing: .005em;
}
#page-proseries .pricing-notes p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 14px !important;
  max-width: 70ch;
  color: var(--oh-green-ink) !important;
}
#page-proseries .pricing-notes ul {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}
#page-proseries .pricing-notes li {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  padding: 4px 0;
  color: var(--oh-green-ink) !important;
}
#page-proseries .pricing-notes li strong {
  color: var(--oh-coral-deep) !important;
}
#page-proseries .pricing-notes li::before {
  content: "—  ";
  opacity: .55;
  margin-right: 4px;
}
#page-proseries .pricing-notes-fine {
  font-size: 12.5px !important;
  opacity: .75;
  font-style: italic;
  color: var(--oh-green-ink) !important;
}
/* Force readable colors on both Fees + Deposits bands, but preserve
   the coral H3 headings + the coral strong-emphasis in deposits. */
#page-proseries .pricing-onetime,
#page-proseries .pricing-onetime *:not(h3),
#page-proseries .pricing-notes,
#page-proseries .pricing-notes *:not(h3):not(strong) { color: var(--oh-green-ink) !important; }
#page-proseries .pricing-onetime h3,
#page-proseries .pricing-notes h3 { color: var(--oh-coral-deep) !important; }
#page-proseries .pricing-notes p strong,
#page-proseries .pricing-notes li strong { color: var(--oh-coral-deep) !important; }
#page-proseries .pricing-onetime .pot-amount,
#page-proseries .pricing-onetime .pot-name { color: var(--oh-green-ink) !important; }
#page-proseries .pricing-onetime .pot-meta { color: var(--oh-green-ink) !important; opacity: .7; }

/* Coming Soon banner */
#page-proseries .coming-soon-banner {
  padding: 56px 64px !important;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  max-width: none !important;
  border: 0 !important;
}
#page-proseries .coming-soon-eyebrow {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--oh-coral-deep);
  margin-bottom: 14px;
}
#page-proseries .coming-soon-banner h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(40px, 5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
  color: var(--oh-green-ink) !important;
}
#page-proseries .coming-soon-banner p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6;
  max-width: 62ch;
}

/* Registration is Open */
#page-proseries #proseries-interest {
  padding: 64px 64px !important;
  background: var(--oh-coral-deep) !important;
  color: var(--oh-cream-warm) !important;
  text-align: left !important;
  max-width: none !important;
  margin: 0 !important;
}
#page-proseries #proseries-interest h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(56px, 7vw, 112px) !important;
  font-weight: 400 !important;
  line-height: 0.9 !important;
  text-transform: uppercase !important;
  letter-spacing: .005em !important;
  margin: 0 0 24px !important;
  color: var(--oh-cream-warm) !important;
}
#page-proseries #proseries-interest p {
  font-family: "Manrope", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6;
  max-width: 64ch;
  color: var(--oh-cream-warm) !important;
}
#page-proseries #proseries-interest .btn-blush {
  background: var(--oh-blush) !important;
  color: var(--oh-green-ink) !important;
}
#page-proseries #proseries-interest .btn-blush:hover { background: var(--oh-blush-soft) !important; }
#page-proseries #proseries-interest .btn-outline {
  background: transparent !important;
  color: var(--oh-cream-warm) !important;
  border: 1px solid var(--oh-cream-warm) !important;
}
#page-proseries #proseries-interest .btn-outline:hover {
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
}
#page-proseries #proseries-interest .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 26px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-decoration: none;
  margin: 24px 12px 0 0 !important;
}

/* Questions outro */
#page-proseries .cta-banner {
  padding: 48px 64px !important;
  background: var(--oh-green-ink) !important;
  color: var(--oh-cream-warm) !important;
  text-align: left !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
}
#page-proseries .cta-banner h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(32px, 3.6vw, 48px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  text-transform: uppercase !important;
  letter-spacing: .005em !important;
  margin: 0 0 12px !important;
  color: var(--oh-cream-warm) !important;
}
#page-proseries .cta-banner p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6;
  max-width: 60ch;
  color: var(--oh-cream-warm) !important;
  opacity: .85;
  margin: 0 0 22px !important;
}
#page-proseries .cta-banner .btn,
#page-proseries .cta-banner .btn-primary {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 26px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--oh-coral) !important;
  color: var(--oh-cream-warm) !important;
  border: 0 !important;
}
#page-proseries .cta-banner .btn-primary:hover { background: var(--oh-coral-ink) !important; }

/* ============================================================
   .amuse-feature  — A·Muse section now lives INSIDE #page-adult-company.
   Selectors below were originally scoped to .amuse-feature; this
   sibling scope applies the same poster styling at the new home.
   ============================================================ */

.amuse-feature { display: block; max-width: none !important; }

/* ============================================================
   PAGE: .amuse-feature (legacy redirect target — kept for any
   stragglers; the scope below is reused via .amuse-feature)
   ============================================================ */

.amuse-feature { padding: 0; }
.amuse-feature > * { max-width: none !important; }

/* AC HERO — split layout, photo right */
.amuse-feature .ac-hero {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  background: var(--oh-coral-deep) !important;
  background-image: none !important;
  padding: 0 !important;
  min-height: 520px;
  color: var(--oh-cream-warm) !important;
}
.amuse-feature .ac-hero::before,
.amuse-feature .ac-hero::after { display: none !important; }
.ac-hero-text {
  padding: 56px 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
.amuse-feature .ac-hero .label {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  opacity: .85;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  display: inline-block !important;
}
.amuse-feature .ac-hero h1 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(64px, 8vw, 128px) !important;
  font-weight: 400 !important;
  line-height: 0.88 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 !important;
  text-shadow: none !important;
}
.amuse-feature .ac-hero h1 .ac-block {
  font-style: normal;
  display: inline-block;
  background: var(--oh-blush);
  color: var(--oh-green-ink);
  padding: 0 14px 4px;
  margin-top: -2px;
  font-family: "Anton", sans-serif;
}
.amuse-feature .ac-hero .sub {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: clamp(18px, 1.5vw, 22px) !important;
  font-weight: 500 !important;
  color: var(--oh-cream-warm) !important;
  opacity: .92;
  margin: 22px 0 4px !important;
}
.amuse-feature .ac-hero .tagline {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  opacity: .82;
  margin: 0 !important;
}
.ac-hero-photo {
  position: relative;
  background: #1a0a14;
  overflow: hidden;
  min-height: 360px;
}
.ac-hero-photo img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.ac-hero-photo::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.5));
}
.ac-hero-photo-caption {
  position: absolute;
  left: 24px;
  bottom: 22px;
  font-family: "SF Mono", Menlo, ui-monospace, monospace;
  color: rgba(255,255,255,.65);
  font-size: 10px;
  letter-spacing: .2em;
  z-index: 1;
  text-transform: uppercase;
}

/* Chapter eyebrow on Performances */
.amuse-feature .content-section {
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 64px !important;
  background: var(--oh-green-ink) !important;
  color: var(--oh-cream-warm) !important;
  border: 0 !important;
}
.amuse-feature .content-section .chapter {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--oh-coral) !important;
}
.amuse-feature .content-section .chapter::before,
.amuse-feature .content-section .chapter::after { display: none !important; }
.amuse-feature .content-section .chapter .no {
  font-family: "Anton", sans-serif !important;
  font-size: 22px !important;
}
.amuse-feature .content-section h2 {
  color: var(--oh-coral) !important;
}

/* The Show / Want to dance — color-blocked split */
.amuse-feature .collective-card {
  padding: 0 !important;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  max-width: none !important;
  margin: 0 !important;
}
.amuse-feature .cc-intro {
  padding: 56px 64px 40px !important;
  background: var(--oh-cream-warm);
  color: var(--oh-green-ink);
}
.amuse-feature .cc-intro h2 {
  color: var(--oh-coral-deep) !important;
}
.amuse-feature .cc-intro p {
  color: var(--oh-green-ink) !important;
}
.amuse-feature .cc-intro em {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  font-weight: 500;
}
.amuse-feature .cc-grid {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr !important;
  gap: 0 !important;
  background: var(--oh-rule);
  border-top: 1px solid rgba(10,31,24,.18);
}
.amuse-feature .cc-section {
  padding: 48px 56px !important;
  background: var(--oh-blush);
  color: var(--oh-green-ink) !important;
  margin: 0 !important;
  border: 0 !important;
}
.amuse-feature .cc-section.cc-pricing-block {
  background: var(--oh-coral-deep);
  color: var(--oh-cream-warm) !important;
}
.amuse-feature .cc-section h3 {
  color: inherit !important;
  font-family: "Anton", sans-serif !important;
  font-size: clamp(32px, 3.6vw, 48px) !important;
  margin: 0 0 22px !important;
  text-transform: uppercase;
  letter-spacing: .005em;
  line-height: 0.96;
  font-weight: 400 !important;
}
.amuse-feature .cc-section p { color: inherit !important; opacity: .92; }
.amuse-feature .cc-slots {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 18px;
}
.amuse-feature .cc-slots li {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 14px 20px;
  padding: 12px 0;
  border-top: 1px solid currentColor;
  color: inherit !important;
}
.amuse-feature .cc-slots li:first-child { border-top: 0; padding-top: 0; }
.amuse-feature .cc-slot-time {
  font-family: "Anton", sans-serif !important;
  font-size: 22px !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  color: inherit !important;
}
.amuse-feature .cc-slot-name {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  display: block !important;
  margin-bottom: 4px !important;
  color: inherit !important;
  background: none !important;
}
.amuse-feature .cc-slot-desc {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  margin: 4px 0 0 !important;
  opacity: .8;
  color: inherit !important;
}

/* Force per-section text on the cc-section variants so the existing
   .cc-slot-name green colors don't leak through */
.amuse-feature .cc-section,
.amuse-feature .cc-section *:not(.cc-cta):not(.cc-cta *):not(.payment-chip):not(.payment-chip *) { color: var(--oh-green-ink) !important; }
.amuse-feature .cc-section.cc-pricing-block,
.amuse-feature .cc-section.cc-pricing-block *:not(.cc-cta):not(.cc-cta *):not(.payment-chip):not(.payment-chip *) { color: var(--oh-cream-warm) !important; }
.amuse-feature .cc-pricing-block .cc-cta { color: var(--oh-green-ink) !important; }
.amuse-feature .cc-pricing-block .payment-chip { color: var(--oh-cream-warm) !important; }
.amuse-feature .cc-pricing-block .payment-chip:hover { color: var(--oh-coral-deep) !important; }
.amuse-feature .cc-intro,
.amuse-feature .cc-intro * { color: var(--oh-green-ink) !important; }
.amuse-feature .cc-intro h2 { color: var(--oh-coral-deep) !important; }
.amuse-feature .cc-intro em { color: var(--oh-coral-deep) !important; }
.amuse-feature .cc-section h3 { color: inherit !important; }
.amuse-feature .cc-meta {
  margin-top: 22px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .7;
}
.amuse-feature .payment-methods { display: flex; flex-wrap: wrap; gap: 10px; }
.amuse-feature .payment-chip {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none;
  background: transparent;
  color: inherit !important;
  border: 1px solid currentColor;
  transition: background .2s ease;
}
.amuse-feature .payment-chip:hover { background: currentColor; color: var(--oh-coral-deep) !important; }
.amuse-feature .cc-payment-label {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .8;
  margin: 0 0 10px !important;
}
.amuse-feature .cc-cta,
.amuse-feature .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 26px !important;
  margin-top: 22px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  border: 0 !important;
}
.amuse-feature .cc-cta:hover { background: var(--oh-blush) !important; }

/* "Want to come watch?" cta-banner */
.amuse-feature .cta-banner {
  padding: 48px 64px !important;
  background: var(--oh-green-ink) !important;
  color: var(--oh-cream-warm) !important;
  text-align: left !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
}
.amuse-feature .cta-banner h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(32px, 3.6vw, 48px) !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  letter-spacing: .005em;
  line-height: 0.96;
  color: var(--oh-cream-warm) !important;
  margin: 0 0 12px !important;
}
.amuse-feature .cta-banner p {
  color: var(--oh-cream-warm) !important;
  opacity: .85;
  max-width: 64ch;
  margin: 0 !important;
}

/* "Also on the calendar" header */
.amuse-feature .content-section[style*="margin-top"] {
  background: var(--oh-coral-deep) !important;
  color: var(--oh-cream-warm) !important;
  padding: 56px 64px !important;
  margin-top: 0 !important;
  text-align: left !important;
}
.amuse-feature .content-section[style*="margin-top"] h2 {
  color: var(--oh-cream-warm) !important;
  font-family: "Anton", sans-serif !important;
  font-size: clamp(48px, 6vw, 88px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  text-align: left !important;
}

/* "Coming up" 2-up + ce-teasers grid */
.amuse-feature .coming-up,
.amuse-feature .coming-up.three-up {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  background: var(--oh-rule);
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
.amuse-feature .coming-up-card {
  padding: 48px 56px !important;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  border: 0 !important;
}
.amuse-feature .coming-up-card:nth-child(2) {
  background: var(--oh-blush) !important;
}
.amuse-feature .coming-up-card .label {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: var(--oh-coral-deep) !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  border: 0 !important;
}
.amuse-feature .coming-up-card h3 {
  color: var(--oh-green-ink) !important;
  font-family: "Anton", sans-serif !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  margin: 0 0 12px !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  line-height: 0.95 !important;
}
.amuse-feature .coming-up-card .meta {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .65;
  margin: 0 0 14px !important;
}
.amuse-feature .coming-up-card p {
  color: var(--oh-green-ink) !important;
  opacity: .85;
  max-width: 60ch;
}

.amuse-feature .ce-teasers {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  background: var(--oh-rule);
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
.amuse-feature .ce-teaser {
  padding: 48px 56px !important;
  background: var(--oh-green-ink) !important;
  color: var(--oh-cream-warm) !important;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 0 !important;
  transition: background .25s ease;
}
.amuse-feature .ce-teaser:hover { background: #061812 !important; }
.amuse-feature .ce-teaser:nth-child(2) {
  background: var(--oh-coral-deep) !important;
}
.amuse-feature .ce-teaser:nth-child(2):hover { background: var(--oh-coral-ink) !important; }
.amuse-feature .ce-teaser-eyebrow {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--oh-coral) !important;
  margin-bottom: 6px;
}
.amuse-feature .ce-teaser:nth-child(2) .ce-teaser-eyebrow { color: var(--oh-blush) !important; }
.amuse-feature .ce-teaser h3 {
  color: inherit !important;
  font-family: "Anton", sans-serif !important;
  font-size: clamp(32px, 3.6vw, 48px) !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  letter-spacing: .005em;
  margin: 0 !important;
}
.amuse-feature .ce-teaser p {
  color: inherit !important;
  opacity: .9;
  font-size: 14px;
  margin: 6px 0 14px !important;
}
.amuse-feature .ce-teaser-arrow {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-top: auto;
  border-top: 1px solid currentColor;
  padding-top: 14px;
  opacity: .92;
}

/* A·Muse hero — big poster, photo backdrop, color band overlay */
.amuse-feature .hero,
.amuse-feature > section:first-of-type > div:first-child {
  padding: 0 !important;
  background: var(--oh-coral-deep) !important;
  min-height: auto !important;
  max-height: none !important;
}
.amuse-feature .hero h1,
.amuse-feature .hero .hero-eyebrow,
.amuse-feature .hero .subtitle,
.amuse-feature .hero p {
  /* let the page-specific styling below take over */
}

/* New Performances hero markup applied via classes; styling here */
.pf-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  background: var(--oh-coral-deep);
  color: var(--oh-cream-warm);
  min-height: 520px;
}
.pf-hero-text {
  padding: 56px 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
.pf-hero-eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--oh-cream-warm);
  opacity: .85;
  margin-bottom: 14px;
}
.pf-hero-title {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(72px, 10vw, 168px);
  font-weight: 400;
  line-height: 0.86;
  letter-spacing: .005em;
  text-transform: uppercase;
  color: var(--oh-cream-warm);
  margin: 0;
}
.pf-hero-title em {
  font-style: normal;
  display: inline-block;
  background: var(--oh-blush);
  color: var(--oh-green-ink);
  padding: 0 14px 4px;
  margin-top: -2px;
  font-family: "Anton", sans-serif;
}
.pf-hero-sub {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 500;
  margin: 22px 0 4px;
  opacity: .92;
}
.pf-hero-tagline {
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .8;
}
.pf-hero-photo {
  background: #1a0a14;
  position: relative;
  overflow: hidden;
  min-height: 360px;
}
.pf-hero-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.pf-hero-photo::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.5));
}

/* Performances inner content sections */
.amuse-feature .content-section,
.amuse-feature .section-card,
.amuse-feature > section > div,
.amuse-feature .upcoming-grid {
  /* see overrides below */
}

/* A·Muse details card — band */
.amuse-feature .section-card[aria-label="A·Muse show details"],
.amuse-feature .amuse-details {
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  padding: 56px 64px !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Make every direct content child of the Performances page full-bleed band-style */
.amuse-feature > section:first-of-type > section,
.amuse-feature > section:first-of-type > div {
  max-width: none !important;
  margin: 0 !important;
}

/* Headlines on Performances page */
.amuse-feature h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(44px, 5.5vw, 88px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 22px !important;
}
.amuse-feature h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(26px, 2.6vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}
.amuse-feature p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 14px !important;
}
.amuse-feature .upcoming-card {
  border: 1px solid var(--oh-rule) !important;
  background: var(--oh-green-ink) !important;
  padding: 28px !important;
}

/* ============================================================
   PAGE: #page-shop (Merch)
   ============================================================ */

#page-shop { padding: 0; }

#page-shop h1 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(72px, 10vw, 168px) !important;
  font-weight: 400 !important;
  line-height: 0.86 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  color: var(--oh-cream-warm) !important;
}
#page-shop h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  margin: 0 0 22px !important;
}
#page-shop h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
}

#page-shop > * { max-width: none !important; }

/* Merch hero — coral band with poster type */
#page-shop .merch-poll-hero {
  padding: 56px 64px !important;
  background: var(--oh-coral-deep) !important;
  color: var(--oh-cream-warm) !important;
  text-align: left !important;
  max-width: none !important;
  margin: 0 !important;
}
#page-shop .merch-poll-hero .hero-logo-section { display: none !important; }
#page-shop .merch-poll-hero h1 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(64px, 9vw, 144px) !important;
  font-weight: 400 !important;
  line-height: 0.86 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 !important;
}
#page-shop .merch-poll-hero .sub {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: clamp(16px, 1.3vw, 20px) !important;
  font-weight: 500 !important;
  color: var(--oh-cream-warm) !important;
  opacity: .92;
  margin: 20px 0 0 !important;
  max-width: 56ch;
}

/* Merch form wrapper */
#page-shop .merch-poll { padding: 0 !important; margin: 0 !important; max-width: none !important; }
#page-shop .merch-poll-form { padding: 0 !important; margin: 0 !important; max-width: none !important; }

/* Category cards — 3 poster panels w/ alternating accents */
#page-shop .merch-categories {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 2px !important;
  background: var(--oh-rule);
  padding: 0 !important;
  margin: 0 !important;
}
#page-shop .merch-category-card {
  position: relative;
  padding: 36px 32px !important;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  border: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 20px;
  cursor: pointer;
  transition: background .25s ease;
}
#page-shop .merch-category-card:nth-child(2) { background: var(--oh-blush) !important; }
#page-shop .merch-category-card:nth-child(3) { background: var(--oh-green-ink) !important; color: var(--oh-cream-warm) !important; }
#page-shop .merch-category-card:has(input:checked) { outline: 3px solid var(--oh-coral); outline-offset: -3px; }
#page-shop .merch-category-card input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
#page-shop .merch-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 16px;
  background: rgba(0,0,0,.04);
}
#page-shop .merch-category-card:nth-child(3) .merch-mini-grid {
  background: rgba(255,255,255,.06);
}
#page-shop .mini-item {
  position: relative;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}
#page-shop .mini-item .garment {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}
#page-shop .mini-item .logo {
  position: absolute;
  max-width: 36%;
  max-height: 36%;
  object-fit: contain;
}
#page-shop .merch-cat-info { padding: 0; }
#page-shop .merch-cat-name {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  letter-spacing: .005em;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 6px;
  color: inherit !important;
}
#page-shop .merch-cat-items {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .8;
}
#page-shop .merch-select-dot {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 16px;
  height: 16px;
  border: 1.5px solid currentColor;
  background: transparent;
  transition: background .2s ease;
}
#page-shop .merch-category-card:has(input:checked) .merch-select-dot {
  background: var(--oh-coral);
  border-color: var(--oh-coral);
}

/* Cast my vote button */
#page-shop .merch-extras {
  padding: 48px 64px !important;
  background: var(--oh-green-ink) !important;
  text-align: left !important;
  margin: 0 !important;
}
#page-shop .merch-extras .btn,
#page-shop .merch-extras .btn-blush {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 26px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--oh-coral) !important;
  color: var(--oh-cream-warm) !important;
  border: 0 !important;
  cursor: pointer;
}
#page-shop .merch-extras .btn:hover { background: var(--oh-coral-ink) !important; }

/* Vote success state */
#page-shop .merch-vote-success {
  padding: 56px 64px !important;
  background: var(--oh-blush) !important;
  color: var(--oh-green-ink) !important;
  margin: 0 !important;
  border: 0 !important;
}
#page-shop .merch-vote-success h2 { color: var(--oh-coral-deep) !important; }
#page-shop .merch-vote-success p { color: var(--oh-green-ink) !important; opacity: .9; }
#page-shop .merch-vote-success .small { font-size: 13px; }

#page-shop p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 980px) {
  #page-shop .merch-categories { grid-template-columns: 1fr !important; }
  #page-shop .merch-poll-hero { padding: 44px 28px !important; }
  #page-shop .merch-category-card { padding: 32px 28px !important; }
  #page-shop .merch-extras { padding: 36px 28px !important; }
}

/* ============================================================
   PAGE: #page-proseries — "Also on the calendar" poster band
   (Summer Intensive + Competition Season — merged from old Performances)
   ============================================================ */

#page-proseries .ps-whatelse {
  padding: 56px 64px !important;
  background: var(--oh-blush) !important;
  color: var(--oh-green-ink) !important;
  text-align: left !important;
  margin: 0 !important;
}
#page-proseries .ps-whatelse h2 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(48px, 6vw, 88px) !important;
  font-weight: 400 !important;
  text-align: left !important;
  line-height: 0.92 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--oh-coral-deep) !important;
  margin: 0 !important;
}
#page-proseries .ps-whatelse-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  background: rgba(10,31,24,.18);
  padding: 0 !important;
  margin: 0 !important;
}
#page-proseries .ps-whatelse-grid .coming-up-card {
  padding: 48px 56px !important;
  background: var(--oh-cream-warm) !important;
  color: var(--oh-green-ink) !important;
  border: 0 !important;
  margin: 0 !important;
}
#page-proseries .ps-whatelse-grid .coming-up-card:nth-child(2) {
  background: var(--oh-green-ink) !important;
  color: var(--oh-cream-warm) !important;
}
#page-proseries .ps-whatelse-grid .coming-up-card .label {
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: var(--oh-coral-deep) !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  border: 0 !important;
  display: inline-block !important;
}
#page-proseries .ps-whatelse-grid .coming-up-card:nth-child(2) .label { color: var(--oh-coral) !important; }
#page-proseries .ps-whatelse-grid .coming-up-card h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(32px, 3.6vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: inherit !important;
  margin: 0 0 14px !important;
}
#page-proseries .ps-whatelse-grid .coming-up-card .meta {
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .7;
  margin: 0 0 14px !important;
}
#page-proseries .ps-whatelse-grid .coming-up-card p {
  font-family: "Manrope", sans-serif !important;
  color: inherit !important;
  opacity: .85;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 56ch;
}

@media (max-width: 980px) {
  #page-proseries .ps-whatelse-grid { grid-template-columns: 1fr !important; }
  #page-proseries .ps-whatelse-grid .coming-up-card { padding: 36px 28px !important; }
  #page-proseries .ps-whatelse { padding: 40px 28px !important; }
}

/* ============================================================
   PAGE: #page-teachers — Director + Rotation Faculty
   Full poster aesthetic, square corners, color-blocked bands.
   ============================================================ */

#page-teachers { padding: 0; background: var(--oh-green-deep); color: var(--oh-cream); }
#page-teachers > * { max-width: none !important; }
#page-teachers * { border-radius: 0 !important; }

/* Hero band */
.tch-hero {
  background: var(--oh-coral-deep);
  color: var(--oh-cream-warm);
  padding: 0;
}
.tch-hero-text {
  padding: 64px 64px 56px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
}
.tch-hero-eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--oh-cream-warm);
  opacity: .85;
}
#page-teachers h1.tch-hero, /* in case markup wraps differently */
#page-teachers .tch-hero h1 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(72px, 10vw, 168px) !important;
  font-weight: 400 !important;
  line-height: 0.86 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 !important;
}
.tch-hero-sub {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 500;
  color: var(--oh-cream-warm);
  opacity: .92;
  margin: 10px 0 0;
  max-width: 56ch;
}

/* Director band (Dixon) */
.tch-director {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  background: var(--oh-green-ink);
  color: var(--oh-cream);
  min-height: 460px;
}
.tch-director-text {
  padding: 64px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.tch-eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--oh-coral);
}
.tch-name {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(56px, 7vw, 112px) !important;
  font-weight: 400 !important;
  line-height: 0.88 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 !important;
}
.tch-name em {
  font-style: italic;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500;
  color: var(--oh-blush-soft);
  text-transform: none;
  letter-spacing: .005em;
  display: inline-block;
  padding-left: .15em;
}
.tch-role {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 20px !important;
  color: var(--oh-cream-warm) !important;
  opacity: .9;
  margin: 4px 0 0 !important;
}
.tch-bio {
  font-family: "Manrope", sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--oh-cream) !important;
  opacity: .82;
  margin: 14px 0 0 !important;
  max-width: 56ch;
}
.tch-director-photo {
  position: relative;
  background: #1a0a14;
  overflow: hidden;
  min-height: 360px;
}
.tch-director-photo img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  /* Mixed-photo shuffle — bias up slightly so portrait & landscape both frame faces */
  object-position: 50% 35%;
}
/* Shuffle slides — absolutely-stacked, fade by class swap */
.tch-director-photo .tch-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.tch-director-photo .tch-slide.active { opacity: 1; z-index: 1; }
.tch-director-photo::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.5));
}
.tch-photo-caption {
  position: absolute;
  left: 22px;
  bottom: 22px;
  font-family: "SF Mono", Menlo, ui-monospace, monospace;
  color: rgba(255,255,255,.65);
  font-size: 10px;
  letter-spacing: .2em;
  z-index: 1;
  text-transform: uppercase;
}

/* Rotation faculty band */
.tch-rotation-band {
  background: var(--oh-green-deep);
  padding: 0;
}
.tch-rotation-head {
  padding: 48px 64px 28px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.tch-rotation-eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--oh-coral);
}
.tch-rotation-title {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 500 !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 !important;
  letter-spacing: .005em;
}
.tch-rotation-grid {
  display: grid;
  /* 5 cards on wide screens; the in-between widths step down 5 → 4 → 3 → 2 → 1
     instead of jumping straight to 3-up (which leaves an awkward empty cell with
     5 children). */
  grid-template-columns: repeat(5, 1fr);
  gap: 2px;
  background: var(--oh-rule);
}
@media (max-width: 1380px) {
  /* 4 across — 5th card wraps to row 2 col 1 */
  .tch-rotation-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1100px) {
  /* 3 across — 4th & 5th wrap; center the partial row */
  .tch-rotation-grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .tch-rotation-grid > .tch-card:nth-child(1) { grid-column: 1 / span 2; }
  .tch-rotation-grid > .tch-card:nth-child(2) { grid-column: 3 / span 2; }
  .tch-rotation-grid > .tch-card:nth-child(3) { grid-column: 5 / span 2; }
  .tch-rotation-grid > .tch-card:nth-child(4) { grid-column: 2 / span 2; }
  .tch-rotation-grid > .tch-card:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 820px) {
  .tch-rotation-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tch-rotation-grid > .tch-card { grid-column: auto !important; }
  /* 5 items: last one full-width centered on its own row */
  .tch-rotation-grid > .tch-card:nth-child(5) { grid-column: 1 / -1; max-width: 50%; justify-self: center; }
}
@media (max-width: 560px) {
  .tch-rotation-grid { grid-template-columns: 1fr; }
  .tch-rotation-grid > .tch-card:nth-child(5) { max-width: 100%; }
}

/* Card — composite-image only (the PNG already includes name, role, quote, credits) */
.tch-card {
  position: relative;
  background: var(--oh-green-ink);
  overflow: hidden;
  display: block;
  transition: transform .3s ease;
}
.tch-card:hover { transform: translateY(-2px); }
.tch-card--composite img {
  width: 100%;
  height: auto;
  display: block;
}

/* Outro */
.tch-outro {
  background: var(--oh-green-ink);
  color: var(--oh-cream-warm);
  padding: 56px 64px;
}
.tch-outro h3 {
  font-family: "Anton", sans-serif !important;
  font-size: clamp(32px, 3.6vw, 56px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  text-transform: uppercase !important;
  letter-spacing: .005em !important;
  color: var(--oh-cream-warm) !important;
  margin: 0 0 12px !important;
}
.tch-outro p {
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6;
  color: var(--oh-cream-warm) !important;
  opacity: .85;
  max-width: 60ch;
  margin: 0 0 22px !important;
}
.tch-outro .btn,
.tch-outro .btn-primary {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 16px 26px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--oh-coral) !important;
  color: var(--oh-cream-warm) !important;
  border: 0 !important;
}
.tch-outro .btn-primary:hover { background: var(--oh-coral-ink) !important; }

/* Responsive */
@media (max-width: 1024px) {
  .tch-hero-text { padding: 48px 28px 40px; }
  .tch-director { grid-template-columns: 1fr; }
  .tch-director-photo { min-height: 280px; order: 1; }
  .tch-director-text { order: 2; padding: 44px 28px; }
  .tch-rotation-head { padding: 40px 28px 22px; flex-direction: column; align-items: flex-start; gap: 10px; }
  .tch-rotation-grid { grid-template-columns: 1fr 1fr; }
  .tch-outro { padding: 44px 28px; }
}
@media (max-width: 720px) {
  .tch-rotation-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) {
  .amuse-feature .ac-hero { grid-template-columns: 1fr !important; }
  .ac-hero-photo { min-height: 240px; order: 1; }
  .ac-hero-text { order: 2; padding: 40px 28px; }
  .amuse-feature .content-section { padding: 28px !important; }
  .amuse-feature .cc-intro { padding: 40px 28px !important; }
  .amuse-feature .cc-grid { grid-template-columns: 1fr !important; }
  .amuse-feature .cc-section { padding: 40px 28px !important; }
  .amuse-feature .cta-banner,
  .amuse-feature .content-section[style*="margin-top"] { padding: 36px 28px !important; }
  .amuse-feature .coming-up,
  .amuse-feature .coming-up.three-up,
  .amuse-feature .ce-teasers { grid-template-columns: 1fr !important; }
  .amuse-feature .coming-up-card,
  .amuse-feature .ce-teaser { padding: 36px 28px !important; }
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  #page-proseries .ps-hero { grid-template-columns: 1fr; }
  #page-proseries .ps-hero-photo { min-height: 280px; order: 1; }
  #page-proseries .ps-hero-text { order: 2; padding: 40px 28px 36px; }
  .ps-meta-bar { padding: 18px 28px; font-size: 16px; }
  #page-proseries .content-section { padding: 48px 28px !important; }
  #page-proseries .track-detail { grid-template-columns: 1fr; gap: 28px; padding: 44px 28px !important; }
  #page-proseries .why-grid { grid-template-columns: 1fr !important; }
  #page-proseries .td-intro,
  #page-proseries .pricing-onetime,
  #page-proseries .pricing-notes,
  #page-proseries .coming-soon-banner,
  #page-proseries #proseries-interest,
  #page-proseries .cta-banner { padding: 44px 28px !important; }
  .pf-hero { grid-template-columns: 1fr; }
  .pf-hero-photo { min-height: 240px; order: 1; }
  .pf-hero-text { order: 2; padding: 40px 28px; }
  .merch-hero-band { padding: 44px 28px; }
}
@media (max-width: 560px) {
  #page-proseries .td-name-row { flex-direction: column; gap: 8px; }
  #page-proseries .pricing-onetime .pot-row { grid-template-columns: 1fr; gap: 4px; }
  #page-proseries .pricing-onetime .pot-amount { font-size: 28px; }
}

/* ════════════════════════════════════════════════════════════════
   MOBILE POLISH PASS (2026-05-13) — see plan
   Targets: ProSeries hero shrink, Merch headline fit, Track tabs
   compact, Collective hero shrink, ProSeries home scrim.
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
  /* ProSeries hero — collapse to single column, tighten the giant circle */
  #page-proseries .ps-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding-top: 16px !important;
  }
  #page-proseries .ps-hero h1 {
    font-size: clamp(64px, 18vw, 96px) !important;
    margin-top: 12px !important;
  }
  .ps-hero-text { padding: 24px 24px 40px !important; order: 2; }
  #page-proseries .ps-hero .hero-logo-big,
  #page-proseries .ps-hero .ps-hero-logo {
    order: 1;
    min-height: 160px !important;
    padding: 16px 24px 4px !important;
  }
  #page-proseries .ps-hero .hero-logo-big video,
  #page-proseries .ps-hero .hero-logo-big img,
  #page-proseries .ps-hero .ps-hero-logo video,
  #page-proseries .ps-hero .ps-hero-logo img {
    width: min(160px, 44vw) !important;
  }

  /* Merch hero — contain DWDPROSERIES on phone widths */
  #page-shop .merch-poll-hero {
    padding: 36px 24px !important;
  }
  #page-shop .merch-poll-hero h1 {
    font-size: clamp(42px, 12vw, 72px) !important;
    line-height: 0.9 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* ProSeries Track tabs (Prep/Elite/Pro) — drop the long meta line on phones */
  #page-proseries .track-tab .tt-meta { display: none; }
  #page-proseries .track-tab {
    padding: 14px 10px !important;
    min-height: 56px;
    gap: 4px !important;
  }
  #page-proseries .track-tab .tt-num {
    font-size: 9px !important;
    letter-spacing: .2em !important;
  }
  #page-proseries .track-tab .tt-name {
    font-size: clamp(22px, 6.5vw, 30px) !important;
  }

  /* Collective hero — same shrink treatment so the logo doesn't eat half the fold */
  #page-adult-company .ac-hero--split .hero-logo-big {
    min-height: 200px !important;
    padding: 28px 24px 8px !important;
  }
  #page-adult-company .ac-hero--split .hero-logo-big video,
  #page-adult-company .ac-hero--split .hero-logo-big img {
    width: min(220px, 55vw) !important;
  }
}

/* Home entry cards — extra contrast scrim on mobile so the body text is always
   legible against a busy thumb image at the small mobile thumb size. */
@media (max-width: 720px) {
  #page-home .entry .thumb::after {
    background: linear-gradient(90deg, rgba(12, 31, 23, 0) 0%, rgba(12, 31, 23, 0.55) 100%) !important;
  }
}

/* Triptych CTA tap-target floor (DETAILS / REGISTER / LEARN MORE rows) */
@media (max-width: 720px) {
  .triptych-card .btn-link,
  .triptych-card a.tri-cta,
  .tri-card .tri-cta,
  .tri-card a[href^="#"] { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Ticker buttons + close X — ensure 44px Apple HIG tap-target floor */
@media (max-width: 720px) {
  .audition-ticker { min-height: 44px; }
  .audition-ticker .at-close,
  .audition-ticker [data-audition-action="ticker-dismiss"],
  .audition-ticker button.close {
    min-width: 44px;
    min-height: 44px;
  }
  .audition-ticker a,
  .audition-ticker button { min-height: 44px; }
}
