:root {
  --ui-radius: 18px;
}

.sr-only-page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Keep this layer non-invasive: typography rhythm only, no forced colors. */
body { line-height: 1.62; }

main :where(p, li),
.main :where(p, li),
.article :where(p, li),
.article-card :where(p, li),
.faq :where(p, li) {
  line-height: 1.72;
}

/* Rounded UI consistency without touching text/background color logic. */
.card, .box, .tile, .service-card, .city-card, .faq-card,
.article-card, .side-card, .cta-box, .panel {
  border-radius: var(--ui-radius);
}

button,
.btn,
a.btn,
a[class*="btn-"] {
  border-radius: 999px;
}

img { border-radius: 12px; }
section { scroll-margin-top: 88px; }

@media (max-width: 768px) {
  h1, h2, h3 {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  p, li { line-height: 1.78; }

  .container,
  .main,
  main,
  section { max-width: 100%; }
}
