/*
 * SUNENG typography layer
 *
 * The reference site uses one Poppins family, medium display weights and a
 * compact 36/48 title rhythm. Keep the engineering palette and layout, but
 * use that same economy of scale so long English titles do not dominate the
 * page.
 */
:root {
  --type-display: clamp(2.5rem, 4vw, 4rem);
  --type-heading: clamp(2rem, 3.1vw, 3rem);
  --type-title: clamp(1.5rem, 2.2vw, 2rem);
  --type-body: 1rem;
  --type-body-leading: 1.5;
  --type-label: .8125rem;
}

html,
body,
button,
input,
textarea,
select {
  font-family: 'Poppins', Arial, Helvetica, 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

body {
  font-size: var(--type-body);
  font-weight: 400;
  line-height: var(--type-body-leading);
}

:where(h1, h2, h3, h4, h5, h6) {
  font-family: 'Poppins', Arial, Helvetica, 'Microsoft YaHei', 'PingFang SC', sans-serif;
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.18;
  text-transform: none;
}

/* The incumbent theme marks its heading rule !important; keep the new system authoritative. */
body :is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Poppins', Arial, Helvetica, 'Microsoft YaHei', 'PingFang SC', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
}

/* Site chrome */
.jk-nav,
.site-header nav,
.jk-header-cta,
.header-cta {
  font-size: 14px;
  font-weight: 600;
}

.jk-button,
.jk-header-cta,
.header-cta,
.project-hero-button,
.solution-carousel-button,
.jk-solutions-button,
.jk-oem-button {
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

/* Shared page introductions and section headings */
.jk-hero h1,
.jk-page-intro h1,
.jk-projects-archive-hero h1,
.jk-section-head h2,
.jk-route h2,
.jk-technical-intro h1,
.jk-technical-review-heading h2,
.jk-technical-records-intro h2,
.jk-entry h1 {
  font-size: var(--type-display);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.018em;
  text-transform: none;
}

.jk-hero p,
.jk-page-intro p,
.jk-section-head p,
.jk-route p,
.jk-technical-intro p,
.jk-technical-review-heading p,
.jk-entry p,
.jk-entry li {
  font-size: var(--type-body);
  line-height: 1.6;
}

/* Homepage: compact titles, calmer copy, natural wrapping. */
body.home .project-hero h1 {
  max-width: 720px;
  font-size: clamp(42px, 4vw, 64px);
  font-weight: 600 !important;
  line-height: 1.12;
  letter-spacing: -0.018em;
  text-transform: none;
}

body.home :is(h1, h2, h3) {
  font-weight: 600 !important;
}

body.home .project-hero-title-line {
  white-space: normal;
}

body.home .project-hero-eyebrow,
body.home .project-hero-copy,
body.home .project-hero-button,
body.home .section-title-row p,
body.home .about-jinkaite-copy p,
body.home .why-choose-heading > p,
body.home .factory-team-heading > p,
body.home .home-insight-copy p {
  font-weight: 400;
}

body.home .project-hero-copy {
  max-width: 620px;
  font-size: 16px;
  line-height: 1.6;
}

body.home .section-title-row h2,
body.home .about-jinkaite-copy h2,
body.home .why-choose-heading h2,
body.home .factory-team-heading h2,
body.home .home-insights-heading h2,
body.home .project-scenes-heading h2,
body.home .customer-marquee-heading h2 {
  font-size: var(--type-heading);
  font-weight: 600 !important;
  line-height: 1.15;
  letter-spacing: -0.018em;
  text-transform: none;
}

body.home .why-choose-heading > p,
body.home .factory-team-heading > p {
  font-size: 18px;
  line-height: 1.45;
}

body.home .product-showcase-copy h3,
body.home .factory-team-copy h3,
body.home .home-insight-copy h3,
body.home .why-choose-copy h3 {
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

body.home .product-showcase-copy h3 { font-size: clamp(22px, 2.1vw, 32px); }
body.home .factory-team-copy h3 { font-size: clamp(24px, 2.2vw, 30px); }
body.home .home-insight-copy h3 { font-size: 21px; }
body.home .why-choose-copy h3 { font-size: 20px; }

/* Product catalog and product details: readable names beat oversized labels. */
.jk-catalog-sidebar h2,
.jk-catalog-results-heading h1,
.jk-catalog-empty h2,
.jk-product-summary h1,
.jk-product-section h2,
.jk-product-enquiry h2,
.jk-product-related-grid span {
  font-weight: 600;
  letter-spacing: -0.012em;
  text-transform: none;
}

.jk-catalog-results-heading h1 {
  font-size: clamp(32px, 3.2vw, 44px);
  line-height: 1.15;
}

.jk-catalog-card h2 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
}

.jk-product-summary h1 {
  max-width: 27ch;
  font-size: clamp(30px, 2.8vw, 36px);
  line-height: 1.2;
}

.jk-product-section h2 { font-size: var(--type-title); line-height: 1.2; }
.jk-product-section h3 { font-size: 18px; font-weight: 600; line-height: 1.35; }
.jk-product-rich-copy { font-size: 16px; line-height: 1.6; }
.jk-product-related-grid span { font-size: 16px; line-height: 1.4; }

/* Solutions, OEM and technical pages share the same title scale. */
.jk-solutions-hero h1,
.jk-solutions-intro h2,
.jk-solutions-inputs h2,
.jk-solutions-process h2,
.jk-solutions-faq h2,
.jk-solutions-close h2,
.jk-oem-hero h1,
.jk-oem-window h2,
.jk-oem-scope h2,
.jk-oem-process h2,
.jk-oem-evidence h2,
.jk-oem-faq h2,
.jk-oem-close h2 {
  font-size: var(--type-display);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.018em;
  text-transform: none;
}

.jk-solutions-hero p,
.jk-solutions-intro p,
.jk-solutions-inputs > .jk-container > div:first-child > p,
.jk-oem-hero-copy > p,
.jk-oem-scope-copy > p,
.jk-oem-evidence-heading p,
.jk-oem-close p {
  font-size: 16px;
  line-height: 1.6;
}

@media (max-width: 720px) {
  :where(h1, h2, h3, h4, h5, h6) { letter-spacing: -0.008em; }

  body.home .project-hero h1,
.jk-hero h1,
.jk-page-intro h1,
.jk-projects-archive-hero h1,
.jk-solutions-hero h1,
  .jk-oem-hero h1 {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1.14;
  }

  body.home .section-title-row h2,
  body.home .about-jinkaite-copy h2,
  body.home .why-choose-heading h2,
  body.home .factory-team-heading h2,
  body.home .home-insights-heading h2,
  body.home .project-scenes-heading h2,
  body.home .customer-marquee-heading h2 {
    font-size: 34px;
  }

  .jk-catalog-results-heading h1 { font-size: 32px; }
  .jk-product-summary h1 { font-size: 28px; }
}

.jk-projects-archive-hero h1 {
  max-width: 980px;
  font-size: var(--type-display);
  font-weight: 600 !important;
  line-height: 1.12;
  letter-spacing: -0.018em !important;
  text-transform: none;
}

@media (max-width: 720px) {
  .jk-projects-archive-hero h1 { font-size: clamp(34px, 10vw, 48px); }
}

/* Final cross-page pass: remove legacy hero and section heading exceptions. */
main :is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Poppins', Arial, Helvetica, 'Microsoft YaHei', 'PingFang SC', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  text-transform: none !important;
}

