/*=============================
        GENERAL
=============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#ffffff;

    overflow-x:hidden;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}
/*=============================
        NAVBAR
=============================*/

/*=============================
        NAVBAR
=============================*/

.navbar{
    width:100%;
    background:#0f5132;
    position:fixed;
    top:0;
    left:0;
    z-index:999;
    box-shadow:0 5px 15px rgba(0,0,0,.2);
}

.container{
    width:90%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:150px;
}

/* Logo */

.logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.logo img{
    width:140px !important;
    height:140px !important;
    border-radius:50%;
    object-fit:cover;
    border:4px solid #FFD700;
    background:#fff;
    padding:0px;
}

.logo img:hover{
    transform:scale(1.08);
    box-shadow:0 0 20px rgba(255,215,0,0.8);
}

/* Menu */

.nav-links{
    display:flex;
    align-items:center;
    gap:45px;
}

.nav-links li{
    list-style:none;
}

.nav-links li a{
    color:#fff;
    font-size:22px;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
}

.nav-links li a:hover{
    color:#FFD700;
}
/*=============================
        HERO
=============================*/

.hero{
    width:100%;
    margin-top:150px;      /* Space below fixed navbar */
    margin-bottom:50px;    /* Space before About section */
}

.hero-image{
    width:100%;
    max-width:1200px;      /* Keeps image from becoming too large */
    height:350px;          /* Reduce height */
    object-fit:cover;
    display:block;
    margin:0 auto;         /* Center the image */
    border-radius:15px;
    box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

/*====================================
        MOBILE RESPONSIVE
=====================================*/

@media screen and (max-width:768px){

/* Navbar */

.navbar{
    width:100%;
}

.container{
    width:95%;
    height:auto;
    padding:15px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.logo{
    margin-bottom:15px;
}

.logo img{
    width:240px !important;
    height:90px !important;
    object-fit:contain;
    display:block;
    margin:0 auto;
}

.nav-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:15px;
}

.nav-links li a{
    font-size:16px;
}

/* Hero */

.hero{
    margin-top:180px;
    margin-bottom:40px;
    padding:0 10px;
}

.hero-banner{
    width:100%;
    height:auto;
    display:block;
    margin:auto;
    border-radius:15px;
}

/* About */

.about{
    padding:60px 20px;
}

.about-container{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.about-image,
.about-content{
    width:100%;
}

.about-image img{
    width:100%;
    height:auto;
}

.about-content{
    text-align:center;
}

.about-content h2{
    font-size:30px;
}

.about-content p{
    font-size:16px;
    line-height:28px;
}

/* Property */

.property{
    padding:60px 20px;
}

.property-container{
    display:grid;
    grid-template-columns:1fr;
    gap:25px;
}

.card img{
    width:100%;
    height:220px;
}

.card h3{
    font-size:22px;
}

.card p{
    font-size:16px;
}

/* Why Choose Us */

.why-us{
    padding:60px 20px;
}

.why-container{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
}

.why-card{
    padding:30px;
}

.section-title{
    font-size:32px;
}

/* Buttons */

.about-btn{
    display:inline-block;
    padding:12px 25px;
    font-size:16px;
}

}

/*====================================
        EXTRA SMALL MOBILE
=====================================*/

@media screen and (max-width:480px){

.logo img{
    width:75px !important;
    height:75px !important;
}

.nav-links{
    gap:10px;
}

.nav-links li a{
    font-size:15px;
}

.hero{
    margin-top:170px;
}

.section-title{
    font-size:28px;
}

.about-content h2{
    font-size:26px;
}

.about-content p{
    font-size:15px;
}

.card img{
    height:200px;
}

.card h3{
    font-size:20px;
}

.card p{
    font-size:15px;
}

}
/*=========================
ABOUT
==========================*/

.about{

padding:100px 10%;

background:#fff;

}

.about-container{

display:flex;

justify-content:space-between;

align-items:center;

gap:60px;

flex-wrap:wrap;

}

.about-image{

flex:1;

}

.about-image img{

width:100%;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.2);

}

.about-content{

flex:1;

}

.about-content h4{

color:#1b5e20;

letter-spacing:2px;

}

.about-content h2{

font-size:42px;

margin:20px 0;

}

.about-content p{

line-height:30px;

margin-bottom:20px;

}

.about-btn{

display:inline-block;

background:#1b5e20;

padding:15px 35px;

color:white;

border-radius:50px;

}

/*======================
PROPERTY
=======================*/

.property{

padding:100px 8%;

background:#f8f8f8;

}

.section-title{

text-align:center;

font-size:40px;

margin-bottom:60px;

color:#1b5e20;

}

.property-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.card{

background:white;

border-radius:15px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.15);

transition:.4s;

}

