/* ================================================================
   REVEAL ANIMATIONS (driven by IntersectionObserver in script.js)
   ================================================================ */
.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.65s ease, transform 0.65s ease;
}

.reveal.visible {
    opacity: 1;
    transform: none;
}

.reveal-delay-1 {
    transition-delay: 0.08s;
}

.reveal-delay-2 {
    transition-delay: 0.16s;
}

.reveal-delay-3 {
    transition-delay: 0.24s;
}

.reveal-delay-4 {
    transition-delay: 0.32s;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

/* Tablet */
@media (max-width: 920px) {
    .about-grid {
        grid-template-columns: 1fr;
    }

    .about-image-wrap {
        max-width: 380px;
        margin-inline: auto;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .modal-body {
        grid-template-columns: 1fr;
    }

    .modal-preview {
        border-right: none;
        border-bottom: 1px solid var(--color-border);
        min-height: 280px;
    }

    .concert-item {
        grid-template-columns: 80px 1fr;
        grid-template-rows: auto auto;
    }

    .concert-actions {
        grid-column: 2;
    }
}

/* Mobile */
@media (max-width: 700px) {

    /* Mobile navigation overlay */
    .nav-menu {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(26, 20, 18, 0.97);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2.5rem;
        z-index: 999;
        backdrop-filter: blur(8px);
    }

    .nav-menu.open {
        display: flex;
    }

    .nav-menu .nav-link {
        font-size: 1.35rem;
        color: rgba(255, 255, 255, 0.82);
        letter-spacing: 0.18em;
    }

    .nav-menu .nav-link::after {
        background: var(--color-gold);
    }

    .nav-toggle {
        display: flex;
    }

    .section-header {
        margin-bottom: 2rem;
    }

    .scores-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .search-wrap {
        min-width: 0;
    }

    .filter-wrap {
        justify-content: flex-start;
    }

    .about-stats {
        flex-wrap: wrap;
        gap: 1.5rem;
    }

    .footer-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-bottom {
        flex-direction: column;
    }

    .concert-item {
        grid-template-columns: 70px 1fr;
        gap: 1.25rem;
    }

    .concert-actions {
        padding-left: 0;
        padding-right: 0;
        margin-top: 0.25rem;
    }

    .modal-header {
        padding: 1.25rem 1rem;
    }

    .modal-info {
        padding: 1.25rem 1rem;
    }
}

@media (max-width: 480px) {
    .scores-grid {
        grid-template-columns: 1fr;
    }

    .hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .modal-content {
        border-radius: var(--radius);
    }

    .hero-content {
        padding-top: 5rem;
    }

    .contact-form,
    .contact-info {
        padding: 1.5rem 1.25rem;
    }
}
