:root {
      --black: #000000;
      --white: #ffffff;
      --coral: #fa645f;
      --yellow: #ffdd15;
      --violet: #8d87ff;
      --accent: var(--coral);

      --gray-100: #f2f2f2;
      --gray-250: #dcdcdc;
      --gray-600: #696969;
      --muted-light: rgba(255,255,255,.58);
      --caption-light: rgba(255,255,255,.72);

      --font-display: "acumin-variable", "Arial Narrow", Arial, sans-serif;
      --font-body: "Nimbus Sans", sans-serif;

      --page: clamp(1.25rem, 4.2vw, 4.8rem);
      --max: 1340px;

      --type-cover-title: clamp(4rem, 8vw, 8.8rem);
      --type-section-title: clamp(2.25rem, 4.0625vw, 4.3125rem);
      --type-subsection-title: clamp(1.45rem, 2.35vw, 2.25rem);
      --type-body: clamp(1rem, 1.12vw, 1.16rem);
      --type-dense: clamp(.95rem, 1.1vw, 1.05rem);
      --type-support: .875rem;
      --type-date: .85rem;
      --type-caption: .75rem;
      --type-section-label: .72rem;

      --approved-divider: rgba(0,0,0,.2);
      --chronology-divider: rgba(0,0,0,.14);
    }

    /* WordPress integration */
    body.roulette-impact-report-page {
      max-width: none;
      padding: 0;
    }

    /* The Roulette theme assigns Manuka directly to heading elements.
       Override that theme rule on this page so no report heading inherits it. */
    body.roulette-impact-report-page h1,
    body.roulette-impact-report-page h2,
    body.roulette-impact-report-page h3,
    body.roulette-impact-report-page h4,
    body.roulette-impact-report-page h5,
    body.roulette-impact-report-page h6 {
      font-family: var(--font-display);
      font-weight: 700;
      font-stretch: condensed;
      font-variation-settings: "wght" 700, "wdth" 75;
    }

    * { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
      background: var(--white);
    }

    body {
      margin: 0;
      color: var(--black);
      background: var(--white);
      font-family: var(--font-body);
      font-optical-sizing: auto;
      font-kerning: normal;
      line-height: 1.5;
      overflow-x: hidden;
    }

    a { color: inherit; }
    img { display: block; max-width: 100%; }

    ::selection {
      color: var(--white);
      background: var(--accent);
    }

    .skip-link {
      position: fixed;
      top: .75rem;
      left: .75rem;
      z-index: 1000;
      padding: .75rem 1rem;
      color: var(--white);
      background: var(--accent);
      font-weight: 800;
      text-decoration: none;
      transform: translateY(-180%);
    }

    .skip-link:focus { transform: translateY(0); }

    .hero {
      color: var(--white);
    }

    .eyebrow {
      margin: 0 0 1.2rem;
      font-size: .81rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .hero-date {
      margin: 1.8rem 0 0;
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      font-weight: 700;
    }

    main { overflow: clip; }
    section { scroll-margin-top: 1rem; }

    .section {
      padding: clamp(4.5rem, 8vw, 8rem) var(--page);
    }

    .section-inner {
      width: min(var(--max), 100%);
      margin: 0 auto;
    }

    .section-label {
      display: inline-flex;
      align-items: center;
      gap: .8rem;
      margin: 0 0 1.4rem;
      font-size: .81rem;
      font-weight: 800;
      letter-spacing: .13em;
      line-height: 1.25;
      text-transform: uppercase;
    }

    .section-label::before {
      content: "";
      flex: 0 0 auto;
      width: 2.8rem;
      height: 3px;
      background: var(--accent);
    }

h2 {
      max-width: 1120px;
      margin: 0;
    }

    p {
      margin: 0 0 1.2em;
      font-size: var(--type-body);
    }

    /* ==========================================================
       CANONICAL REPORT-WIDE TYPOGRAPHY — SOURCE OF TRUTH

       Acumin Variable, condensed bold:
       cover; section and subsection headings; artist names;
       Year at a Glance statement; archive statement; large statistics;
       and, for the current design, month names.

       Nimbus Sans:
       body text; navigation; section labels and indexes; buttons;
       dates; captions; number badges; statistics descriptors;
       mission list; utility and metadata text.
       ========================================================== */
    .split-cover-copy h1,
    .section-title,
    .subsection-title,
    .spine-word,
    .glance-statement,
    .artist-card h3,
    .activation-list-copy strong,
    .archive-statement,
    .month-name,
    .stat-value,
    .metric-value,
    .large-stat,
    [data-stat-value] {
      font-family: var(--font-display);
      font-optical-sizing: auto;
      font-weight: 700;
      font-stretch: condensed;
      font-variation-settings: "wght" 700, "wdth" 75;
    }

    .welcome-quote-line,
    .financial-value,
    .financial-reserve-value,
    .hospitality-house-list li,
    .audience-growth-value,
    .audience-growth-lead {
      font-stretch: condensed;
      font-variation-settings: "wght" 700, "wdth" 75;
    }

    body,
    .section-label,
    .highlight-index,
    .data-heading,
    button,
    input,
    select,
    textarea,
    time,
    figcaption,
    .media-card-number,
    .month-count,
    .artist-type,
    .artist-project,
    .program-note,
    .mission-list,
    .mission-list li,
    .highlight-list-date,
    .activation-list-number,
    .activation-list-copy span,
    .activation-count,
    .archive-path,
    .welcome-quote-line,
    .welcome-quote figcaption,
    .stat-label,
    .stat-descriptor,
    .metric-label,
    footer {
      font-family: var(--font-body);
      font-optical-sizing: auto;
    }

    .section-title {
      max-width: 1120px;
      margin: 0;
      font-size: var(--type-section-title);
      line-height: .98;
      letter-spacing: -.035em;
      text-wrap: balance;
    }

    .subsection-title {
      font-size: var(--type-subsection-title);
      line-height: 1.05;
      letter-spacing: -.022em;
    }

    .impact-statement {
      max-width: 1210px;
      margin: 0;
      font-size: var(--type-section-title);
      line-height: 1.08;
      letter-spacing: -.045em;
      text-wrap: balance;
    }

    .impact-statement em {
      color: var(--accent);
      font-style: normal;
    }

    .body-copy-standard {
      font-size: var(--type-body);
      line-height: 1.58;
      letter-spacing: 0;
    }

    .data-heading {
      font-size: var(--type-section-label);
      line-height: 1.25;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    button,
    input,
    select,
    textarea {
      font-family: inherit;
    }

    /* Introduction */
    .introduction-body {
      max-width: 930px;
      margin-top: clamp(3.4rem, 6vw, 6rem);
    }

    .mission-intro {
      margin-top: 2.4rem;
      font-weight: 800;
    }

    .mission-list {
      list-style: none;
      max-width: 1020px;
      margin: .9rem 0 2.5rem;
      padding: 0;
      counter-reset: mission;
    }

    .mission-list li {
      counter-increment: mission;
      display: grid;
      grid-template-columns: 2.5rem minmax(0, 1fr);
      gap: .8rem;
      align-items: baseline;
      padding: .14rem 0;
      font-size: var(--type-body);
      font-weight: 800;
      line-height: 1.42;
      letter-spacing: 0;
    }

    .mission-list li::before {
      content: counter(mission, decimal-leading-zero);
      color: var(--accent);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .impact-intro {
      position: relative;
      padding: clamp(4.5rem, 8vw, 8rem) var(--page) clamp(1rem, 2vw, 2rem);
      color: var(--accent);
      background: var(--black);
    }

    .impact-intro-inner {
      width: min(var(--max), 100%);
      margin: 0 auto;
      padding-bottom: 0;
    }

    .impact-intro h2,
    .impact-intro p {
      color: var(--accent);
    }

    .impact-intro p {
      max-width: 900px;
      margin: 1.4rem 0 0;
      font-size: clamp(1.18rem, 1.8vw, 1.55rem);
      line-height: 1.42;
      letter-spacing: -.02em;
    }

    .impact-stage {
      color: var(--white);
      font-weight: 800;
    }

    /* Before / During / After */
    .spine {
      padding: 0 var(--page);
      background: var(--black);
      color: var(--white);
    }

    .spine-inner {
      width: min(var(--max), 100%);
      margin: 0 auto;
    }

    .spine-row {
      min-height: 66svh;
      display: grid;
      grid-template-columns: minmax(210px, .52fr) minmax(0, 1.48fr);
      gap: clamp(2.5rem, 7vw, 7rem);
      align-items: center;
      padding: clamp(4rem, 7vw, 7rem) 0;
      border-bottom: 1px solid rgba(255,255,255,.2);
    }

    .spine-row:last-child {
      border-bottom: 0;
    }

    .spine-row:first-child {
      padding-top: clamp(1.5rem, 3vw, 3rem);
    }

    .spine-word {
      margin: 0;
      font-size: clamp(3rem, 6vw, 5.9rem);
      line-height: .86;
      letter-spacing: -.045em;
    }

    .spine-word::after {
      content: ".";
      color: var(--accent);
    }

    .spine-content {
      max-width: 760px;
    }

    .impact-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .impact-list li {
      position: relative;
      padding: .5rem 0 .5rem 1.35rem;
      font-size: clamp(1.04rem, 1.55vw, 1.42rem);
      font-weight: 700;
      line-height: 1.28;
      letter-spacing: 0;
    }

    .impact-list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 1.08rem;
      width: .42rem;
      height: .42rem;
      background: var(--accent);
    }

    .impact-note {
      max-width: 690px;
      margin: 1.7rem 0 0;
      color: rgba(255,255,255,.7);
      font-size: clamp(.9rem, 1vw, 1rem);
      line-height: 1.55;
    }

    .sequence-item {
      opacity: 0;
      transform: translateY(18px);
      transition:
        opacity .62s ease,
        transform .62s ease;
      transition-delay: calc(var(--i) * 145ms);
    }

    .sequence.is-visible .sequence-item {
      opacity: 1;
      transform: none;
    }

    /* Matt letter */
    .letter {
      background: var(--gray-100);
    }

    .letter-grid {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
      min-height: 100svh;
    }

    .letter-visual {
      min-height: 100%;
      background:
        url("https://roulette.org/assets/Music-of-Anthony-Braxton_35mm_MM-08-scaled.jpg")
        center center / cover no-repeat;
    }

    .letter-panel {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(4rem, 7vw, 7rem) var(--page);
      background: var(--gray-100);
    }

    .letter-heading {
      width: min(780px, 100%);
      margin: 0 auto clamp(2.6rem, 5vw, 4.5rem);
    }

    .letter-body {
      width: min(780px, 100%);
      margin: 0 auto;
    }

    .signature {
      margin-top: 2.4rem;
      font-size: 1rem;
      font-weight: 800;
    }

    .signature span {
      display: block;
      color: var(--gray-600);
      font-weight: 400;
    }

    /* Artistic Highlights and Full Chronology */
    .season {
      background: var(--white);
    }

    .highlights-intro {
      padding-bottom: clamp(2.5rem, 5vw, 5rem);
      background: var(--gray-100);
    }

    .highlight-feature {
      padding: clamp(4.5rem, 8vw, 8rem) var(--page);
      overflow: hidden;
    }

    .highlight-grid,
    .selected-heading,
    .runs-heading,
    .honored-heading,
    .chronology-heading {
      display: grid;
      grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
      gap: clamp(3rem, 7vw, 7rem);
      align-items: start;
    }

    .highlight-copy h3{
      max-width: 820px;
      margin: 0;
      text-wrap: balance;
    }

    .highlight-index {
      margin: 0 0 1rem;
      color: var(--accent);
      font-size: .81rem;
      font-weight: 800;
      letter-spacing: .14em;
    }

    .highlight-intro-copy {
      max-width: 760px;
      margin: 0;
    }

    .highlight-title-list {
      list-style: none;
      margin: clamp(2.2rem, 4vw, 3.5rem) 0 0;
      padding: 0;
    }

    .highlight-title-list li {
      display: block;
      padding: .42rem 0;
      font-size: clamp(1rem, 1.3vw, 1.18rem);
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: 0;
    }

    .image-panel,
    .selected-photo {
      position: relative;
      margin: 0;
      overflow: hidden;
      background: #111;
    }

    .image-panel img,
    .selected-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: none;
    }

    .image-panel figcaption,
    .selected-photo figcaption,
    .hero-photo-caption{
      position: absolute;
      inset: auto 0 0 0;
      padding: 3.25rem 1rem 1rem;
      color: var(--caption-light);
      background: linear-gradient(to top, rgba(0,0,0,.9), transparent);
      font-size: var(--type-caption);
      line-height: 1.45;
    }

    .selected-feature {
      padding-top: 0;
      background: var(--gray-100);
    }

    .selected-heading {
      margin-bottom: clamp(4rem, 7vw, 7rem);
    }

    .selected-photo-grid {
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-template-rows: repeat(2, minmax(240px, 30vw));
      gap: clamp(.85rem, 1.6vw, 1.45rem);
    }

    .selected-photo-hero {
      grid-column: 1 / span 7;
      grid-row: 1;
    }

    .selected-photo-side {
      grid-column: 8 / -1;
      grid-row: 1;
    }

    .selected-photo-grid .selected-photo:nth-child(3) {
      grid-column: 1 / span 4;
      grid-row: 2;
    }

    .selected-photo-grid .selected-photo:nth-child(4) {
      grid-column: 5 / span 4;
      grid-row: 2;
    }

    .selected-photo-grid .selected-photo:nth-child(5) {
      grid-column: 9 / span 4;
      grid-row: 2;
    }

    .runs-feature {
      color: var(--white);
      background: var(--black);
    }

    .runs-feature .highlight-copy h3 {
      color: var(--accent);
    }

    .runs-feature .highlight-intro-copy {
      color: rgba(255,255,255,.78);
    }

    .runs-layout {
      display: grid;
      grid-template-columns: minmax(270px, .66fr) minmax(0, 1.34fr);
      gap: clamp(3rem, 7vw, 7rem);
      align-items: start;
      margin-top: clamp(4rem, 7vw, 7rem);
    }

    .runs-list {
      margin-top: 0;
    }

    .runs-images {
      display: grid;
      gap: clamp(1rem, 2vw, 1.8rem);
    }

    .runs-images .image-panel:first-child img {
      min-height: clamp(390px, 34vw, 560px);
    }

    .runs-images .image-panel:last-child {
      width: 78%;
      margin-left: auto;
    }

    .runs-images .image-panel:last-child img {
      min-height: clamp(300px, 26vw, 430px);
    }

    .honored-feature {
      color: var(--black);
      background: var(--gray-100);
    }

    .honored-heading {
      margin-bottom: clamp(4rem, 7vw, 7rem);
    }

    .honoree-layout {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: clamp(3rem, 7vw, 7rem);
      row-gap: 0;
    }

    .honoree-branch {
      min-width: 0;
    }

    .honoree-branch .image-panel img {
      min-height: clamp(330px, 30vw, 500px);
    }

    .honoree-branch h4 {
      margin: 2rem 0 1.4rem;
      color: var(--accent);
    }

    .honoree-branch ul {
      list-style: none;
      margin: 0;
      padding: 0;
      border-top: 1px solid var(--approved-divider);
    }

    .honoree-branch li {
      display: grid;
      grid-template-columns: 7rem minmax(0, 1fr);
      gap: 1rem;
      min-height: 5.2rem;
      padding: .95rem 0;
      font-size: var(--type-dense);
      line-height: 1.42;
    }

    .honoree-branch li:not(:last-child) {
      border-bottom: 1px solid var(--approved-divider);
    }

    .honoree-branch time,
    .gala-node time {
      color: var(--gray-600);
      font-size: var(--type-date);
      font-weight: 700;
      letter-spacing: .05em;
    }

.gala-node {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 7rem minmax(0, 1fr);
      gap: 1rem;
      width: 100%;
      margin-top: clamp(2rem, 4vw, 3rem);
      padding: 1rem 0;
      font-size: var(--type-dense);
      line-height: 1.42;
      border-top: 1px solid var(--approved-divider);
      border-bottom: 1px solid var(--approved-divider);
    }

    .gala-node time,
    .gala-node span {
      font-size: 1.12em;
      font-weight: 800;
    }

    .gala-photo-grid {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(1rem, 2vw, 1.8rem);
      margin-top: clamp(2rem, 4vw, 3.5rem);
    }

    .gala-photo-grid .image-panel img {
      min-height: clamp(300px, 28vw, 470px);
      aspect-ratio: 4 / 3;
    }

    .festival-feature {
      background: var(--white);
    }

    .festival-images {
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(1rem, 2vw, 1.8rem);
    }

    .festival-image-primary img {
      aspect-ratio: 16 / 10;
    }

    .festival-image-secondary {
      width: 82%;
      margin-left: auto;
    }

    .festival-image-secondary img {
      aspect-ratio: 16 / 9;
    }

    .chronology-section {
      background: var(--gray-100);
    }

    .chronology-heading {
      grid-template-columns: 1fr;
      align-items: start;
      margin-bottom: 2.2rem;
    }

    .chronology-controls {
      display: flex;
      gap: .7rem;
      justify-content: flex-end;
      margin-bottom: 2rem;
    }

    .chronology-controls button {
      appearance: none;
      padding: .7rem 1rem;
      color: var(--black);
      font: inherit;
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      cursor: pointer;
      border: 1px solid var(--black);

      background: rgba(0,0,0,.06);
    }

    .chronology-controls button:hover,
    .chronology-controls button:focus-visible {
      color: var(--white);
      background: var(--black);
    }

    .season-months {
      border-top: 1px solid var(--chronology-divider);
    }

    details.season-month {
      margin: 0;
      border-bottom: 1px solid var(--chronology-divider);
    }

    details.season-month summary {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto 1.5rem;
      gap: 1rem;
      align-items: center;
      padding: 1.1rem 0;
      cursor: pointer;
      list-style: none;
    }

    details.season-month summary::-webkit-details-marker {
      display: none;
    }

    .month-name {
      color: var(--accent);
      font-size: clamp(1.15rem, 2vw, 1.55rem);
      font-weight: 700;
      letter-spacing: -.035em;
    }

    .month-count {
      color: var(--gray-600);
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .month-toggle {
      color: var(--accent);
      font-size: 1.35rem;
      font-weight: 400;
      line-height: 1;
      text-align: right;
      transition: transform .18s ease;
    }

    details.season-month[open] .month-toggle {
      transform: rotate(45deg);
    }

    details.season-month ol {
      list-style: none;
      margin: 0;
      padding: 0 0 1.3rem;
    }

    .season-event {
      display: grid;
      grid-template-columns: 4.4rem minmax(0, 1fr);
      gap: clamp(1rem, 2vw, 1.8rem);
      padding: .52rem 0;
      color: var(--black);
      font-size: var(--type-dense);
      font-weight: 400;
      line-height: 1.35;
    }

    .season-event time {
      padding-top: .1rem;
      color: var(--gray-600);
      font-size: var(--type-date);
      font-weight: 700;
      letter-spacing: .08em;
    }

    .season-awarded,
    .season-benefit {
      color: var(--black);
      font-weight: 400;
    }

    /* Awarded Artists */
    .awarded-artists {
      background: var(--black);
      color: var(--white);
    }

    .awarded-intro {
      max-width: 1000px;
      margin-top: clamp(3rem, 6vw, 5rem);
    }

    .awarded-intro p {
      color: rgba(255,255,255,.84);
    }

    .artist-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(1.25rem, 2.5vw, 2.5rem);
      margin-top: clamp(4rem, 8vw, 8rem);
    }

    .artist-card {
      min-height: 440px;
      display: grid;
      grid-template-columns: minmax(150px, .42fr) minmax(0, .58fr);
      background: #111111;
      overflow: hidden;
    }

    .artist-card img {
      width: 100%;
      height: 100%;
      min-height: 440px;
      object-fit: cover;
      filter: grayscale(100%);
    }

    .artist-card-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(1.5rem, 3vw, 2.6rem);
    }

    .artist-type {
      margin: 0 0 .65rem;
      color: var(--accent);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .artist-card h3 {
      margin: 0;
      font-size: var(--type-subsection-title);
      line-height: 1;
      letter-spacing: -.045em;
    }

    .artist-project {
      margin: 1.1rem 0 0;
      color: var(--muted-light);
      font-size: var(--type-support);
      line-height: 1.4;
    }

    .artist-card blockquote {
      margin: 1.5rem 0 0;
      color: var(--white);
      font-size: clamp(.96rem, 1.12vw, 1.08rem);
      line-height: 1.48;
      letter-spacing: 0;
    }

    .program-note {
      max-width: 1050px;
      margin-top: clamp(4rem, 7vw, 7rem);
      color: rgba(255,255,255,.55);
      font-size: var(--type-body);
      line-height: 1.58;
    }

    /* Year at a Glance */
    .glance-statement {
      margin-top: clamp(2rem, 4vw, 3.4rem);
    }

    .glance-details {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(2rem, 6vw, 6rem);
      margin-top: clamp(4rem, 8vw, 7rem);
      padding-top: 2rem;
      border-top: 1px solid var(--black);
    }

    .glance-details p {
      margin: 0;
      color: var(--gray-600);
    }

    footer {
      padding: 2rem var(--page);
      background: var(--white);
      font-size: var(--type-caption);
      border-top: 1px solid var(--gray-250);
    }

    footer p {
      margin: 0;
      font-size: inherit;
    }

    footer .footer-credit {
      max-width: 72rem;
      margin-top: .7rem;
      line-height: 1.5;
    }

    footer .footer-credit a {
      color: inherit;
      text-decoration: underline;
      text-underline-offset: .14em;
    }

    /* General reveal */
    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity .7s ease, transform .7s ease;
    }

    .reveal.is-visible {
      opacity: 1;
      transform: none;
    }

    /* Split Cover */
    .split-cover {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(360px, .7fr);
      min-height: 100svh;
      padding: 0;
      background: var(--black);
    }

    .split-cover::before {
      display: none;
    }

    .split-cover-image {
      position: relative;
      min-width: 0;
      min-height: 100svh;
      overflow: hidden;
      background: #111;
    }

    .split-cover-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .split-cover-panel {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: flex-start;
      padding: clamp(2rem, 5vw, 5rem);
      color: var(--white);
      background: var(--black);
    }

    .split-cover-copy {
      width: 100%;
    }

    .split-cover-copy h1 {
      margin: 1rem 0 2rem;
      color: var(--white);
      font-size: clamp(4rem, 8vw, 8.8rem);
      line-height: .82;
      letter-spacing: -.055em;
    }

    .cover-toc {
      position: relative;
      z-index: 2;
      display: grid;
      gap: .28rem;
      margin-top: clamp(1.75rem, 3vw, 3rem);
      font-family: var(--font-body);
      font-size: clamp(.72rem, .9vw, .88rem);
      font-weight: 800;
      letter-spacing: .1em;
      line-height: 1.25;
      text-transform: uppercase;
      pointer-events: auto;
    }

    .cover-toc a {
      position: relative;
      z-index: 3;
      display: block;
      width: fit-content;
      color: var(--white);
      text-decoration: none;
      border-bottom: 1px solid transparent;
      pointer-events: auto;
    }

    .cover-toc a:hover,
    .cover-toc a:focus-visible {
      color: var(--coral);
      border-color: currentColor;
    }

    .split-cover-copy .eyebrow,
    .split-cover-copy .hero-date {
      color: var(--white);
    }

    /* Livestream and Archive */
    .archive-media {
      background: var(--white);
    }

    .archive-media img {
      display: block;
      width: 100%;
      filter: none;
    }

    .archive-core {
      padding: clamp(5rem, 9vw, 9rem) var(--page);
      color: var(--black);
      background: var(--white);
    }

    .archive-core-heading {
      display: block;
      max-width: 980px;
      margin-bottom: clamp(4rem, 7vw, 7rem);
      text-align: left;
    }

    .archive-core-heading h2 {
      max-width: 920px;
      margin: 0;
      text-align: left;
    }

    .archive-core-layout {
      display: grid;
      grid-template-columns: minmax(320px, .94fr) minmax(0, 1.06fr);
      gap: clamp(3rem, 8vw, 8rem);
      align-items: stretch;
    }

    .archive-core-copy {
      max-width: 760px;
    }

    .archive-core-copy p {
      margin: 0 0 1.25rem;
    }

    .archive-core-copy .archive-statement {
      margin-bottom: 1.5rem;
      font-size: var(--type-subsection-title);
      font-weight: 700;
      line-height: 1.18;
      letter-spacing: -.022em;
    }

    .archive-path {
      display: grid;
      grid-template-columns: repeat(7, auto);
      gap: .65rem;
      align-items: center;
      justify-content: space-between;
      margin-top: clamp(2.5rem, 5vw, 4.5rem);
      padding-top: 1.3rem;
      font-size: .66rem;
      font-weight: 800;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .archive-path i {
      color: var(--accent);
      font-style: normal;
      font-size: 1.1rem;
    }

    .embedded-media-pair {
      min-height: 100%;
    }

    .embedded-media {
      position: relative;
      margin: 0;
      height: 100%;
      overflow: hidden;
      background: var(--white);
      box-shadow: 0 24px 60px rgba(0,0,0,.14);
      border: 1px solid var(--black);
    }

    .embedded-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: none;
    }

    .embedded-media figcaption {
      position: absolute;
      inset: auto 0 0 0;
      padding: 3rem 1rem 1rem;
      color: var(--caption-light);
      background: linear-gradient(to top, rgba(0,0,0,.86), transparent);
      font-size: var(--type-caption);
      line-height: 1.45;
    }

    

    /* Viewership */
    .viewership-section {
      padding: clamp(5rem, 9vw, 9rem) var(--page);
      color: var(--white);
      background: var(--black);
    }

    .viewership-heading {
      max-width: 1050px;
      margin-bottom: clamp(4.5rem, 8vw, 8rem);
    }

    .viewership-heading .section-label {
      color: var(--accent);
    }

    .viewership-statements {
      display: grid;
      row-gap: clamp(2.75rem, 5vw, 4.75rem);
      max-width: 1210px;
      margin: 0;
    }

    .viewership-statement {
      color: var(--white);
      font-family: var(--font-display);
      font-optical-sizing: auto;
      font-weight: 700;
      font-stretch: condensed;
      font-variation-settings: "wght" 700, "wdth" 75;
    }

    .viewership-statement em {
      font: inherit;
    }

    .viewership-country-blocks {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(2rem, 5vw, 5rem);
      align-items: stretch;
      margin-top: clamp(4rem, 8vw, 7rem);
    }

    .country-block {
      display: flex;
      flex-direction: column;
      min-height: 18rem;
    }

    .country-block h4 {
      margin: 0 0 1.35rem;
      color: var(--accent);
      font-family: var(--font-body);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .country-block-rankings ul {
      list-style: none;
      margin: 0;
      padding: .45rem 0 0;
      border-top: 1px solid rgba(255,255,255,.18);
    }

    .country-block-rankings li {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 1.5rem;
      padding: .1rem 0;
      font-size: var(--type-support);
      line-height: 1.55;
    }

    .country-block-rankings strong {
      color: var(--accent);
      font-variant-numeric: tabular-nums;
    }

    .country-block-also p {
      margin: 0;
      color: rgba(255,255,255,.88);
      font-size: clamp(1rem, 1.25vw, 1.18rem);
      line-height: 1.62;
    }

    /* Number badges are utility metadata and remain Nimbus Sans. */
    .media-card-number {
      position: absolute;
      top: .65rem;
      left: .65rem;
      display: grid;
      place-items: center;
      width: 2rem;
      height: 2rem;
      color: var(--black);
      background: var(--accent);
      font-family: var(--font-body);
      font-size: .62rem;
      font-weight: 800;
    }

/* Responsive */
    @media (max-width: 1120px) {
      .artist-grid {
        grid-template-columns: 1fr;
      }

      .artist-card,
      .artist-card img {
        min-height: 390px;
      }
    }

    @media (max-width: 1050px) {

      

      .viewership-country-blocks{
        grid-template-columns: 1fr;
      }
    }

    /* Approved divider treatments are consolidated with their components above. */

    .festival-intro {
      max-width: 760px;
      margin: 2rem 0 0;
    }

    

    /* Standardized dated lists and captions */
    .highlight-list-title {
      display: block;
      color: inherit;
      font-size: inherit;
      font-weight: 800;
      line-height: inherit;
    }

    .highlight-list-date {
      display: block;
      margin-top: .28rem;
      color: var(--gray-600);
      font-size: var(--type-date);
      font-weight: 700;
      letter-spacing: .025em;
      line-height: 1.35;
    }

    .runs-feature .highlight-list-date {
      color: var(--muted-light);
    }

    .artist-project time {
      font-size: var(--type-date);
      font-weight: 800;

      color: inherit;
    }

    .photo-caption-primary,
    .photo-caption-credit,
    .hero-photo-caption span {
      display: block;
      color: var(--caption-light);
      font-size: inherit;
      font-weight: 400;
      line-height: inherit;
    }

    .photo-caption-credit {
      margin-top: .22rem;
    }

    

    /* Episode-specific caption hierarchy */

    

    

    

    /* Responsive reflow: preserve the desktop design while giving narrow screens
       an intentional single-column reading order. */
    @media (max-width: 1050px) {
      .split-cover {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
      }

      
    }

    @media (max-width: 900px) {
      .split-cover,
    .letter-grid,
    .highlight-grid,
    .selected-heading,
    .runs-heading,
    .honored-heading,
    .chronology-heading,
    .runs-layout,
    .honoree-layout,
    .archive-core-layout,
    .glance-details{
        grid-template-columns: 1fr;
      }

      .split-cover {
        min-height: auto;
      }

      .split-cover-image {
        min-height: 58svh;
      }

      .split-cover-panel {
        align-items: flex-start;
        min-height: 42svh;
      }

      .letter-grid {
        min-height: auto;
      }

      .letter-visual {
        min-height: 55svh;
      }

      .spine-row {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .selected-heading,
    .runs-heading,
    .honored-heading,
    .chronology-heading{
        gap: 2rem;
      }

      .honoree-layout {
        row-gap: clamp(4rem, 8vw, 6rem);
      }

      .gala-node {
        grid-column: auto;
      }

      .gala-photo-grid {
        grid-column: auto;
      }

      .embedded-media-pair {
        min-height: 0;
        display: grid;
        gap: 1.5rem;
      }

      .embedded-media,
      .embedded-media-video,
      .embedded-media-audio {
        position: static;
        width: 100%;
      }

      .archive-path {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
      }

      .chronology-controls {
        justify-content: flex-start;
      }

      .festival-image-secondary,
      .runs-images .image-panel:last-child {
        width: 100%;
      }
    }

    @media (max-width: 760px) {
      .split-cover-image {
        min-height: 52svh;
      }

      .split-cover-panel {
        min-height: auto;
        padding-block: 3rem;
      }

      .selected-photo-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
      }

      .selected-photo-hero,
      .selected-photo-side,
      .selected-photo-grid .selected-photo:nth-child(3),
      .selected-photo-grid .selected-photo:nth-child(4),
      .selected-photo-grid .selected-photo:nth-child(5) {
        grid-column: auto;
        grid-row: auto;
      }

      .selected-photo img,
      .image-panel img,
      .runs-images .image-panel:first-child img,
      .runs-images .image-panel:last-child img,
      .honoree-branch .image-panel img {
        min-height: 0;
        aspect-ratio: 4 / 3;
      }

      .artist-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        min-height: 0;
        overflow: visible;
      }

      .artist-card img {
        display: block;
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 3;
        object-fit: cover;
      }

      .artist-card-copy {
        position: relative;
        z-index: 1;
        display: flex;
        min-height: 0;
        padding: clamp(1.4rem, 6vw, 2rem);
        visibility: visible;
        opacity: 1;
        background: #111111;
      }

      .artist-card.reveal {
        opacity: 1;
        transform: none;
      }

      

      .honoree-branch li,
      .gala-node,
      .season-event {
        grid-template-columns: 1fr;
        gap: .25rem;
      }

      .gala-photo-grid {
        grid-template-columns: 1fr;
      }

      .gala-photo-grid .image-panel img {
        min-height: 0;
      }

      .chronology-controls {
        flex-wrap: wrap;
      }
    }

    @media (max-width: 520px) {
      .section,
    .highlight-feature,
    .archive-core,
    .viewership-section{
        padding-block: clamp(3.5rem, 14vw, 5rem);
      }

      .spine-word {
        font-size: clamp(3rem, 18vw, 4.5rem);
      }

      
    }

