@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap");

:root {
  --ink: #243650;
  --ink-deep: #1b2a41;
  --ivory: #fbfaf6;
  --bone: #f4efe5;
  --card: #fffdf8;
  --gold: #c7a15a;
  --muted: #5f6670;
  --soft: #d8d1c4;
  --border: rgba(36, 54, 80, 0.14);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

::selection {
  background: var(--ink);
  color: var(--ivory);
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px clamp(24px, 4vw, 64px);
  color: var(--ivory);
  transition: background 0.25s ease, color 0.25s ease, padding 0.25s ease, border-color 0.25s ease;
}

.site-header.is-scrolled,
.site-header.site-header--solid {
  background: rgba(251, 250, 246, 0.94);
  color: var(--ink);
  border-bottom: 1px solid var(--border);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  padding-block: 12px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 8px;
}

.brand__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brand__title {
  font-family: var(--serif);
  font-size: 20px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.brand__subtitle,
.eyebrow {
  font-size: 10px;
  letter-spacing: 0.38em;
  text-transform: uppercase;
}

.brand__subtitle {
  margin-top: 5px;
  opacity: 0.7;
}

.nav {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.6vw, 40px);
}

.nav a {
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.78;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.nav a:hover,
.nav a.is-active {
  opacity: 1;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid currentColor;
  padding: 15px 28px;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  cursor: pointer;
  background: transparent;
  color: inherit;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.button:hover {
  background: var(--ink);
  color: var(--ivory);
}

.button--light {
  background: var(--ivory);
  color: var(--ink);
  border-color: var(--ivory);
}

.button--light:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 1px;
  margin: 7px auto;
  background: currentColor;
}

.mobile-panel {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  background: var(--ink-deep);
  color: var(--ivory);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.mobile-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mobile-close {
  position: absolute;
  top: 24px;
  right: 24px;
  border: 0;
  background: transparent;
  color: var(--gold);
  font-family: var(--serif);
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
}

.mobile-panel nav {
  display: flex;
  flex-direction: column;
  gap: 26px;
  text-align: center;
}

.mobile-panel a {
  text-decoration: none;
  font-family: var(--serif);
  font-size: 36px;
}

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
  padding: 120px 24px 86px;
  color: var(--ivory);
}

.hero__media,
.page-hero__media,
.cta__media {
  position: absolute;
  inset: 0;
}

.hero__media img,
.page-hero__media img,
.cta__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__media img {
  animation: slowZoom 28s ease-in-out infinite alternate;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 25, 32, 0.48), rgba(20, 25, 32, 0.24) 45%, rgba(20, 25, 32, 0.72));
}

.hero__content,
.page-hero__content,
.cta__content {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
}

.hero__crest {
  width: clamp(220px, 28vw, 340px);
  margin: 28px auto 22px;
  filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.38));
}

.rule {
  display: inline-block;
  width: 48px;
  height: 1px;
  background: var(--gold);
}

.eyebrow-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 28px;
}

h1,
h2,
h3 {
  font-family: var(--serif);
  font-weight: 300;
  letter-spacing: 0;
}

h1 em,
h2 em,
h3 em {
  font-style: italic;
}

.hero h1 {
  margin: 0;
  font-size: clamp(4.8rem, 8vw, 9.2rem);
  line-height: 1.02;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-shadow: 0 12px 40px rgba(0, 0, 0, 0.24);
}

.hero h1 em {
  text-transform: none;
  letter-spacing: 0;
}

.hero p {
  margin: 24px auto 0;
  max-width: 650px;
  color: rgba(251, 250, 246, 0.88);
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.7;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 38px;
}

.scroll-label {
  position: absolute;
  left: 50%;
  bottom: 30px;
  z-index: 2;
  transform: translateX(-50%);
  color: rgba(251, 250, 246, 0.72);
}

.status {
  border-block: 1px solid var(--border);
  background: var(--bone);
  padding: 30px clamp(24px, 5vw, 72px);
}

.status__grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px 34px;
}

.status__item {
  text-align: center;
  color: rgba(36, 54, 80, 0.72);
}

.signature-panel {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: center;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(255, 253, 248, 0.9), rgba(244, 239, 229, 0.68));
  padding: clamp(34px, 5vw, 70px);
}

.signature-panel__note {
  border-left: 1px solid rgba(36, 54, 80, 0.16);
  padding-left: clamp(24px, 4vw, 46px);
}

.signature-panel__note p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.85;
}

.section {
  padding: clamp(96px, 12vw, 170px) clamp(24px, 5vw, 72px);
}

.section--bone {
  background: var(--bone);
  border-block: 1px solid var(--border);
}

.section--dark {
  background: var(--ink-deep);
  color: var(--ivory);
}

.section__inner {
  max-width: 1240px;
  margin: 0 auto;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(52px, 7vw, 84px);
  background: rgba(251, 250, 246, 0.16);
  border: 1px solid rgba(251, 250, 246, 0.16);
}

.process-step {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: rgba(251, 250, 246, 0.055);
  padding: clamp(34px, 4vw, 54px);
}

.process-step__num {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 42px;
  font-style: italic;
  line-height: 1;
}

.process-step h3 {
  margin: 38px 0 16px;
  color: var(--ivory);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
}

.process-step p {
  margin: 0;
  color: var(--soft);
  line-height: 1.8;
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: start;
}

.intro-copy {
  border-left: 1px solid var(--border);
  padding-left: clamp(28px, 4vw, 52px);
}

.display {
  margin: 0;
  color: var(--ink);
  font-size: clamp(3rem, 6.5vw, 5.4rem);
  line-height: 1;
}

.lede {
  margin: 0 0 28px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.4;
}

.body-copy {
  color: var(--muted);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.85;
}

.center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.center .eyebrow-row {
  justify-content: center;
}

.center h1,
.center h2 {
  margin: 0 0 24px;
  font-size: clamp(2.8rem, 6vw, 5rem);
  line-height: 1.05;
}

.center p {
  margin: 0 auto;
  max-width: 650px;
  color: var(--muted);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.8;
}

.pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(56px, 7vw, 86px);
  background: var(--border);
  border: 1px solid var(--border);
}

.pillar {
  background: var(--ivory);
  padding: clamp(38px, 4vw, 58px);
  transition: background 0.25s ease;
}

.pillar:hover {
  background: var(--card);
}

.pillar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 42px;
}

.pillar__num {
  color: var(--gold);
  font-family: var(--serif);
  font-style: italic;
  font-size: 32px;
}

.pillar h3,
.season h3,
.chapter h2 {
  margin: 0 0 18px;
  color: var(--ink);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  line-height: 1.1;
}

.pillar p,
.season p,
.chapter p,
.chapter li {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.season-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(28px, 3vw, 44px);
  margin-top: clamp(56px, 7vw, 86px);
}

.season {
  border-top: 1px solid rgba(36, 54, 80, 0.3);
  padding-top: 26px;
}

.season__range,
.chapter__num,
.contact-info__label {
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.editorial {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 7vw, 92px);
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(100px, 12vw, 160px) clamp(24px, 5vw, 72px);
}

.editorial--dark {
  max-width: none;
  padding-inline: max(clamp(24px, 5vw, 72px), calc((100vw - 1240px) / 2 + 40px));
  background: var(--ink-deep);
  color: var(--ivory);
}

.editorial--reverse .editorial__media {
  order: 2;
}

.editorial__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

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

.editorial h2 {
  margin: 0 0 28px;
  color: var(--ink);
  font-size: clamp(3.2rem, 5vw, 5.8rem);
  line-height: 1.05;
}

.editorial--dark h2 {
  color: var(--ivory);
}

.editorial p {
  max-width: 520px;
  margin: 0 0 36px;
  color: var(--muted);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.85;
}

.editorial--dark p {
  color: var(--soft);
}

.text-link {
  display: inline-block;
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 7px;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 42px);
  margin-top: clamp(52px, 7vw, 84px);
}

.blog-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: var(--card);
  border: 1px solid var(--border);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.blog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(199, 161, 90, 0.6);
  box-shadow: 0 26px 60px -46px rgba(27, 42, 65, 0.7);
}

.blog-card__image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.blog-card:hover .blog-card__image img {
  transform: scale(1.045);
}

.blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(26px, 3vw, 36px);
}

.blog-card__meta {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.blog-card h3 {
  margin: 18px 0 16px;
  color: var(--ink);
  font-size: clamp(1.8rem, 2.6vw, 2.45rem);
  line-height: 1.05;
}

.blog-card p {
  margin: 0 0 28px;
  color: var(--muted);
  line-height: 1.75;
}

.blog-card__read {
  margin-top: auto;
  color: var(--ink);
}

.article-hero {
  padding: clamp(150px, 20vh, 230px) 24px clamp(48px, 7vw, 84px);
  text-align: center;
}

.article-hero h1 {
  max-width: 900px;
  margin: 0 auto 24px;
  color: var(--ink);
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: 1;
}

.article-hero p {
  max-width: 680px;
  margin: 0 auto;
  color: var(--muted);
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.8;
}

.article-image {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px clamp(60px, 8vw, 100px);
}

.article-image img {
  width: 100%;
  height: clamp(360px, 48vw, 650px);
  object-fit: cover;
}

.article-body {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px clamp(80px, 12vw, 150px);
}

.article-body p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.9;
}

.article-body h2 {
  margin: 56px 0 18px;
  color: var(--ink);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.05;
}

.article-body blockquote {
  margin: 56px 0;
  border-left: 1px solid var(--gold);
  padding-left: clamp(24px, 4vw, 42px);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-style: italic;
  line-height: 1.25;
}

.page-hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 68vh;
  overflow: hidden;
  text-align: center;
  padding: 150px 24px 92px;
}

.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(251, 250, 246, 0.5), rgba(251, 250, 246, 0.32) 55%, rgba(251, 250, 246, 0.76));
}

.page-hero h1,
.plain-hero h1 {
  margin: 0 0 28px;
  color: var(--ink);
  font-size: clamp(2.8rem, 6.5vw, 5.2rem);
  line-height: 1.02;
}

.page-hero p,
.plain-hero p {
  max-width: 660px;
  margin: 0 auto;
  color: var(--muted);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.8;
}

.plain-hero {
  padding: clamp(150px, 20vh, 230px) 24px clamp(55px, 7vw, 92px);
  text-align: center;
}

.chapters {
  max-width: 1140px;
  margin: 0 auto;
  border-top: 1px solid var(--border);
}

.chapter {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(24px, 4vw, 72px);
  padding: clamp(38px, 5vw, 64px) 0;
  border-bottom: 1px solid var(--border);
}

.chapter ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0;
  padding: 0;
}

.chapter li {
  border-bottom: 1px solid rgba(36, 54, 80, 0.08);
  padding-bottom: 14px;
}

.regions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 clamp(32px, 4vw, 64px);
  margin-top: 64px;
  border-top: 1px solid var(--border);
}

.region {
  padding: 20px 0;
  border-bottom: 1px solid rgba(36, 54, 80, 0.12);
  font-family: var(--serif);
  font-size: clamp(1.3rem, 1.8vw, 1.55rem);
}

.image-band {
  padding: 0 clamp(24px, 5vw, 72px) clamp(70px, 9vw, 120px);
}

.image-band__inner {
  max-width: 1140px;
  margin: 0 auto;
  overflow: hidden;
}

.image-band img {
  width: 100%;
  height: clamp(360px, 46vw, 600px);
  object-fit: cover;
}

.quote {
  text-align: center;
}

.quote__mark {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--gold);
  font-family: var(--serif);
  font-size: 70px;
  line-height: 1;
}

.quote p {
  max-width: 920px;
  margin: 0 auto 32px;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-style: italic;
  line-height: 1.3;
}

.quote cite {
  color: #9aa4ae;
  font-style: normal;
}

.cta {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 16vw, 210px) 24px;
  text-align: center;
  color: var(--ivory);
}

.cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18, 25, 36, 0.72), rgba(18, 25, 36, 0.74));
}

.cta h2 {
  margin: 0 0 26px;
  font-size: clamp(2.8rem, 7vw, 5.6rem);
  line-height: 1;
}

.cta p {
  max-width: 560px;
  margin: 0 auto 42px;
  color: var(--soft);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.8;
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(48px, 7vw, 100px);
  max-width: 1140px;
  margin: 0 auto;
  align-items: start;
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.contact-info a,
.contact-info__value {
  text-decoration: none;
  font-family: var(--serif);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.contact-info__note {
  border-top: 1px solid var(--border);
  padding-top: 28px;
}

.contact-info__note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.8;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.field label {
  color: var(--muted);
}

.field input,
.field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(36, 54, 80, 0.3);
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  padding: 10px 0;
}

.field input:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--ink);
}

a:focus-visible,
button:focus-visible,
.button:focus-visible,
.menu-toggle:focus-visible,
.mobile-close:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}

