/*
 * Evidence-informed layout layer.
 *
 * It keeps the existing visual identity while improving readability,
 * predictable navigation, touch targets and mobile scanning for a public
 * health-information site.
 */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{ text-wrap:balance }
.site-header,body>header{position:sticky;top:0;z-index:20;background:rgba(246,243,235,.96);backdrop-filter:blur(10px)}
nav{row-gap:10px}
.prose{max-width:68ch;margin-inline:auto}
.prose p,.prose li{max-width:68ch}
.lead{max-width:62ch}
.article-card p{font-size:15px}
.search input{min-height:48px;font-size:16px}
.filter,.nav-cta,.nav-book,.read,.feature .read,.article-cta>a{min-height:44px}
.filter,.nav-cta,.nav-book,.read,.feature .read,.article-cta>a{display:inline-flex;align-items:center}
.filter{justify-content:center}
.feature{min-height:250px}
.cta,.text-link,.btg-pay-button{min-height:44px}
.cta,.btg-pay-button{display:inline-flex;align-items:center;justify-content:center}
.text-link{display:inline-flex;align-items:center}
.appointment-card p,.booking-step p,.booking-info p,.intro{max-width:68ch}
.appointment-card .cta,.booking-actions .cta{min-height:48px}
@media(max-width:760px){
  .site-header,body>header{padding-top:16px;padding-bottom:16px}
  nav{gap:12px 16px}
  .filter,.nav-cta,.nav-book,.read,.feature .read,.article-cta>a,.cta,.btg-pay-button{min-height:48px}
}
@media(max-width:560px){
  .prose{font-size:19px;line-height:1.8}
  .filters{gap:10px}
}
@media(prefers-contrast:more){
  :root{--muted:#30473b;--line:#8d9b8f}
  .feature,.article-card,.editorial-note{border-color:#65766b}
}
