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


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

.facilities-hero{
    position:relative;

    min-height:84vh;

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

    text-align:center;

    padding:140px 20px 100px;

    background:
    linear-gradient(rgba(20,14,10,0.45), rgba(20,14,10,0.30)),
    url("../images/facilities-hero.webp") center center/cover no-repeat;

    
	animation:heroZoom 14s ease-in-out infinite alternate;
}

@keyframes heroZoom{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.08);
    }

}
.facilities-hero-overlay{
    position:absolute;
    inset:0;

    background:linear-gradient(to top,
    rgba(0,0,0,0.45),
    rgba(0,0,0,0.15));
}

.facilities-hero-content{
    position:relative;
    z-index:2;

    max-width:850px;

    margin:auto;

    color:var(--white);
}

.facilities-hero-subtitle{
    font-size:13px;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:22px;

    color:#E7D2BC;
}

.facilities-hero h1{
    max-width:1100px;
    margin:auto auto 28px;
	
	font-family:'Cormorant Garamond',serif;

    font-size:52px;

    line-height:1;

    margin-bottom:28px;
}

.facilities-hero p{
    font-size:18px;

    line-height:1.9;

    color:rgba(255,255,255,0.9);

    max-width:680px;

    margin:auto auto 38px;
}

.hero-buttons{
    display:flex;
    gap:18px;

    justify-content:center;
    flex-wrap:wrap;
}

.facilities-hero .hero-buttons a{
    min-width:280px;

    padding:15px 32px;

    border-radius:18px;

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

    font-size:14px;

    letter-spacing:2px;

    text-transform:uppercase;

    transition:0.35s ease;
}

.facilities-hero .btn-secondary{
    border:1px solid rgba(255,255,255,0.35);

    color:var(--white);

    text-decoration:none;

    transition:0.35s ease;

    backdrop-filter:blur(8px);

    background:rgba(255,255,255,0.04);
}

.btn-secondary:hover{
    background:rgba(255,255,255,0.12);

    transform:translateY(-3px);
}

.facilities-hero p a{
    color:#D8B38A;

    text-decoration:none;

    border-bottom:1px solid rgba(216,179,138,0.45);

    transition:0.3s ease;
}

.facilities-hero p a:visited{
    color:#D8B38A;
	
	text-decoration:none;
}

.facilities-hero p a:hover{
    color:#fff;

    border-bottom:1px solid rgba(255,255,255,0.65);
	
	text-decoration:none;
}

.hero-trust-note{
    margin-top:22px;

    font-size:13px;

    color:rgba(255,255,255,0.72);

    letter-spacing:0.3px;
}

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

.section-subtitle{
    font-size:13px;

    letter-spacing:4px;

    text-transform:uppercase;

    color:var(--primary-dark);

    margin-bottom:18px;
}


/* =========================================================
FACILITIES GRID
========================================================= */

.facilities-grid{
    display:grid;

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

    gap:34px;

    max-width:1200px;

    margin:auto;
}

.facility-card{
    background:var(--white);

    border-radius:26px;

    overflow:hidden;

    box-shadow:0 12px 36px rgba(0,0,0,0.04);

    transition:0.45s ease;
}

.facility-card:hover{
    transform:translateY(-10px);

    box-shadow:0 20px 50px rgba(0,0,0,0.06);
}

.facility-image{
    overflow:hidden;
}

.facility-image img{
    height:360px;

    object-fit:cover;

    transition:0.6s ease;
}

.facility-card:hover img{
    transform:scale(1.06);
}

.facility-content{
    padding:36px;
}

.facility-content h3{
    font-family:'Cormorant Garamond',serif;

    font-size:38px;

    margin-bottom:16px;

    color:var(--text);
}

.facility-content p{
    line-height:1.9;

    color:var(--text-light);
}


/* =========================================================
EXPERIENCE SECTION
========================================================= */

.experience-grid{
    display:grid;

    grid-template-columns:1.1fr 1fr;

    gap:70px;

    align-items:center;

    max-width:1200px;

    margin:auto;
}

