/* Shared refinements for service, city and company content. */
.ap-legacy main { overflow-wrap: anywhere; }
.ap-legacy main .btn, .ap-legacy main .btn2 { min-height: 48px; text-align: center; justify-content: center; max-width: 100%; }
.ap-legacy main .btn { background: #CB3F0A; color: #fff; }
.ap-legacy main .btn:hover { background: #A63208; }
.ap-legacy main .chip, .ap-legacy main .related a { display: inline-flex; min-height: 44px; align-items: center; }
.ap-legacy main .chip { flex-direction: column; align-items: flex-start; justify-content: center; }
.ap-legacy main .badge { max-width: 100%; }
.ap-legacy main svg { flex-shrink: 0; }
.ap-legacy main :focus-visible { outline: 3px solid #1B1A14; outline-offset: 4px; }
.ap-legacy main :is(h1,h2,h3,[id]) { scroll-margin-top: 100px; }
@media (max-width: 540px) {
  .ap-legacy main .btn, .ap-legacy main .btn2 { width: 100%; }
  .ap-legacy main h1 { font-size: clamp(2rem, 8vw, 2.65rem); }
  .ap-legacy .portrait { width: min(240px, 100%); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ap-legacy *, .ap-legacy *::before, .ap-legacy *::after { transition: none !important; animation: none !important; }
}

/* A two-color focus indicator stays visible on cream and dark sections. */
.ap-legacy main :focus-visible { outline: 3px solid #1B1A14; outline-offset: 3px; box-shadow: 0 0 0 6px #fff; }
.ap-legacy main .chip span, .ap-legacy main .stat span, .ap-legacy main .media a small { font-size: 1rem; }