.form-note {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.form-status {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  min-height: 1.6em;
}

.form-status[data-tone="success"] {
  color: var(--ink);
}

.form-status[data-tone="error"] {
  color: #a3392f;
}

.site-footer {
  background: var(--ink-deep);
  color: var(--ivory);
  padding: clamp(64px, 8vw, 110px) clamp(24px, 5vw, 72px) 42px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: clamp(40px, 5vw, 64px);
  max-width: 1240px;
  margin: 0 auto;
  padding-bottom: 70px;
  border-bottom: 1px solid rgba(251, 250, 246, 0.14);
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footer-logo img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 8px;
  opacity: 0.9;
}

.footer-title {
  color: #8792a0;
  margin-bottom: 22px;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.footer-links a,
.footer-links span {
  text-decoration: none;
  color: var(--soft);
  font-size: 14px;
}

.footer-links a:hover {
  color: var(--gold);
}

.footer-tagline {
  color: var(--soft);
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  line-height: 1.4;
}

.footer-bottom {
  max-width: 1240px;
  margin: 0 auto;
  padding-top: 30px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  color: #8792a0;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes slowZoom {
  from {
    transform: scale(1.04);
  }
  to {
    transform: scale(1.13);
  }
}

@media (max-width: 980px) {
  .intro-grid,
  .editorial,
  .chapter,
  .contact-grid,
  .footer-grid,
  .signature-panel,
  .process-grid,
  .blog-grid {
    grid-template-columns: 1fr;
  }

  .editorial--reverse .editorial__media {
    order: initial;
  }

  .season-grid,
  .regions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  .nav {
    display: none;
  }

  .menu-toggle {
    display: block;
  }
}

@media (max-width: 680px) {
  .brand__text {
    display: none;
  }

  .hero h1 {
    font-size: clamp(3.4rem, 18vw, 5rem);
  }

  .status__grid,
  .pillars,
  .season-grid,
  .regions,
  .form-row {
    grid-template-columns: 1fr;
  }

  .intro-copy {
    border-left: 0;
    padding-left: 0;
  }

  .signature-panel__note {
    border-left: 0;
    border-top: 1px solid rgba(36, 54, 80, 0.16);
    padding: 24px 0 0;
  }

  .editorial,
  .editorial--dark {
    padding: 84px 24px;
  }
}

/* Phase 1 — the maison palette and editorial rhythm. */
:root {
  --ink: #1b2a41;
  --ink-deep: #1b2a41;
  --ivory: #f8f5ee;
  --bone: #eee7da;
  --beige: #d8c9ad;
  --gold: #a58c65;
  --soft: #d8c9ad;
  --muted: #535d6b;
}
body { font-weight: 400; }
html { scroll-padding-top: 110px; }
main:focus { outline: none; }
.skip-link { position: fixed; top: 12px; left: 16px; z-index: 100; padding: 16px 24px; background: var(--ivory); color: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { background: linear-gradient(rgba(27,42,65,.7), rgba(27,42,65,.12)); }
.site-header.is-scrolled, .site-header.site-header--solid { background: rgba(248,245,238,.97); }
.nav { gap: clamp(14px, 1.6vw, 28px); }
.nav a { font-size: 10px; letter-spacing: .1em; opacity: 1; }
.nav .button { padding: 14px 18px; }
.nav a[aria-current] { text-decoration: underline; text-underline-offset: 7px; text-decoration-color: var(--gold); }
.brand img, .footer-logo img { border-radius: 0; }
.hero { min-height: min(960px, 100svh); padding-block: 170px 130px; background: var(--ink); }
.hero::after { background: linear-gradient(180deg, rgba(27,42,65,.45), rgba(27,42,65,.5) 45%, rgba(27,42,65,.82)); }
.hero__content { max-width: 1000px; }
.hero .eyebrow-row { margin-bottom: 46px; }
.hero h1 { font-size: clamp(3rem, 7.9vw, 8rem); letter-spacing: .08em; line-height: 1.15; }
.hero h1 em { font-style: normal; letter-spacing: .08em; }
.hero p { margin-top: 32px; max-width: 610px; color: var(--ivory); font-family: var(--serif); font-size: clamp(21px, 2.3vw, 28px); line-height: 1.55; }
.hero__actions { margin-top: 42px; }
.hero__actions .button { min-height: 50px; }
.eyebrow-row .rule { flex-shrink: 0; }
.eyebrow { line-height: 1.7; }
.status__item { color: var(--ink); }
.service-promise { text-align: center; font-family: var(--serif); font-size: clamp(22px, 3vw, 30px); }
.service-terms { max-width: 1140px; margin: 0 auto 48px; }
.atlas-heading { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: 48px; margin-bottom: 60px; }
.atlas-heading .body-copy { max-width: 390px; margin-bottom: 0; }
.atlas-grid, .collection-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.atlas-card { color: var(--ink); text-decoration: none; }
.atlas-card__image { aspect-ratio: 3 / 4; overflow: hidden; background: var(--beige); }
.atlas-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.atlas-card:hover img, .atlas-card:focus-visible img { transform: scale(1.035); }
.atlas-card:nth-child(2) { margin-top: 48px; }
.atlas-card__caption { padding-top: 26px; }
.atlas-card h3, .collection-item h3 { font-size: clamp(1.8rem, 2.8vw, 2.4rem); margin: 14px 0; line-height: 1.15; }
.atlas-card p, .collection-item > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; color: var(--muted); }
.atlas-card .text-link { font-size: 10px; margin-top: 14px; }
.atlas-note { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 42px 0 24px; max-width: 620px; }
.atlas-story { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(32px,6vw,90px); padding: 70px 0; border-bottom: 1px solid var(--border); scroll-margin-top: 110px; }
.atlas-story h2 { font-size: clamp(2.6rem,5vw,4.4rem); line-height: 1.05; margin: 18px 0; }
.atlas-story h3 { font-size: 1.75rem; margin-bottom: 12px; }
.atlas-story__subtitle { font-family: var(--serif); font-style: italic; font-size: 23px; line-height: 1.5; }
.atlas-story .text-link { margin-top: 20px; }
.collection-grid { margin-top: 64px; gap: 36px; }
.collection-object { display: grid; place-items: center; aspect-ratio: 1; background: var(--ivory); padding: 30px; margin-bottom: 30px; border: 1px solid rgba(165,140,101,.25); }
.collection-object svg { width: 100%; height: auto; }
.collection-stamp { width: 68%; aspect-ratio: .8; border: 2px dashed var(--gold); outline: 1px solid var(--gold); outline-offset: 8px; display: flex; flex-direction: column; justify-content: space-around; align-items: center; color: var(--ink); padding: 12px; }
.collection-stamp b { font-family: var(--serif); font-size: clamp(40px,6vw,76px); font-weight: 400; }
.collection-stamp span, .collection-gift span { font-size: 8px; letter-spacing: .22em; text-align: center; }
.collection-gift { width: 100%; aspect-ratio: 1.6; padding: 24px 12px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; background: var(--ink); color: var(--beige); outline: 1px solid var(--gold); outline-offset: -9px; }
.collection-gift i { font-family: var(--serif); font-size: clamp(16px,2vw,23px); }
.availability { display: block; border-top: 1px solid rgba(27,42,65,.2); padding-top: 18px; margin-top: 24px; color: var(--ink); font-size: 11px; line-height: 1.7; }
.blog-card__meta, .season__range, .chapter__num, .contact-info__label { color: #79613e; }
.footer-title, .footer-bottom { color: var(--beige); }
.footer-links a { overflow-wrap: anywhere; }
.mobile-panel { visibility: hidden; overflow-y: auto; padding: 90px 24px 40px; }
.mobile-panel.is-open { visibility: visible; }
.mobile-panel nav { gap: 18px; }
.mobile-panel a { font-size: clamp(24px,4vh,36px); }
.mobile-close, .menu-toggle { min-width: 44px; min-height: 44px; }
/* Content remains visible if scripting fails or is disabled. */
[data-reveal] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .reveal-ready [data-reveal]:not(.is-visible) { opacity: 0; transform: translateY(20px); }
}
@media (max-width: 1200px) {
  .nav { display: none; }
  .menu-toggle { display: block; }
}
@media (max-width: 780px) {
  .atlas-heading, .atlas-story { grid-template-columns: 1fr; gap: 24px; }
  .atlas-grid, .collection-grid { grid-template-columns: 1fr; gap: 48px; }
  .atlas-card:nth-child(2) { margin-top: 0; }
  .atlas-card__image { aspect-ratio: 4 / 3; }
  .collection-object { aspect-ratio: 4 / 3; }
  .collection-object svg { max-width: 240px; max-height: 230px; }
  .collection-stamp { width: 130px; }
  .collection-gift { max-width: 260px; }
  .atlas-heading { margin-bottom: 40px; }
}
@media (max-width: 680px) {
  .brand__text { display: flex; }
  .hero { min-height: 100svh; padding: 150px 24px 105px; }
  .hero h1 { font-size: clamp(2rem, 8.5vw, 3.5rem); }
  .hero .eyebrow-row { gap: 10px; margin-bottom: 32px; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .2em; }
  .hero .rule { width: 18px; }
  .hero__actions { gap: 12px; }
  .hero__actions .button { width: 100%; max-width: 320px; }
  .status__grid { grid-template-columns: 1fr 1fr; gap: 22px 12px; }
  .status__item { font-size: 8px; letter-spacing: .16em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-reveal], .reveal-ready [data-reveal]:not(.is-visible) { opacity: 1; transform: none; }
}

/* Boutique — static product content with a separate, disconnected storefront. */
.boutique-hero { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 7vw, 100px); align-items: center; padding: 150px 32px 90px; }
.boutique-hero h1 { font-size: clamp(3.6rem, 6.8vw, 6.6rem); line-height: .98; margin: 24px 0 36px; }
.boutique-hero .lede { font-size: clamp(1.8rem, 2.8vw, 2.6rem); }
.boutique-hero .text-link { margin-top: 14px; }
.boutique-release { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 30px 0 0; }
.boutique-hero figure, .product-gallery figure { margin: 0; }
.boutique-hero__image img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.boutique-hero figcaption, .product-gallery figcaption { font-size: 11px; line-height: 1.8; color: var(--muted); margin: 14px 0 0; }
.boutique-heading { display: grid; grid-template-columns: 1.5fr 1fr; gap: 50px; align-items: end; margin-bottom: 50px; }
.boutique-heading h2, .boutique-note h2 { font-size: clamp(2.6rem, 4.5vw, 4.4rem); line-height: 1.05; margin: 20px 0 0; }
.boutique-heading .body-copy { margin: 0; }
.boutique-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.collection .boutique-grid { margin-top: 64px; }
.boutique-card__image { display: block; overflow: hidden; background: var(--ivory); }
.boutique-card__image img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .6s ease; }
.boutique-card__image:hover img { transform: scale(1.025); }
.boutique-card > .eyebrow { margin-top: 26px; font-size: 9px; letter-spacing: .2em; }
.boutique-card h3 { font-size: clamp(1.8rem,2.7vw,2.4rem); margin: 14px 0; line-height: 1.1; }
.boutique-card h3 a { text-decoration: none; }
.boutique-card > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.8; }
.boutique-card__facts { padding-block: 18px; margin: 24px 0; border-block: 1px solid var(--border); font-size: 12px; line-height: 1.8; }
.boutique-card__facts > div, .product-facts > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.boutique-card__facts dt, .product-facts dt { color: var(--muted); }
.boutique-card__facts dd, .product-facts dd { margin: 0; }
.boutique-card .text-link { font-size: 10px; letter-spacing: .16em; }
.boutique-invitation { text-align: center; margin-top: 64px; }
.boutique-note { max-width: 760px; text-align: center; }
.boutique-note .body-copy { margin-top: 30px; }
.product-shell { max-width: 1340px; margin-inline: auto; padding: 112px clamp(24px,5vw,60px) 100px; }
.boutique-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; line-height: 1.8; margin: 20px 0 40px; }
.boutique-breadcrumb a { text-underline-offset: 4px; }
.product-layout { display: grid; grid-template-columns: 1.12fr 1fr; gap: clamp(36px,6vw,84px); align-items: start; }
.product-gallery__main { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--bone); }
.product-information h1 { font-size: clamp(2.8rem,4.5vw,4.7rem); line-height: 1; margin: 22px 0; }
.product-subtitle { font-family: var(--serif); font-style: italic; font-size: 24px; line-height: 1.4; }
.product-purchase { padding-block: 26px; border-block: 1px solid var(--border); margin-top: 32px; }
.product-purchase h2 { font-family: var(--sans); font-weight: 400; letter-spacing: .2em; }
.product-facts { font-size: 14px; line-height: 2; margin: 22px 0 30px; }
.product-options { border: 0; padding: 0; margin: 24px 0; min-width: 0; }
.product-options legend { font-size: 13px; padding: 0; margin-bottom: 12px; }
.product-options legend span { color: var(--muted); font-size: 11px; }
.product-options__values { display: flex; flex-wrap: wrap; gap: 10px; }
.product-choice { position: relative; cursor: pointer; }
.product-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.product-choice > span { min-height: 44px; min-width: 44px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid rgba(27,42,65,.3); padding: 12px 15px; font-size: 12px; }
.product-choice input:checked + span { border-color: var(--ink); box-shadow: inset 0 -3px 0 var(--ink); background: var(--bone); }
.product-choice input:focus-visible + span { outline: 2px solid var(--ink); outline-offset: 4px; }
.colour-dot { width: 14px; height: 14px; display: inline-block; border: 1px solid rgba(27,42,65,.3); border-radius: 50%; }
.colour-dot--ivory { background: var(--ivory); }
.colour-dot--navy { background: var(--ink); }
.product-selection { font-size: 12px; line-height: 1.8; min-height: 3.6em; color: var(--muted); }
.purchase-unavailable { width: 100%; border-color: var(--border); background: var(--bone); color: var(--muted); cursor: not-allowed; letter-spacing: .16em; }
.purchase-unavailable:hover { background: var(--bone); color: var(--muted); }
.product-release-note { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 18px 0 0; }
.product-details { margin: 32px 0; }
.product-details details { border-bottom: 1px solid var(--border); }
.product-details summary { cursor: pointer; font-size: 14px; padding: 20px 0; line-height: 1.6; }
.product-details summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.product-details p { margin: 0 0 22px; }
.product-gallery .product-artwork { margin-top: 44px; }
.product-artwork img { width: 100%; height: auto; max-width: 420px; margin-inline: auto; }
@media (max-width: 900px) {
  .boutique-hero { gap: 32px; }
  .boutique-heading { grid-template-columns: 1fr; gap: 24px; }
  .boutique-grid { gap: 24px; }
  .product-layout { grid-template-columns: 1fr; gap: 42px; }
  .product-gallery { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; align-items: start; }
  .product-gallery .product-artwork { margin-top: 0; }
}
@media (max-width: 680px) {
  .boutique-hero { grid-template-columns: 1fr; padding: 130px 24px 70px; }
  .boutique-hero h1 { font-size: clamp(3.4rem,13vw,4.5rem); }
  .boutique-hero__image { margin-top: 14px !important; }
  .boutique-grid { grid-template-columns: 1fr; gap: 52px; }
  .boutique-invitation { margin-top: 48px; }
  .product-shell { padding-top: 96px; }
  .product-gallery { grid-template-columns: 1fr; }
  .product-artwork { display: none; }
  .product-gallery .product-artwork { display: block; max-width: 250px; margin: 24px auto 0; }
  .product-information h1 { font-size: clamp(2.7rem,11vw,4rem); }
}
.product-visual-detail { border-top: 1px solid var(--border); margin-top: 26px; }
.product-visual-detail summary { cursor: pointer; padding: 20px 0; font-size: 13px; }
.product-visual-detail summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (max-width: 900px) {
  .product-gallery { display: block; width: 100%; max-width: 650px; margin-inline: auto; }
}

/* Private enquiries — the form prepares an email draft, never a false success. */
.private-enquiries .center { max-width: 880px; }
.enquiry-begin { margin-top: 36px; }
.enquiry-section { padding-top: 30px; }
.contact-info h2 { margin: 0; font-size: clamp(2.2rem,3.5vw,3.3rem); line-height: 1.1; }
.contact-info a { overflow-wrap: anywhere; }
.field label span { font-size: 9px; letter-spacing: .1em; }
.field select { width: 100%; min-height: 48px; border: 0; border-bottom: 1px solid rgba(27,42,65,.3); border-radius: 0; padding: 10px 4px 10px 0; background: var(--ivory); color: var(--ink); font: inherit; font-size: 16px; }
.field :is(input, textarea, select):focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
.contact-form { scroll-margin-top: 130px; }
.enquiry-draft[hidden] { display: none; }
.form-status:empty { display: none; }

/* Genuine alpha PNGs: the colour variants change with the header surface. */
.site-header { padding-block: 10px; }
.brand__logo { display: block; width: 76px; height: 74px; }
.brand .brand__logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.brand .brand__logo--navy { display: none; }
.brand .brand__logo--light { display: block; }
.site-header:is(.site-header--solid, .is-scrolled) .brand__logo--navy { display: block; }
.site-header:is(.site-header--solid, .is-scrolled) .brand__logo--light { display: none; }
.site-header:is(.site-header--solid, .is-scrolled) { padding-block: 8px; }
.site-header:is(.site-header--solid, .is-scrolled) .brand__logo { width: 64px; height: 62px; }
.footer-logo img { width: 90px; height: auto; border-radius: 0; opacity: 1; }
@media (max-width: 680px) {
  .brand__logo { width: 64px; height: 62px; }
  .site-header:is(.site-header--solid, .is-scrolled) .brand__logo { width: 60px; height: 58px; }
}

