/* Section labels: no numeric prefixes (01, 02, …) on mp pages */
.section-tag {
  gap: 0;
}
.section-tag::before {
  display: none !important;
  content: none !important;
}

/* Home-only section wrappers: token values copied from v1-main #about / layout rhythm */
#intro {
  padding: 90px 0;
  background:
    radial-gradient(ellipse 58% 42% at 18% 16%, rgba(212, 168, 67, 0.035), transparent 68%),
    linear-gradient(180deg, rgba(20, 20, 26, 0.96), rgba(15, 16, 21, 0.98));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* Biography page: long copy reads more naturally when image and text share the top edge. */
@media (min-width: 701px) {
  .mp-page-bio .about-grid {
    align-items: start;
  }
  .mp-page-bio .about-photo-wrap {
    align-self: start;
  }
}

#explore {
  padding: 90px 0;
  background: var(--bg);
  position: relative;
  border-top: 1px solid var(--border);
}
a.hero-scroll {
  text-decoration: none;
  color: inherit;
}

/* Home (public): hero and intro polish with current structure/content intact. */
body[data-mp-page="index"] #hero .hero-subtitle {
  max-width: 48ch;
  margin-top: 18px;
  font-size: clamp(0.88rem, 1.2vw, 0.96rem);
  line-height: 1.76;
  color: rgba(231, 234, 239, 0.82);
  letter-spacing: 0.014em;
  text-wrap: balance;
}
body[data-mp-page="index"] #hero .hero-cta {
  margin-top: 30px;
  padding-top: 14px;
  border-top: 1px solid rgba(212, 168, 67, 0.24);
  gap: 12px;
  align-items: stretch;
}
body[data-mp-page="index"] #hero .hero-cta .btn-primary,
body[data-mp-page="index"] #hero .hero-cta .btn-secondary {
  min-height: 42px;
}
body[data-mp-page="index"] #hero .hero-cta .btn-secondary {
  background: rgba(10, 12, 17, 0.26);
  border-color: rgba(212, 168, 67, 0.2);
  color: rgba(236, 239, 244, 0.78);
  box-shadow: none;
}
body[data-mp-page="index"] #hero .hero-cta .btn-secondary:hover {
  border-color: rgba(212, 168, 67, 0.42);
  background: rgba(16, 18, 24, 0.44);
  color: rgba(245, 235, 212, 0.94);
}
body[data-mp-page="index"] #intro .about-grid {
  grid-template-columns: minmax(280px, 0.84fr) minmax(0, 1.16fr);
  gap: 76px;
  align-items: start;
}
body[data-mp-page="index"] #intro .section-tag {
  margin-bottom: 34px;
}
body[data-mp-page="index"] #intro .about-photo-wrap {
  width: 100%;
  max-width: 382px;
  justify-self: start;
}
body[data-mp-page="index"] #intro .about-text {
  padding-top: 0;
}
body[data-mp-page="index"] #intro .about-text h2 {
  margin-bottom: 20px;
  max-width: 20ch;
  line-height: 1.08;
}
body[data-mp-page="index"] #intro .about-text p {
  max-width: 66ch;
  line-height: 1.86;
  margin-bottom: 14px;
}
body[data-mp-page="index"] #intro .presenter-micro {
  margin-top: 16px;
  padding: 12px 14px 10px;
  border: 1px solid rgba(212, 168, 67, 0.18);
  background: linear-gradient(180deg, rgba(212, 168, 67, 0.07), rgba(212, 168, 67, 0.02));
}
body[data-mp-page="index"] #intro .presenter-micro-tag {
  margin-bottom: 7px;
  letter-spacing: 0.18em;
}
body[data-mp-page="index"] #intro .presenter-micro-list {
  gap: 5px;
}
body[data-mp-page="index"] #intro .presenter-micro-list li {
  font-size: 0.84rem;
  line-height: 1.58;
}
body[data-mp-page="index"] #home-final-cta {
  padding: clamp(2.5rem, 6vw, 5rem) var(--page-pad, 1.25rem) clamp(2.8rem, 7vw, 5.4rem);
  border-top: 1px solid rgba(212, 168, 67, 0.2);
  background:
    radial-gradient(ellipse 72% 58% at 50% 0%, rgba(212, 168, 67, 0.06), transparent 70%),
    linear-gradient(180deg, rgba(16, 17, 23, 0.96), rgba(12, 13, 18, 0.98));
}
body[data-mp-page="index"] #home-final-cta .section-inner {
  max-width: min(1040px, 100%);
  margin: 0 auto;
}
body[data-mp-page="index"] #home-final-cta #homeIntroCtas {
  margin: 0 auto;
  max-width: 900px;
  padding: 0;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
