:root {
    --ink: #102337;
    --midnight: #071a2d;
    --paper: #f7f4ef;
    --coral: #e84e49;
    --teal: #09b9ba;
    --muted: #617080;
}
.public-site {
    font-family: 'DM Sans', sans-serif;
    color: var(--ink);
    background: var(--paper);
}
.public-site h1,
.public-site h2,
.public-site h3,
.public-site h4 { color: var(--ink); }
.public-site a:focus-visible,
.public-site button:focus-visible,
.public-site input:focus-visible {
    outline: 3px solid var(--teal);
    outline-offset: 3px;
}
.public-site .top {
    background: var(--midnight) !important;
    margin-bottom: 0;
    padding-top: 4px;
}
.public-site .top-contact li,
.public-site .top-profile li { margin-bottom: 9px; }
.public-site .top-contact,
.public-site .top-contact a,
.public-site .top-social a,
.public-site .top-profile li a { color: #fff; }
.public-site .main-nav,
.public-site .sticky {
    background: #fff;
    border-bottom: 1px solid rgba(16,35,55,.08);
    box-shadow: 0 8px 24px rgba(7,26,45,.04);
}
.public-site .main-nav nav .navbar-nav .nav-item {
    padding-top: 21px;
    padding-bottom: 21px;
}
.public-site .main-nav nav .navbar-nav .nav-item a {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.public-site .main-nav nav .navbar-nav .nav-item a:hover,
.public-site .main-nav nav .navbar-nav .nav-item:hover > a {
    color: var(--coral) !important;
}
.public-site .main-nav nav .navbar-nav .nav-item .dropdown-menu {
    top: 75px !important;
    background: var(--midnight) !important;
    border-radius: 0 0 12px 12px !important;
    overflow: hidden;
}
.public-site .main-nav nav .navbar-nav .nav-item .dropdown-menu li a:hover {
    background: var(--coral) !important;
}
.public-site .main-nav img { height: 62px; width: auto; }
.public-site .page-banner .bg-page {
    background: linear-gradient(90deg, rgba(7,26,45,.91), rgba(7,26,45,.54));
    opacity: 1;
}
.public-site .page-banner .text { padding: 96px 15px 88px; }
.public-site .page-banner .text h1 {
    color: #fff;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(42px, 6vw, 74px);
    font-weight: 400;
}
.public-site .page-banner .breadcrumb-item { font-size: 14px; font-weight: 500; }
.public-site .page-content { padding-top: 64px; padding-bottom: 80px; min-height: 35vh; }
.public-site .page-content p { line-height: 1.8; }
.public-site .footer-area {
    background: var(--midnight);
    color: #bbc6ce;
    padding-top: 58px;
}
.supporters-section {
    background: #f7f4ef;
    padding: clamp(72px, 8vw, 118px) 0;
}
.supporters-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    margin-bottom: 38px;
}
.supporters-kicker {
    color: var(--coral);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .24em;
    margin-bottom: 13px;
}
.public-site .supporters-heading h2,
.public-site .supporters-funding h3 {
    font-family: 'DM Serif Display', Georgia, serif;
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.05;
}
.public-site .supporters-heading h2 {
    font-size: clamp(43px, 5vw, 70px);
    margin: 0;
}
.supporters-heading h2 em { color: var(--coral); }
.supporters-heading > p {
    max-width: 290px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 5px;
}
.supporters-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.supporter-card {
    padding: 10px 10px 20px;
    border: 1px solid #e5e5e1;
    background: #fff;
    box-shadow: 0 12px 35px rgba(7,26,45,.045);
}
.supporter-logo {
    height: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 18px;
    overflow: hidden;
}
.supporter-logo img {
    display: block;
    max-width: 90%;
    max-height: 125px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.supporter-logo-decibel { background: #222f3c; }
.supporter-logo-decibel img { max-height: 145px; }
.supporter-logo-sanzo { background: #f8f9fb; }
.supporter-logo-whisky { background: #070707; }
.supporter-card > span {
    display: block;
    padding: 15px 13px 0;
    color: var(--ink);
    font-weight: 700;
    font-size: 14px;
}
.supporters-funding {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: clamp(35px, 5vw, 75px);
    align-items: center;
    margin-top: 70px;
    padding: clamp(35px, 5vw, 66px);
    background: radial-gradient(circle at 95% 5%, rgba(9,185,186,.17), transparent 38%), var(--midnight);
    color: #d9e1e8;
    border-radius: 5px;
}
.supporters-funding .supporters-kicker { color: var(--teal); }
.public-site .supporters-funding h3 {
    color: #fff;
    font-size: clamp(39px, 4.2vw, 58px);
    margin-bottom: 25px;
}
.supporters-funding h3 em { color: #f2b8aa; }
.supporters-funding-copy > p:not(.supporters-kicker) {
    color: #c8d3da;
    font-size: 14px;
    line-height: 1.75;
    margin-bottom: 14px;
}
.supporters-funding-copy .supporters-funding-label {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .11em;
}
.supporters-funding-copy strong { color: #fff; }
.supporters-funding-logos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.supporters-funding-logos > div {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 120px;
    padding: 19px;
    background: #fff;
    border-radius: 3px;
}
.supporters-funding-logos > div:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 1;
}
.supporters-funding-logos img { display: block; max-width: 100%; max-height: 78px; object-fit: contain; }
.public-site .footer-item h2,
.public-site .footer-social-link h2 { color: #fff; font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; }
.public-site .footer-item ul li a,
.public-site .footer-pages ul li a { color: #c5d0d8; }
.public-site .footer-end {
    border-top-color: rgba(255,255,255,.15);
    margin-top: 46px;
    padding-top: 32px;
}
.public-site .scroll-top { background: var(--coral) !important; }

/* Home */
.home-hero {
    position: relative;
    min-height: min(740px, 82vh);
    overflow: hidden;
    background: var(--midnight);
    color: #fff;
}
.home-hero-image {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,16,30,.96) 0%, rgba(4,16,30,.85) 37%, rgba(4,16,30,.12) 100%), url('/uploads/slider-8.jpg') center 53% / cover;
    transform: scale(1.02);
}
.home-hero:after {
    content: '';
    position: absolute;
    right: -130px;
    top: -180px;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    pointer-events: none;
}
.home-hero-inner {
    min-height: min(740px, 82vh);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 65px;
    padding-bottom: 95px;
}
.home-hero-copy { max-width: 680px; min-width: 0; }
.home-eyebrow,
.home-kicker {
    text-transform: uppercase;
    letter-spacing: .25em;
    font-size: 12px;
    font-weight: 700;
}
.home-eyebrow { color: #e6e6e4; margin-bottom: 26px; }
.home-eyebrow span {
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--teal);
    vertical-align: middle;
    margin-right: 12px;
}
.public-site .home-hero h1 {
    color: #fff;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(66px, 8vw, 118px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.045em;
    margin-bottom: 28px;
}
.home-hero h1 em,
.home-season h2 em,
.home-section-head h2 em { color: #f2b8aa; font-weight: 400; }
.home-hero-lead {
    color: #d9e0e6;
    font-size: clamp(17px, 1.7vw, 20px);
    line-height: 1.65;
    max-width: 500px;
    margin-bottom: 32px;
}
.home-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.home-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 54px;
    padding: 14px 23px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
}
.home-button-primary { background: var(--coral); color: #fff; }
.home-button-primary:hover { background: #cb3835; color: #fff; }
.home-button-ghost { border: 1px solid rgba(255,255,255,.6); color: #fff; }
.home-button-ghost:hover { background: #fff; color: var(--midnight); }
.home-hero-side {
    align-self: stretch;
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
}
.home-hero-bottom {
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 1;
    color: #d6e0e6;
    background: rgba(7,26,45,.55);
    border-top: 1px solid rgba(255,255,255,.16);
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.home-hero-bottom .container { display: flex; justify-content: space-between; padding-top: 18px; padding-bottom: 18px; }
.home-hero-bottom b { color: var(--teal); font-size: 20px; margin-left: 12px; }
.home-season { background: var(--paper); padding: 105px 0; }
.home-season-grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(36px, 6vw, 100px); align-items: center; }
.home-kicker { color: var(--coral); margin-bottom: 24px; }
.public-site .home-season h2,
.public-site .home-section-head h2 {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(44px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
}
.home-season h2 em,
.home-section-head h2 em { color: var(--coral); }
.home-season-copy > p:not(.home-kicker) { color: var(--muted); font-size: 17px; line-height: 1.75; max-width: 360px; margin: 26px 0; }
.home-text-link {
    display: inline-flex;
    gap: 30px;
    align-items: center;
    border-bottom: 2px solid var(--coral);
    padding-bottom: 8px;
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
}
.home-text-link:hover { color: var(--coral); }
.home-season-poster { position: relative; display: block; box-shadow: 0 25px 65px rgba(7,26,45,.18); overflow: hidden; border-radius: 5px; }
.home-season-poster img { display: block; width: 100%; height: auto; }
.home-season-poster > span {
    position: absolute;
    right: 16px;
    bottom: 16px;
    background: #fff;
    color: var(--ink);
    padding: 10px 15px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(0,0,0,.15);
}
.home-season-poster > span b { color: var(--coral); margin-left: 16px; }
.home-program { padding: 95px 0 110px; background: #fff; }
.home-section-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 36px; }
.home-section-head .home-kicker { margin-bottom: 12px; }
.home-section-head h2 { margin-bottom: 10px; }
.home-section-head p:not(.home-kicker) { color: var(--muted); margin: 0; }
.home-section-head > .home-text-link { flex: 0 0 auto; margin-bottom: 10px; }
.home-program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.home-show-card { display: block; min-width: 0; background: var(--paper); color: var(--ink); border-radius: 5px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.home-show-card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(7,26,45,.12); color: var(--ink); }
.home-show-photo { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #f1f0ec; }
.home-show-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.home-show-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 13px; }
.home-show-tag { display: inline-block; background: var(--coral); color: #fff; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 700; padding: 6px 9px; }
.home-show-tag-alt { background: var(--midnight); }
.home-show-copy { padding: 28px; }
.home-show-copy time { color: var(--coral); display: block; font-weight: 700; font-size: 12px; letter-spacing: .1em; margin-bottom: 8px; }
.public-site .home-show-copy h3 { font-family: 'Fraunces', Georgia, serif; font-size: 29px; font-weight: 600; line-height: 1.17; letter-spacing: -.025em; margin: 0 0 12px; }
.home-show-copy p { color: var(--muted); font-size: 14px; line-height: 1.65; min-height: 46px; margin-bottom: 22px; }
.home-show-more { display: flex; justify-content: space-between; border-top: 1px solid #dce0df; padding-top: 16px; font-weight: 700; font-size: 13px; }
.home-show-more b { color: var(--coral); font-size: 18px; }
.home-external-head { margin: 70px 0 25px; }
.public-site .home-external-head h3 { font-family: 'DM Serif Display', Georgia, serif; font-size: 38px; font-weight: 400; }
.home-external-head p { color: var(--muted); }
.home-program-empty { display: grid; grid-template-columns: 1fr 1fr; min-height: 360px; background: var(--paper); }
.home-program-empty-photo { min-height: 360px; background: url('/uploads/slider-9.jpg') center / cover; }
.home-program-empty-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(34px, 5vw, 72px); }
.home-program-empty-copy .home-kicker { margin-bottom: 12px; }
.public-site .home-program-empty-copy h3 { font-family: 'DM Serif Display', Georgia, serif; font-size: clamp(36px, 4vw, 54px); font-weight: 400; }
.home-program-empty-copy > p:not(.home-kicker) { color: var(--muted); font-size: 16px; line-height: 1.7; margin: 8px 0 26px; }
.program-page-hero {
    position: relative;
    padding: clamp(92px, 12vw, 170px) 0;
    background: linear-gradient(90deg, rgba(7,26,45,.94), rgba(7,26,45,.48)), url('/uploads/slider-9.jpg') center / cover;
    color: #fff;
}
.program-page-hero .container { position: relative; }
.program-page-hero .home-eyebrow { margin-bottom: 22px; }
.public-site .program-page-hero h1 {
    color: #fff;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(55px, 8vw, 110px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.035em;
    max-width: 800px;
}
.program-page-hero h1 em { color: #f2b8aa; }
.program-page-hero p:last-child { color: #e5ebef; font-size: 18px; line-height: 1.6; max-width: 520px; margin: 22px 0 0; }
.program-page-season { padding: 105px 0; }
.program-page-season .home-season-poster { cursor: default; }
.program-page-list { padding-top: 100px; }
.program-pagination { margin-top: 30px; }
.archive-page-hero { overflow: hidden; background: linear-gradient(105deg, rgba(7,26,45,.98) 0%, rgba(7,26,45,.89) 55%, rgba(7,26,45,.58) 100%), url('/uploads/slider-8.jpg') center / cover; }
.archive-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: center; gap: 60px; }
.archive-page-hero .archive-hero-lead { color: #e5ebef; font-size: 18px; line-height: 1.7; max-width: 570px; margin: 24px 0 0; }
.archive-hero-cta { margin-top: 34px; }
.archive-hero-mark { display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; padding: 45px 28px; text-align: center; transform: rotate(-9deg); color: #fff; }
.archive-hero-mark span { color: #f2b8aa; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.archive-hero-mark strong { color: #fff; font-family: 'DM Serif Display', Georgia, serif; font-size: 34px; font-weight: 400; line-height: 1.1; }
.archive-page-body { background: var(--paper); padding: clamp(75px, 9vw, 125px) 0 120px; }
.archive-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr); align-items: end; gap: 70px; padding-bottom: 58px; border-bottom: 1px solid #d8dedc; }
.archive-intro .home-kicker { margin-bottom: 15px; }
.public-site .archive-intro h2, .public-site .archive-section-heading h2, .public-site .archive-empty h3 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; letter-spacing: -.035em; line-height: 1.08; }
.public-site .archive-intro h2 { font-size: clamp(43px, 5vw, 70px); max-width: 690px; margin: 0; }
.archive-intro h2 em, .archive-section-heading h2 em { color: var(--coral); }
.archive-intro > p { color: var(--muted); font-size: 16px; line-height: 1.75; margin: 0 0 5px; }
.archive-intro > p a { color: var(--coral); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.archive-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin: 62px 0 29px; }
.archive-section-heading-spaced { margin-top: 95px; }
.archive-section-heading .home-kicker { margin-bottom: 9px; }
.public-site .archive-section-heading h2 { font-size: clamp(36px, 4vw, 54px); margin: 0; }
.archive-count { flex: 0 0 auto; color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; padding-bottom: 6px; }
.archive-grid .home-show-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e6e5df; }
.archive-grid .home-show-photo { aspect-ratio: 3 / 2; background: #e9e4dc; }
.archive-grid .home-show-photo img { object-fit: contain; }
.archive-grid .home-show-card:hover .home-show-photo img { transform: none; }
.archive-grid .home-show-copy { display: flex; flex: 1; flex-direction: column; }
.archive-grid .home-show-copy p { min-height: 0; }
.archive-grid .home-show-more { margin-top: auto; }
.home-show-archive-mark { display: inline-block; padding: 6px 9px; color: #fff; background: var(--midnight); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.archive-empty { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 45px; min-height: 370px; margin-top: 64px; padding: 40px 7%; background: #fff; border: 1px solid #e6e5df; }
.archive-empty-symbol { color: var(--midnight); font-family: 'DM Serif Display', Georgia, serif; font-size: clamp(125px, 18vw, 230px); line-height: 1; text-align: center; }
.archive-empty-symbol span { color: var(--coral); }
.archive-empty .home-kicker { margin-bottom: 12px; }
.public-site .archive-empty h3 { font-size: clamp(36px, 4vw, 56px); margin: 0 0 16px; }
.archive-empty p:not(.home-kicker) { color: var(--muted); font-size: 16px; line-height: 1.7; max-width: 420px; margin-bottom: 24px; }
/* Existing CMS sections share the refreshed visual language. */
.public-site .special,
.public-site .cta { background-color: var(--midnight); }
.public-site .special .bg,
.public-site .cta .overlay { background: rgba(7,26,45,.82) !important; }
.public-site .special h2,
.public-site .cta h2 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; font-size: clamp(38px, 4vw, 58px); }
.public-site .special .read-more a,
.public-site .cta .btn { background: var(--coral) !important; border-color: var(--coral) !important; border-radius: 4px; }
.public-site .feature,
.public-site .project,
.public-site .team,
.public-site .blog-area { background: var(--paper); }
.public-site .feature .heading h2,
.public-site .project .heading h2,
.public-site .team .heading h2,
.public-site .blog-area .heading h2 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; }
.public-site .newsletter-area .overlay { background: rgba(7,26,45,.86) !important; }
.public-site .newsletter-area input[type=submit] { background: var(--coral); }

/* The three image-led home sections need their own contrast and layout rules. */
.public-site .home-story {
    padding: clamp(84px, 9vw, 132px) 0;
    background-position: center;
    background-attachment: scroll;
}
.public-site .home-story > .bg {
    opacity: 1;
    background: linear-gradient(90deg, rgba(7, 26, 45, .98), rgba(7, 26, 45, .87) 62%, rgba(7, 26, 45, .73)) !important;
}
.home-story > .container,
.home-visit > .container,
.home-newsletter > .container { position: relative; z-index: 1; }
.home-story .row { align-items: center; row-gap: 46px; }
.home-story-copy { padding-right: clamp(20px, 4vw, 68px); }
.home-story .home-kicker,
.home-newsletter .home-kicker { color: #f2b8aa; margin-bottom: 18px; }
.public-site .home-story h2 {
    color: #fff;
    font: 400 clamp(43px, 4.8vw, 67px)/1.07 'DM Serif Display', Georgia, serif;
    letter-spacing: -.035em;
    margin: 0 0 18px;
}
.public-site .home-story h3 {
    color: #dce9ee;
    font: 500 clamp(21px, 2.2vw, 30px)/1.3 'DM Sans', sans-serif;
    letter-spacing: -.025em;
    margin: 0 0 24px;
}
.public-site .home-story .home-story-description {
    color: #d1dce3;
    font-size: 16px;
    line-height: 1.8;
    max-width: 560px;
    margin: 0;
}
.home-story .read-more { margin-top: 31px; }
.public-site .home-story .read-more a {
    background: var(--coral) !important;
    border-color: var(--coral) !important;
    color: #fff;
    padding: 14px 27px;
    font-size: 13px;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.public-site .home-story .read-more a:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--midnight);
}
.home-story .video-section {
    height: auto;
    min-height: 380px;
    aspect-ratio: 1.22;
    overflow: hidden;
    border-radius: 12px;
    background-position: center;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .28);
}
.public-site .home-story .video-section-bg {
    opacity: 1;
    background: linear-gradient(180deg, rgba(7, 26, 45, .08) 40%, rgba(7, 26, 45, .8)) !important;
}
.public-site .home-story .video-button:before,
.public-site .home-story .video-button:after { background: var(--coral) !important; }
.home-story-video-label {
    position: absolute;
    bottom: 25px;
    left: 28px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.public-site .home-visit {
    padding: clamp(90px, 10vw, 145px) 0;
    min-height: 490px;
    background-position: right center;
    background-attachment: scroll;
}
.public-site .home-visit .overlay {
    opacity: 1;
    background: linear-gradient(90deg, #f7f4ef 0%, rgba(247, 244, 239, .97) 35%, rgba(247, 244, 239, .75) 58%, rgba(247, 244, 239, .12) 100%) !important;
}
.home-visit .cta-box { max-width: 650px; text-align: left; }
.public-site .home-visit .home-kicker { color: #ae3936; margin: 0 0 18px; font-size: 12px; }
.public-site .home-visit h2 {
    color: var(--ink);
    font: 400 clamp(43px, 5vw, 70px)/1.08 'DM Serif Display', Georgia, serif;
    letter-spacing: -.035em;
    margin: 0;
}
.public-site .home-visit .cta-box > p:not(.home-kicker) {
    color: #3b4d5c;
    font-size: 17px;
    line-height: 1.7;
    max-width: 560px;
}
.public-site .home-visit .btn {
    background: var(--coral) !important;
    border: 2px solid var(--coral) !important;
    color: #fff;
    padding: 13px 27px;
    margin-top: 19px;
    font-size: 14px;
    font-weight: 700;
}
.public-site .home-visit .btn:hover {
    background: var(--midnight) !important;
    border-color: var(--midnight) !important;
}

.public-site .home-newsletter {
    padding: clamp(70px, 7vw, 105px) 0;
    background-position: center;
    background-attachment: scroll;
    text-align: left;
}
.public-site .home-newsletter .overlay {
    opacity: 1;
    background: linear-gradient(110deg, rgba(7, 26, 45, .98), rgba(7, 26, 45, .9)) !important;
}
.home-newsletter .newsletter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
    align-items: center;
    gap: clamp(32px, 6vw, 90px);
}
.home-newsletter .newsletter-text { margin: 0; }
.public-site .home-newsletter .newsletter-text h2 {
    color: #fff;
    font: 400 clamp(42px, 4.5vw, 62px)/1.07 'DM Serif Display', Georgia, serif;
    letter-spacing: -.035em;
    text-align: left;
    margin: 0 0 16px;
}
.public-site .home-newsletter .newsletter-text > p:not(.home-kicker) {
    color: #d1dce3;
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}
.home-newsletter .frm_newsletter { display: flex; width: 100%; gap: 8px; }
.home-newsletter .frm_newsletter input[type=email] {
    flex: 1;
    min-width: 0;
    height: 58px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 4px;
    background: #fff;
    color: var(--ink);
    font-size: 15px;
}
.home-newsletter .frm_newsletter input[type=email]::placeholder { color: #667583; opacity: 1; }
.public-site .home-newsletter .frm_newsletter input[type=submit] {
    flex: 0 0 auto;
    width: auto;
    height: 58px;
    margin: 0;
    padding: 0 25px;
    border: 2px solid var(--coral);
    border-radius: 4px;
    background: var(--coral) !important;
    color: #fff;
    cursor: pointer;
}
.public-site .home-newsletter .frm_newsletter input[type=submit]:hover {
    background: #fff !important;
    border-color: #fff;
    color: var(--midnight);
}
@media (max-width: 991px) {
    .home-story .video-section { margin-top: 0; min-height: 330px; aspect-ratio: 1.6; }
    .home-newsletter .newsletter { grid-template-columns: 1fr; gap: 28px; }
    .home-newsletter .newsletter-button { max-width: 640px; }
}
@media (max-width: 575px) {
    .home-story .video-section { min-height: 250px; aspect-ratio: 1.25; }
    .public-site .home-visit .overlay {
        background: rgba(247, 244, 239, .92) !important;
    }
    .public-site .home-visit { min-height: 0; }
    .home-newsletter .frm_newsletter { flex-direction: column; }
    .public-site .home-newsletter .frm_newsletter input[type=submit] { width: 100%; }
}

/* Show detail */
.show-detail-hero { background: radial-gradient(circle at 90% 5%, #1d4054, transparent 42%), var(--midnight); color: #fff; overflow: hidden; }
.show-detail-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: clamp(40px, 6vw, 90px); align-items: center; padding-top: clamp(70px, 8vw, 120px); padding-bottom: clamp(70px, 8vw, 120px); }
.show-detail-back { display: inline-block; color: #bacbd4; font-size: 13px; font-weight: 700; margin-bottom: 58px; }
.show-detail-back:hover { color: #fff; }
.show-detail-intro .home-eyebrow { margin-bottom: 20px; }
.public-site .show-detail-intro h1 { color: #fff; font: 400 clamp(52px, 6vw, 88px)/1.04 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; overflow-wrap: anywhere; }
.show-detail-date { display: flex; gap: 20px; align-items: baseline; border-top: 1px solid rgba(255,255,255,.22); padding-top: 20px; margin-top: 32px; color: #fff; }
.show-detail-date span { color: #9cb6c5; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: .18em; }
.show-detail-date time { font-size: 19px; font-weight: 600; }
.show-detail-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 35px; }
.show-detail-art { position: relative; padding: 18px; border: 1px solid rgba(255,255,255,.22); transform: rotate(2deg); }
.show-detail-art:before { content: ''; position: absolute; inset: 33px -30px -30px 33px; border: 1px solid rgba(255,255,255,.13); pointer-events: none; }
.show-detail-art img { display: block; width: auto; height: auto; max-width: 100%; max-height: 610px; margin: 0 auto; object-fit: contain; box-shadow: 0 28px 75px rgba(0,0,0,.35); }
.show-detail-content { padding: clamp(75px, 9vw, 130px) 0; background: var(--paper); }
.show-detail-content-grid { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(0, 1fr); gap: clamp(40px, 8vw, 140px); }
.public-site .show-detail-content h2, .public-site .about-story h2, .public-site .about-visit h2, .public-site .streaming-note h2 { font: 400 clamp(45px, 5vw, 70px)/1.06 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.show-detail-content h2 em, .about-story h2 em { color: var(--coral); }
.show-detail-body { min-width: 0; color: #435263; font-size: 17px; line-height: 1.8; }
.show-detail-body p, .show-detail-body div { margin-bottom: 13px; }
.show-detail-body [style] { color: inherit !important; background: transparent !important; font-family: inherit !important; font-size: inherit !important; }
.show-detail-body a { display: inline-block; color: var(--coral) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.show-detail-body a:hover { color: var(--ink) !important; }
.show-detail-body img, .show-detail-body iframe { max-width: 100%; height: auto; }
.show-detail-next { padding: 90px 0 110px; background: #fff; }

/* About */
.about-hero { background: linear-gradient(90deg, rgba(7,26,45,.94), rgba(7,26,45,.62) 65%, rgba(7,26,45,.32)), var(--about-image) center / cover; color: #fff; }
.about-hero-inner { padding-top: clamp(105px, 12vw, 180px); padding-bottom: clamp(105px, 12vw, 180px); }
.public-site .about-hero h1, .public-site .streaming-hero h1 { color: #fff; font: 400 clamp(58px, 7.5vw, 108px)/1 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; margin: 22px 0; }
.about-hero h1 em, .streaming-hero h1 em { color: #f2b8aa; }
.about-hero-inner > p:not(.home-eyebrow) { max-width: 560px; color: #e1e9ec; font-size: 19px; line-height: 1.65; margin-bottom: 30px; }
.about-story { padding: clamp(80px, 10vw, 145px) 0; }
.about-story-grid { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: clamp(45px, 8vw, 130px); }
.about-story-heading { align-self: start; position: sticky; top: 110px; }
.about-story-heading > p:not(.home-kicker) { color: var(--muted); font-size: 17px; line-height: 1.75; margin: 24px 0; }
.about-story-text { border-left: 2px solid #e6e1da; padding-left: clamp(28px, 4vw, 55px); font-size: 17px; line-height: 1.85; color: #475766; }
.about-story-text p { margin: 0 0 25px; }
.about-story-text p:first-child { color: var(--ink); font-size: 21px; line-height: 1.65; }
.about-visit { padding: 75px 0; background: var(--midnight); color: #d5e1e7; }
.about-visit-inner { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.public-site .about-visit h2 { color: #fff; margin: 0; }
.about-visit h2 em { color: #f2b8aa; }
.about-visit-inner > div:last-child { max-width: 360px; }
.about-visit-inner > div:last-child p { font-size: 16px; line-height: 1.7; margin-bottom: 24px; }

/* Streaming */
.streaming-hero { background: linear-gradient(90deg, rgba(7,26,45,.97), rgba(7,26,45,.67)), var(--streaming-image) center / cover; color: #fff; overflow: hidden; }
.streaming-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); gap: 50px; align-items: center; padding-top: clamp(105px, 12vw, 160px); padding-bottom: clamp(105px, 12vw, 160px); }
.streaming-hero-grid > div:first-child > p:not(.home-eyebrow) { color: #dbe6eb; font-size: 19px; line-height: 1.65; max-width: 560px; margin-bottom: 30px; }
.streaming-hero-mark { justify-self: center; display: grid; place-items: center; width: min(33vw, 390px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.04), 0 0 0 70px rgba(255,255,255,.025); }
.streaming-hero-mark span { font-size: 55px; color: #fff; padding-left: 12px; }
.streaming-hero-mark small { position: absolute; margin-top: 155px; color: #cbd9df; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.streaming-how { padding: 100px 0 115px; background: var(--paper); }
.streaming-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.streaming-steps > div { background: #fff; padding: 38px; border-top: 3px solid var(--coral); box-shadow: 0 15px 35px rgba(7,26,45,.05); }
.streaming-steps span { color: var(--coral); font: 400 49px/1 'DM Serif Display', Georgia, serif; }
.public-site .streaming-steps h3 { font: 400 29px/1.2 'DM Serif Display', Georgia, serif; margin: 30px 0 12px; }
.streaming-steps p { color: var(--muted); font-size: 15px; line-height: 1.7; margin: 0; }
.streaming-note { background: #fff; padding: 90px 0; }
.streaming-note-inner { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.streaming-note h2 em { color: var(--coral); }
.streaming-note-inner p:last-child { color: var(--muted); font-size: 16px; line-height: 1.7; max-width: 550px; margin-top: 20px; }
.streaming-note .home-button { flex: 0 0 auto; }

/* Theatre technical sheet */
.theatre-tech-hero { color: #fff; background: linear-gradient(90deg, rgba(7,26,45,.96), rgba(7,26,45,.65) 68%, rgba(7,26,45,.38)), var(--tech-image) center / cover; }
.theatre-tech-hero-inner { padding-top: clamp(105px, 12vw, 170px); padding-bottom: clamp(105px, 12vw, 170px); }
.public-site .theatre-tech-hero h1, .public-site .innovation-hero h1, .public-site .contact-hero h1 { max-width: 840px; color: #fff; font: 400 clamp(57px, 7.3vw, 104px)/1.02 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; margin: 24px 0; }
.theatre-tech-hero h1 em, .innovation-hero h1 em, .contact-hero h1 em { color: #f2b8aa; }
.theatre-tech-hero-inner > p:not(.home-eyebrow), .innovation-hero-inner > p:not(.home-eyebrow), .contact-hero-inner > p:not(.home-eyebrow) { max-width: 610px; color: #dce6eb; font-size: 19px; line-height: 1.7; margin: 0 0 32px; }
.theatre-tech-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; }
.theatre-tech-capacity { display: inline-flex; align-items: baseline; gap: 9px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.35); color: #dae5ea; font-size: 13px; text-transform: uppercase; letter-spacing: .14em; }
.theatre-tech-capacity strong { color: #fff; font: 400 32px/1 'DM Serif Display', Georgia, serif; letter-spacing: 0; }
.theatre-tech-specs { background: var(--paper); padding: 100px 0 115px; }
.theatre-tech-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.theatre-tech-card { min-width: 0; background: #fff; border-top: 3px solid var(--coral); padding: clamp(28px, 4vw, 45px); box-shadow: 0 15px 35px rgba(7,26,45,.045); }
.theatre-tech-number { color: var(--coral); font: 400 43px/1 'DM Serif Display', Georgia, serif; }
.public-site .theatre-tech-card h3 { font: 400 clamp(28px, 2.8vw, 37px)/1.15 'DM Serif Display', Georgia, serif; margin: 23px 0 21px; }
.theatre-tech-card ul { list-style: none; padding: 0; margin: 0; }
.theatre-tech-card li { position: relative; border-top: 1px solid #e6e9e9; padding: 13px 0 13px 23px; color: #52616d; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.theatre-tech-card li:before { content: ''; position: absolute; left: 1px; top: 22px; width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
.theatre-tech-original { color: #52616d; }
.theatre-tech-cta { background: var(--midnight); color: #fff; padding: 75px 0; }
.theatre-tech-cta-inner, .innovation-next-inner { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.public-site .theatre-tech-cta h2, .public-site .innovation-next h2 { color: #fff; font: 400 clamp(45px, 5vw, 68px)/1.05 'DM Serif Display', Georgia, serif; margin: 0; }
.theatre-tech-cta h2 em, .innovation-next h2 em { color: #f2b8aa; }

/* Innovation */
.innovation-hero { color: #fff; background: linear-gradient(90deg, rgba(7,26,45,.96), rgba(7,26,45,.72) 70%, rgba(7,26,45,.52)), var(--innovation-image) center / cover; }
.innovation-hero-inner { padding-top: clamp(105px, 12vw, 170px); padding-bottom: clamp(105px, 12vw, 170px); }
.innovation-features { padding: 110px 0 120px; background: #fff; }
.innovation-features-grid { display: grid; grid-template-columns: minmax(220px, .66fr) minmax(0, 1.34fr); gap: clamp(45px, 8vw, 130px); }
.innovation-intro { align-self: start; position: sticky; top: 110px; }
.public-site .innovation-intro h2 { font: 400 clamp(46px, 5vw, 68px)/1.06 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.innovation-intro h2 em { color: var(--coral); }
.innovation-intro > p:not(.home-kicker) { color: var(--muted); font-size: 17px; line-height: 1.7; margin: 22px 0; }
.innovation-list { list-style: none; padding: 0; margin: 0; }
.innovation-list li { display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 18px; border-top: 1px solid #dbe1e1; padding: 30px 0; }
.innovation-list li:first-child { border-top: 3px solid var(--coral); }
.innovation-list span { color: var(--coral); font: 400 36px/1 'DM Serif Display', Georgia, serif; }
.innovation-list p { color: #4e5d69; font-size: 16px; line-height: 1.8; margin: 0; overflow-wrap: anywhere; }
.innovation-original { overflow-wrap: anywhere; }
.innovation-next { background: var(--midnight); padding: 75px 0; }

/* Contact */
.contact-hero { color: #fff; background: linear-gradient(90deg, rgba(7,26,45,.94), rgba(7,26,45,.62) 72%, rgba(7,26,45,.42)), url('/uploads/slider-8.jpg') center / cover; }
.contact-hero-inner { padding-top: clamp(105px, 12vw, 165px); padding-bottom: clamp(105px, 12vw, 165px); }
.contact-channels { background: var(--paper); padding: 100px 0 115px; }
.contact-cms-intro { max-width: 760px; color: var(--muted); font-size: 17px; line-height: 1.7; margin-bottom: 25px; }
.contact-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.contact-channel-card { min-width: 0; padding: 34px; background: #fff; border-top: 3px solid var(--coral); box-shadow: 0 15px 35px rgba(7,26,45,.045); }
.contact-channel-icon { display: grid; place-items: center; width: 47px; height: 47px; border: 1px solid #dfe5e5; border-radius: 50%; color: var(--coral); font-size: 22px; margin-bottom: 37px; }
.contact-channel-card .home-kicker { margin-bottom: 9px; }
.public-site .contact-channel-card h3 { font: 400 33px/1.15 'DM Serif Display', Georgia, serif; margin-bottom: 18px; }
.contact-channel-card address, .contact-channel-card > p:not(.home-kicker) { font-style: normal; color: #52616d; font-size: 15px; line-height: 1.7; margin: 0 0 20px; }
.contact-channel-card > a { display: inline-block; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: underline; text-decoration-color: var(--coral); text-underline-offset: 6px; overflow-wrap: anywhere; }
.contact-channel-card > a:hover { color: var(--coral); }
.contact-channel-card > a.contact-channel-main { display: block; margin-bottom: 15px; }
.contact-channel-card > a.contact-channel-main:last-child { margin-bottom: 0; }
.contact-write { background: #fff; padding: 110px 0 125px; }
.contact-write-grid { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(0, 1fr); gap: clamp(45px, 8vw, 125px); }
.contact-write-intro { align-self: start; position: sticky; top: 110px; }
.public-site .contact-write h2 { font: 400 clamp(46px, 5vw, 70px)/1.06 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.contact-write h2 em { color: var(--coral); }
.contact-write-intro > p:not(.home-kicker) { color: var(--muted); font-size: 17px; line-height: 1.7; margin-top: 25px; }
.contact-form-card { background: var(--paper); padding: clamp(28px, 4vw, 55px); }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-field { min-width: 0; margin-bottom: 23px; }
.contact-field label { display: block; color: var(--ink); font-size: 13px; font-weight: 700; margin-bottom: 9px; }
.contact-field label span { color: var(--coral); }
.contact-field label .contact-optional { color: #798794; font-weight: 400; }
.contact-field input, .contact-field textarea { display: block; width: 100%; border: 1px solid #ccd5d7; border-radius: 3px; background: #fff; color: var(--ink); padding: 15px 16px; font: inherit; font-size: 15px; }
.contact-field input { min-height: 53px; }
.contact-field textarea { resize: vertical; min-height: 170px; }
.contact-field input[aria-invalid=true], .contact-field textarea[aria-invalid=true] { border-color: #b52c2c; }
.contact-field small { display: block; color: #b52c2c; margin-top: 6px; }
.contact-form-card button { border: 0; cursor: pointer; min-width: 210px; }
.contact-form-message { padding: 14px 17px; margin-bottom: 23px; font-size: 14px; line-height: 1.5; }
.contact-form-success { background: #e3f5ef; color: #1c674a; }
.contact-form-error { background: #fff0ee; color: #9f2725; }
@media (max-width: 991px) {
    .archive-hero-grid { grid-template-columns: minmax(0, 1fr) 180px; gap: 24px; }
    .archive-hero-mark { padding: 30px 18px; }
    .archive-hero-mark strong { font-size: 26px; }
    .archive-intro { grid-template-columns: 1fr; gap: 22px; }
    .archive-intro > p { max-width: 660px; }
    .innovation-features-grid, .contact-write-grid { grid-template-columns: 1fr; }
    .innovation-intro, .contact-write-intro { position: static; }
    .contact-channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .show-detail-hero-grid, .show-detail-content-grid, .about-story-grid { grid-template-columns: 1fr; }
    .show-detail-art { max-width: 640px; transform: none; }
    .about-story-heading { position: static; }
    .streaming-hero-grid { grid-template-columns: 1fr; }
    .streaming-hero-mark { display: none; }
    .streaming-steps { grid-template-columns: 1fr; }
    .supporters-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
    .supporters-heading > p { max-width: 580px; }
    .supporters-funding { grid-template-columns: 1fr; }
    .public-site .top { display: none; }
    .public-site .mobile-nav,
    .public-site .mobile-nav.mean-container { background: #fff; min-height: 60px; position: relative; z-index: 1000; }
    .public-site .mobile-nav .logo img { max-height: 45px; width: auto; }
    .public-site .mobile-nav .mean-bar { display: none !important; }
    .public-mobile-menu { position: absolute; right: 15px; top: 12px; z-index: 1002; }
    .public-mobile-menu summary { display: grid; align-content: center; gap: 5px; width: 38px; height: 36px; cursor: pointer; list-style: none; }
    .public-mobile-menu summary::-webkit-details-marker { display: none; }
    .public-mobile-menu summary span { display: block; width: 27px; height: 2px; background: var(--ink); }
    .public-mobile-links { position: absolute; right: -15px; top: 48px; width: min(340px, 100vw); max-height: calc(100vh - 60px); overflow-y: auto; padding: 12px 22px 20px; background: #fff; box-shadow: 0 18px 32px rgba(7,26,45,.2); }
    .public-mobile-links a { display: block; padding: 13px 0; border-bottom: 1px solid #e3e5e4; color: var(--ink); font-weight: 700; font-size: 14px; }
    .public-mobile-links a:hover { color: var(--coral); }
    .home-hero, .home-hero-inner { min-height: 660px; }
    .home-season { padding: 75px 0; }
    .home-season-grid { grid-template-columns: 1fr; gap: 35px; }
    .home-season-copy > p:not(.home-kicker) { max-width: 580px; }
    .home-program-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-program-empty { grid-template-columns: 1fr; }
    .home-program-empty-photo { min-height: 280px; }
}
@media (max-width: 600px) {
    .archive-page-hero { padding: 85px 0 95px; }
    .archive-hero-grid, .archive-empty { grid-template-columns: 1fr; }
    .archive-hero-mark { display: none; }
    .archive-hero-cta { width: 100%; }
    .archive-page-body { padding: 70px 0 85px; }
    .archive-intro { padding-bottom: 42px; }
    .archive-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 46px; }
    .archive-section-heading-spaced { margin-top: 70px; }
    .archive-empty { gap: 0; padding: 30px; margin-top: 45px; }
    .archive-empty-symbol { font-size: 130px; text-align: left; }
    .theatre-tech-hero-inner, .innovation-hero-inner, .contact-hero-inner { padding-top: 90px; padding-bottom: 90px; }
    .public-site .theatre-tech-hero h1, .public-site .innovation-hero h1, .public-site .contact-hero h1 { font-size: clamp(48px, 11vw, 67px); }
    .theatre-tech-hero-actions { display: grid; }
    .theatre-tech-specs, .innovation-features, .contact-channels, .contact-write { padding: 70px 0; }
    .theatre-tech-grid, .contact-channel-grid, .contact-form-grid { grid-template-columns: 1fr; }
    .theatre-tech-card, .contact-channel-card { padding: 28px; }
    .innovation-list li { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }
    .innovation-list span { font-size: 30px; }
    .innovation-list p { font-size: 15px; }
    .theatre-tech-cta-inner, .innovation-next-inner { flex-direction: column; align-items: flex-start; }
    .show-detail-hero-grid { padding-top: 55px; gap: 45px; }
    .show-detail-back { margin-bottom: 42px; }
    .public-site .show-detail-intro h1 { font-size: clamp(47px, 12vw, 64px); }
    .show-detail-actions { display: grid; }
    .show-detail-art:before { display: none; }
    .show-detail-content, .show-detail-next, .about-story, .streaming-how, .streaming-note { padding: 70px 0; }
    .about-hero-inner, .streaming-hero-grid { padding-top: 90px; padding-bottom: 90px; }
    .public-site .about-hero h1, .public-site .streaming-hero h1 { font-size: clamp(49px, 11vw, 70px); }
    .about-story-text { padding-left: 22px; }
    .about-visit-inner, .streaming-note-inner { flex-direction: column; align-items: flex-start; }
    .streaming-steps > div { padding: 28px; }
    .supporters-grid { grid-template-columns: 1fr; }
    .supporter-logo { height: 145px; }
    .supporters-funding { margin-top: 45px; padding: 30px 22px; }
    .supporters-funding-logos > div { min-height: 95px; padding: 12px; }
    .supporters-funding-logos img { max-height: 65px; }
    .program-page-hero { padding: 90px 0; }
    .public-site .program-page-hero h1 { font-size: clamp(52px, 13vw, 70px); }
    .home-hero, .home-hero-inner { min-height: 660px; }
    .home-hero-image { background: linear-gradient(90deg, rgba(4,16,30,.88), rgba(4,16,30,.45)), url('/uploads/slider-8.jpg') center / cover; }
    .home-hero-inner { padding-top: 65px; padding-bottom: 85px; }
    .public-site .home-hero h1 { font-size: clamp(51px, 12vw, 70px); }
    .home-hero h1 em { display: block; }
    .home-hero-copy { width: 100%; }
    .home-hero-lead { font-size: 16px; }
    .home-hero-side { display: none; }
    .home-hero-bottom { font-size: 10px; }
    .home-hero-bottom .container span:first-child { display: none; }
    .home-hero-bottom .container { justify-content: flex-end; }
    .home-actions { display: grid; }
    .home-button { width: 100%; }
    .home-season, .home-program { padding: 70px 0; }
    .home-section-head { align-items: flex-start; flex-direction: column; }
    .home-program-grid { grid-template-columns: 1fr; gap: 20px; }
    .home-show-copy p { min-height: 0; }
    .home-season-poster > span { position: static; display: block; box-shadow: none; }
    .public-site .page-banner .text { padding: 75px 15px; }
    .public-site .page-content { padding-top: 45px; padding-bottom: 60px; }
    .public-site .footer-pages ul { float: none; padding-top: 18px; }
    .public-site .footer-pages ul li a { margin: 0 18px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    .home-hero-image,
    .home-show-card,
    .home-show-photo img,
    .home-season-poster img { transition: none !important; transform: none !important; }
}
