@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap");:root{--cream-50:#fff;--cream-100:#f4f7fc;--cream-200:#e1ebf7;--cream-300:#c5d6ec;--gold-400:#5a9bd5;--gold-500:#1e4d8b;--gold-600:#143a6b;--dark-900:#0a1e3f;--dark-800:#112a52;--dark-700:#1d3a6b;--text-primary:#0a1e3f;--text-secondary:#3d5a85;--text-muted:#7a8db0;--nav-h:72px;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"Jost",system-ui,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;text-size-adjust:100%}body,html{overflow-x:hidden}body{font-family:var(--font-body);background:var(--cream-50);color:var(--text-primary);font-weight:300;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15}h1{font-size:clamp(1.75rem,6vw,5rem)}h2{font-size:clamp(1.5rem,4vw,3.5rem)}h3{font-size:clamp(1.2rem,2.5vw,2rem)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:100%;max-width:1080px;margin:0 auto;padding-left:2rem;padding-right:2rem}.gold-line{display:block;width:48px;height:1px;background:var(--gold-500);margin-bottom:1.5rem}.star-gold{color:var(--gold-400)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2.2rem;background:var(--gold-500);color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:background .25s,transform .2s}.btn-primary:hover{background:var(--gold-600);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;background:var(--gold-500)}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 2rem;border:1px solid var(--gold-500);color:var(--gold-500);font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:transparent;cursor:pointer;transition:all .25s}.btn-outline:hover{background:var(--gold-500);color:#fff}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;transition:background .35s,box-shadow .35s}.navbar.scrolled{background:var(--dark-900);box-shadow:0 1px 12px rgba(0,0,0,.3)}.navbar.navbar-solid{background:var(--dark-900);box-shadow:0 1px 0 hsla(0,0%,100%,.06)}.navbar.navbar-solid.scrolled{background:var(--dark-900);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 12px rgba(0,0,0,.3)}.navbar.navbar-solid .navbar-logo,.navbar.scrolled .navbar-logo{color:var(--cream-50)}.navbar.navbar-solid .navbar-links a,.navbar.scrolled .navbar-links a{color:var(--cream-100)}.navbar.navbar-solid .navbar-links a:hover,.navbar.scrolled .navbar-links a:hover{color:var(--gold-400)}.navbar:not(.navbar-solid):not(.scrolled) .navbar-logo{color:var(--cream-50)}.navbar:not(.navbar-solid):not(.scrolled) .navbar-links a{color:var(--cream-100)}.navbar:not(.navbar-solid):not(.scrolled) .navbar-links a:hover{color:var(--gold-400)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.navbar-logo{display:inline-flex;align-items:center;color:var(--dark-900)}.navbar-logo-img{height:36px;width:auto;display:block}.navbar-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.navbar-links a{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);transition:color .2s}.navbar-links a:hover{color:var(--gold-500)}.hero{position:relative;padding:8rem 0 6rem;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--dark-900) 0,var(--dark-800) 40%,#1d3a6b 100%)}.hero-bg img{object-position:center}.hero-bg-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,20,.9),rgba(10,18,32,.55));z-index:1}.hero-content{position:relative;z-index:2;text-align:center}.hero-eyebrow{font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-400);margin-bottom:1.5rem}.hero h1{color:var(--cream-50);font-size:clamp(1.8rem,4.5vw,3.75rem);margin:0 auto 1.5rem;max-width:820px}.hero h1 em{font-style:italic;color:var(--gold-400)}.hero-subtitle{color:var(--cream-200);font-size:1rem;font-weight:300;max-width:560px;line-height:1.6;margin:0 auto 3rem}.hero-cta{gap:1rem;margin-bottom:1.5rem}.hero-chips,.hero-cta{display:flex;flex-wrap:wrap;justify-content:center}.hero-chips{gap:.5rem;margin-top:1.5rem}.hero-chip{display:inline-block;padding:.45rem 1rem;font-size:.78rem;letter-spacing:.06em;color:var(--cream-100);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.18);border-radius:999px;transition:background .2s,border-color .2s,color .2s}.hero-chip:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--dark-900)}.hero-credit{margin-top:2rem;font-size:.75rem;letter-spacing:.04em;color:var(--cream-200)}.hero-credit a{color:inherit;display:inline-flex;align-items:baseline;gap:.4rem;padding:.35rem .85rem;background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;transition:background .2s,border-color .2s}.hero-credit a:hover{background:rgba(0,0,0,.45);border-color:hsla(0,0%,100%,.25)}.hero-credit-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400)}.hero-credit-name{font-weight:500;color:var(--cream-50)}.hero-credit-city{color:var(--cream-300)}.search-bar{background:var(--cream-50);padding:1.5rem 1.75rem;display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap;box-shadow:0 20px 60px rgba(0,0,0,.15);margin:0 auto;max-width:920px;text-align:left}.search-bar .btn-primary{align-self:stretch}.search-field{display:flex;flex-direction:column;gap:.4rem;flex:1 1;min-width:160px}.search-field label{font-size:.68rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.search-field input,.search-field select{border:none;border-bottom:1px solid var(--cream-300);background:transparent;padding:.5rem 0;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);outline:none;transition:border-color .2s}.search-field input:focus,.search-field select:focus{border-color:var(--gold-500)}.autocomplete{position:relative}.autocomplete-list{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid var(--cream-200);box-shadow:0 16px 40px rgba(0,0,0,.12);max-height:320px;overflow-y:auto;z-index:30;list-style:none;margin:0;padding:.35rem 0}.autocomplete-group{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);padding:.6rem 1rem .3rem}.autocomplete-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.autocomplete-item:hover,.autocomplete-item[aria-selected=true]{background:var(--cream-100)}.autocomplete-item .sub{color:var(--text-muted);font-size:.8rem}.autocomplete-icon{width:18px;text-align:center;color:var(--gold-500);font-size:.95rem}.autocomplete-empty{padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted)}.hotel-booking-search{background:#fff;border-left:3px solid var(--gold-400);padding:1rem 1.25rem;display:flex;gap:1.25rem;align-items:stretch;flex-wrap:wrap;margin-bottom:2rem;box-shadow:0 6px 24px rgba(0,0,0,.08);position:-webkit-sticky;position:sticky;top:var(--nav-h);z-index:20}.hotel-booking-submit{white-space:nowrap;padding:.9rem 2.25rem;align-self:stretch;font-size:.92rem}.hotel-booking-submit:disabled{opacity:.5;cursor:not-allowed}.booking-price-block{flex:0 0 auto;min-width:168px;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:.2rem 0 .2rem 1.25rem;border-left:1px solid var(--cream-300)}.bp-total-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.bp-total{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--dark-900);line-height:1.05}.bp-sub-inline{font-size:.72rem;color:var(--text-muted)}.bp-save{font-size:.7rem;font-weight:600;color:#fff;background:var(--gold-500);padding:.12rem .4rem;border-radius:2px;letter-spacing:.03em}.bp-sub{font-size:.78rem;color:var(--text-muted);display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.bp-strike{text-decoration:line-through;opacity:.8}.bp-fallback{font-size:.9rem;color:var(--text-muted);text-decoration:underline}.bp-skeleton{display:flex;flex-direction:column;gap:.4rem}.bp-skeleton-line{display:block;border-radius:3px;background:linear-gradient(90deg,var(--cream-200) 25%,var(--cream-100) 37%,var(--cream-200) 63%);background-size:400% 100%;animation:bp-shimmer 1.4s ease infinite}.bp-skeleton-lg{height:1.5rem;width:92px}.bp-skeleton-sm{height:.8rem;width:124px}@keyframes bp-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.hotel-booking{display:contents}.booking-prompt{display:none}.date-range-wrap{position:relative;flex:1 1 320px;min-width:0}.date-range-fields{display:flex;border:1px solid var(--cream-300);background:#fff;height:100%}.date-range-field{flex:1 1;background:transparent;border:none;border-right:1px solid var(--cream-300);padding:.65rem 1rem;text-align:left;cursor:pointer;display:flex;flex-direction:row;align-items:center;gap:.6rem;font-family:var(--font-body);transition:background .15s}.date-range-icon{flex:0 0 auto;color:var(--gold-500)}.date-range-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.date-range-field:last-child{border-right:none}.date-range-field:hover{background:var(--cream-100)}.date-range-field.is-active{background:var(--cream-100);box-shadow:inset 0 -2px 0 var(--gold-500)}.date-range-label{font-size:.806rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.date-range-value{font-family:var(--font-display);font-size:1.365rem;color:var(--text-primary)}.date-range-extra{flex:0 0 auto;padding:.6rem 1rem;border-left:1px solid var(--cream-300);justify-content:center;font-family:var(--font-body)}.date-range-extra,.date-range-extra-content{display:flex;flex-direction:column;gap:.15rem}.hotel-booking-search .date-range-field{flex:1 1 160px}.hotel-booking-search .date-range-extra{flex:0 0 auto}.date-range-extra-label{font-size:.62rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.date-range-extra-value{font-size:1.05rem;color:var(--text-primary)}.date-range-extra-price,.date-range-extra-value{font-family:var(--font-display);white-space:nowrap}.date-range-extra-price{font-size:1.5rem;font-weight:700;color:var(--dark-900);line-height:1.15}.date-range-extra-suffix{font-family:var(--font-body,inherit);font-size:.7rem;font-weight:500;color:var(--text-muted);margin-left:.3rem;white-space:nowrap}.date-range-extra-strike{font-size:.72rem;color:var(--text-muted);text-decoration:line-through}.date-range-extra-discount{font-size:.7rem;color:var(--gold-500);font-weight:600;letter-spacing:.05em}.location-wrap{position:relative;flex:1 1 240px;min-width:0;display:flex}.location-field{flex:1 1;min-width:0;background:#fff;border:1px solid var(--cream-300);padding:.65rem 1rem;display:flex;flex-direction:row;align-items:center;gap:.6rem;transition:background .15s,box-shadow .15s}.location-field.is-active,.location-field:hover{background:var(--cream-100)}.location-field.is-active{box-shadow:inset 0 -2px 0 var(--gold-500)}.location-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1}.location-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;font-family:var(--font-display);font-size:1.365rem;line-height:1.2;color:var(--text-primary);width:100%;outline:none}.location-input::placeholder{color:var(--text-muted);opacity:.65}.location-suggestions{position:fixed;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.18);border:1px solid var(--cream-200);z-index:1000;list-style:none;margin:0;padding:.4rem 0;max-height:320px;overflow-y:auto;max-width:calc(100vw - 2rem)}.location-suggestion{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;cursor:pointer}.location-suggestion.is-highlight{background:var(--cream-100)}.location-suggestion-name{font-weight:500;color:var(--text-primary)}.location-suggestion-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.guest-wrap{position:relative;flex:0 0 auto;display:flex}.guest-field{flex:1 1;min-width:150px;background:#fff;border:1px solid var(--cream-300);padding:.6rem 1.25rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:.25rem;font-family:var(--font-body);transition:background .15s,box-shadow .15s}.guest-field.is-active,.guest-field:hover{background:var(--cream-100)}.guest-field.is-active{box-shadow:inset 0 -2px 0 var(--gold-500)}.guest-popover{position:fixed;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:1.25rem;z-index:1000;border:1px solid var(--cream-200);width:280px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;gap:1rem}.guest-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.guest-row-label{font-weight:500;color:var(--text-primary)}.guest-row-hint{font-size:.75rem;color:var(--text-muted)}.guest-stepper{gap:.75rem}.guest-step-btn,.guest-stepper{display:flex;align-items:center}.guest-step-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--cream-300);background:#fff;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--text-primary);justify-content:center;transition:background .15s,border-color .15s,color .15s}.guest-step-btn:hover:not(:disabled){border-color:var(--gold-500);color:var(--gold-500);background:var(--cream-100)}.guest-step-btn:disabled{opacity:.3;cursor:not-allowed}.guest-step-value{min-width:1.5rem;text-align:center;font-family:var(--font-display);font-size:1.1rem}.guest-done{width:100%;justify-content:center;margin-top:.25rem}.booking-inclusions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.booking-inclusion-chip{font-size:.72rem;letter-spacing:.03em;padding:.3rem .6rem;border-radius:2px;display:inline-flex;align-items:center;gap:.3rem}.booking-inclusions-dark .booking-inclusion-chip{background:hsla(0,0%,100%,.08);color:var(--cream-100);border:1px solid var(--dark-700)}.booking-inclusions-light .booking-inclusion-chip{background:var(--cream-100);color:var(--text-secondary);border:1px solid var(--cream-200)}.hotel-card-inclusions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.hotel-card-inclusion{font-size:.7rem;color:var(--gold-500);background:var(--cream-100);border:1px solid var(--cream-200);padding:.2rem .45rem;border-radius:2px;letter-spacing:.02em}.date-range-compact{display:inline-flex;align-items:center;gap:.5rem;padding:0;background:none;border:none;cursor:pointer;color:inherit;font:inherit;text-align:left;min-width:0}.date-range-compact .date-range-icon{flex:none}.date-range-compact-text{display:flex;flex-direction:row;align-items:baseline;gap:.3rem;min-width:0}.date-range-compact-dates{font-weight:600;font-size:.95rem;white-space:nowrap}.date-range-compact-guests{font-size:.78rem;opacity:.75;white-space:nowrap}.cal-popover{position:fixed;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:1.25rem 3rem;z-index:1000;border:1px solid var(--cream-200)}.cal-nav-btn{position:absolute;top:1.4rem;background:#fff;border:1px solid var(--cream-300);width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;color:var(--text-primary);border-radius:50%;transition:background .15s,border-color .15s,color .15s;z-index:2;font-family:var(--font-body)}.cal-nav-prev{left:.75rem}.cal-nav-next{right:.75rem}.cal-nav-btn:hover:not(:disabled){background:var(--cream-100);border-color:var(--gold-500);color:var(--gold-500)}.cal-nav-btn:disabled{opacity:.25;cursor:not-allowed}.cal-months{display:flex;gap:2.5rem}.cal-month{min-width:252px}.cal-month-name{font-family:var(--font-display);font-size:1.365rem;font-weight:500;text-align:center;margin-bottom:.75rem;color:var(--text-primary)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.cal-weekdays>div{text-align:center;padding:.4rem 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{position:relative;aspect-ratio:1}.cal-cell-in-range:before,.cal-cell-range-end:before,.cal-cell-range-start:before{content:"";position:absolute;top:3px;bottom:3px;left:0;right:0;background:var(--cream-200);z-index:0;pointer-events:none}.cal-cell-range-start:before{left:50%}.cal-cell-range-end:before{right:50%}.cal-day{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;cursor:pointer;border-radius:50%;font-size:1.144rem;font-family:var(--font-body);color:var(--text-primary);transition:background .15s,color .15s,border-color .15s}.cal-day:hover:not(:disabled){background:var(--cream-100)}.cal-day:disabled{color:var(--cream-300);cursor:not-allowed}.cal-day-today{border-color:var(--gold-400);font-weight:500}.cal-day-pending{background:var(--cream-100);font-weight:500}.cal-day-selected,.cal-day-selected:hover{background:var(--gold-500);color:#fff;font-weight:600;border-color:var(--gold-500)}.cal-modal-backdrop{position:fixed;inset:0;background:rgba(10,18,32,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.cal-popover-modal{position:relative;padding:0;width:auto;max-width:100%;max-height:calc(100vh - 3rem);overflow-y:auto;display:flex;flex-direction:column}.cal-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--cream-200)}.cal-modal-title{font-family:var(--font-display);font-size:1.5rem;color:var(--text-primary)}.cal-modal-close{flex:0 0 auto;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:1.7rem;line-height:1;cursor:pointer;color:var(--text-muted);font-family:var(--font-body)}.cal-modal-close:hover{color:var(--text-primary)}.cal-calendar{position:relative;padding:1.25rem 3rem .5rem}.cal-guests{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;border-top:1px solid var(--cream-200)}.cal-modal-done{margin:0 1.5rem 1.5rem;justify-content:center}@media (max-width:720px){.cal-popover:not(.cal-popover-modal){padding:1rem 2.5rem}.cal-modal-backdrop{padding:0;align-items:flex-end}.cal-popover-modal{width:100%;max-width:100%;max-height:92vh}.cal-calendar{padding:1.25rem 1.5rem .5rem}.cal-months{justify-content:center}.cal-months .cal-month+.cal-month{display:none}.hotel-booking-search{flex-direction:column;align-items:stretch}.date-range-wrap{flex:0 0 auto}.date-range-fields{flex-wrap:wrap}.date-range-extra{flex:1 1 100%;border-left:none;border-top:1px solid var(--cream-300);min-width:0}.date-range-extra-price{font-size:1.25rem}.booking-price-block{border-left:none;border-top:1px solid var(--cream-200);padding:.75rem 0 0;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.75rem}.hotel-booking-submit{width:100%;justify-content:center}}.hotel-carousel{position:relative;width:100%;background:var(--cream-200)}.hotel-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hotel-carousel-track::-webkit-scrollbar{display:none}.hotel-carousel-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;height:clamp(340px,48vw,560px);margin:0;padding:0;border:none;background:var(--cream-200);cursor:zoom-in}.hotel-carousel-slide img{object-fit:cover}.hotel-carousel-slide:focus-visible{outline:2px solid var(--gold-500);outline-offset:-2px}.hotel-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:none;border-radius:999px;background:hsla(0,0%,100%,.9);color:var(--dark-900);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2);transition:background .2s,opacity .2s}.hotel-carousel-arrow:hover:not(:disabled){background:#fff}.hotel-carousel-arrow:disabled{opacity:.3;cursor:default}.hotel-carousel-arrow--prev{left:.85rem}.hotel-carousel-arrow--next{right:.85rem}.hotel-carousel-counter{position:absolute;bottom:1rem;right:1rem;z-index:3;background:rgba(15,23,42,.72);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.3rem .7rem;border-radius:999px}@media (max-width:720px){.hotel-carousel-slide{height:clamp(300px,68vw,460px)}.hotel-carousel-arrow{width:2.2rem;height:2.2rem;font-size:1.3rem}.hotel-carousel-arrow--prev{left:.5rem}.hotel-carousel-arrow--next{right:.5rem}}.breadcrumb-bar{background:var(--cream-100);border-bottom:1px solid var(--cream-200);padding:.6rem 0}.breadcrumb{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow-x:auto;scrollbar-width:none}.breadcrumb::-webkit-scrollbar{display:none}.breadcrumb a{color:var(--text-muted);transition:color .2s}.breadcrumb a:hover{color:var(--gold-500)}.breadcrumb-sep{margin:0 .4rem}.breadcrumb-current{color:var(--text-primary)}.hotel-idbar{padding-top:2.5rem;padding-bottom:1.85rem;border-bottom:1px solid var(--cream-200)}.hotel-idbar-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.hotel-idbar-type{font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--cream-300);padding:.2rem .55rem;border-radius:999px}.hotel-idbar-name{color:var(--dark-900);font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.15;margin-bottom:.85rem}.hotel-idbar-loc{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .85rem;color:var(--text-secondary);font-size:.95rem;margin-bottom:1.4rem}.hotel-idbar-map{color:var(--gold-500);font-weight:500;border-bottom:1px solid var(--gold-400);padding-bottom:1px}.hotel-idbar-map:hover{color:var(--gold-600)}.hero-rating{display:inline-flex;align-items:center;gap:.6rem}.hero-rating-badge{background:var(--gold-500);color:#fff;font-weight:700;font-size:1.05rem;min-width:2.3rem;text-align:center;padding:.4rem .5rem;border-radius:5px;line-height:1}.hero-rating-text{display:flex;flex-direction:column;line-height:1.25}.hero-rating-label{color:var(--text-primary);font-weight:600;font-size:.95rem}.hero-rating-count{color:var(--text-muted);font-size:.8rem}.hotel-hero-wrap{width:100%}@media (max-width:720px){.hotel-idbar{padding-top:2rem;padding-bottom:1.5rem}.breadcrumb-current,.breadcrumb-sep:has(+.breadcrumb-current){display:none}}.lightbox{position:fixed;inset:0;background:rgba(10,10,12,.92);z-index:2000;display:flex;align-items:center;justify-content:center;animation:lightbox-fade .18s ease-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-stage{position:relative;width:min(92vw,1400px);height:min(86vh,900px)}.lightbox-close,.lightbox-nav{position:absolute;background:hsla(0,0%,100%,.08);color:#fff;border:1px solid hsla(0,0%,100%,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);line-height:1;transition:background .15s,border-color .15s,transform .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-close:hover,.lightbox-nav:hover{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.6)}.lightbox-close{top:1.25rem;right:1.25rem;width:44px;height:44px;font-size:1.6rem;border-radius:50%;z-index:2}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2rem;border-radius:50%;z-index:2}.lightbox-nav:hover{transform:translateY(-50%) scale(1.05)}.lightbox-nav-prev{left:1.5rem}.lightbox-nav-next{right:1.5rem}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.85);font-size:.85rem;letter-spacing:.1em;font-family:var(--font-body);background:rgba(0,0,0,.35);padding:.4rem .9rem;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width:720px){.lightbox-stage{width:96vw;height:78vh}.lightbox-close{top:.75rem;right:.75rem;width:40px;height:40px}.lightbox-nav{width:44px;height:44px;font-size:1.6rem}.lightbox-nav-prev{left:.5rem}.lightbox-nav-next{right:.5rem}.lightbox-counter{bottom:.75rem;font-size:.75rem}}.hotel-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cream-200);border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(10,30,63,.05);transition:transform .3s,box-shadow .3s,border-color .3s;cursor:pointer}.hotel-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(10,30,63,.14);border-color:var(--cream-300)}.hotel-card-img{position:relative;height:240px;overflow:hidden;flex:none}.hotel-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.hotel-card:hover .hotel-card-img img{transform:scale(1.06)}.hotel-card-badge{position:absolute;top:1rem;right:1rem;background:var(--gold-500);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem}.hotel-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1 1}.hotel-card-city{font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-500);margin-bottom:.5rem}.hotel-card-name{font-family:var(--font-display);font-size:1.35rem;color:var(--dark-900);margin-bottom:.6rem;line-height:1.25}.hotel-card-body .stars{margin-bottom:.5rem}.hotel-card-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--cream-200)}.hotel-card-rating{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.rating-badge{background:var(--dark-900);color:var(--gold-400);font-weight:600;padding:.2rem .5rem;font-size:.8rem}.hotel-card-price{text-align:right}.hotel-card-price .from{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.hotel-card-price .amount{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--dark-900)}.section{padding:6rem 0}.section-header{margin-bottom:3.5rem}.section-eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-500);margin-bottom:1rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:2rem}.grid-2,.grid-3{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:2rem}.listing-count{font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem;letter-spacing:.02em}.listing-count strong{color:var(--text-primary);font-weight:600}@media (max-width:700px){.hotel-layout{grid-template-columns:1fr!important}}.hotel-detail-header{padding:3rem 0 2rem}.hotel-meta-row{gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.hotel-meta-row,.meta-chip{display:flex;align-items:center}.meta-chip{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);gap:.3rem}.booking-card{background:var(--dark-900);color:var(--cream-50);padding:2rem;position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 7rem);z-index:21}.booking-card .label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}.booking-price{font-family:var(--font-display);font-size:2.5rem;color:var(--gold-400);line-height:1;margin-bottom:.25rem}.booking-card .btn-primary{width:100%;justify-content:center;margin-top:1.5rem}.booking-card-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}.booking-card-price{font-family:var(--font-display);font-size:2.4rem;color:var(--gold-400);line-height:1}.booking-card-price--sm{font-size:1.5rem;margin:.5rem 0}.booking-card-sub{font-size:.72rem;color:var(--text-muted);margin:.3rem 0 1.5rem}.booking-card-reviews{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.75rem;padding:.75rem;border:1px solid var(--dark-700);color:var(--cream-200);font-size:.78rem;letter-spacing:.05em;transition:border-color .2s,background .2s}.booking-card-reviews:hover{border-color:var(--gold-400);background:var(--dark-800)}.booking-card-meta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--dark-700);display:flex;flex-direction:column;gap:.75rem}.booking-card-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.booking-card-meta-key{color:var(--text-muted)}.booking-card-meta-val{color:var(--cream-100);text-align:right;max-width:160px}.booking-card-disclosure{margin-top:1.5rem;font-size:.68rem;color:var(--dark-700);line-height:1.5}.mobile-book-bar{display:none}.mobile-book-bar-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mobile-book-bar-price{display:flex;align-items:baseline;gap:.25rem}.mobile-book-bar-amount{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--cream-50);line-height:1.1}.mobile-book-bar-suffix{font-size:.7rem;color:var(--cream-300)}.mobile-book-bar .date-range-compact,.mobile-book-bar .date-range-compact-dates{color:var(--cream-50)}.mobile-book-bar .date-range-compact-guests{color:var(--cream-300);opacity:1}.mobile-book-bar .date-range-icon{color:var(--gold-400)}.hotel-detail-body{padding-top:2.25rem;padding-bottom:4rem}.hotel-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:2.5rem;gap:2.5rem;align-items:start;padding-bottom:1rem}.hotel-info h2{font-size:1.1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin:2rem 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--cream-200)}.hotel-info p{color:var(--text-secondary);line-height:1.85;font-size:.97rem}.hotel-section{padding-bottom:2rem;border-bottom:1px solid var(--cream-200);margin-bottom:2rem}.hotel-section--last{border-bottom:none;margin-bottom:0;padding-bottom:0}.hotel-section-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--dark-900);margin-bottom:1.1rem}.hotel-overview-text{line-height:1.85;color:var(--text-secondary);font-size:.97rem}.readmore-clip{position:relative}.readmore-text{max-height:9.3em;overflow:hidden}.readmore-text.is-expanded{max-height:none}.readmore-fade{position:absolute;left:0;right:0;bottom:0;height:4em;background:linear-gradient(to bottom,hsla(0,0%,100%,0),var(--cream-50));pointer-events:none}.readmore-btn{margin-top:.85rem;padding:0;background:none;border:none;color:var(--gold-500);font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.04em;cursor:pointer}.readmore-btn:hover{color:var(--gold-600);text-decoration:underline}.hotel-facts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.hotel-fact{background:#fff;border:1px solid var(--cream-200);border-left:3px solid var(--gold-400);padding:.9rem 1rem}.hotel-fact-label{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}.hotel-fact-value{font-family:var(--font-display);font-size:1.2rem;color:var(--dark-900)}@media (max-width:560px){.hotel-facts{grid-template-columns:repeat(2,1fr)}}.stars{display:flex;gap:2px}.stars span{color:var(--gold-400);font-size:.85rem}.footer{background:var(--dark-900);color:var(--cream-200);padding:4rem 0 2rem}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:3rem;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--dark-700);margin-bottom:2rem}.footer-logo{color:var(--cream-50);margin-bottom:1rem}.footer p{font-size:.88rem;line-height:1.7;color:var(--text-muted)}.footer h4{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-100);margin-bottom:1.25rem}.footer ul{list-style:none}.footer ul li{margin-bottom:.6rem}.footer ul a{font-size:.88rem;color:var(--text-muted);transition:color .2s}.footer ul a:hover{color:var(--gold-400)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--text-muted)}.footer-disclaimer{font-size:.72rem;color:var(--dark-700);margin-top:1rem}.map-container{height:500px;width:100%}.map-page{display:flex;flex-direction:column;height:calc(100vh - var(--nav-h));background:var(--cream-100)}.map-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid var(--cream-200)}.map-search-input{flex:1 1;min-width:220px;border:1px solid var(--cream-300);background:var(--cream-50);padding:.6rem .9rem;font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);outline:none;transition:border-color .2s}.map-search-input:focus{border-color:var(--gold-500)}.map-control-btn{padding:.6rem 1.1rem;border:1px solid var(--cream-300);background:#fff;color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s}.map-control-btn:hover:not(:disabled){border-color:var(--gold-500);color:var(--gold-500)}.map-control-btn:disabled{opacity:.6;cursor:not-allowed}.map-radius-control{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--text-secondary)}.map-radius-control label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.map-radius-control select{border:1px solid var(--cream-300);background:#fff;padding:.45rem .7rem;font-family:var(--font-body);font-size:.85rem;outline:none;cursor:pointer}.map-location-error{font-size:.78rem;color:#b54848}.map-layout{flex:1 1;display:grid;grid-template-columns:380px 1fr;grid-template-rows:1fr;min-height:0}.map-sidebar{background:#fff;border-right:1px solid var(--cream-200);min-height:0}.map-sidebar,.map-sidebar-header{display:flex;flex-direction:column}.map-sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid var(--cream-200);gap:.2rem}.map-result-count{font-family:var(--font-display);font-size:1.15rem;color:var(--dark-900)}.map-sidebar-hint{font-size:.7rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.map-result-list{flex:1 1;overflow-y:auto;min-height:0}.map-result-item{display:flex;gap:.85rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--cream-200);transition:background .15s}.map-result-item:hover{background:var(--cream-100)}.map-result-thumb{position:relative;width:80px;height:80px;flex-shrink:0;overflow:hidden;background:var(--cream-200)}.map-result-body{flex:1 1;min-width:0}.map-result-city{font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-500);margin-bottom:.25rem}.map-result-name{font-family:var(--font-display);font-size:1rem;color:var(--dark-900);line-height:1.25;margin-bottom:.5rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.map-result-meta{display:flex;align-items:center;gap:.6rem}.map-result-dist{font-size:.72rem;color:var(--text-muted)}.map-result-price{margin-left:auto;font-size:.85rem;font-family:var(--font-display);color:var(--dark-900)}.map-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.map-canvas{position:relative;min-height:0}.map-canvas,.map-canvas .leaflet-container{height:100%;width:100%}@media (max-width:820px){.map-layout{grid-template-columns:1fr;grid-template-rows:50vh 1fr}.map-sidebar{order:2;border-right:none;border-top:1px solid var(--cream-200)}.map-canvas{order:1}}.search-loading-overlay{position:fixed;inset:0;z-index:1500;background:rgba(10,30,63,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:search-loading-fade .2s ease-out}@keyframes search-loading-fade{0%{opacity:0}to{opacity:1}}.search-loading-card{background:var(--cream-50);padding:2.75rem 2.5rem 2.25rem;border-radius:4px;text-align:center;max-width:360px;width:100%;box-shadow:0 24px 60px rgba(10,30,63,.28);display:flex;flex-direction:column;align-items:center;gap:1.1rem}.search-loading-spinner{width:48px;height:48px;border-radius:50%;border:3px solid var(--cream-200);border-top-color:var(--gold-500);animation:search-loading-spin .9s linear infinite}@keyframes search-loading-spin{to{transform:rotate(1turn)}}.search-loading-text{font-family:var(--font-display);font-size:1.4rem;line-height:1.3;color:var(--text-primary)}.search-loading-sub{font-family:var(--font-body);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.loading-state{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem}.error-state,.loading-state{padding:8rem 2rem;color:var(--text-muted)}.error-state{text-align:center}@media (max-width:900px){.hotel-layout{grid-template-columns:1fr}.booking-card{position:static}.hotel-detail-body{display:flex;flex-direction:column}.hotel-booking{display:none}.hotel-booking-search{flex-direction:column;align-items:stretch;gap:.85rem;padding:1.1rem;margin:0;position:static}.hotel-booking-search>*{flex:0 0 auto}.hotel-booking-search .date-range-fields{height:auto;flex-wrap:wrap}.hotel-booking-search .date-range-field-guests{flex:1 1 100%;border-right:none;border-top:1px solid var(--cream-300)}.booking-prompt{display:block;margin:0;font-family:var(--font-display);font-size:1.15rem;color:var(--text-primary)}.hotel-booking-search .date-range-field{padding:.85rem .9rem}.hotel-booking-search .date-range-label{letter-spacing:.08em}.hotel-booking-search .date-range-value{font-size:1.2rem}.hotel-booking-search .booking-price-block{border-left:none;border-top:1px solid var(--cream-200);padding:.75rem 0 0;flex-direction:row;align-items:baseline;justify-content:space-between}.hotel-booking-search .hotel-booking-submit{width:100%;padding:1rem;font-size:1rem}.hotel-gallery{grid-template-columns:1fr;grid-template-rows:280px;height:280px}.gallery-sub{display:none}.footer-top{grid-template-columns:1fr;gap:2rem}.hotel-detail-root{padding-bottom:7rem}.mobile-book-bar{display:flex;position:fixed;left:.75rem;right:.75rem;bottom:.75rem;z-index:50;align-items:center;justify-content:space-between;gap:.85rem;background:var(--dark-900);color:var(--cream-50);padding:.7rem .7rem .7rem 1.1rem;border-radius:16px;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 12px 32px rgba(10,30,63,.4)}.mobile-book-bar .btn-primary{margin:0;white-space:nowrap;padding:.9rem 1.45rem;border-radius:11px;background:var(--gold-400);color:var(--dark-900);font-weight:600}.mobile-book-bar .btn-primary:hover{background:#7cb4e8;transform:translateY(-1px)}}@media (max-width:640px){:root{--nav-h:60px}.container{padding-left:1.25rem;padding-right:1.25rem}.navbar-links{display:none}.navbar-logo-img{height:28px}.search-bar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;padding:1.25rem 1.1rem;gap:.85rem}.search-bar .date-range-wrap,.search-bar .location-wrap{flex:0 0 auto}.search-bar .btn-primary{width:100%;justify-content:center;padding:1rem 1.5rem;margin-top:.25rem}.hero{padding:5.5rem 0 4.5rem}.hero h1{font-size:1.5rem;line-height:1.1;margin-bottom:1rem}.hero-subtitle{font-size:.92rem;margin-bottom:1.5rem}.hero-eyebrow{font-size:.65rem;letter-spacing:.2em}.hero-cta{flex-direction:column}.hero-chip{font-size:.72rem;padding:.35rem .85rem}.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:3.5rem 0}.section-header{margin-bottom:2rem}.footer{padding:3rem 0 1.5rem}.footer-cities{grid-template-columns:repeat(2,1fr)!important}.hotel-card-img{height:200px}.hotel-card-body{padding:1.1rem}.booking-card{padding:1.5rem}.booking-price{font-size:2rem}.hotel-detail-header{padding:2rem 0 1.25rem}}