
:root {
    --font-heading: 'El Messiri', Georgia, 'Times New Roman', serif;
    --font-button:  'Mermaid', Georgia, serif;
    --font-sub:     'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --font-main: var(--font-heading);
    --font-body: var(--font-sub);
}

html, body {
    font-family: var(--font-sub);
    font-weight: 500;
}

h1, h2, h3, h4, h5, h6,
.section-title,
.hero-title, .hero-v2-title,
.svc-hero-title, .svc-offer-title, .svc-why-title, .svc-cta-title,
.svc-offer-card-title, .svc-feature-title, .svc-process-title, .svc-lead-title,
.footer-col h4,
.stat-number,
.story-name,
.service-card h3, .service-title,
.modal-head h3,
.bb-modal-title, .bb-modal-right-title,
.brand-title,
.anim-headline,
.blog-card-title, .page-hero-title,
[class*="-title"],
[class*="-heading"],
[class*="-headline"],
[class*="title"],
[class*="heading"],
[class*="headline"] {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
.section-title *, .hero-title *, .hero-v2-title *,
.svc-hero-title *, .svc-offer-title *, .svc-why-title *, .svc-cta-title *,
.svc-offer-card-title *, .svc-feature-title *, .svc-process-title *, .svc-lead-title *,
.blog-card-title *, .page-hero-title *,
.service-card h3 *, .service-title *,
[class*="-title"] *,
[class*="-heading"] *,
[class*="-headline"] *,
[class*="title"] *,
[class*="heading"] *,
[class*="headline"] * {
    font-family: inherit !important;
}

:where(h1:not([data-hx-was]), h2:not([data-hx-was]), [data-hx-was="h1"], [data-hx-was="h2"]),
.section-title, .hero-v2-title, .svc-hero-title {
    line-height: 1.18;
}

.btn,
.btn-primary, .btn-outline, .btn-secondary, .btn-white,
button.btn,
a.btn,
.hero-v2-btn,
.bb-modal-submit,
.svc-hero-buttons .btn,
.svc-cta-buttons .btn,
input[type="submit"],
button[type="submit"] {
    font-family: var(--font-button) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

p, li, span, label, small, td, th, blockquote,
input, select, textarea,
.section-label,
.hero-desc, .hero-v2-desc,
.svc-hero-desc, .svc-offer-desc, .svc-feature-desc, .svc-process-desc,
.svc-faq-q, .svc-faq-a,
.stat-label,
.story-website,
.testimonial-text,
.footer-desc, .footer-links a, .footer-copy, .footer-legal a, .contact-item,
.nav-link, .dropdown a, .mobile-nav a, .mobile-nav-toggle,
.topbar-left a, .topbar-social a,
.bb-modal-eyebrow, .bb-modal-sub, .bb-modal-right-sub, .bb-modal-perks li,
.bb-modal-group label, .bb-modal-privacy, .bb-modal-msg,
.wa-float {
    font-family: var(--font-sub) !important;
}

p, .svc-hero-desc, .hero-v2-desc, .testimonial-text, .svc-faq-a {
    font-weight: 500 !important;
}

.section-label,
.svc-pill,
.stat-label,
.nav-link,
.svc-faq-q,
label {
    font-weight: 600 !important;
}

.header .nav-link,
.header .dropdown a,
.header .logo-text .name,
.header .logo-text .tagline,
.topbar-left a,
.topbar-social a,
.topbar-left,
.footer-col h4,
.footer-links a,
.footer-copy,
.footer-legal a,
.contact-item,
.contact-item a,
.contact-item span,
.footer-brand .logo-text .name,
.footer-brand .logo-text .tagline,
.footer-brand .footer-desc,
.footer-desc,
.footer-brand .logo,
.logo-text,
.logo {
    font-family: var(--font-heading) !important;
}

@media (max-width: 767px) {
    h1:where(:not([data-hx-was])), :is(h1, h2, h3, h4, h5, h6)[data-hx-was="h1"], .hero-v2-title, .svc-hero-title { letter-spacing: 0; }
}
