:root {
  --content-max: 1680px;
  --content-gutter: clamp(36px, 12.5vw, 240px);
  --header-gutter: clamp(24px, 3.125vw, 72px);
  --header-height: 104px;
  --type-display: clamp(44px, 3.6vw, 64px);
  --type-heading: clamp(36px, 2.85vw, 54px);
  --type-title: clamp(24px, 1.7vw, 32px);
  --type-body: clamp(17px, calc(14px + .3125vw), 20px);
  --type-label: clamp(14px, .85vw, 16px);
  --jk-interior-hero-height: clamp(440px, 33.333vw, 720px);
}

.jk-container,
body.home .commerce-home .container,
body.home .commerce-home .featured-products > .container {
  width: min(var(--content-max), calc(100% - var(--content-gutter)));
}

body .jk-header,
body:not(.home) .jk-header,
body.home .site-header.site-header-overlay {
  width: 100%;
  margin: 0;
  height: var(--header-height);
  min-height: var(--header-height);
  padding-right: max(var(--header-gutter), calc((100% - 1920px) / 2));
  padding-left: max(var(--header-gutter), calc((100% - 1920px) / 2));
  gap: clamp(18px, 1.4vw, 28px);
}

body:not(.home) .jk-logo,
body.home .site-header.site-header-overlay .brand {
  flex: 0 0 clamp(160px, 10.42vw, 210px);
  width: clamp(160px, 10.42vw, 210px);
}

body:not(.home) .jk-logo img,
body.home .site-header.site-header-overlay .brand img {
  width: 100%;
  max-height: 64px;
}

body:not(.home) .jk-nav,
body.home .site-header.site-header-overlay nav {
  min-width: 0;
  font-size: clamp(16px, calc(12px + .3125vw), 18px);
  font-weight: 600;
}

body:not(.home) .jk-nav ul,
body.home .site-header.site-header-overlay nav {
  justify-content: center;
  gap: clamp(18px, 1.65vw, 32px);
}

body:not(.home) .jk-header-cta,
body.home .site-header.site-header-overlay .header-cta {
  flex: 0 0 clamp(178px, 11.6vw, 222px);
  width: clamp(178px, 11.6vw, 222px);
  min-width: 0;
  height: 54px;
  min-height: 54px;
  padding: 14px 20px;
  font-size: clamp(14px, .84vw, 16px);
  font-weight: 600;
  white-space: nowrap;
}

.jk-language-switcher { font-size: 14px; }
.nav-dropdown-menu a { font-size: 16px; }

