.home-main {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: var(--color-abyss-950);
}

.home-main__glow {
  position: absolute;
  z-index: -1;
  width: 34rem;
  height: 34rem;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(70px);
  opacity: .32;
}

.home-main__glow--one { top: 38rem; left: -18rem; background: rgba(105, 103, 201, .38); }
.home-main__glow--two { top: 126rem; right: -20rem; background: rgba(34, 92, 148, .32); }

.home-hero { padding: clamp(2rem, 5vw, 4rem) 0 clamp(3.5rem, 8vw, 7rem); }
.home-hero__container { min-width: 0; }
.home-hero__stage { position: relative; min-width: 0; min-height: 47.5rem; }
.home-hero__porthole { position: absolute; top: 0; right: 2%; width: clamp(38.75rem, 72vw, 57.5rem); max-width: 100%; aspect-ratio: 1; border: 1px solid var(--surface-border); border-radius: 50%; box-shadow: 0 18px 80px rgba(0, 0, 0, .45), inset 0 0 0 12px rgba(184, 207, 232, .05); }
.home-hero__porthole img { object-position: center; }
.home-hero__panel { position: absolute; z-index: 2; bottom: 2rem; left: 0; display: flex; width: min(34rem, 48%); min-width: 0; flex-direction: column; gap: var(--space-4); margin: 0; }
.home-hero__panel > * { min-width: 0; margin: 0; }
.home-hero__eyebrow { color: var(--color-ice-300); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; line-height: var(--leading-meta); }
.home-hero__panel h1 { width: min(100%, 22ch); font-size: clamp(3rem, 5.6vw, 4.25rem); }
.home-hero__lead { width: min(100%, 52ch); color: var(--color-ice-100); font-size: var(--text-lead); line-height: var(--leading-lead); }
.home-hero__actions { width: fit-content; }
.home-hero__actions > * { flex: 0 1 auto; }

.home-marker { position: absolute; z-index: 3; display: inline-flex; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--surface-border); border-radius: 50%; background: rgba(18, 42, 68, .78); color: var(--color-ice-100); box-shadow: var(--shadow-deep); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: border-color var(--transition-base), background var(--transition-base); }
.home-marker__dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--color-violet-glow); box-shadow: 0 0 12px rgba(167, 165, 255, .8); }
.home-marker__label { position: absolute; top: 50%; left: calc(100% + .6rem); width: max-content; max-width: 10rem; padding: .45rem .65rem; border: 1px solid var(--surface-border); border-radius: var(--radius-md); background: rgba(24, 52, 83, .94); color: var(--color-ice-100); font-size: var(--text-helper); font-weight: 700; line-height: 1.35; opacity: 0; pointer-events: none; transform: translate(-.4rem, -50%); transition: opacity var(--transition-fast), transform var(--transition-fast); }
.home-marker:hover, .home-marker:focus-visible, .home-marker.is-open { border-color: rgba(167, 165, 255, .72); background: rgba(24, 52, 83, .95); }
.home-marker:hover .home-marker__label, .home-marker:focus-visible .home-marker__label, .home-marker.is-open .home-marker__label { opacity: 1; transform: translate(0, -50%); }
.home-marker--kitchen { top: 16%; right: 18%; }
.home-marker--poker { top: 45%; right: 0; }
.home-marker--mood { bottom: 18%; right: 10%; }
.home-marker--poker .home-marker__label, .home-marker--mood .home-marker__label { right: calc(100% + .6rem); left: auto; transform: translate(.4rem, -50%); }
.home-marker--poker:hover .home-marker__label, .home-marker--poker:focus-visible .home-marker__label, .home-marker--poker.is-open .home-marker__label, .home-marker--mood:hover .home-marker__label, .home-marker--mood:focus-visible .home-marker__label, .home-marker--mood.is-open .home-marker__label { transform: translate(0, -50%); }

.home-rhythm__intro { width: min(58%, 38.75rem); min-width: 0; }
.home-rhythm__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-rhythm__cards > * { min-width: 0; }
.home-rhythm__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-rhythm__card > * { min-width: 0; margin: 0; }
.home-rhythm__number, .home-explore__number { color: var(--color-violet-glow); font-size: var(--text-meta); font-weight: 800; letter-spacing: .1em; }
.home-rhythm__card p { width: min(100%, 34ch); }

