@charset "utf-8";
/* CSS Document */

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

.navbar{
    position:fixed;

    top:30px;
    left:50%;

    transform:translateX(-50%);

    width:calc(100% - 120px);

    z-index:1000;
}



.navbar.scrolled{

    background:rgba(255,255,255,0.78);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,0.35);

    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.navbar.scrolled .nav-links a{
    color:#2b2b2b;
}

.navbar.scrolled .dropdown-arrow{
    color:#2b2b2b;
}

.nav-links a.active{
    color:#c89b60;
}

/* ========================================= */
/* HERO */
/* ========================================= */

.facilities-hero{
    position:relative;

    height:86vh;
	min-height:720px;
	max-height:900px;

    overflow:hidden;

    margin:0;

    border-radius:0;
}

.facilities-hero img{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center 88%;

    display:block;

    transform:scale(1);

    animation:heroZoom 18s ease-out forwards;
	will-change:transform;
}
@keyframes heroZoom{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.01);
    }

}


.facilities-hero-overlay{
    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,0.60),
        rgba(0,0,0,0.28)
    );

    z-index:1;
}

.facilities-hero-content{
    position:absolute;

    left:50%;
    top:58%;

    transform:translate(-50%,-50%);

    width:90%;
    max-width:1100px;

    text-align:center;

    z-index:2;

    color:#fff;

    opacity:0;

    animation:heroContentFade 1.2s ease forwards;

    animation-delay:0.3s;
}

@keyframes heroContentFade{

    from{
        opacity:0;

        transform:
        translate(-50%,-46%);
    }

    to{
        opacity:1;

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

}

.facilities-hero-content h1{
    font-size:3.2rem;

    font-family:'Cormorant Garamond', serif;

    line-height:0.96;

    font-weight:600;

    letter-spacing:-1px;

    text-shadow:0 8px 30px rgba(0,0,0,0.22);

    margin:14px 0 24px;
}

.facilities-hero-content p{
    font-size: 1.08rem;
  	line-height: 1.9;
  	color: rgba(255,255,255,0.86);
  	margin-bottom: 38px;
	max-width:760px;
    margin:auto;
}

.facilities-meta{
    display:flex;

    justify-content:center;

    gap:14px;

    flex-wrap:wrap;

    margin-top:24px;
}

.facilities-meta span{
    padding:5px 20px;

    border-radius:15px;

    background:rgba(255,255,255,0.14);

    border:1px solid rgba(255,255,255,0.16);

    backdrop-filter:blur(10px);

    font-size:0.85rem;

    color:#fff;
}

.facilities-hero-btn{
    display:inline-flex;

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

    margin-top:38px;

    padding:18px 40px;

    border-radius:999px;

    background:#d8b37b;

    color:#1d1d1d;

    text-decoration:none;

    font-weight:500;

    transition:0.3s ease;
}

.facilities-hero-btn:hover{
    transform:translateY(-2px);

    background:#e1be89;
}

.facilities-social-proof{
    margin-top:28px !important;
    font-size:.82rem !important;
    color:rgba(255,255,255,.82);
    font-style:italic;
    letter-spacing:.3px;
}

@media(max-width:768px){

.facilities-hero{
    height:auto;
    min-height:680px;
    padding-bottom:50px;


}

}

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

.facility-overview{
    padding:100px 7%;
}

.overview-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.overview-card{
    background:#fff;
    padding:40px;
    text-align:center;
    border-radius:18px;
    box-shadow:0 15px 30px rgba(0,0,0,.05);
}

/* =========================================
   FEATURED FACILITIES
========================================= */

.facility-feature{
    padding:40px 7% 2px 7%;
	margin-top: 60px;
	margin-bottom: 60px;
}

.facility-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.reverse .facility-row{
    direction:rtl;
}

.reverse .facility-text{
    direction:ltr;
}

.facility-image img{
    width:100%;
    border-radius:24px;
}

.facility-text h2{
    font-family:'Cormorant Garamond', serif;
    font-size:2.6rem;
    line-height:1.15;
    margin-bottom:28px;
}

/* =========================================
   SERVICES & FACILITIES
========================================= */

.services-facilities-section{

    padding:120px 7%;

    background:#faf8f3;
}

.services-facilities-section .section-heading{

    max-width:850px;

    margin:0 auto 70px;
}

.services-facilities-section .section-heading p{

    margin-top:18px;

    color:#666;

    line-height:1.9;
}

.sf-grid{

    display:grid;

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

    gap:35px;

    max-width:1200px;

    margin:auto;
}

.sf-card{

    background:#fff;

    padding:55px;

    border-radius:28px;

    box-shadow:0 20px 40px rgba(0,0,0,.05);

    transition:.35s ease;
}

.sf-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(0,0,0,.08);
}

