    *{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    outline: none;
    
}
body{
    
    font-family: system-ui, sans-serif;
}

.hero {
    position: relative;
    min-height: 100vh;
width: 100%;

    background-image: url("https://www.ihomes-realestate.com/wp-content/uploads/2026/07/ihomes-realestate-hero-section-index.jpg");
    background-size: cover;
    background-position: center;

    display: flex;
    align-items: center;
    overflow: hidden;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
}
.container-hero{
    max-width:1280px;
    margin-inline:auto;
    padding-inline:20px;
	width:100%;
    position:relative;
    z-index:2;
    display:flex;
}
.hero-content {
    max-width: 600px;
    color: white;
	margin-right:50px;
}
.hero-content h1 {
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.2;
    margin-bottom: 20px;
}
.hero-content h3 {
    font-size: 1.1rem;
    line-height: 2;
    margin: 20px 0;
}
.hero-buttons {
    display: flex;    gap: 15px;    flex-wrap: wrap;}
.btn-hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
	font-size:14px;
    transition: .3s;
	width:85%;
}
.btn-primary {
    background: #1d5c45;
    color:white;
}
.btn-primary:hover {
    transform: translateY(-3px);
}
.btn-outline {
    background: #dcc171;
    color:#222;
}
.btn-outline:hover {
   transform: translateY(-3px);
}
@media (max-width: 768px) {
  .hero-content {
     margin-inline-start: 30px;
     justify-content: center;
}
}

/* header  */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;

    background: transparent;
     transition: .3s;
     display: flex;
     justify-content: center;
}
.header.scrolled {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.header.scrolled a {
    color: #222 !important;
}

.header.scrolled .header-contact a {
    border-color: #222;
    color: #222;
}


/* MENU */
.nav {
    flex: 1;
    display: flex;
    justify-content: center;
   
}

.menu {
    display: flex;
    gap: 25px;
    list-style: none;
}

.menu > li {
    position: relative;
}

.menu a {
    color: white;
    text-decoration: none;
    font-size: 18px;
    transition: .3s;
    padding: 20px 0;
}

.menu a:hover {
   color: #dcc171;
}

/* SUB MENU */
.sub-menu {
    position: absolute;
    top: 30px;
    left: 0;

    background: white;
    min-width: 250px;

    list-style: none;
    padding: 10px 0;

    display: none;

    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.sub-menu li a {
    color: #222;
    display: block;
    padding: 10px 15px;
}



/* show hover desktop */
.menu li:hover > .sub-menu {
    display: block;
}

/* CONTACT */
.header-contact a {
    color: white;
    text-decoration: none;
    border: 2px solid white;
    padding: 10px 18px;
    border-radius: 6px;
}


/* MOBILE */
.menu-toggle {
    display: none;
    color: white;
    font-size: 28px;
    cursor: pointer;
}
.sub-toggle::after {
    content: " ▾";
    margin-inline-start: 3px;
    font-size: 18px;
}

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

    .menu-toggle {
        display: block;
    }

    .nav {
        position: fixed;
        top: 0;
        left: -100%;
        width: 80%;
        height: 100vh;

        background: white;

           display: block;

        padding: 80px 20px;

        transition: .3s;
    }

    .nav.active {
        left: 0;
    }

    .menu {
        flex-direction: column;
        gap: 0;
    }

    .menu a {
        color: #222;
        padding: 12px 0;
        display: block;
    }

    .header-contact {
        display: none;
    }

    /* sub menu mobile */
    .sub-menu {
        position: static;
        background: #f5f5f5;
        display: none;
    }

    .has-sub.active .sub-menu {
        display: block;
    }

    
}
.blog-section {

    background: rgb(236, 236, 236);

    padding-block: 80px;
   
}


/* Header */

.blog-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    flex-wrap: wrap;

    margin-block-end: 40px;
}


.blog-header h2 {

    font-size: clamp(2rem, 3vw, 2.8rem);

    color: #222;
}


.blog-btn {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    background: #1d5c45;

    color: white;

    text-decoration: none;

    padding: 12px 22px;

    border-radius: 6px;

    transition: .3s;
}


.blog-btn:hover {

    transform: translateY(-2px);
}


/* Grid */

.blog-grid {

   
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;

}


/* Card */

.blog-card {

    display: flex;

    align-items: center;

    gap: 20px;

    background: white;

    border-radius: 10px;

    padding: 16px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);
    /*flex-wrap: wrap;*/
}
.blog-card:hover{
    background-color: #fff3d1 ;
}


.blog-card img {

    width: 220px;
	height:auto; 
    border-radius: 10px;     
}
.blog-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.blog-content h3 {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #222;
}
.read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1d5c45;
    text-decoration: none;
    font-weight: 600;	
}
.blog-content span{
    font-size: 22px;
}

