/*==================================
Hero Section
===================================*/

:root{
    --theme_color:#c8a96a;
    --theme_dark:#0f172a;
    --theme_white:#ffffff;
    --theme_text:#d7d7d7;
    --theme_border:rgba(255,255,255,.15);
    --theme_overlay:rgba(0,0,0,.58);
    --theme_radius:1.25rem;
    --white:#fff;
}

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

html{
    font-size:16px;
}

body{
    font-family:"Inter",sans-serif;
    color:#fff;
    overflow-x:hidden;
}

img{
    display:block;
    width:100%;
}

a{
    text-decoration:none;
}

/* .container{
    width:min(90%,80rem);
    margin:auto;
} */

.container{
    padding-inline: 2.5rem;
    width: 100%;
    max-width: calc(1520px + calc(2.5rem * 2));
    margin: 0 auto;
}
.color_white {color: var(--white);}
.color_theme {color: var(--theme_color);}

.header_inner{display:flex;justify-content:space-between;align-items:center}
.header_menu ul{display:flex;gap:2rem}
.header_menu ul li a{color:var(--white);transition:.5s;     font-size: 1.1rem;
    font-weight: 500;}
.header_menu ul li a::before {    content: '';
    border-radius: 20px;
    transition:.5s;
    height: 8px;
    width: 8px;
    display: inline-block;
    background-color: var(--white);
    margin-right: 6px;
    position: relative;
    top: -1px;}
    .header_menu ul li a:hover, .header_menu ul li a.active {color: var(--theme_color) !important;}
    .header_menu ul li a:hover:before, .header_menu ul li a.active:before {background-color: var(--theme_color);}
.header_menu ul li a:hover{color:var(--secondary-color)}
header{padding:1.2rem 0;position:fixed;top:0;z-index:99;width:100%;transition:.5s; }
.logo img{transition:.5s; height: 3.5rem; transition: 0.5s;}
/* body {padding-top: var(--top-header-height);} */
html {        scroll-behavior: smooth;}
html, body { scroll-padding-top: calc(var(--top-header-height) - 1rem);}
.menu_toggle, .mobile_menu_close {
    display: none;
}
header::before {
    content: '';
    height: 0;
        z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: 0.5s;
    background-color: #000000c7;
    backdrop-filter: blur(8px);
}
header.header_sticky:before  {height: 100%;  }
header.header_sticky .logo img {height: 3rem;}
.header_menu ul {list-style: none;}

/*==================================
Hero
===================================*/

.hero_section{

    position:relative;

   

    display:flex;

    align-items:center;

}

/* Slider */

.hero_slider{

    position:absolute;

    inset:0;

    z-index:1;

}

.hero_slider .swiper-slide{

    overflow:hidden;

}

.hero_bg{

    width:100%;

    height:100%;

}

.hero_bg img{

    width:100%;

    height:100%;

    object-fit:cover;

    transform:scale(1);

    transition:8s;

}

.hero_section .swiper-slide-active img{

    transform:scale(1.08);

}

/* Overlay */

.hero_overlay{

    position:absolute;

    inset:0;

   background: linear-gradient(90deg, rgb(0 0 0 / 19%) 0%, rgb(0 0 0 / 35%) 45%, rgba(0, 0, 0, .45) 100%);

    z-index:2;

}

/*==================================
Content
===================================*/

.hero_wrapper{

    position:relative;

    z-index:5;

    display:grid;

    grid-template-columns:1.3fr .8fr;

    align-items:center;

    gap:4rem;

    min-height:100vh;

    padding:8rem 0 5rem;

}

.hero_left{

    max-width:42rem;

}

/* Badge */

.hero_badge{

    display:inline-flex;

    align-items:center;

    gap:.5rem;

    padding:.75rem 1.25rem;

    border-radius:3rem;

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

    backdrop-filter:blur(1rem);

    border:.0625rem solid rgba(255,255,255,.12);

    font-size:.875rem;

    letter-spacing:.08rem;

    text-transform:uppercase;

    margin-bottom:2rem;

    color:#fff;

}

/* Heading */

.hero_left h1{

    font-family:"Playfair Display",serif;

    font-size:4.5rem;

    line-height:1.1;

    font-weight:600;

    margin-bottom:1.5rem;

}

.hero_left h1 span{

    color:var(--theme_color);

    display:block;

}

/* Description */

.hero_left p{

    font-size:1.125rem;

    line-height:1.9;

    color:var(--theme_text);

    max-width:37rem;

    margin-bottom:2.5rem;

}

/*==================================
Hero Buttons
===================================*/

.hero_button_group{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:3rem;
}

.btn_theme,
.btn_outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:12.5rem;
    height:3.75rem;
    padding:0 2rem;
    border-radius:3.125rem;
    font-size:1rem;
    font-weight:600;
    transition:.35s ease;
}

.btn_theme{
    background:var(--theme_color);
    color:#fff;
    border:.0625rem solid var(--theme_color);
}

.btn_theme:hover{
    background:#b38d4f;
    border-color:#b38d4f;
    transform:translateY(-0.25rem);
    box-shadow:0 1rem 2rem rgba(0,0,0,.25);
}

