/* Keep repair cards independent of the legacy circular .step badge. */
.repair-steps { list-style: none; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.repair-step { min-width: 0; }
.repair-step-number { display: block; color: var(--orange2); font-size: 1.8rem; font-weight: 900; line-height: 1; margin-bottom: 1.1rem; }
.repair-step h3 { line-height: 1.35; }
.repair-step p { font-size: 1rem; line-height: 1.65; }
.grid3 > *, .links > *, .location-row > *, .contact-grid > * { min-width: 0; }
.contact-method a { overflow-wrap: anywhere; }
.hero h1 { line-height: 1.05; }
.top, .eyebrow, .badge, .brand small, .answer-panel strong, .photo-card .photo-card-copy span { font-size: .875rem; }
.contact-top { padding: 1.6rem 1.25rem .25rem; }
.contact-top + .section { padding-top: 1rem; }
.contact-top h1 { margin: .5rem 0; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.12; }
.form-panel { align-self: start; }
.contact-form textarea { min-height: 6rem; }
.keyword-hero .hero-art img { object-fit: contain; }
.plumbing-home .hero-art img { object-fit: cover; }
.site56-menu a { color: #eef5ff; }
.plumbing-home .hero-copy { padding-top: 2.6rem; padding-bottom: 2.6rem; }
@media (max-width: 900px) {
  .repair-steps { grid-template-columns: minmax(0, 1fr); }
  .contact-grid .form-panel { grid-row: 1; }
}
/* The inherited narrow-screen rule hid the company name below 370px. */
@media (max-width: 520px) {
  .navin { flex-wrap: wrap; }
  .brand { flex: 1 1 10rem; font-size: .875rem; white-space: normal; line-height: 1.2; }
  .navlinks { margin-left: auto; }
}
