.home-page {
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 78% 8%, rgba(129, 140, 248, 0.12), transparent 23rem),
    radial-gradient(circle at 20% 62%, rgba(17, 28, 68, 0.48), transparent 27rem),
    var(--color-ocean-black);
}

.home-page::before,
.home-page::after {
  position: absolute;
  z-index: 0;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: rgba(129, 140, 248, 0.08);
  filter: blur(70px);
  content: "";
  pointer-events: none;
}

.home-page::before { top: 4rem; right: -10rem; }
.home-page::after { top: 62%; left: -13rem; }
.home-page > section { position: relative; z-index: 1; }

.home-hero { padding-block: clamp(4rem, 9vw, 8rem) var(--space-16); }
.home-hero__grid { display: grid; grid-template-columns: 180px minmax(0, 6fr) minmax(260px, 4fr); gap: var(--grid-gap); align-items: start; }
.home-hero__rail, .home-hero__copy, .home-hero__fragments { min-width: 0; width: 100%; }
.home-hero__rail { grid-column: 1; padding: var(--space-4); }
.home-hero__rail-list { display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; }
.home-hero__rail-list li { min-width: 0; }
.home-hero__rail-list a { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr); gap: var(--space-2); font-size: var(--text-meta); line-height: 1.35; }
.home-hero__rail-list span { color: var(--color-indigo-neon); font-family: var(--font-heading); font-variant-numeric: tabular-nums; }
.home-hero__rail-link { display: inline-block; margin-top: var(--space-4); font-size: var(--text-meta); font-weight: 600; }
.home-hero__copy { grid-column: 2; padding-top: var(--space-3); }
.home-hero__copy .display { max-width: 9.5ch; }
.home-hero__copy .display em { font-family: var(--font-editorial); font-weight: 400; }
.home-hero__deck { max-width: 38rem; font-size: var(--text-body-large); }
.home-hero__offline { max-width: 38rem; margin-bottom: var(--space-6); padding-left: var(--space-3); border-left: 1px solid var(--color-indigo-neon); color: var(--color-frost-text); }
.home-hero__offline span { display: block; margin-bottom: var(--space-2); color: var(--color-indigo-neon); font-size: var(--text-label); font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.home-hero__fragments { position: relative; grid-column: 3; min-height: 31rem; }
.home-hero__fragment { position: absolute; width: 100%; margin: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-feature); box-shadow: var(--shadow-panel); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.home-hero__fragment img { width: 100%; height: 100%; object-fit: cover; }
.home-hero__fragment:hover { border-color: var(--color-indigo-neon); transform: translateY(-2px); }
.home-hero__fragment--lead { top: 0; right: 0; aspect-ratio: 3 / 2; }
.home-hero__fragment--lead::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,7,18,.55), transparent 65%); content: ""; }
.home-hero__fragment--portrait { right: 9%; bottom: 1.5rem; width: 46%; aspect-ratio: 4 / 5; transform: rotate(3deg); }
.home-hero__fragment--square { bottom: -1rem; left: -8%; width: 35%; aspect-ratio: 1; transform: rotate(-3deg); }

.home-journal__intro { width: min(100%, 35rem); }
.home-journal__rows { display: flex; flex-direction: column; gap: 0; border-top: var(--border-subtle); }
.home-journal__row { display: grid; grid-template-columns: minmax(5rem, 2fr) minmax(11rem, 4fr) minmax(16rem, 5fr) minmax(6rem, 1fr); gap: var(--space-4); align-items: center; min-width: 0; padding: var(--space-6) 0; border-bottom: var(--border-subtle); transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.home-journal__row > * { min-width: 0; }
.home-journal__row:hover { border-color: var(--color-indigo-neon); }
.home-journal__row--trace { border-left: 1px solid var(--color-indigo-neon); padding-left: var(--space-3); }
.home-journal__title h3 { margin: 0; }
.home-journal__teaser { max-width: 28rem; margin: 0; }
.home-journal__row--reverse .home-journal__teaser { max-width: 22rem; }
.home-journal__action { justify-self: end; font-size: var(--text-meta); font-weight: 600; white-space: nowrap; }
.home-journal__pull { margin: 0 0 var(--space-2); color: var(--color-frost-text); font-family: var(--font-editorial); }

.home-discoveries__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
.home-discoveries__intro { grid-column: 1 / span 5; min-width: 0; max-width: 32.5rem; }
.home-discoveries__feature { display: grid; grid-column: 1 / span 7; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-top: var(--space-8); }
.home-discoveries__number { color: var(--color-indigo-neon); font-family: var(--font-heading); font-size: 2rem; font-weight: 700; }
.home-discoveries__feature > div { min-width: 0; max-width: 38rem; }
.home-discoveries__support { max-width: 31rem; }
.home-discoveries__note { grid-column: 8 / span 5; min-width: 0; margin-top: var(--space-12); }
.home-discoveries__note p:last-child { max-width: 23rem; margin-bottom: 0; color: var(--color-frost-text); font-family: var(--font-editorial); font-size: 1.3rem; }

.home-moments__lead { width: min(100%, 40rem); margin-inline: auto; text-align: center; }
.home-moments__lead p { margin-inline: auto; }
.home-moments__lead span { border-bottom: 1px solid var(--color-indigo-neon); color: var(--color-frost-text); }
.home-moments__list { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-12); }
.home-moments__item { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: var(--space-4); width: 75%; min-width: 0; padding: var(--space-4) 0; border-top: var(--border-subtle); }
.home-moments__item:nth-child(2) { align-self: flex-end; width: 75%; padding: var(--space-6); border: var(--border-subtle); }
.home-moments__item:nth-child(3) { width: 75%; margin-left: 8.33%; }
.home-moments__item > div { min-width: 0; max-width: 30rem; }
.home-moments__item h3 { margin-bottom: var(--space-2); }
.home-moments__item p { margin-bottom: 0; }