body[data-mp-page="index"] #homeIntroCtas .btn-primary,
body[data-mp-page="index"] #homeIntroCtas .btn-secondary {
  min-height: 41px;
}
body[data-mp-page="index"] #homeIntroCtas .btn-secondary {
  background: rgba(8, 9, 13, 0.16);
}
body[data-mp-page="index"] #intro .about-photo-wrap.home-intro-image--landscape,
body[data-mp-page="index"] #intro .about-photo-wrap.home-intro-image--wide {
  align-self: center;
}
body[data-mp-page="index"] #intro .about-photo.home-intro-image--portrait {
  aspect-ratio: 3 / 4;
}
body[data-mp-page="index"] #intro .about-photo.home-intro-image--landscape {
  aspect-ratio: 3 / 2;
}
body[data-mp-page="index"] #intro .about-photo.home-intro-image--wide {
  aspect-ratio: 16 / 9;
}
body[data-mp-page="index"] #intro .about-photo img.home-intro-image--landscape,
body[data-mp-page="index"] #intro .about-photo img.home-intro-image--wide {
  background: rgba(10,10,14,.92);
}

@media (max-width: 700px) {
  #intro {
    background: var(--surface);
  }
  body[data-mp-page="index"] #hero .hero-subtitle {
    margin-top: 14px;
    font-size: 0.84rem;
    line-height: 1.68;
    max-width: 34ch;
  }
  body[data-mp-page="index"] #hero .hero-cta {
    margin-top: 18px;
    padding-top: 10px;
    gap: 9px;
  }
  body[data-mp-page="index"] #intro .about-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  body[data-mp-page="index"] #intro .section-tag {
    margin-bottom: 34px;
  }
  body[data-mp-page="index"] #intro .about-photo-wrap {
    max-width: 320px;
    justify-self: center;
  }
  body[data-mp-page="index"] #intro .about-text h2 {
    margin-bottom: 14px;
    max-width: 24ch;
  }
  body[data-mp-page="index"] #intro .about-text p {
    line-height: 1.76;
    margin-bottom: 12px;
  }
  body[data-mp-page="index"] #intro .presenter-micro {
    margin-top: 16px;
    padding: 10px 11px 8px;
  }
  body[data-mp-page="index"] #intro .presenter-micro-list li {
    font-size: 0.82rem;
    line-height: 1.5;
  }
  body[data-mp-page="index"] #home-final-cta {
    padding: clamp(2.1rem, 8vw, 2.9rem) var(--page-pad, 1.25rem) clamp(2.4rem, 9vw, 3.3rem);
  }
  body[data-mp-page="index"] #home-final-cta #homeIntroCtas {
    max-width: 560px;
    gap: 10px;
    flex-direction: column;
    align-items: stretch;
  }
  body[data-mp-page="index"] #home-final-cta #homeIntroCtas .btn-primary,
  body[data-mp-page="index"] #home-final-cta #homeIntroCtas .btn-secondary {
    width: 100%;
  }
  body[data-mp-page="index"] #intro .about-photo-wrap.home-intro-image--landscape,
  body[data-mp-page="index"] #intro .about-photo-wrap.home-intro-image--wide {
    max-width: min(100%, 520px);
  }
  body[data-mp-page="index"] #intro .about-photo.home-intro-image--landscape,
  body[data-mp-page="index"] #intro .about-photo.home-intro-image--wide {
    max-width: 100%;
  }
}

/*
 * MP home hero composition (face-first).
 * mp-hero.js sets inline backgroundPosition from hero-config — without !important,
 * v1-main + inline lose priority fights. !important + higher specificity wins over
 * inline non-!important and fixes prefers-reduced-motion: center !important on .hero-bg.
 */
