/* BeatHub homepage motion + visual polish layer. Loaded only on the standalone homepage. */

@keyframes beathub-vinyl-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes beathub-float-left { 0%,100% { transform: translate3d(0,0,0) rotate(-1deg); } 50% { transform: translate3d(0,-12px,0) rotate(1deg); } }
@keyframes beathub-float-right { 0%,100% { transform: translate3d(0,0,0) rotate(1deg); } 50% { transform: translate3d(0,-10px,0) rotate(-1deg); } }
@keyframes beathub-pulse-wave { 0%,100% { transform: scaleY(.72); opacity:.55; } 50% { transform:scaleY(1.08); opacity:1; } }
@keyframes beathub-glow { 0%,100% { box-shadow:0 35px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04); } 50% { box-shadow:0 40px 100px rgba(0,0,0,.56),0 0 55px rgba(212,175,55,.10),inset 0 1px 0 rgba(255,255,255,.06); } }

:root { --home-gold-premium:#d4af37; --home-gold-light:#f4d675; --home-gold-deep:#9c7a16; --home-black:#050505; --home-panel:rgba(16,16,16,.94); }

body { background:radial-gradient(circle at 12% 8%,rgba(212,175,55,.13),transparent 30%),radial-gradient(circle at 88% 18%,rgba(212,175,55,.075),transparent 28%),radial-gradient(circle at 50% 100%,rgba(212,175,55,.06),transparent 38%),#050505 !important; }
body::before { content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(to bottom,black,transparent 92%);-webkit-mask-image:linear-gradient(to bottom,black,transparent 92%); }
.top-stripe { background:linear-gradient(90deg,#9c7a16 0%,#f4d675 25%,#d4af37 50%,#9c7a16 75%,#f4d675 100%) !important; }
.site-header { background:rgba(5,5,5,.90) !important;border-bottom-color:rgba(212,175,55,.14) !important; }
.brand-mark { background:linear-gradient(145deg,var(--home-gold-light),var(--home-gold-premium),var(--home-gold-deep)) !important;box-shadow:0 10px 30px rgba(212,175,55,.20) !important; }
.brand-text span,.nav-links .merch-link,.hero h1 .gold,.hero-merch,.hero-merch-icon { color:var(--home-gold-light) !important; }
.nav-links .merch-link::before { background:var(--home-gold-premium) !important; }
.btn-gold { background:linear-gradient(145deg,var(--home-gold-light),var(--home-gold-premium),var(--home-gold-deep)) !important;box-shadow:0 14px 35px rgba(212,175,55,.18) !important; }
.btn-gold:hover { box-shadow:0 18px 45px rgba(212,175,55,.28) !important; }
.btn-merch,.hero-merch-icon { border-color:rgba(212,175,55,.32) !important;background:linear-gradient(145deg,rgba(212,175,55,.12),rgba(212,175,55,.035)) !important; }
.btn-merch { color:var(--home-gold-light) !important; }
.btn-merch:hover { border-color:rgba(244,214,117,.78) !important;background:linear-gradient(145deg,rgba(212,175,55,.19),rgba(212,175,55,.055)) !important;box-shadow:0 16px 40px rgba(212,175,55,.18) !important; }
.hero::before { background:radial-gradient(circle,rgba(212,175,55,.15),transparent 68%) !important; }
.hero h1 .teal { color:#f4d675 !important; }
.studio-card { background:linear-gradient(145deg,rgba(24,24,24,.97),rgba(8,8,8,.97)) !important;border-color:rgba(212,175,55,.30) !important; }
.studio-card::before { background:linear-gradient(135deg,rgba(244,214,117,.25),transparent 35%,transparent 65%,rgba(212,175,55,.13)) !important; }

/* Actual homepage hero record: the record rotates while a bright light wedge sweeps around it. */
.vinyl {
    position:relative;
    animation:beathub-vinyl-spin 8s linear infinite !important;
    transform-origin:50% 50% !important;
    will-change:transform;
    outline:2px solid rgba(244,214,117,.78) !important;
    outline-offset:8px !important;
    box-shadow:0 0 0 11px rgba(212,175,55,.08),0 25px 45px rgba(0,0,0,.55),0 0 38px rgba(212,175,55,.14) !important;
    background:
        conic-gradient(
            from -12deg at 50% 50%,
            transparent 0deg 332deg,
            rgba(212,175,55,.02) 338deg,
            rgba(212,175,55,.16) 344deg,
            rgba(244,214,117,.58) 350deg,
            rgba(255,255,255,.98) 353deg,
            rgba(244,214,117,.82) 356deg,
            rgba(212,175,55,.34) 358deg,
            transparent 360deg
        ),
        repeating-radial-gradient(
            circle at center,
            #191621 0px,
            #191621 3px,
            #0b0910 4px,
            #0b0910 7px
        ) !important;
    background-blend-mode:screen,normal !important;
}

/* Gold label remains centered above the record texture. */
.vinyl::before {
    inset:25% !important;
    border-radius:50% !important;
    background:
        radial-gradient(circle at center,#0b0910 0 10px,#f4d675 11px 15px,transparent 16px),
        linear-gradient(135deg,#f4d675,#d4af37,#9c7a16) !important;
    box-shadow:0 0 35px rgba(212,175,55,.22),0 0 8px rgba(244,214,117,.20) !important;
    z-index:2 !important;
}

/* Center spindle hole. The beam is now part of the vinyl background, so this pseudo-element is free to remain the hole. */
.vinyl::after {
    content:"" !important;
    position:absolute !important;
    width:22px !important;
    height:22px !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    border-radius:50% !important;
    background:#0b0910 !important;
    border:5px solid #f4d675 !important;
    z-index:4 !important;
    pointer-events:none !important;
}

.vinyl-ring,.hero-ring,.record-ring { animation:beathub-vinyl-spin 10s linear infinite !important;transform-origin:50% 50% !important;will-change:transform; }
.studio-card { animation:beathub-glow 4.5s ease-in-out infinite !important; }
.floating-card.one { animation:beathub-float-left 4s ease-in-out infinite !important; }
.floating-card.two { animation:beathub-float-right 4.6s ease-in-out infinite !important; }
.waveform span { transform-origin:center;animation:beathub-pulse-wave 1.35s ease-in-out infinite !important; }
.waveform span:nth-child(2n) { animation-delay:-.2s; }.waveform span:nth-child(3n) { animation-delay:-.4s; }.waveform span:nth-child(4n) { animation-delay:-.6s; }.waveform span:nth-child(5n) { animation-delay:-.8s; }
@media (prefers-reduced-motion:reduce) { .vinyl,.vinyl-ring,.hero-ring,.record-ring,.studio-card,.floating-card.one,.floating-card.two,.waveform span { animation:none !important; } }