.home-section {
  --gold-on-paper: #75571c;
  padding-block: clamp(5rem, 4rem + 5vw, 10rem);
  overflow: clip;
}

.home-section:not(.section--dark):not(.section--graphite):not(.allocation-section):not(.final-cta) .eyebrow {
  color: var(--gold-on-paper);
}

.home-section h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.5rem, 1.8rem + 3.3vw, 5.6rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .98;
}

.section--dark,
.section--graphite {
  color: var(--paper);
}

.section--dark { background: var(--ink); }
.section--graphite { background: var(--graphite); }

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(14rem, .6fr);
  align-items: end;
  gap: var(--space-3);
  margin-bottom: clamp(3rem, 2rem + 3vw, 6rem);
}

.section-heading > p {
  max-width: 34ch;
  margin: 0;
  color: var(--stone);
}

.section-heading--wide h2 { max-width: 12ch; }

.home-hero {
  --hero-frame-curve: clamp(2.75rem, 4.5vw, 4.5rem);
  --hero-frame-gutter: clamp(.45rem, .7vw, .8rem);
  --hero-frame-top: clamp(7.5rem, 9vw, 8.75rem);
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 100svh;
  align-items: end;
  overflow: hidden;
  background: var(--ink);
  color: var(--paper);
}

.home-hero::before {
  position: absolute;
  z-index: 1;
  inset: var(--hero-frame-top) var(--hero-frame-gutter) var(--hero-frame-gutter);
  border-radius: var(--hero-frame-curve) 0 0 0;
  background:
    linear-gradient(90deg, transparent 0 calc(50% - 1px), rgb(244 240 232 / .08) 50%, transparent calc(50% + 1px)),
    linear-gradient(0deg, transparent 0 calc(50% - 1px), rgb(244 240 232 / .06) 50%, transparent calc(50% + 1px));
  content: '';
  pointer-events: none;
}

.home-hero::after {
  position: absolute;
  z-index: 1;
  inset: var(--hero-frame-top) var(--hero-frame-gutter) var(--hero-frame-gutter);
  border-radius: var(--hero-frame-curve) 0 0 0;
  background:
    linear-gradient(90deg, rgb(13 13 14 / .94) 0%, rgb(13 13 14 / .72) 48%, rgb(13 13 14 / .24) 100%),
    linear-gradient(0deg, rgb(13 13 14 / .82), transparent 52%);
  content: '';
}

.home-hero__media {
  position: absolute;
  z-index: 0;
  inset: var(--hero-frame-top) var(--hero-frame-gutter) var(--hero-frame-gutter);
  overflow: hidden;
  border-radius: var(--hero-frame-curve) 0 0 0;
}

.home-hero__media img,
.home-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-hero__video { position: absolute; inset: 0; }

.home-hero__content {
  position: relative;
  z-index: 3;
  padding-block: clamp(10rem, 7rem + 7vw, 15rem) clamp(3rem, 2rem + 4vw, 6.5rem);
}

.home-hero__edition {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: clamp(2rem, 7vw, 8rem);
  color: rgb(244 240 232 / .1);
  font-family: var(--serif);
  font-size: clamp(17rem, 36vw, 36rem);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 400;
  letter-spacing: -.1em;
  line-height: .6;
  pointer-events: none;
  transform: translateY(-46%);
  user-select: none;
}

.home-hero__rail {
  position: absolute;
  z-index: 4;
  top: clamp(7.5rem, 6vw, 10rem);
  right: max(1rem, calc((100% - 76rem) / 2));
  bottom: auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  padding-top: .65rem;
  border-top: 1px solid var(--gold);
  border-left: 0;
  color: var(--paper);
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}

.home-hero__rail span + span::before {
  margin: 0 .85rem;
  color: var(--gold);
  content: '—';
}

.home-hero__mark {
  width: clamp(8.5rem, 12vw, 11rem);
  margin-bottom: clamp(1.5rem, 1rem + 1.5vw, 3rem);
}

