
        :root {
            --gold: #c89b3c;
            --dark: #17130d;
            --dark2: #241d13;
            --cream: #f8f4ec;
            --white: #ffffff;
            --text: #33302a;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            font-family: 'Inter', sans-serif;
            color: var(--text);
            background: var(--cream);
        }

        h1, h2, h3, h4 {
            font-family: 'DM Serif Display', serif;
        }

        a {
            text-decoration: none;
        }

        .navbar {
            background: rgba(20, 16, 10, .96);
            padding: 16px 0;
        }

        .navbar-brand {
            color: #fff !important;
            font-family: 'DM Serif Display', serif;
            font-size: 30px;
            letter-spacing: 1px;
        }

        .navbar-brand span {
            color: var(--gold);
        }

        .navbar .nav-link {
            color: rgba(255,255,255,.88);
            margin-left: 18px;
            font-weight: 500;
        }

        .navbar .nav-link:hover {
            color: var(--gold);
        }

        .btn-luxury {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--gold);
            color: #fff;
            border: 0;
            padding: 12px 24px;
            border-radius: 3px;
            font-weight: 600;
            transition: .3s;
        }

        .btn-luxury:hover {
            background: #a77e28;
            color: #fff;
            transform: translateY(-2px);
        }

        /* HERO */

        .hero {
            min-height: 760px;
            position: relative;
            overflow: hidden;
            background: #111;
        }

        .hero-slide {
            min-height: 760px;
            position: relative;
        }

        .hero-slide-img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(
                    90deg,
                    rgba(0,0,0,.72),
                    rgba(0,0,0,.30),
                    rgba(0,0,0,.15)
                );
        }

        .hero-content {
            position: relative;
            z-index: 2;
            min-height: 760px;
            display: flex;
            align-items: center;
            color: #fff;
        }

        .hero-small {
            color: var(--gold);
            text-transform: uppercase;
            letter-spacing: 4px;
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 18px;
        }

        .hero h1 {
            font-size: clamp(48px, 7vw, 88px);
            line-height: 1;
            max-width: 800px;
            margin-bottom: 25px;
        }

        .hero p {
            font-size: 18px;
            line-height: 1.8;
            max-width: 650px;
            color: rgba(255,255,255,.88);
            margin-bottom: 30px;
        }

        /* BOOKING */

        .booking-wrap {
            position: relative;
            z-index: 5;
            margin-top: -70px;
        }

        .booking-bar {
            background: #fff;
            box-shadow: 0 18px 55px rgba(0,0,0,.14);
            padding: 28px;
            border-top: 3px solid var(--gold);
        }

        .booking-bar label {
            display: block;
        }

        .lbl {
            display: block;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-weight: 700;
            margin-bottom: 8px;
            color: #716b60;
        }

        .field {
            display: flex;
            align-items: center;
            gap: 10px;
            border: 1px solid #ddd5c8;
            height: 50px;
            padding: 0 14px;
            background: #fff;
        }

        .field input {
            border: 0;
            outline: 0;
            width: 100%;
            background: transparent;
        }

        .text-gold {
            color: var(--gold);
        }

        /* GENERAL */

        section {
            padding: 100px 0;
        }

        .section-label {
            color: var(--gold);
            text-transform: uppercase;
            letter-spacing: 3px;
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 12px;
        }

        .section-title {
            font-size: clamp(38px, 5vw, 58px);
            margin-bottom: 20px;
            color: var(--dark);
        }

        .section-text {
            color: #6b665d;
            line-height: 1.9;
        }

        /* ABOUT */

        .about-img {
            width: 100%;
            height: 570px;
            object-fit: cover;
        }

        /* FEATURES */

        .feature-box {
            background: #fff;
            padding: 38px 30px;
            height: 100%;
            transition: .3s;
            border-bottom: 2px solid transparent;
        }

        .feature-box:hover {
            transform: translateY(-7px);
            border-bottom-color: var(--gold);
            box-shadow: 0 15px 35px rgba(0,0,0,.08);
        }

        .feature-icon {
            font-size: 38px;
            color: var(--gold);
            margin-bottom: 18px;
        }

        .feature-box h3 {
            font-size: 27px;
        }

        /* ROOMS */

        .room-card {
            background: #fff;
            height: 100%;
            box-shadow: 0 10px 30px rgba(0,0,0,.08);
            overflow: hidden;
        }

        .room-card img {
            width: 100%;
            height: 270px;
            object-fit: cover;
            transition: .5s;
        }

        .room-card:hover img {
            transform: scale(1.04);
        }

        .room-content {
            padding: 25px;
        }

        .room-content h3 {
            font-size: 28px;
        }

        /* GALLERY */

        .gallery img {
            width: 100%;
            height: 320px;
            object-fit: cover;
            transition: .4s;
        }

        .gallery a {
            display: block;
            overflow: hidden;
        }

        .gallery a:hover img {
            transform: scale(1.05);
        }

        /* VIDEO */

        .video-section {
            background: var(--dark);
            color: #fff;
        }

        .video-section .section-title {
            color: #fff;
        }

        .video-box {
            position: relative;
            overflow: hidden;
            background: #000;
            box-shadow: 0 20px 60px rgba(0,0,0,.3);
        }

        .video-box video {
            display: block;
            width: 100%;
            max-height: 650px;
            object-fit: cover;
        }

        /* CONTACT */

        .contact-box {
            background: #fff;
            padding: 40px;
            height: 100%;
            box-shadow: 0 10px 30px rgba(0,0,0,.07);
        }

        .contact-icon {
            color: var(--gold);
            font-size: 28px;
        }

        /* FOOTER */

        footer {
            background: #100d09;
            color: rgba(255,255,255,.7);
            padding: 60px 0 30px;
        }

        footer h3 {
            color: #fff;
            font-size: 30px;
        }

        footer h3 span {
            color: var(--gold);
        }

        footer a {
            color: rgba(255,255,255,.7);
        }

        footer a:hover {
            color: var(--gold);
        }

        .copyright {
            border-top: 1px solid rgba(255,255,255,.1);
            margin-top: 40px;
            padding-top: 25px;
            font-size: 14px;
        }

        @media (max-width: 767.98px) {

            .navbar-brand {
                font-size: 25px;
            }

            .navbar .nav-link {
                margin-left: 0;
            }

            .hero,
            .hero-slide,
            .hero-content {
                min-height: 650px;
            }

            .hero h1 {
                font-size: 50px;
            }

            .hero p {
                font-size: 16px;
            }

            .booking-wrap {
                margin-top: -30px;
            }

            section {
                padding: 70px 0;
            }

            .about-img {
                height: 400px;
            }

            .gallery img {
                height: 240px;
            }
        }
