/* Refined warm-white direction: stronger olive, upright type, closer rhythm. */
html[data-theme="olive"] {
  --ink: #343a36;
  --muted: #59615b;
  --accent: #626b46;
  --soft-petrol: #69724f;
  --button-text: #fffefa;
  --button-hover: #56603f;
}
.button {font-weight: 500; letter-spacing: .2px;}
h1 em, h2 em, h3 em {font-style: normal;}
/* Keep one soft editorial detail in the home hero. */
.hero h1 em {font-style: italic;}
h2, h3 {font-family: Arial, Helvetica, sans-serif; font-weight: 400; letter-spacing: -1.2px; line-height: 1.18;}
h2 {font-size: clamp(34px, 3.4vw, 48px);}
h3 {font-size: 32px;}
.header nav a, .text-link {font-weight: 500;}
.eyebrow {letter-spacing: 1.65px; margin-bottom: 17px;}
.section-pad {padding-top: 76px; padding-bottom: 76px;}
.story {gap: 9%;}
.story-body .lead {margin-bottom: 19px;}
.signature {font-style: normal; font-size: 22px; margin-top: 22px;}
.stay {padding-top: 12px;}
.section-heading {margin-bottom: 30px;}
.stay-copy {padding: 35px 38px;}
.stay-copy h3 {margin: 22px 0 18px;}
.moments {min-height: 520px;}
.moments-copy {padding: 62px 12% 58px 10%;}
.moments-copy h2 {font-size: clamp(32px, 3vw, 43px);}
.moments-copy>p:not(.eyebrow) {margin-top: 22px;}
.closing {padding: 62px 20px;}
.closing h2 {font-size: clamp(40px, 4.3vw, 60px); margin-bottom: 27px;}
.room-heading {padding-top: 24px; padding-bottom: 27px;}
.room-heading h1 {letter-spacing: -1.6px; line-height: 1.09;}
.room-heading h1 em {color: var(--ink);}
.room-heading .room-tagline {margin-top: 13px;}
.room-layout {padding-top: 52px; padding-bottom: 64px; gap: 8%;}
.room-overview h2 {font-size: 40px; margin-bottom: 20px;}
.room-facts {margin: 28px 0 36px; padding: 21px 0;}
.room-amenities h3 {font-size: 28px; margin-bottom: 17px;}
.room-reserve h2 {font-size: 29px; line-height: 1.2;}
.room-balcony-copy {padding-top: 48px; padding-bottom: 48px;}
.room-balcony h2 {font-size: 38px; margin-bottom: 19px;}
.room-info {padding-top: 58px; padding-bottom: 58px;}
.room-info h2 {font-size: 35px;}
.room-back {padding-bottom: 48px;}
.room-page .closing {padding: 52px 20px;}
.room-page .closing h2 {font-size: 49px;}
@media(max-width:1050px) {
  .section-pad {padding-top: 60px; padding-bottom: 60px;}
  .stay {padding-top: 8px;}
  .stay-copy {padding: 30px 26px;}
  .moments-copy {padding: 48px 9%;}
  .room-overview h2 {font-size: 35px;}
}
@media(max-width:720px) {
  .section-pad {padding-top: 48px; padding-bottom: 48px;}
  .story {gap: 22px;}
  .story h2, .location-copy h2 {font-size: 36px;}
  .stay {padding-top: 8px;}
  .section-heading h2 {font-size: 35px;}
  .section-heading {margin-bottom: 24px;}
  .stay-copy {padding: 28px 25px;}
  .stay-copy h3 {font-size: 30px;}
  .moments-copy {padding: 38px 8%;}
  .moments-copy h2 {font-size: 33px;}
  .closing {padding: 48px 8%;}
  .closing h2 {font-size: 39px;}
  .room-breadcrumb {padding-top: 18px;}
  .room-heading {padding-top: 22px; padding-bottom: 23px;}
  .room-heading h1 {font-size: 41px; letter-spacing: -1px;}
  .room-layout {padding-top: 38px; padding-bottom: 42px; gap: 32px;}
  .room-overview h2 {font-size: 33px;}
  .room-facts {margin-bottom: 30px;}
  .room-balcony-copy {padding: 30px 25px;}
  .room-balcony h2 {font-size: 32px;}
  .room-info {padding-top: 42px; padding-bottom: 42px; gap: 15px;}
  .room-info h2 {font-size: 32px;}
  .room-back {padding-bottom: 38px;}
  .room-page .closing h2 {font-size: 38px;}
}
/* Hospitality-led homepage copy. */
.hero h1 {font-size:clamp(48px,5.4vw,78px);line-height:1.08;letter-spacing:-2.4px;}
.hero-copy {max-width:1000px;padding-top:72px;}
.hero-description {max-width:610px;}
.signature .host-names {display:block;font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);}
.guest-stories {margin-top:13px;font-size:11px;}
.location-copy>p:not(.eyebrow) {max-width:390px;}
.closing h2 {font-size:clamp(36px,3.8vw,54px);}
@media(max-width:720px) {
 .hero-copy {padding:57px 8% 75px;}
 .hero h1 {font-size:40px;line-height:1.12;letter-spacing:-1.25px;}
 .hero-description {font-size:13px;line-height:1.7;}
 .hero .text-link {margin-top:16px;}
 .guest-stories {font-size:11px;gap:15px;}
 .closing h2 {font-size:35px;}
}
@media(max-width:360px) {.hero h1 {font-size:35px;}}