@media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }

      *,
      *::before,
      *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
      }

      .reveal,
      .sequence-item {
        opacity: 1;
        transform: none;
      }
    }

    /* ==========================================================
       REPORT SECTION PALETTE
       Typography is defined once in the canonical type system above.
       ========================================================== */

    .new-launch-theme {
      --accent: var(--coral);
    }

    /* Cover remains strictly black and white. */
    .new-launch-theme .split-cover {
      --accent: var(--coral);
    }

    /* INTRODUCTION — white / black / coral */
    .new-launch-theme #introduction {
      --accent: var(--coral);
    }

    /* THE ROULETTE EFFECT — black / white / yellow */
    .new-launch-theme .impact-intro,
    .new-launch-theme .spine {
      --accent: var(--yellow);
    }

    /* LETTER — yellow replaces the former pale-gray field. */
    .new-launch-theme .letter,
    .new-launch-theme .letter-panel {
      --accent: var(--black);
      --gray-600: var(--black);
      color: var(--black);
      background: var(--yellow);
    }

    /* YEAR AT A GLANCE — white / black / violet */
    .new-launch-theme #glance {
      --accent: var(--violet);
    }

    /* ARTISTIC HIGHLIGHTS + SELECTED PERFORMANCES — violet field. */
    .new-launch-theme .highlights-intro,
    .new-launch-theme .selected-feature {
      --accent: var(--black);
      --gray-600: var(--black);
      color: var(--black);
      background: var(--violet);
    }

    /* MULTI-NIGHT RUNS — black / white / coral */
    .new-launch-theme .runs-feature {
      --accent: var(--coral);
    }

    /* HONORED ARTISTS — coral replaces the former gray field. */
    .new-launch-theme .honored-feature {
      --accent: var(--black);
      --gray-600: var(--black);
      color: var(--black);
      background: var(--coral);
    }

    /* FESTIVALS — white / black / violet */
    .new-launch-theme .festival-feature {
      --accent: var(--violet);
    }

    /* FULL CHRONOLOGY — yellow field with black text throughout. */
    .new-launch-theme .chronology-section {
      --accent: var(--black);
      --gray-600: var(--black);
      color: var(--black);
      background: var(--yellow);
    }

    /* COMMISSIONS + RESIDENCIES — black / white / coral */
    .new-launch-theme .awarded-artists {
      --accent: var(--coral);
    }

    /* ARCHIVE — white / black / violet */
    .new-launch-theme .archive-core {
      --accent: var(--violet);
    }

    /* VIEWERSHIP — black / white / yellow */
    .new-launch-theme .viewership-section {
      --accent: var(--yellow);
    }

    /* THE ROULETTE TAPES — white / black / coral */
    .new-launch-theme .activation-tapes {
      --accent: var(--coral);
    }

    /* TRACKING THE ODDS — black / white / violet */
    .new-launch-theme .activation-tracking {
      --accent: var(--violet);
    }

    /* PARTNER STATIONS — yellow field with black text throughout. */
    .new-launch-theme .activation-partners {
      --accent: var(--black);
      --gray-600: var(--black);
      color: var(--black);
      background: var(--yellow);
    }

    /* Keep all existing caption and explicitly muted date colors.
       This rule documents the intention and protects those treatments
       from future broad color overrides. */
    .new-launch-theme .image-panel figcaption,
    .new-launch-theme .selected-photo figcaption,
    .new-launch-theme .hero-photo-caption,
    .new-launch-theme .photo-caption-primary,
    .new-launch-theme .photo-caption-credit,
    .new-launch-theme .hero-photo-caption span{
      color: var(--caption-light);
    }

    .new-launch-theme .festival-feature .festival-list .highlight-list-date,
    .new-launch-theme .month-count,
    .new-launch-theme .season-event time,
    .new-launch-theme .honoree-branch time,
    .new-launch-theme .gala-node time,
    .new-launch-theme .signature span,
    .new-launch-theme .glance-details p {
      color: var(--gray-600);
    }

    /* ==========================================================
       WELCOME PRESS QUOTE + ACTIVATING THE ARCHIVE
       ========================================================== */

    .introduction-body.welcome-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.28fr) minmax(230px, .52fr);
      gap: clamp(2.5rem, 6vw, 6rem);
      align-items: start;
      max-width: 1120px;
    }

    .welcome-copy {
      min-width: 0;
    }

    .welcome-quotes {
      width: min(100%, 310px);
      margin-left: auto;
      padding-top: .2rem;
      text-align: left;
    }

    .welcome-quote {
      margin: 0;
      padding: 0;
      border: 0;
    }

    .welcome-quote-stack {
      display: grid;
      gap: 1.1rem;
    }

    .welcome-quote-line {
      margin: 0;
      color: var(--accent);
      font-family: var(--font-display);
      font-size: clamp(1.22rem, 1.8vw, 1.9rem);
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: -.035em;
    }

    .welcome-quote figcaption {
      margin-top: 1.35rem;
      padding-top: 0;
      border-top: 0;
    }

    .welcome-quote-source,
    .welcome-quote-context,
    .welcome-quote-type {
      margin: 0;
    }

    .welcome-quote-source {
      color: var(--black);
      font-size: .98rem;
      font-weight: 800;
      letter-spacing: 0;
      text-transform: none;
    }

    .welcome-quote-context {
      margin-top: .42rem;
      color: var(--black);
      font-size: var(--type-support);
      font-weight: 400;
      line-height: 1.38;
    }

    .welcome-quote-type {
      margin-top: .28rem;
      color: var(--gray-600);
      font-size: var(--type-support);
      font-weight: 400;
      letter-spacing: 0;
      text-transform: none;
    }

    .archive-activation {
      background: var(--white);
    }

    .activation-intro {
      padding-bottom: clamp(4rem, 7vw, 7rem);
      background: var(--gray-100);
    }

    .activation-intro-copy {
      max-width: 930px;
      margin: clamp(2.5rem, 5vw, 4.5rem) 0 0;
      font-size: var(--type-body);
      line-height: 1.58;
      letter-spacing: 0;
    }

    .archive-activation .activation-feature {
      padding: clamp(5rem, 9vw, 9rem) var(--page);
    }

    .archive-activation .activation-heading {
      display: grid;
      grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr);
      gap: clamp(3rem, 7vw, 7rem);
      align-items: start;
      margin-bottom: clamp(4rem, 7vw, 7rem);
    }

    .archive-activation .activation-heading h3 {
      max-width: 760px;
      margin: 0;
    }

    .activation-description {
      max-width: 760px;
      margin: 0;
    }

    .activation-description p {
      margin: 0;
    }

    .activation-count {
      display: block;
      margin-top: 1.4rem;
      color: var(--accent);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .activation-layout {
      display: grid;
      grid-template-columns: minmax(290px, .66fr) minmax(0, 1.34fr);
      gap: clamp(3rem, 7vw, 7rem);
      align-items: start;
    }

    .activation-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .activation-list li {
      display: grid;
      grid-template-columns: 2.5rem minmax(0, 1fr);
      gap: .8rem;
      padding: .42rem 0;
      font-size: clamp(1rem, 1.3vw, 1.18rem);
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: -.02em;
    }

    .activation-list-number {
      padding-top: .04rem;
      color: var(--accent);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .14em;
    }

    .activation-list-copy strong,
    .activation-list-copy span {
      display: block;
    }

    .activation-list-copy strong {
      color: inherit;
      font-size: inherit;
      font-weight: 800;
      line-height: inherit;
      letter-spacing: inherit;
    }

    .activation-list-copy span {
      margin-top: .28rem;
      color: var(--gray-600);
      font-size: var(--type-date);
      font-weight: 700;
      letter-spacing: .025em;
      line-height: 1.35;
    }

    .activation-list-copy span em {
      font-style: italic;
    }

    .activation-image-grid {
      display: grid;
      gap: clamp(.75rem, 1.25vw, 1.15rem);
    }

    .activation-image-grid-tapes,
    .activation-image-grid-tracking {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .activation-image {
      position: relative;
      margin: 0;
      overflow: hidden;
      background: #171717;
      aspect-ratio: 1 / 1;
    }

    .activation-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: grayscale(1);
    }

    .activation-image .media-card-number {
      top: .55rem;
      left: .55rem;
    }

    .activation-tracking {
      --accent: var(--violet);
      color: var(--white);
      background: var(--black);
    }

    .activation-tracking .activation-description {
      color: rgba(255,255,255,.72);
    }

    .activation-tracking .activation-list-copy span {
      color: var(--muted-light);
    }

    .activation-partners {
      --accent: var(--black);
      color: var(--black);
      background: var(--yellow);
    }

    .activation-layout-partners {
      grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
    }

    .activation-partner-list li {
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
      padding: .42rem 0;
    }

    .activation-partner-list .activation-list-copy strong {
      font-family: var(--font-body);
      font-size: clamp(1rem, 1.3vw, 1.18rem);
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: -.02em;
    }

    .activation-partner-list .activation-list-copy span {
      margin-top: .55rem;
      color: var(--black);
      font-size: var(--type-body);
      font-weight: 400;
      line-height: 1.58;
      letter-spacing: 0;
    }

    .activation-image-grid-partners {
      grid-template-columns: 1fr;
    }

    .activation-image-partner {
      aspect-ratio: 1 / 1;
    }

    .activation-image-partner img {
      filter: grayscale(1);
    }

    @media (max-width: 900px) {
      .introduction-body.welcome-layout,
      .archive-activation .activation-heading,
      .activation-layout,
      .activation-layout-partners {
        grid-template-columns: 1fr;
      }

      .welcome-quotes {
        width: min(100%, 340px);
        margin-left: auto;
      }

      .archive-activation .activation-heading {
        gap: 2rem;
      }

      .activation-image-grid-tapes,
      .activation-image-grid-tracking {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 700px) {
      .activation-image-grid-tapes,
      .activation-image-grid-tracking {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 520px) {
      .archive-activation .activation-feature {
        padding-block: clamp(3.5rem, 14vw, 5rem);
      }

      .activation-image-grid-tapes,
      .activation-image-grid-tracking {
        grid-template-columns: 1fr;
      }
    }


    /* ==========================================================
       APPROVED AUGUST DESIGN ROUND
       No additional divider lines are introduced in this block.
       ========================================================== */

    /* Let the introduction use the full section width and push press praise right. */
    .introduction-body.welcome-layout {
      width: 100%;
      max-width: none;
      grid-template-columns: minmax(0, 1.42fr) minmax(250px, .42fr);
      gap: clamp(4rem, 9vw, 10rem);
    }

    .welcome-quotes {
      width: min(100%, 340px);
      justify-self: end;
      margin-left: 0;
    }

    /* Archive images sit clearly beside one another rather than overlapping. */
    .embedded-media-pair {
      position: static;
      min-height: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(1rem, 2vw, 1.75rem);
      align-items: start;
    }

    .embedded-media,
    .embedded-media-video,
    .embedded-media-audio {
      position: relative;
      inset: auto;
      width: 100%;
      margin: 0;
      box-shadow: none;
    }

    .embedded-media img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      object-position: center;
    }

    /* Viewership heading and lead statistics now form one continuous statement. */
    .viewership-heading {
      margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
    }

    .viewership-inline-heading {
      color: var(--accent);
    }

    /* Audience growth bridges online reach and in-person participation. */
    .audience-growth {
      --accent: var(--black);
      padding: clamp(5rem, 9vw, 9rem) var(--page);
      color: var(--black);
      background: var(--violet);
    }

    .audience-growth-inner {
      display: grid;
      grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
      gap: clamp(3rem, 8vw, 8rem);
      align-items: start;
    }

    .audience-growth-copy {
      max-width: 780px;
    }

    .audience-growth-copy p {
      margin-bottom: 1.5rem;
      color: var(--black);
      font-size: clamp(1.08rem, 1.35vw, 1.28rem);
      line-height: 1.6;
    }

    .audience-growth-conclusion {
      font-weight: 700;
    }

    /* Match the report's existing photographic caption treatment. */
    .activation-image figcaption {
      position: absolute;
      inset: auto 0 0 0;
      z-index: 2;
      padding: 3.25rem 1rem 1rem;
      color: var(--caption-light);
      background: linear-gradient(to top, rgba(0,0,0,.9), transparent);
      font-size: var(--type-caption);
      line-height: 1.45;
    }

    /* Financial Snapshot closes the report with a strong, line-free field. */
    .financial-snapshot {
      --accent: var(--coral);
      padding: clamp(5rem, 9vw, 9rem) var(--page);
      color: var(--white);
      background: var(--black);
    }

    .financial-heading {
      max-width: 980px;
      margin-bottom: clamp(4rem, 7vw, 7rem);
    }

    .financial-heading .section-label {
      color: var(--accent);
    }

    .financial-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(1.75rem, 4vw, 4rem);
      align-items: start;
    }

    .financial-stat {
      min-width: 0;
    }

    .financial-value {
      margin: 0;
      color: var(--white);
      font-family: var(--font-display);
      font-optical-sizing: auto;
      font-size: clamp(2.5rem, 4.2vw, 5rem);
      font-weight: 700;
      line-height: .9;
      letter-spacing: -.055em;
    }

    .financial-label {
      margin: 1rem 0 0;
      color: rgba(255,255,255,.7);
      font-family: var(--font-body);
      font-size: var(--type-support);
      font-weight: 800;
      line-height: 1.35;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .financial-copy {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(2.5rem, 6vw, 6rem);
      max-width: 1180px;
      margin-top: clamp(4rem, 8vw, 8rem);
    }

    .financial-copy-column {
      display: grid;
      align-content: start;
      gap: 1.35rem;
    }

    .financial-copy p {
      margin: 0;
      color: rgba(255,255,255,.84);
    }

    .financial-note {
      grid-column: 1 / -1;
      max-width: 980px;
      color: rgba(255,255,255,.58) !important;
      font-size: var(--type-caption) !important;
      line-height: 1.55 !important;
    }

    .financial-breakdowns {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(1.25rem, 2.6vw, 2.5rem);
      margin-top: clamp(4rem, 8vw, 7rem);
    }

    .financial-breakdown {
      min-width: 0;
      display: flex;
      flex-direction: column;
      padding: clamp(1.5rem, 3vw, 2.5rem);
      background: rgba(255,255,255,.065);
    }

    .financial-breakdown-header {
      margin-bottom: 2rem;
    }

    .financial-breakdown-kicker {
      margin: 0 0 .55rem;
      color: var(--accent);
      font-family: var(--font-body);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .financial-breakdown h3 {
      margin: 0;
      color: var(--white);
      font-family: var(--font-display);
      font-size: clamp(1.75rem, 2.6vw, 2.55rem);
      font-weight: 700;
      line-height: 1;
      letter-spacing: -.035em;
    }

    .financial-breakdown-list {
      display: grid;
      gap: 1.35rem;
      margin: 0 0 2rem;
      padding: 0;
      list-style: none;
    }

    .financial-breakdown-row {
      min-width: 0;
    }

    .financial-breakdown-line {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 1.25rem;
      align-items: baseline;
    }

    .financial-breakdown-name {
      color: rgba(255,255,255,.9);
      font-size: var(--type-support);
      font-weight: 700;
      line-height: 1.35;
    }

    .financial-breakdown-metrics {
      display: grid;
      grid-template-columns: auto 3.2rem;
      gap: .8rem;
      color: rgba(255,255,255,.72);
      font-size: .76rem;
      font-variant-numeric: tabular-nums;
      line-height: 1.2;
      text-align: right;
      white-space: nowrap;
    }

    .financial-breakdown-metrics strong {
      color: var(--white);
      font-weight: 800;
    }

    .financial-bar {
      height: .42rem;
      margin-top: .55rem;
      overflow: hidden;
      background: rgba(255,255,255,.11);
    }

    .financial-bar span {
      display: block;
      width: var(--share);
      height: 100%;
      background: rgba(255,255,255,.72);
    }

    .financial-breakdown-row.is-artist .financial-breakdown-name,
    .financial-breakdown-row.is-artist .financial-breakdown-metrics strong {
      color: var(--accent);
    }

    .financial-breakdown-row.is-artist .financial-bar span {
      background: var(--accent);
    }

    .financial-breakdown-total {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 1.25rem;
      align-items: baseline;
      margin-top: auto;
      padding: 1rem 1.1rem;
      background: rgba(255,255,255,.1);
    }

    .financial-breakdown-total strong {
      color: var(--white);
      font-size: var(--type-support);
      line-height: 1.3;
    }

    .financial-breakdown-total span {
      color: var(--white);
      font-size: .76rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      text-align: right;
      white-space: nowrap;
    }


    .financial-reserves {
      margin-top: clamp(5rem, 9vw, 8rem);
    }

    .financial-reserves-heading {
      max-width: 900px;
      margin-bottom: clamp(3rem, 5vw, 4.5rem);
    }

    .financial-reserves-kicker {
      margin: 0 0 .75rem;
      color: var(--accent);
      font-family: var(--font-body);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .financial-reserves-heading h3 {
      margin: 0;
      color: var(--white);
      font-family: var(--font-display);
      font-size: clamp(2rem, 3.25vw, 3.5rem);
      font-weight: 700;
      line-height: .98;
      letter-spacing: -.04em;
    }

    .financial-reserve-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(2rem, 5vw, 5rem);
      align-items: start;
    }

    .financial-reserve-item {
      min-width: 0;
    }

    .financial-reserve-name {
      margin: 0;
      color: var(--white);
      font-family: var(--font-body);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .1em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .financial-reserve-value {
      margin: .7rem 0 1.15rem;
      color: var(--accent);
      font-family: var(--font-display);
      font-size: clamp(2rem, 3vw, 3.35rem);
      font-weight: 700;
      line-height: .92;
      letter-spacing: -.045em;
    }

    .financial-reserve-item p:last-child {
      margin: 0;
      color: rgba(255,255,255,.8);
      font-size: var(--type-body);
      line-height: 1.58;
    }

    .financial-transparency-note {
      max-width: 1080px;
      margin: clamp(4rem, 7vw, 6rem) 0 0;
      color: rgba(255,255,255,.58);
      font-size: var(--type-caption);
      line-height: 1.58;
    }

    @media (max-width: 1050px) {
      .financial-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 3rem;
      }

      .financial-copy,
      .financial-breakdowns {
        grid-template-columns: 1fr;
        max-width: 820px;
      }

      .financial-reserve-grid {
        grid-template-columns: 1fr;
        max-width: 820px;
      }

      .financial-note {
        grid-column: auto;
      }
    }

    @media (max-width: 900px) {
      .introduction-body.welcome-layout,
      .audience-growth-inner,
      .embedded-media-pair {
        grid-template-columns: 1fr;
      }

      .welcome-quotes {
        width: min(100%, 380px);
        justify-self: start;
      }
    }

    @media (max-width: 600px) {
      .financial-stats {
        grid-template-columns: 1fr;
      }
    }


    /* ==========================================================
       FINAL REPORT SECTIONS + APPROVED FOLLOW-UP REVISIONS
       Existing divider system remains unchanged; no new rules added.
       ========================================================== */

    /* Allow the two major narrative-statements to use the page width. */
    #glance .section-inner,
    .viewership-section .section-inner {
      width: 100%;
      max-width: none;
    }

    .glance-statement,
    .viewership-statements,
    .viewership-statement {
      width: 100%;
      max-width: none;
      text-align: left;
    }

    /* Approved financial emphasis: all four headline values are coral. */
    .financial-value {
      color: var(--accent);
    }

    /* Expense categories use one consistent treatment. */
    .financial-breakdown-row.is-artist .financial-breakdown-name,
    .financial-breakdown-row.is-artist .financial-breakdown-metrics strong {
      color: inherit;
    }

    .financial-breakdown-row.is-artist .financial-bar span {
      background: rgba(255,255,255,.72);
    }

    /* Supporters */
    .supporters-section {
      --accent: var(--coral);
      padding: clamp(5rem, 9vw, 9rem) var(--page);
      color: var(--black);
      background: var(--white);
    }

    .supporters-heading {
      max-width: 1080px;
      margin-bottom: clamp(4rem, 7vw, 7rem);
    }

    .supporters-heading .section-label {
      color: var(--black);
    }

    .supporters-anonymity-note {
      margin: 1rem 0 0;
      color: var(--gray-600);
      font-family: var(--font-body);
      font-size: var(--type-support);
      line-height: 1.45;
    }

    .supporters-columns-top,
    .supporters-columns-mid {
      display: grid;
      gap: clamp(2rem, 4vw, 4rem);
      align-items: start;
    }

    .supporters-columns-top {
      grid-template-columns: minmax(0, .92fr) minmax(0, 1.02fr) minmax(0, 1.16fr);
    }

    .supporters-columns-mid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: clamp(1rem, 2vw, 1.75rem);
    }

    .supporters-column,
    .supporters-community {
      min-width: 0;
    }

    .supporter-tier {
      margin-bottom: clamp(2rem, 4vw, 3rem);
      break-inside: avoid;
    }

    .supporter-tier:last-child {
      margin-bottom: 0;
    }

    .supporter-tier h3 {
      margin: 0 0 1.05rem;
      color: var(--accent);
      font-family: var(--font-body);
      font-size: 1.26rem;
      font-weight: 800;
      letter-spacing: .1em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .supporter-tier ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .supporter-tier li {
      break-inside: avoid;
      margin: 0 0 .34rem;
      font-family: var(--font-body);
      font-size: clamp(.9rem, .98vw, 1rem);
      line-height: 1.45;
    }

    .supporter-tier-wide ul {
      columns: 2;
      column-gap: clamp(1.4rem, 3vw, 2.6rem);
    }

    .supporters-community {
      margin-top: clamp(.75rem, 1.5vw, 1.25rem);
    }

    .supporter-tier-community ul {
      columns: 4;
      column-gap: clamp(1.5rem, 3.2vw, 3rem);
    }

    /* Staff and Leadership */
    .staff-leadership {
      --accent: var(--coral);
      padding: clamp(5rem, 9vw, 9rem) var(--page);
      color: var(--black);
      background: var(--gray-100);
    }

    .staff-leadership-heading {
      max-width: 980px;
      margin-bottom: clamp(4rem, 7vw, 7rem);
    }

    .staff-leadership-heading .section-label {
      color: var(--black);
    }

    .staff-float-layout,
    .governance-float {
      display: grid;
      gap: clamp(2rem, 4vw, 4rem);
      align-items: start;
    }

    .staff-float-layout {
      grid-template-columns: minmax(0, 1.16fr) minmax(280px, .84fr);
    }

    .staff-specialists {
      display: grid;
      gap: clamp(1.8rem, 3vw, 2.6rem);
    }

    .governance-float {
      grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
      margin-top: clamp(2rem, 4vw, 3.5rem);
    }

    .staff-block {
      min-width: 0;
    }

    .staff-block h3 {
      margin: 0 0 1.2rem;
      color: var(--accent);
      font-family: var(--font-body);
      font-size: 1.26rem;
      font-weight: 800;
      letter-spacing: .1em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .people-list,
    .names-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .staff-main-list {
      columns: 2;
      column-gap: clamp(1.8rem, 4vw, 4rem);
    }

    .board-list {
      columns: 2;
      column-gap: clamp(1.8rem, 4vw, 4rem);
    }

    .council-list {
      columns: 2;
      column-gap: clamp(1.4rem, 3vw, 2.8rem);
    }

    .people-list li,
    .names-list li {
      break-inside: avoid;
      margin: 0 0 .75rem;
      font-family: var(--font-body);
      font-size: var(--type-support);
      line-height: 1.42;
      color: var(--black);
    }

    .people-list strong {
      display: block;
      color: var(--black);
      font-weight: 800;
    }

    .people-list span {
      display: block;
      margin-top: .12rem;
      color: var(--gray-600);
    }

    .names-list li {
      color: var(--black);
    }

    @media (max-width: 1100px) {
      .supporters-columns-top,
      .supporters-columns-mid,
      .staff-float-layout,
      .governance-float {
        grid-template-columns: 1fr 1fr;
      }

      .supporters-community .supporter-tier-community ul {
        columns: 3;
      }

      .council-list {
        columns: 1;
      }
    }

    @media (max-width: 760px) {
      .supporters-columns-top,
      .supporters-columns-mid,
      .staff-float-layout,
      .governance-float {
        grid-template-columns: 1fr;
      }

      .supporter-tier-wide ul,
      .supporter-tier-community ul,
      .staff-main-list,
      .board-list,
      .council-list {
        columns: 1;
      }
    }


    /* ==========================================================
       FINAL ARCHIVE + LEADERSHIP RECOMPOSITION
       ========================================================== */

    /* Archive: use the full available section width with a square image. */
    .archive-core .section-inner {
      width: 100%;
      max-width: none;
    }

    .archive-core-layout {
      grid-template-columns: minmax(360px, 1fr) minmax(420px, 1.08fr);
      gap: clamp(2rem, 4vw, 4.5rem);
      align-items: start;
    }

    .archive-core-copy {
      max-width: none;
    }

    .embedded-media-pair {
      width: 100%;
      min-height: 0;
      display: block;
    }

    .embedded-media {
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
    }

    .embedded-media img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      object-position: center;
      filter: none;
    }

    /* Leadership: continuous governance stack under Staff; compact operations column. */
    .staff-float-layout {
      grid-template-columns: minmax(0, 1.48fr) minmax(230px, .52fr);
      gap: clamp(2.5rem, 5vw, 5.5rem);
      align-items: start;
    }

    .leadership-column {
      display: grid;
      gap: clamp(2.4rem, 4vw, 3.6rem);
      min-width: 0;
    }

    .staff-specialists {
      display: grid;
      gap: clamp(2rem, 3.5vw, 3rem);
      align-content: start;
    }

    .staff-main-list,
    .board-list {
      columns: 2;
      column-gap: clamp(1.8rem, 4vw, 4rem);
    }

    .council-list {
      columns: 2;
      column-gap: clamp(1.4rem, 3vw, 2.8rem);
    }

    @media (max-width: 1000px) {
      .archive-core-layout {
        grid-template-columns: 1fr;
      }

      .archive-core-copy {
        max-width: 920px;
      }

      .embedded-media-pair {
        width: min(760px, 100%);
      }

      .staff-float-layout {
        grid-template-columns: 1fr;
      }

      .staff-specialists {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 760px) {
      .staff-specialists {
        grid-template-columns: 1fr;
      }

      .staff-main-list,
      .board-list,
      .council-list {
        columns: 1;
      }
    }


    /* ==========================================================
       HOSPITALITY AT ROULETTE
       People-first editorial composition; violet replaces coral.
       No added divider rules.
       ========================================================== */

    .hospitality-section {
      --accent: var(--violet);
      padding: clamp(5rem, 9vw, 9rem) var(--page) 0;
      color: var(--black);
      background: var(--white);
    }

    .hospitality-section .section-inner {
      width: 100%;
      max-width: none;
    }

    .hospitality-heading {
      width: 100%;
      max-width: none;
      margin-bottom: clamp(3rem, 5vw, 4.5rem);
    }

    .hospitality-heading .section-title {
      width: 100%;
      max-width: none;
    }

    .hospitality-heading .section-label {
      color: var(--black);
    }

    .hospitality-opening {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
      gap: clamp(4rem, 8vw, 8rem);
      align-items: start;
      padding-bottom: clamp(5rem, 8vw, 7rem);
    }

    .hospitality-narrative {
      max-width: 900px;
    }

    .hospitality-narrative p {
      margin: 0 0 1.25em;
      color: var(--black);
      font-size: var(--type-body);
      line-height: 1.62;
      text-align: left;
    }

    .hospitality-narrative p:last-child {
      margin-bottom: 0;
    }

    .hospitality-narrative strong {
      font-weight: 800;
    }

    .hospitality-team {
      min-width: 0;
      padding-top: .15rem;
    }

    .hospitality-team-title,
    .hospitality-house-title {
      margin: 0 0 1.15rem;
      color: var(--accent);
      font-family: var(--font-body);
      font-size: var(--type-section-label);
      font-weight: 800;
      letter-spacing: .12em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .hospitality-person {
      margin-bottom: clamp(1.8rem, 3vw, 2.7rem);
    }

    .hospitality-person h3 {
      margin: 0;
      color: var(--black);
      font-family: var(--font-display);
      font-size: clamp(1.8rem, 2.6vw, 2.8rem);
      font-weight: 700;
      line-height: .98;
      letter-spacing: -.035em;
    }

    .hospitality-person-role {
      max-width: 430px;
      margin: .55rem 0 0;
      color: var(--black);
      font-family: var(--font-body);
      font-size: var(--type-support);
      font-weight: 700;
      line-height: 1.42;
    }

    .hospitality-house-title {
      margin-top: clamp(2.7rem, 4vw, 3.6rem);
    }

    .hospitality-house-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .hospitality-house-list li {
      margin: 0 0 .45rem;
      color: var(--black);
      font-family: var(--font-display);
      font-size: clamp(1.25rem, 1.65vw, 1.65rem);
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -.02em;
    }

    .hospitality-means {
      margin-left: calc(-1 * var(--page));
      margin-right: calc(-1 * var(--page));
      padding: clamp(5rem, 8vw, 7.5rem) var(--page) clamp(5.5rem, 9vw, 8rem);
      color: var(--black);
      background: var(--violet);
    }

    .hospitality-means-inner {
      width: 100%;
      max-width: none;
      margin: 0 auto;
    }

    .hospitality-means-heading {
      width: 100%;
      max-width: none;
      margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
    }

    .hospitality-means-kicker {
      margin: 0 0 .75rem;
      color: var(--black);
      font-family: var(--font-body);
      font-size: .81rem;
      font-weight: 800;
      letter-spacing: .12em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .hospitality-means-heading h3 {
      width: 100%;
      max-width: none;
      margin: 0;
      color: var(--black);
      font-family: var(--font-display);
      font-size: var(--type-section-title);
      font-weight: 700;
      line-height: .98;
      letter-spacing: -.035em;
    }

    .hospitality-points {
      display: grid;
      gap: clamp(2.6rem, 4.5vw, 4.4rem);
      width: 100%;
      max-width: none;
    }

    .hospitality-point {
      display: grid;
      grid-template-columns: 3.2rem minmax(260px, .8fr) minmax(0, 1.2fr);
      gap: clamp(1.5rem, 3.5vw, 4rem);
      align-items: start;
    }

    .hospitality-point-number {
      margin: .18rem 0 0;
      color: var(--black);
      font-family: var(--font-body);
      font-size: .81rem;
      font-weight: 800;
      letter-spacing: .14em;
    }

    .hospitality-point h4 {
      margin: 0;
      color: var(--black);
      font-family: var(--font-display);
      font-size: clamp(1.45rem, 2vw, 2.05rem);
      font-weight: 700;
      line-height: 1.02;
      letter-spacing: -.028em;
    }

    .hospitality-point p {
      max-width: 760px;
      margin: 0;
      color: var(--black);
      font-family: var(--font-body);
      font-size: var(--type-body);
      line-height: 1.58;
    }

    .hospitality-point p strong {
      font-weight: 800;
    }

    @media (max-width: 980px) {
      .hospitality-opening {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }

      .hospitality-team {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem 3rem;
      }

      .hospitality-team-title,
      .hospitality-house-title {
        grid-column: 1 / -1;
      }

      .hospitality-house-title {
        margin-top: .5rem;
        margin-bottom: 0;
      }

      .hospitality-house-list {
        grid-column: 1 / -1;
        columns: 3;
        column-gap: 2rem;
      }

      .hospitality-point {
        grid-template-columns: 3rem minmax(220px, .72fr) minmax(0, 1.28fr);
        gap: 1.3rem 2rem;
      }
    }

    @media (max-width: 700px) {
      .hospitality-section {
        padding-top: clamp(4rem, 12vw, 5.5rem);
      }

      .hospitality-team {
        grid-template-columns: 1fr;
      }

      .hospitality-team-title,
      .hospitality-house-title,
      .hospitality-house-list {
        grid-column: auto;
      }

      .hospitality-house-list {
        columns: 1;
      }

      .hospitality-point {
        grid-template-columns: 2.3rem minmax(0, 1fr);
        gap: .8rem 1.15rem;
      }

      .hospitality-point p {
        grid-column: 2;
      }
    }





    /* ==========================================================
       AUGUST BATCH: EFFECT / AUDIENCE GROWTH / HOSPITALITY
       Preserve the master content grid while restoring full-bleed fields.
       ========================================================== */

    /* Full-bleed color fields stay full viewport width; only their inner content
       participates in the 1340px master grid. */
    .hospitality-means {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: 0;
    }

    /* Viewership is reach; Spreading the avant-garde is growth. The paired
       black/yellow treatment keeps them visually connected. */
    .audience-growth {
      --accent: var(--black);
      color: var(--black);
      background: var(--yellow);
    }

    .audience-growth-inner {
      display: block;
    }

    .audience-growth-heading {
      width: 100%;
      max-width: none;
      margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
    }

    .audience-growth-heading .section-label,
    .audience-growth-heading .section-title {
      color: var(--black);
    }

    .audience-growth-lead {
      max-width: 900px;
      margin: clamp(1.8rem, 3vw, 2.6rem) 0 0;
      color: var(--black);
    }

    .audience-growth-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(2.5rem, 5vw, 5rem) clamp(2rem, 4vw, 4rem);
      width: 100%;
    }

    .audience-growth-stat {
      min-width: 0;
    }

    .audience-growth-value {
      margin: 0 0 .6rem;
      color: var(--black);
      font-family: var(--font-display);
      font-size: clamp(2.65rem, 4.4vw, 4.75rem);
      font-weight: 700;
      line-height: .88;
      letter-spacing: -.045em;
    }

    .audience-growth-label {
      max-width: 260px;
      margin: 0;
      color: var(--black);
      font-family: var(--font-body);
      font-size: var(--type-body);
      line-height: 1.45;
    }

    .audience-growth-conclusion {
      max-width: 1050px;
      margin: clamp(4rem, 7vw, 6rem) 0 0;
      color: var(--black);
      font-weight: 700;
      line-height: 1.58;
    }

    /* New Hospitality hierarchy: major section title, then an editorial intro
       subhead inside the narrative column. */
    .hospitality-introducing {
      margin: 0 0 clamp(1.6rem, 2.5vw, 2.25rem);
      color: var(--accent);
      font-family: var(--font-display);
      font-size: var(--type-subsection-title);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.022em;
    }

    @media (max-width: 980px) {
      .audience-growth-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 560px) {
      .audience-growth-stats {
        grid-template-columns: 1fr;
      }

      .audience-growth-label {
        max-width: 34rem;
      }
    }


    /* ==========================================================
       REPORT-WIDE GRID + WIDTH STANDARDIZATION
       One master horizontal system; reading measures remain local.
       No new divider rules, colors, or content changes.
       ========================================================== */

    :root {
      --content-max: 1340px;
      --section-space: clamp(5rem, 8vw, 8rem);
    }

    /* One authoritative content container throughout the report. */
    .section-inner,
    .impact-intro-inner,
    .spine-inner,
    #glance .section-inner,
    .viewership-section .section-inner,
    .archive-core .section-inner,
    .hospitality-section .section-inner,
    .hospitality-means-inner {
      width: min(var(--content-max), 100%);
      max-width: var(--content-max);
      margin-left: auto;
      margin-right: auto;
    }

    /* Major headings inherit the full width of the master container.
       Line length is controlled by the words themselves, not arbitrary wrappers. */
    .section-title,
    .archive-core-heading,
    .archive-core-heading h2,
    .viewership-heading,
    .financial-heading,
    .financial-reserves-heading,
    .supporters-heading,
    .staff-leadership-heading,
    .hospitality-heading,
    .hospitality-heading .section-title,
    .hospitality-means-heading,
    .hospitality-means-heading h3 {
      width: 100%;
      max-width: none;
    }

    /* Statements the report has intentionally treated as full-width features. */
    #glance .glance-statement,
    .viewership-statements {
      width: 100%;
      max-width: none;
    }

    /* Grids should occupy the same master container rather than introducing
       a second, narrower page width. Individual paragraphs retain readable measures. */
    .financial-copy {
      width: 100%;
      max-width: none;
    }

    .archive-core-layout,
    .introduction-body.welcome-layout,
    .audience-growth-inner,
    .financial-stats,
    .financial-breakdowns,
    .financial-reserve-grid,
    .supporters-columns-top,
    .supporters-columns-mid,
    .supporters-community,
    .staff-float-layout,
    .hospitality-opening,
    .hospitality-points {
      width: 100%;
    }

    /* Standard section rhythm. Special compositions (cover, letter, Effect spine,
       connected Hospitality opening/What-this-means field) retain their own spacing. */
    .section,
    .highlight-feature,
    .archive-core,
    .viewership-section,
    .audience-growth,
    .archive-activation .activation-feature,
    .financial-snapshot,
    .supporters-section,
    .staff-leadership {
      padding-left: var(--page);
      padding-right: var(--page);
    }

    /* Remove obsolete wrapper constraints while preserving intentional reading widths
       such as prose columns, captions, notes, and role descriptions. */
    .selected-heading,
    .runs-heading,
    .honored-heading,
    .chronology-heading {
      width: 100%;
      max-width: none;
    }

    @media (max-width: 900px) {
      .section-inner,
      .impact-intro-inner,
      .spine-inner,
      #glance .section-inner,
      .viewership-section .section-inner,
      .archive-core .section-inner,
      .hospitality-section .section-inner,
      .hospitality-means-inner {
        width: 100%;
        max-width: 100%;
      }
    }



    /* ==========================================================
       AUGUST FOLLOW-UP: CONTINUOUS SUPPORTER INDEX
       One uninterrupted vertical reading flow across four equal columns.
       Tier headers enter naturally wherever the preceding tier ends.
       ========================================================== */

    .supporters-flow {
      width: 100%;
      column-count: 4;
      column-gap: clamp(1.75rem, 3vw, 3.25rem);
      column-fill: balance;
    }

    .supporters-flow .supporter-tier {
      display: block;
      margin: 0 0 clamp(1.55rem, 2.4vw, 2.15rem);
      break-inside: auto;
    }

    .supporters-flow .supporter-tier h3 {
      break-after: avoid-column;
      margin: 0 0 .8rem;
    }

    .supporters-flow .supporter-tier ul {
      columns: auto;
      column-count: auto;
      margin: 0;
      padding: 0;
    }

    .supporters-flow .supporter-tier li {
      break-inside: avoid;
    }

    @media (max-width: 980px) {
      .supporters-flow {
        column-count: 2;
      }
    }

    @media (max-width: 620px) {
      .supporters-flow {
        column-count: 1;
      }
    }



/* ==========================================================
   HOSPITALITY HEADING CONSISTENCY
   Reuse the report-wide section-label + section-title system.
   No new divider rules: these are the established short label rules.
   ========================================================== */

.hospitality-heading {
  margin-bottom: clamp(4rem, 7vw, 7rem);
}

.hospitality-heading .section-label {
  color: var(--black);
}

.hospitality-introducing.subsection-title {
  margin: 0 0 clamp(1.6rem, 2.5vw, 2.25rem);
  color: var(--accent);
}

/* "In practice" uses the same canonical label treatment as the rest
   of the report. Its short rule is black so it remains visible on violet. */
.hospitality-means-heading .section-label {
  color: var(--black);
}

.hospitality-means-heading .section-label::before {
  background: var(--black);
}

.hospitality-means-heading .section-title {
  color: var(--black);
}

/* Retire the custom imitation where the canonical classes now control type. */
.hospitality-means-kicker {
  margin-bottom: 1.4rem;
}

.hospitality-means-heading h3.section-title {
  font-family: var(--font-display);
  font-size: var(--type-section-title);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.035em;
  text-wrap: balance;
}


/* ==========================================================
   LATEST HIERARCHY CLEANUP
   ========================================================== */

/* Hospitality follows the standard report hierarchy:
   small Nimbus Sans label, then large Acumin section title. */
#hospitality .hospitality-heading .section-label {
  color: var(--black);
}

#hospitality .hospitality-heading .section-title {
  color: var(--black);
}

/* Body begins directly beneath the section heading now that the
   duplicative narrative subhead has been removed. */
#hospitality .hospitality-narrative > p:first-child {
  margin-top: 0;
}

/* Reserves intentionally has one heading only. */
.financial-reserves-heading {
  margin-bottom: clamp(2rem, 3vw, 3rem);
}


/* ==========================================================
   AUDIENCE TITLE + STAFF TYPE CONSISTENCY
   ========================================================== */

/* Restore the editorial title while keeping the growth sentence as the lead. */
.audience-growth-lead {
  font-family: var(--font-display);
  font-size: var(--type-feature, clamp(2rem, 3.4vw, 3.6rem));
  line-height: 1.05;
  letter-spacing: -.025em;
  max-width: none;
  margin-top: clamp(1.5rem, 2.5vw, 2.5rem);
}

/* Staff and Leadership list text should match Supporters list text in scale. */
#leadership .staff-list,
#leadership .staff-list li,
#leadership .leadership-list,
#leadership .leadership-list li,
#leadership .board-list,
#leadership .board-list li,
#leadership .council-list,
#leadership .council-list li,
#leadership .event-staff-list,
#leadership .event-staff-list li,
#leadership .audio-engineers-list,
#leadership .audio-engineers-list li,
#leadership .livestream-operators-list,
#leadership .livestream-operators-list li,
#leadership .people-list,
#leadership .people-list li,
#leadership .staff-columns,
#leadership .staff-columns p,
#leadership .staff-columns li {
  font-size: var(--type-body);
}


/* ==========================================================
   STAFF / SUPPORTERS TYPE-SCALE MATCH
   ========================================================== */
#staff-leadership .people-list li,
#staff-leadership .names-list li {
  font-size: clamp(.9rem, .98vw, 1rem);
}


