/* One shared type system. Loaded last to supersede the older page-specific scales.
   Important declarations are limited to typography, never layout or visibility. */
:root {
  --font-body:"Manrope",Arial,sans-serif;
  --font-display:var(--font-body);
  --font-mono:var(--font-body);
  --font-serif:var(--font-body);
  --type-hero:clamp(2.5rem,4.5vw,4rem);
  --type-section:clamp(2rem,3.2vw,2.75rem);
  --type-card:clamp(1.375rem,2vw,1.75rem);
  --type-body:1rem;
  --type-small:.875rem;
  --type-label:.75rem;
}
body { font-size:var(--type-body); line-height:1.7; }
body, body * { font-family:var(--font-body) !important; }

/* Consistent hierarchy, including the former serif emphasis in headlines. */
body h1 {
  font-size:var(--type-hero) !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  overflow-wrap:break-word;
}
body h2 {
  font-size:var(--type-section) !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:-.025em !important;
  overflow-wrap:break-word;
}
body h3, body h4 {
  font-size:var(--type-card) !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  letter-spacing:-.015em !important;
  overflow-wrap:break-word;
}
body :is(h1,h2,h3,h4) :is(em,strong,span) {
  font-size:inherit !important;
  font-weight:inherit !important;
  font-style:normal !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}
body p {
  font-size:var(--type-body) !important;
  line-height:1.75 !important;
  letter-spacing:0 !important;
}
.article-page .article-body h2, .privacy-copy h2 { font-size:clamp(1.625rem,2.5vw,2rem) !important; }
.article-body :is(p,li), .privacy-copy :is(p,li,address) { font-size:1rem !important; line-height:1.8 !important; }
.systems-manifesto > p { font-size:clamp(1.25rem,2vw,1.5rem) !important; line-height:1.6 !important; }
.systems-manifesto em { font-style:normal; }

/* Navigation and actions: readable labels without wide technical tracking. */
.site-header nav > a, .product-menu summary, .site-header .menu-button {
  font-size:.8125rem !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  letter-spacing:.025em !important;
}
.site-header nav > a, .product-menu summary { min-height:44px; }
.product-menu-panel a, .ink-page-tabs a { font-size:.875rem !important; line-height:1.5 !important; }
.product-menu-panel small { font-size:.75rem !important; }
body :is(.button,.text-link,.product-card-link,.motion-outline-button,.choice),
.system-card a, .daylight-motion-toggle, .rfq-summary :is(button,a) {
  font-size:.8125rem !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  letter-spacing:.025em !important;
}
.button, .text-link { max-width:100%; white-space:normal; overflow-wrap:break-word; }
.hero-actions { flex-wrap:wrap; }
.site-header .button-small { font-size:.75rem !important; white-space:nowrap; }
.daylight-palette a { font-size:.875rem !important; }
.daylight-palette b { font-size:.8125rem !important; }