.sf-icon{

    width:70px;
    height:70px;

    border-radius:50%;

    background:#f4ede3;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:26px;

    color:#c89b60;

    margin-bottom:28px;
}

.sf-card h3{

    font-family:'Cormorant Garamond', serif;

    font-size:2rem;

    margin-bottom:28px;

    color:#1f1f1f;
}

.sf-card ul{

    list-style:none;

    padding:0;

    margin:0;
}

.sf-card li{

    position:relative;

    padding-left:32px;

    margin-bottom:18px;

    line-height:1.8;

    color:#555;
}

.sf-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:#c89b60;

    font-weight:600;
}

.sf-stat{

    display:inline-block;

    margin-bottom:18px;

    padding:8px 14px;

    border-radius:999px;

    background:#f4ede3;

    color:#8a6a3d;

    font-size:.85rem;

    font-weight:500;
}

@media(max-width:991px){

    .sf-grid{

        grid-template-columns:1fr;
    }

    .sf-card{

        padding:40px;
    }

    .sf-card h3{

        font-size:1.8rem;
    }
}

/* =========================================
   RESORT HIGHLIGHTS
========================================= */

.resort-highlights{

    padding:120px 0;

    background:#f8f5ef;

}


.highlights-grid{

    width:min(1200px,92%);

    margin:70px auto 0;

    display:grid;

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

    gap:40px;

}


.highlight-item{

    position:relative;

    padding-top:30px;

}


.highlight-item::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:#d8c9ae;

}


.highlight-icon{

    width:72px;
    height:72px;

    border-radius:50%;

    background:#f4ede3;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:24px;

    color:#c89b60;

    transition:.35s ease;
}

.highlight-icon svg{

    width:30px;
    height:30px;

    stroke:currentColor;
}


.highlight-item h3{

    font-size:1.25rem;

    margin-bottom:15px;

    color:#1f1f1f;

}


.highlight-item p{

    color:#666;

    line-height:1.8;

    font-size:.95rem;

}


/* Hover */

.highlight-item{

    transition:.35s ease;

}

.highlight-item:hover{

    transform:translateY(-6px);

}

.highlight-item:hover .highlight-icon{

    background:#c89b60;

    color:#fff;

    transform:translateY(-3px);
}


/* Responsive */

@media(max-width:992px){

    .highlights-grid{

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

        gap:50px 30px;

    }

}


@media(max-width:768px){

    .resort-highlights{

        padding:90px 0;

    }

    .highlights-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

}

/* ========================================= */
/* FAQ */
/* ========================================= */

.room-faq-section{
    padding:120px 8%;

    background:#f8f4ef;
}

.faq-wrapper{
    max-width:900px;

    margin:70px auto 0;
}

.faq-item{
    border-bottom:1px solid rgba(0,0,0,0.08);
}

.faq-question{
    width:100%;

    background:none;

    border:none;

    padding:30px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-align:left;

    cursor:pointer;

    font-size:1.15rem;

    font-weight:500;

    color:#2d241c;

    font-family:'Inter', sans-serif;
}

.faq-question span{
    font-size:1.4rem;

    color:#a6845e;

    transition:0.3s ease;
}

.faq-answer{
    max-height:0;

    overflow:hidden;

    transition:max-height 0.4s ease;
}

.faq-answer p{
    padding:0 0 28px;

    font-size:1rem;

    line-height:1.9;

    color:#5f5a54;

    max-width:760px;
}


/* ACTIVE FAQ */

.faq-item.active .faq-answer{
    max-height:300px;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
}


/* =========================================
   EXPLORE YOUR STAY
========================================= */

.explore-stay{

    padding:140px 0;

    background:#fff;
}


.explore-stay .section-heading{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;
}


.explore-stay .section-heading p{

    margin-top:20px;

    color:#666;

    line-height:1.9;
}


/* GRID */

.stay-grid{

    width:min(1400px,92%);

    margin:auto;

    display:grid;

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

    gap:28px;

}


/* CARD */