html.mp-site #hero .hero-bg {
  background-size: 88% auto !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% + 210px) -320px !important;
}
@media (min-width: 1181px) and (max-width: 1400px) and (max-height: 1100px) and (orientation: landscape) {
  html.mp-site #hero {
    background: linear-gradient(
      90deg,
      #091113 0%,
      #0b1416 30%,
      #11191d 58%,
      #0e1217 100%
    ) !important;
  }
  html.mp-site #hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse 62% 92% at 18% 46%,
        rgba(14, 22, 23, 0.08) 0%,
        rgba(12, 19, 21, 0.04) 32%,
        rgba(11, 17, 20, 0.02) 56%,
        rgba(12, 15, 21, 0) 78%
      );
  }
  html.mp-site #hero .hero-bg {
    background-size: 82% auto !important;
    background-color: #091113 !important;
    background-position: calc(100% + 18px) -250px !important;
  }
  html.mp-site #hero .hero-bg::before {
    background:
      linear-gradient(
        90deg,
        rgba(10, 17, 19, 0.54) 0%,
        rgba(10, 17, 19, 0.34) 16%,
        rgba(11, 18, 20, 0.16) 34%,
        rgba(12, 18, 21, 0.06) 52%,
        rgba(12, 15, 21, 0) 72%
      ) !important;
  }
}
@media (min-width: 1001px) and (max-width: 1180px) {
  html.mp-site #hero {
    background: linear-gradient(
      90deg,
      #172322 0%,
      #1a2a28 28%,
      #141d20 54%,
      #0e1217 100%
    ) !important;
  }
  html.mp-site #hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse 52% 78% at 26% 44%,
        rgba(54, 95, 84, 0.46) 0%,
        rgba(36, 62, 58, 0.28) 34%,
        rgba(20, 31, 34, 0.1) 58%,
        rgba(12, 15, 21, 0) 78%
      );
  }
  html.mp-site #hero .hero-bg {
    background-size: 82% auto !important;
    background-color: #182624 !important;
    background-position: calc(100% + 10px) -120px !important;
  }
}
@media (min-width: 1001px) and (max-width: 1180px) and (orientation: portrait) {
  html.mp-site #hero .hero-bg {
    background-size: 92% auto !important;
    background-color: #0d1418 !important;
    background-position: 66% -4px !important;
  }
}
@media (min-width: 1001px) and (max-width: 1180px) and (orientation: portrait) {
  html.mp-site #hero .hero-bg::before {
    background:
      linear-gradient(
        90deg,
        rgba(8, 10, 14, 0.94) 0%,
        rgba(10, 12, 18, 0.82) 16%,
        rgba(12, 14, 20, 0.5) 30%,
        rgba(12, 15, 21, 0.16) 42%,
        rgba(12, 15, 21, 0) 52%
      ) !important;
  }
}
/* Desktop mood integration: remove flat gray feel on the left with a deep tonal blend. */
@media (min-width: 901px) {
  body[data-mp-page="index"] .nav-links li:last-child a {
    margin-top: -6px;
    padding: 7px 12px 8px;
    border: 1px solid rgba(212, 168, 67, 0.34);
    color: rgba(245, 232, 202, 0.94);
    background: rgba(212, 168, 67, 0.045);
  }
  body[data-mp-page="index"] .nav-links li:last-child a::after {
    display: none;
  }
  body[data-mp-page="index"] .nav-links li:last-child a:hover {
    border-color: rgba(212, 168, 67, 0.58);
    background: rgba(212, 168, 67, 0.075);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.16);
  }
  body[data-mp-page="index"] #hero .hero-bg {
    filter: brightness(1.07) saturate(1.02) contrast(1.02);
  }
  body[data-mp-page="index"] #hero .hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(7, 9, 13, 0.88) 0%,
        rgba(8, 10, 14, 0.72) 26%,
        rgba(10, 12, 17, 0.38) 43%,
        rgba(10, 12, 17, 0.08) 58%,
        rgba(10, 12, 17, 0.04) 76%,
        rgba(10, 12, 17, 0.14) 100%
      ),
      linear-gradient(
        180deg,
        rgba(13, 13, 18, 0.08) 0%,
        rgba(13, 13, 18, 0.34) 58%,
        rgba(13, 13, 18, 0.94) 100%
      );
  }
  html.mp-site #hero {
    background: #091113 !important;
  }
  html.mp-site #hero .hero-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(
        90deg,
        rgba(8, 10, 14, 0.97) 0%,
        rgba(10, 12, 18, 0.89) 18%,
        rgba(12, 14, 20, 0.56) 36%,
        rgba(12, 15, 21, 0.18) 50%,
        rgba(12, 15, 21, 0) 60%
      );
  }
  html.mp-site #hero .hero-bg::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2%;
    width: min(42vw, 520px);
    pointer-events: none;
    filter: blur(8px);
    background:
      linear-gradient(
        90deg,
        rgba(7, 12, 14, 0.995) 0%,
        rgba(8, 13, 15, 0.975) 16%,
        rgba(8, 14, 16, 0.9) 34%,
        rgba(9, 15, 17, 0.68) 54%,
        rgba(10, 16, 18, 0.38) 72%,
        rgba(12, 15, 21, 0) 100%
      );
  }
  body[data-mp-page="index"] #hero .hero-bg::before {
    background:
      linear-gradient(
        90deg,
        rgba(8, 10, 14, 0.95) 0%,
        rgba(10, 12, 18, 0.82) 18%,
        rgba(12, 14, 20, 0.48) 35%,
        rgba(12, 15, 21, 0.12) 50%,
        rgba(12, 15, 21, 0) 64%
      ) !important;
  }
}
@media (min-width: 1001px) and (max-width: 1180px) and (orientation: landscape) {
  html.mp-site #hero .hero-bg::before {
    background:
      linear-gradient(
        90deg,
        rgba(21, 36, 33, 0.68) 0%,
        rgba(22, 38, 35, 0.56) 16%,
        rgba(18, 31, 30, 0.38) 32%,
        rgba(15, 24, 26, 0.18) 48%,
        rgba(13, 19, 23, 0.06) 62%,
        rgba(12, 15, 21, 0) 74%
      ) !important;
  }
}
html.mp-site #intro .about-photo img.mp-home-hero-asset {
  object-position: 66% 20% !important;
}
@media (max-width: 900px) {
  html.mp-site #hero .hero-bg {
    background-size: 92% auto !important;
    background-position: 76% 20% !important;
  }
  html.mp-site #intro .about-photo img.mp-home-hero-asset {
    object-position: 60% 20% !important;
  }
}
@media (max-width: 700px) {
  html.mp-site #hero .hero-bg {
    background-size: 114% auto !important;
    background-position: 44% 16% !important;
  }
  html.mp-site #intro .about-photo img.mp-home-hero-asset {
    object-position: 50% 16% !important;
  }
}
@media (max-width: 600px) {
  html.mp-site #hero .hero-bg {
    background-size: 120% auto !important;
    background-position: 40% 14% !important;
  }
  html.mp-site #intro .about-photo img.mp-home-hero-asset {
    object-position: 48% 14% !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.mp-site #hero .hero-bg {
    background-size: 88% auto !important;
    background-position: calc(100% + 210px) -320px !important;
  }
}

