@media (max-width: 1200px) {
    :root {
        --section-padding-x: 3rem;
    }

    .hero {
        padding: 2rem var(--section-padding-x) 2.5rem;
    }

    .hero-content {
        max-width: 32rem;
        padding-bottom: 3rem;
    }

    .about {
        padding: 4rem 3rem;
    }

    .events {
        padding: 4rem 3rem 5rem;
    }

    .events-grid {
        gap: 2rem;
    }

    .register {
        padding: 4rem 3rem 5rem;
    }

    .register-grid {
        gap: 2rem;
    }

    .qr-section {
        padding: 0 3rem 5rem;
    }

    .qr-card {
        padding: 2.5rem 2.25rem;
        gap: 2rem;
    }

    .highlights {
        padding: 4rem 3rem 5rem;
    }

    .highlights-grid {
        gap: 1.5rem;
    }

    .site-footer {
        padding: 3.5rem var(--section-padding-x) 0;
    }
}

@media (max-width: 992px) {
    :root {
        --section-padding-x: 2rem;
    }

    .hero {
        background-position: 65% center;
        padding: 1.75rem var(--section-padding-x) 2rem;
    }

    .hero-logo img {
        width: 4.5rem;
        height: 4.5rem;
    }

    .hero-header .btn-header {
        font-size: 0.875rem;
        padding: 0.5rem 1rem;
    }

    .hero-badge {
        width: 16rem;
        height: 6rem;
    }

    .hero-badge-name {
        font-size: 1.5rem;
    }

    .hero-content .btn {
        font-size: 1.125rem;
    }

    .about {
        min-height: 30rem;
        padding: 3.5rem 2rem;
        background-position: 70% center;
    }

    .about-title-line {
        font-size: 1.875rem;
    }

    .events {
        padding: 3.5rem 2rem 4rem;
    }

    .events-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .events-image {
        min-height: 18rem;
    }

    .register {
        padding: 3.5rem 2rem 4rem;
    }

    .register-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .qr-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .qr-content {
        max-width: 100%;
    }

    .highlights-grid {
        grid-template-columns: 1fr;
        max-width: 24rem;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .footer-col {
        padding-left: 0;
        border-left: none;
        padding-top: 2rem;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }

    .footer-brand + .footer-col {
        padding-top: 0;
        border-top: none;
    }
}

@media (max-width: 768px) {
    :root {
        --section-padding-x: 1.25rem;
    }

    .hero {
        min-height: auto;
        background-position: center top;
        padding: 1.5rem var(--section-padding-x) 2.5rem;
    }

    .hero-header {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .hero-header-socials {
        margin-left: auto;
    }

    .hero-header .btn-header {
        width: 100%;
        max-width: none;
        flex-basis: 100%;
    }

    .hero-social svg {
        width: 1.75rem;
        height: 1.75rem;
    }

    .hero-content {
        max-width: 100%;
        margin-top: 2rem;
        padding-bottom: 2rem;
    }

    .hero-badge {
        width: 14rem;
        height: 5.25rem;
        margin-bottom: 1.5rem;
    }

    .hero-badge-name {
        font-size: 1.25rem;
    }

    .hero-badge-tagline {
        font-size: 0.75rem;
    }

    .hero-text {
        font-size: 1rem;
        margin-bottom: 1.75rem;
    }

    .about {
        min-height: auto;
        padding: 3rem 1.25rem;
        background-position: center;
    }

    .about-content {
        max-width: 100%;
    }

    .about-text {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .about-btn {
        width: 100%;
        max-width: 100%;
    }

    .events {
        padding: 3rem 1.25rem 4rem;
    }

    .events-title {
        margin-bottom: 2.5rem;
    }

    .events-card {
        padding: 2rem 1.5rem;
    }

    .events-detail-text {
        font-size: 1rem;
    }

    .events-description {
        font-size: 1rem;
        margin-bottom: 1.75rem;
    }

    .events-btn {
        width: 100%;
        max-width: 100%;
    }

    .register {
        padding: 3rem 1.25rem 4rem;
    }

    .register-card {
        padding: 2rem 1.25rem;
    }

    .form-row-2 {
        flex-direction: column;
    }

    .event-preview {
        flex-direction: column;
        align-items: flex-start;
    }

    .event-preview-media {
        width: 100%;
        height: 10rem;
    }

    .qr-section {
        padding: 0 1.25rem 4rem;
    }

    .qr-card {
        padding: 2rem 1.25rem;
    }

    .qr-code-wrap {
        margin-left: 0;
        align-self: center;
    }

    .highlights {
        padding: 3rem 1.25rem 4rem;
    }

    .highlights-title {
        margin-bottom: 2.5rem;
    }

    .highlights-grid {
        max-width: 100%;
    }

    .highlights-play svg {
        width: 4.25rem;
        height: 4.25rem;
    }

    .site-footer {
        padding: 3rem var(--section-padding-x) 0;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding-bottom: 1.5rem;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 1.75rem;
    }
}