.experience-image{
    border-radius:28px;

    overflow:hidden;

    box-shadow:0 20px 60px rgba(0,0,0,0.08);
}

.experience-image img{
    height:100%;

    object-fit:cover;
}

.experience-content h2{
    margin-bottom:28px;
}

.experience-content p{
    margin-bottom:24px;

    line-height:1.9;

    color:var(--text-light);
}


/* =========================================================
BOOKING BANNER
========================================================= */

.booking-banner{
    position:relative;

    padding:170px 20px;

    text-align:center;

    background:
    linear-gradient(
    rgba(16,12,8,0.68),
    rgba(16,12,8,0.45)
    ),
    url("../images/facilities-booking.webp")
    center center/cover no-repeat;

    overflow:hidden;
}

.booking-banner::after{
    content:"";

    position:absolute;
    inset:0;

    background:
    radial-gradient(
    circle at center,
    rgba(255,220,180,0.08),
    transparent 60%
    );

    pointer-events:none;
}

.booking-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
    to top,
    rgba(0,0,0,0.35),
    rgba(0,0,0,0.05)
    );
}

.booking-content{
    position:relative;
    z-index:2;

    max-width:900px;

    margin:auto;

    color:var(--white);
}

.booking-subtitle{
    font-size:13px;

    letter-spacing:5px;

    text-transform:uppercase;

    color:#D5B08A;

    margin-bottom:24px;
}

.booking-content h2{
    font-family:'Cormorant Garamond',serif;

    font-size:58px;

    line-height:1.05;

    font-weight:500;

    margin-bottom:30px;

    text-shadow:0 10px 30px rgba(0,0,0,0.35);
}

.booking-content p{
    max-width:760px;

    margin:auto auto 42px;

    color:rgba(255,255,255,0.88);

    line-height:1.9;

    font-size:18px;
}

.booking-buttons{
    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;
}

.booking-banner .btn-primary{
    padding:17px 40px;

    border-radius:999px;

    font-size:15px;

    letter-spacing:1px;

    box-shadow:0 12px 30px rgba(0,0,0,0.18);
}

.booking-banner .btn-secondary{
    background:rgba(255,255,255,0.08);

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

    backdrop-filter:blur(8px);
}

/* MOBILE */

@media(max-width:768px){

    .booking-banner{
        padding:120px 20px;
    }

    .booking-content h2{
        font-size:52px;
    }

    .booking-content p{
        font-size:16px;
    }
}

@media(max-width:540px){

    .booking-content h2{
        font-size:42px;
    }

    .booking-buttons{
        flex-direction:column;
    }
}


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

.faq-grid{
    max-width:950px;

    margin:auto;

    display:grid;

    gap:22px;
}

.faq-item{
    background:var(--white);

    padding:38px;

    border-radius:28px;

    box-shadow:0 10px 28px rgba(0,0,0,0.035);

    transition:0.35s ease;
}

.faq-item:hover{
    transform:translateY(-4px);

    box-shadow:0 18px 45px rgba(0,0,0,0.06);
}

.faq-item h3{
    font-size:22px;

    margin-bottom:16px;

    color:var(--text);
}

.faq-item p{
    line-height:1.9;

    color:var(--text-light);
}


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

@media(max-width:1100px){

    .facilities-hero h1{
        font-size:62px;
    }

    .experience-grid{
        grid-template-columns:1fr;

        gap:50px;
    }

    .comparison-grid{
        grid-template-columns:1fr 1fr;
    }

    .facilities-gallery{
        grid-template-columns:1fr 1fr;
    }
}


@media(max-width:768px){

    .facilities-hero{
        min-height:78vh;

        padding:120px 20px 90px;
    }

    .facilities-hero h1{
        font-size:48px;
    }

    .facilities-hero p{
        font-size:16px;
    }

    .facilities-grid{
        grid-template-columns:1fr;
    }

    .comparison-grid{
        grid-template-columns:1fr;
    }

    .facilities-gallery{
        grid-template-columns:1fr;
    }

    .booking-content h2{
        font-size:48px;
    }

    .cta-content h2{
        font-size:48px;
    }

    .facility-image img,
    .comparison-image img{
        height:300px;
    }

    .gallery-item img{
        height:280px;
    }

    .facility-content,
    .comparison-content,
    .faq-item{
        padding:28px;
    }
}