.home-pairings__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
.home-pairings__copy { grid-column: 1 / span 6; min-width: 0; max-width: 35rem; }
.home-pairings__pull { max-width: 26rem; padding-left: var(--space-4); border-left: 1px solid var(--color-indigo-neon); color: var(--color-frost-text); font-size: 1.35rem; }
.home-pairings__image { grid-column: 8 / span 5; min-width: 0; margin: var(--space-6) 0 0; }
.home-pairings__image img { width: 100%; aspect-ratio: 4 / 5; border: var(--border-subtle); border-radius: var(--radius-feature); object-fit: cover; }
.home-pairings__image figcaption, .home-gallery figcaption { margin-top: var(--space-3); color: var(--color-muted-frost); font-size: var(--text-meta); line-height: var(--leading-meta); }

.home-hosted__intro { width: min(100%, 40rem); margin-inline: auto; text-align: center; }
.home-hosted__intro p { margin-inline: auto; }
.home-hosted__panel { display: grid; grid-template-columns: minmax(0, 5fr) minmax(2rem, 2fr) minmax(0, 5fr); gap: var(--space-6); margin-top: var(--space-12); padding: var(--space-8); }
.home-hosted__detail { grid-column: 1; min-width: 0; max-width: 27rem; }
.home-hosted__detail--reservation { grid-column: 3; justify-self: end; }
.home-hosted__detail p { max-width: 26rem; }

.home-private__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
.home-private__intro { grid-column: 1 / span 5; min-width: 0; max-width: 31rem; }
.home-private__action-copy { max-width: 27rem; }
.home-private__scenario { display: grid; grid-column: 7 / span 6; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-6); }
.home-private__scenario > * { min-width: 0; }
.home-private__scenario > span { color: var(--color-indigo-neon); font-family: var(--font-heading); font-weight: 700; font-variant-numeric: tabular-nums; }
.home-private__scenario div { max-width: 27rem; }
.home-private__scenario p { margin-bottom: 0; }
.home-private__scenario--second { grid-column: 3 / span 6; margin-top: var(--space-4); padding: var(--space-4) 0; border-top: var(--border-subtle); }

.home-gallery__intro { width: min(100%, 26rem); }
.home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-8); align-items: start; }
.home-gallery__item { min-width: 0; margin: 0; }
.home-gallery__item img { width: 100%; border: var(--border-subtle); border-radius: var(--radius-panel); object-fit: cover; transition: border-color var(--transition-fast); }
.home-gallery__item:hover img { border-color: var(--color-indigo-neon); }
.home-gallery__item--lead { grid-column: 1 / span 7; }
.home-gallery__item--lead img { aspect-ratio: 3 / 2; }
.home-gallery__item--portrait { grid-column: 8 / span 3; }
.home-gallery__item--portrait img { aspect-ratio: 4 / 5; }
.home-gallery__item--square { grid-column: 11 / span 2; }
.home-gallery__item--square img { aspect-ratio: 1; }

.home-faq__intro { width: min(100%, 40rem); margin-inline: auto; text-align: center; }
.home-faq__intro p { margin-inline: auto; }
.home-faq__list { border-top: var(--border-subtle); }
.home-faq__item { border-bottom: var(--border-subtle); }
.home-faq__item summary { display: grid; grid-template-columns: minmax(0, 4fr) minmax(1rem, 8fr); gap: var(--space-6); min-width: 0; padding: var(--space-6) 0; color: var(--color-frost-text); font-family: var(--font-heading); font-size: 1.1rem; font-weight: 600; list-style: none; }
.home-faq__item summary::-webkit-details-marker { display: none; }
.home-faq__item summary::after { justify-self: end; color: var(--color-indigo-neon); content: "+"; }
.home-faq__item[open] summary::after { content: "–"; }
.home-faq__item > div { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-6); padding-bottom: var(--space-6); }
.home-faq__item > div p { grid-column: 2; min-width: 0; max-width: 37.5rem; margin-bottom: 0; }