.home-hero h1 {
  max-width: 11ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(3.5rem, 6vw, 6.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .88;
  text-wrap: balance;
}

.home-hero__lede {
  max-width: 52ch;
  margin: var(--space-3) 0;
  color: color-mix(in srgb, var(--paper) 84%, var(--stone));
  font-size: clamp(1.05rem, .95rem + .45vw, 1.35rem);
}

.event-details {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
}

.event-details div {
  min-width: min(100%, 15rem);
  padding-right: var(--space-2);
  border-right: 1px solid var(--line);
}

.event-details dt {
  margin-bottom: .25rem;
  color: var(--stone);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.event-details dd {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.2rem;
}

.editorial-split,
.chapter-spread {
  display: grid;
  grid-template-columns: minmax(8rem, .35fr) minmax(0, 1.65fr);
  gap: var(--space-3);
}

.chapter-spread {
  position: relative;
  padding-top: var(--space-2);
  border-top: 1px solid #a59d90;
}

.chapter-spread::after {
  position: absolute;
  top: -1px;
  left: 0;
  width: clamp(3rem, 8vw, 7rem);
  height: 2px;
  background: var(--gold-deep);
  content: '';
}

.chapter-spread__folio { align-self: start; margin-top: .7rem; }

.section-index {
  margin: .6rem 0 0;
  color: #665f55;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.positioning h2 {
  max-width: 21ch;
  font-size: clamp(2.4rem, 1.8rem + 3vw, 5.2rem);
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
}

.metrics-section {
  background:
    radial-gradient(circle at 15% 15%, rgb(197 151 49 / .11), transparent 24rem),
    var(--ink);
}

.metric {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  padding: clamp(1.5rem, 1rem + 2vw, 3rem) var(--space-2) 0;
  border-right: 1px solid var(--line);
}

.metric:nth-child(even) { padding-top: clamp(1.5rem, 1rem + 2vw, 3rem); }

.metric:last-child { border-right: 0; }

.metric__value {
  margin: 0 0 clamp(2.5rem, 2rem + 3vw, 5rem);
  color: var(--gold);
  font-family: var(--serif);
  font-size: clamp(3.2rem, 4.7vw, 5.6rem);
  line-height: 1;
}

.metric h3,
.theme-card h3,
.experience-card h3,
.audience-grid h3 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
}

.metric > p:last-child,
.theme-card > p:last-child,
.experience-card p {
  color: var(--stone);
}

.metric h3 { font-size: 1.25rem; }
.metric > p:last-child { margin: .65rem 0 0; font-size: .9rem; }

.proof-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-2);
}

.media-frame { margin: 0; }

.media-frame img {
  width: 100%;
  height: auto;
  background: var(--graphite);
  object-fit: contain;
}

.media-frame figcaption {
  margin-top: .75rem;
  color: #665f55;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.media-frame--landscape {
  display: grid;
  grid-column: 1 / span 7;
  grid-row: 1 / span 2;
  grid-template-rows: minmax(0, 1fr) auto;
  align-self: stretch;
}

.media-frame--landscape img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.media-frame--inset { grid-column: 9 / -1; width: 100%; margin: var(--space-4) 0 0; }

.proof-copy { grid-column: 8 / -1; align-self: end; padding-left: var(--space-2); }
.proof-copy .folio { margin-bottom: var(--space-2); }
.proof-copy h2 { max-width: 10ch; }
.proof-copy > p:not(.eyebrow) { max-width: 48ch; margin: var(--space-2) 0; }
.proof-copy blockquote {
  margin: var(--space-3) 0 0;
  padding-top: var(--space-2);
  border-top: 1px solid var(--line);
  font-family: var(--serif);
  font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem);
  line-height: 1.25;
}

.themes-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.themes-section > .shell > .folio,
.protagonists-section > .shell > .folio,
.experience-section > .shell > .folio { margin-bottom: var(--space-3); }

.section--dark .folio,
.section--graphite .folio,
.final-cta .folio { color: var(--gold); }

.section--dark .folio span:first-child,
.section--graphite .folio span:first-child,
.final-cta .folio span:first-child { color: var(--gold); }

.theme-index { counter-reset: theme; }

.theme-card {
  position: relative;
  min-height: 17rem;
  padding: var(--space-2);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.theme-card::after {
  position: absolute;
  right: var(--space-2);
  bottom: var(--space-2);
  width: 2rem;
  height: 1px;
  background: var(--line-gold);
  content: '';
  transition: width .25s ease;
}

.theme-card:hover { background: rgb(244 240 232 / .035); }
.theme-card:hover::after { width: calc(100% - (2 * var(--space-2))); }

.theme-card__number { margin: 0 0 var(--space-3); color: var(--gold); font-size: .72rem; }
.theme-card h3 { max-width: 16ch; font-size: clamp(1.35rem, 1.1rem + .65vw, 1.85rem); }
.theme-card > p:last-child { max-width: 34ch; margin: .85rem 0 0; font-size: .9rem; }

.gains-grid {
  display: grid;
  grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 2rem + 6vw, 9rem);
}

.sticky-heading { align-self: start; }
.sticky-heading .folio { margin-bottom: var(--space-3); }
.sticky-heading h2 { max-width: 10ch; }

.benefit-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.benefit-list li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  gap: var(--space-2);
  padding-block: var(--space-2);
  border-bottom: 1px solid var(--line);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1rem + .8vw, 1.8rem);
}
.benefit-list li::after { color: var(--gold-deep); content: '↗'; font: 400 1rem var(--sans); }
.benefit-list span { padding-top: .3rem; color: #665f55; font: 700 .7rem var(--sans); }

.protagonists-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  align-items: start;
  gap: var(--space-3);
}
.section--dark .media-frame figcaption,
.section--graphite .media-frame figcaption { color: var(--stone); }

