.casino-guide {
  background: var(--color-marine-950);
  color: var(--color-white-100);
  padding-bottom: var(--space-16);
}

.casino-guide__orientation {
  border-bottom: var(--border-structural);
}

.casino-guide__orientation-grid {
  display: grid;
  grid-template-columns: 16.25rem minmax(0, 1fr);
  gap: var(--space-8);
  align-items: end;
}

.casino-guide__orientation-grid > * { min-width: 0; }
.casino-guide__orientation-marker { color: var(--color-steel-500); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: var(--weight-semibold); letter-spacing: .12em; line-height: 1.1; text-transform: uppercase; }
.casino-guide__orientation-marker strong { display: block; color: var(--color-amber-500); font-size: 1.25rem; letter-spacing: .08em; }
.casino-guide__orientation-copy { max-width: 48.75rem; }
.casino-guide__orientation-copy .lead { max-width: 68ch; }
.casino-guide__metadata { margin-bottom: 0; color: var(--color-silver-200); font-size: var(--text-meta); font-weight: var(--weight-semibold); letter-spacing: .1em; text-transform: uppercase; }

.casino-guide__shell { display: grid; grid-template-columns: 16.25rem minmax(0, 1fr); gap: var(--space-8); align-items: start; padding-top: var(--space-8); }
.casino-guide__shell > * { min-width: 0; }
.casino-guide__rail { width: 16.25rem; min-width: 0; }
.casino-guide__rail-inner { position: sticky; top: var(--space-6); border-top: 4px solid var(--color-line-marine); padding-top: var(--space-4); }
.casino-guide__rail-title { margin-bottom: var(--space-3); font-size: var(--text-module-title); }
.casino-guide__index { display: flex; flex-direction: column; gap: var(--space-1); }
.casino-guide__index li { width: 100%; min-width: 0; }
.casino-guide__index a { display: block; width: 100%; min-width: 0; border-left: 3px solid transparent; color: var(--color-silver-200); font-family: var(--font-heading); font-size: var(--text-control); font-weight: var(--weight-semibold); letter-spacing: .08em; padding: var(--space-2) var(--space-3); text-decoration: none; text-transform: uppercase; }
.casino-guide__index a:hover, .casino-guide__index a.is-active { border-left-color: var(--color-amber-500); color: var(--color-white-100); }
.casino-guide__mobile-index { display: none; }
.casino-guide__content { display: flex; min-width: 0; flex-direction: column; gap: var(--space-12); }

.casino-guide__lens { padding: var(--space-6); }
.casino-guide__lens-copy { max-width: 72ch; }
.casino-guide__lens-copy .eyebrow { color: var(--color-marine-800); }
.casino-guide__criteria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.casino-guide__criteria > div { min-width: 0; border-top: 1px solid var(--color-border-light); padding-top: var(--space-3); }
.casino-guide__criteria strong { display: block; color: var(--color-marine-950); font-family: var(--font-heading); font-size: var(--text-control); letter-spacing: .08em; text-transform: uppercase; }
.casino-guide__criteria span { display: block; color: var(--color-marine-900); font-size: var(--text-small); line-height: var(--leading-small); }
.casino-guide__verification-note { display: grid; grid-template-columns: minmax(7rem, .3fr) minmax(0, 1fr); gap: var(--space-3); margin-top: var(--space-6); border-left: 4px solid var(--color-amber-500); background: var(--color-graphite-700); color: var(--color-silver-200); padding: var(--space-4); }
.casino-guide__verification-note > * { min-width: 0; }
.casino-guide__verification-note strong { color: var(--color-white-100); font-family: var(--font-heading); font-size: var(--text-control); letter-spacing: .08em; text-transform: uppercase; }

