/* Shared readable controls, including forms on retained legacy pages. */
.spikecam-design { font-size: 18px; }
.spikecam-design main p, .spikecam-design main li { font-size: 18px; line-height: 1.65; }
.spikecam-design .intro-copy, .spikecam-design .product-description,
.spikecam-design .section-heading > p, .spikecam-design .product-card p,
.spikecam-design .product-feature-grid p, .spikecam-design .oem-page p { font-size: 18px; }
.spikecam-design .card-specs, .spikecam-design .compare-selectors label,
.spikecam-design .compare-selectors select, .spikecam-design .workflow-filter label,
.spikecam-design .workflow-filter select { font-size: 16px; }
.spikecam-design .muted, .spikecam-design .product-card p { color: #565e68; }
.spikecam-design .eyebrow, .spikecam-design figcaption,
.spikecam-design .product-caption, .spikecam-design .gallery-caption,
.spikecam-design .product-help, .spikecam-design .result-count { font-size: 14px; }
.spikecam-design .feature-list li { font-size: 16px; }
.spikecam-design .feature-list svg { color: #164ed8; }
.spikecam-design .button, .spikecam-design .inline-link,
.spikecam-design .site-nav a { font-size: 16px; }
.spc-contact-zone p { font-size: 18px; line-height: 1.65; }
.spc-contact-zone .spc-contact-eyebrow, .spc-contact-person span,
.spc-contact-qr small, .spc-contact-zone .form-note,
.spc-chat-dialog p, .spc-chat-privacy { font-size: 14px; line-height: 1.65; }
.spc-contact-links a, .spc-company-addresses dt, .spc-company-addresses dd,
.spc-chat-dialog a, .spc-chat-dialog button { font-size: 16px; }
.inquiry-form .form-grid label { font-size: 16px; color: #30343b; }
.inquiry-form .form-grid input, .inquiry-form .form-grid textarea,
.inquiry-form .form-grid select {
  box-sizing: border-box; width: 100%; min-width: 0; margin-top: 8px;
  border: 1px solid #88919d; border-radius: 3px; padding: 12px;
  background: #fff; color: #17191d; font: inherit; font-size: 16px;
  line-height: 1.5; min-height: 48px;
}
.inquiry-form .form-grid input:focus-visible,
.inquiry-form .form-grid textarea:focus-visible,
.inquiry-form .form-grid select:focus-visible { outline: 3px solid #164ed8; outline-offset: 3px; }
.inquiry-form .spc-phone-group { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; }
.spc-contact-zone .inquiry-form .form-note { font-size: 14px; color: #565e68; }
.spc-contact-zone .inquiry-form .button { min-height: 48px; background: #164ed8; border-color: #164ed8; color: #fff; font-size: 16px; }
.spc-contact-zone .inquiry-form .button:hover { background: #123ba0; }
.spc-contact-zone .inquiry-form label:has(#spc-company) { grid-column: 1 / -1; }
.spc-contact-zone .spc-contact-person span, .spc-contact-zone .spc-contact-qr small { font-size: 14px; }
.spc-contact-start { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #d9dde2; }
.spc-contact-start h2 { font-size: 28px; margin: 0 0 12px; }
.spc-contact-start p { max-width: 760px; margin: 0; }
.spc-contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.spc-contact-actions > a:not(.button) { color: #164ed8; text-decoration: underline; overflow-wrap: anywhere; }
.spc-contact-routes { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 16px 32px; }
.spc-contact-routes a { min-height: 44px; }
@media (max-width: 760px) {
  .spc-contact-start { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .spc-contact-routes { display: grid; grid-template-columns: minmax(0, 1fr); }
  .inquiry-form .spc-phone-group { grid-template-columns: 108px minmax(0, 1fr); gap: 12px; }
  .inquiry-form .form-grid > label { grid-column: 1 / -1; }
}
