/* Shared type scale. Page styles control colour and layout, not heading sizes. */
:root{--font-heading:Manrope,Inter,ui-sans-serif,sans-serif;--font-body:Inter,ui-sans-serif,sans-serif;--type-hero:clamp(2.65rem,3.25vw,3.15rem);--type-section:clamp(1.875rem,2.8vw,2.5rem);--type-card:1.375rem;--type-body:1rem;--type-lead:1.125rem;--type-note:.875rem}
body{font-family:var(--font-body)}
body h1{font-family:var(--font-heading);font-size:var(--type-hero);font-weight:800;line-height:1.12;letter-spacing:-.045em}
body h2{font-family:var(--font-heading);font-size:var(--type-section);font-weight:800;line-height:1.16;letter-spacing:-.035em}
body h3{font-family:var(--font-heading);font-size:var(--type-card);font-weight:700;line-height:1.3;letter-spacing:-.02em}
body :is(h1,h2,h3) :is(span,b,strong){font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
body .journey h3,body .about-audience-grid h2{font-size:1.75rem;line-height:1.22}
body .marketing-page,body main p{font-family:var(--font-body)}
body.marketing-page main p{font-size:var(--type-body)!important;line-height:1.7!important}
body.marketing-page :is(.hero .lead,.audience-hero .audience-lead,.contact-intro,.about-hero-intro p,.about-tagline){font-size:var(--type-lead)!important;line-height:1.7!important}
body.marketing-page main :is(.home-evidence-punchline,.specialisms-subheading){font-size:1.25rem!important;line-height:1.5!important;font-weight:600}
body.marketing-page main .section-kicker{font-size:.8125rem!important;line-height:1.5!important}
body.marketing-page main .home-kicker{font-size:1.125rem!important;line-height:1.5!important;font-weight:600}
@media(max-width:620px){body.marketing-page main .home-kicker{font-size:1rem!important}}
body.marketing-page :is(.audience-entry-note,.journey-entry-note,.contact-form-note,.contact-privacy,.score-note){font-size:var(--type-note)!important;line-height:1.6!important}
body.marketing-page main .about-promise{font-size:var(--type-body)!important;font-weight:700}
body .about-main a:not(.btn-primary):not(.btn-secondary){color:#176bc1;text-underline-offset:4px;font-weight:600}
body .hero-grid{min-height:0!important;padding-block:56px 44px!important}
body.candidate-page .audience-hero .audience-copy h1 .candidate-match-line{display:block;max-width:none;text-wrap:wrap;color:#fff!important}
body.candidate-page .audience-hero .audience-copy h1 .candidate-match-line span{display:inline!important}
body.candidate-page .audience-hero .audience-copy h1 .candidate-match-line span:last-child{color:#ffe083!important}
body .contact-main h2{font-size:var(--type-section)}
body .contact-form h2{font-size:1.75rem}
body .policy-page,body.policy-page{font-family:var(--font-body)}
body.policy-page h2{font-size:1.375rem;line-height:1.3}
@media(max-width:860px){body .hero-grid{padding-block:44px!important}}
@media(max-width:620px){:root{--type-hero:clamp(2rem,9.5vw,2.375rem);--type-section:1.875rem;--type-card:1.25rem;--type-lead:1.0625rem}body .journey h3,body .about-audience-grid h2{font-size:1.5rem}body .hero-grid{padding-block:36px!important}}

body .specialism-name{font-family:var(--font-heading);font-size:1.75rem;line-height:1.25;font-weight:700;letter-spacing:-.02em}
@media(max-width:620px){body .specialism-name{font-size:1.375rem}}

/* Readable supporting statement below the Intelligence illustration. */
body .about-intelligence-visual figcaption{font-size:1.25rem;line-height:1.5;font-weight:500;color:#425b73}
@media(max-width:620px){body .about-intelligence-visual figcaption{font-size:1.125rem}}

/* Emphasise human judgement using the existing brand accents. */
body #judgement-title .judgement-accent{display:block;color:#176bc1}
body .about-tagline>span{display:block}
body .about-tagline>.human-judgement{color:#ffe083}
