/* BORDO Modern V4 — contemporary motion system layered over existing semantics. */
:root {
  --v4-bg: #0c0b0c;
  --v4-surface: #151215;
  --v4-paper: #f2eee8;
  --v4-wine: #5b1827;
  --v4-acid: #9b3049;
  --v4-ink: #0e0c0d;
  --v4-muted: rgba(242, 238, 232, .62);
  --v4-line: rgba(242, 238, 232, .18);
  --v4-pad: clamp(1.25rem, 3vw, 3.5rem);
  --v4-display: var(--e-global-typography-primary-font-family, "Manrope"), Arial, sans-serif;
  --v4-body: var(--e-global-typography-text-font-family, "Manrope"), Arial, sans-serif;
  --v4-accent: var(--e-global-typography-secondary-font-family, "Cormorant Garamond"), Georgia, serif;
  --v4-ease: cubic-bezier(.16, 1, .3, 1);
}

html { background: var(--v4-bg); scroll-behavior: auto; }
body.home { background: var(--v4-bg); color: var(--v4-paper); font-family: var(--v4-body); }
body.home::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

body.home * { box-sizing: border-box; }
body.home a { color: inherit; }
body.home img { will-change: transform; }
body.home .container { width: min(100%, 1600px); padding-inline: var(--v4-pad); }

/* Cursor — a restrained interactive signifier, not a novelty. */
.v4-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  background: var(--v4-acid);
  color: var(--v4-ink);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(var(--cursor-x, -100px), var(--cursor-y, -100px), 0) scale(var(--cursor-scale, .2));
  transition: opacity .2s, transform .45s var(--v4-ease), background .25s;
}
.v4-cursor.is-visible { opacity: 1; }
.v4-cursor[data-mode="view"] { --cursor-scale: 1; }
.v4-cursor[data-mode="open"] { --cursor-scale: .78; }

/* Header */
body.home .site-header {
  top: 0;
  left: 0;
  right: 0;
  height: 5.25rem;
  padding: 0 var(--v4-pad);
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--v4-paper);
  mix-blend-mode: difference;
  transition: height .55s var(--v4-ease), background .4s, border-color .4s, mix-blend-mode 0s;
}
body.home .site-header.is-scrolled {
  height: 4rem;
  border-color: var(--v4-line);
  background: rgba(12, 11, 12, .92);
  mix-blend-mode: normal;
  backdrop-filter: blur(12px);
}
body.home .brand {
  font-family: var(--v4-display);
  font-size: clamp(1.15rem, 1.5vw, 1.55rem);
  font-weight: 650;
  letter-spacing: -.07em;
}
body.home .brand::after { content: "®"; margin-left: .28em; font-size: .38em; vertical-align: top; }
body.home .main-nav { gap: clamp(1rem, 2.3vw, 2.75rem); }
body.home .main-nav a,
body.home .header-cta {
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .16em;
}
body.home .main-nav a { position: relative; }
body.home .main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.42rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .45s var(--v4-ease);
}
body.home .main-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
body.home .header-cta {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  padding: .72rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  transition: color .25s, background .25s;
}
body.home .header-cta:hover { background: var(--v4-acid); color: var(--v4-ink); border-color: var(--v4-acid); }

/* Shared chapter language */
body.home .editorial-heading--center,
body.home .possibilities-intro,
body.home .stories-intro,
body.home .faq-intro { text-align: left; }
body.home .editorial-heading__label,
body.home .rooms-intro__label,
body.home .possibilities-label,
body.home .faq-label {
  color: currentColor;
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .21em;
}
body.home .editorial-heading__label span,
body.home .rooms-intro__label span,
body.home .possibilities-label span { color: var(--v4-acid); }
body.home .editorial-heading h2,
body.home .rooms-intro__title,
body.home .possibilities-title,
body.home .stories-intro h2,
body.home .invitation h2,
body.home .faq-intro h2,
body.home .contact-editorial h2 {
  font-family: var(--v4-display);
  font-weight: 560;
  letter-spacing: -.075em;
  line-height: .86;
  text-wrap: balance;
}
body.home .editorial-heading__lead,
body.home .possibilities-lead {
  color: rgba(242, 238, 232, .7);
  font-size: clamp(1rem, 1.3vw, 1.28rem);
  line-height: 1.65;
}

/* Philosophy: a tight kinetic opener rather than an old editorial page. */
body.home .manifesto-v2 {
  position: relative;
  overflow: clip;
  padding: clamp(8rem, 14vw, 15rem) 0 clamp(8rem, 12vw, 13rem);
  background: var(--v4-bg);
  color: var(--v4-paper);
}
body.home .manifesto-v2::before {
  content: "MAKE / IMAGE / STORY / BORDO / ";
  position: absolute;
  top: 3.8rem;
  left: 0;
  width: max-content;
  color: rgba(242,238,232,.12);
  font-size: clamp(4rem, 9vw, 9rem);
  font-weight: 650;
  letter-spacing: -.07em;
  white-space: nowrap;
  transform: translate3d(calc(var(--v4-scroll, 0) * -18vw), 0, 0);
}
body.home .manifesto-v2__inner { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(1.5rem, 3vw, 3.5rem); }
body.home .manifesto-v2 .editorial-heading { grid-column: 1 / 11; margin: 0; z-index: 2; }
body.home .manifesto-v2 .editorial-heading h2 { max-width: 11em; margin: clamp(2rem, 4vw, 4rem) 0 0; font-size: clamp(3.8rem, 8.2vw, 9rem); }
body.home .manifesto-v2 .editorial-heading h2 span { display: block; }
body.home .manifesto-v2 .editorial-heading h2 span:last-child { margin-left: clamp(0rem, 8vw, 9rem); color: var(--v4-acid); }
body.home .manifesto-v2 .editorial-heading__lead { max-width: 38rem; margin: clamp(2.5rem, 5vw, 5rem) 0 0 auto; }
body.home .manifesto-v2__image {
  grid-column: 3 / 13;
  position: relative;
  margin: clamp(4rem, 8vw, 8rem) 0 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: .35rem;
}
body.home .manifesto-v2__image img { width: 100%; height: 118%; object-fit: cover; transform: translate3d(0, calc(var(--v4-scroll, 0) * -5%), 0) scale(1.04); }
body.home .manifesto-v2__image figcaption { position: absolute; right: 1rem; bottom: 1rem; padding: .6rem .8rem; background: rgba(12,11,12,.75); border-radius: 999px; font-size: .55rem; letter-spacing: .16em; }
body.home .manifesto-v2__principles {
  grid-column: 1 / 13;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: clamp(4rem, 8vw, 8rem);
  border-top: 1px solid var(--v4-line);
}
body.home .manifesto-v2__principles article { min-height: 18rem; padding: 2rem 2rem 2rem 0; border-right: 1px solid var(--v4-line); }
body.home .manifesto-v2__principles article + article { padding-left: 2rem; }
body.home .manifesto-v2__principles span { color: var(--v4-acid); font-size: .6rem; font-weight: 700; }
body.home .manifesto-v2__principles h3 { margin: 5rem 0 1.25rem; font-family: var(--v4-display); font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.06em; }
body.home .manifesto-v2__principles p { max-width: 24rem; color: var(--v4-muted); line-height: 1.75; }

/* Rooms: preserve horizontal mechanism, modernize composition. */
body.home .rooms { background: var(--v4-paper); color: var(--v4-ink); }
body.home .rooms-intro { min-height: 88svh; align-items: flex-start; justify-content: flex-end; padding: 8rem var(--v4-pad) 5rem; text-align: left; }
body.home .rooms-intro__title { max-width: 10em; margin-top: auto; font-size: clamp(5rem, 10.5vw, 11.5rem); }
body.home .rooms-intro__title br { display: none; }
body.home .rooms-intro__subheadline { margin: 2.5rem 0 0 auto; font-family: var(--v4-accent); font-size: clamp(1.75rem, 3vw, 3.4rem); font-style: italic; }
body.home .rooms-progress { top: 2rem; left: var(--v4-pad); right: var(--v4-pad); bottom: auto; color: currentColor; }
body.home .rooms-progress__line { background: rgba(14,12,13,.16); }
body.home .rooms-progress__line i { background: var(--v4-ink); }
body.home .room-panel { position: relative; min-width: 100vw; overflow: hidden; padding: 0; }
body.home .rooms.is-enhanced .room-panel .room-panel__media--primary { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
body.home .room-panel__media--primary::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,7,8,.34), rgba(8,7,8,.06) 48%, transparent 72%), linear-gradient(0deg, rgba(8,7,8,.68), transparent 62%); pointer-events: none; }
body.home .room-panel__media--primary img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1.5s var(--v4-ease); }
body.home .room-panel.is-active .room-panel__media--primary img { transform: scale(1); }
body.home .room-panel__header { position: absolute; z-index: 2; top: 7rem; left: var(--v4-pad); color: var(--v4-paper); }
body.home .room-panel__header h3 { font-family: var(--v4-display); font-size: clamp(5.5rem, 14vw, 15rem); font-weight: 600; letter-spacing: -.09em; line-height: .72; }
body.home .room-panel__number { color: var(--v4-acid); }
body.home .room-panel__body {
  position: absolute;
  z-index: 3;
  left: var(--v4-pad);
  bottom: 3rem;
  width: min(38rem, calc(100vw - 2 * var(--v4-pad)));
  padding: 1.5rem 1.5rem 1.5rem 0;
  color: var(--v4-paper);
}
body.home .room-panel__statement { font-family: var(--v4-accent); font-size: clamp(1.8rem, 3vw, 3rem); font-style: italic; line-height: 1; }
body.home .room-panel__body > p:not(.room-panel__statement):not(.room-panel__meta) { max-width: 34rem; color: rgba(242,238,232,.72); font-size: .88rem; line-height: 1.7; }
body.home .room-panel__note { display: none; }
body.home .room-panel__meta { margin-top: 1.5rem; color: var(--v4-acid); font-size: .55rem; font-weight: 700; letter-spacing: .18em; }
body.home .room-panel__media--detail { position: absolute; z-index: 4; right: var(--v4-pad); bottom: 3rem; width: clamp(10rem, 17vw, 17rem); aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid rgba(242,238,232,.35); }
body.home .room-panel__media--detail img { width: 100%; height: 100%; object-fit: cover; }
body.home .room-panel__cta { color: var(--v4-acid); }