/* Admin-controlled Home Hero crop. Keep this at the end so it wins over
   the fixed historical hero composition rules above, including mobile. */
html.mp-site #hero .hero-bg {
  background-size: var(--hero-bg-size-desktop, 88% auto) !important;
  background-position: var(--hero-bg-position-desktop, calc(100% + 210px) -320px) !important;
}
@media (max-width: 768px) {
  html.mp-site #hero .hero-bg {
    background-size: var(--hero-bg-size-mobile, var(--hero-bg-size-desktop, 114% auto)) !important;
    background-position: var(--hero-bg-position-mobile, var(--hero-bg-position-desktop, 44% 16%)) !important;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1181px) and (max-width: 1400px) and (max-height: 1100px) and (orientation: landscape) {
  html.mp-site #hero {
    background: linear-gradient(
      90deg,
      #091113 0%,
      #0b1416 30%,
      #11191d 58%,
      #0e1217 100%
    ) !important;
  }
  html.mp-site #hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse 62% 92% at 18% 46%,
        rgba(14, 22, 23, 0.08) 0%,
        rgba(12, 19, 21, 0.04) 32%,
        rgba(11, 17, 20, 0.02) 56%,
        rgba(12, 15, 21, 0) 78%
      );
  }
  html.mp-site #hero .hero-bg {
    background-size: 82% auto !important;
    background-color: #091113 !important;
    background-position: calc(100% + 18px) -250px !important;
  }
  html.mp-site #hero .hero-bg::before {
    background:
      linear-gradient(
        90deg,
        rgba(10, 17, 19, 0.54) 0%,
        rgba(10, 17, 19, 0.34) 16%,
        rgba(11, 18, 20, 0.16) 34%,
        rgba(12, 18, 21, 0.06) 52%,
        rgba(12, 15, 21, 0) 72%
      ) !important;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1001px) and (max-width: 1180px) {
  html.mp-site #hero {
    background: linear-gradient(
      90deg,
      #172322 0%,
      #1a2a28 28%,
      #141d20 54%,
      #0e1217 100%
    ) !important;
  }
  html.mp-site #hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse 52% 78% at 26% 44%,
        rgba(54, 95, 84, 0.46) 0%,
        rgba(36, 62, 58, 0.28) 34%,
        rgba(20, 31, 34, 0.1) 58%,
        rgba(12, 15, 21, 0) 78%
      );
  }
  html.mp-site #hero .hero-bg {
    background-size: 82% auto !important;
    background-color: #182624 !important;
    background-position: calc(100% + 10px) -120px !important;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1001px) and (max-width: 1180px) and (orientation: portrait) {
  html.mp-site #hero .hero-bg {
    background-size: 92% auto !important;
    background-color: #0d1418 !important;
    background-position: 66% -4px !important;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 700px) {
  html.mp-site #hero .hero-bg {
    background-size: 114% auto !important;
    background-position: 44% 16% !important;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 600px) {
  html.mp-site #hero .hero-bg {
    background-size: 120% auto !important;
    background-position: 40% 14% !important;
  }
}

