body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#opening-video {
    position: fixed;
    z-index: 100;
    inset: 0;
    background: #000;
    opacity: 1;
    transition: opacity 900ms ease;
}

#opening-video.is-finished {
    opacity: 0;
    pointer-events: none;
}

#opening-video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

html {
    scroll-behavior: auto; /* GSAP strictly handles flow */
}

/* Eliminate scrollbar visual interference for cinematic feel */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #e0e0e0;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #c0c0c0;
}

/* Base resets for animations that use filter blur */
* {
    box-sizing: border-box;
}

.font-math {
    font-family: "Source Serif Pro", serif;
}
.shiny-black {
    color: #000;
    text-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 0 1px rgba(0,0,0,0.5);
    letter-spacing: -0.05em;
    -webkit-text-stroke: 1px #222;
}