/* Small text is still readable: captions 14px, short metadata 12px. */
body small { font-size:var(--type-label) !important; line-height:1.5 !important; letter-spacing:.025em !important; }
body .eyebrow, body .card-kicker, body .card-index,
.metric-code, .finder-box legend, .finder-result > p,
.motion-rail-group, .motion-product-caption span,
.daylight-scene-caption, .systems-route span,
.company-card > span, .company-information-grid > article > span,
.company-legal-strip span, .company-address-grid span,
.factory-step, .factory-quality-detail-label, .factory-quality-grid article > span,
.factory-quality-layers li > span, .factory-lab-grid span,
.application-chip-grid span, .spectrum-title, .architecture-header span,
.color-family-grid article > span, .product-visual-stage figcaption > span,
.facility-visual figcaption > span, .document-readiness > span,
.blog-hero-index > span, .article-grid span, .article-meta p,
.comparison-table b, .document-grid b, .rfq-section-title span,
.rfq-summary > div > span, .sample-operation-card figcaption > span,
.sales-contact > span, .b2b-core-grid article > span,
.commercial-readiness-grid > :is(article,aside) > span,
.packing-stage header span, .packing-stage dt, .specification-panel dt,
.specification-panel header > span, .buying-preview header > span,
.document-preview > div > span, .qualification-preview article > span,
.certificate-preview-head span, .certificate-preview-data dt,
.product-range-grid article > p, .product-range-grid article > span,
.product-route-panel > span, .benefit-grid article > span,
.dtf-core-grid > article > span, .dtf-core-tech-intro > div > span,
.dtf-core-tech-grid article > span, .dtf-core-endurance-copy > span,
.head-platforms span, .platform-models b, .process-grid article > span,
.certificate-slot > span, .certificate-data span, .sds-index-card > span,
.ink-application-grid article > span, .privacy-index, .privacy-summary dt,
.privacy-toc a, .supplier-certificate-card dt, .company-profile-kicker,
.company-profile-title > span, .company-map-overlay > span,
.visual-gallery figcaption > span, .dtf-core-endurance-media > span,
.dtf-core-tech-bottom b, .ink-color-list b, .dtg-route-points b,
.dtg-surface-technology > span, .dtg-surface-points b,
.dtg-surface-technology > em, .dtg-production-media > span, .dtf-sample-media > span,
.specification-panel header b, .buying-preview header b,
.company-proof-strip span, .certificate-principles li > span,
.draft-alert b, .certificate-file-grid b, .supplier-certificate-heading > span,
.supplier-certificate-card > div > span, .certificate-cover > span {
  font-size:var(--type-label) !important;
  font-weight:600 !important;
  line-height:1.6 !important;
  letter-spacing:.06em !important;
}
.daylight-scene-caption a, .motion-product-caption strong,
.system-card li, .compatibility-list span, .finder-result > span,
.source-note, .certificate-boundary, .dtg-process-alert, .eco-note,
.packing-note, .detail-copy .packaging-note, .architecture-note,
.company-map-overlay p, .company-legal-strip p, .color-family-grid article > p,
.sample-operation-card p, .document-readiness p,
.footer-brand p, .footer-company, .footer-company :is(strong,address,p),
.footer-links a, .footer-copyright, .form-footer p, .form-status,
.rfq-form .consent span, .privacy-status, .privacy-summary dd,
.commercial-readiness-grid dd, .specification-panel dd, .packing-stage dd,
.certificate-preview-data dd, .supplier-certificate-card dd,
.sales-contact a, .rfq-summary pre, .analytics-consent p,
.company-map-overlay a, .floating-email span, .floating-whatsapp span {
  font-size:var(--type-small) !important;
  line-height:1.65 !important;
  letter-spacing:0 !important;
}
.footer-company address b { font-size:var(--type-label) !important; line-height:1.5 !important; }
.sample-form label { font-size:.875rem !important; letter-spacing:.015em !important; line-height:1.5 !important; }
.sample-form :is(input,select,textarea) { font-size:1rem !important; line-height:1.5 !important; }
.buyer-answers summary, .ink-faq summary { font-size:1rem !important; line-height:1.6 !important; }
.sample-form, .sample-form > *, .rfq-optional-fields > * { min-width:0; }

/* Text-only card headings use the same scale as semantic headings. */
.article-grid strong, .product-route-panel > strong,
.document-preview > div > strong, .certificate-preview-head strong,
.supplier-certificate-heading > strong, .commercial-readiness-grid aside strong {
  font-size:var(--type-card) !important; line-height:1.3 !important; letter-spacing:-.015em !important;
}
.benefit-grid strong, .b2b-core-grid strong, .color-family-grid article > strong,
.facility-visual figcaption strong, .process-grid strong,
.dtf-core-tech-grid strong, .dtg-surface-technology > strong,
.sample-operation-card strong, .factory-lab-grid strong {
  font-size:1.125rem !important; line-height:1.4 !important; letter-spacing:-.01em !important;
}
.ink-color-list strong { font-size:.875rem !important; line-height:1.4 !important; letter-spacing:0 !important; }
.ink-color-list { grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); }
.architecture-header strong { font-size:2rem !important; line-height:1.15 !important; letter-spacing:-.025em !important; }
.product-visual-stage figcaption strong, .visual-gallery figcaption strong { font-size:var(--type-card) !important; line-height:1.3 !important; letter-spacing:-.015em !important; }
.spectrum-grid small { overflow-wrap:anywhere; }
.company-legal-strip strong { line-height:1.5; }

/* Keep desktop navigation on one line without shrinking the lettering. */
@media (min-width:821px) and (max-width:1200px) {
  .site-header { padding-inline:20px; gap:12px; }
  .site-header nav { gap:10px; }
  .site-header nav > a, .product-menu summary { font-size:.75rem !important; }
  .site-header .brand-logo-header { width:145px; }
  .site-header .social-links { gap:6px; }
  .site-header .social-link { width:26px; height:26px; }
  .site-header .button-small { display:none; }
}
@media (max-width:820px) {
  :root {
    --type-hero:clamp(2rem,8.4vw,2.75rem);
    --type-section:clamp(1.75rem,6.4vw,2rem);
    --type-card:1.375rem;
  }
  .site-header nav.mobile-open > a, .site-header nav.mobile-open .product-menu summary { font-size:.9375rem !important; }
  .site-header .menu-button { font-size:.875rem !important; }
  .daylight-intro .eyebrow { font-size:.75rem !important; }
  .daylight-hero h1 { letter-spacing:-.025em !important; }
  .daylight-intro-copy { max-width:40rem; }
  .daylight-hero .hero-actions { gap:16px; }
  .daylight-hero .button { min-height:48px; }
  .daylight-scene-caption { flex-wrap:wrap; gap:10px; }
  .color-family-grid { grid-template-columns:1fr; }
  .ink-color-list { grid-template-columns:repeat(auto-fit,minmax(90px,1fr)); gap:20px 12px; }
  .product-visual-stage figcaption p { max-width:100%; }
}