.card:hover{

transform:translateY(-10px);

}

.card img{

width:100%;

height:240px;

object-fit:cover;

}

.card h3{

padding:20px;

}

.card p{

padding:0 20px 20px;

}

.card a{

display:block;

background:#1b5e20;

color:white;

text-align:center;

padding:15px;

}

/*=========================
WHY US
==========================*/

.why-us{

padding:100px 8%;

background:white;

}

.why-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.why-card{

padding:40px;

background:#f8f8f8;

border-radius:20px;

text-align:center;

transition:.3s;

}

.why-card:hover{

background:#1b5e20;

color:white;

}

/*=====================
COUNTER
======================*/

.counter{

background:#1b5e20;

padding:80px;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

text-align:center;

color:white;

}

.counter-box h2{

font-size:50px;

color:#FFD700;

}

.counter-box p{

font-size:18px;

margin-top:10px;

}


.logo{
    display: flex;
    align-items: center;
}

.logo img{
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #FFD700;
    cursor: pointer;
    transition: 0.4s ease;
}

.logo img:hover{
    transform: scale(1.08);
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.8);
}


/*==========================
        ABOUT SECTION
==========================*/

.about{
    padding:100px 8%;
    background:linear-gradient(to bottom,#f8f8f8,#ffffff);
}

.about-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;
    flex-wrap:wrap;
}

.about-image{
    flex:1;
}

.about-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.about-content{
    flex:1;
}

.sub-title{
    color:#C59D09;
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.about-content h2{
    font-size:48px;
    color:#0f5132;
    margin:15px 0 25px;
}

.about-content p{
    font-size:18px;
    line-height:32px;
    color:#555;
    margin-bottom:20px;
}

.about-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-top:30px;
}

.feature-box{
    background:#f8f8f8;
    padding:25px;
    border-left:5px solid #C59D09;
    border-radius:12px;
    transition:.3s;
}

.feature-box:hover{
    transform:translateY(-8px);
    background:#0f5132;
    color:#fff;
}

.feature-box:hover p{
    color:#fff;
}

.feature-box h3{
    margin-bottom:12px;
    color:#C59D09;
}

/*=========================
    ABOUT HEADER
==========================*/


.about-header{
    width:100%;
    margin-top:0px;
    padding:60px 20px;
    background:#0f5132;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}



.about-overlay h1{
    color:#FFD700;
    font-size:50px;
    font-weight:700;
    margin-bottom:15px;
    text-shadow:none;
}

.about-overlay p{
    color:#fff;
    font-size:22px;
}
.about-overlay p{
    color:#fff;
    font-size:24px;
    letter-spacing:2px;
}

/* Mobile Responsive */
@media (max-width:768px){

    .about-header{
        height:250px;
        margin-top:100px;
    }

    .about-overlay h1{
        font-size:34px;
    }

    .about-overlay p{
        font-size:18px;
    }

}
/*==========================
        VISION
==========================*/

.vision-section{
    background:#0f5132;
    color:#fff;
    padding:90px 8%;
    text-align:center;
}

.vision-container{
    max-width:1100px;
    margin:auto;
}

.vision-container h2{
    font-size:42px;
    color:#FFD700;
    margin-bottom:25px;
}

.vision-container p{
    font-size:18px;
    line-height:32px;
    margin-bottom:20px;
}

.future-projects{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:45px;
}

.future-card{
    background:#fff;
    color:#0f5132;
    padding:22px;
    font-size:18px;
    font-weight:600;
    border-radius:15px;
    transition:.3s;
}

.future-card:hover{
    background:#FFD700;
    transform:translateY(-8px);
}

.note{
    margin-top:40px;
    font-size:15px;
    color:#ddd;
}

/*==========================
        MOBILE
==========================*/

@media(max-width:768px){

.about-container{
    flex-direction:column;
}

.about-content h2{
    font-size:34px;
}

.about-features{
    grid-template-columns:1fr;
}

.future-projects{
    grid-template-columns:1fr 1fr;
}

}


/*=================================
        PROJECT HEADER
==================================*/
/*=================================
        PROJECT HEADER
==================================*/

.project-header{
    margin-top:40px;
    background:linear-gradient(135deg,#0b3d2a,#0f5132,#1b6d45);
    padding:70px 8%;
    position:relative;
    overflow:hidden;
}

/* Decorative background circles */

.project-header::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:rgba(255,255,255,.05);
    border-radius:50%;
    top:-180px;
    right:-150px;
}

.project-header::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    background:rgba(255,215,0,.08);
    border-radius:50%;
    left:-120px;
    bottom:-120px;
}

