/* Font roles only: preserve each page's sizes, layout and icon fonts. */
html body.rat-typography #page-container { font-family:var(--rat-body) !important; }
html body.rat-typography #page-container :where(*:not(.et-pb-icon,.et_pb_icon,.et-pb-icon *,.et_pb_icon *,.et_pb_font_icon,.dtq-icon,.dashicons,.dashicons *,.fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,[class^="fa-"],[class*=" fa-"],.gform-icon,.gform-calendar-icon,.gfield-choice-image-no-image,.gform-datepicker-calendar .nav.next,.gform-datepicker-calendar .nav.prev,.ui-icon,.material-icons,.material-symbols-outlined,[style*="FontAwesome"],[style*="ETmodules"],[style*="Font Awesome"],svg,svg *)) {
  font-family:inherit !important;
}
html body.rat-typography #page-container h1 { font-family:var(--rat-h1) !important; font-weight:var(--rat-heading-weight) !important; }
html body.rat-typography #page-container :is(h2,h3) { font-family:var(--rat-heading) !important; font-weight:var(--rat-heading-weight) !important; }
html body.rat-typography #page-container :is(h4,h5,h6) { font-family:var(--rat-small) !important; font-weight:var(--rat-heading-weight) !important; }
html body.rat-typography #page-container :is(strong,b) { font-weight:700; }
html body.rat-typography #page-container :is(nav,.et-menu,.et_mobile_menu,#top-menu,.ra-hvac-jump,.et_pb_button,button,input[type="submit"],input[type="button"],.ra-hvac-btn,.ra-hvac-eyebrow,.ra-hvac-watch) { font-family:var(--rat-menu) !important; font-weight:var(--rat-menu-weight) !important; }
html body.rat-typography #page-container :is(.et-menu,.et_mobile_menu,#top-menu) a { font-family:var(--rat-menu) !important; font-weight:var(--rat-menu-weight) !important; }
/* Headings often contain styled links/spans inside Divi Code Modules. */
html body.rat-typography #page-container :is(h1,h2,h3,h4,h5,h6) :is(a,span,strong,em,b,i):not(.et-pb-icon,.et_pb_icon,.et_pb_font_icon,.dtq-icon,.dashicons,.fa,.fas,.far,.fab,[class^="fa-"],[class*=" fa-"],.gform-icon,.gform-calendar-icon,.gfield-choice-image-no-image,.gform-datepicker-calendar .nav.next,.gform-datepicker-calendar .nav.prev,.ui-icon,.material-icons,.material-symbols-outlined,[style*="FontAwesome"],[style*="ETmodules"],[style*="Font Awesome"]) { font-family:inherit !important; font-weight:inherit !important; }

/* Cal Sans supplies one display weight; keep supporting Figtree headings bold. */
html body.rat-preset-cal #page-container :is(h4,h5,h6){font-weight:700!important;}

/* Preserve the homepage's authored bold/soft lead, including its existing size and breaks. */
html body.home.rat-typography #page-container span.bold-title {font-family:var(--rat-body)!important;font-weight:700!important;}
html body.home.rat-typography #page-container span.bold-title .soft {font-family:inherit!important;font-weight:500!important;}
html body.home.rat-preset-bold #page-container span.bold-title .soft {font-weight:400!important;}
html body.home #page-container .bold-title h2 {text-transform:none!important;}

/* Store normal sentence case; allow each selected face to draw its natural letter shapes. */
html body[class*="rat-preset-"] #page-container :is(h1,h2,h3,h4,h5,h6),
html body[class*="rat-preset-"] #page-container :is(h1,h2,h3,h4,h5,h6) :is(span,a,strong,em,b,i){text-transform:none!important;}
