
html,
body{
    overflow-x:hidden;
    width:100%;
}

img{
    max-width:100%;
    height:auto;
}

*{
    box-sizing:border-box;
}
/* ========================================
   LAPTOPS
======================================== */

@media (max-width:1200px){

}

/* ========================================
   TABLETS
======================================== */

@media (max-width:992px){

    section{
        padding:80px 40px;
    }

    .hero-title{
        font-size:58px;
    }

    .hero-content{
        max-width:800px;
    }

    .props-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .test-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .awards-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .why-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .communities-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .community-card:first-child{
        grid-column:span 2;
    }

    .contact-layout,
    .about-layout,
    .inv-layout,
    .calc-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .footer-grid{
        grid-template-columns:repeat(2,1fr);
    }

     section{
        padding:80px 40px;
    }

    .community-hero h1{
        font-size:58px;
    }

    .community-hero p{
        max-width:700px;
    }

    .search-box{
        grid-template-columns:1fr 1fr;
        gap:15px;
    }

    .featured-grid{
        grid-template-columns:repeat(2,1fr);
    }

     .property-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .filter-box{
        grid-template-columns:1fr 1fr;
    }

     .featured-insight{
        grid-template-columns:1fr;
    }

    .insights-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

/* ========================================
   MOBILE
======================================== */

@media (max-width:768px){

    nav{
        padding:15px 20px;
    }

    section{
        padding:70px 20px;
    }

    .nav-links{
        display:none;
    }

    .nav-cta{
        display:none;
    }

    .hero-content{
        padding:0 20px;
    }

    .hero-title{
        font-size:42px;
    }

    .hero-sub{
        font-size:12px;
        letter-spacing:1px;
    }

    .hero-search{
        flex-direction:column;
        width:100%;
        padding:15px;
    }

    .hero-search input{
        width:100%;
    }

    .hero-search-btn{
        width:100%;
    }

    .hero-btns{
        flex-direction:column;
        width:100%;
    }

     .btn-primary,
    .btn-outline{
        
        width:100%;
        text-align:center;
        box-sizing:border-box;
        margin-bottom:10px;
    }

    .hero-stats{
        flex-wrap:wrap;
        gap:20px;
    }

    .stat-item{
        width:45%;
    }

    .stat-item::after{
        display:none;
    }

    .section-title{
        font-size:38px;
    }

    .communities-grid,
    .props-grid,
    .why-grid,
    .test-grid,
    .awards-grid,
    .ins-grid{
        grid-template-columns:1fr;
    }

    .community-card:first-child{
        grid-column:span 1;
    }

    .footer-grid{
        grid-template-columns:1fr;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
        gap:20px;
    }
    .float-wa{
        width:50px;
        height:50px;
        right:15px;
        bottom:15px;
        font-size:22px;
    }
   .menu-toggle{
        display:flex;
        flex-direction:column;
        gap:5px;
        z-index:10001;
    }

    .menu-toggle span{
        width:28px;
        height:2px;
        background:#fff;
        transition:.3s;
    }

    .nav-links{
        position:fixed;
        top:0;
        right:-100%;
        width:320px;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        gap:30px;
        padding:50px;
        background:rgba(3,27,78,.95);
        backdrop-filter:blur(25px);
        transition:right .4s ease;
        z-index:10000;
    }

    .nav-links.active{
        right:0;
    }

    .nav-links li{
        width:100%;
    }

    .nav-links a{
        color:#fff;
        font-size:15px;
        letter-spacing:2px;
        text-transform:uppercase;
        display:block;
        padding:12px 0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    section{
        padding:70px 20px;
    }

    /* Hero */

    .community-hero{
        height:70vh;
    }

    .community-hero-content{
        width:100%;
        padding:20px;
    }

    .community-hero h1{
        font-size:42px;
        line-height:1.15;
    }

    .community-hero p{
        font-size:14px;
        line-height:1.7;
    }

    .hero-label{
        font-size:11px;
        letter-spacing:3px;
    }

    /* Search */

    .community-search{
        margin-top:-40px;
    }

    .search-box{

        width:100%;

        grid-template-columns:1fr;

        padding:20px;

        border-radius:18px;
    }

    .search-box input,
    .search-box select,
    .search-box button{

        width:100%;
        height:55px;

        border-radius:12px;
    }

    .search-box button{
        font-size:14px;
        font-weight:600;
    }

    /* Featured */

    .featured-communities{
        padding:80px 20px;
    }

    .featured-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .featured-card{
        width:100%;
        max-width:100%;
    }

    .featured-card img{
        width:100%;
        height:260px;
        object-fit:cover;
        display:block;
    }

    .featured-content{
        padding:20px;
    }

    .featured-content h3{
        font-size:28px;
    }

    .featured-content p{
        font-size:14px;
    }

    .section-title{
        font-size:38px;
    }
     .property-hero h1{
        font-size:42px;
    }

    .filter-box{
        grid-template-columns:1fr;
    }

    .property-grid{
        grid-template-columns:1fr;
    }

    .listing-image img{
        height:240px;
    }

    .pagination{
        gap:8px;
        flex-wrap:wrap;
    }

    .page-btn,
    .page-number{
        width:42px;
        height:42px;
        font-size:13px;
    }

    .about-hero{
        height:70vh;
    }

    .about-hero h1{
        font-size:42px;
    }

    .about-hero p{
        font-size:14px;
    }

    .insights-hero h1{
        font-size:42px;
    }

    .insights-grid{
        grid-template-columns:1fr;
    }

    .featured-insight{
        padding:80px 20px;
    }

    .insights-page{
        padding:80px 20px;
    }

    .community-story{
        padding:80px 20px;
    }

    .story-text{
        font-size:15px;
        line-height:1.9;
    }

     .property-intro{
        padding:70px 20px;
    }

    .intro-features{
        grid-template-columns:1fr;
    }

    .property-intro-text{
        font-size:15px;
    }

    .intro-item{
        padding:25px;
    }

     .investment-story{
        padding:80px 20px;
    }

    .investor-benefits{
        grid-template-columns:1fr;
        padding:0 20px 80px;
    }

    .investment-text{
        font-size:15px;
    }

    .mission-vision{
        grid-template-columns:1fr;
        padding:80px 20px;
    }

     .why-elarra{
        padding:80px 20px;
    }

    .why-grids{
        grid-template-columns:1fr;
        gap:20px;
    }

    .why-box{
        padding:25px 20px;
    }

    .why-box h3{
        font-size:24px;
    }


    .mv-card h2{
        font-size:32px;
    }
    .market-pulse,
    .insight-cta{
        padding:80px 20px;
    }

    .market-text,
    .insight-cta p{
        font-size:14px;
        line-height:1.9;
    }

    .thankyou-container{
        padding:50px 25px;
    }

    .thankyou-title{
        font-size:42px;
    }

    .thankyou-buttons{
        flex-direction:column;
    }

    .thankyou-buttons a{
        width:100%;
    }

    .no-results{
        margin:40px 15px;
        padding:40px 25px;
    }

    .no-results-icon{
        width:70px;
        height:70px;
    }

    .no-results-icon i{
        font-size:26px;
    }

    .no-results h3{
        font-size:32px;
    }

    .no-results p{
        font-size:14px;
    }

    .no-results .btn-primary{
        width:100%;
    }
    .community-lifestyle{
        padding:80px 20px;
    }

    .lifestyle-grid{
        grid-template-columns:1fr;
    }

     .lifestyle-card{
        padding:25px 20px;
    }

    .lifestyle-card h3{
        font-size:24px;
    }

    .life-icon{
        font-size:36px;
    }

    .elarra-difference{
        padding:80px 20px;
    }

    .difference-stats{
        grid-template-columns:1fr;
    }

    .diff-stat h3{
        font-size:42px;
    }

    .property-benefits{
        padding:80px 20px;
    }

    .benefits-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .benefit-card{
        padding:25px 20px;
    }

    .benefit-card h3{
        font-size:24px;
    }

    .property-quote{
        padding:80px 20px;
    }

    .property-quote h2{
        font-size:30px;
    }

    .insight-trends,
    .why-insights,
    .insight-quote{
        padding:60px 20px;
    }

    .trends-grid,
    .why-insights-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .trend-card,
    .why-insight-box{
        padding:25px 20px;
    }

    .trend-card h3,
    .why-insight-box h3{
        font-size:22px;
    }

    .trend-card p,
    .why-insight-box p{
        font-size:13px;
        line-height:1.8;
    }

    .insight-quote h2{
        font-size:30px;
        line-height:1.5;
    }

    .insight-quote span{
        font-size:11px;
        letter-spacing:2px;
    }

}

@media(max-width:991px){

    .lifestyle-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .difference-stats{
        grid-template-columns:repeat(2,1fr);
    }

     .benefits-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .property-quote h2{
        font-size:40px;
    }
    .insight-trends,
    .why-insights,
    .insight-quote{
        padding:80px 5%;
    }

    .trends-grid,
    .why-insights-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .insight-quote h2{
        font-size:42px;
    }
}
/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width:480px){

    .hero-title{
        font-size:34px;
    }

    .section-title{
        font-size:30px;
    }

    .stat-item{
        width:100%;
    }

    .stat-num{
        font-size:30px;
    }

    .community-name{
        font-size:24px;
    }

    .prop-name{
        font-size:18px;
    }

    .contact-tagline{
        font-size:30px;
    }

    .float-wa{
        width:50px;
        height:50px;
        font-size:22px;
        bottom:20px;
        right:20px;
    }

     .community-hero{
        height:65vh;
    }

    .community-hero h1{
        font-size:34px;
    }

    .community-hero p{
        font-size:13px;
    }

    .section-title{
        font-size:30px;
    }

    .featured-card img{
        height:220px;
    }

    .featured-content h3{
        font-size:24px;
    }

    .featured-content p{
        font-size:13px;
    }

    .search-box{
        padding:15px;
    }

     .property-hero{
        height:60vh;
    }

    .property-hero h1{
        font-size:34px;
    }

    .listing-price{
        font-size:26px;
    }

     .about-hero h1{
        font-size:34px;
    }

     .no-results{
        padding:35px 20px;
    }

    .no-results h3{
        font-size:28px;
    }

    .no-results p{
        font-size:13px;
        line-height:1.7;
    }
    .insight-trends,
    .why-insights,
    .insight-quote{
        padding:50px 15px;
    }

    .insight-quote h2{
        font-size:26px;
    }

    .trend-card,
    .why-insight-box{
        border-radius:16px;
        padding:20px 18px;
    }
}

