/* Loaded last — overrides Divi deferred CSS and legacy px rules */

/* Stable rem root; only body copy uses the fluid body token */
html {
  font-size: 100% !important;
}

html,
body,
body *:not(.material-icons):not(.fa):not(.fas):not(.far):not(.fab):not(.et-pb-icon):not(.et_font_icon):not(.et_pb_scroll_top) {
  font-family: "Poppins", sans-serif !important;
}

.et_pb_menu ul li a,
.et_pb_menu .nav li li a,
.et_mobile_menu li a,
.dvmm_menu a,
.td-foot,
.td-foot *,
header.et-l--header,
header.et-l--header *:not(.et-pb-icon):not(.et_font_icon),
footer,
footer *,
.et_pb_text,
.et_pb_text_inner,
.et_pb_blurb,
.et_pb_blurb_description,
.et_pb_promo_description,
.et_pb_contact_form,
input,
textarea,
select,
button,
label {
  font-family: "Poppins", sans-serif !important;
}

body,
body p,
body li,
.et_pb_text_inner,
.et_pb_blurb_description,
.et_pb_promo_description,
.et_pb_promo_description p,
.td-cu-experts p,
.td-about-cta p:not(.td-about-cta__kicker),
.td-cu-steps p,
.td-cu-info li > div span {
  font-weight: 400 !important;
  font-size: var(--td-fs-body) !important;
  line-height: var(--td-lh-body) !important;
}

/* Header nav + phone */
header.et-l--header .et-menu > li > a,
header.et-l--header .dvmm_menu a,
.et_mobile_menu li a,
.nav li li a {
  font-size: var(--td-fs-nav) !important;
  line-height: 1.3 !important;
}

header.et-l--header .et_pb_blurb .et_pb_module_header,
header.et-l--header .et_pb_blurb .et_pb_module_header a,
header.et-l--header .td-header-phone-alt {
  font-size: var(--td-fs-nav-lg) !important;
  line-height: 1.2 !important;
}

/* Headings */
h1,
h1 span,
.home-hero h1,
.home-hero h1 span,
.td-cu-hero h1,
.td-aboutpage__h1,
.td-reviews__intro h1,
.et_pb_text_inner > h1 {
  font-size: var(--td-fs-h1) !important;
  line-height: var(--td-lh-h1) !important;
}

h2,
h2 span,
.et_pb_module_header,
.et_pb_module_header *,
.et_pb_slide_title,
.et_pb_promo_title,
.et_pb_text_inner > h2,
.td-about-cta__title,
.td-board__intro h2,
.td-svc__top h2,
.td-home-quotes__visual h2,
.td-aboutpage__mission h2,
.td-aboutpage__why-panel h2,
.td-aboutpage__services h2,
.td-aboutpage__faq h2,
.td-cu-why h2,
.td-cu-steps h2,
.td-cu-experts h2,
.td-cu-form-card h2,
.td-cu-info h2,
.sa-map h2,
.home-coupon-section .et_pb_module_header {
  font-size: var(--td-fs-h2) !important;
  line-height: var(--td-lh-h2) !important;
}

h3,
h3 span,
.et_pb_text_inner > h3,
.td-board__card h3,
.td-cu-steps h3 {
  font-size: var(--td-fs-h3) !important;
  line-height: var(--td-lh-h3) !important;
}

h4,
h4 span,
h5,
h5 span,
h6,
h6 span,
.et_pb_text_inner > h4,
.et_pb_text_inner > h5,
.et_pb_text_inner > h6 {
  font-size: var(--td-fs-h4) !important;
  line-height: var(--td-lh-h4) !important;
}

/* Sub-headings & lead copy */
[class*="__sub"],
[class*="__lead"],
.home-hero__sub,
.td-cu-hero__lead,
.td-aboutpage__hero-copy,
.td-aboutpage__services-lead {
  font-size: var(--td-fs-h4) !important;
  line-height: var(--td-lh-h4) !important;
}

