/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4
 * Scoped refinement of the existing industrial identity. */
:root {
  --accessible-accent: var(--blue-dark, #1f58c2);
  --accessible-muted: var(--muted, #666963);
  --accessible-on-dark-muted: #a3a3a3;
}
.section-label,
.text-ocean,
.product-detail__copy .mono-label {
  color: var(--accessible-accent);
}
.section-dark .section-label,
.bg-graphite .section-label { color: var(--yellow); }
.section-dark .text-ocean,
.email-contact .text-ocean,
.footer-lead .mono-label { color: var(--blue); }
.filter-button.is-active,
.sales-map__point.is-active,
.sales-person__avatar {
  background: var(--accessible-accent);
  color: var(--white);
}
.filter-button.is-active { border-color: var(--accessible-accent); }
.text-ink\/45,
.text-ink\/50 { color: var(--accessible-muted); }
.footer-base .container { color: var(--accessible-on-dark-muted); }
input::placeholder, textarea::placeholder { color: var(--accessible-muted); opacity: 1; }
.filter-button { min-height: 44px; }
/* Intrinsic grid minimums must not enlarge a phone viewport. */
.product-detail > *,
.product-brief > *,
.grid > * { min-width: 0; }
.product-detail__copy,
.product-brief,
main h1,
main h2,
main h3 { overflow-wrap: anywhere; hyphens: auto; }
.mobile-menu nav {
  max-height: calc(100dvh - 90px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 900px) {
  .product-detail,
  .product-brief { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .site-header__inner { gap: 8px; }
  /* Contact remains available in the menu and in the page's primary CTA. */
  .site-header .header-contact { display: none; }
  .header-actions { gap: 8px; flex-shrink: 0; }
  .site-header .language-links { gap: 4px; }
  .site-header .language-switcher {
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
    font-size: .75rem;
    opacity: 1;
  }
  #splot-consent { padding: 14px; font-size: 14px; line-height: 1.4; }
  #splot-consent h2 { font-size: 18px; margin-bottom: 8px; }
  #splot-consent p { margin-bottom: 10px; }
  #splot-consent details { margin-bottom: 10px; }
  #splot-consent .splot-consent-actions { flex-direction: row; gap: 8px; }
  #splot-consent button { min-width: 0; padding: 8px; font-size: 14px; }
}
