 :root{
--brand:#8c2f39;--brand2:#b44b35;--gold:#d49a3a;--cream:#fbf7ef;--ink:#2b2623;--muted:#716a65;
}
*{box-sizing:border-box} body{font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff} h1,h2,h3,h4{font-family:"Playfair Display",serif} a{text-decoration:none}
.topbar{background:#38221f;color:#f8ead7;font-size:13px;padding:8px 0}.main-nav{min-height:78px}.navbar-brand strong{display:block;letter-spacing:1.5px;color:var(--brand);font-size:19px}.navbar-brand small{display:block;font-size:10px;color:#777;letter-spacing:.7px}.brand-mark{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:grid;place-items:center;font-size:20px}.nav-link{font-weight:600;margin:0 5px;color:#403936!important}.nav-link:hover{color:var(--brand)!important}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;padding:11px 22px;border-radius:8px;font-weight:700}.btn-brand:hover{background:#68232b;border-color:#68232b;color:#fff}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);padding:10px 20px;border-radius:8px;font-weight:700}.btn-outline-brand:hover{background:var(--brand);color:#fff}
.hero{min-height:650px;background:linear-gradient(90deg,rgba(36,20,16,.82),rgba(36,20,16,.18)),url("../images/hero.jpg") center/cover;display:flex;align-items:center;color:#fff}.hero-content{max-width:760px;padding:90px 0}.eyebrow,.section-tag{font-size:12px;letter-spacing:2.2px;font-weight:800;color:var(--gold)}.hero h1{font-size:clamp(45px,6vw,76px);line-height:1.04;margin:16px 0}.hero h1 span{color:#f0bf67}.hero p{font-size:19px;max-width:650px;color:#eee;margin-bottom:30px}
.section-pad{padding:90px 0}.section-soft{background:var(--cream)}.section-heading{max-width:750px;margin:0 auto 45px}.section-heading h2,h2{font-size:clamp(32px,4vw,46px);margin:10px 0 15px}.image-frame{border-radius:24px;overflow:hidden;box-shadow:0 25px 60px rgba(54,32,24,.15)}.image-frame img{width:100%;height:480px;object-fit:cover}.service-card{height:100%;display:block;background:#fff;border:1px solid #eee6dc;border-radius:18px;padding:30px;color:var(--ink);transition:.25s;box-shadow:0 10px 35px rgba(45,27,20,.05)}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(45,27,20,.12);color:var(--ink)}.service-icon{width:55px;height:55px;border-radius:15px;background:#f7eadb;color:var(--brand);display:grid;place-items:center;font-size:25px;margin-bottom:20px}.service-card h4{font-size:24px}.service-card p{color:var(--muted);min-height:70px}.service-card span{color:var(--brand);font-weight:700}.facility{padding:13px 15px;border:1px solid #eee4d8;border-radius:10px;background:#fff}.facility i{color:#3d8a5d;margin-right:10px}.quote-card{background:linear-gradient(135deg,var(--brand),#542229);color:#fff;border-radius:25px;padding:45px;position:relative;overflow:hidden}.quote-card i{font-size:55px;color:#e9ad55}.gallery-strip{background:#32211e;color:#fff;padding:75px 0}.gallery-img{width:100%;height:230px;object-fit:cover;border-radius:14px}.page-hero{background:linear-gradient(100deg,#4b2524,#8c2f39);color:#fff;padding:80px 0}.page-hero .section-tag{color:#f0c06b}.page-hero h1{font-size:55px;margin:8px 0}.page-hero p{color:#eaded8;font-size:18px}.info-card{background:#fff;padding:35px;border-radius:18px;height:100%;box-shadow:0 10px 35px rgba(40,20,10,.06)}.info-card>i{font-size:35px;color:var(--brand)}.large-service{height:100%;border:1px solid #eee5db;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(40,20,10,.06)}.large-service img{width:100%;height:260px;object-fit:cover}.large-service>div:last-child{padding:30px}.room-card{height:100%;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #eee6dc;box-shadow:0 12px 35px rgba(45,27,20,.07)}.room-card>img{width:100%;height:240px;object-fit:cover}.room-body{padding:25px}.room-badge{display:inline-block;background:#f7eadb;color:var(--brand);font-size:12px;padding:6px 10px;border-radius:20px;font-weight:700}.room-body h3{font-size:26px;margin:14px 0 8px}.room-body p{color:var(--muted);min-height:55px}.room-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:15px}.room-meta span{font-size:13px;color:#666}.room-meta strong{font-size:20px;color:var(--brand)}.room-meta small{font-size:11px;color:#777}.form-card{background:#fff;border:1px solid #eee2d8;border-radius:20px;padding:35px;box-shadow:0 15px 45px rgba(40,20,10,.07)}label{font-weight:700;font-size:14px;margin-bottom:7px}.form-control,.form-select{padding:12px 14px;border-color:#ddd1c5;border-radius:9px}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(140,47,57,.12)}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:15px;transition:.25s}.gallery-grid img:hover{transform:scale(1.025)}.member-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(40,20,10,.07)}.member-card img{width:100%;height:280px;object-fit:cover}.member-card div{padding:20px}.member-card span{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1px}.member-card h4{margin:7px 0}.member-card p{color:#777;margin:0}.contact-item{display:flex;gap:18px;margin:25px 0}.contact-item>i{font-size:25px;color:var(--brand)}.contact-item p{margin:5px 0;color:#777}.map-box iframe{width:100%;height:400px;border:0}.success-card{max-width:700px;margin:auto;background:var(--cream);padding:70px 35px;border-radius:25px}.success-icon{width:80px;height:80px;border-radius:50%;background:#3d8a5d;color:#fff;display:grid;place-items:center;font-size:45px;margin:0 auto 25px}.footer{background:#30201d;color:#fff}.footer-brand{font-family:"Playfair Display";font-size:27px;color:#f1bf69}.footer h6{color:#f0bf67;margin-bottom:18px}.footer a{display:block;color:#cfc2bc;margin:9px 0}.footer a:hover{color:#fff}.footer p{color:#cfc2bc}.socials a{display:inline-grid!important;place-items:center;width:38px;height:38px;border:1px solid #66504a;border-radius:50%;margin-right:6px}.copyright{border-top:1px solid #4b3732;padding:18px 0;color:#a99891;font-size:12px}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#20bd5a;color:#fff;display:grid;place-items:center;font-size:27px;box-shadow:0 8px 25px rgba(0,0,0,.25);z-index:999}
@media(max-width:767px){.topbar{display:none}.hero{min-height:590px}.hero-content{padding:70px 15px}.hero h1{font-size:47px}.section-pad{padding:65px 0}.page-hero{padding:60px 0}.page-hero h1{font-size:43px}.image-frame img{height:330px}.gallery-img{height:170px}.gallery-grid img{height:180px}.main-nav{min-height:68px}.form-card{padding:23px}.whatsapp-float{right:15px;bottom:15px}}
/* =========================================================
   HERO IMAGE SLIDER
========================================================= */

.hero {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    display: flex;
    align-items: center;
    color: #fff;
}


/* IMAGE CONTAINER */
.hero-slider {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}


/* EACH IMAGE */
.hero-slide {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    /* Start outside screen */
    transform: translateX(100%);

    /* Actual sliding animation */
    transition: transform 1.2s ease-in-out;
}


/* First image */
.hero-slide.active {
    transform: translateX(0);
}


/* DARK OVERLAY */
.hero-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,0.72) 0%,
            rgba(0,0,0,0.48) 45%,
            rgba(0,0,0,0.20) 100%
        );
}