/* Details — interaction-first product index. */
body.home .details-v2 { padding: clamp(8rem, 13vw, 14rem) 0; background: var(--v4-wine); color: var(--v4-paper); }
body.home .details-v2__inner { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem; }
body.home .details-v2 .editorial-heading { grid-column: 1 / 12; margin: 0 0 clamp(5rem, 9vw, 9rem); }
body.home .details-v2 .editorial-heading h2 { max-width: 12em; font-size: clamp(4rem, 8vw, 8.5rem); }
body.home .details-v2 .editorial-heading h2 span { display: block; }
body.home .details-v2__hero { grid-column: 1 / 6; position: sticky; top: 7rem; align-self: start; aspect-ratio: 4 / 5; overflow: hidden; margin: 0; border-radius: .35rem; }
body.home .details-v2__hero img { width: 100%; height: 100%; object-fit: cover; transition: opacity .4s, transform .7s var(--v4-ease); }
body.home .details-v2__list { grid-column: 7 / 13; margin: 0; border-top: 1px solid rgba(242,238,232,.3); }
body.home .details-v2__list li { grid-template-columns: 2rem 1fr; gap: 1rem; min-height: 9rem; padding: 1.75rem 0; border-color: rgba(242,238,232,.2); cursor: pointer; transition: padding .45s var(--v4-ease), color .25s; }
body.home .details-v2__list li > div { grid-column: 2; }
body.home .details-v2__key { grid-column: 2; margin: 0 0 .8rem; font-family: var(--v4-display); font-size: clamp(2rem, 4vw, 4rem); font-weight: 600; letter-spacing: -.07em; }
body.home .details-v2__list h3 { font-size: 1rem; font-weight: 550; }
body.home .details-v2__list p { color: rgba(242,238,232,.62); }
body.home .details-v2__list li:hover { padding-left: 1.25rem; color: var(--v4-acid); }
body.home .details-v2__index { color: var(--v4-acid); }
body.home .details-v2__closing { display: none; }

/* Possibilities */
body.home .possibilities { background: var(--v4-bg); color: var(--v4-paper); }
body.home .possibilities-inner { width: min(100%, 1600px); padding: clamp(8rem, 13vw, 14rem) var(--v4-pad); }
body.home .possibilities-intro { width: 100%; max-width: none; display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; }
body.home .possibilities-title { grid-column: 1 / 3; max-width: 11em; font-size: clamp(4.5rem, 10vw, 11rem); }
body.home .possibilities-title span { display: inline; }
body.home .possibilities-title span:not(:last-child)::after { content: " "; }
body.home .possibilities-lead { grid-column: 2; max-width: 38rem; margin: 2rem 0 0; }
body.home .possibilities-index { width: 100%; max-width: none; margin-top: clamp(6rem, 10vw, 10rem); }
body.home .possibilities-control { grid-template-columns: 4rem 1fr auto; min-height: 8rem; border-color: var(--v4-line); }
body.home .possibilities-name { font-family: var(--v4-display); font-size: clamp(2.5rem, 5.5vw, 6rem); font-weight: 580; letter-spacing: -.075em; }
body.home .possibilities-number { color: var(--v4-acid); }
body.home .possibilities-sign { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid currentColor; border-radius: 50%; }
body.home .possibilities-panel__inner { grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr); gap: 3rem; padding-bottom: 4rem; }
body.home .possibilities-media { grid-column: 1; grid-row: 1 / 3; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: .35rem; }
body.home .possibilities-media img { width: 100%; height: 100%; object-fit: cover; }
body.home .possibilities-statement { grid-column: 2; align-self: end; font-family: var(--v4-accent); font-size: clamp(1.8rem, 3vw, 3rem); font-style: italic; }
body.home .possibilities-copy { grid-column: 2; color: var(--v4-muted); line-height: 1.7; }

/* Heritage */
body.home .heritage-v2 { padding: clamp(8rem, 13vw, 14rem) 0; background: var(--v4-paper); color: var(--v4-ink); }
body.home .heritage-v2 .editorial-heading h2 { max-width: 11em; font-size: clamp(4.2rem, 9vw, 9.8rem); }
body.home .heritage-v2__hero { width: calc(100% + 2 * var(--v4-pad)); margin-left: calc(-1 * var(--v4-pad)); aspect-ratio: 16 / 8; overflow: hidden; }
body.home .heritage-v2__hero img { width: 100%; height: 120%; object-fit: cover; transform: translate3d(0, calc(var(--v4-scroll, 0) * -8%), 0); }
body.home .heritage-v2__story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 10rem); margin-top: clamp(5rem, 10vw, 11rem); }
body.home .heritage-v2__date { grid-column: 1 / 3; display: flex; justify-content: space-between; margin: 0; font-family: var(--v4-display); font-size: clamp(4rem, 13vw, 14rem); font-weight: 600; letter-spacing: -.1em; }
body.home .heritage-v2__date i { color: var(--v4-wine); font-family: var(--v4-accent); font-style: italic; font-weight: 400; }
body.home .heritage-v2__copy { max-width: 40rem; }
body.home .heritage-v2__copy p { font-size: 1rem; line-height: 1.85; }
body.home .heritage-v2__detail { width: min(42rem, 72%); margin: clamp(6rem, 12vw, 12rem) 0 0 auto; }
body.home .heritage-v2__final { max-width: 12em; margin: clamp(8rem, 14vw, 15rem) 0 0; font-family: var(--v4-display); font-size: clamp(3.5rem, 7vw, 8rem); font-weight: 560; letter-spacing: -.075em; line-height: .9; }

/* Stories */
body.home .stories { padding: clamp(8rem, 13vw, 14rem) 0; background: var(--v4-bg); color: var(--v4-paper); }
body.home .stories.is-horizontal { overflow: clip; }
body.home .stories-intro { display: grid; grid-template-columns: 1fr 3fr; gap: 2rem; }
body.home .stories-intro h2 { max-width: 11em; font-size: clamp(4rem, 9vw, 10rem); }
body.home .stories-intro h2 span { display: inline; }
body.home .stories-canvas { display: flex; width: max-content; max-width: none; gap: clamp(1rem, 2vw, 2rem); margin-top: clamp(5rem, 9vw, 10rem); padding-right: 12vw; transform: translate3d(calc(var(--stories-shift, 0) * -1px),0,0); }
body.home .stories.is-horizontal .stories-canvas { position: sticky; top: 5rem; align-items: center; height: calc(100svh - 7rem); margin-top: 0; }
body.home .stories-item { flex: 0 0 auto; width: clamp(17rem, 32vw, 34rem) !important; margin: 0 !important; align-self: flex-start; }
body.home .stories-item:nth-child(3n+2) { margin-top: 8rem !important; }
body.home .stories-item:nth-child(3n) { margin-top: 3rem !important; }
body.home .stories-media { aspect-ratio: 4 / 5; overflow: hidden; border-radius: .35rem; }
body.home .stories-item:nth-child(3n+1) .stories-media { aspect-ratio: 16 / 10; }
body.home .stories-media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.08) saturate(.96) contrast(1.02); transition: transform 1s var(--v4-ease), filter .7s var(--v4-ease); }
body.home .stories-item:hover .stories-media img { transform: scale(1.035); }
body.home .stories-item figcaption { color: var(--v4-muted); }

/* CTA */
body.home .invitation { min-height: 100svh; overflow: hidden; background: var(--v4-wine); }
body.home .invitation__background { opacity: .6; transform: scale(1.06); transition: transform 2s var(--v4-ease); }
body.home .invitation.is-inview .invitation__background { transform: scale(1); }
body.home .invitation__veil { background: linear-gradient(120deg, rgba(12,11,12,.9), rgba(91,24,39,.35)); }
body.home .invitation-inner { justify-content: space-between; min-height: 100svh; padding-top: 6rem; padding-bottom: 3rem; }
body.home .invitation h2 { max-width: 10em; font-size: clamp(4.5rem, 10vw, 11rem); }
body.home .invitation h2 span { display: inline; }
body.home .invitation h2 span:not(:last-child)::after { content: " "; }
body.home .invitation-cta { display: inline-grid; place-items: center; width: clamp(9rem, 14vw, 14rem); height: clamp(9rem, 14vw, 14rem); border-radius: 50%; background: var(--v4-acid); color: var(--v4-ink); border: 0; transition: transform .65s var(--v4-ease); }
body.home .invitation-cta:hover { transform: scale(1.08) rotate(-4deg); }

/* FAQ + contact + footer */
body.home .faq { padding: clamp(8rem, 12vw, 13rem) 0; background: var(--v4-paper); color: var(--v4-ink); }
body.home .faq-inner { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(3rem, 8vw, 9rem); }
body.home .faq-intro { position: sticky; top: 7rem; align-self: start; margin: 0; }
body.home .faq-intro h2 { max-width: 7em; font-size: clamp(3.5rem, 7vw, 7.5rem); }
body.home .faq-list { margin: 0; border-color: rgba(14,12,13,.3); }
body.home .faq-button { min-height: 5.5rem; }
body.home .faq-question { font-family: var(--v4-display); font-size: clamp(1.25rem, 2vw, 2rem); font-weight: 550; letter-spacing: -.04em; }
body.home .contact-editorial { padding: clamp(8rem, 13vw, 14rem) 0 5rem; background: var(--v4-bg); color: var(--v4-paper); }
body.home .contact-editorial__spread { gap: 4rem; }
body.home .contact-editorial h2 { max-width: 8em; font-size: clamp(4.5rem, 10vw, 11rem); }
body.home .contact-editorial__details { border-color: var(--v4-line); }
body.home .contact-editorial__cta { background: var(--v4-acid); color: var(--v4-ink); }
body.home .site-footer { overflow: hidden; padding: 0 var(--v4-pad) 2rem; background: var(--v4-bg); color: var(--v4-paper); }
body.home .site-footer__inner { width: 100%; padding: 0; border-top: 1px solid var(--v4-line); }
body.home .site-footer__brand { margin: 0; font-family: var(--v4-display); font-size: clamp(8rem, 25vw, 28rem); font-weight: 650; letter-spacing: -.115em; line-height: .72; transform: translateX(-.035em); }
body.home .site-footer__navigation { border-color: var(--v4-line); }
body.home .site-footer__links a { color: var(--v4-muted); }