.stay-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 20px 40px rgba(0,0,0,.05);

    transition:.4s ease;
}


.stay-card:hover{

    transform:translateY(-8px);

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


.stay-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.7s ease;
}


.stay-card:hover img{

    transform:scale(1.05);
}


.stay-content{

    padding:30px;
}


.stay-content h3{

    font-family:'Cormorant Garamond', serif;

    font-size:1.8rem;

    margin-bottom:15px;

    color:#1f1f1f;
}


.stay-content p{

    color:#666;

    line-height:1.8;

    margin-bottom:22px;
}


.stay-content a{

    color:#b99152;

    text-decoration:none;

    font-weight:500;

    transition:.3s ease;
}


.stay-content a:hover{

    color:#8f6d3a;
}

.room-tag{

    display:inline-block;

    margin-bottom:16px;

    padding:6px 12px;

    border-radius:999px;

    background:#f4ede3;

    color:#8a6a3d;

    font-size:.78rem;

    font-weight:500;
}


/* RESPONSIVE */

@media(max-width:1200px){

    .stay-grid{

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

}


@media(max-width:768px){

    .stay-grid{

        grid-template-columns:1fr;
    }

    .stay-card img{

        height:220px;
    }

}

/* =========================================
   CTA
========================================= */

.final-cta{

    position:relative;

    width:min(1400px,92%);

    margin:90px auto;

    border-radius:40px;

    overflow:hidden;

    min-height:280px;
}


.final-cta img{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

}

.cta-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    rgba(0,0,0,.35),
    rgba(0,0,0,.55)
    );

}

.cta-content{

    position:relative;

    z-index:2;

    max-width:760px;

    margin:auto;

    min-height:350px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#fff;

    padding:40px;

}

.cta-content span{

    letter-spacing:4px;

    font-size:.8rem;

    opacity:.9;

}

.cta-content h2{

    margin:20px 0;

    font-size:2.6rem;

    line-height:1.1;

}

.cta-content p{

    max-width:700px;

    line-height:1.8;

    opacity:.95;

}

.cta-buttons{

    margin-top:35px;

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.btn-primary{

    background:#d4b27a;

    color:#111;

    padding:16px 34px;

    border-radius:999px;

    text-decoration:none;

}

.btn-secondary{

    border:1px solid rgba(255,255,255,.5);

    color:#fff;

    padding:16px 34px;

    border-radius:999px;

    text-decoration:none;

}

.cta-note{

    margin-top:25px;

    max-width:700px;

    font-size:.95rem;

    line-height:1.8;

    color:rgba(255,255,255,.85);

}

@media(max-width:768px){

.cta-content h2{

font-size:2.2rem;

}

}

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

@media(max-width:991px){

    .facility-row,
    .overview-grid,
    .services-grid,
    .resort-highlights{
        grid-template-columns:1fr;
    }

    .facilities-hero-content h1{
        font-size:2rem;
		line-height:1.1;
    }
	
	.facilities-hero-content p{
  	line-height: 1.4;
}
}

@media(max-width:991px){

    .navbar{
        width:94%;
        top:10px;
        padding:10px 18px;
        min-height:60px;
    }

    .logo img{
        height:36px;
    }

    .menu-toggle{
        display:flex;
        position:relative;
        z-index:1201;
    }
	
	.facilities-meta span{
		padding: 5px 7px;
	}
	
	
	
}


@media(max-width:991px){

.dropdown.active .dropdown-menu{

    display:flex;
    flex-direction:column;

    margin-top:12px;

    padding-left:12px;

    border-left:2px solid #d7b485;

}

.dropdown-menu a{

    padding:6px 0;
    font-size:.95rem;

}

}

@media(max-width:768px){

.final-cta{

    min-height:700px;
    margin:70px auto 120px;

}

.cta-content{

    min-height:700px;
    padding:50px 24px 120px;

}

.cta-buttons{

    flex-direction:column;
    width:100%;

}
	
.final-cta .btn-secondary{
    display:none;
}

.btn-primary,
.btn-secondary{

    width:100%;

}

.cta-note{

    margin-top:25px;

}

}

@media(min-width:992px){

    .nav-links{

        position:static !important;

        right:auto !important;
        top:auto !important;

        width:auto !important;
        max-width:none !important;

        height:auto !important;

        background:none !important;

        padding:0 !important;

        overflow:visible !important;
    }

}