/* Focus, responsive refinements and accessible controls; original theme preserved. */
.tq-main {display:block;width:100%;min-width:0;}
.tq-skip-link {position:absolute;left:1rem;top:-6rem;z-index:1500;padding:.6rem 1rem;background:var(--color-primary);color:#fff;border-radius:.3rem;}
.tq-skip-link:focus {top:.5rem;}
:where(a,button,summary,[role="button"]):focus-visible {outline:3px solid var(--color-accent);outline-offset:3px;}
.navigation-hamburger,.navigation-close {background:transparent;border:0;border-radius:5px;padding:0;touch-action:manipulation;}
.navigation-close:focus-visible,.navigation-hamburger:focus-visible {outline:3px solid var(--color-primary);}
.navigation-mobile-overlay {overscroll-behavior:contain;max-width:100vw;max-height:100dvh;}
.navigation-mobile-link {cursor:pointer;}
.navigation-mobile-overlay a {text-decoration:none;}
.navigation-mobile-overlay a:focus-visible .navigation-mobile-link,.table-footer-legal-nav a:focus-visible .table-footer-legal-link {outline:2px solid var(--color-accent);outline-offset:4px;}
.table-footer-contact-item span.footer-link1,.table-footer-contact-item span.footer-link2 {cursor:text;}
.table-footer-contact-link {overflow-wrap:anywhere;}
.table-footer-hrb {overflow-wrap:anywhere;}
main :where(img, video, svg) {max-width:100%;}
main img {height:auto;}
.carousel-rail-track {touch-action:pan-y;overscroll-behavior-x:contain;cursor:grab;user-select:none;}
.carousel-rail-track.is-dragging {cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;}
.carousel-rail-track :is(a,img) {user-select:none;-webkit-user-drag:none;}
.carousel-rail-dots a {cursor:pointer;border-radius:999px;}
.carousel-rail-dots a[aria-current="true"] .carousel-rail-dot {transform:scale(1.15);}
.carousel-rail-dots a:focus-visible {outline:2px solid var(--color-primary);outline-offset:4px;}
:where(section, article)[id] {scroll-margin-top:5.25rem;}
@media(max-width:768px) {
 .navigation-bar {width:100%;max-width:100%;gap:.5rem;min-width:0;}
 .navigation-brand-zone {min-width:0;}
 .navigation-action-zone {margin-left:auto;flex-shrink:0;}
 .navigation-mobile-nav {padding-bottom:1rem;}
 .navigation-overlay-header {gap:.5rem;min-width:0;}
 .navigation-overlay-header .navigation-close {margin-left:auto;flex-shrink:0;}
 main {min-width:0;}
 main :where(.surface-card,.realm-card,article,.tq-legal-content) {min-width:0;max-width:100%;}
 .table-footer-inner {max-width:100%;}
}
@media(max-width:340px){
 .company-logo-name {font-size:clamp(.85rem,4.1vw,1.15rem);}
 .navigation-overlay-header,.navigation-bar {padding-left:clamp(1rem,5vw,2rem);padding-right:clamp(1rem,5vw,2rem);}
 .navigation-brand-zone .company-logo-mark {width:34px;height:34px;}
 .navigation-brand-zone .company-logo-light {gap:.35rem;}
 .navigation-brand-zone .company-logo-text-group {min-width:0;}
 .tq-legal-content {padding:2.1rem 1rem !important;}
}
@media(prefers-reduced-motion:reduce) {
 .carousel-rail-track {scroll-behavior:auto;}
}

/* Legal pages use the same site tokens, footer and navigation. */
.tq-legal-content {width:100%;max-width:860px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:clamp(2.25rem,5vw,4rem) clamp(1rem,4vw,2rem) 4.5rem;min-width:0;color:var(--color-on-surface);}
.tq-legal-eyebrow {font-family:var(--font-family-body);color:var(--color-primary);font-size:.8rem;font-weight:750;letter-spacing:.13em;margin-bottom:1rem;text-transform:uppercase;}
.tq-legal-content h1 {font-family:var(--font-family-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.2;margin:0 0 1.25rem;color:var(--color-on-surface);overflow-wrap:anywhere;}
.tq-legal-lead {font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.8;max-width:75ch;color:var(--color-on-surface-secondary);margin-bottom:1rem;}
.tq-legal-stand {font-size:.85rem;color:var(--color-on-surface-secondary);margin-bottom:1.5rem;}
.tq-legal-section {padding:1.5rem 0 1.35rem;border-top:1px solid var(--color-border);}
.tq-legal-section h2 {font-family:var(--font-family-heading);font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.35;margin:0 0 .8rem;font-weight:650;color:var(--color-on-surface);}
.tq-legal-section p {font-size:1rem;line-height:1.85;margin:0 0 .9rem;color:var(--color-on-surface-secondary);overflow-wrap:anywhere;}
.tq-legal-section a {color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.tq-legal-back {display:inline-flex;align-items:center;align-self:flex-start;gap:.5rem;padding:.9rem 1.2rem;border:1px solid var(--color-primary);color:var(--color-primary);font-weight:650;border-radius:var(--border-radius-md);margin-top:1.7rem;text-decoration:none;}
.tq-legal-back:hover {background:var(--color-primary);color:#fff;}
/* Keep touch scrolling native for phone users; only mouse pointers use JS dragging. */
.carousel-rail-track {touch-action:auto;}
.tq-menu-open {overflow:hidden;}
/* Repairs for actual min-content overflow seen at narrow phone viewports. */
@media (max-width: 420px) {
  .modes-matrix-intro {width:100%;min-width:0;max-width:100%;}
  .modes-matrix-intro .section-title {font-size:clamp(1.8rem,7.2vw,2.3rem);overflow-wrap:anywhere;}
  .example-actor-stats {min-width:0;flex-wrap:wrap;gap:.35rem;}
  .monster-stats-flex {max-width:100%;flex-wrap:wrap;}
  .monster-stat-cell {min-width:0;flex:1 1 42%;overflow-wrap:anywhere;}
  .review-hero-title {max-width:100%;min-width:0;font-size:clamp(2rem,8.5vw,2.8rem);overflow-wrap:anywhere;}
  .review-panel-badge-row {min-width:0;flex-wrap:wrap;gap:.4rem;}
  .review-panel-count {max-width:100%;overflow-wrap:anywhere;}
}
/* Real focusable hit targets for the existing carousel pagination dots. */
.carousel-rail-dots a {display:inline-flex !important;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;}
