/*
 * Shared mobile stabilization for service landing pages.
 *
 * The original desktop concept relies on stacked sticky sections, large 150vh
 * pseudo backgrounds, heavy blur/fixed layers and scroll reveal transforms.
 * On mobile this causes clipped cards, visible section overlap, reverse-scroll
 * jitter and flicker. These overrides intentionally simplify the layout for
 * touch devices while keeping the desktop presentation intact.
 */

@media (max-width: 1024px) {
    html {
        overflow-x: clip;
        scroll-behavior: auto;
    }

    body {
        overflow-x: clip;
    }

    body::before {
        display: none !important;
    }

    main {
        padding-bottom: 108px;
    }

    .stack-section {
        position: relative !important;
        top: auto !important;
        min-height: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        transform: none !important;
        isolation: isolate;
    }

    .stack-section::after {
        height: 100% !important;
        border-radius: 0 !important;
    }

    .section-overlay {
        opacity: 0.55 !important;
    }

    .reveal,
    .reveal.active,
    [class*="reveal-delay"] {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: opacity 0.24s linear !important;
        animation: none !important;
    }

    .hero-glow {
        width: min(72vw, 320px) !important;
        height: min(72vw, 320px) !important;
        filter: blur(38px) !important;
    }

    .hero-img-anim,
    .premium-bento,
    .price-card,
    .advanced-pricing,
    .glass-nav,
    .mobile-nav,
    .scroll-progress {
        will-change: auto !important;
    }

    .glass-nav {
        width: calc(100% - 24px) !important;
        left: 12px !important;
        right: 12px !important;
        margin-top: 0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.18) !important;
    }

    .mobile-nav {
        width: min(calc(100% - 24px), 360px) !important;
        max-width: none !important;
        gap: min(7vw, 28px) !important;
        padding: 10px 18px !important;
        bottom: 14px !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .pricing-grid {
        padding: 20px 16px 32px !important;
        gap: 12px !important;
        overscroll-behavior-x: contain;
    }

    .price-card {
        flex: 0 0 calc(100vw - 48px) !important;
        max-width: calc(100vw - 48px) !important;
        transform: none !important;
    }

    .price-card.popular {
        transform: none !important;
    }

    #hero .max-w-xl,
    #hero-text,
    .max-w-xl.text-left.reveal {
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-right: 0 !important;
    }
}