.protagonists-callout {
  align-self: end;
  padding: var(--space-2) 0;
  border-top: 1px solid var(--gold);
}
.protagonists-callout p { max-width: 28ch; margin: 0; color: var(--stone); font-family: var(--serif); font-size: clamp(1.2rem, 1rem + .7vw, 1.7rem); }
.protagonists-callout .button { margin-top: var(--space-2); }

.audience-section h2 { max-width: 12ch; }
.audience-section > .shell > .folio { margin-bottom: var(--space-2); }
.audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: clamp(3rem, 2rem + 4vw, 7rem); border-top: 1px solid #a59d90; }
.audience-grid article { display: grid; min-height: 8rem; grid-template-columns: 3.5rem minmax(0, 1fr); align-items: center; gap: var(--space-2); padding: var(--space-2); border-right: 1px solid #a59d90; border-bottom: 1px solid #a59d90; }
.audience-grid article:nth-child(even) { border-right: 0; }
.audience-grid span { display: block; color: #665f55; font-size: .72rem; }
.audience-grid h3 { max-width: 19ch; font-size: clamp(1.25rem, 1rem + .7vw, 1.7rem); line-height: 1.15; }
.audience-note { max-width: 56ch; margin: var(--space-3) 0 0 auto; font-family: var(--serif); font-size: clamp(1.35rem, 1.1rem + .8vw, 1.8rem); }

.experience-intro { display: grid; grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr); align-items: end; gap: var(--space-3); }
.experience-intro h2 { max-width: 10ch; }
.experience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--space-4); border-top: 1px solid var(--line); }
.experience-card { min-height: 14rem; padding: var(--space-2); border-right: 1px solid var(--line); }
.experience-card:last-child { border-right: 0; }
.experience-card h3 { font-size: 1.35rem; }
.experience-card p { margin: .8rem 0 0; font-size: .9rem; }
.experience-gallery { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-2); margin-top: var(--space-4); }

.allocation-section { background: var(--paper-soft); }
.allocation-section .eyebrow { margin-top: var(--space-3); color: var(--ink); }
.allocation-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(17rem, .8fr); align-items: end; gap: var(--space-3); padding-block: var(--space-3); border-top: 1px solid #8b8275; border-bottom: 1px solid #8b8275; }
.allocation-grid h2 { max-width: 11ch; }
.allocation-grid > div:last-child { max-width: 38rem; }
.allocation-grid > div:last-child p { margin: 0 0 var(--space-2); font-size: 1.15rem; }
.allocation-facts { margin: 0 0 var(--space-3); border-top: 1px solid #a59d90; }
.allocation-facts div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: var(--space-1); padding-block: .8rem; border-bottom: 1px solid #a59d90; }
.allocation-facts dt { color: #665f55; font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.allocation-facts dd { margin: 0; font-family: var(--serif); }
.allocation-section .button--secondary { border-color: var(--ink); color: var(--ink); }
.allocation-section .button--secondary:hover { background: var(--ink); color: var(--paper); }
.allocation-section .button--secondary:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper); }

.final-cta {
  position: relative;
  background:
    radial-gradient(circle at 80% 20%, rgb(197 151 49 / .18), transparent 34%),
    var(--ink);
  color: var(--paper);
}
.final-cta__inner { text-align: center; }
.final-cta__folio { margin-bottom: var(--space-3); }
.final-cta .eyebrow { color: var(--gold); }
.final-cta h2 { max-width: 15ch; margin-inline: auto; }
.final-cta__inner > p:not(.eyebrow) { max-width: 44ch; margin: var(--space-2) auto var(--space-3); color: var(--stone); }

