/* PFKS NEW — global typography system V0.21.1.
 * One source of truth for shared typography across the entire public site.
 * Page CSS controls composition only: widths, spacing, color and positioning.
 */
:root {
    --pfks-type-h1: 60px;
    --pfks-type-h2: 40px;
    --pfks-type-h3: 24px;
    --pfks-type-lead: 18px;
    --pfks-type-body: 16px;
    --pfks-type-secondary: 14px;
    --pfks-type-button: 14px;
    --pfks-type-label: 11px;
    --pfks-type-meta: 12px;

    --pfks-weight-heading: 700;
    --pfks-weight-ui: 700;
    --pfks-weight-label: 800;
    --pfks-weight-body: 400;

    --pfks-leading-h1: .96;
    --pfks-leading-h2: 1.05;
    --pfks-leading-h3: 1.15;
    --pfks-leading-lead: 1.5;
    --pfks-leading-body: 1.55;
    --pfks-leading-secondary: 1.5;

    --pfks-tracking-h1: -.045em;
    --pfks-tracking-h2: -.03em;
    --pfks-tracking-h3: -.02em;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: var(--pfks-type-body);
    font-weight: var(--pfks-weight-body);
    line-height: var(--pfks-leading-body);
}

body.pfks-site h1 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: var(--pfks-type-h1);
    font-weight: var(--pfks-weight-heading);
    line-height: var(--pfks-leading-h1);
    letter-spacing: var(--pfks-tracking-h1);
}

body.pfks-site h2,
.pfks-form-modal h2 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: var(--pfks-type-h2);
    font-weight: var(--pfks-weight-heading);
    line-height: var(--pfks-leading-h2);
    letter-spacing: var(--pfks-tracking-h2);
}

body.pfks-site h3,
.pfks-form-modal h3 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: var(--pfks-type-h3);
    font-weight: var(--pfks-weight-heading);
    line-height: var(--pfks-leading-h3);
    letter-spacing: var(--pfks-tracking-h3);
}

body.pfks-home .pfks-home-hero p,
body.pfks-holding .hold-hero__copy p,
body.pfks-manufacturers .mfr-hero__copy > p,
body.pfks-contacts .contacts-hero__copy > p,
body.pfks-documents .docs-hero__copy > p,
body.pfks-requisites .req-hero__copy > p,
body.pfks-faq .faq-hero__copy > p,
body.pfks-catalog-root .hero__copy p,
body.pfks-catalog-section .section-hero__copy p,
body.pfks-product-detail .pd-hero__lead {
    font-size: var(--pfks-type-lead);
    font-weight: var(--pfks-weight-body);
    line-height: var(--pfks-leading-lead);
    letter-spacing: 0;
}

body.pfks-home .pfks-home-section-head p,
body.pfks-holding .hold-section-head p,
body.pfks-holding .hold-system__intro p,
body.pfks-holding .hold-map__intro p,
body.pfks-manufacturers .mfr-section-head > p,
body.pfks-manufacturers .mfr-system__intro p,
body.pfks-manufacturers .mfr-geo__copy p,
body.pfks-contacts .contacts-section-head > p,
body.pfks-documents .docs-section-head p,
body.pfks-documents .docs-request p,
body.pfks-requisites .req-section-intro p,
body.pfks-faq .faq-section-head p,
body.pfks-faq .faq-cta p,
body.pfks-requisites .req-cta p,
body.pfks-catalog-root .section-head p,
body.pfks-catalog-section .section-head p,
body.pfks-catalog-section .finder__intro p,
body.pfks-product-detail .pd-section-intro p,
body.pfks-product-detail .pd-workflow__intro p,
body .pfks-standard-shell__inner {
    font-size: var(--pfks-type-body);
    font-weight: var(--pfks-weight-body);
    line-height: var(--pfks-leading-body);
}

body.pfks-home .pfks-home-product p,
body.pfks-home .pfks-home-industry p,
body.pfks-holding .hold-company p,
body.pfks-holding .hold-step p,
body.pfks-holding .hold-product p,
body.pfks-manufacturers .mfr-company p,
body.pfks-manufacturers .mfr-system__flow p,
body.pfks-contacts .contacts-path p,
body.pfks-documents .docs-empty p,
body.pfks-faq .faq-item__answer p,
body.pfks-faq .faq-empty p,
body.pfks-catalog-root .product-card p,
body.pfks-catalog-root .usecase p,
body.pfks-catalog-section .family-card p,
body.pfks-catalog-section .product-row__main p,
body.pfks-catalog-section .support__grid p,
body.pfks-product-detail .pd-applications__grid p,
body.pfks-product-detail .pd-workflow__steps p,
body.pfks-product-detail .pd-project-card p {
    font-size: var(--pfks-type-secondary);
    font-weight: var(--pfks-weight-body);
    line-height: var(--pfks-leading-secondary);
}

body.pfks-holding .hold-crumbs,
body.pfks-manufacturers .mfr-crumbs,
body.pfks-contacts .contacts-crumbs,
body.pfks-documents .docs-crumbs,
body.pfks-requisites .req-crumbs,
body.pfks-faq .faq-crumbs,
body.pfks-catalog-root .crumbs,
body.pfks-catalog-section .crumbs,
body.pfks-product-detail .pd-crumbs {
    font-size: var(--pfks-type-meta);
    font-weight: var(--pfks-weight-body);
    line-height: 1.4;
}

.pfks-site-nav a,
.pfks-site-mobile-menu a,
.pfks-site-header__cta,
.pfks-form-modal button[type="submit"],
.pfks-form-modal .pfks-form-submit,
body.pfks-home .pfks-home-button,
body.pfks-holding .hold-btn,
body.pfks-manufacturers .mfr-btn,
body.pfks-contacts .contacts-btn,
body.pfks-documents .docs-btn,
body.pfks-requisites .req-btn,
body.pfks-faq .faq-btn,
body.pfks-product-detail .pd-btn {
    font-size: var(--pfks-type-button);
    font-weight: var(--pfks-weight-ui);
    line-height: 1.2;
}

.pfks-site-logo__caption,
body.pfks-home .pfks-home-eyebrow,
body.pfks-holding .hold-kicker,
body.pfks-manufacturers .mfr-kicker,
body.pfks-contacts .contacts-kicker,
body.pfks-documents .docs-kicker,
body.pfks-requisites .req-kicker,
body.pfks-faq .faq-kicker,
body.pfks-product-detail .pd-eyebrow,
body.pfks-catalog-root .label,
body.pfks-catalog-section .label {
    font-size: var(--pfks-type-label);
    font-weight: var(--pfks-weight-label);
    line-height: 1.3;
    letter-spacing: .16em;
}

.pfks-site-footer__company,
.pfks-site-footer__nav,
.pfks-site-footer__links,
.pfks-site-footer__bottom {
    font-size: var(--pfks-type-meta);
    line-height: var(--pfks-leading-secondary);
}

@media (max-width: 1180px) {
    :root {
        --pfks-type-h1: 52px;
        --pfks-type-h2: 36px;
        --pfks-type-h3: 22px;
    }
}

@media (max-width: 720px) {
    :root {
        --pfks-type-h1: 40px;
        --pfks-type-h2: 32px;
        --pfks-type-h3: 20px;
        --pfks-type-lead: 17px;
        --pfks-type-body: 16px;
        --pfks-type-secondary: 14px;
        --pfks-type-button: 14px;
        --pfks-type-label: 10px;
    }
}