/* The Maison — an editorial philosophy, within the existing static architecture. */
.nav a:last-child { border-bottom: 1px solid var(--gold); padding-block: 10px; }
.maison-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(36px,6vw,84px); align-items: center; padding: 150px 32px 90px; }
.maison-hero h1 { font-size: clamp(3.8rem,6.4vw,6.3rem); line-height: .98; margin: 24px 0 36px; letter-spacing: -.025em; }
.maison-hero .lede { font-size: clamp(1.5rem,2.3vw,2rem); line-height: 1.4; }
.maison-hero .body-copy { font-size: 15px; }
.maison-hero__image { margin: 0; align-self: stretch; display: flex; flex-direction: column; }
.maison-hero__image img { width: 100%; flex: 1; min-height: 0; height: 100%; object-fit: cover; object-position: 52% center; aspect-ratio: 3 / 4; }
.maison-hero figcaption { margin-top: 18px; color: var(--muted); text-transform: uppercase; font-size: 9px; letter-spacing: .24em; line-height: 1.7; }
.maison-time { padding-block: clamp(100px,13vw,190px); }
.maison-time__inner, .maison-editorial-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(48px,8vw,120px); align-items: start; }
.maison-time h2 { font-size: clamp(3.7rem,6.8vw,6.8rem); line-height: .98; margin: 34px 0 48px; color: var(--ivory); }
.maison-signature { color: var(--beige); text-transform: uppercase; font-size: 10px; letter-spacing: .25em; line-height: 1.8; }
.maison-time__copy { border-top: 1px solid var(--gold); padding-top: 34px; margin-top: 12px; }
.maison-time__copy .lede { color: var(--ivory); font-size: clamp(1.9rem,3vw,2.7rem); }
.maison-time__copy > p:not(.lede) { color: var(--soft); font-size: 16px; line-height: 1.9; margin-top: 28px; }
.maison-time__copy .maison-time__closing { color: var(--ivory) !important; font-style: italic; font-family: var(--serif); font-size: 28px !important; }
.maison-editorial-grid h2, .maison-section-heading h2, .maison-world h2 { font-size: clamp(2.8rem,4.8vw,4.7rem); line-height: 1.05; margin: 26px 0 32px; }
.maison-editorial-grid .eyebrow { max-width: 360px; }
.maison-margin-note { font-family: var(--serif); font-style: italic; font-size: clamp(1.6rem,2.5vw,2.2rem); line-height: 1.6; color: var(--muted); margin-top: 64px; padding-left: 24px; border-left: 1px solid var(--gold); }
.maison-prose > p:not(.lede):not(.maison-fine-note):not(.maison-choice__closing) { color: var(--muted); line-height: 1.9; font-size: 16px; margin: 24px 0; }
.maison-prose .maison-choice__closing { font-family: var(--serif); font-size: clamp(1.9rem,3vw,2.8rem); line-height: 1.3; border-bottom: 1px solid var(--gold); padding-bottom: 28px; }
.maison-fine-note { color: var(--muted); font-size: 12px; line-height: 1.9; margin-top: 28px; max-width: 780px; }
.maison-section-heading { max-width: 900px; margin-bottom: 60px; }
.maison-section-heading .body-copy { max-width: 620px; }
.maison-service-index { border-top: 1px solid rgba(27,42,65,.25); }
.maison-service-index details { border-bottom: 1px solid rgba(27,42,65,.25); }
.maison-service-index summary { display: flex; gap: 32px; align-items: baseline; cursor: pointer; font-family: var(--serif); font-size: clamp(1.6rem,3.2vw,2.8rem); line-height: 1.2; padding: 30px 42px 30px 0; list-style: none; position: relative; }
.maison-service-index summary::-webkit-details-marker { display: none; }
.maison-service-index summary::after { content: '+'; position: absolute; right: 4px; font-family: var(--sans); font-size: 24px; font-weight: 300; }
.maison-service-index details[open] > summary::after { content: '−'; }
.maison-service-index summary .eyebrow { font-family: var(--sans); letter-spacing: .1em; font-size: 11px; }
.maison-service-index details > div { margin-left: 50px; padding-bottom: 34px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 24px 60px; }
.maison-service-index details > div > p { font-family: var(--serif); font-size: 25px; line-height: 1.5; margin: 0; max-width: 400px; }
.maison-service-index ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 14px; line-height: 2; }
.maison-service-index .text-link { justify-self: start; }
.maison-service-index summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.maison-concierge__statement { font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.4; margin: 60px 0 28px; max-width: 1000px; }
.maison-steps { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; }
.maison-steps li { border-top: 1px solid var(--gold); padding-top: 26px; }
.maison-steps__number { font-family: var(--serif); font-style: italic; font-size: 40px; color: #79613e; }
.maison-steps h3 { text-transform: uppercase; font-family: var(--sans); font-size: 12px; font-weight: 400; letter-spacing: .22em; margin: 32px 0 20px; }
.maison-steps p { font-size: 15px; line-height: 1.9; color: var(--muted); }
.maison-approval { border-top: 1px solid var(--border); padding-top: 28px; margin: 44px 0 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.maison-hospitality-list { list-style: none; margin: 36px 0; padding: 0; border-top: 1px solid var(--border); }
.maison-hospitality-list li { font-family: var(--serif); font-size: clamp(1.4rem,2.4vw,2rem); line-height: 1.4; border-bottom: 1px solid var(--border); padding: 15px 0; }
.maison-world { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: var(--ink); color: var(--ivory); }
.maison-world__image { margin: 0; min-height: 600px; }
.maison-world__image img { width: 100%; height: 100%; object-fit: cover; }
.maison-world__copy { padding: clamp(60px,7vw,110px) clamp(28px,5vw,76px); }
.maison-world__copy > p:not(.eyebrow) { color: var(--soft); font-size: 15px; line-height: 1.9; }
.maison-geographies { display: flex; flex-wrap: wrap; list-style: none; padding: 24px 0; margin: 30px 0; gap: 14px 24px; border-block: 1px solid rgba(216,201,173,.3); color: var(--beige); font-size: 11px; line-height: 1.8; }
.maison-principle-list { margin: 0; border-top: 1px solid var(--border); }
.maison-principle-list > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: 32px; align-items: baseline; padding: 30px 0; border-bottom: 1px solid var(--border); }
.maison-principle-list dt { text-transform: uppercase; font-size: 11px; letter-spacing: .22em; }
.maison-principle-list dd { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem,2.8vw,2.4rem); line-height: 1.3; }
.maison-invitation { text-align: center; }
.maison-invitation h2 { color: var(--ivory); font-size: clamp(3rem,6vw,6rem); line-height: 1.02; margin: 30px 0; }
.maison-invitation p:not(.eyebrow):not(.maison-invitation__signature) { max-width: 660px; margin: 20px auto; color: var(--soft); font-size: 16px; line-height: 1.8; }
.maison-invitation .button { margin-top: 24px; }
.maison-invitation__signature { color: var(--beige); font-family: var(--serif); font-size: 26px; font-style: italic; margin-top: 48px; }
@media (max-width: 980px) {
  .maison-hero { grid-template-columns: 1.1fr 1fr; gap: 32px; }
  .maison-hero h1 { font-size: clamp(3.2rem,6vw,4.2rem); }
  .maison-time__inner, .maison-editorial-grid { gap: 40px; }
  .maison-world { grid-template-columns: 1fr; }
  .maison-world__image { min-height: 0; max-height: 540px; overflow: hidden; }
  .maison-world__image img { height: 540px; }
}
@media (max-width: 700px) {
  .maison-hero { grid-template-columns: 1fr; padding: 130px 24px 70px; gap: 40px; }
  .maison-hero h1 { font-size: clamp(3.1rem,12vw,4.8rem); }
  .maison-hero__image img { aspect-ratio: 4 / 3; height: auto; }
  .maison-time__inner, .maison-editorial-grid { grid-template-columns: 1fr; gap: 32px; }
  .maison-time h2 { font-size: clamp(3.6rem,15vw,5rem); }
  .maison-margin-note { margin-top: 36px; }
  .maison-section-heading { margin-bottom: 40px; }
  .maison-service-index summary { gap: 18px; }
  .maison-service-index details > div { grid-template-columns: 1fr; margin-left: 0; gap: 24px; }
  .maison-steps { grid-template-columns: 1fr; gap: 36px; }
  .maison-steps h3 { margin-top: 20px; }
  .maison-world__image img { height: 380px; }
  .maison-principle-list > div { grid-template-columns: 1fr; gap: 16px; }
}

/* The Maison Wardrobe — original flat concept studies */
.catalog-department + .catalog-department { margin-top: 100px; padding-top: 70px; border-top: 1px solid var(--border); }
.collection-nav { display: flex; flex-wrap: wrap; gap: 20px 36px; padding: 24px 32px; border-block: 1px solid var(--border); }
.collection-nav a { font-size: 12px; letter-spacing: .1em; text-underline-offset: 7px; }
.catalog-department { scroll-margin-top: 130px; }
.card-colours { font-size: 11px !important; }
.product-gallery .view-options { margin-top: 24px; }
.product-gallery .product-visual-detail { margin-top: 26px; }
.product-visual-detail figure + figure { margin-top: 24px; }
.product-choice input:focus-visible + span { outline: 2px solid var(--ink-deep); outline-offset: 4px; }
@media (min-width: 701px) and (max-width: 1000px) { .boutique-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .collection-nav { padding-inline: 24px; } .catalog-department + .catalog-department { margin-top: 60px; padding-top: 40px; } }

