/* =====================================================
   PD GROUP — GLOBAL HEADING SCALE V1
   ===================================================== */

/*
 * Site-wide heading hierarchy.
 *
 * H1: maximum 45px
 * H2: maximum 38px
 * H3: maximum 27px
 *
 * These rules intentionally load after page-specific
 * styles so individual templates cannot produce huge
 * headings again.
 */


/* -----------------------------------------------------
   H1
   ----------------------------------------------------- */

body main h1,
body .pd-main h1,
body .site-main h1,
body .entry-content h1,
body .wp-block-post-content h1 {

    font-size:
        clamp(34px, 3.2vw, 45px) !important;

    line-height:
        1.06 !important;

    letter-spacing:
        -0.04em !important;
}


/* -----------------------------------------------------
   H2
   ----------------------------------------------------- */

body main h2,
body .pd-main h2,
body .site-main h2,
body .entry-content h2,
body .wp-block-post-content h2,
body .pd-prefooter h2 {

    font-size:
        clamp(28px, 2.65vw, 38px) !important;

    line-height:
        1.08 !important;

    letter-spacing:
        -0.035em !important;
}


/* -----------------------------------------------------
   H3
   ----------------------------------------------------- */

body main h3,
body .pd-main h3,
body .site-main h3,
body .entry-content h3,
body .wp-block-post-content h3 {

    font-size:
        clamp(20px, 1.75vw, 27px) !important;

    line-height:
        1.16 !important;

    letter-spacing:
        -0.02em !important;
}


/* -----------------------------------------------------
   BLOCK HEADINGS
   ----------------------------------------------------- */

body .wp-block-heading {
    text-wrap: balance;
}


/* -----------------------------------------------------
   SECTION HEADING SPACING
   ----------------------------------------------------- */

body main h1,
body main h2,
body main h3,
body .site-main h1,
body .site-main h2,
body .site-main h3 {

    margin-top: 0;
}

body main h1,
body .site-main h1 {

    margin-bottom:
        clamp(16px, 1.6vw, 24px);
}

body main h2,
body .site-main h2 {

    margin-bottom:
        clamp(14px, 1.3vw, 20px);
}

body main h3,
body .site-main h3 {

    margin-bottom:
        12px;
}


/* -----------------------------------------------------
   HERO TITLES
   ----------------------------------------------------- */

/*
 * Heroes can still be visually dominant,
 * but they obey the same 45px ceiling.
 */

body .pd-home-hero h1,
body .pd-page-hero h1,
body .tax-hero h1 {

    font-size:
        clamp(36px, 3.5vw, 45px) !important;

    line-height:
        1.04 !important;
}


/* -----------------------------------------------------
   HOMEPAGE SECTION TITLES
   ----------------------------------------------------- */

body.page-id-6
.pd-services-wide-heading h2,

body.page-id-6
.pd-home-process h2,

body.page-id-6
.pd-home-about h2,

body.page-id-6
.pd-home-secondary h2,

body.page-id-6
.pd-home-insights h2,

body.page-id-6
.pd-home-band h2,

body.page-id-6
.pd-home-final h2 {

    font-size:
        clamp(29px, 2.55vw, 38px) !important;

    line-height:
        1.08 !important;
}


/* -----------------------------------------------------
   CARD TITLES
   ----------------------------------------------------- */

body.page-id-6
.pd-services-wide-card h3,

body.page-id-6
.pd-home-post-card h3,

body.page-id-6
.pd-home-secondary-card h3,

body.page-id-6
.pd-home-process-step h3 {

    font-size:
        clamp(20px, 1.6vw, 25px) !important;

    line-height:
        1.15 !important;
}


/* -----------------------------------------------------
   MOBILE
   ----------------------------------------------------- */

@media (max-width: 600px) {

    body main h1,
    body .site-main h1,
    body .pd-home-hero h1,
    body .pd-page-hero h1 {

        font-size:
            clamp(32px, 10vw, 40px) !important;
    }

    body main h2,
    body .site-main h2,
    body .pd-prefooter h2 {

        font-size:
            clamp(27px, 8vw, 34px) !important;
    }

    body main h3,
    body .site-main h3 {

        font-size:
            clamp(20px, 6vw, 25px) !important;
    }
}