main :is(
  .jk-about-hero h1,
  .jk-project-case-hero h1,
  .jk-detail-hero h1,
  .jk-technical-intro h1,
  .jk-blog-intro h1,
  .jk-solutions-hero h1,
  .jk-oem-hero h1
) {
  font-size: var(--type-display) !important;
  line-height: 1.12 !important;
}

main :is(
  .jk-section-head h2,
  .jk-split-copy h2,
  .jk-route h2,
  .jk-about-company-copy h2,
  .jk-about-method h2,
  .jk-about-team h2,
  .jk-about-scope h2,
  .jk-about-conversation h2,
  .jk-project-case-summary h2,
  .jk-project-case-section-head h2,
  .jk-project-case-contact h2,
  .jk-detail-layout h2,
  .jk-detail-section-heading h2,
  .jk-technical-review-heading h2,
  .jk-technical-records-intro h2,
  .jk-record-gallery-heading h2,
  .jk-solutions-intro h2,
  .jk-solution-chapter h2,
  .jk-solutions-inputs h2,
  .jk-solutions-process h2,
  .jk-solutions-faq h2,
  .jk-solutions-close h2,
  .jk-oem-window h2,
  .jk-oem-scope h2,
  .jk-oem-process h2,
  .jk-oem-evidence h2,
  .jk-oem-faq h2,
  .jk-oem-close h2
) {
  font-size: var(--type-heading) !important;
  line-height: 1.15 !important;
}

@media (max-width: 720px) {
  main :is(
    .jk-about-hero h1,
    .jk-project-case-hero h1,
    .jk-detail-hero h1,
    .jk-technical-intro h1,
    .jk-blog-intro h1,
    .jk-solutions-hero h1,
    .jk-oem-hero h1
  ) {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  main :is(
    .jk-section-head h2,
    .jk-split-copy h2,
    .jk-route h2,
    .jk-about-company-copy h2,
    .jk-about-method h2,
    .jk-about-team h2,
    .jk-about-scope h2,
    .jk-about-conversation h2,
    .jk-project-case-summary h2,
    .jk-project-case-section-head h2,
    .jk-project-case-contact h2,
    .jk-detail-layout h2,
    .jk-detail-section-heading h2,
    .jk-technical-review-heading h2,
    .jk-technical-records-intro h2,
    .jk-record-gallery-heading h2,
    .jk-solutions-intro h2,
    .jk-solution-chapter h2,
    .jk-solutions-inputs h2,
    .jk-solutions-process h2,
    .jk-solutions-faq h2,
    .jk-solutions-close h2,
    .jk-oem-window h2,
    .jk-oem-scope h2,
    .jk-oem-process h2,
    .jk-oem-evidence h2,
    .jk-oem-faq h2,
    .jk-oem-close h2
  ) {
    font-size: 34px !important;
  }
}