[class*="__copy"]:not([class*="__kicker"]),
.home-hero__copy,
.td-board__card p,
.td-board__intro p,
.td-aboutpage__mission p,
.td-aboutpage__why-panel > p {
  font-size: var(--td-fs-body) !important;
  line-height: var(--td-lh-body) !important;
}

/* Bolded inline section titles inside body copy */
.et_pb_text_inner > p > strong:first-child {
  display: block;
  margin-bottom: 0.2em;
  font-size: var(--td-fs-h4) !important;
  font-weight: 700 !important;
  line-height: var(--td-lh-h4) !important;
  color: var(--td-color-text) !important;
}

.td-cu-experts h3 {
  font-size: var(--td-fs-h4) !important;
  line-height: var(--td-lh-h4) !important;
}

.td-cu-experts p strong {
  display: inline !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
}

/* Labels / kickers */
[class*="__kicker"]:not(.td-about-cta__kicker),
.home-hero__kicker,
.td-cu-hero__kicker,
.td-cu-why__kicker,
.td-aboutpage__kicker,
.td-board__tag {
  font-size: var(--td-fs-label) !important;
  line-height: var(--td-lh-small) !important;
}

body .td-about-cta .td-about-cta__kicker {
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

.td-about-cta p:not(.td-about-cta__kicker) {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.td-reviews__kicker {
  font-size: var(--td-fs-h3) !important;
  line-height: var(--td-lh-h3) !important;
}

/* Stat numbers */
.home-hero-stats strong,
.td-home-quotes__stat strong {
  font-size: var(--td-fs-h2) !important;
  line-height: var(--td-lh-h2) !important;
}

/* Footer chrome */
.td-foot__brand p,
.td-foot__col nav a,
.td-foot__line,
.td-foot__hours,
.td-foot__cities a,
.td-foot__addr,
.td-foot__bar a,
.td-foot__bar p {
  font-size: var(--td-fs-small) !important;
  line-height: var(--td-lh-small) !important;
}

.td-foot__col h2 {
  font-size: var(--td-fs-h3) !important;
  line-height: var(--td-lh-h3) !important;
}

h1,
h1 span,
.home-hero h1 {
  font-weight: 800 !important;
}

h2,
h2 span,
h3,
h3 span,
.et_pb_module_header,
.et_pb_module_header * {
  font-weight: 700 !important;
}

.et-menu a,
.et-menu li li a,
.nav li a,
header .et-menu > li > a {
  font-weight: 500 !important;
}

label,
.et_pb_contact_field label {
  font-weight: 500 !important;
}

.et_pb_button,
a.et_pb_button,
button,
input[type="submit"],
input[type="button"],
.home-hero__btn {
  font-weight: 600 !important;
}

/* Divi Plus buttons — beat deferred `.dipl_button_item_N .dipl_button_link` rules */
body .dipl_button_item .dipl_button_link,
body [class*="dipl_button_item_"] .dipl_button_link,
body a.dipl_button_link.dipl_button_default_fill,
body a.dipl_button_link.dipl_button_slide_up_fill {
  background-color: var(--color-primary) !important;
  background-image: none !important;
  border-color: var(--color-primary) !important;
  color: var(--color-on-primary) !important;
}

body .dipl_button_item .dipl_button_link .dipl_button_text,
body [class*="dipl_button_item_"] .dipl_button_link .dipl_button_text,
body a.dipl_button_link .dipl_button_text {
  color: var(--color-on-primary) !important;
}

body .dipl_button_link .dipl_background_effect_wrap::before,
body .dipl_button_link .dipl_background_effect_wrap::after {
  background-color: var(--color-primary-hover) !important;
  background-image: none !important;
}

body .dipl_button_item .dipl_button_link:hover,
body .dipl_button_item .dipl_button_link:focus-visible,
body [class*="dipl_button_item_"] .dipl_button_link:hover,
body [class*="dipl_button_item_"] .dipl_button_link:focus-visible,
body a.dipl_button_link:hover,
body a.dipl_button_link:focus-visible {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  color: var(--color-on-primary) !important;
}
