/* Shared reading rhythm for the existing Highfield design. */
:root {
  --muted: #5c5248;
  --copper: #805b3f;
}
body { font-size: 1.0625rem; }
body #main .eyebrow {
  font-size: .875rem;
  line-height: 1.55;
  letter-spacing: .1em;
}
#main :is(h1,h2,h3) { text-wrap: balance; }
#main :is(h2,h3) { line-height: 1.15; }
#main :is(p,li,dd,label,summary) { overflow-wrap: break-word; }
#main :is(.article-body,.editorial-grid,.mini-explainer-grid,.device-mini-grid,.treatment-journey-grid) p {
  line-height: 1.8;
}
.article-body { max-width: 70ch; }
.article-body>p { margin-bottom: 1.35em; }
.article-body>h2:not(:first-child) { margin-top: 1.5em; }
.article-body :is(ul,ol) { padding-left: 1.4em; }
.article-body li+li { margin-top: .65em; }

/* Supporting copy is still part of the reading experience. */
body #main :is(
  .home-treatment-copy,.home-team-card-copy,.home-technology-heading,
  .home-team-intro,.home-collection-footer,.home-form-heading,
  .home-professional-registers,.journal-row-copy,.gallery-results-note,
  .treatment-option-copy,.treatment-price-divider,.treatment-risk,
  .filler-package-panel,.face-map-current,.device-mini-grid,
  .skin-ageing-chart,.skin-ageing-result,.skin-recommendations,
  .body-planner-caveat,.alumier-product,.alumier-filter-note,
  .doctor-mini,.article-sources
) p:not(.eyebrow):not(.team-qualification):not(.home-doctor-degrees) {
  font-size: 1rem;
  line-height: 1.75;
}
body #main :is(
  .home-treatment-copy,.home-team-card-copy,.home-team-intro,
  .home-collection-footer,.home-form-heading,.home-professional-registers,
  .treatment-option-copy,.treatment-price-divider,.treatment-risk,
  .filler-package-panel,.face-map-current,.skin-ageing-chart,
  .skin-ageing-result,.skin-recommendations,.body-planner-caveat,
  .alumier-filter-note,.alumier-product
) p:not(.eyebrow) { color: #5b4d40; }
body #main :is(.home-reassurance,.home-visit-note,.home-callback-small,.booking-guidance) {
  font-size: 1rem;
  line-height: 1.75;
}
body #main :is(
  .form-note,.treatment-facts-note,.result-note,.face-map-note,
  .body-form-note,.skin-ageing-caveat,.mini-brand-note,.juvederm-legal,
  .about-credentials,.about-address,.reviews-foot p,.terms-updated
) {
  font-size: .875rem;
  line-height: 1.75;
  opacity: 1;
}
body #main .treatment-evidence p {
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: #5b4d40 !important;
}
body #main .technology-note { font-size: 1rem !important; }
.treatment-evidence-links a {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
}
.treatment-evidence>span { font-size: .875rem; color: #6c4d34; }
.treatment-evidence-links small { font-size: .75rem; line-height: 1.5; color: #705238; }
body #main .skin-ageing-panel .eyebrow { color: #6a4b33; }
.skin-ageing-stage strong { font-size: .9375rem; line-height: 1.6; }
.skin-recommendation-rank { font-size: .75rem; line-height: 1.5; color: #6a4b33; }
.skin-ageing-chart figcaption { font-size: .875rem; line-height: 1.6; }
.skin-ageing-sources { font-size: .875rem; line-height: 1.6; }
.skin-recommendations a { font-size: .875rem; line-height: 1.6; }
.skin-ageing-result { margin-top: 1.5rem; }
.skin-recommendations { gap: 1rem; }
body #main .mini-treatment-hero .service-hero-line {
  max-width: 58ch;
  color: #594a3d;
  font: 400 1.125rem/1.75 var(--sans);
}
.service-hero-line { color: #795436; }
.treatment-facts dt { font-size: .875rem; line-height: 1.55; color: #705033; }
.treatment-facts dd { font-size: 1rem; line-height: 1.7; }
.treatment-risk strong { font-size: 1rem; }
.treatment-facts>div { min-width: 0; }
.face-map-choice { font-size: .875rem; line-height: 1.5; }
.face-map-choice>span { font-size: .75rem; }
.mini-price>span { font-size: .875rem; line-height: 1.6; }
.filler-package-chip .button { font-size: .875rem; line-height: 1.5; }

/* Keep practical labels and contact actions legible. */
body #main :is(.button,.under-link,.text-link,.home-card-link,.home-text-link) {
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: .035em;
}
body #main .button { white-space: normal; }
body #main :is(.callback-form,.body-form-grid,.skin-ageing-controls,.alumier-profile-form,.alumier-filters) label {
  font-size: .875rem;
  line-height: 1.6;
  letter-spacing: .02em;
}
body #main :is(input,select,textarea) { font-size: 1rem; }
body #main :is(.body-area-options span,.body-bmi-result dt,.body-area-result a,.alumier-product-links a) {
  font-size: .875rem;
  line-height: 1.6;
}
.body-area-result>span { color: #735033; font-size: .875rem; }
.body-bmi-result>span { color: #e2be97; font-size: .875rem; }
.gallery-index a,.gallery-treatment-links a { font-size: .875rem; line-height: 1.6; }
.gallery-treatment-links a { padding: 10px 13px; }
.gallery-autoplay-label { font-size: .75rem; color: #67503d; }
.journal-row-meta { font-size: .875rem; line-height: 1.6; letter-spacing: .035em; }
.journal-row-meta small { font-size: .8125rem; }
.journal-row-action { font-size: .875rem; line-height: 1.6; }
.journal-row-copy { max-width: 68ch; }
.home-team-compact .team-register,.about-team .team-register,
.home-professional-registers a,.home-doctor-links a { font-size: .875rem; line-height: 1.6; }
.home-team-compact .home-team-card-copy .eyebrow { min-height: 3.1em; }
body #main .alumier-offer .eyebrow { color: #dfbf99; }
.alumier-tags span,.alumier-product-price small { font-size: .8125rem; line-height: 1.6; }
.alumier-profile-form .profile-consent { font-size: .875rem; }
.footer :is(p,a) { overflow-wrap: anywhere; }
.footer-grid>div>a:not(.brand) { font-size: .9375rem; line-height: 1.7; }
.footer-bottom { font-size: .8125rem; line-height: 1.7; }
.footer-bottom a { font-size: inherit; }
.footer-label { line-height: 1.4; }

@media(max-width:760px) {
  .article-body { width: calc(100% - 36px); }
  .treatment-facts dt { font-size: .875rem; }
  .treatment-facts dd { font-size: 1rem; }
  .skin-recommendations { grid-template-columns: 1fr; }
  .skin-ageing-panel { padding: 24px 18px; }
  .body-bmi-result dl>div { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
  .journal-row-copy h2 { line-height: 1.2; }
  .home-team-compact .home-team-card-copy .eyebrow { min-height: 0; }
  .home-callback-form,.callback-form { min-width: 0; }
  #main .button { gap: 18px; max-width: 100%; }
}