/* Main Container */

.header-container{
    position:relative;
    z-index:2;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:70px;
}

/* Logo */

.header-logo img{

    width:190px;
    height:190px;

    border-radius:50%;

    background:white;

    padding:0px;

    border:5px solid #FFD700;

    object-fit:cover;

    box-shadow:0 20px 45px rgba(0,0,0,.35);

    transition:.4s;
}

.header-logo img:hover{

    transform:scale(1.05);

}

/* Right Content */

.header-content{

    flex:1;

}

.header-content span{

    display:inline-block;

    background:#FFD700;

    color:#0f5132;

    padding:10px 22px;

    border-radius:30px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:25px;
}

.header-content h1{

    font-size:62px;

    color:white;

    font-weight:800;

    margin-bottom:15px;

    line-height:1.1;
}

.gold-line{

    width:120px;

    height:5px;

    background:#FFD700;

    border-radius:50px;

    margin:20px 0;
}

.header-content h2{

    color:#FFD700;

    font-size:34px;

    margin-bottom:15px;
}

.header-content p{

    color:white;

    font-size:22px;

    opacity:.95;
}
/*=================================
        PROJECT HEADER
==================================*/

.project-header{
    margin-top:0px;
    background:linear-gradient(135deg,#0f5132,#1b5e20);
    color:white;
    text-align:center;
    padding:50px 20px;
}

.project-overlay h1{
    font-size:60px;
    color:#FFD700;
    font-weight:700;
    margin-bottom:15px;
    text-transform:uppercase;
}

.project-overlay p{
    font-size:28px;
    margin-bottom:10px;
    font-weight:500;
}

.project-overlay span{
    font-size:18px;
    color:#f2f2f2;
}

/*=================================
      PROJECT BANNER
==================================*/

.project-banner{
    width:90%;
    margin:60px auto;
}

.project-banner img{
    width:100%;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.25);
    transition:.4s;
}

.project-banner img:hover{
    transform:scale(1.02);
}

/*=================================
      PROJECT OVERVIEW
==================================*/

.project-overview{
    width:85%;
    margin:auto;
    padding:40px 0 80px;
}

.project-overview h2{
    text-align:center;
    font-size:42px;
    color:#0f5132;
    margin-bottom:30px;
    position:relative;
}

.project-overview h2::after{
    content:"";
    width:90px;
    height:4px;
    background:#FFD700;
    display:block;
    margin:12px auto;
}

.project-overview p{
    font-size:19px;
    color:#555;
    line-height:34px;
    margin-bottom:20px;
    text-align:center;
}

/*=================================
      MASTER PLAN
==================================*/

.master-plan{
    background:#f8f8f8;
    padding:90px 8%;
}

.master-plan h2{
    text-align:center;
    color:#0f5132;
    font-size:42px;
    margin-bottom:60px;
}

.master-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.master-card{
    background:white;
    border-radius:20px;
    padding:35px;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
    transition:.4s;
    border-top:5px solid #FFD700;
}

.master-card:hover{
    transform:translateY(-10px);
    background:#0f5132;
}

.master-card:hover h3,
.master-card:hover p{
    color:white;
}

.master-card h3{
    color:#0f5132;
    margin-bottom:15px;
    font-size:24px;
}

.master-card p{
    color:#666;
    line-height:28px;
}

/*=================================
      AMENITIES
==================================*/

.amenities{
    padding:90px 8%;
}

.amenities h2{
    text-align:center;
    color:#0f5132;
    font-size:42px;
    margin-bottom:60px;
}

.amenities-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
}

.amenities-grid div{
    background:white;
    padding:30px;
    border-radius:15px;
    text-align:center;
    font-size:20px;
    font-weight:600;
    box-shadow:0 10px 20px rgba(0,0,0,.12);
    transition:.3s;
}