/* ==========================================================
   FINAL CONTENT BATCH — INTRO / AUDIENCE / ARCHIVE
   ========================================================== */

/* Slightly elevated closing gratitude in the Introduction. */
#introduction .intro-gratitude {
  color: var(--coral);
  font-family: var(--font-display);
  font-size: clamp(1.12rem, 1.35vw, 1.34rem);
  font-weight: 700;
  font-stretch: condensed;
  font-variation-settings: "wght" 700, "wdth" 75;
  line-height: 1.45;
}

/* Audience-growth hierarchy follows the report-wide convention:
   small Nimbus Sans label, then large Acumin section title. */
#audience-growth .audience-growth-heading .section-label {
  margin-bottom: 1.2rem;
}

#audience-growth .audience-growth-heading .section-title {
  margin: 0;
}

/* Archive infrastructure notes: deliberately subordinate to body copy. */
#archive-media .archive-technical-note {
  margin: 2rem 0 0;
  font-size: var(--type-support);
  line-height: 1.5;
}

#archive-media .archive-looking-ahead {
  margin: .9rem 0 0;
  font-size: var(--type-caption);
  line-height: 1.45;
}

#archive-media .archive-free-statement {
  margin-top: 1.75rem;
}


/* ==========================================================
   ARCHIVE + HOSPITALITY REFINEMENT
   ========================================================== */