/* Reveal refinement */
body.home .reveal { opacity: 0; transform: translate3d(0, 4rem, 0); transition: opacity .9s var(--v4-ease), transform 1.1s var(--v4-ease); }
body.home .reveal.is-visible { opacity: 1; transform: none; }

/* The same contemporary frame surrounds booking and legal pages. Elementor
   Theme Builder templates can replace either region without changing PHP. */
body:not(.home) { background: var(--v4-bg); color: var(--v4-paper); font-family: var(--v4-body); }
body:not(.home) .site-header {
  height: 4rem;
  padding-inline: var(--v4-pad);
  border-bottom: 1px solid var(--v4-line);
  background: rgba(12,11,12,.94);
  color: var(--v4-paper);
  backdrop-filter: blur(12px);
}
body:not(.home) .brand { font-family: var(--v4-display); font-weight: 650; letter-spacing: -.07em; }
body:not(.home) .main-nav a,
body:not(.home) .header-cta { font-size: .62rem; font-weight: 650; letter-spacing: .16em; }
body:not(.home) .header-cta { border-radius: 999px; }
body:not(.home) .site-footer { overflow: hidden; padding: 5rem var(--v4-pad) 2rem; background: var(--v4-bg); color: var(--v4-paper); }
body:not(.home) .site-footer__inner { width: 100%; padding: 0; border-top-color: var(--v4-line); }
body:not(.home) .site-footer__brand { margin: 0; font-family: var(--v4-display); font-size: clamp(7rem, 22vw, 24rem); font-weight: 650; letter-spacing: -.115em; line-height: .72; }
body:not(.home) .site-footer__navigation { border-color: var(--v4-line); }
body:not(.home) .site-footer__links a { color: var(--v4-muted); }

@media (max-width: 900px) {
  .v4-cursor { display: none; }
  body.home .site-header { height: 4.4rem; mix-blend-mode: normal; background: rgba(12,11,12,.88); }
  body.home .manifesto-v2__inner,
  body.home .details-v2__inner { display: block; }
  body.home .manifesto-v2 .editorial-heading h2 span:last-child { margin-left: 0; }
  body.home .manifesto-v2__image { width: 100%; margin-top: 4rem; aspect-ratio: 4 / 5; }
  body.home .manifesto-v2__principles { grid-template-columns: 1fr; }
  body.home .manifesto-v2__principles article { min-height: auto; padding: 2rem 0 3rem !important; border-right: 0; border-bottom: 1px solid var(--v4-line); }
  body.home .manifesto-v2__principles h3 { margin-top: 2.5rem; }
  body.home .rooms-intro { min-height: auto; }
  body.home .room-panel { min-width: auto; min-height: 100svh; }
  body.home .room-panel__header { top: 6rem; }
  body.home .room-panel__media--detail { display: none; }
  body.home .room-panel__body { bottom: 2rem; }
  body.home .details-v2__hero { position: relative; top: 0; width: 100%; aspect-ratio: 16 / 11; margin-bottom: 3rem; }
  body.home .details-v2__list { width: 100%; }
  body.home .possibilities-intro { display: block; }
  body.home .possibilities-title { margin-top: 3rem; }
  body.home .possibilities-lead { margin-top: 2rem; }
  body.home .possibilities-panel__inner { display: block; }
  body.home .possibilities-media { margin-bottom: 2rem; }
  body.home .heritage-v2__story { grid-template-columns: 1fr; }
  body.home .heritage-v2__date { grid-column: 1; }
  body.home .stories-intro { display: block; }
  body.home .stories-intro__meta { margin-bottom: 3rem; }
  body.home .stories-canvas { width: 100%; display: grid; grid-template-columns: 1fr 1fr; transform: none; padding-right: var(--v4-pad); }
  body.home .stories-item { width: 100% !important; margin: 0 !important; }
  body.home .stories-item:nth-child(even) { margin-top: 4rem !important; }
  body.home .faq-inner { display: block; }
  body.home .faq-intro { position: static; }
  body.home .faq-list { margin-top: 5rem; }
}

@media (max-width: 620px) {
  body.home .editorial-heading h2,
  body.home .manifesto-v2 .editorial-heading h2,
  body.home .details-v2 .editorial-heading h2,
  body.home .heritage-v2 .editorial-heading h2 { font-size: clamp(3.25rem, 15vw, 4.8rem); }
  body.home .manifesto-v2::before { font-size: 3.5rem; }
  body.home .rooms-intro__title,
  body.home .possibilities-title,
  body.home .stories-intro h2,
  body.home .invitation h2,
  body.home .contact-editorial h2 { font-size: clamp(3.8rem, 17vw, 5.4rem); }
  body.home .room-panel__header h3 { font-size: clamp(4.5rem, 24vw, 7rem); }
  body.home .room-panel__body > p:not(.room-panel__statement):not(.room-panel__meta) { display: none; }
  body.home .details-v2__list li { min-height: 7rem; }
  body.home .details-v2__key { font-size: 2rem; }
  body.home .possibilities-control { grid-template-columns: 2rem 1fr 2.25rem; min-height: 6rem; }
  body.home .possibilities-name { font-size: clamp(1.75rem, 9vw, 2.75rem); }
  body.home .stories-canvas { grid-template-columns: 1fr; }
  body.home .stories-item:nth-child(even) { margin-top: 0 !important; }
  body.home .heritage-v2__date { font-size: clamp(3rem, 20vw, 5rem); }
  body.home .site-footer__brand { font-size: 29vw; }
}

@media (prefers-reduced-motion: reduce) {
  body.home *, body.home *::before, body.home *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
  .v4-cursor { display: none; }
  body.home .manifesto-v2__image img,
  body.home .heritage-v2__hero img,
  body.home .stories-canvas { transform: none !important; }
}

/* ==============================================================
   BORDO MODERN V4.1 — brand palette, readable type and mobile QA
   ============================================================== */
:root {
  --v4-acid: #9b3049;
  --v4-wine-bright: #9b3049;
  --v4-wine-soft: #d2a3ae;
  --v4-paper-warm: #f4efe8;
}

html,
body { max-width: 100%; overflow-x: clip; }

body.home .site-header,
body:not(.home) .site-header { isolation: isolate; }
body.admin-bar.home .site-header,
body.admin-bar:not(.home) .site-header { top: 32px; }

/* The pointer becomes a small BORDO monogram instead of a neon badge. */
.v4-cursor {
  width: 3rem;
  height: 3rem;
  border: 1px solid rgba(244, 239, 232, .68);
  background: rgba(91, 24, 39, .92);
  color: var(--v4-paper-warm);
  box-shadow: 0 10px 36px rgba(0, 0, 0, .22);
  font-family: var(--v4-accent);
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}
.v4-cursor[data-mode="view"] { --cursor-scale: 1.12; }
.v4-cursor[data-mode="open"] { --cursor-scale: 1.03; }

body.home .header-cta,
body:not(.home) .header-cta { border-radius: 0; }
body.home .header-cta:hover,
body:not(.home) .header-cta:hover {
  border-color: var(--v4-wine-bright);
  background: var(--v4-wine-bright);
  color: var(--v4-paper-warm);
}

/* Prevent fused words and cropped display type on every chapter. */
body.home .editorial-heading h2,
body.home .rooms-intro__title,
body.home .possibilities-title,
body.home .stories-intro h2,
body.home .invitation h2,
body.home .faq-intro h2,
body.home .contact-editorial h2,
body.home .room-panel__header h3,
body.home .heritage-v2__date,
body.home .heritage-v2__final,
body.home .site-footer__brand {
  max-inline-size: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  letter-spacing: -.04em;
  line-height: .92;
}
body.home .editorial-heading h2 span,
body.home .rooms-intro__title span,
body.home .possibilities-title span,
body.home .stories-intro h2 span,
body.home .invitation h2 span,
body.home .faq-intro h2 span,
body.home .contact-editorial h2 span { display: block; }
body.home .editorial-heading h2 span + span,
body.home .rooms-intro__title span + span,
body.home .possibilities-title span + span,
body.home .stories-intro h2 span + span,
body.home .invitation h2 span + span { margin-top: .08em; }

body.home .editorial-heading__label span,
body.home .rooms-intro__label span,
body.home .possibilities-label span,
body.home .room-panel__number,
body.home .room-panel__meta,
body.home .room-panel__cta,
body.home .details-v2__index,
body.home .possibilities-number { color: var(--v4-wine-soft); }

/* Philosophy: clean motion-led spread, no oversized decorative ticker. */
body.home .manifesto-v2 {
  padding: clamp(7rem, 10vw, 11rem) 0 clamp(7rem, 10vw, 11rem);
}
body.home .manifesto-v2::before { display: none; }
body.home .manifesto-v2 .editorial-heading { grid-column: 1 / 12; }
body.home .manifesto-v2 .editorial-heading h2 {
  max-width: 12.5em;
  margin-top: clamp(2.5rem, 4vw, 4rem);
  font-size: clamp(3.4rem, 6.2vw, 7.2rem);
  letter-spacing: -.045em;
  line-height: .92;
}
body.home .manifesto-v2 .editorial-heading h2 span:last-child {
  margin-left: clamp(0rem, 4vw, 4.5rem);
  color: var(--v4-wine-soft);
}
body.home .manifesto-v2__image { border-radius: 0; }
body.home .manifesto-v2__image figcaption { border-radius: 0; }
body.home .manifesto-v2__principles span { color: var(--v4-wine-soft); }

