/* ==========================================================================
   Themed hero carousel
   Everything is driven by the theme variables (--bg, --card, --text, --accent ...)
   so Dark, Light and Emerald & Gold each get their own look. Per-theme touches:
     dark    : glass controls, fade + gentle zoom
     light   : white pill controls with soft shadow, fade + slide up
     emerald : dashed "ticket" frames, gold/green controls, fade + slide sideways
   ========================================================================== */
/* The slide offset (-1 = one slide to the left, 0 = in view, 1 = one slide to the right) is a
   registered custom property so it can be transitioned; the slide, its fade and the content
   parallax are all derived from it. Dragging simply sets --o from the pointer position. */
@property --o { syntax: '<number>'; inherits: true; initial-value: 0; }

.hero-carousel { --ease: cubic-bezier(.65, .05, .35, 1); position: relative; background: var(--bg); overflow: hidden; }
[data-theme="light"] .hero-carousel { --ease: cubic-bezier(.45, .05, .55, .95); }          /* softer in/out */
[data-theme="emerald"] .hero-carousel { --ease: cubic-bezier(.76, 0, .2, 1.03); }          /* tiny settle, ticket-like */

.hc-track { display: grid; overflow: hidden; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.hc-track.dragging { cursor: grabbing; }
.hc-track img, .hc-track a { -webkit-user-drag: none; user-drag: none; }
.hc-slide { grid-area: 1 / 1; --o: 0; visibility: hidden; will-change: transform;
    transform: translate3d(calc(var(--o) * 100%), 0, 0);
    opacity: calc(1 - .5 * min(1, max(var(--o), calc(var(--o) * -1))));
    transition: --o var(--dur, .95s) var(--ease); }
.hc-slide.vis { visibility: visible; }
.hc-slide.on { z-index: 1; }
.hc-track.dragging .hc-slide { transition: none; }
.hc-slide > .hero { height: 100%; }

/* Parallax: slide content drifts against the slide's travel, backgrounds travel with it. */
.hc-slide > .hero > .container, .hc-slide > .hero > .hs-bg ~ .container { transform: translate3d(calc(var(--o) * -22%), 0, 0); }
.hc-slide .hs-bg { transform: translate3d(calc(var(--o) * 8%), 0, 0) scale(1.08); }

/* Staggered reveal when a slide arrives by autoplay / dots / keys (not when dragged in) */
@keyframes hc-rise { from { opacity: 0; transform: translate3d(0, 22px, 0); } to { opacity: 1; transform: none; } }
.hc-slide.on.rv .container > :not(.hs-head), .hc-slide.on.rv .hs-head > * { animation: hc-rise .8s cubic-bezier(.22, .8, .25, 1) both; }
.hc-slide.on.rv .container > :nth-child(1) { animation-delay: .20s; }
.hc-slide.on.rv .container > :nth-child(2) { animation-delay: .32s; }
.hc-slide.on.rv .container > :nth-child(3) { animation-delay: .44s; }
.hc-slide.on.rv .container > :nth-child(4) { animation-delay: .56s; }
.hc-slide.on.rv .container > :nth-child(n+5) { animation-delay: .68s; }
.hc-slide.on.rv .hs-head > :nth-child(1) { animation-delay: .20s; }
.hc-slide.on.rv .hs-head > :nth-child(2) { animation-delay: .30s; }
.hc-slide.on.rv .hs-head > :nth-child(3) { animation-delay: .40s; }
/* Slow Ken Burns on promo images */
@keyframes hc-kenburns { from { scale: 1; } to { scale: 1.07; } }
.hc-slide.on .hs-bg { animation: hc-kenburns 14s ease-out forwards; }

/* ---------- Slides ---------- */
.hs { min-height: 100vh; padding: 140px 0 110px; justify-content: center; text-align: center; position: relative; overflow: hidden; }
.hs > .container { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }
.hs .hero-cta { justify-content: center; margin-top: 2.2rem; }
.hs-head { margin-bottom: 2.4rem; }
.hs-title { font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.08; letter-spacing: -.03em; margin: .7rem 0 .8rem; font-weight: 800; }
.hs-sub { color: var(--muted); max-width: 580px; margin: 0 auto; font-size: 1.05rem; }
.hs .cand-photo, .hs .cand-body { display: block; }
.hs .empty { min-width: min(520px, 100%); }

/* Leaders podium */
.podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; align-items: end; width: min(900px, 100%); text-align: left; }
.pod { display: flex; flex-direction: column; }
.pod-1 { transform: translateY(-22px); border-color: color-mix(in srgb, var(--accent) 70%, transparent); box-shadow: 0 24px 60px -24px var(--accent); }
.pod-1:hover { transform: translateY(-28px); }
.pod .cand-photo { aspect-ratio: 4 / 4.4; }
.pod .cand-body { display: flex; flex-direction: column; gap: .5rem; }
.pod-award { display: block; margin-top: -.3rem; color: var(--muted); font-size: .76rem; font-weight: 600; }
.pod .votes { display: flex; }
.pod .bar { display: block; }
.pod .bar i { transition: none; }

