/* 84PAD Website 1.0.0 final candidate — additive QA fixes.
   Preserve the original visual identity, existing sections and update URLs. */

/* Sticky header uses the surrounding light/dark theme, but footer is ALWAYS dark.
   The generic .brand-wordmark selector in fluid-responsive.css previously overrode
   the footer's light parent .brand color in light mode, causing black-on-black text. */
.site-footer .brand,
.site-footer .brand-wordmark,
html[data-theme="light"] .site-footer .brand-wordmark,
html[data-theme="dark"] .site-footer .brand-wordmark {
  color:#f1f6f2;
}
.site-footer .brand-period,
html[data-theme="light"] .site-footer .brand-period,
html[data-theme="dark"] .site-footer .brand-period { color:#d4ff58; }
.site-footer .brand-symbol-bg,
html[data-theme="light"] .site-footer .brand-symbol-bg,
html[data-theme="dark"] .site-footer .brand-symbol-bg { fill:#d4ff58; }
.site-footer .brand-symbol-grid,
html[data-theme="light"] .site-footer .brand-symbol-grid,
html[data-theme="dark"] .site-footer .brand-symbol-grid { fill:#172019; }
.site-footer .footer-main nav a,
.site-footer .footer-bottom a { color:#d0dcdb; }
.site-footer .footer-main nav a:hover,
.site-footer .footer-bottom a:hover { color:#d4ff58; }
.site-footer .footer-main>p,
.site-footer .footer-bottom { color:#adb9bd; }
.site-footer .brand { min-height:44px; }

/* Mobile floating/assembling pieces can extend 8-13px past the visual viewport;
   clip visual overspill only, without disabling the actual scroll axis or sticky nav. */
html, body { overflow-x:clip; }
.hero-art, .guided-setup, .v2-story { overflow-x:clip; }

/* Keyboard accessibility must be clear in both themes and on dark panels. */
:where(a,button,input,summary,[tabindex]):focus-visible { outline:3px solid #36bde2; outline-offset:3px; }
.site-footer :where(a,button):focus-visible,
.plugins-section :where(a,button):focus-visible,
.v2-story :where(a,button):focus-visible { outline-color:#d4ff58; }

/* Never apply cursor-driven transforms to touch interfaces or reduced-motion users. */
@media (hover:none), (pointer:coarse) {
  .platform-card:hover,.plugin-card:hover,.theme-card:hover,.setup-card:hover { transform:none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .hero-feature-slide { transition:none!important; }
  .guided-flow .guided-step { animation:none!important; }
}