/* Rooms stay horizontal on desktop, with calmer titles and safe edges. */
body.home .rooms-intro { min-height: 78svh; padding-top: 7rem; }
body.home .rooms-intro__title {
  max-width: 10em;
  font-size: clamp(4.2rem, 8vw, 9rem);
  line-height: .88;
}
body.home .rooms-intro__title br { display: block; }
body.home .room-panel__header h3 {
  font-size: clamp(5rem, 11vw, 12rem);
  letter-spacing: -.055em;
  line-height: .82;
}
body.home .room-panel__meta,
body.home .room-panel__cta { color: var(--v4-wine-soft); }

body.home .details-v2 .editorial-heading h2 {
  max-width: 13em;
  font-size: clamp(3.7rem, 6.8vw, 7.5rem);
  line-height: .92;
}
body.home .details-v2__list li:hover { color: var(--v4-wine-soft); }

body.home .possibilities-title {
  max-width: 11em;
  font-size: clamp(4rem, 7.3vw, 8.3rem);
  line-height: .9;
}
body.home .possibilities-name {
  font-size: clamp(2.25rem, 4.4vw, 4.9rem);
  letter-spacing: -.045em;
  line-height: 1;
}

/* Heritage is a compact place story, not an empty ORIGIN interlude. */
body.home .heritage-v2 { padding: clamp(7rem, 10vw, 10rem) 0; }
body.home .heritage-v2 .editorial-heading h2 {
  max-width: 12em;
  margin-top: clamp(2.5rem, 4vw, 4rem);
  font-size: clamp(3.6rem, 6.7vw, 7.5rem);
  line-height: .92;
}
body.home .heritage-v2__hero {
  width: 100%;
  margin: clamp(4rem, 7vw, 7rem) 0 0;
  aspect-ratio: 16 / 7;
}
body.home .heritage-v2__story {
  gap: clamp(2.5rem, 6vw, 7rem);
  margin-top: clamp(3.5rem, 6vw, 6rem);
}
body.home .heritage-v2__date {
  font-size: clamp(4.5rem, 9vw, 9rem);
  letter-spacing: -.055em;
  line-height: .8;
}
body.home .heritage-v2__detail {
  width: min(32rem, 48%);
  margin-top: clamp(4rem, 7vw, 7rem);
}
body.home .heritage-v2__final {
  max-width: 15em;
  margin-top: clamp(4rem, 7vw, 7rem);
  padding-top: 2rem;
  border-top: 1px solid rgba(14, 12, 13, .2);
  font-size: clamp(2.8rem, 4.8vw, 5.2rem);
  letter-spacing: -.035em;
  line-height: .96;
}

/* Stories: distinct BORDO interiors and labelled Envato inspirations. */
body.home .stories { padding: clamp(7rem, 10vw, 10rem) 0; }
body.home .stories-intro { grid-template-columns: minmax(12rem, .7fr) minmax(0, 2.3fr); }
body.home .stories-intro h2 {
  max-width: 11em;
  font-size: clamp(3.8rem, 6.8vw, 7.6rem);
  letter-spacing: -.045em;
  line-height: .92;
}
body.home .stories-canvas { margin-top: clamp(4rem, 7vw, 7rem); }
body.home .stories-media { border-radius: 0; }
body.home .stories-item figcaption { color: rgba(244, 239, 232, .7); }

/* Invitation: responsive editorial link and a moving B monogram. */
body.home .invitation { min-height: 88svh; }
body.home .invitation-inner {
  position: relative;
  z-index: 2;
  min-height: 88svh;
  padding-top: clamp(6rem, 9vw, 9rem);
  padding-bottom: clamp(3rem, 5vw, 5rem);
}
body.home .invitation-main {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .5fr);
  align-items: end;
  gap: clamp(2rem, 5vw, 6rem);
}
body.home .invitation h2 {
  max-width: 10.5em;
  font-size: clamp(3.8rem, 7.2vw, 8rem);
  letter-spacing: -.045em;
  line-height: .91;
}
body.home .invitation-action { align-items: flex-start; }
body.home .invitation-cta {
  display: inline-flex;
  width: auto;
  height: auto;
  min-height: 3.6rem;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.05rem 1.25rem;
  border: 1px solid rgba(244, 239, 232, .72);
  border-radius: 0;
  background: rgba(91, 24, 39, .45);
  color: var(--v4-paper-warm);
  backdrop-filter: blur(5px);
}
body.home .invitation-cta:hover {
  transform: translateY(-4px);
  background: var(--v4-paper-warm);
  color: var(--v4-wine);
}
.invitation-monogram {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -5vw;
  pointer-events: none;
  color: rgba(244, 239, 232, .095);
  font-family: var(--v4-accent);
  font-size: clamp(18rem, 42vw, 46rem);
  font-weight: 400;
  line-height: .62;
  transform: translateY(-45%);
}
.invitation-monogram span {
  display: block;
  animation: bordo-monogram-drift 9s var(--v4-ease) infinite alternate;
  transform-origin: 52% 48%;
}
@keyframes bordo-monogram-drift {
  0% { transform: translate3d(-1.2rem, 0, 0) rotate(-2deg) scale(.98); }
  100% { transform: translate3d(1.2rem, -1rem, 0) rotate(2deg) scale(1.025); }
}

body.home .contact-editorial h2 {
  font-size: clamp(3.8rem, 7.3vw, 8.2rem);
  line-height: .92;
}
body.home .contact-editorial__cta {
  border-radius: 0;
  background: var(--v4-wine-bright);
  color: var(--v4-paper-warm);
}

@media (max-width: 1200px) {
  body.home .manifesto-v2 .editorial-heading h2,
  body.home .details-v2 .editorial-heading h2,
  body.home .heritage-v2 .editorial-heading h2,
  body.home .stories-intro h2,
  body.home .invitation h2 { max-width: 11.5em; }
  body.home .room-panel__body { width: min(34rem, calc(100vw - 2 * var(--v4-pad))); }
}

@media (max-width: 900px) {
  body.home .manifesto-v2 .editorial-heading h2 span:last-child { margin-left: 0; }
  body.home .rooms-intro { min-height: auto; padding-top: 7rem; padding-bottom: 5rem; }
  body.home .rooms-intro__title { font-size: clamp(3.5rem, 11vw, 6.3rem); }
  body.home .room-panel__header h3 { font-size: clamp(4.5rem, 17vw, 8rem); }
  body.home .heritage-v2__hero { aspect-ratio: 4 / 3; }
  body.home .heritage-v2__story { grid-template-columns: 1fr; }
  body.home .heritage-v2__date { grid-column: 1; order: -1; }
  body.home .heritage-v2__detail { width: min(32rem, 72%); }
  body.home .stories-intro { display: block; }
  body.home .stories-intro__meta { margin-bottom: 3rem; }
  body.home .stories-canvas { padding-right: var(--v4-pad); }
  body.home .invitation-main { display: block; }
  body.home .invitation-action { max-width: 32rem; margin-top: 3rem; }
  .invitation-monogram { right: -12vw; font-size: clamp(18rem, 70vw, 36rem); }
}

@media (max-width: 782px) {
  body.admin-bar.home .site-header,
  body.admin-bar:not(.home) .site-header { top: 46px; }
}

