.home-page { overflow: clip; }
.home-page .section { position: relative; }
.home-hero { position: relative; min-height: 47.5rem; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; background: var(--color-obsidian-950); }
.home-hero__media { position: absolute; inset: 0; z-index: -2; width: 100%; min-width: 0; overflow: hidden; }
.home-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,12,.92) 0%, rgba(10,10,12,.74) 45%, rgba(10,10,12,.25) 100%), linear-gradient(0deg, rgba(10,10,12,.72), rgba(10,10,12,.08)); }
.home-hero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.home-hero__inner { width: min(100% - (2 * var(--container-padding)), var(--container-wide)); margin-inline: auto; padding-block: var(--space-16); }
.home-hero__panel { display: flex; flex-direction: column; gap: var(--space-4); width: min(56%, 42.5rem); min-width: 0; padding: var(--space-8); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft), var(--glow-gold); }
.home-hero__panel > * { min-width: 0; margin: 0; }
.home-hero__panel h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
.home-hero__panel h1 span { color: var(--color-light-champagne); }
.home-hero__panel .lead { width: min(100%, 40rem); }
.home-hero__qualification { color: var(--color-platinum-muted); }
.home-hero__actions { width: 100%; }
.home-hero__actions > * { width: auto; min-width: 0; }
.home-explainer { background: var(--color-graphite-900); }
.home-explainer__intro { width: min(100%, 38.75rem); min-width: 0; }
.home-explainer__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-explainer__card { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; height: 100%; }
.home-explainer__card > * { min-width: 0; margin: 0; }
.home-explainer__card h3, .home-service h3, .home-team__grid h3, .home-audience__grid h3 { font-size: var(--text-xl); }
.home-explainer__card--safe { background: rgba(18,18,22,.96); }
.home-number { display: block; color: var(--color-champagne-gold); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 800; letter-spacing: var(--tracking-label); }
.home-journey { background: var(--color-obsidian-950); isolation: isolate; }
.home-journey::after { content: ""; position: absolute; z-index: -1; top: 0; right: 0; width: 52%; height: 100%; background: linear-gradient(90deg, var(--color-obsidian-950), rgba(10,10,12,.45)), url('/src/media/gameplay-blackjack-table.webp') center / cover no-repeat; opacity: .45; }
.home-journey__layout { display: grid; grid-template-columns: minmax(0, 36fr) minmax(31.25rem, 58fr); column-gap: 6%; align-items: start; }
.home-journey__intro { width: min(100%, 35rem); min-width: 0; }
.home-journey__steps { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.home-step { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; border-left: 1px solid rgba(212,175,55,.42); padding: var(--space-4); background: rgba(18,18,22,.68); }
.home-step > * { min-width: 0; }
.home-step > span { color: var(--color-champagne-gold); font-family: var(--font-heading); font-weight: 800; }
.home-step h3, .home-step p { margin: 0; }
.home-step > div { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.home-step--safe { border-color: rgba(66,214,164,.55); background: rgba(27,29,36,.92); }
.home-journey__cta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); width: 100%; min-width: 0; padding-top: var(--space-4); }
.home-journey__cta > * { min-width: 0; margin: 0; }
.home-journey__cta p { width: min(100%, 38rem); }
.home-journey__cta small { color: var(--color-platinum-muted); }
.home-services { background: var(--color-graphite-900); }
.home-services__intro { width: min(100%, 36.25rem); min-width: 0; }
.home-services__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.home-service { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; min-height: 10.5rem; height: 100%; }
.home-service > * { min-width: 0; margin: 0; }
.home-service > .status, .home-service > a { margin-top: auto; }
.home-service--wide { grid-column: span 2; }
.home-themes { background: var(--color-obsidian-950); }
.home-themes__intro { width: min(100%, 36.25rem); min-width: 0; }
.home-themes__rows { display: flex; flex-direction: column; gap: var(--space-12); margin-top: var(--space-8); }
.home-theme { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 46fr); column-gap: 8%; align-items: center; min-width: 0; }
.home-theme > * { min-width: 0; }
.home-theme__copy { width: min(100%, 30rem); }
.home-theme--reverse .home-theme__copy { justify-self: end; }
.home-theme__media { width: 100%; min-width: 0; margin: 0; }
.home-theme__media img { width: 100%; max-width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-md); }
.home-theme__media figcaption { width: min(100%, 24rem); }
.home-team { background: var(--color-graphite-900); }
.home-team__top { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 50fr); column-gap: 8%; align-items: center; }
.home-team__top > * { min-width: 0; }
.home-team__media { margin: 0; width: 100%; }
.home-team__media img { width: 100%; max-width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-md); }
.home-team__intro { width: min(100%, 35rem); }
.home-team__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-team__grid > * { min-width: 0; }
.home-team__grid .card { display: flex; flex-direction: column; gap: var(--space-4); height: 100%; }
.home-team__grid .card > * { margin: 0; min-width: 0; }
.home-team__claim { width: min(100%, 52rem); margin-top: var(--space-8); }
.home-gallery { background: var(--color-obsidian-950); }
.home-gallery__head { display: flex; justify-content: space-between; align-items: end; gap: var(--space-6); min-width: 0; }
.home-gallery__head > * { min-width: 0; }
.home-gallery__head > div { width: min(100%, 32.5rem); }
.home-gallery__head > a { width: auto; white-space: nowrap; }
.home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(3, 13rem); gap: var(--space-4); margin-top: var(--space-8); }
.home-gallery__item { position: relative; width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md); padding: 0; background: var(--color-slate-800); color: var(--color-platinum); text-align: left; }
.home-gallery__item img { width: 100%; height: 100%; max-width: 100%; object-fit: cover; transition: transform var(--transition-base); }
.home-gallery__item::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(10,10,12,.86)); pointer-events: none; }
.home-gallery__item span { position: absolute; z-index: 1; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); width: min(100% - 2rem, 11.25rem); font-size: var(--text-sm); font-weight: 600; line-height: var(--leading-small); }
.home-gallery__item:hover img { transform: scale(1.025); }
.home-gallery__item--roulette { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.home-gallery__item--blackjack { grid-column: 8 / span 5; grid-row: 1; }
.home-gallery__item--dealer { grid-column: 8 / span 5; grid-row: 2; }
.home-gallery__item--guests { grid-column: 1 / span 7; grid-row: 3; }
.home-audience { background: var(--color-graphite-900); }
.home-audience__intro { width: min(100%, 35rem); min-width: 0; }
.home-audience__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.home-audience__grid > * { min-width: 0; }
.home-audience__grid .card { display: flex; flex-direction: column; gap: var(--space-3); min-height: 12.5rem; }
.home-audience__grid .card > * { min-width: 0; margin: 0; }
.home-audience__grid .status { margin-top: auto; }
.home-faq { background: var(--color-obsidian-950); }
.home-faq__intro { width: min(100%, 38.75rem); margin-inline: auto; text-align: center; }
.home-faq__list { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 56.25rem); margin: var(--space-8) auto 0; }
.home-faq__item { min-width: 0; border: 1px solid var(--color-border); background: rgba(18,18,22,.9); }
.home-faq__item h3 { margin: 0; }
.home-faq__item button { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); width: 100%; min-width: 0; border: 0; background: transparent; padding: var(--space-4) var(--space-6); color: var(--color-light-champagne); font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 800; line-height: 1.35; text-align: left; }
.home-faq__item button span { flex: 0 0 1.75rem; color: var(--color-champagne-gold); font-size: 1.75rem; font-weight: 400; text-align: center; transition: transform var(--transition-fast); }
.home-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.home-faq__item [role="region"] { padding: 0 var(--space-6) var(--space-6); }
.home-faq__item [role="region"] > *:last-child { margin-bottom: 0; }
.home-faq__item [role="region"] .button { width: auto; margin-top: var(--space-4); }
.home-safety { background: var(--color-graphite-900); }
.home-safety__panel { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 68.75rem); margin-inline: auto; border-top-color: rgba(66,214,164,.62); padding: var(--space-8); }
.home-safety__panel > * { min-width: 0; margin: 0; }
.home-safety__copy { width: min(100%, 47.5rem); color: var(--color-platinum); }
.home-safety__rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-2); }
.home-safety__rules > * { min-width: 0; }
.home-safety__rules article { border-top: 1px solid rgba(66,214,164,.35); padding-top: var(--space-4); }
.home-safety__rules h3 { font-size: var(--text-lg); }
.home-safety__rules h3, .home-safety__rules p { margin: 0; }
.home-safety__rules p { color: var(--color-platinum-muted); }
.home-final { background: var(--color-obsidian-950); }
.home-final__panel { display: flex; flex-direction: column; align-items: center; gap: var(--space-6); width: min(100%, 37.5rem); min-width: 0; margin-inline: auto; padding: var(--space-16) var(--space-6); text-align: center; background: radial-gradient(circle at 50% 38%, rgba(212,175,55,.17), transparent 62%); }
.home-final__panel > * { min-width: 0; margin: 0; }
.home-final__panel h2 { color: var(--color-light-champagne); }
.home-final__panel small { color: var(--color-platinum-muted); }
.home-lightbox { position: fixed; z-index: 1100; inset: 0; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: var(--space-6); background: rgba(10,10,12,.94); }
.home-lightbox[hidden] { display: none; }
.home-lightbox__dialog { position: relative; display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 70rem); min-width: 0; max-height: calc(100vh - 3rem); padding: var(--space-6); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-lg); background: var(--color-slate-800); }
.home-lightbox__dialog img { width: 100%; max-width: 100%; max-height: min(70vh, 44rem); object-fit: contain; }
.home-lightbox__caption { margin: 0; color: var(--color-platinum); }
.home-lightbox__close, .home-lightbox__previous, .home-lightbox__next { position: absolute; z-index: 1; min-width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); background: rgba(10,10,12,.82); color: var(--color-light-champagne); }
.home-lightbox__close { top: var(--space-4); right: var(--space-4); }
.home-lightbox__previous { top: 50%; left: var(--space-4); transform: translateY(-50%); }
.home-lightbox__next { top: 50%; right: var(--space-4); transform: translateY(-50%); }
@media (max-width: 65.5625rem) { .home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-service--wide { grid-column: span 1; } .home-journey__layout { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-8); } .home-journey::after { width: 100%; opacity: .2; } }
@media (max-width: 61.1875rem) { .home-explainer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-explainer__card:last-child { grid-column: 1 / span 2; } }
@media (max-width: 56.1875rem) { .home-hero { min-height: auto; display: flex; flex-direction: column; align-items: stretch; } .home-hero__media { position: relative; order: 2; height: 18.75rem; } .home-hero__media::after { background: linear-gradient(0deg, rgba(10,10,12,.82), rgba(10,10,12,.08)); } .home-hero__inner { width: 100%; margin: 0; padding: var(--space-12) var(--container-padding); } .home-hero__panel { width: 100%; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; } .home-themes__rows { gap: var(--space-8); } .home-theme, .home-theme--reverse { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-6); } .home-theme--reverse .home-theme__media { order: 2; } .home-theme--reverse .home-theme__copy { justify-self: start; } .home-team__top { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-6); } .home-team__intro { order: -1; } .home-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-team__grid > :last-child { grid-column: 1 / span 2; } .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 16rem); } .home-gallery__item--roulette, .home-gallery__item--blackjack, .home-gallery__item--dealer, .home-gallery__item--guests { grid-column: auto; grid-row: auto; } .home-audience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 47.9375rem) { .home-hero__actions { flex-direction: column; align-items: stretch; } .home-hero__actions > * { width: 100%; } .home-hero__panel h1 { font-size: 2.5rem; } .home-journey::after { display: none; } .home-step { padding: var(--space-4); } .home-faq__item button { min-height: 2.75rem; padding-inline: var(--space-4); font-size: var(--text-base); } .home-faq__item [role="region"] { padding: 0 var(--space-4) var(--space-4); } }
@media (max-width: 37.4375rem) { .home-explainer__grid, .home-services__grid, .home-team__grid, .home-gallery__grid, .home-audience__grid, .home-safety__rules { grid-template-columns: minmax(0, 1fr); } .home-explainer__card:last-child, .home-team__grid > :last-child { grid-column: auto; } .home-services__grid { gap: var(--space-4); } .home-service { min-height: 8.75rem; } .home-gallery__head { flex-direction: column; align-items: flex-start; } .home-gallery__grid { grid-template-rows: none; } .home-gallery__item { aspect-ratio: 16 / 10; } .home-gallery__item span { position: static; display: block; width: 100%; padding: var(--space-3) var(--space-4); background: var(--color-slate-800); } .home-gallery__item::after { display: none; } .home-gallery__item img { height: calc(100% - 4.75rem); } .home-safety__panel { padding: var(--space-6); } .home-safety__rules { gap: var(--space-4); } .home-final__panel { align-items: stretch; padding: var(--space-12) 0; } .home-final__panel .button { width: 100%; } .home-lightbox { padding: var(--space-4); } .home-lightbox__dialog { padding: var(--space-4); } }
@media (prefers-reduced-motion: reduce) { .home-gallery__item:hover img { transform: none; } }