.btn_outline{
    border:.0625rem solid rgba(255,255,255,.4);
    color:#fff;
    background:transparent;
}

.btn_outline:hover{
    background:#fff;
    color:#111;
    transform:translateY(-0.25rem);
}

/*==================================
Project Stats
===================================*/

.hero_info{
    display:flex;
    flex-wrap:wrap;
    gap:1.5rem;
}

.hero_info_item{
    min-width:8.75rem;
    padding:1.5rem;
    border-radius:1rem;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(1rem);
    border:.0625rem solid rgba(255,255,255,.12);
    transition:.35s;
}

.hero_info_item:hover{
    transform:translateY(-0.5rem);
    background:rgba(255,255,255,.12);
}

.hero_info_item h3{
    font-size:2rem;
    color:var(--theme_color);
    margin-bottom:.4rem;
}

.hero_info_item span{
    font-size:.95rem;
    color:#ddd;
}

/*==================================
Right Side
===================================*/

.hero_right{
    display:flex;
    justify-content:flex-end;
}

/*==================================
Glass Form
===================================*/

.hero_form{

    width:100%;
    max-width:27rem;

    padding:2.5rem;

    border-radius:1.5rem;

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

    backdrop-filter:blur(1.25rem);

    border:.0625rem solid rgba(255,255,255,.15);

    box-shadow:
    0 1.5rem 3rem rgba(0,0,0,.25);

}

.hero_form h2{

    font-size:2rem;

    margin-bottom:.5rem;

    color:#fff;

}

.hero_form p{

    font-size:1rem;

    color:#d7d7d7;

    margin-bottom:2rem;

    line-height:1.7;

}

/*==================================
Inputs
===================================*/

.form_group{

    margin-bottom:1rem;

}

.hero_form input,
.hero_form select{

    width:100%;

    height:3.5rem;

    border:none;

    outline:none;

    border-radius:.75rem;

    padding:0 1rem;

    font-size:1rem;

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

    color:#fff;

    border:.0625rem solid rgba(255,255,255,.15);

    transition:.3s;

}

.hero_form input::placeholder{

    color:#d8d8d8;

}

.hero_form select{

    cursor:pointer;

}

.hero_form option{

    color:#222;

}

/* Focus */

.hero_form input:focus,
.hero_form select:focus{

    border-color:var(--theme_color);

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

}

/*==================================
Submit Button
===================================*/

.form_btn{

    width:100%;

    height:3.75rem;

    border:none;

    cursor:pointer;

    border-radius:3rem;

    margin-top:.75rem;

    font-size:1rem;

    font-weight:700;

    background:var(--theme_color);

    color:#fff;

    transition:.35s;

}

.form_btn:hover{

    background:#b38d4f;

    transform:translateY(-0.2rem);

    box-shadow:0 1rem 2rem rgba(0,0,0,.3);

}

/*==================================
Scroll Down
===================================*/

.scroll_down{

    position:absolute;

    left:50%;

    bottom:2rem;

    transform:translateX(-50%);

    z-index:6;

    color:#fff;

    font-size:.875rem;

    letter-spacing:.2rem;

    text-transform:uppercase;

    animation:scroll_move 2s infinite;

}

@keyframes scroll_move{

    0%{
        transform:translate(-50%,0);
    }

    50%{
        transform:translate(-50%,.75rem);
    }

    100%{
        transform:translate(-50%,0);
    }

}




/*==================================
Responsive - Large Desktop
===================================*/

@media (max-width: 90rem){

    .hero_left h1{
        font-size:4rem;
    }

}

/*==================================
Laptop
===================================*/

@media (max-width: 75rem){

    .hero_wrapper{
        gap:2.5rem;
    }

    .hero_left h1{
        font-size:3.5rem;
    }

    .hero_form{
        max-width:24rem;
    }

}

/*==================================
Tablet
===================================*/

@media (max-width: 62rem){

    .hero_wrapper{

        grid-template-columns:1fr;

        padding:8rem 0 4rem;

        gap:3rem;

    }

    .hero_left{

        max-width:100%;

        text-align:center;

    }

    .hero_button_group{

        justify-content:center;

        flex-wrap:wrap;

    }

    .hero_info{

        justify-content:center;

    }

    .hero_right{

        justify-content:center;

    }

}

/*==================================
Mobile
===================================*/

@media (max-width: 48rem){

    .hero_section{

        min-height:auto;

    }

    .hero_wrapper{

        padding:7rem 0 3rem;

    }

    .hero_left h1{

        font-size:2.5rem;

    }

    .hero_left p{

        font-size:1rem;

        line-height:1.8;

    }

    .hero_badge{

        font-size:.75rem;

    }

    .hero_button_group{

        flex-direction:column;

        width:100%;

    }

    .btn_theme,
    .btn_outline{

        width:100%;

    }

    .hero_info{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:1rem;

    }

    .hero_info_item{

        min-width:auto;

        text-align:center;

    }

    .hero_form{

        padding:2rem;

    }

}

/*==================================
Small Mobile
===================================*/

@media (max-width: 36rem){

    .hero_left h1{

        font-size:3rem;

    }

    .hero_info{

        grid-template-columns:1fr;

    }

    .hero_form{

        padding:1.5rem;

    }

    .scroll_down{

        display:none;

    }

}