.home-plate__layout, .home-interior__layout { display: grid; align-items: center; gap: var(--space-7); }
.home-plate__layout { grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr); }
.home-plate__layout > *, .home-interior__layout > * { min-width: 0; }
.home-plate__media { width: 100%; aspect-ratio: 3 / 2; margin: 0; }
.home-plate__content { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.home-plate__content > * { min-width: 0; margin: 0; }
.home-plate__content h2 { width: min(100%, 20ch); }
.home-plate__lead { width: min(100%, 42ch); }
.home-plate__content > p:not(.eyebrow):not(.home-plate__lead) { width: min(100%, 52ch); }
.home-plate__actions { width: fit-content; }
.home-plate__actions > * { flex: 0 1 auto; }

.home-interior__layout { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
.home-interior__content { min-width: 0; }
.home-interior__content > h2 { width: min(100%, 22ch); }
.home-interior__lead { width: min(100%, 58ch); }
.home-interior__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.home-interior__cards > * { min-width: 0; }
.home-interior__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-interior__card > * { min-width: 0; margin: 0; }
.home-interior__card p { width: min(100%, 34ch); }
.home-interior__media { width: 100%; max-width: 32.5rem; justify-self: end; aspect-ratio: 4 / 5; margin: 0; }

.home-lounge__media { width: 100%; aspect-ratio: 16 / 9; margin: 0; }
.home-lounge__intro { width: min(100%, 40.625rem); min-width: 0; margin-top: var(--space-7); }
.home-lounge__intro h2 { width: min(100%, 22ch); }
.home-lounge__intro p { width: min(100%, 60ch); }
.home-lounge__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.home-lounge__cards > * { min-width: 0; }
.home-lounge__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-lounge__card > * { min-width: 0; margin: 0; }
.home-lounge__card p { width: min(100%, 32ch); }
.home-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); color: var(--color-ice-100); font-size: var(--text-helper); font-weight: 800; text-decoration: none; }
.home-text-link:hover { color: var(--color-violet-glow); }

.home-chapters__intro { width: min(100%, 38rem); min-width: 0; }
.home-chapters__intro h2 { width: min(100%, 26ch); }
.home-chapters__intro p { width: min(100%, 52ch); }
.home-chapters__panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-chapters__panels > * { min-width: 0; }
.home-chapter { display: flex; min-width: 0; min-height: 22rem; flex-direction: column; justify-content: flex-end; gap: var(--space-4); }
.home-chapter > * { min-width: 0; margin: 0; }
.home-chapter h3 { width: min(100%, 20ch); }
.home-chapter p { width: min(100%, 38ch); }
.home-chapter--restaurant { background: linear-gradient(145deg, rgba(26, 55, 87, .88), rgba(11, 20, 36, .88)); }
.home-chapter--lounge { background: linear-gradient(145deg, rgba(45, 46, 100, .8), rgba(15, 32, 58, .9)); }

.home-events__panel { position: relative; overflow: hidden; }
.home-events__panel::before { position: absolute; top: -12rem; right: -10rem; width: 28rem; height: 28rem; border-radius: 50%; background: rgba(105, 103, 201, .16); content: ""; filter: blur(35px); pointer-events: none; }
.home-events__panel > * { position: relative; z-index: 1; }
.home-events__intro { width: min(100%, 37.5rem); min-width: 0; }
.home-events__intro h2 { width: min(100%, 20ch); }
.home-events__intro p { width: min(100%, 58ch); }
.home-events__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.home-events__cards > * { min-width: 0; }
.home-events__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); background: rgba(7, 13, 24, .34); }
.home-events__card > * { min-width: 0; margin: 0; }
.home-events__card p { width: min(100%, 34ch); }

.home-explore__container { min-width: 0; }
.home-explore__intro { width: min(100%, 32.5rem); min-width: 0; }
.home-explore__intro h2 { width: min(100%, 30ch); }
.home-explore__list { width: min(100%, 57.5rem); min-width: 0; margin-top: var(--space-7); }
.home-explore__item { display: grid; grid-template-columns: minmax(4rem, .12fr) minmax(0, .58fr) minmax(10rem, .3fr); align-items: center; gap: var(--space-5); min-width: 0; padding: var(--space-5) 0; border-top: 1px solid var(--surface-border); transition: background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base); }
.home-explore__item:last-child { border-bottom: 1px solid var(--surface-border); }
.home-explore__item > * { min-width: 0; }
.home-explore__copy h3 { margin-bottom: var(--space-2); }
.home-explore__copy p { width: min(100%, 42ch); margin: 0; }
.home-explore__item .home-text-link { justify-self: end; }
.home-explore__item:hover, .home-explore__item:focus-within { border-color: rgba(167, 165, 255, .62); background: rgba(24, 52, 83, .32); box-shadow: 0 0 24px rgba(167, 165, 255, .12); }

