/* Technical corrections preserve the approved visual system. */
.layout > main { grid-column: 2; grid-row: 1; }
.layout > .sidebar { grid-column: 1; grid-row: 1; }
.site-shell > footer { margin: 10px 0 0 200px; }
.error-layout { padding-bottom: 40px; }
.article-section p a, .article-section li a, .answer a, .author-card a, .legal-grid a { font-weight: 700; text-decoration: underline; }
.article-section p a:hover, .article-section li a:hover, .answer a:hover, .author-card a:hover, .legal-grid a:hover { color: var(--red); }
table caption { text-align: left; padding: 15px 13px; font-weight: 700; color: var(--ink); background: #f5f7fa; }
table tbody td, table tbody th { font-size: calc(13px * var(--body-scale)); font-weight: 400; }
table thead th { font-size: calc(13px * var(--body-scale) + 2px); font-weight: 700; }
.faq summary h3 { display: inline; font: inherit; letter-spacing: normal; margin: 0; }
.footer-map .component-title { font-family: Montserrat, Inter, sans-serif; font-size: 15px; color: #ffda59; font-weight: 700; margin: 0 0 15px; }
.game-context .component-title { font: 700 28px/1.2 Montserrat, Inter, sans-serif; color: var(--ink); margin: 10px 0 16px; }
.operator-card .component-title { font: 700 17px/1.3 Montserrat, Inter, sans-serif; margin: 14px 0; }
.mobile-reading { display: none; }
.panel { max-height: calc(100dvh - 32px); overflow: auto; }
#search-results a { display: block; margin: 12px 0; }
.wide-spacing { line-height: 1.5; letter-spacing: .12em; word-spacing: .16em; }
.wide-spacing p, .wide-spacing li { line-height: 1.5 !important; }
.wide-spacing p { margin-bottom: 2em !important; }
.enlarged-text .hero { overflow: visible; }
.enlarged-text .hero-copy { width: 100%; padding-right: 30px; }
.enlarged-text .hero-art { display: none; }
.enlarged-text .topbar { position: relative; flex-wrap: wrap; }
.enlarged-text .top-nav, .enlarged-text .header-controls { flex-wrap: wrap; }
.enlarged-text .toc { position: static; max-height: none; }
.enlarged-text .editorial-layout { grid-template-columns: 1fr; }
.enlarged-text .article-section h2, .enlarged-text .faq h2 { overflow-wrap: anywhere; }

.enlarged-text .intro > ul, .enlarged-text .verdict, .enlarged-text .operator-grid { grid-template-columns: 1fr; }
.enlarged-text .button, .enlarged-text .panel, .enlarged-text .intro li, .enlarged-text .verdict li { font-size: calc(14px * var(--body-scale)); }
.high-contrast { --ink: #fff; --line: #777; background: #000; color: #fff; }
.high-contrast .site-shell, .high-contrast main, .high-contrast .panel, .high-contrast .article-section, .high-contrast .hero, .high-contrast .toc, .high-contrast .author-card, .high-contrast .legal-grid section, .high-contrast .intro li, .high-contrast .verdict section, .high-contrast .operator-card, .high-contrast .game-showcase, .high-contrast table caption, .high-contrast th, .high-contrast td { background: #000 !important; color: #fff !important; }
.high-contrast p, .high-contrast li, .high-contrast h1, .high-contrast h2, .high-contrast h3, .high-contrast .component-title { color: #fff; }
.high-contrast a:not(.button):not(.score), .high-contrast .toc a { color: #ffdf4a; }
.high-contrast input, .high-contrast textarea { background: #fff; color: #000; }
.high-contrast .article-section ol li { background: #111; color: #fff; }
@media (max-width: 1100px) { .site-shell > footer { margin-left: 0; } }
@media (max-width: 900px) { .layout > main { grid-column: 1; } }
@media (max-width: 680px) {
  .desktop-reading { display: none; }
  .mobile-reading { display: flex; }
  .language-trigger { padding: 8px; font-size: 11px; }
  .header-controls { gap: 5px; }
  .site-shell > footer { margin: 10px 0 0; }
  .enlarged-text .hero-actions { flex-wrap: wrap; }
  .enlarged-text .hero-copy { padding: 22px 18px; }
  .enlarged-text .author-card { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
.game-context { min-width: 0; overflow-wrap: anywhere; }

.enlarged-text .operators-grid { grid-template-columns: 1fr; }
.enlarged-text .operator-card ul { min-height: 0; }
.enlarged-text .operator-card li { font-size: calc(12px * var(--body-scale)); }
.enlarged-text .mobile-access { grid-template-columns: 1fr; }
.enlarged-text .mobile-access-art { display: none; }
.enlarged-text .verdict > section, .enlarged-text .article-section ol li { min-width: 0; overflow-wrap: anywhere; }
.high-contrast .sidebar nav a:first-child, .high-contrast .sidebar nav a:hover, .high-contrast .side-note { background: #000; color: #ffdf4a; }
.high-contrast .side-note span { color: #fff; }
.high-contrast .mobile-nav a, .high-contrast #menu-dialog, .high-contrast #menu-dialog .panel-head { background: #000 !important; color: #ffdf4a !important; }
.high-contrast #menu-dialog .panel-head h2 { color: #fff; }

/* Restore approved artwork proportions and game-card typography. */
.access-helmet { height: auto; }
@media (max-width: 680px) {
  
  .game-context .component-title { font-size: 18px; line-height: 1.2; }
}

.toc-list, .toc-children { list-style: none; padding: 0; margin: 0; }
.toc-children a { display: block; }
.faq summary > span::before { content: "+"; }

/* Engraved construction motifs on the outer page margins. */
@media (min-width: 769px) {
  body {
    background-image: url("/images/tower-rush-engraving.svg");
    background-size: 320px 300px;
    background-repeat: repeat;
  }
}

.page-crumbs { margin: 12px 0; font-size: 13px; color: #526170; }
.page-crumbs a { color: inherit; }
body[data-page="casinos"] .sidebar nav a:first-child { background: transparent; }
body[data-page="casinos"] .sidebar nav a[aria-current="page"] { background: #ffe7ec; }

body[data-page="inner"] .sidebar nav a:first-child,
body[data-page] #menu-dialog .mobile-nav a:first-child { background: transparent; }
body[data-page="inner"] .sidebar nav a[aria-current="page"],
body[data-page] #menu-dialog .mobile-nav a[aria-current="page"] { background: #ffe7ec; }
body.high-contrast[data-page] .sidebar nav a[aria-current="page"] { background: #000; color: #ffdf4a; }

.legal-grid section.operator-legal { background: #e6f2fb; border-color: #adcee5; border-left-color: #39779e; }
.legal-grid .operator-legal .site-icon { color: #32678b; }

.about-portrait { float: right; width: min(32%, 210px); margin: 0 0 1rem 1.5rem; text-align: center; }
.about-portrait img { display: block; width: 100%; height: auto; border-radius: 12px; }
.about-portrait figcaption { margin-top: .45rem; font-weight: 700; }
.feedback-panel { margin-block: 24px; padding: clamp(16px, 3vw, 32px); border: 1px solid var(--line); border-radius: 14px; }
.feedback-panel form, .feedback-panel label { display: grid; gap: .45rem; }
.feedback-panel form { max-width: 620px; gap: 1rem; }
.feedback-panel input, .feedback-panel textarea { width: 100%; font: inherit; padding: .65rem; border: 1px solid #8994a1; border-radius: 6px; }
.feedback-panel textarea { resize: vertical; }
.feedback-panel button { justify-self: start; cursor: pointer; }
.feedback-panel a { text-decoration: underline; }
.feedback-panel [role=status]:empty { display: none; }
@media (max-width: 600px) { .about-portrait { float: none; width: 144px; margin: 0 auto 1rem; } }



.footer-resource-links { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; max-width: 100%; margin-top: 16px; padding: 4px 2px; }
.footer-resource-links a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; background: transparent; padding: 0; }
.footer-resource-links img { display: block; width: 82px; height: 28px; object-fit: contain; }
