.home-page { overflow: clip; }
.home-page a:focus-visible, .home-page button:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 3px; }
.home-hero { position: relative; min-height: 82svh; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; background: var(--color-void-onyx); }
.home-hero__image, .home-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__image { object-position: center; }
.home-hero__scrim { background: linear-gradient(90deg, rgba(7,5,13,.28), rgba(7,5,13,.16) 42%, rgba(7,5,13,.76) 100%), linear-gradient(0deg, rgba(7,5,13,.74), transparent 55%); z-index: 1; }
.home-hero__container { position: relative; z-index: 2; display: flex; justify-content: flex-end; padding-block: clamp(var(--space-8), 9vw, var(--space-10)); }
.home-hero__panel { width: min(100%, 33.75rem); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin: 0; }
.home-hero__panel h1, .home-hero__panel p { margin: 0; }
.home-hero__cue { color: var(--color-bright-white); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.home-hero__cue::before { display: inline-block; width: 1.75rem; height: 2px; margin-right: var(--space-2); vertical-align: middle; background: var(--color-neon-fuchsia); content: ""; }
.home-hero__lead { max-width: 48ch; font-size: var(--text-lead); line-height: var(--line-body); }
.home-hero__actions { width: 100%; }
.home-kitchen__layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(var(--space-7), 5vw, var(--space-8)); align-items: center; }
.home-kitchen__media { width: 100%; min-width: 0; }
.home-kitchen__media img { object-position: center; }
.home-kitchen__copy { width: 100%; min-width: 0; max-width: 35rem; }
.home-kitchen__copy > p { max-width: 62ch; }
.home-kitchen__callout { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-block: var(--space-6); }
.home-kitchen__callout h3, .home-kitchen__callout p { margin: 0; }
.home-kitchen__callout p { max-width: 44ch; }
.home-kitchen__closing { padding-top: var(--space-5); border-top: 1px solid var(--color-hairline); border-image: linear-gradient(90deg, var(--color-neon-fuchsia), var(--color-signal-cyan)) 1; }
.home-text-link { color: var(--color-bright-white); font-family: var(--font-heading); font-weight: 600; text-decoration-thickness: 2px; }
.home-text-link:hover { color: var(--color-signal-cyan); }
.home-lounge { position: relative; isolation: isolate; padding-block: clamp(var(--space-9), 11vw, var(--space-11)); background: var(--color-void-onyx); }
.home-lounge__image, .home-lounge__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-lounge__image { object-position: center; }
.home-lounge__scrim { z-index: 1; background: linear-gradient(180deg, rgba(7,5,13,.58), rgba(7,5,13,.78)); }
.home-lounge__container { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--space-7); align-items: start; }
.home-lounge__intro { width: 100%; min-width: 0; max-width: 31.25rem; }
.home-lounge__intro p { max-width: 48ch; }
.home-lounge__panels { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); align-items: end; padding-top: var(--space-9); }
.home-lounge__panel { width: 100%; min-width: 0; }
.home-lounge__panel--routes { transform: translateY(var(--space-7)); }
.home-lounge__detail { margin-top: 0; color: var(--color-pink-glow); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.home-formats { background: radial-gradient(circle at 50% 10%, rgba(244,232,74,.07), transparent 28rem), var(--color-midnight-violet); }
.home-formats__container { width: min(100% - (var(--gutter) * 2), var(--container-content)); }
.home-formats__intro { width: 100%; max-width: 52ch; margin-inline: auto; text-align: center; }
.home-formats__intro .section-marker { justify-content: center; }
.home-formats__grid { display: grid; grid-template-columns: minmax(0, 44fr) minmax(0, 30fr) minmax(0, 26fr); gap: var(--space-3); align-items: stretch; margin-top: var(--space-7); }
.home-format { width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-hairline); background: rgba(7,5,13,.42); }
.home-format h3, .home-format p { margin: 0; }
.home-format p { max-width: 38ch; }
.home-format__signal { color: var(--color-electric-yellow); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.home-format--table { border-color: rgba(57,231,245,.5); }
.home-format--first-seat { border-color: rgba(255,44,156,.5); }
.home-format:hover { border-color: var(--color-hairline-strong); box-shadow: 3px 0 0 rgba(57,231,245,.45); }
.home-etiquette__layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(var(--space-7), 5vw, var(--space-8)); align-items: center; }
.home-etiquette__copy { width: 100%; min-width: 0; max-width: 32.5rem; }
.home-etiquette__principles { display: flex; flex-direction: column; gap: var(--space-5); margin: 0; padding: 0; list-style: none; counter-reset: etiquette; }
.home-etiquette__principles li { min-width: 0; counter-increment: etiquette; padding-top: var(--space-4); border-top: 1px solid var(--color-hairline); }
.home-etiquette__principles li::before { display: block; margin-bottom: var(--space-2); color: var(--color-signal-cyan); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .14em; content: "0" counter(etiquette); }
.home-etiquette__principles h3 { margin-bottom: var(--space-2); }
.home-etiquette__principles p { max-width: 52ch; }
.home-etiquette__media { width: 100%; min-width: 0; min-height: 34rem; }
.home-etiquette__media img { object-position: center; }
.home-groups { background: radial-gradient(circle at 74% 50%, rgba(255,44,156,.12), transparent 25rem), var(--color-void-onyx); }
.home-groups__container { width: min(100% - (var(--gutter) * 2), var(--container-content)); display: flex; justify-content: flex-end; }
.home-groups__panel { width: min(62%, 37.5rem); min-width: 30rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-groups__panel h2, .home-groups__panel > p { margin: 0; }
.home-groups__panel > p { max-width: 56ch; }
.home-groups__footer { width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-top: var(--space-5); border-top: var(--border-hairline); }
.home-groups__footer p { max-width: 50ch; margin: 0; }
.home-groups__footer span { overflow-wrap: anywhere; }
.home-archive__heading { width: 100%; max-width: 48rem; }
.home-archive__rail { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-4); align-items: start; margin-top: var(--space-7); }
.home-archive__item { width: 100%; min-width: 0; display: block; color: inherit; text-decoration: none; }
.home-archive__item figure { margin: 0; }
.home-archive__item--cards { padding-top: var(--space-7); }
.home-archive__item--lounge { padding-top: var(--space-5); }
.home-archive__item .image-frame { border: 1px solid transparent; transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base); }
.home-archive__item:hover .image-frame { border-color: var(--color-signal-cyan); box-shadow: 3px 0 0 rgba(255,44,156,.5); transform: translateX(2px); }
.home-archive__item figcaption { min-width: 0; }
.home-archive__item figcaption span { display: block; margin-bottom: var(--space-2); color: var(--color-bright-white); font-family: var(--font-heading); font-weight: 600; }
.home-archive__item--cards figcaption { border-top-color: var(--color-neon-fuchsia); }
.home-archive__item--lounge figcaption { border-top-color: var(--color-electric-yellow); }
.home-faq { background: var(--color-void-onyx); }
.home-faq__container { width: min(100% - (var(--gutter) * 2), 56.25rem); }
.home-faq__intro { width: 100%; max-width: 56ch; margin-inline: auto; text-align: center; }
.home-faq__intro .section-marker { justify-content: center; }
.home-faq__accordion { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-7); }
.home-faq__item { width: 100%; min-width: 0; border: var(--border-hairline); background: rgba(39,22,65,.45); }
.home-faq__item h3 { margin: 0; }
.home-faq__item button { width: 100%; min-width: 0; min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); color: var(--color-bright-white); font-family: var(--font-heading); font-size: var(--text-body); font-weight: 600; line-height: var(--line-compact); text-align: left; }
.home-faq__item button span { flex: 0 0 auto; color: var(--color-neon-fuchsia); font-size: 1.5rem; transition: transform var(--transition-fast); }
.home-faq__item button[aria-expanded="true"] { border-bottom: 2px solid var(--color-neon-fuchsia); }
.home-faq__item:nth-child(2) button[aria-expanded="true"] { border-bottom-color: var(--color-signal-cyan); }
.home-faq__item:nth-child(3) button[aria-expanded="true"] { border-bottom-color: var(--color-electric-yellow); }
.home-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.home-faq__answer { padding: var(--space-5) var(--space-6); }
.home-faq__answer p { max-width: 42.5rem; margin: 0; }
.home-routes { background: radial-gradient(circle at 50% 72%, rgba(57,231,245,.09), transparent 26rem), var(--color-midnight-violet); }
.home-routes__container { width: min(100% - (var(--gutter) * 2), var(--container-content)); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-7); align-items: stretch; }
.home-route { width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-route h3, .home-route p { margin: 0; }
.home-route p { max-width: 40ch; }
.home-route .button-link { margin-top: auto; }
.home-location { padding-top: var(--space-9); background: var(--color-void-onyx); }
.home-location__container { width: min(100% - (var(--gutter) * 2), var(--container-reading)); }
.home-location__panel { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); text-align: center; }
.home-location__panel h2, .home-location__panel p { margin: 0; }
.home-location__panel p { max-width: 50ch; }
.home-location__panel strong { overflow-wrap: anywhere; }
.home-page .neon-grid::before { z-index: 0; }
.home-page .neon-grid > * { position: relative; z-index: 1; }
@media (max-width: 58.75rem) { .home-hero { min-height: auto; padding-top: 18rem; } .home-hero__container { justify-content: flex-start; } .home-hero__panel { width: min(100%, 33.75rem); } .home-lounge__container { grid-template-columns: minmax(0, 1fr); } .home-lounge__panels { padding-top: 0; } }
@media (max-width: 53.75rem) { .home-kitchen__layout, .home-etiquette__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-kitchen__media { order: 1; } .home-kitchen__copy { order: 0; max-width: none; } .home-kitchen__copy > p { max-width: 58ch; } .home-etiquette__copy { max-width: none; } .home-etiquette__media { min-height: auto; } }
@media (max-width: 51.25rem) { .home-hero { min-height: 76svh; padding-top: 12rem; } .home-hero__container { align-items: end; padding-bottom: var(--space-6); } .home-hero__panel { width: 100%; } .home-hero__scrim { background: linear-gradient(180deg, rgba(7,5,13,.22), rgba(7,5,13,.76) 58%, rgba(7,5,13,.88)); } .home-hero__lead { max-width: 58ch; font-size: var(--text-body); } .home-lounge { padding-block: var(--space-8); } .home-lounge__image { position: relative; aspect-ratio: 16 / 9; } .home-lounge__scrim { display: none; } .home-lounge__container { margin-top: var(--space-5); } .home-lounge__intro { max-width: none; } .home-lounge__intro p { max-width: 58ch; } .home-lounge__panels { grid-template-columns: minmax(0, 1fr); } .home-lounge__panel--routes { transform: none; } .home-formats__grid { grid-template-columns: minmax(0, 1fr); } .home-format p { max-width: 58ch; } .home-groups__container { display: block; } .home-groups__panel { width: 100%; min-width: 0; } .home-archive__rail { grid-template-columns: minmax(0, 1fr); } .home-archive__item--cards, .home-archive__item--lounge { padding-top: 0; } .home-archive__item figcaption { max-width: 32ch; } .home-routes__container { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } }
@media (max-width: 43.75rem) { .home-faq__answer { padding: var(--space-5); } .home-faq__item button { padding-inline: var(--space-4); } }
@media (max-width: 26.25rem) { .home-hero__actions > .button-link, .home-groups__footer .button-link, .home-location__panel .button-link { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .home-archive__item:hover .image-frame { transform: none; } }