@media (max-width: 620px) {
  :root { --v4-pad: clamp(1rem, 5.2vw, 1.4rem); }
  body.home .manifesto-v2,
  body.home .details-v2,
  body.home .possibilities-inner,
  body.home .heritage-v2,
  body.home .stories,
  body.home .faq,
  body.home .contact-editorial { padding-top: 6rem; padding-bottom: 6rem; }
  body.home .editorial-heading h2,
  body.home .manifesto-v2 .editorial-heading h2,
  body.home .details-v2 .editorial-heading h2,
  body.home .heritage-v2 .editorial-heading h2,
  body.home .rooms-intro__title,
  body.home .possibilities-title,
  body.home .stories-intro h2,
  body.home .invitation h2,
  body.home .contact-editorial h2 {
    max-width: 100%;
    font-size: clamp(2.75rem, 12.5vw, 4.6rem);
    letter-spacing: -.035em;
    line-height: .98;
  }
  body.home .manifesto-v2__image { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
  body.home .manifesto-v2__principles { margin-top: 3rem; }
  body.home .room-panel { min-height: 108svh; }
  body.home .room-panel__header { top: 5.5rem; right: var(--v4-pad); }
  body.home .room-panel__header h3 { font-size: clamp(4rem, 19vw, 6.3rem); line-height: .9; }
  body.home .room-panel__body { right: var(--v4-pad); bottom: 1.25rem; width: auto; padding-right: 0; }
  body.home .room-panel__body > p:not(.room-panel__statement):not(.room-panel__meta) {
    display: block;
    max-width: 31rem;
    font-size: .78rem;
    line-height: 1.55;
  }
  body.home .room-panel__statement { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  body.home .room-panel__meta { line-height: 1.5; }
  body.home .details-v2__key { overflow-wrap: anywhere; }
  body.home .possibilities-control { grid-template-columns: 1.65rem minmax(0, 1fr) 2.15rem; gap: .75rem; }
  body.home .possibilities-name { font-size: clamp(1.65rem, 8vw, 2.6rem); letter-spacing: -.035em; }
  body.home .possibilities-panel__inner { padding-bottom: 2.5rem; }
  body.home .heritage-v2__meta,
  body.home .stories-intro__meta,
  body.home .invitation-meta { gap: 1rem; line-height: 1.7; }
  body.home .heritage-v2__hero { margin-top: 3rem; aspect-ratio: 4 / 5; }
  body.home .heritage-v2__date { font-size: clamp(3rem, 17vw, 4.8rem); }
  body.home .heritage-v2__detail { width: 86%; }
  body.home .heritage-v2__final { font-size: clamp(2.5rem, 10vw, 3.8rem); }
  body.home .stories-canvas { grid-template-columns: 1fr; gap: 3rem; }
  body.home .stories-item:nth-child(even) { margin-top: 0 !important; }
  body.home .stories-media,
  body.home .stories-item:nth-child(3n+1) .stories-media { aspect-ratio: 4 / 5; }
  body.home .invitation,
  body.home .invitation-inner { min-height: 100svh; }
  body.home .invitation-inner { padding-top: 6.5rem; padding-bottom: 2.5rem; }
  body.home .invitation-cta { width: 100%; }
  body.home .invitation-ledger { margin-top: 4rem; }
  .invitation-monogram { top: 44%; right: -21vw; font-size: 96vw; }
  body.home .faq-question { font-size: 1.1rem; line-height: 1.35; }
  body.home .site-footer__brand { font-size: 26vw; letter-spacing: -.075em; }
}

@media (max-width: 480px) {
  body.home .editorial-heading h2,
  body.home .manifesto-v2 .editorial-heading h2,
  body.home .details-v2 .editorial-heading h2,
  body.home .heritage-v2 .editorial-heading h2,
  body.home .rooms-intro__title,
  body.home .possibilities-title,
  body.home .stories-intro h2,
  body.home .invitation h2,
  body.home .faq-intro h2,
  body.home .contact-editorial h2 { font-size: clamp(2.35rem, 11vw, 3.45rem); }
  body.home .room-panel { min-height: 114svh; }
}

@media (prefers-reduced-motion: reduce) {
  .invitation-monogram span { animation: none !important; }
}

/* ================================================================
   BORDO VOGUE V5 — photographic editorial direction
   ================================================================ */
:root {
  --v5-paper: #f5f0e8;
  --v5-black: #090809;
  --v5-ink: #130e10;
  --v5-wine: #64172b;
  --v5-rose: #d7a3b0;
  --v5-gold: #b89a6b;
  --v5-line-dark: rgba(245,240,232,.2);
  --v5-line-light: rgba(19,14,16,.17);
  --v5-serif: var(--e-global-typography-secondary-font-family, "Cormorant Garamond"), Georgia, serif;
  --v5-sans: var(--e-global-typography-primary-font-family, "Manrope"), Arial, sans-serif;
  --v5-ease: cubic-bezier(.18,.82,.21,1);
}

html.modern-v4 { scroll-behavior: smooth; }
body { font-family: var(--v5-sans); }
body.home .container,
body:not(.home) .container { width: min(100%, 1680px); }
body.home .v4-cursor { width: 2.6rem; height: 2.6rem; background: rgba(100,23,43,.9); color: var(--v5-paper); font-family: var(--v5-serif); font-size: 1.45rem; }

body.home .site-header,
body:not(.home) .site-header { height: 4.75rem; border-color: rgba(245,240,232,.13); background: rgba(9,8,9,.88); color: var(--v5-paper); mix-blend-mode: normal; backdrop-filter: blur(10px); }
body.home .site-header.is-scrolled,
body:not(.home) .site-header.is-scrolled { height: 4.2rem; background: rgba(9,8,9,.96); }
body.home .brand,
body:not(.home) .brand { font-size: 1.35rem; letter-spacing: -.075em; }
body.home .header-cta,
body:not(.home) .header-cta { padding: .85rem 1.2rem; border-color: rgba(245,240,232,.58); }

/* Flight: the building opens and closes the journey. */
body.home .flight-scene[data-world="bordo"] .flight-image,
body.home .flight-scene--final .flight-image { background-position: center 45%; filter: contrast(1.04); }
body.home .flight-scene[data-world="bordo"] .flight-image::after,
body.home .flight-scene--final .flight-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,8,9,.08),rgba(53,9,21,.58)); }
body.home .flight-title { font-family: var(--v5-serif); font-weight: 400; letter-spacing: .08em; }
body.home .final-hero__title { max-width: 13em; font-family: var(--v5-serif); font-size: clamp(3.5rem,7vw,8rem); font-weight: 400; letter-spacing: -.035em; line-height: .88; text-transform: none; }
body.home .final-hero__world,
body.home .final-hero__eyebrow,
body.home .final-hero__meta,
body.home .final-hero__discover { letter-spacing: .22em; }

/* Every chapter gets fashion-editorial typography, not ad-tech typography. */
body.home .editorial-heading h2,
body.home .rooms-intro__title,
body.home .possibilities-title,
body.home .stories-intro h2,
body.home .invitation h2,
body.home .faq-intro h2,
body.home .contact-editorial h2,
body.home .room-panel__header h3,
body.home .heritage-v2__final,
body:not(.home) .booking-hero h1,
body:not(.home) .booking-guide h2,
body:not(.home) .booking-before h2 { font-family: var(--v5-serif); font-weight: 400; letter-spacing: -.035em; line-height: .86; text-transform: none; }
body.home .editorial-heading__label,
body.home .rooms-intro__label,
body.home .possibilities-label,
body.home .faq-label { color: var(--v5-rose); }

/* Philosophy: remove the dead spreadsheet rhythm and make it a cover story. */
body.home .manifesto-v2 { padding: clamp(7rem,9vw,10rem) 0 0; background: var(--v5-black); }
body.home .manifesto-v2__inner { grid-template-columns: repeat(12,1fr); }
body.home .manifesto-v2 .editorial-heading { grid-column: 1 / 13; display:grid; grid-template-columns: 1.25fr .75fr; gap:clamp(2rem,6vw,8rem); align-items:end; padding-bottom:clamp(4rem,7vw,7rem); }
body.home .manifesto-v2 .editorial-heading__label { grid-column:1/-1; }
body.home .manifesto-v2 .editorial-heading h2 { max-width: 8em; margin:0; font-size:clamp(4.5rem,8vw,9rem); }
body.home .manifesto-v2 .editorial-heading h2 span:last-child { margin-left:clamp(1.5rem,7vw,8rem); color:var(--v5-rose); font-style:italic; }
body.home .manifesto-v2 .editorial-heading__lead { max-width:29rem; margin:0 0 .6rem; color:rgba(245,240,232,.72); }
body.home .manifesto-v2__image { grid-column:1/13; width:100%; margin:0; aspect-ratio:16/8; }
body.home .manifesto-v2__image img { height:112%; object-position:center 46%; filter:contrast(1.04); }
body.home .manifesto-v2__image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(9,8,9,.38)); pointer-events:none; }
body.home .manifesto-v2__principles { grid-column:1/13; display:grid; grid-template-columns:repeat(3,1fr); margin-top:0; border-top:0; }
body.home .manifesto-v2__principles article { position:relative; min-height:34rem; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:clamp(2rem,3vw,3.5rem); border-right:1px solid var(--v5-line-dark); background:#111; isolation:isolate; }
body.home .manifesto-v2__principles article::before { content:""; position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transition:transform 1.2s var(--v5-ease); }
body.home .manifesto-v2__principles article:nth-child(1)::before { background-image:url('../images/amour-close.webp'); }
body.home .manifesto-v2__principles article:nth-child(2)::before { background-image:url('../images/envato/fashion-piano.webp'); background-position:center 34%; }
body.home .manifesto-v2__principles article:nth-child(3)::before { background-image:url('../images/muse-doorway.webp'); }
body.home .manifesto-v2__principles article::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(9,8,9,.08),rgba(9,8,9,.88)); }
body.home .manifesto-v2__principles article:hover::before { transform:scale(1.035); }
body.home .manifesto-v2__principles article + article { padding-left:clamp(2rem,3vw,3.5rem); }
body.home .manifesto-v2__principles h3 { margin:auto 0 1rem; color:var(--v5-paper); font-family:var(--v5-serif); font-size:clamp(2.6rem,4vw,4.5rem); font-weight:400; letter-spacing:-.035em; }
body.home .manifesto-v2__principles p { color:rgba(245,240,232,.76); }

/* Rooms/details: tighter and more like magazine features. */
body.home .rooms-intro { min-height:70svh; background:var(--v5-paper); }
body.home .rooms-intro__title { font-size:clamp(4.5rem,8.5vw,9.5rem); }
body.home .rooms-intro__subheadline { color:var(--v5-wine); }
body.home .room-panel__header h3 { font-family:var(--v5-serif); font-weight:400; }
body.home .room-panel__media--primary img { object-position:center; }
body.home .details-v2 { padding:clamp(7rem,10vw,11rem) 0; }
body.home .details-v2__inner { display:grid; grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr); gap:clamp(3rem,8vw,10rem); align-items:start; }
body.home .details-v2 .editorial-heading { grid-column:1/3; text-align:left; }
body.home .details-v2 .editorial-heading h2 { max-width:10em; font-size:clamp(4rem,7vw,7.8rem); }
body.home .details-v2__hero { grid-column:1; position:sticky; top:7rem; width:100%; }
body.home .details-v2__list { grid-column:2; }
body.home .details-v2__closing { grid-column:2; width:min(32rem,70%); margin-left:auto; }