/* Remove image borders / framed treatments throughout the report. */
.embedded-media,
.archive-inline-figure,
.image-panel,
.selected-photo,
.activation-image,
figure {
  border: 0 !important;
  box-shadow: none !important;
}

/* -------------------------
   Hospitality team block
   2 sizes only:
   - medium: all names
   - small: labels and titles
   ------------------------- */
.hospitality-team-title,
.hospitality-house-title,
.hospitality-person-role {
  font-size: var(--type-support);
  line-height: 1.42;
}

.hospitality-team-title,
.hospitality-house-title {
  letter-spacing: .12em;
}

.hospitality-person h3,
.hospitality-house-list li {
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1.02;
  letter-spacing: -.03em;
}

.hospitality-house-list li {
  margin-bottom: .55rem;
}

/* -------------------------
   Archive editorial wrap
   3 sizes only:
   - big statement
   - body paragraph
   - second-smallest support notes
   ------------------------- */
#archive-media .archive-core-layout {
  display: block;
}

#archive-media .archive-core-copy {
  max-width: none;
}

#archive-media .archive-statement {
  max-width: 980px;
  margin-bottom: 1.6rem;
}

#archive-media .archive-inline-figure {
  float: right;
  width: min(40%, 430px);
  margin: .3rem 0 1.4rem clamp(1.4rem, 2.8vw, 2.6rem);
  background: transparent;
}