/* Text block: keep left column narrow and low so it clears the portrait. */
@media (min-width: 901px) {
  html.mp-site #hero .hero-content {
    max-width: min(48vw, 620px) !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    /* Keep block elegantly centered in hero height (not too high). */
    padding-bottom: clamp(96px, 12vh, 132px) !important;
    box-sizing: border-box !important;
  }
  html.mp-site #hero .hero-content::before {
    left: 20px !important;
  }
}
@media (min-width: 1101px) and (min-height: 720px) {
  html.mp-site body[data-mp-page="index"] #hero .hero-content {
    padding-bottom: clamp(128px, 16vh, 176px) !important;
  }
}
@media (min-width: 901px) {
  body[data-mp-page="index"] #intro {
    padding-top: 54px;
  }
}
@media (min-width: 1001px) and (max-width: 1180px) {
  html.mp-site #hero .hero-content {
    max-width: min(46vw, 470px) !important;
    padding-left: 28px !important;
    padding-right: 24px !important;
    padding-bottom: 84px !important;
  }
  html.mp-site #hero .hero-content::before {
    left: 10px !important;
  }
}
@media (min-width: 1001px) and (max-width: 1180px) and (orientation: portrait) {
  html.mp-site #hero .hero-content {
    max-width: min(49vw, 500px) !important;
    padding-left: 20px !important;
    padding-right: 18px !important;
    padding-bottom: 76px !important;
  }
  html.mp-site #hero .hero-content::before {
    left: 6px !important;
  }
}
@media (max-width: 900px) {
  html.mp-site #hero .hero-content {
    max-width: min(92vw, 480px) !important;
    padding-left: 18px !important;
    padding-right: 22px !important;
    padding-bottom: 64px !important;
  }
}
@media (max-width: 700px) {
  html.mp-site #hero .hero-content {
    max-width: 90vw !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    /* Bottom-anchored mobile composition with safe-area protection. */
    padding-bottom: max(8px, calc(6px + env(safe-area-inset-bottom, 0px))) !important;
  }
  html.mp-site #hero .hero-cta {
    justify-content: center !important;
    width: min(88vw, 430px) !important;
    max-width: min(88vw, 430px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 20px !important;
  }
}
@media (max-width: 600px) {
  html.mp-site #hero .hero-content {
    padding-bottom: max(4px, calc(4px + env(safe-area-inset-bottom, 0px))) !important;
  }
  html.mp-site #hero .hero-cta {
    width: min(90vw, 390px) !important;
    max-width: min(90vw, 390px) !important;
    margin-top: 16px !important;
  }
}

.mp-soc {
  color: var(--text-faint);
  text-decoration: none;
  font-family: var(--ff-caps);
  font-size: 0.52rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border: 1px solid var(--border);
  padding: 6px 16px;
  transition: color 0.3s, border-color 0.3s;
}
.mp-soc:hover {
  color: var(--gold);
  border-color: var(--gold);
}
/* MP calendar: venue art on past/archive rows when JSON includes venuePhoto (v1-main hides these by default). */
html.mp-site .perf-item--archive .perf-venue-bg {
  display: block !important;
}

/* Inner pages: lang bar + nav */
.mp-page-main {
  padding-top: 136px;
}
/* Thin stub pages share the same chrome clearance as full inner pages */
.mp-stub-main {
  min-height: 45vh;
}
@media (max-width: 700px) {
  .mp-page-main {
    padding-top: 120px;
  }
}
@media (max-width: 480px) {
  .mp-page-main {
    padding-top: 124px;
  }
}