@media (min-width: 1041px) {
  body.home .project-hero {
    height: clamp(660px, 46.875vw, min(1020px, 100svh));
    min-height: 660px;
  }

  body.home .project-hero-content {
    height: 100%;
    min-height: 0;
    align-items: center;
    padding-top: var(--header-height);
    padding-bottom: 108px;
  }

  body.home .project-hero-content-inner {
    width: min(920px, 65%);
    max-width: none;
    padding-top: 0;
  }

  body.home .project-hero h1 {
    max-width: 900px;
    font-size: clamp(46px, 3.34vw, 68px);
    line-height: 1.12;
  }

  body.home .project-hero-title-line { white-space: normal; }
  body.home .project-hero-eyebrow { font-size: clamp(16px, .94vw, 18px); }
  body.home .project-hero-copy { max-width: 740px; font-size: var(--type-body); line-height: 1.65; }
  body.home .project-hero-button { min-height: 54px; padding: 14px 28px; font-size: 16px; }
  body.home .project-hero-controls { bottom: 40px; }
  body.home .project-hero-progress { width: min(640px, 50%); }

  body.home .featured-products,
  body.home .manufacturing-network-home,
  body.home .why-choose-jinkaite,
  body.home .factory-team-section,
  body.home .home-insights,
  body.home .project-scenes,
  body.home .customer-marquee {
    padding-top: clamp(80px, 5.2vw, 104px);
    padding-bottom: clamp(80px, 5.2vw, 104px);
  }

  body.home .commerce-home :is(.section-title-row, .manufacturing-network-home-copy, .why-choose-heading, .factory-team-heading, .home-insights-heading, .project-scenes-heading, .customer-marquee-heading) h2 {
    font-size: var(--type-heading);
    line-height: 1.16;
  }

  body.home .home-category-grid { gap: 20px; }
  body.home .home-category-tile h3 { font-size: 22px; }
  body.home .home-category-details p { font-size: 16px; line-height: 1.6; }
  body.home .featured-products .section-title-row { margin-bottom: 42px; gap: 0; }
  body.home .featured-products .section-title-row > div { max-width: 940px; }
  body.home .featured-products .section-title-row h2 { max-width: 940px; }
  body.home .featured-products .section-title-row .quiet-link { font-size: 16px; }

  body.home .manufacturing-network-home-link { font-size: 16px; }
  body.home .manufacturing-network-home-copy > p { max-width: 760px; }

  body.home .solution-carousel-copy { width: min(1040px, 100%); }
  body.home .solution-carousel-copy h2 { max-width: 1040px; font-size: var(--type-heading); line-height: 1.16; }
  body.home .solution-carousel-copy p { max-width: 850px; }
  body.home .solution-carousel-kicker { font-size: 16px; }
  body.home .solution-carousel-button { min-height: 52px; font-size: 15px; }
  body.home .solution-carousel-tabs button { min-height: 64px; font-size: clamp(16px, 1.04vw, 20px); }
  body.home .solution-carousel-controls { bottom: 36px; }

  body.home .commerce-home .about-jinkaite .container { width: 100%; max-width: none; }
  body.home .about-jinkaite-copy {
    padding-left: max(calc(var(--content-gutter) / 2), calc((100vw - var(--content-max)) / 2));
    padding-right: clamp(40px, 4vw, 80px);
  }
  body.home .about-jinkaite-copy h2 { max-width: 100%; font-size: var(--type-heading); }
  body.home .about-jinkaite-copy p:not(.eyebrow) { max-width: 700px; }
  body.home .why-choose-copy { padding: 28px 32px 34px; }
  body.home .why-choose-copy h3 { font-size: clamp(23px, 1.45vw, 28px); }
  body.home .why-choose-copy p { max-width: 36ch; }
  body.home .home-insight-copy h3 { font-size: clamp(24px, 1.45vw, 28px); line-height: 1.3; }
  body.home .home-insights-heading { margin-bottom: 44px; }
  body.home .home-insight-copy { padding: 26px; }
  body.home .home-insight-copy a,
  body.home .factory-capability-action,
  body.home .commerce-button { min-height: 50px; font-size: 15px; }
  body.home .project-scenes-viewport { padding-right: calc(var(--content-gutter) / 2); padding-left: calc(var(--content-gutter) / 2); }

  main p:not([class*="kicker"], [class*="eyebrow"], [class*="label"], [class*="meta"], [class*="number"], [class*="role"], .jk-solutions-image-note) {
    font-size: var(--type-body) !important;
    line-height: 1.65;
  }

  main :is(.jk-about-kicker, .jk-support-kicker, .jk-solutions-kicker, .jk-oem-kicker) { font-size: var(--type-label); }
  .jk-about-hero { align-items: center; padding: 64px 0; }
  .jk-about-hero :is(h1, .jk-about-hero-lead) { max-width: 940px; }
  .jk-about-hero h1 { text-wrap: balance; }
  .jk-about-hero-action { font-size: 17px; }
  .jk-solutions-page .jk-solutions-hero-content { padding-top: 64px; padding-bottom: 64px; }
  .jk-projects-archive-hero { align-items: center; padding: 64px 0; }
  .jk-projects-archive-hero h1 { max-width: 1120px; }
  .jk-projects-archive-hero span { max-width: 740px; font-size: var(--type-body); }
  .jk-support-hero, .jk-support-hero-content { height: var(--jk-interior-hero-height); min-height: var(--jk-interior-hero-height); }
  .jk-support-hero-content { padding-top: 64px; padding-bottom: 80px; }
  .jk-support-hero h1 { max-width: 1040px; font-size: var(--type-display); line-height: 1.12; }
  .jk-support-hero-copy { max-width: 740px; }
  .jk-support-hero-meta { right: calc(var(--content-gutter) / 2); left: calc(var(--content-gutter) / 2); }
  .jk-support-page :is(.jk-support-intro, .jk-support-section-heading, .jk-support-records, .jk-support-faq, .jk-support-close) h2 { font-size: var(--type-heading); line-height: 1.16; }
  .jk-support-button, .jk-solutions-button, .jk-oem-button, .jk-button { min-height: 52px; font-size: 15px; }

  .jk-solutions-section-head h2,
  .jk-solutions-principle h2 { max-width: 1000px; font-size: var(--type-heading); line-height: 1.16; }
  .jk-solution-card h3 { font-size: clamp(24px, 1.56vw, 30px); line-height: 1.24; }
  .jk-solutions-factor-card { flex-basis: clamp(310px, 26vw, 460px); }
  .jk-solutions-factor-card h3 { font-size: 28px; }
  .jk-solutions-question-card summary { font-size: 24px; }
  .jk-solutions-faq summary { font-size: 20px; }
  .jk-solutions-copper-copy ul { font-size: var(--type-body); }

  .jk-about-index a, .jk-network-jump a, .jk-network-scene-jump a { font-size: 16px; }
  .jk-about-company-copy { max-width: 760px; }
  .jk-about-profile-intro > .jk-about-profile-copy { max-width: 790px; }
  .jk-about-profile-intro > .jk-about-profile-copy p { max-width: 70ch; }
  .jk-network-product-heading p, .jk-network-chapter-heading p { max-width: 560px; }
  .jk-network-gallery img { height: clamp(280px, 21vw, 400px); }
  .jk-network-gallery figcaption { font-size: 15px; }
  .jk-catalog-layout { grid-template-columns: 290px minmax(0, 1fr); gap: clamp(32px, 3vw, 58px); }
  .jk-catalog-sidebar a { font-size: 16px; }
  .jk-catalog-card h2 { font-size: 18px; line-height: 1.5; }
  .jk-catalog-capability-note { align-items: flex-start; }
  .jk-product-rich-copy { font-size: var(--type-body); }
  .jk-footer-contact-details { width: min(var(--content-max), calc(100% - var(--content-gutter))); }
  .jk-footer-main :is(p, a), .jk-footer-contact-details :is(p, a) { font-size: 16px; }
  body.home .site-footer { padding-right: max(calc(var(--content-gutter) / 2), calc((100vw - var(--content-max)) / 2)); padding-left: max(calc(var(--content-gutter) / 2), calc((100vw - var(--content-max)) / 2)); }
  body.home .home-category-details p { font-size: 16px !important; }
  body.home .why-choose-copy p,
  .jk-solution-card p,
  .jk-solutions-question-card p { font-size: clamp(17px, 1vw, 18px) !important; }
}

