@font-face { font-family: "Purista"; font-style: normal; font-weight: 100; font-display: swap;
                src: url("../fonts/Purista-Thin.woff2") format("woff2"), url("../fonts/Purista-Thin.woff") format("woff"), url("../fonts/Purista-Thin.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: italic; font-weight: 100; font-display: swap;
                src: url("../fonts/Purista-ThinItalic.woff2") format("woff2"), url("../fonts/Purista-ThinItalic.woff") format("woff"), url("../fonts/Purista-ThinItalic.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: normal; font-weight: 300; font-display: swap;
                src: url("../fonts/Purista-Light.woff2") format("woff2"), url("../fonts/Purista-Light.woff") format("woff"), url("../fonts/Purista-Light.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: italic; font-weight: 300; font-display: swap;
                src: url("../fonts/Purista-LightItalic.woff2") format("woff2"), url("../fonts/Purista-LightItalic.woff") format("woff"), url("../fonts/Purista-LightItalic.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: normal; font-weight: 400; font-display: swap;
                src: url("../fonts/Purista-Light.woff2") format("woff2"), url("../fonts/Purista-Light.woff") format("woff"), url("../fonts/Purista-Light.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: normal; font-weight: 500; font-display: swap;
                src: url("../fonts/Purista-Medium.woff2") format("woff2"), url("../fonts/Purista-Medium.woff") format("woff"), url("../fonts/Purista-Medium.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: italic; font-weight: 500; font-display: swap;
                src: url("../fonts/Purista-MediumItalic.woff2") format("woff2"), url("../fonts/Purista-MediumItalic.woff") format("woff"), url("../fonts/Purista-MediumItalic.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: normal; font-weight: 600; font-display: swap;
                src: url("../fonts/Purista-SemiBold.woff2") format("woff2"), url("../fonts/Purista-SemiBold.woff") format("woff"), url("../fonts/Purista-SemiBold.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: italic; font-weight: 600; font-display: swap;
                src: url("../fonts/Purista-SemiBoldItalic.woff2") format("woff2"), url("../fonts/Purista-SemiBoldItalic.woff") format("woff"), url("../fonts/Purista-SemiBoldItalic.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: normal; font-weight: 700 900; font-display: swap;
                src: url("../fonts/Purista-Bold.woff2") format("woff2"), url("../fonts/Purista-Bold.woff") format("woff"), url("../fonts/Purista-Bold.ttf") format("truetype"); }
        @font-face { font-family: "Purista"; font-style: italic; font-weight: 700 900; font-display: swap;
                src: url("../fonts/Purista-BoldItalic.woff2") format("woff2"), url("../fonts/Purista-BoldItalic.woff") format("woff"), url("../fonts/Purista-BoldItalic.ttf") format("truetype"); }
        @font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 100; font-display: swap;
                src: url("../fonts/Purista-Thin.woff2") format("woff2"), url("../fonts/Purista-Thin.woff") format("woff"), url("../fonts/Purista-Thin.ttf") format("truetype"); }
        @font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 300 400; font-display: swap;
                src: url("../fonts/Purista-Light.woff2") format("woff2"), url("../fonts/Purista-Light.woff") format("woff"), url("../fonts/Purista-Light.ttf") format("truetype"); }
        @font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 500; font-display: swap;
                src: url("../fonts/Purista-Medium.woff2") format("woff2"), url("../fonts/Purista-Medium.woff") format("woff"), url("../fonts/Purista-Medium.ttf") format("truetype"); }
        @font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 600; font-display: swap;
                src: url("../fonts/Purista-SemiBold.woff2") format("woff2"), url("../fonts/Purista-SemiBold.woff") format("woff"), url("../fonts/Purista-SemiBold.ttf") format("truetype"); }
        @font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 700 900; font-display: swap;
                src: url("../fonts/Purista-Bold.woff2") format("woff2"), url("../fonts/Purista-Bold.woff") format("woff"), url("../fonts/Purista-Bold.ttf") format("truetype"); }
        @font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 300 400; font-display: swap;
                src: url("../fonts/Purista-Light.woff2") format("woff2"), url("../fonts/Purista-Light.woff") format("woff"), url("../fonts/Purista-Light.ttf") format("truetype"); }
        @font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 500; font-display: swap;
                src: url("../fonts/Purista-Medium.woff2") format("woff2"), url("../fonts/Purista-Medium.woff") format("woff"), url("../fonts/Purista-Medium.ttf") format("truetype"); }
        @font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 600; font-display: swap;
                src: url("../fonts/Purista-SemiBold.woff2") format("woff2"), url("../fonts/Purista-SemiBold.woff") format("woff"), url("../fonts/Purista-SemiBold.ttf") format("truetype"); }
        @font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 700 900; font-display: swap;
                src: url("../fonts/Purista-Bold.woff2") format("woff2"), url("../fonts/Purista-Bold.woff") format("woff"), url("../fonts/Purista-Bold.ttf") format("truetype"); }
        @font-face { font-family: "JRC Display"; font-style: normal; font-weight: 700 900; font-display: swap;
                src: url("../fonts/Purista-Bold.woff2") format("woff2"), url("../fonts/Purista-Bold.woff") format("woff"), url("../fonts/Purista-Bold.ttf") format("truetype"); }
        @font-face { font-family: "JRC Body"; font-style: normal; font-weight: 300 600; font-display: swap;
                src: url("../fonts/Purista-Light.woff2") format("woff2"), url("../fonts/Purista-Light.woff") format("woff"), url("../fonts/Purista-Light.ttf") format("truetype"); }
        @font-face { font-family: "JRC Technical"; font-style: normal; font-weight: 500 700; font-display: swap;
                src: url("../fonts/Purista-Medium.woff2") format("woff2"), url("../fonts/Purista-Medium.woff") format("woff"), url("../fonts/Purista-Medium.ttf") format("truetype"); }

        :root {
                --font-display:   "DM Sans", "Purista", "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
                --font-body:      "DM Sans", "Purista", "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
                --font-technical: "DM Sans", "Purista", "Vazirmatn", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
                --fw-thin: 100; --fw-light: 300; --fw-regular: 400; --fw-medium: 500;
                --fw-semibold: 600; --fw-bold: 700; --fw-black: 900;
                --tracking-tight:-0.02em; --tracking-snug:-0.005em; --tracking-normal:0;
                --tracking-wide:0.06em; --tracking-wider:0.12em; --tracking-widest:0.22em;
        }
        html, body { font-family: var(--font-body); font-weight: var(--fw-light); line-height: 1.6;
                -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
                text-rendering: optimizeLegibility; font-feature-settings: "kern" 1, "liga" 1, "calt" 1; }
        h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: var(--fw-bold); line-height: 1.05; letter-spacing: var(--tracking-snug); }
        .hero-title-shadow, h1.hero-title-shadow {
                font-family: var(--font-display) !important; font-weight: var(--fw-bold) !important;
                letter-spacing: -0.03em !important; line-height: 0.95; text-transform: none;
        }
        .hero-text-shadow-soft {
                font-family: var(--font-technical) !important; font-weight: var(--fw-semibold) !important;
                letter-spacing: var(--tracking-widest) !important; text-transform: uppercase;
        }
        .home-section-title, .home-section-title * {
                font-family: var(--font-display) !important; font-weight: var(--fw-bold) !important;
                letter-spacing: 0 !important; line-height: 1.05 !important; text-wrap: balance;
        }
        p, li, dd { font-family: var(--font-body); font-weight: var(--fw-light); line-height: 1.6; }
        main :where(
                p, li, dd,
                .body-text, .description, .card-description,
                .feature-text, .blog-summary,
                .cf-step-desc,
                [class*="__desc"], [class*="__text"], [class*="__copy"],
                [class*="__summary"], [class*="__body"]
        ):not(:where(
                h1, h1 *, h2, h2 *, h3, h3 *, h4, h4 *, h5, h5 *, h6, h6 *,
                .home-section-title, .home-section-title *,
                button, button *,
                a.btn, a.btn *, a.cta, a.cta *,
                a.btn-gradient, a.btn-gradient *, a.btn-outline, a.btn-outline *
        )) {
                font-weight: 500 !important;
        }

	footer :where(
		p:not(.font-bold),
		span.text-slate-300,
		span.text-slate-600
	) {
		font-weight: 500 !important;
	}

        .section-title-description {
                font-weight: 500 !important;
        }
        @media (min-width: 768px) {
                .section-title-description {
                        font-size: 18px !important;
                }
        }

        header nav a, .nav-link { font-family: var(--font-body); font-weight: var(--fw-medium); letter-spacing: 0.04em; }
        button:not(.jr-fh__burger):not(.jr-fh-mobile__close),
        a.btn, button.btn, a.cta, button.cta,
        a.btn-gradient, button.btn-gradient {
                font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 16px; letter-spacing: 0.02em;
        }
        .eyebrow, .badge, .technical-label, .kicker, .section-eyebrow, .pill-label {
                font-family: var(--font-technical); font-weight: var(--fw-semibold);
                text-transform: uppercase; letter-spacing: var(--tracking-widest); line-height: 1.2;
        }
        .material-symbols-outlined, [class*="material-symbols"] {
                font-family: 'Material Symbols Outlined' !important;
                font-weight: normal !important; letter-spacing: normal !important; text-transform: none !important;
        }
        @media (max-width: 1024px) { .hero-title-shadow, .home-section-title { line-height: 1.0 !important; } }
        @media (max-width: 768px) {
                .hero-title-shadow { letter-spacing: -0.015em !important; }
                .eyebrow, .technical-label, .kicker, .section-eyebrow, .pill-label, .hero-text-shadow-soft,
                .sol-card__label, .sol-hero__pill-solid, .sol-hero__pill-outline, .sol-tech-card__chip { letter-spacing: 0.16em !important; }
        }
        @media (max-width: 480px) {
                .hero-title-shadow { letter-spacing: 0 !important; line-height: 1.02 !important; word-break: keep-all; overflow-wrap: break-word; }
                .eyebrow, .technical-label, .kicker, .section-eyebrow, .pill-label, .hero-text-shadow-soft,
                .sol-card__label, .sol-hero__pill-solid, .sol-hero__pill-outline, .sol-tech-card__chip { letter-spacing: 0.12em !important; }
                body { font-size: 16px; }
        }
