.casino-page { overflow: clip; }
.casino-page .casino-hero { padding-block: 0 var(--section-space); }
.casino-page .casino-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: center; min-height: 47.5rem; }
.casino-page .casino-hero__copy { grid-column: 2 / span 6; min-width: 0; max-width: 38.75rem; padding-block: var(--space-10); }
.casino-page .casino-hero__copy h1 { max-width: 9.5ch; }
.casino-page .casino-hero__deck { max-width: 34rem; font-size: var(--text-body-large); line-height: var(--line-body-large); }
.casino-page .casino-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.casino-page .casino-hero__note { margin: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-line-dark); color: var(--color-paper); font-size: var(--text-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; width: min(100%, 34rem); }
.casino-page .casino-hero__aside { max-width: 31rem; margin-top: var(--space-7); margin-bottom: 0; color: rgba(255,248,238,.82); }
.casino-page .casino-hero__media { grid-column: 8 / span 5; width: calc(100% + max(0px, (100vw - var(--container-max)) / 2)); min-width: 0; height: 39rem; margin-top: var(--space-7); }
.casino-page .casino-hero__media img { object-position: right center; }
.casino-page .casino-ingredients__intro { width: min(100%, 40.625rem); margin-left: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-ingredients__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); margin-left: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-ingredient { min-width: 0; max-width: 25rem; }
.casino-page .casino-ingredient hr { margin-bottom: var(--space-5); }
.casino-page .casino-ingredient--two hr { background: var(--color-burgundy); }
.casino-page .casino-number { display: block; margin-bottom: var(--space-3); color: var(--color-cobalt); font-size: var(--text-micro); font-weight: 700; letter-spacing: .12em; line-height: var(--line-micro); }
.casino-page .casino-ingredient--two .casino-number, .casino-page .casino-pathway--two .casino-number, .casino-page .casino-story--two .casino-number { color: var(--color-burgundy); }
.casino-page .casino-text-link { display: inline-block; min-height: 2rem; color: var(--color-ink); font-size: var(--text-small); font-weight: 700; line-height: 1.4; text-underline-offset: .22em; }
.casino-page .casino-tactile__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: start; }
.casino-page .casino-tactile__copy { grid-column: 2 / span 4; min-width: 0; max-width: 35rem; }
.casino-page .casino-tactile__copy p { max-width: 27rem; }
.casino-page .casino-tactile__visual { grid-column: 6 / span 7; min-width: 0; }
.casino-page .casino-tactile__media { width: 100%; height: 31rem; margin: 0; }
.casino-page .casino-tactile__media img { object-position: right center; }
.casino-page .casino-tactile__caption { position: relative; width: min(100%, 22.5rem); margin: calc(var(--space-6) * -1) 0 0 calc(var(--space-6) * -1); }
.casino-page .casino-tactile__caption p { margin-bottom: 0; }
.casino-page .casino-pathways__intro { width: min(100%, 37.5rem); margin-left: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-pathways__list { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-7) var(--space-5); margin-top: var(--space-8); }
.casino-page .casino-pathway { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.casino-page .casino-pathway--one, .casino-page .casino-pathway--three { grid-column: 2 / span 7; }
.casino-page .casino-pathway--two { grid-column: 5 / span 7; }
.casino-page .casino-pathway > .casino-number { width: 3rem; }
.casino-page .casino-pathway > div { min-width: 0; max-width: 31rem; }
.casino-page .casino-floor__intro { width: min(100%, 36.875rem); margin-left: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-floor__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) clamp(var(--space-7), 8vw, var(--space-11)); margin-top: var(--space-8); margin-left: calc((100% + var(--space-5)) / 12); margin-right: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-floor__item { position: relative; min-width: 0; max-width: 24.375rem; padding-top: var(--space-6); border-top: 1px solid var(--color-line-dark); }
.casino-page .casino-floor__number { display: block; margin-bottom: var(--space-3); color: var(--color-paper); font-size: var(--text-micro); font-weight: 700; letter-spacing: .12em; }
.casino-page .casino-floor__item--two::before { position: absolute; top: -.8rem; right: 0; color: rgba(255,248,238,.12); content: "02"; font-family: var(--font-heading); font-size: 7rem; line-height: 1; }
.casino-page .casino-floor__item--three .casino-floor__number { color: #f3bdc9; }
.casino-page .casino-floor__item p { margin-bottom: 0; }
.casino-page .casino-floor__item .rule { margin-top: var(--space-5); margin-bottom: 0; }
.casino-page .casino-gallery__intro { width: min(100%, 38.75rem); margin-left: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-gallery__intro .lead { max-width: 34rem; }
.casino-page .casino-gallery__stories { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: var(--space-10); margin-top: var(--space-8); }
.casino-page .casino-story { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); align-items: center; min-width: 0; grid-column: 1 / -1; }
.casino-page .casino-story__copy { min-width: 0; }
.casino-page .casino-story__copy p { max-width: 28.75rem; }
.casino-page .casino-story__media { min-width: 0; margin: 0; width: 100%; }
.casino-page .casino-story--one .casino-story__media { grid-column: 2 / span 5; height: 32rem; }
.casino-page .casino-story--one .casino-story__copy { grid-column: 8 / span 4; }
.casino-page .casino-story--two .casino-story__copy { grid-column: 2 / span 4; }
.casino-page .casino-story--two .casino-story__media { grid-column: 6 / span 7; height: 27rem; }
.casino-page .casino-story--three { align-items: start; }
.casino-page .casino-story--three .casino-story__copy { grid-column: 2 / span 6; }
.casino-page .casino-story--three .casino-story__media { grid-column: 4 / span 8; height: 30rem; margin-top: var(--space-6); }
.casino-page .casino-brief-guide { padding-top: 0; }
.casino-page .casino-brief-guide__panel { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); padding: var(--space-8); border: 1px solid var(--color-line); background: var(--color-paper); }
.casino-page .casino-brief-guide__intro { grid-column: 1 / span 5; min-width: 0; max-width: 35rem; }
.casino-page .casino-brief-guide__rail { grid-column: 5 / span 6; display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.casino-page .casino-prompt { min-width: 0; max-width: 32.5rem; padding-top: var(--space-6); border-top: 1px solid var(--color-line); }
.casino-page .casino-prompt:first-child { padding-top: 0; border-top: 0; }
.casino-page .casino-prompt p { margin-bottom: 0; }
.casino-page .casino-assurance__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
.casino-page .casino-assurance__primary { grid-column: 2 / span 7; min-width: 0; max-width: 42.5rem; }
.casino-page .casino-assurance__primary p { max-width: 30rem; }
.casino-page .casino-assurance__secondary { grid-column: 6 / span 6; min-width: 0; max-width: 26.25rem; margin-top: var(--space-8); }
.casino-page .casino-assurance__secondary p { max-width: 26.25rem; }
.casino-page .casino-text-link--light { color: var(--color-paper); }
.casino-page .casino-process__intro { width: min(100%, 37.5rem); margin-left: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-process__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); margin-left: calc((100% + var(--space-5)) / 12); margin-right: calc((100% + var(--space-5)) / 12); }
.casino-page .casino-process__phase { position: relative; min-width: 0; max-width: 22.5rem; padding-top: var(--space-5); border-top: 1px solid var(--color-line); }
.casino-page .casino-process__phase:nth-child(2)::before { position: absolute; top: -.5px; left: calc(-1 * var(--space-5)); width: var(--space-5); height: 1px; background: var(--color-burgundy); content: ""; }
.casino-page .casino-process__phase p { max-width: 22.5rem; }
.casino-page .casino-process__phase .button { margin-top: var(--space-2); }
.casino-page .casino-inquiry { background: var(--color-burgundy); }
.casino-page .casino-inquiry__panel { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); padding: var(--space-8); background: var(--color-paper); }
.casino-page .casino-inquiry__intro { grid-column: 1 / span 5; min-width: 0; max-width: 33.75rem; }
.casino-page .casino-inquiry__intro p { max-width: 33.75rem; }
.casino-page .casino-form { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }
.casino-page .casino-form__short-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.casino-page .casino-form__field { min-width: 0; }
.casino-page .casino-form__field .form-error:empty { display: none; }
.casino-page .casino-form__field input[aria-invalid="true"], .casino-page .casino-form__field select[aria-invalid="true"], .casino-page .casino-form__field textarea[aria-invalid="true"] { border-color: var(--color-error); background: var(--color-error-tint); }
.casino-page .casino-form__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.casino-page .casino-form__status { display: none; width: 100%; padding: var(--space-3) var(--space-4); border-radius: var(--radius-control); font-size: var(--text-small); font-weight: 700; line-height: var(--line-small); }
.casino-page .casino-form__status.is-success { display: block; background: var(--color-success); color: var(--color-paper); }
.casino-page .casino-form__status.is-error { display: block; background: var(--color-error-tint); color: var(--color-error); }
.casino-page .casino-form__direct { max-width: 28.75rem; margin: 0; font-size: var(--text-small); }
.casino-page .casino-reveal { opacity: 1; transform: translateY(0); transition: opacity 650ms ease-out, transform 650ms ease-out; }
.casino-page .casino-reveal.is-pending { opacity: 0; transform: translateY(1.5rem); }
@media (max-width: 1079px) {
  .casino-page .casino-hero__grid { min-height: 40rem; }
  .casino-page .casino-hero__copy { grid-column: 1 / span 7; }
  .casino-page .casino-hero__media { grid-column: 8 / span 5; height: 32rem; }
}
@media (max-width: 899px) {
  .casino-page .casino-hero { padding-block: var(--section-space); }
  .casino-page .casino-hero__grid, .casino-page .casino-tactile__grid, .casino-page .casino-assurance__grid, .casino-page .casino-inquiry__panel { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .casino-page .casino-hero__grid { min-height: 0; row-gap: var(--space-7); }
  .casino-page .casino-hero__copy { grid-column: 1 / span 6; padding: 0; max-width: 38.75rem; }
  .casino-page .casino-hero__media { grid-column: 1 / span 6; width: 100%; height: 34rem; margin: 0; }
  .casino-page .casino-ingredients__intro, .casino-page .casino-pathways__intro, .casino-page .casino-floor__intro, .casino-page .casino-gallery__intro, .casino-page .casino-process__intro { margin-left: 0; }
  .casino-page .casino-ingredients__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-left: 0; }
  .casino-page .casino-ingredient--three { grid-column: 1 / span 1; }
  .casino-page .casino-tactile__copy { grid-column: 1 / span 6; max-width: 35rem; }
  .casino-page .casino-tactile__visual { grid-column: 1 / span 6; margin-top: var(--space-6); }
  .casino-page .casino-tactile__caption { margin-left: var(--space-6); }
  .casino-page .casino-pathways__list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .casino-page .casino-pathway--one, .casino-page .casino-pathway--two, .casino-page .casino-pathway--three { grid-column: 1 / span 6; }
  .casino-page .casino-floor__grid { grid-template-columns: 1fr; margin-inline: 0; }
  .casino-page .casino-floor__item { max-width: 24.375rem; }
  .casino-page .casino-gallery__stories, .casino-page .casino-story { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .casino-page .casino-story--one .casino-story__copy, .casino-page .casino-story--two .casino-story__copy, .casino-page .casino-story--three .casino-story__copy { grid-column: 1 / span 6; }
  .casino-page .casino-story--one .casino-story__media, .casino-page .casino-story--two .casino-story__media, .casino-page .casino-story--three .casino-story__media { grid-column: 1 / span 6; margin-top: var(--space-5); }
  .casino-page .casino-story--one .casino-story__media { height: 34rem; }
  .casino-page .casino-story--two .casino-story__media { order: -1; height: 31rem; margin-top: 0; margin-bottom: var(--space-5); }
  .casino-page .casino-story--three .casino-story__media { height: 27rem; }
  .casino-page .casino-brief-guide__panel { grid-template-columns: repeat(6, minmax(0, 1fr)); padding: var(--space-7); }
  .casino-page .casino-brief-guide__intro, .casino-page .casino-brief-guide__rail { grid-column: 1 / span 6; }
  .casino-page .casino-brief-guide__rail { margin-top: var(--space-7); }
  .casino-page .casino-assurance__primary, .casino-page .casino-assurance__secondary { grid-column: 1 / span 6; }
  .casino-page .casino-assurance__secondary { margin-top: var(--space-7); }
  .casino-page .casino-process__grid { grid-template-columns: 1fr; margin-inline: 0; }
  .casino-page .casino-process__phase { max-width: 25rem; }
  .casino-page .casino-inquiry__intro, .casino-page .casino-form { grid-column: 1 / span 6; }
  .casino-page .casino-form { margin-top: var(--space-7); }
}
@media (max-width: 699px) {
  .casino-page .casino-hero__grid, .casino-page .casino-tactile__grid, .casino-page .casino-assurance__grid, .casino-page .casino-inquiry__panel, .casino-page .casino-brief-guide__panel { grid-template-columns: 1fr; }
  .casino-page .casino-hero__copy h1 { max-width: none; font-size: clamp(3.1rem, 14vw, 4.7rem); }
  .casino-page .casino-hero__break { display: none; }
  .casino-page .casino-hero__deck, .casino-page .casino-hero__aside { max-width: none; }
  .casino-page .casino-hero__media { grid-column: 1; width: calc(100% - .75rem); height: 28rem; margin-right: -.75rem; }
  .casino-page .casino-ingredients__grid, .casino-page .casino-process__grid { grid-template-columns: 1fr; gap: var(--space-7); }
  .casino-page .casino-ingredient, .casino-page .casino-ingredient--three { grid-column: 1; max-width: none; }
  .casino-page .casino-ingredient { padding-top: var(--space-5); border-top: 1px solid var(--color-line); }
  .casino-page .casino-ingredient hr { display: none; }
  .casino-page .casino-tactile__copy, .casino-page .casino-tactile__visual, .casino-page .casino-assurance__primary, .casino-page .casino-assurance__secondary, .casino-page .casino-inquiry__intro, .casino-page .casino-form, .casino-page .casino-brief-guide__intro, .casino-page .casino-brief-guide__rail { grid-column: 1; }
  .casino-page .casino-tactile__copy h2, .casino-page .casino-assurance__primary h2 { font-size: clamp(2.4rem, 11vw, 3.3rem); }
  .casino-page .casino-tactile__copy p, .casino-page .casino-assurance__primary p, .casino-page .casino-assurance__secondary p { max-width: none; }
  .casino-page .casino-tactile__media { height: 28rem; }
  .casino-page .casino-tactile__caption { width: 100%; margin: var(--space-5) 0 0; padding: var(--space-5); box-shadow: none; }
  .casino-page .casino-pathways__list { grid-template-columns: 1fr; gap: var(--space-7); }
  .casino-page .casino-pathway--one, .casino-page .casino-pathway--two, .casino-page .casino-pathway--three { grid-column: 1; grid-template-columns: 1fr; gap: var(--space-2); }
  .casino-page .casino-pathway > .casino-number { width: auto; }
  .casino-page .casino-text-link { min-height: 3rem; padding-block: .5rem; }
  .casino-page .casino-floor__grid { gap: var(--space-6); margin-top: var(--space-7); }
  .casino-page .casino-floor__item { max-width: none; }
  .casino-page .casino-gallery__stories, .casino-page .casino-story { grid-template-columns: 1fr; row-gap: 0; }
  .casino-page .casino-gallery__stories { row-gap: var(--space-8); }
  .casino-page .casino-story--one .casino-story__copy, .casino-page .casino-story--two .casino-story__copy, .casino-page .casino-story--three .casino-story__copy, .casino-page .casino-story--one .casino-story__media, .casino-page .casino-story--two .casino-story__media, .casino-page .casino-story--three .casino-story__media { grid-column: 1; }
  .casino-page .casino-story__copy p { max-width: none; }
  .casino-page .casino-story--one .casino-story__media, .casino-page .casino-story--two .casino-story__media { height: 27rem; }
  .casino-page .casino-story--three .casino-story__media { height: 20rem; }
  .casino-page .casino-story--two .casino-story__media { margin-bottom: var(--space-5); }
  .casino-page .casino-brief-guide__panel, .casino-page .casino-inquiry__panel { padding: var(--space-5); }
  .casino-page .casino-brief-guide__rail { gap: var(--space-5); margin-top: var(--space-6); }
  .casino-page .casino-assurance__secondary { margin-top: var(--space-6); }
  .casino-page .casino-process__phase { max-width: none; }
  .casino-page .casino-process__phase:nth-child(2)::before { display: none; }
  .casino-page .casino-process__phase .button, .casino-page .casino-form__submit button { width: 100%; }
  .casino-page .casino-form__short-fields { grid-template-columns: 1fr; gap: var(--space-5); }
  .casino-page .casino-form textarea { min-height: 10rem; }
}
@media (hover: hover) and (pointer: fine) { .casino-page .casino-hero__media:hover img, .casino-page .casino-story__media:hover img { transform: scale(1.015); } }
@media (prefers-reduced-motion: reduce) { .casino-page .casino-reveal, .casino-page .casino-reveal.is-pending { opacity: 1; transform: none; } }