@media (min-width: 1041px) and (max-width: 1439px) {
  body .jk-header, body:not(.home) .jk-header, body.home .site-header.site-header-overlay { gap: 16px; }
  body:not(.home) .jk-nav ul, body.home .site-header.site-header-overlay nav { gap: 16px; }
  body:not(.home) .jk-logo, body.home .site-header.site-header-overlay .brand { flex-basis: 160px; width: 160px; }
  body.home .project-hero-content-inner { width: min(800px, 72%); }
}

@media (max-width: 1040px) {
  :root {
    --content-gutter: 48px;
    --type-body: 17px;
    --header-height: 88px;
  }
  body.home .site-header.site-header-overlay nav { display: none; }
  body:not(.home) .jk-logo, body.home .site-header.site-header-overlay .brand { flex-basis: 160px; width: 160px; }
  body.home .site-header.site-header-overlay .header-cta { flex-basis: 178px; width: 178px; margin-left: auto; }
  body.home .mobile-nav { top: var(--header-height); }
}

@media (max-width: 720px) {
  :root {
    --content-gutter: 36px;
    --header-gutter: 18px;
    --type-body: 16px;
    --type-display: clamp(34px, 10vw, 48px);
    --type-heading: 34px;
    --jk-interior-hero-height: clamp(560px, 150vw, 600px);
    --header-height: 82px;
  }
  body.home .site-header.site-header-overlay .brand { flex: 1 1 auto; width: auto; }
  body:not(.home) .jk-logo { flex: 1 1 auto; width: auto; }
  body:not(.home) .jk-logo img { width: 150px; }
  body.home .site-header.site-header-overlay .brand img { width: 150px; }
  body.home .site-header.site-header-overlay .header-cta { display: none; }
  body.home .commerce-home .about-jinkaite .container { width: 100%; }
}