/* Immersive Maison edit — photography, considered pauses, concise editorial anchors. */
.cinema-hero { min-height: 100svh; padding: 190px 7vw 110px; text-align: left; place-items: end start; }
.cinema-hero .hero__media img { animation: none; object-position: 62% center; }
.cinema-hero::after { background: linear-gradient(90deg,rgba(10,22,37,.76),rgba(10,22,37,.25) 85%),linear-gradient(0deg,rgba(10,22,37,.35),transparent 65%); }
.cinema-hero .hero__content { margin: 0; max-width: 1100px; width: 100%; }
.cinema-hero h1 { font-size: clamp(3.2rem,7.2vw,7.4rem); letter-spacing: .035em; margin: 32px 0; }
.cinema-hero .hero__priority { font-family: var(--sans); font-size: clamp(12px,1.15vw,16px); letter-spacing: .26em; margin: 0 0 24px; max-width: none; }
.cinema-hero .hero__support { font-family: var(--serif); font-size: clamp(22px,2vw,29px); max-width: 520px; margin: 0; line-height: 1.45; }
.cinema-hero .hero__actions { justify-content: flex-start; margin-top: 36px; }
.cinema-hero .scroll-label { left: 7vw; bottom: 30px; text-decoration: none; color: var(--ivory); z-index: 3; }
.cinema-credit { position: absolute; z-index: 3; right: 4vw; bottom: 30px; font-size: 9px; color: var(--ivory); letter-spacing: .08em; }
.editorial-statement { padding: clamp(84px,10vw,150px) 32px; text-align: center; }
.editorial-statement h2 { font-size: clamp(3rem,5.4vw,5.6rem); line-height: 1.02; margin: 28px 0; }
.editorial-statement > p:not(.eyebrow) { line-height: 1.9; color: var(--muted); font-size: 15px; margin-bottom: 32px; }
.editorial-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px 60px; margin-bottom: 46px; }
.editorial-heading h2 { font-size: clamp(2.8rem,4.6vw,4.8rem); line-height: 1.04; margin: 22px 0 0; }
.editorial-heading > p { font-size: 14px; color: var(--muted); line-height: 1.9; max-width: 360px; }
.experience-edit, .atlas-discovery { padding: 0 32px clamp(80px,10vw,140px); }
.experience-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: start; }
.experience-tile { display: block; position: relative; color: var(--ivory); min-height: 480px; aspect-ratio: 4/5; text-decoration: none; overflow: hidden; background: var(--ink); }
.experience-tile:nth-child(2) { margin-top: 90px; aspect-ratio: 4/4.7; min-height: 400px; }
.experience-tile img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.experience-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 30%,rgba(8,21,37,.88)); }
.experience-tile > div { position: absolute; z-index: 1; bottom: 36px; left: 32px; right: 28px; }
.experience-tile h3 { font-size: clamp(2rem,3.1vw,3.2rem); line-height: 1.1; margin: 18px 0; }
.experience-tile span, .atlas-panorama span { font-size: 11px; letter-spacing: .08em; }
.service-inline { display: flex; flex-wrap: wrap; justify-content: space-between; border-block: 1px solid var(--border); margin-top: 40px; padding-block: 24px; gap: 20px; }
.service-inline a { font-size: 12px; text-underline-offset: 6px; }
.media-note { font-size: 11px; color: var(--muted); line-height: 1.8; margin-top: 24px; }
.atlas-panorama { display: block; position: relative; aspect-ratio: 2/1; min-height: 420px; overflow: hidden; color: var(--ivory); background: var(--ink); text-decoration: none; }
.atlas-panorama img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 65%; }
.atlas-panorama::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(9,23,39,.87),transparent 85%); }
.atlas-panorama > div { position: absolute; z-index: 1; bottom: 40px; left: 40px; right: 32px; }
.atlas-panorama h3 { font-size: clamp(2.8rem,5vw,5rem); margin: 18px 0; line-height: 1; }
.atlas-chapter-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--border); }
.atlas-chapter-links a { padding: 26px 20px 26px 0; font-family: var(--serif); font-size: 27px; text-decoration: none; }
.atlas-chapter-links span { display: block; font-family: var(--sans); font-size: 10px; letter-spacing: .16em; margin-bottom: 14px; }
.home-boutique-edit { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; margin: 50px 0; }
.home-boutique-card { text-decoration: none; }
.home-boutique-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.home-boutique-card h3 { font-size: clamp(1.8rem,2.6vw,2.6rem); margin: 18px 0; line-height: 1.05; }
.home-boutique-card .eyebrow { font-size: 9px; margin-top: 24px; }
.home-boutique-card > p:last-child { font-size: 12px; color: var(--muted); line-height: 1.8; }
.visual-editorial { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; margin: clamp(70px,9vw,130px) auto; max-width: 1600px; }
.visual-editorial figure { margin: 0; position: relative; }
.visual-editorial figure img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.visual-editorial figcaption { padding: 12px 24px; font-size: 10px; color: var(--muted); line-height: 1.8; }
.visual-editorial__copy { padding: 40px clamp(32px,5vw,85px); }
.visual-editorial h2 { font-size: clamp(3rem,4.9vw,5rem); line-height: 1.05; margin: 25px 0; }
.visual-editorial .text-link { margin-top: 28px; }
.visual-editorial--reverse figure { order: 2; }
.home-journal { text-align: center; border-top: 1px solid var(--border); padding: 70px 32px 100px; }
.home-journal > a { text-decoration: none; }
.home-journal h2 { font-size: clamp(3rem,5.6vw,6rem); line-height: 1; margin: 30px 0; }
.invitation-strip { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 36px; align-items: center; background: var(--bone); padding: 70px max(32px,7vw); }
.invitation-strip h2 { font-size: clamp(2.8rem,4.5vw,4.7rem); line-height: 1.03; margin: 25px 0 0; }
.invitation-strip > div:last-child > p { font-family: var(--serif); font-style: italic; margin-top: 28px; font-size: 22px; }
/* Future membership: imagery establishes atmosphere; the development status remains visible. */
.elite-hero { position: relative; min-height: 86svh; display: grid; place-items: center; padding: 170px 32px 100px; text-align: center; color: var(--ivory); background: var(--ink); }
.elite-hero__media { position: absolute; inset: 0; }
.elite-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.elite-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(8,21,38,.58),rgba(8,21,38,.58)); }
.elite-hero__copy { position: relative; z-index: 1; }
.elite-hero h1 { font-size: clamp(3rem,7.8vw,8rem); letter-spacing: .06em; line-height: 1.15; margin: 30px 0 22px; }
.elite-signature { font-family: var(--serif); font-size: clamp(26px,3vw,40px); font-style: italic; margin: 0 0 45px; }
.development-status { display: inline-block; font-size: 9px; letter-spacing: .2em; padding-block: 15px; border-block: 1px solid var(--beige); }
.elite-hero__caption { position: absolute; z-index: 1; bottom: 20px; left: 24px; right: 24px; font-size: 9px; line-height: 1.8; }
.elite-introduction { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; padding: clamp(80px,10vw,140px) 32px; }
.elite-introduction h2, .elite-world h2, .elite-interest h2 { font-size: clamp(3rem,5.2vw,5.5rem); line-height: 1.02; margin: 30px 0; }
.elite-parent { font-size: 10px; line-height: 1.9; letter-spacing: .1em; margin-top: 40px; color: var(--muted); }
.elite-prose > p:not(.lede), .elite-world__copy > p:not(.eyebrow):not(.lede) { font-size: 15px; color: var(--muted); line-height: 1.9; margin-top: 26px; }
.elite-world { display: grid; grid-template-columns: 1fr 1fr; background: var(--bone); align-items: center; }
.elite-world figure { margin: 0; }
.elite-world figure img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 35% center; }
.elite-world figcaption { padding: 14px 24px; font-size: 10px; color: var(--muted); line-height: 1.8; }
.elite-world__copy { padding: 55px clamp(32px,5vw,80px); }
.elite-world .lede { font-size: clamp(23px,2.3vw,30px); }
.elite-interest { padding: 110px 32px; text-align: center; }
.elite-interest > p:not(.eyebrow) { font-size: 13px; color: var(--muted); line-height: 1.9; }
.elite-interest .button { margin-top: 26px; }
.elite-interest .text-link { margin-top: 22px; }
/* Existing editorial information stays available through native expandable details. */
.editorial-details { border-block: 1px solid var(--border); margin-top: 28px; font-size: 14px; line-height: 1.9; }
.editorial-details summary { cursor: pointer; font-size: 12px; padding: 20px 24px 20px 0; text-underline-offset: 5px; }
.editorial-details[open] { padding-bottom: 22px; }
.editorial-details > p { font-size: 14px; line-height: 1.9; }
.section--dark .editorial-details { border-color: rgba(216,201,173,.4); }
.section--dark .editorial-details p { color: var(--soft); }
.maison-hospitality .maison-prose > details { margin-top: 0; }
.maison-time { padding-block: clamp(80px,8vw,120px); }
.service-intro { padding: 155px 32px 70px; }
.service-intro h1 { font-size: clamp(3.3rem,6.2vw,6.4rem); line-height: 1.02; margin: 30px 0; }
.service-intro > p:not(.eyebrow) { font-size: 16px; color: var(--muted); line-height: 1.9; }
.service-jump, .destination-index { display: flex; flex-wrap: wrap; gap: 20px 36px; padding-block: 26px; border-bottom: 1px solid var(--border); }
.service-jump a, .destination-index a { font-size: 11px; text-underline-offset: 6px; }
.chapters .service-story { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 6vw; border: 0; padding: 20px 0 70px; }
.service-story:nth-child(even) .service-story__image { order: 2; }
.service-story__image { margin: 0; }
.service-story__image img { width: 100%; aspect-ratio: 5/4; object-fit: cover; }
.service-story:nth-child(3) .service-story__image img { aspect-ratio: 4/5; }
.service-story__image figcaption { font-size: 10px; color: var(--muted); line-height: 1.8; margin-top: 14px; }
.service-story .chapter__num { margin-bottom: 20px; }
.service-story h2 { font-size: clamp(2.6rem,4.1vw,4.2rem); line-height: 1.03; }
.service-story p { font-size: 15px; line-height: 1.8; }
.service-story .editorial-details ul { padding-left: 18px; }
.service-story .editorial-details li { font-size: 13px; }
.service-method { border-top: 1px solid var(--border); padding-top: 30px; }
.destination-index { padding: 32px; justify-content: space-between; }
.destination-story { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 6vw; padding-block: 60px 90px; scroll-margin-top: 100px; }
.destination-story figure { margin: 0; }
.destination-story figure img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.destination-story figcaption { margin-top: 14px; font-size: 10px; color: var(--muted); line-height: 1.8; }
.destination-story h2 { font-size: clamp(3.2rem,5.6vw,5.6rem); line-height: 1.02; margin: 25px 0; }
.destination-story__copy > p:not(.eyebrow):not(.destination-subtitle) { font-size: 15px; line-height: 1.9; color: var(--muted); }
.destination-subtitle { font-family: var(--serif); font-size: 26px; font-style: italic; line-height: 1.4; }
.destination-story .text-link { margin-top: 24px; }
.destination-story--amalfi-capri { grid-template-columns: 1fr 1.2fr; }
.destination-story--amalfi-capri figure { order: 2; }
.destination-story--amalfi-capri figure img { aspect-ratio: 1; }
.destination-story--capri { grid-template-columns: 1fr; gap: 32px; }
.destination-story--capri figure img { aspect-ratio: 2.2/1; object-position: center 62%; }
.destination-story--capri .destination-story__copy { max-width: 760px; margin-inline: auto; text-align: center; }
.destination-story--capri .editorial-details { text-align: left; }
.destination-story--mykonos figure img { aspect-ratio: 4/4.3; object-position: 65% center; }
.atlas-more { padding: 0 32px; }
.atlas-more > summary { font-family: var(--serif); font-size: clamp(1.5rem,3vw,2.7rem); }
.atlas-more .section { padding-inline: 0; }
.journal-edit { grid-template-columns: 1.5fr 1fr; align-items: start; gap: 36px 50px; }
.journal-edit .blog-card:first-child { grid-row: span 2; }
.journal-edit .blog-card:first-child .blog-card__image { aspect-ratio: 4/5; }
.journal-edit .blog-card__image { aspect-ratio: 16/9; }
.journal-edit .blog-card__image img { width: 100%; height: 100%; object-fit: cover; }
.journal-edit .blog-card:first-child h3 { font-size: clamp(2.5rem,4vw,4rem); }
.enquiry-image { margin: 0 0 36px; }
.enquiry-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: 30% center; }
.enquiry-image figcaption { font-size: 10px; line-height: 1.8; color: var(--muted); margin-top: 12px; }
.boutique-card__image { position: relative; }
.boutique-card__image .boutique-card__reverse { position: absolute; inset: 0; height: 100%; opacity: 0; transition: opacity .45s ease; }
.boutique-card__image:hover .boutique-card__reverse, .boutique-card__image:focus-visible .boutique-card__reverse { opacity: 1; }
.concept-view-label { position: absolute; bottom: 14px; left: 14px; padding: 9px 12px; font-size: 9px; line-height: 1.6; background: var(--ivory); color: var(--ink); }
.boutique-card__image:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
.boutique-hero__image img { object-position: center; }
:where(a,button,summary,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.mobile-panel nav { max-width: 100%; }
.mobile-panel a { min-height: 44px; }
@media (min-width:1201px) { .nav { gap: clamp(12px,1.5vw,24px); } .nav a { white-space: nowrap; font-size: 10px; } }
@media (max-width:1000px) {
  .experience-tile { min-height: 380px; } .experience-tile:nth-child(2) { min-height: 350px; }
  .elite-world, .elite-introduction { gap: 0; } .elite-introduction { gap: 40px; }
  .visual-editorial__copy { padding-inline: 32px; }
  .chapters .service-story { gap: 32px; }
}
@media (max-width:700px) {
  .cinema-hero { padding: 150px 24px 110px; min-height: 100svh; }
  .cinema-hero h1 { font-size: clamp(1.8rem,8.7vw,3.6rem); letter-spacing: .015em; margin-block: 25px; }
  .cinema-hero > .hero__content > .eyebrow { font-size: 9px; letter-spacing: .18em; }
  .cinema-hero .hero__priority { font-size: 10px; letter-spacing: .2em; }
  .cinema-hero .hero__support { font-size: 23px; }
  .cinema-hero .hero__actions { display: grid; justify-content: stretch; gap: 12px; }
  .cinema-hero .hero__actions .button { width: 100%; max-width: none; }
  .cinema-hero .scroll-label { left: 24px; bottom: 28px; font-size: 9px; }
  .cinema-credit { right: 24px; font-size: 8px; max-width: 150px; text-align: right; line-height: 1.7; bottom: 28px; }
  .editorial-statement { padding: 80px 24px; }
  .experience-edit, .atlas-discovery { padding: 0 24px 80px; }
  .editorial-heading { margin-bottom: 32px; }
  .experience-grid, .home-boutique-edit { grid-template-columns: 1fr; gap: 40px; }
  .experience-tile, .experience-tile:nth-child(2) { margin-top: 0; min-height: 410px; aspect-ratio: 4/5; }
  .experience-tile > div { left: 24px; bottom: 28px; right: 24px; }
  .experience-tile h3 { font-size: 34px; }
  .atlas-panorama { aspect-ratio: 4/5; min-height: 400px; }
  .atlas-panorama > div { left: 24px; bottom: 30px; }
  .atlas-chapter-links { grid-template-columns: 1fr; }
  .atlas-chapter-links a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px; border-bottom: 1px solid var(--border); padding-block: 24px; }
  .atlas-chapter-links span { margin: 0; }
  .visual-editorial { grid-template-columns: 1fr; margin-block: 70px; }
  .visual-editorial--reverse figure { order: initial; }
  .visual-editorial__copy { padding: 36px 24px; }
  .visual-editorial figure img { aspect-ratio: 4/3; }
  .invitation-strip { padding: 65px 24px; }
  .home-journal { padding: 65px 24px 80px; }
  .elite-hero { min-height: 85svh; padding: 150px 24px 100px; }
  .elite-hero h1 { font-size: clamp(2rem,9.7vw,3.8rem); letter-spacing: .02em; }
  .elite-hero .eyebrow { font-size: 9px; letter-spacing: .18em; }
  .elite-signature { font-size: 28px; }
  .elite-introduction { grid-template-columns: 1fr; padding: 75px 24px; gap: 35px; }
  .elite-parent { margin-top: 28px; }
  .elite-world { grid-template-columns: 1fr; }
  .elite-world figure img { aspect-ratio: 4/3; }
  .elite-world__copy { padding: 38px 24px 60px; }
  .elite-interest { padding: 75px 24px; }
  .service-intro { padding: 135px 24px 55px; }
  .service-intro h1 { font-size: clamp(2.8rem,11.8vw,4.5rem); }
  .service-jump, .destination-index { gap: 20px; }
  .destination-index { padding: 26px 24px; }
  .chapters .service-story, .destination-story, .destination-story--amalfi-capri { grid-template-columns: 1fr; gap: 28px; padding-block: 20px 60px; }
  .service-story:nth-child(even) .service-story__image, .destination-story--amalfi-capri figure { order: initial; }
  .service-story:nth-child(3) .service-story__image img, .destination-story figure img, .destination-story--capri figure img { aspect-ratio: 4/3; }
  .destination-story--capri .destination-story__copy { text-align: left; }
  .atlas-more { padding-inline: 0; }
  .journal-edit { grid-template-columns: 1fr; gap: 40px; }
  .journal-edit .blog-card:first-child { grid-row: auto; }
  .journal-edit .blog-card:first-child .blog-card__image { aspect-ratio: 4/3; }
}
@media (max-height:650px) and (max-width:1200px) { .mobile-panel { place-items: start center; } .mobile-panel nav { gap: 5px; } .mobile-panel a { font-size: 22px; } }
@media (prefers-reduced-motion:reduce) { .hero__media img { animation: none; } .boutique-card__image img { transition: none; } }
/* Keep intrinsic aspect ratios from widening a constrained editorial column. */
.atlas-panorama, .experience-tile { width: 100%; min-width: 0; }
.cinema-hero .hero__content > .eyebrow { font-family: var(--sans); font-size: 10px; line-height: 1.8; letter-spacing: .25em; margin: 0; max-width: none; }
@media (max-width:700px) { .cinema-hero .hero__content > .eyebrow { font-size: 9px; letter-spacing: .18em; } }
.cinema-hero .scroll-label { transform: none; }
/* Intrinsic dimensions reserve space; CSS controls the editorial crop. */
.service-story__image img, .destination-story figure img, .home-boutique-card img,
.visual-editorial figure img, .elite-world figure img, .enquiry-image img { height: auto; }
picture[data-art-direction] { display: contents; }