/* HERO CONTENT */
.hero-content {
    position: relative;
    z-index: 2;

    color: #fff;

    padding-top: 80px;
    padding-bottom: 80px;
}

.hero-content .eyebrow {
    display: inline-block;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1.5px;
    line-height: 1.6;

    margin-bottom: 20px;

    max-width: 850px;
}

.hero-content h1 {
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 800;

    line-height: 1.05;

    margin-bottom: 20px;
}

.hero-content h1 span {
    color: #ffd166;
}

.hero-content p {
    max-width: 650px;

    font-size: 19px;
    line-height: 1.7;

    margin-bottom: 30px;
}


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

@media (max-width: 768px) {

.hero {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    display: flex;
    align-items: center;
    color: #fff;
}

.hero-slider {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.hero-slide {
    position: absolute !important;
    inset: 0;

    width: 100% !important;
    height: 100% !important;

    opacity: 0;

    visibility: hidden;

    transition:
        opacity 1.2s ease-in-out,
        visibility 1.2s ease-in-out;
}

.hero-slide.active {
    opacity: 1 !important;
    visibility: visible;

    z-index: 1;
}

.hero-slide img {
    width: 100% !important;
    height: 100% !important;

    display: block;

    object-fit: cover;
    object-position: center center;
}


/* OVERLAY */

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

    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.48) 45%,
            rgba(0,0,0,.20) 100%
        );

    pointer-events: none;
}


/* CONTENT */

.hero-content {
    position: relative;
    z-index: 3;

    color: #fff;

    padding-top: 80px;
    padding-bottom: 80px;
}


/* ARROWS */

.hero-prev,
.hero-next {
    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    z-index: 10;

    width: 48px;
    height: 48px;

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

    border-radius: 50%;

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

    color: #fff;

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

    cursor: pointer;

    transition: .3s;
}

.hero-prev {
    left: 20px;
}

.hero-next {
    right: 20px;
}

.hero-prev:hover,
.hero-next:hover {
    background: #fff;
    color: var(--brand);
}


/* DOTS */

.hero-dots {
    position: absolute;

    bottom: 25px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 10;

    display: flex;
    gap: 8px;
}

.hero-dot {
    width: 10px;
    height: 10px;

    padding: 0;

    border: 0;

    border-radius: 50%;

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

    cursor: pointer;

    transition: .3s;
}

.hero-dot.active {
    width: 28px;
    border-radius: 10px;
    background: #fff;
}


/* MOBILE */

@media(max-width:767px) {

    .hero {
        min-height: 590px;
    }

    .hero-content {
        padding: 70px 15px;
    }

    .hero-prev,
    .hero-next {
        width: 40px;
        height: 40px;
    }

    .hero-prev {
        left: 10px;
    }

    .hero-next {
        right: 10px;
    }
}
}