.amenities-grid div:hover{
    background:#FFD700;
    color:#0f5132;
    transform:translateY(-8px);
}

/*=================================
      LOCATION
==================================*/

.location{
    background:#f8f8f8;
    padding:90px 8%;
}

.location h2{
    text-align:center;
    color:#0f5132;
    font-size:42px;
    margin-bottom:40px;
}

.location ul{
    max-width:800px;
    margin:auto;
    list-style:none;
}

.location ul li{
    background:white;
    padding:18px 25px;
    margin-bottom:18px;
    border-left:5px solid #FFD700;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    font-size:18px;
}

/*=================================
      CONTACT SECTION
==================================*/

.project-contact{
    padding:90px 20px;
    background:#0f5132;
    text-align:center;
    color:white;
}

.project-contact h2{
    font-size:45px;
    margin-bottom:20px;
}

.project-contact p{
    font-size:20px;
    margin-bottom:40px;
}

.project-btn{
    display:inline-block;
    background:#FFD700;
    color:#0f5132;
    padding:18px 45px;
    border-radius:50px;
    font-size:20px;
    font-weight:700;
    transition:.3s;
}

.project-btn:hover{
    background:white;
    transform:scale(1.05);
}

/*=================================
      MOBILE
==================================*/
@media(max-width:768px){

.project-header{

    margin-top:90px;

    padding:50px 25px;
}

.header-container{

    flex-direction:column;

    text-align:center;
}

.header-content{

    text-align:center;
}

.gold-line{

    margin:20px auto;
}

.header-logo img{

    width:140px;

    height:140px;
}

.header-content h1{

    font-size:36px;
}

.header-content h2{

    font-size:24px;
}

.header-content p{

    font-size:17px;
}

}


/*====================================
        CONTACT HEADER
====================================*/

.contact-header{
    margin-top:150px;
    background:linear-gradient(135deg,#0f5132,#1b5e20);
    padding:90px 20px;
    text-align:center;
    color:#fff;
}

.contact-overlay h1{
    font-size:48px;
    color:#FFD700;
    margin-bottom:20px;
}

.contact-overlay p{
    font-size:24px;
    margin-bottom:15px;
}

.contact-overlay span{
    font-size:18px;
    line-height:30px;
}

/*====================================
        TOP IMAGE
====================================*/

.contact-banner{
    width:90%;
    margin:50px auto;
}

.contact-banner img{
    width:100%;
    height:auto;
    object-fit:contain;
    display:block;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.2);
}
/*====================================
        CONTACT SECTION
====================================*/

.contact{
    padding:80px 8%;
    background:#f8f8f8;
}

.contact-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
    flex-wrap:wrap;
}

.contact-left{
    flex:1;
}

.contact-left h2{
    color:#0f5132;
    font-size:40px;
    margin-bottom:20px;
}

.contact-left>p{
    font-size:18px;
    color:#666;
    margin-bottom:40px;
    line-height:30px;
}

.contact-right{
    flex:1;
    text-align:center;
}

.contact-right img{
    width:100%;
    max-width:500px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.contact-box{
    display:flex;
    align-items:flex-start;
    gap:20px;
    background:white;
    margin-bottom:20px;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.1);
}

.contact-box i{
    font-size:28px;
    color:#FFD700;
    min-width:35px;
}

.contact-box h3{
    color:#0f5132;
    margin-bottom:10px;
}

.contact-box p{
    color:#555;
    line-height:28px;
}

.contact-btn{
    display:inline-block;
    margin-top:30px;
    background:#FFD700;
    color:#0f5132;
    padding:16px 40px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.contact-btn:hover{
    background:#0f5132;
    color:white;
}

/*====================================
        MOBILE
====================================*/

@media(max-width:768px){

.contact-header{
    margin-top:120px;
    padding:60px 20px;
}

.contact-overlay h1{
    font-size:32px;
}

.contact-overlay p{
    font-size:18px;
}

.contact-overlay span{
    font-size:16px;
}

.contact-banner{
    width:95%;
}

.contact-banner img{
    height:220px;
}

.contact-container{
    flex-direction:column;
}

.contact-left h2{
    font-size:30px;
}

.contact-right img{
    max-width:100%;
}

.contact-box{
    flex-direction:column;
    text-align:center;
    align-items:center;
}

.contact-btn{
    width:100%;
    text-align:center;
}

}