/* Explain: CSS for layout utilities and custom scroll animations. */
.hero-overlay {
    background: linear-gradient(to right, rgba(46,44,42,0.6) 0%, rgba(46,44,42,0.2) 100%);
}
.text-overlay-scrim {
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
}

@keyframes slowPan {
    0% { transform: scale(1.05) translate(0, 0); }
    100% { transform: scale(1.12) translate(-1%, -1%); }
}

/* Cinematic Scroll Reveal Animations */
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal-up.in-view {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 150ms; }
.reveal-delay-2 { transition-delay: 300ms; }
.reveal-delay-3 { transition-delay: 450ms; }