/* Inter: an intentionally more readable type scale throughout the experience. */
:root {
 --font-sans: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
 --font-display: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
}
body { font-size: 17px; line-height: 1.75; font-optical-sizing: auto; }
.rf-nav__topbar { font-size: 12px; letter-spacing: 0; }
.rf-nav__lang a { font-size: 13px; }
.rf-nav__cta { font-size: 14px; }
.rf-btn { font-size: 16px; font-weight: 550; }
.rf-btn--sm { font-size: 14px; }
.rf-btn--lg { font-size: 16px; }
.rf-eyebrow { font-size: 15px; font-weight: 600; }
.showcase__intro { font-size: 14px; }
.showcase h1, .showcase h2 { font-size: clamp(48px, 4.5vw, 70px); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; }
.showcase__copy { max-width: 680px; }
.showcase__lead { font-size: 17px; line-height: 1.8; max-width: 520px; }
.showcase__link { font-size: 15px; }
.showcase__tab { font-size: 16px; font-weight: 500; }
.showcase__number { font-size: 13px; }
.assurance__item strong { font-size: 15px; line-height: 1.5; }
.assurance__item span { font-size: 13px; line-height: 1.6; }
.assurance__item { gap: 14px; }
.rf-section-head h2, .section-heading h2, .about h2 { font-size: clamp(36px, 3.3vw, 50px); line-height: 1.18; font-weight: 550; letter-spacing: -.05em; }
.section-heading > p { font-size: 17px; line-height: 1.8; max-width: 405px; }
.expertise-card h3 { font-size: 28px; font-weight: 600; }
.expertise-card__strap { font-size: 17px; }
.expertise-card__body > p:not(.expertise-card__strap) { font-size: 16px; line-height: 1.8; }
.text-link { font-size: 15px; font-weight: 550; }
.about__text > p:not(.rf-eyebrow) { font-size: 17px; line-height: 1.8; }
.about__text .about__lead { font-size: 22px !important; font-weight: 450; line-height: 1.5; }
.about__text .rf-check-list { font-size: 15px; line-height: 1.7; }
.about__stat > span { font-size: 14px; }
.process__number { font-size: 14px; }
.process__steps h3 { font-size: 24px; font-weight: 550; }
.process__steps p { font-size: 16px; line-height: 1.8; max-width: none; }
.exclusive > a > span + span { font-size: 16px; }
.exclusive small { font-size: 12px; }
.contact__item strong { font-size: 16px; }
.contact__item p { font-size: 15px; }
.rf-panel--action h3 { font-size: 29px !important; line-height: 1.3 !important; }
.rf-label { font-size: 14px; }
.rf-input, .rf-select, .rf-textarea { font-size: 16px; }
.form-status { font-size: 14px; }
.rf-footer { font-size: 15px; }
.rf-footer__contact-item { font-size: 13px; }
.rf-footer__contact-item strong { font-size: 14px; }
.rf-footer__logo p { font-size: 14px; }
.rf-footer__title { font-size: 16px; }
.rf-footer__bottom { font-size: 12px; }
.rf-banner p { font-size: 18px; }
.rf-breadcrumb { font-size: 14px; }
.jumplist a { font-size: 14px; }
.model .spec { font-size: 15px; }
.rf-card--download .rf-card__meta { font-size: 14px; }
/* The menu uses the same readable scale as the site, not miniature navigation text. */
.has-mega .rf-nav__trigger, .rf-nav__links > li > a { font-size: 16px; font-weight: 550; }
.mega-main { padding: 32px 28px 28px; }
.mega-heading { padding-bottom: 22px; }
.mega-kicker { font-size: 13px; margin-bottom: 13px; }
.mega-heading h2 { font-size: 28px; font-weight: 600; letter-spacing: -.04em; }
.mega-heading p { font-size: 15px; line-height: 1.65; margin-top: 12px; }
.mega-link__text strong { font-size: 16px; font-weight: 600; line-height: 1.45; }
.mega-link__text > span { font-size: 14px; line-height: 1.6; margin-top: 6px; }
.rf-mega .mega-link { gap: 14px; padding: 14px 10px; }
.mega-link__icon { width: 40px; height: 40px; }
.mega-feature__copy > span:first-child { font-size: 12px; }
.mega-feature__copy > strong { font-size: 30px; line-height: 1.15; font-weight: 500; }
.mega-feature__cta { font-size: 13px; line-height: 1.6; gap: 10px; }
.rf-mega .mega-footer > a { font-size: 13px; }
@media (min-width: 1121px) {
 .rf-nav__links > li > a, .has-mega .rf-nav__trigger { padding-inline: 14px; }
}
@media (min-width: 1121px) and (max-width: 1250px) {
 .rf-nav__links > li > a, .has-mega .rf-nav__trigger { font-size: 14px; padding-inline: 10px; }
 .rf-nav__actions { gap: 12px; }
 .rf-nav__cta { font-size: 13px; padding-inline: 12px; }
}
@media (max-width: 1120px) {
 .rf-nav__bar { min-height: 76px; }
 .rf-nav__toggle { display: inline-flex; }
 .rf-nav__cta { display: none; }
 .rf-nav__links { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-md); }
 .rf-nav.is-open .rf-nav__links { display: flex; }
 .rf-nav__links > li > a, .has-mega .rf-nav__trigger { font-size: 18px; min-height: 56px; padding: 16px 12px; }
 .rf-nav__links > li > a::after { display: none; }
 .rf-mega .mega-main { padding: 12px 0 16px; }
 .mega-heading h2 { font-size: 25px; }
 .mega-heading p { font-size: 15px; max-width: 520px; }
 .mega-link__text strong { font-size: 16px; }
 .mega-link__text > span { font-size: 14px; }
 .mega-feature__copy > strong { font-size: 28px; }
 .rf-mega .mega-footer > a { font-size: 14px; }
}
@media (max-width: 760px) {
 body { font-size: 16px; }
 .rf-nav__topbar { font-size: 11px; }
 .rf-nav__bar { min-height: 72px; }
 .showcase h1, .showcase h2 { font-size: clamp(41px, 8.4vw, 60px); line-height: 1.1; }
 .showcase__intro { font-size: 12px; }
 .showcase__lead { font-size: 16px; line-height: 1.75; max-width: 440px; }
 .showcase__link { font-size: 14px; align-self: flex-start; }
 .showcase__tab { font-size: 12px; }
 .showcase__number { font-size: 11px; }
 .showcase__inner { padding-bottom: 150px; }
 .assurance__item strong { font-size: 13px; }
 .assurance__item span { font-size: 12px; }
 .rf-section-head h2, .section-heading h2, .about h2 { font-size: 36px; }
 .section-heading > p { font-size: 16px; }
 .expertise-card h3 { font-size: 28px; }
 .expertise-card__body > p:not(.expertise-card__strap) { font-size: 16px; }
 .about__text > p:not(.rf-eyebrow) { font-size: 16px; }
 .about__text .about__lead { font-size: 21px !important; }
 .process__steps h3 { font-size: 22px; }
 .process__steps p { font-size: 15px; }
 .exclusive > a > span + span { font-size: 14px; }
 .contact__details { grid-template-columns: 1fr; }
 .contact__item strong { font-size: 16px; }
 .contact__item p { font-size: 15px; }
 .rf-panel--action h3 { font-size: 25px !important; }
 .rf-footer__contact .rf-container { grid-template-columns: 1fr; }
 .rf-footer__contact-item { font-size: 14px; }
 .rf-footer__contact .rf-btn { width: fit-content; padding: 12px 22px; font-size: 14px; }
 .rf-banner p { font-size: 16px; }
 .mega-heading h2 { font-size: 23px; }
 .mega-heading p { font-size: 14px; }
 .mega-feature__cta { font-size: 14px; }
}
@media (max-width: 390px) {
 .showcase h1, .showcase h2 { font-size: 40px; }
 .showcase .rf-btn-group { gap: 14px; }
 .rf-section-head h2, .section-heading h2, .about h2 { font-size: 33px; }
 .assurance__grid { grid-template-columns: 1fr; }
 .assurance__item { padding: 18px 0; }
 .assurance__item + .assurance__item { border-left: 0; border-top: 1px solid var(--line); }
 .process__steps { grid-template-columns: 1fr; }
 .process__steps p { max-width: 300px; }
 .rf-mega .mega-link { gap: 10px; }
 .mega-link__text strong { font-size: 15px; }
 .mega-link__text > span { font-size: 13px; }
 .mega-heading h2 { font-size: 22px; }
}