/*==================================
Overview Section
===================================*/

.overview_section{

    padding:7rem 0;

    background:#f8f8f8;

}

.overview_wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:5rem;

    align-items:center;

}

.overview_image{

    overflow:hidden;
    height: 100%;
    border-radius:1.5rem;

    box-shadow:0 2rem 4rem rgba(0,0,0,.08);

}

.overview_image img{

    width:100%;
height: 100%;
    object-fit: cover;
    display:block;

    transition:.6s;

}

.overview_image:hover img{

    transform:scale(1.08);

}

.section_badge{

    display:inline-block;

    padding:.7rem 1.3rem;

    border-radius:2rem;

    background:#efe4cf;

    color:#9d7538;

    font-size:.875rem;

    font-weight:600;

    text-transform:uppercase;

    margin-bottom:1.5rem;

}

.overview_content h2{

    font-family:"Playfair Display",serif;

    font-size:3rem;

    line-height:1.2;

    margin-bottom:1.5rem;

    color:#111;

}

.overview_content h2 span{

    color:var(--theme_color);

}

.overview_content p{

    font-size:1.0625rem;

    line-height:2;

    color:#666;

       margin-bottom: 0.5rem;

}

.overview_list{

    list-style:none;

    margin-bottom:2.5rem;

}

.overview_list li{

    position:relative;

    padding-left:2rem;

    margin-bottom:1rem;

    color:#444;

    font-size:1rem;

}

.overview_list li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--theme_color);

    font-weight:700;

}

@media(max-width:62rem){

    .overview_wrapper{

        grid-template-columns:1fr;

    }

}


/*==================================
Specifications Section
===================================*/

.specification_section{

    padding:7rem 0;

   

}

.section_heading{

    text-align:center;

    max-width:50rem;

    margin:0 auto 4rem;

}

.section_badge{

    display:inline-block;

    padding:.75rem 1.5rem;

    background:#f3ebdd;

    color:#b78944;

    border-radius:3rem;

    font-size:.875rem;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.08rem;

    margin-bottom:1rem;

}

.section_heading h2{

    font-family:"Playfair Display",serif;

    font-size:3rem;

    color:#1b1b1b;

    margin-bottom:1rem;

}

/* .section_heading h2 span{

    color:var(--theme_color);

} */

.section_heading p{

    color:#666;

    font-size:1.0625rem;

    line-height:1.8;

}

/*==================================
Grid
===================================*/

.specification_grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:2rem;

}

/*==================================
Card
===================================*/

.specification_card{

    background:#fff;

    padding:2.5rem;

    border-radius:1.5rem;

    border:.0625rem solid #ececec;

    transition:.35s;

    position:relative;

    overflow:hidden;

    box-shadow:0 1rem 2rem rgba(0,0,0,.04);

}

.specification_card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:.35rem;

    height:0;

    background:#c59d5f;

    transition:.4s;

}

.specification_card:hover{

    transform:translateY(-.75rem);

    box-shadow:0 2rem 3rem rgba(0,0,0,.12);

}

.specification_card:hover::before{

    height:100%;

}

.specification_icon{

    width:5rem;

    height:5rem;

    border-radius:50%;

    background:#faf5ec96;
    border: solid 1px #dadada;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:1.5rem;

}

.specification_icon img{

    width:2.5rem;

    height:2.5rem;

}

.specification_card h3{

    font-size:1.5rem;

    margin-bottom:1.5rem;

    color:#222;

}

.specification_card ul{

    list-style:none;

}

.specification_card ul li{

    position:relative;

    padding-left:1.6rem;

    margin-bottom:1rem;

    color:#666;

    line-height:1.8;

}

.specification_card ul li::before{

    content:"✔";

    position:absolute;

    left:0;

    color:#c59d5f;

    font-weight:700;

}

/*==================================
Responsive
===================================*/

@media(max-width:62rem){

    .specification_grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:48rem){

    

    .section_heading h2{

        font-size:2.2rem;

    }

    .specification_card{

        padding:2rem;

    }

}

/*==================================
Gallery Section
==================================*/

.gallery_section{

    padding:7rem 0;

background: #111;

    overflow:hidden;

}

.gallery_grid {
    display: grid;
    grid-template-columns: 1.9fr 1fr 1fr;
    grid-template-rows: repeat(2, 296px);
    gap: 20px;
}

.gallery_grid .gallery_item {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
     height: 100%;
}

.gallery_grid .gallery_item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/* First item - Large */
.gallery_grid .gallery_item:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
}

/* Second item */
.gallery_grid .gallery_item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

/* Third item */
.gallery_grid .gallery_item:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
}

/* Fourth item - Large */
.gallery_grid .gallery_item:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
}

/* Fifth item */
.gallery_grid .gallery_item:nth-child(5) {
    grid-column: 2;
    grid-row: 2;
}

/* Sixth item */
.gallery_grid .gallery_item:nth-child(6) {
    grid-column: 3;
    grid-row: 2;
}

/* .gallery_large{

    grid-row:span 2;

    height:42rem;

} */

