:root{
  --f-heading: "Montserrat", system-ui, sans-serif;
  --f-subheading: "Poppins", system-ui, sans-serif;
  --f-d: var(--f-heading);
  --f-b: var(--f-subheading);
}
body{ font-size:15.5px; line-height:1.65 }

body .h2,
body .elementor-widget.h2x .elementor-heading-title{
  font-size:clamp(1.85rem, 3.3vw, 2.7rem); line-height:1.1; letter-spacing:-.022em;
}

body :is(h1, h2, .h1, .h2, .contact__title, .vhero__h1, .ahero__h, .post-hero__h),
body .elementor-widget:is(.h1x, .h2x) .elementor-heading-title{
  font-family:var(--f-heading) !important;
  font-weight:700 !important;
}

body :is(h3, h4, h5, h6, .h3, .h4, .h5, .h6),
body .elementor-column:is(.feat, .step, .member, .cscolx) .elementor-heading-title{
  font-family:var(--f-subheading) !important;
  font-weight:600 !important;
}

body .elementor-widget.h3x .elementor-heading-title,
body :is(.hero__sub, .vhero__sub, .ahero__s, .alead__sub),
body .elementor-widget.herosub .elementor-widget-container,
body .elementor-widget.herosub{
  font-family:var(--f-subheading) !important;
  font-weight:400 !important;
}
body .elementor-widget.h3x .elementor-heading-title{
  font-size:clamp(1.1rem, 1.5vw, 1.3rem) !important; line-height:1.55 !important;
  font-weight:500 !important; letter-spacing:0 !important; color:var(--ink) !important; max-width:52ch;
}

body :is(.quote, .tcard blockquote, .cfrow__body blockquote){ font-family:var(--f-subheading) }