.home-closing__panel { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); padding: var(--space-16); text-align: center; }
.home-closing__panel > * { min-width: 0; }
.home-closing__panel .eyebrow, .home-closing__panel h2, .home-closing__panel p { margin: 0; }
.home-closing__panel > p:not(.home-closing__offline) { max-width: 41rem; }
.home-closing__offline { width: min(100%, 35rem); padding-top: var(--space-4); border-top: 1px solid var(--color-indigo-neon); color: var(--color-frost-text); }
.home-closing__actions { justify-content: center; margin-top: var(--space-2); }

@media (max-width: 61.25rem) {
  .home-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(15rem, .8fr); }
  .home-hero__copy { grid-column: 1; }
  .home-hero__rail { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); }
  .home-hero__rail .eyebrow { grid-column: 1 / -1; }
  .home-hero__rail-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
  .home-hero__rail-link { align-self: end; margin: 0; white-space: nowrap; }
  .home-hero__fragments { grid-column: 2; min-height: 25rem; }
  .home-discoveries__feature { grid-column: 1 / span 8; }
  .home-discoveries__note { grid-column: 9 / span 4; }
}

@media (max-width: 56.25rem) {
  .home-discoveries__grid, .home-pairings__grid, .home-private__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-discoveries__intro, .home-discoveries__feature, .home-discoveries__note { grid-column: 1 / -1; }
  .home-discoveries__feature { padding-top: 0; }
  .home-discoveries__note { margin-top: 0; max-width: 28rem; }
  .home-pairings__copy, .home-pairings__image { grid-column: 1 / -1; }
  .home-pairings__image { width: min(100%, 28rem); margin-top: 0; }
  .home-private__intro, .home-private__scenario, .home-private__scenario--second { grid-column: 1 / -1; margin-top: 0; }
  .home-private__scenario { max-width: 34rem; }
  .home-journal__row { grid-template-columns: 5rem minmax(0, 1fr); }
  .home-journal__teaser { grid-column: 2; max-width: 30rem; }
  .home-journal__action { grid-column: 2; justify-self: start; }
  .home-moments__item, .home-moments__item:nth-child(2), .home-moments__item:nth-child(3) { align-self: auto; width: 100%; margin-left: 0; }
  .home-hosted__panel { grid-template-columns: 1fr; padding: var(--space-6); }
  .home-hosted__detail, .home-hosted__detail--reservation { grid-column: 1; justify-self: start; max-width: 30rem; }
  .home-hosted__detail--reservation { padding-top: var(--space-6); border-top: var(--border-subtle); }
  .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-gallery__item--lead { grid-column: 1 / -1; }
  .home-gallery__item--portrait, .home-gallery__item--square { grid-column: auto; }
}

@media (max-width: 44.9375rem) {
  .home-page::before, .home-page::after { display: none; }
  .home-hero { padding-top: var(--space-16); }
  .home-hero__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-hero__copy, .home-hero__rail, .home-hero__fragments { grid-column: 1; grid-row: auto; }
  .home-hero__copy .display { max-width: 10ch; font-size: clamp(2.5rem, 13vw, 3.25rem); }
  .home-hero__deck, .home-hero__offline { max-width: none; }
  .home-hero__rail { display: block; padding: var(--space-4); }
  .home-hero__rail-list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: var(--space-4); }
  .home-hero__rail-link { display: inline-block; }
  .home-hero__actions { display: grid; grid-template-columns: 1fr; }
  .home-hero__actions .button { width: 100%; }
  .home-hero__fragments { min-height: 19rem; }
  .home-hero__fragment--portrait { display: none; }
  .home-hero__fragment--lead { width: 100%; }
  .home-hero__fragment--square { bottom: -1rem; left: 1rem; width: 36%; }
  .home-journal__row { gap: var(--space-3); padding: var(--space-6) 0; }
  .home-journal__row .rank-number { font-size: 2.7rem; }
  .home-journal__teaser, .home-journal__action { grid-column: 2; }
  .home-discoveries__feature { grid-template-columns: 3rem minmax(0, 1fr); }
  .home-moments__lead, .home-hosted__intro, .home-faq__intro { text-align: left; }
  .home-moments__lead p, .home-hosted__intro p, .home-faq__intro p { margin-inline: 0; }
  .home-moments__item { grid-template-columns: 3rem minmax(0, 1fr); }
  .home-moments__item:nth-child(2) { padding: var(--space-4); }
  .home-pairings__image { width: 100%; }
  .home-hosted__panel { margin-top: var(--space-8); padding: var(--space-4); }
  .home-private__scenario { padding: var(--space-4); }
  .home-gallery__grid { grid-template-columns: 1fr; }
  .home-gallery__item--lead, .home-gallery__item--portrait, .home-gallery__item--square { grid-column: 1; }
  .home-faq__item summary { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); padding: var(--space-4) 0; }
  .home-faq__item > div { display: block; padding-bottom: var(--space-4); }
  .home-faq__item > div p { max-width: none; }
  .home-closing__panel { align-items: stretch; padding: var(--space-8) var(--space-6); text-align: center; }
  .home-closing__actions { display: grid; grid-template-columns: 1fr; }
  .home-closing__actions .button { width: 100%; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__fragment:hover { transform: none; }
}
