/* BPEATS-MUSIC Germany · Animation Restore + Safe Performance Layer
   Surgical scope only: restore original animation geometry, prevent clipping,
   neutralize delayed paint, stabilize the splash, and avoid white browser flashes. */

:root{--bpeats-page-bg:#071018}
html,body{background-color:var(--bpeats-page-bg)!important}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a,button,[role="button"]{touch-action:manipulation}

/* The existing main stylesheet applies content-visibility:auto to many large
   blocks. That caused delayed repaint/blank areas during fast scrolling. */
.section,
.site-footer,
.release-glass-card,
.artist-panel,
.press-glass-note,
.press-player-item,
.press-card,
.artist-card,
.artist-hero-card,
.related-record-grid > article{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
}

/* Never hide or translate page sections through the former observer layer. */
.dmm-cv,
.dmm-soft-reveal,
.dmm-soft-reveal.dmm-inview{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
}

/* Splash must sit above the navigation so no temporary menu alignment is
   visible while fonts/layout settle. */
.liquid-intro{
    z-index:1000!important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    will-change:opacity;
    transition:opacity .46s cubic-bezier(.22,.72,.22,1),visibility 0s linear 0s!important;
}
.liquid-intro.is-hidden{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .46s cubic-bezier(.22,.72,.22,1),visibility 0s linear .48s!important;
}

/* Restore the original 3D stage geometry. The performance layer must never
   paint-contain or clip the artist orbit extending outside this stage. */
.hero-b-stage{
    contain:none!important;
    overflow:visible!important;
}
.hero-artist-orbit,
.hero-artist-orbit__node,
.hero-artist-orbit__card{
    overflow:visible!important;
}

/* Stable poster-to-WebGL handoff without duplicating or stacking two logos. */
.hero-b-canvas,
.hero-b-fallback{
    grid-area:1 / 1!important;
    backface-visibility:hidden;
    pointer-events:none;
}
.hero-b-fallback{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    transition:opacity .32s ease,visibility 0s linear 0s!important;
}
.hero-b-canvas{
    opacity:0!important;
    transition:opacity .32s ease!important;
}
.hero-b-canvas.is-ready{
    opacity:1!important;
}
.hero-b-canvas.is-ready + .hero-b-fallback{
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .32s ease,visibility 0s linear .34s!important;
}
.hero-b-canvas.is-hidden{
    display:none!important;
}
.hero-b-canvas.is-hidden + .hero-b-fallback,
.hero-b-fallback.is-visible{
    opacity:1!important;
    visibility:visible!important;
}

/* Keep navigation flyouts intact and avoid a new containing block. */
.glass-disc-nav{
    contain:none!important;
    overflow:visible!important;
    backface-visibility:hidden;
}
.glass-disc-nav .disc-nav-scroll,
.glass-disc-nav .cd-dropdown{overflow:visible!important}

.logo-safe-frame img,
.release-cover img,
.press-player-cover,
.press-detail-image{backface-visibility:hidden}

@media (prefers-reduced-motion:reduce){
    .liquid-intro{transition:none!important}
    .hero-b-canvas,.hero-b-fallback{transition:none!important}
}
