

.background-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -999;
    overflow: hidden;
    
    transform: translateZ(0);
    will-change: transform;
    contain: layout style paint;
    min-width: 100vw;
    min-height: 100vh;
}

.background-layer {
    position: absolute;
    inset: 0; 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    
    transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
    
    will-change: opacity;
    transform: translateZ(0);
    backface-visibility: hidden;
    
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    box-sizing: border-box;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .background-container {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}