/* Bounded recovery corrections: no artwork edits or new page architecture. */
.office-address-link { color:inherit; text-decoration:underline; text-underline-offset:.18em; }
.directions-link { display:inline-flex; align-items:center; gap:.4em; min-height:44px;
  max-width:100%; white-space:normal; color:var(--green); font-weight:700; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:3px solid #0b67a3; outline-offset:4px;
}
.contact-location p { min-width:0; }
.hero-precision-revision .mobile-card { background:var(--navy); }
.hero-precision-revision .mobile-card .card-top {
  background:var(--paper); margin:calc(-1 * var(--mobile-card-pad)) calc(-1 * var(--mobile-card-pad)) 24px;
  padding:24px var(--mobile-card-pad); border-radius:20px 20px 0 0;
}
.hero-precision-revision .mobile-card .service-number { color:var(--navy); }
.service-card .card-top { min-width:0; }
.service-number, .card-detail, .contact-email, .contact-location p { overflow-wrap:anywhere; }
.service-card h3 { overflow-wrap:normal; }
@media (max-width:960px) {
  .hero-precision-revision .mobile-card { --mobile-card-pad:34px; }
}
@media (max-width:720px) {
  .hero-precision-revision .mobile-card { --mobile-card-pad:28px; }
}
@media (max-width:520px) {
  .hero-precision-revision .mobile-card { --mobile-card-pad:25px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
}

.advertisement-load-note { padding:24px; color:var(--navy); }

/* Failures observed in the new 200% text stress test: make intrinsic sizes reflow. */
.service-card h3, .quick-path-copy, .quick-path-copy strong, .quick-path-copy > span {
  overflow-wrap:anywhere;
}
.hero-precision-revision .hero-service-choice {
  grid-template-columns:36px minmax(0,1fr) max-content;
}
.service-choice-arrow, .quick-path-arrow, .card-link > span { width:auto; min-width:1em; flex-shrink:0; }
.quick-path, .quick-path-copy, .payment-flow li { min-width:0; }
.quick-path-copy > span, .quick-path-copy strong { min-width:0; max-width:100%; }
.skip-link { top:0; transform:translateY(-200%); max-width:calc(100% - 32px); }
.skip-link:focus { top:12px; transform:none; }
@media (min-width:721px) and (max-width:1100px) {
  .header-inner { flex-wrap:wrap; justify-content:space-between; gap:0; }
  .header-phone { display:none; }
  .js .menu-toggle { display:flex; }
  .site-navigation { width:100%; margin-left:0; flex-wrap:wrap; justify-content:flex-start; gap:0 24px; padding-block:10px; }
  .js .site-navigation { display:none; }
  .js .site-navigation.is-open { display:flex; border-top:1px solid var(--line); }
  .site-navigation .nav-contact { display:block; }
}

.industry-grid li, .industry-grid li > span { overflow-wrap:anywhere; }
.quick-path { grid-template-columns:22px minmax(0,1fr) max-content; }
@media (max-width:520px) {
 .quick-path { grid-template-columns:minmax(0,1fr) max-content; }
}
