/* Site-wide typography standards. Loaded after page CSS on purpose. */
:root{
  --type-font-heading:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --type-font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --type-font-ui:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --type-h1:48px;
  --type-h1-mobile:28px;
  --type-h2:34px;
  --type-h3-min:22px;
  --type-h3-max:26px;
  --type-h4-min:18px;
  --type-h4-max:20px;
  --type-body-min:16px;
  --type-body-max:18px;
  --type-body-color:#4b5563;
}

body{
  font-family:var(--type-font-body) !important;
}

body > :not(.site-header):not(.site-footer):not(.cookie-fab):not(.cbn):not(.cpn):not(script):not(style) :where(h1,.h1),
main :where(h1,.h1),
.page-main :where(h1,.h1){
  font-family:var(--type-font-heading) !important;
  font-size:clamp(var(--type-h1-mobile),5vw,var(--type-h1)) !important;
  line-height:1.12 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

body > :not(.site-header):not(.site-footer):not(.cookie-fab):not(.cbn):not(.cpn):not(script):not(style) :where(h2,.h2),
main :where(h2,.h2),
.page-main :where(h2,.h2){
  font-family:var(--type-font-heading) !important;
  font-size:var(--type-h2) !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

body > :not(.site-header):not(.site-footer):not(.cookie-fab):not(.cbn):not(.cpn):not(script):not(style) :where(h3,.h3),
main :where(h3,.h3),
.page-main :where(h3,.h3){
  font-family:var(--type-font-heading) !important;
  font-size:clamp(var(--type-h3-min),2.3vw,var(--type-h3-max)) !important;
  line-height:1.24 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

body > :not(.site-header):not(.site-footer):not(.cookie-fab):not(.cbn):not(.cpn):not(script):not(style) :where(h4,.h4),
main :where(h4,.h4),
.page-main :where(h4,.h4){
  font-family:var(--type-font-heading) !important;
  font-size:clamp(var(--type-h4-min),1.8vw,var(--type-h4-max)) !important;
  line-height:1.3 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

body > :not(.site-header):not(.site-footer):not(.cookie-fab):not(.cbn):not(.cpn):not(script):not(style) p,
main p,
.page-main p{
  font-family:var(--type-font-body) !important;
  color:var(--type-body-color) !important;
  font-size:clamp(var(--type-body-min),1.4vw,var(--type-body-max)) !important;
  line-height:1.6 !important;
  font-weight:400 !important;
}

body :where(button,input,select,textarea,.btn,.dw-btn,.mega-toggle,.nav-link){
  font-family:var(--type-font-ui) !important;
}

body :where(.dw-faq-item,.faq-item,details,[itemtype="https://schema.org/Question"]) h3,
body main .dw-faq .dw-faq-item summary h3,
body main .faq-section .faq-item h3,
body main .faq-list .faq-item h3{
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

html body main.dw-page section.dw-faq details.dw-faq-item summary h3[itemprop="name"],
html body main section.faq-section .faq-list .faq-item h3,
html body main .faq-question h3,
html body main .faq-item .faq-question h3{
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

@media (max-width:640px){
  body > :not(.site-header):not(.site-footer):not(.cookie-fab):not(.cbn):not(.cpn):not(script):not(style) :where(h1,.h1),
  main :where(h1,.h1),
  .page-main :where(h1,.h1){
    font-size:clamp(28px,9vw,36px) !important;
  }
}
