@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Montserrat:wght@300;400;500;600;700&display=swap";:root{--gold:#c9a96e;--gold-light:#e8d5a9;--gold-dark:#a07d3f;--deep:#1a1a2e;--deep-accent:#16213e;--charcoal:#2c2c2c;--ink:#333;--muted:#777;--light:#f8f6f3;--cream:#faf8f5;--white:#fff;--border:#e8e4dd;--success:#2d8b4e;--coral:#c74b3b;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Montserrat", "Segoe UI", system-ui, sans-serif;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 40px #0000001f;--shadow-xl:0 16px 60px #00000029;--radius:4px;--radius-lg:8px;--transition:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}#root{width:100%;max-width:100%}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2}.container{max-width:1280px;margin:0 auto;padding:0 24px}@media (width<=768px){.container{padding:0 16px}}.navbar{z-index:1000;transition:var(--transition);padding:0 40px;position:fixed;top:0;left:0;right:0}.navbar.transparent{background:0 0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1a2ef7;box-shadow:0 2px 20px #00000026}.navbar-inner{justify-content:space-between;align-items:center;max-width:1400px;height:80px;margin:0 auto;display:flex}.navbar-logo{cursor:pointer;flex-direction:column;align-items:flex-start;display:flex}.navbar-logo .logo-name{font-family:var(--font-display);color:var(--white);letter-spacing:.05em;font-size:1.6rem;font-weight:600;line-height:1}.navbar-logo .logo-tagline{font-family:var(--font-body);letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-top:3px;font-size:.55rem}.navbar-links{align-items:center;gap:32px;list-style:none;display:flex}.navbar-links a{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9;transition:var(--transition);font-size:.78rem;font-weight:500;position:relative}.navbar-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:var(--transition);position:absolute;bottom:-4px;left:0}.navbar-links a:hover{color:var(--gold)}.navbar-links a:hover:after{width:100%}.navbar-book-btn{background:var(--gold);transition:var(--transition);border-radius:2px;color:var(--deep)!important;letter-spacing:.15em!important;padding:10px 28px!important;font-size:.72rem!important;font-weight:600!important}.navbar-book-btn:hover{transform:translateY(-1px);background:var(--gold-light)!important}.navbar-book-btn:after{display:none!important}.mobile-toggle{z-index:1001;cursor:pointer;flex-direction:column;gap:5px;padding:8px;display:none}.mobile-toggle span{background:var(--white);width:24px;height:2px;transition:var(--transition);display:block}.mobile-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.mobile-toggle.active span:nth-child(2){opacity:0}.mobile-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{background:var(--deep);z-index:999;opacity:0;pointer-events:none;transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:all}.mobile-menu a{font-family:var(--font-display);color:var(--white);transition:var(--transition);font-size:2rem}.mobile-menu a:hover{color:var(--gold)}@media (width<=968px){.navbar-links{display:none}.mobile-toggle{display:flex}.navbar{padding:0 20px}}.hero{justify-content:center;align-items:center;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%;transition:transform 20s linear}.hero-bg img.zoom{transform:scale(1.1)}.hero-overlay{z-index:1;background:linear-gradient(#1a1a2e4d 0%,#1a1a2e80 50%,#1a1a2ecc 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:var(--white);max-width:800px;padding:0 24px;position:relative}.hero-badge{font-family:var(--font-body);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);border:1px solid #c9a96e4d;margin-bottom:20px;padding:6px 20px;font-size:.65rem;font-weight:600;display:inline-block}.hero h1{font-family:var(--font-display);text-wrap:balance;color:var(--white);margin-bottom:20px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.15}.hero h1 em{color:var(--gold-light);font-style:italic}.hero-sub{color:#fffc;max-width:550px;margin:0 auto 36px;font-size:1rem;font-weight:300;line-height:1.7}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn-primary{background:var(--gold);color:var(--deep);font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:8px;padding:14px 40px;font-size:.75rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 30px #c9a96e4d}.btn-outline{color:var(--white);font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;align-items:center;gap:8px;padding:14px 40px;font-size:.75rem;font-weight:500;display:inline-flex}.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.btn-outline-dark{color:var(--ink);font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--border);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:8px;padding:14px 40px;font-size:.75rem;font-weight:500;display:inline-flex}.btn-outline-dark:hover{border-color:var(--gold);color:var(--gold-dark)}.hero-scroll{z-index:2;color:#ffffff80;letter-spacing:.2em;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-size:.65rem;animation:2s ease-in-out infinite float;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.hero-scroll .scroll-line{background:linear-gradient(to bottom, var(--gold), transparent);width:1px;height:40px}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}.booking-bar{z-index:10;margin-top:-60px;padding:0 24px;position:relative}.booking-bar-inner{background:var(--white);max-width:1100px;box-shadow:var(--shadow-xl);flex-wrap:wrap;align-items:flex-end;gap:16px;margin:0 auto;padding:28px 36px;display:flex}.booking-field{flex:1;min-width:140px}.booking-field label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.65rem;font-weight:600;display:block}.booking-field input,.booking-field select{border:none;border-bottom:1.5px solid var(--border);width:100%;color:var(--ink);transition:var(--transition);background:0 0;outline:none;padding:10px 0;font-size:.9rem}.booking-field input:focus,.booking-field select:focus{border-bottom-color:var(--gold)}.booking-bar .btn-primary{flex-shrink:0;height:fit-content;padding:12px 36px}@media (width<=768px){.booking-bar{margin-top:-40px}.booking-bar-inner{flex-direction:column;gap:12px;padding:24px 20px}.booking-field{min-width:100%}}.section{padding:100px 0}@media (width<=768px){.section{padding:60px 0}}.section-dark{background:var(--deep);color:var(--white)}.section-cream{background:var(--cream)}.section-header{text-align:center;margin-bottom:60px}.section-eyebrow{font-family:var(--font-body);letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:.65rem;font-weight:600;display:block}.section-title{font-family:var(--font-display);text-wrap:balance;color:inherit;margin-bottom:16px;font-size:clamp(2rem,4vw,3rem);font-weight:400}.section-subtitle{color:var(--muted);max-width:600px;margin:0 auto;font-size:.95rem;font-weight:300;line-height:1.7}.section-dark .section-subtitle{color:#fff9}.section-divider{background:var(--gold);width:60px;height:1px;margin:20px auto 0}.rooms-filters{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:48px;display:flex}.filter-btn{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);transition:var(--transition);cursor:pointer;background:0 0;padding:8px 24px;font-size:.72rem;font-weight:600}.filter-btn:hover,.filter-btn.active{background:var(--gold);color:var(--deep);border-color:var(--gold)}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px;display:grid}@media (width<=768px){.rooms-grid{grid-template-columns:1fr}}.room-card{background:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition);cursor:pointer;position:relative;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.room-card-img{height:260px;position:relative;overflow:hidden}.room-card-img img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow)}.room-card:hover .room-card-img img{transform:scale(1.08)}.room-card-badge{background:var(--coral);color:var(--white);letter-spacing:.1em;text-transform:uppercase;z-index:2;padding:4px 12px;font-size:.65rem;font-weight:600;position:absolute;top:16px;left:16px}.room-card-body{padding:24px}.room-card-category{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:6px;font-size:.6rem;font-weight:600}.room-card-name{font-family:var(--font-display);color:var(--charcoal);margin-bottom:8px;font-size:1.5rem;font-weight:500}.room-card-meta{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.room-card-meta span{color:var(--muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.room-card-price{border-top:1px solid var(--border);align-items:baseline;gap:8px;margin-top:16px;padding-top:16px;display:flex}.room-card-price .price{font-family:var(--font-display);color:var(--charcoal);font-size:1.6rem;font-weight:600}.room-card-price .original{color:var(--muted);font-size:.85rem;text-decoration:line-through}.room-card-price .per-night{color:var(--muted);font-size:.75rem}.room-card-rating{align-items:center;gap:4px;margin-left:auto;display:flex}.room-card-rating .stars{color:var(--gold);font-size:.8rem}.room-card-rating .count{color:var(--muted);font-size:.72rem}.amenities-grid{grid-template-columns:repeat(4,1fr);gap:32px;display:grid}@media (width<=968px){.amenities-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.amenities-grid{grid-template-columns:1fr}}.amenity-card{text-align:center;transition:var(--transition);border:1px solid #ffffff14;padding:40px 24px;position:relative;overflow:hidden}.amenity-card:before{content:"";opacity:0;transition:var(--transition);background:linear-gradient(135deg,#c9a96e0d,#0000);position:absolute;inset:0}.amenity-card:hover:before{opacity:1}.amenity-card:hover{border-color:#c9a96e4d;transform:translateY(-4px)}.amenity-icon{width:56px;height:56px;color:var(--gold);justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.5rem;display:flex}.amenity-name{font-family:var(--font-display);color:var(--white);margin-bottom:8px;font-size:1.2rem}.amenity-desc{color:#ffffff80;font-size:.8rem;line-height:1.6}.gallery-filters{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:32px;display:flex}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:8px;display:grid}.gallery-grid .gallery-item:first-child{grid-area:span 2/span 2}.gallery-grid .gallery-item:nth-child(5){grid-column:span 2}@media (width<=768px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.gallery-grid .gallery-item:first-child{grid-area:span 1/span 2}.gallery-grid .gallery-item:nth-child(5){grid-column:span 1}}.gallery-item{cursor:pointer;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow)}.gallery-item:hover img{transform:scale(1.1)}.gallery-item-overlay{opacity:0;transition:var(--transition);background:linear-gradient(#0000 40%,#1a1a2eb3);align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-overlay span{font-family:var(--font-display);color:var(--white);font-size:1.1rem}.lightbox{z-index:9999;background:#000000f2;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:90%;max-height:85vh}.lightbox-close{color:var(--white);cursor:pointer;z-index:10000;background:0 0;border:none;font-size:2rem;position:absolute;top:20px;right:24px}.lightbox-nav{color:var(--white);cursor:pointer;width:48px;height:48px;transition:var(--transition);background:#ffffff1a;border:none;justify-content:center;align-items:center;font-size:2rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#c9a96e4d}.lightbox-prev{left:20px}.lightbox-next{right:20px}.dining-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}@media (width<=768px){.dining-grid{grid-template-columns:1fr}}.dining-card{background:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.dining-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dining-card:nth-child(2n){direction:rtl}.dining-card:nth-child(2n)>*{direction:ltr}.dining-card-img{height:100%;min-height:280px;overflow:hidden}.dining-card-img img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow)}.dining-card:hover .dining-card-img img{transform:scale(1.06)}.dining-card-body{flex-direction:column;justify-content:center;padding:32px;display:flex}.dining-card-cuisine{letter-spacing:.25em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:8px;font-size:.6rem;font-weight:600}.dining-card-name{font-family:var(--font-display);color:var(--charcoal);margin-bottom:12px;font-size:1.5rem;font-weight:500}.dining-card-desc{color:var(--muted);margin-bottom:16px;font-size:.85rem;line-height:1.7}.dining-card-info{color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.dining-card-info span{align-items:center;gap:6px;display:flex}.dining-card-highlight{border-left:2px solid var(--gold);color:var(--gold-dark);background:#c9a96e14;margin-top:12px;padding:8px 12px;font-size:.78rem;font-style:italic}@media (width<=600px){.dining-card{grid-template-columns:1fr}.dining-card:nth-child(2n){direction:ltr}.dining-card-img{min-height:200px}}.testimonials-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:24px;padding:20px 0;display:flex;overflow-x:auto}.testimonials-track::-webkit-scrollbar{display:none}.testimonial-card{scroll-snap-align:start;background:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition);flex:0 0 360px;padding:36px;position:relative}.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.testimonial-card:before{content:"“";font-family:var(--font-display);color:var(--gold-light);opacity:.5;font-size:4rem;line-height:1;position:absolute;top:16px;right:24px}.testimonial-stars{color:var(--gold);gap:2px;margin-bottom:16px;font-size:.9rem;display:flex}.testimonial-text{color:var(--ink);margin-bottom:20px;font-size:.9rem;font-style:italic;line-height:1.7}.testimonial-author{align-items:center;gap:12px;display:flex}.testimonial-avatar{background:var(--gold-light);width:44px;height:44px;font-family:var(--font-display);color:var(--gold-dark);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.testimonial-info .name{color:var(--charcoal);font-size:.85rem;font-weight:600}.testimonial-info .location{color:var(--muted);font-size:.75rem}.offers-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.offer-card{cursor:pointer;height:400px;position:relative;overflow:hidden}.offer-card img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow)}.offer-card:hover img{transform:scale(1.08)}.offer-card-overlay{transition:var(--transition);background:linear-gradient(#0000 0%,#1a1a2e33 40%,#1a1a2ee6 100%);flex-direction:column;justify-content:flex-end;padding:32px 24px;display:flex;position:absolute;inset:0}.offer-card:hover .offer-card-overlay{background:linear-gradient(#1a1a2e1a 0%,#1a1a2e66 40%,#1a1a2ef2 100%)}.offer-discount{font-family:var(--font-display);color:var(--gold);margin-bottom:4px;font-size:2.5rem;font-weight:700;line-height:1}.offer-title{font-family:var(--font-display);color:var(--white);margin-bottom:8px;font-size:1.4rem}.offer-desc{color:#ffffffb3;margin-bottom:12px;font-size:.8rem;line-height:1.6}.offer-code{border:1px dashed var(--gold);font-family:var(--font-body);letter-spacing:.15em;color:var(--gold);background:#c9a96e26;padding:4px 12px;font-size:.7rem;font-weight:600;display:inline-block}.about-split{grid-template-columns:1fr 1fr;min-height:500px;display:grid}@media (width<=768px){.about-split{grid-template-columns:1fr}}.about-image{min-height:400px;position:relative;overflow:hidden}.about-image img{object-fit:cover;width:100%;height:100%}.about-text{background:var(--deep);color:var(--white);flex-direction:column;justify-content:center;padding:60px 48px;display:flex}.about-text .section-eyebrow{text-align:left}.about-text h2{font-family:var(--font-display);text-wrap:balance;color:var(--white);margin-bottom:20px;font-size:2.2rem}.about-text p{color:#ffffffa6;margin-bottom:16px;font-size:.9rem;line-height:1.8}@media (width<=768px){.about-text{padding:40px 24px}}.stats-banner{text-align:center;background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);padding:48px 0;display:grid}@media (width<=600px){.stats-banner{grid-template-columns:repeat(2,1fr);gap:24px}}.stat-item .stat-number{font-family:var(--font-display);color:var(--charcoal);margin-bottom:4px;font-size:2.5rem;font-weight:600;line-height:1}.stat-item .stat-label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:500}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}@media (width<=768px){.contact-grid{grid-template-columns:1fr}}.contact-info-item{gap:16px;margin-bottom:32px;display:flex}.contact-info-icon{width:48px;height:48px;color:var(--gold-dark);background:#c9a96e1a;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.contact-info-text h4{font-family:var(--font-body);margin-bottom:4px;font-size:.85rem;font-weight:600}.contact-info-text p{color:var(--muted);font-size:.85rem;line-height:1.6}.contact-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;display:flex}.form-group label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.7rem;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border);color:var(--ink);background:var(--white);transition:var(--transition);border-radius:0;outline:none;padding:12px 16px;font-size:.9rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e1a}.form-group textarea{resize:vertical;min-height:120px}.newsletter{background:var(--deep);padding:60px 0}.newsletter-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.newsletter-text h3{font-family:var(--font-display);color:var(--white);margin-bottom:4px;font-size:1.8rem}.newsletter-text p{color:#ffffff80;font-size:.85rem}.newsletter-form{flex:1;gap:0;max-width:440px;display:flex}.newsletter-form input{color:var(--white);transition:var(--transition);background:#ffffff0d;border:1px solid #ffffff26;border-radius:0;outline:none;flex:1;padding:14px 20px;font-size:.85rem}.newsletter-form input::placeholder{color:#ffffff4d}.newsletter-form input:focus{border-color:var(--gold)}.newsletter-form button{background:var(--gold);color:var(--deep);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:var(--transition);white-space:nowrap;padding:14px 28px;font-size:.72rem;font-weight:600}.newsletter-form button:hover{background:var(--gold-light)}@media (width<=600px){.newsletter-inner{text-align:center;flex-direction:column}.newsletter-form{flex-direction:column;max-width:100%}}.footer{color:#ffffff80;background:#0d0d1a;padding:80px 0 0}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:60px;display:grid}@media (width<=968px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.footer-grid{grid-template-columns:1fr}}.footer-brand .logo-name{font-family:var(--font-display);color:var(--white);margin-bottom:4px;font-size:1.4rem;font-weight:600}.footer-brand .logo-tagline{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:.55rem;display:block}.footer-brand p{margin-bottom:20px;font-size:.82rem;line-height:1.7}.footer-social{gap:12px;display:flex}.footer-social a{color:#ffffff80;width:36px;height:36px;transition:var(--transition);border:1px solid #ffffff1a;justify-content:center;align-items:center;font-size:.9rem;display:flex}.footer-social a:hover{border-color:var(--gold);color:var(--gold)}.footer-col h4{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin-bottom:20px;font-size:.7rem;font-weight:600}.footer-col ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-col ul a{transition:var(--transition);font-size:.82rem}.footer-col ul a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 0;display:flex}.footer-bottom p{font-size:.75rem}.footer-bottom a{color:var(--gold);transition:var(--transition)}.footer-bottom a:hover{color:var(--gold-light);text-decoration:underline}.footer-legal{gap:20px;display:flex}.footer-legal a{color:#ffffff4d;font-size:.72rem}.footer-legal a:hover{color:var(--gold)}.room-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.room-modal{background:var(--white);width:100%;max-width:900px;max-height:90vh;position:relative;overflow-y:auto}.room-modal-close{width:40px;height:40px;color:var(--white);z-index:10;cursor:pointer;background:#00000080;border:none;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:16px;right:16px}.room-modal-gallery{height:400px;position:relative;overflow:hidden}@media (width<=600px){.room-modal-gallery{height:250px}}.room-modal-gallery img{object-fit:cover;width:100%;height:100%}.room-modal-gallery .gallery-dots{gap:6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.room-modal-gallery .gallery-dots span{cursor:pointer;width:8px;height:8px;transition:var(--transition);background:#fff6;border-radius:50%}.room-modal-gallery .gallery-dots span.active{background:var(--gold);border-radius:4px;width:24px}.room-modal-body{padding:36px}@media (width<=600px){.room-modal-body{padding:24px 16px}}.room-modal-body h2{font-family:var(--font-display);color:var(--charcoal);margin-bottom:8px;font-size:2rem}.room-modal-meta{flex-wrap:wrap;gap:20px;margin:12px 0 16px;display:flex}.room-modal-meta span{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;display:flex}.room-modal-amenities{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.room-modal-amenities span{background:var(--cream);color:var(--ink);padding:6px 14px;font-size:.75rem;font-weight:500}.room-modal-book{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:24px;display:flex}.booking-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.booking-modal{background:var(--white);width:100%;max-width:560px;max-height:90vh;padding:40px;position:relative;overflow-y:auto}@media (width<=600px){.booking-modal{padding:24px 16px}}.booking-modal h2{font-family:var(--font-display);color:var(--charcoal);margin-bottom:4px;font-size:1.8rem}.booking-modal .booking-room-name{color:var(--gold-dark);margin-bottom:24px;font-size:.85rem}.booking-success{text-align:center;padding:40px 20px}.booking-success .check-icon{background:var(--success);width:64px;height:64px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.8rem;display:flex}.booking-success h3{font-family:var(--font-display);color:var(--charcoal);margin-bottom:8px;font-size:1.6rem}.booking-success .conf-id{color:var(--gold-dark);margin-bottom:12px;font-size:.85rem;font-weight:600}.booking-success p{color:var(--muted);font-size:.85rem;line-height:1.7}.toast{background:var(--success);color:var(--white);box-shadow:var(--shadow-lg);z-index:10000;align-items:center;gap:10px;max-width:400px;padding:16px 24px;font-size:.85rem;font-weight:500;animation:.3s slideInRight;display:flex;position:fixed;bottom:30px;right:30px}.toast.error{background:var(--coral)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.back-to-top{background:var(--gold);width:44px;height:44px;color:var(--deep);cursor:pointer;z-index:999;transition:var(--transition);opacity:0;pointer-events:none;border:none;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:fixed;bottom:30px;right:30px}.back-to-top.visible{opacity:1;pointer-events:all}.back-to-top:hover{background:var(--gold-dark);transform:translateY(-2px)}.page-loader{background:var(--deep);z-index:99999;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}.page-loader.hidden{opacity:0;pointer-events:none}.loader-logo{font-family:var(--font-display);color:var(--white);margin-bottom:8px;font-size:2rem}.loader-tagline{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;font-size:.6rem}.loader-bar{background:#ffffff1a;width:200px;height:1px;position:relative;overflow:hidden}.loader-bar:after{content:"";background:var(--gold);width:40%;height:100%;animation:1.2s ease-in-out infinite loadBar;position:absolute;top:0;left:0}@keyframes loadBar{0%{left:-40%}to{left:100%}}
