/* The Christmas lights come alive: a centered stage above the original full-cover film. */
.home-hero.hero-magic { height: auto; min-height: 100vh; min-height: 100svh; }
.hero-magic::before { display: none; }
.hero-magic::after { background: linear-gradient(180deg,rgba(2,20,16,.22),transparent 30%,transparent 67%,#062b23 100%); }
.hero-magic .hero-overlay { background: radial-gradient(ellipse at 50% 45%,rgba(3,25,20,.66) 0%,rgba(3,25,20,.46) 36%,rgba(3,25,20,.13) 79%); }
.hero-magic .hero-content { z-index: 3; padding: 124px 0 96px; text-align: center; text-shadow: 0 3px 24px rgba(0,0,0,.42); }
.hero-magic .hero-content > .eyebrow { justify-content: center; width: 100%; text-align: center; margin: 0 0 18px; color: #eddfbc; font-size: 12px; letter-spacing: .2em; }
.hero-magic .hero-brand-card { position: relative; width: min(480px,58vw); max-width: none; margin: 0 auto 22px; }
.hero-magic .hero-brand-card img { width: 100%; max-width: none; max-height: 144px; object-fit: contain; }
.hero-magic .hero-brand-card::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: linear-gradient(105deg,transparent 42%,rgba(255,244,210,.9) 50%,transparent 58%); background-size: 300% 100%; background-position: 150% 0; -webkit-mask: var(--hero-brand-mask) center / contain no-repeat; mask: var(--hero-brand-mask) center / contain no-repeat; opacity: 0; }
.hero-magic .hero-hook { max-width: 100%; margin: 0 auto; color: #fffdf7; font-size: clamp(38px,3.4vw,62px); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
.hero-magic .hero-hook > span { display: block; }
.hero-magic .hero-hook > span:last-child { color: #edcf95; }
.hero-magic .hero-intro { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 13px; width: fit-content; max-width: 100%; min-height: 52px; margin: 24px auto 0; padding: 14px 23px; border: 1px solid rgba(235,215,170,.42); border-radius: 12px; background: rgba(11,36,29,.38); box-shadow: inset 0 1px rgba(255,255,255,.13),0 14px 40px rgba(0,0,0,.1); color: #fffdf7; font-size: 14px; line-height: 1.6; text-shadow: none; backdrop-filter: blur(17px) saturate(130%); -webkit-backdrop-filter: blur(17px) saturate(130%); }
.hero-magic .hero-detail-dot { color: #e4c78d; }
.hero-magic .hero-actions { justify-content: center; margin-top: 26px; }
.hero-magic .hero-cta { min-height: 56px; gap: 26px; padding-inline: 25px; border-color: rgba(242,216,166,.6); border-radius: 5px; box-shadow: 0 13px 38px rgba(65,9,20,.25),inset 0 1px rgba(255,255,255,.2); }
.home-hero.hero-magic .hero-scroll { z-index: 4; pointer-events: auto; right: 0; left: 0; bottom: 8px; width: 100%; height: 44px; justify-content: center; color: #eee5d2; font-size: 9px; }
.hero-snow { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; visibility: hidden; }
.hero-snow > span { position: absolute; top: -12px; left: var(--snow-x); width: var(--snow-size); height: var(--snow-size); border-radius: 50%; background: rgba(255,252,240,.85); box-shadow: 0 0 5px rgba(255,248,226,.2); opacity: .5; animation: bcm-snow-fall var(--snow-duration) linear var(--snow-delay) infinite; animation-play-state: paused; }
.hero-snow > span:nth-child(3n) { opacity: .28; }
.hero-snow > span:nth-child(4n) { opacity: .66; }
.hero-magic.is-snow-active .hero-snow { visibility: visible; }
.hero-magic.is-snow-active .hero-snow > span { animation-play-state: running; }
@keyframes bcm-snow-fall { from { transform: translate3d(0,-12px,0); } to { transform: translate3d(var(--snow-drift),var(--snow-travel,110vh),0); } }
@keyframes bcm-hero-appear { from { opacity: 0; translate: 0 15px; } to { opacity: 1; translate: 0 0; } }
@keyframes bcm-logo-light { 0% { opacity: 0; background-position: 150% 0; } 15%,75% { opacity: .8; } 100% { opacity: 0; background-position: -150% 0; } }
@media (prefers-reduced-motion: no-preference) {
 .hero-magic .hero-content > .eyebrow { animation: bcm-hero-appear .9s ease .05s both; }
 .hero-magic .hero-brand-card { animation: bcm-hero-appear 1.1s ease .15s both; }
 .hero-magic .hero-brand-card::after { animation: bcm-logo-light 2.3s ease 1.2s both; }
 .hero-magic .hero-hook { animation: bcm-hero-appear 1s ease .4s both; }
 .hero-magic .hero-intro { animation: bcm-hero-appear .9s ease .7s both; }
 .hero-magic .hero-actions { animation: bcm-hero-appear .85s ease .9s both; }
}
@media (max-width: 760px) {
 .hero-magic .hero-content { padding: 112px 0 94px; }
 .hero-magic .hero-content > .eyebrow { max-width: 100%; font-size: 10px; letter-spacing: .14em; margin-bottom: 15px; }
 .hero-magic .hero-brand-card { width: min(320px,82vw); max-width: 100%; margin-bottom: 22px; }
 .hero-magic .hero-brand-card img { max-height: 104px; }
 .hero-magic .hero-hook { font-size: clamp(26px,7.65vw,37px); line-height: 1.12; letter-spacing: -.025em; }
 .hero-magic .hero-intro { flex-direction: column; gap: 2px; margin-top: 21px; padding: 12px 18px; font-size: 12px; }
 .hero-magic .hero-detail-dot { display: none; }
 .hero-magic .hero-actions { align-items: center; margin-top: 23px; }
 .hero-magic .hero-cta { min-height: 54px; font-size: 11px; padding-inline: 22px; }
 .hero-snow > span:nth-child(n+11) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .hero-magic .hero-content > *, .hero-magic .hero-brand-card::after { animation: none; }
 .hero-magic .hero-brand-card::after, .hero-magic .hero-snow { display: none; }
}
@media (prefers-reduced-transparency: reduce) {
 .hero-magic .hero-intro { background: #12372d; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* The full Explore control remains tappable above the hero content padding. */
.home-hero.hero-magic .hero-scroll > span, .home-hero.hero-magic .hero-scroll svg { pointer-events: none; }