@media(max-width:540px){

    .hero-buttons{
        flex-direction:column;
    }

    .facilities-hero h1{
        font-size:42px;
    }

    .booking-content h2,
    .cta-content h2{
        font-size:40px;
    }

    .facility-content h3,
    .comparison-content h3{
        font-size:32px;
    }

    .gallery-item img{
        height:240px;
    }
}

/* =========================================================
SERVICES
========================================================= */

.services-grid{
    display:grid;

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

    gap:28px;

    max-width:1200px;

    margin:auto;
}

.service-item{
    background:var(--white);

    padding:42px 34px;

    border-radius:30px;

    text-align:center;

    box-shadow:0 10px 28px rgba(0,0,0,0.035);

    transition:0.4s ease;
}

.service-item:hover{
    transform:translateY(-8px);

    box-shadow:0 22px 55px rgba(0,0,0,0.07);
}



.service-item h3{
    font-family:'Cormorant Garamond',serif;

    font-size:32px;

    margin-bottom:16px;
}

.service-item p{
    color:var(--text-light);

    line-height:1.9;
}

@media(max-width:900px){

    .services-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:768px){

    .services-grid{
        grid-template-columns:1fr;
    }
}

.service-icon{
    width:64px;
    height:64px;

    margin:0 auto 24px;

    border-radius:50%;

    background:#F6EFE7;

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

    color:var(--primary-dark);

    transition:0.35s ease;
}

.service-icon svg{
    width:26px;
    height:26px;

    stroke-width:1.7;
}

.service-item:hover .service-icon{
    transform:translateY(-3px);

    background:#EFE4D5;
}

.booking-trust{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;

    gap:18px 28px;

    margin-top:28px;

    font-size:14px;
    letter-spacing:0.4px;

    color:rgba(255,255,255,0.78);
}

.booking-trust span{
    display:flex;
    align-items:center;

    gap:8px;
}

.booking-trust i{
    color:#D5B08A;

    font-size:13px;
}

/* ========================================
   GUEST TRUST SECTION
======================================== */

.guest-trust-section{
    padding:100px 0;

    background:#f8f5f1;
}

.guest-trust-wrapper{
    max-width:850px;

    margin:auto;

    text-align:center;
}

.trust-label{
    display:inline-block;

    margin-bottom:20px;

    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;

    color:#b58a5a;

    font-weight:500;
}

.guest-trust-wrapper h2{
    font-family:'Cormorant Garamond', serif;

    font-size:56px;

    line-height:1.1;

    font-weight:500;

    letter-spacing:-0.5px;

    margin-bottom:24px;

    color:var(--text);
}

.trust-rating{
    font-size:20px;

    margin-bottom:20px;

    color:#b58a5a;

    font-weight:500;
}

.trust-description{
    max-width:720px;

    margin:auto auto 35px;

    font-size:17px;
    line-height:1.9;

    color:#666;
}

.trust-features{
    display:flex;

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

    flex-wrap:wrap;

    gap:14px;
}

.trust-features span{
    padding:10px 18px;

    background:white;

    border:1px solid rgba(0,0,0,0.06);

    border-radius:999px;

    font-size:14px;

    color:#444;

    box-shadow:0 5px 18px rgba(0,0,0,0.04);
}

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

@media(max-width:768px){

    .guest-trust-section{
        padding:75px 20px;
    }

    .guest-trust-wrapper h2{
        font-size:34px;
    }

    .trust-description{
        font-size:15px;

        line-height:1.8;
    }

    .trust-rating{
        font-size:18px;
    }

}

@media(max-width:768px){

.facilities-hero{
    animation:none;
}

}