.page-section { padding-block: clamp(4rem, 3rem + 4vw, 8rem); overflow: clip; }
.page-section:not(.section--dark):not(.section--graphite):not(.about-cta) .eyebrow { color: #75571c; }
.page-section > .shell > .folio { margin-bottom: clamp(2rem, 1.5rem + 2vw, 4rem); }
.page-hero {
  padding-block: clamp(7rem, 5rem + 8vw, 13rem);
  background:
    radial-gradient(circle at 78% 34%, rgb(197 151 49 / .14), transparent 27rem),
    linear-gradient(120deg, var(--ink), var(--ink-raised));
  color: var(--paper);
}
.page-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 calc(50% - 1px), rgb(244 240 232 / .055) 50%, transparent calc(50% + 1px)),
    linear-gradient(0deg, transparent 0 calc(50% - 1px), rgb(244 240 232 / .04) 50%, transparent calc(50% + 1px));
  content: '';
  pointer-events: none;
}
.page-hero > .shell { max-width: min(100% - 2rem, 60rem); margin-left: max(1rem, calc((100% - 76rem) / 2)); }
.page-hero h1 { max-width: 12ch; margin: 0; font-family: var(--serif); font-size: clamp(3.6rem, 2.2rem + 5vw, 7rem); font-weight: 400; letter-spacing: -.05em; line-height: .9; text-wrap: balance; }
.page-hero > .shell > p:last-child { max-width: 55ch; margin: var(--space-3) 0 0; color: color-mix(in srgb, var(--paper) 72%, var(--stone)); font-size: clamp(1.05rem, .95rem + .45vw, 1.3rem); }
.about-introduction h2, .values-section h2, .services-section h2, .vision-section h2, .contact-section h2, .contact-links-section h2, .about-cta h2, .faq-section h2, .legal-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.3rem, 1.7rem + 2.8vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.about-introduction p:last-child { max-width: 56ch; margin: var(--space-2) 0 0; }
.values-grid, .services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.value-card, .service-card { position: relative; min-width: 0; min-height: 15rem; padding: var(--space-2); overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-card::after, .service-card::after { position: absolute; right: var(--space-2); bottom: var(--space-2); width: 2.25rem; height: 1px; background: var(--line-gold); content: ''; }
.value-card h3, .service-card h3 { position: relative; margin: var(--space-4) 0 0; font-family: var(--serif); font-size: clamp(1.35rem, 1.1rem + .7vw, 2rem); font-weight: 500; }
.value-card > p:last-child { position: relative; max-width: 27ch; margin: .75rem 0 0; color: var(--stone); font-size: .9rem; }
.value-card__number, .service-card__number { margin: 0; color: var(--gold); font-family: var(--serif); font-size: clamp(2.8rem, 2rem + 2.5vw, 4.5rem); letter-spacing: -.06em; line-height: .75; }
.services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-card:last-child { grid-column: 1 / -1; min-height: 11rem; }
.vision-grid, .contact-grid, .concierge-grid, .contact-links-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 2rem + 5vw, 8rem); }
.vision-grid { grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); align-items: end; padding: clamp(2rem, 2rem + 3vw, 5rem); border: 1px solid #a59d90; background: color-mix(in srgb, var(--white) 24%, transparent); }
.vision-grid article:last-child { padding-top: var(--space-4); border-top: 1px solid #a59d90; }
.vision-grid article:last-child > p:last-child { max-width: 40ch; margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 1.2rem + 1vw, 2.2rem); line-height: 1.2; }
.about-cta { position: relative; background: var(--gold); }
.about-cta::before { position: absolute; inset: 1rem; border: 1px solid rgb(13 13 14 / .25); content: ''; pointer-events: none; }
.about-cta__folio { justify-content: center; color: var(--ink); }
.about-cta__folio span:first-child { border-color: rgb(13 13 14 / .45); color: var(--ink); }
.about-cta .eyebrow { color: var(--ink); }
.about-cta__inner { text-align: center; }
.about-cta h2 { max-width: 15ch; margin-inline: auto; }
.about-cta__inner > p:not(.eyebrow) { margin: var(--space-2) auto var(--space-3); }
.about-cta .button--primary:hover { background: var(--ink); color: var(--paper); }
.about-cta .button--primary:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper); }
.concierge-grid { align-items: start; padding-top: var(--space-3); border-top: 1px solid #a59d90; }
.contact-email { display: inline-flex; max-width: 100%; min-width: 44px; min-height: 44px; align-items: center; margin-top: var(--space-2); padding-block: .35rem; font-family: var(--serif); font-size: clamp(1.5rem, 1.2rem + 1vw, 2.5rem); overflow-wrap: anywhere; }
.contact-section .contact-email:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper); }
.contact-facts { margin: 0; padding: var(--space-2); border: 1px solid #a59d90; background: color-mix(in srgb, var(--white) 35%, transparent); }
.contact-facts div { padding: var(--space-1) 0; border-bottom: 1px solid #a59d90; }
.contact-facts div:last-child { border-bottom: 0; }
.contact-facts dt { color: #665f55; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-facts dd { margin: .25rem 0 0; font-family: var(--serif); font-size: 1.2rem; }
.contact-links-grid { padding-top: var(--space-3); border-top: 1px solid var(--line); }
.contact-links-section a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; padding-block: .35rem; color: var(--paper); }
.contact-links-section a:focus-visible { outline-offset: 3px; }
.contact-links-section ul { display: flex; flex-wrap: wrap; gap: .8rem; margin: var(--space-1) 0 0; padding: 0; list-style: none; }
.legal-layout { display: grid; grid-template-columns: minmax(13rem, .34fr) minmax(0, 1fr); align-items: start; gap: clamp(2rem, 4vw, 5rem); }
.legal-toc { position: sticky; top: 7rem; padding: var(--space-2); border: 1px solid #a59d90; }
.legal-toc p { margin: 0 0 var(--space-1); color: var(--gold-deep); font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.legal-toc ol { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; counter-reset: legal-index; }
.legal-toc li { counter-increment: legal-index; }
.legal-toc a { display: grid; min-height: 44px; grid-template-columns: 2rem minmax(0, 1fr); align-items: center; gap: .5rem; padding-block: .35rem; color: #544d44; font-size: .78rem; line-height: 1.35; text-decoration: none; }
.legal-toc a::before { color: var(--gold-deep); content: counter(legal-index, decimal-leading-zero); font-family: var(--serif); }
.legal-copy { min-width: 0; max-width: 70rem; padding-left: clamp(1.5rem, 1rem + 3vw, 4rem); border-left: 1px solid #a59d90; }
.legal-copy__folio { margin-bottom: var(--space-4); }
.legal-copy__intro { max-width: 62ch; margin-bottom: var(--space-4); font-family: var(--serif); font-size: clamp(1.25rem, 1rem + .7vw, 1.65rem); line-height: 1.55; }
.legal-copy__updated { margin: 0 0 var(--space-2); color: #665f55; font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.legal-article { scroll-margin-top: 7rem; padding: var(--space-3) 0; border-top: 1px solid #a59d90; }
.legal-article .section-index { margin: 0 0 .75rem; color: var(--gold-deep); }
.legal-copy h2 { font-size: clamp(2rem, 1.6rem + 1.8vw, 3.5rem); }
.legal-copy p { max-width: 62ch; font-size: 1.05rem; line-height: 1.8; }
.legal-copy ul { display: grid; max-width: 62ch; gap: .65rem; padding-left: 1.25rem; }
.legal-copy li { padding-left: .4rem; line-height: 1.65; }
.legal-copy a { display: inline-flex; min-height: 44px; align-items: center; overflow-wrap: anywhere; }
.legal-section .legal-copy a:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper); }
.faq-section .accordion button:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper); }

.directory-hero { min-height: clamp(30rem, 72vh, 47rem); align-content: end; overflow: hidden; }
.directory-hero::after { position: absolute; z-index: 0; right: max(1rem, calc((100% - 76rem) / 2)); bottom: 0; width: min(36vw, 28rem); height: 42%; border-top: 1px solid var(--line-gold); border-left: 1px solid var(--line-gold); content: ''; opacity: .75; pointer-events: none; }
.directory-hero .page-hero__inner { position: relative; z-index: 1; }
.directory-facts { padding-block: var(--space-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.directory-facts .event-details { margin: 0; }
.panel-programme { background: linear-gradient(135deg, var(--graphite), var(--ink-raised)); }
.panel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.panel-card { position: relative; min-width: 0; min-height: 21rem; scroll-margin-top: 6rem; padding: var(--space-3) var(--space-2); overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.panel-card::after { position: absolute; right: 0; bottom: 0; width: 4rem; height: 4rem; border-top: 1px solid var(--line-gold); border-left: 1px solid var(--line-gold); content: ''; opacity: .55; pointer-events: none; }
.panel-card .section-index { margin-top: 0; color: var(--gold); }
.panel-card h3 { margin: var(--space-2) 0 0; font-family: var(--serif); font-size: clamp(1.45rem, 1.15rem + .9vw, 2.25rem); font-weight: 500; line-height: 1.15; }
.panel-card > p:last-child:not(.section-index) { margin: var(--space-3) 0 0; color: var(--stone); font-size: .82rem; line-height: 1.65; }
.speaker-directory-section { background: var(--graphite); color: var(--paper); }
#speaker-directory-title { scroll-margin-top: 6.5rem; }
.speaker-directory-section .section-heading h2 { color: var(--paper); }
.speaker-directory-section .section-heading > p { color: var(--stone); }
.speaker-filter { z-index: 4; display: grid; grid-template-columns: repeat(2, minmax(12rem, 1fr)) auto; align-items: end; gap: var(--space-1); padding: var(--space-2); border: 1px solid #4d483f; background: rgb(24 25 29 / .96); box-shadow: 0 1.25rem 3rem rgb(0 0 0 / .22); }
.speaker-filter label { color: var(--stone); }
.speaker-filter select, .speaker-filter button { min-height: 44px; }
.speaker-filter select { padding: .7rem .8rem; border: 1px solid #5e584d; border-radius: 0; background: var(--ink-raised); color: var(--paper); }
.speaker-filter__reset, .speaker-empty button { padding: .65rem 1rem; border: 1px solid var(--gold); border-radius: 0; background: transparent; color: var(--gold); cursor: pointer; font-size: .75rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.speaker-filter__reset:hover, .speaker-empty button:hover { background: var(--gold); color: var(--ink); }
.speaker-filter select:focus-visible, .speaker-filter button:focus-visible, .speaker-empty button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.speaker-results { margin: var(--space-2) 0; color: var(--stone); font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.speaker-empty { padding: var(--space-3); border: 1px solid #5e584d; text-align: center; }
.speaker-empty[hidden], [data-speaker-card][hidden] { display: none; }
.speaker-empty h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 1.25rem + .8vw, 2.2rem); font-weight: 500; }
.speaker-empty p { margin: .65rem auto var(--space-2); color: var(--stone); }
.speaker-empty button { min-height: 44px; }
.speaker-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.speaker-card { min-width: 0; border: 1px solid #4d483f; background: var(--ink-raised); color: var(--paper); box-shadow: 0 1.5rem 3rem rgb(0 0 0 / .14); }
.speaker-card__portrait { position: relative; display: grid; align-content: center; justify-items: center; overflow: hidden; padding: 2rem var(--space-1) .75rem; background: radial-gradient(circle at 50% 48%, rgb(197 151 49 / .14), transparent 47%), var(--ink-raised); }
.speaker-card__portrait::after { position: absolute; inset: 0; border: 1px solid rgb(197 151 49 / .2); content: ''; pointer-events: none; }
.speaker-card__headshot { position: relative; z-index: 1; width: clamp(7.5rem, 10vw, 9rem); aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line-gold); border-radius: 50%; background: var(--graphite); box-shadow: 0 1.25rem 2.5rem rgb(0 0 0 / .28), 0 0 0 .4rem rgb(197 151 49 / .06); }
.speaker-card__headshot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: grayscale(.12) saturate(.82) contrast(1.03); transition: filter .3s ease, transform .3s ease; }
.speaker-card:hover .speaker-card__headshot img { filter: grayscale(0) saturate(1) contrast(1); transform: scale(1.025); }
.speaker-card__content { display: flex; min-height: 13rem; flex-direction: column; padding: .75rem 1.25rem 1.35rem; overflow-wrap: anywhere; text-align: center; }
.speaker-card__identity { padding-top: .25rem; }
.speaker-card h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 1.15rem + .45vw, 1.7rem); font-weight: 500; letter-spacing: -.015em; line-height: 1.08; }
.speaker-card__role { margin: .7rem 0 0; color: var(--stone); font-size: .78rem; font-weight: 500; line-height: 1.45; }
.speaker-card__aliases { margin: .45rem 0 0; color: var(--stone); font-size: .76rem; font-style: italic; }
.speaker-card__organization { margin: .7rem 0 0; color: var(--gold); font-size: .7rem; font-weight: 750; letter-spacing: .1em; line-height: 1.55; text-transform: uppercase; }
.speaker-card__meta { margin-top: auto; padding-top: 1rem; border-top: 1px solid #4d483f; }
.speaker-card__categories { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .65rem; }
.speaker-card__categories span { color: var(--stone); font-size: .63rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.speaker-card__categories span::before { margin-right: .35rem; color: var(--gold); content: '•'; }
.speaker-card__panels { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: .45rem 0 0; padding: 0; list-style: none; }
.speaker-card__panels a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--gold); font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.partner-section h2 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 1.5rem + 2vw, 4rem); font-weight: 500; }
.partner-section a { display: inline-flex; min-width: 44px; min-height: 44px; margin-top: var(--space-3); align-items: center; padding: var(--space-1); border: 1px solid var(--line); background: var(--paper); }
.partner-section img { width: 12rem; height: auto; }

.family-office-introduction h2,
.family-office-access h2,
.family-office-principles h2,
.insights-library .section-heading h2,
.news-library .section-heading h2,
.article-related h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.3rem, 1.7rem + 2.8vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .98;
}

.family-office-introduction p:last-child { max-width: 60ch; }
.mandate-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.mandate-ledger__item { display: grid; min-width: 0; min-height: 14rem; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-2); padding: var(--space-2); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mandate-ledger__item--governance, .mandate-ledger__item--regional { min-height: 11rem; grid-column: 1 / -1; background: rgb(197 151 49 / .07); }
.mandate-ledger__number { margin: 0; color: var(--gold); font-family: var(--serif); font-size: 1.3rem; }
.mandate-ledger__item h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.4rem, 1.15rem + .75vw, 2rem); font-weight: 500; line-height: 1.12; }
.mandate-ledger__item > div > p { max-width: 42ch; margin: .8rem 0 0; color: var(--stone); font-size: .9rem; }
.family-office-access { background: var(--gold); }
.family-office-access .eyebrow { color: var(--ink); }
.page-section.family-office-access > .shell > .folio { color: var(--ink); }
.page-section.family-office-access > .shell > .folio span:first-child { color: var(--ink); }
.page-section.family-office-access > .shell > .access-grid .eyebrow { color: var(--ink); }
.access-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, .8fr); align-items: start; gap: var(--space-4); }
.access-grid > div:last-child > p { margin-top: 0; }
.family-office-access .event-details { margin-block: var(--space-2); }
.family-office-access .event-details div { border-color: color-mix(in srgb, var(--ink) 30%, transparent); }
.family-office-access .event-details dt { color: color-mix(in srgb, var(--ink) 72%, transparent); }
.family-office-access .button--primary { background: var(--ink); color: var(--paper); }
.family-office-access .button--primary:hover { background: transparent; color: var(--ink); }
.family-office-access .button--primary:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper); }

