/* Shared readability and responsive safeguards. */
.reveal { opacity: 1; transform: none; transition: none; }
.gallery-card { opacity: 1; transform: none; }
.product-hero-grid > *, .overview-grid > *, .dimensions-grid > *,
.detail-grid > *, .hero-grid > *, .spec-layout > *, .features-grid > * { min-width: 0; }
h1, h2, h3 { overflow-wrap: break-word; text-wrap: balance; }
.product-title, .detail-hero h1 { overflow-wrap: anywhere; }
.specs-table, .spec-table { width: 100%; table-layout: fixed; }
.specs-table th, .specs-table td, .spec-table th, .spec-table td { overflow-wrap: anywhere; }
.specs-table-wrap { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.site-nav a, .quote-link, .button-primary, .button-secondary, .chapter-link,
.filter, .catalog-tabs a { min-height: 44px; }
.site-nav a, .quote-link, .chapter-link, .catalog-tabs a { display: inline-flex; align-items: center; }
@media (max-width: 1024px) {
  .js-navigation .nav-inner .mobile-menu-btn { width: 44px; height: 44px; }
  .js-navigation .nav-inner { grid-template-columns: minmax(0, 1fr) auto 44px; }
  .nav-inner a.nav-cta, .nav-inner .nav-cta > a { min-height: 44px; }
}
@media (max-width: 550px) {
  .quick-stats { display: flex; flex-wrap: wrap; gap: 14px; }
  .quick-stat { min-width: 0; flex: 1 1 70px; }
  .product-cta-row { flex-wrap: wrap; }
  .product-cta-row .btn { max-width: 100%; min-width: 0; }
  .specs-table th, .specs-table td { padding: 12px 10px; font-size: 12px; }
  .spec-table { font-size: 12px; }
  .stat { overflow-wrap: anywhere; }
  .stat strong { font-size: clamp(18px, 5.2vw, 24px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .about-video-bg { display: none; }
}

.form-input::placeholder { color: #526174; opacity: 1; }
@media (max-width: 550px) {
  .contact-email { font-size: clamp(20px, 5.8vw, 28px); }
}
