/* HASKE HOTEL 2026 experience layer */
:root {
  --haske-canvas: #faf7ef;
  --haske-surface: #fffdf7;
  --haske-black: #0a0a0a;
  --haske-black-soft: #141414;
  --haske-ink: #2a2622;
  --haske-body: #4b443d;
  --haske-muted: #71685f;
  --haske-gold: #b8956e;
  --haske-gold-light: #f4e6c8;
  --haske-bronze: #7d5d3f;
  --haske-champagne: #f4e6c8;
  --haske-champagne-soft: #fbf4e6;
  --haske-border: #e6d9c8;
  --haske-sage: #dbcbb8;
  --haske-sage-soft: #f2e9dc;
  --haske-forest: #4a2028;
  --haske-forest-deep: #30141a;
  --haske-forest-soft: #f3e8ea;
  --haske-burgundy: #4a2028;
  --haske-burgundy-deep: #30141a;
  --haske-burgundy-soft: #f3e8ea;
  --haske-whatsapp: #075e54;
  --haske-whatsapp-bright: #25d366;
  --haske-focus: #7d5d3f;
}

html { scroll-padding-top: 78px; }
body { background: var(--haske-canvas); color: var(--haske-body); }
body:not(.haske-staff-page) {
  --haske-burgundy: var(--haske-forest);
  --haske-burgundy-deep: var(--haske-forest-deep);
  --haske-burgundy-soft: var(--haske-forest-soft);
  --haske-focus: var(--haske-forest);
}
.preloader { display: none !important; }
p, li, label, input, select, textarea { color: var(--haske-body); }
.bg-lightbrown, .bg-lightgray { background-color: var(--haske-canvas) !important; }
.bg-white { background-color: var(--haske-surface) !important; }
.booking-system .step-content .sidebar,
.booking-system .step-content .booking-form,
.booking-system .step-content .room-info,
.experience-card,
.haske-checkout-card { background: var(--haske-surface) !important; }

.haske-experiences .section-title,
.haske-room-showcase .section-title,
.home-amenities .section-title,
.haske-discover .section-title,
.booking-system .heading,
.haske-journal-card h3,
.budget-estimator-card-heading span,
.haske-portfolio-grid article strong { color: var(--haske-black) !important; }

.footer {
  background: linear-gradient(145deg, var(--haske-black), var(--haske-black-soft)) !important;
  color: var(--haske-surface);
}
.footer .top { border-bottom-color: rgba(255,255,255,.09); }

.skip-link {
  position: fixed;
  z-index: 100000;
  top: 10px;
  left: 10px;
  padding: 11px 16px;
  border-radius: 3px;
  background: var(--haske-ink);
  color: #fff;
  transform: translateY(-160%);
}
.skip-link:focus { color: #fff; transform: translateY(0); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--haske-focus) !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

.button-1,
.button-2,
.button-3,
.btn-form1-submit,
.booking-system .stepwizard .btn-success {
  background: var(--haske-gold) !important;
  border-color: var(--haske-gold) !important;
  color: var(--haske-ink) !important;
  font-weight: 700;
}
.button-1:hover,
.button-2:hover,
.button-3:hover,
.btn-form1-submit:hover {
  background: var(--haske-burgundy) !important;
  border-color: var(--haske-burgundy) !important;
  color: #fff !important;
}
.section-subtitle,
.property-label,
.experience-price,
.rooms3 .item .cont .property-label,
.haske-catalog .item .wrap .cont .property-label { color: var(--haske-bronze) !important; }

/* Refined, high-contrast textured header and menu */
.rixos-header.scrolled {
  background-color: var(--haske-surface) !important;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(189,148,90,.045) 0 1px, transparent 1.5px),
    linear-gradient(112deg, rgba(255,255,255,.96), rgba(250,248,244,.72)) !important;
  background-size: 15px 15px, auto !important;
}
.rixos-header.scrolled { border-bottom: 1px solid var(--haske-border); box-shadow: 0 10px 30px rgba(20,20,20,.08); }
.rixos-header.scrolled,
.rixos-header.awake,
.rixos-header.sleep { transform: translateY(0) !important; }
.rixos-header { isolation: isolate; backface-visibility: hidden; }
.rixos-wrap .rixos-menu > ul > li > a,
.rixos-wrap .rixos-menu > ul > li > button,
.rixos-wrap .rixos-menu ul li a { color: var(--haske-ink) !important; }
.rixos-wrap .rixos-menu ul li a:hover,
.rixos-wrap .rixos-menu ul li a.active { color: var(--haske-bronze) !important; }

.rixos-header .container { max-width: 1280px; }
.rixos-header .row { position: relative; min-height: 78px; }
.rixos-header .rixos-logo-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  max-width: none;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.rixos-header .rixos-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: auto;
  min-width: 0;
  overflow: visible;
  color: #fff;
  font-family: "Gilda Display", serif;
  font-size: 19px;
  line-height: 1;
  letter-spacing: .13em;
  white-space: nowrap;
  backface-visibility: hidden;
  transition: color .2s ease;
}
.rixos-header .rixos-logo:hover { transform: none !important; }
.haske-logo-mark {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  overflow: hidden;
  contain: paint;
  pointer-events: none;
}
.haske-logo-mark > .haske-logo-fill {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 42px;
  height: 42px;
  max-width: none !important;
  object-fit: contain;
  opacity: 1;
  filter: none !important;
  transition: filter .18s ease, opacity .18s ease !important;
}
.haske-home .rixos-header:not(.scrolled) .rixos-logo .haske-logo-mark {
  overflow: visible;
  contain: none;
}
.haske-home .rixos-header:not(.scrolled) .rixos-logo .haske-logo-fill {
  filter: brightness(0) invert(1) !important;
}
.rixos-header.scrolled .rixos-logo .haske-logo-fill,
.rixos-header.sleep .rixos-logo .haske-logo-fill {
  filter: none !important;
}
.rixos-header .rixos-logo img {
  width: 42px;
  height: 42px;
  max-width: 42px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: none !important;
}
.haske-logo-mark::before,
.haske-logo-mark::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(105deg, #9e743f 2%, #bd945a 32%, #fff0c8 50%, #bd945a 68%, #9e743f 98%);
  background-size: 240% 100%;
  background-position: 100% 50%;
  -webkit-mask: url("../img/haske-logo-symbol-flat-gold.png") center/contain no-repeat;
  mask: url("../img/haske-logo-symbol-flat-gold.png") center/contain no-repeat;
  mix-blend-mode: normal;
  transform: none;
  will-change: opacity, clip-path, background-position;
}
.haske-logo-mark::before {
  z-index: 4;
  clip-path: inset(0 0 62% 0);
  filter: none;
}
.haske-logo-mark::after {
  z-index: 3;
  clip-path: inset(28% 0 0 0);
  filter: none;
}
.haske-home.haske-logo-arrival .rixos-header:not(.scrolled) .haske-logo-mark::before {
  animation: haske-umbrella-illuminate 1.45s cubic-bezier(.22,.61,.36,1) 0s 1 both;
}
.haske-home.haske-logo-arrival .rixos-header:not(.scrolled) .haske-logo-mark::after {
  animation: haske-hs-illuminate 1.35s cubic-bezier(.22,.61,.36,1) .82s 1 both;
}
@keyframes haske-umbrella-illuminate {
  0%, 6% { opacity: 0; clip-path: inset(0 49% 62% 49%); transform: none; background-position: 100% 50%; }
  30% { opacity: 1; clip-path: inset(0 0 62% 0); transform: none; }
  56% { opacity: .96; clip-path: inset(0 0 62% 0); transform: none; background-position: 0 50%; }
  78% { opacity: .48; clip-path: inset(0 0 62% 0); transform: none; }
  100% { opacity: 0; clip-path: inset(0 0 62% 0); transform: none; background-position: 0 50%; }
}
@keyframes haske-hs-illuminate {
  0%, 8% { opacity: 0; clip-path: inset(28% 49% 0 49%); transform: none; background-position: 100% 50%; }
  34% { opacity: 1; clip-path: inset(28% 0 0 0); transform: none; }
  62% { opacity: .88; clip-path: inset(28% 0 0 0); transform: none; background-position: 0 50%; }
  100% { opacity: 0; clip-path: inset(28% 0 0 0); transform: none; background-position: 0 50%; }
}
.rixos-header.scrolled .rixos-logo { color: var(--haske-ink); }
.rixos-header.scrolled .rixos-logo img { filter: none; }
.rixos-header .rixos-wrap-burger-wrap { z-index: 4; }

.header-tools-wrap {
  position: absolute;
  z-index: 5;
  right: 12px;
  top: 50%;
  width: auto;
  transform: translateY(-50%);
}
.haske-header-tools { display: flex; align-items: center; gap: 8px; }
.header-booking-tool,
.haske-preferences > summary {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  background: rgba(20,20,20,.22);
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .025em;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.haske-preferences { position: relative; margin: 0; }
.haske-preferences > summary { min-width: 70px; cursor: pointer; list-style: none; }
.haske-preferences > summary::-webkit-details-marker { display: none; }
.haske-preferences > summary:hover,
.haske-preferences[open] > summary { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; }
.haske-preferences-summary__currency {
  min-width: 18px;
  color: #f1d29f;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}
.haske-preferences-summary__divider { width: 1px; height: 16px; background: rgba(255,255,255,.34); }
.haske-preferences-summary__language { min-width: 18px; font-size: 12px; line-height: 1; letter-spacing: .08em; text-align: center; white-space: nowrap; }
.haske-preferences-summary__word { margin-left: 1px; }
.haske-preferences-summary__chevron { font-size: 10px; transition: transform .2s ease; }
.haske-preferences[open] .haske-preferences-summary__chevron { transform: rotate(180deg); }
.rixos-header.scrolled .haske-preferences-summary__currency { color: var(--haske-bronze); }
.rixos-header.scrolled .haske-preferences-summary__divider { background: var(--haske-border); }
.haske-preferences-panel {
  position: absolute;
  z-index: 30;
  top: calc(100% + 10px);
  right: 0;
  width: min(296px, calc(100vw - 18px));
  max-height: calc(100vh - 92px);
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--haske-border);
  border-radius: 8px;
  background: var(--haske-surface);
  box-shadow: 0 16px 42px rgba(20,20,20,.16);
  color: var(--haske-body);
  text-align: left;
  white-space: normal;
}
.haske-preferences-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr);
  gap: 10px;
  padding: 0 0 10px;
}
.haske-preference-field {
  min-width: 0;
}
.haske-preference-field > label {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0 0 6px;
  color: var(--haske-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}
.haske-preference-field > label i { width: 14px; flex: 0 0 14px; color: var(--haske-bronze); font-size: 12px; text-align: center; }
.haske-preference-select { position: relative; min-width: 0; }
.haske-preferences-panel .haske-preference-select select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0 32px 0 11px;
  border: 1px solid var(--haske-border);
  border-radius: 6px;
  outline: 0;
  appearance: none;
  background: #fff;
  color: var(--haske-ink);
  font: 700 12px/1.2 "Urbanist", sans-serif;
  text-align: left;
  text-align-last: left;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
}
.haske-preference-select > i {
  position: absolute;
  top: 50%;
  right: 11px;
  color: var(--haske-bronze);
  font-size: 11px;
  pointer-events: none;
  transform: translateY(-50%);
}
.haske-preferences-panel .haske-preference-select select:hover { border-color: var(--haske-gold); }
.haske-preferences-panel .haske-preference-select select:focus-visible { border-color: var(--haske-burgundy); }
.haske-preferences-panel .haske-profile-disabled {
  width: 100%;
  min-height: 38px;
  margin: 0;
  font-size: 11px;
}
.haske-preferences-panel .haske-fx-note {
  margin: 10px 0 0;
  padding: 9px 0 0;
  border-top: 1px solid var(--haske-border);
  background: transparent;
  color: var(--haske-muted);
  font-size: 10px;
  line-height: 1.45;
}
.haske-profile-disabled {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px dashed var(--haske-border);
  border-radius: 4px;
  background: var(--haske-canvas);
  color: var(--haske-muted);
  cursor: not-allowed;
}
.haske-manage-tool {
  display: grid;
  width: 100%;
  min-height: 48px;
  padding: 8px 11px;
  align-items: center;
  gap: 9px;
  grid-template-columns: 18px minmax(0, 1fr) 12px;
  border: 1px solid var(--haske-border);
  border-radius: 7px;
  background: var(--haske-surface);
  color: var(--haske-ink) !important;
  font-family: "Urbanist", sans-serif;
  text-decoration: none;
}
.haske-manage-tool > i:first-child { color: var(--haske-bronze); font-size: 14px; }
.haske-manage-tool > i:last-child { color: var(--haske-muted); font-size: 10px; }
.haske-manage-tool span { display: grid; gap: 1px; min-width: 0; }
.haske-manage-tool strong { color: var(--haske-ink); font-size: 11px; line-height: 1.2; }
.haske-manage-tool small { color: var(--haske-muted); font-size: 9px; line-height: 1.2; }
.haske-manage-tool:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; }
.haske-manage-tool:hover strong,
.haske-manage-tool:hover small,
.haske-manage-tool:hover i { color: #fff !important; }
.haske-preferences-actions { display: grid; gap: 7px; }
.haske-management-signin {
  display: inline-flex;
  min-height: 28px;
  padding: 0 3px;
  align-items: center;
  justify-self: end;
  gap: 6px;
  color: var(--haske-bronze) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.haske-management-signin i { font-size: 10px; }
.haske-management-signin:hover { color: var(--haske-burgundy) !important; }
.rixos-header.scrolled .header-booking-tool,
.rixos-header.scrolled .haske-preferences > summary {
  border-color: var(--haske-border);
  background: rgba(255,252,248,.9);
  color: var(--haske-ink) !important;
}
.rixos-wrap .toggle-whatsapp a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(7,94,84,.3);
  border-radius: 999px;
  background: var(--haske-burgundy-soft);
  color: var(--haske-whatsapp) !important;
  font-weight: 700;
}
.rixos-wrap .toggle-whatsapp a:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; }

/* Home content and confidence strip */
.haske-trust-strip { padding: 22px 0; border-bottom: 1px solid var(--haske-border); background: var(--haske-surface); }
.haske-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.haske-trust-item { min-height: 64px; padding: 8px 22px; border-right: 1px solid var(--haske-border); display: flex; align-items: center; gap: 12px; }
.haske-trust-item:last-child { border-right: 0; }
.haske-trust-item i { color: var(--haske-bronze); font-size: 22px; }
.haske-trust-item strong { display: block; color: var(--haske-ink); font-size: 14px; }
.haske-trust-item span { color: var(--haske-muted); font-size: 12px; line-height: 1.4; }

.haske-location-card { height: 100%; padding: 27px; border: 1px solid var(--haske-border); background: var(--haske-surface); }
.haske-location-card .location-kicker { color: var(--haske-bronze); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.haske-location-card h3 { margin: 8px 0 10px; font-size: 25px; }
.haske-location-card p { margin-bottom: 15px; }
.haske-location-card a { color: var(--haske-bronze); font-weight: 800; }

/* Truthful room discovery */
.haske-results-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.haske-results-toolbar__copy h3 { margin-bottom: 3px; }
.haske-results-toolbar__copy p { margin: 0; color: var(--haske-muted); }
.haske-sort { min-width: 190px; }
.haske-sort label { display: block; margin-bottom: 5px; color: var(--haske-muted); font-size: 12px; font-weight: 700; }
.haske-sort select { width: 100%; min-height: 44px; padding: 0 34px 0 12px; border: 1px solid var(--haske-border); background: var(--haske-surface); color: var(--haske-ink); }
.haske-show-more-wrap { width: 100%; text-align: center; padding: 4px 0 30px; }
.haske-show-more { min-width: 180px; min-height: 46px; }
.haske-availability-note { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 22px; padding: 13px 15px; border-left: 3px solid var(--haske-burgundy); background: var(--haske-burgundy-soft); color: var(--haske-body); font-size: 14px; }
.haske-rate-label { display: block; margin-bottom: 5px; color: rgba(255,255,255,.82); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.booking-system .step-content .room-info .photo-thumbnail .pr { color: #fff; }
.booking-system .step-content .room-info .photo img { aspect-ratio: 16 / 10; object-fit: cover; }
.booking-system .step-content .room-info.is-selected { box-shadow: 0 0 0 3px var(--haske-bronze); }
.haske-room-option { cursor: pointer; }
.haske-room-option[aria-pressed="true"] .haske-room-select-action { color: var(--haske-bronze); font-weight: 800; }

.haske-budget-control input[type="range"] {
  width: 100%;
  min-height: 44px;
  accent-color: var(--haske-bronze);
  cursor: pointer;
}
.haske-budget-control input[type="range"]::-webkit-slider-thumb { width: 28px; height: 28px; }
.haske-budget-control input[type="range"]::-moz-range-thumb { width: 28px; height: 28px; }
.haske-fx-note { display: block; margin-top: 9px; color: var(--haske-muted); font-size: 11px; line-height: 1.4; }
.haske-fx-note a { color: var(--haske-bronze); text-decoration: underline; }

.haske-booking-status { min-height: 24px; margin: 12px 0 0; color: var(--haske-body); font-size: 14px; }
.haske-booking-status.is-success { color: var(--haske-whatsapp); font-weight: 700; }
.haske-booking-confirmation {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(18,61,42,.22);
  border-radius: 5px;
  background: var(--haske-sage-soft, #edf3ee);
  color: var(--haske-ink);
}
.haske-booking-confirmation[hidden] { display: none !important; }
.haske-booking-confirmation > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.haske-booking-confirmation > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.haske-booking-confirmation code { color: var(--haske-forest-deep); font-family: "Urbanist", sans-serif; font-size: 18px; font-weight: 850; letter-spacing: .04em; }
.haske-booking-confirmation button { min-width: 64px; min-height: 36px; padding: 6px 10px; border: 1px solid rgba(18,61,42,.3); border-radius: 3px; background: #fff; color: var(--haske-forest-deep); font-weight: 800; cursor: pointer; }
.haske-booking-confirmation p { margin: 8px 0 0; font-size: 12px; line-height: 1.45; }
.haske-whatsapp-fallback {
  display: none;
  width: 100%;
  min-height: 48px;
  margin-top: 10px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 2px solid var(--haske-whatsapp);
  border-radius: 3px;
  color: var(--haske-whatsapp) !important;
  font-weight: 800;
}
.haske-whatsapp-fallback.is-visible { display: inline-flex; }
.haske-whatsapp-fallback:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; }
.haske-whatsapp-submit { background: var(--haske-burgundy) !important; border-color: var(--haske-burgundy) !important; color: #fff !important; }
.haske-whatsapp-submit:hover { background: var(--haske-burgundy-deep) !important; border-color: var(--haske-burgundy-deep) !important; color: #fff !important; }

.booking-system .stepwizard .btn:not(.disabled):hover {
  border-color: var(--haske-burgundy) !important;
  background: var(--haske-burgundy) !important;
  color: #fff !important;
}
.footer .top .item .newsletter button:hover,
.footer .top .item .newsletter:hover button {
  background: var(--haske-burgundy) !important;
  color: #fff !important;
}
.footer .top .item .newsletter button:hover i,
.footer .top .item .newsletter:hover button i { color: #fff !important; }

.newsletter-privacy { margin-top: 10px !important; color: rgba(255,255,255,.66) !important; font-size: 12px; line-height: 1.5; }
.newsletter-privacy a { color: #fff !important; text-decoration: underline; }
.haske-contact-status { min-height: 22px; margin: 10px 0 0; color: var(--haske-muted); font-size: 13px; }
.haske-contact-status.is-success { color: var(--haske-whatsapp); font-weight: 700; }
.fx-rate-attribution { position: static; display: inline; color: inherit; text-decoration: underline; }

.haske-footer-brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 17px; color: #fff !important; font-family: "Gilda Display", serif; font-size: 20px; letter-spacing: .12em; }
.haske-footer-brand img { width: 44px !important; height: 44px; object-fit: contain; filter: brightness(0) invert(1); }
.footer .top .item .logo { width: auto !important; overflow: visible !important; }

.not-confirmed-note { margin: 10px 0 0; color: var(--haske-muted); font-size: 12px; line-height: 1.45; }
.haske-translation-note { margin: 6px 0 0; color: var(--haske-muted); font-size: 11px; }
.haske-breadcrumb { padding: 13px 0; border-bottom: 1px solid var(--haske-border); background: var(--haske-surface); }
.haske-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.haske-breadcrumb li + li::before { content: "/"; margin-right: 7px; color: var(--haske-muted); }
.haske-breadcrumb a { color: var(--haske-bronze); }

/* Restored compact header sequence: Booking, currency, language, profile */
.haske-header-tools > a,
.haske-header-tools .header-select-tool,
.haske-header-tools .header-profile-tool {
  display: inline-flex;
  min-width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 5px;
  background: rgba(20,20,20,.3);
  color: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.haske-header-tools .header-booking-tool {
  min-width: 104px;
  padding: 0 13px;
  gap: 7px;
  border-color: var(--haske-gold);
  background: var(--haske-gold);
  color: var(--haske-ink) !important;
  font-size: 13px;
  font-weight: 800;
}
.haske-header-tools .header-select-tool { position: relative; padding: 0 5px; }
.haske-header-tools .currency-tool { min-width: 38px; }
.haske-header-tools .language-tool { min-width: 42px; }
.haske-header-tools select {
  width: 28px;
  height: 36px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: 800 13px/1 "Urbanist", sans-serif;
  cursor: pointer;
  appearance: none;
  text-align: center;
  text-align-last: center;
}
.haske-header-tools .currency-tool select { font-size: 19px; }
.haske-header-tools .language-tool select { color: transparent; }
.haske-header-tools .language-tool::after {
  content: attr(data-short);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: inherit;
  font: 800 12px/1 "Urbanist", sans-serif;
  pointer-events: none;
}
.haske-header-tools select option { background: #fff; color: var(--haske-ink); }
.haske-header-tools .header-profile-tool { padding: 0; font-size: 17px; opacity: .78; cursor: not-allowed; }
.haske-header-tools > a:hover,
.haske-header-tools .header-select-tool:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; transform: none; }
.rixos-header.scrolled .haske-header-tools > a,
.rixos-header.scrolled .haske-header-tools .header-select-tool,
.rixos-header.scrolled .haske-header-tools .header-profile-tool {
  border-color: var(--haske-border);
  background: rgba(255,252,248,.9);
  color: var(--haske-ink) !important;
  backdrop-filter: none;
}
.rixos-header.scrolled .haske-header-tools .header-booking-tool { border-color: var(--haske-gold); background: var(--haske-gold); }
.rixos-header.scrolled .haske-header-tools > a:hover,
.rixos-header.scrolled .haske-header-tools .header-select-tool:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; }

/* Reservation support and signature collection emphasis */
.haske-trust-item--whatsapp { background: linear-gradient(135deg, var(--haske-burgundy-soft), rgba(255,252,248,.96)); box-shadow: inset 3px 0 0 var(--haske-burgundy); }
.haske-trust-item--whatsapp > i { color: var(--haske-burgundy); }
.haske-trust-item--whatsapp a { display: inline-flex; align-items: center; gap: 5px; color: var(--haske-burgundy); font-size: 12px; font-weight: 800; }
.haske-trust-item--whatsapp a:hover { color: var(--haske-whatsapp); }
.experience-card-img { position: relative; }
.experience-card.is-preferred { border: 1px solid rgba(189,148,90,.72); box-shadow: 0 16px 42px rgba(138,101,54,.18) !important; }
.haske-experiences .experience-actions .button-3 {
  border-color: var(--haske-black) !important;
  background: transparent !important;
  color: var(--haske-black) !important;
}
.haske-experiences .experience-actions .button-3:hover {
  border-color: var(--haske-burgundy) !important;
  background: var(--haske-burgundy) !important;
  color: #fff !important;
}
.haske-experiences .experience-card.is-preferred .experience-card-body {
  background: linear-gradient(145deg, var(--haske-black), var(--haske-black-soft));
}
.haske-experiences .experience-card.is-preferred h3 { color: var(--haske-surface) !important; }
.haske-experiences .experience-card.is-preferred .experience-price {
  border-bottom-color: rgba(189,148,90,.35);
  color: #d7b77a !important;
}
.haske-experiences .experience-card.is-preferred .experience-price span,
.haske-experiences .experience-card.is-preferred .experience-highlights li { color: rgba(255,253,248,.76) !important; }
.haske-experiences .experience-card.is-preferred .experience-actions .button-3 {
  border-color: var(--haske-gold) !important;
  color: #d7b77a !important;
}
.haske-experiences .experience-card.is-preferred .experience-actions .button-3:hover {
  border-color: var(--haske-burgundy) !important;
  background: var(--haske-burgundy) !important;
  color: #fff !important;
}
.preferred-branch-badge {
  position: absolute;
  z-index: 4;
  top: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 999px;
  background: linear-gradient(135deg, #d4b374, #a77b3b);
  color: #17120b;
  box-shadow: 0 9px 25px rgba(20,20,20,.2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.long-stay-badge {
  border: 1px solid rgba(189,148,90,.78);
  background: var(--haske-burgundy) !important;
  color: var(--haske-surface) !important;
  box-shadow: 0 8px 24px rgba(74,32,40,.24);
}
.haske-room-showcase {
  padding: 76px 0 82px;
  border-top: 1px solid rgba(189,148,90,.28);
  border-bottom: 1px solid rgba(189,148,90,.28);
  background:
    radial-gradient(ellipse at 50% 63%, rgba(189,148,90,.14) 0, rgba(189,148,90,0) 45%),
    linear-gradient(155deg, #11100e 0%, #1a1815 56%, #242019 100%);
}
.haske-room-showcase .section-title { color: var(--haske-surface) !important; }
.haske-room-showcase .section-subtitle { color: #d7b77a !important; }
.haske-room-showcase .haske-showcase-intro { max-width: 650px; margin: 0 auto; color: rgba(255,253,248,.72); font-size: 15px; }
.haske-room-showcase .container-fluid { padding-inline: 0 !important; }
.haske-room-showcase .owl-stage-outer { padding: 14px 0 32px; }
.haske-room-showcase .item .img { aspect-ratio: 16 / 9; }
.haske-room-showcase .item .img img { width: 100%; height: 100%; object-fit: cover; }
.haske-room-showcase .owl-item .item { overflow: hidden; margin-bottom: 0; border: 1px solid rgba(255,253,248,.12); border-radius: 6px; opacity: .42; transform: scale(.92) !important; box-shadow: 0 14px 38px rgba(0,0,0,.34); transition: opacity .45s ease, transform .55s ease, box-shadow .55s ease; }
.haske-room-showcase .owl-item.center .item { border-color: rgba(215,183,122,.88); opacity: 1; transform: scale(1) !important; box-shadow: 0 28px 72px rgba(0,0,0,.5), 0 0 0 3px rgba(189,148,90,.2), 0 0 48px rgba(189,148,90,.14); }
.haske-room-showcase .owl-item:not(.center) .item .cont { opacity: 0 !important; }
.haske-room-showcase .owl-item.center .item .cont { opacity: 1 !important; }
.haske-room-showcase .item .cont { padding: clamp(24px, 3vw, 40px); }
.haske-room-showcase .item .cont .title,
.haske-room-showcase .item .cont .title a { font-size: clamp(26px, 3vw, 38px); }
.haske-room-showcase .owl-theme .owl-nav { top: 51% !important; display: flex; width: calc(100% - clamp(24px, 5vw, 84px)); justify-content: space-between; padding: 0; pointer-events: none; }
.haske-room-showcase .owl-theme .owl-nav [class*="owl-"] { display: grid; width: 50px; height: 50px; margin: 0; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(20,20,20,.9); color: #fff; box-shadow: 0 9px 24px rgba(20,20,20,.2); pointer-events: auto; }
.haske-room-showcase .owl-theme .owl-nav [class*="owl-"]:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff; }
.haske-room-showcase .button-2 { border-color: var(--haske-gold); background: var(--haske-gold); color: var(--haske-ink); font-weight: 800; }
.haske-room-showcase .button-2:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff; }
.haske-showcase-luxury { box-shadow: inset 0 0 0 1px rgba(189,148,90,.68); }

/* Four concise facility tabs and compact amenities */
.facilities2 .border-bottom .container { overflow: hidden; }
.facilities2 ul.tab-buttons { display: flex; flex-wrap: nowrap; justify-content: stretch; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-snap-type: x proximity; }
.facilities2 ul.tab-buttons li.tab-btn { display: grid; width: auto !important; min-height: 82px; max-width: none !important; padding: 0; flex: 1 0 190px !important; place-items: center; scroll-snap-align: start; }
.facilities2 ul.tab-buttons li.tab-btn span { width: 100%; max-width: none; min-height: 82px; margin: 0 auto; padding: 18px 14px; font-size: clamp(16px, 1.55vw, 23px); line-height: 1.12; text-align: center; }
.facilities2 ul.tab-buttons li.tab-btn.active-btn span { background: linear-gradient(180deg, rgba(255,252,248,.92), rgba(189,148,90,.1)); }
.facilities2 .tabs-content .tab img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.home-amenities { border-top: 1px solid var(--haske-border); border-bottom: 1px solid var(--haske-border); }
.home-amenities .item { min-height: 205px; border: 1px solid var(--haske-border); border-radius: 3px; background: var(--haske-surface); }
.home-amenities .item .cont { padding: 28px 22px; }
.home-amenities .item .cont .icon i { color: var(--haske-bronze); font-size: 38px; }
.home-amenities .item .cont .text h5 { font-size: 19px; }
.home-amenities .item .cont .text p { font-size: 14px; line-height: 1.5; }

/* Compact video, guest perspective and journal composition */
.haske-discover { background: linear-gradient(180deg, var(--haske-surface), var(--haske-canvas)); }
.haske-video-card {
  position: relative;
  display: flex;
  min-height: 500px;
  align-items: flex-end;
  overflow: hidden;
  border-radius: 4px;
  background-position: center;
  background-size: cover;
}
.haske-video-card__content { position: relative; z-index: 2; max-width: 660px; padding: 48px; }
.haske-video-card__content h2 { margin: 8px 0 24px; color: #fff; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; }
.haske-video-card__content .section-subtitle { color: #e1c795 !important; }
.haske-play-button { display: inline-flex; align-items: center; gap: 11px; color: #fff !important; font-weight: 800; }
.haske-play-button i { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--haske-gold); color: var(--haske-ink); }
.haske-play-button:hover i { background: var(--haske-burgundy); color: #fff; }
.haske-discover-stack { display: grid; height: 100%; gap: 18px; grid-template-rows: minmax(0, .85fr) minmax(0, 1.15fr); }
.haske-review-card { display: flex; margin: 0; padding: 30px; flex-direction: column; justify-content: center; border: 1px solid rgba(189,148,90,.45); border-radius: 4px; background: linear-gradient(145deg, var(--haske-burgundy), var(--haske-burgundy-deep)); color: #fff; box-shadow: 0 16px 38px rgba(74,32,40,.18); }
.haske-review-card > i { margin-bottom: 14px; color: var(--haske-gold); font-size: 27px; }
.haske-review-card p { margin-bottom: 18px; color: #fff; font-family: "Gilda Display", serif; font-size: 22px; line-height: 1.42; }
.haske-review-card footer { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 700; }
.haske-journal-card { padding: 25px; border: 1px solid var(--haske-border); border-radius: 4px; background: var(--haske-canvas); }
.haske-journal-card h3 { margin: 5px 0 16px; font-size: 25px; }
.haske-journal-card > a:not(.haske-journal-all) { display: grid; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--haske-border); color: var(--haske-ink); grid-template-columns: 72px minmax(0, 1fr) auto; }
.haske-journal-card > a img { width: 72px; height: 58px; object-fit: cover; }
.haske-journal-card > a span { font-family: "Gilda Display", serif; font-size: 16px; line-height: 1.25; }
.haske-journal-card > a small { display: block; margin-bottom: 4px; color: var(--haske-burgundy); font: 800 9px/1.2 "Urbanist", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.haske-journal-all { display: inline-block; margin-top: 12px; color: var(--haske-bronze); font-size: 12px; font-weight: 800; text-transform: uppercase; }

/* About-page home for verified hotel-room capacity */
.haske-portfolio-band { border-top: 1px solid var(--haske-border); border-bottom: 1px solid var(--haske-border); background: var(--haske-surface); }
.haske-portfolio-grid article { height: 100%; padding: 25px 27px; border: 1px solid var(--haske-border); background: var(--haske-canvas); }
.haske-portfolio-grid article > span { display: flex; align-items: center; justify-content: space-between; color: var(--haske-bronze); font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.haske-portfolio-grid article strong { display: block; margin: 7px 0 2px; color: var(--haske-ink); font-family: "Gilda Display", serif; font-size: 50px; font-weight: 400; line-height: 1; }
.haske-portfolio-grid article p { margin: 0; color: var(--haske-muted); font-size: 14px; }
.haske-portfolio-grid article.is-signature { border-color: rgba(189,148,90,.8); background: linear-gradient(145deg, #fffaf1, #f1e7d6); }
.haske-portfolio-grid em { padding: 5px 8px; border-radius: 999px; background: var(--haske-gold); color: var(--haske-ink); font-style: normal; font-size: 8px; }
.haske-portfolio-note { display: flex; align-items: flex-start; gap: 8px; margin: 17px 0 0; color: var(--haske-muted); font-size: 12px; }

/* High-visibility smart budget matcher */
.budget-estimator-section {
  position: relative;
  padding: 78px 0;
  border-top: 1px solid rgba(189,148,90,.45);
  background-position: center 56%;
}
.budget-estimator-experience { position: relative; z-index: 2; display: grid; align-items: center; gap: clamp(36px, 6vw, 85px); grid-template-columns: minmax(0, 1fr) minmax(420px, .86fr); }
.budget-estimator-copy { max-width: 620px; }
.budget-estimator-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 17px; color: #e5c58d !important; font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.budget-estimator-copy h2 { margin: 0 0 18px; color: #fff; font-size: clamp(40px, 5vw, 68px); line-height: .98; }
.budget-estimator-copy > p { max-width: 540px; margin: 0 0 23px; color: rgba(255,255,255,.83) !important; font-size: 17px; line-height: 1.65; }
.budget-estimator-benefits { display: flex; flex-wrap: wrap; gap: 10px; }
.budget-estimator-benefits span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(215,183,122,.52); border-radius: 999px; background: rgba(74,32,40,.82); color: #fff; font-size: 11px; font-weight: 800; }
.budget-estimator-benefits i { color: #f1d29f; }
.booking-inner.budget-estimator-shell { width: 100%; padding: 0; background: transparent; }
.budget-estimator-form { display: block; width: 100%; max-width: none; margin: 0; padding: 30px; border: 1px solid rgba(189,148,90,.6); border-radius: 7px; background: var(--haske-surface); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.budget-estimator-card-heading { display: flex; margin-bottom: 17px; align-items: baseline; justify-content: space-between; gap: 15px; }
.budget-estimator-card-heading span { color: var(--haske-ink); font-family: "Gilda Display", serif; font-size: 23px; }
.budget-estimator-card-heading small { color: var(--haske-muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.budget-estimator-controls { display: grid; gap: 9px; grid-template-columns: minmax(0, 1fr) auto; }
.budget-input-frame { position: relative; height: 64px; overflow: hidden; border: 1px solid var(--haske-border); border-radius: 4px; background: #fff; }
.budget-estimator-form .budget-currency { position: absolute; z-index: 2; top: 50%; left: 18px; color: var(--haske-bronze); font-size: 24px; transform: translateY(-50%); }
.budget-estimator-form input[type="number"] { width: 100%; height: 100%; padding: 0 16px 0 48px; border: 0; background: transparent; color: var(--haske-ink); font-family: "Gilda Display", serif; font-size: 25px; box-shadow: none; }
.budget-estimator-form input[type="number"]::placeholder { color: #a59b90; opacity: 1; }
.budget-estimator-form .btn-form1-submit { display: inline-flex; min-width: 154px; min-height: 64px; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border-radius: 4px; background: var(--haske-gold) !important; color: var(--haske-ink) !important; font-size: 12px; font-weight: 900; letter-spacing: .03em; }
.budget-estimator-form .btn-form1-submit:hover { border-color: var(--haske-burgundy) !important; background: var(--haske-burgundy) !important; color: #fff !important; }
.budget-presets { display: flex; margin-top: 15px; align-items: center; flex-wrap: wrap; gap: 7px; }
.budget-presets > span { margin-right: 2px; color: var(--haske-muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.budget-presets button { min-height: 32px; padding: 0 10px; border: 1px solid var(--haske-border); border-radius: 999px; background: var(--haske-canvas); color: var(--haske-body); font-size: 10px; font-weight: 800; }
.budget-presets button:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff; }
.budget-presets button:focus-visible { outline-color: var(--haske-burgundy) !important; }

/* Heritage-luxury navigation: asymmetric classic toggle and stable menu type */
body.menu-open { overflow: hidden; }

.haske-menu-overlay {
  position: fixed;
  z-index: 1090;
  inset: 0;
  visibility: hidden;
  background: rgba(0,0,0,.6);
  opacity: 0;
  cursor: pointer;
  transition: opacity 280ms ease-out, visibility 280ms ease-out;
}
.haske-menu-overlay.is-visible { visibility: visible; opacity: 1; }

body .rixos-wrap {
  position: fixed;
  z-index: 1100;
  inset: 0 auto 0 0;
  display: flex;
  width: min(380px, 88vw);
  min-height: 100vh;
  height: 100vh;
  padding: 0 !important;
  overflow: hidden;
  flex-direction: column;
  border: 0;
  border-right: 1px solid var(--haske-border);
  background-color: var(--haske-canvas) !important;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(189,148,90,.07) 0 1px, transparent 1.5px),
    linear-gradient(112deg, rgba(255,255,255,.48), rgba(216,204,188,.16)) !important;
  background-size: 15px 15px, auto !important;
  box-shadow: 8px 0 28px rgba(20,20,20,.14);
  transform: translateX(-100%) !important;
  transition: transform 280ms cubic-bezier(.22,.61,.36,1) !important;
}
body .rixos-wrap.rixos-wrap-show { transform: translateX(0) !important; }

.haske-drawer-header {
  display: flex;
  min-height: 92px;
  padding: 18px 22px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--haske-border);
  background: var(--haske-surface);
}
.haske-drawer-brand {
  position: relative;
  display: inline-flex;
  width: auto;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  min-width: 0;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 9px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-ink) !important;
  box-sizing: border-box;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
  contain: none;
  transition: none !important;
}
.haske-drawer-brand:hover,
.haske-drawer-brand:focus,
.haske-drawer-brand:active {
  display: inline-flex;
  width: auto;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-ink) !important;
  box-sizing: border-box;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}
.haske-drawer-brand::before,
.haske-drawer-brand::after { content: none !important; }
.haske-drawer-brand img {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  padding: 0;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  background: transparent;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}
.haske-drawer-brand:hover img,
.haske-drawer-brand:focus img,
.haske-drawer-brand:active img {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.haske-drawer-brand > span {
  display: grid;
  min-width: 0;
  height: 34px;
  align-content: center;
  grid-template-rows: 18px 10px;
  row-gap: 5px;
  transform: none !important;
}
.haske-drawer-brand strong {
  display: block;
  height: 18px;
  margin: 0;
  color: var(--haske-ink);
  font-family: "Gilda Display", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: .13em;
  white-space: nowrap;
}
.haske-drawer-brand small {
  display: block;
  height: 10px;
  margin: 0;
  color: var(--haske-bronze);
  font-size: 8px;
  font-weight: 700;
  line-height: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.haske-drawer-brand:hover strong,
.haske-drawer-brand:focus strong { color: var(--haske-ink); }
.haske-drawer-brand:hover small,
.haske-drawer-brand:focus small { color: var(--haske-bronze); }
.haske-drawer-close {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(189,148,90,.52);
  border-radius: 10px;
  background: transparent;
  color: var(--haske-ink);
  font-size: 20px;
  cursor: pointer;
  transition: background 220ms ease, border-color 220ms ease, color 220ms ease;
}
.haske-drawer-close:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff; }

body .rixos-wrap .rixos-wrap-inner {
  display: flex;
  min-height: 0;
  padding: 22px 26px 22px;
  overflow-x: hidden;
  overflow-y: auto;
  flex: 1;
  flex-direction: column;
  scrollbar-color: rgba(189,148,90,.5) transparent;
}
.haske-drawer-label,
.haske-drawer-footer-label {
  display: block;
  color: var(--haske-bronze);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.haske-drawer-label { margin-bottom: 10px; }

body .rixos-wrap .rixos-menu ul {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
body .rixos-wrap .rixos-menu > ul > li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--haske-border);
}
body .rixos-wrap .rixos-menu > ul > li > a,
body .rixos-wrap .rixos-menu > ul > li > button {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 14px 16px 14px 14px;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--haske-black) !important;
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .075em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: color 220ms ease, background 220ms ease;
}
body .rixos-wrap .rixos-menu > ul > li > a::before,
body .rixos-wrap .rixos-menu > ul > li > button::before {
  content: "";
  position: absolute;
  top: 17px;
  bottom: 17px;
  left: 0;
  width: 2px;
  border-radius: 2px;
  background: #bd945a;
  opacity: 0;
  transform: scaleY(.5);
  transition: opacity 220ms ease, transform 220ms ease;
}
body .rixos-wrap .rixos-menu > ul > li > a:hover,
body .rixos-wrap .rixos-menu > ul > li > button:hover {
  background: var(--haske-burgundy);
  color: #fff !important;
}
body .rixos-wrap .rixos-menu > ul > li > a.active,
body .rixos-wrap .rixos-menu > ul > li > button.active,
body .rixos-wrap .rixos-menu > ul > li.current-section > button {
  background: rgba(189,148,90,.09);
  color: var(--haske-burgundy) !important;
}
body .rixos-wrap .rixos-menu > ul > li > a.active::before,
body .rixos-wrap .rixos-menu > ul > li > button.active::before,
body .rixos-wrap .rixos-menu > ul > li.current-section > button::before { opacity: 1; transform: scaleY(1); }

.haske-submenu-toggle i {
  color: var(--haske-gold);
  font-size: 12px;
  transition: transform 240ms ease;
}
.haske-submenu-toggle[aria-expanded="true"] {
  background: rgba(74,32,40,.08) !important;
  color: var(--haske-burgundy) !important;
}
.haske-submenu-toggle[aria-expanded="true"] i {
  color: var(--haske-burgundy);
  transform: rotate(180deg);
}
body .rixos-wrap .rixos-menu ul ul {
  display: block;
  margin: 7px 0 14px !important;
  padding: 8px !important;
  border: 1px solid rgba(74,32,40,.16);
  border-left: 3px solid var(--haske-burgundy);
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(74,32,40,.065), rgba(255,253,248,.94));
  box-shadow: 0 8px 20px rgba(74,32,40,.055);
}
body .rixos-wrap .rixos-menu ul ul[hidden] { display: none !important; }
body .rixos-wrap .rixos-menu ul ul li {
  margin: 0;
  padding: 0;
  border: 0;
}
body .rixos-wrap .rixos-menu ul ul li + li { margin-top: 3px; }
body .rixos-wrap .rixos-menu ul ul li a {
  display: grid;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  align-items: center;
  gap: 10px;
  grid-template-columns: 6px minmax(0, 1fr);
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--haske-body) !important;
  font-family: "Urbanist", sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .025em;
  white-space: normal;
  box-sizing: border-box;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
body .rixos-wrap .rixos-menu ul ul li a::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--haske-gold);
  box-shadow: 0 0 0 3px rgba(189,148,90,.12);
}
body .rixos-wrap .rixos-menu ul ul li a:hover,
body .rixos-wrap .rixos-menu ul ul li a.active {
  border-color: var(--haske-burgundy);
  background: var(--haske-burgundy);
  color: var(--haske-surface) !important;
  transform: none !important;
}
body .rixos-wrap .rixos-menu ul ul li a:hover::before,
body .rixos-wrap .rixos-menu ul ul li a.active::before {
  background: #d8b36f;
  box-shadow: 0 0 0 3px rgba(216,179,111,.18);
}
.offer-click-detail.current {
  border-left-color: var(--haske-burgundy);
  background: linear-gradient(90deg, var(--haske-burgundy-soft), var(--haske-canvas));
}

/* Guest self-service, conference planning and booking clarity */
.haske-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.haske-manage-link {
  display: inline-flex;
  margin-top: 14px;
  align-items: center;
  gap: 7px;
  color: var(--haske-bronze);
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.haske-manage-link:hover { color: var(--haske-burgundy); }

.haske-conference-planner { background: var(--haske-black); }
.haske-conference-planner.section-padding { padding-block: clamp(72px, 9vw, 120px); }
.haske-conference-planner .section-title,
.haske-conference-planner > .container > .row > div:first-child > p { color: var(--haske-surface) !important; }
.haske-conference-planner .section-subtitle { color: #d7b77a !important; }
.haske-venue-list {
  display: grid;
  margin: 28px 0 20px;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.haske-venue-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(215,183,122,.34);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255,253,248,.075), rgba(255,253,248,.025));
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.haske-venue-card.is-capacity-match { border-color: #e8c987; box-shadow: 0 14px 36px rgba(0,0,0,.18), 0 0 0 2px rgba(232,201,135,.16); }
.haske-venue-card.is-capacity-match::after {
  position: absolute;
  top: 13px;
  right: 14px;
  padding: 4px 8px;
  border: 1px solid rgba(232,201,135,.55);
  border-radius: 999px;
  background: rgba(16,39,32,.92);
  color: #f4d899;
  content: "Capacity match";
  font: 800 9px/1.2 "Urbanist", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.haske-venue-card h3 {
  position: relative;
  margin: 0;
  padding: 15px 18px 13px 31px;
  color: #fffdf8;
  font: 400 20px/1.2 "Gilda Display", serif;
  letter-spacing: .01em;
}
.haske-venue-card h3::before {
  position: absolute;
  top: 18px;
  bottom: 16px;
  left: 18px;
  width: 2px;
  border-radius: 3px;
  background: #d7b77a;
  content: "";
}
.haske-venue-card dl { margin: 0; }
.haske-venue-card dl > div {
  display: flex;
  min-height: 46px;
  padding: 10px 18px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid rgba(255,253,248,.09);
}
.haske-venue-card dl > div > * { min-width: 0; }
.haske-venue-card dt {
  margin: 0;
  color: #cfc7bc;
  font: 800 12px/1.3 "Urbanist", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.haske-venue-card dt i { width: 17px; margin-right: 5px; color: #d7b77a; text-align: center; }
.haske-venue-card dd {
  margin: 0;
  color: #fffdf8;
  font: 700 15px/1.3 "Urbanist", sans-serif;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.haske-venue-card__capacity strong { color: #d7b77a; font-size: 18px; }
.haske-venue-card dl > .haske-venue-card__price {
  min-height: 54px;
  background: rgba(215,183,122,.08);
}
.haske-venue-card__price dd { color: #e8c987; font: 700 22px/1.15 "Gilda Display", serif; }
.haske-planner-note { display: flex; max-width: 520px; gap: 9px; color: #d8d0c4 !important; font-size: 14px; line-height: 1.65; }
.haske-planner-note i { margin-top: 4px; color: #d7b77a; }
.haske-conference-form {
  position: relative;
  padding: 32px;
  border: 1px solid rgba(189,148,90,.45);
  border-radius: 14px;
  background: var(--haske-surface);
  box-shadow: 0 22px 60px rgba(0,0,0,.22);
}
.haske-conference-form label,
.haske-manage-form label { display: block; margin: 0 0 7px; color: var(--haske-ink); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.haske-conference-form label small { color: var(--haske-muted); font-size: 12px; font-weight: 600; text-transform: none; }
.haske-conference-form input,
.haske-conference-form select,
.haske-conference-form textarea,
.haske-manage-form input {
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid var(--haske-border);
  border-radius: 7px;
  background: #fff;
  color: var(--haske-ink);
  font: 600 14px/1.4 "Urbanist", sans-serif;
}
.haske-conference-form textarea { min-height: 92px; resize: vertical; }
.haske-conference-form .haske-field-help {
  display: block;
  margin-top: 7px;
  color: #766e63;
  font: 600 12px/1.4 "Urbanist", sans-serif;
}
.haske-hall-match {
  display: grid;
  min-width: 0;
  padding: 18px;
  align-items: start;
  gap: 14px;
  border: 1px solid rgba(189,148,90,.42);
  border-radius: 10px;
  background: linear-gradient(135deg, #fbf6ea, #fffdf8 58%, #f4ead8);
  box-shadow: inset 4px 0 0 var(--haske-gold);
  grid-template-columns: 44px minmax(0, 1fr);
}
.haske-hall-match__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: var(--haske-black);
  color: #e8c987;
  font-size: 18px;
}
.haske-hall-match__content { min-width: 0; }
.haske-hall-match__eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--haske-bronze);
  font: 900 10px/1.3 "Urbanist", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.haske-hall-match__title {
  display: block;
  color: var(--haske-black);
  font: 400 clamp(20px, 2.2vw, 26px)/1.15 "Gilda Display", serif;
  overflow-wrap: anywhere;
}
.haske-hall-match p { margin: 7px 0 0; color: #575047; font-size: 13px; line-height: 1.5; }
.haske-hall-match__facts { display: flex; margin-top: 10px; flex-wrap: wrap; gap: 7px; }
.haske-hall-match__facts span:empty { display: none; }
.haske-hall-match__facts span:not(:empty) {
  display: inline-flex;
  min-height: 28px;
  padding: 5px 9px;
  align-items: center;
  border: 1px solid rgba(38,49,44,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: var(--haske-ink);
  font: 800 11px/1.25 "Urbanist", sans-serif;
  letter-spacing: .02em;
}
.haske-hall-match.is-confirmed { border-color: rgba(36,108,77,.38); box-shadow: inset 4px 0 0 #246c4d; }
.haske-hall-match.is-confirmed .haske-hall-match__icon { background: #164d37; }
.haske-hall-match.is-warning,
.haske-hall-match.is-custom { border-color: rgba(133,74,53,.38); background: linear-gradient(135deg, #fff8ef, #fffdf8); box-shadow: inset 4px 0 0 #a35f42; }
.haske-hall-match.is-warning .haske-hall-match__icon,
.haske-hall-match.is-custom .haske-hall-match__icon { background: #713f30; }
.haske-conference-form input:hover,
.haske-conference-form select:hover,
.haske-conference-form textarea:hover,
.haske-manage-form input:hover { border-color: var(--haske-gold); }
.haske-conference-submit { min-height: 50px; }
.haske-conference-status,
.haske-manage-status { min-height: 20px; margin: 12px 0 0; color: var(--haske-muted); font-size: 12px; font-weight: 700; }
.haske-conference-status.is-success,
.haske-manage-status.is-success { color: var(--haske-burgundy); }
.haske-conference-status.is-error,
.haske-manage-status.is-error { color: var(--haske-burgundy); }

.haske-booking-essentials article {
  height: 100%;
  min-height: 215px;
  padding: 27px;
  border: 1px solid var(--haske-border);
  border-radius: 10px;
  background: var(--haske-surface);
}
.haske-booking-essentials article > i { display: grid; width: 42px; height: 42px; margin-bottom: 18px; place-items: center; border-radius: 50%; background: var(--haske-black); color: var(--haske-gold); font-size: 17px; }
.haske-booking-essentials h3 { margin-bottom: 8px; color: var(--haske-black); font-size: 21px; }
.haske-booking-essentials p { margin: 0; font-size: 14px; }

.haske-manage-reservation { position: relative; }
.haske-manage-help { display: grid; margin: 28px 0; padding: 0; gap: 12px; list-style: none; }
.haske-manage-help li { display: grid; padding: 14px 0; align-items: start; gap: 12px; grid-template-columns: 22px minmax(0, 1fr); border-bottom: 1px solid var(--haske-border); }
.haske-manage-help i { color: var(--haske-bronze); font-size: 18px; }
.haske-manage-help span { color: var(--haske-body); font-size: 14px; }
.haske-text-link { color: var(--haske-bronze); font-weight: 800; }
.haske-text-link:hover { color: var(--haske-burgundy); }
.haske-manage-form {
  position: relative;
  display: grid;
  padding: 34px;
  gap: 10px;
  border: 1px solid var(--haske-border);
  border-top: 4px solid var(--haske-gold);
  border-radius: 12px;
  background: var(--haske-surface);
  box-shadow: 0 18px 55px rgba(17,16,14,.09);
}
.haske-manage-form small { margin: -3px 0 7px; color: var(--haske-muted); font-size: 11px; }
.haske-manage-form button { min-height: 50px; margin-top: 8px; }
.haske-manage-form button:disabled { opacity: .65; cursor: wait; }
.haske-manage-result {
  margin-top: 18px;
  padding: 28px;
  border-radius: 12px;
  background: var(--haske-black);
  color: var(--haske-surface);
}
.haske-manage-result[hidden] { display: none; }
.haske-manage-result__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.haske-manage-result__top > div { display: grid; gap: 3px; }
.haske-manage-result__top span { color: #cfc5b8; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.haske-manage-result__top strong { color: var(--haske-gold); font: 400 23px/1.2 "Gilda Display", serif; }
.haske-status-pill { display: inline-flex; padding: 7px 9px; border: 1px solid rgba(189,148,90,.5); border-radius: 999px; color: #f8f4ec !important; font-size: 9px !important; text-align: center; }
.haske-manage-result dl { display: grid; margin: 24px 0 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); }
.haske-manage-result dl > div { padding: 12px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.haske-manage-result dt { color: #cfc5b8; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.haske-manage-result dd { margin: 4px 0 0; color: #fff; font-size: 13px; font-weight: 700; }
.haske-manage-result > p { color: #d8d0c4; font-size: 12px; }
.haske-manage-result .button-3 { display: inline-flex; min-height: 48px; align-items: center; gap: 8px; }

body .rixos-wrap .rixos-menu-footer {
  margin-top: auto;
  padding-top: 20px;
}
.haske-drawer-book {
  position: relative;
  display: grid;
  width: 100%;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  margin: 0;
  padding: 12px 17px;
  align-items: center;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 20px;
  border: 1px solid #bd945a;
  border-radius: 10px;
  background: #bd945a;
  color: var(--haske-ink) !important;
  box-sizing: border-box;
  font-family: "Urbanist", sans-serif;
  font-size: 12px;
  font-weight: 900;
  line-height: normal;
  letter-spacing: .1em;
  text-transform: uppercase;
  background-image: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  box-shadow: none;
  contain: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.haske-drawer-book::before,
.haske-drawer-book::after { content: none !important; }
.haske-drawer-book:hover,
.haske-drawer-book:focus-visible,
.haske-drawer-book:active {
  display: grid;
  width: 100%;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  margin: 0;
  padding: 12px 17px;
  align-items: center;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 20px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--haske-burgundy);
  border-radius: 10px;
  background-color: var(--haske-burgundy);
  background-image: none !important;
  color: #fff !important;
  box-sizing: border-box;
  font-family: "Urbanist", sans-serif;
  font-size: 12px;
  font-weight: 900;
  line-height: normal;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.haske-drawer-book > span,
.haske-drawer-book > i,
.haske-drawer-book:hover > span,
.haske-drawer-book:hover > i {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.haske-drawer-book > span {
  display: block;
  min-width: 0;
  margin: 0;
  line-height: 18px;
  white-space: nowrap;
}
.haske-drawer-book > i {
  display: grid;
  width: 20px;
  height: 20px;
  margin: 0;
  place-items: center;
  font-size: 13px;
  line-height: 20px;
}
.haske-drawer-footer-label { margin: 20px 0 9px; }
.haske-drawer-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(189,148,90,.32);
  border-radius: 12px;
  background: var(--haske-burgundy);
}
.haske-drawer-actions a {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(189,148,90,.72);
  border-radius: 10px;
  background: transparent;
  color: var(--haske-canvas) !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.haske-drawer-actions a i { color: #bd945a; font-size: 15px; }
.haske-drawer-actions a:last-child i { color: #d7b77a; }
.haske-drawer-actions a:hover { border-color: var(--haske-gold); background: var(--haske-burgundy-deep); color: #fff !important; }

/* Booking policy and explicit acceptance */
.haske-terms-accept {
  display: grid;
  margin: 19px 0 14px;
  padding: 15px;
  align-items: start;
  gap: 12px;
  grid-template-columns: 20px minmax(0, 1fr);
  border: 1px solid var(--haske-border);
  border-radius: 9px;
  background: var(--haske-canvas);
  cursor: pointer;
}
.haske-terms-accept input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--haske-burgundy); }
.haske-terms-accept span { color: var(--haske-body); font-size: 12px; font-weight: 500; line-height: 1.55; text-transform: none; }
.haske-terms-accept strong { color: var(--haske-ink); }
.haske-terms-accept a { color: var(--haske-bronze); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.haske-policy { background: var(--haske-canvas); }
.haske-policy-intro { margin-bottom: 24px; padding: 34px; border-left: 5px solid var(--haske-gold); border-radius: 0 12px 12px 0; background: var(--haske-black); }
.haske-policy-intro > span { color: #d7b77a; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.haske-policy-intro :is(h1, h2) { margin: 8px 0; color: #fff; font-size: clamp(30px, 4vw, 50px); }
.haske-policy-intro p { margin: 0; color: #d8d0c4; }
.haske-policy-nav { display: flex; margin: 0 0 28px; padding: 10px; gap: 7px; overflow-x: auto; border: 1px solid var(--haske-border); border-radius: 9px; background: var(--haske-surface); }
.haske-policy-nav a { flex: 0 0 auto; min-height: 40px; padding: 10px 13px; border-radius: 6px; color: var(--haske-ink); font-size: 11px; font-weight: 800; }
.haske-policy-nav a:hover { background: var(--haske-burgundy); color: #fff; }
.haske-policy main,
.haske-policy section { scroll-margin-top: 110px; }
.haske-policy main > section,
.haske-policy .col-lg-9 > section { padding: 28px 4px; border-bottom: 1px solid var(--haske-border); }
.haske-policy section h2 { margin-bottom: 12px; color: var(--haske-black); font-size: 28px; }
.haske-policy section p { margin-bottom: 10px; }
.haske-policy-action { display: flex; margin-top: 30px; align-items: center; gap: 20px; }
.haske-policy-review { display: flex; margin-top: 28px; padding: 16px; gap: 10px; border-radius: 8px; background: var(--haske-burgundy-soft); color: var(--haske-burgundy); font-size: 12px; }

/* Private HASKE management portal */
.haske-staff-page { min-height: 100vh; background: #eee9e0; color: var(--haske-ink); font-family: "Urbanist", sans-serif; }
.haske-staff-page p,
.haske-staff-page label,
.haske-staff-page input,
.haske-staff-page select,
.haske-staff-page button { font-family: "Urbanist", sans-serif; }
.haske-staff-login { display: grid; min-height: 100vh; grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr); }
.haske-staff-login__brand { display: flex; padding: clamp(38px, 6vw, 86px); flex-direction: column; justify-content: space-between; background: linear-gradient(145deg, var(--haske-black), #241f1a); color: #fff; }
.haske-staff-brand { display: inline-flex; align-items: center; gap: 11px; color: #fff !important; text-decoration: none; }
.haske-staff-brand img { object-fit: contain; }
.haske-staff-brand span { display: grid; gap: 1px; }
.haske-staff-brand strong { color: inherit; font-size: 14px; letter-spacing: .12em; }
.haske-staff-brand small { color: #d7b77a; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.haske-staff-eyebrow { color: var(--haske-bronze); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.haske-staff-login__brand h1 { max-width: 540px; margin: 12px 0 18px; color: #fff; font-size: clamp(45px, 6vw, 76px); line-height: .98; }
.haske-staff-login__brand p { max-width: 520px; color: #d8d0c4; font-size: 16px; }
.haske-staff-login__brand ul { display: grid; margin: 45px 0 0; padding: 0; gap: 12px; list-style: none; }
.haske-staff-login__brand li { display: flex; align-items: center; gap: 12px; color: #eee8dd; font-size: 13px; }
.haske-staff-login__brand li i { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(189,148,90,.45); border-radius: 50%; color: var(--haske-gold); }
.haske-staff-login__panel { display: flex; padding: 40px; align-items: center; justify-content: center; flex-direction: column; background: var(--haske-canvas); }
.haske-staff-login-card { width: min(480px, 100%); padding: 42px; border: 1px solid var(--haske-border); border-radius: 16px; background: var(--haske-surface); box-shadow: 0 24px 75px rgba(17,16,14,.12); }
.haske-staff-lock { display: grid; width: 52px; height: 52px; margin-bottom: 22px; place-items: center; border-radius: 12px; background: var(--haske-black); color: var(--haske-gold); font-size: 19px; }
.haske-staff-login-card h2 { margin-bottom: 8px; color: var(--haske-black); font-size: 36px; }
.haske-staff-login-card > p { color: var(--haske-muted); }
#staff-signin-actions { display: grid; margin-top: 24px; gap: 12px; }
#staff-signin-actions[hidden],
.haske-staff-activation[hidden] { display: none; }
.haske-staff-signin { display: flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px; }
#staff-signin-actions small { color: var(--haske-muted); font-size: 10px; line-height: 1.5; text-align: center; }
.haske-staff-activation { display: grid; margin-top: 24px; gap: 16px; }
.haske-staff-activation label { display: block; margin-bottom: 6px; color: var(--haske-ink); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.haske-staff-activation input,
.haske-staff-activation select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--haske-border); border-radius: 7px; background: #fff; color: var(--haske-ink); font-weight: 700; }
.haske-staff-activation button { min-height: 50px; }
.haske-staff-activation button:disabled { opacity: .6; cursor: wait; }
#staff-login-status { min-height: 18px; margin: 0; color: var(--haske-muted); font-size: 11px; font-weight: 800; }
#staff-login-status.is-success { color: var(--haske-burgundy); }
#staff-login-status.is-error { color: var(--haske-burgundy); }
.haske-staff-security-note { display: grid; margin-top: 24px; padding-top: 18px; align-items: start; gap: 10px; grid-template-columns: 18px 1fr; border-top: 1px solid var(--haske-border); }
.haske-staff-security-note i { color: var(--haske-burgundy); }
.haske-staff-security-note span { color: var(--haske-muted); font-size: 10px; line-height: 1.5; }
.haske-staff-back { margin-top: 20px; color: var(--haske-bronze); font-size: 11px; font-weight: 800; }

.haske-dashboard { display: grid; min-height: 100vh; grid-template-columns: 245px minmax(0, 1fr); }
.haske-dashboard-nav { position: sticky; top: 0; display: flex; height: 100vh; padding: 28px 18px 20px; flex-direction: column; background: var(--haske-black); }
.haske-dashboard-nav nav { display: grid; margin-top: 45px; gap: 7px; }
.haske-dashboard-nav nav button { display: flex; min-height: 46px; padding: 0 13px; align-items: center; gap: 11px; border: 0; border-radius: 8px; background: transparent; color: #cfc7bb; font-size: 12px; font-weight: 750; text-align: left; cursor: pointer; }
.haske-dashboard-nav nav button i { width: 18px; color: var(--haske-gold); text-align: center; }
.haske-dashboard-nav nav button:hover,
.haske-dashboard-nav nav button.active { background: var(--haske-burgundy); color: #fff; }
.haske-dashboard-user { display: grid; margin-top: auto; padding: 15px; gap: 3px; border: 1px solid rgba(189,148,90,.27); border-radius: 10px; background: rgba(255,255,255,.04); }
.haske-dashboard-user > span { color: #fff; font-size: 12px; font-weight: 900; }
.haske-dashboard-user > small { color: #bdb4a8; font-size: 9px; }
.haske-dashboard-user a { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.1); color: var(--haske-gold); font-size: 10px; font-weight: 800; }
.haske-dashboard-main { min-width: 0; padding: 34px clamp(20px, 4vw, 55px) 60px; background: #eee9e0; }
.haske-dashboard-header { display: flex; margin-bottom: 20px; align-items: flex-end; justify-content: space-between; gap: 24px; }
.haske-dashboard-header h1 { margin: 7px 0 3px; color: var(--haske-black); font-size: clamp(34px, 4vw, 52px); }
.haske-dashboard-header p { margin: 0; color: var(--haske-muted); font-size: 13px; }
.haske-dashboard-controls { display: grid; min-width: 230px; grid-template-columns: 1fr 42px; gap: 7px; }
.haske-dashboard-controls label { grid-column: 1 / -1; color: var(--haske-muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.haske-dashboard-controls select,
.haske-dashboard-controls button,
.haske-table-tools input,
.haske-table-tools select { min-height: 42px; border: 1px solid var(--haske-border); border-radius: 7px; background: var(--haske-surface); color: var(--haske-ink); font-size: 11px; font-weight: 750; }
.haske-dashboard-controls select,
.haske-table-tools input,
.haske-table-tools select { padding: 0 11px; }
.haske-dashboard-controls button { color: var(--haske-bronze); cursor: pointer; }
.haske-dashboard-controls button:hover { background: var(--haske-burgundy); color: #fff; }
.haske-dashboard-alert { min-height: 18px; margin: 0 0 14px; color: var(--haske-muted); font-size: 10px; font-weight: 800; }
.haske-dashboard-alert.is-success { color: var(--haske-burgundy); }
.haske-dashboard-alert.is-error { color: var(--haske-burgundy); }
.haske-dashboard-view:not(.active) { display: none; }
.haske-metric-grid { display: grid; margin-bottom: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.haske-metric-grid article { position: relative; display: grid; min-height: 145px; padding: 20px; align-content: start; border: 1px solid var(--haske-border); border-radius: 11px; background: var(--haske-surface); overflow: hidden; }
.haske-metric-grid article > i { position: absolute; top: 18px; right: 18px; color: var(--haske-gold); font-size: 18px; }
.haske-metric-grid article > span { color: var(--haske-muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.haske-metric-grid article > strong { margin: 15px 0 4px; color: var(--haske-black); font: 400 clamp(25px, 3vw, 38px)/1 "Gilda Display", serif; }
.haske-metric-grid article > small { color: var(--haske-muted); font-size: 9px; line-height: 1.35; }
.haske-dashboard-grid { display: grid; margin-bottom: 18px; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 18px; }
.haske-dashboard-card { min-width: 0; margin-bottom: 18px; padding: 22px; border: 1px solid var(--haske-border); border-radius: 12px; background: var(--haske-surface); }
.haske-card-heading { display: flex; margin-bottom: 20px; align-items: center; justify-content: space-between; gap: 16px; }
.haske-card-heading > div:first-child { display: grid; gap: 2px; }
.haske-card-heading span { color: var(--haske-bronze); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.haske-card-heading h2 { margin: 0; color: var(--haske-black); font-size: 23px; }
.haske-live-pill { padding: 7px 9px; border-radius: 999px; background: var(--haske-burgundy-soft); color: var(--haske-burgundy) !important; }
.haske-card-heading--chart { margin-bottom: 12px; }
.haske-chart-metrics { display: inline-flex; margin-bottom: 4px; padding: 3px; gap: 3px; border: 1px solid var(--haske-border); border-radius: 8px; background: var(--haske-canvas); }
.haske-chart-metrics button { min-height: 31px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; color: var(--haske-muted); font-size: 8px; font-weight: 900; letter-spacing: .04em; cursor: pointer; }
.haske-chart-metrics button:hover,
.haske-chart-metrics button.active { background: var(--haske-burgundy); color: #fff; }
.haske-chart { position: relative; display: flex; min-height: 270px; padding: 22px 5px 12px; align-items: flex-end; justify-content: flex-start; gap: 7px; overflow-x: auto; border-bottom: 1px solid var(--haske-border); scrollbar-color: rgba(189,148,90,.55) transparent; }
.haske-chart-column { display: grid; min-width: 42px; height: 225px; padding: 4px 3px; flex: 1 0 42px; align-items: end; justify-items: center; gap: 7px; border: 0; border-radius: 7px; background: transparent; cursor: pointer; }
.haske-chart-column:hover,
.haske-chart-column.active { background: var(--haske-burgundy-soft); }
.haske-chart-column:focus-visible { outline: 2px solid var(--haske-burgundy) !important; outline-offset: -2px !important; }
.haske-chart-bars { display: flex; width: min(36px, 100%); height: 185px; align-items: flex-end; justify-content: center; }
.haske-chart-bars span { display: block; width: 72%; min-height: 2px; border-radius: 5px 5px 1px 1px; transition: height 220ms ease, background-color 180ms ease; }
.haske-chart-bars .metric-requests { background: var(--haske-gold); }
.haske-chart-bars .metric-confirmed { background: var(--haske-burgundy); }
.haske-chart-bars .metric-value { background: var(--haske-burgundy); }
.haske-chart-column small { color: var(--haske-muted); font-size: 8px; white-space: nowrap; }
.haske-chart-detail { min-height: 18px; margin: 12px 0 0; color: var(--haske-muted); font-size: 9px; line-height: 1.45; }
.haske-operation-performance { display: grid; gap: 9px; }
.haske-operation-row { display: grid; width: 100%; padding: 11px; gap: 7px; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid var(--haske-border); border-radius: 8px; background: var(--haske-canvas); text-align: left; cursor: pointer; }
.haske-operation-row:hover,
.haske-operation-row.active { border-color: var(--haske-burgundy); background: var(--haske-burgundy-soft); }
.haske-operation-row strong { color: var(--haske-ink); font-size: 11px; }
.haske-operation-row > span { color: var(--haske-burgundy); font-size: 11px; font-weight: 900; }
.haske-operation-row small { grid-column: 1 / -1; color: var(--haske-muted); font-size: 8px; }
.haske-operation-row .haske-progress { grid-column: 1 / -1; }
.haske-branch-performance { display: grid; gap: 17px; }
.haske-branch-performance > div { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; }
.haske-branch-performance strong { color: var(--haske-ink); font-size: 12px; }
.haske-branch-performance small { display: block; color: var(--haske-muted); font-size: 8px; }
.haske-branch-performance > div > span { color: var(--haske-burgundy); font-size: 12px; font-weight: 900; }
.haske-progress { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 999px; background: #e4ddd2; }
.haske-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--haske-gold), var(--haske-burgundy)); }
.haske-view-link { border: 0; background: transparent; color: var(--haske-bronze); font-size: 10px; font-weight: 900; cursor: pointer; }
.haske-table-wrap { width: 100%; overflow-x: auto; }
.haske-table-wrap table { width: 100%; min-width: 760px; border-collapse: collapse; }
.haske-table-wrap th { padding: 9px 10px; border-bottom: 1px solid var(--haske-border); color: var(--haske-muted); font-size: 8px; font-weight: 900; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.haske-table-wrap td { padding: 13px 10px; border-bottom: 1px solid #ebe4d9; color: var(--haske-body); font-size: 10px; vertical-align: top; }
.haske-table-wrap td strong { color: var(--haske-ink); font-size: 10px; }
.haske-table-wrap td small { display: block; margin-top: 3px; color: var(--haske-muted); font-size: 8px; line-height: 1.35; }
.haske-table-wrap td a { color: var(--haske-burgundy); }
.haske-booking-status { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: #ece6dc; color: var(--haske-body); font-size: 7px; font-weight: 900; text-transform: uppercase; }
.haske-booking-status.status-confirmed,
.haske-booking-status.status-checked_in,
.haske-booking-status.status-checked_out { background: var(--haske-burgundy-soft); color: var(--haske-burgundy); }
.haske-booking-status.status-cancelled,
.haske-booking-status.status-no_show { background: var(--haske-burgundy-soft); color: var(--haske-burgundy); }
.haske-card-heading--tools { align-items: flex-end; }
.haske-table-tools { display: flex; gap: 7px; }
.haske-table-tools input { width: 210px; }
.haske-status-editor { display: grid; min-width: 210px; grid-template-columns: 1fr 58px; gap: 5px; }
.haske-status-editor select,
.haske-status-editor input,
.haske-status-editor button { min-height: 34px; border: 1px solid var(--haske-border); border-radius: 5px; background: #fff; color: var(--haske-ink); font-size: 8px; }
.haske-status-editor select { padding: 0 7px; }
.haske-status-editor input { grid-column: 1 / -1; padding: 0 7px; }
.haske-status-editor button { grid-column: 2; grid-row: 1; border-color: var(--haske-gold); background: var(--haske-gold); font-weight: 900; cursor: pointer; }
.haske-status-editor button:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff; }
.haske-privacy-banner { display: grid; margin-bottom: 18px; padding: 16px 18px; align-items: center; gap: 13px; grid-template-columns: 28px 1fr; border-radius: 10px; background: var(--haske-burgundy); color: #fff; }
.haske-privacy-banner i { color: var(--haske-gold); font-size: 20px; }
.haske-privacy-banner div { display: grid; gap: 2px; }
.haske-privacy-banner strong { color: #fff; font-size: 11px; }
.haske-privacy-banner span { color: rgba(255,253,248,.78); font-size: 9px; }
.haske-integration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.haske-integration-grid article { min-height: 230px; padding: 28px; border: 1px solid var(--haske-border); border-radius: 12px; background: var(--haske-surface); }
.haske-integration-grid article > i { color: var(--haske-gold); font-size: 26px; }
.haske-integration-grid article > span { display: block; width: fit-content; margin: 22px 0 7px; padding: 5px 7px; border-radius: 999px; background: var(--haske-burgundy-soft); color: var(--haske-burgundy); font-size: 7px; font-weight: 900; text-transform: uppercase; }
.haske-integration-grid h2 { color: var(--haske-black); font-size: 24px; }
.haske-integration-grid p { color: var(--haske-muted); font-size: 12px; }
.haske-empty-state { color: var(--haske-muted); font-size: 11px; text-align: center; }

.rixos-header .haske-drawer-toggle,
.rixos-header.scrolled .haske-drawer-toggle {
  position: relative !important;
  top: auto !important;
  right: auto;
  display: grid !important;
  float: none;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px;
  margin: 0;
  padding: 0 !important;
  place-items: center;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  cursor: pointer;
  transition: none;
}
.rixos-header .rixos-wrap-burger-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.rixos-header .haske-drawer-toggle:hover,
.rixos-header .haske-drawer-toggle.active { border: 0 !important; background: transparent !important; }
.haske-drawer-toggle__lines {
  display: flex;
  width: 28px;
  height: 16px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}
.haske-drawer-toggle__lines > span {
  display: block;
  height: 1.5px;
  border-radius: 2px;
  background: #bd945a;
  box-shadow: none;
  transform-origin: center;
  transition: width 240ms ease, transform 240ms ease, opacity 240ms ease, background 240ms ease;
}
.haske-drawer-toggle__lines > span:nth-child(1) { width: 28px; }
.haske-drawer-toggle__lines > span:nth-child(2) { width: 18px; }
.haske-drawer-toggle__lines > span:nth-child(3) { width: 23px; }
.haske-drawer-toggle:hover .haske-drawer-toggle__lines > span,
.haske-drawer-toggle.active .haske-drawer-toggle__lines > span { background: var(--haske-burgundy); }
.haske-drawer-toggle.active .haske-drawer-toggle__lines > span:nth-child(1) { width: 24px; transform: translateY(7.25px) rotate(45deg); }
.haske-drawer-toggle.active .haske-drawer-toggle__lines > span:nth-child(2) { opacity: 0; transform: scaleX(.35); }
.haske-drawer-toggle.active .haske-drawer-toggle__lines > span:nth-child(3) { width: 24px; transform: translateY(-7.25px) rotate(-45deg); }
.haske-drawer-toggle:focus-visible,
.haske-drawer-close:focus-visible,
.haske-submenu-toggle:focus-visible,
.haske-drawer-book:focus-visible,
.haske-drawer-actions a:focus-visible { outline: 2px solid #d7b77a !important; outline-offset: 3px; }

@supports (height: 100dvh) {
  body .rixos-wrap { min-height: 100dvh; height: 100dvh; }
}

@media (max-width: 991px) {
  .rixos-header .row { min-height: 70px; }
  .rixos-header .rixos-logo { gap: 6px; font-size: 14px; }
  .rixos-header .rixos-logo img { width: 36px; height: 36px; max-width: 36px; }
  .rixos-header .haske-logo-mark { width: 36px; height: 36px; flex-basis: 36px; }
  .rixos-header .rixos-logo-wrap { left: 50% !important; }
  .header-tools-wrap { right: max(4px, env(safe-area-inset-right)); }
  .header-booking-tool { padding: 0 9px; }
  .haske-preferences-summary__word { display: none; }
  .haske-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .haske-trust-item:nth-child(2) { border-right: 0; }
  .haske-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--haske-border); }
  .haske-discover-stack { margin-top: 18px; grid-template-rows: auto; }
  .haske-video-card { min-height: 430px; }
  .budget-estimator-experience { grid-template-columns: 1fr; }
  .budget-estimator-copy { text-align: center; margin-inline: auto; }
  .budget-estimator-copy > p { margin-inline: auto; }
  .budget-estimator-benefits { justify-content: center; }
  .haske-staff-login { grid-template-columns: 1fr; }
  .haske-staff-login__brand { min-height: 540px; }
  .haske-dashboard { grid-template-columns: 76px minmax(0, 1fr); }
  .haske-dashboard-nav { padding-inline: 12px; }
  .haske-dashboard-nav .haske-staff-brand span,
  .haske-dashboard-nav nav button { font-size: 0; }
  .haske-dashboard-nav nav button { justify-content: center; }
  .haske-dashboard-nav nav button i { font-size: 16px; }
  .haske-dashboard-user > span,
  .haske-dashboard-user > small { display: none; }
  .haske-dashboard-user { padding: 10px 5px; text-align: center; }
  .haske-dashboard-user a { font-size: 0; }
  .haske-dashboard-user a i { font-size: 14px; }
  .haske-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .haske-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
  .rixos-header .rixos-logo-wrap { left: 50% !important; max-width: none; }
  .rixos-header .rixos-logo { gap: 4px; font-size: 11.5px; letter-spacing: .1em; }
  .rixos-header .rixos-logo img { width: 30px; height: 30px; max-width: 30px; }
  .rixos-header .haske-logo-mark { width: 30px; height: 30px; flex-basis: 30px; }
  .rixos-header .rixos-wrap-burger-wrap { width: 56px; }
  .rixos-header .haske-drawer-toggle,
  .rixos-header.scrolled .haske-drawer-toggle { width: 48px !important; height: 48px !important; }
  body .rixos-wrap .rixos-wrap-inner { padding: 22px 22px 20px; }
  .haske-drawer-header { min-height: 88px; padding: 16px 18px; }
  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > button { min-height: 48px; padding-top: 13px; padding-bottom: 13px; font-size: 14px; }
  .header-tools-wrap { right: max(2px, env(safe-area-inset-right)); }
  .haske-header-tools { gap: 3px; }
  .haske-preferences > summary { width: 58px; min-width: 58px; min-height: 34px; padding: 0 6px; gap: 4px; }
  .haske-preferences-summary__currency { min-width: 14px; font-size: 15px; }
  .haske-preferences-summary__divider { height: 13px; }
  .haske-preferences-summary__language { font-size: 10px; }
  .haske-preferences-summary__chevron { display: none; }
  .haske-preferences-panel { right: 0; width: min(286px, calc(100vw - 12px)); padding: 11px; }
  .haske-header-tools .header-booking-tool { width: 68px; min-width: 68px; min-height: 34px; height: 34px; padding: 0 6px; font-size: 10px; letter-spacing: .01em; }
  .header-booking-tool i { display: none; }
  .haske-header-tools .header-select-tool,
  .haske-header-tools .header-profile-tool { min-width: 34px; width: 34px; height: 36px; padding: 0 3px; }
  .haske-header-tools .language-tool { min-width: 36px; width: 36px; }
  .haske-trust-grid { grid-template-columns: 1fr; }
  .haske-trust-item { border-right: 0; border-bottom: 1px solid var(--haske-border); padding-inline: 8px; }
  .haske-trust-item:last-child { border-bottom: 0; }
  .haske-results-toolbar { align-items: stretch; flex-direction: column; }
  .haske-sort { min-width: 0; }
  .facilities2 ul.tab-buttons { display: flex; flex-wrap: nowrap; justify-content: flex-start; }
  .facilities2 ul.tab-buttons li.tab-btn { width: auto !important; min-height: 68px; max-width: none !important; border-bottom: 1px solid var(--haske-border); flex: 0 0 155px !important; }
  .facilities2 ul.tab-buttons li.tab-btn span { min-height: 68px; padding: 14px 10px; font-size: 15px; }
  .home-amenities .item { min-height: 185px; }
  .haske-video-card { min-height: 370px; }
  .haske-video-card__content { padding: 28px; }
  .haske-review-card, .haske-journal-card { padding: 23px; }
  .preferred-branch-badge { top: 10px; right: 10px; padding: 7px 10px; font-size: 9px; }
  .haske-room-showcase { padding: 58px 0 64px; }
  .haske-room-showcase .owl-item .item { opacity: .28; transform: scale(.94) !important; }
  .haske-room-showcase .owl-item.center .item { opacity: 1; transform: scale(1) !important; }
  .haske-room-showcase .owl-theme .owl-nav { width: calc(100% - 12px); }
  .haske-room-showcase .owl-theme .owl-nav [class*="owl-"] { width: 42px; height: 42px; }
  .budget-estimator-section { padding: 58px 0; }
  .budget-estimator-copy h2 { font-size: 42px; }
  .budget-estimator-form { padding: 22px; }
  .budget-estimator-card-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
  .budget-estimator-controls { grid-template-columns: 1fr; }
  .budget-estimator-form .btn-form1-submit { width: 100%; }
  .footer-brand-promise { max-width: none; }
  .haske-conference-form,
  .haske-manage-form,
  .haske-manage-result { padding: 22px; }
  .haske-conference-form label { font-size: 12px; }
  .haske-conference-form input,
  .haske-conference-form select,
  .haske-conference-form textarea { font-size: 16px; }
  .haske-hall-match { padding: 15px; gap: 11px; grid-template-columns: 38px minmax(0, 1fr); }
  .haske-hall-match__icon { width: 38px; height: 38px; font-size: 16px; }
  .haske-hall-match__title { font-size: 21px; }
  .haske-hall-match__facts { align-items: flex-start; flex-direction: column; }
  .haske-conference-submit { width: 100%; }
  .haske-venue-card h3 { padding: 14px 16px 12px 29px; font-size: 18px; }
  .haske-venue-card h3::before { left: 16px; }
  .haske-venue-card.is-capacity-match::after { display: none; }
  .haske-venue-card dl > div { min-height: 44px; padding: 9px 16px; gap: 12px; }
  .haske-venue-card__price dd { font-size: 20px; }
  .haske-manage-result__top { flex-direction: column; }
  .haske-manage-result dl { grid-template-columns: 1fr; }
  .haske-policy-intro { padding: 24px; }
  .haske-policy-action { align-items: flex-start; flex-direction: column; }
  .haske-staff-login__brand { min-height: 500px; padding: 32px 24px; }
  .haske-staff-login__brand h1 { font-size: 48px; }
  .haske-staff-login__panel { padding: 28px 14px; }
  .haske-staff-login-card { padding: 28px 22px; }
  .haske-dashboard { display: block; }
  .haske-dashboard-nav { position: sticky; z-index: 20; top: 0; width: 100%; height: auto; padding: 10px 14px; flex-direction: row; align-items: center; gap: 12px; }
  .haske-dashboard-nav .haske-staff-brand img { width: 34px; height: 34px; }
  .haske-dashboard-nav nav { display: flex; margin: 0; flex: 1; justify-content: center; gap: 3px; }
  .haske-dashboard-nav nav button { width: 40px; min-height: 40px; padding: 0; justify-content: center; }
  .haske-dashboard-user { margin: 0; border: 0; background: transparent; }
  .haske-dashboard-main { padding: 24px 13px 50px; }
  .haske-dashboard-header { align-items: stretch; flex-direction: column; }
  .haske-dashboard-controls { width: 100%; }
  .haske-metric-grid { grid-template-columns: 1fr; }
  .haske-card-heading--tools { align-items: stretch; flex-direction: column; }
  .haske-table-tools { flex-direction: column; }
  .haske-table-tools input { width: 100%; }
  .haske-integration-grid { grid-template-columns: 1fr; }
}

@media (max-width: 400px) {
  .haske-header-tools .header-booking-tool { width: 64px; min-width: 64px; padding-inline: 4px; font-size: 9px; }
  .haske-preferences > summary { width: 52px; min-width: 52px; padding-inline: 4px; }
  .rixos-header .rixos-logo { font-size: 11px; }
  .rixos-header .rixos-logo img { width: 29px; height: 29px; max-width: 29px; }
  .rixos-header .haske-logo-mark { width: 29px; height: 29px; flex-basis: 29px; }
  .haske-preferences-summary__currency { font-size: 14px; }
  .haske-preferences-summary__language { font-size: 9px; }
}

@media (max-width: 340px) {
  .haske-header-tools .header-booking-tool { width: 58px; min-width: 58px; }
  .haske-preferences > summary { width: 48px; min-width: 48px; }
  .rixos-header .rixos-logo { gap: 3px; font-size: 10px; letter-spacing: .08em; }
  .rixos-header .rixos-logo img { width: 27px; height: 27px; max-width: 27px; }
  .rixos-header .haske-logo-mark { width: 27px; height: 27px; flex-basis: 27px; }
}

/* HASKE management portal: burgundy-led hotel interface */
.haske-staff-page {
  --haske-portal-burgundy: #4a2028;
  --haske-portal-burgundy-deep: #2e1117;
  --haske-portal-burgundy-soft: #f4e9eb;
  background: #f4eee5;
}
.haske-portal-topbar {
  position: sticky;
  z-index: 40;
  top: 0;
  display: grid;
  min-height: 78px;
  padding: 0 clamp(18px, 3vw, 46px);
  align-items: center;
  grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
  border-bottom: 1px solid rgba(189,148,90,.55);
  background:
    radial-gradient(circle at 16% 22%, rgba(189,148,90,.07) 0 1px, transparent 1.5px),
    var(--haske-surface);
  background-size: 15px 15px;
  box-shadow: 0 9px 28px rgba(17,16,14,.08);
}
.haske-portal-return {
  display: inline-flex;
  width: fit-content;
  min-height: 40px;
  padding: 0 12px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--haske-border);
  border-radius: 8px;
  color: var(--haske-ink) !important;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.haske-portal-return i { color: var(--haske-gold); }
.haske-portal-return:hover { border-color: var(--haske-portal-burgundy); background: var(--haske-portal-burgundy); color: #fff !important; }
.haske-portal-brand {
  display: inline-flex;
  align-items: center;
  justify-self: center;
  gap: 10px;
  color: var(--haske-ink) !important;
}
.haske-portal-brand img { width: 44px; height: 44px; object-fit: contain; }
.haske-portal-brand > span { display: grid; gap: 2px; }
.haske-portal-brand strong { color: var(--haske-ink); font: 400 18px/1 "Gilda Display", serif; letter-spacing: .13em; white-space: nowrap; }
.haske-portal-brand small { color: var(--haske-bronze); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.haske-secure-access {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 7px;
  color: var(--haske-portal-burgundy);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.haske-secure-access i { color: var(--haske-gold); font-size: 15px; }

.haske-staff-login { min-height: calc(100vh - 78px); grid-template-columns: minmax(320px, .8fr) minmax(480px, 1.2fr); }
.haske-staff-login__brand {
  position: relative;
  min-height: calc(100vh - 78px);
  background:
    linear-gradient(145deg, rgba(74,32,40,.96), rgba(46,17,23,.98)),
    radial-gradient(circle at 18% 20%, rgba(189,148,90,.22), transparent 38%);
  overflow: hidden;
}
.haske-staff-login__brand::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 290px;
  height: 290px;
  border: 1px solid rgba(189,148,90,.24);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(189,148,90,.055), 0 0 0 70px rgba(189,148,90,.035);
}
.haske-staff-portal-label { color: #d7b77a; font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.haske-staff-login__brand h1 { position: relative; z-index: 1; }
.haske-staff-login__brand p,
.haske-staff-login__brand ul { position: relative; z-index: 1; }
.haske-staff-login-card { border-color: rgba(74,32,40,.26); border-top: 4px solid var(--haske-portal-burgundy); box-shadow: 0 28px 78px rgba(46,17,23,.14); }
.haske-staff-lock { background: var(--haske-portal-burgundy); color: var(--haske-gold); }
.haske-staff-page .haske-staff-signin,
.haske-staff-page .haske-staff-activation button { border-color: var(--haske-gold) !important; background: var(--haske-gold) !important; color: var(--haske-black) !important; }
.haske-staff-page .haske-staff-signin:hover,
.haske-staff-page .haske-staff-activation button:hover { border-color: var(--haske-portal-burgundy) !important; background: var(--haske-portal-burgundy) !important; color: #fff !important; }
.haske-staff-security-note i,
.haske-staff-back { color: var(--haske-portal-burgundy); }

.haske-dashboard { display: block; min-height: 100vh; }
.haske-dashboard .haske-portal-topbar { position: sticky; }
.haske-dashboard-user {
  display: grid;
  margin: 0;
  padding: 0;
  justify-self: end;
  align-items: center;
  gap: 1px 9px;
  grid-template-columns: minmax(0, 1fr) 38px;
  border: 0;
  background: transparent;
  text-align: right;
}
.haske-dashboard-user > span { grid-column: 1; color: var(--haske-ink); font-size: 10px; }
.haske-dashboard-user > small { grid-column: 1; color: var(--haske-muted); font-size: 8px; }
.haske-dashboard-user a {
  display: grid;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  grid-column: 2;
  grid-row: 1 / 3;
  place-items: center;
  border: 1px solid var(--haske-border);
  border-radius: 8px;
  color: var(--haske-portal-burgundy);
}
.haske-dashboard-user a span { display: none; }
.haske-dashboard-user a:hover { border-color: var(--haske-portal-burgundy); background: var(--haske-portal-burgundy); color: #fff; }
.haske-dashboard-tabs {
  position: sticky;
  z-index: 35;
  top: 78px;
  display: flex;
  min-height: 54px;
  padding: 6px clamp(18px, 4vw, 58px);
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-bottom: 1px solid rgba(189,148,90,.65);
  background: linear-gradient(115deg, var(--haske-portal-burgundy-deep), var(--haske-portal-burgundy) 48%, #5b2933);
  box-shadow: 0 8px 24px rgba(46,17,23,.18);
}
.haske-dashboard-tabs button {
  display: inline-flex;
  min-height: 40px;
  padding: 0 17px;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: rgba(255,253,248,.76);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
  cursor: pointer;
}
.haske-dashboard-tabs button i { color: var(--haske-gold); font-size: 13px; }
.haske-dashboard-tabs button:hover,
.haske-dashboard-tabs button.active { border-color: rgba(189,148,90,.58); background: var(--haske-surface); color: var(--haske-portal-burgundy); }
.haske-dashboard-tabs button.active i { color: var(--haske-portal-burgundy); }
.haske-dashboard-main { min-width: 0; padding: 0 0 60px; background: #f4eee5; }
.haske-dashboard-hero {
  min-height: 190px;
  padding: 34px clamp(20px, 4vw, 58px) 54px;
  background:
    radial-gradient(circle at 86% 18%, rgba(189,148,90,.18), transparent 30%),
    linear-gradient(135deg, var(--haske-portal-burgundy) 0%, #38161d 68%, var(--haske-black) 100%);
}
.haske-dashboard-header { max-width: 1400px; margin: 0 auto 17px; }
.haske-dashboard-header h1 { color: #fff; }
.haske-dashboard-header p { color: rgba(255,253,248,.72); }
.haske-dashboard-header .haske-staff-eyebrow { color: #d7b77a; }
.haske-dashboard-controls label { color: #d7b77a; }
.haske-dashboard-controls select,
.haske-dashboard-controls button { border-color: rgba(189,148,90,.5); background: rgba(255,253,248,.96); }
.haske-dashboard-controls button { color: var(--haske-portal-burgundy); }
.haske-dashboard-controls button:hover { border-color: var(--haske-gold); background: var(--haske-gold); color: var(--haske-black); }
.haske-dashboard-hero .haske-dashboard-alert { max-width: 1400px; margin: 0 auto; color: rgba(255,253,248,.7); }
.haske-dashboard-hero .haske-dashboard-alert.is-success { color: #f1d29f; }
.haske-dashboard-hero .haske-dashboard-alert.is-error { color: #ffd6dd; }
.haske-dashboard-view { width: min(1400px, 100%); margin: 0 auto; padding: 28px clamp(18px, 4vw, 58px) 0; }
.haske-dashboard-view[data-view="overview"] { margin-top: -42px; }
.haske-metric-grid article { border-color: rgba(74,32,40,.16); box-shadow: 0 14px 34px rgba(46,17,23,.075); }
.haske-metric-grid article:first-child { border-color: var(--haske-portal-burgundy); background: var(--haske-portal-burgundy); }
.haske-metric-grid article:first-child > span,
.haske-metric-grid article:first-child > strong,
.haske-metric-grid article:first-child > small { color: #fff; }
.haske-metric-grid article:last-child { border-color: var(--haske-black); background: var(--haske-black); }
.haske-metric-grid article:last-child > span,
.haske-metric-grid article:last-child > strong,
.haske-metric-grid article:last-child > small { color: #fff; }
.haske-dashboard-card { border-color: rgba(74,32,40,.16); box-shadow: 0 14px 34px rgba(46,17,23,.055); }
.haske-live-pill { background: var(--haske-portal-burgundy-soft); color: var(--haske-portal-burgundy) !important; }
.haske-chart-metrics button:hover,
.haske-chart-metrics button.active { background: var(--haske-portal-burgundy); }
.haske-chart-column:hover,
.haske-chart-column.active { background: var(--haske-portal-burgundy-soft); }
.haske-chart-column:focus-visible { outline-color: var(--haske-portal-burgundy) !important; }
.haske-chart-bars .metric-requests { background: var(--haske-gold); }
.haske-chart-bars .metric-confirmed { background: var(--haske-portal-burgundy); }
.haske-chart-bars .metric-value { background: var(--haske-black); }
.haske-operation-row:hover,
.haske-operation-row.active { border-color: var(--haske-portal-burgundy); background: var(--haske-portal-burgundy-soft); }
.haske-operation-row > span { color: var(--haske-portal-burgundy); }
.haske-progress i { background: linear-gradient(90deg, var(--haske-gold), var(--haske-portal-burgundy)); }
.haske-view-link,
.haske-table-wrap td a { color: var(--haske-portal-burgundy); }
.haske-status-editor button:hover { border-color: var(--haske-portal-burgundy); background: var(--haske-portal-burgundy); }
.haske-booking-status.status-confirmed,
.haske-booking-status.status-checked_in,
.haske-booking-status.status-checked_out { background: #f2e3ca; color: #5a421f; }
.haske-privacy-banner { background: var(--haske-portal-burgundy); }
.haske-integration-grid article > span { background: var(--haske-portal-burgundy-soft); color: var(--haske-portal-burgundy); }

@media (max-width: 991px) {
  .haske-portal-topbar { grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr); }
  .haske-dashboard-tabs button { padding-inline: 12px; }
  .haske-dashboard-grid { grid-template-columns: 1fr; }
  .haske-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .haske-staff-login { grid-template-columns: 1fr; }
  .haske-staff-login__brand { min-height: 480px; }
}

@media (max-width: 575px) {
  .haske-portal-topbar { min-height: 68px; padding-inline: 12px; grid-template-columns: 42px minmax(0, 1fr) 42px; }
  .haske-portal-return { width: 40px; min-height: 40px; padding: 0; justify-content: center; }
  .haske-portal-return span { display: none; }
  .haske-portal-brand { gap: 6px; }
  .haske-portal-brand img { width: 34px; height: 34px; }
  .haske-portal-brand strong { font-size: 12px; letter-spacing: .1em; }
  .haske-portal-brand small { font-size: 6px; }
  .haske-secure-access { width: 40px; height: 40px; justify-content: center; font-size: 0; }
  .haske-dashboard-user { width: 40px; display: block; }
  .haske-dashboard-user > span,
  .haske-dashboard-user > small { display: none; }
  .haske-dashboard-user a { width: 40px; height: 40px; }
  .haske-dashboard-tabs { top: 68px; min-height: 50px; padding: 5px 10px; justify-content: flex-start; overflow-x: auto; }
  .haske-dashboard-tabs button { min-height: 38px; padding: 0 11px; flex: 0 0 auto; font-size: 8px; }
  .haske-dashboard-main { padding: 0 0 50px; }
  .haske-dashboard-hero { min-height: 250px; padding: 26px 15px 62px; }
  .haske-dashboard-header { align-items: stretch; flex-direction: column; }
  .haske-dashboard-header h1 { font-size: 38px; }
  .haske-dashboard-controls { width: 100%; }
  .haske-dashboard-view { padding: 22px 12px 0; }
  .haske-dashboard-view[data-view="overview"] { margin-top: -46px; }
  .haske-metric-grid { grid-template-columns: 1fr; }
  .haske-card-heading--tools { align-items: stretch; flex-direction: column; }
  .haske-table-tools { flex-direction: column; }
  .haske-table-tools input { width: 100%; }
  .haske-integration-grid { grid-template-columns: 1fr; }
  .haske-staff-login__brand { min-height: 430px; padding: 34px 24px; }
  .haske-staff-login__brand h1 { font-size: 46px; }
}

/* Centered cinematic navigation and restrained public-site forest balance */
.haske-menu-overlay {
  background: rgba(17,16,14,.34);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body .rixos-wrap {
  inset: 50% auto auto 50%;
  width: min(700px, calc(100vw - 16px));
  min-height: 0;
  height: calc(100vh - 16px);
  height: calc(100dvh - 16px);
  max-height: calc(100vh - 16px);
  max-height: calc(100dvh - 16px);
  border: 1px solid rgba(215,183,122,.46);
  border-radius: 20px;
  background-color: rgba(20,43,37,.78) !important;
  background-image:
    radial-gradient(circle at 50% 0, rgba(189,148,90,.18), transparent 38%),
    linear-gradient(150deg, rgba(17,16,14,.84), rgba(74,32,40,.76)) !important;
  background-size: auto !important;
  box-shadow: 0 32px 90px rgba(17,16,14,.34), inset 0 1px 0 rgba(255,255,255,.1);
  opacity: 0;
  visibility: hidden;
  -webkit-backdrop-filter: blur(26px) saturate(125%);
  backdrop-filter: blur(26px) saturate(125%);
  transform: translate(-50%, -47%) scale(.97) !important;
  transition: opacity 260ms ease, visibility 260ms ease, transform 300ms cubic-bezier(.22,.61,.36,1) !important;
}
body .rixos-wrap.rixos-wrap-show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1) !important;
}
.haske-drawer-header {
  position: relative;
  min-height: 62px;
  padding: 10px 72px;
  justify-content: center;
  border-bottom-color: rgba(215,183,122,.24);
  background: rgba(255,253,248,.055);
}
.haske-drawer-brand,
.haske-drawer-brand:hover,
.haske-drawer-brand:focus,
.haske-drawer-brand:active {
  display: inline-flex;
  width: auto;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  padding: 0;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--haske-surface) !important;
  font-family: "Gilda Display", serif;
  font-size: 19px;
  line-height: 1;
  letter-spacing: .13em;
  white-space: nowrap;
}
.haske-drawer-brand > .haske-logo-mark {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
}
.haske-drawer-brand > span:last-child {
  display: block;
  width: auto;
  height: auto;
  color: inherit;
  transform: none !important;
}
.haske-drawer-brand .haske-logo-mark img,
.haske-drawer-brand:hover .haske-logo-mark img,
.haske-drawer-brand:focus .haske-logo-mark img {
  width: 42px;
  height: 42px;
  filter: brightness(0) invert(1) !important;
}
.haske-drawer-close {
  position: absolute;
  top: 10px;
  right: 14px;
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-color: rgba(215,183,122,.5);
  border-radius: 50%;
  background: rgba(255,253,248,.07);
  color: var(--haske-surface);
}
.haske-drawer-close:hover {
  border-color: var(--haske-gold);
  background: var(--haske-forest);
  color: var(--haske-surface);
}
body .rixos-wrap .rixos-wrap-inner {
  width: 100%;
  padding: 18px clamp(26px, 7vw, 72px) 28px;
  align-items: center;
  justify-content: center;
  scrollbar-color: rgba(215,183,122,.45) transparent;
}
.haske-drawer-label,
.haske-drawer-footer-label {
  color: #d7b77a;
  text-align: center;
}
.haske-drawer-label { margin-bottom: 7px; }
body .rixos-wrap .rixos-menu {
  width: min(460px, 100%);
}
body .rixos-wrap .rixos-menu > ul > li {
  border-bottom-color: rgba(215,183,122,.2);
}
body .rixos-wrap .rixos-menu > ul > li > a,
body .rixos-wrap .rixos-menu > ul > li > button {
  min-height: 48px;
  padding: 12px 44px;
  justify-content: center;
  border-radius: 10px;
  color: var(--haske-surface) !important;
  font-family: "Gilda Display", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .07em;
  text-align: center;
  text-transform: none;
}
body .rixos-wrap .rixos-menu > ul > li > a::before,
body .rixos-wrap .rixos-menu > ul > li > button::before { content: none; }
body .rixos-wrap .rixos-menu > ul > li > a:hover,
body .rixos-wrap .rixos-menu > ul > li > button:hover,
body .rixos-wrap .rixos-menu > ul > li > a.active,
body .rixos-wrap .rixos-menu > ul > li > button.active,
body .rixos-wrap .rixos-menu > ul > li.current-section > button {
  background: var(--haske-forest);
  color: var(--haske-surface) !important;
}
.haske-submenu-toggle i {
  position: absolute;
  right: 18px;
  color: #d7b77a;
}
.haske-submenu-toggle[aria-expanded="true"] {
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}
body .rixos-wrap .rixos-menu ul ul {
  display: grid;
  margin: 8px 0 12px !important;
  padding: 8px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  border: 1px solid rgba(215,183,122,.34);
  border-left-width: 1px;
  border-radius: 12px;
  background: rgba(255,253,248,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}
body .rixos-wrap .rixos-menu ul ul[hidden] { display: none !important; }
body .rixos-wrap .rixos-menu ul ul li + li { margin-top: 0; }
body .rixos-wrap .rixos-menu ul ul li a {
  display: flex;
  min-height: 42px;
  padding: 9px 10px;
  align-items: center;
  justify-content: center;
  border-color: rgba(255,253,248,.13);
  border-radius: 8px;
  background: rgba(255,253,248,.9);
  color: var(--haske-ink) !important;
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: .035em;
  text-align: center;
}
body .rixos-wrap .rixos-menu ul ul li a::before { content: none; }
body .rixos-wrap .rixos-menu ul ul li a:hover,
body .rixos-wrap .rixos-menu ul ul li a.active {
  border-color: var(--haske-gold);
  background: var(--haske-forest);
  color: var(--haske-surface) !important;
}
body .rixos-wrap .rixos-menu-footer {
  width: min(460px, 100%);
  margin-top: 18px;
  padding-top: 18px;
  text-align: center;
}
.haske-drawer-book,
.haske-drawer-book:hover,
.haske-drawer-book:focus-visible,
.haske-drawer-book:active {
  border-color: rgba(215,183,122,.76);
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}
.haske-drawer-manage {
  display: inline-flex;
  min-height: 40px;
  margin-top: 7px;
  padding: 7px 13px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 8px;
  color: rgba(255,253,248,.84) !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}
.haske-drawer-manage i { color: #d7b77a; }
.haske-drawer-manage:hover { background: rgba(74,32,40,.72); color: #fff !important; }
.haske-drawer-footer-label { margin: 10px 0 7px; }
.haske-drawer-actions {
  padding: 6px;
  border-color: rgba(215,183,122,.3);
  background: rgba(255,253,248,.07);
}
.haske-drawer-actions a,
.haske-drawer-actions a:hover {
  border-color: rgba(215,183,122,.5);
  background: rgba(255,253,248,.92);
  color: var(--haske-ink) !important;
}
.haske-drawer-actions a:hover { border-color: var(--haske-gold); background: var(--haske-forest); color: var(--haske-surface) !important; }

/* Forest green returns as the public interaction colour; gold remains the signature accent. */
body:not(.haske-staff-page) .button-1:hover,
body:not(.haske-staff-page) .button-2:hover,
body:not(.haske-staff-page) .button-3:hover,
body:not(.haske-staff-page) .btn-form1-submit:hover,
body:not(.haske-staff-page) .booking-system .stepwizard .btn:not(.disabled):hover,
body:not(.haske-staff-page) .haske-room-showcase .button-2:hover,
body:not(.haske-staff-page) .budget-estimator-form .btn-form1-submit:hover {
  border-color: var(--haske-forest) !important;
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}
body:not(.haske-staff-page) .haske-preferences[open] > summary,
body:not(.haske-staff-page) .haske-manage-tool:hover,
body:not(.haske-staff-page) .haske-header-tools .header-select-tool:hover {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: var(--haske-surface) !important;
}
body:not(.haske-staff-page) .haske-manage-tool:hover strong,
body:not(.haske-staff-page) .haske-manage-tool:hover small,
body:not(.haske-staff-page) .haske-manage-tool:hover i { color: var(--haske-surface) !important; }
body:not(.haske-staff-page) .budget-presets button:hover,
body:not(.haske-staff-page) .haske-policy-nav a:hover {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: var(--haske-surface);
}
body:not(.haske-staff-page) .haske-whatsapp-submit,
body:not(.haske-staff-page) .haske-whatsapp-submit:hover,
body:not(.haske-staff-page) .haske-whatsapp-fallback:hover {
  border-color: var(--haske-whatsapp) !important;
  background: var(--haske-surface) !important;
  color: var(--haske-whatsapp) !important;
}
body:not(.haske-staff-page) .facilities2 ul.tab-buttons li.tab-btn.active-btn span {
  border-bottom: 3px solid var(--haske-gold);
  background: var(--haske-forest);
  color: var(--haske-surface);
}

/* Forest green appears in architectural bands, framing and information surfaces. */
body:not(.haske-staff-page) .haske-trust-strip {
  border-top: 3px solid var(--haske-forest);
}
body:not(.haske-staff-page) .haske-breadcrumb {
  border-bottom-color: rgba(74,32,40,.22);
  background: linear-gradient(90deg, var(--haske-forest-soft), var(--haske-surface) 42%, var(--haske-canvas));
}
body:not(.haske-staff-page) .home-amenities {
  border-color: rgba(74,32,40,.18);
  background: radial-gradient(circle at 8% 12%, rgba(74,32,40,.09), transparent 34%), var(--haske-canvas);
}
body:not(.haske-staff-page) .home-amenities .item {
  border-top: 3px solid rgba(74,32,40,.72);
  box-shadow: 0 12px 30px rgba(74,32,40,.055);
}
body:not(.haske-staff-page) .budget-estimator-section::before {
  background: linear-gradient(100deg, var(--haske-forest-deep), rgba(74,32,40,.78) 45%, rgba(17,16,14,.88));
}
body:not(.haske-staff-page) .haske-conference-planner {
  background: linear-gradient(138deg, var(--haske-black) 0%, var(--haske-forest-deep) 100%);
}
body:not(.haske-staff-page) .banner-header[data-overlay-dark]::before {
  background: linear-gradient(115deg, rgba(17,16,14,.92), rgba(74,32,40,.72));
}
body:not(.haske-staff-page) .footer {
  background: radial-gradient(circle at 88% 12%, rgba(74,32,40,.52), transparent 30%), linear-gradient(145deg, var(--haske-black), var(--haske-black-soft)) !important;
}

/* One centered logo lockup across the hotel site and management portal. */
.haske-portal-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: 9px;
  color: var(--haske-ink) !important;
  font-family: "Gilda Display", serif;
  font-size: 19px;
  line-height: 1;
  letter-spacing: .13em;
  white-space: nowrap;
}
.haske-portal-brand > .haske-logo-mark {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
}
.haske-portal-brand > span:last-child { display: block; color: inherit; }
.haske-portal-brand .haske-logo-mark img { width: 42px; height: 42px; object-fit: contain; filter: none; }

@media (max-width: 575px) {
  body .rixos-wrap {
    width: calc(100vw - 8px);
    height: calc(100vh - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100vh - 8px);
    max-height: calc(100dvh - 8px);
    border-radius: 16px;
  }
  .haske-drawer-header { min-height: 62px; padding: 10px 58px; }
  .haske-drawer-close { top: 10px; right: 10px; width: 40px; height: 40px; }
  .haske-drawer-brand,
  .haske-drawer-brand:hover,
  .haske-drawer-brand:focus,
  .haske-drawer-brand:active { gap: 4px; font-size: 11.5px; letter-spacing: .1em; }
  .haske-drawer-brand > .haske-logo-mark,
  .haske-drawer-brand .haske-logo-mark img { width: 30px; height: 30px; flex-basis: 30px; }
  body .rixos-wrap .rixos-wrap-inner { padding: 14px 18px 20px; }
  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > button { min-height: 46px; padding: 11px 38px; font-size: 16px; }
  body .rixos-wrap .rixos-menu ul ul { grid-template-columns: 1fr; }
  body .rixos-wrap .rixos-menu ul ul li a { min-height: 40px; }
  .haske-drawer-actions { grid-template-columns: 1fr 1fr; }
  .haske-portal-brand { gap: 4px; font-size: 11.5px; letter-spacing: .1em; }
  .haske-portal-brand > .haske-logo-mark,
  .haske-portal-brand .haske-logo-mark img { width: 30px; height: 30px; flex-basis: 30px; }
}

/* Horizontal collection menu: a light, transparent hotel directory instead of a vertical drawer. */
.haske-menu-overlay {
  background: rgba(17,16,14,.28);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
body .rixos-wrap {
  inset: 0 0 auto;
  width: 100%;
  min-height: 0;
  height: auto;
  max-height: min(562px, 100dvh);
  border: 0;
  border-bottom: 1px solid rgba(189,148,90,.46);
  border-radius: 0;
  background-color: rgba(248,244,236,.96) !important;
  background-image:
    radial-gradient(circle at 12% -10%, rgba(189,148,90,.18), transparent 32%),
    radial-gradient(circle at 92% 16%, rgba(74,32,40,.08), transparent 28%),
    linear-gradient(118deg, rgba(255,253,248,.92), rgba(248,244,236,.96)) !important;
  background-size: auto !important;
  box-shadow: 0 20px 56px rgba(17,16,14,.18);
  opacity: 0;
  visibility: hidden;
  -webkit-backdrop-filter: blur(22px) saturate(118%);
  backdrop-filter: blur(22px) saturate(118%);
  transform: translateY(-104%) !important;
  transition: opacity 240ms ease, visibility 240ms ease, transform 300ms cubic-bezier(.22,.61,.36,1) !important;
}
body .rixos-wrap.rixos-wrap-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) !important;
}
.haske-drawer-header {
  min-height: 78px;
  padding: 12px clamp(24px, 5vw, 72px);
  justify-content: center;
  border-bottom-color: rgba(40,36,31,.1);
  background: rgba(255,253,248,.52);
}
.haske-drawer-brand,
.haske-drawer-brand:hover,
.haske-drawer-brand:focus,
.haske-drawer-brand:active {
  gap: 9px;
  color: var(--haske-ink) !important;
  font-family: "Gilda Display", serif;
  font-size: 19px;
  letter-spacing: .13em;
}
.haske-drawer-brand > .haske-logo-mark {
  overflow: visible;
  contain: none;
}
.haske-drawer-brand .haske-logo-mark img,
.haske-drawer-brand:hover .haske-logo-mark img,
.haske-drawer-brand:focus .haske-logo-mark img { filter: none !important; }
.haske-drawer-close {
  top: 18px;
  right: clamp(18px, 4vw, 56px);
  border-color: rgba(189,148,90,.58);
  border-radius: 50%;
  background: rgba(255,253,248,.7);
  color: var(--haske-ink);
}
.haske-drawer-close:hover {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: var(--haske-surface);
}
body .rixos-wrap .rixos-wrap-inner {
  display: block;
  width: min(1320px, 100%);
  min-height: 0;
  margin: 0 auto;
  padding: 0 clamp(22px, 5vw, 72px) 20px;
  overflow-x: hidden;
  overflow-y: auto;
}
body .rixos-wrap .rixos-menu {
  width: 100%;
  margin: 0;
  border-bottom: 1px solid rgba(40,36,31,.11);
}
body .rixos-wrap .rixos-menu > ul {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: center;
  gap: clamp(13px, 2.9vw, 42px);
}
body .rixos-wrap .rixos-menu > ul > li { flex: 0 0 auto; border: 0; }
body .rixos-wrap .rixos-menu > ul > li > a,
body .rixos-wrap .rixos-menu > ul > li > button {
  display: inline-flex;
  width: auto;
  min-height: 48px;
  padding: 0 0 2px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-ink) !important;
  font-family: "Urbanist", sans-serif;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 -2px 0 transparent;
  transition: color 180ms ease, box-shadow 180ms ease;
}
body .rixos-wrap .rixos-menu > ul > li > a::before,
body .rixos-wrap .rixos-menu > ul > li > button::before { content: none; }
body .rixos-wrap .rixos-menu > ul > li > a:hover,
body .rixos-wrap .rixos-menu > ul > li > button:hover,
body .rixos-wrap .rixos-menu > ul > li > a.active,
body .rixos-wrap .rixos-menu > ul > li > button.active,
body .rixos-wrap .rixos-menu > ul > li.current-section > button {
  background: transparent !important;
  color: var(--haske-forest) !important;
  box-shadow: inset 0 -2px 0 var(--haske-gold);
}
.haske-branch-directory {
  margin: 22px 0 0;
  padding: 0 0 20px;
  border-bottom: 1px solid rgba(40,36,31,.11);
}
.haske-branch-directory__intro {
  display: flex;
  margin: 0 0 12px;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}
.haske-branch-directory .haske-drawer-label {
  margin: 0;
  color: var(--haske-bronze);
  font-size: 9px;
  letter-spacing: .18em;
  text-align: left;
}
.haske-branch-directory h2 {
  margin: 0;
  color: var(--haske-ink);
  font: 400 clamp(20px, 2vw, 27px)/1.15 "Gilda Display", serif;
}
.haske-branch-directory__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(40,36,31,.12);
  border-radius: 10px;
  overflow: hidden;
}
.haske-branch-card {
  position: relative;
  display: grid;
  min-height: 118px;
  padding: 17px 42px 16px 18px;
  align-content: start;
  gap: 6px;
  border-left: 1px solid rgba(40,36,31,.12);
  background: rgba(255,253,248,.42);
  color: var(--haske-ink) !important;
  text-decoration: none !important;
  transition: background-color 180ms ease, color 180ms ease;
}
.haske-branch-card:first-child { border-left: 0; }
.haske-branch-card:hover,
.haske-branch-card:focus-visible {
  background: var(--haske-surface);
  color: var(--haske-forest) !important;
  box-shadow: inset 0 3px 0 var(--haske-gold);
  transform: none !important;
}
.haske-branch-card__number {
  color: var(--haske-bronze);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
}
.haske-branch-card strong {
  color: inherit;
  font: 400 19px/1.14 "Gilda Display", serif;
}
.haske-branch-card small {
  color: var(--haske-muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.35;
}
.haske-branch-card > i {
  position: absolute;
  top: 18px;
  right: 17px;
  color: var(--haske-gold);
  font-size: 14px;
}
.haske-branch-card em {
  display: inline-flex;
  width: max-content;
  margin-top: 2px;
  padding: 3px 6px;
  border: 1px solid rgba(189,148,90,.52);
  border-radius: 999px;
  background: rgba(189,148,90,.12);
  color: #765323;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.haske-branch-card.is-luxury {
  background: linear-gradient(140deg, rgba(189,148,90,.18), rgba(255,253,248,.76));
  box-shadow: inset 0 3px 0 var(--haske-gold);
}
.haske-branch-card.is-luxury strong { color: #5e421f; }
body .rixos-wrap .rixos-menu-footer {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 17px 0 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: left;
}
.haske-drawer-manage {
  display: inline-flex;
  min-height: 42px;
  margin: 0;
  padding: 0 13px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(40,36,31,.15);
  border-radius: 999px;
  background: transparent;
  color: var(--haske-ink) !important;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  white-space: nowrap;
}
.haske-drawer-manage i { color: var(--haske-gold); }
.haske-drawer-manage:hover { border-color: var(--haske-forest); background: var(--haske-forest); color: var(--haske-surface) !important; }
.haske-drawer-manage:hover i { color: var(--haske-gold); }
.haske-drawer-actions {
  display: flex;
  width: auto;
  padding: 0;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
}
.haske-drawer-actions a,
.haske-drawer-actions a:hover {
  display: inline-flex;
  min-height: 42px;
  padding: 0 12px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(40,36,31,.15);
  border-radius: 999px;
  background: var(--haske-surface);
  color: var(--haske-ink) !important;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.haske-drawer-actions a:hover { border-color: var(--haske-gold); color: var(--haske-forest) !important; }
.haske-drawer-actions a:last-child { color: var(--haske-whatsapp) !important; }
.haske-drawer-book,
.haske-drawer-book:hover,
.haske-drawer-book:focus-visible,
.haske-drawer-book:active {
  display: inline-flex;
  min-height: 42px;
  margin: 0;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--haske-gold);
  border-radius: 999px;
  background: var(--haske-gold) !important;
  color: var(--haske-ink) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  white-space: nowrap;
}
.haske-drawer-book:hover { border-color: var(--haske-forest); background: var(--haske-forest) !important; color: var(--haske-surface) !important; }
.rixos-header .rixos-wrap-burger-wrap {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 48px;
  padding: 0;
  transform: translateY(-50%);
}

@media (max-width: 900px) {
  body .rixos-wrap { max-height: min(650px, 100dvh); }
  body .rixos-wrap .rixos-menu > ul { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  body .rixos-wrap .rixos-menu > ul::-webkit-scrollbar { display: none; }
  .haske-branch-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .haske-branch-card:nth-child(3) { border-left: 0; border-top: 1px solid rgba(40,36,31,.12); }
  .haske-branch-card:nth-child(4) { border-top: 1px solid rgba(40,36,31,.12); }
  body .rixos-wrap .rixos-menu-footer { flex-wrap: wrap; }
}

@media (max-width: 575px) {
  body .rixos-wrap { max-height: 100dvh; }
  .haske-drawer-header { min-height: 68px; padding-inline: 58px; }
  .haske-drawer-brand,
  .haske-drawer-brand:hover,
  .haske-drawer-brand:focus,
  .haske-drawer-brand:active { gap: 5px; font-size: 12px; letter-spacing: .1em; }
  .haske-drawer-brand > .haske-logo-mark,
  .haske-drawer-brand .haske-logo-mark img { width: 31px; height: 31px; flex-basis: 31px; }
  .haske-drawer-close { top: 14px; right: 14px; width: 40px; height: 40px; }
  body .rixos-wrap .rixos-wrap-inner { padding: 0 14px 15px; }
  body .rixos-wrap .rixos-menu > ul { gap: 20px; min-width: max-content; }
  body .rixos-wrap .rixos-menu > ul > li > a { font-size: 10px; }
  .haske-branch-directory { margin-top: 15px; padding-bottom: 15px; }
  .haske-branch-directory__intro { display: block; margin-bottom: 9px; }
  .haske-branch-directory h2 { margin-top: 5px; font-size: 20px; }
  .haske-branch-card { min-height: 112px; padding: 14px 30px 13px 13px; }
  .haske-branch-card strong { font-size: 16px; }
  .haske-branch-card small { font-size: 9px; }
  .haske-branch-card > i { top: 15px; right: 12px; font-size: 12px; }
  body .rixos-wrap .rixos-menu-footer { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding-top: 14px; }
  .haske-drawer-manage,
  .haske-drawer-book { width: 100%; padding-inline: 9px; font-size: 9px; }
  .haske-drawer-actions { display: contents; }
  .haske-drawer-actions a,
  .haske-drawer-actions a:hover { width: 100%; padding-inline: 8px; font-size: 9px; }
  .rixos-header .rixos-wrap-burger-wrap { left: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .vegas-slide, .vegas-slide-inner { animation: none !important; transform: none !important; }
  .haske-logo-mark::before,
  .haske-logo-mark::after { animation: none !important; }
}

/* 2026 brand lockup and editorial collection refinement. */
.rixos-header .rixos-logo {
  display: grid;
  grid-template-columns: 42px max-content;
  gap: 9px;
  align-items: center;
  transform: none !important;
}
.haske-logo-copy {
  display: grid;
  min-width: 0;
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: start;
  row-gap: 4px;
  color: inherit;
  line-height: 1;
  transform: none !important;
}
.haske-logo-name {
  display: block;
  color: inherit;
  font: inherit;
  line-height: 1;
  letter-spacing: inherit;
  white-space: nowrap;
}
.haske-logo-tagline {
  display: block;
  margin: 0;
  color: rgba(255,253,248,.78);
  font-family: "Urbanist", sans-serif;
  font-size: 7px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}
.rixos-header.scrolled .haske-logo-tagline,
.rixos-header.sleep .haske-logo-tagline { color: var(--haske-bronze); }
.rixos-header .rixos-logo:hover,
.rixos-header .rixos-logo:focus,
.rixos-header .rixos-logo:active,
.rixos-header .rixos-logo:hover .haske-logo-copy,
.rixos-header .rixos-logo:focus .haske-logo-copy,
.rixos-header .rixos-logo:active .haske-logo-copy {
  gap: 9px;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.rixos-header .rixos-logo:hover .haske-logo-copy,
.rixos-header .rixos-logo:focus .haske-logo-copy,
.rixos-header .rixos-logo:active .haske-logo-copy { gap: 4px; }

.haske-drawer-brand,
.haske-drawer-brand:hover,
.haske-drawer-brand:focus,
.haske-drawer-brand:active {
  display: grid;
  grid-template-columns: 42px max-content;
  gap: 9px;
  align-items: center;
  transform: none !important;
}
.haske-drawer-brand > .haske-logo-copy,
.haske-drawer-brand:hover > .haske-logo-copy,
.haske-drawer-brand:focus > .haske-logo-copy,
.haske-drawer-brand:active > .haske-logo-copy {
  display: grid;
  width: auto;
  height: auto;
  min-width: 0;
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: start;
  row-gap: 4px;
  transform: none !important;
}
.haske-drawer-brand .haske-logo-tagline { color: var(--haske-bronze); }

.haske-branch-directory {
  margin-top: 20px;
  padding-bottom: 19px;
}
.haske-branch-directory__intro {
  display: grid;
  margin-bottom: 13px;
  grid-template-columns: minmax(120px, .55fr) minmax(0, 1.45fr);
  align-items: end;
  gap: clamp(24px, 4vw, 64px);
}
.haske-branch-directory h2 {
  max-width: 760px;
  font-size: clamp(20px, 1.9vw, 28px);
  line-height: 1.12;
  text-wrap: balance;
}
.haske-branch-directory__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
  border-top: 1px solid rgba(40,36,31,.16);
  border-radius: 0;
  overflow: visible;
}
.haske-branch-card,
.haske-branch-card:hover,
.haske-branch-card:focus,
.haske-branch-card:active {
  position: relative;
  display: grid;
  min-height: 116px;
  padding: 19px 44px 15px 20px;
  align-content: start;
  gap: 6px;
  border: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-ink) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: color 180ms ease, background-color 180ms ease !important;
}
.haske-branch-card:first-child { padding-left: 0; }
.haske-branch-card:last-child { padding-right: 24px; }
.haske-branch-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 20px;
  right: 20px;
  height: 2px;
  background: var(--haske-forest);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}
.haske-branch-card:first-child::before { left: 0; }
.haske-branch-card::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  bottom: 17px;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(40,36,31,.17) 20%, rgba(40,36,31,.17) 80%, transparent);
  pointer-events: none;
}
.haske-branch-card:last-child::after { content: none; }
.haske-branch-card:hover::before,
.haske-branch-card:focus-visible::before { opacity: 1; }
.haske-branch-card__number {
  min-height: 12px;
  color: var(--haske-bronze);
  font-size: 8px;
  letter-spacing: .18em;
}
.haske-branch-card strong {
  display: block;
  min-height: 24px;
  color: inherit;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.12;
  white-space: nowrap;
}
.haske-branch-card small {
  display: block;
  min-height: 28px;
  max-width: 220px;
  color: var(--haske-muted);
  font-size: 10px;
  line-height: 1.4;
}
.haske-branch-card > i {
  top: 21px;
  right: 20px;
  width: 18px;
  height: 18px;
  color: var(--haske-gold);
  line-height: 18px;
  text-align: center;
  opacity: .72;
  transform: none !important;
  transition: color 180ms ease, opacity 180ms ease;
}
.haske-branch-card:hover > i,
.haske-branch-card:focus-visible > i { color: var(--haske-forest); opacity: 1; transform: none !important; }
.haske-branch-card em {
  min-height: 20px;
  margin-top: 1px;
  padding: 3px 7px;
  border-color: rgba(189,148,90,.58);
  background: rgba(189,148,90,.1);
  color: #765323;
  line-height: 12px;
}
.haske-branch-card.is-luxury,
.haske-branch-card.is-luxury:hover,
.haske-branch-card.is-luxury:focus-visible {
  background: linear-gradient(180deg, rgba(189,148,90,.105), transparent 78%) !important;
  box-shadow: none !important;
}
.haske-branch-card.is-luxury::before { background: var(--haske-gold); opacity: 1; }
.haske-branch-card.is-luxury strong { color: #5e421f; }

body .rixos-wrap .rixos-menu > ul > li > a,
.haske-drawer-manage,
.haske-drawer-actions a,
.haske-drawer-book,
.haske-drawer-close {
  box-sizing: border-box;
  transform: none !important;
  font-variation-settings: normal;
}
body .rixos-wrap .rixos-menu > ul > li > a:hover,
body .rixos-wrap .rixos-menu > ul > li > a:focus,
body .rixos-wrap .rixos-menu > ul > li > a:active,
.haske-drawer-manage:hover,
.haske-drawer-manage:focus,
.haske-drawer-manage:active,
.haske-drawer-actions a:hover,
.haske-drawer-actions a:focus,
.haske-drawer-actions a:active,
.haske-drawer-book:hover,
.haske-drawer-book:focus,
.haske-drawer-book:active,
.haske-drawer-close:hover,
.haske-drawer-close:focus,
.haske-drawer-close:active {
  transform: none !important;
  font-variation-settings: normal;
}
body .rixos-wrap .rixos-menu > ul > li > a:hover,
body .rixos-wrap .rixos-menu > ul > li > a:focus,
body .rixos-wrap .rixos-menu > ul > li > a:active,
.haske-drawer-manage,
.haske-drawer-manage:hover,
.haske-drawer-manage:focus,
.haske-drawer-manage:active,
.haske-drawer-actions a,
.haske-drawer-actions a:hover,
.haske-drawer-actions a:focus,
.haske-drawer-actions a:active,
.haske-drawer-book,
.haske-drawer-book:hover,
.haske-drawer-book:focus,
.haske-drawer-book:active { display: inline-flex !important; }
.haske-drawer-close,
.haske-drawer-close:hover,
.haske-drawer-close:focus,
.haske-drawer-close:active { display: grid !important; }

@media (max-width: 900px) {
  .haske-branch-directory__intro { grid-template-columns: 1fr; gap: 5px; }
  .haske-branch-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .haske-branch-card:nth-child(3),
  .haske-branch-card:nth-child(4) { border-top: 1px solid rgba(40,36,31,.12); }
  .haske-branch-card:nth-child(3)::before,
  .haske-branch-card:nth-child(4)::before { top: -1px; }
  .haske-branch-card:nth-child(2)::after { content: none; }
}

@media (max-width: 575px) {
  .rixos-header .rixos-logo {
    grid-template-columns: 31px max-content;
    gap: 5px;
  }
  .haske-logo-copy { row-gap: 3px; }
  .haske-logo-tagline { font-size: 5.5px; letter-spacing: .11em; }
  .haske-drawer-brand,
  .haske-drawer-brand:hover,
  .haske-drawer-brand:focus,
  .haske-drawer-brand:active {
    grid-template-columns: 31px max-content;
    gap: 5px;
  }
  .haske-branch-directory h2 { font-size: 19px; }
  .haske-branch-card,
  .haske-branch-card:hover,
  .haske-branch-card:focus,
  .haske-branch-card:active { min-height: 108px; padding: 14px 30px 12px 12px; }
  .haske-branch-card:first-child { padding-left: 0; }
  .haske-branch-card::before { left: 12px; right: 12px; }
  .haske-branch-card:first-child::before { left: 0; }
  .haske-branch-card strong { min-height: 35px; font-size: 15px; white-space: normal; }
  .haske-branch-card small { min-height: 38px; font-size: 8.5px; }
  .haske-branch-card > i { top: 15px; right: 10px; font-size: 11px; }
  .haske-branch-card::after { top: 13px; bottom: 12px; }
}

/* 2026 final hospitality refinement: editorial depth, compact rhythm and stable controls. */
.haske-home .rixos-header:not(.scrolled) {
  min-height: 76px;
  padding: 0;
  border-bottom: 1px solid rgba(189,148,90,.34);
  background:
    linear-gradient(180deg, rgba(17,16,14,.72) 0%, rgba(17,16,14,.38) 58%, rgba(17,16,14,0) 100%);
}
.rixos-header.scrolled {
  min-height: 64px;
  padding: 0;
}
.haske-home .rixos-header:not(.scrolled) .row { min-height: 72px; }
.rixos-header.scrolled .row { min-height: 62px; }
.rixos-header .rixos-wrap-burger-wrap { overflow: visible; }
.rixos-header .rixos-logo {
  grid-template-columns: 40px max-content;
  gap: 8px;
  font-size: 18px;
}
.rixos-header .haske-logo-mark,
.rixos-header .rixos-logo img {
  width: 40px;
  height: 40px;
  max-width: 40px;
}
.rixos-header .haske-logo-mark { flex-basis: 40px; }
.haske-home .rixos-header:not(.scrolled) .haske-logo-name {
  text-shadow: 0 2px 14px rgba(0,0,0,.42);
}
.haske-home .rixos-header:not(.scrolled) .haske-logo-tagline {
  color: #e4c48b;
  text-shadow: 0 2px 10px rgba(0,0,0,.38);
}
.haske-header-rail {
  position: absolute;
  top: 50%;
  left: 50px;
  display: grid;
  width: clamp(170px, 22vw, 270px);
  align-items: center;
  gap: 10px;
  grid-template-columns: auto minmax(34px, 1fr) auto;
  color: rgba(255,253,248,.84);
  font: 800 9px/1 "Urbanist", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateY(-50%);
  pointer-events: none;
}
.haske-header-rail i { height: 1px; background: linear-gradient(90deg, var(--haske-gold), rgba(189,148,90,.15)); }
.haske-header-rail small { color: rgba(255,253,248,.64); font: inherit; letter-spacing: .12em; }
.rixos-header.scrolled .haske-header-rail { color: var(--haske-ink); }
.rixos-header.scrolled .haske-header-rail small { color: var(--haske-muted); }
.header-booking-tool,
.haske-preferences > summary {
  min-height: 34px;
  height: 34px;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.haske-header-tools { gap: 6px; }
.haske-header-tools .header-booking-tool {
  min-width: 90px;
  height: 34px;
  padding-inline: 10px;
  gap: 6px;
  font-size: 12px;
}
.haske-preferences > summary {
  min-width: 0;
  height: 34px;
  padding-inline: 9px;
  gap: 6px;
  font-size: 12px;
}
.haske-preferences-summary__currency { font-size: 16px; }
.haske-preferences-summary__divider { height: 14px; }
.haske-preferences-summary__language { font-size: 11px; }
.haske-preferences-panel {
  top: calc(100% + 8px);
  width: min(282px, calc(100vw - 16px));
  padding: 10px;
  border-radius: 7px;
  box-shadow: 0 14px 36px rgba(17,16,14,.14);
}
.haske-preferences-fields { gap: 8px; padding-bottom: 8px; }
.haske-preferences-panel .haske-preference-select select {
  height: 36px;
  min-height: 36px;
}
.haske-manage-tool { min-height: 44px; padding: 7px 10px; }
.haske-manage-tool strong { font-size: 10.5px; }
.haske-manage-tool small { font-size: 8.5px; }
.rixos-header .haske-drawer-toggle,
.rixos-header.scrolled .haske-drawer-toggle {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
}
.haske-drawer-toggle__lines { width: 25px; height: 15px; }
.haske-drawer-toggle__lines > span:nth-child(1) { width: 25px; }
.haske-drawer-toggle__lines > span:nth-child(2) { width: 16px; }
.haske-drawer-toggle__lines > span:nth-child(3) { width: 21px; }

.home-hero-stage .kenburns-section[data-overlay-dark]::before {
  opacity: 1;
  background:
    linear-gradient(90deg, rgba(17,16,14,.62) 0%, rgba(17,16,14,.22) 33%, rgba(17,16,14,.16) 64%, rgba(74,32,40,.34) 100%),
    linear-gradient(180deg, rgba(17,16,14,.22) 0%, rgba(17,16,14,.04) 44%, rgba(17,16,14,.58) 100%);
}
#kenburnsSliderContainer .vegas-slide-inner {
  filter: brightness(1.09) saturate(.98) contrast(1.03);
}
.home-hero-stage .caption h1 {
  max-width: 760px;
  margin-inline: auto;
  font-family: "Cormorant Garamond", "Gilda Display", serif;
  font-size: clamp(58px, 7vw, 92px);
  font-weight: 500;
  font-style: italic;
  line-height: .94;
  letter-spacing: -.028em;
  text-transform: none;
  text-wrap: balance;
  text-shadow: 0 4px 30px rgba(0,0,0,.4);
}
.haske-hero-actions {
  display: grid;
  width: fit-content;
  margin: 25px auto 0;
  justify-items: center;
  gap: 13px;
}
.haske-hero-actions .button-2 { margin: 0; }
.haske-budget-jump {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,253,248,.88) !important;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .025em;
}
.haske-budget-jump span { color: #e4c48b !important; }
.haske-budget-jump i { color: var(--haske-gold); font-size: 10px; transition: transform 180ms ease; }
.haske-budget-jump:hover { color: #fff !important; }
.haske-budget-jump:hover i { transform: translateY(2px); }
.home-hero-stage .booking-inner {
  padding: 10px 10px 0;
  border: 1px solid rgba(255,253,248,.25);
  background: rgba(17,16,14,.52);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  -webkit-backdrop-filter: blur(8px) saturate(112%);
  backdrop-filter: blur(8px) saturate(112%);
}
.home-hero-stage .form1 .c1,
.home-hero-stage .form1 .c2,
.home-hero-stage .form1 .c3,
.home-hero-stage .form1 .c5 { height: 58px; margin-bottom: 10px; }
.home-hero-stage .btn-form1-submit { min-height: 58px; }

.haske-trust-strip { padding-block: 14px; }
.haske-trust-item { min-height: 58px; padding-block: 5px; }
.haske-trust-item i { font-size: 20px; }
.haske-trust-item--whatsapp { box-shadow: inset 2px 0 0 var(--haske-forest); }

.haske-experiences {
  padding: 82px 0 !important;
  background-color: var(--haske-surface) !important;
}
.haske-experiences .experience-card-img { height: 210px; }
.haske-experiences .experience-card-img::after {
  position: absolute;
  inset: auto 0 0;
  height: 45%;
  background: linear-gradient(180deg, transparent, rgba(17,16,14,.46));
  content: "";
  pointer-events: none;
}
.experience-photo-label {
  position: absolute;
  z-index: 4;
  bottom: 12px;
  left: 13px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  background: rgba(17,16,14,.7);
  color: #fff;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(7px);
}
.haske-experiences .haske-stay-card--main .experience-card-img img { object-position: 50% 54%; }
.haske-experiences .haske-stay-card--annex .experience-card-img img { object-position: 58% 52%; }
.haske-experiences .haske-stay-card--luxury .experience-card-img img { object-position: 50% 50%; }
.haske-experiences .haske-stay-card--apartments .experience-card-img img { object-position: 50% 52%; }
.haske-experiences .experience-card-body { padding: 21px 19px 18px; }
.haske-experiences .experience-card h3 { min-height: 52px; margin-bottom: 9px; font-size: 22px; }
.haske-experiences .experience-price { padding-bottom: 12px; font-size: 19px; }
.haske-experiences .experience-highlights { margin: 14px 0 17px; }
.haske-experiences .experience-highlights li { margin-bottom: 6px; font-size: 13px; }
.haske-experiences .experience-actions { gap: 4px; }
.haske-experiences .experience-actions .button-3 { padding-block: 11px; }
.haske-experiences .experience-actions .button-1,
.haske-experiences .experience-actions .button-1:hover,
.haske-experiences .experience-card.is-preferred .experience-actions .button-1,
.haske-experiences .experience-card.is-preferred .experience-actions .button-1:hover {
  padding: 8px 6px 2px;
  border-color: transparent !important;
  background: transparent !important;
  color: var(--haske-bronze) !important;
  font-size: 10px;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}
.haske-experiences .experience-actions .button-1:hover,
.haske-experiences .experience-card.is-preferred .experience-actions .button-1:hover {
  color: var(--haske-forest) !important;
  text-decoration-color: currentColor;
}
.haske-experiences .experience-card.is-preferred .experience-actions .button-1 { color: #d7b77a !important; }

.haske-room-showcase { padding: 68px 0 72px; background: linear-gradient(155deg, #11100e 0%, #1a1815 62%, #211e19 100%); }
.haske-room-showcase .haske-showcase-intro { margin-bottom: 18px; }
.haske-room-filters {
  display: inline-flex;
  max-width: calc(100vw - 30px);
  margin: 0 auto 8px;
  padding: 4px;
  overflow-x: auto;
  border: 1px solid rgba(255,253,248,.16);
  border-radius: 999px;
  background: rgba(255,253,248,.045);
  scrollbar-width: none;
}
.haske-room-filters::-webkit-scrollbar { display: none; }
.haske-room-filters button {
  min-width: 74px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: rgba(255,253,248,.72);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.haske-room-filters button:hover { border-color: rgba(189,148,90,.55); color: #fff; }
.haske-room-filters button.is-active {
  border-color: var(--haske-gold);
  background: var(--haske-gold);
  color: var(--haske-black);
}
.haske-room-showcase .owl-stage-outer { padding-block: 10px 26px; }
.haske-room-showcase .item .img { aspect-ratio: 1.72 / 1; }
.haske-room-showcase .owl-item .item { transform: scale(.94) !important; }
.haske-room-showcase .owl-item.center .item { transform: scale(1) !important; }

.facilities2 ul.tab-buttons li.tab-btn {
  min-height: 76px;
  border-bottom: 3px solid transparent !important;
  transform: none !important;
}
.facilities2 ul.tab-buttons li.tab-btn:hover { border-bottom-color: rgba(189,148,90,.48) !important; transform: none !important; }
.facilities2 ul.tab-buttons li.tab-btn.active-btn { border-bottom-color: var(--haske-gold) !important; }
.facilities2 ul.tab-buttons li.tab-btn span {
  min-height: 73px;
  padding: 16px 14px;
  font-size: clamp(16px, 1.35vw, 20px);
  transform: none !important;
}
.facilities2 ul.tab-buttons li.tab-btn:hover span { transform: none !important; }
.facilities2 .tabs-content .tab { padding: 66px 0; }
.facilities2 .tabs-content .tab img { height: 430px; aspect-ratio: auto; }
.facilities2 .tabs-content .section-title { font-size: clamp(34px, 3.6vw, 47px); }

.home-amenities {
  padding: 76px 0 !important;
  background-color: var(--haske-surface) !important;
}
body:not(.haske-staff-page) .home-amenities .item {
  min-height: 176px;
  border-top-color: rgba(189,148,90,.78);
  box-shadow: 0 10px 26px rgba(17,16,14,.045);
}
.home-amenities .item .cont { padding: 23px 19px; }
.home-amenities .item .cont .icon i { font-size: 34px; }
.home-amenities .item .cont .text h5 { font-size: 18px; }
.home-amenities .item .cont .text p { font-size: 13px; }

.offers2 .item { padding: 154px 20px; }
.haske-discover { padding: 78px 0 !important; }
.haske-video-card { min-height: 440px; }
.haske-video-card__content { padding: 40px; }
.haske-discover-stack { gap: 14px; }
.haske-review-card { padding: 25px; }
.haske-review-card p { font-size: 20px; }
.haske-journal-card { padding: 22px; }

.budget-estimator-section {
  padding: 66px 0;
  scroll-margin-top: 82px;
}
.budget-estimator-experience { gap: clamp(32px, 5vw, 68px); }
.budget-estimator-copy h2 { font-size: clamp(38px, 4.5vw, 60px); }
.budget-estimator-copy > p { font-size: 16px; }
.budget-estimator-form { padding: 25px; }
.budget-input-frame,
.budget-estimator-form .btn-form1-submit { min-height: 58px; height: 58px; }

@media (max-width: 1199px) {
  .haske-header-rail { width: clamp(135px, 17vw, 190px); }
  .haske-header-rail small { display: none; }
  .haske-experiences .experience-card h3 { min-height: 50px; font-size: 20px; }
  .haske-experiences .experience-card-img { height: 195px; }
}

@media (max-width: 991px) {
  .haske-home .rixos-header:not(.scrolled),
  .rixos-header.scrolled { min-height: 64px; padding: 0; }
  .haske-header-rail { display: none; }
  .haske-home .rixos-header:not(.scrolled) .row,
  .rixos-header.scrolled .row { min-height: 62px; }
  .home-hero-stage .booking-inner { padding: 9px 9px 0; }
  .haske-experiences { padding: 68px 0 !important; }
  .facilities2 .tabs-content .tab { padding: 52px 0; }
  .facilities2 .tabs-content .tab img { height: auto; aspect-ratio: 16 / 10; }
  .home-amenities,
  .haske-discover { padding: 62px 0 !important; }
  .offers2 .item { padding: 48px 20px !important; }
  .budget-estimator-section { padding: 58px 0; }
}

@media (max-width: 767px) {
  .haske-home .rixos-header:not(.scrolled) { background: linear-gradient(180deg, rgba(17,16,14,.76), rgba(17,16,14,.08)); }
  .haske-header-tools .header-booking-tool { min-width: 64px; }
  .haske-header-tools .header-booking-tool i { display: none; }
  .haske-preferences > summary { min-width: 54px; padding-inline: 7px; }
  .haske-preferences-summary__word { display: none; }
  .home-hero-stage .caption h1 {
    max-width: 11ch;
    font-size: clamp(46px, 13vw, 64px);
    line-height: .96;
    letter-spacing: -.022em;
  }
  .haske-budget-jump { font-size: 10px; }
  .haske-trust-strip { padding-block: 9px; }
  .haske-room-showcase { padding: 56px 0 60px; }
  .haske-room-filters { display: flex; width: max-content; justify-content: flex-start; }
  .haske-room-filters button { min-width: 68px; padding-inline: 10px; }
  .haske-video-card { min-height: 390px; }
  .haske-video-card__content { padding: 30px 24px; }
  .budget-estimator-form { padding: 20px; }
}

@media (max-width: 575px) {
  .haske-home .rixos-header:not(.scrolled),
  .rixos-header.scrolled { min-height: 60px; }
  .haske-home .rixos-header:not(.scrolled) .row,
  .rixos-header.scrolled .row { min-height: 58px; }
  .rixos-header .rixos-logo {
    grid-template-columns: 29px max-content;
    gap: 4px;
    font-size: 11px;
  }
  .rixos-header .haske-logo-mark,
  .rixos-header .rixos-logo img {
    width: 29px;
    height: 29px;
    max-width: 29px;
  }
  .rixos-header .haske-logo-mark { flex-basis: 29px; }
  .haske-logo-tagline { font-size: 5.25px; }
  .header-tools-wrap { right: max(3px, env(safe-area-inset-right)); }
  .haske-header-tools { gap: 3px; }
  .haske-header-tools .header-booking-tool,
  .haske-preferences > summary {
    height: 32px;
    min-height: 32px;
  }
  .haske-header-tools .header-booking-tool {
    width: 58px;
    min-width: 58px;
    padding-inline: 5px;
    font-size: 9.5px;
  }
  .haske-preferences > summary {
    width: 58px;
    min-width: 58px;
    padding-inline: 5px;
  }
  .haske-preferences-summary__currency { font-size: 14px; }
  .haske-preferences-summary__language { font-size: 9.5px; }
  .rixos-header .haske-drawer-toggle,
  .rixos-header.scrolled .haske-drawer-toggle {
    width: 44px !important;
    height: 44px !important;
  }
}

@media (max-width: 400px) {
  .rixos-header .rixos-logo {
    grid-template-columns: 28px max-content;
    font-size: 10px;
  }
  .rixos-header .haske-logo-mark,
  .rixos-header .rixos-logo img {
    width: 28px;
    height: 28px;
    max-width: 28px;
  }
  .rixos-header .haske-logo-mark { flex-basis: 28px; }
  .rixos-header .haske-logo-tagline { display: none; }
  .haske-header-tools .header-booking-tool {
    width: 52px;
    min-width: 52px;
    padding-inline: 3px;
    font-size: 9px;
  }
  .haske-preferences > summary {
    width: 45px;
    min-width: 45px;
    padding-inline: 3px;
    gap: 3px;
  }
  .haske-preferences-summary__divider { display: none; }
  .haske-preferences-summary__currency { min-width: 12px; font-size: 12px; }
  .haske-preferences-summary__language { min-width: 15px; font-size: 9px; }
}

/* Fluid booking search. */

.home-hero-stage .booking-wrapper .container { max-width: 1160px; }
.home-hero-stage .booking-inner {
  width: min(100%, 1120px);
  margin-inline: auto;
  padding: 8px;
}
.home-hero-stage .form1 {
  display: grid;
  grid-template-columns: minmax(155px, 1.08fr) minmax(155px, 1.08fr) minmax(122px, .82fr) minmax(122px, .82fr) minmax(142px, .86fr);
  gap: 1px;
  align-items: stretch;
}
.home-hero-stage .form1 > .col1,
.home-hero-stage .form1 > .col2,
.home-hero-stage .form1 > .col3 {
  float: none;
  width: auto;
  height: 56px;
  margin: 0;
}
.home-hero-stage .form1 .input1_wrapper,
.home-hero-stage .form1 .select1_wrapper,
.home-hero-stage .form1 .input1_inner,
.home-hero-stage .form1 .select1_inner { height: 100%; }
.home-hero-stage .btn-form1-submit {
  height: 56px;
  min-height: 56px;
  border-radius: 0 4px 4px 0;
}

@media (max-width: 991px) {
  .home-hero-stage .form1 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .home-hero-stage .form1 .c1,
  .home-hero-stage .form1 .c2 { grid-column: span 3; }
  .home-hero-stage .form1 .c3,
  .home-hero-stage .form1 .c5,
  .home-hero-stage .form1 .c6 { grid-column: span 2; }
  .home-hero-stage .btn-form1-submit { border-radius: 0 0 4px 0; }
}

@media (max-width: 767px) {
  .home-hero-stage .form1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hero-stage .form1 .c1,
  .home-hero-stage .form1 .c2,
  .home-hero-stage .form1 .c3,
  .home-hero-stage .form1 .c5 { grid-column: span 1; }
  .home-hero-stage .form1 .c6 { grid-column: 1 / -1; }
  .home-hero-stage .form1 > .col1,
  .home-hero-stage .form1 > .col2,
  .home-hero-stage .form1 > .col3 { height: 52px; }
  .home-hero-stage .btn-form1-submit {
    height: 52px;
    min-height: 52px;
    border-radius: 0 0 4px 4px;
  }
}

@media (max-width: 575px) {
  .home-hero-stage .booking-inner { width: calc(100% - 4px); padding: 7px; }
  .home-hero-stage .form1 { gap: 1px; }
  .home-hero-stage .input1_inner input { padding-inline: 12px 34px; font-size: 15px; }
  .home-hero-stage .select2-container--default .select2-selection--single { font-size: 15px; }

  .booking-system .stepwizard { margin-bottom: 38px; }
  .booking-system .stepwizard .stepwizard-row:before {
    top: 26px;
    width: 72%;
  }
  .booking-system .stepwizard .stepwizard-row .stepwizard-step .btn-circle {
    width: 52px;
    height: 52px;
    margin-bottom: 10px;
    padding: 8px;
    font-size: 19px;
    line-height: 32px;
  }
  .booking-system .stepwizard .stepwizard-row .stepwizard-step h3 {
    width: min(100%, 108px);
    min-height: 30px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
}

/* Fixed editorial header: identical geometry before and after scroll. */
.rixos-header,
.rixos-header.awake,
.rixos-header.sleep,
.rixos-header.scrolled,
.haske-home .rixos-header:not(.scrolled) {
  min-height: 64px !important;
  height: 64px !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(189,148,90,.34);
  transform: translateY(0) !important;
}
.rixos-header .container {
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 0;
}
.rixos-header .row,
.rixos-header.scrolled .row,
.haske-home .rixos-header:not(.scrolled) .row {
  position: relative;
  width: 100%;
  min-height: 64px !important;
  height: 64px !important;
  margin: 0;
}
.rixos-header .rixos-logo-wrap,
.rixos-header.scrolled .rixos-logo-wrap,
.haske-home .rixos-header:not(.scrolled) .rixos-logo-wrap {
  position: absolute;
  z-index: 4;
  top: 50% !important;
  left: 50% !important;
  width: auto;
  max-width: none;
  padding: 0;
  transform: translate(-50%, -50%) !important;
}
.rixos-header .rixos-logo,
.rixos-header.scrolled .rixos-logo,
.haske-home .rixos-header:not(.scrolled) .rixos-logo {
  gap: 8px;
  font-size: 18px;
  transform: none !important;
}
.rixos-header .haske-logo-mark,
.rixos-header .rixos-logo img,
.rixos-header.scrolled .haske-logo-mark,
.rixos-header.scrolled .rixos-logo img {
  width: 40px;
  height: 40px;
  max-width: 40px;
}
.rixos-header .haske-logo-mark,
.rixos-header.scrolled .haske-logo-mark { flex-basis: 40px; }
.rixos-header .rixos-wrap-burger-wrap,
.rixos-header.scrolled .rixos-wrap-burger-wrap {
  position: absolute !important;
  z-index: 5;
  top: 50%;
  left: 12px;
  width: 44px;
  height: 44px;
  padding: 0;
  transform: translateY(-50%);
}
.header-tools-wrap,
.rixos-header.scrolled .header-tools-wrap {
  position: absolute;
  z-index: 6;
  top: 50%;
  right: 12px;
  width: auto;
  padding: 0;
  transform: translateY(-50%);
}
.haske-header-tools { gap: 6px; }
.haske-header-tools .header-booking-tool,
.haske-preferences > summary {
  box-sizing: border-box;
  height: 34px;
  min-height: 34px;
  border-radius: 999px;
  transform: none !important;
}
.haske-header-tools .header-booking-tool {
  width: 92px;
  min-width: 92px;
  padding: 0 10px;
  gap: 6px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.haske-header-tools .header-booking-tool span { flex: 0 0 auto; white-space: nowrap; }
.haske-preferences { position: relative; margin: 0; }
.haske-preferences > summary {
  display: inline-flex;
  width: 72px;
  min-width: 72px;
  padding: 0 8px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.5);
  background: rgba(17,16,14,.28);
  color: #fff !important;
  list-style: none;
  cursor: pointer;
}
.haske-preferences > summary::-webkit-details-marker { display: none; }
.haske-preferences-summary__currency {
  min-width: 13px;
  color: #f1d29f;
  font-size: 15px;
  line-height: 1;
  text-align: center;
}
.haske-preferences-summary__divider {
  width: 1px;
  height: 13px;
  background: rgba(232,238,233,.72);
}
.haske-preferences-summary__language {
  min-width: 16px;
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
}
.haske-preferences-summary__chevron { font-size: 8px; }
.rixos-header.scrolled .haske-preferences > summary {
  border-color: var(--haske-border);
  background: rgba(255,255,255,.96);
  color: var(--haske-ink) !important;
}
.rixos-header.scrolled .haske-preferences-summary__divider { background: rgba(74,32,40,.45); }
.haske-preferences > summary:hover,
.haske-preferences[open] > summary,
.rixos-header.scrolled .haske-preferences > summary:hover,
.rixos-header.scrolled .haske-preferences[open] > summary,
.haske-header-tools .header-booking-tool:hover {
  border-color: var(--haske-forest) !important;
  background: var(--haske-forest) !important;
  color: #fff !important;
}
.haske-preferences > summary:hover .haske-preferences-summary__currency,
.haske-preferences[open] > summary .haske-preferences-summary__currency { color: #fff; }
.haske-preferences-panel {
  top: calc(100% + 8px);
  right: 0;
  width: min(258px, calc(100vw - 16px));
  max-height: calc(100vh - 78px);
  padding: 9px;
  overflow: auto;
  border: 1px solid var(--haske-border);
  border-top: 2px solid var(--haske-gold);
  border-radius: 6px;
  background: rgba(255,253,248,.985);
  box-shadow: 0 16px 38px rgba(17,16,14,.14);
}
.haske-preferences-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  gap: 7px;
  padding-bottom: 7px;
}
.haske-preference-field > label {
  margin-bottom: 5px;
  gap: 5px;
  font-size: 8.5px;
  letter-spacing: .08em;
}
.haske-preference-field > label i {
  width: 12px;
  flex-basis: 12px;
  color: var(--haske-forest);
  font-size: 10px;
}
.haske-preferences-panel .haske-preference-select select {
  height: 33px;
  min-height: 33px;
  padding: 0 25px 0 9px;
  border-radius: 4px;
  font-size: 10.5px;
}
.haske-preference-select > i { right: 9px; font-size: 8px; }
.haske-preferences-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: 6px;
  align-items: stretch;
}
.haske-manage-tool {
  min-height: 38px;
  padding: 5px 7px;
  gap: 6px;
  grid-template-columns: 13px minmax(0, 1fr);
  border-radius: 5px;
}
.haske-manage-tool > i:first-child { color: var(--haske-forest); font-size: 11px; }
.haske-manage-tool strong { font-size: 9px; white-space: nowrap; }
.haske-manage-tool small { font-size: 7.5px; }
.haske-management-signin {
  min-height: 38px;
  padding: 0 5px;
  justify-self: stretch;
  gap: 4px;
  border: 1px solid var(--haske-border);
  border-radius: 5px;
  background: #fff;
  color: var(--haske-bronze) !important;
  font-size: 8px;
}
.haske-preferences-panel .haske-fx-note {
  margin: 7px 0 0;
  padding: 6px 0 0;
  border-top: 1px solid var(--haske-border);
  font-size: 8px;
  line-height: 1.35;
}

@media (max-width: 991px) {
  .rixos-header .haske-header-rail { display: none; }
  .rixos-header .rixos-wrap-burger-wrap,
  .rixos-header.scrolled .rixos-wrap-burger-wrap { left: 8px; }
  .header-tools-wrap,
  .rixos-header.scrolled .header-tools-wrap { right: 8px; }
}

@media (max-width: 575px) {
  .rixos-header,
  .rixos-header.awake,
  .rixos-header.sleep,
  .rixos-header.scrolled,
  .haske-home .rixos-header:not(.scrolled),
  .rixos-header .row,
  .rixos-header.scrolled .row,
  .haske-home .rixos-header:not(.scrolled) .row {
    min-height: 58px !important;
    height: 58px !important;
  }
  .rixos-header .rixos-logo,
  .rixos-header.scrolled .rixos-logo,
  .haske-home .rixos-header:not(.scrolled) .rixos-logo {
    grid-template-columns: 29px max-content;
    gap: 4px;
    font-size: 11px;
  }
  .rixos-header .haske-logo-mark,
  .rixos-header .rixos-logo img,
  .rixos-header.scrolled .haske-logo-mark,
  .rixos-header.scrolled .rixos-logo img {
    width: 29px;
    height: 29px;
    max-width: 29px;
  }
  .rixos-header .haske-logo-mark,
  .rixos-header.scrolled .haske-logo-mark { flex-basis: 29px; }
  .rixos-header .rixos-wrap-burger-wrap,
  .rixos-header.scrolled .rixos-wrap-burger-wrap { left: 3px; }
  .header-tools-wrap,
  .rixos-header.scrolled .header-tools-wrap { right: 3px; }
  .haske-header-tools { gap: 3px; }
  .haske-header-tools .header-booking-tool {
    width: 56px;
    min-width: 56px;
    height: 32px;
    min-height: 32px;
    padding: 0 4px;
    font-size: 9px;
  }
  .haske-header-tools .header-booking-tool i { display: none; }
  .haske-preferences > summary {
    width: 50px;
    min-width: 50px;
    height: 32px;
    min-height: 32px;
    padding: 0 5px;
    gap: 4px;
  }
  .haske-preferences-summary__currency { min-width: 11px; font-size: 13px; }
  .haske-preferences-summary__divider { height: 12px; }
  .haske-preferences-summary__language { min-width: 14px; font-size: 8.5px; }
  .haske-preferences-summary__chevron { display: none; }
  .haske-preferences-panel { right: 0; width: min(248px, calc(100vw - 10px)); }
}

@media (max-width: 400px) {
  .haske-header-tools .header-booking-tool { width: 52px; min-width: 52px; font-size: 8.5px; }
  .haske-preferences > summary { width: 47px; min-width: 47px; padding-inline: 4px; }
}

@media (max-width: 360px) {
  .rixos-header .haske-logo-copy { display: none; }
}

/* ===========================================================================
   HASKE double-block hospitality header — September 2026
   A restrained utility strip and a separate, truthful hotel navigation row.
   ========================================================================== */
html { scroll-padding-top: 108px; }
.rixos-header:not(.haske-header-ready) .header-tools-wrap { visibility: hidden; }
.haske-menu-overlay { background: rgba(17,16,14,.6); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }

body:not(.haske-staff-page) .rixos-header,
body:not(.haske-staff-page) .rixos-header.awake,
body:not(.haske-staff-page) .rixos-header.sleep,
body:not(.haske-staff-page) .rixos-header.scrolled,
body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) {
  display: block;
  width: 100%;
  min-height: 96px !important;
  height: 96px !important;
  padding: 0 !important;
  overflow: visible;
  border: 0;
  background: transparent !important;
  box-shadow: none;
  transform: translateY(0) !important;
  transition: background-color 220ms ease, box-shadow 220ms ease !important;
}
body:not(.haske-staff-page) .rixos-header > .container {
  position: relative;
  z-index: 12;
  width: 100%;
  max-width: none;
  height: 44px;
  padding: 0;
  border-bottom: 1px solid rgba(189,148,90,.28);
  background: rgba(17,16,14,.68);
  -webkit-backdrop-filter: blur(13px) saturate(112%);
  backdrop-filter: blur(13px) saturate(112%);
  transition: background-color 220ms ease, border-color 220ms ease;
}
body:not(.haske-staff-page) .rixos-header.scrolled > .container,
body:not(.haske-staff-page) .rixos-header.sleep > .container,
body:not(.haske-staff-page) .rixos-header.awake > .container {
  border-bottom-color: rgba(189,148,90,.36);
  background: rgba(17,16,14,.94);
}
body:not(.haske-staff-page) .rixos-header .row,
body:not(.haske-staff-page) .rixos-header.scrolled .row,
body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .row {
  position: relative;
  width: 100%;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0;
}

body:not(.haske-staff-page) .rixos-header .rixos-logo-wrap,
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo-wrap,
body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo-wrap {
  position: absolute;
  z-index: 15;
  top: 50% !important;
  left: 50% !important;
  width: auto;
  max-width: none;
  padding: 0;
  transform: translate(-50%, -50%) !important;
}
body:not(.haske-staff-page) .rixos-header .rixos-logo,
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo,
body:not(.haske-staff-page) .rixos-header .rixos-logo:hover,
body:not(.haske-staff-page) .rixos-header .rixos-logo:focus {
  display: grid;
  grid-template-columns: 32px max-content;
  gap: 7px;
  align-items: center;
  color: #fff !important;
  font-size: 14px;
  letter-spacing: .13em;
  opacity: 1 !important;
  transform: none !important;
}
body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
body:not(.haske-staff-page) .rixos-header .rixos-logo img,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
  width: 32px;
  height: 32px;
  max-width: 32px;
}
body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 32px; }
body:not(.haske-staff-page) .rixos-header .haske-logo-copy,
body:not(.haske-staff-page) .rixos-header .rixos-logo:hover .haske-logo-copy,
body:not(.haske-staff-page) .rixos-header .rixos-logo:focus .haske-logo-copy { gap: 3px; row-gap: 3px; }
body:not(.haske-staff-page) .rixos-header .haske-logo-tagline,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
  color: #d7b77a;
  font-size: 5.5px;
  letter-spacing: .15em;
}

body:not(.haske-staff-page) .rixos-header .rixos-wrap-burger-wrap,
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-wrap-burger-wrap {
  position: absolute !important;
  z-index: 17;
  top: 50%;
  left: 14px;
  width: 84px;
  height: 44px;
  padding: 0;
  transform: translateY(-50%);
}
body:not(.haske-staff-page) .rixos-header .haske-drawer-toggle,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  color: #fff;
  transform: none !important;
}
body:not(.haske-staff-page) .rixos-header .haske-drawer-toggle__lines > span { background: #d7b77a; }
body:not(.haske-staff-page) .rixos-header .haske-drawer-toggle:hover .haske-drawer-toggle__lines > span,
body:not(.haske-staff-page) .rixos-header .haske-drawer-toggle:focus-visible .haske-drawer-toggle__lines > span { background: #fff; }
body:not(.haske-staff-page) .rixos-header .haske-header-rail {
  position: absolute;
  top: 50%;
  left: 42px;
  display: flex;
  width: auto;
  height: 20px;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.94);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  transform: translateY(-50%);
}
body:not(.haske-staff-page) .rixos-header .haske-header-rail i {
  display: none;
}
body:not(.haske-staff-page) .rixos-header .haske-header-rail small { display: none; }
.haske-utility-search {
  position: absolute;
  z-index: 17;
  top: 0;
  left: 112px;
  display: inline-flex;
  width: auto;
  max-width: none;
  height: 44px;
  flex: 0 0 auto;
  padding: 0 14px;
  align-items: center;
  gap: 8px;
  border-inline: 1px solid rgba(189,148,90,.22);
  color: rgba(255,255,255,.94) !important;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: none !important;
  transition: color 180ms ease, background-color 180ms ease;
}
.haske-utility-search:hover,
.haske-utility-search:focus-visible {
  background: rgba(74,32,40,.78);
  color: #fff !important;
  transform: none !important;
}
.haske-utility-search i { color: #d7b77a; font-size: 12px; }

body:not(.haske-staff-page) .header-tools-wrap,
body:not(.haske-staff-page) .rixos-header.scrolled .header-tools-wrap {
  position: absolute;
  z-index: 18;
  top: 50%;
  right: 14px;
  width: auto;
  padding: 0;
  transform: translateY(-50%);
}
.haske-header-tools {
  display: flex;
  height: 44px;
  align-items: center;
  gap: 2px;
}
.haske-utility-menu { position: relative; margin: 0; }
.haske-utility-menu > summary,
.haske-utility-link {
  display: inline-flex;
  height: 32px;
  min-height: 32px;
  padding: 0 10px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 0;
  border-left: 1px solid rgba(189,148,90,.24);
  border-radius: 0;
  background: transparent !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
  list-style: none;
  white-space: nowrap;
  cursor: pointer;
  transform: none !important;
  transition: color 180ms ease, background-color 180ms ease;
}
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-menu > summary,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-tools .haske-utility-menu > summary,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-link,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-tools .haske-utility-link {
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 1px solid rgba(189,148,90,.24) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.92) !important;
  box-shadow: none !important;
}
.haske-utility-menu > summary::-webkit-details-marker { display: none; }
.haske-utility-menu > summary:hover,
.haske-utility-menu[open] > summary,
.haske-utility-link:hover,
.haske-utility-link:focus-visible {
  border-radius: 3px;
  background: var(--haske-forest) !important;
  color: #fff !important;
  transform: none !important;
}
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-menu > summary:hover,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-menu[open] > summary,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-link:hover,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-link:focus-visible {
  border-left-color: var(--haske-gold) !important;
  border-radius: 3px !important;
  background: var(--haske-forest) !important;
  color: #fff !important;
}
.haske-utility-menu > summary > i:last-child { color: #d7b77a; font-size: 7px; transition: transform 180ms ease; }
.haske-utility-menu[open] > summary > i:last-child { transform: rotate(180deg); }
.haske-utility-menu > summary > i:first-child,
.haske-utility-link i { color: #d7b77a; font-size: 11px; }
.haske-utility-currency-symbol { color: #f0cf98; font-size: 14px; }
.haske-utility-currency-code,
.haske-utility-language-code { min-width: 17px; text-align: center; }
.haske-mobile-book { display: none !important; }

.haske-utility-panel {
  position: absolute;
  z-index: 90;
  top: calc(100% + 58px);
  right: 0;
  width: 206px;
  padding: 13px;
  border: 1px solid rgba(189,148,90,.36);
  border-top: 2px solid var(--haske-gold);
  border-radius: 4px;
  background: rgba(255,253,248,.985);
  color: var(--haske-ink);
  box-shadow: 0 18px 44px rgba(17,16,14,.18);
}
.haske-language-panel { width: 180px; }
.haske-utility-panel > label {
  display: block;
  margin: 0 0 7px;
  color: var(--haske-bronze);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.haske-utility-panel .haske-preference-select { position: relative; }
.haske-utility-panel .haske-preference-select select {
  width: 100%;
  height: 38px;
  min-height: 38px;
  padding: 0 30px 0 10px;
  border: 1px solid var(--haske-border);
  border-radius: 3px;
  background: #fff;
  color: var(--haske-ink);
  font-size: 11px;
  font-weight: 750;
  text-align: left;
  text-align-last: left;
  appearance: none;
}
.haske-utility-panel .haske-preference-select > i {
  position: absolute;
  top: 50%;
  right: 11px;
  color: var(--haske-bronze);
  font-size: 8px;
  pointer-events: none;
  transform: translateY(-50%);
}
.haske-utility-panel .haske-fx-note {
  margin: 9px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--haske-border);
  color: var(--haske-muted);
  font-size: 8px;
  line-height: 1.45;
}
.haske-staff-shortcut {
  display: flex;
  min-height: 36px;
  margin-top: 8px;
  padding: 0 10px;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--haske-border);
  border-radius: 3px;
  background: rgba(74,32,40,.045);
  color: var(--haske-ink) !important;
  font-size: 9px;
  font-weight: 800;
  transform: none !important;
}
.haske-staff-shortcut:hover { border-color: var(--haske-forest); color: var(--haske-forest) !important; transform: none !important; }

.haske-primary-nav {
  position: absolute;
  z-index: 11;
  top: 44px;
  left: 0;
  width: 100%;
  height: 52px;
  border-bottom: 1px solid rgba(189,148,90,.42);
  background: rgba(255,253,248,.87);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
  box-shadow: 0 8px 24px rgba(17,16,14,.06);
  transition: background-color 220ms ease, box-shadow 220ms ease;
}
.rixos-header.scrolled .haske-primary-nav,
.rixos-header.sleep .haske-primary-nav,
.rixos-header.awake .haske-primary-nav {
  background: rgba(255,253,248,.98);
  box-shadow: 0 10px 28px rgba(17,16,14,.1);
}
.haske-primary-nav__inner {
  display: flex;
  width: min(1480px, 100%);
  height: 52px;
  margin: 0 auto;
  padding-left: clamp(10px, 1.6vw, 26px);
  align-items: stretch;
}
.haske-primary-list {
  display: flex;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch;
  justify-content: center;
  flex: 1 1 auto;
  list-style: none;
}
.haske-primary-item { position: relative; display: flex; align-items: stretch; }
.haske-primary-item > a,
.haske-primary-trigger {
  position: relative;
  display: inline-flex;
  min-width: 0;
  height: 52px;
  margin: 0;
  padding: 0 clamp(7px, .8vw, 13px);
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-ink) !important;
  font-family: "Urbanist", sans-serif;
  font-size: clamp(8px, .7vw, 10px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: .095em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
  transition: color 180ms ease, background-color 180ms ease !important;
}
.haske-primary-item > a::after,
.haske-primary-trigger::after {
  content: "";
  position: absolute;
  right: 9px;
  bottom: 0;
  left: 9px;
  height: 2px;
  background: var(--haske-gold);
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity 180ms ease, transform 180ms ease;
}
.haske-primary-trigger i { color: var(--haske-bronze); font-size: 7px; transition: transform 180ms ease; }
.haske-primary-item:hover > a,
.haske-primary-item > a:focus-visible,
.haske-primary-item > a.active,
.haske-primary-item:hover > .haske-primary-trigger,
.haske-primary-item.is-open > .haske-primary-trigger,
.haske-primary-item.current-section > .haske-primary-trigger {
  background: rgba(74,32,40,.055) !important;
  color: var(--haske-forest) !important;
  transform: none !important;
}
.haske-primary-item:hover > a::after,
.haske-primary-item > a:focus-visible::after,
.haske-primary-item > a.active::after,
.haske-primary-item:hover > .haske-primary-trigger::after,
.haske-primary-item.is-open > .haske-primary-trigger::after,
.haske-primary-item.current-section > .haske-primary-trigger::after { opacity: 1; transform: scaleX(1); }
.haske-primary-item.is-open > .haske-primary-trigger i,
.haske-primary-item:hover > .haske-primary-trigger i { transform: rotate(180deg); }
.haske-primary-book,
.haske-primary-book:hover,
.haske-primary-book:focus-visible {
  display: inline-flex;
  width: clamp(132px, 12vw, 174px);
  min-width: 132px;
  height: 52px;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-left: 1px solid rgba(138,101,54,.32);
  border-radius: 0;
  background: var(--haske-gold) !important;
  color: var(--haske-ink) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: none !important;
  transition: background-color 180ms ease, color 180ms ease !important;
}
.haske-primary-book:hover,
.haske-primary-book:focus-visible { background: var(--haske-forest) !important; color: #fff !important; }

.haske-primary-panel {
  position: absolute;
  z-index: 120;
  top: 100%;
  left: 50%;
  visibility: hidden;
  width: 330px;
  padding: 18px;
  border: 1px solid rgba(189,148,90,.35);
  border-top: 2px solid var(--haske-gold);
  border-radius: 0 0 5px 5px;
  background: rgba(255,253,248,.985);
  box-shadow: 0 22px 52px rgba(17,16,14,.18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 180ms ease, visibility 180ms ease, transform 220ms cubic-bezier(.22,.61,.36,1);
}
.haske-primary-item.is-open > .haske-primary-panel {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.haske-collection-mega {
  position: fixed;
  top: 52px;
  left: 50%;
  width: min(1180px, calc(100vw - 44px));
  padding: 20px;
}
.haske-mega-heading {
  display: grid;
  margin-bottom: 14px;
  padding-bottom: 12px;
  align-items: end;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
}
.haske-mega-heading > span,
.haske-panel-eyebrow {
  color: var(--haske-bronze);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.haske-mega-heading > strong { color: var(--haske-ink); font: 400 22px/1.1 "Gilda Display", serif; }
.haske-mega-heading > a { color: var(--haske-forest) !important; font-size: 9px; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }
.haske-collection-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.haske-collection-card,
.haske-collection-card:hover,
.haske-collection-card:focus-visible {
  position: relative;
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(40,36,31,.12);
  border-radius: 3px;
  background: #fff;
  color: var(--haske-ink) !important;
  box-shadow: none;
  transform: none !important;
  transition: border-color 180ms ease, box-shadow 180ms ease !important;
}
.haske-collection-card:hover,
.haske-collection-card:focus-visible { border-color: var(--haske-gold); box-shadow: 0 10px 26px rgba(17,16,14,.1); }
.haske-collection-card > img { width: 100%; height: 116px; object-fit: cover; filter: saturate(.88) contrast(1.02); }
.haske-collection-card--main > img { object-position: 50% 61%; }
.haske-collection-card--annex > img { object-position: 58% 61%; }
.haske-collection-card--luxury > img { object-position: 50% 56%; }
.haske-collection-card--apartments > img { object-position: 50% 52%; }
.haske-collection-card > span:not(.haske-collection-badge) { display: grid; min-height: 105px; padding: 13px; align-content: start; gap: 5px; }
.haske-collection-card strong { color: var(--haske-ink); font: 400 17px/1.15 "Gilda Display", serif; }
.haske-collection-location { color: var(--haske-bronze); font-size: 7.5px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.haske-collection-card small { min-height: 28px; color: var(--haske-muted); font-size: 9px; line-height: 1.45; }
.haske-collection-card em { display: flex; margin-top: 2px; align-items: center; gap: 6px; color: var(--haske-bronze); font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.haske-collection-badge { position: absolute; z-index: 2; top: 9px; right: 9px; padding: 5px 8px; border-radius: 999px; background: var(--haske-gold); color: var(--haske-ink); font-size: 7px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.haske-collection-card.is-signature { border-color: rgba(189,148,90,.65); }

.haske-link-panel { display: grid; gap: 5px; }
.haske-link-panel .haske-panel-eyebrow { display: block; margin-bottom: 6px; padding-bottom: 9px; border-bottom: 1px solid var(--haske-border); }
.haske-link-panel > a {
  display: grid;
  min-height: 57px;
  padding: 9px 10px;
  align-content: center;
  gap: 3px;
  border-left: 2px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: var(--haske-ink) !important;
  transform: none !important;
  transition: border-color 180ms ease, background-color 180ms ease !important;
}
.haske-link-panel > a strong { color: inherit; font: 400 15px/1.15 "Gilda Display", serif; }
.haske-link-panel > a small { color: var(--haske-muted); font-size: 9px; line-height: 1.35; }
.haske-link-panel > a:hover,
.haske-link-panel > a:focus-visible { border-left-color: var(--haske-gold); background: rgba(74,32,40,.06); color: var(--haske-forest) !important; }

/* Drawer hierarchy shared by desktop Menu and compact mobile navigation. */
.haske-drawer-group > button i { color: var(--haske-bronze); font-size: 9px; transition: transform 180ms ease; }
.haske-drawer-group.open > button i { transform: rotate(180deg); }
.haske-drawer-preferences { display: none; }
@media (min-width: 1025px) {
  body .rixos-wrap .haske-drawer-group { position: relative; }
  body .rixos-wrap .haske-drawer-group > ul {
    position: absolute;
    z-index: 6;
    top: calc(100% - 2px);
    left: 50%;
    width: 225px;
    margin: 0 !important;
    transform: translateX(-50%);
  }
}

@media (max-width: 1024px) {
  html { scroll-padding-top: 64px; }
  body:not(.haske-staff-page) .rixos-header,
  body:not(.haske-staff-page) .rixos-header.awake,
  body:not(.haske-staff-page) .rixos-header.sleep,
  body:not(.haske-staff-page) .rixos-header.scrolled,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) {
    min-height: 60px !important;
    height: 60px !important;
  }
  body:not(.haske-staff-page) .rixos-header > .container { height: 60px; }
  body:not(.haske-staff-page) .rixos-header .row,
  body:not(.haske-staff-page) .rixos-header.scrolled .row,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .row {
    min-height: 60px !important;
    height: 60px !important;
  }
  .haske-primary-nav,
  .haske-utility-search,
  body:not(.haske-staff-page) .rixos-header .haske-header-rail,
  .haske-utility-menu,
  .haske-utility-link { display: none !important; }
  body:not(.haske-staff-page) .rixos-header .rixos-wrap-burger-wrap,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-wrap-burger-wrap {
    left: max(6px, env(safe-area-inset-left));
    width: 44px;
    height: 44px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-drawer-toggle,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle { top: 0; }
  body:not(.haske-staff-page) .header-tools-wrap,
  body:not(.haske-staff-page) .rixos-header.scrolled .header-tools-wrap { right: max(8px, env(safe-area-inset-right)); }
  .haske-header-tools { height: 44px; }
  .haske-mobile-book,
  .haske-mobile-book:hover,
  .haske-mobile-book:focus-visible {
    display: inline-flex !important;
    width: 78px !important;
    min-width: 78px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 10px !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--haske-gold) !important;
    border-radius: 3px !important;
    background: var(--haske-gold) !important;
    color: var(--haske-ink) !important;
    font-size: 9px !important;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: none !important;
  }
  .haske-mobile-book:hover,
  .haske-mobile-book:focus-visible { border-color: var(--haske-forest) !important; background: var(--haske-forest) !important; color: #fff !important; }

  body .rixos-wrap {
    inset: 0 0 0 auto;
    width: min(400px, 92vw);
    min-height: 100dvh;
    height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-left: 1px solid rgba(189,148,90,.42);
    background: rgba(255,253,248,.985) !important;
    box-shadow: -18px 0 52px rgba(17,16,14,.22);
    opacity: 1;
    visibility: visible;
    transform: translateX(104%) !important;
    transition: transform 280ms cubic-bezier(.22,.61,.36,1) !important;
  }
  body .rixos-wrap.rixos-wrap-show { transform: translateX(0) !important; }
  .haske-drawer-header {
    min-height: 72px;
    padding: 12px 58px 12px 18px;
    justify-content: flex-start;
    background: #fff;
  }
  .haske-drawer-close { top: 15px; right: 12px; width: 42px; height: 42px; }
  body .rixos-wrap .rixos-wrap-inner { display: flex; width: 100%; padding: 10px 18px 20px; }
  body .rixos-wrap .rixos-menu { border: 0; }
  body .rixos-wrap .rixos-menu > ul {
    display: block;
    min-height: 0;
    overflow: visible;
  }
  body .rixos-wrap .rixos-menu > ul > li { display: block; width: 100%; border-bottom: 1px solid rgba(40,36,31,.11); }
  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > button {
    display: flex;
    width: 100%;
    min-height: 48px;
    padding: 0 7px;
    justify-content: space-between;
    color: var(--haske-ink) !important;
    font-size: 12px;
    text-align: left;
    box-shadow: none;
  }
  body .rixos-wrap .rixos-menu > ul > li > a:hover,
  body .rixos-wrap .rixos-menu > ul > li > button:hover,
  body .rixos-wrap .rixos-menu > ul > li > a.active,
  body .rixos-wrap .rixos-menu > ul > li.current-section > button {
    padding-inline: 7px;
    background: rgba(74,32,40,.07) !important;
    color: var(--haske-forest) !important;
    box-shadow: inset 2px 0 0 var(--haske-gold);
  }
  body .rixos-wrap .rixos-menu ul ul {
    position: static;
    width: 100%;
    margin: 0 0 8px !important;
    padding: 6px !important;
    border: 0;
    border-left: 2px solid rgba(189,148,90,.55);
    border-radius: 0;
    background: rgba(248,244,236,.72);
    box-shadow: none;
    transform: none;
  }
  body .rixos-wrap .rixos-menu ul ul li a { min-height: 42px; font-size: 12px; }
  .haske-branch-directory { display: none; }
  .haske-drawer-preferences {
    display: block !important;
    margin-top: 14px;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .haske-drawer-preferences > label {
    display: grid;
    margin: 0;
    gap: 2px;
    color: var(--haske-bronze);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .haske-drawer-select { position: relative; display: block; }
  .haske-drawer-select select {
    width: 100%;
    height: 42px;
    padding: 0 30px 0 10px;
    border: 1px solid var(--haske-border);
    border-radius: 3px;
    background: #fff;
    color: var(--haske-ink);
    font-size: 11px;
    font-weight: 750;
    appearance: none;
  }
  .haske-drawer-select i {
    position: absolute;
    top: 50%;
    right: 11px;
    color: var(--haske-bronze);
    font-size: 8px;
    pointer-events: none;
    transform: translateY(-50%);
  }
  body .rixos-wrap .rixos-menu-footer {
    display: grid;
    margin-top: auto;
    padding-top: 16px;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  .haske-drawer-manage,
  .haske-drawer-book { width: 100%; min-height: 44px; }
  .haske-drawer-actions { display: contents; }
  .haske-drawer-actions a,
  .haske-drawer-actions a:hover { width: 100%; min-height: 44px; }
}

@media (max-width: 575px) {
  body:not(.haske-staff-page) .rixos-header .rixos-logo,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo {
    grid-template-columns: 29px max-content;
    gap: 5px;
    font-size: 11px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header .rixos-logo img,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
    width: 29px;
    height: 29px;
    max-width: 29px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 29px; }
  body:not(.haske-staff-page) .rixos-header .haske-logo-tagline { font-size: 5px; letter-spacing: .1em; }
  .haske-mobile-book,
  .haske-mobile-book:hover,
  .haske-mobile-book:focus-visible { width: 67px !important; min-width: 67px !important; padding: 0 7px !important; font-size: 8px !important; }
  body .rixos-wrap { width: min(390px, 94vw); }
}

@media (max-width: 370px) {
  body:not(.haske-staff-page) .rixos-header .haske-logo-copy { display: grid; }
  body:not(.haske-staff-page) .rixos-header .haske-logo-name { font-size: 9px; }
  body:not(.haske-staff-page) .rixos-header .haske-logo-tagline { display: none; }
  .haske-mobile-book,
  .haske-mobile-book:hover,
  .haske-mobile-book:focus-visible { width: 58px !important; min-width: 58px !important; font-size: 7px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .haske-primary-panel,
  .haske-primary-trigger i,
  .haske-primary-item > a::after,
  .haske-primary-trigger::after,
  body .rixos-wrap { transition: none !important; }
}

/* ===========================================================================
   Final interaction and navigation refinement — transparent dual header,
   visual collection directory, stable controls and complete site search.
   ========================================================================== */
html { scroll-padding-top: 58px; }

/* Keep every interactive silhouette and label stable between rest and hover. */
body:not(.haske-staff-page) :is(
  .button-1, .button-2, .button-3, .btn-form1-submit,
  .haske-primary-book, .haske-utility-search, .haske-utility-link,
  .haske-utility-menu > summary, .haske-drawer-toggle, .haske-drawer-close,
  .haske-drawer-manage, .haske-drawer-actions a, .haske-drawer-book,
  .haske-primary-item > a, .haske-primary-trigger, .haske-link-panel > a,
  .haske-collection-card, .haske-branch-card, .haske-room-filters button,
  .budget-presets button, .facilities2 .tab-btn
),
body:not(.haske-staff-page) :is(
  .button-1, .button-2, .button-3, .btn-form1-submit,
  .haske-primary-book, .haske-utility-search, .haske-utility-link,
  .haske-utility-menu > summary, .haske-drawer-toggle, .haske-drawer-close,
  .haske-drawer-manage, .haske-drawer-actions a, .haske-drawer-book,
  .haske-primary-item > a, .haske-primary-trigger, .haske-link-panel > a,
  .haske-collection-card, .haske-branch-card, .haske-room-filters button,
  .budget-presets button, .facilities2 .tab-btn
):is(:hover, :focus, :focus-visible, :active) {
  box-sizing: border-box;
  font-variation-settings: normal !important;
  transform: none !important;
}

/* Both bars float over the opening image; only the utility bar remains sticky. */
body:not(.haske-staff-page) .rixos-header,
body:not(.haske-staff-page) .rixos-header:not(.scrolled),
body:not(.haske-staff-page) .rixos-header.awake,
body:not(.haske-staff-page) .rixos-header.sleep {
  min-height: 96px !important;
  height: 96px !important;
  transform: none !important;
  transition: height 220ms ease !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled {
  min-height: 44px !important;
  height: 44px !important;
}
body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
  border-bottom-color: rgba(255,255,255,.16);
  background: linear-gradient(90deg, rgba(17,16,14,.34), rgba(17,16,14,.14) 48%, rgba(17,16,14,.34)) !important;
  -webkit-backdrop-filter: blur(6px) saturate(112%);
  backdrop-filter: blur(6px) saturate(112%);
}
body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  background: rgba(17,16,14,.94) !important;
  -webkit-backdrop-filter: blur(15px) saturate(112%);
  backdrop-filter: blur(15px) saturate(112%);
}
.haske-primary-nav {
  border-bottom-color: rgba(255,255,255,.19);
  background: linear-gradient(90deg, rgba(17,16,14,.25), rgba(17,16,14,.08) 50%, rgba(17,16,14,.25)) !important;
  -webkit-backdrop-filter: blur(7px) saturate(112%);
  backdrop-filter: blur(7px) saturate(112%);
  box-shadow: 0 8px 24px rgba(17,16,14,.08);
  opacity: 1;
  visibility: visible;
  transform: translateY(0) !important;
  transition: opacity 180ms ease, visibility 180ms ease, transform 220ms ease, background-color 180ms ease !important;
}
.haske-primary-item { flex: 0 0 auto; min-width: max-content; }
.haske-primary-item > a,
.haske-primary-trigger {
  min-width: max-content;
  color: rgba(255,255,255,.96) !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.34);
}
.haske-primary-trigger i { color: #e1c18c; }
.haske-primary-item:hover > a,
.haske-primary-item > a:focus-visible,
.haske-primary-item > a.active,
.haske-primary-item:hover > .haske-primary-trigger,
.haske-primary-item.is-open > .haske-primary-trigger,
.haske-primary-item.current-section > .haske-primary-trigger {
  background: rgba(74,32,40,.76) !important;
  color: #fff !important;
}
.rixos-header.scrolled .haske-primary-nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-100%) !important;
}
.haske-primary-panel { text-shadow: none; }
.haske-collection-mega { top: 96px; }
.rixos-header.scrolled .haske-primary-panel { display: none !important; }

.haske-utility-search {
  margin: 0;
  border-top: 0;
  border-bottom: 0;
  border-left: 1px solid rgba(189,148,90,.22);
  border-right: 1px solid rgba(189,148,90,.22);
  border-radius: 0 !important;
  background: transparent !important;
  font-family: "Urbanist", sans-serif;
  line-height: 1;
  cursor: pointer;
}
.haske-utility-search:hover,
.haske-utility-search:focus-visible,
.haske-utility-menu > summary:hover,
.haske-utility-menu[open] > summary,
.haske-utility-link:hover,
.haske-utility-link:focus-visible,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-menu > summary:hover,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-menu[open] > summary,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-link:hover,
body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-link:focus-visible {
  border-radius: 0 !important;
}
.rixos-header.scrolled .haske-utility-panel { top: calc(100% + 6px); }

/* Premium horizontal navigation drawer with photographic property choices. */
body .rixos-wrap {
  max-height: min(640px, 100dvh);
  background-color: rgba(255,253,248,.975) !important;
  background-image:
    radial-gradient(circle at 9% -8%, rgba(189,148,90,.15), transparent 31%),
    radial-gradient(circle at 92% 10%, rgba(74,32,40,.065), transparent 27%),
    linear-gradient(118deg, rgba(255,255,255,.96), rgba(248,244,236,.96)) !important;
}
body .rixos-wrap .rixos-wrap-inner {
  width: min(1320px, 100%);
  padding-bottom: 22px;
}
body .rixos-wrap .rixos-menu > ul { min-height: 58px; gap: clamp(12px, 2vw, 30px); }
body .rixos-wrap .rixos-menu > ul > li,
body .rixos-wrap .rixos-menu > ul > li > a,
body .rixos-wrap .rixos-menu > ul > li > button {
  min-width: max-content;
  white-space: nowrap;
}
body .rixos-wrap .rixos-menu > ul > li > a,
body .rixos-wrap .rixos-menu > ul > li > button,
body .rixos-wrap .rixos-menu > ul > li > a:hover,
body .rixos-wrap .rixos-menu > ul > li > button:hover {
  min-height: 48px;
  padding: 0 0 2px;
  border-radius: 0;
  font-size: 10px;
  line-height: 1;
}
body .rixos-wrap .haske-drawer-group > ul {
  width: 260px;
  padding: 9px !important;
  border: 1px solid rgba(189,148,90,.32);
  border-top: 2px solid var(--haske-gold);
  background: rgba(255,253,248,.99);
  box-shadow: 0 18px 40px rgba(17,16,14,.16);
}
body .rixos-wrap .haske-drawer-group > ul li a,
body .rixos-wrap .haske-drawer-group > ul li a:hover,
body .rixos-wrap .haske-drawer-group > ul li a:focus-visible {
  display: flex;
  width: 100%;
  min-height: 40px;
  padding: 0 11px;
  align-items: center;
  border-radius: 2px;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
}
.haske-drawer-submenu-open .haske-branch-directory { margin-top: 72px; }
@media (min-width: 1025px) {
  body .rixos-wrap .haske-drawer-group > ul {
    display: grid;
    width: max-content;
    min-width: 390px;
    max-width: min(560px,calc(100vw - 44px));
    padding: 7px !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(118px,1fr);
    grid-template-columns: none;
    gap: 4px;
  }
  body .rixos-wrap .haske-drawer-group > ul li { min-width: 118px; }
  body .rixos-wrap .haske-drawer-group > ul li a,
  body .rixos-wrap .haske-drawer-group > ul li a:hover,
  body .rixos-wrap .haske-drawer-group > ul li a:focus-visible {
    justify-content: center;
    text-align: center;
  }
}
.haske-branch-directory { margin-top: 16px; padding-bottom: 16px; }
.haske-branch-directory__intro {
  margin-bottom: 11px;
  grid-template-columns: minmax(150px,.5fr) minmax(0,1.5fr);
}
.haske-branch-directory h2 { font-size: clamp(20px,1.8vw,27px); }
.haske-branch-directory__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  border: 0;
  overflow: visible;
}
.haske-branch-card,
.haske-branch-card:hover,
.haske-branch-card:focus,
.haske-branch-card:active {
  display: grid;
  min-width: 0;
  min-height: 206px;
  padding: 0;
  grid-template-rows: 116px minmax(82px,auto);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(40,36,31,.12);
  border-radius: 4px;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(17,16,14,.055) !important;
}
.haske-branch-card:first-child,
.haske-branch-card:last-child { padding: 0; }
.haske-branch-card::before,
.haske-branch-card::after { content: none !important; }
.haske-branch-card figure {
  position: relative;
  width: 100%;
  height: 116px;
  margin: 0;
  overflow: hidden;
  background: var(--haske-black);
}
.haske-branch-card figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(17,16,14,.05), rgba(17,16,14,.34));
  pointer-events: none;
}
.haske-branch-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.04);
  transition: filter 220ms ease !important;
}

.haske-branch-card--main figure img { object-position: 50% 50%; }
.haske-branch-card--annex figure img { object-position: 58% 50%; }
.haske-branch-card--luxury figure img { object-position: 50% 50%; }
.haske-branch-card--apartments figure img { object-position: 50% 50%; }
.haske-branch-card:hover figure img,
.haske-branch-card:focus-visible figure img { filter: saturate(1) contrast(1.05); }
.haske-branch-card .haske-branch-card__number {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 11px;
  min-height: 0;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
}
.haske-branch-card figure em {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 9px;
  margin: 0;
  padding: 4px 7px;
  border: 1px solid rgba(255,255,255,.58);
  background: rgba(189,148,90,.88);
  color: var(--haske-black);
  font-size: 7px;
  line-height: 1;
}
.haske-branch-card__content {
  display: grid;
  min-width: 0;
  min-height: 82px;
  padding: 11px 38px 12px 12px;
  align-content: start;
  gap: 3px;
}
.haske-branch-card__content > small {
  min-height: 0;
  color: var(--haske-bronze);
  font-size: 7px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.haske-branch-card__content > strong {
  min-height: 0;
  overflow: visible;
  color: var(--haske-ink);
  font: 400 clamp(15px,1.22vw,18px)/1.12 "Gilda Display", serif;
  text-wrap: balance;
  white-space: normal;
}
.haske-branch-card__content > span {
  color: var(--haske-muted);
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.3;
}
.haske-branch-card > i {
  top: auto;
  right: 13px;
  bottom: 17px;
  color: var(--haske-gold);
  opacity: 1;
}
.haske-branch-card.is-luxury,
.haske-branch-card.is-luxury:hover,
.haske-branch-card.is-luxury:focus-visible {
  border-color: rgba(189,148,90,.7);
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(138,101,54,.14) !important;
}
body .rixos-wrap .rixos-menu-footer {
  position: static;
  inset: auto;
  display: grid;
  width: 100%;
  min-height: 54px;
  margin-top: 0;
  padding-top: 12px;
  align-items: center;
  grid-template-columns: max-content max-content minmax(220px,1fr);
  gap: 8px;
  transform: none;
}
.haske-drawer-actions { display: grid; grid-template-columns: max-content max-content; gap: 8px; }
.haske-drawer-manage,
.haske-drawer-actions a,
.haske-drawer-book,
.haske-drawer-manage:hover,
.haske-drawer-actions a:hover,
.haske-drawer-book:hover {
  min-width: 0;
  min-height: 42px;
  height: 42px;
  margin: 0;
  padding: 0 13px;
  border-radius: 999px;
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
}
.haske-drawer-book { width: 100%; justify-self: stretch; }

/* Site-wide search, built from verified pages and the live room catalogue. */
.haske-site-search {
  position: fixed;
  z-index: 100020;
  top: 72px;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(860px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 92px);
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(189,148,90,.52);
  border-top: 3px solid var(--haske-gold);
  border-radius: 5px;
  background: rgba(255,253,248,.985);
  color: var(--haske-ink);
  box-shadow: 0 30px 90px rgba(17,16,14,.3);
  transform: translateX(-50%);
}
.haske-site-search::backdrop {
  background: rgba(17,16,14,.66);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.haske-site-search__surface {
  display: grid;
  max-height: calc(100dvh - 95px);
  padding: clamp(20px,3vw,32px);
  grid-template-rows: auto auto auto minmax(0,1fr) auto;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% -12%, rgba(189,148,90,.15), transparent 30%),
    linear-gradient(135deg, #fff, rgba(248,244,236,.94));
}
.haske-site-search__header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.haske-site-search__header span {
  color: var(--haske-bronze);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.haske-site-search__header h2 {
  margin: 5px 0 17px;
  color: var(--haske-black);
  font: 400 clamp(26px,3.3vw,40px)/1.08 "Gilda Display", serif;
}
.haske-site-search__close,
.haske-site-search__close:hover,
.haske-site-search__close:focus-visible {
  display: grid;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  place-items: center;
  border: 1px solid var(--haske-border);
  border-radius: 50%;
  background: rgba(255,255,255,.76);
  color: var(--haske-ink);
  transform: none !important;
}
.haske-site-search__close:hover { border-color: var(--haske-forest); background: var(--haske-forest); color: #fff; }
.haske-site-search__form {
  display: grid;
  min-height: 62px;
  grid-template-columns: 46px minmax(0,1fr) 112px;
  align-items: center;
  border: 1px solid rgba(40,36,31,.2);
  border-bottom: 2px solid var(--haske-gold);
  background: #fff;
}
.haske-site-search__form > i { color: var(--haske-gold); font-size: 17px; text-align: center; }
.haske-site-search__form input {
  width: 100%;
  min-width: 0;
  height: 60px;
  padding: 0 12px 0 0;
  border: 0;
  background: transparent;
  color: var(--haske-black);
  font: 500 17px/1.2 "Urbanist", sans-serif;
  outline: 0;
}
.haske-site-search__form button,
.haske-site-search__form button:hover,
.haske-site-search__form button:focus-visible {
  width: 112px;
  min-width: 112px;
  height: 60px;
  min-height: 60px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-left: 1px solid rgba(138,101,54,.28);
  border-radius: 0;
  background: var(--haske-gold);
  color: var(--haske-black);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: none !important;
}
.haske-site-search__form button:hover,
.haske-site-search__form button:focus-visible { background: var(--haske-forest); color: #fff; }
.haske-site-search__meta {
  display: flex;
  min-height: 37px;
  padding: 9px 1px 6px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.haske-site-search__meta p,
.haske-site-search__meta span { margin: 0; color: var(--haske-muted); font-size: 9px; line-height: 1.35; }
.haske-site-search__meta span { color: var(--haske-bronze); font-weight: 800; white-space: nowrap; }
.haske-site-search__results {
  display: grid;
  min-height: 0;
  margin: 0;
  padding: 2px 4px 3px 0;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  overflow-y: auto;
  list-style: none;
  scrollbar-color: var(--haske-gold) transparent;
}
.haske-site-search__results li { min-width: 0; }
.haske-search-result,
.haske-search-result:hover,
.haske-search-result:focus-visible {
  display: grid;
  min-width: 0;
  min-height: 76px;
  padding: 10px 11px;
  align-items: center;
  grid-template-columns: 38px minmax(0,1fr) 16px;
  gap: 10px;
  border: 1px solid rgba(40,36,31,.11);
  border-left: 2px solid transparent;
  border-radius: 3px;
  background: rgba(255,255,255,.8);
  color: var(--haske-ink) !important;
  transform: none !important;
}
.haske-search-result:hover,
.haske-search-result:focus-visible { border-color: rgba(189,148,90,.45); border-left-color: var(--haske-forest); background: #fff; }
.haske-search-result__icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(189,148,90,.4);
  border-radius: 50%;
  color: var(--haske-bronze);
}
.haske-search-result__copy { display: grid; min-width: 0; gap: 2px; }
.haske-search-result__copy small { color: var(--haske-bronze); font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.haske-search-result__copy strong { overflow: hidden; color: var(--haske-black); font: 400 16px/1.15 "Gilda Display", serif; text-overflow: ellipsis; white-space: nowrap; }
.haske-search-result__copy > span { overflow: hidden; color: var(--haske-muted); font-size: 8.5px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.haske-search-result > i { color: var(--haske-gold); font-size: 10px; }
.haske-site-search__empty {
  display: grid;
  min-height: 160px;
  grid-column: 1 / -1;
  place-items: center;
  align-content: center;
  gap: 5px;
  color: var(--haske-muted);
  text-align: center;
}
.haske-site-search__empty i { color: var(--haske-gold); font-size: 22px; }
.haske-site-search__empty strong { color: var(--haske-black); font: 400 21px/1.2 "Gilda Display", serif; }
.haske-site-search__empty span { font-size: 10px; }
.haske-site-search__footer {
  display: flex;
  margin-top: 10px;
  padding-top: 12px;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  border-top: 1px solid var(--haske-border);
  color: var(--haske-muted);
  font-size: 9px;
}
.haske-site-search__footer a { color: var(--haske-whatsapp) !important; font-weight: 850; }
.haske-site-search__footer a i { margin-right: 4px; }
body.haske-search-open { overflow: hidden; }

/* Management remains private burgundy; only its lockup and interactions align. */
.haske-staff-page :is(
  .haske-portal-return, .haske-portal-brand, .haske-dashboard-user a,
  .haske-dashboard-tabs button, .haske-dashboard-controls button,
  .haske-staff-signin, .haske-staff-activation button,
  .haske-chart-metrics button, .haske-operation-row, .haske-status-editor button
),
.haske-staff-page :is(
  .haske-portal-return, .haske-portal-brand, .haske-dashboard-user a,
  .haske-dashboard-tabs button, .haske-dashboard-controls button,
  .haske-staff-signin, .haske-staff-activation button,
  .haske-chart-metrics button, .haske-operation-row, .haske-status-editor button
):is(:hover, :focus, :focus-visible, :active) {
  box-sizing: border-box;
  font-variation-settings: normal !important;
  transform: none !important;
}
.haske-staff-login__brand h1 {
  max-width: 520px;
  font-size: clamp(42px,4.8vw,64px);
  line-height: 1.01;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.haske-portal-brand,
.haske-portal-brand:hover,
.haske-portal-brand:focus-visible {
  display: grid;
  grid-template-columns: 42px max-content;
  align-items: center;
  justify-self: center;
  gap: 8px;
  color: var(--haske-ink) !important;
}
.haske-portal-brand > .haske-logo-mark,
.haske-portal-brand .haske-logo-mark img { width: 42px; height: 42px; flex-basis: 42px; }
.haske-portal-brand .haske-logo-copy { display: grid; gap: 3px; }
.haske-portal-brand .haske-logo-name { color: var(--haske-ink); font: 400 17px/1 "Gilda Display", serif; letter-spacing: .13em; white-space: nowrap; }
.haske-portal-brand .haske-logo-tagline { color: var(--haske-bronze); font-size: 6px; font-weight: 850; letter-spacing: .14em; }
.haske-dashboard-tabs { scrollbar-width: none; }
.haske-dashboard-tabs::-webkit-scrollbar { display: none; }
.haske-dashboard-tabs button { white-space: nowrap; }
.haske-dashboard-tabs button:focus-visible { outline-color: var(--haske-gold) !important; outline-offset: -2px !important; }
.haske-table-wrap table th:first-child,
.haske-table-wrap table td:first-child { position: sticky; left: 0; z-index: 2; background: inherit; }

@media (max-width: 1320px) and (min-width: 1025px) {
  .haske-primary-item > a,
  .haske-primary-trigger { padding-inline: 7px; font-size: 8px; letter-spacing: .065em; }
  .haske-primary-book { width: 136px; min-width: 136px; padding-inline: 10px; font-size: 8.5px; }
  .haske-header-tools { gap: 0; }
  .haske-utility-menu > summary,
  .haske-utility-link { padding-inline: 8px; }
}

@media (max-width: 1024px) {
  html { scroll-padding-top: 64px; }
  body:not(.haske-staff-page) .rixos-header,
  body:not(.haske-staff-page) .rixos-header:not(.scrolled),
  body:not(.haske-staff-page) .rixos-header.scrolled,
  body:not(.haske-staff-page) .rixos-header.awake,
  body:not(.haske-staff-page) .rixos-header.sleep {
    min-height: 60px !important;
    height: 60px !important;
  }
  body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
    background: linear-gradient(90deg, rgba(17,16,14,.36), rgba(17,16,14,.15) 50%, rgba(17,16,14,.36)) !important;
  }
  body .rixos-wrap .rixos-wrap-inner { overflow-y: auto; }
  body .rixos-wrap .rixos-menu > ul > li,
  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > button,
  body .rixos-wrap .rixos-menu ul ul li a {
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
  }
  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > button,
  body .rixos-wrap .rixos-menu > ul > li > a:hover,
  body .rixos-wrap .rixos-menu > ul > li > button:hover {
    min-height: 46px;
    padding-inline: 8px;
    font-size: 11px;
  }
  body .rixos-wrap .haske-drawer-group > ul {
    position: static;
    width: 100%;
    padding: 5px 7px !important;
    border: 0;
    border-left: 2px solid rgba(189,148,90,.55);
    background: rgba(248,244,236,.72);
    box-shadow: none;
    transform: none;
  }
  .haske-branch-directory,
  .haske-drawer-submenu-open .haske-branch-directory { display: block; margin-top: 14px; padding-bottom: 14px; }
  .haske-branch-directory__intro { display: block; margin-bottom: 9px; }
  .haske-branch-directory__intro h2 { margin-top: 4px; font-size: 18px; }
  .haske-branch-directory__grid {
    display: flex;
    margin-right: -18px;
    padding: 0 18px 5px 0;
    gap: 9px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .haske-branch-directory__grid::-webkit-scrollbar { display: none; }
  .haske-branch-card,
  .haske-branch-card:hover,
  .haske-branch-card:focus,
  .haske-branch-card:active {
    flex: 0 0 min(245px,78vw);
    min-height: 192px;
    grid-template-rows: 108px minmax(80px,auto);
    scroll-snap-align: start;
  }
  .haske-branch-card figure { height: 108px; }
  .haske-branch-card__content > strong { font-size: 16px; }
  body .rixos-wrap .rixos-menu-footer {
    display: grid;
    min-height: 0;
    margin-top: 0;
    padding-top: 12px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
  }
  .haske-drawer-manage { grid-column: 1 / -1; width: 100%; }
  .haske-drawer-actions { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .haske-drawer-book { grid-column: 1 / -1; width: 100%; }
  .haske-drawer-manage,
  .haske-drawer-actions a,
  .haske-drawer-book,
  .haske-drawer-manage:hover,
  .haske-drawer-actions a:hover,
  .haske-drawer-book:hover {
    width: 100%;
    min-width: 0;
    min-height: 43px;
    height: 43px;
    padding-inline: 8px;
    font-size: 9px;
  }
  .haske-site-search { top: 70px; width: min(720px,calc(100vw - 22px)); max-height: calc(100dvh - 82px); }
  .haske-site-search__surface { max-height: calc(100dvh - 85px); }
}

@media (max-width: 575px) {
  .haske-site-search { top: 8px; width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .haske-site-search__surface { max-height: calc(100dvh - 19px); padding: 18px 14px 14px; }
  .haske-site-search__header h2 { max-width: 270px; margin-bottom: 14px; font-size: 27px; }
  .haske-site-search__form { min-height: 54px; grid-template-columns: 38px minmax(0,1fr) 76px; }
  .haske-site-search__form input { height: 52px; font-size: 14px; }
  .haske-site-search__form button,
  .haske-site-search__form button:hover,
  .haske-site-search__form button:focus-visible { width: 76px; min-width: 76px; height: 52px; min-height: 52px; padding-inline: 8px; font-size: 8px; }
  .haske-site-search__meta { align-items: start; flex-direction: column; gap: 3px; }
  .haske-site-search__meta span { white-space: normal; }
  .haske-site-search__results { grid-template-columns: 1fr; }
  .haske-search-result { min-height: 70px; }
  .haske-site-search__footer { justify-content: space-between; }
  .haske-staff-login__brand h1 { font-size: 39px; }
  .haske-portal-brand,
  .haske-portal-brand:hover,
  .haske-portal-brand:focus-visible { grid-template-columns: 32px max-content; gap: 5px; }
  .haske-portal-brand > .haske-logo-mark,
  .haske-portal-brand .haske-logo-mark img { width: 32px; height: 32px; flex-basis: 32px; }
  .haske-portal-brand .haske-logo-name { font-size: 11px; letter-spacing: .1em; }
  .haske-portal-brand .haske-logo-tagline { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .haske-primary-nav,
  .haske-branch-card figure img { transition: none !important; }
}

/* Reference-scaled header type and precisely centred hero reservation form. */
.haske-primary-nav__inner { box-sizing: border-box; }
@media (min-width: 1025px) {
  body:not(.haske-staff-page) .rixos-header .rixos-logo,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo {
    grid-template-columns: 36px max-content;
    gap: 8px;
    font-size: 16px;
    line-height: 1;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header .rixos-logo img,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
    width: 36px;
    height: 36px;
    max-width: 36px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 36px; }
  body:not(.haske-staff-page) .rixos-header .haske-logo-tagline,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
    font-size: 6px;
    letter-spacing: .14em;
  }
  body:not(.haske-staff-page) .rixos-header .haske-header-rail,
  body:not(.haske-staff-page) .rixos-header .haske-utility-search,
  body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-menu > summary,
  body:not(.haske-staff-page) .rixos-header .haske-header-tools .haske-utility-link {
    font-size: 10px !important;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .1em;
  }
  .haske-primary-item > a,
  .haske-primary-trigger {
    padding-inline: clamp(6px, .72vw, 12px);
    font-size: clamp(10px, .94vw, 12px) !important;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .1em;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible {
    width: clamp(150px, 14vw, 180px);
    min-width: 150px;
    gap: 8px;
    font-size: clamp(10.5px, 1vw, 12.5px) !important;
    font-weight: 700;
    letter-spacing: .1em;
  }
}

/* The compact sticky utility bar returns to white while retaining contrast. */
body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  border-bottom-color: rgba(189,148,90,.42);
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 8px 24px rgba(17,16,14,.09);
  -webkit-backdrop-filter: blur(15px) saturate(112%);
  backdrop-filter: blur(15px) saturate(112%);
}
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-rail,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-utility-search,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-tools .haske-utility-menu > summary,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-tools .haske-utility-link {
  color: var(--haske-ink) !important;
  text-shadow: none !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
  color: var(--haske-bronze) !important;
  text-shadow: none !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-utility-search,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-tools .haske-utility-menu > summary,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-header-tools .haske-utility-link {
  border-color: rgba(189,148,90,.34) !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-utility-search i,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-utility-menu > summary > i,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-utility-link i,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-utility-currency-symbol {
  color: var(--haske-bronze) !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle__lines > span {
  background: var(--haske-bronze);
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle:hover,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle:focus-visible {
  background: rgba(74,32,40,.07) !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle:hover .haske-drawer-toggle__lines > span,
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle:focus-visible .haske-drawer-toggle__lines > span {
  background: var(--haske-forest);
}

.home-hero-stage .booking-wrapper,
.home-hero-stage .booking-wrapper > .container,
.home-hero-stage .booking-inner,
.home-hero-stage .form1 {
  margin-inline: auto;
}
.home-hero-stage .booking-wrapper > .container {
  display: flex;
  justify-content: center;
}
.home-hero-stage .booking-inner { flex: 0 1 1120px; }
.home-hero-stage .form1.clearfix::before,
.home-hero-stage .form1.clearfix::after {
  display: none;
  content: none;
}
.home-hero-stage .form1 .input1_inner input {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: 0 42px 0 18px;
  font-family: "Urbanist", sans-serif;
  font-size: 14px;
  font-weight: 550;
  line-height: 1.2;
  letter-spacing: .01em;
}
.home-hero-stage .form1 .input1_inner input::placeholder {
  font: inherit;
  letter-spacing: inherit;
}
.home-hero-stage .form1 .input1_inner::after {
  top: 50%;
  right: 18px;
  font-size: 14px;
  transform: translateY(-50%);
}
.home-hero-stage .form1 .select2-container,
.home-hero-stage .form1 .selection,
.home-hero-stage .form1 .select2-selection--single {
  display: block;
  width: 100% !important;
  height: 100%;
}
.home-hero-stage .form1 .select2-selection--single .select2-selection__rendered {
  box-sizing: border-box;
  display: flex;
  height: 100%;
  padding: 0 42px 0 18px;
  align-items: center;
  font-family: "Urbanist", sans-serif;
  font-size: 14px;
  font-weight: 550;
  line-height: 1.2;
  letter-spacing: .01em;
}
.home-hero-stage .form1 .select2-selection--single .select2-selection__arrow {
  top: 0;
  height: 100%;
}
.home-hero-stage .btn-form1-submit,
.home-hero-stage .btn-form1-submit:hover,
.home-hero-stage .btn-form1-submit:focus-visible {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Urbanist", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
body.haske-home .ui-datepicker,
body.haske-home .select2-results__option { font-size: 14px; }

@media (max-width: 575px) {
  .home-hero-stage .form1 .input1_inner input,
  .home-hero-stage .form1 .select2-selection--single .select2-selection__rendered { font-size: 13px; }
  .home-hero-stage .btn-form1-submit,
  .home-hero-stage .btn-form1-submit:hover,
  .home-hero-stage .btn-form1-submit:focus-visible { font-size: 10px; }
}

/* Final floating utility line, booking-toned navigation and direct preferences. */
body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
  border-bottom-color: transparent;
  background: transparent !important;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-nav {
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom-color: rgba(189,148,90,.34);
  background: rgba(17,16,14,.52) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
  -webkit-backdrop-filter: blur(8px) saturate(112%);
  backdrop-filter: blur(8px) saturate(112%);
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-drawer-toggle,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-utility-search,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-menu > summary,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-link {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-shadow: 0 1px 13px rgba(0,0,0,.72);
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-drawer-toggle:hover,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-drawer-toggle:focus-visible,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-utility-search:hover,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-utility-search:focus-visible,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-menu > summary:hover,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-menu[open] > summary,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-link:hover,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-link:focus-visible {
  border-radius: 3px !important;
  background: rgba(74,32,40,.9) !important;
  color: #fff !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-rail,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-utility-search,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-menu > summary,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-header-tools .haske-utility-link {
  text-shadow: 0 1px 13px rgba(0,0,0,.72);
}

@media (min-width: 1025px) {
  body:not(.haske-staff-page) .rixos-header .rixos-logo,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:hover,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:focus {
    grid-template-columns: 38px max-content;
    gap: 8px;
    font-size: 18px;
    line-height: 1;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header .rixos-logo img,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
    width: 38px;
    height: 38px;
    max-width: 38px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 38px; }
  body:not(.haske-staff-page) .rixos-header .haske-logo-tagline,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
    font-size: 6px;
    letter-spacing: .16em;
  }
}

.haske-utility-panel__label {
  display: block;
  margin: 0 0 8px;
  color: var(--haske-bronze);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.haske-language-panel { width: 208px; }
.haske-currency-panel { width: 228px; }
.haske-utility-choices {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 5px;
}
.haske-language-panel .haske-utility-choice { grid-template-columns: 1fr auto; }
.haske-utility-choice,
.haske-utility-choice:hover,
.haske-utility-choice:focus-visible {
  display: grid;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 7px 8px;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  gap: 6px;
  border: 1px solid rgba(40,36,31,.12);
  border-radius: 3px;
  background: #fff !important;
  color: var(--haske-ink) !important;
  box-shadow: none !important;
  font-family: "Urbanist", sans-serif;
  line-height: 1;
  text-align: left;
  transform: none !important;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease !important;
}
.haske-utility-choice > strong {
  color: var(--haske-bronze);
  font-size: 14px;
  font-weight: 700;
}
.haske-utility-choice > span {
  overflow: hidden;
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.haske-utility-choice > small {
  color: var(--haske-muted);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .08em;
}
.haske-utility-choice:hover,
.haske-utility-choice:focus-visible {
  border-color: rgba(74,32,40,.52);
  background: rgba(74,32,40,.06) !important;
  color: var(--haske-forest) !important;
}
.haske-utility-choice.is-active {
  border-color: var(--haske-gold);
  background: rgba(189,148,90,.13) !important;
  box-shadow: inset 2px 0 0 var(--haske-forest) !important;
}

@media (min-width: 1025px) and (max-width: 1180px) {
  .haske-primary-item > a,
  .haske-primary-trigger {
    padding-inline: 5px;
    font-size: 9.5px !important;
    letter-spacing: .065em;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible {
    width: 138px;
    min-width: 138px;
    padding-inline: 9px;
    font-size: 10px !important;
  }
}

@media (max-width: 1024px) {
  body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
    background: transparent !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Home-page introduction: an editorial expression of the owner's vision. */
.haske-home-about {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(82px, 8vw, 124px) 24px;
  border-top: 1px solid var(--haske-border);
  border-bottom: 1px solid var(--haske-border);
  background:
    linear-gradient(90deg,rgba(74,32,40,.035),transparent 22%,transparent 78%,rgba(189,148,90,.055)),
    var(--haske-surface);
  color: var(--haske-ink);
}
.haske-home-about::before {
  position: absolute;
  z-index: -1;
  top: -180px;
  right: -130px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(189,148,90,.16),rgba(74,32,40,.045) 42%,transparent 70%);
  content: "";
  pointer-events: none;
}
.haske-home-about::after {
  position: absolute;
  z-index: -1;
  bottom: -70px;
  left: clamp(18px,4vw,72px);
  color: rgba(40,36,31,.035);
  content: "GD";
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(180px,20vw,330px);
  font-style: italic;
  font-weight: 600;
  letter-spacing: -.12em;
  line-height: .7;
  pointer-events: none;
  user-select: none;
}
.haske-home-about__inner {
  display: grid;
  max-width: 1240px;
  margin: 0 auto;
  align-items: center;
  grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr);
  gap: clamp(52px,8vw,108px);
}
.haske-home-about__content { min-width: 0; }
.haske-home-about__visual {
  display: grid;
  min-width: 0;
  gap: 16px;
}
.haske-home-about__campus {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(189,148,90,.5);
  border-radius: 5px;
  background: var(--haske-black);
  box-shadow: 0 28px 66px rgba(17,16,14,.15);
}
.haske-home-about__campus::after {
  position: absolute;
  inset: auto 0 0;
  height: 54%;
  background: linear-gradient(180deg,transparent,rgba(12,11,10,.82));
  content: "";
  pointer-events: none;
}
.haske-home-about__campus img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 51%;
}
.haske-home-about__campus figcaption {
  position: absolute;
  z-index: 1;
  right: 22px;
  bottom: 18px;
  left: 22px;
  display: grid;
  color: #fff;
  gap: 2px;
}
.haske-home-about__campus figcaption span {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.05;
}
.haske-home-about__campus figcaption small {
  color: rgba(255,255,255,.76);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.haske-home-about__eyebrow {
  display: inline-flex;
  margin-bottom: 23px;
  align-items: center;
  gap: 12px;
  color: var(--haske-forest);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.haske-home-about__eyebrow::before {
  width: 46px;
  height: 1px;
  background: var(--haske-gold);
  content: "";
}
.haske-home-about h2 {
  max-width: 720px;
  margin: 0 0 29px;
  color: var(--haske-black);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(50px,5.55vw,76px);
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.038em;
  text-wrap: balance;
}
.haske-home-about__content > p {
  max-width: 690px;
  margin: 0 0 16px;
  color: var(--haske-muted);
  font-size: 15px;
  line-height: 1.8;
}
.haske-home-about__content > .haske-home-about__lead {
  color: var(--haske-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(23px,2vw,29px);
  font-weight: 500;
  line-height: 1.42;
}
.haske-home-about__owner {
  display: grid;
  margin-top: 26px;
  padding: 2px 0 2px 18px;
  border-left: 1px solid var(--haske-gold);
  gap: 2px;
}
.haske-home-about__owner span {
  color: var(--haske-black);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 29px;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
}
.haske-home-about__owner small {
  color: var(--haske-bronze);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.haske-home-about__actions {
  display: flex;
  margin-top: 32px;
  flex-wrap: wrap;
  gap: 10px;
}
.haske-about-button,
.haske-about-button:hover,
.haske-about-button:focus-visible {
  display: inline-flex;
  min-height: 50px;
  padding: 12px 23px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--haske-gold);
  border-radius: 3px;
  box-shadow: none !important;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
  transform: none !important;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease !important;
}
.haske-about-button--gold { background: var(--haske-gold) !important; color: var(--haske-black) !important; }
.haske-about-button--outline { background: transparent !important; color: var(--haske-ink) !important; }
.haske-about-button--gold:hover,
.haske-about-button--gold:focus-visible,
.haske-about-button--outline:hover,
.haske-about-button--outline:focus-visible {
  border-color: var(--haske-forest) !important;
  background: var(--haske-forest) !important;
  color: #fff !important;
}
.haske-home-about__facts {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(189,148,90,.52);
  border-radius: 5px;
  background:
    radial-gradient(circle at 100% 0,rgba(74,32,40,.8),transparent 49%),
    linear-gradient(145deg,var(--haske-black),#1c1a17);
  box-shadow: 0 28px 66px rgba(17,16,14,.16);
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.haske-home-fact {
  display: flex;
  min-height: 174px;
  padding: 28px 20px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-right: 1px solid rgba(215,183,122,.2);
  border-bottom: 1px solid rgba(215,183,122,.2);
  text-align: center;
}
.haske-home-fact:nth-child(2n) { border-right: 0; }
.haske-home-fact:nth-last-child(-n+2) { border-bottom: 0; }
.haske-home-fact strong {
  margin-bottom: 10px;
  color: #d7b77a;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(42px,4.4vw,58px);
  font-weight: 600;
  line-height: 1;
}
.haske-home-fact span {
  max-width: 145px;
  color: rgba(255,253,248,.78);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.48;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.haske-home .footer { border-top: 1px solid rgba(189,148,90,.45); }

@media (max-width: 991px) {
  .haske-home-about__inner { grid-template-columns: 1fr; gap: 42px; }
  .haske-home-about__content { max-width: 820px; }
  .haske-home-about__facts { width: 100%; max-width: 720px; }
}

@media (max-width: 575px) {
  .haske-home-about { padding: 60px 18px; }
  .haske-home-about::after { display: none; }
  .haske-home-about h2 { font-size: clamp(42px,12vw,54px); }
  .haske-home-about__content > p { font-size: 14px; line-height: 1.7; }
  .haske-home-about__content > .haske-home-about__lead { font-size: 22px; line-height: 1.42; }
  .haske-home-about__owner span { font-size: 26px; }
  .haske-home-about__actions { display: grid; grid-template-columns: 1fr; }
  .haske-about-button { width: 100%; }
  .haske-home-fact { min-height: 138px; padding: 22px 12px; }
  .haske-home-fact strong { font-size: 38px; }
  .haske-home-fact span { font-size: 9px; letter-spacing: .09em; }
  .haske-home-about__campus figcaption { right: 16px; bottom: 14px; left: 16px; }
  .haske-home-about__campus figcaption span { font-size: 21px; }
}

/* Cinematic stories — background film with a single floating editorial rail. */
.haske-cinema {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(650px,76vh,820px);
  overflow: hidden;
  background: var(--haske-black);
  color: var(--haske-surface);
}
.haske-cinema__media,
.haske-cinema__poster,
.haske-cinema__scrim {
  position: absolute;
  inset: 0;
}
.haske-cinema__media { z-index: -3; overflow: hidden; background: var(--haske-black); }
.haske-cinema__poster {
  z-index: 0;
  background-image: url("../img/property/luxury-aerial.webp");
  background-position: center;
  background-size: cover;
}
.haske-cinema__video {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100%;
  border: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%,-50%);
  transition: opacity 450ms ease;
}
.haske-cinema.is-video-ready .haske-cinema__video { opacity: 1; }
.haske-cinema__scrim {
  z-index: -2;
  background:
    linear-gradient(180deg,rgba(17,16,14,.14),rgba(17,16,14,.06) 45%,rgba(17,16,14,.38)),
    linear-gradient(90deg,rgba(17,16,14,.76) 0%,rgba(17,16,14,.39) 48%,rgba(17,16,14,.63) 100%);
  pointer-events: none;
}
.haske-cinema__layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  min-height: clamp(650px,76vh,820px);
  padding-top: clamp(84px,8vw,122px);
  padding-bottom: clamp(92px,9vw,132px);
  align-items: center;
  grid-template-columns: minmax(0,1fr) minmax(360px,450px);
  gap: clamp(58px,7vw,96px);
}
.haske-cinema__intro { max-width: 670px; }
.haske-cinema__eyebrow,
.haske-cinema__label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #d7b77a;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.haske-cinema__eyebrow::before {
  width: 38px;
  height: 1px;
  background: var(--haske-gold);
  content: "";
}
.haske-cinema__intro h2 {
  max-width: 650px;
  margin: 19px 0 20px;
  color: #fff;
  font-family: "Gilda Display",Georgia,serif;
  font-size: clamp(44px,5vw,70px);
  font-weight: 400;
  line-height: 1.01;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.haske-cinema__intro > p {
  max-width: 570px;
  margin: 0 0 28px;
  color: rgba(255,253,248,.82);
  font-size: 16px;
  line-height: 1.7;
}
.haske-cinema__watch,
.haske-cinema__watch:hover,
.haske-cinema__watch:focus-visible {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  gap: 13px;
  color: #fff !important;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: none !important;
  transition: color 180ms ease !important;
}
.haske-cinema__watch-icon {
  display: grid;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  place-items: center;
  border: 1px solid rgba(255,253,248,.64);
  border-radius: 50%;
  background: rgba(17,16,14,.2);
  color: var(--haske-gold);
  transition: border-color 180ms ease,background-color 180ms ease,color 180ms ease;
}
.haske-cinema__watch:hover .haske-cinema__watch-icon,
.haske-cinema__watch:focus-visible .haske-cinema__watch-icon {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: #fff;
}
.haske-cinema__rail {
  position: relative;
  padding: clamp(30px,3vw,40px);
  border: 1px solid rgba(189,148,90,.38);
  border-left: 2px solid var(--haske-gold);
  border-radius: 4px;
  background: linear-gradient(145deg,rgba(17,16,14,.55),rgba(17,16,14,.36));
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  -webkit-backdrop-filter: blur(14px) saturate(112%);
  backdrop-filter: blur(14px) saturate(112%);
}
.haske-cinema .haske-cinema__quote {
  position: static;
  margin: 0 !important;
  padding: 0 0 30px !important;
  overflow: visible;
  border: 0;
  background: none !important;
  box-shadow: none;
}
.haske-cinema .haske-cinema__quote::before { display: none !important; content: none !important; }
.haske-cinema__quote p {
  margin: 18px 0 17px;
  color: #fff;
  font-family: "Gilda Display",Georgia,serif;
  font-size: clamp(22px,2vw,28px);
  font-weight: 400;
  line-height: 1.38;
}
.haske-cinema__quote footer {
  color: rgba(255,253,248,.7);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
.haske-cinema__quote footer time { margin-left: 7px; color: #d7b77a; }
.haske-cinema__journal { padding-top: 29px; border-top: 1px solid rgba(215,183,122,.26); }
.haske-cinema__journal-heading {
  display: flex;
  margin-bottom: 13px;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}
.haske-cinema__journal-heading h3 {
  margin: 6px 0 0;
  color: #fff;
  font-family: "Gilda Display",Georgia,serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.15;
}
.haske-cinema__journal-heading > a,
.haske-cinema__journal-heading > a:hover,
.haske-cinema__journal-heading > a:focus-visible {
  min-height: 44px;
  padding-top: 15px;
  flex: 0 0 auto;
  color: #d7b77a !important;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: none !important;
}
.haske-cinema__journal-heading > a:hover,
.haske-cinema__journal-heading > a:focus-visible { color: #fff !important; }
.haske-cinema__article-list { display: grid; }
.haske-cinema__article,
.haske-cinema__article:hover,
.haske-cinema__article:focus-visible {
  display: grid;
  min-height: 76px;
  padding: 14px 0;
  align-items: center;
  gap: 18px;
  border-top: 1px solid rgba(255,253,248,.16);
  color: #fff !important;
  grid-template-columns: minmax(0,1fr) 44px;
  transform: none !important;
  transition: color 180ms ease,border-color 180ms ease !important;
}
.haske-cinema__article span { min-width: 0; }
.haske-cinema__article small {
  display: block;
  margin-bottom: 5px;
  color: #d7b77a;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.haske-cinema__article strong {
  display: block;
  color: inherit;
  font-family: "Gilda Display",Georgia,serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.3;
}
.haske-cinema__article > i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(189,148,90,.48);
  border-radius: 50%;
  color: var(--haske-gold);
  transition: border-color 180ms ease,background-color 180ms ease,color 180ms ease;
}
.haske-cinema__article:hover,
.haske-cinema__article:focus-visible { border-top-color: rgba(189,148,90,.6); }
.haske-cinema__article:hover > i,
.haske-cinema__article:focus-visible > i {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: #fff;
}
.haske-cinema__motion {
  position: absolute;
  z-index: 3;
  bottom: 25px;
  left: max(20px,calc((100vw - 1200px)/2));
  display: inline-flex;
  min-width: 132px;
  min-height: 44px;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(255,253,248,.34);
  border-radius: 999px;
  background: rgba(17,16,14,.38);
  color: rgba(255,253,248,.82);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  transform: none !important;
  transition: border-color 180ms ease,background-color 180ms ease,color 180ms ease !important;
}
.haske-cinema__motion:hover,
.haske-cinema__motion:focus-visible {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: #fff;
}
.haske-cinema__motion[hidden] { display: none !important; }
.haske-cinema :is(a,button):focus-visible {
  outline-color: #d7b77a !important;
  outline-offset: 4px !important;
}

@media (max-width: 1199px) {
  .haske-cinema,
  .haske-cinema__layout { min-height: 720px; }
  .haske-cinema__layout { grid-template-columns: 1fr; gap: 40px; }
  .haske-cinema__intro { max-width: 720px; }
  .haske-cinema__rail {
    display: grid;
    width: 100%;
    max-width: 880px;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: clamp(28px,5vw,48px);
  }
  .haske-cinema .haske-cinema__quote { padding: 0 !important; }
  .haske-cinema__journal { padding: 0 0 0 clamp(28px,5vw,48px); border-top: 0; border-left: 1px solid rgba(215,183,122,.26); }
}

@media (max-width: 767px) {
  .haske-cinema,
  .haske-cinema__layout { min-height: auto; }
  .haske-cinema__layout { padding-top: 88px; padding-bottom: 104px; gap: 34px; }
  .haske-cinema__scrim {
    background:
      linear-gradient(180deg,rgba(17,16,14,.55),rgba(17,16,14,.32) 35%,rgba(17,16,14,.7)),
      linear-gradient(90deg,rgba(17,16,14,.42),rgba(17,16,14,.35));
  }
  .haske-cinema__intro h2 { font-size: clamp(40px,11vw,54px); }
  .haske-cinema__intro > p { font-size: 15px; }
  .haske-cinema__rail { display: block; padding: 24px 22px; }
  .haske-cinema .haske-cinema__quote { padding-bottom: 25px !important; }
  .haske-cinema__journal { padding: 24px 0 0; border-top: 1px solid rgba(215,183,122,.26); border-left: 0; }
  .haske-cinema__quote p { font-size: 22px; }
  .haske-cinema__motion { bottom: 20px; left: 18px; }
}

@media (max-width: 420px) {
  .haske-cinema__journal-heading { align-items: start; flex-direction: column; gap: 2px; }
  .haske-cinema__journal-heading > a { padding-top: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .haske-cinema__video { display: none !important; transition: none !important; }
  .haske-cinema__motion { display: none !important; }
  .haske-cinema__watch,
  .haske-cinema__watch-icon,
  .haske-cinema__article,
  .haske-cinema__article > i { transition: none !important; }
}

/* Final header and booking alignment — one optical centre from brand to search. */
:root {
  --haske-header-shell: 100%;
  --haske-header-gutter: max(clamp(18px, 2.25vw, 32px), env(safe-area-inset-left), env(safe-area-inset-right));
  --haske-booking-shell: 100%;
}

.home-hero-stage {
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
}

.home-hero-stage .kenburns-section,
.home-hero-stage #kenburnsSliderContainer {
  width: 100%;
  height: 100svh !important;
  min-height: 100svh;
}

@supports (height: 100dvh) {
  @media (min-width: 768px) {
    .home-hero-stage,
    .home-hero-stage .kenburns-section,
    .home-hero-stage #kenburnsSliderContainer {
      height: 100dvh !important;
      min-height: 100dvh;
    }
  }
}

body:not(.haske-staff-page) .rixos-header .rixos-logo-wrap,
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo-wrap,
body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo-wrap {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.home-hero-stage .caption > .container,
.home-hero-stage .booking-wrapper > .container {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--haske-header-gutter);
}
.home-hero-stage .caption .row { margin-inline: auto; }
.home-hero-stage .caption .row > [class*="col-"] { margin-inline: auto; }
.home-hero-stage .booking-wrapper > .container {
  display: flex;
  justify-content: center;
}
.home-hero-stage .booking-inner {
  box-sizing: border-box;
  width: var(--haske-booking-shell);
  max-width: none;
  margin-inline: auto;
  flex: 1 1 auto;
}
.home-hero-stage .form1 {
  width: 100%;
  margin-inline: auto;
  align-items: stretch;
}
.home-hero-stage .form1 > .col1,
.home-hero-stage .form1 > .col2,
.home-hero-stage .form1 > .col3 {
  min-width: 0;
  margin: 0;
  float: none;
}

@media (min-width: 1025px) {
  body:not(.haske-staff-page) .rixos-header .rixos-wrap-burger-wrap,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-wrap-burger-wrap {
    left: var(--haske-header-gutter);
  }
  body:not(.haske-staff-page) .rixos-header .haske-utility-search {
    left: calc(var(--haske-header-gutter) + 98px);
  }
  body:not(.haske-staff-page) .header-tools-wrap,
  body:not(.haske-staff-page) .rixos-header.scrolled .header-tools-wrap {
    right: var(--haske-header-gutter);
  }

  body:not(.haske-staff-page) .rixos-header .rixos-logo,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:hover,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:focus-visible {
    grid-template-columns: 40px max-content;
    gap: 9px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .14em;
    opacity: 1 !important;
    transform: none !important;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header .rixos-logo img,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
    width: 40px;
    height: 40px;
    max-width: 40px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 40px; }
  body:not(.haske-staff-page) .rixos-header .haske-logo-copy,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:hover .haske-logo-copy,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:focus-visible .haske-logo-copy {
    gap: 3px;
    row-gap: 3px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-tagline,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
    font-size: 6.25px;
    font-weight: 850;
    letter-spacing: .16em;
  }
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-logo-name {
    color: #fff;
    text-shadow: 0 1px 5px rgba(0,0,0,.9), 0 0 18px rgba(189,148,90,.3);
  }
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-logo-tagline {
    color: #efd09c;
    text-shadow: 0 1px 7px rgba(0,0,0,.9);
  }

  .haske-primary-nav__inner {
    --haske-primary-action-width: clamp(170px, 11vw, 205px);
    position: relative;
    display: grid;
    box-sizing: border-box;
    width: calc(100% - (2 * var(--haske-header-gutter)));
    max-width: none;
    height: 52px;
    margin-inline: auto;
    padding: 0;
    align-items: stretch;
    grid-template-columns: var(--haske-primary-action-width) minmax(0, 1fr) var(--haske-primary-action-width);
  }
  .haske-primary-list {
    position: static;
    width: 100%;
    min-width: 0;
    height: 52px;
    grid-column: 2;
    grid-row: 1;
    justify-content: space-evenly;
    transform: none !important;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible {
    position: static;
    width: 100%;
    min-width: 0;
    height: 52px;
    padding-inline: 12px;
    grid-column: 3;
    grid-row: 1;
    font-size: 11.5px !important;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .075em;
    white-space: nowrap;
  }
  .haske-primary-item > a,
  .haske-primary-trigger {
    height: 52px;
    padding-inline: 8px;
    font-size: 11.5px !important;
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: .07em;
    white-space: nowrap;
  }
}

@media (min-width: 1025px) and (max-width: 1099px) {
  .haske-primary-nav__inner { --haske-primary-action-width: 142px; }
  .haske-primary-item > a,
  .haske-primary-trigger {
    padding-inline: 4.5px;
    font-size: 10.15px !important;
    letter-spacing: .055em;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible {
    font-size: 10.25px !important;
    letter-spacing: .065em;
  }
}

@media (min-width: 1100px) and (max-width: 1239px) {
  .haske-primary-nav__inner { --haske-primary-action-width: 148px; }
  .haske-primary-item > a,
  .haske-primary-trigger {
    padding-inline: 6px;
    font-size: 10.75px !important;
    letter-spacing: .062em;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible { font-size: 10.75px !important; }
}

@media (min-width: 1240px) and (max-width: 1399px) {
  .haske-primary-nav__inner { --haske-primary-action-width: 158px; }
  .haske-primary-item > a,
  .haske-primary-trigger {
    padding-inline: 7px;
    font-size: 11.25px !important;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible { font-size: 11.25px !important; }
}

@media (min-width: 1600px) {
  body:not(.haske-staff-page) .rixos-header .rixos-logo,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:hover,
  body:not(.haske-staff-page) .rixos-header .rixos-logo:focus-visible {
    grid-template-columns: 42px max-content;
    font-size: 21px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header .rixos-logo img,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
    width: 42px;
    height: 42px;
    max-width: 42px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 42px; }
  .haske-primary-item > a,
  .haske-primary-trigger {
    padding-inline: 10px;
    font-size: 12.25px !important;
  }
  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible { font-size: 12px !important; }
  .home-hero-stage .form1 .input1_inner input,
  .home-hero-stage .form1 .select2-selection--single .select2-selection__rendered {
    font-size: 15px;
  }
  .home-hero-stage .form1 .btn-form1-submit { font-size: 11.5px; }
}

@media (max-width: 1024px) {
  .home-hero-stage .caption > .container,
  .home-hero-stage .booking-wrapper > .container {
    padding-inline: clamp(12px, 3vw, 24px);
  }
}

@media (max-width: 767px) {
  .home-hero-stage .booking-wrapper > .container { padding-inline: clamp(8px, 2.5vw, 14px); }
  .home-hero-stage .booking-inner { width: 100%; max-width: 100%; }
}

/* ==========================================================================
   Bright hospitality refinement — black sticky utility bar, ivory navigation,
   compact reservation search and a calmer home-page rhythm.
   ========================================================================== */
body:not(.haske-staff-page) {
  background: #fff;
}

/* The wordmark now shares the utility bar's clean, contemporary typography. */
body:not(.haske-staff-page) .rixos-header .rixos-logo,
body:not(.haske-staff-page) .rixos-header .haske-logo-name,
body:not(.haske-staff-page) .rixos-header .haske-logo-tagline {
  font-family: "Urbanist", sans-serif;
}
body:not(.haske-staff-page) .rixos-header .haske-logo-name {
  font-weight: 800;
  letter-spacing: .115em;
}
body:not(.haske-staff-page) .rixos-header .haske-logo-tagline {
  font-weight: 700;
  letter-spacing: .145em;
}

/* A fully transparent arrival rail and a crisp black sticky rail. */
body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
  border-bottom-color: transparent;
  background: transparent !important;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body:not(.haske-staff-page) .rixos-header.scrolled,
body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  background: rgba(10,10,10,.985) !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  border-bottom-color: rgba(189,148,90,.4);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  -webkit-backdrop-filter: blur(14px) saturate(108%);
  backdrop-filter: blur(14px) saturate(108%);
}
body:not(.haske-staff-page) .rixos-header.scrolled :is(
  .rixos-logo,
  .haske-logo-name,
  .haske-header-rail,
  .haske-utility-search,
  .haske-header-tools .haske-utility-menu > summary,
  .haske-header-tools .haske-utility-link
) {
  color: #fff !important;
  text-shadow: none !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
  color: rgba(255,255,255,.72) !important;
  text-shadow: none !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-fill,
body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
  filter: brightness(0) invert(1) !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled :is(
  .haske-utility-search,
  .haske-header-tools .haske-utility-menu > summary,
  .haske-header-tools .haske-utility-link
) {
  border-color: rgba(255,255,255,.2) !important;
  background: transparent !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled :is(
  .haske-utility-search i,
  .haske-utility-menu > summary > i,
  .haske-utility-link i,
  .haske-utility-currency-symbol
) {
  color: var(--haske-gold-light) !important;
}
body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle__lines > span {
  background: #fff;
}

/* The secondary navigation reads as one light architectural plane over the hero. */
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-nav {
  border-top: 1px solid rgba(255,255,255,.32);
  border-bottom: 1px solid rgba(189,148,90,.42);
  background: rgba(255,253,248,.965) !important;
  box-shadow: 0 12px 32px rgba(17,16,14,.1);
  -webkit-backdrop-filter: blur(15px) saturate(112%);
  backdrop-filter: blur(15px) saturate(112%);
}
body:not(.haske-staff-page) .rixos-header:not(.scrolled) :is(.haske-primary-item > a, .haske-primary-trigger) {
  color: var(--haske-ink) !important;
  text-shadow: none;
}
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-trigger i {
  color: var(--haske-bronze);
}
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-item:is(:hover, .is-open, .current-section) > :is(a, .haske-primary-trigger),
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-item > :is(a, .haske-primary-trigger):focus-visible {
  background: var(--haske-forest) !important;
  color: #fff !important;
}

/* A smaller, brighter reservation panel keeps the first screen calm and usable. */
.home-hero-stage .booking-wrapper > .container {
  padding-inline: max(18px, env(safe-area-inset-left), env(safe-area-inset-right));
}
.home-hero-stage .booking-inner {
  width: min(100%, 980px);
  max-width: 980px;
  padding: 6px;
  flex: 0 1 980px;
  border-color: rgba(189,148,90,.42);
  background: rgba(255,253,248,.96);
  box-shadow: 0 16px 42px rgba(17,16,14,.18);
  -webkit-backdrop-filter: blur(13px) saturate(108%);
  backdrop-filter: blur(13px) saturate(108%);
}
.home-hero-stage .form1 {
  grid-template-columns: minmax(150px,1.12fr) minmax(150px,1.12fr) minmax(105px,.72fr) minmax(105px,.72fr) minmax(130px,.82fr);
  gap: 1px;
}
.home-hero-stage .form1 > :is(.col1, .col2, .col3),
.home-hero-stage .form1 :is(.c1, .c2, .c3, .c5),
.home-hero-stage .btn-form1-submit {
  height: 50px;
  min-height: 50px;
}
.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper) {
  border-color: rgba(40,36,31,.13) !important;
  background: #fff;
}
.home-hero-stage .form1 .input1_inner input,
.home-hero-stage .form1 .select2-selection--single .select2-selection__rendered {
  padding-inline: 15px 36px;
  color: var(--haske-ink);
  font-size: 12.5px;
  font-weight: 650;
}
.home-hero-stage .form1 .input1_inner::after { right: 14px; }
.home-hero-stage .btn-form1-submit,
.home-hero-stage .btn-form1-submit:hover,
.home-hero-stage .btn-form1-submit:focus-visible {
  font-size: 10px;
  letter-spacing: .085em;
}

/* More white and ivory, with deliberate alternation instead of long dull fields. */
.haske-trust-strip { background: #fff; }
.haske-home-about {
  padding-block: clamp(66px, 7vw, 96px);
  background:
    radial-gradient(circle at 91% 12%, rgba(189,148,90,.09), transparent 29rem),
    #fff;
}
.haske-home-about__inner { gap: clamp(42px, 6vw, 84px); }
.haske-home-about__facts { box-shadow: 0 24px 56px rgba(17,16,14,.12); }
.haske-home-fact { min-height: 164px; }
.haske-experiences {
  padding-block: clamp(66px, 6vw, 82px) !important;
  background: var(--haske-canvas) !important;
}
.haske-experiences .experience-card { background: #fff; }
.haske-room-showcase { padding-block: clamp(60px, 6vw, 76px); }
.facilities2 { background: #fff !important; }
.facilities2 .tabs-content .tab { padding-block: clamp(48px, 5vw, 62px); }
.facilities2 .tabs-content .tab img { height: min(400px, 38vw); }
.budget-estimator-section { padding-block: clamp(56px, 5vw, 68px); }
.budget-estimator-experience { gap: clamp(28px, 4vw, 56px); }
.budget-estimator-form { padding: 24px; }
.budget-input-frame,
.budget-estimator-form .btn-form1-submit { height: 56px; min-height: 56px; }
.home-amenities {
  padding-block: clamp(64px, 6vw, 76px) !important;
  background: var(--haske-canvas) !important;
}
.offers2 { background: #fff; }
.offers2 .item { padding-block: clamp(112px, 10vw, 150px); }

@media (min-width: 1025px) {
  body:not(.haske-staff-page) .rixos-header .rixos-logo,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo,
  body.haske-home:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo {
    grid-template-columns: 38px max-content;
    gap: 8px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .115em;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header .rixos-logo img,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .rixos-logo img {
    width: 38px;
    height: 38px;
    max-width: 38px;
  }
  body:not(.haske-staff-page) .rixos-header .haske-logo-mark,
  body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-mark { flex-basis: 38px; }
}

@media (max-width: 991px) {
  .home-hero-stage .booking-inner { width: min(100%, 720px); max-width: 720px; padding: 6px; }
  .home-hero-stage .form1 > :is(.col1, .col2, .col3),
  .home-hero-stage .form1 :is(.c1, .c2, .c3, .c5),
  .home-hero-stage .btn-form1-submit { height: 48px; min-height: 48px; }
  .facilities2 .tabs-content .tab img { height: auto; }
}

@media (max-width: 767px) {
  .home-hero-stage .booking-inner { width: 100%; max-width: 100%; }
  .home-hero-stage .form1 .input1_inner input,
  .home-hero-stage .form1 .select2-selection--single .select2-selection__rendered { font-size: 12px; }
  .haske-home-about { padding-block: 58px; }
  .haske-home-fact { min-height: 138px; }
  .budget-estimator-form { padding: 20px; }
}

/* Floating second-level brand and clearer reservation surfaces. */
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-nav {
  border: 0;
  background: transparent !important;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.haske-primary-brand,
.haske-primary-brand:hover,
.haske-primary-brand:focus-visible {
  display: inline-flex;
  height: 52px;
  padding: 0 13px 0 3px;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  grid-column: 1;
  grid-row: 1;
  color: #fff !important;
  font-family: "Urbanist", sans-serif;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
  text-shadow: 0 1px 10px rgba(0,0,0,.72);
  white-space: nowrap;
  transform: none !important;
}
.haske-primary-brand img {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  object-fit: contain;
  filter: none !important;
}
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-list {
  border-top: 1px solid rgba(255,255,255,.32);
  border-bottom: 1px solid rgba(189,148,90,.4);
  background: rgba(255,253,248,.965);
  box-shadow: 0 12px 32px rgba(17,16,14,.1);
  -webkit-backdrop-filter: blur(15px) saturate(112%);
  backdrop-filter: blur(15px) saturate(112%);
}
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-book {
  border: 0 !important;
  border-left: 1px solid rgba(40,36,31,.14) !important;
  box-shadow: 8px 12px 32px rgba(17,16,14,.1);
}

/* Restore the darker glass booking frame while retaining the new compact scale. */
.home-hero-stage .booking-inner {
  border-color: rgba(255,253,248,.32);
  background: rgba(17,16,14,.66);
  box-shadow: 0 18px 46px rgba(0,0,0,.24);
  -webkit-backdrop-filter: blur(10px) saturate(112%);
  backdrop-filter: blur(10px) saturate(112%);
}
.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper) {
  border-color: rgba(189,148,90,.3) !important;
  background: rgba(255,255,255,.985);
}

/* A concise room-matching bridge sits directly above the cinematic HASKE story. */
.budget-estimator-section {
  margin: 0;
  padding-block: clamp(42px, 4.25vw, 58px);
  border-bottom: 1px solid rgba(189,148,90,.55);
  background-position: center 52%;
}
.budget-estimator-section + .haske-cinema { border-top: 0; }
.budget-estimator-experience {
  grid-template-columns: minmax(0, .9fr) minmax(390px, .78fr);
  gap: clamp(26px, 4vw, 52px);
}
.budget-estimator-copy { max-width: 540px; }
.budget-estimator-copy h2 {
  margin-bottom: 13px;
  font-size: clamp(34px, 3.6vw, 48px);
  line-height: 1.02;
}
.budget-estimator-copy > p {
  max-width: 500px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.55;
}
.budget-estimator-benefits span { padding: 6px 10px; font-size: 10px; }
.budget-estimator-form { padding: 20px; }
.budget-estimator-card-heading { margin-bottom: 12px; }
.budget-estimator-card-heading span { font-size: 20px; }
.budget-input-frame,
.budget-estimator-form .btn-form1-submit { height: 52px; min-height: 52px; }
.budget-estimator-form input[type="number"] { font-size: 22px; }
.budget-presets { margin-top: 11px; }

@media (min-width: 1025px) and (max-width: 1180px) {
  .haske-primary-brand { padding-right: 7px; gap: 5px; font-size: 8.5px; letter-spacing: .12em; }
  .haske-primary-brand img { width: 23px; height: 23px; flex-basis: 23px; }
}

@media (max-width: 991px) {
  .budget-estimator-experience { grid-template-columns: 1fr; }
  .budget-estimator-copy { max-width: 660px; }
}

/* ==========================================================================
   HASKE signature palette — antique gold, luminous hospitality neutrals,
   calm sage and restrained forest depth. Visual treatment only.
   ========================================================================== */
:root { color-scheme: light; }

body:not(.haske-staff-page) {
  background: var(--haske-surface);
  color: var(--haske-body);
}

body:not(.haske-staff-page) :is(.bg-lightbrown, .bg-lightgray) {
  background-color: var(--haske-canvas) !important;
}

body:not(.haske-staff-page) .bg-white { background-color: var(--haske-surface) !important; }

/* Buttons use gold as the signature action and forest as the deliberate hover. */
body:not(.haske-staff-page) :is(
  .button-1, .button-2, .button-3, .btn-form1-submit,
  .booking-system .stepwizard .btn-success, .haske-primary-book,
  .haske-about-button--gold, .haske-site-search__form button
) {
  border-color: var(--haske-gold) !important;
  background: var(--haske-gold) !important;
  color: var(--haske-black) !important;
}

body:not(.haske-staff-page) :is(
  .button-1, .button-2, .button-3, .btn-form1-submit,
  .booking-system .stepwizard .btn-success, .haske-primary-book,
  .haske-about-button--gold, .haske-site-search__form button
):is(:hover, :focus-visible) {
  border-color: var(--haske-forest) !important;
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
  box-shadow: 0 9px 24px rgba(18,61,42,.16) !important;
}

body:not(.haske-staff-page) :is(.haske-about-button--outline, .button-2.is-outline) {
  border-color: var(--haske-gold) !important;
  background: transparent !important;
  color: var(--haske-ink) !important;
}

/* Arrival header: charcoal glass, ivory type and controlled antique-gold detail. */
body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
  background: linear-gradient(180deg, rgba(10,10,10,.44), rgba(10,10,10,.08)) !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-list {
  border-color: rgba(184,149,110,.44);
  background: rgba(255,253,247,.94);
  box-shadow: 0 14px 34px rgba(10,10,10,.13);
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) :is(.haske-primary-item > a, .haske-primary-trigger) {
  color: var(--haske-ink) !important;
  text-shadow: none;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-item:is(:hover, .is-open, .current-section) > :is(a, .haske-primary-trigger),
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-primary-item > :is(a, .haske-primary-trigger):focus-visible {
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}

body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  border-bottom-color: rgba(184,149,110,.45);
  background: rgba(255,253,247,.985) !important;
}

body .rixos-wrap,
.haske-primary-panel,
.haske-utility-panel,
.haske-site-search__surface {
  background-color: var(--haske-surface) !important;
  background-image:
    radial-gradient(circle at 92% 2%, rgba(191,216,184,.2), transparent 28%),
    linear-gradient(135deg, rgba(255,253,247,.99), rgba(250,247,239,.98)) !important;
}

.haske-utility-choice,
.haske-primary-panel :is(a, button),
body .rixos-wrap .haske-drawer-group > ul li a { color: var(--haske-ink) !important; }

.haske-utility-choice.is-active {
  border-color: var(--haske-gold);
  background: var(--haske-champagne-soft) !important;
  box-shadow: inset 3px 0 0 var(--haske-forest) !important;
}

/* Booking and forms are bright, precise and easy to scan. */
.home-hero-stage .booking-inner {
  border-color: rgba(184,149,110,.68);
  background: linear-gradient(135deg, rgba(255,253,247,.97), rgba(244,230,200,.94));
  box-shadow: 0 22px 58px rgba(10,10,10,.22);
}

.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper),
body:not(.haske-staff-page) :is(
  .booking-form, .haske-checkout-card, .haske-whatsapp-payment,
  .haske-manage-card, .haske-policy-card, .haske-conference-form,
  .haske-site-search__form, .budget-estimator-form
) {
  border-color: var(--haske-border) !important;
  background: var(--haske-surface) !important;
}

body:not(.haske-staff-page) :is(input, select, textarea, .select2-selection--single) {
  border-color: #d9cab8;
  background-color: #fffefb;
  color: var(--haske-ink);
}

body:not(.haske-staff-page) :is(input, select, textarea):focus {
  border-color: var(--haske-gold) !important;
  box-shadow: 0 0 0 3px rgba(184,149,110,.14) !important;
}

body:not(.haske-staff-page) .select2-selection:focus-visible {
  border-color: var(--haske-gold) !important;
  outline: 3px solid rgba(184,149,110,.28) !important;
  outline-offset: 2px;
}

.booking-system .step-content :is(.sidebar, .booking-form, .room-info),
.haske-checkout-card {
  border-color: var(--haske-border);
  background: var(--haske-surface) !important;
  box-shadow: 0 15px 38px rgba(42,38,34,.07);
}

.booking-system .stepwizard-step .btn-circle:not(.btn-success) {
  border-color: rgba(184,149,110,.5);
  background: var(--haske-champagne-soft);
  color: var(--haske-ink);
}

.haske-booking-status,
.haske-status-pill,
.availability-feature,
.haske-status-editor button {
  border-color: rgba(18,61,42,.2);
  background: var(--haske-sage-soft);
  color: var(--haske-forest-deep) !important;
}

.haske-form-alert.is-success,
.haske-dashboard-alert.is-success,
#staff-login-status.is-success {
  border-color: rgba(18,61,42,.24);
  background: var(--haske-sage-soft);
  color: var(--haske-forest-deep) !important;
}

.haske-form-alert.is-error,
.haske-dashboard-alert.is-error,
#staff-login-status.is-error {
  border-color: rgba(126,45,45,.22);
  background: #faece8;
  color: #7e2d2d !important;
}

/* Content rhythm: luminous neutral fields with sage reserved for calm service areas. */
.haske-trust-strip,
.haske-home-about,
.offers2,
.facilities2,
.haske-portfolio-band { background-color: var(--haske-surface) !important; }

.haske-experiences,
.haske-room-showcase + .facilities2,
.haske-booking-essentials,
.page-details,
.faqs { background-color: var(--haske-canvas) !important; }

.home-amenities,
.amenities.home-amenities {
  background:
    radial-gradient(circle at 88% 10%, rgba(184,149,110,.11), transparent 28rem),
    linear-gradient(145deg, rgba(242,233,220,.78), rgba(250,247,239,.96)) !important;
}

.home-amenities .item,
.amenities .item,
.experience-card,
.haske-portfolio-grid article,
.haske-journal-card {
  border: 1px solid rgba(18,61,42,.12);
  background: var(--haske-surface) !important;
  box-shadow: 0 14px 34px rgba(42,38,34,.065);
}

.home-amenities .item :is(i, .icon),
.amenities .item :is(i, .icon) { color: var(--haske-forest); }

.facilities2 ul.tab-buttons li.tab-btn span {
  border-color: transparent;
  background: transparent;
}

.facilities2 ul.tab-buttons li.tab-btn.active-btn span {
  border-color: rgba(184,149,110,.46);
  background: linear-gradient(180deg, var(--haske-champagne-soft), rgba(242,233,220,.62)) !important;
  color: var(--haske-forest-deep);
}

/* Accommodation cards keep imagery dominant and use green only for confidence cues. */
.haske-catalog .item .wrap .cont,
.rooms1 .item .wrap .cont,
.experience-card-body,
.haske-branch-card { background: var(--haske-surface) !important; }

.haske-catalog .item,
.rooms1 .item,
.experience-card,
.haske-branch-card { border-color: rgba(184,149,110,.24) !important; }

.haske-catalog .price,
.rooms1 .price,
.experience-price,
.haske-room-showcase .price { color: var(--haske-bronze) !important; }

.experience-card.is-preferred .experience-price,
.haske-room-showcase :is(.property-label, .price) { color: var(--haske-gold-light) !important; }

:is(.haske-showcase-luxury, .experience-card.is-preferred, .haske-branch-card.is-luxury) {
  border-color: rgba(184,149,110,.72) !important;
  box-shadow: 0 18px 44px rgba(125,93,63,.15) !important;
}

:is(.coming-soon-badge, .haske-premium-badge, .availability-badge, .popular-choice) {
  border-color: rgba(18,61,42,.22);
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}

/* Dark storytelling and gallery surfaces are framed rather than allowed to dominate. */
.haske-room-showcase,
.haske-cinema,
.galleryscroll.bg-darkgray,
.restaurant-menu.bg-darkgray {
  background:
    radial-gradient(circle at 82% 18%, rgba(18,61,42,.36), transparent 34%),
    linear-gradient(145deg, var(--haske-black), var(--haske-black-soft)) !important;
}

.haske-cinema__rail {
  border-color: rgba(184,149,110,.48);
  background: linear-gradient(145deg, rgba(10,10,10,.62), rgba(18,61,42,.48));
}

.budget-estimator-section { background-color: var(--haske-black); }
.budget-estimator-benefits span {
  border-color: rgba(244,230,200,.45);
  background: rgba(18,61,42,.88);
}
.budget-estimator-form {
  background: linear-gradient(145deg, var(--haske-surface), var(--haske-champagne-soft)) !important;
}
.budget-presets button {
  border-color: rgba(184,149,110,.45);
  background: transparent;
  color: var(--haske-ink);
}
.budget-presets button:is(:hover, :focus-visible) {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: var(--haske-surface);
}

/* Footer gains depth through forest, with charcoal retained as structural contrast. */
body:not(.haske-staff-page) .footer {
  border-top: 1px solid rgba(184,149,110,.5);
  background:
    radial-gradient(circle at 84% 12%, rgba(184,149,110,.13), transparent 30%),
    linear-gradient(135deg, var(--haske-black) 0%, var(--haske-forest-deep) 100%) !important;
}
.footer :is(h3, h4, h5, .haske-footer-brand) { color: var(--haske-surface) !important; }
.footer :is(p, li, address, small) { color: rgba(255,253,247,.72); }
.footer a:hover { color: var(--haske-gold-light) !important; }

/* The management experience uses the same brand system, with deeper green authority. */
.haske-staff-page {
  --haske-portal-burgundy: var(--haske-forest);
  --haske-portal-burgundy-deep: var(--haske-forest-deep);
  --haske-portal-burgundy-soft: var(--haske-sage-soft);
  background: var(--haske-canvas);
}
.haske-staff-login__brand,
.haske-dashboard-hero {
  background:
    radial-gradient(circle at 18% 18%, rgba(184,149,110,.2), transparent 34%),
    linear-gradient(145deg, var(--haske-black), var(--haske-forest-deep)) !important;
}
.haske-portal-topbar--login,
.haske-dashboard-topbar {
  border-bottom-color: rgba(184,149,110,.48);
  background: var(--haske-surface) !important;
}
.haske-dashboard-tabs {
  border-bottom-color: rgba(184,149,110,.52);
  background: linear-gradient(115deg, var(--haske-forest-deep), var(--haske-forest) 54%, var(--haske-black)) !important;
  box-shadow: 0 8px 24px rgba(10,10,10,.16);
}
.haske-staff-login__panel,
.haske-dashboard-main { background: var(--haske-canvas) !important; }
.haske-staff-login-card,
.haske-dashboard-card,
.haske-metric-grid article {
  border-color: rgba(184,149,110,.24);
  background: var(--haske-surface) !important;
  box-shadow: 0 16px 40px rgba(42,38,34,.08);
}
.haske-staff-lock,
.haske-dashboard-nav nav button.active,
.haske-chart-metrics button.active,
.haske-privacy-banner {
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}
.haske-staff-page :is(.haske-staff-signin, .haske-staff-activation button) {
  border-color: var(--haske-gold) !important;
  background: var(--haske-gold) !important;
  color: var(--haske-black) !important;
}
.haske-staff-page :is(.haske-staff-signin, .haske-staff-activation button):is(:hover, :focus-visible) {
  border-color: var(--haske-forest) !important;
  background: var(--haske-forest) !important;
  color: var(--haske-surface) !important;
}

@media (max-width: 767px) {
  body:not(.haske-staff-page) :is(.button-1, .button-2, .button-3, .btn-form1-submit, .haske-about-button) {
    min-height: 44px;
  }
  .home-hero-stage .booking-inner {
    background: linear-gradient(145deg, rgba(255,253,247,.985), rgba(244,230,200,.97));
  }
}

/* ==========================================================================
   Restored hospitality colour and a seamless symbol-only secondary brand.
   ========================================================================== */
.haske-primary-brand,
.haske-primary-brand:hover,
.haske-primary-brand:focus-visible {
  width: 100%;
  height: 52px;
  padding: 0;
  justify-content: center;
  gap: 0;
  border: 0;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none;
}

.haske-primary-brand__halo {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(184,149,110,.42);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,253,247,.18), rgba(10,10,10,.08) 62%, transparent 64%);
  box-shadow: inset 0 0 0 1px rgba(255,253,247,.08), 0 8px 22px rgba(10,10,10,.12);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.haske-primary-brand__halo::after {
  position: absolute;
  inset: 4px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 38%, rgba(244,230,200,.22), transparent 66%);
  content: "";
  pointer-events: none;
}

.haske-primary-brand img {
  position: relative;
  z-index: 1;
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  filter: drop-shadow(0 2px 7px rgba(10,10,10,.22)) !important;
}

.haske-primary-brand:is(:hover, :focus-visible) .haske-primary-brand__halo {
  border-color: rgba(184,149,110,.72);
  background: rgba(255,253,247,.22);
}

/* Reintroduce the earlier, richer colour rhythm in the three requested areas. */
body:not(.haske-staff-page) .haske-experiences {
  background:
    radial-gradient(circle at 92% 8%, rgba(184,149,110,.1), transparent 26rem),
    linear-gradient(180deg, #faf8f4, #fff 44%, #faf8f4) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card {
  border-color: #e3d9ca !important;
  background: #fff !important;
  box-shadow: 0 13px 32px rgba(17,16,14,.065);
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred {
  border-color: rgba(189,148,90,.72) !important;
  box-shadow: 0 17px 42px rgba(138,101,54,.18) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-card-body {
  background: linear-gradient(145deg, #11100e, #1a1815) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-actions .button-3 {
  border-color: #11100e !important;
  background: transparent !important;
  color: #11100e !important;
  box-shadow: none !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-actions .button-3:is(:hover, :focus-visible) {
  border-color: #4a2028 !important;
  background: #4a2028 !important;
  color: #fff !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-actions .button-3 {
  border-color: #bd945a !important;
  color: #d7b77a !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-actions .button-3:is(:hover, :focus-visible) {
  border-color: #4a2028 !important;
  background: #4a2028 !important;
  color: #fff !important;
}

body:not(.haske-staff-page) .facilities2 {
  background: #fff !important;
}

body:not(.haske-staff-page) .facilities2 .border-bottom {
  border-color: rgba(189,148,90,.28) !important;
  background: #faf8f4;
}

body:not(.haske-staff-page) .facilities2 ul.tab-buttons li.tab-btn span {
  background: transparent;
  color: #28241f;
}

body:not(.haske-staff-page) .facilities2 ul.tab-buttons li.tab-btn:is(:hover, .active-btn) span {
  border-bottom: 3px solid #bd945a;
  background: #4a2028 !important;
  color: #fff !important;
}

body:not(.haske-staff-page) .facilities2 .tabs-content {
  background:
    radial-gradient(circle at 8% 14%, rgba(189,148,90,.08), transparent 26rem),
    #fff;
}

body:not(.haske-staff-page) .home-amenities {
  border-color: rgba(74,32,40,.18);
  background:
    radial-gradient(circle at 8% 12%, rgba(74,32,40,.09), transparent 34%),
    #faf8f4 !important;
}

body:not(.haske-staff-page) .home-amenities .item {
  border-color: #e3d9ca;
  border-top: 3px solid rgba(74,32,40,.72);
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(74,32,40,.055);
}

body:not(.haske-staff-page) .home-amenities .item .cont .icon i {
  color: #8a6536;
}

@media (max-width: 1180px) and (min-width: 1025px) {
  .haske-primary-brand__halo { width: 38px; height: 38px; }
  .haske-primary-brand img { width: 27px; height: 27px; flex-basis: 27px; }
}

/* ==========================================================================
   Classic sticky rail, editorial secondary signature and transparent search.
   ========================================================================== */
body:not(.haske-staff-page) .rixos-header.scrolled,
body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  background: rgba(10,10,10,.985) !important;
}

body:not(.haske-staff-page) .rixos-header.scrolled > .container {
  border-bottom-color: rgba(184,149,110,.44);
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
}

body:not(.haske-staff-page) .rixos-header.scrolled :is(
  .rixos-logo, .haske-logo-name, .haske-header-rail, .haske-utility-search,
  .haske-header-tools .haske-utility-menu > summary,
  .haske-header-tools .haske-utility-link
) {
  color: #fff !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) .rixos-header.scrolled .haske-logo-tagline {
  color: rgba(255,255,255,.72) !important;
}

body:not(.haske-staff-page) .rixos-header.scrolled :is(.haske-logo-fill, .rixos-logo img) {
  filter: brightness(0) invert(1) !important;
}

body:not(.haske-staff-page) .rixos-header.scrolled :is(
  .haske-utility-search,
  .haske-header-tools .haske-utility-menu > summary,
  .haske-header-tools .haske-utility-link
) {
  border-color: rgba(255,255,255,.2) !important;
  background: transparent !important;
}

body:not(.haske-staff-page) .rixos-header.scrolled :is(
  .haske-utility-search i,
  .haske-utility-menu > summary > i,
  .haske-utility-link i,
  .haske-utility-currency-symbol
) { color: #f4e6c8 !important; }

body:not(.haske-staff-page) .rixos-header.scrolled .haske-drawer-toggle__lines > span {
  background: #fff;
}

.haske-primary-signature {
  display: grid;
  width: 100%;
  height: 52px;
  padding-inline: 10px;
  align-items: center;
  justify-content: center;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: minmax(10px,1fr) auto minmax(10px,1fr);
  gap: 8px;
  color: #fff;
  pointer-events: none;
  user-select: none;
}

.haske-primary-signature__line {
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,149,110,.72));
}

.haske-primary-signature__line:last-child {
  background: linear-gradient(90deg, rgba(184,149,110,.72), transparent);
}

.haske-primary-signature__copy {
  display: grid;
  min-width: max-content;
  justify-items: center;
  gap: 2px;
}

.haske-primary-signature__copy strong {
  color: #fff;
  font: 500 12px/1 "Gilda Display", Georgia, serif;
  letter-spacing: .2em;
}

.haske-primary-signature__copy small {
  color: #f4e6c8;
  font: 700 6px/1 "Urbanist", sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* The original glass reservation bar returns with quieter, balanced type. */
.home-hero-stage .booking-inner {
  padding: 8px;
  border: 1px solid rgba(255,253,247,.3);
  background: rgba(10,10,10,.47);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  -webkit-backdrop-filter: blur(8px) saturate(108%);
  backdrop-filter: blur(8px) saturate(108%);
}

.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper) {
  border-color: rgba(184,149,110,.24) !important;
  background: rgba(255,253,247,.94) !important;
}

.home-hero-stage .form1 .input1_inner input,
.home-hero-stage .form1 .select2-selection--single .select2-selection__rendered {
  color: #2a2622;
  font-family: "Urbanist", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
}

.home-hero-stage .btn-form1-submit,
.home-hero-stage .btn-form1-submit:hover,
.home-hero-stage .btn-form1-submit:focus-visible {
  font-size: 10px;
  line-height: 1;
  letter-spacing: .09em;
  white-space: nowrap;
}

/* Amenities illuminate with muted antique gold, never a bright yellow. */
body:not(.haske-staff-page) .home-amenities .item:hover,
body:not(.haske-staff-page) .home-amenities .item:focus-within {
  border-color: #b8956e;
  border-top-color: #7d5d3f;
  background: #b8956e !important;
  box-shadow: 0 16px 34px rgba(125,93,63,.18);
}

body:not(.haske-staff-page) .home-amenities .item:is(:hover, :focus-within) .cont :is(h5, p, .icon i) {
  color: #fffdf7 !important;
}

.haske-cinema + .budget-estimator-section {
  border-top: 1px solid rgba(184,149,110,.52);
}

.budget-estimator-section + .home-amenities {
  border-top: 0;
}

@media (min-width: 1600px) {
  .haske-primary-signature__copy strong { font-size: 13px; }
  .haske-primary-signature__copy small { font-size: 6.5px; }
}

@media (max-width: 1180px) and (min-width: 1025px) {
  .haske-primary-signature { padding-inline: 6px; gap: 5px; }
  .haske-primary-signature__copy strong { font-size: 10px; }
  .haske-primary-signature__copy small { font-size: 5.5px; letter-spacing: .09em; }
}

@media (max-width: 575px) {
  .home-hero-stage .form1 .input1_inner input,
  .home-hero-stage .form1 .select2-selection--single .select2-selection__rendered { font-size: 12px; }
}

/* Keep every reservation value legible inside the restored glass booking bar. */
.home-hero-stage .form1 .input1_inner input,
.home-hero-stage .form1 .input1_inner input:focus {
  background: transparent !important;
  color: #2a2622 !important;
  caret-color: #7d5d3f;
}

.home-hero-stage .form1 .input1_inner input::placeholder {
  color: #4b443d !important;
  opacity: 1;
}

.home-hero-stage .form1 .input1_inner::after {
  color: #8a6847 !important;
}

.home-hero-stage .form1 .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-right-color: #8a6847;
  border-bottom-color: #8a6847;
}

.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper):focus-within {
  border-color: rgba(125,93,63,.7) !important;
  box-shadow: inset 0 0 0 1px rgba(189,148,90,.3);
}

/* A genuinely translucent first-screen reservation bar over the hero image. */
.home-hero-stage .booking-inner {
  border-color: rgba(255,253,247,.34);
  background: rgba(8,8,7,.32);
  box-shadow: 0 18px 42px rgba(0,0,0,.2);
  -webkit-backdrop-filter: blur(9px) saturate(112%);
  backdrop-filter: blur(9px) saturate(112%);
}

.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper),
.home-hero-stage .form1 .select2-container--default .select2-selection--single {
  border-color: rgba(255,253,247,.3) !important;
  background: rgba(20,18,16,.3) !important;
  box-shadow: inset 0 0 0 1px rgba(189,148,90,.08);
}

.home-hero-stage .form1 .select2-container--default .select2-selection--single {
  border: 0 !important;
}

.home-hero-stage .form1 .input1_inner input,
.home-hero-stage .form1 .input1_inner input:focus,
.home-hero-stage .form1 .select2-selection--single .select2-selection__rendered {
  background: transparent !important;
  color: #fffdf8 !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.42);
}

.home-hero-stage .form1 .input1_inner input::placeholder {
  color: rgba(255,253,248,.92) !important;
}

.home-hero-stage .form1 :is(.input1_wrapper, .select1_wrapper):focus-within {
  border-color: rgba(215,183,122,.78) !important;
  background: rgba(10,9,8,.46) !important;
  box-shadow: inset 0 0 0 1px rgba(215,183,122,.22);
}

@media (max-width: 991px) {
  .home-hero-stage .form1 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .home-hero-stage .form1 :is(.c1, .c2) { grid-column: span 3; }
  .home-hero-stage .form1 :is(.c3, .c5, .c6) { grid-column: span 2; }
}

@media (max-width: 767px) {
  .home-hero-stage .form1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-hero-stage .form1 :is(.c1, .c2, .c3, .c5) { grid-column: span 1; }
  .home-hero-stage .form1 .c6 { grid-column: 1 / -1; }
  .home-hero-stage .form1 .btn-form1-submit { width: 100%; }
}

/* Transparent arrival rail retained over the restored Version 35 experience. */
body:not(.haske-staff-page) .rixos-header:not(.scrolled),
body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container > .row {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) > .container {
  border-bottom-color: rgba(215,183,122,.38) !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) :is(
  .rixos-logo,
  .haske-logo-name,
  .haske-header-rail,
  .haske-utility-search,
  .haske-header-tools .haske-utility-menu > summary,
  .haske-header-tools .haske-utility-link
) {
  color: #fff !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.68) !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) :is(
  .haske-utility-search,
  .haske-header-tools .haske-utility-menu > summary,
  .haske-header-tools .haske-utility-link,
  .haske-drawer-toggle
) {
  border-color: rgba(255,255,255,.28) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) :is(
  .haske-utility-search i,
  .haske-utility-menu > summary > i,
  .haske-utility-link i,
  .haske-utility-currency-symbol
) {
  color: var(--haske-gold-light) !important;
  filter: drop-shadow(0 1px 5px rgba(0,0,0,.54));
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-logo-fill,
body:not(.haske-staff-page) .rixos-header:not(.scrolled) .rixos-logo img {
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.5)) !important;
}

body:not(.haske-staff-page) .rixos-header:not(.scrolled) .haske-drawer-toggle__lines > span {
  background: #fff !important;
  box-shadow: 0 1px 5px rgba(0,0,0,.48);
}

/* High-contrast accommodation and venue information surfaces. */
body:not(.haske-staff-page) .haske-catalog .item .img::before {
  background: linear-gradient(
    0deg,
    rgba(8, 8, 7, .94) 0%,
    rgba(8, 8, 7, .72) 28%,
    rgba(74, 32, 40, .22) 58%,
    transparent 82%
  ) !important;
}

body:not(.haske-staff-page) .haske-catalog .item .wrap .cont,
body:not(.haske-staff-page) .rooms1 .item .wrap .cont {
  background: transparent !important;
  color: #fffdf8 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .72);
}

body:not(.haske-staff-page) .haske-catalog .item .wrap .cont :is(h3, h3 a, .details, .details span),
body:not(.haske-staff-page) .rooms1 .item .wrap .cont :is(h3, h3 a, .details, .details span) {
  color: #fffdf8 !important;
}

body:not(.haske-staff-page) .haske-catalog .item .wrap .cont :is(.property-label, .price),
body:not(.haske-staff-page) .rooms1 .item .wrap .cont :is(.property-label, .price) {
  color: #e4c48b !important;
}

body:not(.haske-staff-page) .haske-catalog .item .wrap .cont .price span,
body:not(.haske-staff-page) .rooms1 .item .wrap .cont .price span {
  color: rgba(255, 253, 248, .86) !important;
}

body:not(.haske-staff-page) .haske-catalog .item .wrap .cont .details i,
body:not(.haske-staff-page) .rooms1 .item .wrap .cont .details i {
  color: #d7b77a !important;
  filter: drop-shadow(0 1px 5px rgba(0, 0, 0, .68));
}

body:not(.haske-staff-page) .haske-catalog .item .wrap .cont .availability-feature,
body:not(.haske-staff-page) .haske-room-showcase .item .cont .availability-feature {
  border-color: rgba(215, 183, 122, .78) !important;
  background: rgba(10, 10, 9, .76) !important;
  color: #fffdf8 !important;
  text-shadow: none;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont :is(.property-label, .room-price) {
  color: #e4c48b !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .76);
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont :is(.title, .title a, .details > span:not(.availability-feature)) {
  color: #fffdf8 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .78);
}

/* Keep every “Choose Your HASKE Experience” card deliberate and readable. */
body:not(.haske-staff-page) .haske-experiences .experience-card:not(.is-preferred) .experience-card-body {
  background: #fffdf8 !important;
  color: #28241f !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card:not(.is-preferred) :is(h3, .experience-highlights li) {
  color: #28241f !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card:not(.is-preferred) .experience-price {
  border-bottom-color: rgba(125, 93, 63, .22);
  color: #6f4f32 !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card:not(.is-preferred) .experience-price span {
  color: #5b534c !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-card-body {
  background: linear-gradient(145deg, #11100e, #1d1a16) !important;
  color: #fffdf8 !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-highlights li {
  color: rgba(255, 253, 248, .86) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-actions .button-1 {
  color: #181510 !important;
  font-size: 11px;
  text-decoration-color: currentColor;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-actions .button-1 {
  color: #e4c48b !important;
}

@media (hover: hover) {
  body:not(.haske-staff-page) .haske-catalog .item:hover .wrap .cont :is(h3 a, .details span),
  body:not(.haske-staff-page) .rooms1 .item:hover .wrap .cont :is(h3 a, .details span) {
    color: #fffdf8 !important;
  }
}

/* A coordinated closing journey: explore, story, then smart room matching. */
body:not(.haske-staff-page) .haske-closing-pathways {
  padding: clamp(72px, 7vw, 96px) 0 clamp(64px, 6vw, 84px);
  border-top: 1px solid rgba(189, 148, 90, .24);
  background:
    radial-gradient(circle at 92% 8%, rgba(189, 148, 90, .11), transparent 26rem),
    linear-gradient(180deg, #fffdf8 0%, #f8f4ec 100%) !important;
}

body:not(.haske-staff-page) .haske-closing-pathways::after,
body:not(.haske-staff-page) .haske-closing-pathways .glry-img {
  display: none;
}

.haske-offers-intro {
  position: relative;
  z-index: 3;
  display: grid;
  margin-bottom: clamp(28px, 4vw, 46px);
  align-items: end;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 430px);
  gap: clamp(28px, 5vw, 70px);
}

.haske-offers-intro .section-subtitle { margin-bottom: 12px; }
.haske-offers-intro .section-title {
  max-width: 760px;
  margin: 0;
  color: #28241f !important;
  font-size: clamp(38px, 4.5vw, 60px);
  line-height: 1.03;
  text-wrap: balance;
}
.haske-offers-intro > p {
  max-width: 430px;
  margin: 0 0 6px;
  padding-left: 22px;
  border-left: 1px solid rgba(189, 148, 90, .62);
  color: #5b534c;
  font-size: 14px;
  line-height: 1.65;
}

body:not(.haske-staff-page) .haske-closing-pathways > .container:not(.haske-offers-intro):not(.offer-click-details) {
  position: relative;
  z-index: 2;
}

body:not(.haske-staff-page) .haske-closing-pathways .row {
  display: grid;
  margin: 0;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body:not(.haske-staff-page) .haske-closing-pathways .row > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
  border: 0;
}

body:not(.haske-staff-page) .haske-closing-pathways .item {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(310px, 30vw, 390px);
  padding: 28px 26px !important;
  overflow: hidden;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: column;
  border: 1px solid rgba(255, 253, 248, .28);
  border-radius: 4px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 18px 42px rgba(17, 16, 14, .12);
  text-align: left;
  transform: none !important;
  transition: border-color 220ms ease, box-shadow 220ms ease !important;
}

body:not(.haske-staff-page) .haske-closing-pathways .row > :nth-child(1) .item {
  background-image: linear-gradient(180deg, rgba(12, 11, 10, .08), rgba(12, 11, 10, .88)), url("../img/rooms/galleries/luxury/deluxe-suite/03-living.webp");
  background-position: center 55%;
}
body:not(.haske-staff-page) .haske-closing-pathways .row > :nth-child(2) .item {
  background-image: linear-gradient(180deg, rgba(12, 11, 10, .08), rgba(12, 11, 10, .88)), url("../img/restaurant/real/luxury-dining-room-alt.webp");
}
body:not(.haske-staff-page) .haske-closing-pathways .row > :nth-child(3) .item {
  background-image: linear-gradient(180deg, rgba(12, 11, 10, .08), rgba(12, 11, 10, .88)), url("../img/rooms/galleries/apartments/four-bedroom-suite/01-living.webp");
  background-position: center 54%;
}
body:not(.haske-staff-page) .haske-closing-pathways .row > :nth-child(4) .item {
  background-image: linear-gradient(180deg, rgba(12, 11, 10, .08), rgba(12, 11, 10, .88)), url("../img/property/luxury-garden-wing.webp");
  background-position: center 52%;
}

body:not(.haske-staff-page) .haske-closing-pathways .item::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid transparent;
  background: linear-gradient(180deg, transparent 42%, rgba(74, 32, 40, .18));
  content: "";
  transition: background-color 220ms ease, border-color 220ms ease;
}

body:not(.haske-staff-page) .haske-closing-pathways .item:is(:hover, :focus-visible, .current) {
  border-color: rgba(215, 183, 122, .88);
  box-shadow: 0 22px 52px rgba(17, 16, 14, .2), 0 0 0 3px rgba(189, 148, 90, .13);
}
body:not(.haske-staff-page) .haske-closing-pathways .item:is(:hover, :focus-visible, .current)::after {
  border-color: rgba(189, 148, 90, .55);
  background-color: rgba(74, 32, 40, .16);
}

.haske-offer-number {
  position: absolute;
  top: 23px;
  left: 25px;
  display: inline-flex;
  min-width: 35px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(215, 183, 122, .78);
  color: #e4c48b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

body:not(.haske-staff-page) .haske-closing-pathways .item h5 {
  margin: 0 0 8px;
  color: #fffdf8 !important;
  font-size: clamp(28px, 2.5vw, 36px);
  line-height: 1;
}
body:not(.haske-staff-page) .haske-closing-pathways .item p {
  max-width: 220px;
  margin: 0;
  color: rgba(255, 253, 248, .82) !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .035em;
}
body:not(.haske-staff-page) .haske-closing-pathways .item:is(:hover, :focus-visible, .current) h5 {
  color: #e4c48b !important;
}

body:not(.haske-staff-page) .haske-closing-pathways .offer-click-details {
  position: relative;
  z-index: 4;
  padding-top: 16px;
  padding-bottom: 0;
}
body:not(.haske-staff-page) .haske-closing-pathways .offer-click-detail.current {
  display: grid;
  min-height: 88px;
  padding: 18px 20px 18px 24px;
  align-items: center;
  border: 1px solid rgba(189, 148, 90, .3);
  border-left: 3px solid #bd945a;
  border-radius: 3px;
  background: #fffdf8 !important;
  box-shadow: 0 12px 32px rgba(40, 36, 31, .06);
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 24px;
}
body:not(.haske-staff-page) .haske-closing-pathways .offer-click-detail p {
  max-width: 940px;
  color: #4b443d;
  font-size: 13px;
  line-height: 1.6;
}
body:not(.haske-staff-page) .haske-closing-pathways .offer-click-detail a {
  width: 46px;
  height: 46px;
  background: #bd945a;
  color: #28241f !important;
}
body:not(.haske-staff-page) .haske-closing-pathways .offer-click-detail a:is(:hover, :focus-visible) {
  background: #4a2028;
  color: #fffdf8 !important;
}

/* Crop decorative video chrome and give the story a precise visual boundary. */
body:not(.haske-staff-page) .haske-cinema {
  border-top: 1px solid rgba(189, 148, 90, .52);
  border-bottom: 1px solid rgba(189, 148, 90, .52);
}
body:not(.haske-staff-page) .haske-cinema__video {
  transform: translate(-50%, -50%) scale(1.16);
}

/* A luminous final utility block breaks the dark run before the footer. */
body:not(.haske-staff-page) .budget-estimator-section {
  padding: clamp(62px, 6vw, 82px) 0;
  border-top: 0;
  border-bottom: 1px solid rgba(189, 148, 90, .4);
  background-image:
    radial-gradient(circle at 8% 10%, rgba(189, 148, 90, .16), transparent 27rem),
    radial-gradient(circle at 92% 88%, rgba(74, 32, 40, .1), transparent 25rem),
    linear-gradient(135deg, #fffdf8 0%, #f8f4ec 68%, #f3e8ea 100%) !important;
}
body:not(.haske-staff-page) .budget-estimator-section::before {
  background: linear-gradient(90deg, rgba(255, 253, 248, .04), rgba(74, 32, 40, .045)) !important;
}
body:not(.haske-staff-page) .budget-estimator-copy h2 { color: #28241f !important; }
body:not(.haske-staff-page) .budget-estimator-copy > p { color: #5b534c !important; }
body:not(.haske-staff-page) .budget-estimator-kicker { color: #7d5d3f !important; }
body:not(.haske-staff-page) .budget-estimator-benefits span {
  border-color: rgba(74, 32, 40, .28);
  background: #4a2028;
  color: #fffdf8;
  box-shadow: 0 8px 20px rgba(74, 32, 40, .1);
}
body:not(.haske-staff-page) .budget-estimator-benefits i { color: #d7b77a; }
body:not(.haske-staff-page) .budget-estimator-form {
  border-color: rgba(189, 148, 90, .62) !important;
  background: #fffdf8 !important;
  box-shadow: 0 22px 54px rgba(40, 36, 31, .13);
}

@media (max-width: 991px) {
  .haske-offers-intro { grid-template-columns: 1fr; gap: 18px; }
  .haske-offers-intro > p { max-width: 650px; }
  body:not(.haske-staff-page) .haske-closing-pathways .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.haske-staff-page) .haske-closing-pathways .item { min-height: 260px; }
}

@media (max-width: 575px) {
  body:not(.haske-staff-page) .haske-closing-pathways { padding: 58px 0 54px; }
  .haske-offers-intro .section-title { font-size: clamp(36px, 11vw, 48px); }
  .haske-offers-intro > p { padding-left: 16px; }
  body:not(.haske-staff-page) .haske-closing-pathways .row { grid-template-columns: 1fr; }
  body:not(.haske-staff-page) .haske-closing-pathways .item { min-height: 220px; padding: 24px 22px !important; }
  body:not(.haske-staff-page) .haske-closing-pathways .offer-click-detail.current {
    min-height: 0;
    padding: 18px;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 14px;
  }
  body:not(.haske-staff-page) .budget-estimator-section { padding: 56px 0; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.haske-staff-page) .haske-closing-pathways .item,
  body:not(.haske-staff-page) .haske-closing-pathways .item::after { transition: none !important; }
}

/* Authentic photography: consistent editorial crops while lightboxes preserve
   the full original frame. */
.haske-story-photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

.offers1 .item .img {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.offers1 .item .img img,
#gallery .galleryscroll .item .img > img,
.galleryscroll .owl-carousel .item .img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#gallery .galleryscroll .item .img,
.galleryscroll .owl-carousel .item .img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #171614;
}

#leadership .haske-leadership-card {
  position: relative;
  height: 100%;
  min-height: 100%;
  padding-top: 26px;
  border: 1px solid rgba(189, 148, 90, .34);
  background: linear-gradient(145deg, #fffdf8 0%, #f8f4ec 100%);
  box-shadow: 0 18px 44px rgba(40, 36, 31, .08);
}
#leadership .haske-leadership-mark {
  width: 70px;
  height: 70px;
  margin: 0 30px 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(189, 148, 90, .48);
  background: #28241f;
}
#leadership .haske-leadership-mark img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}
#leadership .haske-leadership-card .info {
  padding-top: 0;
}

/* Purpose-led navigation: the utility rail, guest journeys and full directory
   each perform a distinct job instead of repeating the homepage. */
@media (min-width: 1025px) {
  body:not(.haske-staff-page) .haske-primary-list {
    justify-content: center;
    gap: clamp(2px, .75vw, 16px);
  }

  body:not(.haske-staff-page) .haske-primary-item > a,
  body:not(.haske-staff-page) .haske-primary-trigger {
    padding-inline: clamp(9px, .85vw, 16px);
  }

  body:not(.haske-staff-page) .haske-primary-item--plan .haske-primary-panel {
    width: 380px;
  }
}

body:not(.haske-staff-page) .haske-primary-panel.haske-link-panel {
  padding: 20px;
}

body:not(.haske-staff-page) .haske-primary-panel.haske-link-panel > a {
  min-height: 58px;
  padding-block: 10px;
}

body:not(.haske-staff-page) .haske-primary-panel.haske-link-panel > a strong {
  font-size: 13px;
  letter-spacing: .015em;
}

body:not(.haske-staff-page) .haske-primary-panel.haske-link-panel > a small {
  font-size: 11px;
  line-height: 1.35;
}

body .rixos-wrap .rixos-menu > ul > li > a,
body .rixos-wrap .rixos-menu > ul > li > button {
  display: grid;
  align-items: center;
  justify-content: start;
  grid-template-columns: 24px max-content 12px;
  gap: 8px;
  text-align: left;
}

body .rixos-wrap .rixos-menu > ul > li > a {
  grid-template-columns: 24px max-content;
}

.haske-drawer-index {
  color: #8a6536;
  font-family: "Urbanist", sans-serif;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .12em;
}

body .rixos-wrap .rixos-menu > ul > li > :is(a, button) > span:nth-child(2) {
  color: #28241f;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

body .rixos-wrap .rixos-menu > ul > li > :is(a, button):is(:hover, :focus-visible) .haske-drawer-index,
body .rixos-wrap .rixos-menu > ul > li.open > button .haske-drawer-index {
  color: #bd945a;
}

body .rixos-wrap .rixos-menu > ul > li > :is(a, button):is(:hover, :focus-visible) > span:nth-child(2),
body .rixos-wrap .rixos-menu > ul > li.open > button > span:nth-child(2) {
  color: #4a2028;
}

body .rixos-wrap .rixos-menu > ul > li > button > i {
  position: static;
  color: #8a6536;
  font-size: 8px;
}

.haske-branch-directory__intro h2 {
  text-wrap: balance;
}

@media (max-width: 1024px) {
  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > button,
  body .rixos-wrap .rixos-menu > ul > li > a:hover,
  body .rixos-wrap .rixos-menu > ul > li > button:hover {
    padding-inline: 10px;
    grid-template-columns: 28px minmax(0, 1fr) 14px;
    gap: 10px;
  }

  body .rixos-wrap .rixos-menu > ul > li > a {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .haske-drawer-index { font-size: 9px; }

  body .rixos-wrap .rixos-menu > ul > li > :is(a, button) > span:nth-child(2) {
    font-size: 11px;
  }
}

/* Concierge gallery navigation: a stable, cinematic menu in the established footprint. */
body .rixos-wrap {
  max-height: min(640px, 100dvh);
  background-color: #fffdf8 !important;
  background-image:
    radial-gradient(circle at 8% 0%, rgba(189,148,90,.18), transparent 30%),
    radial-gradient(circle at 94% 8%, rgba(74,32,40,.08), transparent 24%),
    linear-gradient(135deg, rgba(255,253,248,.99), rgba(245,240,231,.985)) !important;
}

body .rixos-wrap .rixos-menu {
  position: relative;
  isolation: isolate;
  border-top: 1px solid rgba(189,148,90,.2);
  border-bottom: 1px solid rgba(189,148,90,.22);
  background: rgba(255,253,248,.46);
}

body .rixos-wrap .rixos-menu::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, rgba(74,32,40,.065), transparent 27%, transparent 73%, rgba(189,148,90,.09));
}

body .rixos-wrap .rixos-menu > ul > li > :is(a, button),
body .rixos-wrap .rixos-menu > ul > li > :is(a, button):is(:hover, :focus-visible) {
  border-radius: 0 !important;
  background: transparent !important;
  transform: none !important;
  transition: color 180ms ease, box-shadow 180ms ease !important;
}

body .rixos-wrap .rixos-menu > ul > li > :is(a, button):is(:hover, :focus-visible),
body .rixos-wrap .rixos-menu > ul > li.open > button {
  box-shadow: inset 0 -2px 0 var(--haske-gold) !important;
}

body .rixos-wrap .haske-drawer-group > ul {
  border: 1px solid rgba(189,148,90,.32);
  border-top: 2px solid var(--haske-gold);
  border-radius: 0 0 4px 4px;
  background: rgba(255,253,248,.995) !important;
  box-shadow: 0 18px 42px rgba(17,16,14,.16);
}

body .rixos-wrap .haske-drawer-group > ul li a {
  border: 1px solid transparent;
  background: transparent !important;
  color: var(--haske-ink) !important;
  transform: none !important;
}

body .rixos-wrap .haske-drawer-group > ul li a:is(:hover, :focus-visible) {
  border-color: rgba(189,148,90,.22);
  background: rgba(74,32,40,.065) !important;
  color: var(--haske-forest) !important;
}

.haske-branch-directory,
.haske-drawer-submenu-open .haske-branch-directory {
  margin-top: 16px !important;
  padding-bottom: 16px;
  border-bottom-color: rgba(189,148,90,.22);
}

.haske-branch-directory__intro {
  align-items: end;
}

.haske-branch-directory__intro .haske-drawer-label {
  color: #8a6536;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .2em;
}

.haske-branch-directory__intro h2 {
  font-size: clamp(22px,2vw,29px);
  letter-spacing: -.015em;
  text-wrap: balance;
}

.haske-branch-directory__grid {
  gap: 12px;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.haske-branch-card,
.haske-branch-card:first-child,
.haske-branch-card:last-child,
.haske-branch-card:hover,
.haske-branch-card:focus-visible,
.haske-branch-card:active,
.haske-branch-card.is-luxury,
.haske-branch-card.is-luxury:hover,
.haske-branch-card.is-luxury:focus-visible {
  position: relative;
  isolation: isolate;
  display: block;
  min-width: 0;
  min-height: 218px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(189,148,90,.36) !important;
  border-radius: 4px;
  background: #11100e !important;
  color: #fffdf8 !important;
  box-shadow: 0 12px 30px rgba(17,16,14,.13) !important;
  transform: none !important;
}

.haske-branch-card::before,
.haske-branch-card::after {
  content: none !important;
}

.haske-branch-card figure {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100% !important;
  margin: 0;
  overflow: hidden;
  background: #11100e;
}

.haske-branch-card figure::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, rgba(17,16,14,.06) 12%, rgba(17,16,14,.22) 48%, rgba(17,16,14,.92) 100%);
}

.haske-branch-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.035);
  transform: scale(1.001);
  transition: filter 360ms ease, transform 650ms cubic-bezier(.22,.61,.36,1) !important;
}

.haske-branch-card:is(:hover, :focus-visible) figure img {
  filter: saturate(1.04) contrast(1.055);
  transform: scale(1.035);
}

.haske-branch-card .haske-branch-card__number {
  position: absolute;
  z-index: 3;
  top: 13px;
  left: 13px;
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(215,183,122,.68);
  border-radius: 50%;
  background: rgba(17,16,14,.48);
  color: #f4d49d;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
  text-shadow: none;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.haske-branch-card figure em {
  position: absolute;
  z-index: 3;
  top: 13px;
  right: 13px;
  bottom: auto;
  padding: 5px 8px;
  border: 1px solid rgba(255,253,248,.6);
  border-radius: 999px;
  background: rgba(189,148,90,.9);
  color: #17130f;
  font-size: 7px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.haske-branch-card__content {
  position: absolute;
  z-index: 2;
  right: 48px;
  bottom: 17px;
  left: 18px;
  display: grid;
  min-height: 0;
  padding: 0;
  align-content: end;
  gap: 4px;
}

.haske-branch-card__content > small {
  color: #e4c48b;
  font-size: 7.5px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.haske-branch-card__content > strong {
  color: #fffdf8;
  font: 400 clamp(17px,1.35vw,20px)/1.08 "Gilda Display", serif;
  text-shadow: 0 2px 12px rgba(0,0,0,.42);
  text-wrap: balance;
}

.haske-branch-card__content > span {
  color: rgba(255,253,248,.78);
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.35;
}

.haske-branch-card > i {
  position: absolute;
  z-index: 3;
  top: auto;
  right: 15px;
  bottom: 16px;
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(215,183,122,.68);
  border-radius: 50%;
  background: rgba(17,16,14,.34);
  color: #f1ce92;
  opacity: 1;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.haske-branch-card:is(:hover, :focus-visible) > i {
  border-color: var(--haske-forest);
  background: var(--haske-forest);
  color: #fffdf8;
}

@media (min-width: 1025px) {
  body .rixos-wrap .rixos-menu > ul > li + li::before {
    position: absolute;
    top: 50%;
    left: calc(clamp(12px,2vw,30px) / -2);
    width: 1px;
    height: 18px;
    content: "";
    background: rgba(189,148,90,.22);
    transform: translateY(-50%);
  }

  body .rixos-wrap .haske-drawer-group > ul {
    top: calc(100% + 1px);
    transform: translateX(-50%);
  }
}

@media (max-width: 1024px) {
  body .rixos-wrap .rixos-menu {
    border: 0;
    background: transparent;
  }

  body .rixos-wrap .rixos-menu::before {
    content: none;
  }

  body .rixos-wrap .haske-drawer-group > ul {
    border: 0;
    border-left: 2px solid rgba(189,148,90,.55);
    border-radius: 0;
    background: rgba(248,244,236,.72) !important;
    box-shadow: none;
  }

  .haske-branch-card,
  .haske-branch-card:first-child,
  .haske-branch-card:last-child,
  .haske-branch-card:hover,
  .haske-branch-card:focus-visible,
  .haske-branch-card:active {
    flex: 0 0 min(258px,78vw);
    min-height: 205px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .haske-branch-card figure img,
  .haske-branch-card:is(:hover, :focus-visible) figure img {
    transform: none;
    transition: none !important;
  }
}

/* Stable two-tier menu rail: opaque layers prevent hero repaints and visual flashing. */
.haske-menu-overlay {
  background: rgba(17,16,14,.62) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: opacity 160ms ease-out, visibility 160ms ease-out !important;
}

@media (min-width: 1025px) {
  body .rixos-wrap {
    isolation: isolate;
    max-height: min(640px,100dvh);
    border-bottom: 1px solid rgba(189,148,90,.62);
    background: #fffdf8 !important;
    background-image: none !important;
    box-shadow: 0 24px 64px rgba(17,16,14,.28);
    opacity: 1 !important;
    visibility: hidden;
    pointer-events: none;
    contain: paint;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    transform: translateY(-102%) !important;
    transition: transform 220ms cubic-bezier(.22,.61,.36,1), visibility 0s linear 220ms !important;
  }

  body .rixos-wrap.rixos-wrap-show {
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) !important;
    transition: transform 220ms cubic-bezier(.22,.61,.36,1), visibility 0s linear 0s !important;
  }

  body .rixos-wrap .haske-drawer-header {
    min-height: 76px;
    padding: 11px clamp(30px,5vw,72px);
    border-bottom: 1px solid rgba(189,148,90,.3);
    background: #fffdf8 !important;
  }

  body .rixos-wrap .rixos-wrap-inner {
    width: min(1320px,100%);
    padding: 0 22px 18px;
    background: #fffdf8;
  }

  body .rixos-wrap .rixos-menu {
    position: relative;
    min-height: 108px;
    border: 0;
    border-bottom: 1px solid rgba(189,148,90,.28);
    background: #24211d !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.04);
  }

  body .rixos-wrap .rixos-menu::before {
    z-index: 0;
    background:
      linear-gradient(90deg, rgba(74,32,40,.42), transparent 18%, transparent 82%, rgba(189,148,90,.16)),
      linear-gradient(180deg, rgba(255,255,255,.035), transparent) !important;
  }

  body .rixos-wrap .rixos-menu::after {
    position: absolute;
    z-index: 1;
    bottom: 24px;
    left: 50%;
    width: min(520px,58vw);
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(215,183,122,.38) 18%, rgba(215,183,122,.9) 50%, rgba(215,183,122,.38) 82%, transparent);
    box-shadow: 0 0 12px rgba(189,148,90,.32);
    transform: translateX(-50%);
  }

  body .rixos-wrap .rixos-menu > ul {
    position: relative;
    z-index: 3;
    min-height: 59px;
    height: 59px;
    padding: 0 clamp(18px,3vw,42px);
    justify-content: center;
    gap: clamp(18px,2.25vw,34px);
    border-bottom: 1px solid rgba(215,183,122,.18);
    overflow: visible;
  }

  body .rixos-wrap .rixos-menu > ul > li,
  body .rixos-wrap .haske-drawer-group {
    position: static;
  }

  body .rixos-wrap .rixos-menu > ul > li + li::before {
    content: none;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button),
  body .rixos-wrap .rixos-menu > ul > li > :is(a,button):is(:hover,:focus-visible) {
    min-height: 59px;
    height: 59px;
    padding: 0 0 2px;
    gap: 8px;
    border: 0;
    background: transparent !important;
    box-shadow: inset 0 -2px 0 transparent !important;
    transform: none !important;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button) > span:nth-child(2) {
    color: rgba(255,253,248,.9);
    font-size: 12px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: .085em;
    text-shadow: none;
    white-space: nowrap;
  }

  body .rixos-wrap .haske-drawer-index {
    color: #d7b77a;
    font-size: 9px;
  }

  body .rixos-wrap .rixos-menu > ul > li > button > i {
    color: #d7b77a;
    font-size: 8px;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button):is(:hover,:focus-visible),
  body .rixos-wrap .rixos-menu > ul > li.open > button,
  body .rixos-wrap .rixos-menu > ul > li > a.active {
    box-shadow: inset 0 -2px 0 var(--haske-gold) !important;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button):is(:hover,:focus-visible) > span:nth-child(2),
  body .rixos-wrap .rixos-menu > ul > li.open > button > span:nth-child(2),
  body .rixos-wrap .rixos-menu > ul > li > a.active > span:nth-child(2) {
    color: #fffdf8;
  }

  body .rixos-wrap .haske-drawer-group > ul {
    position: absolute;
    z-index: 5;
    top: 59px;
    right: 0;
    left: 0;
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 49px;
    margin: 0 !important;
    padding: 0 clamp(32px,6vw,90px) !important;
    align-items: stretch;
    justify-content: center;
    grid-template-columns: none;
    gap: clamp(8px,1.6vw,24px);
    border: 0;
    border-radius: 0;
    background: #f4ead7 !important;
    box-shadow: inset 0 -1px 0 rgba(189,148,90,.26);
    transform: none !important;
  }

  body .rixos-wrap .haske-drawer-group > ul[hidden] {
    display: none !important;
  }

  body .rixos-wrap .haske-drawer-group > ul li {
    min-width: 0;
  }

  body .rixos-wrap .haske-drawer-group > ul li a,
  body .rixos-wrap .haske-drawer-group > ul li a:hover,
  body .rixos-wrap .haske-drawer-group > ul li a:focus-visible {
    display: flex;
    width: auto;
    min-width: 0;
    min-height: 49px;
    height: 49px;
    padding: 0 clamp(8px,1vw,15px);
    align-items: center;
    justify-content: center;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent !important;
    color: #28241f !important;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: .015em;
    text-align: center;
    white-space: nowrap;
    box-shadow: none !important;
    transform: none !important;
  }

  body .rixos-wrap .haske-drawer-group > ul li a:is(:hover,:focus-visible) {
    border-bottom-color: var(--haske-forest);
    color: var(--haske-forest) !important;
  }

  body .rixos-wrap .haske-branch-directory,
  body .rixos-wrap .haske-drawer-submenu-open .haske-branch-directory {
    margin-top: 13px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(189,148,90,.26);
  }

  body .rixos-wrap .haske-branch-directory__intro {
    min-height: 38px;
    margin-bottom: 10px;
    align-items: center;
    grid-template-columns: minmax(150px,.52fr) minmax(0,1.48fr);
  }

  body .rixos-wrap .haske-branch-directory__intro h2 {
    color: #28241f;
    font-size: clamp(22px,2vw,29px);
  }

  body .rixos-wrap .haske-branch-directory__grid {
    gap: 12px;
  }

  body .rixos-wrap .haske-branch-card,
  body .rixos-wrap .haske-branch-card:hover,
  body .rixos-wrap .haske-branch-card:focus-visible,
  body .rixos-wrap .haske-branch-card:active,
  body .rixos-wrap .haske-branch-card.is-luxury,
  body .rixos-wrap .haske-branch-card.is-luxury:hover,
  body .rixos-wrap .haske-branch-card.is-luxury:focus-visible {
    min-height: 214px;
    border-color: rgba(189,148,90,.52) !important;
    background: #171511 !important;
    box-shadow: 0 11px 25px rgba(17,16,14,.16) !important;
    transform: none !important;
  }

  body .rixos-wrap .haske-branch-card figure img {
    filter: saturate(1.08) contrast(1.06) brightness(1.03);
    transform: none;
    transition: filter 180ms ease !important;
  }

  body .rixos-wrap .haske-branch-card:is(:hover,:focus-visible) figure img {
    filter: saturate(1.14) contrast(1.075) brightness(1.06);
    transform: none;
  }

  body .rixos-wrap .haske-branch-card.is-luxury {
    border-color: rgba(189,148,90,.88) !important;
    box-shadow: 0 11px 28px rgba(74,32,40,.22), inset 0 0 0 1px rgba(74,32,40,.5) !important;
  }

  body .rixos-wrap .haske-branch-card figure::after {
    background: linear-gradient(180deg, rgba(17,16,14,.02) 10%, rgba(17,16,14,.12) 46%, rgba(17,16,14,.9) 100%);
  }

  body .rixos-wrap .haske-branch-card .haske-branch-card__number,
  body .rixos-wrap .haske-branch-card > i {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body .rixos-wrap .rixos-menu-footer {
    min-height: 52px;
    padding-top: 10px;
    gap: 8px;
  }

  body .rixos-wrap :is(.haske-drawer-manage,.haske-drawer-actions a,.haske-drawer-book),
  body .rixos-wrap :is(.haske-drawer-manage,.haske-drawer-actions a,.haske-drawer-book):is(:hover,:focus-visible) {
    min-height: 42px;
    height: 42px;
    border-radius: 3px;
    transform: none !important;
  }

  body .rixos-wrap .haske-drawer-manage,
  body .rixos-wrap .haske-drawer-actions a {
    border-color: rgba(40,36,31,.22);
    background: #fffdf8 !important;
    color: #28241f !important;
  }

  body .rixos-wrap .haske-drawer-manage:is(:hover,:focus-visible),
  body .rixos-wrap .haske-drawer-actions a:is(:hover,:focus-visible) {
    border-color: var(--haske-forest);
    background: var(--haske-forest) !important;
    color: #fffdf8 !important;
  }

  body .rixos-wrap .haske-drawer-book,
  body .rixos-wrap .haske-drawer-book:hover,
  body .rixos-wrap .haske-drawer-book:focus-visible {
    border-color: var(--haske-gold);
    background: var(--haske-gold) !important;
    color: #201e1a !important;
  }

  body .rixos-wrap .haske-drawer-book:is(:hover,:focus-visible) {
    border-color: var(--haske-forest);
    background: var(--haske-forest) !important;
    color: #fffdf8 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .rixos-wrap,
  body .rixos-wrap.rixos-wrap-show,
  .haske-menu-overlay {
    transition: none !important;
  }
}

/* ==========================================================================
   HASKE arrival loader and balanced secondary navigation — release 46
   ========================================================================== */
.preloader {
  z-index: 100000 !important;
  display: none !important;
  background:
    radial-gradient(circle at 50% 46%, rgba(189,148,90,.13), transparent 18rem),
    linear-gradient(145deg, #fffdf8 0%, #f8f4ec 62%, #f3ebde 100%) !important;
  opacity: 1;
  visibility: visible;
  transition: opacity 380ms ease, visibility 380ms ease !important;
}

.preloader.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader.is-hidden { display: none !important; }

.preloader .centered .cont {
  position: relative;
  width: 230px;
  height: 178px;
  color: #28241f;
  text-align: center;
  transform: translateY(-4px);
}

.preloader .centered .cont::before,
.preloader .centered .cont::after {
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  text-align: center;
}

.preloader .centered .cont::before {
  top: 132px;
  content: "HASKE HOTEL";
  color: #28241f;
  font: 500 19px/1 "Gilda Display", Georgia, serif;
  letter-spacing: .22em;
  text-indent: .22em;
}

.preloader .centered .cont::after {
  top: 158px;
  content: "LIGHT IN EVERY WELCOME";
  color: #7d5d3f;
  font: 750 7px/1 "Urbanist", sans-serif;
  letter-spacing: .22em;
  text-indent: .22em;
}

.preloader .centered .cont .loader-circle {
  top: 58px;
  width: 106px;
  height: 106px;
  margin-top: -53px;
  margin-left: -53px;
  box-shadow:
    inset 0 0 0 1px rgba(189,148,90,.2),
    0 0 38px rgba(189,148,90,.09);
}

.preloader .centered .cont .loader-line-mask {
  top: 58px;
  width: 53px;
  height: 106px;
  margin-top: -53px;
  margin-left: -53px;
  transform-origin: 53px 53px;
  animation: haske-loader-orbit 1.45s linear infinite;
}

.preloader .centered .cont .loader-line-mask .loader-line {
  width: 106px;
  height: 106px;
  box-shadow: inset 0 0 0 1.5px rgba(189,148,90,.88);
}

.preloader .centered .cont img {
  position: absolute;
  top: 58px;
  left: 50%;
  width: 54px;
  max-width: 54px;
  height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(40,36,31,.1));
  transform: translate(-50%,-50%);
  animation: haske-loader-light 1.45s ease-in-out infinite alternate;
}

@keyframes haske-loader-orbit {
  to { transform: rotate(360deg); }
}

@keyframes haske-loader-light {
  from { opacity: .82; filter: drop-shadow(0 3px 8px rgba(40,36,31,.08)); }
  to { opacity: 1; filter: drop-shadow(0 5px 15px rgba(189,148,90,.34)); }
}

@media (min-width: 1025px) {
  .haske-primary-nav__inner {
    --haske-primary-left-width: clamp(154px, 12.25vw, 192px);
    --haske-primary-book-width: clamp(154px, 11.5vw, 184px);
    width: calc(100% - (2 * var(--haske-header-gutter)));
    grid-template-columns: var(--haske-primary-left-width) minmax(0,1fr) var(--haske-primary-book-width);
    column-gap: 0;
  }

  .haske-primary-signature {
    padding-inline: clamp(7px,.85vw,13px);
    gap: clamp(5px,.55vw,9px);
  }

  .haske-primary-list {
    padding-inline: clamp(3px,.45vw,8px) !important;
    justify-content: space-around;
    gap: 0;
    border-left: 1px solid rgba(189,148,90,.18);
  }

  .haske-primary-item > a,
  .haske-primary-trigger {
    min-width: 0;
    padding-inline: clamp(5px,.62vw,11px);
    font-size: clamp(9.75px,.72vw,11.5px) !important;
    letter-spacing: .065em;
  }

  .haske-primary-book,
  .haske-primary-book:hover,
  .haske-primary-book:focus-visible {
    padding-inline: 14px;
    border-left: 1px solid rgba(40,36,31,.15) !important;
    font-size: clamp(10.5px,.73vw,11.5px) !important;
    letter-spacing: .07em;
  }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  .haske-primary-nav__inner {
    --haske-primary-left-width: 142px;
    --haske-primary-book-width: 146px;
  }

  .haske-primary-signature__copy strong { font-size: 10px; }
  .haske-primary-signature__copy small { font-size: 5.4px; letter-spacing: .08em; }
  .haske-primary-item > a,
  .haske-primary-trigger { padding-inline: 4px; font-size: 9.6px !important; letter-spacing: .045em; }
}

@media (prefers-reduced-motion: reduce) {
  .preloader,
  .preloader .centered .cont .loader-line-mask,
  .preloader .centered .cont img {
    animation: none !important;
    transition: none !important;
  }
}

/* Compact concierge menu: stable controls and locally grouped choices. */
@media (min-width: 1025px) {
  body .rixos-wrap {
    max-height: min(560px,100dvh);
  }

  body .rixos-wrap .haske-drawer-header {
    min-height: 68px;
    padding-block: 8px;
  }

  body .rixos-wrap .rixos-wrap-inner {
    padding-bottom: 15px;
  }

  body .rixos-wrap .rixos-menu {
    position: relative;
    z-index: 40;
    min-height: 56px;
    overflow: visible;
  }

  body .rixos-wrap .rixos-menu::after {
    content: none;
  }

  body .rixos-wrap .rixos-menu > ul {
    width: max-content;
    max-width: 100%;
    min-height: 56px;
    height: 56px;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    justify-content: center;
    gap: 5px;
    border-bottom: 0;
  }

  body .rixos-wrap .rixos-menu > ul > li,
  body .rixos-wrap .haske-drawer-group {
    position: relative;
  }

  body .rixos-wrap .haske-drawer-group.open {
    z-index: 50;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button),
  body .rixos-wrap .rixos-menu > ul > li > :is(a,button):is(:hover,:focus-visible) {
    width: auto;
    min-height: 56px;
    height: 56px;
    padding: 0 13px 2px;
    gap: 6px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    box-shadow: none !important;
    transform: none !important;
  }

  body .rixos-wrap .rixos-menu > ul > li > a {
    grid-template-columns: max-content;
  }

  body .rixos-wrap .rixos-menu > ul > li > button {
    grid-template-columns: max-content 10px;
  }

  body .rixos-wrap .rixos-menu > ul > li .haske-drawer-index {
    display: none;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button) > span:nth-child(2) {
    font-size: 11px;
    letter-spacing: .07em;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button):is(:hover,:focus-visible),
  body .rixos-wrap .rixos-menu > ul > li.open > button,
  body .rixos-wrap .rixos-menu > ul > li > a.active {
    border-bottom-color: var(--haske-gold);
    background: var(--haske-forest) !important;
    box-shadow: none !important;
  }

  body .rixos-wrap .rixos-menu > ul > li > :is(a,button):is(:hover,:focus-visible) .haske-drawer-index,
  body .rixos-wrap .rixos-menu > ul > li.open > button .haske-drawer-index,
  body .rixos-wrap .rixos-menu > ul > li > a.active .haske-drawer-index {
    color: #f2cf92;
  }

  body .rixos-wrap .haske-drawer-group > ul {
    position: absolute;
    z-index: 20;
    top: calc(100% + 1px);
    right: auto;
    left: 50%;
    display: block !important;
    width: max-content;
    min-width: 242px;
    max-width: min(300px,calc(100vw - 44px));
    height: auto;
    margin: 0 !important;
    padding: 7px !important;
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: none;
    grid-template-rows: none;
    gap: 0;
    border: 1px solid rgba(189,148,90,.38);
    border-top: 2px solid var(--haske-gold);
    border-radius: 0 0 4px 4px;
    background: #fffdf8 !important;
    box-shadow: 0 16px 34px rgba(17,16,14,.2);
    transform: translateX(-50%) !important;
  }

  body .rixos-wrap .haske-drawer-group > ul[hidden] {
    display: none !important;
  }

  body .rixos-wrap .haske-drawer-group > ul li {
    display: block;
    width: 100%;
    min-width: 228px;
    margin: 0 0 3px;
  }

  body .rixos-wrap .haske-drawer-group > ul li:last-child {
    margin-bottom: 0;
  }

  body .rixos-wrap .haske-drawer-group > ul li a,
  body .rixos-wrap .haske-drawer-group > ul li a:hover,
  body .rixos-wrap .haske-drawer-group > ul li a:focus-visible {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 39px;
    height: auto;
    padding: 8px 12px;
    align-items: center;
    justify-content: flex-start;
    border: 1px solid transparent;
    border-radius: 2px;
    background: transparent !important;
    color: #28241f !important;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: .02em;
    text-align: left;
    white-space: nowrap;
    box-shadow: none !important;
    transform: none !important;
  }

  body .rixos-wrap .haske-drawer-group > ul li a:is(:hover,:focus-visible) {
    border-color: var(--haske-forest);
    background: var(--haske-forest) !important;
    color: #fffdf8 !important;
  }

  body .rixos-wrap .haske-branch-directory,
  body .rixos-wrap .haske-drawer-submenu-open .haske-branch-directory {
    margin-top: 12px !important;
  }
}

/* Direct concierge navigation and restrained section guidance — release 48. */
.haske-section-guide {
  max-width: 720px;
  margin: 0 auto 18px;
  color: rgba(40,36,31,.74);
  font-family: "Urbanist", sans-serif;
  font-size: clamp(12px,1vw,14px);
  font-weight: 650;
  line-height: 1.55;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.haske-section-guide--light {
  color: rgba(255,253,248,.82);
}

.haske-room-showcase .haske-section-guide {
  margin-bottom: 9px;
}

.haske-cinema__intro .haske-section-guide {
  margin: 0 0 22px;
  max-width: 420px;
  font-size: 13px;
  letter-spacing: .06em;
}

.budget-estimator-copy .haske-section-guide {
  margin: 18px 0 16px;
  max-width: 390px;
  font-size: 13px;
  letter-spacing: .055em;
}

.haske-branch-directory__intro p {
  margin: 0;
  color: rgba(40,36,31,.7);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: .06em;
  text-transform: uppercase;
}

@media (min-width: 1025px) {
  body .rixos-wrap {
    max-height: min(560px,100dvh);
  }

  body .rixos-wrap .rixos-menu > ul {
    width: auto;
    max-width: 1040px;
    padding-inline: clamp(18px,3vw,42px) !important;
    justify-content: center;
    gap: clamp(4px,.75vw,12px);
  }

  body .rixos-wrap .rixos-menu > ul > li {
    position: relative;
  }

  body .rixos-wrap .rixos-menu > ul > li > a,
  body .rixos-wrap .rixos-menu > ul > li > a:is(:hover,:focus-visible) {
    display: flex;
    width: auto;
    min-width: 0;
    min-height: 56px;
    height: 56px;
    padding: 0 clamp(13px,1.25vw,20px) 2px;
    grid-template-columns: none;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    white-space: nowrap;
  }

  body .rixos-wrap .rixos-menu > ul > li > a > span:nth-child(2) {
    color: rgba(255,253,248,.91);
    font-size: 11px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: .075em;
    white-space: nowrap;
  }

  body .rixos-wrap .rixos-menu > ul > li > a:is(:hover,:focus-visible),
  body .rixos-wrap .rixos-menu > ul > li > a.active {
    border-bottom-color: var(--haske-gold);
    background: var(--haske-forest) !important;
  }

  body .rixos-wrap .haske-branch-directory {
    margin-top: 12px !important;
  }
}

@media (max-width: 1024px) {
  body .rixos-wrap .haske-branch-directory,
  body .rixos-wrap .haske-drawer-submenu-open .haske-branch-directory {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  body .rixos-wrap .haske-branch-directory__grid {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    padding-right: 18px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .haske-branch-directory__intro p {
    margin-top: 5px;
  }

  body .rixos-wrap .rixos-menu > ul > li > a {
    white-space: nowrap;
  }
}

/* Royal Suite editorial gallery */
.royal-suite-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
}

.royal-suite-actions .button-1 {
  margin: 0;
}

.royal-suite-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--haske-charcoal, #28241f);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(189, 148, 90, .55);
  padding-bottom: 4px;
}

.royal-suite-text-link:hover,
.royal-suite-text-link:focus-visible {
  color: var(--haske-gold, #bd945a);
}

.royal-suite-gallery {
  background:
    radial-gradient(circle at 78% 0%, rgba(189, 148, 90, .13), transparent 34%),
    #1f1d1a !important;
}

.royal-suite-gallery-intro {
  max-width: 660px;
  margin: 12px auto 0;
  color: rgba(255, 253, 248, .72);
  font-size: 16px;
  line-height: 1.7;
}

.royal-suite-gallery-controls {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 24px;
}

.royal-suite-gallery-controls > span {
  color: rgba(255, 253, 248, .72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.royal-suite-gallery-controls button {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: #fffdf8;
  border: 1px solid rgba(215, 183, 122, .55);
  border-radius: 50%;
  background: rgba(255, 253, 248, .04);
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.royal-suite-gallery-controls button:hover,
.royal-suite-gallery-controls button:focus-visible {
  color: #28241f;
  border-color: #d7b77a;
  background: #d7b77a;
  transform: translateY(-2px);
}

.royal-suite-gallery-controls button:focus-visible {
  outline: 3px solid rgba(215, 183, 122, .25);
  outline-offset: 3px;
}

.royal-suite-gallery .item .img,
#gallery .haske-royal-gallery-grid .item .img {
  position: relative;
  aspect-ratio: 3 / 2;
}

.royal-suite-gallery .item .img::before,
#gallery .haske-royal-gallery-grid .item .img::before {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 42%;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(20, 18, 15, .76));
}

.royal-suite-frame-label {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 16px;
  padding-top: 8px;
  color: #fffdf8;
  border-top: 1px solid #d7b77a;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .105em;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .42);
}

.haske-royal-gallery-heading {
  margin-top: clamp(38px, 6vw, 70px);
  margin-bottom: 18px;
}

.haske-royal-gallery-heading p {
  max-width: 700px;
  margin-bottom: 4px;
  color: rgba(40, 36, 31, .72);
  font-size: 16px;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .royal-suite-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .royal-suite-gallery-controls {
    gap: 12px;
  }

  .royal-suite-gallery-controls > span {
    max-width: 150px;
    line-height: 1.5;
  }

  .royal-suite-gallery-controls button {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
  }

  .royal-suite-frame-label {
    left: 14px;
    bottom: 13px;
  }
}

/* Landing hero photo-pan restoration — release 59 */
.home-hero-stage #kenburnsSliderContainer {
  background-position: 46% 59%;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #171614;
}

.home-hero-stage #kenburnsSliderContainer .vegas-slide-inner {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  filter: none !important;
}

.home-hero-stage #kenburnsSliderContainer .vegas-overlay {
  opacity: .065;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 128px 128px;
  mix-blend-mode: soft-light;
  pointer-events: none;
}

.home-hero-stage #kenburnsSliderContainer :is(
  .vegas-animation-haskePanOutLeft,
  .vegas-animation-haskePanInLeft,
  .vegas-animation-haskePanOutRight,
  .vegas-animation-haskePanInCenter,
  .vegas-animation-haskePanOutRightSoft,
  .vegas-animation-haskePanInCenterSoft
) {
  -webkit-animation-timing-function: cubic-bezier(.4, 0, .2, 1);
  animation-timing-function: cubic-bezier(.4, 0, .2, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  transform-origin: 50% 52%;
}

@-webkit-keyframes haske-hero-pan-out-left {
  from { -webkit-transform: scale(1.065) translate3d(-2.1%, .75%, 0); transform: scale(1.065) translate3d(-2.1%, .75%, 0); }
  to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
}
@keyframes haske-hero-pan-out-left {
  from { -webkit-transform: scale(1.065) translate3d(-2.1%, .75%, 0); transform: scale(1.065) translate3d(-2.1%, .75%, 0); }
  to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
}

@-webkit-keyframes haske-hero-pan-in-left {
  from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  to { -webkit-transform: scale(1.065) translate3d(-2.1%, -.65%, 0); transform: scale(1.065) translate3d(-2.1%, -.65%, 0); }
}
@keyframes haske-hero-pan-in-left {
  from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  to { -webkit-transform: scale(1.065) translate3d(-2.1%, -.65%, 0); transform: scale(1.065) translate3d(-2.1%, -.65%, 0); }
}

@-webkit-keyframes haske-hero-pan-out-right {
  from { -webkit-transform: scale(1.065) translate3d(2.1%, -.65%, 0); transform: scale(1.065) translate3d(2.1%, -.65%, 0); }
  to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
}
@keyframes haske-hero-pan-out-right {
  from { -webkit-transform: scale(1.065) translate3d(2.1%, -.65%, 0); transform: scale(1.065) translate3d(2.1%, -.65%, 0); }
  to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
}

@-webkit-keyframes haske-hero-pan-in-center {
  from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  to { -webkit-transform: scale(1.055) translate3d(0, -.55%, 0); transform: scale(1.055) translate3d(0, -.55%, 0); }
}
@keyframes haske-hero-pan-in-center {
  from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  to { -webkit-transform: scale(1.055) translate3d(0, -.55%, 0); transform: scale(1.055) translate3d(0, -.55%, 0); }
}

@-webkit-keyframes haske-hero-pan-out-right-soft {
  from { -webkit-transform: scale(1.04) translate3d(1.05%, -.35%, 0); transform: scale(1.04) translate3d(1.05%, -.35%, 0); }
  to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
}
@keyframes haske-hero-pan-out-right-soft {
  from { -webkit-transform: scale(1.04) translate3d(1.05%, -.35%, 0); transform: scale(1.04) translate3d(1.05%, -.35%, 0); }
  to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
}

@-webkit-keyframes haske-hero-pan-in-center-soft {
  from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  to { -webkit-transform: scale(1.04) translate3d(0, -.25%, 0); transform: scale(1.04) translate3d(0, -.25%, 0); }
}
@keyframes haske-hero-pan-in-center-soft {
  from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  to { -webkit-transform: scale(1.04) translate3d(0, -.25%, 0); transform: scale(1.04) translate3d(0, -.25%, 0); }
}

.home-hero-stage #kenburnsSliderContainer .vegas-animation-haskePanOutLeft { -webkit-animation-name: haske-hero-pan-out-left; animation-name: haske-hero-pan-out-left; }
.home-hero-stage #kenburnsSliderContainer .vegas-animation-haskePanInLeft { -webkit-animation-name: haske-hero-pan-in-left; animation-name: haske-hero-pan-in-left; }
.home-hero-stage #kenburnsSliderContainer .vegas-animation-haskePanOutRight { -webkit-animation-name: haske-hero-pan-out-right; animation-name: haske-hero-pan-out-right; }
.home-hero-stage #kenburnsSliderContainer .vegas-animation-haskePanInCenter { -webkit-animation-name: haske-hero-pan-in-center; animation-name: haske-hero-pan-in-center; }
.home-hero-stage #kenburnsSliderContainer .vegas-animation-haskePanOutRightSoft { -webkit-animation-name: haske-hero-pan-out-right-soft; animation-name: haske-hero-pan-out-right-soft; }
.home-hero-stage #kenburnsSliderContainer .vegas-animation-haskePanInCenterSoft { -webkit-animation-name: haske-hero-pan-in-center-soft; animation-name: haske-hero-pan-in-center-soft; }

@media (max-width: 767px) {
  .home-hero-stage #kenburnsSliderContainer { background-position: 38% 60%; }

  @-webkit-keyframes haske-hero-pan-out-left {
    from { -webkit-transform: scale(1.035) translate3d(-1%, .35%, 0); transform: scale(1.035) translate3d(-1%, .35%, 0); }
    to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  }
  @keyframes haske-hero-pan-out-left {
    from { -webkit-transform: scale(1.035) translate3d(-1%, .35%, 0); transform: scale(1.035) translate3d(-1%, .35%, 0); }
    to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  }
  @-webkit-keyframes haske-hero-pan-in-left {
    from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
    to { -webkit-transform: scale(1.035) translate3d(-1%, -.3%, 0); transform: scale(1.035) translate3d(-1%, -.3%, 0); }
  }
  @keyframes haske-hero-pan-in-left {
    from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
    to { -webkit-transform: scale(1.035) translate3d(-1%, -.3%, 0); transform: scale(1.035) translate3d(-1%, -.3%, 0); }
  }
  @-webkit-keyframes haske-hero-pan-out-right {
    from { -webkit-transform: scale(1.035) translate3d(1%, -.3%, 0); transform: scale(1.035) translate3d(1%, -.3%, 0); }
    to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  }
  @keyframes haske-hero-pan-out-right {
    from { -webkit-transform: scale(1.035) translate3d(1%, -.3%, 0); transform: scale(1.035) translate3d(1%, -.3%, 0); }
    to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  }
  @-webkit-keyframes haske-hero-pan-in-center {
    from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
    to { -webkit-transform: scale(1.03) translate3d(0, -.2%, 0); transform: scale(1.03) translate3d(0, -.2%, 0); }
  }
  @keyframes haske-hero-pan-in-center {
    from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
    to { -webkit-transform: scale(1.03) translate3d(0, -.2%, 0); transform: scale(1.03) translate3d(0, -.2%, 0); }
  }
  @-webkit-keyframes haske-hero-pan-out-right-soft {
    from { -webkit-transform: scale(1.025) translate3d(.6%, -.2%, 0); transform: scale(1.025) translate3d(.6%, -.2%, 0); }
    to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  }
  @keyframes haske-hero-pan-out-right-soft {
    from { -webkit-transform: scale(1.025) translate3d(.6%, -.2%, 0); transform: scale(1.025) translate3d(.6%, -.2%, 0); }
    to { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
  }
  @-webkit-keyframes haske-hero-pan-in-center-soft {
    from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
    to { -webkit-transform: scale(1.025) translate3d(0, -.15%, 0); transform: scale(1.025) translate3d(0, -.15%, 0); }
  }
  @keyframes haske-hero-pan-in-center-soft {
    from { -webkit-transform: scale(1.008) translate3d(0, 0, 0); transform: scale(1.008) translate3d(0, 0, 0); }
    to { -webkit-transform: scale(1.025) translate3d(0, -.15%, 0); transform: scale(1.025) translate3d(0, -.15%, 0); }
  }
}

/* Authentic property photography — release 57 */
.haske-facility-mosaic {
  display: grid;
  width: 100%;
  height: min(400px, 38vw);
  min-height: 330px;
  grid-template-columns: minmax(0, 1.48fr) minmax(150px, .72fr);
  gap: 10px;
}

.haske-facility-mosaic figure {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: 4px;
  background: #171614;
}

.haske-facility-mosaic figure::after {
  position: absolute;
  inset: auto 0 0;
  height: 48%;
  background: linear-gradient(180deg, transparent, rgba(10, 9, 8, .78));
  content: "";
  pointer-events: none;
}

.facilities2 .tabs-content .haske-facility-mosaic img {
  display: block;
  width: 100%;
  height: 100% !important;
  max-height: none;
  object-fit: cover;
}

.haske-facility-mosaic__main img { object-position: 52% 56%; }
.haske-facility-mosaic__aside {
  display: grid;
  min-width: 0;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.haske-facility-mosaic__aside figure:first-child img { object-position: 62% 56%; }
.haske-facility-mosaic__aside figure:last-child img { object-position: 36% 58%; }
.haske-facility-mosaic figcaption {
  position: absolute;
  z-index: 1;
  right: 14px;
  bottom: 12px;
  left: 14px;
  margin: 0;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .1em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
  text-transform: uppercase;
}
.haske-facility-mosaic__main figcaption {
  right: 18px;
  bottom: 15px;
  left: 18px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(19px, 1.65vw, 25px);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.haske-property-arrival {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(70px, 7vw, 96px) 0;
  background:
    radial-gradient(circle at 88% 4%, rgba(189, 148, 90, .17), transparent 30rem),
    linear-gradient(145deg, #111613, #1a211d 66%, #20241f);
  color: #fffdf8;
}
.haske-property-arrival::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  content: "";
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
.haske-property-arrival__intro {
  display: grid;
  margin-bottom: clamp(30px, 4vw, 46px);
  align-items: end;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .72fr);
  gap: clamp(28px, 6vw, 82px);
}
.haske-property-arrival .section-subtitle { color: #d7b77a !important; }
.haske-property-arrival .section-title {
  max-width: 700px;
  margin-bottom: 0;
  color: #fffdf8 !important;
  font-size: clamp(39px, 4.8vw, 61px);
  line-height: 1;
}
.haske-property-arrival__intro > p {
  margin: 0 0 4px;
  padding-left: 20px;
  border-left: 1px solid rgba(215, 183, 122, .6);
  color: rgba(255,253,248,.72);
  font-size: 16px;
  line-height: 1.7;
}
.haske-property-arrival__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
}
.haske-property-card {
  overflow: hidden;
  border: 1px solid rgba(215,183,122,.3);
  border-radius: 5px;
  background: #fffdf8;
  box-shadow: 0 22px 54px rgba(0,0,0,.2);
}
.haske-property-card figure {
  overflow: hidden;
  margin: 0;
  background: #171614;
}
.haske-property-card figure img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(.16, 1, .3, 1);
}
.haske-property-card:hover figure img { transform: scale(1.025); }
.haske-property-card--reception figure img { object-position: 44% 58%; }
.haske-property-card--wing figure img { object-position: 50% 55%; }
.haske-property-card--security figure img { object-position: 60% 55%; }
.haske-property-card__body { padding: clamp(22px, 2.5vw, 30px); }
.haske-property-card__body > span {
  display: block;
  margin-bottom: 9px;
  color: #8a673b;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.haske-property-card h3 {
  margin: 0 0 10px;
  color: #171614;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(27px, 2.2vw, 34px);
  font-weight: 600;
  line-height: 1.05;
}
.haske-property-card p {
  min-height: 54px;
  margin: 0 0 17px;
  color: #5e5a54;
  font-size: 15px;
  line-height: 1.65;
}
.haske-property-card a,
.haske-property-card a:hover,
.haske-property-card a:focus-visible {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--haske-forest) !important;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.haske-property-card a i { color: var(--haske-gold); }

.haske-gallery-section-heading {
  margin-bottom: 22px;
}
.haske-gallery-section-heading--compact {
  margin-top: clamp(34px, 5vw, 58px);
  margin-bottom: 14px;
}
.haske-gallery-section-heading--compact .section-title { margin-bottom: 0; }
.haske-gallery-section-heading p {
  max-width: 670px;
  margin: 0;
  color: rgba(40,36,31,.72);
  font-size: 16px;
  line-height: 1.7;
}
#gallery .haske-gallery-photo--reception { object-position: 44% 58%; }
#gallery .haske-gallery-photo--new-wing { object-position: 50% 55%; }
#gallery .haske-gallery-photo--gloria { object-position: 36% 58%; }
#gallery .haske-gallery-photo--security { object-position: 60% 55%; }
.haske-story-photo--reception { object-position: 38% 57%; }
.haske-story-photo--new-wing { object-position: 42% 55%; }

@media (max-width: 991px) {
  .haske-facility-mosaic {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .haske-facility-mosaic__main { aspect-ratio: 16 / 9; }
  .haske-facility-mosaic__aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
  .haske-facility-mosaic__aside figure { aspect-ratio: 16 / 10; }
  .haske-property-arrival__intro { grid-template-columns: 1fr; gap: 18px; }
  .haske-property-arrival__intro > p { max-width: 720px; }
  .haske-property-arrival__grid { grid-template-columns: 1fr; }
  .haske-property-card {
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr);
  }
  .haske-property-card figure img { height: 100%; aspect-ratio: auto; }
  .haske-property-card p { min-height: 0; }
}

@media (max-width: 575px) {
  .haske-home-about__campus img { object-position: 50% 54%; }
  .haske-facility-mosaic__aside { grid-template-columns: 1fr; }
  .haske-facility-mosaic__aside figure { aspect-ratio: 16 / 9; }
  .haske-facility-mosaic__aside figure:first-child img { object-position: 62% 56%; }
  .haske-facility-mosaic__aside figure:last-child img { object-position: 35% 58%; }
  .haske-property-arrival { padding: 58px 0; }
  .haske-property-arrival__intro > p { padding-left: 15px; font-size: 15px; }
  .haske-property-arrival__grid { gap: 18px; }
  .haske-property-card { display: block; }
  .haske-property-card figure img { aspect-ratio: 16 / 10; }
  .haske-property-card--reception figure img { object-position: 38% 57%; }
  .haske-property-card--wing figure img { object-position: 36% 55%; }
  .haske-property-card--security figure img { object-position: 63% 55%; }
}

@media (prefers-reduced-motion: reduce) {
  .haske-property-card figure img { transition: none !important; }
  .haske-property-card:hover figure img { transform: none !important; }
}

/* Room-card galleries — calm automatic previews with manual browsing */
.haske-room-gallery-intro {
  max-width: 800px;
  margin-top: 13px;
}

body.haske-room-gallery-open { overflow: hidden; }

#rooms-and-rates .haske-room-gallery {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: 5px 5px 0 0;
  background: #171614;
}

/* Retire controls injected by older cached gallery scripts. */
#rooms-and-rates .haske-room-gallery__toolbar,
#rooms-and-rates .haske-room-gallery__autoplay,
#rooms-and-rates .haske-room-gallery__progress {
  display: none !important;
}

#rooms-and-rates .haske-room-gallery::before {
  z-index: 1;
  pointer-events: none;
}

#rooms-and-rates .haske-room-gallery > .haske-room-gallery__card-image {
  display: block;
  width: 100%;
  height: 100% !important;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  will-change: opacity, transform;
}

#rooms-and-rates .haske-room-gallery > .haske-room-gallery__card-image.is-changing {
  animation: haske-room-card-frame-in 420ms cubic-bezier(.22, .72, .3, 1) both;
}

#featured-rooms .item .img > img.is-changing {
  animation: haske-room-card-frame-in 420ms cubic-bezier(.22, .72, .3, 1) both;
}

@keyframes haske-room-card-frame-in {
  from { opacity: .32; transform: scale(1.014); }
  to { opacity: 1; transform: scale(1); }
}

.haske-room-gallery__count,
.haske-room-gallery__type,
.haske-room-gallery__open {
  border: 1px solid rgba(255, 255, 255, .32);
  background: rgba(15, 19, 17, .82);
  color: #fff;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.haske-room-gallery__count {
  position: absolute;
  z-index: 6;
  top: 16px;
  right: 16px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: none;
}

.haske-room-gallery__types {
  position: absolute;
  z-index: 6;
  top: 16px;
  left: 16px;
  display: flex;
  max-width: calc(100% - 145px);
  flex-wrap: wrap;
  gap: 6px;
}

.haske-room-gallery--has-promo .haske-room-gallery__types { top: 62px; }

.haske-room-gallery__type {
  display: inline-flex;
  padding: 7px 9px;
  align-items: center;
  border-color: rgba(184, 149, 110, .55);
  border-radius: 999px;
  gap: 6px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.haske-room-gallery__type i { color: var(--haske-champagne); }

.haske-room-gallery__previous,
.haske-room-gallery__next,
.haske-room-gallery__dialog-previous,
.haske-room-gallery__dialog-next,
.haske-room-gallery__close {
  display: inline-flex;
  width: 44px;
  height: 44px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  background: rgba(15, 19, 17, .76);
  color: #fff;
  font: inherit;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.haske-room-gallery__previous,
.haske-room-gallery__next {
  position: absolute;
  z-index: 6;
  top: 50%;
  transform: translateY(-50%);
}

.haske-room-gallery__previous { left: 14px; }
.haske-room-gallery__next { right: 14px; }

.haske-room-gallery__surface {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: transparent;
  cursor: zoom-in;
}

.haske-room-gallery__surface:focus-visible {
  outline: 3px solid var(--haske-champagne);
  outline-offset: -6px;
}

#rooms-and-rates .haske-room-card__gallery-first { cursor: zoom-in; }

.haske-room-gallery__previous:hover,
.haske-room-gallery__next:hover,
.haske-room-gallery__dialog-previous:hover,
.haske-room-gallery__dialog-next:hover,
.haske-room-gallery__close:hover {
  border-color: var(--haske-champagne);
  background: var(--haske-champagne);
  color: var(--haske-forest-deep);
}

.haske-room-gallery__previous[hidden],
.haske-room-gallery__next[hidden],
.haske-room-gallery__dialog-previous[hidden],
.haske-room-gallery__dialog-next[hidden] { display: none !important; }

.haske-room-gallery__open {
  position: absolute;
  z-index: 6;
  top: 56px;
  right: 16px;
  display: inline-flex;
  min-height: 35px;
  padding: 8px 11px;
  align-items: center;
  border-radius: 999px;
  gap: 7px;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .065em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.haske-room-gallery__open:hover {
  border-color: var(--haske-champagne);
  background: var(--haske-champagne);
  color: var(--haske-forest-deep);
}

.haske-room-gallery__sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.haske-room-gallery-dialog {
  width: min(1180px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 230, 200, .28);
  border-radius: 8px;
  background: #1a1815;
  color: #fff;
  box-shadow: 0 32px 100px rgba(0, 0, 0, .58);
}

.haske-room-gallery-dialog::backdrop {
  background: rgba(7, 9, 8, .88);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.haske-room-gallery-dialog--fallback {
  position: fixed;
  z-index: 100000;
  inset: 16px;
}

.haske-room-gallery__dialog-panel {
  display: grid;
  max-height: calc(100dvh - 34px);
  grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  background:
    radial-gradient(circle at 88% 0, rgba(184, 149, 110, .12), transparent 26rem),
    #1a1815;
}

.haske-room-gallery__dialog-header {
  display: flex;
  min-height: 80px;
  padding: 16px 20px 14px 24px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  gap: 22px;
}

.haske-room-gallery__dialog-header h2 {
  margin: 0;
  color: #fff;
  font-family: "Gilda Display", Georgia, serif;
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 400;
  line-height: 1.05;
}

.haske-room-gallery__dialog-branch {
  margin: 0 0 4px;
  color: var(--haske-champagne);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.haske-room-gallery__close { flex: 0 0 auto; }

.haske-room-gallery__stage {
  position: relative;
  display: grid;
  min-height: 0;
  padding: 14px 18px 0;
  align-items: center;
  grid-template-columns: 50px minmax(0, 1fr) 50px;
  gap: 14px;
  background: rgba(255, 255, 255, .012);
  touch-action: pan-y;
}

.haske-room-gallery__stage figure {
  display: grid;
  min-width: 0;
  min-height: 0;
  height: 100%;
  margin: 0;
  grid-template-rows: minmax(0, 1fr) auto;
}

.haske-room-gallery__dialog-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  max-height: calc(100dvh - 300px);
  margin: auto;
  object-fit: contain;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}

.haske-room-gallery__stage figcaption {
  min-height: 43px;
  padding: 11px 2px 8px;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

.haske-room-gallery__dialog-previous,
.haske-room-gallery__dialog-next {
  align-self: center;
  justify-self: center;
}

.haske-room-gallery__dialog-meta {
  display: flex;
  padding: 8px 24px 10px;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, .7);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.haske-room-gallery__dialog-type { color: var(--haske-champagne); }

.haske-room-gallery__filmstrip {
  display: flex;
  min-height: 88px;
  padding: 10px 20px 16px;
  overflow-x: auto;
  border-top: 1px solid rgba(255, 255, 255, .08);
  gap: 9px;
  scrollbar-color: var(--haske-gold) rgba(255, 255, 255, .08);
  scrollbar-width: thin;
}

.haske-room-gallery__thumbnail {
  display: block;
  width: 94px;
  min-width: 94px;
  height: 60px;
  padding: 2px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  opacity: .62;
  transition: border-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.haske-room-gallery__thumbnail:hover,
.haske-room-gallery__thumbnail[aria-current="true"] {
  border-color: var(--haske-champagne);
  opacity: 1;
}

.haske-room-gallery__thumbnail[aria-current="true"] { transform: translateY(-2px); }

.haske-room-gallery__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 1px;
  object-fit: cover;
}

.haske-room-gallery__dialog-actions {
  display: flex;
  min-height: 70px;
  padding: 12px 20px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, .1);
  gap: 20px;
  background: #f7f0e5;
  color: var(--haske-body);
}

.haske-room-gallery__dialog-actions p {
  max-width: 620px;
  margin: 0;
  color: var(--haske-body);
  font-size: 14px;
  line-height: 1.45;
}

.haske-room-gallery__book {
  display: inline-flex;
  min-height: 44px;
  padding: 10px 16px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid var(--haske-burgundy);
  border-radius: 3px;
  gap: 12px;
  background: var(--haske-burgundy);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.1;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.haske-room-gallery__book:hover {
  border-color: var(--haske-gold);
  background: var(--haske-gold);
  color: var(--haske-ink);
}

.haske-room-gallery-dialog button:focus-visible {
  outline-color: var(--haske-champagne) !important;
}

@media (max-width: 767px) {
  .haske-room-gallery-dialog {
    width: 100vw;
    height: min(760px, 100dvh);
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .haske-room-gallery__dialog-panel { height: min(760px, 100dvh); max-height: 100dvh; }
  .haske-room-gallery__dialog-header { min-height: 72px; padding: 13px 14px 12px 18px; }
  .haske-room-gallery__stage {
    padding: 8px 8px 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .haske-room-gallery__dialog-image { min-height: 220px; max-height: calc(100dvh - 285px); }
  .haske-room-gallery__dialog-previous,
  .haske-room-gallery__dialog-next {
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
  }
  .haske-room-gallery__dialog-previous { left: 14px; }
  .haske-room-gallery__dialog-next { right: 14px; }
  .haske-room-gallery__stage figcaption { padding-right: 12px; padding-left: 12px; }
  .haske-room-gallery__dialog-meta { padding-right: 18px; padding-left: 18px; }
  .haske-room-gallery__filmstrip { min-height: 82px; padding: 9px 12px 13px; }
  .haske-room-gallery__thumbnail { width: 82px; min-width: 82px; height: 54px; }
  .haske-room-gallery__dialog-actions {
    min-height: 104px;
    padding: 11px 14px 13px;
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
  .haske-room-gallery__dialog-actions p { font-size: 13px; }
  .haske-room-gallery__book { width: 100%; }
}

@media (max-width: 575px) {
  #rooms-and-rates .haske-room-gallery {
    height: 430px;
    aspect-ratio: auto;
  }
  .haske-room-gallery__count { top: 10px; right: 10px; }
  .haske-room-gallery__types { top: 10px; left: 10px; max-width: calc(100% - 125px); }
  .haske-room-gallery--has-promo .haske-room-gallery__types { top: 54px; }
  .haske-room-gallery__open { top: 48px; right: 10px; }
  .haske-room-gallery__previous { left: 10px; }
  .haske-room-gallery__next { right: 10px; }
  .haske-room-gallery__previous,
  .haske-room-gallery__next { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .haske-room-gallery__previous,
  .haske-room-gallery__next,
  .haske-room-gallery__dialog-previous,
  .haske-room-gallery__dialog-next,
  .haske-room-gallery__close,
  .haske-room-gallery__open,
  .haske-room-gallery__surface,
  .haske-room-gallery__book,
  .haske-room-gallery__thumbnail {
    transition: none !important;
  }
  .haske-room-gallery__thumbnail[aria-current="true"] { transform: none; }
  #rooms-and-rates .haske-room-gallery > .haske-room-gallery__card-image.is-changing { animation: none !important; }
}

/* 2026-09-15 — unified photographic art direction and property stories */
:root {
  --haske-canvas: #f5f3ed;
  --haske-surface: #fffefb;
  --haske-ink: #20231f;
  --haske-body: #4a4d47;
  --haske-muted: #70736c;
  --haske-gold: #b58b52;
  --haske-gold-light: #f1e1c2;
  --haske-bronze: #765832;
  --haske-champagne: #efddb8;
  --haske-champagne-soft: #faf4e8;
  --haske-border: #ddd7ca;
  --haske-sage: #a9bea9;
  --haske-sage-soft: #e7ece4;
  --haske-forest: #123f33;
  --haske-forest-deep: #0c3027;
  --haske-media-radius: 6px;
  --haske-media-line: rgba(181,139,82,.26);
  --haske-media-filter: saturate(.96) contrast(1.035) brightness(1.01);
  --haske-media-shade: linear-gradient(180deg, rgba(12,11,10,.02) 22%, rgba(12,11,10,.8) 100%);
}

:is(
  .haske-collection-card,
  .haske-branch-card,
  .experience-card,
  .haske-room-showcase .item,
  .haske-facility-mosaic figure,
  .haske-property-card
) {
  overflow: hidden;
  border-radius: var(--haske-media-radius) !important;
}

:is(
  .haske-collection-card__media img,
  .haske-branch-card figure img,
  .experience-card-img img,
  .haske-room-showcase .item .img img,
  .haske-facility-mosaic img,
  .haske-property-card figure img,
  .haske-home-about__campus img
) {
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 0 !important;
  filter: var(--haske-media-filter);
  backface-visibility: hidden;
}

.haske-facility-mosaic figure,
.haske-home-about__campus {
  overflow: hidden;
  border-radius: var(--haske-media-radius);
  box-shadow: inset 0 0 0 1px var(--haske-media-line);
}

.haske-property-card figure {
  overflow: hidden;
  border-radius: 0;
  box-shadow: inset 0 0 0 1px var(--haske-media-line);
}

.haske-home-about__campus {
  box-shadow: inset 0 0 0 1px var(--haske-media-line), 0 28px 66px rgba(17,16,14,.15);
}

.haske-collection-card--main,
.haske-branch-card--main,
.haske-stay-card--main { --haske-photo-crop: 50% 58%; }
.haske-collection-card--annex,
.haske-branch-card--annex,
.haske-stay-card--annex { --haske-photo-crop: 58% 57%; }
.haske-collection-card--luxury,
.haske-branch-card--luxury,
.haske-stay-card--luxury { --haske-photo-crop: 50% 54%; }
.haske-collection-card--apartments,
.haske-branch-card--apartments,
.haske-stay-card--apartments { --haske-photo-crop: 50% 52%; }

:is(.haske-collection-card, .haske-branch-card, .experience-card) img {
  object-position: var(--haske-photo-crop, 50% 50%) !important;
}

.haske-collection-card__media {
  position: relative;
  width: 100%;
  height: 116px;
  margin: 0;
  overflow: hidden;
  background: var(--haske-forest-deep);
}

.haske-auto-gallery {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--haske-forest-deep);
}

.haske-auto-gallery__frame {
  position: absolute !important;
  z-index: 1;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  transform: scale(1.018);
  transition: opacity 1050ms ease, transform 7200ms cubic-bezier(.2,.6,.3,1), filter 280ms ease !important;
}

.haske-auto-gallery__frame.is-active {
  opacity: 1;
  transform: scale(1.002);
}

.haske-branch-card figure::after {
  z-index: 2;
  background: var(--haske-media-shade) !important;
}

.haske-experiences .experience-card-img::after {
  z-index: 2;
  background: linear-gradient(180deg, transparent, rgba(12,11,10,.54));
}

.haske-branch-card:not(.is-gallery-paused):is(:hover, :focus-visible) .haske-auto-gallery__frame.is-active,
.experience-card:not(.is-gallery-paused):is(:hover, :focus-within) .haske-auto-gallery__frame.is-active,
.haske-collection-card:not(.is-gallery-paused):is(:hover, :focus-visible) .haske-auto-gallery__frame.is-active {
  filter: saturate(1.02) contrast(1.045) brightness(1.015);
  transform: scale(1.028);
}

.is-gallery-paused .haske-auto-gallery__frame.is-active {
  transform: scale(1.002) !important;
  transition: none !important;
}

.haske-room-showcase .item .img {
  overflow: hidden;
  border-radius: 0;
}

@media (max-width: 767px) {
  .haske-experiences .experience-card-img {
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .haske-room-showcase .item .img { aspect-ratio: 16 / 9; }
}

@media (prefers-reduced-motion: reduce) {
  .haske-auto-gallery__frame {
    transform: none !important;
    transition: none !important;
  }
  .haske-auto-gallery__frame:not(.is-active) { display: none; }
}

/* Classic HASKE bronze, burgundy and warm-neutral presentation. */
body:not(.haske-staff-page) .haske-room-showcase {
  border-color: rgba(184, 149, 110, .3);
  background:
    radial-gradient(ellipse at 50% 62%, rgba(184, 149, 110, .13), transparent 46%),
    linear-gradient(155deg, #211c18 0%, #2b2420 56%, #191614 100%) !important;
}

body:not(.haske-staff-page) .haske-room-showcase :is(.section-title, .haske-section-guide, .haske-showcase-intro) {
  color: #fffdf8 !important;
}

body:not(.haske-staff-page) .haske-room-showcase .section-subtitle { color: #d7b77a !important; }

body:not(.haske-staff-page) .haske-room-showcase .owl-item .item {
  border-color: rgba(215, 183, 122, .34);
  background: var(--haske-surface);
  opacity: 1;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
}

body:not(.haske-staff-page) .haske-room-showcase .owl-item.center .item {
  border-color: rgba(215, 183, 122, .88);
  box-shadow: 0 26px 65px rgba(0, 0, 0, .38), 0 0 0 2px rgba(184, 149, 110, .16);
}

body:not(.haske-staff-page) .haske-room-showcase .owl-item:not(.center) .item .cont { opacity: 1 !important; }

body:not(.haske-staff-page) .haske-room-showcase .item .cont {
  position: relative !important;
  bottom: auto !important;
  padding: 23px 22px 24px;
  background: #fffdf8 !important;
  color: var(--haske-body) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont :is(.title, .title a) {
  color: var(--haske-ink) !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont :is(.property-label, .room-price) {
  color: var(--haske-bronze) !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont .room-price span,
body:not(.haske-staff-page) .haske-room-showcase .item .cont .details > span {
  color: var(--haske-body) !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont .details {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 15px;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont .details > span { margin: 0; font-size: 12px; }

body:not(.haske-staff-page) .haske-room-showcase .item .cont .details > span,
body:not(.haske-staff-page) .haske-room-showcase .item .cont .details > span i {
  opacity: 1 !important;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont .details > span i {
  color: var(--haske-bronze) !important;
  filter: none !important;
}

html body:not(.haske-staff-page) #featured-rooms.haske-room-showcase .item .cont :is(.title, .title a) {
  color: var(--haske-ink) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

html body:not(.haske-staff-page) #featured-rooms.haske-room-showcase .item .cont .details > span:not(.availability-feature) {
  color: var(--haske-body) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) .haske-room-showcase .item .cont .availability-feature {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--haske-body) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body:not(.haske-staff-page) .haske-room-showcase .owl-theme .owl-nav [class*="owl-"] {
  border-color: rgba(255, 253, 247, .72);
  background: rgba(48, 20, 26, .94);
  color: #fffdf7;
  box-shadow: 0 9px 24px rgba(0, 0, 0, .25);
}

.haske-showcase-note,
.haske-room-photo-status,
.haske-room-gallery__photo-notice,
.haske-photo-update-badge {
  display: inline-flex;
  position: static;
  max-width: 100%;
  padding: 0;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--haske-bronze) !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.35;
  text-transform: uppercase;
  box-shadow: none;
}

.haske-room-showcase .cont .long-stay-badge,
#rooms-and-rates .cont .long-stay-badge {
  position: static;
  display: inline-flex;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-burgundy) !important;
  box-shadow: none;
  font-size: 10px;
  letter-spacing: .06em;
}

/* Clean catalogue cards: photography first, information below. */
#rooms-and-rates .item {
  overflow: hidden;
  border: 1px solid var(--haske-border);
  border-radius: 5px;
  background: var(--haske-surface);
  box-shadow: 0 14px 34px rgba(42, 38, 34, .09);
}

#rooms-and-rates .item:hover { transform: none; }
#rooms-and-rates .item .img::before { content: none !important; }

#rooms-and-rates .item .wrap {
  position: static;
  display: flex;
  padding: 21px 22px 23px;
  align-items: flex-end;
  gap: 18px;
  background: var(--haske-surface);
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont {
  flex: 1;
  border: 0;
  background: transparent !important;
  color: var(--haske-body) !important;
  text-shadow: none !important;
  box-shadow: none;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont :is(h3, h3 a) {
  color: var(--haske-ink) !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont :is(.details, .details span) {
  color: var(--haske-body) !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont :is(.property-label, .price) {
  color: var(--haske-bronze) !important;
  text-shadow: none !important;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .price {
  visibility: visible;
  opacity: 1;
  transform: none;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .price span { color: var(--haske-muted) !important; }
body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .details { display: flex; flex-wrap: wrap; gap: 7px 13px; }
body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .details span { margin: 0; }
body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .details i { color: var(--haske-bronze) !important; filter: none; }

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .availability-feature {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--haske-body) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#rooms-and-rates .item .wrap .arrow {
  top: auto;
  visibility: visible;
  opacity: 1;
  transform: none;
}

#rooms-and-rates .item .wrap .arrow a { background: var(--haske-burgundy); }
#rooms-and-rates .item .wrap .arrow a:hover { background: var(--haske-gold); color: var(--haske-ink); }

.haske-space-facts {
  display: flex;
  margin-top: 13px;
  padding-top: 12px;
  flex-wrap: wrap;
  gap: 8px 16px;
  border-top: 1px solid rgba(125, 93, 63, .16);
}

.haske-space-facts > span {
  display: inline-flex;
  min-height: 0;
  padding: 0;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--haske-body) !important;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .015em;
  line-height: 1.35;
  text-shadow: none !important;
}

.haske-space-facts i { color: var(--haske-bronze) !important; }

/* Image-led cards remain clean; all supporting copy sits below the photo. */
.haske-experiences .experience-card-img::after { content: none !important; }
.experience-photo-label,
.haske-collection-badge { display: none !important; }
.haske-experiences .experience-card-img .preferred-branch-badge,
.haske-room-showcase .img > .preferred-branch-badge,
.haske-room-showcase .img > .long-stay-badge { display: none !important; }

.haske-experiences .experience-card.is-preferred { border-color: rgba(184, 149, 110, .82); }
body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-card-body {
  background: #fffdf8 !important;
  color: var(--haske-body) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred :is(h3, .experience-highlights li) {
  color: var(--haske-ink) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-price {
  border-bottom-color: rgba(125, 93, 63, .22);
  color: var(--haske-bronze) !important;
}

body:not(.haske-staff-page) .haske-experiences .experience-card.is-preferred .experience-price span { color: var(--haske-muted) !important; }

.haske-experience-eyebrow {
  margin-bottom: 8px;
  color: var(--haske-bronze);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* The full navigation drawer uses split cards instead of text over photography. */
.haske-branch-card,
.haske-branch-card:first-child,
.haske-branch-card:last-child,
.haske-branch-card:hover,
.haske-branch-card:focus-visible,
.haske-branch-card:active,
.haske-branch-card.is-luxury,
.haske-branch-card.is-luxury:hover,
.haske-branch-card.is-luxury:focus-visible {
  display: grid;
  min-height: 0;
  grid-template-rows: 132px auto;
  background: #fffdf8 !important;
  color: var(--haske-ink) !important;
}

.haske-branch-card figure {
  position: relative;
  inset: auto;
  height: 132px !important;
  background: #ede4d8;
}

.haske-branch-card figure::after { content: none !important; }

.haske-branch-card__content {
  position: static;
  display: grid;
  min-height: 88px;
  padding: 13px 14px 15px;
  align-content: start;
  gap: 4px;
}

.haske-branch-card__content > small { color: var(--haske-bronze); }
.haske-branch-card__content > strong { color: var(--haske-ink); text-shadow: none; }
.haske-branch-card__content > span { color: var(--haske-muted); }
.haske-branch-card .haske-branch-card__number,
.haske-branch-card figure em,
.haske-branch-card > i { display: none; }

/* Royal Suite captions sit under photographs instead of floating over them. */
.royal-suite-gallery .item .img::before,
#gallery .haske-royal-gallery-grid .item .img::before { content: none; }

.royal-suite-frame-label {
  position: static;
  display: block;
  padding: 10px 12px 11px;
  border-top: 1px solid rgba(125, 93, 63, .15);
  background: #fffdf8;
  color: var(--haske-bronze);
  text-shadow: none;
}

.royal-suite-gallery .item .img,
#gallery .haske-royal-gallery-grid .item .img {
  aspect-ratio: auto;
}

.royal-suite-gallery .item .img img,
#gallery .haske-royal-gallery-grid .item .img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

#royal-suite-gallery.royal-suite-gallery .owl-carousel .item .img,
#gallery .haske-royal-gallery-grid .item .img {
  aspect-ratio: auto;
  overflow: visible;
  background: transparent;
}

#royal-suite-gallery.royal-suite-gallery .owl-carousel .item .img > img,
#gallery .haske-royal-gallery-grid .item .img > img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* Booking room cards keep prices and status in the information panel. */
.booking-system .step-content .room-info:hover { transform: none !important; }
.booking-system .step-content .room-info:hover .photo img { transform: none !important; }
.haske-room-option .photo-thumbnail { position: relative; }
.haske-room-option .haske-room-rate {
  display: flex;
  margin: 7px 0 13px;
  align-items: baseline;
  gap: 8px;
  color: var(--haske-bronze);
  font: 400 24px/1.2 "Gilda Display", serif;
}
.haske-room-option .haske-rate-label { color: var(--haske-muted); font: 800 10px/1.2 "Urbanist", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.haske-room-option .haske-room-photo-status { margin: 0 0 7px; }

body:not(.haske-staff-page) .home-amenities .item:hover,
body:not(.haske-staff-page) .home-amenities .item:focus-within {
  border-color: rgba(184, 149, 110, .44);
  border-top-color: var(--haske-bronze);
  background: linear-gradient(145deg, #fffdf8, #fbf4e6) !important;
  box-shadow: 0 16px 34px rgba(42, 38, 34, .1);
}

body:not(.haske-staff-page) .home-amenities .item:is(:hover, :focus-within) .cont :is(h5, p, .icon i) {
  color: var(--haske-ink) !important;
}

.page-details .cont {
  border: 1px solid var(--haske-border);
  border-top: 3px solid var(--haske-bronze);
  background: var(--haske-surface);
  box-shadow: 0 16px 42px rgba(42, 38, 34, .08);
}

@media (max-width: 767px) {
  body:not(.haske-staff-page) .haske-room-showcase .item .cont { padding: 19px 17px 21px; }
  #rooms-and-rates .item .wrap { padding: 18px 17px 20px; }
  #rooms-and-rates .item .wrap .arrow a { width: 44px; height: 44px; }
  .haske-space-facts > span { font-size: 10px; }
}

/* Compact room telemetry panels replace the former empty white card space. */
body:not(.haske-staff-page) #featured-rooms .owl-item .item {
  --haske-room-accent: #4a2028;
  --haske-room-accent-deep: #30141a;
  --haske-room-meta-size: 10px;
  background:
    radial-gradient(circle at 96% 8%, rgba(184, 149, 110, .18), transparent 34%),
    linear-gradient(138deg, #fffdf8 0%, #f7efe4 62%, #efe1d2 100%);
}

body:not(.haske-staff-page) #featured-rooms .item .cont {
  display: flex !important;
  position: relative !important;
  min-height: 0;
  padding: 10px 12px 14px !important;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 4px 10px;
  overflow: visible;
  border-top: 1px solid rgba(184, 149, 110, .36);
  background: transparent !important;
  isolation: isolate;
}

body:not(.haske-staff-page) #featured-rooms .item .cont::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--haske-room-accent), var(--haske-gold), transparent 92%);
}

body:not(.haske-staff-page) #featured-rooms .item .cont > *,
body:not(.haske-staff-page) #rooms-and-rates .item .wrap > * {
  position: relative;
  z-index: 1;
}

body:not(.haske-staff-page) #featured-rooms .item .cont .property-label {
  order: 1;
  flex: 0 0 100%;
  margin: 0;
  color: var(--haske-bronze) !important;
  font-family: "Urbanist", sans-serif;
  font-size: var(--haske-room-meta-size);
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

body:not(.haske-staff-page) #featured-rooms .item .cont .title {
  order: 2;
  flex: 1 1 52%;
  margin: 0;
  line-height: 1.05;
}

html body:not(.haske-staff-page) #featured-rooms .item .cont .title a {
  color: var(--haske-ink) !important;
  font-family: "Urbanist", sans-serif;
  font-size: clamp(23px, 2.15vw, 31px);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.05;
}

body:not(.haske-staff-page) #featured-rooms .item .cont .room-price {
  order: 3;
  flex: 0 0 auto;
  margin: 0;
  padding-bottom: 1px;
  color: var(--haske-room-accent) !important;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

body:not(.haske-staff-page) #featured-rooms .item .cont .room-price span {
  display: block;
  margin-top: 4px;
  color: var(--haske-muted) !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}

body:not(.haske-staff-page) #featured-rooms .item .cont :is(.long-stay-badge, .haske-showcase-note) {
  order: 6;
  display: block !important;
  position: static !important;
  flex: 0 0 100%;
  width: 100%;
  min-height: 18px;
  margin: 0;
  padding: 2px 0 3px;
  overflow: visible;
  line-height: 1.35;
  transform: none !important;
}

body:not(.haske-staff-page) #featured-rooms .item .cont .details {
  order: 4;
  display: grid !important;
  flex: 0 0 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  margin: 1px 0 0;
}

html body:not(.haske-staff-page) #featured-rooms .item .cont .details > span,
body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .details > span,
body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .haske-space-facts > span {
  display: flex;
  min-width: 0;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  gap: 5px;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: var(--haske-body) !important;
  font-family: "Urbanist", sans-serif;
  font-size: var(--haske-room-meta-size);
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
  box-shadow: none;
}

html body:not(.haske-staff-page) #featured-rooms .item .cont .details > span i,
body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont :is(.details, .haske-space-facts) > span i {
  flex: 0 0 auto;
  width: 12px;
  margin: 0;
  color: var(--haske-room-accent) !important;
  font-size: 11px;
  text-align: center;
}

body:not(.haske-staff-page) #rooms-and-rates .item {
  --haske-room-accent: #4a2028;
  --haske-room-accent-deep: #30141a;
  --haske-room-meta-size: 10px;
  display: flex;
  width: 100%;
  flex-direction: column;
  background:
    radial-gradient(circle at 96% 8%, rgba(184, 149, 110, .16), transparent 30%),
    linear-gradient(138deg, #fffdf8 0%, #f7efe4 66%, #efe1d2 100%);
}

body:not(.haske-staff-page) #rooms-and-rates .property-group > .col-lg-6 {
  display: flex;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap {
  position: relative;
  display: block;
  flex: 1 1 auto;
  padding: 9px 12px 11px;
  overflow: hidden;
  border-top: 0;
  background: transparent;
  isolation: isolate;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap::before {
  content: none;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 10px;
  row-gap: 3px;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .property-label {
  order: 1;
  flex: 1 1 48%;
  margin: 0;
  color: var(--haske-bronze) !important;
  font-family: "Urbanist", sans-serif;
  font-size: var(--haske-room-meta-size);
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont h3 {
  order: 3;
  flex: 1 1 48%;
  margin: 0;
  line-height: 1.05;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont h3 a {
  color: var(--haske-ink) !important;
  font-family: "Urbanist", sans-serif;
  font-size: clamp(21px, 1.8vw, 27px);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.05;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .price {
  order: 2;
  flex: 0 0 auto;
  margin: 0;
  color: var(--haske-room-accent) !important;
  font-size: 19px;
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .price span {
  display: inline;
  margin: 0 0 0 2px;
  color: var(--haske-muted) !important;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .haske-room-description {
  order: 4;
  flex: 0 0 100%;
  max-width: 68ch;
  margin: 1px 0;
  overflow: hidden;
  color: var(--haske-body) !important;
  font-family: "Urbanist", sans-serif;
  font-size: 12px;
  font-weight: 560;
  letter-spacing: .005em;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont :is(.long-stay-badge, .haske-room-photo-status) {
  order: 6;
  display: inline-flex !important;
  position: static !important;
  flex: 0 1 auto;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 1px 0;
  overflow: visible;
  line-height: 1.35;
  transform: none !important;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .details {
  order: 5;
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: 3px 11px;
  margin: 2px 0 0;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .haske-space-facts {
  order: 5;
  display: flex;
  flex: 1 1 290px;
  flex-wrap: wrap;
  gap: 3px 11px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont:has(.haske-space-facts) .details > span:not(.availability-feature) {
  display: none;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .arrow {
  display: none;
}

body:not(.haske-staff-page) #rooms-and-rates .item .wrap .arrow a {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(184, 149, 110, .62);
  border-radius: 4px;
  background: linear-gradient(145deg, var(--haske-room-accent), var(--haske-room-accent-deep));
  box-shadow: 0 8px 18px rgba(74, 32, 40, .2);
}

@media (max-width: 767px) {
  body:not(.haske-staff-page) #featured-rooms .item .cont,
  body:not(.haske-staff-page) #rooms-and-rates .item .wrap {
    padding: 10px 11px 11px !important;
  }

  html body:not(.haske-staff-page) #featured-rooms .item .cont .title a,
  body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont h3 a {
    font-size: 21px;
  }

  body:not(.haske-staff-page) #featured-rooms .item .cont .room-price,
  body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .price {
    font-size: 18px;
  }

  body:not(.haske-staff-page) #rooms-and-rates .item .wrap .cont .haske-room-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
  }

}

/* Multi-room reservation builder — preserves the warm HASKE booking theme. */
.booking-system .haske-room-option .fecilities ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 14px;
}

.booking-system .haske-room-option .fecilities ul li {
  float: none;
  width: auto;
}

.booking-system .haske-room-picker {
  display: grid;
  clear: both;
  width: 100%;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(125, 93, 63, .18);
  gap: 9px;
}

.booking-system .haske-room-add {
  display: inline-flex;
  width: 100%;
  min-height: 46px;
  padding: 10px 16px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--haske-burgundy);
  border-radius: 3px;
  gap: 9px;
  background: var(--haske-burgundy);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.booking-system .haske-room-add:hover {
  border-color: var(--haske-gold);
  background: var(--haske-gold);
  color: var(--haske-ink);
}

.booking-system .haske-room-availability {
  color: var(--haske-muted);
  font-size: 11px;
  line-height: 1.4;
  text-align: center;
}

.booking-system .haske-room-card-selection {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
}

.booking-system .haske-room-card-selection__label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--haske-forest);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.booking-system .haske-room-card-selection__label i { color: var(--haske-gold); }

.haske-room-quantity {
  display: inline-grid;
  min-height: 42px;
  align-items: stretch;
  grid-template-columns: 38px minmax(64px, auto) 38px;
  overflow: hidden;
  border: 1px solid rgba(125, 93, 63, .28);
  border-radius: 3px;
  background: #fff;
}

.haske-room-quantity button {
  display: inline-flex;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  background: var(--haske-champagne-soft);
  color: var(--haske-burgundy);
  cursor: pointer;
}

.haske-room-quantity button:hover:not(:disabled) { background: var(--haske-gold-light); }
.haske-room-quantity button:disabled { color: #aaa399; cursor: not-allowed; }

.haske-room-quantity output {
  display: inline-flex;
  padding: 2px 8px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-right: 1px solid rgba(125, 93, 63, .16);
  border-left: 1px solid rgba(125, 93, 63, .16);
  color: var(--haske-body);
  line-height: 1;
}

.haske-room-quantity output strong { color: var(--haske-ink); font-size: 15px; }
.haske-room-quantity output span { margin-top: 3px; font-size: 9px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }

.booking-system .haske-room-remove,
.haske-stay-line__price button,
.haske-stay-basket__clear {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--haske-burgundy);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .045em;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.booking-system .haske-room-option.is-selected {
  border-color: rgba(181, 139, 82, .62);
  box-shadow: 0 0 0 2px rgba(181, 139, 82, .2), 0 18px 45px rgba(41, 31, 19, .13);
}

.haske-stay-basket {
  position: relative;
  margin: 24px 0 30px;
  overflow: hidden;
  border: 1px solid rgba(125, 93, 63, .24);
  border-top: 4px solid var(--haske-burgundy);
  border-radius: 6px;
  background: var(--haske-surface);
  box-shadow: 0 18px 50px rgba(42, 38, 34, .1);
}

.haske-stay-basket::before {
  position: absolute;
  width: 260px;
  height: 260px;
  top: -180px;
  right: -70px;
  border-radius: 50%;
  background: rgba(181, 139, 82, .08);
  content: "";
  pointer-events: none;
}

.haske-stay-basket__header {
  position: relative;
  display: flex;
  padding: 24px 26px 20px;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid rgba(125, 93, 63, .14);
  gap: 22px;
}

.haske-stay-basket__eyebrow {
  display: inline-flex;
  margin-bottom: 6px;
  align-items: center;
  gap: 7px;
  color: var(--haske-bronze);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.haske-stay-basket__header h3 {
  margin: 0;
  color: var(--haske-ink);
  font-family: "Gilda Display", Georgia, serif;
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.05;
}

.haske-stay-basket__header p { max-width: 680px; margin: 8px 0 0; color: var(--haske-body); }
.haske-stay-basket__clear { position: relative; flex: 0 0 auto; margin-top: 8px; }

.haske-stay-basket__empty {
  display: flex;
  min-height: 112px;
  padding: 24px 26px;
  align-items: center;
  gap: 18px;
  color: var(--haske-body);
}

.haske-stay-basket__empty[hidden] { display: none; }
.haske-stay-basket__empty > i { color: var(--haske-gold); font-size: 29px; }
.haske-stay-basket__empty strong,
.haske-stay-basket__empty span { display: block; }
.haske-stay-basket__empty strong { margin-bottom: 3px; color: var(--haske-ink); font-size: 15px; }
.haske-stay-basket__empty span { color: var(--haske-muted); font-size: 13px; }

.haske-stay-basket__items { display: grid; }

.haske-stay-property { display: grid; }
.haske-stay-property__header {
  display: flex;
  min-height: 44px;
  padding: 10px 26px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(125, 93, 63, .16);
  gap: 16px;
  background: linear-gradient(90deg, rgba(184, 149, 110, .12), rgba(184, 149, 110, .03));
}
.haske-stay-property__header span {
  color: var(--haske-burgundy);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.haske-stay-property__header span i { margin-right: 6px; color: var(--haske-bronze); }
.haske-stay-property__header strong { color: var(--haske-bronze); font-size: 12px; font-weight: 850; white-space: nowrap; }

.haske-stay-line {
  display: grid;
  min-height: 116px;
  padding: 15px 26px;
  align-items: center;
  grid-template-columns: 138px minmax(220px, 1fr) auto minmax(125px, auto);
  border-bottom: 1px solid rgba(125, 93, 63, .14);
  gap: 18px;
}

.haske-stay-line > img {
  width: 138px;
  height: 86px;
  border-radius: 4px;
  object-fit: cover;
  filter: var(--haske-media-filter);
}

.haske-stay-line__identity > span {
  display: block;
  margin-bottom: 3px;
  color: var(--haske-bronze);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.haske-stay-line__identity h4 { margin: 0; color: var(--haske-ink); font-size: 23px; }
.haske-stay-line__identity p { margin: 4px 0 0; color: var(--haske-muted); font-size: 12px; line-height: 1.4; }
.haske-stay-line__price { display: grid; justify-items: end; gap: 3px; }
.haske-stay-line__price > span { color: var(--haske-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.haske-stay-line__price > strong { color: var(--haske-bronze); font-family: "Gilda Display", Georgia, serif; font-size: 21px; font-weight: 400; white-space: nowrap; }
.haske-stay-line__price button { margin-top: 5px; }

.haske-stay-basket__footer {
  display: grid;
  padding: 18px 26px 20px;
  grid-template-columns: repeat(2, minmax(92px, .72fr)) repeat(2, minmax(150px, 1fr));
  gap: 12px;
  background: var(--haske-champagne-soft);
}

.haske-stay-basket__footer[hidden] { display: none; }
.haske-stay-basket__metric { padding: 3px 14px; border-right: 1px solid rgba(125, 93, 63, .18); }
.haske-stay-basket__metric span,
.haske-stay-basket__metric strong { display: block; }
.haske-stay-basket__metric span { color: var(--haske-muted); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.haske-stay-basket__metric strong { margin-top: 3px; color: var(--haske-ink); font-family: "Gilda Display", Georgia, serif; font-size: 25px; font-weight: 400; }
.haske-stay-basket__metric--total,
.haske-stay-basket__metric--stay-total { text-align: right; }
.haske-stay-basket__metric--stay-total { border-right: 0; }
.haske-stay-basket__metric--total strong,
.haske-stay-basket__metric--stay-total strong { color: var(--haske-bronze); }

.haske-stay-basket__property-note {
  grid-column: 1 / -1;
  margin: 5px 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(125, 93, 63, .16);
  color: var(--haske-body);
  font-size: 12px;
  line-height: 1.45;
}

.haske-stay-basket__property-note i { margin-right: 7px; color: var(--haske-bronze); }
.haske-booking-summary__kicker { margin: -7px 0 12px; color: var(--haske-muted); font-size: 11px; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }

@media (max-width: 991px) {
  .haske-stay-line { grid-template-columns: 116px minmax(190px, 1fr) auto; }
  .haske-stay-line > img { width: 116px; height: 80px; }
  .haske-stay-line__price { grid-column: 2 / -1; grid-row: 2; align-items: center; justify-items: start; grid-template-columns: auto auto; gap: 8px 14px; }
  .haske-stay-line__price > span { display: none; }
  .haske-stay-line__price button { margin: 0; }
}

@media (max-width: 767px) {
  .booking-system .haske-room-option .fecilities ul { grid-template-columns: 1fr; }
  .booking-system .haske-room-card-selection { grid-template-columns: 1fr auto; }
  .booking-system .haske-room-card-selection__label { grid-column: 1 / -1; }
  .haske-stay-basket__header { padding: 21px 18px 17px; }
  .haske-stay-basket__header { flex-direction: column; gap: 8px; }
  .haske-stay-basket__clear { margin: 0; }
  .haske-stay-basket__empty { padding: 22px 18px; }
  .haske-stay-property__header { padding-inline: 18px; }
  .haske-stay-line { padding: 16px 18px; grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
  .haske-stay-line > img { width: 84px; height: 76px; }
  .haske-stay-line__identity h4 { font-size: 20px; }
  .haske-stay-line .haske-room-quantity { grid-column: 1 / -1; width: 100%; grid-template-columns: 44px minmax(70px, 1fr) 44px; }
  .haske-stay-line__price { grid-column: 1 / -1; grid-row: auto; justify-content: space-between; justify-items: start; grid-template-columns: 1fr auto; }
  .haske-stay-basket__footer { padding: 15px 18px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .haske-stay-basket__metric { padding: 3px 8px; }
  .haske-stay-basket__metric:nth-child(2) { border-right: 0; }
  .haske-stay-basket__metric--total,
  .haske-stay-basket__metric--stay-total { padding-top: 12px; border-top: 1px solid rgba(125, 93, 63, .16); text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .booking-system .haske-room-add { transition: none; }
}

.haske-manage-result__rooms {
  margin: 18px 0;
  padding: 17px 18px;
  border: 1px solid rgba(125, 93, 63, .2);
  border-radius: 4px;
  background: var(--haske-champagne-soft);
}

.haske-manage-result__rooms h3 { margin: 0 0 10px; color: var(--haske-ink); font-size: 20px; }
.haske-manage-result__rooms ul { margin: 0; padding: 0; list-style: none; }
.haske-manage-result__rooms li { display: flex; padding: 9px 0; align-items: center; justify-content: space-between; border-top: 1px solid rgba(125, 93, 63, .14); gap: 18px; }
.haske-manage-result__rooms li:first-child { border-top: 0; }
.haske-manage-result__rooms li span,
.haske-manage-result__rooms li strong,
.haske-manage-result__rooms li small { display: block; }
.haske-manage-result__rooms li small { color: var(--haske-muted); font-size: 10px; font-weight: 600; }
.haske-manage-result__rooms li b { color: var(--haske-bronze); font-weight: 750; text-align: right; }

/* Persistent stay cart and focused checkout — September 2026. */
.haske-header-cart-count {
  display: inline-grid;
  width: 20px;
  height: 20px;
  margin-left: 7px;
  place-items: center;
  border-radius: 50%;
  background: var(--haske-gold);
  color: var(--haske-ink);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}
.haske-header-cart-count[hidden] { display: none !important; }

#rooms-and-rates .haske-room-gallery__surface {
  display: block;
  padding: 0;
  color: transparent;
}
#rooms-and-rates .haske-room-gallery__surface > span {
  display: none !important;
}
#rooms-and-rates .haske-room-gallery__previous,
#rooms-and-rates .haske-room-gallery__next { z-index: 4; }

#rooms-and-rates .haske-cart-card-action {
  display: grid;
  order: 3;
  flex: 0 0 auto;
  width: auto;
  margin: 0 0 0 auto;
  padding: 0;
  justify-items: end;
  border: 0;
  gap: 2px;
}
#rooms-and-rates .haske-cart-card-add {
  display: inline-flex;
  min-height: 36px;
  padding: 7px 11px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--haske-burgundy);
  border-radius: 3px;
  gap: 6px;
  background: var(--haske-burgundy);
  color: #fff;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
#rooms-and-rates .haske-cart-card-add:hover,
#rooms-and-rates .haske-cart-card-add:focus-visible,
#rooms-and-rates .haske-cart-card-add.is-added:hover {
  border-color: var(--haske-gold);
  background: var(--haske-gold);
  color: var(--haske-ink);
}
#rooms-and-rates .haske-cart-card-add:focus-visible { outline: 3px solid rgba(184,149,110,.34); outline-offset: 2px; }
#rooms-and-rates .haske-cart-card-add.is-added { border-color: rgba(74,32,40,.28); background: var(--haske-burgundy-soft); color: var(--haske-burgundy); }
#rooms-and-rates .haske-cart-card-add:disabled { border-color: rgba(113,104,95,.28); background: #ece7df; color: #777169; cursor: not-allowed; }
#rooms-and-rates .haske-cart-card-status { color: var(--haske-bronze); font-size: 11px; font-weight: 800; letter-spacing: .03em; line-height: 1.3; text-align: right; }
#rooms-and-rates .haske-cart-card-status:empty { display: none; }

.haske-stay-cart-toggle {
  position: fixed;
  z-index: 1050;
  right: 24px;
  bottom: 90px;
  display: grid;
  min-width: 174px;
  min-height: 58px;
  padding: 9px 15px 9px 10px;
  align-items: center;
  grid-template-columns: 40px 1fr;
  border: 1px solid rgba(189,148,90,.72);
  border-radius: 999px;
  gap: 9px;
  background: var(--haske-burgundy);
  color: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 16px 42px rgba(48,20,26,.28);
}
.haske-stay-cart-toggle__icon { position: relative; display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--haske-champagne); }
.haske-stay-cart-toggle__icon b { position: absolute; top: -5px; right: -4px; display: grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border: 2px solid var(--haske-burgundy); border-radius: 999px; background: var(--haske-gold); color: var(--haske-ink); font-size: 9px; }
.haske-stay-cart-toggle strong,
.haske-stay-cart-toggle small { display: block; color: inherit; }
.haske-stay-cart-toggle strong { font-size: 12px; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.haske-stay-cart-toggle small { margin-top: 2px; color: rgba(255,255,255,.76); font-size: 10px; white-space: nowrap; }
.haske-stay-cart-toggle.has-items { border-color: var(--haske-gold); }
.haske-stay-cart-toggle:hover { background: var(--haske-burgundy-deep); }

.haske-stay-cart-backdrop {
  position: fixed;
  z-index: 99990;
  inset: 0;
  background: rgba(25,21,19,.58);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.haske-stay-cart-backdrop[hidden],
.haske-stay-cart-drawer[hidden] { display: none !important; }
body.haske-stay-cart-open { overflow: hidden; }
.haske-stay-cart-drawer {
  position: fixed;
  z-index: 99991;
  top: 0;
  right: 0;
  display: flex;
  width: min(500px, 100vw);
  height: 100dvh;
  flex-direction: column;
  overflow: hidden;
  border-left: 1px solid rgba(189,148,90,.42);
  background: var(--haske-surface);
  color: var(--haske-body);
  box-shadow: -18px 0 52px rgba(36,25,20,.22);
}
.haske-stay-cart-drawer > header {
  display: flex;
  min-height: 100px;
  padding: 24px 24px 18px;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid rgba(125,93,63,.18);
  gap: 20px;
  background: linear-gradient(145deg, var(--haske-burgundy-deep), var(--haske-burgundy));
}
.haske-stay-cart-drawer > header span { display: block; margin-bottom: 4px; color: var(--haske-champagne); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.haske-stay-cart-drawer > header h2 { margin: 0; color: #fff; font: 400 34px/1 "Gilda Display", Georgia, serif; }
.haske-stay-cart-close { display: grid; width: 44px; height: 44px; padding: 0; flex: 0 0 44px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; color: #fff; font-size: 19px; cursor: pointer; }
.haske-stay-cart-close:hover { border-color: var(--haske-gold); background: var(--haske-gold); color: var(--haske-ink); }
.haske-stay-cart-message { margin: 0; padding: 11px 24px; border-bottom: 1px solid rgba(125,93,63,.15); background: var(--haske-champagne-soft); color: var(--haske-forest-deep); font-size: 12px; font-weight: 700; line-height: 1.4; }
.haske-stay-cart-message.is-error { background: #fff0f0; color: #7e2f2f; }
.haske-stay-cart-message[hidden] { display: none; }
.haske-stay-cart-empty { display: grid; min-height: 290px; padding: 44px 30px; place-content: center; justify-items: center; text-align: center; }
.haske-stay-cart-empty[hidden] { display: none; }
.haske-stay-cart-empty > i { margin-bottom: 14px; color: var(--haske-gold); font-size: 34px; }
.haske-stay-cart-empty h3 { margin: 0 0 7px; color: var(--haske-ink); font-size: 25px; }
.haske-stay-cart-empty p { max-width: 330px; margin: 0; color: var(--haske-muted); }
.haske-stay-cart-items { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.haske-stay-cart-line { display: grid; min-height: 124px; padding: 16px 22px; align-items: center; grid-template-columns: 88px minmax(0,1fr) auto; border-bottom: 1px solid rgba(125,93,63,.14); gap: 12px; }
.haske-stay-cart-line > img { width: 88px; height: 82px; border-radius: 4px; object-fit: cover; filter: var(--haske-media-filter); }
.haske-stay-cart-line__copy > span { display: block; margin-bottom: 3px; color: var(--haske-bronze); font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.haske-stay-cart-line__copy h3 { margin: 0; color: var(--haske-ink); font-size: 20px; line-height: 1.08; }
.haske-stay-cart-line__copy p { margin: 4px 0 0; color: var(--haske-muted); font-size: 13px; line-height: 1.4; }
.haske-stay-cart-line__controls { display: grid; min-height: 44px; grid-template-columns: 44px 44px 44px; border: 1px solid rgba(125,93,63,.25); border-radius: 3px; overflow: hidden; }
.haske-stay-cart-line__controls button { display: grid; padding: 0; place-items: center; border: 0; background: var(--haske-champagne-soft); color: var(--haske-burgundy); cursor: pointer; }
.haske-stay-cart-line__controls button:disabled { color: #aaa399; cursor: not-allowed; }
.haske-stay-cart-line__controls output { display: grid; place-items: center; border-inline: 1px solid rgba(125,93,63,.16); color: var(--haske-ink); font-size: 13px; font-weight: 850; }
.haske-stay-cart-line__amount { grid-column: 2 / -1; display: flex; margin-top: -2px; align-items: center; justify-content: space-between; gap: 15px; }
.haske-stay-cart-line__amount strong { color: var(--haske-bronze); font: 400 18px/1 "Gilda Display", Georgia, serif; }
.haske-stay-cart-line__amount button,
.haske-stay-cart-clear { min-height: 44px; padding: 8px 4px; border: 0; background: transparent; color: var(--haske-burgundy); font: inherit; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.haske-stay-cart-drawer > footer { flex: 0 0 auto; padding: 20px 24px max(22px, env(safe-area-inset-bottom)); border-top: 1px solid rgba(125,93,63,.2); background: var(--haske-champagne-soft); }
.haske-stay-cart-total { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 3px 18px; }
.haske-stay-cart-total > span { color: var(--haske-body); font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.haske-stay-cart-total > strong { color: var(--haske-bronze); font: 400 27px/1 "Gilda Display", Georgia, serif; }
.haske-stay-cart-total > small { grid-column: 1 / -1; color: var(--haske-body); font-size: 12px; line-height: 1.45; }
.haske-stay-cart-actions { display: flex; margin-top: 16px; align-items: center; justify-content: space-between; gap: 14px; }
.haske-stay-cart-checkout { display: inline-flex; min-height: 48px; padding: 11px 16px; align-items: center; justify-content: center; border-radius: 3px; gap: 10px; background: var(--haske-burgundy); color: #fff !important; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.haske-stay-cart-checkout:hover { background: var(--haske-gold); color: var(--haske-ink) !important; }
.haske-stay-cart-checkout.is-disabled { opacity: .48; }

.haske-room-gallery__dialog-buttons { display: flex; align-items: center; gap: 10px; }
.haske-room-gallery__add {
  display: inline-flex;
  min-height: 44px;
  padding: 10px 16px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--haske-burgundy);
  border-radius: 3px;
  gap: 9px;
  background: transparent;
  color: var(--haske-burgundy);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
  cursor: pointer;
}
.haske-room-gallery__add:hover { background: var(--haske-burgundy); color: #fff; }
.haske-room-gallery__add:disabled { border-color: rgba(113,104,95,.28); background: #ece7df; color: #777169; cursor: not-allowed; }
.haske-room-gallery__book[hidden] { display: none !important; }

.haske-checkout-layout { align-items: flex-start; }
.haske-checkout-intro { margin: -10px 0 20px; color: var(--haske-muted); line-height: 1.55; }
.haske-request-assurance {
  display: flex;
  margin: -4px 0 20px;
  padding: 14px 15px;
  align-items: flex-start;
  border: 1px solid rgba(184,149,110,.35);
  border-radius: 4px;
  gap: 11px;
  background: var(--haske-champagne-soft);
  color: var(--haske-body);
}
.haske-request-assurance > i { margin-top: 2px; flex: 0 0 auto; color: var(--haske-bronze); font-size: 18px; }
.haske-request-assurance p { margin: 0; font-size: 14px; line-height: 1.5; }
.haske-request-assurance strong { color: var(--haske-ink); }
.haske-guest-details-note { max-width: 720px; margin: -10px 0 20px; color: var(--haske-muted); font-size: 15px; line-height: 1.55; }
.haske-property-directions { display: grid; margin: 0 0 30px; padding: 20px; border: 1px solid var(--haske-border); border-radius: 5px; background: var(--haske-surface); grid-template-columns: minmax(190px, .8fr) minmax(0, 1.2fr); gap: 18px; }
.haske-property-directions__intro > span { color: var(--haske-bronze); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.haske-property-directions__intro h2 { margin: 5px 0 7px; color: var(--haske-ink); font: 400 24px/1.12 "Gilda Display", Georgia, serif; }
.haske-property-directions__intro p { margin: 0; color: var(--haske-body); font-size: 13px; line-height: 1.5; }
.haske-property-directions__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.haske-property-directions__links a { display: flex; min-width: 0; min-height: 54px; padding: 10px 12px; align-items: center; justify-content: space-between; border: 1px solid rgba(125,93,63,.18); border-radius: 3px; gap: 10px; background: var(--haske-champagne-soft); color: var(--haske-ink); }
.haske-property-directions__links a:hover { border-color: var(--haske-bronze); background: var(--haske-gold-light); color: var(--haske-ink); }
.haske-property-directions__links a span { min-width: 0; }
.haske-property-directions__links strong,
.haske-property-directions__links small { display: block; overflow-wrap: anywhere; }
.haske-property-directions__links strong { font-size: 13px; line-height: 1.25; }
.haske-property-directions__links small { margin-top: 2px; color: var(--haske-muted); font-size: 11px; line-height: 1.3; }
.haske-property-directions__links i { flex: 0 0 auto; color: var(--haske-bronze); }
.haske-stay-details-card { padding: 20px !important; border: 1px solid rgba(125,93,63,.2); border-top: 3px solid var(--haske-burgundy); border-radius: 4px; background: var(--haske-surface); box-shadow: 0 14px 36px rgba(42,38,34,.08); }
.booking-system .haske-stay-details-card .form-group { margin-bottom: 13px; }
.booking-system .haske-date-bar::after { content: none; }
.booking-system .haske-date-field { padding-right: 16px; }
.booking-system .haske-date-field::-webkit-calendar-picker-indicator { opacity: .7; cursor: pointer; }
.booking-system .haske-guest-field > label { position: absolute; z-index: 3; top: 8px; left: 20px; margin: 0; color: #8a673a; font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; pointer-events: none; }
.booking-system .haske-guest-field .select2-selection__rendered { padding-top: 25px !important; padding-bottom: 10px !important; }
.haske-edit-room-link { display: inline-flex; width: 100%; min-height: 47px; padding: 11px 15px; align-items: center; justify-content: center; border: 1px solid rgba(74,32,40,.35); border-radius: 3px; gap: 8px; color: var(--haske-burgundy) !important; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.haske-edit-room-link:hover { border-color: var(--haske-burgundy); background: var(--haske-burgundy); color: #fff !important; }
.haske-stay-basket--checkout { margin-top: 0; }
.haske-stay-basket__empty a { display: inline-flex; margin-top: 9px; align-items: center; gap: 7px; color: var(--haske-burgundy); font-size: 11px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.booking-system .nextBtn:disabled { cursor: not-allowed; opacity: .45; }
.booking-system [aria-invalid="true"] { outline: 2px solid #a94343; outline-offset: 2px; }

@media (max-width: 767px) {
  #rooms-and-rates .haske-cart-card-action { width: auto; margin-left: auto; }
  #rooms-and-rates .haske-cart-card-add { width: auto; min-height: 44px; padding-inline: 10px; }
  #rooms-and-rates .haske-cart-card-status { text-align: right; }
  .haske-stay-cart-toggle { right: 14px; bottom: max(88px, calc(72px + env(safe-area-inset-bottom))); min-width: 158px; }
  .haske-stay-cart-drawer > header { min-height: 88px; padding: 18px 18px 15px; }
  .haske-stay-cart-drawer > header h2 { font-size: 30px; }
  .haske-stay-cart-line { padding: 14px 16px; grid-template-columns: 72px minmax(0,1fr); }
  .haske-stay-cart-line > img { width: 72px; height: 70px; }
  .haske-stay-cart-line__controls { grid-column: 1 / -1; grid-template-columns: 44px minmax(60px,1fr) 44px; }
  .haske-stay-cart-line__amount { grid-column: 1 / -1; }
  .haske-stay-cart-drawer > footer { padding-inline: 18px; }
  .haske-room-gallery__dialog-actions { display: grid; gap: 10px; }
  .haske-room-gallery__dialog-buttons { width: 100%; }
  .haske-room-gallery__add,
  .haske-room-gallery__book { min-width: 0; flex: 1 1 50%; padding-inline: 10px; font-size: 10px; }
  .haske-stay-details-card { padding: 16px !important; }
}

@media (max-height: 640px) {
  .haske-room-gallery-dialog { padding: 8px; overflow-y: auto; }
  .haske-room-gallery__dialog-panel { max-height: none; overflow: visible; }
  .haske-room-gallery__stage { min-height: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  #featured-rooms .item .img > img.is-changing { animation: none; }
  .haske-cart-card-add { transition: none; }
}

/* Semantic element compatibility for the legacy theme's tag-based selectors. */
.header .caption .haske-hero-kicker,
.kenburns-inner .caption .haske-hero-kicker {
  position: relative;
  margin-bottom: 15px;
  color: #bd945a;
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 3px;
  text-transform: uppercase;
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}

.amenities .item .cont .text :is(h2, h3) {
  display: inline-block !important;
  margin-bottom: 10px;
  color: #28241f;
  font-size: 21px;
  font-weight: 400;
}

.home-amenities .item .cont .text h3 { font-size: 18px; }

.amenities .item:hover .cont :is(h2, h3) { color: #fff; }

body:not(.haske-staff-page) .home-amenities .item:is(:hover, :focus-within) .cont :is(h2, h3, p, .icon i) {
  color: var(--haske-ink) !important;
}

.haske-experiences .experience-card h2 {
  min-height: 52px;
  margin-bottom: 9px;
  color: var(--haske-ink);
  font-size: 22px;
  line-height: 1.2;
}

body:not(.haske-staff-page) .haske-experiences .experience-card h2 {
  color: var(--haske-ink) !important;
}

.team .item .info h3 {
  margin-bottom: 5px;
  color: #28241f;
  font-size: 21px;
  font-weight: 400;
}

.offers2 .item :is(h2, h3) {
  margin-bottom: 0;
  color: #fff;
  font-family: "Gilda Display", serif;
  font-size: 27px;
  font-weight: 400;
}

.offers2 .item:hover :is(h2, h3) { color: #bd945a; }

body:not(.haske-staff-page) .haske-closing-pathways .item h3 {
  margin: 0 0 8px;
  color: #fffdf8 !important;
  font-size: clamp(28px, 2.5vw, 36px);
  line-height: 1;
}

body:not(.haske-staff-page) .haske-closing-pathways .item:is(:hover, :focus-visible, .current) h3 {
  color: #e4c48b !important;
}

.blog1 .item .cont h2 {
  margin-bottom: 15px;
  color: #28241f;
  font-family: "Gilda Display", serif;
  font-size: 27px;
  font-weight: 400;
}

.blog1 .item .cont h2 a {
  color: #28241f;
  text-decoration: none;
}

.blog1 .item .cont .author :is(time, p) {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  color: #28241f;
  font-family: "Urbanist", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.25;
}

.blog1 .item .cont .author p {
  opacity: 0;
  transform: translateY(150%);
}

.blog1 .item:is(:hover, :focus, :focus-within) .cont .author time {
  opacity: 0;
  transform: translateY(150%);
}

.blog1 .item:is(:hover, :focus, :focus-within) .cont .author p {
  opacity: 1;
  transform: translateY(0);
}

.post h2:not(.section-title) {
  font-family: "Gilda Display", serif;
  font-size: 30px;
  font-weight: 400;
}

.booking-system .stepwizard .stepwizard-row .stepwizard-step h2 {
  margin-bottom: 30px;
  font-size: 21px;
  text-align: center;
}

.haske-stay-basket__header h2 {
  margin: 0;
  color: var(--haske-ink);
  font-family: "Gilda Display", Georgia, serif;
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.05;
}

.haske-whatsapp-payment h3 {
  margin-bottom: 12px;
  color: #141414;
  font-size: 29px;
}

.form2 .head h2 {
  margin-bottom: 0;
  color: #fff;
  font-size: 24px;
}

.banner-header .haske-detail-kicker,
[data-overlay-dark].banner-header .haske-detail-kicker {
  margin-bottom: 15px;
  color: #bd945a;
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.page-details .haske-detail-heading {
  position: relative;
  color: #28241f;
  font-family: "Gilda Display", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 40px;
}

@media (max-width: 1199px) {
  .haske-experiences .experience-card h2 {
    min-height: 50px;
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  .booking-system .stepwizard .stepwizard-row .stepwizard-step h2 { font-size: 17px; }
}

@media (max-width: 767.98px) {
  .haske-whatsapp-payment h3 { font-size: 25px; }
}

@media (max-width: 575px) {
  .haske-stay-basket__header h2 {
    overflow-wrap: anywhere;
    font-size: 28px;
  }

  .booking-system .stepwizard .stepwizard-row .stepwizard-step h2 {
    width: min(100%, 108px);
    min-height: 30px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
}
