.home-page { overflow: clip; }
.home-page a:focus-visible, .home-page button:focus-visible { outline: 2px solid var(--color-signal-white); outline-offset: 3px; }
.home-hero { position: relative; min-height: 47.5rem; display: grid; align-items: end; isolation: isolate; background: var(--color-graphite-950); }
.home-hero__media, .home-hero__media::after { position: absolute; inset: 0; }
.home-hero__media { z-index: -2; overflow: hidden; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-hero__media::after { content: ""; background: linear-gradient(90deg, rgb(17 19 22 / 90%) 0%, rgb(17 19 22 / 70%) 37%, rgb(17 19 22 / 18%) 72%); }
.home-hero__beam { position: absolute; inset: -20%; background: linear-gradient(112deg, transparent 44%, rgb(142 99 255 / 16%) 49%, rgb(30 102 103 / 12%) 54%, transparent 59%); transform: translateX(-20%); animation: homeBeam 8s ease-in-out infinite alternate; }
.home-hero__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); padding-block: var(--space-9); }
.home-hero__copy { grid-column: 1 / span 12; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-copper); border-radius: var(--radius-1); background: rgb(17 19 22 / 80%); box-shadow: var(--shadow-deep); }
.home-hero__copy > * { min-width: 0; margin: 0; }
.home-hero__copy h1 { font-size: clamp(3.5rem, 5vw, 4.5rem); }