.casino-guide__section { min-width: 0; scroll-margin-top: var(--space-8); }
.casino-guide__section > h2 { margin-bottom: var(--space-5); }
.casino-guide__location-top { display: grid; grid-template-columns: minmax(0, 3fr) minmax(22.5rem, 2fr); gap: var(--space-6); align-items: start; }
.casino-guide__location-top > * { min-width: 0; }
.casino-guide__location-copy { max-width: 70ch; }
.casino-guide__diagram-wrap { max-width: 100%; overflow-x: auto; border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-marine-800); -webkit-overflow-scrolling: touch; }
.casino-guide__diagram { position: relative; width: 100%; min-width: 38.75rem; min-height: 20rem; padding: var(--space-5); }
.casino-guide__deck-label { color: var(--color-silver-200); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: var(--weight-semibold); letter-spacing: .1em; text-transform: uppercase; }
.casino-guide__deck-line { position: absolute; top: 50%; right: var(--space-5); left: var(--space-5); height: 2px; background: var(--color-steel-500); }
.casino-guide__diagram-node { position: absolute; z-index: 1; min-width: 5rem; border: 1px solid var(--color-steel-500); border-radius: var(--radius-compact); background: var(--color-graphite-700); color: var(--color-white-100); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: var(--weight-semibold); letter-spacing: .06em; padding: var(--space-2); text-align: center; text-transform: uppercase; }
.casino-guide__diagram-node::after { position: absolute; top: calc(100% + .35rem); left: 50%; width: .5rem; height: .5rem; transform: translateX(-50%); border-radius: 50%; background: var(--color-steel-500); content: ""; }
.casino-guide__diagram-node--lobby { top: 31%; left: 7%; }
.casino-guide__diagram-node--theatre { top: 59%; left: 27%; }
.casino-guide__diagram-node--casino { top: 29%; left: 48%; border-color: var(--color-amber-500); color: var(--color-amber-100); }
.casino-guide__diagram-node--casino::after { background: var(--color-amber-500); }
.casino-guide__diagram-node--lounge { top: 60%; left: 67%; }
.casino-guide__diagram-node--service { top: 30%; right: 5%; }
.casino-guide__diagram-legend { position: absolute; bottom: var(--space-4); left: var(--space-5); display: flex; gap: var(--space-4); color: var(--color-silver-200); font-size: var(--text-small); }
.casino-guide__diagram-legend span { display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; }
.casino-guide__legend-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--color-amber-500); }
.casino-guide__legend-line { width: 1rem; height: 2px; background: var(--color-steel-500); }
.casino-guide__figure { width: 100%; margin-top: var(--space-6); }
.casino-guide__figure img { width: 100%; max-width: 100%; border: var(--border-structural); border-radius: var(--radius-standard); object-fit: cover; aspect-ratio: 16 / 9; }
.casino-guide__placement-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-6); }
.casino-guide__placement-grid > article { min-width: 0; border-top: 1px solid var(--color-line-marine); padding-top: var(--space-3); }
.casino-guide__placement-grid h3, .casino-guide__placement-grid p { margin-bottom: var(--space-2); }
.casino-guide__placement-grid p { color: var(--color-silver-200); font-size: var(--text-small); line-height: var(--leading-small); }
.casino-guide__spatial-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.casino-guide__spatial-strip > article { min-width: 0; border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-marine-800); padding: var(--space-5); }
.casino-guide__spatial-strip h3, .casino-guide__spatial-strip p { margin-bottom: 0; }
.casino-guide__spatial-strip h3 { margin-bottom: var(--space-3); }

.casino-guide__facility-lead { max-width: 72ch; }
.casino-guide__facility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.casino-guide__facility-grid > * { min-width: 0; }
.casino-guide__facility-card { border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-marine-800); padding: var(--space-5); transition: border-color var(--transition-fast); }
.casino-guide__facility-card:hover { border-color: var(--color-steel-500); }
.casino-guide__facility-card--wide { grid-column: 1 / -1; }
.casino-guide__facility-card .meta { margin-bottom: var(--space-2); }
.casino-guide__facility-card ul { margin-bottom: 0; color: var(--color-silver-200); font-size: var(--text-small); }
.casino-guide__layout-note { border-left: 3px solid var(--color-steel-500); color: var(--color-silver-200); font-size: var(--text-small); padding-left: var(--space-3); }
.casino-guide__support-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.casino-guide__support-columns > div { min-width: 0; border-top: 1px solid var(--color-line-marine); padding-top: var(--space-3); }
.casino-guide__support-columns h4 { margin-bottom: var(--space-2); }
.casino-guide__support-columns p { margin-bottom: 0; color: var(--color-silver-200); font-size: var(--text-small); }

