/* Shared enterprise typography. Layout and readable sizes remain theme-owned. */
body.brand-blueprint {
  font-family:var(--font-sans);
  font-weight:400;
  font-optical-sizing:auto;
  font-kerning:normal;
  font-feature-settings:"liga" 1, "calt" 1;
  letter-spacing:normal;
}

/* Normalize older theme overrides so the two palettes share one type hierarchy. */
body.brand-blueprint :is(h1,h2,h3,h4,h5,h6) {
  font-family:var(--font-sans) !important;
  font-weight:600 !important;
  font-style:normal !important;
  letter-spacing:-.025em !important;
}
body.brand-blueprint h1 { letter-spacing:-.035em !important; }
body.brand-blueprint :is(h3,h4,h5,h6) { letter-spacing:-.015em !important; }
body.brand-blueprint :is(h1,h2,h3) em {
  font-style:normal;
  font-weight:inherit;
  white-space:normal;
}
body.brand-blueprint :is(button,input,select,textarea,summary) { font-family:var(--font-sans); }
body.brand-blueprint :is(button,.btn,.bp-text-link,.text-link,.bp-card-action) {
  font-weight:600;
  letter-spacing:0;
}
body.brand-blueprint :is(input,select,textarea) { font-weight:400; }
body.brand-blueprint :is(.eyebrow,.smallcaps,.kn-kicker) {
  font-family:var(--font-sans) !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
}
body.brand-blueprint .sv-kicker {
  font-family:var(--font-sans);
  font-weight:600;
  letter-spacing:.02em;
}
body.brand-blueprint .bp-siteheader :is(nav>a,.cx-nav-catalogue>summary,.cx-articles-link) {
  font-weight:500 !important;
  letter-spacing:0;
}
body.brand-blueprint :is(.price strong,.cardbottom b,.cx-carousel-offer>strong,.cx-price-scope,.cx-card-specs,.cx-carousel-copy dl,.producttable,.kn-price-range,.sv-table-wrap) {
  font-variant-numeric:lining-nums tabular-nums;
}
body.brand-blueprint .buybox .price strong,
body.brand-blueprint .bp-productcard .cardbottom b,
body.brand-blueprint .cx-product .cardbottom b,
body.brand-blueprint .cx-carousel-offer>strong {
  font-weight:600;
  letter-spacing:-.02em;
}

/* Supporting information is deliberately quieter than headlines, prices and actions. */
body.brand-blueprint .cx-hero-buying h2 { font-size:24px; margin-bottom:12px; }
body.brand-blueprint .cx-hero-search-intro { font-size:16px !important; line-height:1.6; margin-bottom:18px; }
body.brand-blueprint .cx-hero-buying .bp-brand-links a,
body.brand-blueprint .cx-hero-consult p { font-size:15px; line-height:1.55; }
body.brand-blueprint .cx-carousel-copy>p { font-size:16px !important; line-height:1.55; margin-bottom:16px; }
body.brand-blueprint .cx-carousel-copy dl>div { padding:8px 0; }
body.brand-blueprint .cx-carousel-copy :is(dt,dd),
body.brand-blueprint .cx-card-specs :is(dt,dd),
body.brand-blueprint .rf-card dl :is(dt,dd) { font-size:15px !important; line-height:1.5; }
body.brand-blueprint .cx-carousel-copy dl { margin-bottom:18px; }
body.brand-blueprint .cx-carousel-selectors b { font-size:15px; }
body.brand-blueprint .cx-carousel-selectors span { font-size:14px; }
body.brand-blueprint .cx-carousel-credit,
body.brand-blueprint :is(.photo-caption,.cx-source-note,.rf-image-note,.cx-price-tax),
body.brand-blueprint .cx-carousel-offer>span { font-size:14px !important; line-height:1.5; }
body.brand-blueprint :is(.cx-price-scope,.cx-condition,.cx-configuration-note) { font-size:15px !important; line-height:1.6; }
body.brand-blueprint .buybox .smallcaps { font-size:13px !important; }
body.brand-blueprint .detail-specs :is(dt,dd),
body.brand-blueprint .cx-document-list :is(dt,dd) { font-size:16px !important; line-height:1.55; }
body.brand-blueprint .detail-specs dl>div { padding:13px 0; }
body.brand-blueprint .order-sidebar :is(p,li,dt,dd),
body.brand-blueprint :is(.sv-sidebar,.sv-support-guide,.sv-contact-options) :is(p,li,dt,dd) { font-size:15px !important; line-height:1.65; }
body.brand-blueprint .order-sidebar h2,
body.brand-blueprint :is(.sv-support-guide,.sv-contact-options) h2 { font-size:22px; }
body.brand-blueprint .order-quote-checklist dl>div { padding:12px 0; }
body.brand-blueprint :is(.sv-contents,.sv-mobile-contents) a { font-size:15px; padding-block:7px; }
body.brand-blueprint .sv-contact-options strong { font-size:20px; }
body.brand-blueprint .sv-contact-options :is(a,button)>span { font-size:15px; line-height:1.6; }
body.brand-blueprint .bp-footer-top>div:not(:first-child)>a { font-size:15px !important; }
body.brand-blueprint .bp-footer-bottom,
body.brand-blueprint .bp-footer-bottom :is(span,i) { font-size:13px !important; }
body.brand-blueprint .genius-form-success>p { font-size:17px !important; line-height:1.6; }

/* Keep the verification disclosure legible without competing with the form. */
body.brand-blueprint [data-captcha-notice].formnote { font-size:11px !important; line-height:1.55 !important; font-weight:400; color:var(--muted); margin:14px 0 0 !important; }
body.brand-blueprint [data-captcha-notice].formnote a { font-size:inherit !important; font-weight:inherit; color:inherit; text-decoration:underline !important; text-decoration-thickness:1px; text-underline-offset:2px; }
@media(max-width:760px) {
  body.brand-blueprint [data-captcha-notice].formnote { font-size:12px !important; }
}