/* Heritage: one cinematic chapter; no floating dates or empty half screens. */
body.home .heritage-v2 { position:relative; padding:0; min-height:210svh; overflow:clip; background:var(--v5-black); color:var(--v5-paper); }
body.home .heritage-v2__inner { position:relative; display:grid; grid-template-columns:repeat(12,1fr); min-height:210svh; padding-top:clamp(7rem,10vw,11rem); padding-bottom:clamp(7rem,10vw,11rem); }
body.home .heritage-v2 .editorial-heading { grid-column:1/9; position:relative; z-index:3; align-self:start; }
body.home .heritage-v2 .editorial-heading h2 { max-width:9em; margin-top:2rem; color:var(--v5-paper); font-size:clamp(4.5rem,7.5vw,8.5rem); }
body.home .heritage-v2__meta { color:rgba(245,240,232,.65); }
body.home .heritage-v2__hero { grid-column:1/13; position:sticky; top:4rem; width:100%; height:calc(100svh - 4rem); margin:clamp(4rem,7vw,7rem) 0 0; aspect-ratio:auto; overflow:hidden; z-index:1; }
body.home .heritage-v2__hero img { width:100%; height:100%; object-fit:cover; object-position:center 48%; transform:scale(calc(1.06 - var(--v4-scroll,0) * .035)); }
body.home .heritage-v2__hero img { object-position:calc(50% + var(--architecture-x,0%)) 48%; }
body.home .heritage-v2__hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,8,9,.12),rgba(9,8,9,.82)); }
body.home .heritage-v2__hero figcaption { position:absolute; z-index:2; left:2rem; bottom:2rem; color:rgba(245,240,232,.74); }
body.home .heritage-v2__story { grid-column:1/13; position:relative; z-index:4; display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); align-items:start; margin:-76svh var(--v4-pad) 0; padding:clamp(3rem,5vw,5rem); background:rgba(9,8,9,.82); backdrop-filter:blur(15px); }
body.home .heritage-v2__date { grid-column:2; grid-row:1; display:block; color:var(--v5-paper); font-family:var(--v5-serif); font-size:clamp(5rem,10vw,11rem); font-weight:400; letter-spacing:-.06em; line-height:.65; text-align:center; }
body.home .heritage-v2__date span { display:block; }
body.home .heritage-v2__date i { display:block; margin:.4em 0; color:var(--v5-rose); font-size:.28em; }
body.home .heritage-v2__copy { max-width:32rem; color:rgba(245,240,232,.76); }
body.home .heritage-v2__copy p { line-height:1.8; }
body.home .heritage-v2__copy .heritage-v2__kicker { color:var(--v5-rose); }
body.home .heritage-v2__detail { display:none; }
body.home .heritage-v2__final { grid-column:2/12; position:relative; z-index:4; max-width:12em; margin:clamp(7rem,11vw,12rem) 0 0; color:var(--v5-paper); font-size:clamp(4rem,7vw,8rem); }
body.home .heritage-v2__final span { display:block; }
body.home .heritage-v2__final span:last-child { margin:.2em 0 0 1.4em; color:var(--v5-rose); font-style:italic; }