.casino-guide__table-lead { max-width: 68ch; }
.casino-guide__table-panel { position: relative; padding: var(--space-4); }
.casino-guide__scroll-hint { margin-bottom: var(--space-2); color: var(--color-marine-900); font-size: var(--text-small); font-weight: var(--weight-semibold); text-align: right; }
.casino-guide__table-scroll { max-width: 100%; overflow-x: auto; border: var(--border-light); -webkit-overflow-scrolling: touch; }
.casino-guide__table-scroll table { min-width: 47.5rem; color: var(--color-marine-950); }
.casino-guide__table-scroll th:first-child { width: 10.625rem; }
.casino-guide__table-scroll th, .casino-guide__table-scroll td { min-width: 12.25rem; color: var(--color-marine-950); font-size: var(--text-small); }
.casino-guide__table-scroll th { background: #dce7e4; }
.casino-guide__method-panel { display: flex; max-width: 70ch; flex-direction: column; gap: var(--space-3); margin-top: var(--space-6); border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-graphite-700); padding: var(--space-5); }
.casino-guide__method-panel h3, .casino-guide__method-panel ol { margin: 0; }
.casino-guide__method-panel ol { display: flex; flex-direction: column; gap: var(--space-3); padding-left: 1.4rem; }
.casino-guide__method-panel li { padding-left: var(--space-1); }

.casino-guide__access-lead { max-width: 70ch; }
.casino-guide__figure--lounge { max-width: 40rem; }
.casino-guide__figure--lounge img { aspect-ratio: 4 / 3; }
.casino-guide__threshold-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.casino-guide__threshold-grid > article { min-width: 0; border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-marine-800); padding: var(--space-4); }
.casino-guide__threshold-grid h3, .casino-guide__threshold-grid p { margin-bottom: 0; }
.casino-guide__threshold-grid h3 { margin-bottom: var(--space-2); }
.casino-guide__threshold-grid p { color: var(--color-silver-200); font-size: var(--text-small); }
.casino-guide__comfort-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-6); }
.casino-guide__comfort-grid > article { min-width: 0; border-top: 1px solid var(--color-line-marine); padding-top: var(--space-4); }
.casino-guide__comfort-grid p { margin-bottom: 0; }
.casino-guide__verify-panel { margin-top: var(--space-6); padding: var(--space-6); }
.casino-guide__verify-panel ol { display: flex; max-width: 76ch; flex-direction: column; gap: var(--space-3); margin-bottom: 0; padding-left: 1.75rem; }
.casino-guide__verify-panel li { padding-left: var(--space-2); }

.casino-guide__integration { border-top: var(--border-structural); padding-top: var(--space-8); }
.casino-guide__integration-lead { max-width: 70ch; }
.casino-guide__evening-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.casino-guide__evening-grid > article { min-width: 0; border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-marine-900); padding: var(--space-5); }
.casino-guide__evening-grid h3 { margin-bottom: var(--space-3); }
.casino-guide__evening-grid p:last-child { margin-bottom: 0; }
.casino-guide__route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.casino-guide__route-grid > article { min-width: 0; border-top: 1px solid var(--color-line-marine); padding-top: var(--space-3); }
.casino-guide__route-grid h3 { margin-bottom: var(--space-2); }
.casino-guide__route-grid p { margin-bottom: 0; color: var(--color-silver-200); font-size: var(--text-small); }
.casino-guide__conclusion { max-width: 70ch; margin-top: var(--space-6); margin-bottom: 0; }

.casino-guide__faq { padding: var(--space-5); }
.casino-guide__faq-item { max-width: 76ch; }
.casino-guide__faq-item + .casino-guide__faq-item { border-top: var(--border-structural); }
.casino-guide__faq-item h3 { margin: 0; }
.casino-guide__faq-item button { display: grid; grid-template-columns: minmax(0, 1fr) 1.5rem; width: 100%; min-height: 3rem; justify-content: stretch; gap: var(--space-3); border: 0; border-radius: 0; background: transparent; color: var(--color-white-100); padding: var(--space-4) 0; text-align: left; }
.casino-guide__faq-item button:hover { background: transparent; color: var(--color-silver-200); }
.casino-guide__faq-item button span { align-self: center; color: var(--color-amber-500); font-size: 1.25rem; text-align: right; }
.casino-guide__faq-item button[aria-expanded="true"] span { font-size: 0; }
.casino-guide__faq-item button[aria-expanded="true"] span::after { content: "−"; font-size: 1.25rem; }
.casino-guide__faq-item [role="region"] { max-width: 68ch; color: var(--color-silver-200); padding: 0 var(--space-8) var(--space-5) 0; }
.casino-guide__faq-item [role="region"] p { margin-bottom: 0; }