/* Our Story — an intimate editorial feature, grounded in the confirmed founding year. */
.maison-story { scroll-margin-top: 105px; }
.story-heading { padding: 70px 32px 65px; text-align: center; border-top: 1px solid var(--border); }
.story-established { font-size: 10px; letter-spacing: .16em; margin: 25px 0; color: #79613e; }
.story-heading h2 { font-size: clamp(3.4rem,6.1vw,6.1rem); line-height: 1.02; margin: 30px 0; }
.story-subheading { font-family: var(--serif); font-size: clamp(24px,2.7vw,32px); line-height: 1.4; margin-bottom: 0; }
.story-opening { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(40px,7vw,100px); align-items: center; padding: 0 32px 95px; }
.story-architecture { margin: 0; }
.story-architecture img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: 32% center; }
.story-architecture figcaption { color: var(--muted); font-size: 10px; line-height: 1.8; margin-top: 14px; }
.story-opening__copy > p, .story-continuation__copy > p { color: var(--muted); font-size: 15px; line-height: 1.95; margin: 0 0 26px; }
.story-opening__copy > .story-lead { font-family: var(--serif); color: var(--ink); font-size: clamp(25px,2.7vw,34px); line-height: 1.45; }
.story-interlude { position: relative; min-height: 490px; display: grid; place-items: center; background: var(--ink); color: var(--ivory); padding: 85px 32px; text-align: center; }
.story-interlude figure { position: absolute; inset: 0; margin: 0; }
.story-interlude figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }
.story-interlude::after { content: ''; position: absolute; inset: 0; background: rgba(9,23,41,.72); }
.story-interlude__quote { position: relative; z-index: 1; }
.story-interlude blockquote { font-family: var(--serif); font-size: clamp(2.3rem,4.5vw,4.5rem); line-height: 1.18; margin: 30px 0 0; }
.story-interlude__caption { position: absolute; z-index: 1; bottom: 18px; left: 24px; right: 24px; font-size: 9px; line-height: 1.8; }
.story-continuation { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px,7vw,100px); padding: 90px 32px 60px; }
.story-margin h3 { font-size: clamp(2.8rem,4.6vw,4.6rem); line-height: 1.05; margin: 28px 0; }
.story-continuation__copy > .story-closing { font-family: var(--serif); font-size: clamp(27px,3vw,38px); line-height: 1.3; color: var(--ink); border-top: 1px solid var(--gold); padding-top: 28px; margin-top: 34px; }
.story-continuation__copy > .story-signature { font-family: var(--sans); font-size: 10px; color: var(--ink); letter-spacing: .21em; line-height: 1.9; margin-top: 34px; }
.story-principles { padding: 40px 32px 100px; }
.story-principle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.story-principle-grid figure { margin: 0 0 30px; }
.story-principle-grid img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.story-principle-grid article:first-child img { object-position: 30% center; }
.story-principle-grid article:nth-child(2) img { object-position: 65% center; }
.story-principle-grid article:nth-child(3) img { object-position: 70% 70%; }
.story-principle-number { font-family: var(--serif); font-size: 28px; font-style: italic; color: #79613e; }
.story-principle-grid h3 { font-family: var(--sans); font-size: 11px; letter-spacing: .12em; line-height: 1.8; margin: 22px 0 18px; }
.story-principle-grid p, .story-commercial > div > p:not(.eyebrow) { font-size: 14px; color: var(--muted); line-height: 1.9; }
.story-commercial { display: grid; grid-template-columns: 1fr 1.2fr; gap: 7vw; margin-top: 60px; border-top: 1px solid var(--border); padding-top: 45px; }
.story-commercial h3 { font-size: clamp(2.4rem,3.6vw,3.8rem); line-height: 1.05; margin: 25px 0; }
.home-story { max-width: 1600px; margin: 0 auto; padding: 100px 32px; display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(36px,6vw,90px); align-items: center; }
.home-story figure { margin: 0; }
.home-story img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: 28% center; }
.home-story figcaption { font-size: 10px; line-height: 1.8; color: var(--muted); margin-top: 14px; }
.home-story__copy { padding-right: min(4vw,60px); }
.home-story h2 { font-size: clamp(2.7rem,4vw,4.2rem); line-height: 1.09; margin: 28px 0; }
.home-story__copy > p:not(.eyebrow) { font-size: 15px; color: var(--muted); line-height: 1.9; margin-bottom: 30px; max-width: 480px; }
@media (max-width:900px) { .story-opening, .story-continuation { gap: 35px; } .story-principle-grid { gap: 22px; } .home-story { gap: 32px; } .home-story__copy { padding-right: 0; } }
@media (max-width:700px) {
 .story-heading { padding: 55px 24px 45px; } .story-heading h2 { font-size: clamp(2.8rem,12vw,4.5rem); }
 .story-opening, .story-continuation, .story-commercial, .home-story { grid-template-columns: 1fr; }
 .story-opening { padding: 0 24px 60px; gap: 35px; }
 .story-architecture img { aspect-ratio: 4/3; }
 .story-interlude { min-height: 410px; padding: 65px 24px; }
 .story-interlude blockquote { font-size: clamp(1.9rem,7.7vw,3rem); }
 .story-continuation { padding: 60px 24px 30px; gap: 20px; }
 .story-principles { padding: 35px 24px 70px; }
 .story-principle-grid { grid-template-columns: 1fr; gap: 44px; }
 .story-principle-grid figure { margin-bottom: 22px; }
 .story-principle-grid h3 { margin-top: 16px; }
 .story-commercial { gap: 16px; margin-top: 40px; }
 .home-story { padding: 65px 24px 80px; gap: 30px; }
 .home-story img { aspect-ratio: 4/3; }
 .home-story h2 { font-size: clamp(2.3rem,9.4vw,3.8rem); }
}

/* Footer content must wrap within each grid track, including narrow screens. */
.footer-grid > *, .footer-links { min-width: 0; }
.footer-links a, .footer-links span, .footer-bottom > * { overflow-wrap: anywhere; }
.footer-bottom { flex-wrap: wrap; gap: 16px 28px; }
/* Decorative visual layers never intercept links or controls. */
.hero::after, .page-hero::after, .cta::after, .elite-hero::after,
.experience-tile::after, .atlas-panorama::after, .story-interlude::after { pointer-events: none; }