.gallery_item{

    position:relative;

    overflow:hidden;

    border-radius:1.5rem;

    display:block;

    height:20rem;

    box-shadow:0 1rem 2rem rgba(0,0,0,.08);

}

.gallery_item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.7s;

}

.gallery_item:hover img{

    transform:scale(1.12);

}

.gallery_overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    padding:2rem;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.75)
    );

    opacity:0;

    transition:.35s;

}

.gallery_item:hover .gallery_overlay{

    opacity:1;

}

.gallery_overlay h3{

    color:#fff;

    font-size:1.5rem;

    font-weight:600;

}

.gallery_btn{

    margin-top:3rem;

    text-align:center;

}

/*=========================
Responsive
=========================*/

@media(max-width:62rem){

    .gallery_grid{

        grid-template-columns:1fr 1fr;

    }

    .gallery_large{

        grid-row:auto;

        grid-column:span 2;

        height:25rem;

    }

}

@media(max-width:48rem){

    .gallery_grid{

        grid-template-columns:1fr;

    }

    .gallery_large{

        grid-column:auto;

    }

    .gallery_item{

        height:18rem;

    }

}

/*==================================
Location Section
===================================*/

.location_section{

    padding:7rem 0;

    background:#faf9f7;

}

.location_wrapper{

    display:grid;

    grid-template-columns:1.15fr .85fr;

    gap:3rem;

    align-items:center;

    margin-top:4rem;

}

/*========================*/

.location_map{

    position:relative;

    overflow:hidden;

    border-radius:1.5rem;

    box-shadow:0 2rem 4rem rgba(0,0,0,.08);

}

.location_map img{

    width:100%;

    display:block;

    transition:.5s;

}

.location_map:hover img{

    transform:scale(1.05);

}

.location_btn{

    position:absolute;

    left:2rem;

    bottom:2rem;

    background:#c8a25b;

    color:#fff;

    padding:1rem 2rem;

    border-radius:3rem;

    text-decoration:none;

    font-weight:600;

}

/*========================*/

.location_content{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:1rem;

}

.location_card{

    background:#fff;

    border:.0625rem solid #ececec;

    border-radius:1.25rem;

    padding:1.5rem;

    display:flex;

    align-items:center;

    gap:1rem;

    transition:.35s;

    box-shadow:0 .75rem 2rem rgba(0,0,0,.05);

}

.location_card:hover{

    transform:translateY(-.5rem);

    border-color:#c8a25b;

    box-shadow:0 1.5rem 3rem rgba(0,0,0,.12);

}

.location_card span{

    width:3.5rem;
padding: 10px;
    height:3.5rem;

    border-radius:50%;

    background:#f6efe3;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.5rem;

    flex-shrink:0;

}

.location_card h4{

    font-size:1.125rem;

    margin-bottom:.4rem;

    color:#222;

}

.location_card p{

    color:#777;

    font-size:.95rem;

}

/*========================*/

@media(max-width:62rem){

    .location_wrapper{

        grid-template-columns:1fr;

    }

    .location_content{

        grid-template-columns:1fr 1fr;

    }

}

@media(max-width:48rem){

    .location_content{

        grid-template-columns:1fr;

    }

}

/*==================================
Site Plan Section
==================================*/

.site_plan_section{

    padding:7rem 0;

   

}

.site_plan_wrapper{

    display:grid;

    grid-template-columns:1.4fr .9fr;

    gap:3rem;

    align-items:center;

    margin-top:4rem;

}

/*======================*/

.site_plan_image{

    position:relative;

    overflow:hidden;

    border-radius:1.5rem;

    box-shadow:0 2rem 4rem rgba(0,0,0,.08);

}

.site_plan_image img{

    width:100%;

    display:block;

    transition:.5s;

}

.site_plan_image:hover img{

    transform:scale(1.05);

}

.zoom_badge{

    position:absolute;

    left:2rem;

    bottom:2rem;

    background:rgba(0,0,0,.75);

    color:#fff;

    padding:.8rem 1.5rem;

    border-radius:3rem;

    font-size:.875rem;

}

/*======================*/

.site_plan_content{

    display:flex;

    flex-direction:column;

    gap:1.5rem;

}

.site_plan_content h3{

    font-size:2rem;

    margin-bottom:.5rem;

}

.plan_feature{

    display:flex;

    gap:1rem;

    align-items:flex-start;

    background:#fff;

    padding:1.5rem;

    border-radius:1rem;

    box-shadow:0 .8rem 2rem rgba(0,0,0,.05);

    transition:.35s;

}

.plan_feature:hover{

    transform:translateY(-.4rem);

    box-shadow:0 1.5rem 3rem rgba(0,0,0,.12);

}

.plan_feature span{

    width:3.5rem;

    height:3.5rem;

    display:flex;

    align-items:center;

    justify-content:center;
    padding: 8px;
    background:#f6efe3;

    border-radius:50%;

    font-size:1.4rem;

    flex-shrink:0;

}

.plan_feature h4{

    font-size:1.125rem;
    color: var(--theme_color);
    margin-bottom:.5rem;

}

.plan_feature p{

    color:#666;

    line-height:1.8;

}

/*======================*/