#archive-media .archive-inline-figure img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

#archive-media .archive-inline-caption {
  position: static;
  margin: .65rem 0 0;
  padding: 0;
  color: var(--black);
  background: none;
  font-size: var(--type-support);
  line-height: 1.45;
}

#archive-media .archive-core-copy::after {
  content: "";
  display: block;
  clear: both;
}

#archive-media .archive-free-statement {
  font-size: var(--type-body);
  line-height: 1.58;
}

#archive-media .archive-technical-note,
#archive-media .archive-looking-ahead {
  font-size: var(--type-support);
  line-height: 1.5;
}

#archive-media .archive-looking-ahead {
  margin-top: .95rem;
}

@media (max-width: 860px) {
  #archive-media .archive-inline-figure {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0 0 1.4rem;
  }
}


/* ==========================================================
   HOSPITALITY + ARCHIVE V2
   ========================================================== */

/* ----------------------------------------------------------
   HOSPITALITY TEAM: exactly two font sizes.
   Names = medium. Everything else = normal paragraph size.
   ---------------------------------------------------------- */
#hospitality .hospitality-team-title,
#hospitality .hospitality-house-title,
#hospitality .hospitality-person-role {
  font-size: var(--type-body) !important;
  line-height: 1.5;
}

#hospitality .hospitality-team-name,
#hospitality .hospitality-person h3,
#hospitality .hospitality-house-list li {
  font-size: clamp(1.3rem, 1.55vw, 1.62rem) !important;
  line-height: 1.08;
  letter-spacing: -.022em;
}