/* Editorial collections: the Maison's existing ivory, ink and restrained gold. */
.editorial-hero { text-align: left; padding-bottom: 64px; }
.editorial-hero h1 { max-width: 1050px; }
.editorial-hero > .section__inner > p:not(.eyebrow) { margin: 24px 0 32px; max-width: 650px; }
.editorial-tabs { display:flex; flex-wrap:wrap; gap:18px 30px; margin-top:42px; padding-top:28px; border-top:1px solid var(--border); font-size:12px; }
.editorial-tabs a { text-underline-offset:7px; }
.atlas-feature { background:var(--ink-deep); color:var(--ivory); display:grid; grid-template-columns:2fr 1fr; gap:40px; padding:70px max(24px,calc((100vw - 1240px)/2)); }
.atlas-feature h2 { font-family:var(--serif); font-size:clamp(42px,5vw,70px); font-weight:400; margin:18px 0; }
.atlas-feature p { max-width:580px; line-height:1.9; }
.atlas-feature .button { color:var(--ivory); border-color:var(--gold); margin-top:20px; }
.winter-mark { font-family:Georgia,serif; color:var(--gold); font-size:160px; display:grid; place-items:center; }
.atlas-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 42px; margin-top:36px; }
.atlas-card { padding:34px 0; border-top:1px solid var(--border); scroll-margin-top:120px; }
.atlas-card h3 { font-family:var(--serif); font-size:36px; font-weight:400; line-height:1.15; margin:16px 0; }
.atlas-card h3 a { text-decoration:none; }
.atlas-card h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.atlas-card p:not(.eyebrow) { font-size:14px; line-height:1.9; color:var(--muted); }
.atlas-card .text-link { display:inline-block; margin-top:18px; }
.section--bone { background:var(--bone); }
.story-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:8vw; }
.story-aside ul { padding-left:18px; margin:28px 0; font-size:14px; line-height:2; }
.story-prose p { margin:0 0 28px; font-size:16px; line-height:2; color:var(--muted); }
.story-prose p:first-child { font-family:var(--serif); font-size:27px; line-height:1.55; color:var(--ink); }
.editorial-sources { margin-top:38px; border-top:1px solid var(--border); padding-top:20px; font-size:12px; line-height:1.8; }
.editorial-sources summary { cursor:pointer; }
.editorial-sources ul { padding-left:18px; }
.editorial-sources p { font-size:12px; }
.editorial-invitation { background:var(--bone); }
.editorial-invitation .button { margin-top:22px; }
.editorial-invitation p { max-width:680px; margin:20px auto; line-height:1.8; }
.contact-dock { position:fixed; bottom:18px; right:24px; z-index:45; display:flex; background:var(--ink-deep); color:var(--ivory); box-shadow:0 4px 24px #1b2a4126; border:1px solid #c7a15a66; }
.contact-dock a { padding:16px 20px; font-size:11px; text-decoration:none; letter-spacing:.05em; min-height:48px; display:flex; align-items:center; gap:8px; }
.contact-dock a + a { border-left:1px solid #c7a15a66; }
.contact-dock span { color:#e1c48c; }
.site-footer { padding-bottom:95px; }
.enquiry-optional { padding:22px 0; border-block:1px solid var(--border); margin-bottom:24px; }
.enquiry-optional summary { cursor:pointer; font-size:14px; margin-bottom:16px; }
.enquiry-optional .field { margin-top:20px; }
.enquiry-context { border-left:2px solid var(--gold); padding:14px 18px; background:var(--bone); line-height:1.7; overflow-wrap:anywhere; }
.calendar-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border-block:1px solid var(--border); padding:26px 0; }
.calendar-filters label { display:block; font-size:12px; margin-bottom:12px; }
.calendar-filters select { width:100%; min-height:48px; padding:12px; border:1px solid var(--border); border-radius:0; background:var(--ivory); color:var(--ink); font:inherit; font-size:14px; }
.events-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 60px; }
.event-card { padding:42px 0; border-top:1px solid var(--border); min-width:0; scroll-margin-top:120px; }
.event-card h2 { font-family:var(--serif); font-size:37px; font-weight:400; line-height:1.15; margin:18px 0; }
.event-card > p:not(.eyebrow), .event-card details { line-height:1.9; font-size:14px; }
.event-date { color:var(--ink); font-weight:500; }
.event-card dl { font-size:12px; line-height:1.8; margin:22px 0; }
.event-card dl > div { display:grid; grid-template-columns:90px 1fr; padding:8px 0; border-bottom:1px solid var(--border); }
.event-card dt { color:var(--muted); }
.event-card dd { margin:0; }
.event-card summary { cursor:pointer; padding:14px 0; }
.event-links { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:26px; }
.event-links .button { max-width:100%; white-space:normal; text-align:center; line-height:1.5; }
.event-checked { font-size:10px!important; color:var(--muted); margin-top:24px; }
.event-archive { margin-top:40px; border-top:1px solid var(--border); padding-top:24px; }
.event-archive summary { cursor:pointer; font-family:var(--serif); font-size:28px; }
[data-calendar-status],.calendar-empty { font-size:13px; line-height:1.8; padding:20px 0; }
[hidden] { display:none!important; }
:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
@media(min-width:1201px) { .nav { gap:clamp(10px,1.2vw,20px); } .nav a { font-size:9px; } }
@media(max-width:900px) { .atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; } .story-layout { grid-template-columns:1fr; gap:32px; } .events-grid { gap:0 32px; } }
@media(max-width:600px) { .atlas-grid,.events-grid,.calendar-filters { grid-template-columns:1fr; } .atlas-feature { grid-template-columns:1fr; padding:48px 24px; } .winter-mark { display:none; } .editorial-hero { padding-bottom:40px; } .atlas-card h3 { font-size:34px; } .contact-dock { bottom:0; left:0; right:0; justify-content:center; padding-bottom:env(safe-area-inset-bottom); } .contact-dock a { flex:1; justify-content:center; padding:16px 10px; font-size:10px; } .site-footer { padding-bottom:105px; } .calendar-filters { gap:14px; } .event-card h2 { font-size:33px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.mobile-panel { overflow-y:auto; padding:82px 24px 36px; }
.mobile-panel nav { width:100%; max-width:560px; gap:16px; margin:auto; }
.mobile-panel a { font-size:clamp(22px,4vh,32px); overflow-wrap:anywhere; }
.editorial-hero p.eyebrow { font-size:10px; line-height:2; letter-spacing:.15em; }
.editorial-hero .eyebrow a { display:inline-block; }
.editorial-hero + .section { padding-top:40px; }
.editorial-hero { padding-bottom:40px; }
.editorial-hero + .winter-collection .atlas-grid { margin-top:0; }
.event-checked a { display:inline-block; }
.editorial-sources a { display:inline-block; }
/* A direct, personal way to begin, using the Maison's connected channels. */
.enquiry-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.hero__actions .text-link { color:inherit; align-self:center; }
.contact-info a { display:inline-block; max-width:100%; overflow-wrap:anywhere; }
.footer-links a[href="https://www.instagram.com/zelrocprive/"] { font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; display:inline-block; margin-top:8px; }
/* Destination guides and a quieter, clearer path through the homepage. */
.guide-section { scroll-margin-top:105px; }
.guide-lead { max-width:740px; font-size:16px; line-height:1.9; color:var(--muted); }
.location-grid,.hotel-grid,.home-route-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:36px; }
.location-card { padding:26px 0; border-top:1px solid var(--border); }
.location-card h3,.location-card h4,.home-route-grid h3 { font:400 34px/1.15 var(--serif); margin:18px 0; }
.location-card h3 a { text-decoration:none; }
.location-card p,.home-route-grid p { font-size:15px; line-height:1.9; color:var(--muted); }
.location-card .eyebrow { font-size:10px; line-height:1.9; }
.location-suits strong { display:block; font-size:11px; letter-spacing:.08em; color:var(--ink); margin-bottom:6px; }
.hotel-location { padding-top:54px; scroll-margin-top:110px; }
.hotel-location > h3 { font:400 42px/1.1 var(--serif); margin:0 0 20px; }
.hotel-card { padding:32px; border:1px solid var(--border); background:var(--ivory); min-width:0; }
.hotel-card h2,.hotel-card h3,.hotel-card h4 { font:400 32px/1.1 var(--serif); margin:18px 0; }
.hotel-card .eyebrow { font-size:10px; line-height:1.8; }
.hotel-choice { font-size:16px; line-height:1.8; }
.hotel-card dl { margin:24px 0; }
.hotel-card dl > div { border-top:1px solid var(--border); padding:14px 0; }
.hotel-card dt { font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.hotel-card dd { margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.hotel-card details { margin:20px 0; font-size:14px; line-height:1.8; }
.hotel-card summary { cursor:pointer; padding:12px 0; }
.hotel-card .text-link,.hotel-sources a { display:inline-block; }
.hotel-checked { font-size:10px; line-height:1.8; color:var(--muted); margin-top:20px; }
.hotel-sources { padding-left:18px; font-size:12px; }
.journey-scene { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:50px; padding:40px 0; border-top:1px solid var(--border); margin-top:28px; }
.journey-scene h3 { font:400 35px/1.2 var(--serif); margin:16px 0; }
.journey-scene p { font-size:16px; line-height:1.95; color:var(--muted); margin-top:0; }
.dining-selection { margin-top:36px; }
.dining-selection > h3 { font:400 36px/1.2 var(--serif); }
.arrangement-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 50px; padding-left:20px; margin:35px 0; }
.arrangement-list li { font-size:15px; line-height:1.9; padding-left:6px; }
.home-route-grid article { border-top:1px solid var(--border); padding:28px 0 0; display:flex; flex-direction:column; align-items:flex-start; }
.home-route-grid .button { margin-top:auto; }
.home-route-grid p { margin-bottom:28px; }
.home-next .enquiry-actions { margin-top:30px; }
.home-next + .home-next { border-top:1px solid var(--border); }
.mobile-close { display:flex; align-items:center; gap:10px; padding:8px 12px; min-height:44px; font:400 14px var(--sans); border:1px solid #c7a15a80; }
.mobile-close span[aria-hidden] { font:400 30px/1 var(--serif); }
.mobile-panel a { min-height:44px; display:flex; align-items:center; justify-content:center; font-size:clamp(21px,3.4vh,30px); }
.nav a { min-height:44px; display:inline-flex; align-items:center; }
.button { cursor:pointer; }
.contact-dock button { background:transparent; color:inherit; border:0; border-left:1px solid #c7a15a66; padding:16px 20px; min-height:48px; font:400 11px var(--sans); letter-spacing:.05em; cursor:pointer; }
.chat-help { position:fixed; z-index:75; bottom:82px; right:24px; max-width:340px; margin:0; padding:16px; background:var(--ivory); color:var(--ink); border:1px solid var(--gold); font-size:13px; line-height:1.7; display:none; }
.chat-help.is-visible { display:block; }
.crisp-chat-open .contact-dock { visibility:hidden; }
@media(min-width:1201px) { .nav { gap:clamp(8px,.9vw,16px); } .nav a { font-size:9px; letter-spacing:.07em; } }
@media(max-width:700px) { .location-grid,.hotel-grid,.home-route-grid,.arrangement-list,.journey-scene { grid-template-columns:1fr; } .journey-scene { gap:12px; } .hotel-card { padding:24px; } .hotel-location>h3 { font-size:36px; } .hotel-card h2,.hotel-card h3,.hotel-card h4 { font-size:30px; } .guide-section { padding-block:50px; } .contact-dock button { flex:1; font-size:10px; padding:16px 8px; } .chat-help { left:16px; right:16px; bottom:72px; max-width:none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
/* Keep a readable desktop menu; the complete right-side menu remains available at every size. */
.site-header { gap:20px; }
.menu-toggle { display:block; flex-shrink:0; }
@media(min-width:1361px) { .nav { gap:10px; } .nav a { font-size:11px; letter-spacing:.06em; } }
@media(max-width:1360px) { .nav { display:none; } }
@media(prefers-reduced-motion:reduce) { .crisp-client *,#crisp-chatbox * { animation:none!important; transition:none!important; } }
.guide-section { padding-block:clamp(48px,5vw,76px); }
.guide-section > .section__inner > h2 { font:400 clamp(36px,4vw,58px)/1.1 var(--serif); margin:18px 0 28px; }
.enquiry-form-title { font:400 clamp(30px,4vw,44px)/1.15 var(--serif); margin:12px 0 20px; }
.enquiry-travellers,.enquiry-services { border:0; border-top:1px solid var(--border); padding:24px 0 0; margin:10px 0 26px; min-width:0; }
.enquiry-travellers legend,.enquiry-services legend { font-size:14px; padding:0 12px 0 0; }
.enquiry-travellers legend span { color:var(--muted); font-size:12px; }
.enquiry-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.enquiry-service { display:flex; gap:12px; align-items:center; min-height:54px; padding:12px; border:1px solid var(--border); cursor:pointer; font-size:13px; line-height:1.6; }
.enquiry-service input { width:18px; height:18px; flex-shrink:0; accent-color:var(--ink); }
.enquiry-service:has(input:checked) { background:var(--bone); border-color:var(--gold); }
.enquiry-email-fallback { margin-top:24px; font-size:14px; line-height:1.8; }
.enquiry-email-fallback summary { cursor:pointer; padding:14px 0; }
.enquiry-email-fallback textarea { width:100%; padding:16px; border:1px solid var(--border); background:var(--bone); color:var(--ink); font:13px/1.7 var(--sans); margin:12px 0; }
.enquiry-email-fallback button { background:transparent; border:0; min-height:44px; cursor:pointer; color:var(--ink); }
.contact-form > .field,.contact-form > .form-row { margin-bottom:22px; }
@media(max-width:600px) { .enquiry-service-grid { grid-template-columns:1fr; } .enquiry-service { min-height:50px; } }
/* Enquiry links land at a visible, ready-to-use builder without a scroll animation. */
html:has(#private-enquiry:target) { scroll-behavior:auto; }
.reveal-ready #private-enquiry:target { opacity:1; transform:none; transition:none; }
/* Editorial comparison remains readable on narrow screens. */
.comparison-scroll{overflow-x:auto;max-width:100%;margin-block:1.5rem;overscroll-behavior-inline:contain}
.comparison-scroll table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px;line-height:1.65;text-align:left}
.comparison-scroll th,.comparison-scroll td{padding:18px;vertical-align:top;border-bottom:1px solid rgba(27,42,65,.2);min-width:150px}
.stay-comparison summary{cursor:pointer;min-height:48px;padding-block:14px;font-size:17px}
.hotel-card .eyebrow{line-height:1.65}.hotel-card[hidden],.event-card[hidden]{display:none!important}
.destination-events{line-height:2;padding-left:1.2rem}.location-card h2{font-size:1.6rem}
@media(min-width:1361px){.nav{gap:12px}.nav a{font-size:11px;letter-spacing:.04em}}
.destination-events a{display:block;min-height:44px;line-height:1.6;padding:10px 0}
.destination-events li{margin-bottom:16px}
.location-card .form-note a{display:inline-flex;align-items:center;min-height:44px}
/* A quieter Atlas: photographs first, places immediately below. */
.destination-gallery{padding-top:0}
.destination-picture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;align-items:start}
.destination-picture-card{min-width:0}.destination-picture-card>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.destination-picture-card>div{padding:30px 0}.destination-picture-card h2,.destination-winter-row h2{font:400 36px/1.2 var(--serif);margin:0 0 14px}
.destination-picture-card p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:24px}
.destination-city-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.destination-city-links a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:12px 0;border-bottom:1px solid var(--border);font-size:15px;line-height:1.6;text-decoration:none}
.destination-city-links a:hover{text-decoration:underline;text-underline-offset:5px}
.destination-winter-row{margin-top:46px;padding-top:34px;border-top:1px solid var(--border)}
.destination-winter-row .destination-city-links{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}
.destination-guide-hero .editorial-tabs{gap:24px}.guide-section h2{font-size:clamp(28px,3vw,40px)}
.destination-guide-hero{padding-bottom:36px}.guide-section{padding-block:58px}
@media(max-width:760px){.destination-picture-grid{grid-template-columns:1fr;gap:24px}.destination-picture-card h2,.destination-winter-row h2{font-size:30px}.destination-winter-row .destination-city-links{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-city-links{gap:0 18px}.destination-city-links a{font-size:14px}.guide-section{padding-block:40px}}
@media(max-width:360px){.destination-city-links,.destination-winter-row .destination-city-links{grid-template-columns:1fr}}
/* Original editorial imagery, sized to keep the composition intact. */
.destination-picture-card>img,.destination-picture-card>.destination-film{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--ivory)}
.editorial-scene{max-width:1240px;width:calc(100% - 64px);margin:0 auto 28px}
.editorial-scene img{width:100%;height:auto;max-height:460px;object-fit:cover;display:block}
.winter-collection-image{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;object-position:50% 42%;margin-bottom:32px}
.destination-film:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(max-width:700px){.editorial-scene{width:calc(100% - 40px);margin-bottom:12px}.editorial-scene img{aspect-ratio:3/2;max-height:none}.winter-collection-image{aspect-ratio:3/2;max-height:none}}
@media(prefers-reduced-motion:reduce){.destination-film{scroll-behavior:auto}}
.atlas-landing-hero{padding-top:130px;padding-bottom:12px}
.atlas-landing-hero+.destination-gallery{padding-top:20px}
@media(max-width:700px){.atlas-landing-hero{padding-top:120px;padding-bottom:0}.atlas-landing-hero+.destination-gallery{padding-top:16px}}
/* Homepage: one invitation, three visual paths, a personal next step. */
.arrival-hero{position:relative;isolation:isolate;min-height:760px;min-height:min(880px,100svh);display:flex;align-items:center;background:var(--ink);color:var(--ivory);padding:150px max(6.5vw,24px) 110px}
.arrival-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% 53%;z-index:-2}
.arrival-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,25,39,.72),rgba(12,25,39,.32) 55%,rgba(12,25,39,.08)),linear-gradient(0deg,rgba(12,25,39,.22),transparent 35%);z-index:-1}
.arrival-hero__copy{max-width:760px}.arrival-hero .eyebrow{color:rgba(255,255,255,.85);font-size:11px;letter-spacing:.18em;margin:0 0 26px}
.arrival-hero h1{font:400 clamp(48px,6.4vw,94px)/1.06 var(--serif);letter-spacing:-.025em;margin:0 0 26px;color:#fff}
.arrival-hero h1 em{font-weight:400}.arrival-hero__intro{font:400 17px/1.75 var(--sans);max-width:440px;margin:0 0 32px;color:#fff}
.arrival-hero .button{min-height:52px;gap:30px;padding:17px 25px}.arrival-hero__enquire{display:block;width:fit-content;margin-top:14px;padding:12px 0;font-size:14px;color:#fff;text-underline-offset:6px;min-height:44px}
.arrival-hero__next{position:absolute;bottom:38px;left:max(6.5vw,24px);display:flex;gap:32px;align-items:center;min-height:44px;font-size:11px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;color:#fff}
.journey-choices{padding:85px 24px 70px;scroll-margin-top:90px}.journey-choices__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}
.journey-choices h2,.home-personal h2{font:400 clamp(34px,4vw,52px)/1.15 var(--serif);margin:0}.journey-choices__heading>p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 4px}
.journey-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.journey-choice{display:block;color:var(--ink);text-decoration:none;min-width:0}
.journey-choice>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:filter .25s}.journey-choice:hover>img{filter:brightness(.94)}
.journey-choice>div{padding-top:22px}.journey-choice h3{font:400 34px/1.2 var(--serif);margin:0 0 8px}.journey-choice p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 12px}
.journey-choice__link{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.1em;text-transform:uppercase;min-height:44px;border-bottom:1px solid var(--border)}
.journey-choices__all{display:block;width:fit-content;margin-top:32px;padding:12px 0}.journey-choice:focus-visible{outline:3px solid var(--ink);outline-offset:7px}
.home-personal{padding:76px 24px 90px;background:#eee9df}.home-personal>.section__inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.home-personal .eyebrow{font-size:10px;letter-spacing:.15em;margin:0 0 20px}.home-personal__copy>p:first-child{font-size:18px;line-height:1.8;margin:0 0 16px;max-width:510px}
.home-personal__reassurance{font-size:14px;color:var(--muted);margin:0 0 26px}.home-personal__alternatives{font-size:14px;margin:12px 0 0;line-height:2}.home-personal__alternatives button{background:none;border:0;padding:10px 0;color:inherit;cursor:pointer;font:inherit;min-height:44px;text-transform:none;letter-spacing:normal}
.home-personal__business{font-size:13px;line-height:1.8;padding-top:22px;margin-top:26px;border-top:1px solid var(--border);color:var(--muted)}.home-personal__business a{display:inline-block;padding-block:8px}
@media(max-width:760px){.arrival-hero{min-height:740px;min-height:100svh;padding:145px 24px 105px}.arrival-hero__image{object-position:62% 50%}.arrival-hero::before{background:linear-gradient(90deg,rgba(12,25,39,.7),rgba(12,25,39,.27)),linear-gradient(0deg,rgba(12,25,39,.3),transparent 60%)}.arrival-hero h1{font-size:clamp(43px,9vw,64px)}.arrival-hero .eyebrow{font-size:9px;margin-bottom:22px}.arrival-hero__intro{font-size:16px;max-width:300px}.arrival-hero__next{bottom:75px;left:24px;font-size:10px}.journey-choices{padding:48px 24px}.journey-choices__heading{display:block;margin-bottom:28px}.journey-choices__heading>p{margin-top:16px}.journey-choice-grid{grid-template-columns:1fr;gap:34px}.journey-choice>img{aspect-ratio:3/2}.journey-choice>div{padding-top:17px}.journey-choice h3{font-size:31px}.home-personal{padding:48px 24px 55px}.home-personal>.section__inner{grid-template-columns:1fr;gap:25px}.home-personal__copy>p:first-child{font-size:16px}.home-personal h2 br{display:none}.home-personal h2 em::before{content:" "}}
@media(prefers-reduced-motion:reduce){.journey-choice>img{transition:none}}
/* The Maison signature and the way there, in the established palette. */
.home-page .arrival-hero h1 em{color:#ead7ad}
.home-movement{background:var(--ink-deep);color:var(--ivory);padding:72px 24px}
.home-movement>.section__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.home-movement__image{margin:0;min-width:0;align-self:stretch}.home-movement__image img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:49% 50%}
.home-movement .eyebrow{font-size:10px;letter-spacing:.18em;color:#ead7ad;margin:0 0 22px}
.home-movement h2{font:400 clamp(34px,4vw,52px)/1.14 var(--serif);margin:0 0 22px;color:var(--ivory)}
.home-movement__copy>p:not(.eyebrow):not(.home-movement__note){font-size:16px;line-height:1.8;max-width:470px;color:rgba(251,250,246,.85)}
.movement-options{margin:24px 0 28px}.movement-options>div{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:baseline;border-top:1px solid rgba(251,250,246,.2);padding:13px 0}
.movement-options dt{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#ead7ad}.movement-options dd{font-size:14px;line-height:1.7;margin:0;color:var(--ivory)}
.home-movement__note{font-size:12px;line-height:1.8;color:rgba(251,250,246,.72);max-width:430px;margin:18px 0 0}
@media(max-width:760px){.home-movement{padding:0 0 44px}.home-movement>.section__inner{grid-template-columns:1fr;gap:32px}.home-movement__image img{height:auto;min-height:0;aspect-ratio:2/1;object-fit:cover}.home-movement__copy{padding:0 24px}.home-movement__copy>p:not(.eyebrow):not(.home-movement__note){font-size:15px}.home-movement h2{font-size:36px}.home-movement .eyebrow{margin-bottom:16px}}
/* Contact leads; the service stays personal and easy to understand. */
.arrival-contact-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:14px;color:#fff;font-size:14px}
.arrival-contact-actions [data-crisp-open],.arrival-contact-actions a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:inherit;background:none;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:6px;cursor:pointer}
.arrival-hero__availability{font-size:12px;line-height:1.7;color:rgba(255,255,255,.85);margin:10px 0 0}
.nav a[href^="contact.html"]{border:1px solid currentColor;padding:10px 16px}
.home-city-links{display:flex;gap:12px 26px;flex-wrap:wrap;margin-top:25px}.home-city-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:5px}
.home-care{background:#eee9df;padding:76px 24px 80px}.home-care__intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 64px;align-items:start}.home-care__intro>.eyebrow{grid-column:1/-1;font-size:10px;letter-spacing:.16em;margin:0}
.home-care h2{font:400 clamp(34px,4vw,52px)/1.15 var(--serif);margin:8px 0 0}.home-care__intro>p:last-child{font-size:17px;line-height:1.85;max-width:550px;margin:8px 0 0}
.home-care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:42px}.home-care-grid article{border-top:1px solid var(--border);padding-top:24px}.home-care-grid h3{font:400 29px/1.2 var(--serif);margin:0 0 14px}.home-care-grid p{font-size:15px;line-height:1.85;color:var(--muted);margin:0}
.home-care__invitation{margin-top:38px}.home-care__invitation>p:first-child{font-size:14px;color:var(--muted)}.home-care__invitation>[data-crisp-open]{font:inherit;color:var(--ink);background:none;border:0;margin-left:22px;padding:14px 0;min-height:44px;cursor:pointer;text-transform:none;letter-spacing:normal;text-decoration:underline;text-underline-offset:5px}
.home-care__business{font-size:13px;line-height:1.8;margin-top:24px}.home-care__business a{display:inline-block;padding:8px 0}
.rail-home-link{color:var(--ivory)}.rail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.rail-card{border-top:1px solid var(--border);padding:26px 0;min-width:0}.rail-card h2{font:400 34px/1.2 var(--serif)}.rail-card p{font-size:15px;line-height:1.85}.rail-card .eyebrow{font-size:10px}.rail-card .button{margin-top:18px}.destination-rail{margin:32px 0;border-top:1px solid var(--border);padding-top:24px}.destination-rail h4{font:400 26px/1.25 var(--serif);margin:22px 0 12px}.destination-rail p{font-size:15px;line-height:1.85;max-width:850px}
.dining-cities{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.dining-cities .location-card h2{font:400 29px/1.25 var(--serif)}
/* Three clear footer columns replace the long vertical lists. */
.site-footer .footer-signature{display:flex;align-items:center;gap:25px;max-width:1240px;margin:0 auto 32px}.footer-signature img{display:block;width:76px;height:auto}.footer-signature p{font:400 24px/1.4 var(--serif);color:var(--ivory)}
.site-footer .footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:1240px;margin:0 auto}
.site-footer .footer-title{font-size:10px;letter-spacing:.2em;margin:0 0 12px;color:#ead7ad}.site-footer .footer-links{display:flex;flex-direction:column;gap:0;align-items:start}
.site-footer .footer-links a,.site-footer .footer-links button{display:flex;align-items:center;min-height:44px;font:400 14px/1.6 var(--sans);letter-spacing:normal;text-transform:none;text-decoration:none;color:var(--ivory);padding:8px 0;background:none;border:0;cursor:pointer;margin:0;max-width:100%;text-align:left}
.site-footer .footer-links a:hover,.site-footer .footer-links button:hover{text-decoration:underline;text-underline-offset:5px}.site-footer .footer-enquire{color:#ead7ad!important}.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;font-size:11px;line-height:1.7;margin-top:35px;letter-spacing:normal}
.footer-bottom nav{display:flex;gap:8px 20px;flex-wrap:wrap}.footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;text-decoration:none}
@media(max-width:900px){.dining-cities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.home-care{padding:48px 24px}.home-care__intro{grid-template-columns:1fr;gap:18px}.home-care__intro>p:last-child{font-size:16px}.home-care-grid{gap:24px;margin-top:30px}.home-care-grid h3{font-size:25px}.home-care-grid p{font-size:14px}.rail-grid{grid-template-columns:1fr;gap:20px}.rail-card h2{font-size:30px}.site-footer .footer-grid{gap:25px}.site-footer .footer-links a,.site-footer .footer-links button{font-size:13px}.footer-signature p{font-size:21px}}
@media(max-width:560px){.home-care-grid,.dining-cities{grid-template-columns:1fr}.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.site-footer .footer-contact{grid-column:1/-1}.site-footer .footer-contact .footer-links{flex-direction:row;gap:0 20px;flex-wrap:wrap}.site-footer .footer-links a,.site-footer .footer-links button{font-size:13px}.site-footer .footer-signature{gap:16px}.footer-signature img{width:60px}.footer-signature p{font-size:20px}.home-care__invitation>[data-crisp-open]{margin-left:16px}}
@media(max-height:740px) and (max-width:760px){.arrival-hero{padding-top:120px;padding-bottom:80px}.arrival-hero__next{display:none}.arrival-hero h1{margin-bottom:20px}.arrival-hero__intro{font-size:15px;margin-bottom:22px}.arrival-contact-actions{margin-top:8px}.arrival-hero__availability{margin-top:4px}}

/* Destination chapters: immediate atmosphere, useful choices and a direct invitation. */
.destination-opening{display:grid;grid-template-columns:1.05fr 1fr;min-height:620px;background:var(--ivory);padding-top:90px}
.destination-opening__copy{padding:65px clamp(24px,5vw,90px) 48px;align-self:center}
.destination-country{font-size:12px;color:var(--muted);margin:25px 0 12px;letter-spacing:.06em}
.destination-opening h1{font:400 clamp(46px,6vw,84px)/1.04 var(--serif);margin:0 0 25px;letter-spacing:-.03em}
.destination-opening .destination-intro{font-size:17px;line-height:1.7;max-width:530px;color:var(--ink-deep)}
.destination-opening__actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 25px;margin-top:28px}
.destination-opening__note{font-size:12px!important;line-height:1.6!important;color:var(--muted);margin-top:22px!important}
.destination-opening__image{margin:0;position:relative;min-height:480px;overflow:hidden}
.destination-opening__image img{width:100%;height:100%;position:absolute;object-fit:cover;inset:0}
.destination-opening__image figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 20px 15px;font-size:10px;letter-spacing:.06em;color:#fff;background:linear-gradient(transparent,rgba(12,23,40,.75))}
.destination-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:28px max(24px,6vw);background:var(--ink-deep);color:var(--ivory)}
.destination-assurance strong{display:block;font:400 23px/1.3 var(--serif);color:var(--gold);margin-bottom:8px}.destination-assurance span{display:block;font-size:13px;line-height:1.7;max-width:340px}
.destination-jump{display:flex;flex-wrap:wrap;gap:12px 32px;padding:15px max(24px,6vw);border-bottom:1px solid rgba(27,42,65,.16)}.destination-jump a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.hotel-checked{font-size:11px!important;letter-spacing:.03em;color:var(--muted);margin:20px 0 0!important}.hotel-card>.hotel-checked+p{margin-top:8px}.hotel-card{display:flex;flex-direction:column}.hotel-card>.hotel-checked{margin-top:auto!important;padding-top:22px}.hotel-card>.hotel-choice{color:var(--ink-deep)}
.destination-related{border-bottom:1px solid rgba(27,42,65,.18);padding-bottom:25px;margin-bottom:30px}.business-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:32px 0}.business-choice-grid article{border-top:1px solid var(--gold);padding-top:22px}.business-choice-grid h3{font:400 28px/1.25 var(--serif)}.business-choice-grid p{font-size:15px;line-height:1.8}
@media(max-width:1000px){.destination-opening__copy{padding:40px 28px}.destination-opening h1{font-size:58px}.destination-opening .destination-intro{font-size:16px}.destination-assurance{gap:24px}.destination-assurance strong{font-size:21px}}
@media(max-width:760px){.destination-opening{grid-template-columns:1fr;padding-top:82px;min-height:0}.destination-opening__copy{padding:32px 24px}.destination-opening h1{font-size:52px}.destination-country{margin-top:20px}.destination-opening__image{min-height:240px;max-height:300px}.destination-assurance{grid-template-columns:1fr;gap:18px;padding:28px 24px}.destination-assurance>div{display:grid;grid-template-columns:140px 1fr;gap:14px}.destination-assurance strong{font-size:21px}.destination-assurance span{font-size:12px}.destination-jump{gap:0 24px;padding:10px 24px}.business-choice-grid{grid-template-columns:1fr;gap:22px}}
@media(prefers-reduced-motion:reduce){.destination-opening *{animation:none!important;transition:none!important}}

