.home-page { overflow-x: clip; }
.home-page .section { position: relative; }
.home-hero { position: relative; min-height: 45rem; display: grid; isolation: isolate; overflow: hidden; background: var(--color-elevated); }
.home-hero__image { position: absolute; inset: 0; z-index: -2; }
.home-hero__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,11,28,.94) 0%, rgba(7,11,28,.76) 38%, rgba(7,11,28,.18) 72%, rgba(7,11,28,.38) 100%); }
.home-hero__image::before { content: ""; position: absolute; width: 38rem; height: 38rem; left: -10rem; top: -8rem; border-radius: 50%; background: rgba(110,77,204,.20); filter: blur(3rem); animation: home-aurora 22s ease-in-out infinite alternate; z-index: 1; }
.home-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-hero__layout { width: min(calc(100% - 2.5rem), var(--container-max)); min-width: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; padding-block: 7rem 4.5rem; }
.home-hero__copy { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hero__copy h1, .home-hero__copy p { margin: 0; }
.home-hero__copy h1 { font-size: clamp(2.5rem, 4.2vw, 3rem); max-width: 35rem; }
.home-hero__lead { max-width: 35rem; font-size: var(--text-lg); line-height: var(--leading-lg); color: var(--color-text-muted); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-hero__actions > * { min-width: 0; }
.home-hero__scope { width: 100%; max-width: 31.25rem; padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.home-hero__scope p { color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-experiences__intro { width: 50%; min-width: 0; position: relative; padding-bottom: var(--space-6); }
.home-experiences__intro::after { content: ""; position: absolute; bottom: 0; left: 0; width: 5rem; height: 2px; background: var(--color-aurora); }
.home-experiences__intro p { max-width: 38.75rem; }
.home-experiences__cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-12); }
.home-experience-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-glass); backdrop-filter: blur(20px) saturate(125%); transition: transform var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base); }
.home-experience-card:hover { transform: translateY(-2px); border-color: var(--color-border-active); background: var(--color-glass-hover); box-shadow: var(--shadow-glow); }
.home-experience-card h3, .home-experience-card p { margin: 0; }
.home-experience-card h3 { font-size: 1.25rem; }
.home-experience-card p { font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-experience-card a { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: auto; font-weight: 600; }
.home-experience-card__number { color: var(--color-text-subtle); font-size: var(--text-sm); font-weight: 600; letter-spacing: .08em; }
.home-experience-card--poker { border-color: rgba(195,181,255,.46); }
.home-rooms__grid, .home-relax__grid, .home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.home-rooms__copy { grid-column: 1 / span 5; min-width: 0; }
.home-rooms__copy > p { max-width: 32.5rem; }
.home-rooms__media { grid-column: 6 / span 7; min-width: 0; margin: 0; }
.home-rooms__media img { width: 100%; height: 33.75rem; border-radius: var(--radius-lg); object-fit: cover; }
.home-rooms__rhythm { display: flex; flex-direction: column; gap: var(--space-4); margin-block: var(--space-6); }
.home-rooms__rhythm > div, .home-relax__qualities > div { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.home-rooms__rhythm > div + div, .home-relax__qualities > div + div { padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.home-rooms__rhythm span, .home-relax__qualities span { color: var(--color-aurora-bright); font-size: var(--text-sm); font-weight: 600; }
.home-rooms__rhythm h3, .home-rooms__rhythm p, .home-relax__qualities h3, .home-relax__qualities p { margin: 0; }
.home-rooms__rhythm h3, .home-relax__qualities h3 { font-size: var(--text-base); margin-bottom: var(--space-1); }
.home-rooms__rhythm p, .home-relax__qualities p { font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-rooms__note { margin-top: var(--space-3); color: var(--color-text-subtle); font-size: var(--text-sm); }
.home-restaurant__frame { position: relative; min-height: 40.625rem; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; overflow: hidden; border-radius: var(--radius-xl); }
.home-restaurant__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-restaurant__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,11,28,.74), rgba(7,11,28,.16) 72%); pointer-events: none; }
.home-restaurant__panel { grid-column: 1 / span 5; z-index: 1; min-width: 0; margin: var(--space-8); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-restaurant__panel h2, .home-restaurant__panel p { margin: 0; }
.home-restaurant__moments { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-restaurant__moments > div { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.home-restaurant__moments h3 { margin: 0 0 var(--space-2); font-size: var(--text-base); }
.home-restaurant__moments p { font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-restaurant__cta-copy { color: var(--color-text-subtle); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-relax { isolation: isolate; }
.home-relax::before, .home-faq::before, .home-closing::before { content: ""; position: absolute; z-index: -1; width: 30rem; height: 30rem; border-radius: 50%; background: rgba(110,77,204,.16); filter: blur(4rem); pointer-events: none; }
.home-relax::before { right: -12rem; top: 10%; }
.home-relax__copy { grid-column: 1 / span 7; min-width: 0; }
.home-relax__copy > p { max-width: 31.875rem; }
.home-relax__media { grid-column: 8 / span 5; min-width: 0; margin: 0; }
.home-relax__media img { width: 100%; height: 38rem; border-radius: var(--radius-lg); object-fit: cover; }
.home-relax__qualities { display: flex; flex-direction: column; gap: var(--space-4); margin-block: var(--space-6); max-width: 36rem; }
.home-relax__copy > a { min-height: 2.75rem; display: inline-flex; align-items: center; font-weight: 600; }
.home-evening { background: linear-gradient(180deg, rgba(13,20,48,.62), rgba(7,11,28,0)); }
.home-evening__intro { width: 58.333%; min-width: 0; }
.home-evening__intro p { max-width: 42.5rem; }
.home-evening__panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-12); align-items: stretch; }
.home-evening__panels > article { min-width: 0; }
.home-evening__poker { position: relative; overflow: hidden; display: grid; }
.home-evening__poker > img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .17; }
.home-evening__poker::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(7,11,28,.94), rgba(7,11,28,.68)); }
.home-evening__poker-content { position: relative; z-index: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-evening__poker-content h3, .home-evening__poker-content p, .home-evening__rhythm h3, .home-evening__rhythm p { margin: 0; }
.home-evening__rhythm { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-evening__lines { width: 100%; display: flex; flex-direction: column; gap: var(--space-3); }
.home-evening__lines > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border); font-size: var(--text-sm); }
.home-evening__lines strong { color: var(--color-text); }
.home-guide__intro { width: 50%; min-width: 0; }
.home-guide__intro p { max-width: 36.25rem; }
.home-guide__steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); margin: var(--space-12) 0 var(--space-8); padding: 0; list-style: none; }
.home-guide__steps::before { content: ""; position: absolute; left: 2rem; right: 2rem; top: 1.25rem; height: 1px; background: var(--color-border); }
.home-guide__steps li { position: relative; z-index: 1; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.home-guide__steps > li > span { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 1px solid var(--color-border-active); border-radius: 50%; background: var(--color-elevated); color: var(--color-aurora-bright); font-size: var(--text-sm); font-weight: 600; }
.home-guide__steps h3, .home-guide__steps p { margin: 0; }
.home-guide__steps h3 { font-size: var(--text-base); margin-bottom: var(--space-2); }
.home-guide__steps p { font-size: var(--text-sm); line-height: var(--leading-sm); margin-bottom: var(--space-2); }
.home-guide__steps a { min-height: 2.75rem; display: inline-flex; align-items: center; font-size: var(--text-sm); font-weight: 600; }
.home-guide__steps .status { margin-bottom: var(--space-2); }
.home-guide__cta { width: fit-content; }
.home-gallery__copy { grid-column: 1 / span 4; min-width: 0; }
.home-gallery__copy p { max-width: 28.75rem; }
.home-gallery__mosaic { grid-column: 5 / span 8; min-width: 0; display: grid; grid-template-columns: 5fr 3fr; gap: var(--space-6); align-items: start; }
.home-gallery__mosaic figure { min-width: 0; margin: 0; }
.home-gallery__mosaic figure:nth-child(2) { margin-top: var(--space-12); }
.home-gallery__mosaic a { display: block; overflow: hidden; border-radius: var(--radius-lg); }
.home-gallery__mosaic img { width: 100%; height: 22rem; transition: transform var(--transition-base); }
.home-gallery__mosaic figure:nth-child(2) img { height: 17rem; }
.home-gallery__mosaic a:hover img { transform: scale(1.025); }
.home-faq { isolation: isolate; }
.home-faq::before { left: -15rem; top: 8rem; background: rgba(49,90,154,.12); }
.home-faq__content { width: 66.667%; min-width: 0; }
.home-faq__intro { max-width: 35rem; }
.home-faq__accordion { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-6); }
.home-faq__item { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-glass); backdrop-filter: blur(20px) saturate(125%); overflow: hidden; }
.home-faq__item h3 { margin: 0; }
.home-faq__item button { width: 100%; min-height: 3.25rem; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-4); background: transparent; color: var(--color-text); font-family: var(--font-heading); font-size: var(--text-base); font-weight: 700; letter-spacing: -.02em; line-height: 1.35; text-align: left; }
.home-faq__item button span { flex: 0 0 auto; color: var(--color-aurora-bright); font-size: 1.5rem; }
.home-faq__item [role="region"] { padding: 0 var(--space-4) var(--space-4); }
.home-faq__item [role="region"] p { max-width: 42.5rem; margin: 0; font-size: var(--text-sm); }
.home-faq__link { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: var(--space-4); font-weight: 600; }
.home-closing { background: var(--color-elevated); isolation: isolate; }
.home-closing::before { left: 50%; bottom: -17rem; transform: translateX(-50%); background: rgba(110,77,204,.20); }
.home-closing__panel { width: 66.667%; min-width: 0; margin-inline: auto; padding: var(--space-16); display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.home-closing__panel h2, .home-closing__panel p { margin: 0; }
.home-closing__panel > p:not(.home-closing__note) { max-width: 35rem; }
.home-closing__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); min-width: 0; }
.home-closing__actions > * { min-width: 0; }
.home-closing__note { color: var(--color-text-subtle); font-size: var(--text-sm); }
@keyframes home-aurora { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(5rem,2rem,0) scale(1.12); } }
@media (max-width: 73.75rem) { .home-experiences__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .home-experience-card:nth-child(4), .home-experience-card:nth-child(5) { grid-column: span 1; } }
@media (max-width: 67.5rem) { .home-hero { min-height: auto; display: block; padding-top: 19rem; background: var(--color-elevated); } .home-hero__image { height: 19rem; bottom: auto; } .home-hero__image::after { background: linear-gradient(180deg, rgba(7,11,28,.12), rgba(7,11,28,.55) 100%); } .home-hero__layout { display: block; padding-block: var(--space-8) var(--space-16); } .home-hero__copy { width: min(100%, 35rem); } }
@media (max-width: 61.25rem) { .home-rooms__grid, .home-relax__grid { grid-template-columns: 1fr; gap: var(--space-8); } .home-rooms__copy, .home-relax__copy { grid-column: 1; order: 2; } .home-rooms__media, .home-relax__media { grid-column: 1; order: 1; } .home-rooms__media img, .home-relax__media img { height: 22rem; } .home-restaurant__frame { min-height: 0; display: flex; flex-direction: column; overflow: visible; border-radius: 0; } .home-restaurant__image { position: static; height: 22rem; border-radius: var(--radius-lg); } .home-restaurant__frame::after { display: none; } .home-restaurant__panel { width: 100%; margin: var(--space-4) 0 0; } .home-gallery__grid { grid-template-columns: 1fr; gap: var(--space-8); } .home-gallery__copy, .home-gallery__mosaic { grid-column: 1; } .home-gallery__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-gallery__mosaic figure:nth-child(2) { margin-top: 0; } .home-faq__content, .home-closing__panel { width: 100%; } }
@media (max-width: 58.75rem) { .home-experiences__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-guide__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-guide__steps::before { display: none; } }
@media (max-width: 53.75rem) { .home-evening__intro { width: 100%; } .home-evening__panels { grid-template-columns: 1fr; } .home-evening__poker { order: 1; } .home-evening__rhythm { order: 2; } }
@media (max-width: 40rem) { .home-hero { padding-top: 19rem; } .home-hero__image { height: 19rem; } .home-hero__layout { width: min(calc(100% - 2rem), var(--container-max)); padding-block: var(--space-6) var(--space-16); } .home-hero__copy h1 { font-size: 2.25rem; line-height: 1.167; } .home-hero__actions { width: 100%; flex-direction: column; max-width: 22.5rem; } .home-hero__actions .button { width: 100%; } .home-experiences__intro, .home-guide__intro { width: 100%; } .home-experiences__cards { grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-8); } .home-experience-card { padding: var(--space-4); } .home-rooms__media img, .home-relax__media img, .home-restaurant__image { height: 18.125rem; } .home-restaurant__panel { padding: var(--space-4); } .home-restaurant__moments { grid-template-columns: 1fr; gap: var(--space-3); } .home-evening__panels { margin-top: var(--space-8); gap: var(--space-4); } .home-evening__poker, .home-evening__rhythm { padding: var(--space-4); } .home-guide__steps { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-8); } .home-guide__steps li { grid-template-columns: 2.75rem minmax(0, 1fr); } .home-guide__steps::before { display: block; left: 1.25rem; right: auto; top: 1.25rem; bottom: 1.25rem; width: 1px; height: auto; } .home-gallery__mosaic { grid-template-columns: 1fr; gap: var(--space-4); } .home-gallery__mosaic img, .home-gallery__mosaic figure:nth-child(2) img { height: auto; aspect-ratio: 3 / 2; } .home-faq__item button { min-height: 3.5rem; } .home-closing__panel { padding: var(--space-8) var(--space-4); } .home-closing__actions { width: 100%; flex-direction: column; max-width: 22.5rem; } .home-closing__actions .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .home-hero__image::before { animation: none; } .home-experience-card:hover, .home-gallery__mosaic a:hover img { transform: none; } }