/* Keep the labels distinguished by weight/color rather than size. */
#hospitality .hospitality-team-title,
#hospitality .hospitality-house-title {
  font-weight: 800;
  letter-spacing: .08em;
}

#hospitality .hospitality-person-role {
  margin-top: .4rem;
  font-weight: 700;
}

#hospitality .hospitality-person {
  margin-bottom: clamp(1.65rem, 2.4vw, 2.2rem);
}

#hospitality .hospitality-house-title {
  margin-top: clamp(2.2rem, 3.2vw, 3rem);
  margin-bottom: .85rem;
}

/* ----------------------------------------------------------
   ARCHIVE: lead statement begins beside a larger square image.
   The image then allows subsequent body text to wrap beneath it.
   ---------------------------------------------------------- */
#archive-media .archive-core-copy {
  max-width: none;
}

#archive-media .archive-inline-figure {
  float: right;
  width: min(46%, 560px);
  margin: 0 0 clamp(1.4rem, 2.2vw, 2rem) clamp(2rem, 4vw, 4rem);
}

#archive-media .archive-inline-figure img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  border: 0 !important;
}

#archive-media .archive-inline-caption {
  margin-top: .65rem;
  font-size: var(--type-support);
  line-height: 1.45;
}

/* Preserve the 3-tier Archive type system only:
   1. statement
   2. body
   3. support */
