    /* ===== HERO ===== */
    .hero {
      height: 100vh;
      min-height: 640px;
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
    }

    .hero-slides {
      position: absolute;
      inset: 0;
    }

    .hero-slide {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transition: opacity 1.4s ease;
    }

    .hero-slide.active {
      opacity: 1;
    }

    .slide-0 {
      background-image: url('../img/Hero%20slide%200.webp');
    }

    .slide-1 {
      background-image: url('../img/Hero%20slide%201.webp');
    }

    .slide-2 {
      background-image: url('../img/Hero%20slide%202.webp');
    }

    .slide-3 {
      background-image: url('../img/Hero%20slide%203.webp');
    }

    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(5, 4, 2, .84) 0%, rgba(5, 4, 2, .5) 55%, rgba(5, 4, 2, .12) 100%);
      z-index: 1;
    }

    .hero-content {
      position: relative;
      z-index: 2;
      padding: 0 4rem;
      max-width: 820px;
    }

    .hero-eyebrow {
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .38em;
      text-transform: uppercase;
      color: var(--gold);
      font-family: var(--font-body);
      margin-bottom: 1.5rem;
      display: flex;
      align-items: center;
      gap: 1rem;
    }

    .hero-eyebrow::before {
      display: none;
    }

    .hero h1 {
      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
      font-size: clamp(2.2rem, 4.5vw, 5.2rem);
      font-weight: 300;
      line-height: 1.1;
      color: var(--white);
      margin-bottom: 1.5rem;
    }

    .hero h1 em {
      font-style: normal;
      color: var(--gold-light);
      font-weight: 300;
    }

    .hero-sub {
      font-size: 1rem;
      font-weight: 400;
      letter-spacing: .04em;
      color: rgba(245, 240, 232, .8);
      max-width: 440px;
      margin-bottom: 3rem;
      line-height: 1.85;
    }

    .hero-ctas {
      display: flex;
      gap: 1.2rem;
      flex-wrap: wrap;
    }

    .hero-dots {
      position: absolute;
      bottom: 2.5rem;
      left: 4rem;
      z-index: 2;
      display: flex;
      gap: .8rem;
    }

    .hero-dot {
      width: 24px;
      height: 1.5px;
      background: rgba(201, 168, 76, .4);
      cursor: pointer;
      transition: all .4s;
      border: none;
      padding: 0;
    }

    .hero-dot.active {
      background: var(--gold);
      width: 48px;
    }

    .hero-scroll {
      position: absolute;
      bottom: 3rem;
      right: 4rem;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.2rem;
      color: var(--gold);
      font-size: .58rem;
      font-weight: 600;
      letter-spacing: .28em;
      text-transform: uppercase;
      font-family: var(--font-body);
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      transition: all var(--transition);
    }

    .hero-scroll:hover {
      opacity: .8;
    }

    .scroll-line {
      width: 2px;
      height: 28px;
      background: linear-gradient(to bottom, var(--gold), transparent);
      margin: 0;
    }

    .scroll-chevron {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      animation: chevronBounce 2s ease-in-out infinite;
    }

    .scroll-chevron svg {
      width: 20px;
      height: 20px;
      stroke: var(--gold);
      fill: none;
      stroke-width: 1.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* ===== INTRO ===== */
    .intro-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 7rem;
      align-items: center;
    }

    .intro-visual {
      position: relative;
      height: 580px;
    }

    .intro-img-main {
      position: absolute;
      top: 0;
      left: 0;
      right: 80px;
      bottom: 80px;
      overflow: hidden;
    }

    .intro-img-main img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .intro-img-accent {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 260px;
      height: 240px;
      overflow: hidden;
      border: 4px solid var(--charcoal);
    }

    .intro-img-accent img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .intro-stat {
      position: absolute;
      top: 2rem;
      right: 50px;
      background: var(--gold);
      padding: 1.2rem 1.8rem;
      text-align: center;
    }

    .intro-stat-num {
      font-family: var(--font-display);
      font-size: 2.8rem;
      font-weight: 500;
      color: var(--black);
      line-height: 1;
    }

    .intro-stat-label {
      font-size: .64rem;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(10, 10, 10, .72);
      margin-top: .3rem;
      font-family: var(--font-body);
    }

    /* ===== STATS ===== */
    .stats-bar {
      background: var(--charcoal);
      border-top: 1px solid rgba(201, 168, 76, .12);
      border-bottom: 1px solid rgba(201, 168, 76, .12);
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }

    .stat-item {
      padding: 3rem 2rem;
      text-align: center;
      border-right: 1px solid rgba(201, 168, 76, .1);
    }

    .stat-item:last-child {
      border-right: none;
    }

    .stat-num {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4vw, 3.8rem);
      font-weight: 500;
      color: var(--gold-light);
      line-height: 1;
    }

    .stat-unit {
      font-size: .6em;
      font-family: var(--font-body);
      font-weight: 500;
    }

    .stat-label {
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--warm-grey);
      margin-top: .6rem;
      font-family: var(--font-body);
    }

    /* ===== ROOMS ===== */
    .rooms-section {
      background: var(--charcoal-mid);
    }

    .rooms-header {
      max-width: 560px;
      margin-bottom: 4rem;
    }

    .rooms-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      grid-template-rows: 340px 280px;
      gap: 4px;
    }

    .room-card {
      position: relative;
      overflow: hidden;
      display: block;
      text-decoration: none;
    }

    .room-card:first-child {
      grid-row: span 2;
    }

    .room-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .9s ease;
    }

    .room-card:hover img {
      transform: scale(1.06);
    }

    .room-card-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(5, 4, 2, .9) 0%, rgba(5, 4, 2, .18) 70%, transparent 100%);
    }

    .room-info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 2rem;
    }

    .room-name {
      font-family: var(--font-display);
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--white);
      margin-bottom: .3rem;
    }

    .room-size {
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .1em;
      color: rgba(245, 240, 232, .65);
      font-family: var(--font-body);
    }

    .room-cta {
      display: inline-block;
      margin-top: .8rem;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold);
      font-family: var(--font-body);
      opacity: 0;
      transform: translateY(6px);
      transition: all .4s;
    }

    .room-card:hover .room-cta {
      opacity: 1;
      transform: translateY(0);
    }

    /* ===== DINING ===== */
    .dining-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8rem;
      align-items: center;
    }

    .dining-list {
      list-style: none;
      margin: 2rem 0;
    }

    .dining-list li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.2rem 0;
      border-bottom: 1px solid rgba(201, 168, 76, .1);
      cursor: pointer;
      transition: padding-left var(--transition);
    }

    .dining-list li:hover {
      padding-left: .8rem;
    }

    .dl-name {
      font-family: var(--font-display);
      font-size: 1.3rem;
      font-weight: 500;
      color: var(--white);
    }

    .dl-cuisine {
      font-size: .74rem;
      font-weight: 500;
      letter-spacing: .08em;
      color: var(--warm-grey);
      margin-top: .2rem;
      font-family: var(--font-body);
    }

    .dl-arrow {
      color: var(--gold);
      opacity: 0;
      transition: opacity var(--transition);
      flex-shrink: 0;
      font-size: 1.1rem;
    }

    .dining-list li:hover .dl-arrow {
      opacity: 1;
    }

    .dining-images {
      position: relative;
      height: 580px;
    }

    .di-main {
      position: absolute;
      top: 0;
      left: 40px;
      right: 0;
      bottom: 80px;
      overflow: hidden;
    }

    .di-main img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .di-accent {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 220px;
      height: 200px;
      overflow: hidden;
      border: 4px solid var(--black);
    }

    .di-accent img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* ===== EVENTS ===== */
    .events-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 4px;
      margin-top: 3.5rem;
    }

    .event-card {
      position: relative;
      overflow: hidden;
      display: block;
      text-decoration: none;
      min-height: 480px;
    }

    .event-card:first-child {
      min-height: 520px;
    }

    .event-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .9s ease;
    }

    .event-card:hover img {
      transform: scale(1.05);
    }

    .event-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(5, 4, 2, .92) 0%, rgba(5, 4, 2, .3) 65%, transparent 100%);
    }

    .event-info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 2.5rem;
    }

    .event-tag {
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: .8rem;
      display: flex;
      align-items: center;
      gap: .5rem;
      font-family: var(--font-body);
    }

    .event-tag::before {
      content: '';
      display: inline-block;
      width: 18px;
      height: 1px;
      background: var(--gold);
    }

    .event-name {
      font-family: var(--font-display);
      font-size: 1.9rem;
      font-weight: 500;
      color: var(--white);
      margin-bottom: .5rem;
      line-height: 1.1;
    }

    .event-detail {
      font-size: .82rem;
      font-weight: 400;
      color: rgba(245, 240, 232, .65);
      font-family: var(--font-body);
    }

    .event-link {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      margin-top: 1.2rem;
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold-light);
      font-family: var(--font-body);
      opacity: 0;
      transform: translateY(8px);
      transition: all var(--transition);
    }

    .event-card:hover .event-link {
      opacity: 1;
      transform: translateY(0);
    }

    /* ===== WELLNESS ===== */
    .wellness-visual {
      height: 420px;
      position: relative;
      overflow: hidden;
      margin-bottom: 5rem;
    }

    .wellness-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .wellness-visual-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(5, 4, 2, .72) 0%, transparent 60%);
    }

    .wellness-visual-text {
      position: absolute;
      bottom: 3rem;
      left: 3rem;
      z-index: 2;
    }

    .wellness-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2px;
    }

    .wellness-card {
      padding: 0;
      border: 1px solid rgba(201, 168, 76, .1);
      background: var(--charcoal);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      transition: background var(--transition);
      display: flex;
      flex-direction: column;
    }

    .wellness-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform var(--transition);
    }

    .wellness-card:hover::after {
      transform: scaleX(1);
    }

    .wellness-card:hover {
      background: var(--charcoal-light);
    }

    .wellness-card-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      display: block;
    }

    .wellness-icon {
      font-size: 1.3rem;
      color: var(--gold);
      margin-bottom: 1.2rem;
      display: block;
      padding: 2.2rem 2rem 0;
    }

    .wellness-name {
      font-family: var(--font-display);
      font-size: 1.35rem;
      font-weight: 500;
      color: var(--white);
      margin-bottom: .8rem;
      padding: 0 2rem;
    }

    .wellness-desc {
      font-size: .86rem;
      font-weight: 400;
      color: rgba(245, 240, 232, .65);
      line-height: 1.85;
      padding: 0 2rem 2.2rem;
      flex-grow: 1;
    }

    /* ===== WORLD CLUB ===== */
    .wc-section {
      position: relative;
      overflow: hidden;
      text-align: center;
      padding: 9rem 2rem;
    }

    .wc-bg {
      position: absolute;
      inset: 0;
      background-image: url('../img/World%20Club%20background.webp');
      background-size: cover;
      background-position: center;
      opacity: .15;
    }

    .wc-overlay {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at center, rgba(10, 9, 7, .4) 0%, rgba(5, 4, 2, .96) 68%);
    }

    .wc-ornament {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-family: var(--font-display);
      font-size: 22vw;
      font-weight: 400;
      color: rgba(201, 168, 76, .03);
      pointer-events: none;
      white-space: nowrap;
      line-height: 1;
    }

    .wc-content {
      position: relative;
      z-index: 2;
      max-width: 580px;
      margin: 0 auto;
    }

    /* ===== TESTIMONIALS ===== */
    .testi-slider {
      overflow: hidden;
    }

    .testi-track {
      display: flex;
      gap: 2rem;
      transition: transform .6s var(--ease);
    }

    .testi-card {
      flex: 0 0 min(400px, 85vw);
      background: var(--charcoal-mid);
      padding: 2.5rem;
      border: 1px solid rgba(201, 168, 76, .1);
      border-top: 2px solid var(--gold);
    }

    .testi-stars {
      color: var(--gold);
      letter-spacing: .2em;
      margin-bottom: 1.5rem;
      font-size: .95rem;
    }

    .testi-text {
      font-family: var(--font-accent);
      font-size: 1rem;
      font-style: italic;
      font-weight: 400;
      color: rgba(245, 240, 232, .88);
      line-height: 1.9;
      margin-bottom: 2rem;
    }

    .testi-author {
      font-family: var(--font-body);
      font-size: .85rem;
      font-weight: 600;
      color: var(--white);
      letter-spacing: .08em;
    }

    .testi-loc {
      font-size: .76rem;
      font-weight: 400;
      color: var(--warm-grey);
      margin-top: .3rem;
    }

    .slider-controls {
      display: flex;
      gap: 1rem;
      margin-top: 2.5rem;
    }

    .slider-btn {
      width: 48px;
      height: 48px;
      border: 1px solid rgba(201, 168, 76, .3);
      background: none;
      color: var(--gold);
      font-size: 1.1rem;
      cursor: pointer;
      transition: var(--transition);
    }

    .slider-btn:hover {
      background: var(--gold);
      color: var(--black);
      border-color: var(--gold);
    }

    /* ===== LOCATION ===== */
    .location-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6rem;
      align-items: center;
    }

    .location-detail {
      display: flex;
      align-items: flex-start;
      gap: 1.5rem;
      margin-bottom: 2rem;
    }

    .location-icon {
      color: var(--gold);
      font-size: 1.1rem;
      flex-shrink: 0;
      margin-top: .2rem;
    }

    .location-text h4 {
      font-family: var(--font-display);
      font-size: 1.1rem;
      font-weight: 500;
      color: var(--white);
      margin-bottom: .3rem;
    }

    .map-visual {
      height: 480px;
      position: relative;
      overflow: hidden;
    }

    .map-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* ===== SISTER ===== */
    .sister-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4px;
    }

    .sister-card {
      position: relative;
      height: 360px;
      overflow: hidden;
      display: block;
      text-decoration: none;
    }

    .sister-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .9s ease;
    }

    .sister-card:hover img {
      transform: scale(1.05);
    }

    .sister-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(5, 4, 2, .88) 0%, rgba(5, 4, 2, .22) 100%);
    }

    .sister-info {
      position: absolute;
      bottom: 2.5rem;
      left: 2.5rem;
    }

    .sister-label {
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: .8rem;
      font-family: var(--font-body);
      display: block;
    }

    .sister-name {
      font-family: var(--font-display);
      font-size: 2rem;
      font-weight: 500;
      color: var(--white);
    }

    /* ===== FLATPICKR CUSTOM STYLING ===== */
    .flatpickr-calendar {
      background: rgba(24, 23, 21, .98) !important;
      border: 1px solid rgba(201, 168, 76, .18) !important;
      border-radius: 10px !important;
      box-shadow: 0 24px 60px rgba(0, 0, 0, .42) !important;
      padding: 1rem !important;
      width: min(340px, calc(100vw - 2rem)) !important;
    }

    .flatpickr-calendar.open {
      display: inline-block !important;
    }

    .flatpickr-calendar.arrowTop::before,
    .flatpickr-calendar.arrowTop::after {
      border-bottom-color: rgba(24, 23, 21, .98) !important;
    }

    .flatpickr-months {
      align-items: center !important;
      margin-bottom: .5rem !important;
    }

    .flatpickr-month,
    .flatpickr-weekdays,
    .flatpickr-days,
    .flatpickr-innerContainer,
    .flatpickr-rContainer,
    .dayContainer {
      width: 100% !important;
      min-width: 100% !important;
      max-width: none !important;
    }

    .flatpickr-month {
      height: auto !important;
    }

    .flatpickr-current-month {
      position: static !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: .35rem !important;
      height: auto !important;
      padding: 0 2rem .75rem !important;
      font-family: var(--font-body) !important;
    }

    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month .cur-month {
      color: var(--gold) !important;
      font-size: 1rem !important;
      font-weight: 600 !important;
      background: transparent !important;
      border: none !important;
    }

    .flatpickr-current-month input.cur-year {
      color: var(--parchment) !important;
      font-size: 1rem !important;
      font-weight: 600 !important;
      background: transparent !important;
      border: none !important;
    }

    .flatpickr-current-month .numInputWrapper {
      width: 3.6rem !important;
    }

    .flatpickr-current-month input.cur-year {
      padding: 0 !important;
    }

    .flatpickr-prev-month,
    .flatpickr-next-month {
      top: .9rem !important;
      padding: .2rem !important;
      width: 32px !important;
      height: 32px !important;
      color: var(--gold) !important;
      fill: var(--gold) !important;
      transition: opacity var(--transition), color var(--transition) !important;
    }

    .flatpickr-prev-month {
      left: .65rem !important;
    }

    .flatpickr-next-month {
      right: .65rem !important;
    }

    .flatpickr-prev-month svg,
    .flatpickr-next-month svg {
      width: 18px !important;
      height: 18px !important;
      stroke-width: 2.25 !important;
    }

    .flatpickr-prev-month:hover,
    .flatpickr-next-month:hover {
      color: var(--gold-light) !important;
      fill: var(--gold-light) !important;
      opacity: 1 !important;
    }

    .flatpickr-weekdays {
      margin-bottom: .5rem !important;
      background: transparent !important;
    }

    .flatpickr-weekday {
      color: rgba(201, 168, 76, .68) !important;
      font-size: .68rem !important;
      font-weight: 600 !important;
      text-transform: uppercase !important;
      letter-spacing: .18em !important;
      background: transparent !important;
    }

    .flatpickr-days {
      padding-top: .15rem !important;
    }

    .flatpickr-day {
      border: none !important;
      border-radius: 8px !important;
      color: rgba(245, 240, 232, .9) !important;
      font-size: .95rem !important;
      font-weight: 500 !important;
      height: 40px !important;
      line-height: 40px !important;
      max-width: none !important;
    }

    .flatpickr-day:hover:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay) {
      background: rgba(201, 168, 76, .12) !important;
      color: var(--white) !important;
    }

    .flatpickr-day.today:not(.selected) {
      border: 1px solid rgba(201, 168, 76, .45) !important;
      color: var(--gold-light) !important;
    }

    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange {
      background: var(--gold) !important;
      border-color: var(--gold) !important;
      color: #171512 !important;
      box-shadow: none !important;
    }

    .flatpickr-day.inRange {
      background: rgba(201, 168, 76, .12) !important;
      border-color: transparent !important;
      color: var(--white) !important;
      box-shadow: none !important;
    }

    .flatpickr-day.flatpickr-disabled,
    .flatpickr-day.prevMonthDay,
    .flatpickr-day.nextMonthDay {
      color: rgba(245, 240, 232, .24) !important;
    }

    .flatpickr-input {
      background: none !important;
      border: none !important;
      color: var(--parchment) !important;
      font-size: .95rem !important;
      padding: 0 !important;
      cursor: pointer !important;
    }

    /* ===== HOMEPAGE BOOKING BAR ===== */
    .home-booking-form {
      background: linear-gradient(180deg, rgba(23, 22, 20, .98) 0%, rgba(16, 15, 13, .98) 100%);
      border: 1px solid rgba(201, 168, 76, .16);
    }

    .home-booking-form .booking-widget {
      display: grid;
      grid-template-columns: 1.08fr 1.08fr .84fr .88fr minmax(250px, 1.22fr) 92px;
      align-items: stretch;
    }

    .home-booking-form .bw-field {
      min-width: 0;
      min-height: 70px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .home-booking-form .bw-field select {
      background-color: transparent;
    }

    .home-booking-form .bw-field-date input {
      padding-left: 2rem !important;
      padding-right: 0 !important;
      background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2.25' y='3.75' width='13.5' height='11.25' rx='1.5' stroke='%23C9A84C' stroke-width='1.5'/%3E%3Cpath d='M5.25 2.25V5.25' stroke='%23C9A84C' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M12.75 2.25V5.25' stroke='%23C9A84C' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M2.25 7.125H15.75' stroke='%23C9A84C' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
      background-repeat: no-repeat !important;
      background-position: left 0 center !important;
      background-size: 18px 18px !important;
    }

    .home-booking-form .bw-submit {
      min-height: 70px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: .85rem 1.6rem;
    }

    .booking-benefits {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 1rem;
      min-height: 70px;
      border-left: 1px solid rgba(201, 168, 76, .12);
    }

    .booking-benefits-trigger {
      border: none;
      background: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      cursor: pointer;
      transition: transform var(--transition), opacity var(--transition);
    }

    .booking-benefits-trigger img {
      width: 62px;
      height: 62px;
      display: block;
      object-fit: contain;
    }

    .booking-benefits-trigger:hover,
    .booking-benefits-trigger:focus-visible {
      transform: translateY(-1px) scale(1.03);
      opacity: .92;
      outline: none;
    }

    .booking-benefits-tooltip {
      position: absolute;
      right: 1rem;
      top: calc(100% + .9rem);
      width: min(325px, calc(100vw - 2rem));
      padding: 1.05rem 1rem .9rem;
      background: linear-gradient(180deg, rgba(246, 241, 232, .98) 0%, rgba(236, 226, 210, .98) 100%);
      border: 1px solid rgba(201, 168, 76, .2);
      box-shadow: 0 20px 50px rgba(0, 0, 0, .34);
      color: var(--black);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
      z-index: 20;
      border-radius: 18px;
    }

    .booking-benefits:hover .booking-benefits-tooltip,
    .booking-benefits:focus-within .booking-benefits-tooltip {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .booking-benefits-tooltip::before {
      content: '';
      position: absolute;
      top: -8px;
      right: 20px;
      width: 16px;
      height: 16px;
      background: inherit;
      transform: rotate(45deg);
      border-top: 1px solid rgba(201, 168, 76, .2);
      border-left: 1px solid rgba(201, 168, 76, .2);
    }

    .booking-benefits-header {
      padding-bottom: .75rem;
      margin-bottom: .75rem;
      border-bottom: 1px solid rgba(163, 122, 30, .14);
      text-align: center;
    }

    .booking-benefits-label {
      display: block;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold-dark);
      margin-bottom: .5rem;
      font-family: var(--font-accent);
    }

    .booking-benefits-divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .5rem;
      margin-bottom: .65rem;
    }

    .booking-benefits-divider::before,
    .booking-benefits-divider::after {
      content: '';
      width: 74px;
      max-width: 30%;
      height: 1px;
      background: rgba(163, 122, 30, .18);
    }

    .booking-benefits-divider span {
      font-size: .9rem;
      color: var(--gold-dark);
      line-height: 1;
    }

    .booking-benefits-intro {
      font-size: .78rem;
      line-height: 1.45;
      color: #6e685f;
      margin: 0;
    }

    .booking-benefits-list {
      display: grid;
      gap: .55rem;
    }

    .booking-benefits-item {
      display: grid;
      grid-template-columns: 48px 1fr;
      gap: .7rem;
      align-items: center;
      padding-bottom: .62rem;
      border-bottom: 1px solid rgba(10, 10, 10, .08);
    }

    .booking-benefits-item:last-child {
      padding-bottom: 0;
      border-bottom: none;
    }

    .booking-benefits-icon {
      width: 48px;
      height: 48px;
      display: block;
      object-fit: contain;
    }

    .booking-benefits-copy strong {
      display: block;
      font-size: .72rem;
      letter-spacing: .09em;
      text-transform: uppercase;
      color: #58544d;
      margin-bottom: .08rem;
    }

    .booking-benefits-copy span {
      display: block;
      font-size: .74rem;
      line-height: 1.38;
      color: #5d584f;
    }

    .booking-benefits-footer {
      display: flex;
      align-items: center;
      gap: .55rem;
      padding-top: .75rem;
      margin-top: .75rem;
      border-top: 1px solid rgba(10, 10, 10, .08);
    }

    .booking-benefits-footer img {
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }

    .booking-benefits-footer span {
      font-size: .74rem;
      line-height: 1.35;
      color: #6a645b;
    }

    /* ===== RESPONSIVE ===== */
    @media(max-width:1100px) {
      .rooms-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
      }

      .room-card:first-child {
        grid-row: span 1;
      }

      .events-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media(max-width:1024px) {

      .intro-grid,
      .dining-grid,
      .location-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }

      .intro-visual,
      .dining-images {
        height: 360px;
      }

      .intro-img-main {
        right: 0;
        bottom: 0;
      }

      .intro-img-accent {
        display: none;
      }

      .intro-stat {
        top: 1rem;
        right: 1rem;
      }

      .stats-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .stat-item:nth-child(2) {
        border-right: none;
      }

      .wellness-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .sister-grid {
        grid-template-columns: 1fr;
      }

      .home-booking-form .booking-widget {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
          "checkin checkout"
          "adults children"
          "cta benefits";
      }

      .home-booking-form .bw-field {
        min-height: 112px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .home-booking-form .bw-field:nth-child(2n) {
        border-right: none;
      }

      .home-booking-form .bw-field:nth-child(1) {
        grid-area: checkin;
      }

      .home-booking-form .bw-field:nth-child(2) {
        grid-area: checkout;
      }

      .home-booking-form .bw-field:nth-child(3) {
        grid-area: adults;
      }

      .home-booking-form .bw-field:nth-child(4) {
        grid-area: children;
      }

      .home-booking-form .bw-submit {
        grid-area: cta;
        grid-column: auto;
        min-height: 88px;
        align-self: stretch;
      }

      .booking-benefits {
        grid-area: benefits;
        border-left: 1px solid rgba(201, 168, 76, .12);
        border-top: 1px solid rgba(201, 168, 76, .12);
        padding: 0 1.4rem;
        justify-content: center;
        min-height: 88px;
      }

      .booking-benefits-trigger img {
        width: 64px;
        height: 64px;
      }

      .booking-benefits-tooltip {
        right: 1rem;
        top: 50%;
        transform: translateY(-50%) translateX(8px);
        width: min(330px, calc(100vw - 3rem));
      }

      .booking-benefits:hover .booking-benefits-tooltip,
      .booking-benefits:focus-within .booking-benefits-tooltip {
        transform: translateY(-50%) translateX(0);
      }

      .booking-benefits-tooltip::before {
        top: 50%;
        left: -8px;
        right: auto;
        transform: translateY(-50%) rotate(45deg);
        border-top: none;
        border-left: 1px solid rgba(201, 168, 76, .2);
        border-bottom: 1px solid rgba(201, 168, 76, .2);
      }
    }

    @media(max-width:768px) {
      .hero-content {
        padding: 0 1.5rem;
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }

      .hero h1 {
        font-size: 2.6rem;
      }

      .hero-sub,
      .hero-ctas {
        max-width: min(100%, 360px);
      }

      .hero-dots,
      .hero-scroll {
        display: none;
      }

      .rooms-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
      }

      .events-grid {
        grid-template-columns: 1fr;
      }

      .wellness-grid {
        grid-template-columns: 1fr 1fr;
      }

      .testi-track {
        gap: 1rem;
      }

      .wc-ornament {
        display: none;
      }

      .home-booking-form .booking-widget {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
          "checkin checkout"
          "adults children"
          "cta benefits";
      }

      .home-booking-form .bw-submit {
        grid-column: 1 / -1;
      }

      .home-booking-form .bw-field:nth-child(2n) {
        border-right: none;
      }

      .home-booking-form .bw-field {
        min-height: 104px;
      }

      .booking-benefits {
        justify-content: center;
        padding: 0 1rem;
        min-height: 82px;
      }

      .booking-benefits-tooltip {
        left: auto;
        right: 1rem;
        top: calc(100% + .85rem);
        transform: translateY(-6px);
        width: min(320px, calc(100vw - 2rem));
      }

      .booking-benefits:hover .booking-benefits-tooltip,
      .booking-benefits:focus-within .booking-benefits-tooltip {
        transform: translateY(0);
      }

      .booking-benefits-tooltip::before {
        top: -8px;
        left: auto;
        right: 20px;
        transform: rotate(45deg);
        border-top: 1px solid rgba(201, 168, 76, .2);
        border-left: 1px solid rgba(201, 168, 76, .2);
        border-bottom: none;
      }
    }

    @media(max-width:480px) {
      .wellness-grid {
        grid-template-columns: 1fr;
      }

      .hero h1 {
        font-size: 2rem;
      }

      .hero-sub {
        font-size: .9rem;
      }

      .hero-ctas {
        flex-direction: column;
      }

      .intro-stat-num {
        font-size: 2.2rem;
      }

      .home-booking-form .booking-widget {
        grid-template-columns: 1fr;
        grid-template-areas:
          "checkin"
          "checkout"
          "adults"
          "children"
          "cta"
          "benefits";
      }

      .home-booking-form .bw-field:nth-child(2n) {
        border-right: 1px solid rgba(201, 168, 76, .12);
      }

      .booking-benefits {
        padding: .9rem 1rem 1.1rem;
      }
    }