@media(max-width:62rem){

    .site_plan_wrapper{

        grid-template-columns:1fr;

    }

}

.floor_plan_section{

    padding:7rem 0;

    background:#faf9f6;

}

.floor_filter{

    display:flex;

    justify-content:center;

    gap:1rem;

    margin:3rem 0;

    flex-wrap:wrap;

}

.floor_filter button{

    padding:1rem 2rem;

    border:none;

    border-radius:3rem;

    background:#ece6dc;

    cursor:pointer;

    transition:.35s;

}

.floor_filter button.active{

    background:#c8a25b;

    color:#fff;

}

.floor_card{

    display:grid;

    grid-template-columns:1.4fr .8fr;

    gap:2rem;

    background:#fff;

    border-radius:2rem;

    overflow:hidden;

    box-shadow:0 2rem 4rem rgba(0,0,0,.08);

}

.floor_image{

  
    overflow: hidden;
    background:#f8f8f8;

}

.floor_image img{

    width:100%;

    transition:.4s;

}

.floor_image:hover img{

    transform:scale(1.05);

}

.floor_content{
color: #222;
    padding:3rem;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.floor_content h3{

    font-size:2rem;

    margin:1rem 0;

}

.floor_content ul{

    margin:2rem 0;

    padding-left:1.2rem;

}

.floor_content li{

    margin-bottom:1rem;

}
.nav_slider_wrap  {display: flex; gap: 1rem; justify-content: flex-end; margin-bottom: 1.5rem;}
.nav_slider_wrap > div{background: var(--theme_color);
    width: 3rem;
    height: 3rem;
    position: static;transform: rotate(180deg);
    border-radius: 400px;}
.nav_slider_wrap > div:after {font-size: 20px; color: var(--white);}

@media(max-width:62rem){

    .floor_card{

        grid-template-columns:1fr;

    }

}

/*==================================
Amenities Section
==================================*/

.amenities_section{

    padding:7rem 0;

   

}

.amenities_grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

    margin-top:4rem;

}

.amenity_card{

    position:relative;

    overflow:hidden;

    border-radius:1.5rem;

    text-decoration:none;

    min-height:24rem;

    box-shadow:0 1.5rem 3rem rgba(0,0,0,.08);

}
.amenity_card .icon {width: 2.5rem;}
.amenity_card img:not(.icon){

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.amenity_card:hover img{

    transform:scale(1.08);

}

.amenity_overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:2rem;
    transition: 0.5s;
    color:#fff;

    background:linear-gradient(to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.15),
        transparent);

    transition:.35s;

}

.amenity_card:hover .amenity_overlay{

    background:linear-gradient(to top,
        rgba(200,162,91,.92),
        rgba(0,0,0,.25),
        transparent);

}

.amenity_overlay span{
padding: 10px;
    width:4rem;

    height:4rem;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

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

    backdrop-filter:blur(.5rem);

    font-size:1.5rem;

    margin-bottom:1rem;

}

.amenity_overlay h3{

    font-size:1.5rem;

    margin-bottom:.75rem;

}

.amenity_overlay p{

    line-height:1.8;

    opacity:.95;

}

@media(max-width:62rem){

    .amenities_grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:48rem){

    .amenities_grid{

        grid-template-columns:1fr;

    }

}

/*====================================
Footer
====================================*/

.footer_section{

    background:#111;

    color:#fff;

    padding:5rem 0 0;

}

.footer_top{

    display:grid;

    grid-template-columns:1.2fr .8fr 1fr 1.2fr;

    gap:3rem;

    padding-bottom:4rem;

}

.footer_logo{

    width:20rem;

    margin-bottom:2rem;

}
.footer_contact a {color: var(--white);}
.footer_about p{

    color:#bdbdbd;

    line-height:1.9;

    margin-bottom:2rem;

}

.footer_btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:1rem 2rem;

    background:#c8a25b;

    color:#fff;

    text-decoration:none;

    border-radius:3rem;

    transition:.3s;

}

.footer_btn:hover{

    background:#fff;

    color:#111;

}

.footer_section h3{

    font-size:1.35rem;

    margin-bottom:2rem;

    color:#c8a25b;

}

.footer_links ul,
.footer_contact ul{

    list-style:none;

}

.footer_links li{

    margin-bottom:1rem;

}

.footer_links a{

    color:#d5d5d5;

    text-decoration:none;

    transition:.3s;

}

.footer_links a:hover{

    color:#c8a25b;

    padding-left:.4rem;

}

.footer_contact li{

    color:#d5d5d5;

    margin-bottom:1rem;

    line-height:1.8;

}

.footer_social{

    display:flex;

    gap:1rem;

    margin-top:2rem;

}

.footer_social a{

    width:3rem;

    height:3rem;

    border-radius:50%;

    background:#222;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    transition:.3s;

}

.footer_social a:hover{

    background:#c8a25b;

}

.footer_map iframe{

    width:100%;

    height:18rem;

    border:0;

    border-radius:1rem;

}