/* Awards */
.hs-awards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.1rem; width: min(1100px, 100%); text-align: left; }

/* How to vote */
.hs-steps { width: min(1000px, 100%); text-align: left; }

/* Live leaderboard (top 10, updates in real time) */
.live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #ff4d6d; margin-right: .5rem; vertical-align: middle; animation: pulse 1.6s infinite; }
.lb-updated { color: var(--accent); font-weight: 700; }
.lboard { display: grid; grid-auto-flow: column; grid-template-rows: repeat(5, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1.2rem; width: min(1060px, 100%); text-align: left; }
.lrow { position: relative; display: flex; align-items: center; gap: .9rem; min-width: 0; padding: .7rem 1rem; border-radius: 16px; background: var(--card); border: 1px solid var(--line);
    transition: border-color .25s, box-shadow .3s; }
.lrow:hover { border-color: var(--accent); }
.lrow.first { border-color: color-mix(in srgb, var(--accent) 75%, transparent); box-shadow: 0 14px 40px -22px var(--accent); }
.lr-rank { flex: none; width: 34px; font: 800 1.5rem/1 var(--font); font-variant-numeric: tabular-nums; color: var(--muted); text-align: center; }
.lrow.first .lr-rank { color: var(--accent); }
.lr-rank::after { display: block; font-size: .8rem; line-height: 1.2; }
.lr-rank[data-rank="1"]::after { content: "\1F451"; }
.lr-rank[data-rank="2"]::after { content: "\1F948"; }
.lr-rank[data-rank="3"]::after { content: "\1F949"; }
.lr-rank[data-rank="4"]::after { content: "\1F3C5"; }
.lr-rank[data-rank="5"]::after { content: "\1F31F"; }
.lr-rank[data-rank="6"]::after { content: "\1F525"; }
.lr-rank[data-rank="7"]::after { content: "\1F48E"; }
.lr-rank[data-rank="8"]::after { content: "\1F680"; }
.lr-rank[data-rank="9"]::after { content: "\1F396"; }
.lr-rank[data-rank="10"]::after { content: "\2728"; }
.lr-av { position: relative; flex: none; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; display: grid; place-items: center;
    background: color-mix(in srgb, var(--accent) 22%, var(--card-2)); color: var(--accent); font-weight: 800; }
.lr-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lr-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.lr-name { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lr-award { font-size: .72rem; color: var(--muted); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lr-bar { display: block; height: 5px; border-radius: 99px; background: var(--tint); overflow: hidden; margin-top: .25rem; }
.lr-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width .9s cubic-bezier(.2, .8, .2, 1); }
.lr-votes { flex: none; text-align: right; line-height: 1.1; }
.lr-votes b { display: block; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.lr-votes small { color: var(--muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.lrow.bump { animation: lbump 1.2s ease; }
@keyframes lbump { 0% { background: color-mix(in srgb, var(--accent) 38%, var(--card)); } 100% { background: var(--card); } }
.lb-empty { grid-column: 1 / -1; }

/* Contestants by category */
.cat-slide-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; width: min(1100px, 100%); max-height: 56vh; overflow-y: auto; padding: .3rem; text-align: left; scrollbar-width: thin; }
.cat-card { padding: 1.1rem 1.2rem; border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); }
.cat-card-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; margin-bottom: .6rem; padding-bottom: .6rem; border-bottom: 1px solid var(--line); }
.cat-card h3 { margin: 0; font-size: 1.02rem; }
.cat-n { flex: none; min-width: 28px; height: 28px; padding: 0 .4rem; display: grid; place-items: center; border-radius: 99px; background: color-mix(in srgb, var(--accent) 20%, transparent); color: var(--accent); font-weight: 800; font-size: .8rem; }
.cat-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.cat-card li a { display: block; padding: .3rem .5rem; border-radius: 8px; font-size: .92rem; font-weight: 600; transition: background .2s, color .2s; }
.cat-card li a:hover { background: var(--tint); color: var(--accent); }
.cat-more { display: inline-block; margin-top: .5rem; font-size: .8rem; font-weight: 700; color: var(--accent); }
.cat-none { margin: 0; color: var(--muted); font-size: .88rem; }
[data-theme="emerald"] .lrow, [data-theme="emerald"] .cat-card { border: 2px dashed var(--line); }
[data-theme="emerald"] .lrow.first { border-style: solid; border-color: var(--gold, var(--accent)); box-shadow: none; }
[data-theme="emerald"] .lr-av, [data-theme="emerald"] .cat-n { background: var(--gold, var(--accent)); color: var(--ink); }

/* Template "Nominee board": framed panel, gold category labels, arrow bullets, columns */
.cb-panel { width: min(1100px, 100%); max-height: 70vh; overflow-y: auto; padding: 1.6rem 2rem 1.2rem; border-radius: 26px; text-align: left; scrollbar-width: thin;
    background: color-mix(in srgb, var(--bg-2) 84%, transparent); border: 1px solid var(--line); box-shadow: var(--shadow); backdrop-filter: blur(6px); }
.cb-title { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.6rem; }
.cb-title i { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--accent)); }
.cb-title i:last-child { background: linear-gradient(270deg, transparent, var(--accent)); }
.cb-title h2 { margin: 0; font-size: clamp(.85rem, 1.8vw, 1.15rem); letter-spacing: .18em; text-transform: uppercase; color: var(--accent); font-weight: 700; text-align: center; }
.cb-cols { column-count: 3; column-gap: 2.2rem; }
.cb-block { break-inside: avoid; margin-bottom: 1.5rem; }
.cb-label { display: inline-block; max-width: 100%; margin-bottom: .8rem; padding: .5rem 1rem; font-weight: 800; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink, #111);
    background: linear-gradient(100deg, var(--accent), var(--accent-2) 55%, var(--accent)); box-shadow: 0 6px 18px -8px var(--accent); }
