.hero-subline {
  max-width: 740px;
  margin: 20px auto 0;
  font-size: clamp(17px, 1.7vw, 23px);
  line-height: 1.5;
  color: #fff;
}
.hero .hero-question { text-align: center; margin: 0 0 24px; }
.hero .hero-header { margin-bottom: 32px; }
.hero .hero-cards { margin-top: 0; }
.hero-card__audience { display: block; margin-bottom: 12px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.hero-card__title { font-size: clamp(24px, 2.3vw, 32px); }
.hero-card { display: flex; flex-direction: column; }
.hero-card__cta { margin-top: auto; padding-top: 16px; }
.fee-disbursement-marker { margin-left: .25em; }
.fees-table sup { font-size: .7em; }
.fees-table sup a { color: inherit; }
.fee-footnotes { max-width: 820px; margin: 18px auto 0; }
.fee-footnotes .fee-note { margin: 12px 0; font-size: 14px; line-height: 1.65; }
.fee-awards-discount { font-size: 15px; line-height: 1.6; margin: 16px 0; }
.fees-appointment { max-width: 820px; margin: 28px auto 0; text-align: center; }
.fees-appointment p { margin-bottom: 22px; line-height: 1.65; }
.areas-map img, .map-card img { height: auto; aspect-ratio: auto; object-fit: contain; }
.map-source { font-size: 12px; line-height: 1.6; margin-top: 10px; color: var(--text-light); }
.map-source a { text-decoration: underline; }
html { scroll-padding-top: 88px; scroll-padding-bottom: 96px; }
.fee-footnotes p, .ghl-enquiry-form { scroll-margin-top: 88px; scroll-margin-bottom: 110px; }
body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
.details-in-view .sticky-bar, .details-in-view .whatsapp-fab { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 767px) {
  .fee-footnotes .fee-note { font-size: 14px; }
  .hero-subline { margin-top: 16px; }
  .hero-card__title { font-size: 25px; }
  .fees-table td { white-space: normal; }
  .fees-table td:last-child { min-width: 100px; }
}