/* A quiet membership introduction and a separate personal enquiry. */
.elite-private-cta{color:var(--ivory);border-color:var(--gold);margin-top:30px;background:rgba(27,42,65,.3)}
.elite-programme__intro{max-width:740px;margin-bottom:38px}.elite-programme__intro>p:last-child{max-width:610px}.elite-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.elite-levels article{border-top:1px solid var(--gold);padding-top:26px}.elite-fee{font:400 12px/1.6 var(--sans);color:var(--muted);margin:22px 0 0}.elite-fee span{font:400 13px/1.6 var(--sans);color:var(--muted)}.elite-levels ul{padding-left:20px;font-size:14px;line-height:1.8;margin:22px 0}.elite-levels li{margin:8px 0}.elite-private-invitation{background:var(--bone)}
.membership-enquiry-section{padding-top:135px}.membership-enquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.membership-enquiry-layout h1{font:400 clamp(42px,5vw,68px)/1.1 var(--serif)}.membership-enquiry-layout>div>p:last-child{max-width:390px}.membership-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.membership-enquiry-layout form{scroll-margin-top:105px;min-width:0}.membership-enquiry-layout form>.field{margin:22px 0}.field label>span{font-size:11px;color:var(--muted)}[data-membership-fallback] textarea{width:100%;box-sizing:border-box;margin:20px 0}
.stay-view-switch{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.stay-view-switch button[aria-pressed=true]{background:var(--ink-deep);color:var(--ivory)}.stay-comparison>summary.button{display:inline-flex;cursor:pointer;margin:20px 0}.stay-comparison>summary[hidden]{display:none!important}
.hotel-card--compact{padding:24px;align-self:start;min-height:0}.hotel-card--compact h2,.hotel-card--compact h3,.hotel-card--compact h4{margin:10px 0 18px;font-size:29px}.hotel-card--compact .eyebrow{font-size:10px}.hotel-explore{border-top:1px solid var(--border);padding-top:5px}.hotel-explore>summary{display:flex;justify-content:space-between;align-items:center;min-height:46px;font-size:12px;letter-spacing:.04em;cursor:pointer;list-style:none}.hotel-explore>summary::-webkit-details-marker{display:none}.hotel-explore[open]>summary>span{transform:rotate(45deg)}.hotel-explore__body{padding-top:10px}.hotel-explore__body>p,.hotel-explore__body dd{font-size:14px;line-height:1.75}.hotel-explore__body .hotel-choice{color:var(--ink-deep)}
@media(max-width:760px){.elite-levels,.membership-enquiry-layout{grid-template-columns:1fr;gap:30px}.membership-enquiry-section{padding-top:110px}.elite-fee{font-size:12px}.membership-fields{gap:16px}.hotel-card--compact{padding:22px}.elite-hero__copy .button{max-width:100%;font-size:11px}}
@media(max-width:480px){.membership-fields{grid-template-columns:1fr}.elite-hero__copy h1{font-size:clamp(35px,10vw,60px)}}

/* Membership is a quieter, optional chapter of the Maison. */
.elite-hero.elite-hero--quiet{min-height:0;padding:145px 24px 75px}
.elite-hero--quiet h1{font-size:clamp(36px,4.4vw,62px);letter-spacing:0;line-height:1.1;margin:22px 0}
.elite-hero--quiet .elite-hero__copy>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:500px;margin:0 auto}
.elite-hero--quiet .elite-private-cta{margin-top:24px}
.elite-read-further{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.elite-read-further>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;min-height:64px;font-size:14px}
.elite-read-further>summary::-webkit-details-marker{display:none}
.elite-read-further>summary>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.elite-read-further>summary>span>span{display:inline-block;font-size:20px;margin-left:16px}
.elite-read-further[open]>summary>span>span{transform:rotate(45deg)}
.elite-read-further__body{padding:18px 0 30px}.elite-read-further__body>p:first-child{max-width:650px;margin-bottom:30px}
@media(max-width:760px){.elite-hero.elite-hero--quiet{padding:115px 24px 60px}.elite-hero--quiet h1{font-size:40px}.elite-hero--quiet .elite-hero__copy>p:not(.eyebrow){font-size:14px}}

/* A shorter menu, with supporting pages beneath Read further. */
.mobile-panel nav>a{font-size:clamp(20px,2.1vw,28px);padding-block:9px;line-height:1.25}
.menu-further{max-width:600px;width:100%;margin:16px auto 0;border-top:1px solid rgba(199,161,90,.25);padding-top:10px}.menu-further summary{list-style:none;cursor:pointer;display:flex;justify-content:center;gap:20px;align-items:center;min-height:44px;font:400 13px/1.5 var(--sans);color:var(--soft)}.menu-further summary::-webkit-details-marker{display:none}.menu-further a{display:block;text-align:center;font:400 15px/1.5 var(--sans);padding:12px;color:var(--ivory)}.menu-enquiry{margin:22px 0 12px}.menu-enquiry .button{font:400 11px/1.5 var(--sans);color:var(--ivory);border-color:var(--gold)}
.enquiry-dialog{padding:0;border:0;width:min(820px,calc(100vw - 40px));max-width:none;height:min(850px,calc(100svh - 40px));max-height:none;background:var(--ivory);color:var(--ink);box-shadow:0 24px 100px #0005;overflow:hidden}.enquiry-dialog::backdrop{background:rgba(13,25,43,.7);backdrop-filter:blur(4px)}.enquiry-dialog__bar{display:flex;align-items:center;justify-content:space-between;padding:8px 22px;border-bottom:1px solid var(--border);height:54px;box-sizing:border-box;font-size:12px}.enquiry-dialog__bar button{display:flex;align-items:center;gap:14px;min-height:44px;background:none;border:0;color:var(--ink);font:400 13px var(--sans);cursor:pointer}.enquiry-dialog__bar button span{font-size:24px}.enquiry-dialog iframe{display:block;border:0;width:100%;height:calc(100% - 54px);background:var(--ivory)}
.enquiry-only{padding-top:125px}.enquiry-only>.section__inner{max-width:760px}.enquiry-assistance{font-size:13px;margin:30px 0}.enquiry-embedded .site-header,.enquiry-embedded .mobile-panel,.enquiry-embedded .site-footer,.enquiry-embedded .contact-dock,.enquiry-embedded .chat-help,.enquiry-embedded .skip-link,.enquiry-embedded [data-enquiry-dialog]{display:none!important}.enquiry-embedded .enquiry-only{padding:25px 22px}.enquiry-embedded .enquiry-only>.section__inner{padding:0}.enquiry-embedded .contact-form{scroll-margin-top:0}.enquiry-embedded .contact-form .eyebrow{display:none}.enquiry-embedded .enquiry-form-title{font-size:32px}.corporate-city{padding:35px 0 20px;scroll-margin-top:100px}
.membership-assistance{margin-top:30px;padding-top:22px;border-top:1px solid var(--border);font-size:14px}.membership-assistance h2{font:400 26px/1.3 var(--serif);margin-bottom:8px}
@media(max-width:600px){.enquiry-dialog{width:100vw;height:100svh;margin:0;max-height:100svh}.enquiry-dialog__bar{padding-inline:18px}.enquiry-embedded .enquiry-only{padding:22px 18px}.enquiry-embedded .enquiry-form-title{font-size:28px}.menu-further{margin-top:10px}.mobile-panel nav>a{padding-block:8px}.menu-enquiry{margin-top:16px}}

/* Show every unisex design on both models, without cropping one of them away. */
.boutique-hero.boutique-hero--compact{display:block;min-height:0;padding-top:130px;padding-bottom:24px}.boutique-hero--compact h1{font-size:clamp(34px,4vw,56px);max-width:900px;margin:16px 0}.boutique-hero--compact p{max-width:760px}.boutique-card--unisex .boutique-card__image{aspect-ratio:3/2}.boutique-card--unisex .boutique-card__image img{object-fit:contain;background:#eee8dd}.product-shell[data-unisex-models] .product-gallery__main{object-fit:contain;height:auto;width:100%;background:#eee8dd}.journal-edit h2{font:400 30px/1.25 var(--serif)}.journal-edit{row-gap:35px}
@media(max-width:700px){.boutique-hero.boutique-hero--compact{padding-top:110px}.boutique-card--unisex .boutique-card__image{aspect-ratio:3/2}.journal-edit h2{font-size:26px}}
.enquiry-embedded .contact-form{display:block}.enquiry-embedded main{padding-bottom:0}.enquiry-embedded body{padding-bottom:0}.enquiry-dialog .enquiry-dialog__bar button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#boutique-edit{padding-top:24px;padding-bottom:44px}.shop-department-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 22px}.shop-department-heading h2{font:400 32px/1.2 var(--serif);margin:0}.shop-department-heading p{font-size:13px;color:var(--muted);margin:0}.shop-release-note{margin-bottom:45px}.boutique-hero.boutique-hero--compact{padding-top:115px;padding-bottom:16px}.boutique-hero--compact h1{font-size:clamp(32px,3vw,44px)}
.boutique-card--unisex .boutique-card__image img{display:block;aspect-ratio:3/2;width:100%;height:100%;object-fit:contain}.boutique-card--unisex .boutique-card__image:hover img{transform:none}.product-shell[data-unisex-models] .product-gallery__main{aspect-ratio:auto;height:auto}

/* Six clear routes; collections live inside their relevant hub. */
.mobile-panel nav {max-width:960px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;text-align:left;}
.mobile-panel nav>a {display:flex;align-items:center;min-height:100px;font-size:clamp(23px,2.7vw,36px);border-top:1px solid rgba(193,172,130,.4);padding:18px 0;}
.mobile-panel .menu-enquiry {grid-column:1/-1;width:100%;margin-top:20px;}
.mobile-panel .menu-enquiry .button {width:auto;min-height:48px;}
.hub-paths {display:flex;flex-wrap:wrap;gap:16px 24px;margin:28px 0;align-items:center;}
.preorder-quantity {display:flex;align-items:center;gap:16px;margin:22px 0;}
.preorder-quantity input {width:82px;padding:12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;}
[data-preorder-link] {width:100%;text-align:center;}
@media(max-width:700px){.mobile-panel nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.mobile-panel nav>a{font-size:24px;min-height:84px}.hub-paths .button{width:100%;text-align:center}.calendar-filters{grid-template-columns:1fr!important}}

.enquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form[aria-busy="true"]{cursor:progress}

/* Dining is a personal shortlist, browsable without a directory-sized first view. */
.dining-options-grid,.bespoke-dining-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.dining-option{border-top:1px solid rgba(27,42,65,.23);padding:24px 0;min-width:0}
.dining-option[hidden]{display:none}
.dining-option h3{font-size:clamp(25px,2.3vw,33px);line-height:1.2;margin:12px 0}
.dining-option>p:not(.dining-location):not(.dining-cuisines){font-size:16px;line-height:1.7}
.dining-location{font-size:12px;line-height:1.6;letter-spacing:.08em;color:var(--ink);margin:0}
.dining-cuisines{font-size:13px;color:var(--ink);margin:0 0 16px}
.dining-practical{border-top:1px solid rgba(27,42,65,.15);margin-top:20px;padding-top:10px}
.dining-practical summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:14px}
.dining-practical p{font-size:14px;line-height:1.7}
.dining-destination{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:12px}
.dining-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 24px}
.dining-filters select{width:100%;min-height:48px;font:inherit;background:transparent;color:var(--ink);border:1px solid rgba(27,42,65,.35);padding:12px}
.dining-more{margin:24px 0}
.bespoke-dining-grid{margin:28px 0 36px}
.bespoke-dining-grid h3{font-size:27px}
@media(max-width:1000px){.dining-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dining-options-grid,.bespoke-dining-grid,.dining-filters{grid-template-columns:1fr}.dining-options-grid{gap:10px}.dining-option{padding:24px 0}.dining-filters{gap:18px}}