.cb-block ul { list-style: none; margin: 0; padding: 0 0 0 .4rem; display: grid; gap: .35rem; }
.cb-block li a { position: relative; display: block; padding-left: 1.4rem; font-size: .9rem; font-weight: 600; text-transform: uppercase; transition: color .2s; }
.cb-block li a::before { content: ""; position: absolute; left: 0; top: .32em; border-left: .65em solid var(--accent); border-top: .38em solid transparent; border-bottom: .38em solid transparent; }
.cb-block li a:hover { color: var(--accent); }
.cb-block em { margin-left: .2rem; color: var(--muted); font-style: italic; font-weight: 500; font-size: .85em; text-transform: none; }
.cb-more { display: inline-block; margin: .5rem 0 0 1.8rem; font-size: .78rem; font-weight: 700; color: var(--accent); }
.cb-none { margin: 0 0 0 .4rem; color: var(--muted); font-size: .85rem; }
[data-theme="emerald"] .cb-panel { border: 2px dashed var(--line); }
.hs.hero-stage .cb-panel, .hs.hero-centered .cb-panel { background: rgba(0, 0, 0, .5); }

/* Template "Numbered categories": rule heading, boxed numbers, gold bars */
.cn-head { text-align: center; margin-bottom: 1.8rem; }
.cn-head .hs-title { margin: 0 0 .8rem; text-transform: uppercase; letter-spacing: .01em; }
.cn-rule { display: block; width: min(520px, 70%); height: 1px; margin: 0 auto .9rem; background: linear-gradient(90deg, transparent, var(--accent), transparent); }
.cn-sub { margin: 0; color: var(--muted); letter-spacing: .1em; text-transform: uppercase; font-size: .82rem; }
.cn-list { list-style: none; margin: 0; padding: 0; width: min(780px, 100%); display: grid; gap: .8rem; }
.cn-list a { display: flex; align-items: stretch; gap: 1rem; transition: transform .2s; }
.cn-list a:hover { transform: translateX(6px); }
.cn-no { flex: none; width: 76px; display: grid; place-items: center; border: 1.5px solid var(--accent); border-radius: 2px; font: 800 1.5rem var(--font); color: var(--accent);
    outline: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 3px; }
