body {
    min-height: 100vh;
    background: linear-gradient(180deg, #faf5ff 0%, #fdf2f8 45%, #ffffff 100%);
    color: #1f2937;
}

.site-logo-mark {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.mobile-menu {
    display: none;
}

.mobile-menu.is-open {
    display: block;
}

.hero-slide {
    pointer-events: none;
}

.hero-slide.is-active {
    pointer-events: auto;
}

.hero-dot.is-active {
    width: 2rem;
    background: #ffffff;
}

.hero-dot {
    width: .5rem;
    height: .5rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, .55);
    transition: all .25s ease;
}

.movie-card img,
.related-card img {
    background: linear-gradient(135deg, #581c87, #db2777);
}

.movie-card:hover h3,
.related-card:hover h4,
.rank-row:hover h3 {
    color: #9333ea;
}

.play-overlay {
    transition: opacity .25s ease;
}

.play-overlay.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.video-control-panel {
    pointer-events: auto;
}

.search-result:empty {
    display: none;
}

.filter-hidden {
    display: none !important;
}

.rank-number {
    min-width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 800;
    background: linear-gradient(135deg, #9333ea, #ec4899);
    box-shadow: 0 10px 24px rgba(147, 51, 234, .22);
}

.category-card {
    min-height: 11rem;
}

@media (max-width: 768px) {
    .hero-copy {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .desktop-only {
        display: none !important;
    }
}
