:root {
    /* Base typography variables */
    --unified-font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --unified-font-heading: 'Georgia', serif;
    
    /* Modular scale */
    --unified-text-base: 16px;
    --unified-text-scale: 1.25; /* Major Third scale */
    
    --unified-h6: calc(var(--unified-text-base) * 1);
    --unified-h5: calc(var(--unified-text-base) * var(--unified-text-scale));
    --unified-h4: calc(var(--unified-h5) * var(--unified-text-scale));
    --unified-h3: calc(var(--unified-h4) * var(--unified-text-scale));
    --unified-h2: calc(var(--unified-h3) * var(--unified-text-scale));
    --unified-h1: calc(var(--unified-h2) * var(--unified-text-scale));
}

/* Enforce Body Font & Size */
body, 
p, 
a, 
li, 
span, 
.elementor-widget-text-editor, 
.elementor-text-editor {
    font-family: var(--unified-font-body) !important;
    font-size: var(--unified-text-base) !important;
    line-height: 1.6 !important;
}

/* Enforce Heading Fonts */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
    font-family: var(--unified-font-heading) !important;
    line-height: 1.2 !important;
    margin-bottom: 0.5em !important;
    font-weight: 600 !important;
}

/* Enforce Heading Sizes */
h1, .elementor-widget-heading h1 { font-size: var(--unified-h1) !important; }
h2, .elementor-widget-heading h2 { font-size: var(--unified-h2) !important; }
h3, .elementor-widget-heading h3 { font-size: var(--unified-h3) !important; }
h4, .elementor-widget-heading h4 { font-size: var(--unified-h4) !important; }
h5, .elementor-widget-heading h5 { font-size: var(--unified-h5) !important; }
h6, .elementor-widget-heading h6 { font-size: var(--unified-h6) !important; }

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    :root {
        --unified-text-scale: 1.125; /* Major Second scale for mobile to avoid giant headings */
    }
}