/* Stories: protect women and wardrobe from cropping. */
body.home .stories-intro h2 { font-size:clamp(4.5rem,7.5vw,8.5rem); }
body.home .stories-item--people .stories-media { background:#141113; }
body.home .stories-item--people .stories-media img { object-fit:contain; object-position:center; transform:none !important; }
body.home .stories-item--people:hover .stories-media img { transform:none; }
body.home .stories-item--people { width:clamp(20rem,35vw,38rem) !important; }

/* CTA/footer: more photographic and less decorative. */
body.home .invitation h2 { font-size:clamp(4.2rem,7.5vw,8.5rem); }
body.home .site-footer { padding-top:clamp(5rem,8vw,9rem); }
.site-footer__architecture { position:relative; width:100%; margin:0 0 clamp(5rem,8vw,8rem); aspect-ratio:16/7; overflow:hidden; }
.site-footer__architecture img { width:100%; height:100%; object-fit:cover; object-position:center 50%; filter:grayscale(1) contrast(1.08); transition:transform 1.4s var(--v5-ease),filter .8s; }
.site-footer__architecture img { object-position:calc(50% + var(--architecture-x,0%)) 50%; }
.site-footer__architecture:hover img { transform:scale(1.018); filter:grayscale(.35) sepia(.15) saturate(.75); }
.site-footer__architecture::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(9,8,9,.75)); }
.site-footer__architecture figcaption { position:absolute; z-index:2; left:2rem; right:2rem; bottom:1.5rem; display:flex; justify-content:space-between; color:var(--v5-paper); font-size:.58rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
body.home .site-footer__brand,
body:not(.home) .site-footer__brand { font-family:var(--v5-serif); font-weight:400; letter-spacing:-.07em; }

/* Booking: image-led opening and a clean Amelia console. */
body:not(.home) .booking-page { background:var(--v5-paper); }
body:not(.home) .booking-hero { position:relative; min-height:92svh; overflow:hidden; padding:0 var(--pad); background:var(--v5-black); }
body:not(.home) .booking-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
body:not(.home) .booking-hero__veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,8,9,.85),rgba(9,8,9,.22) 64%,rgba(9,8,9,.52)),linear-gradient(0deg,rgba(9,8,9,.66),transparent 58%); }
body:not(.home) .booking-hero__inner { position:relative; z-index:2; min-height:92svh; padding-top:9rem; padding-bottom:3rem; }
body:not(.home) .booking-hero h1 { max-width:9em; font-size:clamp(5rem,9vw,10rem); }
body:not(.home) .booking-hero h1 span:last-child { margin-left:clamp(0rem,8vw,9rem); color:var(--v5-rose); font-style:italic; }
body:not(.home) .booking-hero__content > p { max-width:30rem; margin-left:auto; color:rgba(245,240,232,.78); }
body:not(.home) .booking-main { padding-top:clamp(5rem,8vw,9rem); }
body:not(.home) .booking-layout { grid-template-columns:minmax(18rem,.62fr) minmax(0,1.38fr); gap:clamp(3rem,6vw,7rem); }
body:not(.home) .booking-guide { position:sticky; top:7rem; }
body:not(.home) .booking-guide h2 { font-size:clamp(3.5rem,5vw,6rem); }
body:not(.home) .booking-page .amelia-wrap { padding:0; border:1px solid var(--v5-line-light); background:#fffdfa; box-shadow:0 2rem 6rem rgba(46,23,29,.1); overflow:hidden; }
body:not(.home) .booking-page .amelia-wrap .elementor-element,
body:not(.home) .booking-page .amelia-wrap .e-con-inner,
body:not(.home) .booking-page .amelia-wrap .elementor-widget-container { --container-max-width:100%; width:100%; max-width:none; padding:0; margin:0; }
body:not(.home) .booking-page .amelia-wrap .am-fs__wrapper { min-height:46rem; }
body:not(.home) .booking-page .amelia-wrap .am-fs-sb { background:var(--v5-wine) !important; }
body:not(.home) .booking-page .amelia-wrap .am-fs__main { background:#fffdfa !important; }
body:not(.home) .booking-page .amelia-wrap .am-fs__main-heading-inner-title { font-family:var(--v5-serif) !important; font-size:clamp(2.2rem,3.6vw,3.8rem) !important; font-weight:400 !important; }
body:not(.home) .booking-page .amelia-wrap :is(.el-button--primary,button[type="button"]) { border-radius:0 !important; }
body:not(.home) .booking-before { background:#e9dfd6; }
body:not(.home) .booking-before h2 { max-width:10em; font-size:clamp(4rem,7vw,8rem); }

@media (max-width:900px) {
  body.home .manifesto-v2 .editorial-heading { display:block; }
  body.home .manifesto-v2 .editorial-heading__lead { margin-top:2rem; }
  body.home .manifesto-v2__principles { grid-template-columns:1fr; }
  body.home .manifesto-v2__principles article { min-height:70svh; border-right:0; border-bottom:1px solid var(--v5-line-dark); }
  body.home .details-v2__inner { display:block; }
  body.home .details-v2__hero { position:relative; top:auto; margin-top:3rem; aspect-ratio:4/5; }
  body.home .details-v2__list { margin-top:3rem; }
  body.home .details-v2__closing { width:75%; margin-top:3rem; }
  body.home .heritage-v2 { min-height:auto; }
  body.home .heritage-v2__inner { display:block; min-height:0; }
  body.home .heritage-v2__hero { position:relative; top:auto; height:70svh; }
  body.home .heritage-v2__story { display:block; margin:-12rem var(--v4-pad) 0; padding:2rem; }
  body.home .heritage-v2__date { margin:3rem 0; }
  body.home .heritage-v2__final { margin:5rem var(--v4-pad) 0; }
  body:not(.home) .booking-layout { grid-template-columns:1fr; }
  body:not(.home) .booking-guide { position:static; }
}

@media (max-width:620px) {
  body.home .final-hero__title { font-size:clamp(2.9rem,12vw,4.2rem); line-height:.92; }
  body.home .manifesto-v2 .editorial-heading h2,
  body.home .heritage-v2 .editorial-heading h2 { font-size:clamp(3.25rem,14vw,5rem); }
  body.home .manifesto-v2 .editorial-heading h2 span:last-child { margin-left:0; }
  body.home .manifesto-v2__image { aspect-ratio:4/5; }
  body.home .manifesto-v2__principles article { min-height:82svh; }
  body.home .manifesto-v2__principles article:nth-child(2)::before { background-position:center top; background-size:contain; background-repeat:no-repeat; background-color:#151215; }
  body.home .heritage-v2__hero { height:64svh; aspect-ratio:auto; }
  body.home .heritage-v2__story { margin-top:-7rem; }
  body.home .heritage-v2__date { font-size:clamp(4.5rem,25vw,7rem); }
  body.home .heritage-v2__final { font-size:clamp(3rem,13vw,4.6rem); }
  body.home .heritage-v2__final span:last-child { margin-left:0; }
  body.home .stories-item--people { width:100% !important; }
  body.home .stories-item--people .stories-media { aspect-ratio:2/3 !important; }
  .site-footer__architecture { aspect-ratio:4/5; }
  .site-footer__architecture figcaption { left:1rem; right:1rem; bottom:1rem; }
  body:not(.home) .booking-hero { min-height:88svh; }
  body:not(.home) .booking-hero__inner { min-height:88svh; padding-top:7.5rem; }
  body:not(.home) .booking-hero h1 { font-size:clamp(3.5rem,16vw,5.2rem); }
  body:not(.home) .booking-hero h1 span:last-child { margin-left:0; }
  body:not(.home) .booking-hero__content > p { margin:2rem 0 0; }
  body:not(.home) .booking-page .amelia-wrap .am-fs__wrapper { min-height:52rem; }
}

@media (prefers-reduced-motion:reduce) {
  body.home .heritage-v2__hero img,
  .site-footer__architecture img { transform:none !important; }
}

/* V5 final polish — safe type, editorial possibilities and booking clarity. */
body.home :is(.editorial-heading h2,.rooms-intro__title,.possibilities-title,.stories-intro h2,.invitation h2,.faq-intro h2,.contact-editorial h2,.heritage-v2__final),
body:not(.home) :is(.booking-hero h1,.booking-guide h2,.booking-before h2) {
  max-width: 100%;
  overflow: visible;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  line-height: .94;
  padding-block: .035em .09em;
}

body.home :is(.editorial-heading h2,.rooms-intro__title,.possibilities-title,.stories-intro h2,.invitation h2,.faq-intro h2,.contact-editorial h2) span,
body:not(.home) :is(.booking-hero h1,.booking-before h2) span {
  display: block;
  padding-bottom: .035em;
}

body.home .manifesto-v2 .editorial-heading h2,
body.home .details-v2 .editorial-heading h2,
body.home .heritage-v2 .editorial-heading h2,
body.home .stories-intro h2,
body.home .faq-intro h2,
body.home .contact-editorial h2 {
  letter-spacing: -.025em;
}

/* Use the human stories as the visual navigation for possibilities. */
body.home .possibilities { background:var(--v5-black); }
body.home .possibilities-inner { padding-top:clamp(7rem,10vw,11rem); padding-bottom:clamp(7rem,10vw,11rem); }
body.home .possibilities-intro { grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr); align-items:end; }
body.home .possibilities-title { grid-column:1; margin:0; max-width:7.5em; font-size:clamp(4.5rem,7.8vw,8.8rem); }
body.home .possibilities-title span:nth-child(2) { margin-left:clamp(0rem,4vw,4rem); color:var(--v5-rose); font-style:italic; }
body.home .possibilities-lead { grid-column:2; margin:0 0 .8rem; }
body.home .possibilities-index { display:grid; grid-template-columns:minmax(0,1fr) minmax(24rem,.72fr); gap:clamp(3rem,6vw,7rem); align-items:start; }
body.home .possibilities-name { font-family:var(--v5-serif); font-size:clamp(2.4rem,4.2vw,4.8rem); font-weight:400; letter-spacing:-.025em; line-height:.92; }
body.home .possibilities-number { color:var(--v5-rose); }
body.home .possibilities-sign { border-radius:0; border-color:rgba(245,240,232,.35); color:var(--v5-rose); }
body.home .possibilities-preview { display:block !important; position:sticky; top:7rem; grid-column:2; grid-row:1; width:100%; height:calc(100svh - 10rem); min-height:36rem; overflow:hidden; background:#171216; }
body.home .possibilities-preview img { width:100%; height:100%; object-fit:contain; object-position:center; }
body.home .possibilities-preview figcaption { position:absolute; left:1rem; right:1rem; bottom:1rem; display:flex; justify-content:space-between; color:var(--v5-paper); font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; }
body.home .possibilities-list { grid-column:1; grid-row:1; }
body.home .possibilities-control { min-height:clamp(6.5rem,9vw,9rem); }
body.home .possibilities-panel__inner { grid-template-columns:minmax(0,.9fr) minmax(16rem,1.1fr); }
body.home .possibilities-media { aspect-ratio:4/3; border-radius:0; background:#171216; }
body.home .possibilities-media--people { aspect-ratio:2/3; max-height:46rem; }
body.home .possibilities-media--people img { object-fit:contain; object-position:center; }
body.home .possibilities-statement { font-family:var(--v5-serif); font-style:italic; font-weight:400; line-height:.95; }
body.home .possibilities-copy { font-size:.96rem; }

/* FAQ and contact keep editorial drama without oversized dead zones. */
body.home .faq-intro h2 { max-width:7.5em; font-size:clamp(4rem,6.5vw,7rem); }
body.home .faq-question { font-family:var(--v5-serif); font-weight:400; letter-spacing:-.015em; }
body.home .contact-editorial__spread { grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr); align-items:end; }
body.home .contact-editorial h2 { max-width:7em; font-size:clamp(4.5rem,7.2vw,8.2rem); }

/* A restrained Vogue-style CTA: no fluorescent disc, the B is the motion. */
body.home .invitation-cta { background:transparent; border-color:rgba(245,240,232,.72); color:var(--v5-paper); }
body.home .invitation-cta:hover { background:var(--v5-paper); color:var(--v5-wine); transform:translateY(-3px); }
.invitation-monogram { color:rgba(245,240,232,.1); font-family:var(--v5-serif); }

/* Amelia must read as one clean booking desk, not an embedded foreign app. */
body:not(.home) .booking-page .amelia-wrap :is(.am-fs__main-content,.am-fs__main-container) { padding-inline:clamp(1rem,3vw,3rem) !important; }
body:not(.home) .booking-page .amelia-wrap :is(input,.el-input__inner,.el-select__wrapper,.am-advsc__time-zone,.am-fs__package) { border-radius:0 !important; }
body:not(.home) .booking-page .amelia-wrap :is(.am-fs__main-heading-inner-title,.am-fs__main-heading-inner-subtitle) { max-width:100%; white-space:normal !important; overflow-wrap:break-word; }

@media (max-width:900px) {
  body.home .site-header,
  body:not(.home) .site-header { display:grid; grid-template-columns:1fr auto; align-items:center; height:4.75rem; }
  body.home .main-nav,
  body.home .header-cta,
  body:not(.home) .main-nav,
  body:not(.home) .header-cta { display:none !important; }
  body.home .menu-toggle,
  body:not(.home) .menu-toggle { display:flex; position:static; grid-column:2; justify-self:end; }
  body.home .possibilities-intro,
  body.home .possibilities-index { display:block; }
  body.home .possibilities-title { max-width:8em; }
  body.home .possibilities-title span:nth-child(2) { margin-left:0; }
  body.home .possibilities-lead { margin-top:2rem; }
  body.home .possibilities-preview { display:none !important; }
  body.home .possibilities-panel__inner { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:1.5rem; }
  body.home .possibilities-media { margin:0; }
  body.home .contact-editorial__spread { display:block; }
  body.home .contact-editorial__details { margin-top:4rem; }
  body:not(.home) .booking-page .amelia-wrap { width:100%; }
  body:not(.home) .booking-page .amelia-wrap .am-fs__wrapper { min-height:0; }
}

@media (max-width:620px) {
  body.home :is(.manifesto-v2 .editorial-heading h2,.details-v2 .editorial-heading h2,.heritage-v2 .editorial-heading h2,.possibilities-title,.stories-intro h2,.invitation h2,.faq-intro h2,.contact-editorial h2) {
    font-size:clamp(3.05rem,13.6vw,4.5rem);
    line-height:.96;
    letter-spacing:-.018em;
  }
  body.home .possibilities-panel__inner { display:block; }
  body.home .possibilities-media { margin-bottom:1.5rem; }
  body.home .possibilities-media--people { max-height:none; aspect-ratio:2/3; }
  body.home .possibilities-control { grid-template-columns:1.6rem minmax(0,1fr) 2.1rem; gap:.8rem; min-height:5.75rem; }
  body.home .possibilities-name { font-size:clamp(1.95rem,9vw,2.8rem); }
  body.home .faq-question { font-size:clamp(1.3rem,6vw,1.8rem); line-height:1.12; }
  body:not(.home) .booking-hero { min-height:78svh; }
  body:not(.home) .booking-hero__inner { min-height:78svh; }
  body:not(.home) .booking-hero h1 { font-size:clamp(3.25rem,15vw,4.8rem); line-height:.94; }
  body:not(.home) .booking-main { padding-inline:1rem; }
  body:not(.home) .booking-page .amelia-wrap { margin-inline:0; box-shadow:none; }
  body:not(.home) .booking-page .amelia-wrap .am-fs__main-content { padding-inline:.75rem !important; }
}

/* Heritage final composition: cinematic, but never an empty timeline. */
body.home .heritage-v2 { min-height:0; }
body.home .heritage-v2__inner { min-height:0; }
body.home .heritage-v2__hero { position:relative; top:auto; height:min(82svh,62rem); }
body.home .heritage-v2__story {
  margin:clamp(-9rem,-8vw,-5rem) var(--v4-pad) 0;
  padding:clamp(2.5rem,4.5vw,5rem);
  background:rgba(9,8,9,.96);
  backdrop-filter:none;
}
body.home .heritage-v2__copy { align-self:center; }
body.home .heritage-v2__date { align-self:center; }
body.home .heritage-v2__final { margin-top:clamp(6rem,9vw,10rem); margin-bottom:0; }

@media (max-width:900px) {
  body.home .heritage-v2__story { margin:-5rem var(--v4-pad) 0; }
}

@media (max-width:620px) {
  body.home .heritage-v2__hero { height:58svh; }
  body.home .heritage-v2__story { margin:-2.5rem var(--v4-pad) 0; }
}

/* ==================================================
   HERITAGE V5.1 — 1882 / 2026 scroll chapter
   ================================================== */
body.home .heritage-v3 {
  --heritage-progress: 0;
  position: relative;
  overflow: clip;
  background: var(--v5-black);
  color: var(--v5-paper);
}

body.home .heritage-v3__timeline {
  position: relative;
  height: 190svh;
  background: var(--v5-black);
}

body.home .heritage-v3__frame {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
}

body.home .heritage-v3__architecture {
  position: absolute;
  inset: 0;
  z-index: -2;
  margin: 0;
  overflow: hidden;
  background: #120c0e;
}

body.home .heritage-v3__architecture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: calc(50% + var(--architecture-x, 0%)) 52%;
  filter: grayscale(1) contrast(1.05);
  transform: scale(calc(1.075 - var(--heritage-progress) * .04));
  transform-origin: center;
}

body.home .heritage-v3__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(9, 8, 9, .9) 0%, rgba(9, 8, 9, .53) 48%, rgba(9, 8, 9, .28) 100%),
    linear-gradient(180deg, rgba(9, 8, 9, .48) 0%, rgba(9, 8, 9, .08) 40%, rgba(36, 5, 13, .9) 100%);
  pointer-events: none;
}

body.home .heritage-v3__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .65fr);
  grid-template-rows: auto 1fr auto;
  gap: clamp(2rem, 5vw, 7rem);
  padding-top: clamp(7.5rem, 13svh, 10rem);
  padding-bottom: clamp(2.5rem, 6svh, 5rem);
}

body.home .heritage-v3__intro {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  max-width: 58rem;
}