/* Mobile: slightly tighter fixed chrome so main content starts sooner (mp only). */
@media (max-width: 1000px) {
  html.mp-site .site-chrome .lang-bar {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  html.mp-site .site-chrome nav {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  html.mp-site .site-chrome nav.scrolled {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
.mp-page-bio {
  padding: 90px 0;
  background: var(--surface);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  position: relative;
  isolation: isolate;
}
.mp-page-bio::before {
  content: none;
}
.mp-page-bio > * {
  position: relative;
  z-index: 1;
}
.mp-page-bio .about-text {
  position: relative;
}
.mp-page-bio .rep-header {
  margin-bottom: 2rem;
}
.mp-page-bio .rep-header .section-tag {
  margin-bottom: 0.5rem;
}
body[data-mp-page="biography"] .mp-page-bio .rep-header {
  margin-bottom: 1rem;
}
body[data-mp-page="biography"] .mp-page-bio #bioIntroLine {
  display: none;
}
body[data-mp-page="biography"] .mp-page-bio .about-grid {
  gap: 86px;
  align-items: start;
}
body[data-mp-page="biography"] .mp-page-bio .about-photo-wrap {
  align-self: start;
}
@media (min-width: 901px) {
  body[data-mp-page="biography"] .mp-page-bio .about-photo-wrap {
    position: sticky;
    top: 138px;
  }
  body[data-mp-page="biography"] .mp-page-bio {
    padding-bottom: 58px;
  }
  body[data-mp-page="biography"] .mp-page-bio-continue {
    padding-top: 52px;
  }
}
body[data-mp-page="biography"] .mp-page-bio .about-photo {
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24);
}
body[data-mp-page="biography"] .mp-page-bio .about-photo-border {
  top: 14px;
  left: 14px;
  right: -14px;
  bottom: -14px;
}
body[data-mp-page="biography"] .mp-page-bio #bio-heading {
  max-width: 21ch;
  line-height: 1.08;
  margin-bottom: 20px;
}
body[data-mp-page="biography"] .mp-page-bio #bioParagraphs {
  display: grid;
  gap: 24px;
  max-width: 67ch;
}
body[data-mp-page="biography"] .mp-page-bio .bio-copy-section {
  display: grid;
  gap: 10px;
}
body[data-mp-page="biography"] .mp-page-bio .bio-copy-section-title {
  margin: 0;
  font-family: var(--ff-caps);
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.45;
  text-transform: uppercase;
  color: rgba(212, 168, 67, 0.92);
}
body[data-mp-page="biography"] .mp-page-bio #bioParagraphs p,
body[data-mp-page="biography"] .mp-page-bio .bio-copy-paragraph {
  margin: 0;
  max-width: 67ch;
  font-size: 1rem;
  line-height: 1.9;
  color: rgba(229, 231, 236, 0.78);
}
body[data-mp-page="biography"] .mp-page-bio .section-sub {
  margin: 18px 0 0;
  max-width: 65ch;
}
body[data-mp-page="biography"] .mp-page-bio .presenter-micro {
  margin-top: 18px;
  padding: 12px 14px 10px;
  border: 1px solid rgba(212, 168, 67, 0.16);
  background: linear-gradient(180deg, rgba(212, 168, 67, 0.06), rgba(212, 168, 67, 0.015));
}
body[data-mp-page="biography"] .mp-page-bio .presenter-micro-tag {
  margin-bottom: 7px;
  letter-spacing: 0.18em;
}
body[data-mp-page="biography"] .mp-page-bio .presenter-micro-list {
  gap: 5px;
}
body[data-mp-page="biography"] .mp-page-bio .presenter-micro-list li {
  font-size: 0.84rem;
  line-height: 1.58;
}
.mp-page-bio-continue {
  padding: 90px 0;
  background: var(--bg);
  border-top: 1px solid var(--border);
}
body[data-mp-page="biography"] .mp-page-bio-continue .mp-onward-note {
  max-width: 42em;
  margin-bottom: 1.4rem;
  line-height: 1.8;
  color: rgba(229, 231, 236, 0.76);
}
body[data-mp-page="biography"] .mp-page-bio-continue .mp-onward-ctas {
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(212, 168, 67, 0.16);
}
body[data-mp-page="biography"] .mp-page-bio-continue .mp-onward-ctas .btn-primary,
body[data-mp-page="biography"] .mp-page-bio-continue .mp-onward-ctas .btn-secondary {
  min-height: 41px;
}
body[data-mp-page="biography"] .mp-page-bio-continue .mp-onward-ctas a:has(#bioCtaRepertoire) {
  display: none;
}
/* Internal-page onward navigation: one consistent component across mp/*.html (except Home hero). */
.mp-onward-band {
  padding: 48px 0 72px;
  border-top: 1px solid var(--border);
}
.mp-onward-band .section-inner {
  text-align: center;
}
.mp-onward-note {
  max-width: 34em;
  margin: 0 auto 1.25rem;
}
.mp-onward-ctas {
  justify-content: center;
}
/* Calendar: keep divider comfortably below action buttons. */
html.mp-site #performances .mp-onward-band {
  margin-top: 36px;
}
@media (max-width: 900px) {
  .mp-page-bio,
  .mp-page-bio-continue {
    padding: 88px 0;
  }
  .mp-page-bio::before {
    content: none;
  }
  .mp-onward-band {
    padding: 44px 0 64px;
  }
  html.mp-site #performances .mp-onward-band {
    margin-top: 32px;
  }
}
@media (max-width: 700px) {
  body[data-mp-page="biography"] .mp-page-bio .about-grid {
    gap: 36px;
  }
  body[data-mp-page="biography"] .mp-page-bio #bio-heading {
    max-width: 24ch;
    margin-bottom: 14px;
  }
  body[data-mp-page="biography"] .mp-page-bio #bioParagraphs {
    gap: 22px;
  }
  body[data-mp-page="biography"] .mp-page-bio #bioParagraphs p {
    line-height: 1.74;
  }
  body[data-mp-page="biography"] .mp-page-bio .bio-copy-section-title {
    font-size: 0.58rem;
    letter-spacing: 0.16em;
  }
  body[data-mp-page="biography"] .mp-page-bio .presenter-micro {
    margin-top: 14px;
    padding: 10px 11px 8px;
  }
  body[data-mp-page="biography"] .mp-page-bio-continue .mp-onward-ctas {
    padding-top: 8px;
  }
  .mp-page-bio::before {
    content: none;
  }
  .mp-page-bio .about-text::before,
  .mp-page-bio .about-text::after,
  .mp-page-bio #bioParagraphs::before,
  .mp-page-bio #bioParagraphs::after {
    content: none !important;
    background: none !important;
  }
  .mp-page-bio #bioParagraphs .bio-feather-anchor {
    position: relative;
    z-index: 0;
    isolation: isolate;
    background: none !important;
  }
  .mp-page-bio #bioParagraphs .bio-feather-anchor::before {
    content: none !important;
  }
}
@media (max-width: 480px) {
  .mp-page-bio .about-text::before,
  .mp-page-bio .about-text::after,
  .mp-page-bio #bioParagraphs::before,
  .mp-page-bio #bioParagraphs::after {
    content: none !important;
    background: none !important;
  }
  .mp-page-bio #bioParagraphs .bio-feather-anchor {
    background: none !important;
  }
  .mp-page-bio #bioParagraphs .bio-feather-anchor::before {
    content: none !important;
  }
}
/* Same base asset as Home hero (studio-1.jpg via hero-config); portrait framing for 3:4 .about-photo — distinct from hero background focal */
.mp-page-bio .about-photo img.mp-bio-hero-asset {
  object-position: 50% 26%;
}
@media (max-width: 700px) {
  .mp-page-bio .about-photo img.mp-bio-hero-asset {
    object-position: 48% 22%;
  }
}

