.offline-casino-page { background: var(--color-deep-graphite); }
.offline-casino-page a:focus-visible { outline: var(--focus-outline); outline-offset: 3px; }
.oc-hero { position: relative; min-height: 47.5rem; display: grid; overflow: hidden; border-bottom: 1px solid var(--color-border-dark); }
.oc-hero__image, .oc-hero__scrim, .oc-hero__container { grid-area: 1 / 1; }
.oc-hero__image { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 68% center; }
.oc-hero__scrim { width: 100%; min-width: 0; background: linear-gradient(90deg, rgba(11,13,14,.82) 0%, rgba(11,13,14,.68) 43%, rgba(11,13,14,.18) 67%, rgba(11,13,14,.1) 100%); }
.oc-hero__container { width: min(100% - (var(--gutter) * 2), var(--container-max)); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; z-index: 1; }
.oc-hero__content { grid-column: 2 / span 5; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; gap: var(--space-6); padding-block: var(--space-16); }
.oc-hero__content h1, .oc-hero__content p { margin: 0; }
.oc-hero__content .lead { max-width: 31.25rem; }
.oc-route { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-2); color: var(--color-warm-linen); font-size: var(--text-micro); font-weight: 700; line-height: 1.45; letter-spacing: var(--tracking-utility); text-transform: uppercase; }
.oc-route a { position: relative; padding-block: .25rem; text-decoration: none; }
.oc-route a::after, .oc-text-link::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--color-cobalt-night); content: ""; transform: scaleX(0); transform-origin: left; transition: transform var(--transition-fast); }
.oc-route a:hover::after, .oc-route a:focus-visible::after, .oc-text-link:hover::after, .oc-text-link:focus-visible::after { transform: scaleX(1); }
.oc-hero__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-4); }
.oc-hero__actions > * { min-width: 0; }
.oc-breadcrumb { display: flex; min-width: 0; gap: var(--space-2); overflow-x: auto; color: var(--color-text-muted); font-size: var(--text-caption); white-space: nowrap; }
.oc-breadcrumb a { color: var(--color-warm-linen); }
.oc-intro { border-bottom: 1px solid var(--color-border-dark); }
.oc-intro__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-12); }
.oc-intro__rail { grid-column: 1 / span 3; min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; }
.oc-cobalt-rule { width: 2px; height: 6rem; background: var(--color-cobalt-night); }
.oc-intro__copy { grid-column: 4 / span 7; min-width: 0; max-width: 42.5rem; }
.oc-intro__copy blockquote { max-width: 32.5rem; margin-top: var(--space-8); }
.oc-intro__note { max-width: 35rem; }
.oc-section-head { width: 100%; min-width: 0; max-width: 38.75rem; }
.oc-section-head > :last-child { margin-bottom: 0; }
.oc-itinerary { border-bottom: 1px solid var(--color-border-dark); }
.oc-itinerary__grid { display: grid; grid-template-columns: 2fr 2fr 3fr 5fr; gap: var(--grid-gap); margin-top: var(--space-12); }
.oc-stop { position: relative; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-border-dark); border-top: 2px solid var(--color-copper); background: var(--color-graphite-lift); }
.oc-stop--casino, .oc-stop--tables { border-top-color: var(--color-cobalt-night); }
.oc-stop h3, .oc-stop p { margin: 0; }
.oc-stop h3 { font-family: var(--font-body); font-size: var(--text-small); font-weight: 700; letter-spacing: var(--tracking-utility); text-transform: uppercase; }
.oc-stop p { color: var(--color-text-muted); font-size: var(--text-small); }
.oc-stop > a, .oc-stop__links a { color: var(--color-warm-linen); font-size: var(--text-caption); font-weight: 700; letter-spacing: var(--tracking-caption); text-transform: uppercase; }
.oc-stop__number { color: var(--color-limestone); font-size: var(--text-caption); font-weight: 700; }
.oc-stop__links { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin-top: auto; }
.oc-zones { border-bottom: 1px solid var(--color-border-dark); }
.oc-zones__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-12); }
.oc-zone { min-width: 0; color: inherit; text-decoration: none; border: 1px solid var(--color-border-dark); background: var(--color-graphite-lift); transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.oc-zone--poker { grid-column: 1 / span 6; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.oc-zone--compact { grid-column: span 3; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border-top: 2px solid var(--color-cobalt-night); }
.oc-zone__media { position: relative; min-width: 0; overflow: hidden; aspect-ratio: 4 / 5; background: var(--color-blackened-aluminium); }
.oc-zone__media::after { position: absolute; inset: 0; background: rgba(11,13,14,.16); content: ""; transition: background-color var(--transition-fast); }
.oc-zone__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-transform); }
.oc-zone__body { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); }
.oc-zone h3, .oc-zone span { margin: 0; }
.oc-zone h3 { font-size: clamp(2rem, 3vw, 3rem); }
.oc-zone--compact h3 { font-size: clamp(1.8rem, 2.5vw, 2.5rem); }
.oc-zone__link { position: relative; width: fit-content; max-width: 100%; margin-top: auto; padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-copper); color: var(--color-warm-linen); font-size: var(--text-caption); font-weight: 700; letter-spacing: var(--tracking-caption); text-transform: uppercase; }
.oc-zone:hover { border-color: var(--color-warm-linen); }
.oc-zone:hover .oc-zone__media::after { background: rgba(11,13,14,.48); }
.oc-zone:hover .oc-zone__media img { transform: scale(1.03); }
.oc-zones__caption { max-width: 32.5rem; display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-8); }
.oc-zones__caption p { margin: 0; color: var(--color-text-muted); }
.oc-lounge { border-bottom: 1px solid var(--color-border-dark); }
.oc-lounge__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
.oc-lounge__copy { grid-column: 1 / span 5; min-width: 0; max-width: 35rem; }
.oc-lounge__panels { grid-column: 8 / span 5; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.oc-info-panel { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-border-dark); background: var(--color-graphite-lift); }
.oc-info-panel > * { margin: 0; }
.oc-info-panel p { max-width: 27.5rem; color: var(--color-text-muted); }
.oc-text-link { position: relative; width: fit-content; max-width: 100%; padding-bottom: var(--space-1); color: var(--color-warm-linen); font-size: var(--text-caption); font-weight: 700; letter-spacing: var(--tracking-caption); text-decoration: none; text-transform: uppercase; }
.oc-floor { border-bottom: 1px solid var(--color-border-dark); background: var(--color-graphite-lift); }
.oc-floor__figure { position: relative; overflow: hidden; aspect-ratio: 16 / 10; margin: 0; background: var(--color-blackened-aluminium); }
.oc-floor__figure img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center; }
.oc-floor__figure::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,13,14,.66), transparent 42%); content: ""; }
.oc-floor__figure figcaption { position: absolute; z-index: 1; right: max(var(--gutter), calc((100% - var(--container-max)) / 2)); bottom: var(--space-6); left: max(var(--gutter), calc((100% - var(--container-max)) / 2)); color: var(--color-warm-linen); font-size: var(--text-caption); font-weight: 700; letter-spacing: var(--tracking-utility); text-transform: uppercase; }
.oc-floor__content { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); padding-block: var(--section-space); }
.oc-floor__copy { grid-column: 1 / span 8; min-width: 0; max-width: 47.5rem; }
.oc-floor__note { grid-column: 10 / span 3; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding-left: var(--space-4); border-left: 2px solid var(--color-cobalt-night); }
.oc-floor__note p { margin: 0; color: var(--color-text-muted); font-size: var(--text-small); }
.oc-floor__links { display: flex; flex-direction: column; gap: var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--color-border-dark); }
.oc-floor__links a { min-height: 2.75rem; display: flex; align-items: center; color: var(--color-warm-linen); font-size: var(--text-caption); font-weight: 700; letter-spacing: var(--tracking-caption); text-transform: uppercase; }
.oc-events { border-bottom: 1px solid var(--color-border-dark); }
.oc-events__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
.oc-events__intro { grid-column: 1 / span 6; min-width: 0; max-width: 37.5rem; }
.oc-event-panel { grid-column: span 3; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-border-dark); border-top: 2px solid var(--color-copper); background: var(--color-graphite-lift); }
.oc-event-panel > * { margin: 0; }
.oc-event-panel p { color: var(--color-text-muted); font-size: var(--text-small); }
.oc-arrival { border-bottom: 1px solid var(--color-border-dark); }
.oc-arrival__grid { display: grid; grid-template-columns: 5fr 3fr 4fr; gap: var(--grid-gap); margin-top: var(--space-12); }
.oc-arrival__place, .oc-arrival__access, .oc-contact-panel { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.oc-arrival__place h3, .oc-arrival__place p, .oc-arrival__access h3, .oc-arrival__access p, .oc-contact-panel h3, .oc-contact-panel p { margin: 0; }
.oc-arrival__place dl { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; }
.oc-arrival__place dl div { display: flex; min-width: 0; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-2); border-bottom: 1px solid var(--color-border-dark); }
.oc-arrival__place dt { color: var(--color-text-muted); }
.oc-arrival__place dd { margin: 0; color: var(--color-warm-linen); font-weight: 700; text-align: right; }
.oc-arrival__access { padding: var(--space-6); border: 1px solid var(--color-border-dark); background: var(--color-graphite-lift); }
.oc-arrival__access p { color: var(--color-text-muted); font-size: var(--text-small); }
.oc-arrival__access ul { display: grid; grid-template-columns: 1fr; gap: var(--space-2); padding: 0; margin: 0; list-style: none; font-size: var(--text-small); }
.oc-arrival__access li { padding-left: var(--space-4); border-left: 2px solid var(--color-cobalt-night); }
.oc-contact-panel { padding: var(--space-6); border: 1px solid var(--color-copper); background: var(--color-graphite-lift); }
.oc-contact-panel p { color: var(--color-text-muted); }
.oc-contact-panel > a:not(.button) { min-height: 3rem; display: flex; align-items: center; border-bottom: 1px solid var(--color-border-dark); color: var(--color-warm-linen); font-weight: 700; text-decoration: none; }
.oc-contact-panel .button { margin-top: var(--space-2); }
.oc-closing__panel { border-top: 2px solid var(--color-copper); background: var(--color-graphite-lift); }
.oc-closing__content { width: min(100% - (var(--space-12) * 2), 45rem); min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); padding-block: var(--space-16); margin-inline: auto; }
.oc-closing__content > * { margin: 0; }
.oc-closing__content h2 { max-width: 33.75rem; font-size: var(--text-display); line-height: var(--line-display); }
.oc-closing__content p { max-width: 35rem; }
.oc-closing__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-4); }
.oc-closing__actions > * { min-width: 0; }
@media (max-width: 68.75rem) {
  .oc-hero { min-height: 42rem; }
  .oc-hero__content { grid-column: 1 / span 5; }
  .oc-hero__scrim { background: linear-gradient(90deg, rgba(11,13,14,.84), rgba(11,13,14,.72) 68%, rgba(11,13,14,.28)); }
  .oc-itinerary__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .oc-stop { grid-column: span 4; }
  .oc-zones__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .oc-zone--poker { grid-column: 1 / span 5; }
  .oc-zone--compact { grid-column: 6 / span 3; }
  .oc-lounge__grid, .oc-floor__content, .oc-events__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .oc-lounge__copy { grid-column: 1 / -1; max-width: 35rem; }
  .oc-lounge__panels { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-floor__copy { grid-column: 1 / span 5; }
  .oc-floor__note { grid-column: 6 / span 3; }
  .oc-events__intro { grid-column: 1 / -1; }
  .oc-event-panel { grid-column: span 4; }
  .oc-arrival__grid { grid-template-columns: 5fr 3fr; }
  .oc-contact-panel { grid-column: 1 / span 5; }
}
@media (max-width: 63.75rem) {
  .oc-intro__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .oc-intro__rail { grid-column: 1 / -1; flex-direction: row; align-items: center; }
  .oc-cobalt-rule { width: 4rem; height: 2px; }
  .oc-intro__copy { grid-column: 1 / span 6; }
}
@media (max-width: 51.25rem) {
  .oc-zones__grid { grid-template-columns: 1fr; }
  .oc-zone--poker, .oc-zone--compact { grid-column: 1; }
  .oc-zone--poker { grid-template-columns: minmax(0, 1fr); }
  .oc-zone__media { aspect-ratio: 4 / 5; }
  .oc-zone--compact { min-height: 0; }
}
@media (max-width: 47.9375rem) {
  .oc-hero { min-height: 0; display: flex; flex-direction: column; overflow: visible; }
  .oc-hero__image { height: auto; aspect-ratio: 16 / 10; object-position: 66% center; }
  .oc-hero__scrim { display: none; }
  .oc-hero__container { width: 100%; display: block; }
  .oc-hero__content { width: min(100% - (var(--gutter) * 2), var(--container-max)); max-width: none; display: flex; gap: var(--space-6); padding: var(--space-6); margin: calc(var(--space-6) * -1) auto 0; background: var(--color-graphite-lift); border: 1px solid var(--color-border-dark); }
  .oc-hero__content h1 { font-size: clamp(3rem, 13vw, 4rem); }
  .oc-hero__content .lead { max-width: none; font-size: 1.0625rem; }
  .oc-hero__actions { flex-direction: column; }
  .oc-hero__actions .button, .oc-hero__actions .button-secondary { width: 100%; }
  .oc-intro__copy { grid-column: 1 / -1; max-width: none; }
  .oc-itinerary__grid { grid-template-columns: 1fr; gap: var(--space-4); padding-left: var(--space-6); border-left: 2px solid var(--color-cobalt-night); }
  .oc-stop { grid-column: 1; }
  .oc-lounge__grid, .oc-floor__content, .oc-events__grid { grid-template-columns: 1fr; }
  .oc-lounge__copy, .oc-lounge__panels, .oc-floor__copy, .oc-floor__note, .oc-events__intro, .oc-event-panel { grid-column: 1; }
  .oc-lounge__panels { display: grid; grid-template-columns: 1fr; }
  .oc-floor__figure { aspect-ratio: 16 / 10; }
  .oc-floor__figure figcaption { right: var(--gutter); bottom: var(--space-4); left: var(--gutter); }
  .oc-floor__content { gap: var(--space-8); }
  .oc-floor__note { padding-left: var(--space-4); }
  .oc-arrival__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .oc-contact-panel { grid-column: 1; }
  .oc-arrival__place dl div { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
  .oc-arrival__place dd { text-align: left; }
  .oc-closing__content { width: 100%; padding: var(--space-6); }
  .oc-closing__actions { flex-direction: column; }
  .oc-closing__actions .button, .oc-closing__actions .button-secondary { width: 100%; }
}
@media (hover: none) { .oc-zone__media::after { background: rgba(11,13,14,.34); } .oc-zone__link { border-bottom-color: var(--color-copper); } }
@media (prefers-reduced-motion: reduce) { .oc-zone__media img { transition: none; } }