.contact-page { background: var(--color-outback-charcoal); }
.contact-page section { min-width: 0; }
.contact-hero { position: relative; isolation: isolate; min-height: 43rem; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.contact-hero__image, .contact-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.contact-hero__image { object-fit: cover; object-position: center; }
.contact-hero__shade { z-index: 1; background: linear-gradient(90deg, rgb(23 26 24 / .88) 0%, rgb(23 26 24 / .63) 42%, rgb(23 26 24 / .18) 73%, rgb(23 26 24 / .28) 100%); }
.contact-hero__contours { position: absolute; z-index: 2; right: 7%; top: 17%; width: 33%; height: 65%; opacity: .72; pointer-events: none; }
.contact-hero__contours span { position: absolute; width: 100%; height: 28%; border: 1px solid rgb(216 196 154 / .58); border-left: 0; border-radius: 0 62% 62% 0; transform: skewY(-11deg); }
.contact-hero__contours span:nth-child(2) { top: 28%; right: 7%; width: 82%; border-color: rgb(197 138 50 / .72); }
.contact-hero__contours span:nth-child(3) { top: 56%; right: 14%; width: 67%; border-color: rgb(216 196 154 / .42); }
.contact-hero__layout { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: var(--space-6); padding-block: var(--space-10); }
.contact-hero__copy { grid-column: 1; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.contact-hero__copy > * { min-width: 0; margin: 0; }
.contact-hero__lead { max-width: 34rem; font-size: var(--text-lead); line-height: var(--leading-lead); }
.contact-text-link { position: relative; display: inline-block; padding-block-end: var(--space-2); color: var(--color-warm-linen); font-size: var(--text-small); font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.contact-text-link::after, .contact-plaque a::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: var(--color-desert-rust); transform: scaleX(.42); transform-origin: left; transition: transform var(--transition-fast); }
.contact-text-link:hover::after, .contact-text-link:focus-visible::after, .contact-plaque a:hover::after, .contact-plaque a:focus-visible::after { transform: scaleX(1); }
.contact-hero__routes { grid-column: 2; justify-self: end; align-self: end; width: min(100%, 28rem); min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2) var(--space-4); padding-block-end: var(--space-4); }
.contact-hero__routes a, .contact-wayfinding__markers a { min-width: 0; color: var(--color-pale-ochre); font-size: var(--text-meta); font-weight: 600; letter-spacing: .12em; line-height: var(--leading-meta); text-decoration: none; text-transform: uppercase; transition: color var(--transition-fast), transform var(--transition-fast); }
.contact-hero__routes a:hover, .contact-hero__routes a:focus-visible, .contact-wayfinding__markers a:hover, .contact-wayfinding__markers a:focus-visible { color: var(--color-warm-linen); transform: translateY(-2px); }
.contact-wayfinding { background: var(--color-charcoal-lift); }
.contact-wayfinding__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); align-items: center; }
.contact-wayfinding__intro { grid-column: 1; min-width: 0; max-width: 31rem; }
.contact-wayfinding__wall { grid-column: 2; min-width: 0; min-height: 31rem; position: relative; overflow: hidden; padding: var(--space-6); border: var(--border); background: linear-gradient(160deg, #6d2d20 0%, #9d422b 30%, #4c2b25 58%, #183c32 100%); }
.contact-wayfinding__wall::before, .contact-plaque::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .2; background: repeating-linear-gradient(174deg, transparent 0 32px, rgb(241 233 216 / .3) 33px 34px, transparent 35px 57px); }
.contact-wayfinding__line { position: absolute; inset: 13% 8% 14% 10%; border: 1px solid rgb(216 196 154 / .6); border-radius: 43% 57% 48% 52% / 37% 45% 55% 63%; transform: rotate(-8deg); }
.contact-wayfinding__line::after { content: ""; position: absolute; inset: 15% 10%; border: 1px solid rgb(197 138 50 / .78); border-radius: inherit; }
.contact-wayfinding__markers { position: relative; z-index: 1; width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); }
.contact-wayfinding__markers a:nth-child(n+4) { color: var(--color-warm-linen); }
.contact-wayfinding__legend { position: absolute; z-index: 1; bottom: var(--space-5); left: var(--space-6); width: min(78%, 28rem); margin: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-desert-rust); color: var(--color-pale-ochre); font-size: var(--text-meta); line-height: var(--leading-meta); }
.contact-wayfinding__transcript { grid-column: 1 / -1; min-width: 0; max-width: 38rem; display: flex; flex-direction: column; gap: var(--space-5); }
.contact-wayfinding__transcript p { margin: 0; }
.contact-details__intro { max-width: 32.5rem; }
.contact-details__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.contact-plaque { position: relative; min-width: 0; min-height: 17rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); overflow: hidden; border: 1px solid rgb(216 196 154 / .28); background: linear-gradient(145deg, #6d2f23, #9b422c 45%, #4e2923); }
.contact-plaque > * { position: relative; z-index: 1; min-width: 0; margin: 0; }
.contact-plaque__label { color: var(--color-pale-ochre); font-size: var(--text-meta); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.contact-plaque a { position: relative; display: inline-block; padding-block-end: var(--space-2); color: var(--color-warm-linen); font-family: var(--font-heading); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.15; overflow-wrap: anywhere; text-decoration: none; }
.contact-plaque p { color: var(--color-warm-linen); font-size: var(--text-small); line-height: var(--leading-small); }
.contact-plaque__address { font-family: var(--font-heading); font-size: clamp(1.25rem, 2vw, 1.65rem) !important; font-weight: 700; line-height: 1.2 !important; }
.contact-details__guidance { max-width: 37.5rem; margin-top: var(--space-6); margin-bottom: 0; color: var(--color-pale-ochre); }
.contact-topics { background: var(--color-charcoal-lift); }
.contact-topics__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 6fr) minmax(0, 1fr); gap: var(--space-5); }
.contact-topics__heading { grid-column: 1; min-width: 0; max-width: 26rem; }
.contact-topics__list { grid-column: 3; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); position: relative; }
.contact-topics__list::before { content: ""; position: absolute; left: -2.5rem; top: 0; bottom: 0; width: 1px; background: linear-gradient(var(--color-stone-line), var(--color-desert-rust), var(--color-cobalt-night)); }
.contact-topic { min-width: 0; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border); }
.contact-topic--casino { border-top-color: var(--color-deep-bush-green); border-top-width: 3px; }
.contact-topic--table { border-top-color: var(--color-desert-rust); }
.contact-topic__number { color: var(--color-pale-ochre); font-family: var(--font-heading); font-size: var(--text-small); font-weight: 700; }
.contact-topic__copy { min-width: 0; }
.contact-topic__copy h3 { font-size: 1.25rem; }
.contact-topic__copy p { margin-bottom: 0; font-size: var(--text-small); line-height: var(--leading-small); }
.contact-form-section { background: var(--color-outback-charcoal); }
.contact-form-section__surround { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.contact-form-panel { grid-column: 3 / span 8; min-width: 0; padding: clamp(var(--space-6), 6vw, var(--space-9)); border: 1px solid var(--color-stone-line); position: relative; overflow: hidden; }
.contact-form-panel::before { content: ""; position: absolute; inset: auto -10% -20% 32%; width: 55%; height: 70%; border: 1px solid rgb(32 35 31 / .12); border-radius: 50%; transform: rotate(-20deg); pointer-events: none; }
.contact-form-panel__intro, .contact-form-panel__area { position: relative; z-index: 1; min-width: 0; }
.contact-form-panel__intro { max-width: 33.75rem; }
.contact-form-panel__area { margin-top: var(--space-6); }
.contact-form { display: flex; flex-direction: column; gap: var(--space-5); }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); }
.contact-field { min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); }
.contact-field--message { grid-column: 1 / -1; }
.contact-form-panel label { color: var(--color-charcoal-ink); }
.contact-form-panel input, .contact-form-panel textarea { min-width: 0; min-height: 3rem; border-color: color-mix(in srgb, var(--color-charcoal-ink) 48%, transparent); background: rgb(241 233 216 / .55); color: var(--color-charcoal-ink); }
.contact-form-panel textarea { min-height: 8.5rem; }
.contact-field__helper { color: color-mix(in srgb, var(--color-charcoal-ink) 72%, transparent); font-size: var(--text-small); line-height: var(--leading-small); }
.contact-error { min-height: 1.25rem; margin: 0; color: #8b2d1e; font-size: var(--text-small); font-weight: 600; line-height: 1.3; }
.contact-form__note { max-width: 38.75rem; margin: 0; padding-top: var(--space-4); border-top: 1px solid color-mix(in srgb, var(--color-charcoal-ink) 35%, transparent); color: color-mix(in srgb, var(--color-charcoal-ink) 84%, transparent); font-size: var(--text-small); line-height: var(--leading-small); }
.contact-form .button { align-self: flex-start; min-width: 11.25rem; }
.contact-confirmation { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-top: var(--space-4); border-top: 1px solid color-mix(in srgb, var(--color-charcoal-ink) 35%, transparent); }
.contact-confirmation > * { margin: 0; }
.contact-casino { background: linear-gradient(145deg, var(--color-deep-bush-green), var(--color-cobalt-night)); }
.contact-casino__band { width: 100%; min-width: 0; margin-bottom: var(--space-7); padding: var(--space-4) 0; border-top: var(--border); border-bottom: var(--border); color: var(--color-pale-ochre); font-size: var(--text-small); font-weight: 600; letter-spacing: .1em; line-height: var(--leading-small); text-transform: uppercase; }
.contact-casino__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); gap: var(--space-5); align-items: start; }
.contact-casino__copy { grid-column: 1; min-width: 0; max-width: 38.75rem; }
.contact-casino__media { grid-column: 3; min-width: 0; height: 29rem; }
.contact-casino__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(23 26 24 / .26), transparent 55%); pointer-events: none; transition: opacity var(--transition-image); }
.contact-casino__media:hover::after { opacity: .72; }
.contact-casino__media .caption { position: absolute; z-index: 1; bottom: var(--space-4); left: var(--space-4); width: calc(100% - var(--space-8)); padding-top: var(--space-2); border-top: 1px solid var(--color-warm-ochre); color: var(--color-warm-linen); }
.contact-access { padding-block: clamp(var(--space-8), 9vw, var(--space-10)); background: var(--color-outback-charcoal); }
.contact-access__panel { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 6fr); gap: var(--space-5); padding: var(--space-7); border: var(--border); background: var(--color-deep-bush-green); }
.contact-access__intro { grid-column: 1; min-width: 0; max-width: 27rem; }
.contact-access__list { grid-column: 3; min-width: 0; display: flex; flex-direction: column; }
.contact-access__item { min-width: 0; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-5); border-top: 1px solid rgb(216 196 154 / .35); }
.contact-access__item:last-child { border-bottom: 1px solid rgb(216 196 154 / .35); }
.contact-access__item > span { color: var(--color-pale-ochre); font-family: var(--font-heading); font-size: var(--text-small); font-weight: 700; }
.contact-access__item > div { min-width: 0; max-width: 38rem; }
.contact-access__item h3 { margin-bottom: var(--space-3); font-size: 1.25rem; }
.contact-access__item p { margin-bottom: 0; }
.contact-closing { position: relative; background: var(--color-charcoal-lift); }
.contact-closing::before { content: ""; position: absolute; top: 0; left: 0; width: 56%; height: 3px; background: var(--color-desert-rust); }
.contact-closing__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.contact-closing__copy { grid-column: 2 / span 5; min-width: 0; max-width: 31.25rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.contact-closing__copy > * { margin: 0; min-width: 0; }

@media (max-width: 68.75rem) {
.contact-hero { min-height: 40rem; }
.contact-hero__layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.contact-hero__routes { width: min(100%, 20rem); }
.contact-wayfinding__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.contact-wayfinding__intro, .contact-wayfinding__wall, .contact-wayfinding__transcript { grid-column: 1; }
.contact-wayfinding__intro { max-width: 32.5rem; }
.contact-topics__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.contact-topics__heading, .contact-topics__list { grid-column: 1; }
.contact-topics__list { max-width: 52rem; grid-template-columns: minmax(0, 1fr); margin-left: var(--space-6); }
.contact-form-panel { grid-column: 2 / span 10; }
.contact-casino__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.contact-casino__copy, .contact-casino__media { grid-column: 1; }
.contact-casino__copy { max-width: 38.75rem; }
.contact-casino__media { height: 34rem; }
.contact-access__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.contact-access__intro, .contact-access__list { grid-column: 1; }
.contact-access__list { max-width: 43rem; }
}
@media (max-width: 61.25rem) {
.contact-details__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-plaque--address { grid-column: 1 / -1; min-height: 14rem; }
}
@media (max-width: 56.25rem) {
.contact-hero__layout { grid-template-columns: minmax(0, 1fr); align-items: center; }
.contact-hero__copy { grid-column: 1; }
.contact-hero__routes { grid-column: 1; justify-self: start; align-self: end; justify-content: flex-start; width: min(100%, 32rem); }
.contact-form-panel { grid-column: 1 / -1; }
.contact-closing__copy { grid-column: 1 / span 8; }
}
@media (max-width: 47.9375rem) {
.contact-hero { min-height: 31rem; }
.contact-hero__shade { background: linear-gradient(90deg, rgb(23 26 24 / .84), rgb(23 26 24 / .48)), linear-gradient(0deg, rgb(23 26 24 / .75), transparent 55%); }
.contact-hero__layout { padding-block: var(--space-8) var(--space-6); gap: var(--space-5); }
.contact-hero__copy { max-width: 100%; gap: var(--space-4); }
.contact-hero__copy h1 { font-size: clamp(2.5rem, 11vw, 3.375rem); }
.contact-hero__lead { max-width: 100%; font-size: 1rem; line-height: var(--leading-body); }
.contact-hero__routes { width: 100%; gap: var(--space-2) var(--space-3); padding: var(--space-3); background: rgb(23 26 24 / .48); }
.contact-hero__contours { right: -7%; width: 55%; opacity: .42; }
.contact-wayfinding__wall { width: calc(100% + (var(--gutter) * 2)); margin-left: calc(var(--gutter) * -1); min-height: 25rem; padding: var(--space-5) var(--gutter); }
.contact-wayfinding__markers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-3); }
.contact-wayfinding__legend { left: var(--gutter); width: calc(100% - (var(--gutter) * 2)); }
.contact-wayfinding__transcript { gap: var(--space-5); }
.contact-details__grid { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-6); }
.contact-plaque, .contact-plaque--address { grid-column: 1; min-height: auto; }
.contact-plaque a { min-height: 2.75rem; display: flex; align-items: center; font-size: 1.4rem; }
.contact-topics__list { margin-left: 0; }
.contact-topics__list::before { left: .9rem; }
.contact-topic { grid-template-columns: 2rem minmax(0, 1fr); padding-left: 0; }
.contact-form-section__surround { display: block; }
.contact-form-panel { padding: var(--space-5); }
.contact-form__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.contact-field--message { grid-column: 1; }
.contact-form-panel input, .contact-form-panel textarea { min-height: 3.125rem; font-size: 1rem; }
.contact-form .button { width: 100%; min-height: 3rem; }
.contact-casino__band { margin-bottom: var(--space-6); font-size: .72rem; }
.contact-casino__media { width: calc(100% + (var(--gutter) * 2)); height: 20rem; margin-left: calc(var(--gutter) * -1); border-radius: 0; }
.contact-access { padding-block: var(--space-7); }
.contact-access__panel { padding: var(--space-5); }
.contact-access__item { gap: var(--space-3); }
.contact-closing__layout { display: block; }
.contact-closing__copy { max-width: 100%; }
.contact-closing__copy .button { width: 100%; min-height: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
.contact-text-link::after, .contact-plaque a::after, .contact-hero__routes a, .contact-wayfinding__markers a, .contact-casino__media::after { transition: none; }
.contact-hero__routes a:hover, .contact-wayfinding__markers a:hover { transform: none; }
}