/*======================================
        LARGE LAPTOP (max-width: 1200px)
======================================*/
@media (max-width: 1200px) {
    .hero-content h1 {
        font-size: 62px;
    }

    .section-title {
        font-size: 50px;
    }

    .investment-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Fixed class target for Bento Grid */
    .amenities .bento-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Gallery */
    .gallery .swiper-slide img {
        height: 420px;
    }
}

/*======================================
            TABLET (max-width: 992px)
======================================*/
@media (max-width: 992px) {
    .nav {
        display: none;
    }

    .menu-btn {
        display: block;
    }

    .hero-wrapper {
        flex-direction: column;
        text-align: center;
    }

    .hero-content {
        max-width: 100%;
    }

    .hero-content p {
        margin-inline: auto;
    }

    .hero-buttons {
        justify-content: center;
    }

    .hero-form {
        width: 100%;
        max-width: 500px;
    }

    .about-wrapper,
    .wellness-grid,
    .location-wrapper,
    .contact-wrapper {
        grid-template-columns: 1fr;
    }

    .wellness-small-grid,
    .footer-top,
    .stats-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Transition Bento Grid to 2 columns on tablet */
    .amenities .bento-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .amenities .card {
        height: 260px;
        min-height: 260px;
    }

    /* Gallery */
    .gallery .swiper-slide img {
        height: 380px;
    }
}

/*======================================
            MOBILE (max-width: 768px)
======================================*/
@media (max-width: 768px) {
    /* Prevent horizontal overflow */
    html, body {
        overflow-x: hidden;
    }

    .section-padding {
        padding: 80px 0;
    }

    .section-title {
        font-size: 40px;
    }

    /* Fixed order: WebKit legacy first, dvh standard second */
    .hero {
        min-height: -webkit-fill-available;
        min-height: 100dvh;
        padding: 120px 0 80px;
    }

    .hero-content h1 {
        font-size: 48px;
    }

    .hero-content p {
        font-size: 16px;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-form {
        padding: 30px;
    }

    .feature-grid,
    .wellness-small-grid,
    .investment-grid,
    .footer-top {
        grid-template-columns: 1fr;
    }

    .stats-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-top {
        text-align: center;
    }

    .social-icons {
        justify-content: center;
    }

    /* Single column Bento Grid for Mobile */
    .amenities .bento-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .amenities .card {
        height: 240px;
        min-height: 240px;
        padding: 22px 20px;
    }

    /* Gallery Optimization */
    .gallery .swiper-slide {
        touch-action: pan-y;
    }

    .gallery .swiper-slide img {
        height: 300px;
        will-change: transform;
    }
}

/*======================================
        SMALL MOBILE (max-width: 576px)
======================================*/
@media (max-width: 576px) {
    .container {
        width: 92%;
    }

    .logo img {
        width: 140px;
    }

    .btn {
        width: 100%;
    }

    .hero-content h1 {
        font-size: 38px;
    }

    .section-title {
        font-size: 34px;
    }

    .hero-form,
    .contact-form {
        padding: 25px;
    }

    .footer {
        text-align: center;
    }

    /* Gallery */
    .gallery .swiper-slide img {
        height: 250px;
    }
}