@media (max-width: 768px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }

    .blog-card {
        flex-direction: column;
        align-items: stretch;
    }

    .blog-card img {
        width: 100%;
		height:auto;
    }
}

.footer {

    background: #262626 ;

    color: #d9d9d9;

    padding-block: 60px 30px;
    /* width: 100vw; */
}


.footer hr {

    border: none;

    height: 1px;

    background: rgba(255,255,255,.08);

    margin-block: 40px;
}


/* TOP */

.footer-top {

    display: flex;

    justify-content: space-between;

    align-items: center;

    flex-wrap: wrap;

    gap: 40px;
}


/* .footer-brand {

    flex: 1 1 450px;
} */




.footer-brand p {

    max-width: 550px;

    line-height: 1.9;
   
}


.footer-social {

    text-align: start;
}


.footer-social h3 {

    margin-block-end: 16px;

    color: #7ccda0;
}


.social-icons {

    display: flex;

    justify-content: flex-end;

    gap: 12px;
}


.social-icons a {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(255,255,255,.08);

    color: white;

    text-decoration: none;

    transition: .3s;
}


.social-icons a:hover {

    transform: translateY(-3px);
}


/* LINKS */

.footer-links {

    display: flex;

    flex-wrap: wrap;

    gap: 50px;
    justify-content: space-between;
}


.footer-column {

    min-width: 180px;

    display: flex;

    flex-direction: column;

    gap: 12px;
}


.footer-column h4 {

    color: #dcc171 ;

    margin-block-end: 10px;

    font-size: 1rem;
    
}


.footer-column a {

    color: #cfcfcf;

    text-decoration: none;

    transition: .3s;
}


.footer-column a:hover {

    color: white;

    transform: translateX(4px);
}


/* COPYRIGHT */

.footer-bottom {

    text-align: center;
}


.footer-bottom p {

    margin: 0;

    font-size: .95rem;

    color: #aaa;
}

.featured-properties{

    background:#f5f5f5;

    padding-block:80px;
}


/* title */

.section-heading{

    text-align:center;

    margin-block-end:50px;
}

.section-heading h2{

    font-size:clamp(2rem,4vw,2.8rem);

    color:#222;

    margin-block-end:15px;
}

.section-heading p{

    color:#666;

    max-width:700px;

    margin-inline:auto;

    line-height:1.9;
}



/* GRID */

.property-grid{

    display:grid;

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

    gap:30px;
}



/* CARD */

.property-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.07);

    transition:.35s;
}



/* IMAGE */

.property-image{

    position:relative;

    overflow:hidden;
}

.property-image img{

    width:100%;

    aspect-ratio:1.7;

    object-fit:cover;

    display:block;

    transition:.45s;
}

.property-card:hover img{

    transform:scale(1.08);
}



/* BADGES */

.property-badges{

    position:absolute;

    inset-block-start:18px;

    inset-inline-start:18px;

    display:flex;

    gap:10px;
}

.badge{

    padding:8px 18px;

    border-radius:30px;

    color:#fff;

    font-size:.85rem;

    font-weight:600;
}

.sale{

    background:#1d5c45;
}

.vip{

    background:#c8a24a;
}



/* CONTENT */

.property-content{

    padding:24px;
}

.property-content h3{

    color:#222;

    line-height:1.7;

    margin-block-end:18px;

    text-align:start;
}



/* divider */

.property-divider{

    width:100%;

    height:1px;

    background:#e2e2e2;

    margin-block-end:18px;
}



/* info */

.property-info{

    display:flex;

    flex-direction:column;

    gap:14px;
}

.info-item{

    display:flex;

    align-items:center;

    gap:10px;

    color:#555;
}

.info-item i{

    width:20px;

    text-align:center;

    color:#1d5c45;
}

.price{

    color:#c8a24a;

    font-weight:700;

    font-size:1.05rem;
}

.price i{

    color:#c8a24a;
}

.services{

    position: relative;

    padding-block: 90px;

    isolation: isolate;
    background:#0e2a20;
}

.services::before{

    content:"";

    position:absolute;

    inset-inline:0;

    inset-block-start:0;

    height:82%;

    background:#e9e9e9;

    z-index:-1;
}




/* title */

.section-title{

    text-align:center;

    max-width:720px;

    margin-inline:auto;

    margin-block-end:60px;
}

.section-title h2{

    font-size:clamp(2rem,4vw,2.8rem);

    margin-block-end:16px;
}

.section-title p{

    color:#666;

    line-height:1.9;
}



/* grid */

.services-grid{

    display:grid;

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

    gap:30px;

    margin-block-end:70px;
}



/* card */

.service-card{

    display:flex;

    flex-direction:column;
}



/* image */

.service-image{

    position:relative;

    overflow:hidden;

    border-radius:10px;
}

.service-image img{

    width:100%;

    aspect-ratio:1.7;

    object-fit:cover;

    display:block;

    transition:.45s;
}