body.home .heritage-v3__label,
body.home .heritage-v3__meta,
body.home .heritage-v3__counter > p,
body.home .heritage-v3__range,
body.home .heritage-v3__chapters-heading > p,
body.home .heritage-v3__chapter-label,
body.home .heritage-v3__detail figcaption {
  margin: 0;
  font-family: var(--v5-sans);
  font-size: clamp(.56rem, .7vw, .72rem);
  font-weight: 600;
  letter-spacing: .28em;
  line-height: 1.5;
  text-transform: uppercase;
}

body.home .heritage-v3__label { color: var(--v5-rose); }
body.home .heritage-v3__label span { color: var(--v5-paper); }
body.home .heritage-v3__meta { margin-top: clamp(2rem, 5svh, 4rem); color: rgba(245, 240, 232, .72); }

body.home .heritage-v3__intro h2 {
  max-width: 8.4em;
  margin: clamp(1.1rem, 2svh, 1.8rem) 0 0;
  color: var(--v5-paper);
  font-family: var(--v5-serif);
  font-size: clamp(4.5rem, 8.2vw, 9rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .82;
  text-wrap: balance;
}

body.home .heritage-v3__intro h2 em,
body.home .heritage-v3__chapters-heading h3 em,
body.home .heritage-v3__final em {
  color: var(--v5-rose);
  font-weight: 300;
}

body.home .heritage-v3__counter {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: end;
  width: min(100%, 34rem);
  justify-self: end;
  text-align: right;
}

body.home .heritage-v3__counter > p { color: rgba(245, 240, 232, .66); }

body.home .heritage-v3__counter-row {
  min-height: 1em;
  margin-top: .18em;
  color: var(--v5-paper);
  font-family: var(--v5-serif);
  font-size: clamp(7rem, 13vw, 14.5rem);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 300;
  letter-spacing: -.075em;
  line-height: .72;
  white-space: nowrap;
}

body.home .heritage-v3__progress {
  position: relative;
  height: 1px;
  margin-top: clamp(1.5rem, 3svh, 2.5rem);
  overflow: hidden;
  background: rgba(245, 240, 232, .28);
}

body.home .heritage-v3__progress i {
  position: absolute;
  inset: 0;
  display: block;
  background: var(--v5-rose);
  transform: scaleX(var(--heritage-progress));
  transform-origin: left;
}

body.home .heritage-v3__range {
  display: flex;
  justify-content: space-between;
  margin-top: .8rem;
  color: rgba(245, 240, 232, .65);
}

body.home .heritage-v3__chapters {
  position: relative;
  z-index: 3;
  padding: clamp(8rem, 12vw, 13rem) 0;
  background: var(--v5-paper);
  color: var(--v5-ink);
}

body.home .heritage-v3__chapters-heading {
  display: grid;
  grid-template-columns: minmax(11rem, .4fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 8rem);
  align-items: start;
  margin-bottom: clamp(5rem, 9vw, 9rem);
}

body.home .heritage-v3__chapters-heading > p { padding-top: .8rem; color: var(--v5-wine); }

body.home .heritage-v3__chapters-heading h3 {
  max-width: 8.5em;
  margin: 0;
  font-family: var(--v5-serif);
  font-size: clamp(4rem, 7.5vw, 8rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .86;
}

body.home .heritage-v3__spread {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(17rem, .72fr) minmax(0, .9fr);
  gap: clamp(2.5rem, 5vw, 6rem);
  align-items: center;
}

body.home .heritage-v3__chapter { max-width: 30rem; }
body.home .heritage-v3__chapter:last-child { justify-self: end; }

body.home .heritage-v3__chapter-year {
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: var(--v5-wine);
  font-family: var(--v5-serif);
  font-size: clamp(5.5rem, 9vw, 10rem);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 300;
  letter-spacing: -.06em;
  line-height: .72;
}

body.home .heritage-v3__chapter-label { margin-bottom: 1.5rem; color: var(--v5-wine); }

body.home .heritage-v3__chapter > p:not([class]) {
  margin: 0 0 1.35rem;
  color: rgba(14, 12, 13, .78);
  font-size: clamp(1rem, 1.22vw, 1.2rem);
  line-height: 1.75;
}

body.home .heritage-v3__detail {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 5.2;
  overflow: hidden;
  background: #d8cdc2;
}

body.home .heritage-v3__detail img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

body.home .heritage-v3__detail figcaption {
  position: absolute;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1.2rem;
  padding: .8rem 1rem;
  background: rgba(9, 8, 9, .82);
  color: var(--v5-paper);
}

body.home .heritage-v3__final {
  padding-top: clamp(8rem, 13vw, 14rem);
  padding-bottom: clamp(8rem, 13vw, 14rem);
}

body.home .heritage-v3__final p {
  max-width: 12.5em;
  margin: 0;
  font-family: var(--v5-serif);
  font-size: clamp(4rem, 7.3vw, 8rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .88;
  text-wrap: balance;
}

body.home .heritage-v3__final p:last-child { margin-top: .18em; margin-left: clamp(0rem, 8vw, 9rem); }

body.admin-bar.home .heritage-v3__frame { top: 32px; height: calc(100svh - 32px); }

@media (max-width: 900px) {
  body.home .heritage-v3__timeline { height: 160svh; }
  body.home .heritage-v3__overlay { grid-template-columns: minmax(0, 1fr) minmax(14rem, .72fr); }
  body.home .heritage-v3__intro h2 { font-size: clamp(4rem, 10vw, 6.2rem); }
  body.home .heritage-v3__counter-row { font-size: clamp(6rem, 17vw, 9rem); }
  body.home .heritage-v3__chapters-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  body.home .heritage-v3__spread { grid-template-columns: 1fr 1fr; align-items: start; }
  body.home .heritage-v3__detail { grid-column: 1 / 3; grid-row: 2; width: min(100%, 40rem); justify-self: center; aspect-ratio: 16 / 10; }
  body.home .heritage-v3__chapter { max-width: none; }
  body.home .heritage-v3__chapter:last-child { justify-self: auto; }
}

@media (max-width: 782px) {
  body.admin-bar.home .heritage-v3__frame { top: 46px; height: calc(100svh - 46px); }
}

@media (max-width: 620px) {
  body.home .heritage-v3__timeline { height: 145svh; }
  body.home .heritage-v3__frame::before {
    background: linear-gradient(180deg, rgba(9, 8, 9, .7) 0%, rgba(9, 8, 9, .18) 42%, rgba(36, 5, 13, .94) 100%);
  }
  body.home .heritage-v3__architecture img { object-position: 52% center; }
  body.home .heritage-v3__overlay {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    gap: 1.5rem;
    padding-top: 7.4rem;
    padding-bottom: 2.2rem;
  }
  body.home .heritage-v3__intro { grid-column: 1; grid-row: 1; max-width: 22rem; }
  body.home .heritage-v3__meta { margin-top: 1.5rem; }
  body.home .heritage-v3__intro h2 { margin-top: .8rem; font-size: clamp(3.25rem, 14vw, 4.6rem); line-height: .86; }
  body.home .heritage-v3__counter { grid-column: 1; grid-row: 3; width: 100%; }
  body.home .heritage-v3__counter-row { font-size: clamp(5.8rem, 28vw, 7.4rem); line-height: .74; }
  body.home .heritage-v3__progress { margin-top: 1.25rem; }
  body.home .heritage-v3__chapters { padding: 6.5rem 0; }
  body.home .heritage-v3__chapters-heading { margin-bottom: 4.5rem; }
  body.home .heritage-v3__chapters-heading h3 { font-size: clamp(3.3rem, 14vw, 4.5rem); line-height: .9; }
  body.home .heritage-v3__spread { display: flex; flex-direction: column; gap: 4.5rem; }
  body.home .heritage-v3__chapter,
  body.home .heritage-v3__detail { width: 100%; }
  body.home .heritage-v3__detail { order: 2; aspect-ratio: 4 / 5; }
  body.home .heritage-v3__chapter:first-child { order: 1; }
  body.home .heritage-v3__chapter:last-child { order: 3; }
  body.home .heritage-v3__chapter-year { margin-bottom: 2.2rem; font-size: clamp(5.5rem, 27vw, 7rem); }
  body.home .heritage-v3__final { padding-top: 7rem; padding-bottom: 7rem; }
  body.home .heritage-v3__final p { font-size: clamp(3rem, 13.5vw, 4.3rem); line-height: .92; }
  body.home .heritage-v3__final p:last-child { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .heritage-v3__timeline { height: 100svh; }
  body.home .heritage-v3__frame { position: relative; }
  body.home .heritage-v3__architecture img { transform: none !important; }
  body.home .heritage-v3__progress i { transform: scaleX(1); }
}

/* ==============================================================
   V5.3 — shorter, fully visible horizontal stories
   ============================================================== */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  body.home .stories.is-horizontal .stories-canvas {
    top: 5.4rem;
    height: calc(100svh - 7rem);
    align-items: center;
    padding-top: .6rem;
    padding-bottom: 2.4rem;
  }

  body.home .stories.is-horizontal .stories-item,
  body.home .stories.is-horizontal .stories-item--people {
    width: min(clamp(17rem, 27vw, 30rem), calc((100svh - 12.5rem) * .8)) !important;
    align-self: center;
  }

  body.home .stories.is-horizontal .stories-item:nth-child(3n+2) {
    margin-top: clamp(.5rem, 1.5svh, 1.2rem) !important;
  }

  body.home .stories.is-horizontal .stories-item:nth-child(3n) {
    margin-top: clamp(.25rem, .8svh, .7rem) !important;
  }

  body.admin-bar.home .stories.is-horizontal .stories-canvas {
    top: calc(32px + 5.4rem);
    height: calc(100svh - 32px - 7rem);
  }
}

@media (min-width: 901px) and (max-height: 760px) and (prefers-reduced-motion: no-preference) {
  body.home .stories.is-horizontal .stories-item,
  body.home .stories.is-horizontal .stories-item--people {
    width: min(23rem, calc((100svh - 11rem) * .8)) !important;
  }
  body.home .stories.is-horizontal .stories-canvas { padding-bottom: 1rem; }
}