#archive-media .archive-statement {
  font-size: var(--type-subsection-title);
  line-height: 1.18;
  max-width: none;
  margin-bottom: 1.5rem;
}

#archive-media .body-copy-standard,
#archive-media .archive-free-statement {
  font-size: var(--type-body);
  line-height: 1.62;
}

#archive-media .archive-technical-note,
#archive-media .archive-looking-ahead,
#archive-media .archive-inline-caption {
  font-size: var(--type-support) !important;
}

#archive-media .archive-core-copy::after {
  content: "";
  display: block;
  clear: both;
}

/* No framed photographs anywhere. */
figure,
figure img,
.image-panel,
.selected-photo,
.activation-image,
.embedded-media,
.archive-inline-figure {
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  #archive-media .archive-inline-figure {
    width: min(48%, 460px);
    margin-left: clamp(1.4rem, 3vw, 2rem);
  }
}

@media (max-width: 680px) {
  #archive-media .archive-inline-figure {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0 0 1.4rem;
  }
}

/* ==========================================================
   SEPTEMBER MOBILE POLISH
   ========================================================== */

@media (max-width: 700px) {
  /* The desktop three-column treatment becomes a deliberate reading stack. */
  .hospitality-point {
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
  }

  .hospitality-point-number,
  .hospitality-point h4,
  .hospitality-point p {
    grid-column: 1;
  }

  .hospitality-point-number {
    margin: 0 0 .15rem;
  }

  .hospitality-point p {
    max-width: none;
  }

  /* The selected press excerpt is a desktop-only editorial element. */
  .welcome-quotes {
    display: none;
  }
}

@media (max-width: 620px) {
  /* A tall one-column index may never meet the reveal threshold in-browser. */
  .supporters-flow.reveal {
    opacity: 1;
    transform: none;
  }
}
