.glass-card {
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.5);
}
.nav-glass {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.cinematic-overlay {
    background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.6) 100%);
}
.ken-burns {
    animation: kenburns 20s infinite alternate cubic-bezier(0.45, 0.05, 0.55, 0.95);
    transform-origin: center;
}
@keyframes kenburns {
    0% { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.15) translate(-1%, -1%); }
}
.reveal-text {
    animation: textBlurIn 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
    transform: translateY(40px);
    filter: blur(10px);
}
@keyframes textBlurIn {
    0% {
        opacity: 0;
        transform: translateY(40px);
        filter: blur(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.slide-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 3s ease-in-out, visibility 3s ease-in-out;
}
.slide-visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 3s ease-in-out, visibility 3s ease-in-out;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.snap-x {
    scroll-snap-type: x mandatory;
}
.snap-center {
    scroll-snap-align: center;
}

.logo-wrapper {
    height: 3.5rem; /* Equivalent to h-14 */
    width: auto;
    object-contain: contain;
    mix-blend-mode: multiply; /* Removes white background */
    transition: transform 0.3s ease;
}

.footer-logo {
    height: 5rem; /* Equivalent to h-20 */
    width: auto;
    object-contain: contain;
    border-radius: 10px;
    border: 40px;
}
