@media (max-width: 1200px) {
    .cards__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .hero__container,
    .about__container {
        grid-template-columns: 1fr;
    }

    .hero__container {
        width: 100%;
        min-width: 0;
        text-align: center;
    }

    .hero__text {
        align-items: center;
        min-width: 0;
    }

    .hero__media {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-inline: auto;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        overflow: visible;
    }

    .hero__character {
        width: min(100%, 420px);
        max-width: 420px;
    }

    .hero__neon-panel {
        position: relative;
        top: auto;
        right: auto;
        width: min(100%, 420px);
        max-width: 420px;
        margin: var(--space-lg) auto 0;
        box-sizing: border-box;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .header__container {
        flex-wrap: wrap;
    }

    .cards__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer__container {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer__logo {
        justify-content: center;
    }

    .footer__copyright {
        text-align: center;
    }

    .bg-glow {
        filter: blur(60px);
    }
}

@media (max-width: 600px) {
    :root {
        --container-padding: 1rem;
        --space-4xl: 3rem;
    }

    .header__logo-slogan {
        display: none;
    }

    .hero__character {
        width: min(88vw, 360px);
        max-width: 360px;
    }

    .hero__neon-panel {
        width: 100%;
        max-width: 100%;
        padding: var(--space-md);
    }

    .hero__neon-text br {
        display: none;
    }

    .card {
        min-height: 140px;
        padding: var(--space-lg) var(--space-sm);
    }
}

@media (max-width: 360px) {
    .header__logo-text,
    .header__email span {
        display: none;
    }

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