/* Narrow accessibility adaptations to the supplied mockup, without changing its copy. */
html { scroll-behavior: smooth; color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 20px; background: var(--paper); color: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-logo { display: inline-flex; height: var(--logo-height); }
.site-logo img { display: block; height: 100%; width: auto; }
.site-logo .logo-dark { display: none; }
html[data-theme="dark"] .site-logo .logo-light { display: none; }
html[data-theme="dark"] .site-logo .logo-dark { display: block; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border: 1px solid var(--rule-strong); background: transparent; color: var(--ink); border-radius: var(--radius-md); cursor: pointer; }
.tc-nav-inner { gap: 24px; }
.bn-fill { transition: height .6s ease-out, width .6s ease-out, background-color .4s ease-out; }
@media (max-width: 860px) { .tc-nav-inner { gap: 12px; } }
@media (max-width: 480px) {
  .tw3-head { flex-wrap: wrap; gap: 6px; }
  .tw3-stats span { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .tw3-mover { display: none; }
}
.motion-toggle { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid var(--rule-strong); border-radius: 5px; background: transparent; color: var(--ink); cursor: pointer; }
.motion-toggle:disabled { cursor: default; }
.tw3-syn { margin-left: auto; }
html[data-motion="paused"] *, html[data-motion="paused"] *::before, html[data-motion="paused"] *::after { animation-play-state: paused !important; }
.bn-q { background: none !important; display: flex; gap: 4px; justify-content: center; }
.bn-q i { display: block; width: 6px; height: 6px; min-width: 0; flex-shrink: 1; border-radius: 50%; background: var(--ceil-strong); }
.is-bn .bn-q i { background: var(--amber); }
@media (max-width: 760px) { .bn-q { display: none; } }
@media (max-width: 360px) {
  .tw-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .tw-cta-inner, .tw-hero-copy { min-width: 0; }
  .tc-btn { box-sizing: border-box; max-width: 100%; white-space: normal; text-align: center; padding-block: 12px; }
}