.casino-guide__continue { border-top: 4px solid var(--color-amber-500); background: var(--color-marine-900); padding: var(--space-6); }
.casino-guide__continue-copy { max-width: 70ch; }
.casino-guide__continue-copy .eyebrow { margin-bottom: var(--space-3); }
.casino-guide__continue-copy h2 { margin-bottom: var(--space-4); }
.casino-guide__continue-copy p { margin-bottom: 0; }

@media (max-width: 1100px) {
  .casino-guide__placement-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .casino-guide__location-top { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__diagram-wrap { max-width: 43rem; }
}

@media (max-width: 960px) {
  .casino-guide__orientation-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .casino-guide__orientation-marker, .casino-guide__rail { display: none; }
  .casino-guide__shell { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .casino-guide__mobile-index { display: block; width: 100%; min-width: 0; border: var(--border-structural); border-radius: var(--radius-standard); background: var(--color-marine-800); }
  .casino-guide__mobile-index-toggle { display: grid; grid-template-columns: minmax(0, 1fr) 1.5rem; width: 100%; min-width: 0; border: 0; border-radius: var(--radius-standard); background: transparent; color: var(--color-white-100); padding: var(--space-4); text-align: left; }
  .casino-guide__mobile-index-toggle:hover { background: var(--color-marine-900); color: var(--color-white-100); }
  .casino-guide__toggle-symbol { color: var(--color-amber-500); font-size: 1.25rem; text-align: right; }
  .casino-guide__mobile-index-content { border-top: var(--border-structural); padding: var(--space-4); }
  .casino-guide__mobile-index-content .casino-guide__index { gap: var(--space-2); }
  .casino-guide__content { gap: var(--space-8); }
}

@media (max-width: 820px) {
  .casino-guide__facility-grid { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__facility-card--wide { grid-column: auto; }
  .casino-guide__threshold-grid { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__placement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .casino-guide__orientation-copy h1 { font-size: 2rem; }
  .casino-guide__orientation-copy .lead { max-width: none; }
  .casino-guide__lens, .casino-guide__verify-panel { padding: var(--space-5); }
  .casino-guide__criteria, .casino-guide__comfort-grid, .casino-guide__evening-grid, .casino-guide__route-grid { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__criteria { gap: var(--space-3); }
  .casino-guide__verification-note { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__diagram { min-width: 38.75rem; }
  .casino-guide__placement-grid { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__spatial-strip { grid-template-columns: minmax(0, 1fr); }
  .casino-guide__support-columns { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .casino-guide__support-columns > div + div { border-top: 1px solid var(--color-line-marine); }
  .casino-guide__table-panel { padding: var(--space-3); }
  .casino-guide__method-panel { max-width: none; }
  .casino-guide__figure--lounge { max-width: none; }
  .casino-guide__continue { padding: var(--space-5); }
}

@media (max-width: 620px) {
  .casino-guide__shell { padding-top: var(--space-6); }
  .casino-guide__content { gap: var(--space-8); }
  .casino-guide__section > h2 { font-size: 1.375rem; }
  .casino-guide__diagram-legend { flex-direction: column; gap: var(--space-2); }
  .casino-guide__facility-card, .casino-guide__spatial-strip > article, .casino-guide__threshold-grid > article, .casino-guide__evening-grid > article { padding: var(--space-4); }
  .casino-guide__faq { padding: var(--space-4); }
  .casino-guide__faq-item [role="region"] { padding-right: 0; }
  .casino-guide__scroll-hint { text-align: left; }
}

@media print {
  .casino-guide__rail, .casino-guide__mobile-index-toggle { display: none !important; }
  .casino-guide__mobile-index, .casino-guide__mobile-index-content { display: block !important; }
  .casino-guide__mobile-index-content { border: 0; padding: 0; }
  .casino-guide__faq-item [role="region"] { display: block !important; }
  .casino-guide__faq-item button { display: block; }
  .casino-guide__faq-item button span { display: none; }
}
