        :root {
            --espresso: #1A0F08;
            --walnut: #2C1810;
            --mocha: #3D261A;
            --cedar: #4E3425;
            --gold: #D4AF37;
            --gold-light: #E5C76B;
            --gold-dark: #B8960C;
            --burgundy: #722F37;
            --burgundy-light: #8B3A44;
            --teal: #2D5A5A;
            --teal-light: #3D7A7A;
            --cream: #F5F0E6;
            --warm-white: #FAF8F5;
            --text-light: rgba(255, 255, 255, 0.9);
            --text-muted: rgba(255, 255, 255, 0.6);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }

        body {
            font-family: 'Raleway', sans-serif;
            font-weight: 300;
            background: var(--espresso);
            color: var(--text-light);
            line-height: 1.7;
            overflow-x: hidden;
        }

        h1, h2, h3, h4 {
            font-family: 'Cinzel', serif;
            font-weight: 500;
            line-height: 1.2;
            letter-spacing: 0.05em;
        }

        body::before {
            content: '';
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            pointer-events: none;
            opacity: 0.03;
            z-index: 10000;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
        }

        /* Navigation */
        nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 1.5rem 4rem; display: flex; justify-content: space-between; align-items: center; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
        nav.scrolled { background: rgba(26, 15, 8, 0.95); backdrop-filter: blur(20px); padding: 1rem 4rem; border-bottom: 1px solid rgba(212, 175, 55, 0.2); }
        .logo { font-family: 'Cinzel', serif; font-size: 1.2rem; font-weight: 600; letter-spacing: 0.12em; color: var(--gold); text-decoration: none; text-transform: uppercase; }
        .nav-links { display: flex; gap: 3rem; list-style: none; }
        .nav-links a { color: var(--text-light); text-decoration: none; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 400; position: relative; transition: color 0.3s; }
        .nav-links a:hover { color: var(--gold); }
        .nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--gold); transition: width 0.3s ease; }
        .nav-links a:hover::after { width: 100%; }
        .nav-cta { padding: 0.75rem 1.75rem; background: transparent; color: var(--gold); text-decoration: none; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; border: 1px solid var(--gold); transition: all 0.3s ease; }
        .nav-cta:hover { background: var(--gold); color: var(--espresso); }

        /* Hero */
        .hero { height: 100vh; min-height: 800px; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
        .hero-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.45) saturate(0.9); transform: scale(1.1); animation: slowZoom 30s ease-out forwards; }
        @keyframes slowZoom { to { transform: scale(1); } }
        .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(26,15,8,0.4) 0%, rgba(26,15,8,0.15) 40%, rgba(26,15,8,0.85) 100%); }
        .hero-content { position: relative; z-index: 10; text-align: center; padding: 0 2rem; max-width: 1000px; }
        .hero-badge { display: inline-flex; align-items: center; gap: 1rem; padding: 0.75rem 2rem; border: 1px solid var(--gold); font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 2.5rem; opacity: 0; animation: fadeUp 1s ease 0.3s forwards; }
        .hero-badge::before, .hero-badge::after { content: ''; width: 30px; height: 1px; background: var(--gold); }
        .hero h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); color: var(--warm-white); margin-bottom: 1.5rem; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; opacity: 0; animation: fadeUp 1s ease 0.5s forwards; }
        .hero h1 span { display: block; font-size: 0.4em; letter-spacing: 0.3em; color: var(--gold); margin-top: 0.5rem; font-weight: 500; }
        .hero-subtitle { font-size: 1.1rem; color: var(--text-muted); font-weight: 300; letter-spacing: 0.05em; max-width: 600px; margin: 0 auto 3rem; opacity: 0; animation: fadeUp 1s ease 0.7s forwards; }
        .hero-cta { display: inline-block; padding: 1rem 3rem; background: var(--gold); color: var(--espresso); text-decoration: none; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; transition: all 0.3s ease; opacity: 0; animation: fadeUp 1s ease 0.9s forwards; }
        .hero-cta:hover { background: var(--gold-light); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(212, 175, 55, 0.3); }
        @keyframes fadeUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
        .scroll-indicator { position: absolute; bottom: 3rem; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 0.75rem; color: var(--gold); opacity: 0; animation: fadeUpCenter 1s ease 1.2s forwards; }
        @keyframes fadeUpCenter { from { opacity: 0; transform: translateX(-50%) translateY(40px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
        .scroll-indicator span { font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase; }
        .scroll-line { width: 1px; height: 60px; background: linear-gradient(to bottom, var(--gold), transparent); animation: scrollPulse 2s ease-in-out infinite; }
        @keyframes scrollPulse { 0%, 100% { transform: scaleY(1); opacity: 1; } 50% { transform: scaleY(0.6); opacity: 0.5; } }

        /* Stats Bar */
        .stats-bar { background: var(--walnut); padding: 4rem; display: flex; justify-content: center; gap: 6rem; flex-wrap: wrap; border-top: 1px solid rgba(212,175,55,0.2); border-bottom: 1px solid rgba(212,175,55,0.2); }
        .stat-item { text-align: center; }
        .stat-number { font-family: 'Cinzel', serif; font-size: 3rem; font-weight: 400; color: var(--gold); line-height: 1; }
        .stat-label { font-size: 0.7rem; letter-spacing: 0.25em; text-transform: uppercase; margin-top: 0.75rem; color: var(--text-muted); }

        /* Section Styles */
        section { padding: 8rem 4rem; position: relative; }
        .section-header { text-align: center; margin-bottom: 5rem; }
        .section-label { font-size: 0.7rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem; display: flex; align-items: center; justify-content: center; gap: 1.5rem; }
        .section-label::before, .section-label::after { content: ''; width: 40px; height: 1px; background: var(--gold); opacity: 0.5; }
        .section-title { font-size: clamp(2rem, 4vw, 3rem); color: var(--warm-white); margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 0.08em; }
        .section-subtitle { font-size: 1.1rem; color: var(--text-muted); max-width: 600px; margin: 0 auto; font-weight: 300; }

        /* About */
        .about { background: var(--walnut); }
        .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; max-width: 1400px; margin: 0 auto; align-items: center; }
        .about-images { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; position: relative; }
        .about-images::before { content: ''; position: absolute; top: -20px; left: -20px; right: 20px; bottom: 20px; border: 1px solid var(--gold); opacity: 0.3; z-index: -1; }
        .about-img { width: 100%; height: 250px; object-fit: cover; filter: saturate(0.9); transition: all 0.6s ease; }
        .about-img:first-child { grid-column: span 2; height: 300px; }
        .about-img:hover { filter: saturate(1.1); transform: scale(1.02); }
        .about-content h3 { font-size: 2.2rem; color: var(--warm-white); margin-bottom: 2rem; text-transform: uppercase; letter-spacing: 0.05em; }
        .about-content p { color: var(--text-muted); margin-bottom: 1.5rem; font-size: 0.95rem; }
        .about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.5rem; }
        .feature-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; background: rgba(212,175,55,0.05); border-left: 2px solid var(--gold); }
        .feature-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .feature-icon svg { width: 24px; height: 24px; stroke: var(--gold); }
        .feature-text { font-size: 0.85rem; color: var(--text-light); letter-spacing: 0.02em; }

        /* Gallery */
        .gallery { background: var(--espresso); }
        .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 280px); gap: 0.5rem; max-width: 1600px; margin: 0 auto; }
        .gallery-item { position: relative; overflow: hidden; cursor: pointer; }
        .gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
        .gallery-item img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.8) brightness(0.9); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
        .gallery-item:hover img { transform: scale(1.1); filter: saturate(1) brightness(1); }
        .gallery-item::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,15,8,0.8) 0%, transparent 50%); opacity: 0; transition: opacity 0.4s ease; z-index: 1; }
        .gallery-item:hover::before { opacity: 1; }
        .gallery-caption { position: absolute; bottom: 1.5rem; left: 1.5rem; color: var(--gold); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0; transform: translateY(10px); transition: all 0.4s ease; z-index: 10; }
        .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }
        .gallery-cta { text-align: center; margin-top: 3rem; }
        .btn-outline { display: inline-block; padding: 1rem 2.5rem; border: 1px solid var(--gold); color: var(--gold); text-decoration: none; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; transition: all 0.3s ease; }
        .btn-outline:hover { background: var(--gold); color: var(--espresso); }

        /* Rooms */
        .rooms { background: var(--walnut); }
        .rooms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; max-width: 1200px; margin: 0 auto; }
        .room-card { background: var(--mocha); position: relative; overflow: hidden; }
        .room-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--gold), var(--burgundy)); }
        .room-image { width: 100%; height: 250px; object-fit: cover; filter: saturate(0.9); }
        .room-content { padding: 2rem; }
        .room-content h4 { font-size: 1.2rem; color: var(--gold); margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.1em; }
        .room-content p { color: var(--text-muted); font-size: 0.9rem; margin-bottom: 1.5rem; }
        .room-features { list-style: none; }
        .room-features li { font-size: 0.85rem; color: var(--text-light); padding: 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; gap: 0.75rem; }
        .room-features li::before { content: ''; width: 6px; height: 6px; background: var(--gold); flex-shrink: 0; }

        /* Services Highlight */
        .services-highlight { background: linear-gradient(135deg, var(--burgundy) 0%, var(--burgundy-light) 100%); padding: 6rem 4rem; text-align: center; position: relative; overflow: hidden; }
        .services-highlight::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(ellipse, rgba(212,175,55,0.1) 0%, transparent 50%); pointer-events: none; }
        .services-content { max-width: 900px; margin: 0 auto; position: relative; z-index: 1; }
        .services-icon { font-size: 4rem; margin-bottom: 2rem; }
        .services-highlight h3 { font-size: 2.5rem; color: var(--gold); margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 0.1em; }
        .services-content > p { font-size: 1.1rem; color: rgba(255,255,255,0.8); line-height: 1.8; margin-bottom: 3rem; }
        .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; text-align: center; }
        .service-card { padding: 1.5rem; border: 1px solid rgba(212,175,55,0.3); background: rgba(255,255,255,0.05); transition: all 0.3s ease; }
        .service-card:hover { border-color: var(--gold); background: rgba(255,255,255,0.1); }
        .service-card svg { width: 28px; height: 28px; stroke: var(--gold); margin-bottom: 0.75rem; }
        .service-card h5 { font-family: 'Cinzel', serif; font-size: 0.8rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.5rem; }
        .service-card p { font-size: 0.8rem; color: rgba(255,255,255,0.7); }

        /* Amenities */
        .amenities { background: var(--espresso); position: relative; }
        .amenities::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 0L100 50L50 100L0 50L50 0z' fill='%23D4AF37' fill-opacity='0.02'/%3E%3C/svg%3E"); pointer-events: none; }
        .amenities-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem; max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
        .amenity-category { text-align: center; padding: 2rem; background: rgba(61,38,26,0.5); border: 1px solid rgba(212,175,55,0.1); transition: all 0.3s ease; }
        .amenity-category:hover { border-color: rgba(212,175,55,0.3); background: rgba(61,38,26,0.8); }
        .amenity-icon { width: 50px; height: 50px; margin: 0 auto 1.5rem; display: flex; align-items: center; justify-content: center; border: 1px solid var(--gold); }
        .amenity-icon svg { width: 24px; height: 24px; stroke: var(--gold); }
        .amenity-category h4 { font-size: 0.9rem; margin-bottom: 1.5rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em; }
        .amenity-category ul { list-style: none; text-align: left; }
        .amenity-category li { font-size: 0.85rem; padding: 0.5rem 0; color: var(--text-muted); border-bottom: 1px solid rgba(255,255,255,0.05); }

        /* Location */
        .location { background: var(--walnut); }
        .location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; max-width: 1400px; margin: 0 auto; }
        .location-content h3 { font-size: 2rem; color: var(--warm-white); margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 0.05em; }
        .location-content > p { color: var(--text-muted); margin-bottom: 2rem; }
        .location-highlights { display: grid; gap: 0.5rem; }
        .highlight-item { display: flex; justify-content: space-between; align-items: center; padding: 1rem; background: rgba(212,175,55,0.05); border-left: 2px solid transparent; transition: all 0.3s ease; }
        .highlight-item:hover { border-left-color: var(--gold); background: rgba(212,175,55,0.1); }
        .highlight-name { font-weight: 400; color: var(--text-light); }
        .highlight-distance { font-family: 'Cinzel', serif; font-size: 1rem; color: var(--gold); }
        .location-map { background: var(--mocha); min-height: 500px; position: relative; overflow: hidden; }
        .map-placeholder { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.8); }
        .map-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, var(--espresso), transparent); padding: 3rem 2rem 2rem; }
        .map-overlay h4 { font-size: 1.2rem; color: var(--gold); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.1em; }
        .map-overlay p { font-size: 0.9rem; color: var(--text-muted); line-height: 1.6; }

        /* Reviews */
        .reviews { background: var(--espresso); }
        .reviews-container { max-width: 1200px; margin: 0 auto; }
        .review-scores { display: flex; justify-content: center; gap: 4rem; margin-bottom: 4rem; flex-wrap: wrap; }
        .score-item { text-align: center; }
        .score-number { font-family: 'Cinzel', serif; font-size: 3.5rem; color: var(--gold); line-height: 1; }
        .score-label { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-muted); margin-top: 0.5rem; }
        .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
        .review-card { background: var(--mocha); padding: 2.5rem; position: relative; border: 1px solid rgba(212,175,55,0.1); }
        .review-card::before { content: '\201C'; font-family: 'Cinzel', serif; font-size: 5rem; color: var(--gold); opacity: 0.2; position: absolute; top: 0.5rem; left: 1rem; line-height: 1; }
        .review-text { font-size: 0.95rem; font-style: italic; color: var(--text-light); line-height: 1.8; margin-bottom: 1.5rem; position: relative; z-index: 1; }
        .review-author { display: flex; align-items: center; gap: 1rem; }
        .author-avatar { width: 40px; height: 40px; background: var(--gold); display: flex; align-items: center; justify-content: center; color: var(--espresso); font-family: 'Cinzel', serif; font-size: 1rem; font-weight: 600; }
        .author-info h5 { font-family: 'Raleway', sans-serif; font-weight: 500; font-size: 0.9rem; color: var(--text-light); }
        .author-info span { font-size: 0.8rem; color: var(--text-muted); }

        /* Rules */
        .rules { background: var(--walnut); }
        .rules-container { max-width: 800px; margin: 0 auto; }
        .rule-item { border-bottom: 1px solid rgba(255,255,255,0.1); }
        .rule-header { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; cursor: pointer; transition: color 0.3s; }
        .rule-header:hover { color: var(--gold); }
        .rule-header h4 { font-size: 1rem; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; }
        .rule-toggle { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; transition: all 0.3s; }
        .rule-item.active .rule-toggle { background: var(--gold); border-color: var(--gold); }
        .rule-toggle svg { width: 12px; height: 12px; stroke: var(--text-light); transition: transform 0.3s, stroke 0.3s; }
        .rule-item.active .rule-toggle svg { transform: rotate(45deg); stroke: var(--espresso); }
        .rule-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
        .rule-item.active .rule-content { max-height: 300px; }
        .rule-content p { padding-bottom: 1.5rem; color: var(--text-muted); font-size: 0.95rem; }

        /* Booking */
        .booking { background: var(--espresso); border-top: 1px solid rgba(212,175,55,0.2); position: relative; overflow: hidden; }
        .booking::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(ellipse at center, rgba(212,175,55,0.05) 0%, transparent 70%); pointer-events: none; }
        .booking-container { max-width: 1000px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
        .booking-form { background: var(--walnut); padding: 3rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; align-items: end; border: 1px solid rgba(212,175,55,0.2); }
        .form-group { text-align: left; }
        .form-group label { display: block; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.75rem; }
        .form-group input, .form-group select { width: 100%; padding: 1rem; border: 1px solid rgba(255,255,255,0.1); background: var(--mocha); font-family: 'Raleway', sans-serif; font-size: 0.9rem; color: var(--text-light); transition: border-color 0.3s; }
        .form-group input:focus, .form-group select:focus { outline: none; border-color: var(--gold); }
        .btn-primary { padding: 1rem 2.5rem; background: var(--gold); color: var(--espresso); border: none; font-family: 'Raleway', sans-serif; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; cursor: pointer; transition: all 0.3s ease; height: 100%; min-height: 54px; }
        .btn-primary:hover { background: var(--gold-light); box-shadow: 0 5px 20px rgba(212,175,55,0.3); }
        .booking-note { margin-top: 2rem; font-size: 0.85rem; color: var(--text-muted); }

        /* Our Collection */
        .collection { background: var(--mocha); padding: 6rem 4rem; border-top: 1px solid rgba(212,175,55,0.2); }
        .collection-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width: 1200px; margin: 0 auto; }
        .collection-card { background: var(--walnut); overflow: hidden; border: 1px solid rgba(212,175,55,0.1); transition: all 0.4s ease; }
        .collection-card:hover { border-color: rgba(212,175,55,0.3); transform: translateY(-5px); }
        .collection-card-image-wrap { overflow: hidden; }
        .collection-card-image { width: 100%; height: 280px; object-fit: cover; filter: saturate(0.85); transition: all 0.6s ease; }
        .collection-card:hover .collection-card-image { filter: saturate(1); transform: scale(1.05); }
        .collection-card-body { padding: 2rem; }
        .collection-card-label { font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.75rem; }
        .collection-card-body h4 { font-size: 1.3rem; color: var(--warm-white); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.75rem; }
        .collection-card-body p { font-size: 0.9rem; color: var(--text-muted); margin-bottom: 1rem; line-height: 1.6; }
        .collection-stats { font-size: 0.75rem; letter-spacing: 0.1em; color: var(--gold); margin-bottom: 1.5rem; font-weight: 500; }
        .collection-link { display: inline-block; padding: 0.75rem 1.5rem; border: 1px solid var(--gold); color: var(--gold); text-decoration: none; font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; transition: all 0.3s; }
        .collection-link:hover { background: var(--gold); color: var(--espresso); }

        /* Footer */
        footer { background: var(--espresso); color: var(--text-light); padding: 5rem 4rem 2rem; border-top: 1px solid rgba(212,175,55,0.2); }
        .footer-content { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 4rem; max-width: 1400px; margin: 0 auto; padding-bottom: 4rem; border-bottom: 1px solid rgba(255,255,255,0.1); }
        .footer-brand h3 { font-size: 1.3rem; margin-bottom: 1rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em; }
        .footer-brand p { font-size: 0.9rem; color: var(--text-muted); line-height: 1.8; max-width: 300px; }
        .footer-column h4 { font-size: 0.7rem; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 1.5rem; color: var(--gold); font-family: 'Raleway', sans-serif; font-weight: 600; }
        .footer-column ul { list-style: none; }
        .footer-column li { margin-bottom: 0.75rem; }
        .footer-column a { color: var(--text-muted); text-decoration: none; font-size: 0.9rem; transition: color 0.3s; }
        .footer-column a:hover { color: var(--gold); }
        .footer-bottom { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 2rem auto 0; padding-top: 2rem; }
        .footer-bottom p { font-size: 0.8rem; color: var(--text-muted); }
        .social-links { display: flex; gap: 1rem; }
        .social-links a { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; color: var(--text-muted); transition: all 0.3s; }
        .social-links a:hover { border-color: var(--gold); color: var(--gold); }

        /* Lightbox */
        .lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.98); z-index: 10001; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.4s ease; }
        .lightbox.active { opacity: 1; visibility: visible; }
        .lightbox-content { position: relative; max-width: 90%; max-height: 90%; }
        .lightbox-content img { max-width: 100%; max-height: 85vh; object-fit: contain; }
        .lightbox-close { position: absolute; top: -50px; right: 0; width: 40px; height: 40px; background: none; border: 1px solid var(--gold); color: var(--gold); font-size: 1.5rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s; }
        .lightbox-close:hover { background: var(--gold); color: var(--espresso); }
        .lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; background: none; border: 1px solid var(--gold); color: var(--gold); font-size: 1.5rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s; }
        .lightbox-nav:hover { background: var(--gold); color: var(--espresso); }
        .lightbox-prev { left: -80px; }
        .lightbox-next { right: -80px; }
        .lightbox-counter { position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); color: var(--gold); font-size: 0.85rem; letter-spacing: 0.1em; }

        /* Scroll Animations */
        .reveal { opacity: 0; transform: translateY(50px); transition: all 1s cubic-bezier(0.4, 0, 0.2, 1); }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* Responsive */
        @media (max-width: 1200px) {
            .amenities-grid, .services-grid { grid-template-columns: repeat(2, 1fr); }
            .reviews-grid { grid-template-columns: 1fr; }
        }
        @media (max-width: 1024px) {
            nav { padding: 1rem 2rem; }
            .nav-links { display: none; }
            section { padding: 5rem 2rem; }
            .about-grid, .location-grid { grid-template-columns: 1fr; gap: 3rem; }
            .rooms-grid { grid-template-columns: 1fr; gap: 2rem; }
            .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 250px); }
            .gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 1; }
            .booking-form { grid-template-columns: 1fr 1fr; }
            .collection-grid { grid-template-columns: 1fr; }
            .footer-content { grid-template-columns: 1fr 1fr; gap: 2rem; }
        }
        @media (max-width: 768px) {
            .stats-bar { padding: 2rem; gap: 2rem; }
            .about-features { grid-template-columns: 1fr; }
            .amenities-grid, .services-grid { grid-template-columns: 1fr; }
            .gallery-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
            .gallery-item:nth-child(1) { grid-column: span 1; }
            .gallery-item { height: 250px; }
            .booking-form { grid-template-columns: 1fr; }
            .footer-content { grid-template-columns: 1fr; }
            .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
            .review-scores { gap: 2rem; }
            .services-highlight { padding: 4rem 2rem; }
            .collection { padding: 4rem 2rem; }
        }
        @media (max-width: 480px) {
            .hero h1 { font-size: 2rem; }
            .section-title { font-size: 1.8rem; }
            .services-highlight h3 { font-size: 1.8rem; }
        }
