/* Shared consistency and accessibility fixes from the cross-page QA pass. */
:root { --card-radius: 16px; --focus-color: #08718f; }
body { overflow-wrap: break-word; }
.hero > *, .detail-hero-grid > *, .split-content > *, .quote-layout > *, .area-faq > *, .pricing-layout > *, .detail-faq > *, .equipment-grid > *, .disposal-layout > * { min-width: 0; }
h1,h2,h3 { overflow-wrap: anywhere; }
.eyebrow,.hero-copy .eyebrow { font-size: .75rem; }
.topline .wrap { font-size: .75rem; text-align: center; }
.header nav a { min-height: 44px; display: flex; align-items: center; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-links { gap: 0 25px; }
.button { line-height: 1.5; text-align: center; }
.hero-surface,.detail-hero,.contact-section,.work-section,.inclusions,.service-card:nth-child(2) { --focus-color: #b4f0fc; }
:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 4px; }
.hero .button:not(.button-outline):focus-visible,.detail-hero .button:not(.button-outline):focus-visible,.inclusions .button:focus-visible { outline-color: #b4f0fc; box-shadow: 0 0 0 2px #17324d; }
.quote-card input,.quote-card select,.quote-card textarea,summary,[tabindex] { scroll-margin-block: 125px; }
.equipment-card { border-radius: var(--card-radius); border-top-width: 4px; }
.equipment-card .small-note { margin-top: auto; padding-top: 22px; min-block-size: calc(3.3em + 22px); }
.equipment-card .eyebrow { min-height: 1.2rem; }
.disposal-layout { align-items: stretch; }
.equipment-card .text-link { padding-top: 14px; }
.offer-table { border-radius: var(--card-radius); }
.offer-table .price-value { font-family: var(--heading); font-size: 1.25rem; font-weight: 700; white-space: nowrap; color: var(--navy); }
.offer-table td:not(.price-value) { overflow-wrap: anywhere; }
.offer-table:focus-visible { outline-offset: 3px; }
.hero-facts { flex-wrap: wrap; }
.hero-image figcaption { max-width: 100%; }
.price-table td { white-space: normal; }
.contact-hours dl div,.hours dl div { flex-wrap: wrap; }
.option-note { padding: 12px 16px; margin: 0 0 22px; background: #edf6f8; border-radius: 8px; color: var(--navy); font-size: .9375rem; }
.option-note[hidden] { display: none; }
.quote-layout > div > p.eyebrow { color: var(--blue); }
html { scroll-padding-bottom: 105px; }
@media(max-width:780px) {
  .header { position: sticky; }
  .header nav { gap: 0; max-height: calc(100dvh - 180px); overflow-y: auto; }
  .hero-copy .eyebrow { letter-spacing: .08em; }
  .topline .wrap { line-height: 1.5; }
  .hero .actions .button { min-width: 0; }
  .hero-image { height: auto; min-height: 390px; padding-bottom: 0; }
  .hero-image > img { height: 390px; }
  .hero-image figcaption { position: relative; bottom: auto; left: auto; right: auto; width: calc(100% - 20px); margin: -28px auto 0; }
  .price-table { overflow-x: auto; }
  .mobile-contact a { line-height: 1.4; display: flex; align-items: center; justify-content: center; }
  .offer-table .price-value { font-size: 1rem; }
}
@media(max-width:480px) {
  .hero-facts span { flex: 1 1 130px; }
  .equipment-card .offer-price { font-size: 2.25rem; }
  .detail-close .actions { min-width: 0; }
  .hero .actions .button { flex-basis: 100%; }
}
@media(max-height:600px) and (max-width:780px) { .header { position: relative; } }
