.gallery-spotlight{position:relative;width:100%;padding:10px 50px 32px;--spotlight-surface:#fff;--spotlight-ink:#202139;--spotlight-muted:#85849b;--spotlight-border:#e9e5ef}
.spotlight-stage{position:relative;min-height:390px;isolation:isolate;overflow:hidden;padding:16px 0 24px;touch-action:pan-y}
.spotlight-card{background:var(--spotlight-surface);border:1px solid var(--spotlight-border);border-radius:22px;padding:9px;box-shadow:0 12px 25px #2920490c;max-width:460px;margin:0 auto 16px}
.spotlight-card a{display:block;text-decoration:none;color:var(--spotlight-ink)}
.spotlight-photo{position:relative;border-radius:15px;padding:2px;background:linear-gradient(110deg,#a16cff,#e80074,#00bcca);overflow:hidden}.spotlight-photo picture{display:block}.spotlight-image{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border-radius:13px}
.spotlight-photo>span{position:absolute;top:13px;left:13px;background:#29203775;border:1px solid #ffffff70;border-radius:20px;padding:5px 10px;color:#fff;font-size:10px;font-weight:700;backdrop-filter:blur(8px)}
.spotlight-copy{padding:13px 9px 9px}.aha-home #home-gallery .spotlight-copy h3{font-size:18px;font-weight:700;line-height:1.6;margin:0;color:var(--spotlight-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spotlight-copy p{font-size:12px;line-height:1.8;margin:7px 0 0;color:var(--spotlight-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gallery-spotlight.is-ready .spotlight-card{position:absolute;top:16px;left:50%;width:45%;max-width:460px;margin:0;transform:translateX(-50%);transition:transform .45s ease,opacity .35s ease;z-index:3}
.gallery-spotlight.is-ready .spotlight-card.is-prev{transform:translateX(-125%) scale(.91) rotate(-2deg);z-index:1}.gallery-spotlight.is-ready .spotlight-card.is-next{transform:translateX(25%) scale(.91) rotate(2deg);z-index:1}.gallery-spotlight.is-ready .spotlight-card.is-away{opacity:0;pointer-events:none;visibility:hidden;transform:translateX(-50%) scale(.8)}
.spotlight-arrow{position:absolute;top:43%;left:0;z-index:5;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--spotlight-border);border-radius:50%;background:var(--spotlight-surface);color:var(--spotlight-ink);font-size:29px;box-shadow:0 5px 14px #2920490a;cursor:pointer;padding:0}.spotlight-next{left:auto;right:0}.spotlight-arrow:hover{background:#d60065;color:#fff}.spotlight-dots{display:flex;justify-content:center;gap:8px;margin-top:10px}.spotlight-dots button{width:8px;height:8px;padding:0;border:0;border-radius:20px;background:#e4e2eb;cursor:pointer;transition:width .25s}.spotlight-dots button[aria-pressed=true]{width:36px;background:linear-gradient(90deg,#d60065 25%,#f2b7d3 25%)}.gallery-spotlight button:focus-visible,.spotlight-card a:focus-visible{outline:3px solid #d60065;outline-offset:4px}
html[data-theme=dark] .gallery-spotlight{--spotlight-surface:#241c2b;--spotlight-ink:#f6edf9;--spotlight-muted:#baacc4;--spotlight-border:#46344f}
@media(min-width:1500px){.spotlight-stage{min-height:420px}}
@media(max-width:900px){.gallery-spotlight{padding-left:35px;padding-right:35px}.gallery-spotlight.is-ready .spotlight-card{width:65%}.spotlight-stage{min-height:410px}.spotlight-arrow{width:34px;height:34px}}
@media(max-width:600px){.gallery-spotlight{padding:0 0 24px}.spotlight-stage{min-height:350px}.gallery-spotlight.is-ready .spotlight-card{width:84%;border-radius:18px}.gallery-spotlight.is-ready .spotlight-card.is-prev{transform:translateX(-143%) scale(.9) rotate(-2deg)}.gallery-spotlight.is-ready .spotlight-card.is-next{transform:translateX(43%) scale(.9) rotate(2deg)}.spotlight-arrow{top:39%;left:0}.spotlight-next{left:auto;right:0}.aha-home #home-gallery .spotlight-copy h3{font-size:16px}.spotlight-copy{padding:10px 6px}.spotlight-dots{gap:7px}}
@media(prefers-reduced-motion:reduce){.gallery-spotlight.is-ready .spotlight-card,.spotlight-dots button{transition:none}}
.aha-home #home-gallery .spotlight-copy,.aha-home #home-gallery .spotlight-copy h3,.aha-home #home-gallery .spotlight-copy p{text-align:left}
/* Match homepage news typography to the gallery cards. */
/* Carry the news-image gradient through homepage banners and programs. */
body.aha-home #listen .desktop-player-container{border:2px solid transparent;background:radial-gradient(ellipse at 10% 50%,#f3268b,transparent 65%) padding-box,linear-gradient(110deg,#b81883,#334fc1) padding-box,linear-gradient(110deg,#a16cff,#e80074,#00bcca) border-box}
body.aha-home #listen #radioPlayer{border:2px solid transparent;background:linear-gradient(130deg,#ad238f,#3948a5) padding-box,linear-gradient(110deg,#a16cff,#e80074,#00bcca) border-box}
body.aha-home .home-banner-slide{padding:2px;background:linear-gradient(110deg,#a16cff,#e80074,#00bcca);box-sizing:border-box}
body.aha-home .home-banner-slide>a,body.aha-home .home-banner-slide picture,body.aha-home .home-banner-slide .home-banner-image{border-radius:10px}
body.aha-home #home-gallery #bannerCarousel1{padding:2px;background:linear-gradient(110deg,#a16cff,#e80074,#00bcca);border-radius:14px;overflow:hidden;box-sizing:border-box}
body.aha-home #home-gallery #bannerCarousel1 .carousel-inner{border-radius:12px;overflow:hidden}
body.aha-home #shows .home-programs .program-banner{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#a16cff,#e80074,#00bcca) border-box;border-radius:12px}
html[data-theme=dark] body.aha-home #shows .home-programs .program-banner{border-color:transparent;background:linear-gradient(#211a28,#211a28) padding-box,linear-gradient(110deg,#a16cff,#e80074,#00bcca) border-box}
body.aha-home #home-news .home-story{padding:5px;border:1px solid #e9e5ef;border-radius:18px;background:#fff;box-shadow:0 12px 25px #2920490c;min-width:0;overflow:hidden}
body.aha-home #home-news .home-story>a{height:100%;display:flex;flex-direction:column;text-decoration:none}
body.aha-home #home-news .home-story .home-story-photo{padding:2px;aspect-ratio:auto;border-radius:15px;background:linear-gradient(110deg,#a16cff,#e80074,#00bcca);overflow:hidden}
body.aha-home #home-news .home-story-photo picture{display:block}
body.aha-home #home-news .home-story .home-story-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:13px}
body.aha-home #home-news .home-story a:focus-visible{outline:3px solid #d60065;outline-offset:3px;border-radius:13px}
html[data-theme=dark] body.aha-home #home-news .home-story{background:#241c2b;border-color:#46344f;box-shadow:0 12px 25px #00000020}
@media(max-width:600px){body.aha-home #home-news .home-story{padding:4px;border-radius:16px}}
body.aha-home #home-news .home-story .home-story-content{padding:9px 6px 6px;text-align:left}
body.aha-home #home-news .home-story h3{font-family:inherit;font-size:18px;font-weight:700;line-height:1.6;letter-spacing:normal;text-align:left;color:#202139;-webkit-line-clamp:3}
.aha-home #home-gallery .spotlight-copy h3{font-family:inherit;letter-spacing:normal}
html[data-theme=dark] body.aha-home #home-news .home-story h3{color:#f6edf9}
@media(max-width:600px){body.aha-home #home-news .home-story .home-story-content{padding:8px 5px 5px}body.aha-home #home-news .home-story h3{font-size:16px}}
@media(max-width:768px){
 body.aha-home #home-news .home-news-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 body.aha-home #home-news .home-story:not(:first-child)>a{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px}
 body.aha-home #home-news .home-story:not(:first-child) .home-story-photo{width:112px;min-width:0;align-self:center}
 body.aha-home #home-news .home-story:not(:first-child) .home-story-image{height:88px;aspect-ratio:auto;object-fit:cover}
 body.aha-home #home-news .home-story:not(:first-child) .home-story-content{padding:6px 5px 6px 0;min-width:0}
 body.aha-home #home-news .home-story h3{font-size:16px;line-height:1.6;-webkit-line-clamp:3}
 body.aha-home #home-news .home-story:first-child .home-story-content{padding:12px 9px 10px}
 body.aha-home #home-news .home-story:first-child h3{font-size:18px}
}
@media(max-width:359px){body.aha-home #home-news .home-story:not(:first-child)>a{grid-template-columns:94px minmax(0,1fr);gap:8px}body.aha-home #home-news .home-story:not(:first-child) .home-story-photo{width:94px}}
/* Decorative homepage music atmosphere; never intercepts clicks. */
body.aha-home{isolation:isolate}
.music-backdrop{position:fixed;inset:0 0 0 240px;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.music-glow{position:absolute;width:420px;height:420px;border-radius:50%;opacity:.12;background:radial-gradient(circle, #ee1685 0%,transparent 70%);animation:music-glow-drift 24s ease-in-out infinite alternate}
.music-glow-pink{top:5%;left:-170px}.music-glow-purple{top:38%;right:-180px;background:radial-gradient(circle,#9661ef,transparent 70%);animation-delay:-9s}.music-glow-blue{bottom:-150px;left:35%;background:radial-gradient(circle,#29a7e6,transparent 70%);animation-delay:-17s}
.music-note{position:absolute;bottom:-90px;font-family:Georgia,serif;font-size:48px;color:#d60065;opacity:0;animation:music-note-rise 28s linear infinite;left:3%}
.music-note:nth-of-type(5){left:92%;animation-delay:-5s;color:#7753c9;font-size:38px}.music-note:nth-of-type(6){left:23%;animation-delay:-11s;color:#2495c4;font-size:34px}.music-note:nth-of-type(7){left:74%;animation-delay:-16s;font-size:42px}.music-note:nth-of-type(8){left:48%;animation-delay:-21s;color:#7753c9;font-size:32px}.music-note:nth-of-type(9){left:97%;animation-delay:-25s;color:#2495c4}
@keyframes music-glow-drift{from{transform:translate3d(0,-25px,0) scale(.9)}to{transform:translate3d(30px,60px,0) scale(1.15)}}
@keyframes music-note-rise{0%{transform:translate3d(0,0,0) rotate(-12deg);opacity:0}12%,80%{opacity:.1}100%{transform:translate3d(35px,-115vh,0) rotate(18deg);opacity:0}}
html[data-theme=dark] .music-glow{opacity:.18}html[data-theme=dark] .music-note{color:#ff73b9}
@media(max-width:1099px){.music-backdrop{left:0}}
@media(max-width:768px){.music-glow{width:280px;height:280px;opacity:.09}.music-note{font-size:30px}.music-note:nth-of-type(6),.music-note:nth-of-type(8){display:none}}
@media(prefers-reduced-motion:reduce){.music-glow,.music-note{animation:none}.music-note{display:none}}
