.hero-banner--carousel { --hero-ambient-rgb: 40, 96, 74; overflow: visible; isolation: isolate; }
.hero-banner--carousel::after { display: block; content: ''; position: absolute; z-index: -1; pointer-events: none; inset: 65% -4vw -100px; background: radial-gradient(ellipse at 50% 0%, rgba(var(--hero-ambient-rgb), .34), rgba(var(--hero-ambient-rgb), .13) 46%, transparent 74%); filter: blur(20px); transition: background 600ms ease; }
.hero-banner--carousel .hero-banner__slides { display: grid; transform: none !important; overflow: hidden; border-radius: inherit; }
.hero-banner--carousel .hero-banner__slide { grid-area: 1 / 1; width: 100%; min-width: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 550ms ease, visibility 550ms; }
.hero-banner--carousel .hero-banner__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.hero-banner--carousel .hero-banner__slide:not(.is-active) .hero-banner__card,
.hero-banner--carousel .hero-banner__slide:not(.is-active) .hero-banner__cta { opacity: 0; }
.hero-banner__pause { position: absolute; z-index: 5; top: 12px; right: 12px; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff80; border-radius: 999px; color: #fff; background: #10392de8; font: inherit; font-size: .8rem; cursor: pointer; }
.hero-banner__pause:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.calendar-action { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; color: var(--brand, #14523a); text-decoration: underline; text-underline-offset: 3px; }
.calendar-note { font-size: .85rem; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .hero-banner--carousel .hero-banner__slide, .hero-banner--carousel::after { transition: none; } }
.discovery-featured.hero-banner--carousel { overflow: visible; }
.discovery-featured-slides { display: grid; width: 100%; align-self: stretch; }
.discovery-featured-slide { position: relative; isolation: isolate; grid-area: 1/1; display: flex; align-items: flex-end; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 550ms ease, visibility 550ms; }
.discovery-featured-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.discovery-featured-slide .discovery-featured-art { z-index: -2; animation: none; }
.discovery-featured-slide .discovery-featured-ambient { display: none; }
.discovery-featured-slide::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,#08150eef, #08150e90 48%, #08150e18); }
.discovery-featured-slide:not(.is-active) .discovery-featured-copy { opacity: 0; }
.discovery-featured.hero-banner--carousel::after { z-index: -4; }
@media(prefers-reduced-motion:reduce) { .discovery-featured-slide { transition: none; } }
.discovery-going-popup{text-align:center}.discovery-going-popup h2{margin:.5rem 0 1rem;text-align:center}.discovery-going-logo{display:block;margin:0 auto;border-radius:10px}.discovery-going-details p{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem}.discovery-going-popup .calendar-action{border:0;background:none;padding:.35rem;color:inherit;font:inherit}.discovery-going-popup .discovery-going-actions{justify-content:center}
/* Artwork-derived colour continues beyond the hero rather than hiding behind its surface. */
.discovery-featured.hero-banner--carousel::after{inset:75% 0 -130px;z-index:0;background:radial-gradient(ellipse at 50% 0%,rgba(var(--hero-ambient-rgb),.48),rgba(var(--hero-ambient-rgb),.22) 52%,transparent 78%);filter:blur(18px)}
.discovery-featured-slides{position:relative;z-index:1}.discovery-featured.hero-banner--carousel{margin-bottom:0}
html[data-theme="dark"] .discovery-featured.hero-banner--carousel::after{background:radial-gradient(ellipse at 50% 0%,rgba(var(--hero-ambient-rgb),.6),rgba(var(--hero-ambient-rgb),.25) 52%,transparent 78%)}
/* Spatial continuation: the same artwork keeps its left/right coordinates; only
   the short transition below the image is tinted. No averaged colour sampling. */
.discovery-featured.hero-banner--carousel::after{display:none}
.discovery-featured-slides{overflow:visible}
.discovery-featured-slide .discovery-featured-ambient{display:block;inset:auto 0 -148px;width:100%;height:240px;object-fit:cover;object-position:center bottom;z-index:-3;filter:blur(26px) saturate(1.12);transform:none;opacity:.72;animation:none;pointer-events:none;mask-image:linear-gradient(#000 0%,#000 24%,#0008 53%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 24%,#0008 53%,transparent 100%)}
.discovery-featured-slide .discovery-featured-art{object-position:center}
.discovery-featured-slide::after{background:linear-gradient(0deg,#08150ec9,#08150e70 45%,#08150e08)}
.discovery-featured.hero-banner--carousel{margin-bottom:24px}
html[data-theme="dark"] .discovery-featured-slide .discovery-featured-ambient{opacity:.8}
@media(max-width:640px){.discovery-featured-slide .discovery-featured-art{object-position:62% center}.discovery-featured-slide .discovery-featured-ambient{object-position:62% bottom;bottom:-132px;height:210px;filter:blur(22px) saturate(1.12)}}
@media(prefers-reduced-transparency:reduce){.discovery-featured-slide .discovery-featured-ambient{display:none}}
/* Override the older contained poster layout at every breakpoint. */
body.discovery-page .discovery-featured.hero-banner--carousel{overflow:visible;padding:0;min-height:68svh;background:#151a16}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-slide{overflow:visible}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-art{inset:0;width:100%;height:100%;object-fit:cover}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-ambient{opacity:.72;filter:blur(26px) saturate(1.12)}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-copy{background:transparent;min-width:0}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-copy::before{display:none}
html[data-theme="dark"] body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-ambient{opacity:.8}
@media(min-width:769px){body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-copy{padding:100px 4% 65px;width:min(760px,65%)}}
@media(max-width:640px){body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-art{object-position:62% center}body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-ambient{filter:blur(22px) saturate(1.12)}}
@media(prefers-reduced-transparency:reduce){body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-ambient{display:none}}
/* Keep the exact hero crop horizontally: a full-size duplicate is masked down
   to only its lower continuation, rather than refitting artwork into a strip. */
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-ambient{height:100%;object-position:center;bottom:-148px;mask-image:linear-gradient(transparent calc(100% - 260px),#000 calc(100% - 148px),#0008 calc(100% - 80px),transparent 100%);-webkit-mask-image:linear-gradient(transparent calc(100% - 260px),#000 calc(100% - 148px),#0008 calc(100% - 80px),transparent 100%)}
@media(max-width:640px){body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-ambient{height:100%;object-position:62% center;bottom:-132px;mask-image:linear-gradient(transparent calc(100% - 235px),#000 calc(100% - 132px),#0008 calc(100% - 70px),transparent 100%);-webkit-mask-image:linear-gradient(transparent calc(100% - 235px),#000 calc(100% - 132px),#0008 calc(100% - 70px),transparent 100%)}}

/* Feather the artwork and shading themselves into the spatial continuation. */
body.discovery-page .discovery-featured.hero-banner--carousel{background:transparent}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-art,.discovery-featured-slide::after{mask-image:linear-gradient(#000 0%,#000 calc(100% - 76px),transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 calc(100% - 76px),transparent 100%)}
html[data-reduced-motion=reduce] .discovery-featured-slide{transition:none}
/* Preserve the top attachment and let ambience show around the lower corners. */
body.discovery-page .discovery-featured.hero-banner--carousel{margin-bottom:0;}
body.discovery-page .discovery-featured.hero-banner--carousel .discovery-featured-art,.discovery-featured-slide::after{border-radius:0 0 24px 24px;mask-image:none;-webkit-mask-image:none;}
/* The mobile dialog rule reserves right space for headings; centred confirmations
   reserve the close control in a separate top row instead. */
body .discovery-going-popup h2{padding-right:0;padding-left:0;text-align:center}
