/* Oklin reference scale; locally hosted Inter is the available open-license substitute.
   Aktiv Grotesk is selected only when installed locally; no third-party font subscription is reused.
   Important declarations give this shared type system precedence over page-specific legacy rules. */
@font-face { font-family: "Wawli Inter"; src: url("../fonts/inter-oklin/inter-200.ttf") format("truetype"); font-style: normal; font-weight: 200; font-display: swap; }
@font-face { font-family: "Wawli Inter"; src: url("../fonts/inter-oklin/inter-300.ttf") format("truetype"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Wawli Inter"; src: url("../fonts/inter-oklin/inter-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Wawli Inter"; src: url("../fonts/inter-oklin/inter-700.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
:root {
  --font-body: "Aktiv Grotesk", "Aktiv Grotesk W01", "Wawli Inter", "Microsoft YaHei Light", "PingFang SC", "Microsoft YaHei", sans-serif;
  --type-title: 2.625rem;
  --type-section: 2.25rem;
  --type-subtitle: 1.5rem;
  --type-body: 1rem;
}
body { font-family: var(--font-body) !important; font-size: var(--type-body) !important; font-weight: 300 !important; line-height: 1.875 !important; }
body :is(h1,h2,h3,h4,h5,h6,p,button,input,select,textarea),
body :is(.proof-strip strong,.category-ledger strong,.application-card span,.gallery-missing strong,.display-line,.not-found>span),
body svg text { font-family: var(--font-body) !important; }
body :is(h1,h2,h3) { font-weight: 200 !important; letter-spacing: -.025em !important; text-wrap: balance; }
body h1 { font-size: var(--type-title) !important; line-height: 1.167 !important; }
body h2 { font-size: var(--type-section) !important; line-height: 1.25 !important; }
body h3 { font-size: var(--type-subtitle) !important; line-height: 1.458 !important; }
body :is(h4,h5,h6) { font-size: 1.125rem !important; font-weight: 400 !important; line-height: 1.5 !important; letter-spacing: 0 !important; }
body p { font-size: var(--type-body) !important; font-weight: 300 !important; line-height: 1.875 !important; letter-spacing: 0 !important; }
body :is(li,dd,dt,td,th,label,figcaption) { font-weight: 300 !important; }
body :is(strong,b,th) { font-weight: 400 !important; }
body :is(.primary-nav>a,.button,.text-link,.oklin-outline-link,.oklin-text-link,.tech-cta,.tech-text-link,.company-contact-link,.company-service-link,.commercial-product-link) {
  font-size: .875rem !important; font-weight: 400 !important; line-height: 1.5 !important; letter-spacing: 0 !important;
}
body :is(.eyebrow,.meta,.company-kicker,.tech-kicker) {
  font-size: .875rem !important; font-weight: 700 !important; line-height: 1.5 !important; letter-spacing: .06em !important;
}
/* Image titles follow the 143px company/technology reference; long home copy stays legible. */
body :is(.company-hero,.tech-hero,.commercial-hero,.inner-hero) h1 {
  font-size: clamp(4.0625rem, 10vw, 8.9375rem) !important; line-height: 1.08 !important;
}
body .oklin-home-hero h1 { font-size: clamp(2.125rem, 4vw, 3.375rem) !important; line-height: 1.17 !important; }
body .oklin-display-word { font-size: clamp(5rem, 14.2vw, 12.75rem) !important; font-weight: 200 !important; line-height: .95 !important; letter-spacing: -.04em !important; }
body :is(.company-intro .company-lead,.commercial-introduction>p,.oklin-home-intro>p,.oklin-inner-intro>p:last-child,.oklin-partnership-lead) {
  font-size: 1.5rem !important; font-weight: 200 !important; line-height: 1.458 !important; letter-spacing: -.015em !important;
}
body :is(.tech-intro .tech-lead,.display-line) { font-size: 1.5rem !important; font-weight: 200 !important; line-height: 1.458 !important; }
body :is(.company-service-steps h3,.company-service-contact h3,.tech-patent-details h3,.tech-step h3,.tech-step h3 button) {
  font-size: 1.25rem !important; font-weight: 300 !important; line-height: 1.5 !important;
}
body .tech-step h3 button { font-family: var(--font-body) !important; }
body :is(.oklin-product-name,.commercial-product-info h3) { font-size: 1.75rem !important; font-weight: 200 !important; line-height: 1.3 !important; }
body :is(.archive-grid h2,.resource-grid h2) { font-size: 1.5rem !important; line-height: 1.458 !important; }
body :is(.company-global-stat strong,.commercial-capacity strong,.tech-facts strong,.oklin-product-stats strong,.proof-strip strong,.company-step-number) { font-weight: 200 !important; letter-spacing: -.025em !important; }
body :is(.company-service-note,.tech-footnote,.tech-patent-number,.tech-patent-date,.tech-patent-holder,.company-map figcaption,.company-certificate figcaption,.form-note,.footer-bottom) {
  font-size: .875rem !important; font-weight: 300 !important; line-height: 1.65 !important;
}
body .company-certificate figcaption strong { font-weight: 400 !important; }
body .site-footer h3 { font-size: 1rem !important; font-weight: 400 !important; line-height: 1.5 !important; letter-spacing: .04em !important; }
body .site-footer :is(p,a,span) { font-size: .875rem !important; font-weight: 300 !important; line-height: 1.65 !important; }
body :is(input,select,textarea) { font-size: 1rem !important; font-weight: 300 !important; line-height: 1.5 !important; }
@media (max-width: 820px) {
  :root { --type-title: 2.25rem; --type-section: 2rem; --type-subtitle: 1.375rem; }
  body :is(.company-hero,.tech-hero,.commercial-hero,.inner-hero) h1 { font-size: clamp(3rem, 10vw, 5.5rem) !important; }
  body :is(.company-intro .company-lead,.commercial-introduction>p,.oklin-home-intro>p,.oklin-inner-intro>p:last-child,.oklin-partnership-lead,.tech-intro .tech-lead,.display-line) { font-size: 1.3125rem !important; line-height: 1.55 !important; }
}
@media (max-width: 560px) {
  :root { --type-title: 2rem; --type-section: 1.875rem; --type-subtitle: 1.25rem; }
  body :is(.company-hero,.tech-hero,.commercial-hero,.inner-hero) h1 { font-size: clamp(2.375rem, 11vw, 4.0625rem) !important; }
  body .oklin-home-hero h1 { font-size: clamp(1.875rem, 7.5vw, 2.5rem) !important; }
  body .oklin-home-hero .hero-title-line { white-space: normal; }
  body .oklin-display-word { font-size: clamp(3.625rem, 17vw, 4.625rem) !important; }
  body :is(.company-intro .company-lead,.commercial-introduction>p,.oklin-home-intro>p,.oklin-inner-intro>p:last-child,.oklin-partnership-lead,.tech-intro .tech-lead,.display-line) { font-size: 1.25rem !important; }
  body :is(.oklin-product-name,.commercial-product-info h3) { font-size: 1.5rem !important; }
}
