﻿* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
section[id]:not(#top) { scroll-margin-top: 84px; }
body {
  margin: 0;
  min-width: 320px;
  background: #f7f5f0;
  color: #1c1a17;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 clamp(20px, 5vw, 48px);
  border-bottom: 1px solid rgba(255,255,255,.2);
  background: rgba(20,18,15,.72);
  color: #fff;
  backdrop-filter: blur(14px);
}
.brand, .site-header nav a, .booking { font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.brand { font-size: 14px; letter-spacing: .28em; }
.site-header nav { display: flex; gap: clamp(14px, 1.8vw, 28px); color: rgba(255,255,255,.78); }
.booking { border: 1px solid rgba(255,255,255,.72); padding: 10px 16px; }
.hero { position: relative; min-height: 92svh; overflow: hidden; background: #15120f; color: #fff; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,.18), rgba(21,18,15,.84)); }
.hero-inner { position: relative; max-width: 1280px; min-height: 92svh; margin: 0 auto; padding: 112px clamp(20px, 5vw, 48px) 56px; display: flex; flex-direction: column; justify-content: space-between; }
.hero-top { display: flex; justify-content: space-between; gap: 24px; font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.hero-copy { max-width: 980px; }
.hero-copy > p, .eyebrow { margin: 0 0 20px; color: #8f4a2e; font-size: 12px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; }
.hero-copy > p { color: rgba(255,255,255,.82); font-size: 13px; letter-spacing: .32em; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(48px, 8vw, 112px); line-height: .98; font-weight: 650; letter-spacing: 0; }
.hero-bottom { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.32); display: grid; grid-template-columns: 1fr .85fr; gap: 28px; align-items: start; }
.hero-bottom p { margin: 0; color: rgba(255,255,255,.86); font-size: 14px; line-height: 1.9; }
.buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.buttons a, .contact > a, .reservation-actions a { display: inline-flex; align-items: center; justify-content: center; padding: 14px 20px; font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.buttons a:first-child { background: #fff; color: #17130f; }
.buttons a:not(:first-child) { border: 1px solid rgba(255,255,255,.6); color: #fff; }
.split { max-width: 1280px; margin: 0 auto; padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px); display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; }
.season-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; filter: saturate(.92) contrast(1.04); animation: seasonFade 16s infinite; }
.season-spring { animation-delay: 0s; }
.season-summer { animation-delay: 4s; }
.season-autumn { animation-delay: 8s; }
.season-winter { animation-delay: 12s; }
.concept-image-disclaimer { position: absolute; right: clamp(16px, 3vw, 28px); top: clamp(16px, 3vw, 28px); z-index: 1; margin: 0; color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .02em; text-align: right; }
@keyframes seasonFade { 0% { opacity: 0; } 3% { opacity: 1; } 22% { opacity: 1; } 25% { opacity: 0; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .season-slide { animation: none; opacity: 0; }
  .season-slide.season-spring { opacity: 1; }
}
h2 { margin: 0; font-size: clamp(38px, 5vw, 64px); line-height: 1.13; font-weight: 650; }
.copy { color: #4d4740; font-size: 17px; line-height: 2; }
.rooms { max-width: 1280px; margin: 0 auto; padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 32px; padding-bottom: 32px; margin-bottom: 48px; border-bottom: 1px solid #d8d0c3; }
.section-head > p { max-width: 560px; color: #5a534a; font-size: 14px; line-height: 1.9; }
.room-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.room-card { padding-bottom: 40px; border-bottom: 1px solid #d8d0c3; }
.room-card > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #26221d; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.tags span { border: 1px solid #c4b9a8; padding: 6px 10px; color: #5b5348; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.room-card .eyebrow { margin-top: 28px; }
.container-size-note {
  margin: -18px 0 34px;
  padding: 14px 18px;
  border-left: 3px solid #8f4a2e;
  background: #fffaf1;
  color: #5a534a;
  font-size: 14px;
  line-height: 1.85;
}
.container-size-note strong {
  color: #17130f;
}
.room-card h3 { margin: 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; }
.room-card p:last-child { color: #5a534a; font-size: 14px; line-height: 1.9; }
.location { display: grid; grid-template-columns: 1fr 1fr; background: #fff; }
.location > img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.location > div { padding: clamp(64px, 8vw, 96px) clamp(20px, 6vw, 64px); align-self: center; }
.location p:not(.eyebrow) { color: #4d4740; line-height: 2; }
dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; padding-top: 28px; border-top: 1px solid #ddd4c7; }
dt { color: #8b8072; font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
dd { margin: 10px 0 0; font-size: 18px; font-weight: 700; }
.faq { border-top: 1px solid #d8d0c3; border-bottom: 1px solid #d8d0c3; }
details { padding: 24px 0; border-bottom: 1px solid #d8d0c3; }
details:last-child { border-bottom: 0; }
summary { cursor: pointer; list-style: none; font-size: 18px; font-weight: 700; }
summary::-webkit-details-marker { display: none; }
details p { color: #5a534a; font-size: 14px; line-height: 1.9; }
.contact { display: flex; align-items: end; justify-content: space-between; gap: 40px; background: #d6e0c2; padding: clamp(64px, 8vw, 96px) clamp(20px, 5vw, 48px); }
.contact h2 { max-width: 800px; }
.contact p:not(.eyebrow) { max-width: 660px; color: #4e573e; line-height: 1.9; }
.contact > a, .reservation-actions a { flex-shrink: 0; background: #17130f; color: #fff; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 32px clamp(20px, 5vw, 48px); background: #14120f; color: rgba(255,255,255,.6); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
@media (max-width: 900px) {
  .site-header nav { display: none; }
  .hero-bottom, .split, .room-grid, .location { grid-template-columns: 1fr; }
  .section-head, .contact, footer { flex-direction: column; align-items: flex-start; }
  .buttons { justify-content: flex-start; }
  .location > img { min-height: 420px; }
}
@media (max-width: 520px) {
  .brand { font-size: 12px; letter-spacing: .18em; }
  .booking { padding: 9px 12px; letter-spacing: .16em; }
  .hero-top span:last-child { display: none; }
  dl { grid-template-columns: 1fr; }
}
.plans { max-width: 1280px; margin: 0 auto; padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px); background: #f7f5f0; }
.plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #d8d0c3; }
.plan-card { min-height: 520px; display: flex; flex-direction: column; gap: 20px; background: #fff; padding: 28px; text-align: left; }
.plan-card.plan-premium { background: #1b1814; color: #fff; }
.plan-card .eyebrow { margin-bottom: 0; }
.plan-title { display: grid; gap: 12px; }
.plan-title h3 { margin: 0; font-size: clamp(24px, 2.2vw, 34px); line-height: 1.22; }
.plan-title span { width: fit-content; border: 1px solid currentColor; padding: 6px 10px; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; opacity: .72; }
.plan-card > p:not(.eyebrow) { margin: 0; color: #5a534a; font-size: 14px; line-height: 1.9; }
.plan-premium > p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.plan-card ul { display: grid; gap: 10px; margin: auto 0 0; padding: 20px 0 0; border-top: 1px solid #d8d0c3; list-style: none; }
.plan-premium ul { border-color: rgba(255,255,255,.22); }
.plan-card li { color: #4d4740; font-size: 13px; line-height: 1.6; }
.plan-premium li { color: rgba(255,255,255,.78); }
.plan-card li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 10px; background: #8f4a2e; vertical-align: .12em; }
.plan-premium li::before { background: #d6e0c2; }
.plan-card a { width: fit-content; display: inline-flex; align-items: center; justify-content: center; margin-top: 6px; padding: 12px 16px; background: #17130f; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.plan-premium a { background: #fff; color: #17130f; }
@media (max-width: 1100px) {
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .plan-grid { grid-template-columns: 1fr; }
  .plan-card { min-height: auto; }
}
.rates { max-width: 1280px; margin: 0 auto; padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px); }
.rate-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 32px; }
.rate-card { border-top: 1px solid #d8d0c3; border-bottom: 1px solid #d8d0c3; padding: 32px 0 36px; }
.featured-rate { background: #1b1814; color: #fff; border: 0; padding: 34px; }
.rate-title { display: flex; flex-direction: column; gap: 12px; }
.rate-title .eyebrow { margin-bottom: 0; }
.rate-title h3 { margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.22; }
.rate-title > span { width: fit-content; border: 1px solid currentColor; padding: 6px 10px; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; opacity: .74; }
.rate-rows { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 34px; background: rgba(255,255,255,.18); }
.rate-rows div { min-height: 150px; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 24px; background: #1b1814; }
.rate-rows span, .rate-table span { color: #8f4a2e; font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.featured-rate .rate-rows span { color: #d6e0c2; }
.rate-rows strong { font-size: clamp(30px, 4vw, 46px); line-height: 1; }
.rate-rows small { color: rgba(255,255,255,.68); font-size: 13px; }
.rate-table { margin-top: 34px; border-top: 1px solid #d8d0c3; }
.rate-table > div { display: grid; grid-template-columns: .8fr 1fr 1fr; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid #d8d0c3; }
.rate-table-head span { color: #8b8072; font-size: 11px; }
.rate-table strong { font-size: clamp(22px, 2.6vw, 32px); }
.rate-table .rate-confirm { font-size: 15px; line-height: 1.5; letter-spacing: .04em; }
.rate-note { color: #5a534a; font-size: 13px; line-height: 1.8; }
.featured-rate-note { color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.8; margin-top: 22px; }
.rate-persons-lead { margin: 34px 0 0; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.rate-persons-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 14px; }
.rate-table-persons { margin-top: 0; min-width: 600px; }
.rate-table-persons > div { grid-template-columns: 1fr repeat(6, .72fr); gap: 7px; padding: 16px 0; }
.rate-table-persons strong { font-size: clamp(14px, 1.45vw, 18px); }
.rate-table-persons .rate-table-head span:not(:first-child) { text-align: right; }
.rate-table-persons > div > strong { text-align: right; }
.featured-rate .rate-table-persons { border-top-color: rgba(255,255,255,.18); }
.featured-rate .rate-table-persons > div { border-bottom-color: rgba(255,255,255,.18); }
.featured-rate .rate-table-persons span { color: #cdbfa8; }
.featured-rate .rate-table-persons strong { color: #fff; }
.reservation-flow { margin-top: 52px; padding-top: 36px; border-top: 1px solid #d8d0c3; display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.reservation-flow h3 { margin: 0; font-size: clamp(30px, 3.8vw, 48px); line-height: 1.18; }
.reservation-flow p { color: #5a534a; line-height: 1.9; }
.flow-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #d8d0c3; }
.flow-steps article { min-height: 240px; display: flex; flex-direction: column; gap: 14px; justify-content: space-between; background: #fff; padding: 24px; }
.flow-steps span { color: #8f4a2e; font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.flow-steps h4 { margin: 0; font-size: clamp(19px, 1.8vw, 25px); line-height: 1.35; }
.flow-steps p { margin: 0; font-size: 13px; }
.reservation-final { background: #d6e0c2; }
.operation-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; }
.operation-tags span { border: 1px solid rgba(23,19,15,.28); padding: 7px 10px; color: #26301f; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.reservation-actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 900px) {
  .rate-grid, .rate-rows, .reservation-flow, .flow-steps { grid-template-columns: 1fr; }
  .featured-rate { padding: 28px 22px; }
}
@media (max-width: 520px) {
  .rate-table > div { grid-template-columns: 1fr; gap: 8px; }
  .rate-table-persons > div { grid-template-columns: 1fr repeat(6, .72fr); gap: 7px; }
}
.area-guide { max-width: 1280px; margin: 0 auto; padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px); }
.area-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.area-card { min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; border-top: 1px solid #d8d0c3; padding: 24px 0 0; overflow: hidden; }
.area-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #d8d0c3; }
.area-card span { color: #8f4a2e; font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.area-card h3 { margin: 0; font-size: clamp(22px, 2.4vw, 32px); line-height: 1.22; }
.area-card p { margin: 0; color: #5a534a; font-size: 14px; line-height: 1.9; }
.area-card a { border-bottom: 1px solid currentColor; }
.highlight-area { background: #1b1814; color: #fff; border: 0; padding: 26px; }
.highlight-area .area-photo, .golf-area .area-photo { width: calc(100% + 52px); max-width: none; margin: -26px -26px 4px; }
.highlight-area span { color: #d6e0c2; }
.highlight-area p { color: rgba(255,255,255,.72); }
.golf-area { background: #d6e0c2; border: 0; padding: 26px; }
.golf-area p { color: #4e573e; }
.contact-info { margin-top: 18px; color: #4e573e; font-weight: 700; line-height: 1.9; }
.contact-info a { border-bottom: 1px solid currentColor; }
@media (max-width: 1100px) {
  .area-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .area-grid { grid-template-columns: 1fr; }
  .area-card { min-height: auto; }
}
.sleep-note { margin-top: 18px; padding-top: 18px; border-top: 1px solid #d8d0c3; color: #5a534a; font-size: 14px; line-height: 1.9; }
/* Alignment unification */
.hero-copy,
.hero-bottom,
.section-head,
.scenario-card,
.room-card,
.area-card,
.rate-card,
.contact {
  text-align: left;
}

.hero-bottom {
  grid-template-columns: minmax(0, 720px);
  justify-items: start;
}

.buttons {
  justify-content: flex-start;
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 820px);
  justify-content: start;
  align-items: start;
  gap: 18px;
}

.section-head > p {
  max-width: 640px;
  margin: 0;
}

.contact {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.contact > a,
.reservation-actions {
  align-self: flex-start;
}


.reservation-final {
  text-align: center;
  align-items: center;
}
.reservation-final > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reservation-final h2,
.reservation-final p:not(.eyebrow),
.reservation-final .contact-info {
  margin-left: auto;
  margin-right: auto;
}
.reservation-final .operation-tags,
.reservation-final .reservation-actions {
  justify-content: center;
  align-self: center;
}
.rate-title {
  align-items: flex-start;
}

.rate-rows div {
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 900px) {
  .section-head {
    grid-template-columns: 1fr;
  }
}
.poem-copy {
  max-width: 760px;
  color: #2f2b25;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 2.15;
  letter-spacing: .04em;
}
.special-40ft {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  background: #15120f;
  color: #fff;
}
.special-image img {
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
}
.special-copy {
  align-self: center;
  padding: clamp(64px, 8vw, 108px) clamp(20px, 6vw, 72px);
  text-align: left;
}
.special-copy .eyebrow {
  color: #d6e0c2;
}
.special-copy h2 {
  max-width: 680px;
  color: #fff;
}
.special-lead {
  max-width: 620px;
  margin: 28px 0 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 2.05;
}
.occasion-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 30px;
}
.occasion-list span {
  border: 1px solid rgba(255,255,255,.28);
  padding: 8px 11px;
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.special-copy > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 34px;
  min-height: 50px;
  padding: 14px 18px;
  background: #fff;
  color: #17130f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .special-40ft {
    grid-template-columns: 1fr;
  }
  .special-image img {
    min-height: 420px;
  }
}
.sealy-sleep {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(72px, 9vw, 108px) clamp(20px, 5vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: clamp(36px, 6vw, 76px);
  align-items: center;
  background: #f7f5f0;
}
.sealy-copy p:not(.eyebrow) {
  max-width: 720px;
  color: #4d4740;
  font-size: clamp(15px, 1.35vw, 17px);
  line-height: 2;
}
.sealy-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  border-top: 1px solid #d8d0c3;
  border-bottom: 1px solid #d8d0c3;
  padding: 34px 0;
}
.sealy-brand img {
  width: min(220px, 62vw);
  height: auto;
}
.sealy-brand span {
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.sealy-brand strong {
  max-width: 320px;
  color: #1c1a17;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.12;
  font-weight: 650;
}
.sealy-brand a {
  border-bottom: 1px solid currentColor;
  color: #274d5a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .sealy-sleep {
    grid-template-columns: 1fr;
  }
}
.journey {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px);
  background: #fff;
}
.journey-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.journey-card {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-height: 620px;
  border-top: 1px solid #d8d0c3;
  background: #f7f5f0;
  padding: 26px 22px;
}
.premium-journey {
  background: #15120f;
  color: #fff;
  border-top: 0;
}
.golf-journey {
  background: #d6e0c2;
  border-top: 0;
}
.journey-title span {
  color: #8f4a2e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .24em;
}
.premium-journey .journey-title span,
.premium-journey .journey-title p {
  color: #d6e0c2;
}
.journey-title p {
  margin: 16px 0 10px;
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.journey-title h3 {
  margin: 0;
  font-size: clamp(25px, 2.8vw, 38px);
  line-height: 1.15;
}
.journey-copy {
  margin: 0;
  color: #5a534a;
  font-size: 14px;
  line-height: 1.9;
}
.premium-journey .journey-copy {
  color: rgba(255,255,255,.78);
}
.journey-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.journey-tags span {
  border: 1px solid #c4b9a8;
  padding: 6px 9px;
  color: #5b5348;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.premium-journey .journey-tags span {
  border-color: rgba(255,255,255,.28);
  color: rgba(255,255,255,.78);
}
.day-flow {
  margin-top: auto;
  border-top: 1px solid #d8d0c3;
}
.premium-journey .day-flow {
  border-color: rgba(255,255,255,.2);
}
.day-flow > p {
  margin: 18px 0 12px;
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.premium-journey .day-flow > p {
  color: #d6e0c2;
}
.day-flow div {
  display: grid;
  grid-template-columns: 58px minmax(86px, .72fr) 1fr;
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid rgba(216,208,195,.76);
}
.premium-journey .day-flow div {
  border-color: rgba(255,255,255,.16);
}
.day-flow time {
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}
.premium-journey .day-flow time {
  color: #d6e0c2;
}
.day-flow strong {
  font-size: 13px;
  line-height: 1.45;
}
.day-flow span {
  color: #5a534a;
  font-size: 12px;
  line-height: 1.65;
}
.premium-journey .day-flow span {
  color: rgba(255,255,255,.66);
}
.golf-journey .journey-copy,
.golf-journey .day-flow span {
  color: #4e573e;
}
@media (max-width: 1100px) {
  .journey-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 720px) {
  .journey-grid {
    grid-template-columns: 1fr;
  }
  .journey-card {
    min-height: auto;
  }
  .day-flow div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}
/* Journey tabs */
.journey-tabs-section {
  max-width: none;
  background: #050505;
  color: #fff;
  padding: clamp(78px, 10vw, 126px) clamp(20px, 5vw, 56px);
}
.journey-tabs-inner {
  max-width: 1280px;
  margin: 0 auto;
}
.journey-tabs-section .eyebrow {
  color: #c9953d;
}
.journey-tabs-section > .section-head {
  display: none;
}
.journey-tabs-section h2 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(48px, 8.3vw, 104px);
  line-height: .98;
  font-weight: 800;
}
.journey-tabs {
  display: flex;
  gap: 0;
  margin-top: clamp(42px, 6vw, 70px);
  border-bottom: 1px solid rgba(255,255,255,.16);
  overflow-x: auto;
  scrollbar-width: thin;
}
.journey-tab {
  appearance: none;
  min-width: 170px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: rgba(255,255,255,.54);
  padding: 20px 24px 18px;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.journey-tab span {
  display: block;
  color: rgba(255,255,255,.36);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .22em;
  margin-bottom: 10px;
}
.journey-tab small {
  display: block;
  color: rgba(255,255,255,.38);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-top: 5px;
}
.journey-tab.is-active {
  background: rgba(201,149,61,.08);
  border-bottom-color: #c9953d;
  color: #fff;
}
.journey-tab.is-active span,
.journey-tab.is-active small {
  color: #c9953d;
}
.journey-panels {
  margin-top: clamp(42px, 6vw, 64px);
}
.journey-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: center;
}
.journey-panel[hidden] {
  display: none;
}
.journey-panel-copy > p:first-child {
  margin: 0 0 14px;
  color: #c9953d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.journey-panel h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.08;
  font-weight: 800;
}
.journey-panel-copy > p:not(:first-child) {
  max-width: 650px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 15px;
  line-height: 1.95;
}
.journey-panel .journey-tags {
  margin-top: 24px;
}
.journey-panel .journey-tags span {
  border-color: rgba(255,255,255,.2);
  color: rgba(255,255,255,.72);
}
.journey-panel > img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #222;
}
.compact-flow {
  max-width: 720px;
  margin-top: 32px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.compact-flow > p {
  color: #c9953d;
}
.compact-flow div {
  grid-template-columns: 72px minmax(112px, .7fr) 1fr;
  border-color: rgba(255,255,255,.12);
}
.compact-flow time {
  color: #c9953d;
}
.compact-flow span {
  color: rgba(255,255,255,.58);
}
@media (max-width: 980px) {
  .journey-panel {
    grid-template-columns: 1fr;
  }
  .journey-panel > img {
    order: -1;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 640px) {
  .journey-tabs-section {
    padding-left: 16px;
    padding-right: 16px;
  }
  .journey-tabs-section h2 {
    font-size: clamp(42px, 14vw, 64px);
  }
  .journey-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border-bottom: 0;
    background: rgba(255,255,255,.16);
    overflow: visible;
  }
  .journey-tab {
    width: 100%;
    min-width: 0;
    min-height: 98px;
    padding: 14px 12px 12px;
    border-bottom: 0;
    background: #0c0c0c;
    font-size: 13px;
    line-height: 1.35;
  }
  .journey-tab span {
    margin-bottom: 6px;
    font-size: 10px;
  }
  .journey-tab small {
    font-size: 9px;
    letter-spacing: .1em;
    overflow-wrap: anywhere;
  }
  .journey-tab.is-active {
    box-shadow: inset 0 -2px #c9953d;
  }
  .compact-flow div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

/* Premium editorial refresh */
.premium-editorial {
  position: relative;
  max-width: none;
  margin: 0;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  min-height: 760px;
  background: #080807;
  overflow: hidden;
}
.premium-image {
  position: relative;
  min-height: 760px;
}
.premium-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,8,7,.08), rgba(8,8,7,.18) 58%, rgba(8,8,7,.78));
  pointer-events: none;
}
.premium-image img {
  min-height: 760px;
  filter: saturate(.92) contrast(1.04);
}
.premium-photo-note {
  position: absolute;
  left: clamp(24px, 4vw, 56px);
  bottom: clamp(24px, 4vw, 56px);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 360px;
  padding: 20px 24px;
  border-left: 2px solid #c9953d;
  background: rgba(5,5,5,.56);
  color: #fff;
  backdrop-filter: blur(12px);
}
.premium-photo-note span {
  color: rgba(255,255,255,.68);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.premium-photo-note strong {
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.25;
}
.premium-photo-note small {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.7;
}
.premium-copy {
  padding: clamp(96px, 10vw, 140px) clamp(32px, 7vw, 100px);
}
.premium-copy .eyebrow {
  color: #c9953d;
}
.premium-copy h2 {
  max-width: 620px;
  color: #fff;
  font-size: clamp(44px, 5.8vw, 84px);
  line-height: 1.04;
}
.premium-copy .special-lead {
  max-width: 560px;
  margin-top: 30px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 2.05;
}
.premium-moments {
  display: grid;
  margin: clamp(40px, 5vw, 64px) 0 clamp(32px, 4vw, 48px);
  border-top: 1px solid rgba(255,255,255,.18);
}
.premium-moments div {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.premium-moments span {
  display: block;
  margin-bottom: 8px;
  color: #c9953d;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.premium-moments strong {
  display: block;
  color: #fff;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.45;
}
.premium-copy a {
  display: inline-flex;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid #c9953d;
  padding-bottom: 8px;
}
.concept-text-only {
  display: block;
  max-width: none;
  grid-template-columns: none;
  min-height: 0;
  background: #fff;
  color: #1c1a17;
  overflow: visible;
}
.concept-text-only .premium-copy {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(76px, 10vw, 112px) clamp(20px, 5vw, 48px);
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 48px;
  align-items: start;
  text-align: left;
}
.concept-text-only .premium-copy .eyebrow {
  color: #8f4a2e;
}
.concept-text-only .premium-copy h2 {
  max-width: none;
  margin: 0;
  color: #17130f;
  overflow-wrap: normal;
  word-break: keep-all;
}
.concept-text-only .premium-copy .special-lead {
  max-width: 560px;
  margin: 0;
  color: #1c1a17;
}
@media (max-width: 720px) {
  .concept-text-only .premium-copy {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.concept-image-only {
  display: grid;
  grid-template-columns: 1fr;
  background: #080807;
  color: #fff;
}
.concept-image-only .premium-image {
  min-height: 620px;
}
.sleep-editorial {
  max-width: none;
  margin: 0;
  padding: clamp(86px, 10vw, 138px) clamp(24px, 6vw, 76px);
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1fr);
  gap: clamp(48px, 7vw, 104px);
  background: #f2efe8;
}
.sealy-photo {
  position: relative;
  min-height: 540px;
  overflow: hidden;
}
.sealy-photo > img {
  width: 100%;
  height: 100%;
  min-height: 540px;
  object-fit: cover;
  filter: saturate(.9) contrast(1.02);
}
.sleep-editorial .sealy-brand {
  position: absolute;
  left: clamp(22px, 3vw, 42px);
  bottom: clamp(22px, 3vw, 42px);
  width: min(320px, calc(100% - 44px));
  padding: 24px;
  background: rgba(255,255,255,.94);
  border-left: 2px solid #c9953d;
  box-shadow: none;
  gap: 12px;
}
.sleep-editorial .sealy-brand img {
  width: 172px;
}
.sleep-editorial .sealy-brand span {
  color: #595247;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sleep-editorial .sealy-copy {
  max-width: 720px;
}
.sleep-editorial .sealy-copy h2 {
  max-width: 680px;
  color: #17130f;
  font-size: clamp(42px, 6vw, 82px);
  line-height: 1.08;
}
.sleep-editorial .sealy-copy p:not(.eyebrow):not(.sleep-line) {
  max-width: 620px;
  margin-top: 28px;
  color: #4d4740;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 2.05;
}
.sleep-line {
  margin: clamp(34px, 4vw, 48px) 0 22px;
  color: #9e742f;
  font-family: "Times New Roman", serif;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.2;
}
.sleep-editorial .sealy-copy > a {
  display: inline-flex;
  color: #17130f;
  text-decoration: none;
  border-bottom: 1px solid #9e742f;
  padding-bottom: 8px;
}
.sleep-editorial .sealy-copy p a {
  color: #17130f;
  font-weight: 800;
  border-bottom: 1px solid rgba(158,116,47,.55);
}
@media (max-width: 960px) {
  .premium-editorial,
  .sleep-editorial {
    grid-template-columns: 1fr;
  }
  .premium-editorial,
  .premium-image,
  .premium-image img {
    min-height: 0;
  }
  .premium-image img {
    min-height: 520px;
  }
  .premium-image::after {
    background: linear-gradient(180deg, rgba(8,8,7,.05), rgba(8,8,7,.46));
  }
  .concept-image {
    min-height: 520px;
  }
  .premium-copy {
    padding: 64px 24px 84px;
  }
  .sleep-editorial {
    padding: 0 0 78px;
    gap: 46px;
  }
  .sealy-photo,
  .sealy-photo > img {
    min-height: 520px;
  }
  .sleep-editorial .sealy-copy {
    padding: 0 24px;
  }
}
@media (max-width: 640px) {
  .premium-image img,
  .sealy-photo,
  .sealy-photo > img {
    min-height: 420px;
  }
  .concept-image {
    min-height: 420px;
  }
  .premium-photo-note,
  .sleep-editorial .sealy-brand {
    left: 18px;
    right: 18px;
    bottom: 18px;
    width: auto;
  }
  .premium-copy h2,
  .sleep-editorial .sealy-copy h2 {
    font-size: clamp(38px, 12vw, 56px);
  }
}
/* End premium editorial refresh */

/* City dining section */
.city-dining {
  max-width: none;
  margin: 0;
  padding: 0;
  background: #11100e;
  color: #fff;
}
.dining-hero {
  position: relative;
  min-height: 620px;
  overflow: hidden;
}
.dining-hero > img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  filter: saturate(.92) contrast(1.04);
}
.dining-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(17,16,14,.88), rgba(17,16,14,.48) 48%, rgba(17,16,14,.12));
}
.dining-overlay {
  position: absolute;
  left: clamp(24px, 7vw, 96px);
  right: clamp(24px, 6vw, 96px);
  bottom: clamp(42px, 8vw, 98px);
  z-index: 1;
  max-width: 880px;
}
.dining-overlay .eyebrow {
  color: #c9953d;
}
.dining-overlay h2 {
  margin: 0;
  max-width: 720px;
  color: #fff;
  font-size: clamp(46px, 5.2vw, 72px);
  line-height: 1.06;
  font-weight: 800;
}
.dining-overlay p:not(.eyebrow) {
  max-width: 720px;
  margin: 30px 0 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 2;
}
.dining-content {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(60px, 8vw, 104px) clamp(20px, 5vw, 56px) clamp(78px, 9vw, 124px);
}
.nearby-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 1px;
  background: rgba(255,255,255,.16);
}
.nearby-grid article {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 28px 24px;
  background: #11100e;
}
.nearby-grid article span,
.flow-grid article span {
  color: #c9953d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nearby-grid article h3 {
  margin: auto 0 0;
  color: #fff;
  font-size: clamp(21px, 2.2vw, 30px);
  line-height: 1.24;
}
.nearby-grid article h3 a {
  color: inherit;
  text-decoration: none;
}
.nearby-grid article h3 a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.nearby-grid article p,
.flow-grid article p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.9;
}
.nearby-grid article p a {
  color: #fff;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(201,149,61,.72);
  text-underline-offset: 4px;
}
.nearby-grid .nearby-feature {
  background: #c9953d;
  color: #11100e;
}
.nearby-grid .nearby-feature span,
.nearby-grid .nearby-feature h3,
.nearby-grid .nearby-feature p,
.nearby-grid .nearby-feature p a {
  color: #11100e;
}
.nearby-grid .nearby-feature p a {
  text-decoration-color: rgba(17,16,14,.5);
}
.dining-periods {
  display: grid;
  gap: clamp(42px, 5.6vw, 68px);
}
.dining-period {
  display: block;
  background: transparent;
}
.dining-period-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: 8px 18px;
  padding: 22px 0 20px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.dining-period-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  border: 1px solid rgba(201,149,61,.42);
  color: #c9953d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.dining-period-head h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.18;
  text-align: left;
}
.dining-period-head p {
  grid-column: 2;
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.8;
}
.dining-period-layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(12px, 1.5vw, 20px);
  align-items: stretch;
}
.dining-period:not(.dining-period-night) .dining-period-layout {
  grid-template-columns: minmax(180px, .38fr) minmax(0, 1.62fr);
  align-items: start;
}
.dining-period .nearby-grid {
  grid-template-columns: minmax(0, 1.12fr) repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 16px);
  background: transparent;
}
.dining-period-night .nearby-grid {
  grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, 1fr));
}
.dining-period .nearby-grid article {
  justify-content: space-between;
  min-height: clamp(226px, 19vw, 286px);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(17,16,14,.94);
}
.dining-period-night .nearby-grid article {
  min-height: clamp(250px, 21vw, 308px);
}
.dining-period .nearby-grid .nearby-feature {
  border-color: rgba(201,149,61,.52);
  background: linear-gradient(135deg, #d5a347 0%, #c89436 100%);
}
.dining-store-grid {
  align-self: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dining-period:not(.dining-period-night) .dining-store-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dining-period .nearby-grid article h3 {
  margin: auto 0 0;
}
.dining-scene-image {
  position: relative;
  min-height: clamp(226px, 19vw, 286px);
  padding: 0;
  overflow: hidden;
  background: #171512;
  border: 0;
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}
.dining-period-night .dining-scene-image {
  min-height: clamp(250px, 21vw, 308px);
}
.dining-period:not(.dining-period-night) .dining-scene-image {
  align-self: start;
  height: clamp(168px, 13vw, 218px);
  min-height: 0;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.dining-period .nearby-grid .dining-image-card {
  position: relative;
  min-height: clamp(226px, 19vw, 286px);
  padding: 0;
  overflow: hidden;
  background: #171512;
  border: 0;
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}
.dining-period-night .nearby-grid .dining-image-card {
  min-height: clamp(250px, 21vw, 308px);
}
.dining-image-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.12);
  pointer-events: none;
}
.dining-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(17,16,14,0), rgba(17,16,14,.16));
  pointer-events: none;
}
.dining-image-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(.96) contrast(1.04);
  transform: none;
}
.dining-scene-caption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  gap: 6px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.36);
  color: #fff;
}
.dining-scene-caption span {
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.dining-scene-caption strong {
  max-width: 18em;
  color: #fff;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.35;
}
.dining-period:not(.dining-period-night) .dining-scene-caption {
  left: 14px;
  right: 14px;
  bottom: 14px;
  gap: 4px;
  padding-top: 10px;
}
.dining-period:not(.dining-period-night) .dining-scene-caption span {
  font-size: 9px;
  letter-spacing: .14em;
}
.dining-period:not(.dining-period-night) .dining-scene-caption strong {
  max-width: 14em;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.35;
}
.dining-photo-grill img {
  object-position: 46% 52%;
}
.dining-photo-terrace img {
  object-position: 52% 50%;
}
.dining-photo-beer img {
  object-position: 58% 50%;
}
.dining-photo-coffee img {
  object-position: 52% 54%;
}
.dining-photo-lunch img {
  object-position: 48% 54%;
}
.dining-flows {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(36px, 6vw, 82px);
  align-items: start;
  margin-top: clamp(58px, 7vw, 88px);
  padding-top: clamp(42px, 6vw, 72px);
  border-top: 1px solid rgba(255,255,255,.16);
}
.flow-head .eyebrow {
  color: #c9953d;
}
.flow-head h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 4.2vw, 58px);
  line-height: 1.12;
}
.flow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255,255,255,.14);
}
.flow-grid article {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 26px;
  background: #171512;
}
.flow-grid article strong {
  display: block;
  color: #fff;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.5;
}
@media (max-width: 1100px) {
  .nearby-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dining-period {
    display: block;
  }
  .dining-period-layout {
    grid-template-columns: 1fr;
  }
  .dining-period:not(.dining-period-night) .dining-period-layout {
    grid-template-columns: 1fr;
  }
  .dining-period .nearby-grid,
  .dining-period:not(.dining-period-night) .nearby-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .dining-flows {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .dining-hero,
  .dining-hero > img {
    min-height: 520px;
  }
  .dining-hero::after {
    background: linear-gradient(180deg, rgba(17,16,14,.18), rgba(17,16,14,.88));
  }
  .dining-overlay {
    left: 22px;
    right: 22px;
    bottom: 42px;
  }
  .dining-overlay h2 {
    font-size: clamp(44px, 14vw, 66px);
  }
  .dining-period-head {
    align-items: flex-start;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .dining-period-head p {
    grid-column: auto;
  }
  .dining-period-head h3 {
    text-align: left;
  }
  .nearby-grid,
  .dining-period .nearby-grid,
  .dining-period:not(.dining-period-night) .nearby-grid,
  .flow-grid {
    grid-template-columns: 1fr;
  }
  .dining-period .nearby-grid,
  .dining-period:not(.dining-period-night) .nearby-grid {
    gap: 10px;
  }
  .nearby-grid article,
  .flow-grid article {
    min-height: auto;
  }
  .dining-period .nearby-grid .dining-image-card,
  .dining-period-night .nearby-grid .dining-image-card,
  .dining-scene-image,
  .dining-period-night .dining-scene-image {
    min-height: 220px;
  }
  .dining-period:not(.dining-period-night) .dining-scene-image {
    height: 150px;
    min-height: 0;
  }
  .dining-period:not(.dining-period-night) .dining-scene-caption strong {
    font-size: 14px;
  }
}
/* End city dining section */

/* Area refresh */
.area-refresh .section-head {
  align-items: end;
}
.area-refresh .section-head h2 {
  max-width: 760px;
}
.area-refresh .section-head > p {
  max-width: 560px;
}
.area-refresh .area-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.area-refresh .area-card {
  min-height: 410px;
  border-top: 0;
  padding: 0 0 26px;
  background: #f7f5f0;
}
.area-refresh .area-card .area-photo {
  margin: 0;
  width: 100%;
  aspect-ratio: 16 / 10;
}
.area-refresh .area-card span,
.area-refresh .area-card h3,
.area-refresh .area-card p {
  margin-left: 24px;
  margin-right: 24px;
}
.area-refresh .area-card span {
  margin-top: 24px;
}
.area-refresh .highlight-area,
.area-refresh .golf-area {
  padding: 0 0 26px;
}
.area-refresh .highlight-area .area-photo,
.area-refresh .golf-area .area-photo {
  width: 100%;
  max-width: none;
  margin: 0;
}
.area-refresh .highlight-area h3,
.area-refresh .highlight-area span,
.area-refresh .highlight-area p {
  color: #fff;
}
.area-refresh .golf-area h3,
.area-refresh .golf-area span,
.area-refresh .golf-area p {
  color: #26301f;
}
@media (max-width: 1100px) {
  .area-refresh .area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .area-refresh .area-grid {
    grid-template-columns: 1fr;
  }
  .area-refresh .area-card {
    min-height: auto;
  }
}
/* End area refresh */

/* Access map section */
.access-editorial {
  max-width: none;
  margin: 0;
  padding: clamp(86px, 11vw, 136px) clamp(20px, 5vw, 58px);
  background: #070707;
  color: #fff;
}
.access-editorial .access-intro {
  max-width: 1280px;
  margin: 0 auto clamp(48px, 7vw, 82px);
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .65fr);
  gap: clamp(32px, 6vw, 82px);
  align-items: end;
}
.access-editorial .eyebrow {
  color: #c9953d;
}
.access-editorial h2 {
  max-width: 860px;
  color: #fff;
  font-size: clamp(46px, 7vw, 92px);
  line-height: 1.02;
  font-weight: 800;
}
.access-editorial .access-intro > p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 2.05;
}
.access-stage {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: clamp(30px, 5vw, 64px);
  align-items: stretch;
}
.access-map-frame {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  background: #16120f;
}
.access-map-frame iframe {
  width: 100%;
  height: 100%;
  min-height: 640px;
  border: 0;
  filter: grayscale(.35) contrast(1.05) brightness(.92);
}
.access-map-frame a {
  position: absolute;
  left: 24px;
  bottom: 24px;
  display: inline-flex;
  padding: 13px 18px;
  background: rgba(7,7,7,.82);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  backdrop-filter: blur(10px);
}
.access-distance {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(28px, 4vw, 44px) 0;
}
.address-block {
  display: grid;
  gap: 16px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.address-block span,
.access-distance time {
  color: #c9953d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.address-block strong {
  color: #fff;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.45;
}
.access-distance ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.14);
}
.access-distance li {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 22px;
  align-items: baseline;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.access-distance li span {
  display: grid;
  gap: 4px;
  color: rgba(255,255,255,.88);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.55;
}
.access-distance li strong {
  font-weight: 650;
}
.access-distance li small {
  color: rgba(255,255,255,.48);
  font-size: 12px;
  line-height: 1.7;
}
.access-distance > p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 13px;
  line-height: 1.8;
}
@media (max-width: 980px) {
  .access-editorial .access-intro,
  .access-stage {
    grid-template-columns: 1fr;
  }
  .access-map-frame,
  .access-map-frame iframe {
    min-height: 480px;
  }
  .access-distance {
    padding: 0;
  }
}
@media (max-width: 640px) {
  .access-editorial h2 {
    font-size: clamp(42px, 13vw, 62px);
  }
  .access-map-frame,
  .access-map-frame iframe {
    min-height: 380px;
  }
  .access-distance li {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .access-map-frame a {
    left: 18px;
    bottom: 18px;
  }
}
/* End access map section */

/* Booking CTAs */
.booking-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 50px;
  padding: 14px 20px;
  border: 1px solid #17130f;
  background: #17130f;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}
.premium-copy .booking-cta {
  margin-top: 0;
  border: 1px solid rgba(255,255,255,.74);
  background: #fff;
  color: #17130f;
  padding: 15px 22px;
  text-decoration: none;
}
.section-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid #d8d0c3;
  text-align: left;
}
.section-cta p {
  max-width: 640px;
  margin: 0;
  color: #5a534a;
  font-size: 14px;
  line-height: 1.85;
}
.section-cta-dark {
  border-top-color: rgba(255,255,255,.16);
}
.section-cta-dark p {
  color: rgba(255,255,255,.72);
}
.section-cta-dark .booking-cta {
  border-color: #fff;
  background: #fff;
  color: #17130f;
}
.rates-booking-cta {
  margin-top: 46px;
}
@media (max-width: 720px) {
  .section-cta {
    align-items: flex-start;
    flex-direction: column;
  }
  .section-cta .booking-cta,
  .premium-copy .booking-cta {
    width: 100%;
  }
}
/* Late-stage design refresh */
.rooms {
  max-width: none;
  margin: 0;
  padding: clamp(88px, 11vw, 134px) clamp(20px, 5vw, 48px);
  background: #f1ece3;
  overflow: hidden;
}
.rooms > .section-head,
.rooms > .room-grid {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.rooms > .section-head {
  align-items: flex-start;
  margin-bottom: clamp(48px, 6vw, 78px);
}
.rooms .section-head h2 {
  max-width: 620px;
}
.rooms .room-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: start;
}
.rooms .room-card {
  position: relative;
  padding-bottom: 0;
  border-bottom: 0;
}
.rooms .room-card:not(.premium-room) {
  margin-top: clamp(52px, 7vw, 96px);
}
.rooms .room-card > img {
  aspect-ratio: 16 / 10;
  filter: saturate(.96) contrast(1.03);
}
.rooms .room-card:not(.premium-room) > img {
  aspect-ratio: 3 / 4;
}
.rooms .tags {
  max-width: 720px;
}
.rooms .room-card h3 {
  max-width: 760px;
}
.rooms .room-card:not(.premium-room) h3 {
  font-size: clamp(24px, 2.3vw, 34px);
}
.rooms .sleep-note {
  max-width: 520px;
}
.plans {
  max-width: none;
  margin: 0;
  padding: clamp(82px, 10vw, 122px) clamp(20px, 5vw, 48px);
  background: #dfd7c9;
}
.plans > .section-head,
.plans > .plan-grid {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.plans .section-head {
  border-bottom-color: rgba(23,19,15,.2);
}
.plans .plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(23,19,15,.18);
  border-top: 0;
}
.plans .plan-card {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: stretch;
  padding: 28px;
  background: #fff;
  border-bottom: 0;
}
.plans .plan-card.plan-premium {
  margin: 0;
  padding: 28px;
  background: #17130f;
  border-bottom: 0;
}
.plans .plan-card > p:not(.eyebrow) {
  max-width: none;
}
.plans .plan-card ul {
  display: grid;
  gap: 10px;
  margin: auto 0 0;
  padding: 20px 0 0;
  border-top: 1px solid #d8d0c3;
}
.plans .plan-premium ul {
  border-top-color: rgba(255,255,255,.22);
}
.plans .plan-card li {
  white-space: normal;
}
.plans .plan-card a {
  margin-top: 6px;
  white-space: normal;
}
.rates {
  max-width: none;
  margin: 0;
  padding: clamp(86px, 10vw, 130px) clamp(20px, 5vw, 48px);
  background: #12100d;
  color: #fff;
}
.rates > .section-head,
.rates > .rate-grid,
.rates > .reservation-flow,
.rates > .section-cta {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.rates .section-head {
  border-bottom-color: rgba(255,255,255,.18);
}
.rates .section-head > p,
.rates .reservation-flow > div > p,
.rates .rates-booking-cta p {
  color: rgba(255,255,255,.68);
}
.rates .rate-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 1px;
  background: rgba(255,255,255,.16);
}
.rates .rate-card {
  border: 0;
  padding: clamp(28px, 4vw, 44px);
}
.rates .rate-card:not(.featured-rate) {
  background: #f7f5f0;
  color: #17130f;
}
.rates .featured-rate {
  background: #050505;
  border: 1px solid rgba(255,255,255,.16);
}
.rates .rate-note,
.rates .rate-card:not(.featured-rate) p {
  color: #5a534a;
}
.rates .reservation-flow {
  border-top-color: rgba(255,255,255,.18);
}
.rates .reservation-flow h3 {
  color: #fff;
}
.rates .flow-steps {
  background: rgba(255,255,255,.16);
}
.rates .flow-steps article {
  background: #f7f5f0;
  color: #17130f;
}
.rates .flow-steps p {
  color: #5a534a;
}
.rates .rates-booking-cta {
  border-top-color: rgba(255,255,255,.18);
}
.rates .rates-booking-cta .booking-cta {
  border-color: #fff;
  background: #fff;
  color: #17130f;
}
.reservation-final {
  padding-top: clamp(82px, 9vw, 118px);
  padding-bottom: clamp(82px, 9vw, 118px);
}
@media (max-width: 1100px) {
  .plans .plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .rooms .room-grid,
  .rates .rate-grid {
    grid-template-columns: 1fr;
  }
  .rooms .room-card:not(.premium-room) {
    margin-top: 0;
  }
  .rooms .room-card:not(.premium-room) > img {
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 640px) {
  .plans {
    padding: 72px 16px 84px;
  }
  .plans .section-head {
    gap: 18px;
    padding-bottom: 28px;
    margin-bottom: 28px;
  }
  .plans .section-head h2 {
    font-size: clamp(32px, 10vw, 44px);
  }
  .plans .section-head > p {
    font-size: 14px;
    line-height: 1.9;
  }
  .plans .plan-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    background: transparent;
  }
  .plans .plan-card {
    min-height: auto;
    gap: 16px;
    padding: 24px 20px 22px;
    border: 1px solid rgba(23,19,15,.12);
    border-radius: 8px;
  }
  .plans .plan-card.plan-premium {
    padding: 24px 20px 22px;
    border-color: rgba(255,255,255,.16);
  }
  .plans .plan-card .eyebrow {
    font-size: 10px;
    letter-spacing: .14em;
    overflow-wrap: anywhere;
  }
  .plans .plan-title {
    gap: 10px;
  }
  .plans .plan-title h3 {
    font-size: clamp(24px, 7.2vw, 30px);
  }
  .plans .plan-title span {
    max-width: 100%;
    font-size: 10px;
    letter-spacing: .1em;
    line-height: 1.4;
    white-space: normal;
  }
  .plans .plan-card > p:not(.eyebrow) {
    font-size: 14px;
    line-height: 1.85;
  }
  .plans .plan-card ul {
    margin-top: 2px;
    padding-top: 16px;
    gap: 8px;
  }
  .plans .plan-card a {
    width: 100%;
    min-height: 46px;
    margin-top: 2px;
    padding: 13px 16px;
    letter-spacing: .12em;
  }
  .plans .plan-card li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.55;
    white-space: normal;
  }
  .plans .plan-card li::before {
    flex: 0 0 6px;
    margin: .55em 0 0;
  }
}
/* End late-stage design refresh */
/* Smart check-in section */
.checkin-guide {
  max-width: none;
  margin: 0;
  padding: clamp(84px, 10vw, 124px) clamp(20px, 5vw, 48px);
  background: #e8eadf;
  color: #17130f;
}
.checkin-intro,
.checkin-steps {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.checkin-intro {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: clamp(38px, 5vw, 62px);
  padding-bottom: clamp(28px, 4vw, 42px);
  border-bottom: 1px solid rgba(23,19,15,.22);
}
.checkin-intro h2 {
  max-width: 820px;
  font-size: clamp(40px, 5.4vw, 76px);
  line-height: 1.06;
}
.checkin-intro p:not(.eyebrow) {
  max-width: 700px;
  margin: 0;
  color: #4d5142;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 2;
}
.checkin-guide-links {
  max-width: 1280px;
  margin: 0 auto clamp(28px, 4vw, 42px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.checkin-guide-links span {
  margin-right: 4px;
  color: #4d5142;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.checkin-guide-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid rgba(23,19,15,.24);
  background: rgba(255,255,255,.54);
  color: #17130f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.checkin-guide-links a:first-of-type {
  background: #17130f;
  color: #fff;
}
.checkin-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: rgba(23,19,15,.16);
}
.checkin-steps article {
  min-height: 250px;
  background: #fff;
  border-top: 4px solid transparent;
}
.checkin-steps article:nth-child(3),
.checkin-steps article:nth-child(4) {
  border-top-color: #8f4a2e;
}
.checkin-steps span {
  color: #8f4a2e;
}
@media (max-width: 980px) {
  .checkin-intro,
  .checkin-steps {
    grid-template-columns: 1fr;
  }
}
/* End smart check-in section */
/* Final invitation close */
.final-invitation {
  position: relative;
  overflow: hidden;
  background: #050505;
  color: #fff;
}
.final-invitation::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201,149,61,.16), transparent 42%), linear-gradient(180deg, transparent, rgba(0,0,0,.42));
  pointer-events: none;
}
.final-invitation > div {
  position: relative;
  z-index: 1;
}
.final-invitation .eyebrow {
  color: #c9953d;
}
.final-invitation h2 {
  max-width: 980px;
  color: #fff;
  font-size: clamp(42px, 6.2vw, 86px);
  line-height: 1.04;
}
.final-invitation p:not(.eyebrow),
.final-invitation .contact-info {
  color: rgba(255,255,255,.74);
}
.final-invitation .operation-tags span {
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.82);
}
.final-invitation .reservation-actions a {
  background: #fff;
  color: #17130f;
}
.final-invitation .contact-info a {
  color: #fff;
}
/* End final invitation close */
/* Quick answers AEO */
.quick-answers {
  max-width: none;
  margin: 0;
  padding: clamp(78px, 9vw, 116px) clamp(20px, 5vw, 48px);
  background: #f7f5f0;
  color: #17130f;
}
.quick-answers-inner {
  max-width: 1280px;
  margin: 0 auto;
}
.quick-answer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(23,19,15,.16);
}
.quick-answer-grid article {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: clamp(24px, 3vw, 32px);
  background: #fff;
}
.quick-answer-grid article span {
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.quick-answer-grid article h3 {
  margin: auto 0 0;
  font-size: clamp(21px, 2vw, 30px);
  line-height: 1.28;
}
.quick-answer-grid article p {
  margin: 0;
  color: #5a534a;
  font-size: 14px;
  line-height: 1.9;
}
.quick-answer-grid article p a {
  color: #17130f;
  font-weight: 800;
  border-bottom: 1px solid rgba(143,74,46,.55);
}
@media (max-width: 980px) {
  .quick-answer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .quick-answer-grid {
    grid-template-columns: 1fr;
  }
  .quick-answer-grid article {
    min-height: auto;
  }
}
/* End quick answers AEO */
/* Legal pages */
.legal-page {
  background: #f7f5f0;
  color: #17130f;
}
.legal-page .site-header {
  background: rgba(20,18,15,.96);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.legal-main {
  padding-top: 74px;
}
.legal-hero {
  min-height: 54svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 22px;
  padding: clamp(96px, 11vw, 148px) clamp(20px, 5vw, 48px) clamp(48px, 7vw, 84px);
  background: linear-gradient(135deg, rgba(143,74,46,.16), transparent 54%), #e8eadf;
}
.legal-hero-rules {
  background: linear-gradient(135deg, rgba(201,149,61,.18), transparent 54%), #f1eadc;
}
.legal-hero h1 {
  max-width: 960px;
  margin: 0;
  font-size: clamp(48px, 8vw, 112px);
  line-height: .98;
}
.legal-hero p:not(.eyebrow) {
  max-width: 780px;
  margin: 0;
  color: #4d5142;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.9;
}
.legal-hero span {
  color: #7a7468;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.legal-body {
  max-width: 1020px;
  margin: 0 auto;
  padding: clamp(54px, 7vw, 86px) clamp(20px, 5vw, 48px) clamp(90px, 10vw, 128px);
}
.legal-body article {
  display: grid;
  grid-template-columns: minmax(220px, .38fr) minmax(0, .62fr);
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(28px, 4vw, 42px) 0;
  border-bottom: 1px solid rgba(23,19,15,.14);
}
.legal-body h2 {
  margin: 0;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.35;
}
.legal-body p,
.legal-body li {
  color: #5a534a;
  font-size: 15px;
  line-height: 2;
}
.legal-body p {
  margin: 0 0 14px;
}
.legal-body p:last-child {
  margin-bottom: 0;
}
.legal-body ol {
  margin: 0;
  padding-left: 1.2em;
}
.legal-note {
  margin-top: clamp(36px, 5vw, 56px);
  padding: clamp(22px, 3vw, 32px);
  background: #17130f;
  color: #fff;
}
.legal-note p {
  margin: 0;
  color: rgba(255,255,255,.76);
}
.site-footer {
  align-items: center;
}
.site-footer > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.footer-links a {
  color: rgba(255,255,255,.74);
  border-bottom: 1px solid rgba(255,255,255,.28);
}
@media (max-width: 820px) {
  .legal-body article {
    grid-template-columns: 1fr;
  }
  .site-footer {
    align-items: flex-start;
  }
}

/* Legal multilingual guide */
.legal-i18n {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(54px, 7vw, 86px) clamp(20px, 5vw, 48px) 0;
}
.legal-i18n-head {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(24px, 5vw, 68px);
  align-items: end;
  padding-bottom: clamp(28px, 4vw, 42px);
  border-bottom: 1px solid rgba(23,19,15,.16);
}
.legal-i18n-head h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.12;
}
.legal-i18n-head p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: #5a534a;
  font-size: 15px;
  line-height: 2;
}
.legal-lang-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(26px, 4vw, 42px);
  background: rgba(23,19,15,.16);
}
.legal-lang-grid article {
  min-height: 520px;
  padding: clamp(24px, 3vw, 34px);
  background: #fff;
}
.legal-lang-grid span {
  display: inline-flex;
  margin-bottom: 24px;
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.legal-lang-grid h3 {
  margin: 0 0 22px;
  font-size: clamp(22px, 2.1vw, 32px);
  line-height: 1.28;
}
.legal-lang-grid ul {
  margin: 0;
  padding-left: 1.1em;
}
.legal-lang-grid li {
  color: #5a534a;
  font-size: 14px;
  line-height: 1.9;
}
.legal-lang-grid li + li {
  margin-top: 12px;
}
@media (max-width: 1100px) {
  .legal-lang-grid {
    grid-template-columns: 1fr;
  }
  .legal-lang-grid article {
    min-height: auto;
  }
}
@media (max-width: 820px) {
  .legal-i18n-head {
    grid-template-columns: 1fr;
  }
}
/* End legal multilingual guide */
/* End legal pages */
/* HotelSmart booking section */
.booking-search-section {
  max-width: none;
  margin: 0;
  padding: clamp(72px, 8vw, 108px) clamp(20px, 5vw, 48px);
  background: #17130f;
  color: #fff;
}
.booking-search-intro {
  max-width: 1280px;
  margin: 0 auto clamp(28px, 4vw, 46px);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(24px, 5vw, 68px);
  align-items: end;
  padding-bottom: clamp(26px, 4vw, 38px);
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.booking-search-intro .eyebrow {
  color: #c9953d;
}
.booking-search-intro h2 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1.08;
  font-weight: 650;
}
.booking-search-intro p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 2;
}
.hotelsmart-booking-widget {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  background: #17130f;
  overflow: visible;
}
.hotelsmart-booking-widget > * {
  max-width: 100%;
}
/* HotelSmart dropdown color fix */
.hotelsmart-booking-widget .dropdown .display,
.hotelsmart-booking-widget .dropdown .dropdown-menu,
.hotelsmart-booking-widget .dropdown .dropdown-menu dt,
.hotelsmart-booking-widget .dropdown .dropdown-menu dd,
.hotelsmart-booking-widget .dropdown .dropdown-menu label,
.hotelsmart-booking-widget .dropdown .dropdown-menu .number-label,
.hotelsmart-booking-widget .dropdown .dropdown-menu select,
.hotelsmart-booking-widget .dropdown .dropdown-menu .add-button-wrapper button,
.hotelsmart-booking-widget .dropdown .dropdown-menu .add-button-wrapper button * {
  color: #17130f !important;
}
.hotelsmart-booking-widget .dropdown .dropdown-menu select {
  background: #fff;
}
.hotelsmart-booking-widget .dropdown .dropdown-menu .delete-button {
  color: #c9c9c9 !important;
}
.hotelsmart-booking-widget .dropdown .dropdown-menu .close-button-wrapper button {
  color: #fff !important;
}
@media (max-width: 820px) {
  .booking-search-intro {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .booking-search-intro p:not(.eyebrow) {
    font-size: 14px;
  }
}
/* End HotelSmart booking section */
/* Sleep detail */
.sleep-detail {
  max-width: 680px;
  margin: 14px 0 0;
  color: #645e52;
  font-size: 14px;
  line-height: 1.9;
}
/* Amenities section */
.amenities {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(72px, 9vw, 106px) clamp(20px, 5vw, 48px);
  background: #f7f5f0;
}
.amenity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: #d8d0c3;
}
.amenity-grid article {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: clamp(24px, 3vw, 34px);
  background: #fffaf1;
}
.amenity-grid article span {
  color: #8f4a2e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.amenity-grid h3 {
  margin: 0;
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.2;
}
.amenity-grid ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.amenity-grid li {
  border-top: 1px solid rgba(23,19,15,.14);
  padding-top: 9px;
  color: #5a534a;
  font-size: 13px;
  line-height: 1.65;
}
@media (max-width: 1100px) {
  .amenity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .amenity-grid {
    grid-template-columns: 1fr;
  }
  .amenity-grid article {
    min-height: auto;
  }
}
/* End amenities section */
/* HotelSmart fallback booking link */
.hotelsmart-booking-widget {
  text-align: center;
}
.booking-widget-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 18px auto 0;
  padding: 12px 20px;
  border: 1px solid rgba(201, 149, 61, .45);
  color: #fff;
  background: #8f4a2e;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.booking-start-note {
  max-width: 1280px;
  margin: -18px auto 22px;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}
/* End HotelSmart fallback booking link */
/* AI meaning */
.hero-copy .ai-meaning {
  width: fit-content;
  margin: 18px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(201,149,61,.52);
  color: rgba(255,255,255,.72);
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
/* End AI meaning */

/* Mobile responsive repair */
@media (max-width: 900px) {
  .rates .rate-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .rates .rate-card {
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .site-header {
    gap: 12px;
    padding: 0 14px;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 96px);
    font-size: 11px;
    letter-spacing: .12em;
    white-space: normal;
    line-height: 1.35;
  }

  .booking {
    flex-shrink: 0;
    padding: 8px 10px;
    font-size: 10px;
    letter-spacing: .1em;
  }

  .hero-copy > p {
    letter-spacing: .2em;
  }

  .hero-copy .ai-meaning {
    letter-spacing: .14em;
  }

  h1 {
    overflow-wrap: normal;
    word-break: keep-all;
    font-size: 42px;
    line-height: 1.04;
  }
}

@media (max-width: 340px) {
  h1 {
    font-size: 39px;
  }
}
/* End mobile responsive repair */
