/* Semantics and visual typography are deliberately independent. */
/* Share the existing heading layer so its important H3 scale cannot override these roles. */
@layer khHeadingLevels {
body header .kh-contact-label {font-size:var(--kh-h6,18px)!important;line-height:1.25!important;margin:0;}
body footer .kh-footer-group {font-family:Lora,serif!important;font-size:var(--kh-h6,18px)!important;line-height:1.1!important;font-weight:400!important;margin:0!important;}
body footer .kh-footer-appointment {font-family:Lora,serif!important;font-size:32px!important;line-height:1.25!important;font-weight:500!important;margin:0!important;}
@media(max-width:767px){body footer .kh-footer-appointment{font-size:24px!important;}}
}
body .kh-phone-icon {width:1em;height:1em;fill:none!important;stroke:currentColor;flex-shrink:0;}

/* Mobile hero-to-About clearance: 8px margin + 10px outer + 10px inner padding. */
@layer khHomeSpacing {
 @media(max-width:767px) {
  body.home.page-id-89 .elementor-89 > .elementor-element-f2dbadb {
   margin-top:8px!important;--margin-top:8px!important;
   padding-top:10px!important;--padding-top:10px!important;
  }
  body.home.page-id-89 .elementor-89 > .elementor-element-f2dbadb > .e-con-inner {padding-top:10px!important;}
 }
}

/* Give coloured content icons a clear inset instead of fitting the glyph edge-to-edge. */
@layer khContentIconStandards {
 html body #content .elementor-widget-icon.elementor-view-stacked .elementor-icon,
 html body #content .elementor-widget-icon-box.elementor-view-stacked .elementor-icon {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:calc(var(--kh-content-icon-size,40px) + 24px)!important;
  height:calc(var(--kh-content-icon-size,40px) + 24px)!important;
  padding:12px!important;box-sizing:border-box!important;
  font-size:var(--kh-content-icon-size,40px)!important;line-height:1!important;
 }
 html body #content .elementor-view-stacked .elementor-icon > :is(i,svg) {
  flex-shrink:0!important;width:var(--kh-content-icon-size,40px)!important;
  height:var(--kh-content-icon-size,40px)!important;line-height:1!important;
 }
}

/* Department introduction shares the right edge of its desktop/tablet content column. */
@layer khHomeSpacing {
 @media(min-width:768px) {
  html body.home #content .elementor-element-15ad77b,
  html body.home #content .elementor-element-15ad77b .elementor-widget-container,
  html body.home #content .elementor-element-15ad77b p {text-align:right!important;}
 }
}
