/* ── Responsive ───────────────────────────────────────── */

@media (min-width: 768px) {
    .nq-header__inner {
        padding: 0.875rem 1.5rem;
    }

    .nq-header__nav {
        display: flex;
    }

    .nq-header__burger {
        display: none;
    }

    .nq-footer__main {
        grid-template-columns: 1.3fr 1fr;
        padding: 4rem 1.5rem 3rem;
    }

    .nq-footer__bottom {
        padding: 1.25rem 1.5rem;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .nq-section {
        padding: 6rem 0;
    }

    .nq-shell {
        padding: 0 1.5rem;
    }

    .nq-card,
    .nq-step-card,
    .nq-compare-card,
    .nq-media-panel {
        padding: 1.75rem;
    }

    .nq-hero__phone {
        width: 270px;
    }

    .nq-hero__badge--bottom {
        left: -8%;
    }

    .nq-problem {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-problem__stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.75rem;
    }

    .nq-problem__stat-ring {
        width: 8rem;
        height: 8rem;
    }

    .nq-problem__stat-number {
        font-size: 1.75rem;
    }

    .nq-benefits {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-benefits__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nq-benefit--wide {
        grid-column: span 2;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        column-gap: 1.25rem;
        row-gap: 0.35rem;
        align-items: start;
    }

    .nq-benefit--wide .nq-benefit__icon {
        grid-row: 1 / 3;
        margin-bottom: 0;
        align-self: center;
    }

    .nq-benefit--wide .nq-benefit__title {
        margin-bottom: 0;
    }

    .nq-steps {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-steps__progress {
        padding: 1.1rem 1.25rem 1.2rem;
    }

    .nq-steps__item {
        gap: 1.5rem;
        padding-bottom: 1.8rem;
    }

    .nq-steps__card {
        padding: 1.5rem;
    }

    .nq-coach {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-coach__badge--top {
        right: -6%;
    }

    .nq-coach__badge--bottom {
        left: -8%;
    }

    .nq-team {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-team__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nq-differ {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-differ__table {
        grid-template-columns: repeat(3, 1fr);
    }

    .nq-waitlist {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .nq-waitlist__proof {
        grid-template-columns: repeat(2, 1fr);
    }

    .nq-waitlist__wrapper {
        padding: 3rem 2.5rem;
    }
}

@media (min-width: 1024px) {
    .nq-hero {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .nq-hero__grid {
        grid-template-columns: 1.1fr 0.9fr;
        gap: 4rem;
    }

    .nq-hero__content {
        align-items: flex-start;
        text-align: left;
    }

    .nq-hero__actions {
        justify-content: flex-start;
    }

    .nq-hero__proof {
        justify-content: flex-start;
    }

    .nq-hero__phone {
        width: 300px;
    }

    .nq-coach__grid {
        grid-template-columns: 1.05fr 0.95fr;
        gap: 4rem;
    }

    .nq-coach__visual {
        justify-content: flex-end;
    }

    .nq-team__grid {
        gap: 1.5rem;
    }

    .nq-waitlist__wrapper {
        grid-template-columns: 1.1fr 0.9fr;
        padding: 3.5rem;
        gap: 4rem;
    }
}

/* ── Game badges on mobile ────────────────────────────── */

@media (max-width: 767px) {
    .nq-game-badge,
    .nq-achievement-toast {
        display: none;
    }

    .nq-game-badge[style*="left:2%"],
    .nq-game-badge[style*="left:3%"],
    .nq-game-badge[style*="left:4%"],
    .nq-game-badge[style*="left:5%"],
    .nq-game-badge[style*="right:3%"],
    .nq-game-badge[style*="right:4%"],
    .nq-game-badge[style*="right:5%"],
    .nq-game-badge[style*="right:6%"] {
        display: none;
    }

    .nq-section-glow {
        opacity: 0.2 !important;
    }

    .nq-section-glow--1 {
        width: 10rem;
        height: 10rem;
    }

    .nq-section-glow--2 {
        width: 12rem;
        height: 12rem;
    }

    .nq-section-glow--3 {
        width: 8rem;
        height: 8rem;
    }
}

@media (min-width: 768px) {
    .nq-game-badge {
        display: inline-flex;
    }

    .nq-achievement-toast {
        display: flex;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .nq-btn-primary,
    .nq-btn-secondary,
    .nq-header__cta,
    .nq-header__link,
    .nq-footer__link {
        transition: none;
    }

    .nq-animate {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .nq-hero__phone {
        animation: none;
    }

    .nq-hero__particle,
    .nq-hero__badge,
    .nq-hero__deco,
    .nq-hero__glow,
    .nq-hero__phone-glow,
    .nq-btn--glow::after {
        animation: none !important;
    }

    .nq-shimmer-wrap {
        animation: none !important;
    }

    .nq-hero__app-xp-fill {
        width: 68% !important;
        transition: none;
    }

    .nq-hero__ring-progress {
        stroke-dashoffset: 53 !important;
        transition: none;
    }

    .nq-hero__app-task {
        opacity: 1 !important;
        transition: none;
    }

    .nq-problem__hp-fill {
        width: 15% !important;
        transition: none;
        animation: none;
    }

    .nq-problem__ring-anim {
        transition: none;
    }

    .nq-problem__deco,
    .nq-benefits__deco,
    .nq-steps__deco,
    .nq-coach__deco,
    .nq-coach__badge,
    .nq-team__deco,
    .nq-differ__deco,
    .nq-waitlist__deco {
        animation: none !important;
    }

    .nq-benefit__xp,
    .nq-xp-pop {
        opacity: 1 !important;
        transform: none !important;
        transition: none;
        animation: none !important;
    }

    .nq-benefit::after {
        animation: none !important;
    }

    .nq-steps__progress-fill {
        width: 100% !important;
        transition: none;
    }

    .nq-steps__line-fill {
        height: 100% !important;
        transition: none;
    }

    .nq-coach__typing span {
        animation: none !important;
        opacity: 1;
    }

    .nq-section-particle,
    .nq-section-glow,
    .nq-game-badge,
    .nq-achievement-toast {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .nq-game-badge {
        opacity: 1 !important;
        transform: scale(1) translateY(0) !important;
    }

    .nq-achievement-toast {
        opacity: 1 !important;
        transform: translateY(0) scale(1) !important;
    }

    .nq-heading-shimmer .nq-gradient-text {
        animation: none !important;
    }

    .nq-steps__node {
        animation: none !important;
    }

    .nq-differ__col--featured {
        animation: none !important;
    }

    .nq-coach__chat-glow {
        animation: none !important;
    }

    .nq-waitlist__glow--left,
    .nq-waitlist__glow--right {
        animation: none !important;
    }
}