.insights-library { background: var(--paper); }
.news-library { background: color-mix(in srgb, var(--paper) 94%, var(--stone)); }
.insights-grid,
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #8b8275; border-left: 1px solid #8b8275; }
.insight-card,
.news-card { position: relative; min-width: 0; border-right: 1px solid #8b8275; border-bottom: 1px solid #8b8275; background: color-mix(in srgb, var(--white) 20%, transparent); }
.editorial-card__media { display: grid; min-height: 11rem; place-items: center; overflow: hidden; border-bottom: 1px solid #8b8275; background: linear-gradient(140deg, var(--ink), var(--graphite)); color: var(--stone); }
.editorial-card__media img { width: 100%; height: auto; }
.editorial-placeholder { max-width: 13ch; padding: var(--space-2); color: var(--gold); font-family: var(--serif); font-size: clamp(1.4rem, 1.1rem + 1vw, 2.35rem); font-style: italic; line-height: 1.05; text-align: center; }
.editorial-card__content { display: flex; min-height: 21rem; align-items: flex-start; flex-direction: column; padding: var(--space-3) var(--space-2); overflow-wrap: anywhere; }
.editorial-card__issue { display: grid; width: 100%; grid-template-columns: 3rem minmax(0, 1fr); align-items: center; gap: var(--space-1); margin: 0 0 var(--space-2); padding-bottom: var(--space-1); border-bottom: 1px solid #a59d90; color: #75571c; font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.editorial-card__issue span:first-child { color: #75571c; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; letter-spacing: -.04em; }
.editorial-card__content h2 { margin: var(--space-2) 0 0; font-family: var(--serif); font-size: clamp(1.65rem, 1.25rem + 1vw, 2.5rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.08; }
.editorial-card__content > p:not(.editorial-meta):not(.editorial-status) { margin: .8rem 0; color: #665f55; font-size: .9rem; }
.editorial-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: 0; color: #665f55; font-size: .7rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.editorial-link,
.editorial-status { margin: auto 0 0; padding-top: var(--space-2); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.editorial-link { display: inline-flex; min-height: 44px; align-items: center; color: #66501e; }
.editorial-status { color: #665f55; }

.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-bottom: var(--space-3); color: var(--stone); font-size: .8rem; }
.breadcrumb a { display: inline-flex; min-height: 44px; align-items: center; color: var(--paper); }
.article-header h1 { max-width: 18ch; margin: 0; font-family: var(--serif); font-size: clamp(3rem, 2rem + 4vw, 6rem); font-weight: 400; letter-spacing: -.045em; line-height: .95; }
.article-header time { display: block; margin-top: var(--space-2); color: var(--stone); }
.article-hero-image { width: min(100% - 2rem, 76rem); margin: var(--space-4) auto 0; }
.article-hero-image img { width: 100%; height: auto; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .35fr); gap: var(--space-4); }
.article-copy { max-width: 68ch; font-family: var(--serif); font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem); line-height: 1.75; }
.article-copy p:first-child { margin-top: 0; font-size: 1.15em; }
.article-related { padding-top: var(--space-2); border-top: 1px solid #a59d90; }
.article-related h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.4rem); }
.article-related ul { margin: var(--space-2) 0 0; padding: 0; list-style: none; }
.article-related li { border-top: 1px solid #b8b0a4; }
.article-related a { display: inline-flex; min-height: 44px; align-items: center; padding-block: .7rem; }

.gallery-section .section-heading h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.3rem, 1.7rem + 2.8vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .98;
}
.gallery-section { overflow: clip; background: var(--paper); }
.gallery-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: clamp(2rem, 3vw, 4rem) var(--space-2); }
.gallery-item { min-width: 0; grid-column: span 4; margin: 0; }
.gallery-item--feature { grid-column: span 8; }
.gallery-item--offset { margin-top: clamp(2rem, 5vw, 5rem); }
.gallery-card [data-gallery-trigger] { display: block; width: 100%; padding: 0; overflow: hidden; border: 0; background: var(--graphite); color: inherit; cursor: zoom-in; }
.gallery-card [data-gallery-trigger]:focus-visible { outline: 4px solid var(--gold); outline-offset: 4px; }
.gallery-card img { display: block; width: 100%; height: auto; filter: saturate(.72) contrast(1.04); transition: filter .3s ease, opacity .3s ease; }
.gallery-card [data-gallery-trigger]:hover img { filter: saturate(1) contrast(1); opacity: .94; }
.gallery-card figcaption { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-1); margin-top: var(--space-1); padding-top: var(--space-1); border-top: 1px solid #a59d90; color: #665f55; font-size: .86rem; line-height: 1.5; }
.gallery-item__folio { color: #75571c; font-family: var(--serif); font-size: 1.05rem; }

@media (min-width: 900px) {
  .sticky-heading { position: sticky; top: 8rem; }
  .speaker-filter { position: sticky; top: 6.25rem; }
}

@media (max-width: 899px) {
  .section-heading,
  .proof-grid,
  .gains-grid,
  .protagonists-layout,
  .experience-intro,
  .allocation-grid { grid-template-columns: 1fr; }

  .vision-grid,
  .contact-grid,
  .concierge-grid,
  .contact-links-grid,
  .access-grid,
  .article-layout { grid-template-columns: 1fr; }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-toc { position: static; max-height: 20rem; overflow: auto; }

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

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

  .panel-grid { grid-template-columns: 1fr; }
  .panel-card { min-height: auto; }
  .speaker-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .speaker-filter__reset { width: 100%; }
  .speaker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .family-office-grid,
  .mandate-ledger,
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-item { grid-column: span 1; }
  .gallery-item--feature { grid-column: span 2; }

  .metric:nth-child(2) { border-right: 0; }
  .metric:nth-child(-n + 2) { padding-bottom: var(--space-2); border-bottom: 1px solid var(--line); }
  .proof-copy { grid-row: 1; }
  .proof-copy,
  .media-frame--landscape,
  .media-frame--inset { grid-column: auto; }
  .proof-copy { padding-left: 0; }
  .media-frame--landscape { display: block; grid-row: auto; }
  .media-frame--landscape img { height: auto; object-fit: contain; }
  .media-frame--inset { margin: 0; }
  .experience-card:nth-child(2) { border-right: 0; }
  .experience-card:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 640px) {
  .home-hero { min-height: calc(100svh - 5.25rem); }
  .js .home-hero { min-height: 100svh; }
  .home-hero::after { background: linear-gradient(0deg, rgb(13 13 14 / .96) 4%, rgb(13 13 14 / .65) 78%, rgb(13 13 14 / .4)); }
  .home-hero__media img { object-position: 67% center; }
  .home-hero__content { padding-block: 7.75rem 1.5rem; }
  .home-hero__edition { top: 40%; right: -.45rem; font-size: clamp(12rem, 68vw, 17rem); opacity: .7; }
  .home-hero__rail { top: 5.85rem; right: 1rem; bottom: auto; left: 1rem; justify-content: flex-end; padding: .65rem 0 0; border-top: 1px solid var(--gold); border-left: 0; writing-mode: horizontal-tb; }
  .home-hero__rail span + span::before { margin: 0 .65rem; }
  .home-hero h1 { font-size: clamp(2.65rem, 12vw, 3.8rem); }
  .home-hero__lede { margin-block: var(--space-2); font-size: .94rem; line-height: 1.4; }
  .home-hero__mark { width: 5rem; margin-bottom: .75rem; }
  .event-details dd { font-size: 1.05rem; }
  .event-details { display: grid; gap: var(--space-1); }
  .event-details div { padding: 0 0 var(--space-1); border-right: 0; border-bottom: 1px solid var(--line); }
  .editorial-split,
  .chapter-spread { grid-template-columns: 1fr; }
  .metrics-grid,
  .themes-grid,
  .audience-grid,
  .experience-grid,
  .experience-gallery { grid-template-columns: 1fr; }
  .values-grid,
  .services-grid { grid-template-columns: 1fr; }
  .service-card:last-child { grid-column: auto; }
  .vision-grid { grid-template-columns: 1fr; padding: var(--space-2); }
  .speaker-filter { grid-template-columns: 1fr; }
  .speaker-grid { grid-template-columns: 1fr; }
  .family-office-grid,
  .mandate-ledger,
  .insights-grid,
  .news-grid,
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item,
  .gallery-item--feature { grid-column: auto; }
  .gallery-item--offset { margin-top: 0; }
  .mandate-ledger__item { min-height: auto; }
  .speaker-filter__reset { width: 100%; }
  .metric,
  .metric:nth-child(even) { padding-block: var(--space-2); border-right: 0; border-bottom: 1px solid var(--line); }
  .metric:last-child { border-bottom: 0; }
  .metric__value { margin-bottom: var(--space-2); }
  .theme-card { min-height: auto; }
  .theme-card__number { margin-bottom: var(--space-2); }
  .audience-grid article { min-height: auto; grid-template-columns: 2rem minmax(0, 1fr); }
  .allocation-facts div { grid-template-columns: 5rem minmax(0, 1fr); }
  .experience-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .experience-card:last-child { border-bottom: 0; }
}

@media (max-width: 360px) {
  .home-hero__rail { top: 5.5rem; flex-wrap: nowrap; gap: .25rem; padding: .4rem 0 0; font-size: .56rem; letter-spacing: .1em; white-space: nowrap; }
  .home-hero__rail span { flex: 0 0 auto; }
  .home-hero__rail span + span::before { margin: 0 .25rem; }
}

@keyframes home-hero-drift {
  from { transform: scale(1.015); }
  to { transform: scale(1.045); }
}

@media (prefers-reduced-motion: no-preference) {
  .home-hero__media img { animation: home-hero-drift 24s ease-in-out infinite alternate; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__video { display: none; }
  .home-hero__edition,
  .home-hero__media img,
  [data-home-section] [data-scene],
  [data-home-section] [data-reveal] { animation: none; opacity: 1; transform: none; transition: none; }
}
