/* Unified JIAKE type scale — loaded after page-specific styles. */
:root{
  --type-h1:clamp(48px,6vw,88px);
  --type-h2:clamp(34px,4vw,58px);
  --type-h3:clamp(22px,2vw,30px);
  --type-lead:18px;
  --type-body:16px;
  --type-card:14px;
  --type-button:11px;
  --type-label:10px;
}

html{font-size:16px}
body{font-family:"Outfit",Arial,sans-serif;font-size:var(--type-body);font-weight:400;line-height:1.65}
main h1{font-family:"Outfit",Arial,sans-serif!important;font-size:var(--type-h1)!important;font-weight:500!important;line-height:.98!important;letter-spacing:-.035em}
main h2{font-family:"Outfit",Arial,sans-serif!important;font-size:var(--type-h2)!important;font-weight:500!important;line-height:1.06!important;letter-spacing:-.03em}
main h3{font-family:"Outfit",Arial,sans-serif!important;font-size:var(--type-h3)!important;font-weight:500!important;line-height:1.18!important;letter-spacing:-.018em}
main p{font-size:var(--type-body);line-height:1.7}
main .hero-copy>p,
main .hero-panel>p,
main .story-hero p,
main .home-hero p,
main .center>p{font-size:var(--type-lead)!important;line-height:1.65}
main .info-card p,
main .product-card p,
main .project-card p,
main .performance-card p,
main .accessory-copy p,
main .step p,
main .process-step p{font-size:var(--type-card)!important;line-height:1.65}
.site-button,.button,button,[class*="button"]{font-family:"Outfit",Arial,sans-serif;font-size:var(--type-button)!important;font-weight:600;letter-spacing:.09em}
.eyebrow,small,.site-utility{font-size:var(--type-label)!important;font-weight:500}
.site-nav,.site-links{font-size:12px;font-weight:500}
.site-footer{font-size:13px}
.site-footer strong{font-size:var(--type-label);font-weight:600}

@media(max-width:680px){
  :root{
    --type-h1:clamp(42px,12vw,56px);
    --type-h2:clamp(32px,9vw,44px);
    --type-h3:clamp(21px,6vw,27px);
    --type-lead:16px;
    --type-body:15px;
    --type-card:13px;
    --type-button:10px;
  }
  main h1,main h2,main h3{text-wrap:balance}
}