.cn-bar { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1.4rem; text-align: left; color: var(--ink, #111); box-shadow: 0 8px 24px -12px var(--accent);
    background: linear-gradient(105deg, color-mix(in srgb, var(--accent) 25%, #fff) 0%, var(--accent-2) 9%, var(--accent) 46%, var(--accent-2) 54%, var(--accent) 100%); }
.cn-bar b { font-size: clamp(.95rem, 1.8vw, 1.2rem); font-weight: 800; }
.cn-bar small { flex: none; font-weight: 700; opacity: .7; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }
.cn-more { margin-top: 1rem; font-weight: 700; font-size: .9rem; color: var(--accent); }
[data-theme="emerald"] .cn-bar { background: linear-gradient(100deg, var(--accent), var(--accent-2) 55%, var(--accent)); }

/* Promo slides (admin image + headline + button) */
.hs-promo { background: #000; }
.hs-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hs-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 5, 10, .86) 0%, rgba(5, 5, 10, .35) 55%, rgba(5, 5, 10, .1) 100%); }
[data-theme="light"] .hs-shade { background: linear-gradient(90deg, rgba(246, 246, 249, .94) 0%, rgba(246, 246, 249, .55) 55%, rgba(246, 246, 249, .08) 100%); }
[data-theme="emerald"] .hs-shade { background: linear-gradient(90deg, rgba(10, 38, 25, .92) 0%, rgba(10, 38, 25, .45) 55%, rgba(10, 38, 25, .1) 100%); }
.hs-promo > .container { align-items: flex-start; }
.promo-copy { max-width: 640px; text-align: left; }
.promo-copy .hs-sub { margin: 0; }
.promo-copy .hero-cta { justify-content: flex-start; }
[data-theme="emerald"] .hs-promo .promo-copy { padding: 2rem 2.2rem; border: 2px dashed var(--line); background: rgba(7, 28, 18, .55); border-radius: var(--radius); }

/* ---------- Controls ---------- */
.hc-ui { position: absolute; inset: 0; z-index: 6; pointer-events: none; }
.hc-ui > * { pointer-events: auto; }

.hc-bar { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .9rem;
    padding: .45rem .9rem; border-radius: 999px; background: var(--nav-bg-solid); border: 1px solid var(--line); backdrop-filter: blur(8px); }
.hc-dots { display: flex; gap: .5rem; }
.hc-dot { width: 10px; height: 10px; border-radius: 99px; border: 0; padding: 0; cursor: pointer; background: var(--line); outline: 1px solid var(--muted); outline-offset: -1px; transition: width .3s, background .3s; }
.hc-dot.on { width: 28px; background: var(--accent); outline-color: var(--accent); }
.hc-pause { width: 26px; height: 26px; border-radius: 50%; border: 0; cursor: pointer; background: var(--tint); color: var(--text); font-size: .65rem; }
.hc-pause:hover { background: var(--accent); color: var(--ink, #111); }

.hc-progress { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--accent); transform-origin: left; transform: scaleX(0); }
.hc-progress.run { animation: hcprog var(--hc-ms, 7s) linear forwards; }
.hero-carousel.paused .hc-progress { animation-play-state: paused; }
@keyframes hcprog { to { transform: scaleX(1); } }
.hero-carousel :focus-visible { outline-color: var(--accent); }

/* Light: white pills, soft shadow */
[data-theme="light"] .hc-bar { background: #fff; box-shadow: var(--shadow); border-color: transparent; }
[data-theme="light"] .hc-dot { background: #d9d9e3; outline-color: transparent; }
[data-theme="light"] .hc-dot.on { background: var(--accent); }
[data-theme="light"] .pod-1 { box-shadow: 0 24px 50px -24px color-mix(in srgb, var(--accent) 80%, #000); }

/* Emerald & Gold: dashed ticket frames, gold + green controls */
[data-theme="emerald"] .hc-bar { border: 2px dashed var(--line); background: var(--bg-2); border-radius: 14px; }
[data-theme="emerald"] .hc-dot { border-radius: 3px; }
[data-theme="emerald"] .hc-progress { height: 5px; background: repeating-linear-gradient(90deg, var(--gold, var(--accent)) 0 12px, transparent 12px 18px); }
[data-theme="emerald"] .pod-1 { box-shadow: none; border-style: solid; border-color: var(--gold, var(--accent)); }

/* ==========================================================================
   Poster skins — when the hero layout is Heritage Curtain / Spotlight Gala /
   Red Curtain Star / Reality Show / Couture, every slide wears that layout:
   same stage background and decorations (from the layout's own CSS) plus its
   headline typography, set here.
   ========================================================================== */
.hero-carousel[data-poster] .hc-bar { background: rgba(0, 0, 0, .55); color: #fff; border: 1px solid rgba(255, 255, 255, .28); box-shadow: none; }
.hero-carousel[data-poster] .hc-dot { background: rgba(255, 255, 255, .35); outline-color: transparent; border-radius: 99px; }
.hero-carousel[data-poster] .hc-dot.on { background: var(--accent); }
.hero-carousel[data-poster] .hc-pause { background: rgba(255, 255, 255, .15); color: #fff; }
.hero-carousel[data-poster] .hc-progress { background: var(--accent); height: 3px; }
.hs.hero-stage .hs-sub, .hs.hero-centered .hs-sub { color: var(--muted); }

/* Heritage Curtain */
.hs.hero-curtain .hs-title { font: 700 clamp(2.4rem, 6vw, 4.6rem)/1 var(--cond); text-transform: uppercase; color: #f5e4b8;
    text-shadow: 0 2px 0 #b98c3c, 0 4px 0 #8a5d1e, 0 12px 20px rgba(0, 0, 0, .5); }
.hs.hero-curtain .eyebrow { background: #55100a; border: 1px solid var(--g-mid); color: #f8e8c2; padding: .45rem 1.5rem; letter-spacing: .14em; border-radius: 0; }
/* Spotlight Gala */
.hs.hero-spot .hs-title { font: 400 clamp(3rem, 9vw, 6.4rem)/.9 var(--bebas); text-transform: uppercase;
    background: linear-gradient(180deg, #fff2b8 0%, var(--g-mid) 46%, var(--g-lo) 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 3px 0 #6b4a0e) drop-shadow(0 7px 0 #3b2806) drop-shadow(0 14px 18px rgba(0, 0, 0, .6)); }
.hs.hero-spot .eyebrow { background: none; color: var(--g-hi); letter-spacing: .3em; padding: 0; }
/* Red Curtain Star */
.hs.hero-star .hs-title { font: 700 clamp(2.4rem, 6vw, 4.6rem)/.95 var(--cond); text-transform: uppercase;
    background: linear-gradient(180deg, #ffffff, #b9bcc6 58%, #eceef2); -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .45)); }
.hs.hero-star .eyebrow { background: none; color: var(--g-hi); letter-spacing: .3em; padding: 0; }
/* Reality Show */
.hs.hero-reality .hs-title { font: 400 clamp(3.2rem, 10vw, 7rem)/.88 var(--bebas); text-transform: uppercase;
    background: linear-gradient(90deg, var(--accent), #ff3d81); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hs.hero-reality .eyebrow { background: rgba(255, 61, 129, .08); border: 1px solid currentColor; border-radius: 999px; padding: .35rem 1.1rem; color: #ff6b8a; letter-spacing: .22em; }
/* Couture */
.hs.hero-centered .hs-title { font: 700 clamp(2.6rem, 7vw, 5rem)/1 var(--display); background: var(--metal); -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 6px 20px color-mix(in srgb, var(--accent) 30%, transparent)); }
.hs.hero-centered .eyebrow { background: none; color: var(--g-hi); letter-spacing: .3em; padding: 0; }
/* Cards sit on the dark poster stages */
.hs.hero-stage .cand, .hs.hero-stage .award, .hs.hero-stage .step, .hs.hero-centered .cand, .hs.hero-centered .award, .hs.hero-centered .step { background: rgba(0, 0, 0, .38); backdrop-filter: blur(4px); }
.hs.hero-stage .award h3, .hs.hero-stage .step h3, .hs.hero-stage .cand-body h4 { color: #fff; }
.hs.hero-stage .lrow, .hs.hero-stage .cat-card, .hs.hero-centered .lrow, .hs.hero-centered .cat-card { background: rgba(0, 0, 0, .42); backdrop-filter: blur(4px); }
.hs.hero-stage .lr-name, .hs.hero-stage .cat-card h3, .hs.hero-stage .lr-votes b { color: #fff; }

@media (max-width: 1000px) { .cb-cols { column-count: 2; } }
@media (max-width: 640px) {
    .cb-cols { column-count: 1; } .cb-panel { padding: 1.2rem 1.1rem .6rem; }
    .cn-no { width: 54px; font-size: 1.2rem; } .cn-bar { padding: .8rem 1rem; } .cn-bar small { display: none; }
}
@media (max-width: 860px) {
    .lboard { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: 1fr; }
    .podium { grid-template-columns: 1fr; width: min(380px, 100%); gap: .9rem; }
    .pod-1 { order: -1; transform: none; } .pod-1:hover { transform: translateY(-4px); }
    .pod { flex-direction: row; } .pod .cand-photo { width: 38%; aspect-ratio: 1; flex: none; } .pod .cand-body { flex: 1; justify-content: center; }
    .hs { padding: 130px 0 120px; }
}
@media (max-width: 720px) {
    .hc-bar { bottom: 14px; }
    .hs-promo > .container { align-items: center; } .promo-copy { text-align: center; } .promo-copy .hero-cta { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .hc-slide { transition-duration: .01s; } .hc-slide.on.rv .container > :not(.hs-head), .hc-slide.on.rv .hs-head > *, .hc-slide.on .hs-bg { animation: none; }
    .hc-progress { display: none; }
}
/* Reality Show has its own ticker strip along the bottom: lift the controls above it */
.hero-carousel[data-poster="housemates"] .hc-bar { bottom: 96px; }
