/* Reverie Collection – shared site styles (Elementor build). Served from uploads/reverie/reverie.css */
/* BRAND FONTS (self-hosted in uploads/reverie/fonts) */
@font-face {font-family:'Vogun'; src:url('fonts/Vogun-Medium.woff2') format('woff2'), url('fonts/Vogun-Medium.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LuxentaMed'; src:url('fonts/Luxenta-Medium.woff2') format('woff2'), url('fonts/Luxenta-Medium.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LuxentaSemBd'; src:url('fonts/Luxenta-SemiBold.woff2') format('woff2'), url('fonts/Luxenta-SemiBold.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LuxentaBold'; src:url('fonts/Luxenta-Bold.woff2') format('woff2'), url('fonts/Luxenta-Bold.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Regular.woff2') format('woff2'), url('fonts/AzoSans-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Italic.woff2') format('woff2'), url('fonts/AzoSans-Italic.woff') format('woff'); font-weight:400; font-style:italic; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Bold.woff2') format('woff2'), url('fonts/AzoSans-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Medium.woff2') format('woff2'), url('fonts/AzoSans-Medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Medium.woff2') format('woff2'), url('fonts/AzoSans-Medium.woff') format('woff'); font-weight:600; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans Md'; src:url('fonts/AzoSans-Medium.woff2') format('woff2'), url('fonts/AzoSans-Medium.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans Lt'; src:url('fonts/AzoSans-Light.woff2') format('woff2'), url('fonts/AzoSans-Light.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LogoFont'; src:url('fonts/Slick.woff2') format('woff2'), url('fonts/Slick.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'NorthwellClean'; src:url('fonts/NorthwellClean.woff2') format('woff2'), url('fonts/NorthwellClean.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'JustHeavenly'; src:url('fonts/JustHeavenly.woff2') format('woff2'), url('fonts/JustHeavenly.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}


/** BRAND COLORS **/
.bonfireAsh {color:#0f1d30 !important;}
.deepOcean {color:#203350 !important;}
.thunderstorm {color:#435362 !important;}
.silverLining {color:#99b1c1 !important;}
.daydream {color:#65bbd6 !important;}
.bayside {color:#48a0ba !important;}
.dockside {color:#6494aa !important;}
.dunmore {color:#1c607d !important;}
.conchShell {color:#ecc0b8 !important;}
.pinkSand {color: #d4a5a5 !important;}
.pigglyWiggly {color:#af8e95 !important;}
.freshBerry {color:#b56b82 !important;}
.jungle {color:#264653 !important;}
.barnicle {color:#426b6a !important;}
.pistachio {color:#7fa593 !important;} 
.mintLeaf {color:#a8c6ba !important;}
.dirtRoad {color:#967c6b !important;}
.mangroveRoot {color:#bdb09f !important;}
.champagneToast {color:#d0c09d !important;}
.flatSand {color:#e8decf !important;}
.duskySky {color:#464d68 !important;}
.plum {color:#7c678d !important;}
.siesta {color:#a6b8d0 !important;}
.skylark {color:#c3e4ef !important;}


/** UTILITIES **/
.slickFont {font-family:LogoFont, "LogoFont", script !important; font-weight:normal; letter-spacing:none !important;}
.leadin {font-size:125%; line-height:1.3;}
.largeText {font-size:150%; line-height:1.4; font-weight:400;}
.small {font-size:85%; line-height:1.4;}
.o90 {opacity:.9 !important;}.o80 {opacity:.8 !important;}.o70 {opacity:.7 !important;}.o60 {opacity:.6 !important;}.o50 {opacity:.5 !important;}.o40 {opacity:.4 !important;}.o30 {opacity:.3 !important;}.o20 {opacity:.2 !important;}.o10 {opacity:.1 !important;}

/** ICONS **/
.amenityIcon {display:inline; height:30px; line-height:30px; vertical-align:middle; padding-right:20px; font-size:13px;}
.amenityIcon i {vertical-align:middle; padding-right:6px}
.iconSize108 {width:108px !important; font-size:108px !important;}
.iconSize96 {width:96px !important; font-size:96px !important;}
.iconSize84 {width:84px !important; font-size:84px !important;}
.iconSize72 {width:72px !important; font-size:72px !important;}
.iconSize60 {width:60px !important; font-size:60px !important;}
.iconSize48 {width:48px !important; font-size:48px !important;}
.iconSize36 {width:36px !important; font-size:36px !important;}
.iconSize30 {width:30px !important; font-size:30px !important;}
.iconSize24 {width:24px !important; font-size:24px !important;}
.iconSize16 {width:16px !important; font-size:16px !important;}
.iconSize12 {width:12px !important; font-size:12px !important;}
.iconLtBlue {filter: invert(70%) sepia(55%) saturate(5500%) hue-rotate(160deg) brightness(94%) contrast(103%);}
.iconBlue {filter: invert(53%) sepia(11%) saturate(4342%) hue-rotate(166deg) brightness(78%) contrast(82%);}
.iconDkBlue {filter: invert(13%) sepia(41%) saturate(2742%) hue-rotate(199deg) brightness(92%) contrast(92%);}
.iconGray {filter: invert(28%) sepia(22%) saturate(489%) hue-rotate(169deg) brightness(99%) contrast(89%);}
.iconLtGray {filter: invert(95%) sepia(10%) saturate(67%) hue-rotate(142deg) brightness(101%) contrast(93%);}
.iconSilver {filter: invert(90%) sepia(65%) saturate(6527%) hue-rotate(173deg) brightness(84%) contrast(76%);}
.iconBlack {filter: invert(7%) sepia(48%) saturate(1727%) hue-rotate(190deg) brightness(92%) contrast(93%);}
.iconWhite {filter: invert(100%) sepia(93%) saturate(1%) hue-rotate(197deg) brightness(107%) contrast(100%);}
.iconPigglyWiggly {filter: invert(63%) sepia(9%) saturate(707%) hue-rotate(297deg) brightness(93%) contrast(88%);}
.iconFreshBerry {filter: invert(52%) sepia(37%) saturate(461%) hue-rotate(290deg) brightness(87%) contrast(93%);}
.iconDeepOcean {filter: invert(15%) sepia(7%) saturate(5002%) hue-rotate(178deg) brightness(100%) contrast(88%);}

/** NAVIGATION **/

.gform_heading {display:none;}

/* =====================  HOMERUNNER BASE (ported from the old Customizer CSS)  ===================== */



.hk-button-primary {
  background-color: #B56B82 !important;
  border: none !important;
  color: #fff !important;
}

.hk-button-primary:hover {
  background-color: #AE6478 !important;
}

.hk-button-default {
  background: #B56B82 !important;
  border-radius: 8px !important;
  color: #fff !important;
}

.hk-input,
.hk-button {
  border-radius: 8px !important;
}

.hk-button,
.uk-button,
.checkout-button {
  font-size: inherit !important;
  border-radius: 8px !important;
  border: none !important;
}

.hk-input::placeholder {
  font-size: 14px !important;
}

.hk-form-label {
  font-size: 15px !important;
}

.hk-h4 {
  font-size: 22px !important;
  color: #2C3A57 !important;
}

[class*="uk-button-primary"]:hover {
  opacity: 0.88 !important;
  transition: opacity 0.2s ease !important;
}

.hk-checkbox {
  accent-color: #B56B82 !important;
}

.hk-radio:checked {
  accent-color: #B56B82 !important;
}

.homerunner-clear-dates-btn {
  color: #2C3A57 !important;
}


/* === HOMEPAGE SEARCH (page-id-3102) === */

.page-id-3102 #hr-explorer-1 .hfse-body {
  max-width: 1240px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  box-shadow: 0 10px 40px rgba(20, 28, 47, 0.18) !important;
}

@media (max-width: 767px) {
  .page-id-3102 #hr-explorer-1 .hfse-body {
    background: #fff !important;
    box-shadow: 0 6px 24px rgba(20, 28, 47, 0.15) !important;
    border-radius: 10px !important;
  }
}


/* === SEARCH BAR (both pages) === */

/* Field labels (Where / When / Guests) — hidden: they added an extra top row
   inside the white bar. Single clean control row instead. */
[class*="hfse-form-"][class*="-field-label"] {
  display: none !important;
}

#hr-explorer-1 .hfse-form-primary-fields .field-control {
  background: #F5F1E9 !important;
  border: 1px solid #E4DCCE !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease !important;
  min-height: 46px !important;
  height: 46px !important;
}

#hr-explorer-1 .hfse-form-primary-fields .field-control:hover {
  border-color: #B56B82 !important;
}

#hr-explorer-1 .hfse-form-primary-fields .hk-input {
  background: transparent !important;
  color: #2C3A57 !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  border: none !important;
  height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#hr-explorer-1 .hfse-form-primary-fields .hk-input::placeholder {
  color: #9A9385 !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}

/* Field icons — rose (stroke-based: location/calendar/user) */
#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg path,
#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg circle,
#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg polyline {
  stroke: #B56B82 !important;
}

#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg rect {
  fill: #B56B82 !important;
  stroke: none !important;
}

/* Filters button — navy */
#hr-explorer-1 .hfse-form-additional-filters-btn {
  background: #2C3A57 !important;
  border-radius: 8px !important;
  border: none !important;
  min-height: 46px !important;
  height: 46px !important;
}

#hr-explorer-1 .hfse-form-additional-filters-btn:hover {
  background: #1F2B42 !important;
}

#hr-explorer-1 .hfse-form-additional-filters-btn svg ellipse,
#hr-explorer-1 .hfse-form-additional-filters-btn svg circle {
  stroke: #fff !important;
}

#hr-explorer-1 .hfse-form-additional-filters-btn svg rect {
  fill: #fff !important;
}

/* Search button — rose, uppercase letterspaced (mirrors "START YOUR JOURNEY" pill) */
#hr-explorer-1 .hfse-form-submit-btn {
  background: #B56B82 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 12px 30px !important;
  border: none !important;
  line-height: normal !important;
  transition: background 0.2s ease !important;
  height: 46px !important;
}

#hr-explorer-1 .hfse-form-submit-btn:hover {
  background: #AE6478 !important;
}

#hr-explorer-1 .hfse-form-zone-city {
  border: none !important;
  background: transparent !important;
}

#hr-explorer-1 .hfse-filters {
  margin: 0 !important;
}


/* === EXPLORER + SECONDARY FIELDS === */

.hfse-body {
  background: transparent !important;
}

.hfse-properties-more-container {
  display: none;
}

.hfse-form-submit-btn {
  background-color: #B56B82 !important;
  color: #fff !important;
  border: none !important;
}

.hfse-form-submit-btn:hover {
  background-color: #AE6478 !important;
}

.hfse-form .hfse-form-favorites-toggle-btn,
.hfse-form .hfse-form-featured-toggle-btn,
.hfse-form .hfse-form-map-toggle-btn,
.hfse-form .hfse-form-additional-filters-btn,
.hfse-form .hfse-form-reset-btn {
  line-height: 5px !important;
  font-size: 13px !important;
}

.hfse-form-reset-btn,
.hfse-form-map-toggle-btn,
.hfse-form-map-toggle-btn:hover,
.hfse-clear-additional-filters-btn:hover,
.hfse-modal-reset-button:hover {
  background: transparent !important;
}

.hfse-form-reset-btn-text,
.hfse-form-map-toggle-btn-text,
.hfse-form-properties-count-text,
.hfse-form-order-select {
  font-size: 13px !important;
  color: #55565B !important;
}

.hfse .hfse-form-primary-fields,
.hfse .hfse-form-secondary-fields {
  padding-bottom: 0 !important;
}

.hfse-form-zone-label-cities {
  display: none;
}

.hfse-form-zone-subfield {
  margin-top: 1.5rem;
}

.filter-groups .filter-group {
  margin-bottom: 8px;
}


/* === ALL PROPERTIES (CPT archive — body.post-type-archive-property, NO page-id) === */

/* NOTE (verified in live DOM): on this Salient setup the archive renders
   .hr-page-body DIRECTLY inside #ajax-content-wrap — there is NO .container-wrap
   and NO .container. So all breathing room must come from the explorer panes
   themselves. Map stays full-bleed right; the left pane gets the padding. */

body.post-type-archive-property .hr-explorer {
  padding-top: 0 !important;
}

body.post-type-archive-property .hr-page-body {
  background: #fff !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.post-type-archive-property .hk-container {
  max-width: 100% !important;
  padding: 0 !important;
}

@media (min-width: 960px) {
  body.post-type-archive-property #hr-explorer-1 {
    max-width: 100% !important;
    padding: 0 !important;
  }
}

/* Left pane (search + cards) — air on all sides; map keeps the right edge */
body.post-type-archive-property #hr-explorer-1 .hfse-body {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 30px 34px 48px 44px !important;
}

/* When the map is hidden the explorer goes full width — recenter the content */
body.post-type-archive-property #hr-explorer-1:not(.map-visible) .hfse-body {
  max-width: 1440px !important;
  margin: 0 auto !important;
}

/* Same-specificity mobile overrides (the desktop padding rule above would
   otherwise beat the generic mobile .hfse-body rules) */
@media (max-width: 959px) {
  body.post-type-archive-property #hr-explorer-1 .hfse-body {
    padding: 20px 16px 32px !important;
  }
}

@media (max-width: 639px) {
  body.post-type-archive-property #hr-explorer-1 .hfse-body {
    padding: 16px 12px 28px !important;
  }
}

body.post-type-archive-property .hfse-properties-container {
  background: transparent !important;
}

body.post-type-archive-property .hfse-form-secondary-fields {
  padding: 10px 0 !important;
}

@media (max-width: 959px) {
  body.post-type-archive-property .hfse-form-secondary-fields {
    padding: 10px 20px !important;
  }
}

/* Hide Salient archive page title ("Properties" heading), if rendered */
body.post-type-archive-property .page-header-bg,
body.post-type-archive-property #page-header-bg,
body.post-type-archive-property .entry-title {
  display: none !important;
}

/* Map split view */
@media screen and (min-width: 960px) {
  .hfse.with-map.map-visible {
    display: flex !important;
    overflow: visible !important;
  }
}


/* === PROPERTY CARDS === */

.hfse-property-card {
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: 1px solid #EAE4D8 !important;
}

.hfse-property-card.hk-card-default {
  background: #fff !important;
}

.hfse-property-card:hover {
  box-shadow: 0 10px 28px rgba(44, 58, 87, 0.12) !important;
  transition: box-shadow 0.2s ease !important;
}

.hfse-property-title {
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #2C3A57 !important;
}

.hfse-property-price-container {
  font-size: 14px !important;
}

.hfse-property-price strong {
  font-size: 16px !important;
  color: #2C3A57 !important;
}

.hfse-property-meta-primary {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #9A9385 !important;
}

.hfse-property-meta-secondary > * {
  font-size: 15px !important;
  color: #55565B !important;
}

.hfse-property-meta-secondary .hfse-property-guests,
.hfse-property-meta-secondary .hfse-property-bedrooms,
.hfse-property-meta-secondary .hfse-property-bathrooms {
  height: 28px;
  font-size: 15px;
  line-height: 20px;
  background-size: 18px;
  box-sizing: border-box;
  padding: 4px 0 4px 24px;
  background-repeat: no-repeat;
  background-position: left center;
}


/* === MODALS (teleported to body — .hk-modal-dialog scope ONLY) === */

.hk-modal {
  z-index: 99999 !important;
}

.hk-modal-container {
  z-index: 99999 !important;
}

.hk-modal-dialog {
  border-radius: 10px !important;
}

.hk-modal-header span[hk-icon="icon: location"],
.hk-modal-header span[hk-icon="icon: calendar"],
.hk-modal-header span[hk-icon="icon: user"],
.hk-modal-header span[hk-icon="icon: settings"] {
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.hk-form-controls label {
  font-size: 14px;
}

.hk-modal-body .hk-form-label {
  font-size: 15px !important;
  margin-bottom: 0;
}

.hk-modal-body .hk-text-meta {
  font-size: 12px !important;
}

/* Apply / Next — rose */
.hfse-modal-next-button,
.hfse-apply-additional-filters-btn {
  font-size: 14px !important;
  text-transform: none !important;
  background: #B56B82 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
}

.hfse-modal-next-button:hover,
.hfse-apply-additional-filters-btn:hover {
  background: #AE6478 !important;
}

.hfse-apply-additional-filters-btn {
  padding: 8px 24px !important;
}

/* Reset / Clear — navy outline */
.hfse-modal-reset-button {
  font-size: 14px !important;
  padding: 6px 14px !important;
  background: transparent !important;
  color: #2C3A57 !important;
  border: 1.5px solid #2C3A57 !important;
  border-radius: 8px !important;
  text-transform: none !important;
}

.hfse-modal-reset-button:hover {
  background: rgba(44, 58, 87, 0.06) !important;
}

.hfse-clear-additional-filters-btn {
  font-size: 14px !important;
  padding: 8px 16px !important;
  background: transparent !important;
  color: #2C3A57 !important;
  border: 1.5px solid #2C3A57 !important;
  border-radius: 8px !important;
  text-transform: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.hfse-clear-additional-filters-btn > .hk-icon {
  margin-left: 10px !important;
  margin-right: 6px !important;
}

.hfse-clear-additional-filters-btn .hk-icon svg path,
.hfse-clear-additional-filters-btn .hk-icon svg polyline {
  stroke: #2C3A57 !important;
}

.hfse-clear-additional-filters-btn::before,
.hfse-clear-additional-filters-btn::after {
  display: none !important;
  content: none !important;
}

.hk-modal-close.uk-button-default {
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: #B56B82 !important;
}

.hk-modal-close.uk-button-default:hover {
  background: #AE6478 !important;
}

/* Kill theme pseudo-elements on modal buttons (safety net for Salient button effects) */
.hk-modal-footer .homerunner-clear-dates-btn::before,
.hk-modal-footer .homerunner-clear-dates-btn::after,
.hk-modal-footer .hk-modal-close::before,
.hk-modal-footer .hk-modal-close::after,
.hk-modal-footer button::before,
.hk-modal-footer button::after {
  display: none !important;
  content: none !important;
}

.hk-modal-dialog .hfse-all-amenities-btn-container {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.hk-modal-dialog button.hk-button-link.hfse-all-amenities-btn {
  font-size: 14px !important;
  padding: 4px 8px !important;
  border: none !important;
  color: #B56B82 !important;
  display: block !important;
  margin: 0 auto !important;
  text-align: center !important;
  background: transparent !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.hk-modal-dialog button.hk-button-link.hfse-all-amenities-btn:hover,
.hk-modal-dialog button.hk-button-link.hfse-all-amenities-btn:focus {
  background: transparent !important;
  text-decoration: none !important;
  color: #AE6478 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Price breakdown table */
.hk-modal-dialog .hk-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.hk-modal-dialog .hk-table td {
  white-space: normal !important;
  word-break: break-word !important;
  vertical-align: middle !important;
  padding: 8px 4px !important;
}

.hk-modal-dialog .hk-table td:first-child {
  width: 25% !important;
}

.hk-modal-dialog .hk-table td:nth-child(2) {
  width: 40% !important;
}

.hk-modal-dialog .hk-table td:last-child {
  width: 35% !important;
  text-align: right !important;
}


/* === WHERE MODAL === */

.hfse-form-zone-input {
  display: none !important;
}

.hfse-form-zone-city {
  background-color: transparent !important;
  color: #2C3A57 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: left;
  border: 1px solid #E4DCCE !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  transition: all 0.2s ease !important;
}

.hfse-form-zone-city:hover {
  border-color: #B56B82 !important;
  background: rgba(197, 124, 142, 0.05) !important;
}

.hfse-form-zone-city.hfse-selected {
  border-color: #B56B82 !important;
  background: rgba(197, 124, 142, 0.1) !important;
  color: #AE6478 !important;
}

.hfse-form-zone-city .name {
  font-weight: 600 !important;
  font-size: 15px !important;
}

.hfse-form-zone-city .subheading {
  font-size: 12px !important;
  color: #9A9385 !important;
}


/* === FILTERS MODAL === */

#hfse-form-additional-filters-modal-1 .hk-modal-dialog {
  max-width: 900px !important;
  width: 95vw !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-header {
  border-bottom: 1px solid #EAE4D8 !important;
  padding: 24px 30px 16px !important;
  background: #fff !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-header .hk-h4 {
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #2C3A57 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-body {
  padding: 28px 30px !important;
  background: #FAF7F1 !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-footer {
  border-top: 1px solid #EAE4D8 !important;
  padding: 18px 30px !important;
  background: #fff !important;
}

/* Section labels — Reverie eyebrow style */
.hfse-form-additional-filters .hk-h6 {
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #2C3A57 !important;
  margin-bottom: 8px !important;
}

.hfse-form-additional-filters .hk-margin.hk-margin-counter {
  margin-top: 8px !important;
  margin-bottom: 20px !important;
}

.hfse-form-additional-filters .hk-input {
  border: 1px solid #E4DCCE !important;
  background: #fff !important;
  height: 46px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
  padding-left: 40px !important;
}

.hfse-form-additional-filters .hk-input:focus {
  border-color: #B56B82 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(197, 124, 142, 0.2) !important;
}

/* Rooms +/- steppers */
.hfse-number-with-control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  border: none !important;
  overflow: visible !important;
  background: transparent !important;
}

.hfse-number-with-control .reduce-btn,
.hfse-number-with-control .increase-btn {
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: #2C3A57 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  border: 1px solid #D9CFBC !important;
  border-radius: 50% !important;
  user-select: none !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}

.hfse-number-with-control .reduce-btn:hover,
.hfse-number-with-control .increase-btn:hover {
  border-color: #B56B82 !important;
  color: #AE6478 !important;
  background: rgba(197, 124, 142, 0.08) !important;
}

.hfse-number-with-control .number-input {
  width: 42px !important;
  height: 36px !important;
  text-align: center !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  -moz-appearance: textfield !important;
  background: transparent !important;
  color: #2C3A57 !important;
}

.hfse-number-with-control .number-input::-webkit-inner-spin-button,
.hfse-number-with-control .number-input::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Amenity checkboxes */
.hfse-form-additional-filters .hk-checkbox {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #C3BBA9 !important;
  border-radius: 4px !important;
  accent-color: #B56B82 !important;
  cursor: pointer !important;
  margin-right: 10px !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
}

.hfse-form-additional-filters label {
  font-size: 15px !important;
  color: #55565B !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  padding: 3px 0 !important;
}

.hfse-form-additional-filters label:hover {
  color: #2C3A57 !important;
}

.hfse-form-additional-filters strong {
  font-weight: 600 !important;
  font-size: 15px !important;
}

.filter-feature.filter-group,
.filter-type {
  margin-bottom: 4px !important;
  padding: 4px 0 !important;
}

.hfse-form-additional-filters .hk-width-xlarge.hk-margin-auto {
  margin-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Price slider — rose connect, navy handle */
.hfse-form-price-slider .noUi-connect {
  background: #B56B82 !important;
}

.hfse-form-price-slider .noUi-target {
  background: #EAE4D8 !important;
  border: none !important;
  height: 6px !important;
  border-radius: 3px !important;
}

.hfse-form-price-slider .noUi-handle {
  background: #2C3A57 !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
  width: 22px !important;
  height: 22px !important;
  top: -9px !important;
  right: -11px !important;
  cursor: pointer !important;
}

.hfse-form-price-slider .noUi-handle::before,
.hfse-form-price-slider .noUi-handle::after {
  display: none !important;
}

.hfse-form-price-slider-text {
  font-size: 13px !important;
  color: #9A9385 !important;
  font-weight: 400 !important;
}

.hfse-form-additional-filters hr {
  border: none !important;
  border-top: 1px solid #EAE4D8 !important;
  margin: 24px 0 !important;
}

.hfse-form-additional-filters .hk-grid-divider > :not(.hk-first-column)::before {
  border-left-color: #EAE4D8 !important;
}

.hk-modal-close-default {
  top: 22px !important;
  right: 22px !important;
  padding: 5px !important;
}

.hk-modal-close-default svg line {
  stroke: #2C3A57 !important;
  stroke-width: 1.5 !important;
}


/* === SINGLE PROPERTY (partial — gray strip fix; full pass comes later) === */

/* HomeRunner's default page-body bg is gray — it peeks through around the
   "« All Properties" back-link strip between the white sections. Force white. */
.single-property .hr-page-body,
.single-property #ajax-content-wrap {
  background: #fff !important;
}

.single-property .hr-page-body .hk-container {
  background: transparent !important;
}

/* Salient adds list bullets to all ul li — kill them on HomeRunner lists
   (location/type meta row, amenities lists, etc.) */
.hr-page-body ul.hk-list,
.hr-page-body ul.hk-list > li,
.uk-scope ul.hk-list,
.uk-scope ul.hk-list > li {
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.hr-page-body ul.hk-list > li::marker,
.uk-scope ul.hk-list > li::marker {
  content: none !important;
}

.hr-page-body ul.hk-list > li::before,
.uk-scope ul.hk-list > li::before {
  display: none !important;
  content: none !important;
}

/* Back link "« All Properties" — brand it */
.single-property .hr-page-body a.el-content.hk-link-muted {
  color: #B56B82 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

.single-property .hr-page-body a.el-content.hk-link-muted:hover {
  color: #AE6478 !important;
}

.single-property .hr-page-body a.el-content.hk-link-muted svg polyline {
  stroke: #B56B82 !important;
}


/* === CLEAR DATES (When modal footer) === */

.homerunner-clear-dates-btn {
  font-size: 15px !important;
  font-weight: 600 !important;
  border: 1.5px solid #2C3A57 !important;
  border-radius: 8px !important;
  padding: 5px 15px !important;
  background: transparent !important;
  color: #2C3A57 !important;
  transition: all 0.2s ease !important;
  text-transform: none !important;
}

.homerunner-clear-dates-btn:hover {
  background: rgba(44, 58, 87, 0.06) !important;
}


/* === RESPONSIVE — tablet + mobile === */

@media (max-width: 959px) {
  #hr-explorer-1 .hfse-body {
    border-radius: 10px !important;
    padding: 12px !important;
  }

  #hr-explorer-1 .hfse-form-submit-btn {
    font-size: 13px !important;
  }
}

@media (min-width: 640px) and (max-width: 959px) {
  body.post-type-archive-property .hr-explorer {
    padding-top: 20px !important;
  }

  body.post-type-archive-property .hfse-form-meta {
    margin-bottom: 16px !important;
  }

  body.post-type-archive-property .hfse-properties-container {
    margin-top: 10px !important;
  }
}

@media (max-width: 639px) {
  body.post-type-archive-property .hr-explorer {
    padding-top: 20px !important;
  }

  body.post-type-archive-property .hfse-form-meta {
    margin-bottom: 16px !important;
  }

  body.post-type-archive-property .hfse-properties-container {
    margin-top: 10px !important;
  }

  body.post-type-archive-property .hfse .hfse-form-primary-fields,
  body.post-type-archive-property .hfse .hfse-form-secondary-fields {
    padding-bottom: 0 !important;
    margin-top: 20px;
  }

  body.post-type-archive-property .hfse-form-properties-count-container {
    margin-bottom: 15px !important;
  }

  /* Filters modal full width on mobile */
  #hfse-form-additional-filters-modal-1 .hk-modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  #hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-body {
    padding: 20px 16px !important;
    overflow-x: hidden !important;
  }

  /* Kill grid-divider borders on mobile */
  .hfse-form-additional-filters .hk-grid-divider > :not(.hk-first-column)::before {
    display: none !important;
  }

  .hfse-form-additional-filters .hk-grid-divider {
    margin-left: 0 !important;
  }

  .hfse-form-additional-filters .hk-grid-divider > * {
    padding-left: 0 !important;
  }

  /* Stack all grid columns on mobile */
  .hfse-form-additional-filters [class*="hk-width-1-2@"],
  .hfse-form-additional-filters [class*="hk-width-1-3@"],
  .hfse-form-additional-filters [class*="hk-width-2-3@"] {
    width: 100% !important;
  }

  .hfse-form-additional-filters {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .hfse-form-additional-filters .hk-grid {
    margin-left: 0 !important;
  }

  .hfse-form-additional-filters .hk-grid > * {
    padding-left: 0 !important;
  }

  /* Bedrooms + Bathrooms inline on mobile */
  .hfse-form-additional-filters .hk-child-width-1-2.hk-child-width-1-1\@s {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    justify-content: center !important;
  }

  .hfse-form-additional-filters .hk-child-width-1-2.hk-child-width-1-1\@s > div {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-top: 0 !important;
  }

  .hfse-form-additional-filters .hk-child-width-1-2.hk-child-width-1-1\@s > .hk-grid-margin {
    margin-top: 0 !important;
  }

  /* Zone cities mobile layout */
  .hfse-form-zone-subfield-cities {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .hfse-form-zone-subfield-cities .hfse-form-zone-city {
    margin: 0 !important;
  }

  .hfse-form-modal .hk-modal-footer {
    padding-bottom: 15px !important;
  }
}


/* === MISC === */

.uk-scope .hk-grid-divider.hk-grid-stack > .hk-grid-margin::before {
  left: 0;
}

@media (min-width: 960px) {
  body.post-type-archive-property .hfse-form-secondary-fields-center {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
  }
}

.hfse-form-additional-filters .hk-width-xlarge .hk-grid {
  margin-left: 0 !important;
}

.hfse-form-additional-filters .hk-width-xlarge .hk-grid > * {
  padding-left: 0 !important;
}

@media (min-width: 960px) {
  .hfse-form-additional-filters .filter-features.filter-groups {
    padding-left: 15px !important;
  }
}

/* Card shadow clipping fix (slider mode) */
.hfse-properties {
  margin: -10px !important;
  padding: 10px !important;
}



/* =====================  COMPONENTS (ported from the Salient build)  ===================== */
/** HOMERUNNER BOOKING WIDGET – hero "Reserve Your Stay Now" box on portfolio home pages **/
.reverieBookingWidget .homelocal-booking-widget .hk-form-label {color:rgba(255,255,255,0.85) !important; font-size:13px; letter-spacing:0.04em; text-transform:uppercase;}
.reverieBookingWidget .homelocal-booking-widget .hk-input,
.reverieBookingWidget .homelocal-booking-widget .hk-select {border:1px solid rgba(255,255,255,0.35) !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-input::placeholder {color:rgba(255,255,255,0.7);}
.reverieBookingWidget .homelocal-booking-widget .hk-select option {color:#0f1d30; background:#fff;}
.reverieBookingWidget .homelocal-booking-widget .price-details-modal-button {color:#D0C09D !important; text-decoration:none !important; font-size:12px !important; letter-spacing:.1em; line-height:1.6; padding:0 !important; min-height:0 !important;}
.reverieBookingWidget .homelocal-booking-widget .price-details-modal-button:hover {color:#fff !important;}
/* tighten spacing in the booking box */
.wpb_column:has(.reverieBookingWidget) .vc_column-inner {padding:28px 28px 30px !important;}
.wpb_column:has(.reverieBookingWidget) h4 {margin-bottom:4px !important;}
.reverieBookingWidget .homelocal-booking-widget-body {padding:0 !important; background:transparent !important;}
.reverieBookingWidget .homelocal-booking-widget .rent-unit {margin-bottom:6px !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-grid {margin-top:0 !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-grid > * {margin:12px 0 0 !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-grid > .total-nights {margin-top:0 !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-form-label {margin-bottom:0 !important; line-height:1.3 !important; display:block;}
.reverieBookingWidget .homelocal-booking-widget .hk-form-controls {margin-top:5px !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-button {margin-top:18px !important;}

/** CONCIERGE PAGE – experience menu, category rows, service toggles **/
.conciergeNav {display:flex; justify-content:center; flex-wrap:wrap; gap:14px; max-width:1000px; margin:0 auto;}
.conciergeNav a {flex:1 1 160px; max-width:190px; display:flex; flex-direction:column; align-items:center; gap:12px; padding:26px 12px 22px; border:1px solid #e2ddd5; border-radius:5px; color:#203350; text-decoration:none; font-size:14px; letter-spacing:.06em; text-transform:uppercase; line-height:1.3; transition:all .25s ease;}
.conciergeNav a i {font-size:46px; line-height:1; color:#1c607d;}
.conciergeNav a i:before {font-size:46px !important; margin:0 !important;}
.conciergeNav a:hover {background:#203350; border-color:#203350; color:#fff;}
.conciergeNav a:hover i {color:#fff;}
.conciergeCat {scroll-margin-top:90px;}
.conciergeCat .conciergeIcon {margin-bottom:14px;}
.conciergeCat .conciergeIcon i:before {font-size:54px !important; margin:0 !important;}
.conciergeCat h2 {margin-bottom:14px;}
.conciergeCat .conciergeIntro {margin-bottom:0 !important; padding-bottom:28px; max-width:560px;}
.conciergeCat .conciergeImg img {width:100%; aspect-ratio:4/5; object-fit:cover;}
.conciergeCat .conciergeImgWide img {aspect-ratio:3/2 !important;}
.conciergeCat .toggles .toggle {border-top:1px solid #d9d4cb;}
.conciergeCat .toggles .toggle:last-child {border-bottom:1px solid #d9d4cb;}
.conciergeCat .toggles .toggle h3 a, .conciergeCat .toggles .toggle .toggle-title a {color:#203350 !important; letter-spacing:.05em;}
.conciergeCat .toggles .toggle > div {color:#435362;}
@media (max-width: 999px) {
  .conciergeCat .row_col_wrap_12 {display:flex !important; flex-direction:column !important;}
  .conciergeCat .conciergeImg {order:-1; margin-bottom:30px !important;}
  .conciergeCat .conciergeImg img {aspect-ratio:3/2;}
  .conciergeNav a {flex:1 1 40%; max-width:none; padding:18px 10px;}
}

/** CONCIERGE HERO – script headline "writes" itself in, then the rest fades up **/
.heroScript {animation:heroScriptWrite 2.4s cubic-bezier(.65,0,.35,1) .1s both; text-shadow:0 4px 30px rgba(15,29,48,.35);}
.conciergeHero .heroEyebrow {animation:heroFadeUp 1s ease .1s both;}
.conciergeHero .heroSub {animation:heroFadeUp 1.2s ease 1.9s both;}
.conciergeHero .heroArrow {animation:heroFadeUp 1s ease 2.6s both;}
.conciergeHero .heroEyebrow h5 {margin-bottom:10px;}
@keyframes heroScriptWrite {from {clip-path:inset(-20% 100% -40% 0); opacity:.2;} to {clip-path:inset(-20% -5% -40% 0); opacity:1;}}
@keyframes heroFadeUp {from {opacity:0; transform:translateY(18px);} to {opacity:1; transform:none;}}
@media (max-width: 999px) {
  body .conciergeHero h1.heroScript {font-size:16.5vw !important; line-height:1.05 !important;}
  body .conciergeHero .heroSub h2.vc_custom_heading {font-size:4.6vw !important; line-height:1.45 !important; margin-bottom:14px !important;}
}
@media (prefers-reduced-motion: reduce) {
  .heroScript, .conciergeHero .heroEyebrow, .conciergeHero .heroSub, .conciergeHero .heroArrow {animation:none;}
}

/** GUIDE PAGES (Harbour Island) – steps, dining, cards, seasons, notes **/
.guideSection {scroll-margin-top:90px;}
.guideNav a {flex:1 1 140px; max-width:165px;}
.guideBody p {opacity:.85; margin-bottom:14px !important; padding-bottom:0 !important;}
.guideCenterIcon, .guideDarkIcon {text-align:center; margin-bottom:14px;}
.guideCenterIcon i:before, .guideDarkIcon i:before {font-size:54px !important; margin:0 !important;}
.guideDarkIcon i {color:#BDB09F;}
.guideNote:not(.wpb_column), .guideNote > .vc_column-inner {background:#fff; border:1px solid #e2ddd5; border-radius:5px; padding:24px 28px !important; height:100%;}
.guideNote:not(.wpb_column) {margin-top:20px;}
.guideNote h5 {color:#1c607d; margin-bottom:8px;}
.guideNote ul {margin:0 0 0 18px;} .guideNote li {margin-bottom:6px; opacity:.85;}
.guideNote p {margin:0; opacity:.85;}
.guideNoteDark > .vc_column-inner {background:#203350 !important; border-color:#203350 !important; color:#fff;}
.guideNoteDark h5 {color:#BDB09F;} .guideNoteDark a {color:#fff; text-decoration:underline;}
.guideStep > .vc_column-inner {background:#fff; border-radius:5px; padding:34px 30px 28px !important; position:relative; height:100%;}
.guideStep .guideStepNum {position:absolute; top:22px; right:26px; font-size:44px; line-height:1; color:#E8DECF; font-family:Vogun, "Vogun", serif;}
.guideStep .fontIcon i:before {font-size:54px !important; margin:0 !important;}
.guideStep h3 {margin:14px 0 10px;} .guideStep p {opacity:.85; margin:0;}
.guideDark h5 {color:#BDB09F;}
.guideDine h5 {border-bottom:1px solid rgba(255,255,255,.2); padding-bottom:12px; margin-bottom:18px; letter-spacing:.08em;}
.guideDine p {opacity:.85; font-size:15px; line-height:1.5; margin-bottom:16px;}
.guideDine strong {color:#fff; font-size:17px; letter-spacing:.02em;}
.guideDineNote {opacity:.8;} .guideDineNote a {color:#fff; text-decoration:underline;}
.guideCard img {width:100%; aspect-ratio:3/2; object-fit:cover;}
.guideHome img {aspect-ratio:16/10;}
.guideCard h3 {margin:18px 0 8px;} .guideCard p {opacity:.85;}
.guideSeason > .vc_column-inner {border-top:3px solid #B56B82; background:#F6F6F5; border-radius:0 0 5px 5px; padding:30px 28px !important; height:100%;}
.guideSeason h5 {color:#B56B82; margin-bottom:6px; letter-spacing:.06em;}
.guideSeason h3 {margin-bottom:12px;} .guideSeason p {opacity:.85; margin:0;}
@media (max-width: 999px) {
  .guideStep, .guideSeason, .guideCard, .guideDine {margin-bottom:24px !important;}
  .guideNav a {flex:1 1 40%; max-width:none;}
}

/** HOME PAGES (portfolio) – facts, highlights, rooms, amenities, calendar **/
.hlFacts {display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:6px; padding-top:20px; border-top:1px solid #e2ddd5;}
.hlFacts span {display:inline-flex; align-items:center; gap:8px; font-size:14px; letter-spacing:.04em; text-transform:uppercase; color:#203350;}
.hlFacts i {color:#1c607d; font-size:22px; line-height:1;} .hlFacts i:before {font-size:24px !important; margin:0 !important;}
.hlTile > .vc_column-inner {background:#fff; border-radius:5px; padding:28px 24px 22px !important; height:100%;}
.hlTile .hlIcon i:before {font-size:46px !important; margin:0 !important;}
.hlTile h3 {margin:12px 0 8px; font-size:20px; line-height:1.3;} .hlTile p {opacity:.85; margin:0; font-size:15px; line-height:1.5;}
.roomCard > .vc_column-inner {background:#fff; border-top:3px solid #B56B82; border-radius:0 0 5px 5px; padding:26px 26px 22px !important; height:100%;}
.roomCard .roomTop {display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.roomCard .roomTop i {color:#1c607d;} .roomCard .roomTop i:before {font-size:30px !important; margin:0 !important;}
.roomCard .roomTop h5 {margin:0; color:#B56B82; letter-spacing:.06em;}
.roomCard h3 {margin:0 0 4px;} .roomCard .roomBeds {font-weight:600; color:#1c607d; margin:0 0 8px;}
.roomCard p {opacity:.85; margin:0;}
.amenCol ul {list-style:none !important; margin:0 !important; padding:0 !important;}
.amenCol ul li {list-style:none !important;}
.amenCol li {position:relative; padding:0 0 10px 22px; opacity:.88; font-size:15px; line-height:1.45;}
.amenCol li:before {content:"\2713"; position:absolute; left:0; top:0; color:#BDB09F; font-weight:700;}
.homeCalendar {max-width:900px; margin:0 auto !important; float:none !important;}
.homeGallery .wpb_gallery .flex-control-nav {display:none;}
@media (max-width: 999px) {
  .hlTile, .roomCard, .amenCol {margin-bottom:20px !important;}
}

/** WHY REVERIE PAGE – stats, comparison, notes **/
.whyStats {display:flex; flex-wrap:wrap; justify-content:center; gap:20px; max-width:1000px; margin:0 auto;}
.whyStats div {flex:1 1 180px; border-top:1px solid #e2ddd5; padding-top:18px;}
.whyStats strong {display:block; font-family:Vogun, "Vogun", serif; font-weight:400; font-size:48px; line-height:1.1; color:#203350;}
.whyStats span {display:block; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#435362; margin-top:6px;}
.cmpRow {max-width:1100px; margin:0 auto !important; border-bottom:1px solid #e2ddd5;}
.cmpRow .wpb_column > .vc_column-inner {padding:20px 22px !important;}
.cmpRow h5 {margin:0; letter-spacing:.06em;} .cmpRow p {margin:0;}
.cmpHead {border-bottom:2px solid #203350;}
.cmpHead .cmpTypical h5 {color:#435362;} .cmpHead .cmpReverie h5 {color:#B56B82;}
.cmpLabel h5 {color:#1c607d;}
.cmpTypical p {opacity:.65;}
.cmpReverie > .vc_column-inner {background:#F6F2EA;}
.cmpReverie p {color:#203350; font-weight:500;}
.whyNote {opacity:.7; font-size:14px; max-width:720px; margin:0 auto;}
@media (max-width: 999px) {
  body .heroLongScript h1.heroScript {font-size:13.5vw !important;}
  .cmpHead {display:none !important;}
  .cmpRow .wpb_column > .vc_column-inner {padding:6px 16px !important;}
  .cmpRow {padding:14px 0 !important;}
  .cmpTypical p:before {content:"Typical rental: "; font-weight:600;}
  .cmpReverie p:before {content:"Reverie: "; font-weight:700; color:#B56B82;}
  .whyStats strong {font-size:38px;}
}

/** JOIN PAGE – partnership path cards **/
.pathCard > .vc_column-inner {background:#fff; border:1px solid #e2ddd5; border-radius:5px; padding:34px 34px 26px !important; height:100%; position:relative;}
.pathRecommended > .vc_column-inner {border:2px solid #B56B82;}
.pathBadge {position:absolute; top:-13px; left:34px; background:#B56B82; color:#fff; font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:5px 14px; border-radius:3px;}
.pathCard h5 {color:#1c607d; letter-spacing:.06em; margin-bottom:6px;}
.pathCard h3 {font-size:30px; line-height:1.2; margin-bottom:10px;}
.pathCard p {opacity:.85; margin-bottom:16px;}
.pathCard ul {list-style:none !important; margin:0 !important; padding:16px 0 0 !important; border-top:1px solid #e2ddd5;}
.pathCard li {list-style:none !important; position:relative; padding:0 0 10px 24px; opacity:.88;}
.pathCard li:before {content:"\2713"; position:absolute; left:0; top:0; color:#B56B82; font-weight:700;}
@media (max-width: 999px) { .pathCard {margin-bottom:30px !important;} }

/** PALETTE BANDS – dark Jungle section + photo quote band **/
.jungleBand .o80, .jungleBand p {color:rgba(255,255,255,.85);}
.jungleBand .conciergeNav a {border-color:rgba(255,255,255,.22); color:#fff;}
.jungleBand .conciergeNav a i {color:#BDB09F;}
.jungleBand .conciergeNav a:hover {background:#fff; border-color:#fff; color:#264653;}
.jungleBand .conciergeNav a:hover i {color:#264653;}
.quoteBand .quoteStars {display:flex; justify-content:center; gap:6px; margin-bottom:22px;}
.quoteBand .quoteStars i:before {font-size:16px !important; margin:0 !important; color:#D0C09D;}
.quoteBand .quoteText {font-family:Vogun, "Vogun", serif; font-size:36px; line-height:1.4; color:#fff; border:0; padding:0; margin:0 auto 22px; max-width:960px; quotes:none; font-style:normal;}
.quoteBand .quoteText:before, .quoteBand .quoteText:after {display:none;}
.quoteBand .quoteBy {font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#BDB09F; margin:0;}
@media (max-width: 999px) { .quoteBand .quoteText {font-size:24px;} }
.jungleBand .whyStats div {border-top-color:rgba(255,255,255,.25);}
.jungleBand .whyStats strong {color:#fff;}
.jungleBand .whyStats span {color:#BDB09F;}
.jungleBand .leadin, .jungleBand .leadin p {color:#fff !important;}
.quoteBand .quoteText.noQuote {font-style:normal;}

/** LOCATION MAP – home pages **/
.reverieMap {width:100%; border-radius:5px; overflow:hidden; z-index:1; box-shadow:0 10px 30px rgba(15,29,48,.12);}
.reverieMap .leaflet-tile-pane {filter:saturate(.45) sepia(.12) brightness(1.04) contrast(.94);}
.reverieMapPin span {display:block; width:30px; height:30px; border-radius:50%; background:#B56B82; border:4px solid #fff; box-shadow:0 0 0 8px rgba(181,107,130,.25), 0 4px 10px rgba(0,0,0,.25);}
.locFacts {list-style:none !important; margin:6px 0 0 !important; padding:0 !important; border-top:1px solid #e2ddd5;}
.locFacts li {list-style:none !important; display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #e2ddd5; color:#203350; font-size:15px; letter-spacing:.02em;}
.locFacts li i {color:#1c607d;} .locFacts li i:before {font-size:28px !important; margin:0 !important;}
@media (max-width: 999px) { .locMapCol {margin-top:30px !important;} .reverieMap {height:340px !important;} }

/** STAY FACTS – side panel beside the availability calendar **/
.homeCalendar {max-width:none !important; float:left !important;}
.stayFactsCol > .vc_column-inner {background:#F6F2EA; border-radius:5px; padding:30px 30px 26px !important; height:100%;}
.stayFacts h5 {color:#B56B82; letter-spacing:.1em; margin-bottom:14px;}
.stayFacts ul {list-style:none !important; margin:0 0 18px !important; padding:0 !important; border-top:1px solid #e2ddd5;}
.stayFacts li {list-style:none !important; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:4px; padding:11px 0; border-bottom:1px solid #e2ddd5; font-size:14px; color:#435362;}
.stayFacts li i {color:#1c607d;} .stayFacts li i:before {font-size:24px !important; margin:0 !important;}
.stayFacts li strong {color:#203350; font-weight:600; text-align:right;}
.stayFacts .stayNote {font-size:13px; line-height:1.55; opacity:.75; margin:0 0 18px;}
.stayFacts .stayContact {padding-top:16px; border-top:1px solid #e2ddd5; display:flex; flex-direction:column; gap:4px; font-size:14px;}
.stayFacts .stayContact span {color:#435362;} .stayFacts .stayContact a {color:#B56B82; font-weight:600;}
@media (max-width: 999px) { .stayFactsCol {margin-top:30px !important;} }

/** OUR HOMES LANDING – showcase rows, compare table, search **/
.showRow, .homeSearch {scroll-margin-top:90px;}
.showImg img {width:100%; aspect-ratio:3/2; object-fit:cover;}
.showText h2 {margin-bottom:12px;}
.showText .hlFacts {margin-bottom:6px;}
.showHl {list-style:none !important; margin:16px 0 0 !important; padding:0 !important;}
.showHl li {list-style:none !important; position:relative; padding:0 0 8px 22px; color:#435362; font-size:15px;}
.showHl li:before {content:"\2713"; position:absolute; left:0; color:#B56B82; font-weight:700;}
.showPrice {margin:14px 0 10px !important; color:#435362; font-size:14px; letter-spacing:.04em;}
.showPrice strong {font-family:Vogun, "Vogun", serif; font-weight:400; font-size:30px; color:#203350; letter-spacing:0;}
.homesCompareWrap {overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:1100px; margin:0 auto;}
.homesCompare {width:100%; min-width:720px; border-collapse:collapse; background:#fff; border-radius:5px; overflow:hidden;}
.homesCompare th, .homesCompare td {padding:14px 16px; border-bottom:1px solid #e2ddd5; text-align:left; font-size:14px; vertical-align:top; color:#435362;}
.homesCompare thead th {background:#203350; color:#fff; font-weight:500; letter-spacing:.02em;}
.homesCompare thead th a {color:#fff; text-decoration:none;} .homesCompare thead th a:hover {color:#D0C09D;}
.homesCompare td:first-child {color:#1c607d; font-size:12px; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;}
.homesCompare .cmpPrice td {background:#F6F2EA;} .homesCompare .cmpPrice strong {font-family:Vogun, "Vogun", serif; font-weight:400; font-size:22px; color:#203350;}
@media (max-width: 999px) { .showImg {margin-bottom:26px !important;} }
.conciergeHero > .row-bg-wrap {overflow:hidden;}
@media (max-width: 999px) { body.page-id-1188 #ajax-content-wrap {overflow-x:hidden;} }

/** FOOTER (rebuilt) – newsletter strip, link columns, contact, bottom bar **/
body .footerNews h3.newsTitle {font-family:Vogun, "Vogun", serif; font-weight:400; font-size:34px !important; line-height:1.2 !important; color:#fff; margin:4px 0 8px;}
.footerNews p {color:rgba(255,255,255,.8); margin:0;}
.footerNews .gform_wrapper, .footerNews .gform_wrapper form {margin:0 !important;}
.footerNews .gform_wrapper .gform_body {width:auto !important;}
.footerNews .gform_wrapper form {display:flex; flex-wrap:wrap; gap:10px; align-items:stretch;}
.footerNews .gform_wrapper .gform_body {flex:1 1 380px;}
.footerNews .gform_wrapper.gravity-theme .gform_fields {display:grid !important; grid-template-columns:2fr 3fr !important; gap:10px !important;}
.footerNews .gform_wrapper .gfield {margin:0 !important; padding:0 !important;}
.footerNews .gform_wrapper .gfield {grid-column:auto !important; width:auto !important; max-width:none !important;}
.footerNews .gform_wrapper .gfield_label, .footerNews .gform_wrapper .gfield_required, .footerNews .gform_wrapper .gform_required_legend {position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important;}
.footerNews .gform_wrapper .ginput_container {margin:0 !important;}
.footerNews .gform_wrapper input[type=text], .footerNews .gform_wrapper input[type=email] {width:100% !important; height:50px; padding:0 16px !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.3) !important; border-radius:4px !important; color:#fff !important; font-size:15px !important;}
.footerNews .gform_wrapper input::placeholder {color:rgba(255,255,255,.65);}
.footerNews .gform_wrapper input:focus {border-color:#D0C09D !important; outline:none; background:rgba(255,255,255,.12) !important;}
.footerNews .gform_wrapper .gform_footer {margin:0 !important; padding:0 !important; flex:0 0 auto;}
.footerNews .gform_wrapper .gform_footer .gform_button, .footerNews .gform_wrapper .gform_footer input[type=submit] {height:50px; padding:0 30px !important; margin:0 !important; background:#B56B82 !important; color:#fff !important; border:0 !important; border-radius:4px !important; font-size:13px !important; letter-spacing:.12em; text-transform:uppercase; cursor:pointer;}
.footerNews .gform_wrapper .gform_footer .gform_button:hover {background:#9e5a70 !important;}
.footerNews .gform_wrapper .gfield_validation_message, .footerNews .gform_wrapper .validation_message {background:none !important; border:0 !important; color:#ecc0b8 !important; padding:4px 0 0 !important; font-size:13px !important;}
.footerNews .gform_wrapper .gform_validation_errors {display:none !important;}
.footerNews .gform_confirmation_message, .footerNews .newsThanks {color:#fff; font-size:17px;}
.footerNews .newsPrivacy {font-size:12px; color:rgba(255,255,255,.55) !important; margin-top:10px !important;}
.footerCustom h3 {font-size:13px !important; letter-spacing:.14em; text-transform:uppercase; color:#BDB09F !important; margin-bottom:16px; font-family:inherit !important;}
.footerLinks {list-style:none !important; margin:0 !important; padding:0 !important;}
.footerLinks li {list-style:none !important; margin:0 0 10px; padding:0;}
.footerLinks a, .footerContact a {color:rgba(255,255,255,.85) !important; text-decoration:none; font-size:15px; transition:color .2s;}
.footerLinks a:hover, .footerContact a:hover {color:#D0C09D !important;}
.footerBlurb {color:rgba(255,255,255,.75); font-size:15px; line-height:1.6;}
.footerContact {list-style:none !important; margin:14px 0 0 !important; padding:0 !important;}
.footerContact li {list-style:none !important; display:flex; align-items:center; gap:10px; margin-bottom:8px; color:rgba(255,255,255,.75); font-size:14px;}
.footerContact .fcLabel {display:inline-block; min-width:44px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#BDB09F;}
.footerCta {display:inline-block; margin-top:18px; padding:12px 24px; border:1px solid rgba(255,255,255,.5); border-radius:4px; color:#fff !important; font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none;}
.footerCta:hover {background:#9e5a6f; border-color:#B56B82;}
.footerBottom p {margin:0; color:rgba(255,255,255,.6);}
.footerLegal {text-align:right;} .footerLegal a {color:rgba(255,255,255,.7) !important; margin-left:24px; text-decoration:none;} .footerLegal a:hover {color:#fff !important;}
@media (max-width: 999px) {
  .footerNews .gform_wrapper.gravity-theme .gform_fields {grid-template-columns:1fr !important;}
  .footerNews .gform_wrapper .gform_footer {flex:1 1 100%;} .footerNews .gform_wrapper .gform_footer .gform_button {width:100%;}
  .footerNewsText {margin-bottom:22px !important;}
  .footerCol {margin-bottom:24px !important;}
  .footerLegal {text-align:center;} .footerLegal a {margin:0 12px;}
}

/* HOME HERO SEARCH WIDTH */
body.page-id-3102 .hr-explorer {max-width:940px; margin-left:auto; margin-right:auto;}

/* OUR HOMES: MAP BELOW RESULTS */
body.page-id-1188 #availability .hr-explorer.with-map {display:flex !important; flex-direction:column; flex-wrap:nowrap;}
body.page-id-1188 #availability .hr-explorer .hfse-body {order:1; min-height:0 !important; height:auto !important; width:100% !important; max-width:none !important; flex:0 0 auto !important; padding:0 !important;}
body.page-id-1188 #availability .hr-explorer .hfse-sidebar {order:2; width:100% !important; max-width:none !important; flex:0 0 auto !important; margin-top:40px;}
body.page-id-1188 #availability .hr-explorer .hfse-map-container {position:relative !important; top:auto !important; height:460px !important; border-radius:6px; overflow:hidden;}
body.page-id-1188 #availability .hr-explorer form.hfse-form, body.page-id-1188 #availability .hr-explorer .hfse-form-secondary-fields {max-width:940px; margin-left:auto !important; margin-right:auto !important;}
body.page-id-1188 #availability .hr-explorer .hfse-properties {margin:20px 0 0 !important;}
@media (min-width:1000px){ body.page-id-1188 #availability .hr-explorer .hfse-properties > .property-item {width:25% !important; flex:0 0 25% !important; min-width:0 !important; max-width:25% !important;} }
@media (min-width:600px) and (max-width:999px){ body.page-id-1188 #availability .hr-explorer .hfse-properties > .property-item {width:50% !important; flex:0 0 50% !important; min-width:0 !important; max-width:50% !important;} }
@media (max-width:999px){ body.page-id-1188 #availability .hr-explorer .hfse-map-container {height:360px !important;} }

/** CHECKOUT PAGE (page 3208) **/
.checkoutHero .eyebrowLine {display:inline-block; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:#d0c09d; margin-bottom:14px;}
.checkoutHero h1 {font-family:Vogun, LuxentaBold, serif; color:#fff; font-size:clamp(34px,4.2vw,58px); line-height:1.05; margin:0 0 14px;}
.checkoutHero .checkoutLead {color:rgba(255,255,255,.72); max-width:620px; margin:0 auto 34px; font-size:16px; line-height:1.6;}
.checkoutSteps {display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; list-style:none; margin:0 !important; padding:0 !important;}
.checkoutSteps li {display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.5); margin:0 !important; padding:0 !important; list-style:none;}
.checkoutSteps li span {width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.35); display:inline-flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:0;}
.checkoutSteps li.done {color:#d0c09d;} .checkoutSteps li.done span {background:#d0c09d; border-color:#d0c09d; color:#0f1d30;}
.checkoutSteps li.current {color:#fff;} .checkoutSteps li.current span {background:#b56b82; border-color:#b56b82; color:#fff;}
.checkoutSteps li.sep {width:44px; height:1px; background:rgba(255,255,255,.25); gap:0;}

body.page-id-3208 .homelocal-checkout {color:#203350; font-size:15px;}
body.page-id-3208 .homelocal-checkout > .hk-margin a {font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#203350 !important; text-decoration:none !important;}
body.page-id-3208 .homelocal-checkout > .hk-margin a:hover {color:#b56b82 !important;}
body.page-id-3208 .homelocal-checkout .hk-card {background:#fff; border:1px solid #e8decf; border-radius:8px; box-shadow:0 10px 30px rgba(15,29,48,.05);}
body.page-id-3208 .homelocal-checkout .hk-card-body.hk-card {padding:38px 40px;}
body.page-id-3208 .homelocal-checkout .hk-card-title {font-family:Vogun, LuxentaBold, serif; font-size:26px; color:#203350; margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid #efe8dc;}
body.page-id-3208 .homelocal-checkout .hk-form-label {font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#7a7366; font-weight:600; margin-bottom:6px; display:block;}
body.page-id-3208 .homelocal-checkout .hk-input,
body.page-id-3208 .homelocal-checkout .hk-select,
body.page-id-3208 .homelocal-checkout .hk-textarea,
body.page-id-3208 .homelocal-checkout textarea,
body.page-id-3208 .homelocal-checkout .iti input,
body.page-id-3208 .homelocal-checkout .StripeElement {background:#f7f3ec !important; border:1px solid #e8decf !important; border-radius:6px !important; color:#203350 !important; min-height:46px; box-shadow:none !important; font-size:15px;}
body.page-id-3208 .homelocal-checkout .StripeElement {padding:13px 14px !important;}
body.page-id-3208 .homelocal-checkout .hk-input:focus,
body.page-id-3208 .homelocal-checkout textarea:focus,
body.page-id-3208 .homelocal-checkout .StripeElement--focus {border-color:#b56b82 !important; background:#fff !important; outline:none;}
body.page-id-3208 .homelocal-checkout ::placeholder {color:#a59d8e !important;}
/* rules list */
body.page-id-3208 .homelocal-checkout .hk-list > li.hk-list-bullet {padding-left:24px !important; position:relative; margin:0 !important; padding-top:10px; padding-bottom:10px; border-bottom:1px solid #f1ebe1; list-style:none;}
body.page-id-3208 .homelocal-checkout .hk-list > li.hk-list-bullet:last-child {border-bottom:0;}
body.page-id-3208 .homelocal-checkout .hk-list > li.hk-list-bullet::before {content:''; position:absolute; left:2px; top:20px; width:8px; height:8px; border-radius:50%; background:#d0c09d; margin:0 !important;}
body.page-id-3208 .homelocal-checkout .rule-description {font-size:15px; line-height:1.55;}
/* summary card */
body.page-id-3208 .homelocal-checkout-overview .hk-card {overflow:hidden;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-media-top img {width:100%; aspect-ratio:16/9; object-fit:cover; display:block;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-header {padding:22px 28px 18px; border-bottom:1px solid #efe8dc;}
body.page-id-3208 .homelocal-checkout-overview .property-overview .hk-text-bold {font-family:Vogun, LuxentaBold, serif; font-weight:400; font-size:22px; line-height:1.2; color:#203350;}
body.page-id-3208 .homelocal-checkout-overview .property-overview .hk-text-small {font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8a8272; margin-top:6px;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-body {padding:22px 28px;}
body.page-id-3208 .homelocal-checkout-overview .homelocal-booking-widget-body {padding:0 !important; background:transparent !important;}
body.page-id-3208 .homelocal-checkout-overview label.hk-text-bold {font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8a8272; font-weight:600;}
body.page-id-3208 .homelocal-checkout-overview .hk-grid .hk-form-controls {font-size:16px; color:#203350; margin-top:2px;}
body.page-id-3208 .homelocal-checkout-overview hr {border-color:#efe8dc; margin:18px 0;}
body.page-id-3208 .homelocal-checkout .coupon-row {display:none !important;}
body.page-id-3208 .homelocal-checkout-overview .total {background:#f7f3ec; border-radius:6px; padding:14px 16px; margin-top:6px !important;}
body.page-id-3208 .homelocal-checkout-overview .total .total-price-label {font-size:12px; letter-spacing:.14em; text-transform:uppercase;}
body.page-id-3208 .homelocal-checkout-overview .total .total-price {font-family:Vogun, LuxentaBold, serif; font-weight:400; font-size:24px; color:#203350;}
body.page-id-3208 .homelocal-checkout .price-details-modal-button {color:#b56b82 !important; text-decoration:none !important; font-size:12px !important; letter-spacing:.14em; padding:0 !important; min-height:0 !important; line-height:1.6;}
body.page-id-3208 .homelocal-checkout .price-details-modal-button::before, body.page-id-3208 .homelocal-checkout .price-details-modal-button::after {display:none !important;}
body.page-id-3208 .homelocal-checkout .price-details-modal-button:hover {color:#203350 !important;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-footer {background:#fbf8f3; border-top:1px solid #efe8dc; padding:18px 28px 20px;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-footer::before {content:'Payment Schedule'; display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8a8272; font-weight:600; margin-bottom:6px;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-footer li {font-size:13px; color:#435362; line-height:1.5; padding:9px 0 !important; margin:0 !important; border-color:#efe8dc !important;}
/* acceptance, notices, button */
body.page-id-3208 .homelocal-checkout .hr-checkout-acceptance-label {font-size:14px; color:#203350;}
body.page-id-3208 .homelocal-checkout .hr-checkout-acceptance-label a {color:#b56b82 !important;}
body.page-id-3208 .homelocal-checkout #hr-checkout-acceptance {accent-color:#b56b82; width:17px; height:17px; vertical-align:-3px; margin-right:8px;}
body.page-id-3208 .homelocal-checkout .checkout-notice {max-width:460px;}
body.page-id-3208 .homelocal-checkout .checkout-notice .hk-alert {background:transparent !important; color:#9a5a6d !important; padding:3px 0 !important; margin:0 !important; font-size:13px; border:0;}
body.page-id-3208 .homelocal-checkout .checkout-notice .hk-alert::before {content:'•'; margin-right:7px; color:#b56b82;}
body.page-id-3208 .homelocal-checkout .checkout-notice:not(:empty) {background:#fbf3f5; border:1px solid #efd9df; border-radius:8px; padding:12px 18px; margin-top:18px;}
body.page-id-3208 .homelocal-checkout button.hk-button-primary {background:#b56b82 !important; color:#fff !important; border:0 !important; border-radius:8px !important; font-size:13px !important; letter-spacing:.2em !important; font-weight:600; min-width:320px; height:58px; margin-top:22px !important; transition:background .25s;}
body.page-id-3208 .homelocal-checkout button.hk-button-primary:hover:not([disabled]) {background:#9e5a6f !important;}
body.page-id-3208 .homelocal-checkout button.hk-button-primary[disabled] {opacity:.5;}
@media (max-width:640px){
  body.page-id-3208 .homelocal-checkout .hk-card-body.hk-card {padding:26px 20px;}
  body.page-id-3208 .homelocal-checkout button.hk-button-primary {min-width:0; width:100%;}
  .checkoutSteps li.sep {width:18px;}
  .checkoutSteps li {font-size:10px; letter-spacing:.1em; gap:6px;}
}
body.page-id-3208 .homelocal-checkout p.hk-text-center img.hk-width-medium {width:280px !important; max-width:100%; height:auto; opacity:.85; margin-top:8px;}
body.page-id-3208 #ajax-content-wrap {overflow-x:hidden;}
body.page-id-3208 .homelocal-checkout-overview .total .total-price-label {white-space:nowrap;}
@media (max-width:640px){
  .checkoutSteps {flex-wrap:nowrap; gap:8px;}
  .checkoutSteps li:not(.current) {font-size:0; gap:0;}
  .checkoutSteps li span {font-size:12px;}
  .checkoutSteps li.sep {width:22px;}
  body.page-id-3208 .homelocal-checkout-overview .total .total-price {font-size:21px;}
  body.page-id-3208 .homelocal-checkout-overview .total .total-price-label {font-size:11px; letter-spacing:.1em;}
}

/** LEGAL PAGES (Terms, Privacy) **/
.legalHero .eyebrowLine {display:inline-block; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:#d0c09d; margin-bottom:14px;}
.legalHero h1 {font-family:Vogun, LuxentaBold, serif; color:#fff; font-size:clamp(36px,4.5vw,62px); line-height:1.05; margin:0 0 14px;}
.legalHero .legalLead {color:rgba(255,255,255,.75); max-width:620px; margin:0 auto 10px; font-size:17px; line-height:1.6;}
.legalHero .legalDate {color:#bdb09f; font-size:12px; letter-spacing:.16em; text-transform:uppercase; margin:18px 0 0;}
.legalWrap {display:grid; grid-template-columns:240px 1fr; gap:70px; max-width:1100px; margin:0 auto; align-items:start;}
.legalToc {position:sticky; top:110px; border-left:1px solid #e8decf; padding-left:22px;}
.legalToc > span {display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#8a8272; font-weight:600; margin-bottom:12px;}
.legalToc ol {list-style:none; margin:0 !important; padding:0 !important; counter-reset:toc;}
.legalToc li {margin:0 0 9px !important; padding:0 !important; list-style:none; counter-increment:toc; font-size:14px; line-height:1.4;}
.legalToc li::before {content:counter(toc,decimal-leading-zero); color:#d0c09d; font-size:11px; margin-right:9px; letter-spacing:.05em;}
.legalToc a {color:#203350; text-decoration:none;} .legalToc a:hover {color:#b56b82;}
.legalText {max-width:720px; color:#33405a; font-size:16px; line-height:1.75;}
.legalText section {padding:6px 0 30px; margin-bottom:30px; border-bottom:1px solid #f0eae0; scroll-margin-top:110px;}
.legalText section:last-child {border-bottom:0;}
.legalText h3 {font-family:Vogun, LuxentaBold, serif; color:#203350; font-size:26px; line-height:1.2; margin:0 0 14px;}
.legalText ul {margin:0 0 16px 0 !important; padding:0 !important;}
.legalText ul li {list-style:none; position:relative; padding-left:22px; margin-bottom:9px;}
.legalText ul li::before {content:''; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:50%; background:#d0c09d;}
.legalText strong {color:#203350;}
.legalText a {color:#b56b82;}
.legalConfirm {background:#fbf0c9; box-shadow:0 0 0 2px #fbf0c9; border-radius:2px;}
@media (max-width:999px){ .legalWrap {grid-template-columns:1fr; gap:30px;} .legalToc {position:static; border-left:0; padding:20px 22px; background:#f7f3ec; border-radius:8px;} .legalToc ol {columns:2; column-gap:24px;} }
@media (max-width:600px){ .legalToc ol {columns:1;} .legalText h3 {font-size:23px;} }
html:has(body.page-id-3347), html:has(body.page-id-1040), body.page-id-3347, body.page-id-1040 {overflow:visible !important; overflow-x:clip !important;}
.footerCustom .footerParent {margin-bottom:22px !important;}

/* Property pages: below 960px the hero booking box is removed; the sticky bottom bar handles booking */
@media (max-width:959px){ .wpb_column:has(.reverieBookingWidget) {display:none !important;} }
/* Mobile sticky booking bar: brand it and tuck it away while a calendar/modal is open */
.homelocal-sticky-booking-widget-container {background:#0f1d30 !important; border:0 !important; box-shadow:0 -8px 24px rgba(15,29,48,.25) !important; padding-bottom:env(safe-area-inset-bottom);}
.homelocal-sticky-booking-widget {padding:12px 16px !important; gap:12px;}
.homelocal-sticky-booking-widget .price-container {color:rgba(255,255,255,.75); font-size:13px; line-height:1.4;}
.homelocal-sticky-booking-widget .rent-unit, .homelocal-sticky-booking-widget .price {color:#fff; font-size:14px;}
.homelocal-sticky-booking-widget .rent-amount {font-family:Vogun, LuxentaBold, serif; font-size:19px; font-weight:400; color:#fff;}
.homelocal-sticky-booking-widget .total-nights, .homelocal-sticky-booking-widget .dates {color:#d0c09d; font-size:12px; letter-spacing:.04em;}
.homelocal-sticky-booking-widget .modal-button {background:#b56b82 !important; color:#fff !important; border-radius:8px !important; padding:0 16px !important; min-height:44px; line-height:44px !important; font-size:12px !important; letter-spacing:.14em !important; font-weight:600; text-decoration:none !important; white-space:nowrap;}
.homelocal-sticky-booking-widget .modal-button::before, .homelocal-sticky-booking-widget .modal-button::after {display:none !important;}
html.hk-modal-page .homelocal-sticky-booking-widget-container {display:none !important;}
@media (max-width:959px){ body:has(.homelocal-sticky-booking-widget-container) #footer-outer {padding-bottom:84px;} }

/** CONTACT PAGE (3023) + Reverie Contact form (GF 4) **/
.contactAside .eyebrowLine, .contactThanks .eyebrowLine {display:inline-block; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#b56b82; margin-bottom:8px; font-weight:600;}
.contactBook {background:#0f1d30; color:rgba(255,255,255,.75); border-radius:10px; padding:30px 28px; margin-bottom:28px;}
.contactBook .eyebrowLine {color:#d0c09d;}
.contactBook h4 {font-family:Vogun, LuxentaBold, serif; color:#fff; font-size:26px; line-height:1.15; margin:0 0 10px;}
.contactBook p {font-size:15px; line-height:1.6; margin:0 0 20px;}
.contactBtn {display:inline-block; background:#b56b82; color:#fff !important; border-radius:8px; padding:14px 22px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; text-decoration:none !important; transition:background .25s;}
.contactBtn:hover {background:#9e5a6f;}
.contactList {list-style:none; margin:0 0 24px !important; padding:0 !important;}
.contactList li {list-style:none; display:flex; gap:16px; align-items:baseline; padding:13px 0 !important; margin:0 !important; border-bottom:1px solid #e8decf; font-size:15px;}
.contactList li span {flex:0 0 70px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#8a8272;}
.contactList a, .contactList strong {color:#203350; text-decoration:none; font-weight:500;}
.contactList a:hover {color:#b56b82;}
.contactOwner {font-size:14px; color:#435362; line-height:1.6;}
.contactOwner a {color:#b56b82;}
.contactFormCard {background:#fff; border:1px solid #e8decf; border-radius:10px; padding:40px 44px 44px; box-shadow:0 12px 34px rgba(15,29,48,.06);}
.contactFormCard > h3 {font-family:Vogun, LuxentaBold, serif; color:#203350; font-size:30px; margin:0 0 6px;}
.reverieContactForm_wrapper, .gform_wrapper.reverieContactForm_wrapper {margin:0 !important;}
.reverieContactForm_wrapper .gform_fields {row-gap:22px !important; column-gap:18px !important;}
.reverieContactForm_wrapper .gfield_label, .reverieContactForm_wrapper legend.gfield_label {font-size:11px !important; letter-spacing:.16em; text-transform:uppercase; color:#7a7366 !important; font-weight:600 !important; margin-bottom:8px !important;}
.reverieContactForm_wrapper .gfield_required {color:#b56b82 !important; font-size:10px; letter-spacing:.06em; text-transform:none; font-weight:400;}
.reverieContactForm_wrapper input[type=text], .reverieContactForm_wrapper input[type=email], .reverieContactForm_wrapper input[type=tel], .reverieContactForm_wrapper input[type=number], .reverieContactForm_wrapper select, .reverieContactForm_wrapper textarea {background:#f7f3ec !important; border:1px solid #e8decf !important; border-radius:6px !important; color:#203350 !important; min-height:48px; padding:10px 14px !important; font-size:15px !important; box-shadow:none !important; width:100%;}
.reverieContactForm_wrapper textarea {min-height:130px; height:130px;}
.reverieContactForm_wrapper input:focus, .reverieContactForm_wrapper select:focus, .reverieContactForm_wrapper textarea:focus {border-color:#b56b82 !important; background:#fff !important; outline:none;}
.reverieContactForm_wrapper ::placeholder {color:#a59d8e !important;}
.reverieContactForm_wrapper .ginput_complex label, .reverieContactForm_wrapper .gform-field-label--type-sub {font-size:11px !important; color:#a59d8e !important; letter-spacing:.06em;}
/* topic cards */
.reverieContactForm_wrapper .topicCards .gfield_radio {display:grid !important; grid-template-columns:repeat(3,1fr); gap:12px;}
.reverieContactForm_wrapper .topicCards .gchoice {position:relative; margin:0 !important;}
.reverieContactForm_wrapper .topicCards .gchoice input {position:absolute; opacity:0; pointer-events:none;}
.reverieContactForm_wrapper .topicCards .gchoice label {display:flex !important; flex-direction:column; justify-content:flex-end; min-height:108px; height:100%; max-width:none !important; width:100%; margin:0 !important; padding:18px 18px 16px !important; border:1px solid #e8decf; border-radius:8px; background:#fbf8f3; color:#203350 !important; font-family:Vogun, LuxentaBold, serif; font-size:19px !important; line-height:1.2; cursor:pointer; transition:all .2s;}
.reverieContactForm_wrapper .topicCards .gchoice label::before {content:''; width:26px; height:26px; margin-bottom:auto; border-radius:50%; border:1px solid #d0c09d; background:#fff center/12px no-repeat; transition:all .2s;}
.reverieContactForm_wrapper .topicCards .gchoice label:hover {border-color:#d0c09d; background:#fff;}
.reverieContactForm_wrapper .topicCards .gchoice input:checked + label {background:#0f1d30; border-color:#0f1d30; color:#fff !important; box-shadow:0 10px 24px rgba(15,29,48,.18);}
.reverieContactForm_wrapper .topicCards .gchoice input:checked + label::before {background-color:#b56b82; border-color:#b56b82; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E");}
.reverieContactForm_wrapper .topicCards .gchoice input:focus-visible + label {outline:2px solid #b56b82; outline-offset:2px;}
.reverieContactForm_wrapper .plainCheck legend {display:none !important;}
.reverieContactForm_wrapper .plainCheck label {font-size:14px !important; color:#435362 !important; text-transform:none; letter-spacing:0;}
.reverieContactForm_wrapper .plainCheck input {accent-color:#b56b82; width:17px; height:17px;}
.reverieContactForm_wrapper .gform_footer {margin-top:26px !important; padding:0 !important;}
.reverieContactForm_wrapper .gform_button {background:#b56b82 !important; color:#fff !important; border:0 !important; border-radius:8px !important; padding:0 38px !important; height:56px; font-size:13px !important; letter-spacing:.2em !important; text-transform:uppercase; font-weight:600 !important; cursor:pointer; transition:background .25s;}
.reverieContactForm_wrapper .gform_button:hover {background:#9e5a6f !important;}
.reverieContactForm_wrapper .gfield_validation_message, .reverieContactForm_wrapper .validation_message {background:transparent !important; border:0 !important; padding:4px 0 0 !important; color:#9a5a6d !important; font-size:13px !important;}
.reverieContactForm_wrapper .gfield_error input, .reverieContactForm_wrapper .gfield_error select, .reverieContactForm_wrapper .gfield_error textarea {border-color:#d9a3b1 !important;}
.contactThanks {text-align:left; padding:10px 0;}
.contactThanks h3 {font-family:Vogun, LuxentaBold, serif; color:#203350; font-size:30px; margin:0 0 12px;}
.contactThanks p {font-size:16px; line-height:1.7; color:#33405a;}
.contactThanks a {color:#b56b82;}
.contactAsideCol > .vc_column-inner {padding-right:30px !important;}
@media (max-width:999px){ .contactAsideCol {order:2;} .contactFormCol {order:1;} .contactBody .row_col_wrap_12 {display:flex; flex-direction:column;} .contactAsideCol > .vc_column-inner {padding-right:0 !important; margin-top:30px;} }
@media (max-width:640px){
  .contactFormCard {padding:28px 20px 30px;}
  .reverieContactForm_wrapper .topicCards .gfield_radio {grid-template-columns:1fr; gap:10px;}
  .reverieContactForm_wrapper .topicCards .gchoice label {min-height:0; flex-direction:row; align-items:center; gap:14px; justify-content:flex-start; font-size:17px !important;}
  .reverieContactForm_wrapper .topicCards .gchoice label::before {margin:0; flex:0 0 26px;}
  .reverieContactForm_wrapper .gform_button {width:100%;}
}
.reverieContactForm_wrapper .gfield_required {font-size:0 !important;}
.reverieContactForm_wrapper .gfield_required::after {content:'*'; font-size:13px; color:#b56b82; margin-left:3px;}
.reverieContactForm_wrapper .ginput_complex .gform-field-label--type-sub, .reverieContactForm_wrapper .ginput_complex label {display:none !important;}
.reverieContactForm_wrapper img.ui-datepicker-trigger, .reverieContactForm_wrapper .ginput_container_date img {display:none !important;}
.reverieContactForm_wrapper .ginput_container_date input {width:100% !important;}
.reverieContactForm_wrapper .gfield_description.instruction {display:none !important;}
.reverieContactForm_wrapper textarea.large, .reverieContactForm_wrapper textarea {height:130px !important; min-height:130px !important;}
.reverieContactForm_wrapper .gform_fields {row-gap:20px !important;}
.reverieContactForm_wrapper .gfield {margin:0 !important;}
.reverieContactForm_wrapper .gfield_required .gfield_required::after {content:none !important;}
.reverieContactForm_wrapper .ginput_container_date img, .reverieContactForm_wrapper .ginput_container_date svg {display:none !important;}
.reverieContactForm_wrapper .ginput_container_date::before, .reverieContactForm_wrapper .ginput_container_date::after {display:none !important;}
.reverieContactForm_wrapper .ginput_container_date {display:block !important;}
.reverieContactForm_wrapper .gform_validation_errors {background:#fbf3f5 !important; border:1px solid #efd9df !important; border-radius:8px !important; box-shadow:none !important; padding:12px 18px !important; margin:0 0 20px !important;}
.reverieContactForm_wrapper .gform_validation_errors h2 {color:#9a5a6d !important; font-family:inherit !important; font-size:14px !important; font-weight:500 !important; line-height:1.4 !important; margin:0 !important; padding:0 !important;}
.reverieContactForm_wrapper .gform_validation_errors h2 .gform-icon, .reverieContactForm_wrapper .gform_validation_errors ol {display:none !important;}
.reverieContactForm_wrapper .gform-datepicker-toggle {display:none !important;}


/** TYPOGRAPHY SYSTEM
   Script  – hero moments only (SimplyArrive, SimplyHosted…)
   Vogun   – hero/page titles, home names in heroes, guest quotes, numbers & prices
   Luxenta SemiBold – section headlines, card titles, sub-headings
   Azo Sans – body, labels, buttons, eyebrows **/
body h2.vc_custom_heading:not([style*="font-size"]), body h2.darkGreen {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:44px !important; line-height:1.15 !important; letter-spacing:-.005em;}
body h2.vc_custom_heading[style*="font-size: 36px"], body h2.vc_custom_heading[style*="font-size: 28px"], body h2.vc_custom_heading[style*="font-size: 2vw"], body h2.vc_custom_heading.o80 {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; letter-spacing:-.005em;}
body h2.vc_custom_heading a {font-family:inherit !important;}
body h3.deepOcean, body h3.dunmore, body h3.bonfireAsh, body h3.jungle {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:23px !important; line-height:1.25 !important;}
.legalText h3, .contactFormCard > h3, .contactBook h4, .contactThanks h3, h3.newsTitle,
.reverieContactForm_wrapper .topicCards .gchoice label,
body.page-id-3208 .homelocal-checkout .hk-card-title,
body.page-id-3208 .homelocal-checkout-overview .property-overview .hk-text-bold {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important;}
@media (max-width:690px){ body h2.vc_custom_heading:not([style*="font-size"]), body h2.darkGreen {font-size:32px !important;} }

/** EYEBROW LABELS (h5.section): lined label replaces Salient's boxed style **/
body h5.section {display:inline-flex !important; align-items:center; gap:14px; border:0 !important; border-radius:0 !important; padding:0 !important; background:none !important; font-family:'Azo Sans', sans-serif !important; font-weight:600 !important; font-size:12px !important; letter-spacing:.28em !important; text-transform:uppercase; color:#b56b82 !important; line-height:1.4 !important; margin-bottom:14px !important;}
body h5.section::before, body h5.section::after {content:''; flex:0 0 34px; width:34px; height:1px; background:#c9b48f;}
body h5.section.light, .light h5.section, [data-using-bg="true"] h5.section.light {color:#d0c09d !important;}
body h5.section.light::before, body h5.section.light::after {background:rgba(208,192,157,.6);}
@media (max-width:690px){ body h5.section {font-size:11px !important; letter-spacing:.22em !important; gap:10px;} body h5.section::before, body h5.section::after {flex-basis:22px; width:22px;} }

/** EYEBROW VARIANTS – add a class to any h5.section in the page builder
   .eyebrowFlower = logo flower between lines, label below (first section on a page)
   .eyebrowScript = hand-script label (use sparingly) **/
body h5.section.eyebrowScript {font-family:LogoFont, cursive !important; font-weight:400 !important; font-size:44px !important; letter-spacing:0 !important; text-transform:lowercase !important; line-height:1 !important; transform:rotate(-3deg); margin-bottom:0 !important; position:relative; z-index:2;}
body h5.section.eyebrowScript::before, body h5.section.eyebrowScript::after {display:none;}
@media (max-width:690px){ body h5.section.eyebrowScript {font-size:34px !important;} }

/* Eyebrow colour: warm neutral text (dirt road) on light, champagne on dark; flower stays berry */
body h5.section {color:#967c6b !important;}
body h5.section.light, .light h5.section {color:#d0c09d !important;}
/* .eyebrowFlower = berry logo flower above the lined label */
body h5.section.eyebrowFlower {padding-top:30px !important; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201080%201080%27%3E%3Cpath%20fill%3D%27%23b56b82%27%20d%3D%27M832.51%2C490.59c61.95%2C14.24%2C282.5%2C173.54%2C242.72%2C278.01-39.78%2C104.47-220.33%2C94.87-317.31-23.49-31.27%2C151.94-95.56%2C233.85-150.15%2C236.56-54.59%2C2.7-199.63-24.18-161.92-299.91-122.55%2C123.89-278.9%2C166.44-310.77%2C99.83-31.87-66.61%2C35.82-156.92%2C165.3-220.33C9.16%2C418.92-20.74%2C301.61%2C9.21%2C206.83c50.26-159.06%2C462.6%2C29.52%2C529.92%2C171.01%2C68.92-241.93%2C148.43-292.66%2C234.87-277.1%2C86.44%2C15.56%2C144.63%2C102.72%2C58.52%2C389.85Z%27/%3E%3C/svg%3E") center top/18px 18px no-repeat !important;}
body h2.vc_custom_heading[style*="font-size: 54px"] {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:44px !important; line-height:1.15 !important;}
@media (max-width:690px){ body h2.vc_custom_heading[style*="font-size: 54px"] {font-size:32px !important;} }
.nectar-fancy-box .text h4 {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:21px !important;}

/** NO MONTSERRAT: theme's h5 font + inheriting elements → Azo Sans **/
body h5, body .nectar-inherit-h5, body a.link_text, body a.link_text .text, body .toggle-title a, body h3.toggle-title {font-family:'Azo Sans', sans-serif !important;}
body h5:not(.section):not(.eyebrowScript), body .nectar-inherit-h5, body a.link_text, body a.link_text .text {font-weight:600 !important; letter-spacing:.14em !important;}

/** CORNER RADIUS SYSTEM: 4px buttons & fields (matches theme buttons), 6px cards & panels, 5px photos (theme) **/
.hfse [class*="-field-control"], .hfse .hfse-form input, .hfse button, .hfse .uk-button, .hfse .hk-button, .hfse select,
.contactBtn, .gform_wrapper .gform_button, .gform_wrapper input[type=text], .gform_wrapper input[type=email], .gform_wrapper input[type=tel], .gform_wrapper input[type=number], .gform_wrapper select, .gform_wrapper textarea,
body.page-id-3208 .homelocal-checkout .hk-input, body.page-id-3208 .homelocal-checkout .hk-select, body.page-id-3208 .homelocal-checkout textarea, body.page-id-3208 .homelocal-checkout .iti input, body.page-id-3208 .homelocal-checkout .StripeElement, body.page-id-3208 .homelocal-checkout button.hk-button-primary,
.homelocal-booking-widget .hk-input, .homelocal-booking-widget .hk-select, .homelocal-booking-widget .hk-button,
.homelocal-sticky-booking-widget .modal-button {border-radius:4px !important;}
.hfse .hfse-body, .contactFormCard, .contactBook, body.page-id-3208 .homelocal-checkout .hk-card, body.page-id-3208 .homelocal-checkout-overview .total, body.page-id-3208 .homelocal-checkout .checkout-notice:not(:empty),
.reverieContactForm_wrapper .topicCards .gchoice label, .reverieContactForm_wrapper .gform_validation_errors, .legalToc {border-radius:6px !important;}
@media (min-width:1000px){ .legalToc {border-radius:0 !important;} }
html body #hr-explorer-1 .hfse-form-primary-fields .field-control, html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-1 .hfse-form button, html body #hr-explorer-1 .hfse-form .hk-input, html body #hr-explorer-1 .hfse-form .hk-button, html body #hr-explorer-2 .hfse-form-primary-fields .field-control, html body #hr-explorer-2 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form button, html body #hr-explorer-2 .hfse-form .hk-input, html body #hr-explorer-2 .hfse-form .hk-button, html body #hr-explorer-3 .hfse-form-primary-fields .field-control, html body #hr-explorer-3 .hfse-form-submit-btn, html body #hr-explorer-3 .hfse-form button, html body #hr-explorer-3 .hfse-form .hk-input, html body #hr-explorer-3 .hfse-form .hk-button {border-radius:4px !important;}
html body #hr-explorer-1 .hfse-body, html body #hr-explorer-2 .hfse-body, html body #hr-explorer-3 .hfse-body {border-radius:6px !important;}
html body.page-id-3102 #hr-explorer-1 .hfse-body, html body.page-id-1188 #hr-explorer-1 .hfse-body {border-radius:6px !important;}
html body .hk-input, html body .hk-select, html body .hk-button, html body .uk-button:not(.uk-button-text), html body .hk-button-default, html body .checkout-button, html body .hfse-modal-next-button, html body .hfse-apply-additional-filters-btn {border-radius:4px !important;}
html body .hk-modal-dialog {border-radius:6px !important;}

/** BUTTON TYPE SYSTEM: Azo Sans 400, all caps, 13px (12px small), tracked; flex-centred so text sits in the vertical middle **/
html body a.nectar-button, html body .nectar-button span, html body .gform_wrapper .gform_button, html body .contactBtn, html body .footerCta,
html body .uk-button:not(.uk-button-text), html body .hk-button:not(.uk-button-text), html body .hfse-form-submit-btn, html body .homelocal-sticky-booking-widget .modal-button,
html body .homelocal-checkout button.hk-button-primary, html body .hr_pc__button, html body a.link_text, html body a.link_text .text, html body .price-details-modal-button {
  font-family:'Azo Sans', sans-serif !important; font-weight:400 !important; text-transform:uppercase !important; letter-spacing:.16em !important; font-size:13px !important;}
html body a.nectar-button.medium, html body a.nectar-button.small, html body .nectar-button.medium span, html body .hr_pc__button, html body .hfse-form-reset-btn, html body .hfse-form-map-toggle-btn, html body .price-details-modal-button {font-size:12px !important;}
/* vertical centring: flex box, single-line height, equal padding */
html body a.nectar-button, html body .gform_wrapper .gform_button, html body .contactBtn, html body .footerCta,
html body .uk-button:not(.uk-button-text):not(.hfse-form-reset-btn):not(.hfse-form-map-toggle-btn), html body .hk-button:not(.uk-button-text):not(.hfse-form-reset-btn):not(.hfse-form-map-toggle-btn),
html body .homelocal-sticky-booking-widget .modal-button, html body .homelocal-checkout button.hk-button-primary {
  display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; padding-top:0 !important; padding-bottom:0 !important; gap:10px;}
html body a.nectar-button.large, html body .gform_wrapper .gform_button, html body .homelocal-checkout button.hk-button-primary {min-height:50px !important; height:50px !important;}
html body a.nectar-button.medium, html body a.nectar-button.small {min-height:42px !important; height:42px !important;}
html body .contactBtn, html body .footerCta {min-height:46px; height:46px;}
html body .reverieBookingWidget .hk-button.uk-button-primary, html body .homelocal-booking-widget .hk-button.uk-button-primary {height:50px !important; width:100%;}
html body .nectar-button span {line-height:1 !important; display:inline-block;}
html body .footerNews .gform_button {height:48px !important; min-height:48px !important;}
html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-1 .hfse-form-submit-field-container .hk-button, html body #hr-explorer-2 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form-submit-field-container .hk-button {font-weight:400 !important; letter-spacing:.16em !important; font-size:13px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important;}
html body #hr-explorer-1 .hfse-form-reset-btn, html body #hr-explorer-1 .hfse-form-map-toggle-btn, html body #hr-explorer-1 .hfse-form-reset-btn *, html body #hr-explorer-1 .hfse-form-map-toggle-btn *, html body #hr-explorer-2 .hfse-form-reset-btn, html body #hr-explorer-2 .hfse-form-map-toggle-btn, html body #hr-explorer-2 .hfse-form-reset-btn *, html body #hr-explorer-2 .hfse-form-map-toggle-btn * {font-size:12px !important; font-weight:400 !important; text-transform:uppercase !important; letter-spacing:.14em !important;}
html body .nectar-cta a.link_text, html body .nectar-cta .link_text {letter-spacing:.16em !important; font-weight:400 !important;}

/** BUTTON OPTICAL CENTRING: trim each label's line box to the capital letters so flex centring is exact **/
html body a.nectar-button span {top:0 !important;}
html body a.nectar-button span, html body a.nectar-button, html body .nectar-cta a.link_text, html body .nectar-cta .link_text .text,
html body button.gform_button, html body .contactBtn, html body .footerCta, html body .hfse button, html body .hk-button, html body .uk-button,
html body .homelocal-sticky-booking-widget .modal-button, html body .homelocal-checkout button.hk-button-primary {text-box:trim-both cap alphabetic;}

/* Button label optical centring (measured): Azo caps sit high, so 2px extra top padding */
html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form-submit-btn, html body .gform_wrapper .gform_button, html body #gform_submit_button_3, html body #gform_submit_button_4, html body .contactBtn, html body .footerCta,
html body .reverieBookingWidget .homelocal-booking-widget .hk-button.uk-button-primary, html body .homelocal-booking-widget .hk-button.uk-button-primary,
html body .homelocal-sticky-booking-widget .modal-button, html body .homelocal-checkout button.hk-button-primary {padding-top:2px !important; padding-bottom:0 !important;}
/* One button pink: Fresh Berry, deeper on hover */
html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form-submit-btn, html body .uk-button-primary, html body .hk-button-primary, html body .hfse-modal-next-button, html body .hfse-apply-additional-filters-btn {background-color:#b56b82 !important; border-color:#b56b82 !important;}
html body #hr-explorer-1 .hfse-form-submit-btn:hover, html body #hr-explorer-2 .hfse-form-submit-btn:hover, html body .uk-button-primary:hover, html body .hk-button-primary:hover, html body .gform_wrapper .gform_button:hover, html body .contactBtn:hover {background-color:#9e5a6f !important; opacity:1 !important;}
html body.page-id-3102 #hr-explorer-1 .hfse-form-submit-btn, html body.page-id-3102 #hr-explorer-1 .hfse-form-submit-field-container .hk-button {padding-top:2px !important; padding-bottom:0 !important; background-color:#b56b82 !important; font-weight:400 !important; letter-spacing:.16em !important; font-size:13px !important;}
html body.page-id-3102 #hr-explorer-1 .hfse-form-submit-btn:hover {background-color:#9e5a6f !important;}

/** TRAVEL JOURNAL (page 1221) **/
.journalFilter {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 44px;}
.journalFilter a {font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#203350; text-decoration:none !important; padding:11px 18px 9px; border:1px solid #d9cdb7; border-radius:4px; transition:all .2s; line-height:1;}
.journalFilter a:hover {border-color:#b56b82; color:#b56b82;}
.journalFilter a.on {background:#203350; border-color:#203350; color:#fff;}
.journalGrid {display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px;}
.journalCard {background:#fff; border:1px solid #e8decf; border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .3s, transform .3s;}
.journalCard:hover {box-shadow:0 18px 40px rgba(15,29,48,.10); transform:translateY(-3px);}
.journalCard .jcImg {display:block; aspect-ratio:3/2; overflow:hidden; background:#e8decf;}
.journalCard .jcImg img {width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease;}
.journalCard:hover .jcImg img {transform:scale(1.04);}
.journalCard .jcBody {padding:26px 28px 28px; display:flex; flex-direction:column; flex:1;}
.journalCard .jcCat {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#967c6b; font-weight:600; margin-bottom:10px;}
.journalCard .jcTitle {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:23px !important; line-height:1.25 !important; margin:0 0 10px !important;}
.journalCard .jcTitle a {color:#203350 !important; text-decoration:none !important;}
.journalCard .jcTitle a:hover {color:#b56b82 !important;}
.journalCard .jcMeta {font-size:12px; color:#9a9283; letter-spacing:.04em; margin:0 0 14px !important; padding:0 !important;}
.journalCard .jcExcerpt {font-size:15px; line-height:1.65; color:#435362; margin:0 0 20px !important; padding:0 !important;}
.journalCard .jcMore {margin-top:auto; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#b56b82 !important; text-decoration:none !important; display:inline-flex; align-items:center; gap:10px;}
.journalCard .jcMore::after {content:''; width:26px; height:1px; background:currentColor; transition:width .3s;}
.journalCard .jcMore:hover::after {width:40px;}
.journalCard.isFeatured {grid-column:1 / -1; display:grid; grid-template-columns:1.35fr 1fr;}
.journalCard.isFeatured .jcImg {aspect-ratio:auto; min-height:420px;}
.journalCard.isFeatured .jcBody {padding:48px 50px; justify-content:center;}
.journalCard.isFeatured .jcTitle {font-size:34px !important;}
.journalCard.isFeatured .jcExcerpt {font-size:16px;}
.journalPages {display:flex; justify-content:center; gap:8px; margin-top:50px;}
.journalPages a {width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d9cdb7; border-radius:4px; color:#203350 !important; text-decoration:none !important; font-size:14px; padding-top:2px;}
.journalPages a.on, .journalPages a:hover {background:#203350; border-color:#203350; color:#fff !important;}
.journalEmpty {text-align:center; color:#6a7385;}
@media (max-width:999px){ .journalGrid {grid-template-columns:repeat(2,1fr);} .journalCard.isFeatured {grid-template-columns:1fr;} .journalCard.isFeatured .jcImg {min-height:0; aspect-ratio:16/10;} .journalCard.isFeatured .jcBody {padding:30px 28px;} .journalCard.isFeatured .jcTitle {font-size:28px !important;} }
@media (max-width:640px){ .journalGrid {grid-template-columns:1fr; gap:22px;} .journalFilter {justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin:0 -16px 30px; padding:0 16px 6px;} .journalFilter a {flex:none;} }


/* =====================================================================
   ELEMENTOR SYSTEM (Hello Elementor + Elementor Pro)
   Global colours/fonts/buttons live in Elementor > Site Settings.
   Classes below are added in the editor via Advanced > CSS Classes.
   ===================================================================== */
:root {--rv-ocean:#203350; --rv-ash:#0F1D30; --rv-jungle:#264653; --rv-berry:#B56B82; --rv-berry-deep:#9E5A6F; --rv-champagne:#D0C09D; --rv-dirt:#967C6B; --rv-sand:#E8DECF; --rv-sand-light:#F7F3EC; --rv-text:#435362;}
body {background:#fff; color:var(--rv-text);}
.page-header .entry-title, body.elementor-page .page-header {display:none;}
img {max-width:100%; height:auto;}
.elementor-widget-image img.rvRadius, .rvRadius img {border-radius:5px;}

/* Eyebrow labels: Heading widget (h5) + class "eyebrow"; add "eyebrowLight" on dark bands,
   "eyebrowFlower" for a page's first section, "eyebrowScript" for the rare hand-script label */
.eyebrow .elementor-heading-title {display:inline-flex; align-items:center; gap:14px; font-family:'Azo Sans',sans-serif; font-weight:600; font-size:12px; letter-spacing:.28em; text-transform:uppercase; line-height:1.4; color:var(--rv-dirt); margin:0;}
.eyebrow .elementor-heading-title::before, .eyebrow .elementor-heading-title::after {content:''; flex:0 0 34px; width:34px; height:1px; background:#C9B48F;}
.eyebrowLight .elementor-heading-title {color:var(--rv-champagne);}
.eyebrowLight .elementor-heading-title::before, .eyebrowLight .elementor-heading-title::after {background:rgba(208,192,157,.6);}
.eyebrowFlower .elementor-heading-title {padding-top:30px; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201080%201080%27%3E%3Cpath%20fill%3D%27%23b56b82%27%20d%3D%27M832.51%2C490.59c61.95%2C14.24%2C282.5%2C173.54%2C242.72%2C278.01-39.78%2C104.47-220.33%2C94.87-317.31-23.49-31.27%2C151.94-95.56%2C233.85-150.15%2C236.56-54.59%2C2.7-199.63-24.18-161.92-299.91-122.55%2C123.89-278.9%2C166.44-310.77%2C99.83-31.87-66.61%2C35.82-156.92%2C165.3-220.33C9.16%2C418.92-20.74%2C301.61%2C9.21%2C206.83c50.26-159.06%2C462.6%2C29.52%2C529.92%2C171.01%2C68.92-241.93%2C148.43-292.66%2C234.87-277.1%2C86.44%2C15.56%2C144.63%2C102.72%2C58.52%2C389.85Z%27/%3E%3C/svg%3E") center top/18px 18px no-repeat;}
.eyebrowScript .elementor-heading-title {font-family:LogoFont,cursive; font-weight:400; font-size:44px; letter-spacing:0; text-transform:lowercase; line-height:1; transform:rotate(-3deg); position:relative; z-index:2;}
.eyebrowScript .elementor-heading-title::before, .eyebrowScript .elementor-heading-title::after {display:none;}
@media (max-width:767px){ .eyebrow .elementor-heading-title {font-size:11px; letter-spacing:.22em; gap:10px;} .eyebrow .elementor-heading-title::before, .eyebrow .elementor-heading-title::after {flex-basis:22px; width:22px;} .eyebrowScript .elementor-heading-title {font-size:34px;} }

/* Script hero headline: Heading widget + class "heroScript" (writes itself in) */
.heroScript .elementor-heading-title {font-family:LogoFont,cursive; font-weight:400; line-height:1; animation:heroScriptWrite 2.4s cubic-bezier(.65,0,.35,1) .1s both; text-shadow:0 4px 30px rgba(15,29,48,.35);}
.heroFade {animation:heroFadeUp 1.2s ease 1.9s both;}
.heroFadeLate {animation:heroFadeUp 1s ease 2.6s both;}
@media (prefers-reduced-motion:reduce){ .heroScript .elementor-heading-title, .heroFade, .heroFadeLate {animation:none;} }

/* Buttons: flex-centred, label trimmed to cap height so it sits in the exact middle */
.elementor-button {display:inline-flex !important; align-items:center; justify-content:center; min-height:50px; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important;}
.elementor-button .elementor-button-content-wrapper, .elementor-button .elementor-button-text {line-height:1; text-box:trim-both cap alphabetic;}
.btnSmall .elementor-button {min-height:42px; font-size:12px !important; padding-left:24px !important; padding-right:24px !important;}
.btnOutline .elementor-button {background:transparent !important; color:var(--rv-ocean) !important; border:1px solid var(--rv-ocean) !important;}
.btnOutline .elementor-button:hover {background:var(--rv-berry) !important; border-color:var(--rv-berry) !important; color:#fff !important;}
.btnOutlineLight .elementor-button {background:transparent !important; color:#fff !important; border:1px solid #fff !important;}
.btnOutlineLight .elementor-button:hover {background:#fff !important; color:var(--rv-ocean) !important;}
.btnNavy .elementor-button {background:var(--rv-ocean) !important;} .btnNavy .elementor-button:hover {background:var(--rv-berry) !important;}
/* Text-link CTA ("Learn more" style) */
.linkCta a, a.linkCta {display:inline-flex; align-items:center; gap:12px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--rv-ocean) !important; text-decoration:none !important;}
.linkCta a::after, a.linkCta::after {content:''; width:26px; height:1px; background:currentColor; transition:width .3s;}
.linkCta a:hover::after, a.linkCta:hover::after {width:40px;}

/* Cards & panels: 6px; photos 5px */
.rvCard {background:#fff; border:1px solid var(--rv-sand); border-radius:6px; overflow:hidden;}

/* ===================== HEADER (Elementor Theme Builder) ===================== */
.elementor-location-header {position:fixed; top:0; left:0; right:0; z-index:999;}
body.admin-bar .elementor-location-header {top:32px;}
@media (max-width:782px){ body.admin-bar .elementor-location-header {top:46px;} }
.rvHeader {transition:background-color .35s ease, padding .35s ease, box-shadow .35s ease; background:linear-gradient(180deg, rgba(15,29,48,.45), rgba(15,29,48,0)) !important;}
body.rvScrolled .rvHeader, body:not(.elementor-page) .rvHeader {background:#0F1D30 !important; box-shadow:0 6px 24px rgba(15,29,48,.18); padding-top:12px !important; padding-bottom:12px !important;}
body:not(.elementor-page) .site-main {padding-top:120px;}
.rvLogo img {transition:width .35s ease;}
body.rvScrolled .rvLogo img {width:140px !important;}
/* hamburger */
.rvBurger {display:inline-flex; flex-direction:column; justify-content:center; gap:6px; width:30px; height:30px; cursor:pointer;}
.rvBurger span {display:block; height:1.5px; background:#fff; width:30px; transition:width .3s;}
.rvBurger span:nth-child(2) {width:22px;} .rvBurger:hover span:nth-child(2) {width:30px;}
/* Start Your Journey dropdown */
.rvJourney {position:relative;}
.rvJourneyBtn {display:inline-flex; align-items:center; gap:10px; background:#B56B82; color:#fff; border:0; border-radius:4px; min-height:42px; padding:2px 20px 0; font-family:'Azo Sans',sans-serif; font-size:13px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .25s;}
.rvJourneyBtn:hover, .rvJourney.open .rvJourneyBtn {background:#9E5A6F;}
.rvChev {width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-3px); transition:transform .25s;}
.rvJourney.open .rvChev {transform:rotate(-135deg) translateY(-1px);}
.rvJourneyList {position:absolute; right:0; top:calc(100% + 10px); min-width:230px; background:#fff; border-radius:6px; box-shadow:0 18px 40px rgba(15,29,48,.22); list-style:none; margin:0; padding:8px 0; opacity:0; visibility:hidden; transform:translateY(-6px); transition:all .25s;}
.rvJourney.open .rvJourneyList {opacity:1; visibility:visible; transform:none;}
@media (hover:hover){ .rvJourney:hover .rvJourneyList {opacity:1; visibility:visible; transform:none;} .rvJourney:hover .rvJourneyBtn {background:#9E5A6F;} .rvJourney::after {content:''; position:absolute; left:0; right:0; top:100%; height:12px;} }
.rvJourneyList li {margin:0; padding:0; list-style:none;}
.rvJourneyList a {display:block; padding:12px 22px; color:#203350 !important; font-size:13px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none !important; transition:background .2s, color .2s;}
.rvJourneyList a:hover {background:#F7F3EC; color:#B56B82 !important;}

/* ===================== SLIDE-OUT MENU (popup) ===================== */
.rvPanel {color:#fff;}
.rvMenu ul {list-style:none; margin:0; padding:0;}
.rvMenu > ul > li {margin:0 0 6px; padding:0; position:relative;}
.rvMenu > ul > li > a {display:inline-block; font-family:'Azo Sans',sans-serif; font-size:26px; line-height:1.5; color:#fff !important; text-decoration:none !important; transition:color .2s;}
.rvMenu > ul > li > a:hover, .rvMenu li.open > a {color:#D0C09D !important;}
.rvSubToggle {position:absolute; right:0; top:8px; width:28px; height:28px; background:none; border:0; padding:0; cursor:pointer;}
.rvSubToggle span {display:block; width:9px; height:9px; margin:6px auto 0; border-right:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(45deg); transition:transform .25s;}
.rvMenu li.open .rvSubToggle span {transform:rotate(-135deg); margin-top:10px;}
.rvSub {max-height:0; overflow:hidden; transition:max-height .35s ease;}
.rvMenu li.open .rvSub {max-height:400px;}
.rvSub li {margin:0; padding:0;}
.rvSub li:first-child {padding-top:6px;} .rvSub li:last-child {padding-bottom:10px;}
.rvSub a {display:block; padding:6px 0 6px 16px; border-left:1px solid rgba(208,192,157,.4); font-size:16px; color:rgba(255,255,255,.8) !important; text-decoration:none !important;}
.rvSub a:hover {color:#fff !important; border-left-color:#D0C09D;}
.rvMenuSmall {margin-top:26px !important; padding-top:26px !important; border-top:1px solid rgba(255,255,255,.6);}
.rvMenuSmall li {margin:0 0 10px !important;}
.rvMenuSmall a {font-size:16px !important; line-height:1.6 !important;}
.rvMenuFoot {margin-top:40px;}
.rvMenuFoot p {font-size:12px; color:rgba(255,255,255,.7); margin:0;}
.elementor-popup-modal .dialog-close-button {top:28px !important;}

/* ===================== FOOTER adjustments for Elementor ===================== */
.footerNews .newsTitle {color:#fff;}
.footerCustom h3 {font-family:'Azo Sans',sans-serif !important; font-size:12px !important; letter-spacing:.2em; text-transform:uppercase; color:#D0C09D !important; font-weight:400 !important; margin:0 0 18px;}
.footerCustom ul {list-style:none; margin:0; padding:0;}
.footerBottom p {margin:0; font-size:13px; color:rgba(255,255,255,.6);}
.footerBottom .footerLegal a {color:rgba(255,255,255,.75) !important; margin-left:24px; text-decoration:none;}
.footerBottom .footerLegal a:hover {color:#fff !important;}
@media (max-width:767px){ .footerBottom {justify-content:center !important; text-align:center;} .footerBottom .footerLegal a {margin:0 10px;} }

/* button-reset for menu controls (global button style must not apply) */
.rvSubToggle, .rvSubToggle:hover, .rvSubToggle:focus {background:none !important; border:0 !important; box-shadow:none !important; min-height:0 !important; padding:0 !important;}
.rvBurger:focus {outline:none;} .rvBurger:focus-visible {outline:1px solid #D0C09D; outline-offset:6px;}
.footerCustom p, .footerCustom .footerBlurb {color:rgba(255,255,255,.85);} .footerCustom .footerParent {color:rgba(255,255,255,.55) !important; opacity:1 !important;}
.footerNews h3.newsTitle {font-family:LuxentaSemBd,'Azo Sans',sans-serif !important; font-weight:400 !important;}

/* ===================== HOUSE PAGES (Elementor) ===================== */
.rvHead {margin-left:auto !important; margin-right:auto !important; margin-bottom:46px !important; text-align:center;}
.rvHead .elementor-widget-text-editor p {margin:0;}
.rvIntro p {font-size:16px;}
.e-con.e-grid {grid-template-rows:none !important; grid-auto-rows:auto;}
/* hero */
.houseHero .heroTagline p {margin:0 0 4px;}
.houseHero .heroStats {display:flex; flex-wrap:wrap; gap:6px 4px; margin-top:16px;}
.houseHero .heroStats .amenityIcon {color:#fff !important; font-size:13px; letter-spacing:.04em; opacity:.92;}
.houseHero .heroStats .amenityIcon i:before {color:#fff;}
.heroBook {backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);}
.heroBook .elementor-heading-title {margin-bottom:2px;}
.heroBook .homelocal-booking-widget, .heroBook .homelocal-booking-widget .rent-unit, .heroBook .homelocal-booking-widget .total-nights, .heroBook .homelocal-booking-widget .total, .heroBook .homelocal-booking-widget .price {color:#fff !important;}
.heroBook .homelocal-booking-widget .hk-input, .heroBook .homelocal-booking-widget .hk-select, .heroBook .homelocal-booking-widget select {background:rgba(255,255,255,.08) !important; color:#fff !important; border:1px solid rgba(255,255,255,.35) !important;}
.heroBook .homelocal-booking-widget .hk-select option {color:#0F1D30;}
.heroBook .homelocal-booking-widget ::placeholder {color:rgba(255,255,255,.7) !important;}
/* overview */
.overviewText .guideBody p {margin:0 0 14px;}
/* feature tiles */
.hlTile {background:#fff; border-radius:6px; padding:30px 28px 26px !important; transition:transform .3s, box-shadow .3s;}
.hlTile:hover {transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,29,48,.08);}
.hlTile .hlIcon i:before {font-size:52px; color:#1C607D; line-height:1;}
.hlTile .hlIcon {margin-bottom:14px;}
.hlTile h3.deepOcean {margin:0 0 8px !important;}
.hlTile p {font-size:14px; line-height:1.6; color:#435362; margin:0;}
/* gallery */
.houseGallery .e-gallery-image {border-radius:5px;}
/* quote band */
.quoteBand .quoteStars, .quoteBand .quoteText, .quoteBand .quoteBy {text-align:center;}
.quoteBand .elementor-widget-html {width:100%;}
.quoteBand > .e-con-inner > .e-con {margin-left:auto !important; margin-right:auto !important;}
/* bedrooms */
.roomGrid > .roomCard {width:calc((100% - 44px) / 3); background:#fff; border-top:3px solid #B56B82; border-radius:0 0 6px 6px; padding:26px 28px 22px !important;}
.roomCard .roomTop h5 {margin:0 0 10px; color:#B56B82 !important;}
.roomCard .roomTop {padding:0 !important;}
.roomCard h3.deepOcean {margin:0 0 4px !important;}
.roomCard .roomBeds {margin:0; font-weight:600; color:#1C607D;}
.roomCard p:not(.roomBeds) {font-size:14px; color:#435362; margin:10px 0 0;}
@media (max-width:1024px){ .roomGrid > .roomCard {width:calc((100% - 22px) / 2);} }
@media (max-width:767px){ .roomGrid > .roomCard {width:100%;} }
/* amenities (dark) */
.guideDark .amenCol, .guideDark .amenCol li, .guideDark .amenNote, .guideDark .amenNote p {color:rgba(255,255,255,.82) !important;}
.guideDark .amenCol h5 {color:#D0C09D !important; padding-bottom:12px; border-bottom:1px solid rgba(208,192,157,.35); margin:0 0 14px !important;}
.guideDark .amenCol ul {margin:0; padding:0; list-style:none;}
.guideDark .amenCol li {position:relative; padding:0 0 0 22px; margin:0 0 9px; font-size:14px; line-height:1.5;}
.guideDark .amenCol li:before {content:''; position:absolute; left:2px; top:5px; width:9px; height:5px; border-left:1.5px solid #D0C09D; border-bottom:1.5px solid #D0C09D; transform:rotate(-45deg);}
.guideDark .amenNote {margin-top:36px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); font-size:14px; text-align:center;}
.guideDark .amenNote a {color:#D0C09D !important;}
.guideDark .guideDarkIcon {text-align:center; margin-bottom:10px;} .guideDark .guideDarkIcon i:before {color:#D0C09D;}
/* location + calendar */
.locMapCol .reverieMap {border-radius:6px; overflow:hidden;}
/* explore cards */
.guideCard .elementor-widget-image img {aspect-ratio:3/2; object-fit:cover; width:100%;}
.guideCard h3.deepOcean {margin:14px 0 6px !important;}
.guideCard p {font-size:14px; color:#435362; margin:0 0 12px;}

/* ===================== PAGES (Elementor) ===================== */
.rvHead .rvIntro p + p {margin-top:14px;}
.guideStep.e-con {background:#fff; border-radius:6px; padding:34px 30px 28px !important; position:relative; transition:transform .3s, box-shadow .3s;}
.guideStep.e-con:hover {transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,29,48,.08);}
.guideStep .elementor-widget-html {position:static;}
.showText .elementor-widget-shortcode .showPrice {margin:18px 0 6px !important;}
.showText > .e-con-inner > .e-con:last-child, .showText > .e-con:last-child {margin-top:8px;}
.ohHero .elementor-shape-bottom {z-index:1;}
.ohHero > .e-con-inner {position:relative; z-index:2;}
@media (max-width:999px){ .showImg.e-con {margin-bottom:0 !important;} }
@media (max-width:767px){
  .jungleBand .whyStats {gap:26px 18px;} .jungleBand .whyStats div {flex:1 1 40%;}
  .showText .e-con:has(> .elementor-widget-button) {flex-wrap:nowrap !important; gap:10px !important;}
  .showText .e-con:has(> .elementor-widget-button) > .elementor-widget-button {flex:1 1 0; margin:0 !important;}
  .showText .e-con:has(> .elementor-widget-button) .elementor-button {width:100%; padding-left:10px; padding-right:10px;}
}
/* checkout: undo kit button styling on HomeRunner's phone country picker, plain rule bullets */
html body .iti__selected-country, html body .iti__selected-country:hover {background:transparent !important; color:#203350 !important; border:0 !important; box-shadow:none !important; padding:0 8px 0 12px !important; min-height:0; letter-spacing:0; text-transform:none;}
.homelocal-checkout li.hk-list-bullet, .homelocal-checkout .hk-list li {list-style:none !important;}
.checkoutHero .eyebrow {margin-bottom:4px;}
@media (max-width:767px){ .checkoutSteps li.sep {width:18px;} .checkoutSteps {gap:8px;} .checkoutSteps li {font-size:10px; letter-spacing:.1em;} }
.checkout-notice.hk-width-large {width:auto !important; max-width:100% !important;}
/* ---- Home ---- */
.btnLight .elementor-button {background:#fff !important; color:var(--rv-ocean) !important; border:1px solid #fff !important;}
.btnLight .elementor-button:hover {background:var(--rv-berry) !important; border-color:var(--rv-berry) !important; color:#fff !important;}
.rvHeadLeft .elementor-widget-text-editor p {margin:0;}
.homeHero .heroScript .elementor-heading-title {text-shadow:0 4px 30px rgba(15,29,48,.35);}
.homeHeroSearch {width:100%;}
.homeCard .elementor-widget-image img {aspect-ratio:3/2; object-fit:cover; width:100%;}
.homeCard .homeCardTitle {margin-top:10px;}
.homeCard .amenityIcon {color:#203350; display:inline-block; margin:0 0 6px;}
.homeCard .amenityIcon i:before {color:#1C607D;}
.homeTile {position:relative; overflow:hidden; transition:transform .4s;}
.homeTile:hover {transform:translateY(-3px);}
.homeTile .cost {position:absolute; top:18px; left:18px; background:rgba(255,255,255,.18); backdrop-filter:blur(4px); color:#fff; font-size:14px; letter-spacing:.04em; padding:5px 12px; border-radius:4px;}
.homeTile .rating {position:absolute; top:18px; right:18px; background:rgba(255,255,255,.18); backdrop-filter:blur(4px); color:#fff; padding:5px 10px; border-radius:4px; line-height:1;}
.homeTile .rating i:before {font-size:12px; color:#fff; margin:0;}
.homeTile .elementor-widget-html:first-child {position:static;}
.homeTile .tileTitle .elementor-heading-title, .homeTile .tileTitle a {font-family:Vogun,serif; font-weight:400; font-size:34px; color:#fff !important; text-shadow:0 2px 18px rgba(15,29,48,.35);}
.homeTile .tileAmen {text-align:center;} .homeTile .tileAmen .amenityIcon {color:#fff; display:inline-block; padding:0 8px; font-size:12px;} .homeTile .tileAmen i:before {color:#fff;}
.homeTile .elementor-widget-button {align-self:flex-end; margin-top:auto;}
.whyBandInner {border-top:1px solid rgba(255,255,255,.18);}
.whyBandInner .leadin p {font-size:22px; line-height:1.35; margin:0;}
.servIntro h3.bonfireAsh {font-size:22px; margin:6px 0 12px !important; color:#0F1D30;}
.servGrid {padding:42px 0 !important; border-top:1px solid rgba(32,51,80,.15); border-bottom:1px solid rgba(32,51,80,.15);}
.servItem .elementor-widget-html {flex:0 0 64px;}
.servItem .fontIcon i:before {font-size:54px !important; margin:0 !important;}
.servItem h3.dunmore {margin:0 0 8px !important; font-size:21px;}
.servItem p.small {font-size:14px; line-height:1.6; color:#435362; margin:0;}
.servFoot {padding-top:34px !important;}
.servFoot .servClose {flex:1 1 520px;} .servFoot .servClose p {margin:0; color:#435362;}
.homeQuotes .rvQuotes .elementor-testimonial__content, .homeQuotes .rvQuotes .elementor-testimonial__text {font-family:'Azo Sans',sans-serif; font-size:22px; line-height:1.55; color:#fff !important; font-style:normal;}
.homeQuotes .rvQuotes .elementor-testimonial__name {color:#fff !important; font-size:15px; letter-spacing:.06em; margin-top:18px;}
.homeQuotes .rvQuotes .elementor-testimonial__title {color:#D0C09D !important; font-style:italic; font-size:13px;}
.homeQuotes .rvQuotes .elementor-testimonial__image img {width:64px !important; height:64px !important; border-radius:50%;}
.homeQuotes .rvQuotes .swiper-pagination-bullet {background:#fff; opacity:.4;} .homeQuotes .rvQuotes .swiper-pagination-bullet-active {opacity:1; background:#D0C09D;}
.homeQuotes .rvQuotes .elementor-swiper-button {color:rgba(255,255,255,.7);} .homeQuotes .rvQuotes .elementor-swiper-button svg {fill:rgba(255,255,255,.7);}
.homeQuotes .rvQuotes .swiper {padding-bottom:40px;}
@media (max-width:767px){ .homeQuotes .rvQuotes .elementor-testimonial__text {font-size:17px;} }
.homeQuotes {overflow:hidden;} .homeQuotes .rvQuotes, .homeQuotes .rvQuotes .elementor-main-swiper {overflow:hidden; max-width:100%;}
.whyBandInner .elementor-widget-image img {aspect-ratio:4/3; object-fit:cover; width:100%;}
/* ---- Converted content pages ---- */
.rvLight {color:rgba(255,255,255,.85);} .rvLight .elementor-widget-text-editor {color:inherit;}
.rvLight .elementor-widget-text-editor h3, .rvLight .elementor-widget-text-editor h4 {color:#fff;}
.rvLight .o80 {color:rgba(255,255,255,.85);}
.o80 {opacity:1;} .o80 p {opacity:.85;}
.conciergeHero .leadin p, .conciergeHero p.leadin {color:rgba(255,255,255,.82); font-size:18px; line-height:1.6;}
.conciergeHero .rvHead, .conciergeHero > .e-con-inner > .e-con {margin-bottom:0 !important;}
.heroDown {display:inline-flex; width:46px; height:46px; margin:26px auto 0; border:1px solid rgba(255,255,255,.55); border-radius:50%; align-items:center; justify-content:center; transition:background .3s;}
.heroDown span {width:10px; height:10px; border-right:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(45deg) translate(-2px,-2px);}
.heroDown:hover {background:rgba(255,255,255,.15);}
.conciergeHero .elementor-widget-html:has(.heroDown) {text-align:center; width:100%;}
.cmpRow.e-con {max-width:1100px; margin:0 auto !important; border-bottom:1px solid #e2ddd5; --gap:0px; gap:0 !important;}
.cmpRow.e-con > .e-con {padding:20px 22px !important;}
.cmpHead.e-con {border-bottom:2px solid #203350;}
.cmpReverie.e-con {background:#F6F2EA;}
.cmpRow .elementor-widget-text-editor p, .cmpRow h5 {margin:0;}
@media (max-width:1024px){ .cmpRow.e-con > .e-con {width:100% !important;} .cmpRow.e-con > .e-con {padding:6px 16px !important;} .cmpRow.e-con {padding:14px 0 !important;} }
.guideStep.e-con, .hlTile.e-con {height:100%;}
.conciergeImg img, .conciergeImg .elementor-widget-image img {width:100%; aspect-ratio:4/5; object-fit:cover;}
@media (max-width:1024px){ .conciergeCat .conciergeImg {order:-1;} .conciergeCat .conciergeImg img {aspect-ratio:3/2;} }
.rvToggles .elementor-tab-title {border-color:#d9d4cb !important; padding:18px 4px !important;}
.rvToggles .elementor-toggle-title {color:#203350; font-family:'Azo Sans',sans-serif; font-weight:500; letter-spacing:.05em;}
.rvToggles .elementor-toggle-item {border-top:1px solid #d9d4cb;} .rvToggles .elementor-toggle-item:last-child {border-bottom:1px solid #d9d4cb;}
.rvToggles .elementor-tab-content {border:0 !important; color:#435362; padding:0 4px 18px !important;}
.rvToggles .elementor-toggle-icon {color:#B56B82;}
.linkCtaLight {color:#fff !important;}
.btnRow .elementor-widget-button {margin:0 !important;}
html body .eyebrowScript .elementor-heading-title {font-family:LogoFont,cursive !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:lowercase !important; font-size:44px !important; color:#967C6B;}
@media (max-width:767px){ html body .eyebrowScript .elementor-heading-title {font-size:34px !important;} }
.eyebrowScript + .elementor-widget-heading {margin-top:-6px;}
html body .cmpRow.e-con + .cmpRow.e-con {margin-top:calc(-1 * var(--gap, 20px)) !important;}
.rvLight .elementor-widget-text-editor p + p, .o80 p + p, .guideBody p + p {margin-top:14px;}
html body .rvToggles .elementor-tab-title {position:relative; display:flex; align-items:center; padding:20px 44px 20px 0 !important; border:0 !important; cursor:pointer;}
html body .rvToggles .elementor-toggle-title, html body .rvToggles .elementor-tab-title a {font-family:'Azo Sans',sans-serif !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:#203350 !important; line-height:1.4 !important;}
html body .rvToggles .elementor-toggle-icon {display:none !important;}
html body .rvToggles .elementor-tab-title::after {content:'+'; position:absolute; right:0; top:50%; width:28px; height:28px; margin-top:-14px; border:1px solid #203350; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; line-height:1; color:#203350; transition:transform .3s, background .3s;}
html body .rvToggles .elementor-tab-title.elementor-active::after {content:'–'; background:#203350; color:#fff;}
html body .rvToggles .elementor-tab-content {font-size:15px; line-height:1.65;}
/* e-con equivalents of WPBakery column-card rules */
.guideNote.e-con {background:#fff; border:1px solid #e2ddd5; border-radius:6px; padding:24px 28px !important; height:100%;}
.guideNoteDark.e-con {background:#203350 !important; border-color:#203350 !important; color:#fff;}
.guideNoteDark.e-con p, .guideNoteDark.e-con h5, .guideNoteDark.e-con li {color:#fff;}
.guideSeason.e-con {border-top:3px solid #B56B82; background:#F6F6F5; border-radius:0 0 6px 6px; padding:30px 28px !important; height:100%;}
.pathCard.e-con {background:#fff; border:1px solid #e2ddd5; border-radius:6px; padding:34px 34px 26px !important; height:100%; position:relative;}
.pathRecommended.e-con {border:2px solid #B56B82;}
.contactAsideCol.e-con {padding-right:30px !important;}
@media (max-width:1024px){ .contactAsideCol.e-con {order:2; padding-right:0 !important;} .contactFormCol.e-con {order:1;} }
.rvHead .elementor-widget-text-editor p + p {margin-top:14px;}
html body .contactFormCard .gfield_radio label.gform-field-label {text-transform:none !important; letter-spacing:0 !important;}
/* ---- Single post (Travel Journal) ---- */
.postHero .postCat .elementor-icon-list-text, .postHero .postCat a {font-family:'Azo Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:#D0C09D !important;}
.postHero .postMeta .elementor-icon-list-text {font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75);}
.postHero .postMeta .elementor-icon-list-item:not(:last-child):after {border-color:rgba(255,255,255,.35) !important;}
.postHero .postTitle {max-width:900px;}
.postBody {font-size:17px; line-height:1.75; color:#435362;}
.postBody p {margin:0 0 1.3em;} .postBody h2 {font-size:34px; margin:1.6em 0 .5em;} .postBody h3 {font-size:26px; margin:1.4em 0 .5em;}
.postBody a {color:#B56B82; text-decoration:underline; text-underline-offset:3px;}
.postBody img {border-radius:5px; height:auto;} .postBody blockquote {border-left:2px solid #B56B82; margin:1.6em 0; padding:4px 0 4px 24px; font-family:Vogun,serif; font-size:24px; line-height:1.45; color:#203350;}
.postNav .elementor-post-navigation {border-color:#e2ddd5 !important; padding:18px 0;}
.postNav .post-navigation__prev--label, .postNav .post-navigation__next--label {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#967C6B;}
.postNav .post-navigation__prev--title, .postNav .post-navigation__next--title {font-family:LuxentaSemBd,serif; font-size:17px; color:#203350; text-transform:none;}
html body .postNav .post-navigation__prev--label, html body .postNav .post-navigation__next--label {font-family:'Azo Sans',sans-serif !important; font-size:11px !important; line-height:1.4 !important; letter-spacing:.2em !important;}
html body .postNav .post-navigation__prev--title, html body .postNav .post-navigation__next--title {font-family:LuxentaSemBd,serif !important; font-size:17px !important; line-height:1.35 !important; letter-spacing:0 !important; white-space:normal !important;}
html body .postNav .elementor-post-navigation__link a {align-items:center; gap:12px;}
html body .postNav .post-navigation__arrow-wrapper {color:#B56B82; font-size:22px;}
/* ===================== HEADER v2 (matches original Salient behaviour) ===================== */
.elementor-location-header {transition:transform .35s ease;}
body.rvHide .elementor-location-header {transform:translateY(-100%);}
html body .rvHeader {background:transparent !important; box-shadow:none; transition:background-color .3s ease, box-shadow .3s ease; padding-top:22px !important; padding-bottom:22px !important;}
html body.rvScrolled .rvHeader {background:#fff !important; box-shadow:0 0 2px rgba(0,0,0,.14), 0 2px 10px rgba(0,0,0,.05); padding-top:22px !important; padding-bottom:22px !important;}
.rvHeader .rvLogo img, body.rvScrolled .rvHeader .rvLogo img {width:169px !important; height:auto;}
.rvHeader .rvLogoDark {display:none;}
body.rvScrolled .rvHeader .rvLogoDark {display:block;} body.rvScrolled .rvHeader .rvLogoLight {display:none;}
.rvBurger {width:30px; height:21px; gap:0; justify-content:space-between;}
.rvBurger span {height:2px; width:30px !important; background:#fff; transition:background .3s;}
.rvBurger span:nth-child(2) {width:30px;}
body.rvScrolled .rvHeader .rvBurger span {background:#203350;}
/* Start Your Journey button + dropdown */
html body .rvJourneyBtn {font-size:14px; letter-spacing:.5px; font-weight:400; min-height:42px; height:42px; padding:3px 20px 0 20px; gap:12px; border-radius:4px; line-height:1;}
html body .rvJourneyBtn .rvChev {width:6px; height:6px; border-width:0 1.5px 1.5px 0; transform:rotate(45deg) translateY(-2px);}
html body .rvJourney.open .rvJourneyBtn .rvChev {transform:rotate(-135deg) translateY(-1px);}
html body .rvJourneyList {top:100%; left:0; right:0; min-width:0; border:1px solid #A6B8D0; border-radius:4px; box-shadow:0 1px 0 rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.06); padding:0; overflow:hidden; transform:translateY(6px);}
html body .rvJourney::after {height:4px !important;}
html body .rvJourneyList li + li {border-top:1px dotted #ccc;}
html body .rvJourneyList a {font-size:13px; font-weight:500; letter-spacing:normal; line-height:23px; padding:15px 20px; color:#435362 !important;}
html body .rvJourneyList a:hover {background:#F7F3EC; color:#B56B82 !important;}
@media (max-width:767px){
  html body .rvHeader, html body.rvScrolled .rvHeader {padding-top:12px !important; padding-bottom:12px !important;}
  .rvHeader .rvLogo img, body.rvScrolled .rvHeader .rvLogo img {width:145px !important;}
  .rvBurger {width:22px; height:16px;} .rvBurger span {width:22px !important; height:1.5px;}
}
/* Slide-out panel */
#elementor-popup-modal-3396 .dialog-close-button {display:none !important;}
#elementor-popup-modal-3396 .dialog-widget-content {box-shadow:none;}
html body .rvPanel {position:relative;}
html body .rvPanel .rvPanelClose {position:absolute; top:41px; left:28px; z-index:5;}
html body .rvPanel .elementor-widget-html:has(.rvPanelClose) {position:static; height:0; margin:0;}
html body .rvMenu > ul > li {margin:0 0 15px;}
html body .rvMenu > ul > li > a {font-size:24px; line-height:30px;}
html body .rvMenu > ul > li > a:hover, html body .rvMenu li.open > a, html body .rvMenu li.current > a, html body .rvMenu li.hasCurrent > a {color:#B56B82 !important;}
html body .rvSubToggle {top:2px; right:auto; left:calc(100% - 28px);}
html body .rvSub a {border-left:0; padding:5px 0 5px 20px; font-size:16px; line-height:22px; color:#fff !important;}
html body .rvSub a:hover, html body .rvSub li.current a {color:#B56B82 !important;}
html body .rvSub li:first-child {padding-top:10px;} html body .rvSub li:last-child {padding-bottom:4px;}
html body .rvMenuSmall {margin-top:30px !important; padding-top:28px !important; border-top:1px solid rgba(255,255,255,.6);}
html body .rvMenuSmall li {margin:0 0 5px !important;}
html body .rvMenuSmall a {font-size:16px !important; line-height:30px !important;}
html body .rvPanel .elementor-widget-html:has(.rvMenuFoot) {margin-top:auto;}
html body .rvMenuFoot {margin-top:60px;} html body .rvMenuFoot p {font-size:12px; color:#fff; opacity:.9;}
.rvMenu .rvMobOnly {display:none;}
@media (max-width:767px){
  html body .rvPanel .rvPanelClose {top:29px; left:18px;}
  .rvMenu .rvMobOnly {display:block; margin-bottom:40px !important;}
  html body .rvMenuSmall {margin-top:0 !important; padding-top:0 !important; border-top:0;}
  html body .rvMenuSmall li {margin:0 0 5px !important;}
  html body .rvMenuSmall a {font-size:24px !important; line-height:30px !important;}
}

.rvHeadLeft .elementor-widget-html, .rvHeadLeft .elementor-widget-html .elementor-widget-container {line-height:0; display:flex; align-items:center;}
html body .rvPanel .rvMenu {padding-top:26px;}
html body .rvSubToggle {left:178px; right:auto;}
html body .rvMenuSmall {width:88%;}
@media (max-width:767px){
  html body .rvPanel .rvMenu {padding-top:33px;}
  html body .rvMenu > ul > li {margin:0 0 5px;}
  html body .rvSubToggle {left:205px;}
  .rvMenu .rvMobOnly {margin-bottom:44px !important;}
}
/* submenu arrow: centred on the text line (V and ^ shapes optically corrected) */
html body .rvMenu .rvSubToggle {top:0 !important; height:30px !important; width:28px; display:flex !important; align-items:center; justify-content:center;}
html body .rvMenu .rvSubToggle span {margin:0 !important; transform:translateY(-4px) rotate(45deg) !important;}
html body .rvMenu li.open > .rvSubToggle span {transform:translateY(2.5px) rotate(-135deg) !important;}
/* ===== Comparison pass 1: match original measurements ===== */
html body .eyebrow .elementor-heading-title {letter-spacing:.28em !important;}
@media (max-width:767px){ html body .eyebrow .elementor-heading-title {letter-spacing:.22em !important;} }
html body .elementor-widget-text-editor h5 {font-size:13px !important; line-height:24px !important; letter-spacing:.14em !important;}
h1.elementor-heading-title, h2.elementor-heading-title, h3.elementor-heading-title {letter-spacing:-0.005em;}
.heroScript .elementor-heading-title {letter-spacing:0 !important;}
.hlTile p, .hlTile.e-con p {font-size:15px !important; line-height:1.5 !important; color:#435362 !important;}
.hr-explorer h3, .hr-explorer .property-item h3 {font-family:'Azo Sans',sans-serif !important;}
.conciergeHero .heroSub .elementor-widget-text-editor p, .conciergeHero .leadin p, .conciergeHero p.leadin {font-size:20px !important; line-height:26px !important; color:rgba(255,255,255,.7) !important;}
@media (max-width:767px){ .conciergeHero .heroSub .elementor-widget-text-editor p, .conciergeHero p.leadin {font-size:17px !important; line-height:24px !important;} }
.showText .elementor-button {font-size:12px !important; letter-spacing:.16em !important; min-height:42px; padding:15px 24px 13px !important;}
#overview .elementor-widget-image img {aspect-ratio:4/5; object-fit:cover; width:100%;}
/* heading block rhythm like the original: eyebrow 14px, headline 10px, then intro */
.e-con .elementor-widget-heading.eyebrow:not(:last-child) {margin-bottom:-6px !important;}
.e-con .elementor-widget-heading.eyebrow + .elementor-widget-heading:not(.eyebrow) {margin-bottom:-10px !important;}
html body .rvHead {margin-bottom:24px !important;}
.e-con:has(> .cmpRow), .e-con-inner:has(> .cmpRow) {gap:0 !important;}
html body .cmpRow.e-con + .cmpRow.e-con {margin-top:0 !important;}
@media (min-width:768px){ html body .eyebrowScript .elementor-heading-title {display:inline-block !important; white-space:nowrap;} }
/* normalise widget edges like WPBakery did (no stray top/bottom margins inside widgets) */
html body .elementor-widget-heading .elementor-heading-title {margin-top:0 !important; margin-bottom:0 !important;}
.elementor-widget-text-editor :is(p,h1,h2,h3,h4,h5,h6,ul,ol,div):first-child {margin-top:0 !important;}
.elementor-widget-text-editor :is(p,ul,ol,div,blockquote):last-child {margin-bottom:0 !important;}
/* ===== Comparison pass 2 ===== */
html body .eyebrowScript .elementor-heading-title {letter-spacing:0 !important;}
.heroDown {display:inline-block !important; width:30px !important; height:70px !important; border:0 !important; border-radius:0 !important; margin:30px auto 0 !important; background:none !important; overflow:hidden;}
.heroDown svg {display:block; margin-left:-5px; animation:rvArrowBob 2.2s ease-in-out infinite;}
.heroDown:hover {background:none !important;}
@keyframes rvArrowBob {0%,100% {transform:translateY(0);} 50% {transform:translateY(6px);}}
@media (prefers-reduced-motion:reduce){ .heroDown svg {animation:none;} }
/* FAQ / concierge toggles: original row height */
html body .rvToggles .elementor-tab-title {padding-top:34px !important; padding-bottom:34px !important;}
/* "View the home" style links: original text + circled arrow */
.linkCta {display:inline-flex !important; align-items:center; gap:10px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:#203350 !important; text-decoration:none !important; line-height:1;}
.linkCta::after {content:'' !important; display:inline-block !important; position:static !important; width:20px !important; height:20px !important; border:1px solid currentColor !important; border-radius:50% !important; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.5 6.5l3.5 3.5-3.5 3.5' fill='none' stroke='%23203350' stroke-width='1.2'/%3E%3C/svg%3E") center/20px no-repeat !important; margin:0 !important; transform:none !important; opacity:1 !important; flex:0 0 20px;}
.linkCtaLight::after {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.5 6.5l3.5 3.5-3.5 3.5' fill='none' stroke='%23ffffff' stroke-width='1.2'/%3E%3C/svg%3E") !important;}
.linkCta:hover {color:#B56B82 !important;}
.guideHome .elementor-widget-image img {aspect-ratio:16/10 !important;}
/* closing call-to-action bands: original breathing room */
.e-con#plan, .e-con#review {--padding-top:98px; --padding-bottom:108px;}
@media (max-width:767px){ .e-con#plan, .e-con#review {--padding-top:60px; --padding-bottom:64px;} }
/* hero text block rhythm (original: 39px under the script, tall subtitle line, 10px to the lead) */
html body .conciergeHero .heroSub {margin-top:29px !important;}
html body .conciergeHero .heroSub .elementor-widget-heading .elementor-heading-title {line-height:2.2em !important;}
html body .conciergeHero .heroSub .elementor-widget-heading:not(:last-child) {margin-bottom:-10px !important;}
@media (max-width:767px){ html body .conciergeHero .heroSub {margin-top:10px !important;} html body .conciergeHero .heroSub .elementor-widget-heading .elementor-heading-title {line-height:1.5em !important;} }
/* script label tucks into the headline like the original */
html body .elementor-widget-heading.eyebrowScript:not(:last-child) {margin-bottom:-24px !important; position:relative; z-index:2;}
#faq .e-con:has(> .e-con) {align-items:flex-start !important;}
html body .hlTile.e-con {gap:12px !important; padding:28px 24px 22px !important;}
html body .guideStep.e-con {gap:14px !important;}
/* HomeRunner calendar controls: undo the global button style (original look) */
html body .hr_cal__nav {background:transparent !important; color:#999 !important; border:1px solid #999 !important; border-radius:4px !important; padding:5px !important; width:36px; height:40px; min-height:0 !important; font-size:13px !important; letter-spacing:normal !important; text-transform:none !important; box-shadow:none !important;}
html body .hr_cal__nav:hover {border-color:#203350 !important; color:#203350 !important;}
html body .hr_pc__button {padding:5px 8px !important; min-height:0 !important; height:auto !important; line-height:1.3 !important; border-radius:4px !important; font-size:12px !important; letter-spacing:.16em !important; box-shadow:none !important;}
html body .hr_pc__clear_button {background:#fff !important; color:#333 !important; border:1px solid #333 !important;}
html body .hr_pc__apply_button {background:#333 !important; color:#fff !important; border:1px solid transparent !important;}
html body .hr_pc__button:disabled {opacity:.55;}
/* centred intro blocks: original 2/3 column width */
@media (min-width:1025px){ html body .rvHead.e-con {--width:804px; max-width:804px;} }
/* home island scroller: original card size */
/* phone: match original type */
@media (max-width:767px){
  html body .conciergeHero .heroSub .elementor-widget-text-editor p, html body .conciergeHero p.leadin {font-size:20px !important; line-height:26px !important;}
  .legalText h3, .contactFormCard h3 {font-size:18px !important; line-height:24px !important;}
}
html body .stayFactsCol.e-con {background:#F6F2EA; border-radius:6px; padding:30px 30px 26px !important;}
.roomCard p strong, .roomCard .roomBed, .roomCard h3 + p {font-weight:600; color:#1C607D;}
.houseGallery img, .houseGallery .e-gallery-image {border-radius:0 !important;}
/* ---- Home: house tiles (original proportions) ---- */
html body .homeTile.e-con {padding:60px 24px 22px !important;}
html body .homeTile .cost {font-size:18px; letter-spacing:0; padding:6px 12px; line-height:1.2;}
html body .homeTile .tileTitle .elementor-heading-title, html body .homeTile .tileTitle a {font-size:inherit;}
html body .homeTile .tileAmen .amenityIcon {font-size:13px; padding:0 9px;}
html body .homeTile .elementor-widget-button {position:absolute; right:25px; bottom:22px; margin:0 !important;}
/* ---- Home: island carousel like the original (drag, loops, bleeds off the right edge) ---- */
html body .homeTile .elementor-button {font-size:12px !important; letter-spacing:.16em !important; padding:5px 12px 4px !important; min-height:0 !important; border-width:1px !important;}
html body .homeTile .tileTitle .elementor-heading-title, html body .homeTile .tileTitle a {font-family:LuxentaSemBd,serif !important;}

/* ---- Home: island carousel (Swiper, set up like the original Salient/Flickity carousel) ---- */
html body .rvCarSec {overflow:hidden;}
html body .rvCar.swiper {overflow:visible !important; margin:0 0 0 50px; width:auto;}
html body .rvCar .swiper-wrapper {display:flex !important; flex-wrap:nowrap !important; gap:0 !important; padding:0 !important; --gap:0px;}
html body .rvCar .islCard.swiper-slide {width:255px !important; max-width:none !important; flex:0 0 255px !important; margin-right:30px; cursor:grab; user-select:none; -webkit-user-select:none;}
html body .rvCar.dragging .islCard {cursor:grabbing;}
html body .islCard .elementor-widget-image {overflow:hidden; border-radius:5px;}
html body .islCard .elementor-widget-image img {aspect-ratio:4/5 !important; object-fit:cover; width:100%; border-radius:0 !important; transform:scale(1); transition:transform .75s cubic-bezier(.2,.75,.5,1); pointer-events:none;}
html body .islCard:hover .elementor-widget-image img {transform:scale(1.1);}
html body .islCard h4 {display:inline-block; font-size:22px !important; line-height:1.3; margin:40px 0 14px !important; color:#0F1D30; padding-bottom:3px; background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s cubic-bezier(.2,.75,.5,1);}
html body .islCard:hover h4 {background-size:100% 1px;}
html body .islCard p.small {font-size:14px !important; line-height:1.4 !important; color:#0F1D30 !important; padding-right:20px; margin:0;}
html body .islCard .elementor-widget-image a {pointer-events:none;}
@media (max-width:1024px){ html body .rvCar.swiper {margin-left:0;} html body .rvCar .islCard.swiper-slide {width:calc((100vw - 56px - 30px) / 2) !important; flex-basis:calc((100vw - 56px - 30px) / 2) !important;} }
@media (max-width:767px){ html body .rvCar .islCard.swiper-slide {width:calc(100vw - 48px - 50px) !important; flex-basis:calc(100vw - 48px - 50px) !important; margin-right:20px;} html body .islCard h4 {margin-top:24px !important;} }html body .rvCar.rvFresh .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-active ~ .swiper-slide) {visibility:hidden;}
/* hero subtitle: compact line height if it ever wraps (spacing kept with padding) */
html body .conciergeHero .heroSub .elementor-widget-heading .elementor-heading-title {line-height:1.25em !important; padding:.45em 0 !important;}
html body .conciergeHero .heroSub .elementor-widget-text-editor {max-width:780px !important; width:100% !important; align-self:center !important; margin-left:auto !important; margin-right:auto !important;}
@media (max-width:767px){ html body .conciergeHero .heroSub .elementor-widget-heading .elementor-heading-title {line-height:1.3em !important; padding:.3em 0 !important;} }
/* outlined hero buttons that turn pink on hover */
html body .btnHeroPink .elementor-button:hover, html body .btnHeroPink .elementor-button:focus {background:#B56B82 !important; border-color:#B56B82 !important; color:#fff !important;}
/* Our Homes rows: 50/50, photo fills the column height */
@media (min-width:1025px){
  html body .showImg.e-con {align-self:stretch;}
  html body .showImg .elementor-widget-image, html body .showImg .elementor-widget-image .elementor-widget-container, html body .showImg .elementor-widget-image a {height:100%; display:block;}
  html body .showImg .elementor-widget-image img {height:100% !important; min-height:420px; aspect-ratio:auto !important; object-fit:cover;}
}
/* hero: subtitle tucks up under the script (script may overlap it slightly, like the original home page) */
html body .conciergeHero .heroSub {margin-top:0 !important;}
html body .conciergeHero .heroSub .elementor-widget-heading .elementor-heading-title {padding-top:0 !important;}
html body .conciergeHero .heroScript {position:relative; z-index:3;}
html body .conciergeHero .heroSub {position:relative; z-index:2;}
@media (max-width:767px){ html body .conciergeHero .heroSub {margin-top:2px !important;} }
/* thin rule where light sections change colour (original sectionLinedLight style) */
html body .e-con.sectionLinedLightTop {border-top:1px solid #c3c3c7 !important;}
html body .e-con.sectionLinedLightBottom {border-bottom:1px solid #c3c3c7 !important;}
html body .e-con.sectionLinedLight {border-top:1px solid #c3c3c7 !important; border-bottom:1px solid #c3c3c7 !important;}
/* ---- Footer newsletter: 50/50 with a postcard photo collage ---- */
html body .footerNews .newsBody {padding-left:60px !important;}
html body .footerNews .newsBody .gform_wrapper {margin-top:22px !important;}
.newsCollage {position:relative; height:400px; max-width:540px;}
.newsCollage .nc {position:absolute; margin:0; background:#fff; padding:10px 10px 34px; box-shadow:0 18px 40px rgba(0,0,0,.28); border-radius:3px; transition:transform .5s cubic-bezier(.2,.75,.5,1), z-index 0s;}
.newsCollage .nc img {display:block; width:100%; height:100%; object-fit:cover; border-radius:1px;}
.newsCollage figcaption {position:absolute; left:0; right:0; bottom:9px; text-align:center; font-family:'Azo Sans',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:#967C6B;}
.newsCollage .nc1 {width:230px; height:280px; left:0; top:40px; transform:rotate(-6deg); z-index:1;}
.newsCollage .nc2 {width:220px; height:250px; left:170px; top:0; transform:rotate(3deg); z-index:2;}
.newsCollage .nc3 {width:210px; height:260px; left:310px; top:110px; transform:rotate(-2deg); z-index:3;}
.newsCollage .nc img {height:calc(100% - 0px);}
.newsCollage .nc:hover {transform:rotate(0) scale(1.05); z-index:5;}
.newsCollage .ncScript {position:absolute; left:40px; bottom:4px; z-index:6; font-family:LogoFont,cursive; font-size:42px; line-height:1; color:#D0C09D; transform:rotate(-6deg); text-shadow:0 2px 14px rgba(15,29,48,.35); white-space:nowrap;}
@media (max-width:1024px){ html body .footerNews .newsBody {padding-left:0 !important;} .newsCollage {margin:10px auto 0; } }
@media (max-width:767px){
  .newsCollage {height:290px; max-width:340px;}
  .newsCollage .nc1 {width:150px; height:190px; left:0; top:30px;}
  .newsCollage .nc2 {width:145px; height:170px; left:105px; top:0;}
  .newsCollage .nc3 {width:140px; height:180px; left:195px; top:80px;}
  .newsCollage .nc {padding:7px 7px 26px;} .newsCollage figcaption {font-size:8px; bottom:7px;}
  .newsCollage .ncScript {font-size:32px; left:10px; bottom:0;}
}
.newsCollage {height:450px;}
.newsCollage .nc2 {left:160px;} .newsCollage .nc3 {left:335px; top:120px;}
.newsCollage .ncScript {left:10px; bottom:0;}
@media (max-width:767px){ .newsCollage {height:320px;} .newsCollage .nc2 {left:100px;} .newsCollage .nc3 {left:205px; top:85px;} .newsCollage .ncScript {left:0; bottom:0;} }
.newsCollage .ncScript {font-size:25px; left:30px; bottom:14px;}
@media (max-width:767px){ .newsCollage .ncScript {font-size:20px; left:14px; bottom:10px;} }
/* script sits just under the postcards, with a small hand-drawn arrow pointing back up at them */
.newsCollage {height:400px;}
.newsCollage .ncScript {top:350px; bottom:auto; left:36px;}
.newsCollage .ncScript::after {content:''; position:absolute; left:100%; bottom:6px; margin-left:6px; width:58px; height:44px; transform:rotate(6deg);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 44' fill='none' stroke='%23D0C09D' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 38c10 2 22-1 30-8 7-6 11-14 14-24'/%3E%3Cpath d='M39 9l8-5 4 9'/%3E%3C/svg%3E") no-repeat center/contain;}
@media (max-width:767px){ .newsCollage {height:300px;} .newsCollage .ncScript {top:262px; left:12px;} .newsCollage .ncScript::after {width:44px; height:34px;} }
/* ---- House pages: tweaks ---- */
html body .houseHero .heroBook.e-con {margin-bottom:0 !important; padding-bottom:30px !important;}
html body .overviewText .hlFacts, html body .houseHero .heroStats {display:grid !important; grid-template-columns:repeat(4, max-content); gap:12px 26px;}
html body .overviewText .hlFacts span, html body .houseHero .heroStats .amenityIcon {white-space:nowrap;}
@media (max-width:767px){ html body .overviewText .hlFacts, html body .houseHero .heroStats {grid-template-columns:repeat(2, max-content);} }
/* gallery hover: image zooms, soft navy wash, caption fades in */
html body .houseGallery .elementor-gallery-item__overlay {background:linear-gradient(0deg, rgba(15,29,48,.75), rgba(15,29,48,0) 60%) !important;}
html body .houseGallery .elementor-gallery-item__content {justify-content:flex-end !important; padding:0 16px 14px !important; align-items:flex-start !important;}
html body .houseGallery .elementor-gallery-item__title {font-family:'Azo Sans',sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#fff; text-align:left; font-weight:500;}
html body .houseGallery .elementor-gallery-item__image {transition-duration:.75s !important;}
/* location: map as tall as (or taller than) the text */
html body .locMapCol.e-con {align-self:stretch;}
html body .locMapCol .elementor-widget-shortcode, html body .locMapCol .elementor-widget-shortcode .elementor-widget-container, html body .locMapCol .elementor-shortcode {height:100%;}
@media (min-width:1025px){ html body .locMapCol .leaflet-container, html body .locMapCol [class*=homeMap] {height:100% !important; min-height:520px;} }
/* Book Your Stay sits inside the Good to Know panel */
html body .stayBookBtn .elementor-button {width:100%;}
html body .overviewText .hlFacts {display:grid !important; grid-template-columns:repeat(4, max-content); gap:12px 24px;}
html body .overviewText .hlFacts span {display:inline-flex; align-items:center; gap:8px; white-space:nowrap;}
@media (max-width:767px){ html body .overviewText .hlFacts {grid-template-columns:repeat(2, max-content);} }
@media (min-width:1025px){ html body .locMapCol .leaflet-container, html body .locMapCol [class*=homeMap] {min-height:620px;} html body #location > .e-con-inner > .e-con:first-child {align-self:center;} }
@media (min-width:768px){ html body .overviewText .hlFacts span:nth-child(n+5) {grid-column:span 4; justify-self:start;} }
/* Good to Know: more compact */
html body .stayFactsCol.e-con {padding:26px 28px 26px !important;}
html body .stayFacts h5 {margin-bottom:10px !important;}
html body .stayFacts ul {margin-bottom:14px !important;}
html body .stayFacts li {padding:9px 0 !important;}
html body .stayFacts .stayNote {font-size:13px; line-height:1.5; margin:0 0 12px !important;}
html body .stayFacts .stayContact {padding-top:12px !important; margin-top:0 !important;}
html body .stayFactsCol .stayBookBtn {margin-top:16px !important;}
html body .stayFactsCol.e-con {gap:0 !important; --gap:0px; padding-top:22px !important;} html body .stayFactsCol .stayBookBtn {margin-top:20px !important;} html body .stayFacts .stayContact {display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px;} html body .stayFacts .stayContact a {margin:0 !important;}
/* ---- Compact section bar (follows the page on Concierge & Harbour Island) ---- */
.rvSectionNav {position:fixed; left:0; right:0; top:0; z-index:998; background:rgba(255,255,255,.97); backdrop-filter:blur(6px); border-bottom:1px solid #e2ddd5; box-shadow:0 6px 18px rgba(15,29,48,.06);
  transform:translateY(-110%); opacity:0; pointer-events:none; transition:transform .35s ease, opacity .25s ease, top .35s ease;}
.rvSectionNav.show {transform:none; opacity:1; pointer-events:auto;}
.rvSectionNavInner {display:flex; justify-content:center; gap:6px; max-width:1240px; margin:0 auto; padding:8px 28px; overflow-x:auto; scrollbar-width:none;}
.rvSectionNavInner::-webkit-scrollbar {display:none;}
.rvSectionNav a {display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; padding:7px 14px 6px; border-radius:20px; font-family:'Azo Sans',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#435362 !important; text-decoration:none !important; white-space:nowrap; transition:background .2s, color .2s;}
.rvSectionNav a i {line-height:1;} .rvSectionNav a i:before {font-size:20px !important; margin:0 !important; color:#1C607D;}
.rvSectionNav a:hover {background:#F7F3EC; color:#203350 !important;}
.rvSectionNav a.active {background:#203350; color:#fff !important;} .rvSectionNav a.active i:before {color:#D0C09D;}
@media (max-width:767px){ .rvSectionNavInner {justify-content:flex-start; padding:7px 14px;} .rvSectionNav a {font-size:10px; padding:6px 12px 5px;} .rvSectionNav a i:before {font-size:17px !important;} }
.rvNavSourceW {display:none !important;}
.rvSectionNav a.rvNavBook {background:#B56B82; color:#fff !important; margin-left:10px; padding:7px 16px 6px;}
.rvSectionNav a.rvNavBook:hover {background:#9E5A6F;}
@media (max-width:767px){ .rvSectionNav a.rvNavBook {display:none;} }
/* Join page: "Recommended" badge sits on the card border */
html body .pathCard.e-con {position:relative; overflow:visible;}
html body .pathCard .elementor-element:has(.pathBadge), html body .pathCard .elementor-widget-container:has(.pathBadge) {position:static !important;}
html body .pathCard .pathBadge {position:absolute; top:-13px; left:34px; z-index:2; margin:0 !important; line-height:1.3;}
/* slide-out panel: logo beside the close icon, mirroring the header */
html body .rvPanel .rvPanelLogo {position:absolute !important; top:22px; left:86px; width:169px !important; margin:0 !important; z-index:4;}
html body .rvPanel .rvPanelLogo img {width:169px; height:auto; display:block;}
html body .rvPanel .rvMenu {padding-top:52px !important;}
@media (max-width:767px){
  html body .rvPanel .rvPanelLogo {top:12px; left:58px; width:145px !important;} html body .rvPanel .rvPanelLogo img {width:145px;}
  html body .rvPanel .rvMenu {padding-top:40px !important;}
}
/* HomeRunner price details popup: close as a pink text link with an X */
html body .homelocal-booking-price-details-modal .hk-modal-close.hk-button, html body .hk-modal .hk-button.hk-modal-close {background:none !important; border:0 !important; box-shadow:none !important; min-height:0 !important; height:auto !important; padding:6px 0 !important; color:#B56B82 !important; font-family:'Azo Sans',sans-serif !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.16em !important; line-height:1 !important; text-transform:uppercase; display:inline-flex !important; align-items:center; gap:8px; cursor:pointer;}
html body .homelocal-booking-price-details-modal .hk-modal-close.hk-button::before, html body .hk-modal .hk-button.hk-modal-close::before {content:''; width:10px; height:10px; flex:0 0 10px; background:linear-gradient(45deg, transparent calc(50% - .75px), currentColor calc(50% - .75px), currentColor calc(50% + .75px), transparent calc(50% + .75px)), linear-gradient(-45deg, transparent calc(50% - .75px), currentColor calc(50% - .75px), currentColor calc(50% + .75px), transparent calc(50% + .75px));}
html body .homelocal-booking-price-details-modal .hk-modal-close.hk-button:hover, html body .hk-modal .hk-button.hk-modal-close:hover {color:#203350 !important; background:none !important;}
/* HomeRunner text-style buttons (e.g. Price Breakdown): plain link, no button background on hover */
html body .hk-button.hk-button-text, html body .hk-button.hk-button-text:hover, html body .hk-button.hk-button-text:focus {background:none !important; border:0 !important; box-shadow:none !important; min-height:0 !important; height:auto !important; padding:0 !important; border-radius:0 !important;}
html body .hk-button.hk-button-text {color:#203350 !important; text-decoration:underline; text-underline-offset:3px;}
html body .hk-button.hk-button-text:hover, html body .hk-button.hk-button-text:focus {color:#B56B82 !important;}
html body .hk-button.hk-button-text, html body .hk-button.hk-button-text:hover, html body .hk-button.hk-button-text:focus, html body .hk-button.hk-button-text:active {padding:0 !important; border:0 !important; transform:none !important;}
/* gallery: gradient + caption only on hover (also hidden while photos load in) */
html body .houseGallery .elementor-gallery-item__overlay {opacity:0 !important; transition:opacity .45s ease !important;}
html body .houseGallery .elementor-gallery-item:hover .elementor-gallery-item__overlay, html body .houseGallery .elementor-gallery-item:focus .elementor-gallery-item__overlay {opacity:1 !important;}
html body .houseGallery .elementor-gallery-item__content {opacity:0 !important; transition:opacity .45s ease .05s !important;}
html body .houseGallery .elementor-gallery-item:hover .elementor-gallery-item__content, html body .houseGallery .elementor-gallery-item:focus .elementor-gallery-item__content {opacity:1 !important;}
html body .houseGallery .elementor-gallery-item {border-radius:6px !important; overflow:hidden !important; -webkit-mask-image:-webkit-radial-gradient(white, black);} html body .houseGallery .elementor-gallery-item__image, html body .houseGallery .elementor-gallery-item__overlay {border-radius:6px !important;}
/* Concierge / Why Reverie photo columns: portrait like the others, filling the full height of the text column */
@media (min-width:1025px){
  html body .conciergeCat .e-con:has(> .conciergeImg) {align-items:stretch !important;}
  html body .conciergeCat .conciergeImg.e-con {align-self:stretch !important;}
  html body .conciergeCat .conciergeImg .elementor-widget-image, html body .conciergeCat .conciergeImg .elementor-widget-image .elementor-widget-container {height:100%;}
  html body .conciergeCat .conciergeImg img, html body .conciergeCat .conciergeImgWide img {height:100% !important; min-height:100%; aspect-ratio:4/5 !important; object-fit:cover; width:100%;}
}
@media (min-width:1025px){ html body #adventures .conciergeImg img {object-position:12% center;} }

/* ===== Shoreline dividers =====
   Heroes: a waterline edge added by script to every hero (add class rvNoShore to a hero to skip it).
   Sections: add class rvShoreTop to a section to give its top edge a shoreline that rises into the section above. Use sparingly. */
html body .e-con.rvHasShore {position:relative; overflow:hidden;}
.rvShore {position:absolute; left:0; right:0; bottom:-1px; z-index:3; pointer-events:none; line-height:0;}
.rvShore svg {display:block; width:100%; height:100px;}
.rvShore .shWash, .rvShore .shFoam {animation:rvLap 9s ease-in-out infinite alternate;}
.rvShore .shFoam {animation-delay:-2s;}
@keyframes rvLap {0%{transform:translate(-30px,4px); opacity:.65} 100%{transform:translate(30px,-6px); opacity:1}}
.rvShoreSm .rvShore svg {height:70px;}
@media (max-width:767px){ .rvShore svg, .rvShoreSm .rvShore svg {height:46px;} }
@media (prefers-reduced-motion:reduce){ .rvShore path {animation:none !important;} }
html body .e-con.rvShoreTop {margin-top:-80px !important; padding-top:calc(var(--padding-top, 64px) + 48px) !important; position:relative; z-index:2;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201440%2080%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2C50.8%20L8%2C51.2%20L16%2C51.0%20L24%2C50.3%20L32%2C49.4%20L40%2C48.6%20L48%2C48.2%20L56%2C48.1%20L64%2C48.3%20L72%2C48.3%20L80%2C48.0%20L88%2C47.1%20L96%2C45.5%20L104%2C43.5%20L112%2C41.3%20L120%2C39.2%20L128%2C37.6%20L136%2C36.5%20L144%2C35.8%20L152%2C35.2%20L160%2C34.4%20L168%2C33.2%20L176%2C31.6%20L184%2C29.8%20L192%2C28.0%20L200%2C26.6%20L208%2C25.8%20L216%2C25.7%20L224%2C26.2%20L232%2C26.9%20L240%2C27.5%20L248%2C27.8%20L256%2C27.7%20L264%2C27.3%20L272%2C27.0%20L280%2C26.9%20L288%2C27.4%20L296%2C28.4%20L304%2C29.9%20L312%2C31.4%20L320%2C32.6%20L328%2C33.3%20L336%2C33.3%20L344%2C33.0%20L352%2C32.4%20L360%2C32.0%20L368%2C32.0%20L376%2C32.3%20L384%2C33.0%20L392%2C33.7%20L400%2C34.0%20L408%2C33.8%20L416%2C33.0%20L424%2C31.9%20L432%2C30.6%20L440%2C29.6%20L448%2C29.1%20L456%2C29.2%20L464%2C29.8%20L472%2C30.5%20L480%2C31.2%20L488%2C31.4%20L496%2C31.3%20L504%2C31.0%20L512%2C30.7%20L520%2C30.8%20L528%2C31.6%20L536%2C33.0%20L544%2C34.9%20L552%2C37.0%20L560%2C39.0%20L568%2C40.6%20L576%2C41.6%20L584%2C42.4%20L592%2C43.0%20L600%2C43.8%20L608%2C45.1%20L616%2C46.8%20L624%2C48.8%20L632%2C50.8%20L640%2C52.4%20L648%2C53.4%20L656%2C53.7%20L664%2C53.4%20L672%2C52.9%20L680%2C52.5%20L688%2C52.4%20L696%2C52.6%20L704%2C53.2%20L712%2C53.6%20L720%2C53.8%20L728%2C53.4%20L736%2C52.4%20L744%2C50.9%20L752%2C49.4%20L760%2C48.2%20L768%2C47.4%20L776%2C47.3%20L784%2C47.5%20L792%2C48.0%20L800%2C48.3%20L808%2C48.2%20L816%2C47.7%20L824%2C46.9%20L832%2C46.1%20L840%2C45.7%20L848%2C45.8%20L856%2C46.5%20L864%2C47.6%20L872%2C48.9%20L880%2C49.9%20L888%2C50.4%20L896%2C50.4%20L904%2C49.9%20L912%2C49.3%20L920%2C48.8%20L928%2C48.7%20L936%2C49.0%20L944%2C49.5%20L952%2C50.0%20L960%2C50.1%20L968%2C49.5%20L976%2C48.2%20L984%2C46.5%20L992%2C44.5%20L1000%2C42.7%20L1008%2C41.2%20L1016%2C40.2%20L1024%2C39.5%20L1032%2C38.9%20L1040%2C38.0%20L1048%2C36.7%20L1056%2C34.8%20L1064%2C32.7%20L1072%2C30.6%20L1080%2C28.8%20L1088%2C27.7%20L1096%2C27.2%20L1104%2C27.3%20L1112%2C27.6%20L1120%2C27.8%20L1128%2C27.7%20L1136%2C27.2%20L1144%2C26.5%20L1152%2C25.9%20L1160%2C25.6%20L1168%2C26.0%20L1176%2C26.9%20L1184%2C28.3%20L1192%2C29.7%20L1200%2C31.0%20L1208%2C31.8%20L1216%2C32.0%20L1224%2C31.8%20L1232%2C31.5%20L1240%2C31.3%20L1248%2C31.5%20L1256%2C32.2%20L1264%2C33.1%20L1272%2C34.0%20L1280%2C34.5%20L1288%2C34.5%20L1296%2C33.9%20L1304%2C32.8%20L1312%2C31.6%20L1320%2C30.6%20L1328%2C30.1%20L1336%2C30.0%20L1344%2C30.4%20L1352%2C31.0%20L1360%2C31.3%20L1368%2C31.3%20L1376%2C30.9%20L1384%2C30.2%20L1392%2C29.5%20L1400%2C29.3%20L1408%2C29.7%20L1416%2C30.7%20L1424%2C32.3%20L1432%2C34.1%20L1440%2C35.8%20L1440%2C80%20L0%2C80%20Z%22%20fill%3D%22%23000%22/%3E%3C/svg%3E") top/100% 80px no-repeat, linear-gradient(#000,#000) 0 79px/100% calc(100% - 79px) no-repeat;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201440%2080%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2C50.8%20L8%2C51.2%20L16%2C51.0%20L24%2C50.3%20L32%2C49.4%20L40%2C48.6%20L48%2C48.2%20L56%2C48.1%20L64%2C48.3%20L72%2C48.3%20L80%2C48.0%20L88%2C47.1%20L96%2C45.5%20L104%2C43.5%20L112%2C41.3%20L120%2C39.2%20L128%2C37.6%20L136%2C36.5%20L144%2C35.8%20L152%2C35.2%20L160%2C34.4%20L168%2C33.2%20L176%2C31.6%20L184%2C29.8%20L192%2C28.0%20L200%2C26.6%20L208%2C25.8%20L216%2C25.7%20L224%2C26.2%20L232%2C26.9%20L240%2C27.5%20L248%2C27.8%20L256%2C27.7%20L264%2C27.3%20L272%2C27.0%20L280%2C26.9%20L288%2C27.4%20L296%2C28.4%20L304%2C29.9%20L312%2C31.4%20L320%2C32.6%20L328%2C33.3%20L336%2C33.3%20L344%2C33.0%20L352%2C32.4%20L360%2C32.0%20L368%2C32.0%20L376%2C32.3%20L384%2C33.0%20L392%2C33.7%20L400%2C34.0%20L408%2C33.8%20L416%2C33.0%20L424%2C31.9%20L432%2C30.6%20L440%2C29.6%20L448%2C29.1%20L456%2C29.2%20L464%2C29.8%20L472%2C30.5%20L480%2C31.2%20L488%2C31.4%20L496%2C31.3%20L504%2C31.0%20L512%2C30.7%20L520%2C30.8%20L528%2C31.6%20L536%2C33.0%20L544%2C34.9%20L552%2C37.0%20L560%2C39.0%20L568%2C40.6%20L576%2C41.6%20L584%2C42.4%20L592%2C43.0%20L600%2C43.8%20L608%2C45.1%20L616%2C46.8%20L624%2C48.8%20L632%2C50.8%20L640%2C52.4%20L648%2C53.4%20L656%2C53.7%20L664%2C53.4%20L672%2C52.9%20L680%2C52.5%20L688%2C52.4%20L696%2C52.6%20L704%2C53.2%20L712%2C53.6%20L720%2C53.8%20L728%2C53.4%20L736%2C52.4%20L744%2C50.9%20L752%2C49.4%20L760%2C48.2%20L768%2C47.4%20L776%2C47.3%20L784%2C47.5%20L792%2C48.0%20L800%2C48.3%20L808%2C48.2%20L816%2C47.7%20L824%2C46.9%20L832%2C46.1%20L840%2C45.7%20L848%2C45.8%20L856%2C46.5%20L864%2C47.6%20L872%2C48.9%20L880%2C49.9%20L888%2C50.4%20L896%2C50.4%20L904%2C49.9%20L912%2C49.3%20L920%2C48.8%20L928%2C48.7%20L936%2C49.0%20L944%2C49.5%20L952%2C50.0%20L960%2C50.1%20L968%2C49.5%20L976%2C48.2%20L984%2C46.5%20L992%2C44.5%20L1000%2C42.7%20L1008%2C41.2%20L1016%2C40.2%20L1024%2C39.5%20L1032%2C38.9%20L1040%2C38.0%20L1048%2C36.7%20L1056%2C34.8%20L1064%2C32.7%20L1072%2C30.6%20L1080%2C28.8%20L1088%2C27.7%20L1096%2C27.2%20L1104%2C27.3%20L1112%2C27.6%20L1120%2C27.8%20L1128%2C27.7%20L1136%2C27.2%20L1144%2C26.5%20L1152%2C25.9%20L1160%2C25.6%20L1168%2C26.0%20L1176%2C26.9%20L1184%2C28.3%20L1192%2C29.7%20L1200%2C31.0%20L1208%2C31.8%20L1216%2C32.0%20L1224%2C31.8%20L1232%2C31.5%20L1240%2C31.3%20L1248%2C31.5%20L1256%2C32.2%20L1264%2C33.1%20L1272%2C34.0%20L1280%2C34.5%20L1288%2C34.5%20L1296%2C33.9%20L1304%2C32.8%20L1312%2C31.6%20L1320%2C30.6%20L1328%2C30.1%20L1336%2C30.0%20L1344%2C30.4%20L1352%2C31.0%20L1360%2C31.3%20L1368%2C31.3%20L1376%2C30.9%20L1384%2C30.2%20L1392%2C29.5%20L1400%2C29.3%20L1408%2C29.7%20L1416%2C30.7%20L1424%2C32.3%20L1432%2C34.1%20L1440%2C35.8%20L1440%2C80%20L0%2C80%20Z%22%20fill%3D%22%23000%22/%3E%3C/svg%3E") top/100% 80px no-repeat, linear-gradient(#000,#000) 0 79px/100% calc(100% - 79px) no-repeat;}
html body .e-con.rvShoreTop::after {content:""; position:absolute; left:0; right:0; top:0; height:80px; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201440%2080%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2C50.8%20L8%2C51.2%20L16%2C51.0%20L24%2C50.3%20L32%2C49.4%20L40%2C48.6%20L48%2C48.2%20L56%2C48.1%20L64%2C48.3%20L72%2C48.3%20L80%2C48.0%20L88%2C47.1%20L96%2C45.5%20L104%2C43.5%20L112%2C41.3%20L120%2C39.2%20L128%2C37.6%20L136%2C36.5%20L144%2C35.8%20L152%2C35.2%20L160%2C34.4%20L168%2C33.2%20L176%2C31.6%20L184%2C29.8%20L192%2C28.0%20L200%2C26.6%20L208%2C25.8%20L216%2C25.7%20L224%2C26.2%20L232%2C26.9%20L240%2C27.5%20L248%2C27.8%20L256%2C27.7%20L264%2C27.3%20L272%2C27.0%20L280%2C26.9%20L288%2C27.4%20L296%2C28.4%20L304%2C29.9%20L312%2C31.4%20L320%2C32.6%20L328%2C33.3%20L336%2C33.3%20L344%2C33.0%20L352%2C32.4%20L360%2C32.0%20L368%2C32.0%20L376%2C32.3%20L384%2C33.0%20L392%2C33.7%20L400%2C34.0%20L408%2C33.8%20L416%2C33.0%20L424%2C31.9%20L432%2C30.6%20L440%2C29.6%20L448%2C29.1%20L456%2C29.2%20L464%2C29.8%20L472%2C30.5%20L480%2C31.2%20L488%2C31.4%20L496%2C31.3%20L504%2C31.0%20L512%2C30.7%20L520%2C30.8%20L528%2C31.6%20L536%2C33.0%20L544%2C34.9%20L552%2C37.0%20L560%2C39.0%20L568%2C40.6%20L576%2C41.6%20L584%2C42.4%20L592%2C43.0%20L600%2C43.8%20L608%2C45.1%20L616%2C46.8%20L624%2C48.8%20L632%2C50.8%20L640%2C52.4%20L648%2C53.4%20L656%2C53.7%20L664%2C53.4%20L672%2C52.9%20L680%2C52.5%20L688%2C52.4%20L696%2C52.6%20L704%2C53.2%20L712%2C53.6%20L720%2C53.8%20L728%2C53.4%20L736%2C52.4%20L744%2C50.9%20L752%2C49.4%20L760%2C48.2%20L768%2C47.4%20L776%2C47.3%20L784%2C47.5%20L792%2C48.0%20L800%2C48.3%20L808%2C48.2%20L816%2C47.7%20L824%2C46.9%20L832%2C46.1%20L840%2C45.7%20L848%2C45.8%20L856%2C46.5%20L864%2C47.6%20L872%2C48.9%20L880%2C49.9%20L888%2C50.4%20L896%2C50.4%20L904%2C49.9%20L912%2C49.3%20L920%2C48.8%20L928%2C48.7%20L936%2C49.0%20L944%2C49.5%20L952%2C50.0%20L960%2C50.1%20L968%2C49.5%20L976%2C48.2%20L984%2C46.5%20L992%2C44.5%20L1000%2C42.7%20L1008%2C41.2%20L1016%2C40.2%20L1024%2C39.5%20L1032%2C38.9%20L1040%2C38.0%20L1048%2C36.7%20L1056%2C34.8%20L1064%2C32.7%20L1072%2C30.6%20L1080%2C28.8%20L1088%2C27.7%20L1096%2C27.2%20L1104%2C27.3%20L1112%2C27.6%20L1120%2C27.8%20L1128%2C27.7%20L1136%2C27.2%20L1144%2C26.5%20L1152%2C25.9%20L1160%2C25.6%20L1168%2C26.0%20L1176%2C26.9%20L1184%2C28.3%20L1192%2C29.7%20L1200%2C31.0%20L1208%2C31.8%20L1216%2C32.0%20L1224%2C31.8%20L1232%2C31.5%20L1240%2C31.3%20L1248%2C31.5%20L1256%2C32.2%20L1264%2C33.1%20L1272%2C34.0%20L1280%2C34.5%20L1288%2C34.5%20L1296%2C33.9%20L1304%2C32.8%20L1312%2C31.6%20L1320%2C30.6%20L1328%2C30.1%20L1336%2C30.0%20L1344%2C30.4%20L1352%2C31.0%20L1360%2C31.3%20L1368%2C31.3%20L1376%2C30.9%20L1384%2C30.2%20L1392%2C29.5%20L1400%2C29.3%20L1408%2C29.7%20L1416%2C30.7%20L1424%2C32.3%20L1432%2C34.1%20L1440%2C35.8%22%20transform%3D%22translate%280%2C9%29%22%20fill%3D%22none%22%20stroke%3D%22%23D0C09D%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%221.4%22%20vector-effect%3D%22non-scaling-stroke%22/%3E%3C/svg%3E") top/100% 80px no-repeat; pointer-events:none; z-index:1;}
html body .e-con:has(+ .e-con.rvShoreTop) {padding-bottom:calc(var(--padding-bottom, 84px) + 56px) !important;}
@media (max-width:767px){
  html body .e-con.rvShoreTop {margin-top:-40px !important; padding-top:calc(var(--padding-top, 56px) + 28px) !important;
    -webkit-mask-size:100% 40px, 100% calc(100% - 39px); mask-size:100% 40px, 100% calc(100% - 39px); -webkit-mask-position:top, 0 39px; mask-position:top, 0 39px;}
  html body .e-con.rvShoreTop::after {height:40px; background-size:100% 40px;}
  html body .e-con:has(+ .e-con.rvShoreTop) {padding-bottom:calc(var(--padding-bottom, 56px) + 28px) !important;} }
/* heroes whose content sits near the bottom get room above the shoreline */
html body .e-con.rvHasShore.houseHero, html body .e-con.rvHasShore.checkoutHero, html body .e-con.rvHasShore.legalHero, html body .e-con.rvHasShore.postHero {padding-bottom:calc(var(--padding-bottom, 60px) + 64px) !important;}
@media (max-width:767px){
  html body .e-con.rvHasShore.checkoutHero, html body .e-con.rvHasShore.legalHero, html body .e-con.rvHasShore.postHero {padding-bottom:calc(var(--padding-bottom, 40px) + 26px) !important;}
  html body .e-con.rvHasShore.houseHero {padding-bottom:var(--padding-bottom) !important;}
  html body .houseHero .rvShore {display:none;} }
html body .e-con.rvShoreTop {padding-top:calc(var(--padding-top, 64px) + 32px) !important;}
/* ===== Polaroids: image widget with class rvPolaroid + a custom caption (handwritten). Tilt with rvTilt1..rvTilt6, tape with rvTaped ===== */
html body .rvPolaroid figure.wp-caption {margin:0; background:#fff; padding:12px 12px 0; border-radius:3px; box-shadow:0 16px 34px rgba(15,29,48,.14), 0 2px 6px rgba(15,29,48,.08); transform:rotate(var(--rvTilt,0deg)); transition:transform .5s cubic-bezier(.2,.75,.5,1), box-shadow .5s; position:relative;}
html body .rvPolaroid figure.wp-caption img {display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:1px !important;}
html body .rvPolaroid figcaption.widget-image-caption {font-family:LogoFont,cursive; font-size:25px; line-height:1; color:#203350; text-align:center; padding:14px 6px 16px; margin:0 !important; font-style:normal;}
html body .rvTaped figure.wp-caption::before {content:""; position:absolute; top:-12px; left:50%; width:86px; height:24px; margin-left:-43px; background:rgba(232,222,207,.85); box-shadow:0 1px 2px rgba(0,0,0,.06); transform:rotate(-3deg); z-index:2;}
.rvTilt1 {--rvTilt:-2.2deg;} .rvTilt2 {--rvTilt:1.6deg;} .rvTilt3 {--rvTilt:-1deg;} .rvTilt4 {--rvTilt:2deg;} .rvTilt5 {--rvTilt:-1.6deg;} .rvTilt6 {--rvTilt:1.2deg;}
html body .e-con:hover > .rvPolaroid figure.wp-caption {transform:rotate(0) translateY(-6px) scale(1.02); box-shadow:0 24px 44px rgba(15,29,48,.2), 0 2px 6px rgba(15,29,48,.08);}
html body .rvPolaroid + .elementor-widget {margin-top:22px !important;}
@media (max-width:767px){ html body .rvPolaroid figcaption.widget-image-caption {font-size:22px;} }

/* ===== Journal: story cards as polaroids, featured story taped down with an Island Notes stamp ===== */
html body .journalCard:not(.isFeatured) {background:#fff; border:0 !important; border-radius:3px !important; padding:12px; box-shadow:0 16px 34px rgba(15,29,48,.12), 0 2px 6px rgba(15,29,48,.07); transition:transform .5s cubic-bezier(.2,.75,.5,1), box-shadow .5s; position:relative; overflow:visible !important;}
html body .journalCard:not(.isFeatured):nth-of-type(3n+1) {transform:rotate(-1.2deg);}
html body .journalCard:not(.isFeatured):nth-of-type(3n+2) {transform:rotate(.9deg);}
html body .journalCard:not(.isFeatured):nth-of-type(3n) {transform:rotate(-.5deg);}
html body .journalCard:not(.isFeatured):hover {transform:rotate(0) translateY(-6px); box-shadow:0 24px 44px rgba(15,29,48,.18), 0 2px 6px rgba(15,29,48,.07);}
html body .journalCard:not(.isFeatured) .jcImg {border-radius:1px; overflow:hidden; display:block;}
html body .journalCard:not(.isFeatured) .jcBody {padding:20px 10px 14px;}
html body .journalCard:not(.isFeatured) .jcCat {font-family:LogoFont,cursive; font-size:26px; letter-spacing:0; text-transform:lowercase; color:#B56B82; display:inline-block; transform:rotate(-3deg); margin:-38px 0 8px -2px; position:relative; z-index:2; background:#fff; padding:2px 12px 6px; border-radius:3px;}
html body .journalCard:not(.isFeatured):nth-of-type(2n)::before {content:""; position:absolute; top:-11px; left:50%; width:84px; height:22px; margin-left:-42px; background:rgba(232,222,207,.85); transform:rotate(2deg); z-index:3;}
html body .journalCard.isFeatured {position:relative; overflow:visible !important; box-shadow:0 18px 40px rgba(15,29,48,.12);}
html body .journalCard.isFeatured::before, html body .journalCard.isFeatured::after {content:""; position:absolute; top:6px; width:96px; height:24px; background:rgba(232,222,207,.85); z-index:3;}
html body .journalCard.isFeatured::before {left:-22px; transform:rotate(-32deg);}
html body .journalCard.isFeatured::after {right:-22px; transform:rotate(32deg);}
html body .journalCard.isFeatured .jcCat {font-family:LogoFont,cursive; font-size:30px; letter-spacing:0; text-transform:lowercase; color:#B56B82; display:inline-block; transform:rotate(-3deg);}
html body .journalCard.isFeatured .jcBody {position:relative;}
html body .journalCard.isFeatured .jcBody::after {content:""; position:absolute; right:40px; bottom:34px; width:118px; height:118px; opacity:.85; transform:rotate(-12deg); pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23967C6B'%3E%3Ccircle cx='60' cy='60' r='54' stroke-width='2'/%3E%3Ccircle cx='60' cy='60' r='38' stroke-width='1.2'/%3E%3Cpath id='a' d='M18,60 a42,42 0 0,1 84,0'/%3E%3Ctext fill='%23967C6B' stroke='none' font-family='Azo Sans' font-size='9.5' letter-spacing='2.5' font-weight='600'%3E%3CtextPath href='%23a' startOffset='50%25' text-anchor='middle'%3ETHE REVERIE%3C/textPath%3E%3C/text%3E%3Ctext x='60' y='58' fill='%23967C6B' stroke='none' font-family='Azo Sans' font-size='8' text-anchor='middle' letter-spacing='2'%3EISLAND%3C/text%3E%3Ctext x='60' y='70' fill='%23967C6B' stroke='none' font-family='Azo Sans' font-size='8' text-anchor='middle' letter-spacing='2'%3ENOTES%3C/text%3E%3C/svg%3E") no-repeat center/contain;}
@media (max-width:767px){ html body .journalCard.isFeatured .jcBody::after {width:80px; height:80px; right:14px; bottom:14px;} html body .journalCard.isFeatured::before {left:-12px;} html body .journalCard.isFeatured::after {right:-12px;} }
/* home: jungle band no longer needs its top rule now the wide home tiles are gone */
html body .homeHero ~ #why .whyBandInner.e-con {border-top:0 !important; padding-top:0 !important;}
html body .homeHero ~ #why.rvShoreTop {padding-top:calc(var(--padding-top, 64px) + 16px) !important;}
/* ===== Home: Local Roots as a strip of polaroids (native scroll, drag with mouse, arrow buttons) ===== */
html body .rvStrip.e-con {display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; gap:34px !important; overflow-x:auto; overflow-y:visible; scroll-snap-type:x proximity; scroll-padding-left:8px;
  padding:26px 8px 30px !important; margin-right:calc(50% - 50vw) !important; width:auto !important; max-width:none !important; scrollbar-width:none; cursor:grab; -webkit-overflow-scrolling:touch;}
html body .rvStrip.e-con::-webkit-scrollbar {display:none;}
html body .rvStrip.isDragging {cursor:grabbing; scroll-snap-type:none; user-select:none;}
html body .rvStrip.isDragging a {pointer-events:none;}
html body .rvStrip .islCard.e-con {flex:0 0 270px !important; width:270px !important; max-width:none !important; scroll-snap-align:start; padding:0 !important;}
html body .rvStrip .islCard .elementor-widget-image {overflow:visible !important; border-radius:0 !important;}
html body .rvStrip .islCard .elementor-widget-image a {pointer-events:auto; display:block;}
html body .rvStrip .islCard .elementor-widget-image img {aspect-ratio:4/5 !important; transform:none !important; pointer-events:none;}
html body .rvStrip .islCard .rvPolaroid figcaption.widget-image-caption {font-size:24px;}
html body .rvStrip .islCard p.small {font-size:14px !important; line-height:1.5 !important; color:#435362 !important; padding:0 8px; margin:0;}
.rvStripNav {display:flex; align-items:center; gap:12px; margin-top:8px;}
.rvStripBtn {width:46px; height:46px; border-radius:50%; border:1px solid #203350; background:transparent; display:flex; align-items:center; justify-content:center; padding:0; cursor:pointer; transition:background .3s, border-color .3s, opacity .3s;}
.rvStripBtn svg {width:18px; height:18px; fill:none; stroke:#203350; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s;}
.rvStripBtn:hover:not(:disabled) {background:#B56B82; border-color:#B56B82;} .rvStripBtn:hover:not(:disabled) svg {stroke:#fff;}
.rvStripBtn:disabled {opacity:.3; cursor:default;}
.rvStripHint {font-family:LogoFont,cursive; font-size:22px; color:#967C6B; margin-left:14px; transform:rotate(-3deg); position:relative; padding-right:56px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 30' fill='none' stroke='%23967C6B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20c12-8 28-10 48-4'/%3E%3Cpath d='M44 9l8 7-9 5'/%3E%3C/svg%3E") no-repeat right center/46px 24px;}
@media (max-width:767px){ html body .rvStrip .islCard.e-con {flex-basis:72vw !important; width:72vw !important;} html body .rvStrip.e-con {gap:24px !important;} .rvStripHint {font-size:19px;} }
html body .rvStrip.e-con {align-self:stretch !important; min-width:0 !important;}
html body .rvStrip.e-con {width:calc(100% + 50vw - 50%) !important; flex:none !important;}
html body .rvStripNav button.rvStripBtn {width:46px !important; height:46px !important; min-width:0 !important; border-radius:50% !important; border:1px solid #203350 !important; background:transparent !important; padding:0 !important; margin:0 !important; box-shadow:none !important; display:flex !important; align-items:center; justify-content:center; transform:none !important;}
html body .rvStripNav button.rvStripBtn svg {display:block; width:18px; height:18px; fill:none !important; stroke:#203350 !important;}
html body .rvStripNav button.rvStripBtn:hover:not(:disabled) {background:#B56B82 !important; border-color:#B56B82 !important;}
html body .rvStripNav button.rvStripBtn:hover:not(:disabled) svg {stroke:#fff !important;}
html body .rvStripNav button.rvStripBtn:disabled {opacity:.3 !important; cursor:default;}
html body .rvStrip .islCard .rvPolaroid figcaption.widget-image-caption {font-size:22px; white-space:nowrap;}
.rvStripHint {white-space:nowrap;}
@media (max-width:767px){ .rvStripHint {font-size:0; padding-right:46px;} .rvStripHint::before {content:"swipe for more"; font-size:19px;} }
html body .rvStrip .islCard {cursor:pointer;}
html body .rvStrip.isDragging .islCard {cursor:grabbing;}
html body .rvHeadLink a {color:inherit; background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s cubic-bezier(.2,.75,.5,1);}
html body .rvHeadLink a:hover {background-size:100% 1px; color:inherit;}
/* strip hint: the hand-drawn arrow points back up at the polaroids */
.rvStripHint {padding-right:50px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 44' fill='none' stroke='%23967C6B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 38c10 2 22-1 30-8 7-6 11-14 14-24'/%3E%3Cpath d='M39 9l8-5 4 9'/%3E%3C/svg%3E") no-repeat right bottom/40px 30px; padding-top:6px;}
@media (max-width:767px){ .rvStripHint {padding-right:42px; background-size:34px 26px;} }
/* ===== Postmarks ===== */
.newsCollage .rvPostmark {position:absolute; width:210px; left:420px; top:-34px; z-index:7; transform:rotate(-9deg); opacity:.9; pointer-events:none; filter:drop-shadow(0 1px 1px rgba(15,29,48,.35));}
@media (max-width:767px){ .newsCollage .rvPostmark {width:130px; left:215px; top:-34px;} }
html body .checkoutHero {position:relative;}
.rvPostmark.rvPmHero {position:absolute; width:230px; right:6%; top:50%; margin-top:-90px; transform:rotate(-10deg); opacity:.8; pointer-events:none;}
@media (max-width:1024px){ .rvPostmark.rvPmHero {position:static; display:block; width:150px; margin:0 auto 10px; transform:rotate(-8deg);} }
html body .contactFormCard {position:relative;}
.rvPostmark.rvPmCard {position:absolute; width:200px; right:22px; top:16px; transform:rotate(-8deg); opacity:.75; pointer-events:none;}
@media (max-width:767px){ .rvPostmark.rvPmCard {width:130px; right:10px; top:12px;} }
.rvPostmark.rvPmHero {right:-300px; top:-6px; margin-top:0; width:240px; opacity:1;}
@media (max-width:1240px){ .rvPostmark.rvPmHero {position:static; display:block; width:150px; margin:0 auto 10px; transform:rotate(-8deg);} }
.rvPostmark.rvPmCard {opacity:.95;}
/* ===== Guest Book: testimonials as a stack of postcards ([reverie_guestbook]) ===== */
.gbWrap {position:relative; padding:10px 18px 0;}
.gbStack {position:relative; min-height:300px; cursor:pointer;}
.gbCard {position:absolute; top:0; left:0; right:0; display:grid; grid-template-columns:1.3fr 1fr; background:#FDFBF7; border-radius:4px; padding:40px 36px 34px; box-shadow:0 18px 40px rgba(15,29,48,.13), 0 2px 6px rgba(15,29,48,.07); transition:transform .5s cubic-bezier(.2,.75,.5,1), opacity .5s; transform-origin:50% 60%;}
.gbCard.gbP0 {transform:rotate(-1.2deg);}
.gbCard.gbP1 {transform:rotate(2.4deg) translate(16px,10px);}
.gbCard.gbP2 {transform:rotate(-3.6deg) translate(-12px,16px);}
.gbCard.gbP1 > *, .gbCard.gbP2 > * {opacity:0; transition:opacity .3s;}
.gbCard.gbOut {transform:translate(-115%,-30px) rotate(-16deg) !important; opacity:0;}
.gbCard.gbIn {transform:translate(-115%,-30px) rotate(-16deg) !important; opacity:0; transition:none !important;}
.gbMsg {padding-right:32px; border-right:1px solid #ddd3c3; display:flex; flex-direction:column; justify-content:center;}
.gbStars i {color:#D0C09D; font-size:13px; margin-right:4px;}
.gbMsg blockquote {font-family:LuxentaSemBd,'Azo Sans',sans-serif; font-weight:400; font-size:18px; line-height:1.6; color:#203350; margin:16px 0 0; padding:0; border:0; font-style:normal; quotes:none;}
.gbMsg blockquote::before {content:"\201C"; font-family:LogoFont,cursive; font-size:64px; line-height:0; color:#B56B82; vertical-align:-24px; margin-right:6px;}
.gbAddr {position:relative; padding:116px 0 0 32px; display:flex; flex-direction:column; justify-content:flex-end;}
.gbStamp {position:absolute; top:0; right:0; width:72px; height:86px; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 3px rgba(0,0,0,.12);
  -webkit-mask:radial-gradient(circle 4px at 4px 4px,transparent 98%,#000) -4px -4px/9px 9px; mask:radial-gradient(circle 4px at 4px 4px,transparent 98%,#000) -4px -4px/9px 9px; outline:1px solid #eadfcf; outline-offset:-8px;}
.gbStamp svg {width:36px; height:36px;}
.gbAddr .gbPm {position:absolute; top:14px; right:34px; width:200px; transform:rotate(-10deg); opacity:.8; pointer-events:none;}
.gbTo {font-family:LogoFont,cursive; font-size:36px; line-height:1.1; color:#203350; margin:0; padding-bottom:6px; border-bottom:1px solid #ddd3c3;}
.gbLine {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#967C6B; margin:0; padding:12px 0 6px; border-bottom:1px solid #ddd3c3;}
.gbNav {display:flex; align-items:center; justify-content:center; gap:18px; margin-top:44px;}
html body .gbNav button.rvStripBtn {width:46px !important; height:46px !important; min-width:0 !important; border-radius:50% !important; border:1px solid #203350 !important; background:transparent !important; padding:0 !important; margin:0 !important; box-shadow:none !important; display:flex !important; align-items:center; justify-content:center; transform:none !important;}
html body .gbNav button.rvStripBtn svg {display:block; width:18px; height:18px; fill:none !important; stroke:#203350 !important; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
html body .gbNav button.rvStripBtn:hover {background:#B56B82 !important; border-color:#B56B82 !important;} html body .gbNav button.rvStripBtn:hover svg {stroke:#fff !important;}
.gbCount {font-size:12px; letter-spacing:.2em; color:#967C6B; min-width:52px; text-align:center;} .gbCount b {color:#203350; font-weight:600;}
@media (max-width:767px){
  .gbWrap {padding:6px 4px 0;}
  .gbCard {grid-template-columns:1fr; padding:30px 24px 26px;}
  .gbMsg {padding:0 0 22px; border-right:0; border-bottom:1px solid #ddd3c3;}
  .gbMsg blockquote {font-size:16px;}
  .gbAddr {padding:96px 0 0;}
  .gbStamp {top:20px; width:60px; height:72px;} .gbAddr .gbPm {top:30px; right:26px; width:160px;}
  .gbTo {font-size:30px;}
}
/* Guest book section */
html body .gbSection .gbHead h2 {margin-bottom:14px;}
html body .gbSection .gbScript {font-family:LogoFont,cursive; font-size:30px; color:#B56B82; transform:rotate(-3deg); display:inline-block; margin-top:6px;}
.gbStamp {-webkit-mask:none !important; mask:none !important; outline:0; border:4px dotted #FDFBF7; box-shadow:0 0 0 1px #e8decf, 0 2px 4px rgba(0,0,0,.08);}
.gbStamp::after {content:""; position:absolute; inset:5px; border:1px solid #eadfcf;}
.gbCard.gbReveal > * {opacity:1 !important;}
.gbAddr .gbPm {opacity:1;}
/* footer postcards: a few real shells lying on the table */
.newsCollage .ncShell {position:absolute; height:auto; pointer-events:none; filter:drop-shadow(0 10px 12px rgba(10,20,30,.45)); z-index:4;}
.newsCollage .ncShell1 {width:92px; left:-46px; top:300px; transform:rotate(-14deg);}
.newsCollage .ncShell2 {width:104px; left:470px; top:44px; transform:rotate(28deg); z-index:2;}
.newsCollage .ncShell3 {width:78px; left:528px; top:352px; transform:rotate(10deg); z-index:4;}
@media (max-width:1024px){ .newsCollage .ncShell1 {left:-10px;} }
@media (max-width:767px){
  .newsCollage .ncShell1 {width:60px; left:-6px; top:214px;}
  .newsCollage .ncShell2 {width:66px; left:300px; top:26px;}
  .newsCollage .ncShell3 {width:52px; left:318px; top:258px;} }
@media (max-width:767px){ .newsCollage .ncShell2 {left:268px; top:8px;} .newsCollage .ncShell3 {left:296px;} html body .footerNews {overflow-x:clip;} }
/* footer postcards: a cluster of shells where the postmark was */
.newsCollage .ncShells {position:absolute; width:250px; height:auto; left:430px; top:-58px; z-index:7; transform:rotate(-6deg); pointer-events:none; filter:drop-shadow(0 14px 16px rgba(10,20,30,.45));}
@media (max-width:767px){ .newsCollage .ncShells {width:150px; left:220px; top:-44px;} }
.newsCollage .ncShells {top:-22px; left:440px; width:240px;} @media (max-width:767px){ .newsCollage .ncShells {top:-18px; left:228px; width:140px;} }
.newsCollage .ncShells {width:170px; top:-8px; left:470px;} @media (max-width:767px){ .newsCollage .ncShells {width:100px; top:-10px; left:250px;} }
.newsCollage .ncShells {width:120px; left:418px; top:8px; transform:rotate(-6deg); z-index:1;}
@media (max-width:767px){ .newsCollage .ncShells {width:72px; left:256px; top:0;} }
/* guest book: the card in front is crisp white, the ones behind stay cream */
.gbCard {transition:transform .5s cubic-bezier(.2,.75,.5,1), opacity .5s, background-color .4s;}
.gbCard.gbP0 {background:#FFFFFF;}
/* ===== Reverie seal (class rvSealTR / rvSealTL on an image widget or container) ===== */
html body .rvHasSeal {position:relative; overflow:visible !important;}
.rvSeal {position:absolute; top:-18px; right:-14px; width:62px; z-index:5; pointer-events:none; line-height:0; filter:drop-shadow(0 8px 14px rgba(15,29,48,.3)); transform:rotate(8deg); transition:transform .6s cubic-bezier(.2,.75,.5,1);}
.rvSealTL > .rvSeal {right:auto; left:-14px; transform:rotate(-8deg);}
.rvSeal svg {display:block; width:100%; height:auto;}
.rvSeal .slSpin {transform-origin:100px 100px; animation:rvSpin 48s linear infinite;}
.rvHasSeal:hover > .rvSeal {transform:rotate(0) scale(1.08);}
@media (max-width:767px){ .rvSeal {width:54px; top:-14px; right:-8px;} .rvSealTL > .rvSeal {left:-8px;} }
@media (prefers-reduced-motion:reduce){ .rvSeal .slSpin {animation:none;} }
@keyframes rvSpin {to {transform:rotate(360deg);}}
/* seal sitting on a section break: add class rvSealBreak to the section below the break */
.rvSealAnchor {position:relative; height:0; z-index:6; pointer-events:none;}
.rvSealAnchor .rvSeal {width:116px; right:12%; top:-98px; transform:rotate(-8deg);}
.rvSealAnchor + .rvShoreTop {z-index:2;}
@media (max-width:1024px){ .rvSealAnchor .rvSeal {right:6%;} }
@media (max-width:767px){ .rvSealAnchor .rvSeal {width:84px; top:-62px; right:24px;} }
/* home: more room between the home cards and the shoreline (anchor for the seal sits between them) */
html body .e-con:has(+ .rvSealAnchor + .rvShoreTop) {padding-bottom:calc(var(--padding-bottom, 84px) + 110px) !important;}
@media (max-width:767px){ html body .e-con:has(+ .rvSealAnchor + .rvShoreTop) {padding-bottom:calc(var(--padding-bottom, 56px) + 60px) !important;} }
/* home jungle band: two candid polaroids */
html body .whyPolas.e-con {position:relative; min-height:360px; display:block !important;}
html body .whyPolas .whyPola1 {width:68%; position:relative; z-index:1;}
html body .whyPolas .whyPola2 {width:60%; position:absolute !important; right:0; top:110px; z-index:2;}
html body .whyPolas .rvPolaroid figure.wp-caption img {aspect-ratio:4/5 !important;}
html body .whyPolas .rvPolaroid figcaption.widget-image-caption {font-size:21px; white-space:nowrap;}
html body .whyPolas .rvPolaroid + .elementor-widget {margin-top:0 !important;}
@media (max-width:767px){ html body .whyPolas.e-con {min-height:0; height:420px; width:100% !important;} html body .whyPolas .whyPola1 {width:62%;} html body .whyPolas .whyPola2 {width:56%; top:120px;} }
html body .whyPolas .whyPola1 {width:62%;}
html body .whyPolas .whyPola2 {width:54%; right:-6%; top:120px;}
@media (max-width:767px){ html body .whyPolas .whyPola1 {width:58%;} html body .whyPolas .whyPola2 {width:52%; right:0; top:110px;} }
/* home: a little less room above the break */
html body .e-con:has(+ .rvSealAnchor + .rvShoreTop) {padding-bottom:calc(var(--padding-bottom, 84px) + 56px) !important;}
@media (max-width:767px){ html body .e-con:has(+ .rvSealAnchor + .rvShoreTop) {padding-bottom:calc(var(--padding-bottom, 56px) + 34px) !important;} }
/* jungle band polaroids: second one square so the pair ends sooner */
html body .whyPolas .whyPola2 figure.wp-caption img {aspect-ratio:1/1 !important;}
html body .whyPolas.e-con {min-height:330px;}
/* home cards: hover zoom, navy wash and a Book Now prompt on the photo */
html body .homeCardImg a {display:block; position:relative; overflow:hidden; border-radius:6px;}
html body .homeCardImg img {transition:transform .9s cubic-bezier(.2,.75,.5,1) !important;}
html body .homeCard:hover .homeCardImg img {transform:scale(1.06);}
html body .homeCardImg a::before {content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(15,29,48,.6), rgba(15,29,48,.15) 70%); opacity:0; transition:opacity .5s;}
html body .homeCardImg a::after {content:"Book Now"; position:absolute; left:50%; top:50%; z-index:2; transform:translate(-50%,-30%); opacity:0; transition:opacity .45s, transform .55s cubic-bezier(.2,.75,.5,1);
  background:#B56B82; color:#fff; font-family:'Azo Sans',sans-serif; font-size:13px; letter-spacing:.2em; text-transform:uppercase; padding:15px 30px; border-radius:4px; white-space:nowrap;}
html body .homeCard:hover .homeCardImg a::before {opacity:1;}
html body .homeCard:hover .homeCardImg a::after {opacity:1; transform:translate(-50%,-50%);}
html body .homeCardImg a:hover::after {background:#9E5A6F;}
html body .homeCard .homeCardTitle .elementor-heading-title {background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s cubic-bezier(.2,.75,.5,1); display:inline;}
html body .homeCard:hover .homeCardTitle .elementor-heading-title {background-size:100% 1px;}
@media (hover:none){ html body .homeCardImg a::after {opacity:1; transform:translate(-50%,-50%); top:auto; bottom:14px; transform:translate(-50%,0); padding:10px 20px; font-size:11px;} }
/* Airbnb / Vrbo honors (laurel badges, no platform logos), carried over from the CVVC design */
html body .elementor-widget.rvBadgesW {width:100%; margin-top:26px !important;}
.rvbadges {display:flex; justify-content:flex-start; flex-wrap:wrap; gap:18px 34px;}
.rvbadge {display:flex; align-items:center; gap:4px; color:#203350; text-decoration:none; transition:transform .3s ease;}
a.rvbadge:hover {transform:translateY(-3px);}
.rvlaurel {width:30px; height:46px; color:#D0C09D; flex:0 0 auto;}
.rvlaurel--r {transform:scaleX(-1);}
.rvbadge__text {display:flex; flex-direction:column; align-items:center; line-height:1; padding:0 2px;}
.rvbadge__stars {font-size:11px; letter-spacing:2px; color:#D0C09D; margin-bottom:6px;}
.rvbadge__title {font-family:LuxentaSemBd,'Azo Sans',sans-serif; font-weight:400; font-size:19px; color:#203350; white-space:nowrap;}
.rvbadge__plat {font-family:'Azo Sans',sans-serif; font-size:9.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:#967C6B; margin-top:6px;}
@media (max-width:1024px){ .rvbadges {justify-content:center;} }
.rvInlineScript {font-family:LogoFont,cursive; font-size:1.75em; line-height:1; color:#B56B82; margin-right:6px; vertical-align:-2px; white-space:nowrap;}
html body .homeCardImg a::after {line-height:1 !important; padding:16px 30px 15px; height:auto; display:block;}
html body .homeCard .homeCardTitle a {color:inherit;} html body .homeCard .homeCardTitle .elementor-heading-title a {background:none;}
/* home cards: Learn more always sits at the bottom so the links line up across a row */
html body .homeCard.e-con {display:flex !important; flex-direction:column !important;}
html body .homeCard.e-con > .elementor-widget:last-child {margin-top:auto !important;}
html body .whyPolas.e-con {margin-top:-36px !important; margin-bottom:56px !important;} @media (max-width:767px){ html body .whyPolas.e-con {margin-top:0 !important; margin-bottom:30px !important;} }
/* home: journal teaser (three latest stories as polaroids) */
html body .journalTeaser {display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:40px !important;}
html body .journalTeaser .journalCard {grid-column:auto !important;}
@media (max-width:1024px){ html body .journalTeaser {grid-template-columns:repeat(2,1fr) !important;} html body .journalTeaser .journalCard:nth-child(3) {display:none;} }
@media (max-width:767px){ html body .journalTeaser {grid-template-columns:1fr !important; gap:34px !important;} html body .journalTeaser .journalCard:nth-child(3) {display:block;} }
/* home journal: navy band, one big postcard story + a stack of smaller ones */
.jtFeature {display:grid; grid-template-columns:1.35fr 1fr; gap:56px; align-items:start;}
.jtBig {background:#fff; padding:14px 14px 0; border-radius:3px; box-shadow:0 24px 50px rgba(0,0,0,.35); transform:rotate(-1.2deg); position:relative; transition:transform .5s cubic-bezier(.2,.75,.5,1);}
.jtBig:hover {transform:rotate(0) translateY(-4px);}
.jtBig::before {content:""; position:absolute; top:-12px; left:50%; width:96px; height:24px; margin-left:-48px; background:rgba(232,222,207,.9); transform:rotate(-2deg); z-index:2;}
.jtBigImg {display:block; overflow:hidden; border-radius:1px;} .jtBigImg img {display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .9s cubic-bezier(.2,.75,.5,1);}
.jtBig:hover .jtBigImg img {transform:scale(1.04);}
.jtBigBody {padding:24px 14px 26px;}
.jtBig .jcCat, .jtItem .jcCat {font-family:LogoFont,cursive; font-size:26px; letter-spacing:0; text-transform:lowercase; color:#B56B82; display:inline-block; transform:rotate(-3deg); line-height:1;}
.jtBig .jcTitle {font-size:30px !important; line-height:1.2 !important; margin:8px 0 8px !important;} .jtBig .jcTitle a {color:#203350;}
.jtBig .jcMeta {font-size:12px; color:#967C6B; letter-spacing:.06em; margin:0 0 12px;} .jtBig .jcExcerpt {margin:0 0 16px;}
.jtList {display:flex; flex-direction:column;}
.jtItem {display:grid; grid-template-columns:132px 1fr; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.14); text-decoration:none;}
.jtItem:first-child {padding-top:4px;}
.jtThumb {display:block; background:#fff; padding:6px 6px 16px; border-radius:2px; box-shadow:0 10px 22px rgba(0,0,0,.3); transform:rotate(-2deg); transition:transform .45s cubic-bezier(.2,.75,.5,1);}
.jtItem:nth-child(2n) .jtThumb {transform:rotate(2deg);}
.jtThumb img {display:block; width:100%; aspect-ratio:1/1; object-fit:cover;}
.jtItem:hover .jtThumb {transform:rotate(0) scale(1.04);}
.jtItemBody {display:flex; flex-direction:column; align-items:flex-start;}
.jtItem .jcCat {font-size:22px; color:#D0C09D;}
.jtItemTitle {font-family:LuxentaSemBd,'Azo Sans',sans-serif; font-size:21px; line-height:1.3; color:#fff; margin:6px 0 6px; background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s;}
.jtItem:hover .jtItemTitle {background-size:100% 1px;}
.jtItem .jcMeta {font-size:12px; color:rgba(255,255,255,.55); letter-spacing:.06em;}
@media (max-width:1024px){ .jtFeature {grid-template-columns:1fr; gap:40px;} }
@media (max-width:767px){ .jtBig .jcTitle {font-size:24px !important;} .jtItem {grid-template-columns:96px 1fr; gap:16px;} .jtItemTitle {font-size:18px;} }
html body .jtDark .jtBig .jcExcerpt {color:#435362 !important;}
html body .jtDark .jtBig .jcMeta {color:#967C6B !important;}
html body .jtDark .jtBig .jcMore {color:#B56B82 !important; font-size:12px; letter-spacing:.2em; text-transform:uppercase;}
html body .jtDark .jtBig .jcTitle a {color:#203350 !important;}
/* journal teaser on a light background */
.jtLight .jtBig {box-shadow:0 18px 40px rgba(15,29,48,.14), 0 2px 6px rgba(15,29,48,.07);}
.jtLight .jtItem {border-bottom-color:#e3ddd3;}
.jtLight .jtThumb {box-shadow:0 8px 18px rgba(15,29,48,.16);}
.jtLight .jtItem .jcCat {color:#B56B82;}
.jtLight .jtItemTitle {color:#203350;}
.jtLight .jtItem .jcMeta {color:#967C6B;}
.jtLight .jtBig .jcMore {color:#B56B82; font-size:12px; letter-spacing:.2em; text-transform:uppercase;}
/* journal option 1: compact editorial row */
.jrRow {display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
.jrItem {display:grid; grid-template-columns:104px 1fr; gap:18px; align-items:center; text-decoration:none; padding-top:20px; border-top:1px solid #e3ddd3;}
.jrImg {display:block; overflow:hidden; border-radius:5px;} .jrImg img {display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .8s cubic-bezier(.2,.75,.5,1);}
.jrItem:hover .jrImg img {transform:scale(1.07);}
.jrBody {display:flex; flex-direction:column;}
.jrCat {font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:#B56B82; font-weight:600;}
.jrTitle {font-family:LuxentaSemBd,'Azo Sans',sans-serif; font-size:19px; line-height:1.3; color:#203350; margin:7px 0 6px; background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s;}
.jrItem:hover .jrTitle {background-size:100% 1px;}
.jrMeta {font-size:12px; color:#967C6B;}
.jrAll, .jnAll {font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#203350; text-decoration:none; padding-bottom:4px; border-bottom:1px solid currentColor; white-space:nowrap;}
.jrAll::after, .jnAll::after {content:" →";}
@media (max-width:1024px){ .jrRow {grid-template-columns:1fr; gap:0;} .jrItem {padding:18px 0;} }
/* journal option 3: latest stories inside the newsletter band */
.jnList {margin:22px 0 14px; border-top:1px solid rgba(255,255,255,.16);}
.jnItem {display:block; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); text-decoration:none;}
.jnCat {display:block; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:#D0C09D;}
.jnTitle {display:inline; font-family:LuxentaSemBd,'Azo Sans',sans-serif; font-size:19px; line-height:1.4; color:#fff; background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition:background-size .45s;}
.jnItem:hover .jnTitle {background-size:100% 1px;}
html body .footerNews .jnAll {color:#D0C09D; display:inline-block; margin:6px 0 30px;}
.jnSub {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); margin:0 0 4px !important;}
html body .footerNews .newsBody .gform_wrapper {margin-top:10px !important;}

/* footer journal band: stories list with icons and wavy shoreline rules */
.jnList {border-top:0 !important; margin:24px 0 18px !important;}
.jnItem {display:flex !important; align-items:center; gap:16px; padding:16px 0 18px !important; border-bottom:0 !important; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22240%22%20height%3D%228%22%20viewBox%3D%220%200%20240%208%22%3E%3Cpolyline%20points%3D%220%2C4.0%204%2C5.6%208%2C6.3%2012%2C6.0%2016%2C5.4%2020%2C5.3%2024%2C5.5%2028%2C5.2%2032%2C4.0%2036%2C2.4%2040%2C1.3%2044%2C1.4%2048%2C2.3%2052%2C3.2%2056%2C3.4%2060%2C3.5%2064%2C4.1%2068%2C5.4%2072%2C6.7%2076%2C6.9%2080%2C6.0%2084%2C4.6%2088%2C3.7%2092%2C3.5%2096%2C3.4%20100%2C2.7%20104%2C1.7%20108%2C1.2%20112%2C1.8%20116%2C3.3%20120%2C4.8%20124%2C5.4%20128%2C5.3%20132%2C5.3%20136%2C5.8%20140%2C6.3%20144%2C6.1%20148%2C4.8%20152%2C3.0%20156%2C1.9%20160%2C1.9%20164%2C2.4%20168%2C2.7%20172%2C2.5%20176%2C2.5%20180%2C3.3%20184%2C4.9%20188%2C6.3%20192%2C6.7%20196%2C6.1%20200%2C5.2%20204%2C4.7%20208%2C4.7%20212%2C4.3%20216%2C3.2%20220%2C1.8%20224%2C1.0%20228%2C1.5%20232%2C2.8%20236%2C3.9%20240%2C4.3%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%22.28%22%20stroke-width%3D%221.1%22/%3E%3C/svg%3E") repeat-x left bottom/240px 8px;}
.jnItem:first-child {padding-top:4px !important;}
.jnIcon {flex:0 0 40px; height:40px; border-radius:50%; border:1px solid rgba(208,192,157,.55); display:flex; align-items:center; justify-content:center; transition:background .35s, border-color .35s;}
.jnIcon svg {width:20px; height:20px; fill:none; stroke:#D0C09D; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; transition:stroke .35s;}
.jnItem:hover .jnIcon {background:#B56B82; border-color:#B56B82;} .jnItem:hover .jnIcon svg {stroke:#fff;}
.jnBody {display:flex; flex-direction:column; align-items:flex-start;}
.jnCat {margin-bottom:3px;}
/* footer signup row */
html body .footerSignup.e-con {border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:10px;}
.fsTitle {font-family:Vogun,serif; font-weight:400; font-size:28px; color:#fff; margin:0 0 6px;}
.fsText {color:rgba(255,255,255,.7); margin:0; font-size:15px;}
html body .fsForm .gform_wrapper, html body .fsForm .gform_wrapper form {margin:0 !important;}
html body .fsForm .gform_wrapper form {display:flex; flex-wrap:wrap; gap:10px; align-items:stretch;}
html body .fsForm .gform_wrapper .gform_body {flex:1 1 auto; width:auto !important;}
html body .fsForm .gform_fields {display:flex !important; gap:10px !important; grid-template-columns:none !important;}
html body .fsForm .gfield {flex:1 1 0; margin:0 !important;}
html body .fsForm .gfield_label {position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}
html body .fsForm input[type=text], html body .fsForm input[type=email] {width:100% !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.22) !important; color:#fff !important; padding:12px 14px !important; border-radius:4px !important; height:auto !important;}
html body .fsForm .gform_footer {margin:0 !important; padding:0 !important;}
html body .fsForm .gform_button {background:#B56B82 !important; color:#fff !important; border:0 !important; border-radius:4px !important; padding:13px 26px !important; letter-spacing:.2em; text-transform:uppercase; font-size:12px !important;}
html body .fsForm .gform_button:hover {background:#9E5A6F !important;}
html body .fsForm .newsPrivacy {font-size:12px; color:rgba(255,255,255,.5); margin:10px 0 0;}
@media (max-width:767px){ html body .fsForm .gform_fields {flex-direction:column;} html body .fsForm .gform_wrapper form {flex-direction:column;} }
html body .footerCustom h4.fsTitle {color:#fff !important; font-family:Vogun,serif !important; font-size:28px !important; letter-spacing:0 !important; text-transform:none !important; font-weight:400 !important;}
/* header always starts transparent over any hero (journal posts used to start navy) */
html body:has(.conciergeHero, .legalHero, .checkoutHero, .houseHero, .postHero):not(.rvScrolled) .rvHeader {background:transparent !important; box-shadow:none !important;}
/* journal: no "Stories From the Island" band on the journal itself (the footer signup stays) */
html body.single-post .footerNews, html body.page-id-1221 .footerNews {display:none !important;}
/* journal post navigation */
html body .elementor-widget.postNavW {width:100%; margin-top:56px !important;}
.postNavRv {display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; padding:26px 0; border-top:1px solid #e3ddd3; border-bottom:1px solid #e3ddd3;}
.pnSide {display:flex; align-items:center; gap:16px; text-decoration:none; min-width:0;}
.pnNext {justify-content:flex-end; text-align:right; flex-direction:row-reverse;}
.pnArrow {flex:0 0 44px; height:44px; border-radius:50%; border:1px solid #203350; display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s;}
.pnArrow svg {width:17px; height:17px; fill:none; stroke:#203350; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s;}
.pnSide:hover .pnArrow {background:#B56B82; border-color:#B56B82;} .pnSide:hover .pnArrow svg {stroke:#fff;}
.pnText {display:flex; flex-direction:column; min-width:0;}
.pnLabel {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#967C6B; margin-bottom:4px;}
.pnTitle {font-family:LuxentaSemBd,'Azo Sans',sans-serif; font-size:18px; line-height:1.3; color:#203350; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.pnAll {display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none; padding:0 18px; border-left:1px solid #e3ddd3; border-right:1px solid #e3ddd3;}
.pnAll svg {width:22px; height:22px; fill:none; stroke:#B56B82; stroke-width:1.5; transition:transform .4s;}
.pnAll span {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#203350; white-space:nowrap;}
.pnAll:hover svg {transform:rotate(90deg);}
@media (max-width:767px){
  .postNavRv {grid-template-columns:1fr 1fr; gap:18px 14px;}
  .pnAll {grid-column:1 / -1; grid-row:2; flex-direction:row; justify-content:center; border:0; border-top:1px solid #e3ddd3; padding:16px 0 0;}
  .pnTitle {font-size:15px;} .pnArrow {flex-basis:38px; height:38px;} .pnSide {gap:10px;}
}
.pnLabel {line-height:1.3;}
@media (max-width:767px){
  .pnSide {flex-direction:column !important; align-items:flex-start; gap:10px;}
  .pnNext {align-items:flex-end;}
  .pnLabel {font-size:10px; letter-spacing:.16em; white-space:nowrap;}
  .pnTitle {font-size:15px; line-height:1.3;}
}
@media (max-width:767px){ .pnArrow {width:38px; height:38px; flex:0 0 auto !important;} .pnNext .pnText {align-items:flex-end;} }
/* journal posts: shorter hero, wider reading column */
html body .e-con.postHero {min-height:500px !important; --min-height:500px;}
@media (max-width:767px){ html body .e-con.postHero {min-height:400px !important; --min-height:400px;} }
html body .postSection > .e-con-inner > .e-con, html body .postSection > .e-con {width:100% !important; max-width:960px !important; --width:960px;}
html body .e-con.postHero {min-height:498px !important; --min-height:498px; padding-bottom:110px !important;}
html body .e-con.rvHasShore.postHero {padding-bottom:96px !important;} @media (max-width:767px){ html body .e-con.rvHasShore.postHero {padding-bottom:60px !important;} }
html body .e-con.postHero {min-height:573px !important; --min-height:573px;} @media (max-width:767px){ html body .e-con.postHero {min-height:450px !important; --min-height:450px;} }
/* journal stories: lead paragraph (larger serif, navy, berry drop cap) with photos beside it */
html body .postBody > p:first-child, html body .postBody .storyLeadText {font-family:LuxentaSemBd,'Azo Sans',serif; font-size:24px; line-height:1.55; color:#203350; margin:0 0 1.2em;}
html body .postBody > p:first-child::first-letter, html body .postBody .storyLeadText::first-letter {float:left; font-family:LogoFont,cursive; font-size:88px; line-height:.8; color:#B56B82; margin:10px 12px 0 -4px;}
.storyLead {display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; margin:0 0 3em; padding-bottom:2.6em; border-bottom:1px solid #e3ddd3;}
.storyLead .storyLeadText {margin:0 !important;}
.storyPics {position:relative; padding:0 0 60px 0;}
.storyPics figure {margin:0;}
.storyPics figure img {display:block; width:100%; object-fit:cover; border-radius:5px !important;}
.storyPics figure:first-child img {aspect-ratio:4/5;}
.storyPics figure:first-child {width:78%; margin-left:auto;}
.storyPics figure:nth-child(2) {position:absolute; left:0; bottom:0; width:54%; border:7px solid #fff; border-radius:6px; box-shadow:0 18px 36px rgba(15,29,48,.18);}
.storyPics figure:nth-child(2) img {aspect-ratio:1/1;}
.storyPics figure:only-child {width:100%;}
@media (max-width:767px){
  .storyLead {grid-template-columns:1fr; gap:34px;}
  html body .postBody > p:first-child, html body .postBody .storyLeadText {font-size:20px;}
  html body .postBody > p:first-child::first-letter, html body .postBody .storyLeadText::first-letter {font-size:70px;}
}
html body .postBody > p:first-child::first-letter, html body .postBody .storyLeadText::first-letter {font-family:LuxentaSemBd,serif; font-size:76px; line-height:.82; margin:8px 12px 0 0; color:#B56B82;} @media (max-width:767px){ html body .postBody > p:first-child::first-letter, html body .postBody .storyLeadText::first-letter {font-size:62px;} }
/* journal stories: no drop cap; lead paragraph in a serif italic */
html body .postBody > p:first-child::first-letter, html body .postBody .storyLeadText::first-letter {float:none; font:inherit; font-size:inherit; color:inherit; margin:0; line-height:inherit;}
html body .postBody > p:first-child, html body .postBody .storyLeadText {font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:500; font-size:29px; line-height:1.45; color:#203350;}
@media (max-width:767px){ html body .postBody > p:first-child, html body .postBody .storyLeadText {font-size:23px;} }
/* callout quote */
html body .postBody blockquote.storyQuote {border:0; margin:2.4em 0; padding:34px 0 30px; text-align:center; position:relative; border-top:1px solid #e3ddd3; border-bottom:1px solid #e3ddd3;}
html body .postBody blockquote.storyQuote::before {content:"\201C"; position:absolute; left:50%; top:-30px; transform:translateX(-50%); background:#fff; padding:0 14px; font-family:'Cormorant Garamond',Georgia,serif; font-size:72px; line-height:1; color:#B56B82;}
html body .postBody blockquote.storyQuote p {font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:500; font-size:34px; line-height:1.3; color:#203350; margin:0 auto; max-width:760px;}
@media (max-width:767px){ html body .postBody blockquote.storyQuote p {font-size:26px;} }
/* full-width photo with caption (breaks out of the text column) */
html body .postBody figure.storyWide {width:min(1240px, 100vw - 56px); margin:2.6em 0 2.8em; position:relative; left:50%; transform:translateX(-50%);}
html body .postBody figure.storyWide img {display:block; width:100%; aspect-ratio:21/9; object-fit:cover; border-radius:6px;}
html body .postBody figure figcaption {font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:18px; color:#967C6B; text-align:center; margin-top:12px;}
@media (max-width:767px){ html body .postBody figure.storyWide {width:calc(100vw - 32px);} html body .postBody figure.storyWide img {aspect-ratio:4/3;} }
/* photo slideshow */
html body .postBody .storySlides {margin:2.4em 0 2.6em;}
.ssTrack {display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:6px;}
.ssTrack::-webkit-scrollbar {display:none;}
.ssTrack figure {flex:0 0 100%; margin:0; scroll-snap-align:start;}
.ssTrack img {display:block; width:100%; aspect-ratio:3/2; object-fit:cover;}
.ssNav {display:flex; align-items:center; justify-content:center; gap:18px; margin-top:16px;}
html body .ssNav .ssBtn {width:42px !important; height:42px !important; border-radius:50% !important; border:1px solid #203350 !important; background:transparent !important; padding:0 !important; display:flex !important; align-items:center; justify-content:center; box-shadow:none !important;}
html body .ssNav .ssBtn svg {width:16px; height:16px; fill:none !important; stroke:#203350 !important; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
html body .ssNav .ssBtn:hover {background:#B56B82 !important; border-color:#B56B82 !important;} html body .ssNav .ssBtn:hover svg {stroke:#fff !important;}
.ssCount {font-size:12px; letter-spacing:.2em; color:#967C6B;} .ssCount b {color:#203350; font-weight:600;}
.ssTrack figcaption {margin-top:12px !important;}
html body .postBody .elementor-widget-container > p:first-child {font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:500; font-size:29px; line-height:1.45; color:#203350; margin-bottom:1.1em;}
@media (max-width:767px){ html body .postBody .elementor-widget-container > p:first-child {font-size:23px;} }
/* story intro: bolder italic serif in the dark green */
html body .postBody .elementor-widget-container > p:first-child, html body .postBody .storyLeadText {font-weight:600 !important; color:#264653 !important;}
html body .postBody .elementor-widget-container > p:first-child, html body .postBody .storyLeadText {font-family:'Playfair Display',Georgia,serif !important; font-weight:500 !important; font-size:26px !important; line-height:1.5 !important;}
@media (max-width:767px){ html body .postBody .elementor-widget-container > p:first-child, html body .postBody .storyLeadText {font-size:21px !important;} }
/* guest book: cards waiting in the stack are champagne and taupe; the front card is white */
.gbCard.gbP1 {background:#D0C09D;}
.gbCard.gbP2 {background:#967C6B;}
.gbCard.gbReveal {background:#FFFFFF;}
.gbCard {border:1px solid transparent;}
.gbCard.gbP1, .gbCard.gbP2 {background:#D0C09D; border-color:#967C6B;}
.gbCard.gbP0, .gbCard.gbReveal {background:#FFFFFF; border-color:transparent;}
.gbCard.gbP1, .gbCard.gbP2 {border-color:#F7F3EC;}
.gbCard.gbP0, .gbCard.gbReveal {border-color:#E8DECF;}
.gbCard.gbP0, .gbCard.gbReveal {border-color:#D6C9B4;}
/* ===== Footer: "Right Now On Harbour Island" conditions strip ===== */
html body .hv-fstrip.e-con {width:100% !important;}
.hv-fstrip .elementor-widget-shortcode {width:100%;}
.hv-fstrip .icx {max-width:1240px !important; width:100%; background:none !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.14) !important; padding:0 0 30px !important; margin:0 auto; gap:12px 44px; color:rgba(255,255,255,.85) !important;}
.hv-fstrip .icx-ico {align-items:center; gap:20px; color:#D0C09D; margin-bottom:10px;}
.hv-fstrip .icx-ico::before, .hv-fstrip .icx-ico::after {content:''; flex:1; height:1px; background:rgba(255,255,255,.14);}
.hv-fstrip .icx-ico svg {width:38px; height:38px; stroke:#D0C09D; stroke-width:1.2;}
.hv-fstrip .icx-lbl {display:flex; align-items:center; justify-content:center; color:#D0C09D; opacity:1; font-weight:600; font-size:12px; letter-spacing:.28em; margin-bottom:8px;}
.hv-fstrip .icx-i {font-size:13px; letter-spacing:.12em;}
.hv-fstrip .icx-i svg {width:26px; height:26px; stroke:#D0C09D; opacity:1;}
.hv-fstrip .icx-i b {font-size:15px; color:#fff; font-weight:500;}
.hv-fstrip .icx-i span {color:rgba(255,255,255,.7); opacity:1;}
@media (max-width:767px){ .hv-fstrip .icx {gap:16px 18px;} .hv-fstrip .icx-lbl {font-size:10.5px; letter-spacing:.18em;} .hv-fstrip .icx-i {font-size:12px; letter-spacing:.08em; align-items:flex-start;} .hv-fstrip .icx-i svg {width:22px; height:22px;} }
.hv-fstrip .icx-i > div {line-height:1.5;} @media (max-width:767px){ .hv-fstrip .icx-i > div {line-height:1.45;} .hv-fstrip .icx-i span {display:block;} }