.home-hero__actions, .home-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.home-tag-button { display: inline-flex; min-height: 2.75rem; min-width: 0; flex-direction: column; justify-content: center; padding: var(--space-2) var(--space-4); border: 1px solid var(--color-oxidised-copper-500); border-radius: var(--radius-1); background: var(--color-oxidised-copper-500); color: var(--color-graphite-950); font-family: var(--font-heading); font-weight: 650; line-height: 1.15; text-decoration: none; transition: transform var(--transition-fast), background-color var(--transition-fast); }
.home-tag-button span { font-size: .625rem; letter-spacing: .1em; }
.home-tag-button:hover { background: var(--color-oxidised-copper-400); transform: translateY(-2px); }
.home-arrow-link { display: inline-flex; min-height: 2.75rem; min-width: 0; align-items: center; gap: var(--space-2); color: var(--color-pale-sand-100); font-family: var(--font-heading); font-weight: 600; text-underline-offset: .25em; }
.home-arrow-link b { font-size: 1.2em; }
.home-hero__zones { position: absolute; right: max(3rem, calc((100vw - var(--container-max)) / 2)); bottom: var(--space-6); display: flex; max-width: 50rem; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.home-hero__zones span { padding: .35rem .5rem; border: 1px solid rgb(167 101 78 / 55%); background: rgb(17 19 22 / 74%); color: var(--color-pale-sand-100); font-family: var(--font-heading); font-size: var(--text-technical); font-weight: 600; letter-spacing: .08em; }
.home-process__intro { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-6); align-items: end; margin-block-end: var(--space-7); }
.home-process__intro > * { min-width: 0; }
.home-process__intro p:not(.technical-label) { max-width: 40rem; }
.home-process__sequence { margin: 0; color: var(--color-pale-sand-300); font-family: var(--font-heading); font-size: clamp(1.2rem, 2vw, 2rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.1; text-align: right; }
.home-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.home-process__step { min-width: 0; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4) 0; border-top: var(--border-copper); transition: border-color var(--transition-fast); }
.home-process__step > * { min-width: 0; }
.home-process__step > span, .home-format > span, .home-whole__proofs > article > span { color: var(--color-oxidised-copper-500); font-family: var(--font-heading); font-weight: 650; }
.home-process__step h3 { font-size: 1.3rem; }
.home-process__step p { margin: 0; }
.home-process__step:hover, .home-process__step:focus { border-color: var(--color-pale-sand-100); }
.home-event-types { background: linear-gradient(135deg, var(--color-graphite-950), var(--color-graphite-900)); }
.home-event-types__intro { margin-block-end: var(--space-7); }
.home-event-types__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: minmax(15rem, auto) minmax(15rem, auto); gap: var(--space-5); }
.home-type { min-width: 0; text-decoration: none; overflow: hidden; border: var(--border-default); border-radius: var(--radius-1); transition: transform var(--transition-panel), border-color var(--transition-panel); }
.home-type:hover, .home-type:focus-visible { transform: translateY(-.35rem); border-color: var(--color-oxidised-copper-500); }
.home-type--casino { grid-column: 1 / span 7; grid-row: 1 / span 2; position: relative; display: grid; align-items: end; background: var(--color-graphite-800); }
.home-type--casino img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-type--casino::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(17 19 22 / 94%), rgb(17 19 22 / 18%) 75%); }
.home-type > div { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.home-type > div > * { min-width: 0; margin: 0; }
.home-type--casino > div { position: relative; z-index: 1; width: min(100%, 34rem); }
.home-type--casino p:not(.technical-label) { max-width: 31rem; }
.home-type--private { grid-column: 8 / span 5; grid-row: 1; background: var(--color-pale-sand-100); color: var(--color-graphite-950); }
.home-type--private :is(h3, p, .technical-label, .home-arrow-link) { color: var(--color-graphite-950); }
.home-type--private .technical-label { color: #554b40; }
.home-type--corporate { grid-column: 8 / span 5; grid-row: 2; background: var(--color-graphite-800); }
.home-type h3 { font-size: var(--text-h3); }
.home-casino__intro {  margin-block-end: var(--space-7); }
.home-casino__formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-format { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-height: 22rem; padding: var(--space-5); border: var(--border-copper); background: var(--color-graphite-800); transition: transform var(--transition-panel), border-color var(--transition-panel); }
.home-format > * { min-width: 0; margin: 0; }
.home-format p { max-width: 23rem; }
.home-format .home-arrow-link { margin-top: auto; }
.home-format--teal { background: var(--color-deep-teal-800); }
.home-format:hover, .home-format:focus-within { transform: translateY(-.3rem); border-color: var(--color-pale-sand-100); }
.home-casino__note { width: min(100%, 52rem); margin: var(--space-6) 0 0 auto; padding: var(--space-5); border: var(--border-default); border-left: var(--border-copper); background: rgb(36 40 45 / 72%); }
.home-casino__note h3 { font-size: var(--text-h4); }
.home-casino__note p { max-width: 48rem; margin-bottom: 0; }
.home-design { background: var(--color-graphite-950); }
.home-design__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-design__media { grid-column: 1 / span 6; min-width: 0; margin: 0; }
.home-gallery-trigger { position: relative; display: block; width: 100%; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; background: transparent; cursor: zoom-in; }
.home-gallery-trigger img { width: 100%; height: 42.5rem; object-fit: cover; object-position: center; }
.home-gallery-trigger span { position: absolute; left: var(--space-3); bottom: var(--space-3); padding: .3rem .5rem; background: rgb(17 19 22 / 82%); color: var(--color-pale-sand-100); font-family: var(--font-heading); font-size: var(--text-technical); }
.home-design__copy { grid-column: 8 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-block-start: var(--space-5); }
.home-design__copy > * { min-width: 0; margin: 0; }
.home-design__copy h2 { max-width: 13ch; }
.home-design__copy > p:not(.technical-label) { max-width: 34rem; }
.home-design__notes { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-3); }
.home-design__notes > * { min-width: 0; padding: var(--space-4); }
.home-design__notes article:first-child { border-left: 2px solid var(--color-electric-violet-500); background: var(--color-graphite-800); }
.home-design__notes article:last-child { background: var(--color-pale-sand-100); }
.home-design__notes article:last-child :is(h3, p) { color: var(--color-graphite-950); }
.home-design__notes h3 { font-size: 1.15rem; }
.home-design__notes p { margin-bottom: 0; }
.home-arrival { width: min(100%, 38rem); display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: var(--space-4); margin: var(--space-6) 0 var(--space-5); }
.home-arrival > * { min-width: 0; }
.home-arrival span { color: var(--color-oxidised-copper-500); font-family: var(--font-heading); font-size: var(--text-technical); font-weight: 650; letter-spacing: .08em; }
.home-arrival p { margin: 0; }
.home-atmosphere__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.home-atmosphere__grid > * { min-width: 0; }
.home-atmosphere__grid figure { grid-column: 1 / span 8; position: relative; margin: 0; }
.home-atmosphere__grid figure img { width: 100%; height: 31rem; object-fit: cover; }
.home-atmosphere__grid figcaption { position: absolute; left: var(--space-4); bottom: var(--space-4); margin: 0; color: var(--color-signal-white); font-family: var(--font-heading); font-weight: 600; }
.home-bar-copy { grid-column: 2 / span 5; margin-top: -8rem; z-index: 1; align-self: end; padding: var(--space-5); background: rgb(17 19 22 / 88%); border: var(--border-copper); }
.home-bar-copy h3 { font-size: var(--text-h4); }
.home-bar-copy p { margin: 0; max-width: 29rem; }
.home-sound { grid-column: 9 / span 4; min-width: 0; padding: var(--space-5); background: var(--color-deep-teal-800); }
.home-sound h3 { font-size: var(--text-h4); }
.home-sound p:last-child { margin-bottom: 0; }
.home-people { width: min(100%, 40rem); margin: var(--space-6) 0 0 auto; color: var(--color-pale-sand-100); font-family: var(--font-heading); font-size: var(--text-h4); line-height: 1.3; }
.home-gallery { background: var(--color-graphite-950); }
.home-gallery__intro {  margin-block-end: var(--space-6); }
.home-gallery__grid { display: grid; grid-template-columns: 7fr 3fr 2fr; gap: var(--space-5); align-items: start; }
.home-gallery__grid > * { min-width: 0; margin: 0; }
.home-gallery__grid img { width: 100%; object-fit: cover; }
.home-gallery__grid figure:nth-child(1) img { height: 25rem; }
.home-gallery__grid figure:nth-child(2) img { height: 31rem; }
.home-gallery__grid figure:nth-child(3) { margin-top: 7rem; }
.home-gallery__grid figure:nth-child(3) img { height: 13rem; }
.home-gallery__grid figcaption { margin-top: var(--space-3); }
.home-gallery__grid figcaption b { color: var(--color-oxidised-copper-500); font-family: var(--font-heading); margin-right: var(--space-2); }
.home-gallery__cta { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: var(--space-4); margin-top: var(--space-5); }
.home-gallery__cta p { margin: 0; }
.home-whole { background: var(--color-pale-sand-100); color: var(--color-graphite-950); }
.home-whole :is(h2, h3, p, .technical-label, a) { color: var(--color-graphite-950); }
.home-whole .technical-label { color: #554b40; }
.home-whole__intro {  margin-block-end: var(--space-7); }
.home-whole__proofs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-whole__proofs > article { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-oxidised-copper-500); }
.home-whole__proofs h3 { font-size: var(--text-h4); }
.home-whole__proofs p { max-width: 26rem; margin-bottom: 0; }
.home-contact__panel { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-height: 27rem; overflow: hidden; border: var(--border-copper); background: var(--color-graphite-950); }
.home-contact__copy { grid-column: 2 / span 7; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); justify-content: center; padding-block: var(--space-7); }
.home-contact__copy > * { min-width: 0; margin: 0; }
.home-contact__copy h2 { max-width: 15ch; }
.home-contact__copy > p:not(.technical-label) { max-width: 33rem; }
.home-contact__light { grid-column: 9 / span 4; min-width: 0; background: radial-gradient(circle at 65% 45%, rgb(142 99 255 / 32%), transparent 20%), linear-gradient(120deg, transparent 25%, rgb(30 102 103 / 36%), transparent 72%); }
.home-brief__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-brief__grid article { min-width: 0; padding: var(--space-5); border: var(--border-copper); background: var(--color-graphite-800); }
.home-brief__grid h2 { font-size: var(--text-h4); }
.home-brief__grid p { max-width: 31rem; }
.home-brief__grid p:last-child { margin-bottom: 0; }
.home-brief__chain { color: var(--color-pale-sand-100) !important; font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 650; letter-spacing: .04em; line-height: 1.5; }
.home-lightbox { width: min(94vw, 70rem); max-height: 92vh; padding: 0; border: var(--border-default); background: var(--color-graphite-950); color: var(--color-text); }
.home-lightbox::backdrop { background: rgb(0 0 0 / 82%); }
.home-lightbox__inner { position: relative; display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) 3.5rem; align-items: center; min-width: 0; padding: var(--space-5); }
.home-lightbox__inner > * { min-width: 0; }
.home-lightbox figure { margin: 0; }
.home-lightbox img { width: 100%; max-height: 74vh; object-fit: contain; }
.home-lightbox figcaption { margin: var(--space-3) 0 0; color: var(--color-pale-sand-100); }
.home-lightbox button { background: transparent; color: var(--color-signal-white); font-size: 1.75rem; }
.home-lightbox__close { position: absolute; top: .25rem; right: .25rem; z-index: 1; }
@keyframes homeBeam { to { transform: translateX(20%); } }
@media (max-width: 67.5rem) { .home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-event-types__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }.home-type--casino { grid-column: 1 / span 8; grid-row: 1; min-height: 30rem; }.home-type--private { grid-column: 1 / span 4; grid-row: 2; }.home-type--corporate { grid-column: 5 / span 4; grid-row: 2; }.home-design__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }.home-design__media { grid-column: 1 / span 4; }.home-design__copy { grid-column: 5 / span 4; }.home-design__notes { grid-template-columns: 1fr; }.home-atmosphere__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }.home-atmosphere__grid figure { grid-column: 1 / span 8; }.home-bar-copy { grid-column: 1 / span 4; margin-top: var(--space-4); }.home-sound { grid-column: 5 / span 4; margin-top: var(--space-4); }.home-gallery__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }.home-gallery__grid figure:nth-child(1) { grid-column: 1 / span 8; }.home-gallery__grid figure:nth-child(2) { grid-column: 1 / span 4; }.home-gallery__grid figure:nth-child(3) { grid-column: 5 / span 4; margin-top: 0; }.home-contact__copy { grid-column: 1 / span 8; padding-inline: var(--space-6); }.home-contact__light { display: none; } }
@media (max-width: 63.9375rem) { .home-hero { min-height: 43rem; }.home-hero__copy { grid-column: 1 / span 6; }.home-hero__zones { right: var(--space-5); }.home-casino__formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-format:nth-child(3) { grid-column: 1 / span 1; }.home-whole__proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-whole__proofs article:nth-child(3) { grid-column: 1 / span 1; } }
@media (max-width: 47.9375rem) { .home-hero { display: flex; flex-direction: column; min-height: 0; padding-block: var(--space-7) 0; }.home-hero__media { position: relative; order: 2; width: 100%; height: 28rem; margin-top: var(--space-5); }.home-hero__media::after { background: linear-gradient(180deg, rgb(17 19 22 / 20%), rgb(17 19 22 / 40%)); }.home-hero__layout { display: block; width: 100%; padding-block: 0; }.home-hero__copy { padding: 0; border: 0; background: transparent; box-shadow: none; }.home-hero__copy h1 { font-size: 3rem; }.home-hero__zones { position: relative; right: auto; bottom: auto; order: 3; width: 100%; max-width: none; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: var(--space-3) var(--container-padding); }.home-hero__zones span { flex: 0 0 auto; }.home-process__intro, .home-process__steps, .home-casino__formats, .home-whole__proofs, .home-brief__grid { grid-template-columns: 1fr; }.home-process__intro { gap: var(--space-4); margin-bottom: var(--space-6); }.home-process__sequence { text-align: left; }.home-process__step { grid-template-columns: 2.5rem minmax(0, 1fr); }.home-event-types__grid { grid-template-columns: 1fr; grid-template-rows: auto; }.home-type--casino, .home-type--private, .home-type--corporate { grid-column: 1; grid-row: auto; min-height: 0; }.home-type--casino { min-height: 32rem; }.home-casino__note { width: 100%; }.home-design__layout { grid-template-columns: 1fr; }.home-design__copy { grid-column: 1; grid-row: 1; padding: 0; }.home-design__media { grid-column: 1; grid-row: 2; }.home-gallery-trigger img { height: auto; aspect-ratio: 4 / 5; }.home-design__notes { grid-template-columns: 1fr; }.home-atmosphere__grid { grid-template-columns: 1fr; }.home-atmosphere__grid figure, .home-bar-copy, .home-sound { grid-column: 1; margin-top: 0; }.home-atmosphere__grid figure img { height: auto; aspect-ratio: 4 / 3; }.home-bar-copy { padding: var(--space-4); }.home-arrival { grid-template-columns: 1fr; gap: var(--space-2); }.home-people { width: 100%; margin-left: 0; }.home-gallery__grid { grid-template-columns: 1fr; }.home-gallery__grid figure:nth-child(1), .home-gallery__grid figure:nth-child(2), .home-gallery__grid figure:nth-child(3) { grid-column: 1; margin-top: 0; }.home-gallery__grid figure:nth-child(1) img { height: auto; aspect-ratio: 16 / 10; }.home-gallery__grid figure:nth-child(2) img { height: auto; aspect-ratio: 4 / 5; }.home-gallery__grid figure:nth-child(3) img { height: auto; aspect-ratio: 1; }.home-gallery__cta { justify-content: flex-start; align-items: flex-start; flex-direction: column; }.home-whole__proofs article:nth-child(3) { grid-column: 1; }.home-contact__panel { grid-template-columns: 1fr; min-height: 0; }.home-contact__copy { grid-column: 1; padding: var(--space-6) var(--space-5); }.home-contact__actions { align-items: flex-start; flex-direction: column; }.home-lightbox__inner { grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; padding: var(--space-3); }.home-lightbox__inner button { min-width: 2.75rem; padding: 0; } }
@media (prefers-reduced-motion: reduce) { .home-hero__beam { animation: none; transform: none; } }