/* Mobile comfort: scoped overrides preserve the established desktop layouts. */
.menu-enquiry--phone { display:none; }
.comparison-label { display:none; }
.contact-dock a,.contact-dock button { font-size:14px; min-width:44px; min-height:48px; line-height:1.4; }
.contact-dock a span { font-size:14px; }
.enquiry-active .contact-dock { visibility:hidden; }
.enquiry-trip-details > summary { min-height:48px; padding-block:12px; cursor:pointer; }
.enquiry-trip-details__body { display:grid; gap:26px; margin-top:24px; }
.enquiry-preferences { display:grid; gap:26px; }
:where(summary,input,select,textarea,a,button):focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:768px) {
 html { scroll-padding-bottom:100px; }
 body { font-size:16px; }
 main p,main li,main dd { overflow-wrap:anywhere; }
 main p:not(.eyebrow):not(.form-note):not(.event-checked):not(.hotel-checked):not(.product-release-note):not(.product-selection),main li { font-size:16px; }
 main :is(input,select,textarea) { font-size:16px; min-height:48px; max-width:100%; }
 main :is(input[type="checkbox"],input[type="radio"]) { min-height:0; }
 :is(.form-note,.hotel-checked,.event-checked,.product-release-note,.product-selection,.enquiry-assistance,.destination-assurance span) { font-size:14px; line-height:1.65; }
 main :is(a,button,summary),.site-footer a { min-height:44px; min-width:44px; }
 main a:not(.button):not(:has(img)) { display:inline-flex; align-items:center; max-width:100%; }
 main .button { font-size:14px; letter-spacing:.1em; white-space:normal; line-height:1.5; padding:14px 18px; max-width:100%; }
 main summary { padding-block:12px; cursor:pointer; }
 main :is(.field,.form-row,.hotel-grid,.hotel-card,.dining-option,.calendar-filters,.dining-filters,.product-information,.product-gallery,.section__inner) { min-width:0; }
 main .eyebrow { font-size:12px; line-height:1.65; }
 .enquiry-dialog__bar,.enquiry-dialog__bar button { font-size:14px; }
 .field label,.enquiry-services legend,.enquiry-travellers legend { font-size:16px; }
 .field label span { font-size:14px; }
 .field :is(input,select,textarea) { scroll-margin-block:100px; }
 .input-focused .contact-dock { visibility:hidden; }
 .contact-dock { bottom:0; left:0; right:0; padding-bottom:env(safe-area-inset-bottom,0px); }
 .contact-dock a { flex:1; justify-content:center; padding:14px 7px; font-size:14px; letter-spacing:0; gap:5px; }
 .contact-dock a:first-child { flex-wrap:wrap; column-gap:5px; row-gap:0; }
 .site-footer { padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
 .site-footer .footer-links a { font-size:14px; }
 .enquiry-dialog { position:fixed; inset:auto; top:var(--visible-top,0px); left:0; width:100%; height:var(--visible-height,100dvh); max-height:100dvh; margin:0; }
 .enquiry-dialog__bar { padding-top:env(safe-area-inset-top,0px); height:calc(54px + env(safe-area-inset-top,0px)); flex-shrink:0; }
 .enquiry-dialog iframe { height:calc(100% - 54px - env(safe-area-inset-top,0px)); }
 .enquiry-embedded .enquiry-only { padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)); }
 .enquiry-embedded .form-note { font-size:14px; }
 .enquiry-embedded .form-row { grid-template-columns:1fr; }
 .contact-form { gap:22px; }
 .enquiry-trip-details__body,.enquiry-preferences { gap:22px; }
 .comparison-scroll { overflow:visible; outline-offset:4px; }
 .comparison-scroll table { display:block; min-width:0; width:100%; font-size:16px; }
 .comparison-scroll caption { display:block; text-align:left; margin-bottom:18px; }
 .comparison-scroll thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .comparison-scroll tbody { display:grid; gap:24px; }
 .comparison-scroll tbody tr { display:block; border:1px solid var(--border); padding:18px; background:var(--ivory); }
 .comparison-scroll :is(th,td) { display:block; min-width:0; width:auto; padding:14px 0; overflow-wrap:anywhere; }
 .comparison-scroll tbody th { font:400 26px/1.3 var(--serif); }
 .comparison-scroll td:last-child { border-bottom:0; }
 .comparison-label { display:block; font:600 14px/1.5 var(--sans); margin-bottom:6px; }
 .calendar-filters,.dining-filters { grid-template-columns:1fr; gap:20px; }
 .editorial-tabs,.destination-opening__actions,.destination-opening__actions .button { max-width:100%; }
 .editorial-tabs { flex-wrap:wrap; gap:10px 18px; }
 .destination-jump { gap:8px 20px; }
 .destination-assurance>div { grid-template-columns:1fr; gap:5px; }
 .product-choice label { min-width:44px; min-height:44px; }
 .product-choice span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
 .product-gallery img { object-fit:contain; }
}
@media(max-width:600px),(max-width:900px) and (max-height:500px) {
 .mobile-panel { display:block; height:100dvh; overflow-y:auto; overscroll-behavior:contain; padding:calc(12px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px)); text-align:left; }
 .mobile-close { position:sticky; top:0; margin:0 0 20px auto; width:max-content; padding:10px 14px; min-height:48px; font-size:16px; color:var(--ivory); background:var(--ink-deep); z-index:2; }
 .mobile-panel nav { display:flex; flex-direction:column; align-items:stretch; gap:4px; width:100%; text-align:left; }
 .mobile-panel nav>a { justify-content:flex-start; font-size:24px; min-height:52px; padding:12px 0; line-height:1.25; }
 .mobile-panel .menu-enquiry { margin:12px 0 18px; }
 .mobile-panel .menu-enquiry--phone { display:block; }
 .mobile-panel .menu-enquiry--wide { display:none; }
 .mobile-panel .menu-enquiry .button { width:100%; min-height:52px; font-size:14px; letter-spacing:.1em; white-space:normal; text-align:center; padding:14px 12px; }
}
@media(max-width:768px) {
 main :is(a,button,summary):focus-visible,.enquiry-dialog button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
 .mobile-panel :is(a,button):focus-visible,.site-footer a:focus-visible,.contact-dock a:focus-visible { outline:2px solid var(--ivory); outline-offset:3px; }
}
@media(max-width:768px) {
 /* Native focus also suppresses the dock before viewport resize events arrive. */
 body:has(input:focus,textarea:focus,select:focus,[contenteditable="true"]:focus) .contact-dock { visibility:hidden; }
}

/* Guided concierge: shares the existing contact launcher; opens only on request. */
.concierge-active .contact-dock,.concierge-active .concierge-invitation,
.enquiry-active .concierge-invitation,.crisp-chat-open .concierge-invitation,
.input-focused .concierge-invitation { visibility:hidden; }
body:has(.mobile-panel.is-open) .concierge-invitation { visibility:hidden; }
.concierge-invitation { position:fixed; right:24px; bottom:calc(var(--contact-dock-height,60px) + 44px); z-index:44; display:flex; align-items:center; width:min(310px,calc(100vw - 32px)); padding:10px 8px 10px 16px; background:var(--ivory); color:var(--ink); border:1px solid var(--gold); box-shadow:0 6px 24px #1b2a4117; }
.concierge-invitation p { margin:0; font:400 14px/1.6 var(--sans); }
.concierge-invitation button { flex-shrink:0; width:44px; height:44px; border:0; background:none; color:var(--ink); font:400 24px var(--sans); cursor:pointer; }
.concierge { position:fixed; inset:auto 24px 24px auto; margin:0; padding:0; width:min(440px,calc(100vw - 32px)); height:min(730px,calc(var(--visible-height,100dvh) - 48px)); max-width:none; max-height:none; border:1px solid var(--gold); background:var(--ivory); color:var(--ink); box-shadow:0 20px 80px #0d192b55; }
.concierge[open] { display:flex; flex-direction:column; }
.concierge::backdrop { background:#10203966; }
.concierge__header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-shrink:0; padding:8px 18px; border-bottom:1px solid var(--border); }
.concierge__header>span { font:400 12px/1.5 var(--sans); letter-spacing:.17em; }
.concierge button,.concierge a,.concierge select,.concierge textarea { font:400 16px/1.5 var(--sans); color:var(--ink); }
.concierge button,.concierge a { min-width:44px; min-height:44px; cursor:pointer; }
.concierge__header button { display:flex; align-items:center; gap:12px; border:0; background:transparent; padding:6px; font-size:14px; }
.concierge__header button span { font-size:24px; }
.concierge__body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px; }
.concierge h2 { font:400 30px/1.15 var(--serif); margin:0 0 20px; }
.concierge h2:focus { outline:none; }
.concierge p { font:400 16px/1.65 var(--sans); margin:0 0 20px; }
.concierge__choices { display:grid; gap:10px; }
.concierge .concierge__choice { display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; text-decoration:none; width:100%; padding:13px 14px; border:1px solid #24365055; background:transparent; }
.concierge .concierge__choice:hover { background:var(--bone); border-color:var(--ink); }
.concierge .concierge__primary { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:14px; margin:18px 0 12px; border:1px solid var(--ink); background:var(--ink-deep); color:var(--ivory); text-align:center; text-decoration:none; }
.concierge__label { display:block; font:400 14px/1.6 var(--sans); margin:18px 0 8px; }
.concierge select,.concierge textarea { display:block; width:100%; min-height:48px; padding:12px; border:1px solid #24365077; border-radius:0; background:var(--ivory); resize:vertical; }
.concierge textarea { scroll-margin-block:20px; }
.concierge__recommendations { display:grid; gap:20px; margin-bottom:22px; }
.concierge__recommendations article { border-top:1px solid var(--gold); padding-top:18px; }
.concierge h3 { font:400 26px/1.25 var(--serif); margin:0 0 10px; }
.concierge__recommendations a { display:inline-flex; align-items:center; gap:8px; padding-block:8px; text-underline-offset:5px; }
.concierge__recommendations p { margin-bottom:8px; }
.concierge .concierge__small,.concierge .concierge__status { font-size:14px; line-height:1.65; }
.concierge .concierge__status:empty { display:none; }
.concierge__footer { flex-shrink:0; padding:12px 18px; border-top:1px solid var(--border); background:var(--bone); }
.concierge__footer>div { display:flex; justify-content:space-between; gap:12px; }
.concierge__footer button { padding:8px; border:0; text-decoration:underline; text-underline-offset:4px; background:none; }
.concierge__footer button:disabled { color:#67707a; cursor:default; text-decoration:none; }
.concierge__footer .concierge__team { width:100%; margin-top:8px; border:1px solid var(--ink); text-decoration:none; }
.concierge :is(button,a,select,textarea):focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media(max-width:768px) {
 .concierge-invitation { right:12px; bottom:calc(var(--contact-dock-height,64px) + 12px); }
 .concierge { top:calc(var(--visible-top,0px) + 6px); left:6px; right:6px; bottom:auto; width:calc(100vw - 12px); height:calc(var(--visible-height,100dvh) - 12px); }
 .concierge__header { padding-top:max(8px,env(safe-area-inset-top)); }
 .concierge__body { padding:20px; }
 .concierge__footer { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
 .concierge h2 { font-size:28px; }
 .enquiry-embedded .concierge,.enquiry-embedded .concierge-invitation { display:none!important; }
 body:has(input:focus,textarea:focus,select:focus) .concierge-invitation { visibility:hidden; }
}
@media(max-height:500px) {
 .concierge__header { padding-block:4px; }
 .concierge__body { padding-block:14px; }
 .concierge__footer { padding-block:6px; }
 .concierge__footer>div { display:grid; grid-template-columns:1fr 1fr; }
 .concierge__footer { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
 .concierge__footer .concierge__team { margin:0; }
}
