/* NORIQA binding typography system — loaded after all component styles. */
body.nq-redesign {
    font-family: var(--nq-font-sans);
    font-size: var(--nq-type-body);
    font-weight: var(--nq-weight-regular);
    line-height: 1.68;
}

body.nq-redesign main :is(h1, h2, h3) {
    font-family: var(--nq-font-sans);
    font-style: normal;
    text-transform: none;
}

body.nq-redesign main h1 {
    font-size: var(--nq-type-h1) !important;
    font-weight: var(--nq-weight-heading) !important;
    line-height: 1.06 !important;
    letter-spacing: -.03em !important;
}

body.nq-redesign main .nq-hero--home h1 {
    font-size: clamp(2.5rem, 4vw, 3.25rem) !important;
    line-height: 1.08 !important;
}

body.nq-redesign main h2 {
    font-size: var(--nq-type-h2) !important;
    font-weight: var(--nq-weight-heading) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
}

body.nq-redesign main h3 {
    font-size: var(--nq-type-h3) !important;
    font-weight: var(--nq-weight-heading) !important;
    line-height: 1.3 !important;
    letter-spacing: -.01em !important;
}

body.nq-redesign main :is(.nq-eyebrow, [class*="kicker"], [class*="__phase"]) {
    font-size: var(--nq-type-label) !important;
    font-weight: var(--nq-weight-emphasis) !important;
    line-height: 1.35 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

body.nq-redesign main :is(.nq-hero__promise, .nq-page-intro__lead, [class*="__lead"]) {
    font-size: var(--nq-type-lead) !important;
    font-weight: var(--nq-weight-regular) !important;
    line-height: 1.6 !important;
}

body.nq-redesign main :is(.btn, .nq-button) {
    font-size: var(--nq-type-small) !important;
    font-weight: var(--nq-weight-emphasis) !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
}

body.nq-redesign main :is(p, li, dd) strong { font-weight: var(--nq-weight-emphasis); }
body.nq-redesign main em { font-style: italic; }

@media (max-width: 600px) {
    :root {
        --nq-type-h1: clamp(2.25rem, 10vw, 3rem);
        --nq-type-h2: clamp(1.7rem, 7vw, 2.2rem);
        --nq-type-h3: 1.2rem;
    }
}
