/* Design N Build — Typography System v1 | 2026-11-07
   Loaded after existing styles. Scoped to the legacy public renderer.
   Inter for copy, Manrope for headings. No content or SEO modifications. */
body.public-site{
  --dnb-type-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --dnb-type-head:'Manrope','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-family:var(--dnb-type-body);
  font-size:15.5px;
  line-height:1.68;
  text-rendering:optimizeLegibility;
}
body.public-site main :is(h1,h2,h3,h4,h5,h6){
  font-family:var(--dnb-type-head);
  font-weight:720;
  letter-spacing:-.028em;
  overflow-wrap:break-word;
}
body.public-site main h1{font-size:clamp(34px,3.7vw,52px);line-height:1.12;letter-spacing:-.039em;font-weight:780}
body.public-site main h2{font-size:clamp(25px,2.25vw,34px);line-height:1.25;font-weight:740;letter-spacing:-.032em}
body.public-site main h3{font-size:clamp(17px,1.45vw,20px);line-height:1.35;font-weight:740;letter-spacing:-.02em}
body.public-site main h4{font-size:17px;line-height:1.4;font-weight:700}
body.public-site main h5{font-size:15px;line-height:1.4;font-weight:700}
body.public-site main h6{font-size:14px;line-height:1.45;font-weight:700}
body.public-site main :is(p,li){line-height:1.72}
body.public-site main .section-lead{font-family:var(--dnb-type-body);font-size:clamp(15px,1.08vw,16px);line-height:1.68;letter-spacing:0;max-width:72ch}
body.public-site main :is(.kicker,.eyebrow){font-size:11px;letter-spacing:.075em;line-height:1.5;font-weight:750}
body.public-site main .reference-hero .hero-copy h1,
body.public-site main .reference-hero h1{
  font-size:clamp(34px,3.65vw,51px);
  line-height:1.13;
  letter-spacing:-.04em;
  font-weight:780;
  max-width:24ch;
  text-wrap:balance;
}
body.public-site main .home-hero .hero-copy h1,
body.public-site main .home-hero h1{
  font-size:clamp(35px,3.85vw,53px);
  line-height:1.12;
  max-width:24ch;
}
body.public-site main .reference-hero .hero-lead,
body.public-site main .reference-hero .hero-copy .hero-lead{
  font-family:var(--dnb-type-body);
  font-size:clamp(15px,1.13vw,17px);
  line-height:1.72;
  letter-spacing:0;
  max-width:61ch;
}
body.public-site main .hero-enquiry-panel h2,
body.public-site main .project-composer h2{font-size:clamp(22px,1.9vw,27px);line-height:1.27}
body.public-site main :is(.service-intro,.process-intro,.coverage-heading,.faq-intro,.section-top,.visual-layout) h2{
  font-size:clamp(25px,2.2vw,34px);
  line-height:1.27;
}
body.public-site main :is(.confidence-copy,.cost-layout,.enquiry-copy,.reference-start-band,.footer-lead) h2{
  font-size:clamp(25px,2.2vw,34px);
  line-height:1.24;
}
body.public-site main :is(.champs-service-card,.service-tile,.option-card,.coverage-card,.cost-card,.stage-card,.area-group,.process-steps,.confidence-points) h3{
  font-size:clamp(17px,1.38vw,20px);
  line-height:1.34;
}
body.public-site main .service-tile h3,
body.public-site main .service-directory .service-tile h3{font-size:clamp(17px,1.32vw,19px)}
body.public-site main .service-tile-copy>p,
body.public-site main :is(.service-card,.option-card,.coverage-card,.champs-service-card) p{
  font-size:14.5px;line-height:1.68;
}
body.public-site main :is(.decision-content,.detail-body,.editorial-column,.editorial-topic-body,.privacy-content) :is(p,li){
  font-size:15.5px;line-height:1.74;letter-spacing:0;
}
body.public-site main .editorial-topic>summary h2,
body.public-site main .detail-panels summary>h2{
  font-size:clamp(18px,1.65vw,23px);line-height:1.35;letter-spacing:-.02em;
}
body.public-site main .editorial-topic h3,
body.public-site main .detail-body h3{font-size:clamp(17px,1.34vw,19px);line-height:1.4}
body.public-site main .detail-aside h2{font-size:clamp(20px,1.7vw,24px);line-height:1.3}
body.public-site main .faq-list :is(h3,summary){
  font-family:var(--dnb-type-body);font-size:15px;line-height:1.55;letter-spacing:-.01em;
}
body.public-site main .faq-list p{font-size:15px;line-height:1.72}
body.public-site main .form-heading h3{font-size:19px}
body.public-site main .contact-methods strong{font-size:15px}
body.public-site main .reference-start-band .section-lead{font-size:14.5px;line-height:1.7}
body.public-site main .dnb-contact-only h3{font-size:clamp(20px,1.8vw,25px);line-height:1.3}
body.public-site main :is(.btn,.inline-link,.tile-cta,.dnb-contact-only-btn){letter-spacing:0}
body.public-site .dnb-footer{font-family:var(--dnb-type-body);font-size:14px;line-height:1.64}
body.public-site .dnb-footer .footer-main h2{font-family:var(--dnb-type-head);font-size:15px;line-height:1.35;letter-spacing:-.02em}
body.public-site .dnb-footer .footer-main p{font-size:13.5px;line-height:1.7}
body.public-site .dnb-footer .footer-main a:not(.dnb-brand){font-size:13.5px;line-height:1.5}
body.public-site .dnb-footer .dnb-footer-direct>div>strong{font-size:16px;line-height:1.35}
body.public-site .dnb-footer .dnb-footer-direct>div>span{font-size:13px;line-height:1.55}
body.public-site .dnb-footer .footer-base{font-size:12px;line-height:1.55}
@media(max-width:1024px){
  body.public-site main .reference-hero h1,
  body.public-site main .reference-hero .hero-copy h1{font-size:clamp(33px,3.95vw,44px);line-height:1.14}
  body.public-site main .home-hero h1,
  body.public-site main .home-hero .hero-copy h1{font-size:clamp(34px,4.15vw,45px)}
  body.public-site main :is(h2,.section-top h2){font-size:clamp(24px,2.9vw,30px)}
  body.public-site main h3{font-size:18px}
}
@media(max-width:760px){
  body.public-site{font-size:15px;line-height:1.69}
  body.public-site main h1{font-size:clamp(30px,8.05vw,36px);line-height:1.17}
  body.public-site main .reference-hero h1,
  body.public-site main .reference-hero .hero-copy h1,
  body.public-site main .home-hero h1,
  body.public-site main .home-hero .hero-copy h1{
    font-size:clamp(30px,8.05vw,36px);
    line-height:1.17;
    letter-spacing:-.035em;
    max-width:26ch;
    text-wrap:wrap;
  }
  body.public-site main h2,
  body.public-site main :is(.service-intro,.process-intro,.coverage-heading,.faq-intro,.section-top,.confidence-copy,.cost-layout,.enquiry-copy,.reference-start-band,.visual-layout) h2{
    font-size:clamp(23px,5.5vw,27px);line-height:1.3;
  }
  body.public-site main h3{font-size:17px;line-height:1.37}
  body.public-site main .reference-hero .hero-lead,
  body.public-site main .reference-hero .hero-copy .hero-lead{font-size:15px;line-height:1.7;max-width:65ch}
  body.public-site main .section-lead{font-size:15px;line-height:1.7}
  body.public-site main .hero-enquiry-panel h2,
  body.public-site main .project-composer h2{font-size:22px;line-height:1.3}
  body.public-site main :is(.champs-service-card,.service-tile,.option-card,.coverage-card,.cost-card,.stage-card,.area-group,.process-steps,.confidence-points) h3{
    font-size:17px;line-height:1.35;
  }
  body.public-site main .editorial-topic>summary h2,
  body.public-site main .detail-panels summary>h2{font-size:18px;line-height:1.38}
  body.public-site main .detail-aside h2{font-size:20px}
  body.public-site main :is(.decision-content,.detail-body,.editorial-column,.editorial-topic-body,.privacy-content) :is(p,li){font-size:15px;line-height:1.72}
  body.public-site .dnb-footer .footer-main h2{font-size:15px}
}
@media(max-width:375px){
  body.public-site main .reference-hero h1,
  body.public-site main .reference-hero .hero-copy h1,
  body.public-site main .home-hero h1,
  body.public-site main .home-hero .hero-copy h1{font-size:30px}
  body.public-site main h2{font-size:23px}
  body.public-site main :is(.kicker,.eyebrow){font-size:10px;letter-spacing:.055em}
}
@media(prefers-reduced-motion:reduce){
  body.public-site main *{scroll-behavior:auto}
}