/* In-page anchor under fixed nav when linking from legacy URLs */
#press {
  scroll-margin-top: 104px;
}

/* Home intro portrait crop: html.mp-site #intro … rules at top of file (mp only). */
@media (max-width: 900px) {
  #intro,
  #explore {
    padding: 88px 0;
  }
}

/* Bare prose links in main content */
.mp-page-main .section-inner p a:not(.btn-primary):not(.btn-secondary) {
  color: var(--text-dim);
  text-decoration: none;
  border-bottom: 1px solid rgba(212, 168, 67, 0.32);
  padding-bottom: 2px;
  transition: color 0.38s var(--ease-soft), border-color 0.38s var(--ease-soft);
}
.mp-page-main .section-inner p a:not(.btn-primary):not(.btn-secondary):hover {
  color: var(--gold);
  border-bottom-color: rgba(212, 168, 67, 0.65);
}

body[data-mp-page="index"] .home-highlights {
  margin-top: 34px;
  margin-bottom: 18px;
  padding: 22px 0 0;
  background: linear-gradient(180deg, rgba(10, 11, 16, 0.28), rgba(10, 11, 16, 0));
  border-top: 1px solid rgba(212, 168, 67, 0.14);
}
body[data-mp-page="index"] .home-highlights .section-inner {
  position: relative;
}
body[data-mp-page="index"] .home-highlights-list {
  display: grid;
  grid-template-columns: minmax(0, 1.36fr) minmax(300px, 0.84fr);
  align-items: center;
  gap: 14px;
}
body[data-mp-page="index"] .home-highlights-list--single {
  grid-template-columns: 1fr;
  max-width: 520px;
  margin: 0 auto;
}
body[data-mp-page="index"] .home-highlight-item {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 15px 15px 14px;
  border: 1px solid rgba(212, 168, 67, 0.32);
  box-shadow: inset 0 0 0 1px rgba(212, 168, 67, 0.1);
  background: linear-gradient(180deg, rgba(248, 246, 240, 0.018), rgba(8, 9, 13, 0.08));
}
body[data-mp-page="index"] .home-highlight-media {
  position: relative;
  width: 100%;
  margin-bottom: 12px;
  border: 0;
  background: transparent;
  overflow: hidden;
}
body[data-mp-page="index"] .home-highlight-media iframe {
  display: block;
  width: 100%;
  border: 0;
}
body[data-mp-page="index"] .home-highlight-media--video iframe {
  aspect-ratio: 16 / 9;
}
body[data-mp-page="index"] .home-video-preview {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(145deg, #16141c, #0a090e);
}
body[data-mp-page="index"] .home-video-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  transform: scale(1.02);
  transition: transform 0.6s var(--ease-soft), filter 0.5s var(--ease-soft), opacity 0.4s ease;
  filter: saturate(1.02) contrast(1.02);
}
body[data-mp-page="index"] .home-video-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(152deg, rgba(84, 48, 22, 0.27) 0%, rgba(34, 20, 14, 0.09) 42%, transparent 66%),
    linear-gradient(to top, rgba(8, 7, 12, 0.82) 0%, rgba(14, 14, 22, 0.44) 44%, rgba(16, 17, 24, 0.1) 78%, transparent 100%);
}
body[data-mp-page="index"] .home-video-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
body[data-mp-page="index"] .home-video-preview:hover .home-video-thumb,
body[data-mp-page="index"] .home-video-preview:focus-within .home-video-thumb {
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.025) brightness(1.02);
}
body[data-mp-page="index"] .home-video-preview:hover .play-circle,
body[data-mp-page="index"] .home-video-preview:focus-within .play-circle {
  background: rgba(212, 168, 67, 0.14);
  border-color: rgba(212, 168, 67, 0.75);
  transform: scale(1.02);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(212, 168, 67, 0.18);
}
body[data-mp-page="index"] .home-video-preview.is-playing {
  background: transparent;
}
body[data-mp-page="index"] .home-video-preview.is-playing iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
body[data-mp-page="index"] .home-highlight-item--audio .home-highlight-media {
  margin-bottom: 9px;
}
body[data-mp-page="index"] .home-highlight-media--audio {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
}
body[data-mp-page="index"] .home-highlight-media--audio iframe {
  width: 100%;
  min-height: 118px;
  height: 118px;
}
@media (min-width: 901px) {
  body[data-mp-page="index"] .home-highlight-item--audio {
    align-self: center;
    justify-content: center;
    min-height: 0;
    padding: 18px 16px 16px;
    border-color: rgba(212, 168, 67, 0.24);
    background:
      linear-gradient(180deg, rgba(212, 168, 67, 0.045), rgba(248, 246, 240, 0.01)),
      rgba(8, 9, 13, 0.1);
  }
}
body[data-mp-page="index"] .home-highlight-item--audio {
  justify-content: center;
  padding-bottom: 9px;
}
body[data-mp-page="index"] .home-highlight-name {
  margin: 0 0 6px;
  font-family: var(--ff-title);
  font-size: 1.01rem;
  line-height: 1.26;
  color: var(--text);
}
body[data-mp-page="index"] .home-highlight-kicker {
  margin: 0 0 5px;
  font-family: var(--ff-caps);
  font-size: 0.44rem;
  letter-spacing: 0.18em;
  color: rgba(212, 168, 67, 0.56);
  text-transform: uppercase;
}
body[data-mp-page="index"] .home-highlight-sub {
  margin: 0;
  font-size: 0.79rem;
  line-height: 1.58;
  color: var(--text-dim);
}
@media (max-width: 1100px) {
  body[data-mp-page="index"] .home-highlights {
    margin-top: 24px;
    margin-bottom: 20px;
  }
  body[data-mp-page="index"] .home-highlights-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  body[data-mp-page="index"] .home-highlights {
    margin-top: 16px;
    margin-bottom: 12px;
  }
  body[data-mp-page="index"] .home-highlights-list {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  body[data-mp-page="index"] .home-highlight-item {
    padding: 10px 10px 9px;
  }
  body[data-mp-page="index"] .home-highlight-media {
    margin-bottom: 8px;
  }
  body[data-mp-page="index"] .home-highlight-media--video iframe {
    aspect-ratio: 16 / 8.8;
  }
  body[data-mp-page="index"] .home-highlight-media--audio iframe {
    min-height: 116px;
    height: 116px;
  }
  body[data-mp-page="index"] .home-highlight-item--audio {
    padding-bottom: 8px;
  }
  body[data-mp-page="index"] .home-highlight-kicker {
    margin-bottom: 4px;
    font-size: 0.4rem;
  }
  body[data-mp-page="index"] .home-highlight-name {
    margin-bottom: 4px;
    font-size: 0.92rem;
    line-height: 1.22;
  }
  body[data-mp-page="index"] .home-highlight-sub {
    font-size: 0.74rem;
    line-height: 1.44;
  }
}

/* Final admin-controlled Home Hero crop override. This intentionally sits at
   the end of the file to beat older fixed hero-position media rules. */
html.mp-site #hero .hero-bg {
  background-size: var(--hero-bg-size-desktop, 88% auto) !important;
  background-position: var(--hero-bg-position-desktop, calc(100% + 210px) -320px) !important;
}
@media (max-width: 768px) {
  html.mp-site #hero .hero-bg {
    background-size: var(--hero-bg-size-mobile, var(--hero-bg-size-desktop, 114% auto)) !important;
    background-position: var(--hero-bg-position-mobile, var(--hero-bg-position-desktop, 44% 16%)) !important;
  }
}
@media (min-width: 700px) and (max-width: 1100px) and (orientation: portrait) {
  html.mp-site #hero {
    min-height: 100svh !important;
    align-items: center !important;
  }
  html.mp-site #hero .hero-bg {
    background-size: var(--hero-bg-size-tablet, var(--hero-bg-size-mobile, auto 110%)) !important;
    background-position: var(--hero-bg-position-tablet, var(--hero-bg-position-mobile, 48% 18%)) !important;
  }
  html.mp-site #hero .hero-bg::before {
    background:
      linear-gradient(
        90deg,
        rgba(8, 10, 14, 0.94) 0%,
        rgba(10, 12, 18, 0.82) 20%,
        rgba(12, 14, 20, 0.54) 42%,
        rgba(12, 15, 21, 0.18) 64%,
        rgba(12, 15, 21, 0) 82%
      ) !important;
  }
  html.mp-site #hero .hero-content {
    position: absolute !important;
    left: clamp(24px, 4vw, 48px) !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(36px, 5vh, 72px) !important;
    transform: none !important;
    max-width: min(56vw, 480px) !important;
    padding: 0 !important;
  }
  html.mp-site #hero .hero-content::before {
    left: -20px !important;
  }
  html.mp-site #hero .hero-cta {
    margin-top: 22px !important;
  }
}
