/* Shared small-screen readability; desktop layouts remain unchanged. */
@media (max-width: 760px) {
  p, li, dd, .hero-sub, .section-lead, .concept-lead, .entry-body {
    word-break: normal;
    line-break: strict;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }
  h1, h2, h3, h4 { line-break: strict; text-wrap: balance; overflow-wrap: anywhere; }
  .hero-title { font-size: clamp(25px, 7.2vw, 38px); line-height: 1.5; }
  .hero-title .line, .hero-title .title-line { white-space: normal; }
  .section-title { font-size: clamp(23px, 6.2vw, 30px); line-height: 1.6; }
  .section-lead { text-align: left; }
  .brand-title { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.45; }
  .brand-mark { flex-shrink: 0; }
  .hero-copy, .job-row dd, .form-row { min-width: 0; }
  .form-wrap { padding: 28px 20px; }
  .form-row input, .form-row textarea, .form-row select { font-size: 16px; }
  .award-panel { padding: 24px 20px; }
  .award-panel h2 { font-size: 22px; text-wrap: balance; }
  .award-points li { padding: 20px 18px; }
  .faq-item { padding: 20px; }
  .cta-row { align-items: stretch; }
  .cta-row .btn { max-width: 100%; text-align: center; }
  .tel-cta { padding: 22px 18px; }
  .tel-cta__num { white-space: nowrap; font-size: clamp(22px, 6.5vw, 26px); }
  .wage-table th, .wage-table td { padding: 8px 5px; }
  .footer-brand { flex-wrap: wrap; }
}
@media (max-width: 760px) { .text-unit { display: inline-block; } }

/* Stable brand lines and controls across mobile text metrics. */
.brand-page { display: block; font-size: .75em; }
@media (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  .header-inner { padding: 10px 14px; gap: 8px; }
  .brand { gap: 8px; flex: 1; min-width: 0; }
  .brand-mark { width: 40px; height: 36px; animation: none; }
  .brand-title { font-size: 14px; letter-spacing: 0; line-height: 1.5; }
  .brand-line { display: block; white-space: nowrap; }
  .brand-page { font-size: 12px; white-space: nowrap; }
  .menu-btn { flex-shrink: 0; }
  .float-cta, .float-cta.is-shown { display: none; }
  .form-thanks { padding: 12px 0; text-align: left; }
  .form-thanks .mark { text-align: center; }
  .form-thanks h3 { text-wrap: pretty; font-size: 20px; }
  .contact-alt { padding: 24px 18px; }
  .contact-alt__label { display: block; text-wrap: pretty; }
  .contact-alt__num { white-space: nowrap; font-size: 26px; }
  .checks .check { align-items: flex-start; }
  .checks input[type="checkbox"] { width: 18px; min-width: 18px; flex-shrink: 0; }
}
.form-error { color: #a22318; line-height: 1.8; }
.form-submit button:disabled { opacity: .6; cursor: wait; }
