:root {
    --ods-ink: #0F172A;
    --ods-slate: #64748B;
    --ods-green: #2D7A1F;
    --ods-green-dark: #235F18;
    --ods-font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --ods-font-serif: 'DM Serif Display', Georgia, serif;
    --ods-font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
}

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* H1 HERO */
body .elementor .elementor-element.elementor-element-282b1cc h1,
body .elementor .elementor-element.elementor-element-282b1cc .elementor-heading-title {
    font-family: var(--ods-font-serif) !important;
    font-weight: 400 !important;
    font-size: clamp(40px, 5.5vw, 72px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    color: var(--ods-ink) !important;
    margin-bottom: 24px !important;
}

/* H2 sections */
body .elementor .elementor-element.elementor-element-9570eb3 h2,
body .elementor .elementor-element.elementor-element-5f7e62e h2,
body .elementor .elementor-element.elementor-element-af73228 h2,
body .elementor .elementor-element.elementor-element-bb040bb h2,
body .elementor .elementor-element.elementor-element-31e80d8 h2,
body .elementor .elementor-element.elementor-element-9570eb3 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-5f7e62e .elementor-heading-title,
body .elementor .elementor-element.elementor-element-af73228 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-bb040bb .elementor-heading-title,
body .elementor .elementor-element.elementor-element-31e80d8 .elementor-heading-title {
    font-family: var(--ods-font-serif) !important;
    font-weight: 400 !important;
    font-size: clamp(32px, 3.5vw, 48px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    color: var(--ods-ink) !important;
    margin-bottom: 16px !important;
    text-align: center !important;
}

/* EYEBROWS */
body .elementor .elementor-element.elementor-element-5d34861 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-3a24902 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-a6b44e6 .elementor-heading-title {
    font-family: var(--ods-font-mono) !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--ods-green) !important;
    margin-bottom: 16px !important;
    text-align: center !important;
}

/* Hero subtitle */
body .elementor .elementor-element.elementor-element-cd7208c p {
    font-family: var(--ods-font-sans) !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: var(--ods-slate) !important;
    margin-bottom: 32px !important;
}

/* SPACING sections */
body .elementor .elementor-element.elementor-element-cd7208c,
body .elementor .elementor-element.elementor-element-41fad53,
body .elementor .elementor-element.elementor-element-706ff60,
body .elementor .elementor-element.elementor-element-8917372,
body .elementor .elementor-element.elementor-element-e502ce7,
body .elementor .elementor-element.elementor-element-0633d0f,
body .elementor .elementor-element.elementor-element-af54e56 {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
}

@media (max-width: 768px) {
    body .elementor .elementor-element.elementor-element-cd7208c,
    body .elementor .elementor-element.elementor-element-41fad53,
    body .elementor .elementor-element.elementor-element-706ff60,
    body .elementor .elementor-element.elementor-element-8917372,
    body .elementor .elementor-element.elementor-element-e502ce7,
    body .elementor .elementor-element.elementor-element-0633d0f,
    body .elementor .elementor-element.elementor-element-af54e56 {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }
}

/* Body text */
body .elementor .elementor-element.elementor-element-706ff60 p,
body .elementor .elementor-element.elementor-element-8917372 p,
body .elementor .elementor-element.elementor-element-e502ce7 p,
body .elementor .elementor-element.elementor-element-0633d0f p {
    font-family: var(--ods-font-sans) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: var(--ods-slate) !important;
}

/* Stats */
body .elementor .elementor-element.elementor-element-cd7208c .elementor-counter-number-wrapper {
    font-family: var(--ods-font-serif) !important;
    font-weight: 400 !important;
    letter-spacing: -0.02em !important;
    color: var(--ods-green) !important;
}

body .elementor .elementor-element.elementor-element-cd7208c .elementor-counter-title {
    font-family: var(--ods-font-mono) !important;
    font-weight: 500 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: var(--ods-slate) !important;
}

/* Cards 3-col titles */
body .elementor .elementor-element.elementor-element-706ff60 h4,
body .elementor .elementor-element.elementor-element-706ff60 h5,
body .elementor .elementor-element.elementor-element-8917372 h4,
body .elementor .elementor-element.elementor-element-8917372 h5 {
    font-family: var(--ods-font-sans) !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    color: var(--ods-green-dark) !important;
}

/* Why pillars */
body .elementor .elementor-element.elementor-element-e502ce7 h4,
body .elementor .elementor-element.elementor-element-e502ce7 h5 {
    font-family: var(--ods-font-sans) !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: var(--ods-green-dark) !important;
}

/* Font smoothing */
body.home main,
body.home .elementor {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