.footer_bottom{

    border-top:.0625rem solid rgba(255,255,255,.08);

    padding:2rem 0;

    display:flex;

    justify-content:space-between;

    gap:2rem;

    flex-wrap:wrap;

    color:#999;

    font-size:.95rem;

    line-height:1.8;

}
@keyframes shakeBtn{
0%{transform:translate(2px,1px) rotate(0);-webkit-transform:translate(2px,1px) rotate(0);-moz-transform:translate(2px,1px) rotate(0);-ms-transform:translate(2px,1px) rotate(0);-o-transform:translate(2px,1px) rotate(0)}
10%{transform:translate(-1px,-2px) rotate(-1deg);-webkit-transform:translate(-1px,-2px) rotate(-1deg);-moz-transform:translate(-1px,-2px) rotate(-1deg);-ms-transform:translate(-1px,-2px) rotate(-1deg);-o-transform:translate(-1px,-2px) rotate(-1deg)}
20%{transform:translate(-3px) rotate(1deg);-webkit-transform:translate(-3px) rotate(1deg);-moz-transform:translate(-3px) rotate(1deg);-ms-transform:translate(-3px) rotate(1deg);-o-transform:translate(-3px) rotate(1deg)}
30%{transform:translateY(2px) rotate(0);-webkit-transform:translateY(2px) rotate(0);-moz-transform:translateY(2px) rotate(0);-ms-transform:translateY(2px) rotate(0);-o-transform:translateY(2px) rotate(0)}
40%{transform:translate(1px,-1px) rotate(1deg);-webkit-transform:translate(1px,-1px) rotate(1deg);-moz-transform:translate(1px,-1px) rotate(1deg);-ms-transform:translate(1px,-1px) rotate(1deg);-o-transform:translate(1px,-1px) rotate(1deg)}
50%{transform:translate(-1px,2px) rotate(-1deg);-webkit-transform:translate(-1px,2px) rotate(-1deg);-moz-transform:translate(-1px,2px) rotate(-1deg);-ms-transform:translate(-1px,2px) rotate(-1deg);-o-transform:translate(-1px,2px) rotate(-1deg)}
60%{transform:translate(-3px,1px) rotate(0);-webkit-transform:translate(-3px,1px) rotate(0);-moz-transform:translate(-3px,1px) rotate(0);-ms-transform:translate(-3px,1px) rotate(0);-o-transform:translate(-3px,1px) rotate(0)}
70%{transform:translate(2px,1px) rotate(-1deg);-webkit-transform:translate(2px,1px) rotate(-1deg);-moz-transform:translate(2px,1px) rotate(-1deg);-ms-transform:translate(2px,1px) rotate(-1deg);-o-transform:translate(2px,1px) rotate(-1deg)}
80%{transform:translate(-1px,-1px) rotate(1deg);-webkit-transform:translate(-1px,-1px) rotate(1deg);-moz-transform:translate(-1px,-1px) rotate(1deg);-ms-transform:translate(-1px,-1px) rotate(1deg);-o-transform:translate(-1px,-1px) rotate(1deg)}
90%{transform:translate(2px,2px) rotate(0);-webkit-transform:translate(2px,2px) rotate(0);-moz-transform:translate(2px,2px) rotate(0);-ms-transform:translate(2px,2px) rotate(0);-o-transform:translate(2px,2px) rotate(0)}
to{transform:translate(2px,1px) rotate(-1deg);-webkit-transform:translate(2px,1px) rotate(-1deg);-moz-transform:translate(2px,1px) rotate(-1deg);-ms-transform:translate(2px,1px) rotate(-1deg);-o-transform:translate(2px,1px) rotate(-1deg)}
}
.whatsapp_sticky img {
    height: 3rem;
}
.whatsapp_sticky { position: fixed; right: 20px; bottom: 50px; z-index: 9; animation-name: shakeBtn; animation-duration: 3s; transform-origin: 50% 50%; animation-iteration-count: infinite; animation-timing-function: linear; }