.home-final { padding-bottom: var(--space-7); }
.home-final__panel { display: flex; width: min(100%, 56.25rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; padding: clamp(2rem, 5vw, 4rem); text-align: center; }
.home-final__panel > * { min-width: 0; margin: 0; }
.home-final__panel h2 { width: min(100%, 24ch); }
.home-final__panel p:not(.eyebrow) { width: min(100%, 46ch); }
.home-final__actions { width: fit-content; justify-content: center; }
.home-final__actions > * { flex: 0 1 auto; }
.home-note { padding: 0 0 var(--space-10); }
.home-note__panel { display: grid; grid-template-columns: minmax(9rem, .18fr) minmax(0, .82fr); gap: var(--space-5); width: min(100%, 56.25rem); min-width: 0; margin-inline: auto; padding: var(--space-5); border: 1px solid var(--surface-border); border-radius: var(--radius-lg); background: rgba(18, 42, 68, .42); }
.home-note__panel > * { min-width: 0; margin: 0; }
.home-note__label { color: var(--color-violet-glow); font-size: var(--text-helper); font-weight: 800; }
.home-note__panel p:last-child { width: min(100%, 78ch); font-size: var(--text-helper); }

@media (max-width: 65rem) {
  .home-hero__stage { min-height: 42rem; }
  .home-hero__porthole { right: 0; width: min(74vw, 50rem); }
  .home-hero__panel { width: min(33rem, 51%); }
  .home-plate__layout, .home-interior__layout { gap: var(--space-6); }
  .home-lounge__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-lounge__card:last-child { grid-column: 1 / -1; width: calc(50% - var(--space-3)); }
}

@media (max-width: 60rem) {
  .home-interior__cards { grid-template-columns: minmax(0, 1fr); }
  .home-interior__media { align-self: stretch; }
  .home-events__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-events__card:last-child { grid-column: 1 / -1; width: calc(50% - var(--space-3)); }
}

@media (max-width: 53.75rem) {
  .home-hero__stage { min-height: 46rem; }
  .home-hero__porthole { top: 0; right: 50%; width: min(92vw, 42rem); transform: translateX(50%); }
  .home-hero__panel { bottom: 0; left: 50%; width: min(90%, 35rem); transform: translateX(-50%); }
  .home-marker--kitchen { top: 10%; right: 17%; }
  .home-marker--poker { top: 39%; right: 4%; }
  .home-marker--mood { right: 15%; bottom: 35%; }
  .home-plate__layout, .home-interior__layout { grid-template-columns: minmax(0, 1fr); }
  .home-plate__media, .home-interior__media { max-width: none; }
  .home-plate__media { aspect-ratio: 4 / 3; }
  .home-interior__media { aspect-ratio: 4 / 3; justify-self: stretch; }
  .home-chapters__panels { grid-template-columns: minmax(0, 1fr); }
  .home-chapter { min-height: auto; }
}

@media (max-width: 47.5rem) {
  .home-main__glow { width: 20rem; height: 20rem; filter: blur(55px); opacity: .2; }
  .home-hero { padding-top: var(--space-5); }
  .home-hero__stage { min-height: 40rem; }
  .home-hero__porthole { width: calc(100vw - 2rem); height: auto; min-height: 31.25rem; aspect-ratio: 1 / 1.08; }
  .home-hero__porthole img { object-position: 52% center; }
  .home-hero__panel { bottom: var(--space-4); width: calc(100% - 2rem); padding: var(--space-5); }
  .home-hero__panel h1 { font-size: clamp(2rem, 9vw, 2.5rem); }
  .home-hero__lead { width: min(100%, 42ch); font-size: var(--text-body); line-height: var(--leading-body); }
  .home-hero__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-hero__actions > * { width: 100%; }
  .home-marker--kitchen { top: 7%; right: 14%; }
  .home-marker--poker { top: 35%; right: 3%; }
  .home-marker--mood { right: 13%; bottom: 42%; }
  .home-marker__label { max-width: 8rem; font-size: var(--text-meta); }
  .home-rhythm__intro { width: 100%; }
  .home-rhythm__cards, .home-lounge__cards, .home-events__cards { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-lounge__card:last-child, .home-events__card:last-child { grid-column: auto; width: 100%; }
  .home-rhythm__cards { margin-top: var(--space-6); }
  .home-plate__content { margin-top: var(--space-5); }
  .home-lounge__media { aspect-ratio: 4 / 3; }
  .home-lounge__intro { margin-top: var(--space-6); }
  .home-chapters__panels { margin-top: var(--space-6); }
  .home-events__panel { padding: var(--space-5); }
  .home-explore__list { margin-top: var(--space-6); }
  .home-explore__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5) 0; }
  .home-explore__item .home-text-link { justify-self: start; width: 100%; }
  .home-final__panel { align-items: stretch; padding: var(--space-5); text-align: left; }
  .home-final__panel h2, .home-final__panel p:not(.eyebrow) { width: 100%; }
  .home-final__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-final__actions > * { width: 100%; }
  .home-note { padding-bottom: var(--space-8); }
  .home-note__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .home-marker, .home-marker__label, .home-explore__item { transition: none; }
}
