:root{--navy-950: #071021;--navy-900: #0b1b32;--navy-800: #10294e;--navy-700: #173a6e;--blue-600: #1e4e8c;--blue-500: #2b62a5;--gold: #c79a3a;--gold-2: #d9b45c;--gold-deep: #a8791f;--gold-light: #ebd9a8;--gold-pale: #f6edd9;--ivory: #f5f3ee;--bg: #faf9f6;--surface: #ffffff;--text: #0d131c;--muted: #4a5868;--border: #e4ded2;--success: #1e7d4f;--danger: #c0392b;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 3px rgba(11, 27, 50, .08), 0 1px 2px rgba(11, 27, 50, .06);--shadow-md: 0 6px 20px rgba(11, 27, 50, .1), 0 2px 6px rgba(11, 27, 50, .06);--shadow-lg: 0 18px 50px rgba(11, 27, 50, .18);--font-display: "Sora", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy-900);line-height:1.15;margin:0 0 .5rem;font-weight:800;letter-spacing:-.02em}p{margin:0 0 1rem}a{color:var(--blue-600);text-decoration:none}a:hover{color:var(--navy-800)}button{font-family:inherit}.page-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:var(--navy-900);opacity:0;pointer-events:none;transition:opacity .25s ease}.page-transition.active{opacity:1}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-fade{animation:pageFadeIn .55s cubic-bezier(.22,1,.36,1) both}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal.reveal--left{transform:translate(-30px)}.reveal.reveal--right{transform:translate(30px)}.reveal.reveal--scale{transform:scale(.94)}.reveal.revealed{opacity:1;transform:none}.hotel-grid .reveal:nth-child(2),.room-grid .reveal:nth-child(2),.deals-grid .reveal:nth-child(2),.destination-grid .reveal:nth-child(2){transition-delay:70ms}.hotel-grid .reveal:nth-child(3),.room-grid .reveal:nth-child(3),.deals-grid .reveal:nth-child(3),.destination-grid .reveal:nth-child(3){transition-delay:.14s}.hotel-grid .reveal:nth-child(4),.room-grid .reveal:nth-child(4),.deals-grid .reveal:nth-child(4),.destination-grid .reveal:nth-child(4){transition-delay:.21s}.hotel-grid .reveal:nth-child(5),.room-grid .reveal:nth-child(5),.deals-grid .reveal:nth-child(5),.destination-grid .reveal:nth-child(5){transition-delay:.28s}.hotel-grid .reveal:nth-child(6),.room-grid .reveal:nth-child(6),.deals-grid .reveal:nth-child(6),.destination-grid .reveal:nth-child(6){transition-delay:.35s}.hotel-grid .reveal:nth-child(7),.room-grid .reveal:nth-child(7),.deals-grid .reveal:nth-child(7),.destination-grid .reveal:nth-child(7){transition-delay:.42s}.hotel-grid .reveal:nth-child(8),.room-grid .reveal:nth-child(8),.deals-grid .reveal:nth-child(8),.destination-grid .reveal:nth-child(8){transition-delay:.49s}.amenity-grid .reveal:nth-child(2),.promise-grid .reveal:nth-child(2){transition-delay:60ms}.amenity-grid .reveal:nth-child(3),.promise-grid .reveal:nth-child(3){transition-delay:.12s}.amenity-grid .reveal:nth-child(4),.promise-grid .reveal:nth-child(4){transition-delay:.18s}.amenity-grid .reveal:nth-child(5),.promise-grid .reveal:nth-child(5){transition-delay:.24s}.amenity-grid .reveal:nth-child(6),.promise-grid .reveal:nth-child(6){transition-delay:.3s}.amenity-grid .reveal:nth-child(7),.promise-grid .reveal:nth-child(7){transition-delay:.36s}.amenity-grid .reveal:nth-child(8),.promise-grid .reveal:nth-child(8){transition-delay:.42s}.tilt{transform-style:preserve-3d;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease;will-change:transform}.tilt:hover,.tilt.tilting{transform:perspective(950px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-4px) scale(1.015);box-shadow:var(--shadow-lg)}@media(prefers-reduced-motion:reduce){.page-fade,.reveal,.tilt,.hero-eyebrow,.hero h1,.hero-sub,.hero-search,.hero-trust{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.page-transition{display:none}}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}.page{padding-top:72px;min-height:70vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#fff;padding:10px 16px;z-index:2000;border-radius:0 0 8px;font-weight:600}.skip-link:focus{left:0}:focus-visible{outline:3px solid var(--blue-500);outline-offset:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;text-align:center;transition:all .22s cubic-bezier(.22,1,.36,1);text-decoration:none;white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .55s cubic-bezier(.22,1,.36,1);pointer-events:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#fff;box-shadow:0 4px 14px #c79a3a59}.btn--gold:hover{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px #a8791f73}.btn--primary{background:var(--navy-800);color:#fff}.btn--primary:hover{background:var(--navy-700);color:#fff;transform:translateY(-1px)}.btn--outline{background:transparent;color:var(--navy-800);border-color:var(--navy-800)}.btn--outline:hover{background:var(--navy-800);color:#fff}.btn--ghost{background:transparent;color:inherit;border-color:currentColor}.btn--ghost:hover{background:#ffffff26}.btn--sm{padding:9px 16px;font-size:14px}.btn--lg{padding:15px 30px;font-size:16px}.btn--block{width:100%}.btn--search{padding:12px 30px;font-size:16px;min-height:48px}.badge{position:absolute;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;z-index:2}.badge--deal{top:12px;left:12px;background:var(--gold);color:#fff}.badge--avail{top:12px;right:12px;background:#1e7d4feb;color:#fff}.badge--low{top:12px;right:12px;background:#ca761af2;color:#fff}.badge--sold{top:12px;right:12px;background:#3c3c46eb;color:#fff}.badge--stars{top:12px;left:12px;background:#0b1b32e0;color:var(--gold-light)}.status-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:#e4f3ea;color:var(--success);font-size:13px;font-weight:700}.conf-num{font-family:var(--font-body);font-weight:700;color:var(--gold);letter-spacing:.04em}label,.field-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.02em}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px #2b62a526}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical}.field-error{color:var(--danger);font-size:13px;margin:5px 0 0;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column}.form-field--full{margin-top:16px}.optional{font-weight:400;color:var(--muted)}.guest-selector{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:4px 8px}.guest-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--ivory);font-size:18px;line-height:1;cursor:pointer;color:var(--navy-800);display:flex;align-items:center;justify-content:center;transition:all .15s}.guest-btn:hover:not(:disabled){background:var(--navy-800);color:#fff;border-color:var(--navy-800)}.guest-btn:disabled{opacity:.4;cursor:not-allowed}.guest-value{font-weight:700;font-size:16px;min-width:20px;text-align:center}.guest-wrap{display:flex;align-items:center;gap:10px}.guest-hint{font-size:13px;color:var(--muted)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s ease,box-shadow .3s ease,color .3s ease}.site-header.dark{background:var(--navy-900);color:#fff;box-shadow:0 2px 16px #0b1b3240}.site-header.light{background:linear-gradient(to bottom,#081426b8,#08142600);color:#fff}.site-header[data-scrolled=true]{background:var(--navy-900);color:#fff;box-shadow:0 2px 16px #0b1b3240}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand:hover{color:inherit}.brand-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#fff;font-family:var(--font-display);font-size:23px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #b8892c66}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-family:var(--font-display);font-size:17px;font-weight:800;color:inherit;text-transform:uppercase;letter-spacing:.1em}.brand-text em{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.46em;color:var(--gold-2);margin-top:2px}.desktop-nav{display:flex;gap:4px;align-items:center}.nav-link{padding:9px 13px;border-radius:8px;font-size:14.5px;font-weight:600;color:inherit;text-decoration:none;opacity:.88;position:relative;transition:opacity .2s,color .2s,background .2s}.nav-link:after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;border-radius:2px;background:var(--gold-2);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link:hover{opacity:1;background:#ffffff1f;color:inherit}.nav-link.active{opacity:1;color:var(--gold-light);background:#ffffff14}.header-actions{display:flex;align-items:center;gap:10px}.signin-link{color:#fff;border-color:#fff9}.bookings-link{color:#fff}.guest-chip{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.guest-avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.guest-name{color:var(--gold-light)}.guest-signout{background:none;border:none;color:inherit;font-size:12px;text-decoration:underline;cursor:pointer;opacity:.8;padding:4px}.sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:#ffffff0f;cursor:pointer;transition:background .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1)}.sound-toggle:hover{background:#ffffff29;transform:translateY(-1px)}.sound-toggle.muted{border-color:#ffffff38;background:#ffffff0a;opacity:.75}.sound-toggle-icon{font-size:17px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.hamburger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:all .25s ease;transform-origin:center}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--navy-900);color:#fff;z-index:1200;transform:translate(105%);transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;padding:20px;overflow-y:auto}.mobile-drawer.open{transform:translate(0);box-shadow:-20px 0 60px #00000059}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.drawer-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;width:40px;height:40px;border-radius:8px}.drawer-close:hover{background:#ffffff1a}.drawer-nav{display:flex;flex-direction:column;gap:4px;flex:1}.drawer-link{color:#fff;text-decoration:none;font-size:17px;font-weight:600;padding:13px 12px;border-radius:10px;border-bottom:1px solid rgba(255,255,255,.08);transition:background .15s}.drawer-link:hover,.drawer-link.active{background:#ffffff1a;color:var(--gold-light)}.drawer-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.drawer-guest{font-size:14px;color:#ffffffd9;margin-bottom:6px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0814268c;z-index:1100;animation:fadeIn .25s ease}.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden;padding:120px 0 90px}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/images/hotel-grand-exterior.jpg);background-size:cover;background-position:center;animation:heroZoom 18s ease-in-out infinite alternate}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0814268c,#08142659 45%,#081426bf)}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes heroUp{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{animation:heroUp .7s cubic-bezier(.22,1,.36,1) .05s both}.hero h1{animation:heroUp .8s cubic-bezier(.22,1,.36,1) .18s both}.hero-sub{animation:heroUp .8s cubic-bezier(.22,1,.36,1) .32s both}.hero-search{animation:heroUp .85s cubic-bezier(.22,1,.36,1) .46s both}.hero-trust{animation:heroUp .8s cubic-bezier(.22,1,.36,1) .6s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px}.hero-eyebrow{font-size:13px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-light);margin-bottom:14px}.hero h1{font-size:clamp(40px,6vw,70px);font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:18px;text-shadow:0 4px 30px rgba(0,0,0,.35)}.hero-sub{font-size:clamp(16px,2vw,19px);color:#fff;opacity:.95;max-width:640px;margin:0 auto 34px;text-shadow:0 2px 14px rgba(0,0,0,.4)}.hero-search{max-width:860px;margin:0 auto}.hero-trust{list-style:none;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:28px 0 0;padding:0;font-size:14px;color:#ffffffeb}.hero-trust li{display:flex;align-items:center;gap:6px}.hotel-search{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:12px;align-items:end;background:#fffffff7;padding:18px;border-radius:16px;box-shadow:var(--shadow-lg);text-align:left}.hero .hotel-search{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.hero .hotel-search:hover{transform:translateY(-3px);box-shadow:0 30px 70px #0000006b}.hotel-search .search-field{display:flex;flex-direction:column}.hotel-search label,.hotel-search .field-label{color:var(--muted);margin-bottom:6px}.hotel-search input{background:#fff;border-color:var(--border)}.hotel-search .field-error{position:absolute;margin-top:2px;font-size:11.5px}.hotel-search .search-field{position:relative}.hotel-search .search-field:has(.field-error) input,.hotel-search .search-field:has(.field-error) .guest-selector{border-color:var(--danger)}.field-wrap{position:relative}.field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:15px;z-index:1}.field-wrap input{padding-left:34px}.hotel-search--compact{grid-template-columns:1.4fr 1fr 1fr 1fr auto;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-md)}.section{padding:70px 0}.section--featured{background:var(--bg)}.section--top-rated{background:var(--ivory);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section--amenities{background:var(--bg)}.section--promises{background:var(--navy-900);color:#fff}.section--promises h2,.section--promises .eyebrow{color:#fff}.section-head{text-align:center;max-width:720px;margin:0 auto 42px}.section-head--row{display:flex;align-items:flex-end;justify-content:space-between;text-align:left;max-width:none;gap:20px}.eyebrow{font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}.section-head h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;margin-bottom:10px}.section-sub{color:var(--muted);font-size:16px}.section-more{text-align:center;margin-top:38px}.hotel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-grid--3{grid-template-columns:repeat(3,1fr)}.room-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease}.room-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.room-card-media{position:relative;aspect-ratio:4 / 3;overflow:hidden}.room-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.room-card:hover .room-card-media img{transform:scale(1.05)}.room-card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.room-card-topline h3{font-size:19px;margin-bottom:2px}.room-card-topline h3 a{color:var(--navy-900)}.room-card-topline h3 a:hover{color:var(--gold)}.room-card-hotel{display:block;font-weight:600;font-size:14px;color:var(--navy-700)}.room-card-location{display:block;font-size:13px;color:var(--muted)}.room-card-rating{display:flex;align-items:center;gap:6px;font-size:13.5px}.rating-num{font-weight:700;color:var(--navy-900)}.review-count{color:var(--muted);font-size:13px}.room-card-desc{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}.room-card-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;font-size:13px;color:var(--muted)}.room-card-facts li{display:flex;align-items:center;gap:5px}.room-card-amenities{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.room-card-amenities li{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);background:var(--ivory);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.room-card-amenities li.more{color:var(--navy-700);font-weight:700}.amenity-icon{color:var(--gold);flex-shrink:0}.room-card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}.price-block{display:flex;flex-direction:column}.price-original{font-size:13px;color:var(--muted);text-decoration:line-through}.price-now{font-size:21px;font-weight:800;color:var(--navy-900)}.price-per{font-size:13px;font-weight:500;color:var(--muted)}.room-card-actions{display:flex;gap:8px}.hotel-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease}.hotel-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.hotel-card-media{position:relative;aspect-ratio:4 / 3;overflow:hidden}.hotel-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hotel-card:hover .hotel-card-media img{transform:scale(1.05)}.hotel-card-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}.hotel-card-body h3{font-size:18px}.hotel-card-body h3 a{color:var(--navy-900)}.hotel-card-location{font-size:13px;color:var(--muted);margin:0}.hotel-card-rating{display:flex;align-items:center;gap:6px;font-size:13.5px}.hotel-card-desc{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}.hotel-card-facilities{list-style:none;display:flex;flex-wrap:wrap;gap:6px 12px;margin:4px 0 0;padding:0;font-size:12.5px;color:var(--muted)}.hotel-card-facilities li{display:flex;align-items:center;gap:4px}.hotel-card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.amenity-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0}.amenity-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.amenity-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.amenity-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--gold-pale);color:var(--gold);margin-bottom:14px}.amenity-tile h3{font-size:17px;margin-bottom:6px}.amenity-tile p{font-size:13.5px;color:var(--muted);margin:0}.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.promise-card{background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:26px 22px;transition:background .2s ease}.promise-card:hover{background:#ffffff1f}.promise-card h3{color:var(--gold-light);font-size:18px;margin-bottom:8px}.promise-card p{color:#ffffffd9;font-size:14.5px;margin:0}.promo-banner{background:linear-gradient(120deg,var(--navy-800),var(--blue-600));color:#fff;padding:56px 0}.promo-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.promo-inner .eyebrow{color:var(--gold-light)}.promo-inner h2{color:#fff;font-size:clamp(24px,3vw,34px);margin-bottom:8px}.promo-inner p{color:#ffffffe0;max-width:620px;margin:0}.results-hero{background:linear-gradient(140deg,var(--navy-800),var(--navy-950));color:#fff;padding:40px 0 56px}.results-hero h1{color:#fff;font-size:clamp(26px,3vw,36px);margin-bottom:4px}.results-hero .eyebrow{color:var(--gold-light)}.results-search{margin-top:22px}.results-layout{display:grid;grid-template-columns:290px 1fr;gap:28px;padding-top:32px;padding-bottom:64px;align-items:start}.filters-sidebar{position:sticky;top:92px}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.filters-head h2{font-size:20px;margin:0}.clear-filters{background:none;border:none;color:var(--blue-600);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;padding:4px}.clear-filters:hover{color:var(--danger)}.filter-group{border:none;border-top:1px solid var(--border);padding:16px 0 6px;margin:10px 0 0}.filter-group legend{font-size:14px;font-weight:700;color:var(--navy-900);padding:0 8px 0 0;margin-bottom:10px}.range-track{position:relative;height:30px;margin:10px 2px 6px}.range-track:before{content:"";position:absolute;left:4px;right:4px;top:50%;height:5px;transform:translateY(-50%);background:#e7e1d3;border-radius:999px;box-shadow:inset 0 1px 2px #0b1b321f}.range-track:after{content:"";position:absolute;left:calc(var(--lo, 0%) + 4px);right:calc((100% - var(--hi, 100%)) + 4px);top:50%;height:5px;transform:translateY(-50%);background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:999px;box-shadow:0 0 10px #c79a3a73}.range{position:absolute;width:100%;height:30px;margin:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none;top:50%;transform:translateY(-50%)}.range-max{z-index:2}.range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0 5px,#fff 5.5px);border:3px solid var(--gold);cursor:grab;box-shadow:0 2px 8px #0b1b3247,0 0 0 1px #ffffffb3;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 12px #a8791f73,0 0 0 4px #c79a3a2e}.range:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.2);background:radial-gradient(circle,var(--gold-deep) 0 5px,var(--gold-pale) 5.5px);border-color:var(--gold-deep);box-shadow:0 4px 16px #a8791f8c,0 0 0 5px #c79a3a38}.range:focus-visible::-webkit-slider-thumb{outline:3px solid var(--blue-500);outline-offset:3px}.range::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0 4px,#fff 4.5px);border:3px solid var(--gold);cursor:grab;box-shadow:0 2px 8px #0b1b3247;transition:transform .15s ease,box-shadow .15s ease}.range::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 12px #a8791f73}.range:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.2);background:radial-gradient(circle,var(--gold-deep) 0 4px,var(--gold-pale) 4.5px);border-color:var(--gold-deep)}.range:focus-visible::-moz-range-thumb{outline:3px solid var(--blue-500);outline-offset:3px}.range-values{display:flex;align-items:center;gap:8px;margin-top:6px}.price-input{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);flex:1}.price-input input{padding:6px 8px;font-size:13.5px;width:100%}.price-input input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c79a3a2e}.range-dash{color:var(--muted)}.range-current{font-size:13px;font-weight:700;color:var(--navy-900);margin:8px 0 0}.check-row{display:flex;align-items:center;gap:10px;font-size:14.5px;padding:7px 4px;cursor:pointer;color:var(--text);border-radius:6px;transition:background .15s}.check-row:hover{background:var(--ivory)}.check-row input{position:absolute;opacity:0;width:0;height:0}.check-box{width:19px;height:19px;border:2px solid var(--border);border-radius:5px;background:#fff;flex-shrink:0;position:relative;transition:all .15s}.check-row input:checked+.check-box{background:var(--navy-800);border-color:var(--navy-800)}.check-row input:checked+.check-box:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.check-row input:focus-visible+.check-box{outline:3px solid var(--blue-500);outline-offset:2px}.amenity-label{display:flex;align-items:center;gap:8px}.amenity-options{display:flex;flex-direction:column}.filter-empty{font-size:13px;color:var(--muted)}.show-more{background:none;border:none;color:var(--blue-600);font-weight:600;font-size:13px;cursor:pointer;padding:6px 0 0;text-decoration:underline}.results-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.summary-title{font-weight:700;font-size:17px;color:var(--navy-900);margin:0}.summary-detail{font-size:14px;color:var(--muted);margin:2px 0 0}.summary-controls{display:flex;align-items:center;gap:10px}.sort-control{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.sort-control select{width:auto;min-width:170px;padding:9px 12px;font-weight:600;color:var(--navy-900)}.filters-toggle{display:none}.results-grid{grid-template-columns:repeat(2,1fr)}.no-results{text-align:center;padding:64px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.no-results-icon{font-size:44px;display:block;margin-bottom:12px}.no-results h2{font-size:26px;margin-bottom:8px}.no-results p{color:var(--muted);max-width:420px;margin:0 auto 22px}.no-results-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.filter-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,90vw);background:var(--bg);z-index:1200;display:flex;flex-direction:column;box-shadow:-20px 0 60px #0000004d;animation:slideIn .3s cubic-bezier(.22,1,.36,1);transition:transform .26s cubic-bezier(.22,1,.36,1);touch-action:pan-y}.filter-drawer.closing{animation:none;transform:translate(100%)}.filter-drawer-grab{display:none;height:22px;align-items:flex-start;justify-content:center;padding-top:9px;background:var(--bg);border-radius:18px 18px 0 0}.filter-drawer-grab:before{content:"";width:44px;height:5px;border-radius:999px;background:#c9c2b2}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.filter-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--navy-900);color:#fff}.filter-drawer-head h2{color:#fff;font-size:20px;margin:0}.filter-drawer-head button{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;width:38px;height:38px;border-radius:8px}.filter-drawer-head button:hover{background:#ffffff1f}.filter-drawer-body{flex:1;overflow-y:auto;padding:16px}.filter-drawer-body .filters{border:none;box-shadow:none;padding:0}.filter-drawer-foot{padding:14px 16px;background:var(--surface);border-top:1px solid var(--border)}.breadcrumbs{font-size:13.5px;color:var(--muted);padding:26px 0 8px}.breadcrumbs a{color:var(--muted);text-decoration:underline}.breadcrumbs a:hover{color:var(--navy-800)}.room-details-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:10px 0 26px;flex-wrap:wrap}.room-details-hotel{font-weight:600;color:var(--gold);font-size:14px;margin:0 0 4px;letter-spacing:.02em}.room-details-head h1{font-size:clamp(28px,4vw,44px);margin-bottom:8px}.room-details-rating{display:flex;align-items:center;gap:8px}.room-details-price{text-align:right}.room-details-price .price-now{font-size:30px}.deal-tag{display:inline-block;margin-top:4px;background:var(--gold-pale);color:var(--gold);font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px}.room-details-layout{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;padding-bottom:70px}.room-gallery{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--surface)}.gallery-main{position:relative;display:block;width:100%;aspect-ratio:16 / 9;border:none;padding:0;cursor:zoom-in;background:#000}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-expand{position:absolute;right:14px;bottom:14px;background:#081426b3;color:#fff;width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:8px}.gallery-thumb{border:none;padding:0;aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;cursor:pointer;opacity:.65;transition:opacity .15s,transform .15s}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb:hover{opacity:.9}.gallery-thumb.active{opacity:1;outline:3px solid var(--gold);outline-offset:-3px;transform:scale(1.03)}.gallery-empty{padding:60px;text-align:center;color:var(--muted)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#040a14f0;z-index:2000;display:flex;align-items:center;justify-content:center}.lightbox-stage{margin:0;max-width:min(1100px,92vw);max-height:86vh;display:flex;flex-direction:column;align-items:center;animation:fadeIn .25s ease}.lightbox-stage img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:10px}.lightbox-stage figcaption{color:#ffffffd9;font-size:14px;margin-top:10px}.lightbox-close{position:absolute;top:20px;right:24px;background:#ffffff1f;border:none;color:#fff;font-size:20px;width:44px;height:44px;border-radius:50%;cursor:pointer}.lightbox-close:hover{background:#ffffff40}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:none;color:#fff;font-size:34px;width:52px;height:72px;border-radius:10px;cursor:pointer;transition:background .15s}.lightbox-nav:hover{background:#ffffff47}.lightbox-prev{left:20px}.lightbox-next{right:20px}.detail-section{margin-top:34px}.detail-section h2{font-size:24px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--gold-pale);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-text{color:var(--muted);font-size:15.5px}.detail-text--hotel{margin-top:12px;padding:14px 18px;background:var(--ivory);border-left:3px solid var(--gold);border-radius:0 8px 8px 0}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-row{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.info-icon{font-size:20px}.info-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.info-value{display:block;font-size:14.5px;font-weight:600;color:var(--navy-900);margin-top:2px}.amenity-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0}.amenity-list li{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-weight:500}.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.policy-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.policy-card--full{grid-column:1 / -1}.policy-card p{margin:0}.reviews-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.review-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--navy-800);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.review-head strong{display:block;font-size:14.5px}.review-date{font-size:12.5px;color:var(--muted)}.review-head .rating-stars{margin-left:auto}.review-card h3{font-size:16px;margin-bottom:4px}.review-card p{color:var(--muted);font-size:14.5px;margin:0}.booking-widget{position:sticky;top:92px}.booking-widget-inner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:22px}.booking-widget-inner h2{font-size:21px;margin-bottom:18px}.widget-field{margin-bottom:14px}.widget-price{border-top:1px dashed var(--border);margin-top:16px;padding-top:14px}.widget-price-row{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);padding:4px 0}.widget-price-total{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;color:var(--navy-900);font-size:16px}.widget-note{font-size:12.5px;color:var(--muted);text-align:center;margin:12px 0 0}.unavailable-note{color:var(--danger);font-size:14.5px}.booking-title{font-size:clamp(26px,3.4vw,38px);margin:14px 0 26px}.booking-layout{display:grid;grid-template-columns:1fr 400px;gap:28px;align-items:start;padding-bottom:70px}.booking-form-col{display:flex;flex-direction:column;gap:22px}.booking-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.booking-card h2{font-size:21px;margin-bottom:18px}.selected-room{background:var(--ivory);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-weight:600;font-size:14.5px;color:var(--navy-900);margin:0}.booking-summary-col{display:flex;flex-direction:column;gap:16px;position:sticky;top:92px}.summary-room{display:flex;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border)}.summary-room img{width:88px;height:72px;object-fit:cover;border-radius:8px;flex-shrink:0}.summary-room h3{font-size:16px;margin-bottom:2px}.summary-room p{font-size:13.5px;color:var(--muted);margin:0}.summary-location{font-size:13px}.summary-list{margin:16px 0 0}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:14.5px}.summary-row dt{color:var(--muted)}.summary-row dd{margin:0;font-weight:600;color:var(--navy-900);text-align:right}.summary-prices{border-top:1px dashed var(--border);padding-top:8px}.summary-total{border-top:2px solid var(--navy-800);margin-top:8px;padding-top:12px}.summary-total dt,.summary-total dd{font-weight:700;font-size:17px;color:var(--navy-900)}.summary-policy{background:var(--gold-pale);border-radius:var(--radius-sm);padding:14px;margin-top:16px}.summary-policy h3{font-size:14px;color:var(--gold);margin-bottom:6px}.summary-policy p{font-size:13px;color:var(--muted);margin:0}.confirm-btn{min-height:54px;font-size:17px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08142699;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease;overflow-y:auto}.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:92vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg);animation:modalIn .3s cubic-bezier(.22,1,.36,1)}@keyframes modalIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:none;background:var(--ivory);color:var(--navy-900);font-size:16px;cursor:pointer;z-index:2}.modal-close:hover{background:var(--border)}.modal-body{padding:38px 30px 30px;text-align:center}.success-badge,.fail-badge{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin:0 auto 16px;color:#fff}.success-badge{background:linear-gradient(135deg,#2da06a,var(--success));box-shadow:0 8px 24px #1e7d4f59;animation:badgePop .55s cubic-bezier(.34,1.56,.64,1) .1s both}.fail-badge{background:linear-gradient(135deg,#d9534f,var(--danger));box-shadow:0 8px 24px #c0392b59;animation:badgePop .55s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes badgePop{0%{opacity:0;transform:scale(.3) rotate(-18deg)}60%{transform:scale(1.15) rotate(4deg)}to{opacity:1;transform:scale(1) rotate(0)}}.modal-body h2{font-size:27px;margin-bottom:6px}.confirm-sub{color:var(--muted);margin-bottom:20px}.confirm-card{background:var(--ivory);border-radius:var(--radius);padding:8px 20px;text-align:left;margin-bottom:16px}.confirm-grid{margin:0}.confirm-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14.5px}.confirm-row:last-child{border-bottom:none}.confirm-row dt{color:var(--muted);flex-shrink:0}.confirm-row dd{margin:0;font-weight:600;color:var(--navy-900);text-align:right}.confirm-note{font-size:13px;color:var(--muted);margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.booking-confirmed .total-amount{color:var(--success);font-size:17px}.page-head{text-align:center;padding:34px 0 26px}.page-head h1{font-size:clamp(28px,4vw,42px)}.page-sub{color:var(--muted);max-width:560px;margin:0 auto}.bookings-list{display:flex;flex-direction:column;gap:16px;padding-bottom:70px}.booking-card-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.booking-card-main{flex:1;min-width:280px}.booking-card-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.booking-card-main h2{font-size:21px;margin-bottom:2px}.booking-card-loc{color:var(--muted);font-size:14px;margin-bottom:14px}.booking-card-facts{display:grid;grid-template-columns:repeat(5,auto);gap:10px 26px;margin:0}.booking-card-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.booking-card-facts dd{margin:2px 0 0;font-weight:700;color:var(--navy-900);font-size:14.5px}.booking-total{color:var(--gold)!important}.booking-card-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;text-align:right}.booking-guest{font-weight:700;color:var(--navy-900);margin:0}.booking-created{font-size:12.5px;color:var(--muted);margin:0}.booking-detail-card{max-width:760px;margin:0 auto 70px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:34px}.booking-detail-success{text-align:center;margin-bottom:24px}.booking-detail-success h1{font-size:30px;margin-bottom:4px}.booking-detail-requests{background:var(--ivory);border-radius:var(--radius-sm);padding:16px 18px;margin-top:18px}.booking-detail-requests h2{font-size:16px;margin-bottom:6px}.booking-detail-requests p{margin:0;color:var(--muted)}.booking-detail-actions{display:flex;gap:10px;margin-top:24px;justify-content:center}.page-hero{background:linear-gradient(140deg,var(--navy-800),var(--navy-950));color:#fff;padding:44px 0 52px;text-align:center}.page-hero .eyebrow{color:var(--gold-light)}.page-hero h1{color:#fff;font-size:clamp(28px,4vw,42px)}.deals-hero{background:linear-gradient(140deg,#6b4f1a,var(--gold))}.deals-page>.container,.destinations-page>.container{padding-top:40px;padding-bottom:70px}.deals-grid{grid-template-columns:repeat(3,1fr)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.destination-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 5;display:block;box-shadow:var(--shadow-sm)}.destination-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.destination-card:hover img{transform:scale(1.07)}.destination-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#081426d9,#0814261a);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff;transition:background .25s}.destination-overlay h2{color:#fff;font-size:24px;margin-bottom:0}.destination-overlay p{color:#ffffffd9;font-size:14px;margin-bottom:10px}.destination-cta{font-weight:700;font-size:14px;color:var(--gold-light);opacity:0;transform:translateY(6px);transition:all .25s}.destination-card:hover .destination-cta{opacity:1;transform:translateY(0)}.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:44px 24px 70px}.support-faq h2,.support-contact h2{font-size:26px;margin-bottom:18px}.faq-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:none;border:none;font-size:15px;font-weight:600;color:var(--navy-900);cursor:pointer;text-align:left}.faq-question:hover{background:var(--ivory)}.faq-toggle{font-size:22px;color:var(--gold);flex-shrink:0}.faq-answer{padding:0 18px 16px;color:var(--muted);font-size:14.5px;margin:0}.support-contact-sub{color:var(--muted)}.success-banner{background:#e4f3ea;border:1px solid #b9e2c8;color:var(--success);border-radius:var(--radius-sm);padding:14px 16px;font-weight:600;margin-bottom:18px}.support-form{display:flex;flex-direction:column;gap:14px}.support-channels{margin-top:22px;background:var(--ivory);border-radius:var(--radius-sm);padding:16px 18px}.support-channels h3{font-size:15px;margin-bottom:6px}.support-channels p{margin:2px 0;font-size:14px;color:var(--muted)}.signin-wrap{padding:40px 24px 70px}.signin-card{max-width:560px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:36px}.signin-card h1{font-size:30px}.signin-actions{display:flex;gap:10px;margin-top:8px}.signin-note{font-size:13px;color:var(--muted);margin-top:18px}.notfound-wrap{text-align:center;padding:90px 24px}.notfound-wrap h1{font-size:44px}.notfound-actions{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}.skeleton{background:linear-gradient(90deg,#eceae4 25%,#f4f2ec 37%,#eceae4 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:8px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.skeleton-image{aspect-ratio:4 / 3;border-radius:0}.skeleton-body{padding:18px;display:flex;flex-direction:column;gap:10px}.skeleton-line{height:14px}.skeleton-line.w60{width:60%}.skeleton-line.w40{width:40%}.skeleton-line.w80{width:80%}.skeleton-price{height:24px;width:40%;margin-top:8px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.skeleton-page .skeleton-hero{height:300px;border-radius:0}.skeleton-page .skeleton-line{height:20px}.spinner-wrap{display:inline-flex;align-items:center;gap:8px}.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner--dark{border-color:#0b1b3233;border-top-color:var(--navy-800)}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:50px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:20px 0}.error-icon{font-size:40px;display:block;margin-bottom:10px}.error-state h2{font-size:24px;margin-bottom:8px}.error-state p{color:var(--muted);margin-bottom:18px}.site-footer{background:var(--navy-950);color:#ffffffd1;margin-top:0}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr;gap:30px;padding:56px 24px 40px}.footer-brand p{font-size:14px;margin:14px 0 0;color:#ffffffb3;max-width:300px}.footer-col h3{color:var(--gold-light);font-size:14px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px;font-family:var(--font-body);font-weight:700}.footer-col a{display:block;color:#ffffffc7;font-size:14px;padding:4px 0;text-decoration:none;transition:color .15s}.footer-col a:hover{color:var(--gold-light)}.footer-contact p{font-size:14px;margin:4px 0}.footer-hours{margin-top:10px;font-size:12.5px!important;color:#fff9!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0}.footer-bottom-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#fff9}.footer-bottom-inner p{margin:0}@media(max-width:1100px){.hotel-grid{grid-template-columns:repeat(3,1fr)}.room-grid,.room-grid--3{grid-template-columns:repeat(2,1fr)}.room-details-layout{grid-template-columns:1fr 320px}.info-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.desktop-nav{display:none}.hamburger{display:flex}}@media(max-width:900px){.hotel-search,.hotel-search--compact{grid-template-columns:1fr 1fr}.hotel-search .btn--search{grid-column:1 / -1}.results-layout{grid-template-columns:1fr}.filters-sidebar{display:none}.filters-toggle{display:inline-flex}.room-details-layout{grid-template-columns:1fr}.booking-widget{position:static}.booking-layout{grid-template-columns:1fr}.booking-summary-col{position:static}.support-layout{grid-template-columns:1fr}.amenity-grid,.promise-grid,.destination-grid,.amenity-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.page{padding-top:64px}.header-inner{height:64px}.hero{min-height:auto;padding:110px 0 70px}.guest-name{display:none}.room-details-head{flex-direction:column;align-items:flex-start}.room-details-price{text-align:left}.results-grid{grid-template-columns:1fr}.booking-card-facts{grid-template-columns:repeat(3,1fr)}.deals-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.filter-drawer{top:auto;bottom:0;left:0;right:0;width:100%;max-height:88vh;border-radius:18px 18px 0 0;animation:slideUp .32s cubic-bezier(.22,1,.36,1);box-shadow:0 -18px 50px #00000047}.filter-drawer.closing{animation:none;transform:translateY(100%)}.filter-drawer-grab{display:flex}.container{padding:0 16px}.section{padding:50px 0}.hotel-search,.hotel-search--compact{grid-template-columns:1fr;padding:14px}.hotel-search .btn--search{grid-column:auto}.hotel-grid,.room-grid,.room-grid--3,.deals-grid{grid-template-columns:1fr}.amenity-grid{grid-template-columns:repeat(2,1fr)}.promise-grid,.destination-grid,.info-grid,.amenity-list,.policy-grid{grid-template-columns:1fr}.policy-card--full{grid-column:auto}.form-grid{grid-template-columns:1fr}.summary-controls{width:100%;justify-content:space-between}.booking-card-row{flex-direction:column}.booking-card-side{align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.booking-card-facts{grid-template-columns:repeat(2,1fr)}.promo-inner{flex-direction:column;text-align:center;align-items:center}.section-head--row{flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1fr 1fr;padding:44px 16px 30px}.footer-brand{grid-column:1 / -1}.modal-body{padding:30px 20px 24px}.gallery-thumbs{grid-template-columns:repeat(4,1fr)}.lightbox-nav{width:42px;height:56px;font-size:26px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.booking-detail-card{padding:24px 18px}.signin-card{padding:26px 20px}.hero-trust{gap:14px;font-size:13px}}@media(max-width:425px){.hotel-card-footer,.room-card-footer{flex-direction:column;align-items:stretch}.room-card-actions{justify-content:stretch}.room-card-actions .btn{flex:1}.footer-main{grid-template-columns:1fr}.sort-control{flex-direction:column;align-items:flex-start}.sort-control select{width:100%}}
