/* ---------- @font-face: Purista (5 weights × normal+italic) ---------- */
        @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"); }

        /* ---------- Aliases: Vazirmatn & Space Grotesk → Purista ---------- */
        @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"); }

        /* ---------- JRC roles (sistema antigo, mapeado para Purista) ---------- */
        @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"); }

        /* ---------- Design tokens ---------- */
        :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, .body-text, .description, .card-description,
        .feature-text, .footer-text {
                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,
        a.btn-outline, button.btn-outline {
                font-family: var(--font-body);
                font-weight: var(--fw-semibold);
                font-size: 16px;
                letter-spacing: 0.02em;
        }
        .eyebrow, .badge, .technical-label, .label-small,
        .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,
                .sobre-hero__eyebrow, .essencia-eyebrow, .cert-eyebrow { 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,
                .sobre-hero__eyebrow, .essencia-eyebrow, .cert-eyebrow { letter-spacing: 0.12em !important; }
                body { font-size: 16px; }
        }