.service-card:hover img{

    transform:scale(1.08);
}



/* circle */

.service-link{

    position:absolute;

    inset-inline-end:20px;

    inset-block-end:20px;

    width:58px;

    aspect-ratio:1;

    border-radius:50%;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#1d5c45;

    text-decoration:none;

    font-size:18px;

    transition:.3s;
}

.service-card:hover .service-link{

    transform:scale(1.1);
}



/* content */

.service-content{

    margin-block-start:22px;

    padding:25px;

    background:#ffffff;

    border-radius:10px;

   
    box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 15px;
    /* box-shadow:0 8px 25px rgba(0,0,0,.07); */
}

.service-content h3{

    margin-block-end:14px;

    color:#222;
}

.service-content p{

    color:#666;

    line-height:1.8;
}



/* stats */

.stats-box{

    background:#dcc171 ;

    border-radius:10px;

    display:grid;

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

    overflow:hidden;
}

.stat-item{

    padding:35px 20px;

    text-align:center;

    color:#202020;

    border-inline-end:1px solid rgba(154, 154, 154, 0.35);
}

.stat-item:last-child{

    border:none;
}

.stat-item h3{

    font-size:2.7rem;

    margin-block-end:10px;
}

.stat-item p{

    letter-spacing:.5px;
}

.about-section{

    background:#fff;

    padding-block:90px;
}


/* Grid */

.about-grid{

    display:grid;

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

    gap:60px;

    align-items:center;
}


/* Content */

.about-content{

    display:flex;

    flex-direction:column;

    gap:20px;
}


.section-label{

    color:#1d5c45;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;
}


.about-content h2{

    font-size:clamp(2rem,4vw,3rem);

    color:#222;

    line-height:1.3;
}


.about-content p{

    color:#666;

    line-height:2;
}


/* Button */

.about-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    align-self:flex-start;

    background:#1d5c45;

    color:#fff;

    text-decoration:none;

    padding:14px 26px;

    border-radius:10px;

    transition:.3s;
}

.about-btn:hover{

    transform:translateY(-3px);
}


/* Image */

.about-image{

    overflow:hidden;

    border-radius:20px;
}

.about-image img{

    width:100%;

    aspect-ratio:1.2;

    object-fit:cover;

    display:block;
}

.locations-section{

    background:#f5f5f5;

    padding-block:90px;
}


/* title */

.section-title{

    text-align:center;

    max-width:720px;

    margin-inline:auto;

    margin-block-end:55px;
}

.section-title h2{

    font-size:clamp(2rem,4vw,2.8rem);

    color:#222;

    margin-block-end:15px;
}

.section-title p{

    color:#666;

    line-height:1.9;
}



/* grid */

.locations-grid{

    display:grid;

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

    gap:30px;
}



/* card */

.location-card{

    position:relative;

    overflow:hidden;

    border-radius:6px 30px 30px 30px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);
}


.location-card img{

    width:100%;

    aspect-ratio:.8;

    object-fit:cover;

    display:block;

    transition:.45s;
}

.location-card:hover img{

    transform:scale(1.08);
}



/* floating box */

.location-box{

    position:absolute;

    inset-inline:18px;

    inset-block-end:18px;

    background:#fff;

    border-radius: 200px;

    padding:18px 20px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-decoration:none;

    color:#222;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.3s;
}

.location-box:hover{

    transform:translateY(-4px);
}


.location-box h3{

    font-size:1.1rem;

    font-weight:600;
}


.location-box i{

    color:#1d5c45;

    font-size:18px;
}

.villa-section{

    background:#ffffff;

    padding-block:100px;
}


/* GRID */

.villa-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    align-items:center;
    
}




/* IMAGE */

.villa-image{

    overflow:hidden;

    border-radius:10px;

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

.villa-image img{

    width:100%;

    aspect-ratio:.9;

    object-fit:cover;

    display:block;
}



/* CONTENT */

.villa-content{

    position:relative;

    z-index:2;

    background:#fff;

    padding:55px;

    border:8px solid #c9a44b;

    border-radius:10px;

    margin-inline-end:-50px;

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


.section-label{

    color:#1d5c45;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    display:block;

    margin-block-end:18px;
}


.villa-content h2{

    font-size:clamp(2rem,4vw,3rem);

    color:#222;

    line-height:1.25;

    margin-block-end:20px;
}


.villa-content p{

    color:#666;

    line-height:2;

    margin-block-end:35px;
}



/* BUTTON */

.villa-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:16px 28px;

    border-radius:12px;

    background:#1d5c45;

    color:#fff;

    text-decoration:none;

    transition:.35s;
}

.villa-btn:hover{

    transform:translateY(-3px);
}

@media (max-width: 768px) {
    .villa-content{
    margin-inline-end:0;
margin-bottom: 40px;}
}

    
    