/* ---------- Popup Overlay ---------- */
  #fe-popup-overlay {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(8, 8, 10, 0.72);
    backdrop-filter: blur(0.375rem);
    -webkit-backdrop-filter: blur(0.375rem);
    padding: 2.5rem 1.25rem;
    overflow-y: auto;
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  }

  body.fe-popup-open #fe-popup-overlay {
    display: block;
    animation: feFadeIn 0.35s ease;
  }

  @keyframes feFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }

  /* ---------- Popup Card ---------- */
  .form_opend { overflow: hidden;}
  .fe-popup-card {
    position: relative;
    width: 100%;
    max-width: 55rem;
      outline: solid 2px var(--theme_color);
    height: auto;
    margin: auto;
    border-radius: 1.125rem;
    background: #0f0f11;
    box-shadow: 0 1.5625rem 4.375rem rgba(0,0,0,0.55), 0 0 0 0.0625rem rgba(198,162,89,0.25);
    display: flex;
    overflow: hidden;
    animation: fePopIn 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  @keyframes fePopIn {
    from { opacity: 0; transform: translateY(1.5rem) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
  }


  /* Gold border glow accent */
  .fe-popup-card::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 0.0625rem;
    border-radius: 1.125rem;
    background: linear-gradient(135deg, rgba(212,175,110,0.9), rgba(212,175,110,0) 35%, rgba(212,175,110,0) 65%, rgba(212,175,110,0.7));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }

  /* ---------- Left visual panel ---------- */
  .fe-popup-visual {
    flex: 0 0 38%;
    position: relative;
    background:
      linear-gradient(180deg, rgba(10,10,12,0.15) 0%, rgba(10,10,12,0.85) 100%),
      url('../images/project-banner.webp') center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.125rem 1.75rem;
    color: #f3ead9;
  }

  .fe-visual-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.15625rem;
    font-size: 0.6875rem;
    color: #d4af6e;
    font-weight: 600;
    margin-bottom: 0.625rem;
  }

  .fe-visual-title {
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 0.875rem;
    font-family: Georgia, 'Times New Roman', serif;
  }

  .fe-visual-title span {
    color: #d4af6e;
  }

  .fe-visual-stats {
    display: flex;
    gap: 1.375rem;
    margin-top: 0.375rem;
    border-top: 0.0625rem solid rgba(212,175,110,0.3);
    padding-top: 1rem;
  }

  .fe-visual-stats div {
    display: flex;
    flex-direction: column;
  }

  .fe-visual-stats strong {
    font-size: 1.125rem;
    color: #fff;
    font-family: Georgia, serif;
  }

  .fe-visual-stats span {
    font-size: 0.6875rem;
    color: #cbb98f;
    letter-spacing: 0.03125rem;
  }

  /* ---------- Right form panel ---------- */
  .fe-popup-form-wrap {
    flex: 1;
    background: #141416;
    padding: 2.125rem 2.25rem;
  }

  .fe-popup-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    border: 0.0625rem solid rgba(212,175,110,0.35);
    color: #d4af6e;
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
    z-index: 5;
  }

  .fe-popup-close:hover {
    background: rgba(212,175,110,0.18);
    transform: rotate(90deg);
  }

  .fe-form-header {
    margin-bottom: 1.375rem;
  }


  .fe-form-header h2 {
    
    color: #fdfaf5;
    font-size: 1.5rem;
    margin: 0 0 0.375rem;
    font-weight: 700;
  }

  .fe-form-header p {
    color: #9a978f;
    font-size: 0.84375rem;
    margin: 0;
    line-height: 1.5;
  }

  /* ---------- Form fields ---------- */
  #fe-enquiry-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
  }

  .fe-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
  }

  .fe-field {
    position: relative;
  }

  .fe-field label {
    display: block;
    font-size: 0.71875rem;
    letter-spacing: 0.03125rem;
    color: #b7b3a8;
    margin-bottom: 0.375rem;
    text-transform: uppercase;
  }

  .fe-field input,
  .fe-field select {
    width: 100%;
    box-sizing: border-box;
    background: #1c1c1f;
    border: 0.0625rem solid #2c2c30;
    color: #f2efe9;
    font-size: 0.875rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.625rem;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
  }

  .fe-field select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d4af6e' stroke-width='2.5'><path d='M6 9l6 6 6-6'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.875rem center;
    padding-right: 2.25rem;
  }

  .fe-field input::placeholder {
    color: #6d6a63;
  }

  .fe-field input:focus,
  .fe-field select:focus {
    border-color: #d4af6e;
    background: #201f1a;
    box-shadow: 0 0 0 0.1875rem rgba(212,175,110,0.15);
  }

  .fe-field-icon {
    position: absolute;
    right: 0.875rem;
    top: 2.375rem;
    color: #57544d;
    font-size: 0.875rem;
    pointer-events: none;
  }

  /* Interested-in pill group */
  .fe-pill-group {
    display: flex;
    gap: 0.625rem;
    flex-wrap: wrap;
  }

  .fe-pill-group input[type="radio"] {
    display: none;
  }

  .fe-pill-group label {
    text-transform: none;
    font-size: 0.8125rem;
    color: #cfcbc0;
    background: #1c1c1f;
    border: 0.0625rem solid #2c2c30;
    padding: 0.5625rem 1.125rem;
    border-radius: 1.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0;
  }

  .fe-pill-group input[type="radio"]:checked + label {
    background: linear-gradient(135deg, #d4af6e, #b5893f);
    border-color: #d4af6e;
    color: #1a1408;
    font-weight: 600;
  }

  /* Submit button */
  .fe-submit-btn {
    margin-top: 0.5rem;
    width: 100%;
    padding: 0.875rem 1.25rem;
    border: none;
    border-radius: 0.625rem;
    background: linear-gradient(135deg, #e8c98a 0%, #d4af6e 45%, #b5893f 100%);
    color: #1a1408;
    font-size: 0.90625rem;
    font-weight: 700;
    letter-spacing: 0.03125rem;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 0.625rem 1.5rem rgba(212,175,110,0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .fe-submit-btn:hover {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.875rem 1.875rem rgba(212,175,110,0.4);
  }

  .fe-submit-btn:active {
    transform: translateY(0);
  }

  .fe-form-footnote {
    text-align: center;
    font-size: 0.6875rem;
    color: #605d56;
    margin-top: 0.25rem;
  }

  .fe-form-footnote a {
    color: #d4af6e;
    text-decoration: none;
  }

  /* ---------- Responsive ---------- */
  @media (max-width: 47.5rem) {
    .fe-popup-card {
      flex-direction: column;
      height: auto;
      border-radius: 1rem;
    }
    .fe-popup-visual {
      flex: 0 0 auto;
      min-height: 9.375rem;
      padding: 1.375rem 1.25rem;
    }
    .fe-visual-title {
      font-size: 1.25rem;
    }
    .fe-visual-stats {
      display: none;
    }
    .fe-popup-form-wrap {
      padding: 1.625rem 1.375rem 1.75rem;
    }
    .fe-row {
      grid-template-columns: 1fr;
    }
  }

  /* ---------- Optional floating trigger button (demo only) ---------- */
  .fe-open-btn-demo {
    position: fixed;
    bottom: 1.625rem;
    right: 1.625rem;
    z-index: 999;
    background: linear-gradient(135deg, #e8c98a, #b5893f);
    color: #1a1408;
    border: none;
    padding: 0.875rem 1.375rem;
    border-radius: 2.5rem;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.025rem;
    cursor: pointer;
    box-shadow: 0 0.625rem 1.625rem rgba(212,175,110,0.4);
    
  }
@media(max-width:75rem){

    .footer_top{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:48rem){

    .footer_top{

        grid-template-columns:1fr;

    }

    .footer_bottom{

        text-align:center;

        justify-content:center;

    }

}

@media(max-width:1350px){
    html {font-size: 14px;}
}

@media(max-width:767px){
    .header_menu{position:fixed;width:15rem;right:0;top:0;background-color:var(--white);z-index:99;height:100vh;height:100dvh;transition:all ease .5s;transform:translateX(100%);overflow:auto}
body.menu-opened .header_menu{transform:translateX(0)}
.backdrop{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#00000075;opacity:0;pointer-events:none;transition:all ease .5s}
body.menu-opened .backdrop{opacity:1;pointer-events:all}
.menu_toggle,.mobile_menu_close{display:inline-block}
.menu_toggle {color: var(--white); font-size: 1.5rem;}
    .mobile_menu_close {
        margin: 1rem;
    }
    .header_menu ul li a {color: #222;}
    .header_menu ul {    flex-direction: column;         padding-left: 1.5rem;
        margin-top: 1rem;}
    .header_menu ul li a::before {background-color: #222;}
    .container {    padding-inline: 1rem;}
    .logo img {    height: 2.5rem;}
    header.header_sticky .logo img {  height: 2rem;}
    .overview_section, .specification_section, .gallery_section, .location_section, .site_plan_section, .floor_plan_section, .amenities_section {
    padding: 4rem 0; } 
    .gallery_grid {    gap: 10px;
    display: flex; overflow: auto;}
    .gallery_grid a {min-width: 22rem;}
     .gallery_grid .gallery_item {    height: 18rem;;}
     .lp_form_mob {
    padding: 3rem 1rem 0rem;
}
.lp_form_mob .hero_form { box-shadow: none;   max-width: 100% !important;     background: #000;}

}

.form_pdf_opend .fe-popup-visual{display: none;}
.floor_slider a  {    border-radius: 4px;
    border: solid 1px var(--theme_color); display: block;
    padding: 10px;}
.floor_slider a img {filter: blur(1px);}

.mobile_cta {
    display: none;
}

@media (max-width: 767px) {

    .mobile_cta {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999;

        display: grid;
        grid-template-columns: 1fr 1fr;

        padding: 0;
        padding-bottom: env(safe-area-inset-bottom);

        background: #071321;
        box-shadow: 0 -0.5rem 2rem rgba(0, 0, 0, 0.25);
    }

    .mobile_cta_item {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.65rem;

        min-height: 3.8rem;

        color: #fff;
        text-decoration: none;

        overflow: hidden;
    }

    /* BLUE */
    .mobile_cta_item:first-child {
        background: linear-gradient(
            135deg,
            #123d83 0%,
            #0752a8 55%,
            #07366f 100%
        );
    }

    /* GREEN */
    .mobile_cta_item:last-child {
        background: linear-gradient(
            135deg,
            #087c52 0%,
            #04945d 50%,
            #05663f 100%
        );
    }

    /* GOLD DIVIDER */
    .mobile_cta_item:first-child::after {
        content: "";
        position: absolute;
        top: 20%;
        right: 0;
        width: 0.08rem;
        height: 60%;
        background: rgba(201, 157, 88, 0.8);
        display: none;
    }

    .mobile_cta_icon {
        width: 2.2rem;
        height: 2.2rem;

        display: flex;
        align-items: center;
        justify-content: center;

        border: 1px solid rgba(255, 255, 255, 0.65);
        border-radius: 50%;

        color: #fff;
        font-size: 0.8rem;

        flex-shrink: 0;
    }

    .mobile_cta_text {
        display: flex;
        flex-direction: column;
        gap: 0.12rem;
    }

    .mobile_cta_text small {
        font-size: 0.62rem;
        line-height: 1;
        font-weight: 600;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.8);
    }

    .mobile_cta_text strong {
        font-size: 0.78rem;
        line-height: 1.2;
        font-weight: 600;
        color: #fff;
        white-space: nowrap;
    }

    .mobile_cta_item:active {
        transform: scale(0.98);
    }
}

