/* 首页字体平衡：首屏为主，产品、定制与联系逐级收敛。 */
:root {
  --hj-nav-font-size: 17px;
}

.site-header .site-nav a,
.site-header .brand-slogan {
  font-size: var(--hj-nav-font-size);
  font-weight: 400;
}

.site-header .brand small {
  font-size: 7.2px;
  letter-spacing: .075em;
}

.site-footer .footer-brand small {
  font-size: 9.5px;
  letter-spacing: .07em;
}

.site-header .brand small,
.site-footer .footer-brand small {
  transform: translateY(-2px);
}

.site-footer .footer-brand > span {
  transform: translateY(-2px);
}

.site-footer nav.footer-links a {
  font-size: 14px;
  line-height: 1.75;
}

.site-footer .footer-contact > p,
.site-footer .footer-contact > a {
  min-height: 44px;
  display: flex;
  margin: 0;
  line-height: 1.75;
}

.site-footer .footer-contact > p {
  align-items: center;
  padding-bottom: 0;
}

.site-footer .footer-contact > a {
  align-items: flex-start;
  padding-top: 0;
  transform: translateY(-6px);
}

.site-footer .footer-bottom .footer-filings {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  flex-wrap: wrap;
}

.site-footer .footer-bottom .footer-filings a {
  display: flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
}

.site-footer .footer-bottom .footer-public-security {
  gap: 6px;
}

.site-footer .footer-bottom .footer-public-security img {
  width: 18px;
  height: 20px;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-footer .footer-contact > .footer-email-label {
  margin-top: 0;
}

.hj-v7-home .hero h1 {
  font-size: clamp(50px, 4.1vw, 60px);
  line-height: 1.14;
  letter-spacing: -.045em;
}

.hj-v7-home .hero-copy > p.hero-lead:not(.kicker) {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.75;
}

.hj-v7-home .hero .arrow-link,
.hj-v7-home .custom .arrow-link,
.hj-v7-home .contact-button {
  font-size: 14px;
}

.hj-v7-home .products .section-heading h2 {
  font-size: clamp(44px, 3.8vw, 56px);
  line-height: 1.2;
  letter-spacing: -.04em;
}

.hj-v7-home .products .section-heading > .section-subtitle,
.hj-v7-home .custom-intro > .section-subtitle {
  color: #667b8a;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: .02em;
}

.hj-v7-home .products .section-heading > .section-subtitle {
  max-width: 360px;
  margin: 0 0 7px;
  text-align: right;
}

.hj-v7-home .custom-intro > .section-subtitle {
  margin-top: 18px;
}

.hj-v7-home .custom-intro > .section-subtitle + p {
  margin-top: 24px;
}

.hj-v7-home .custom h2 {
  font-size: clamp(40px, 3.25vw, 48px);
  line-height: 1.28;
  letter-spacing: -.04em;
}

.hj-v7-home .custom-intro > p:not(.kicker) {
  font-size: 15px;
  line-height: 1.9;
}

.hj-v7-home .custom-steps h3 {
  font-size: clamp(21px, 1.7vw, 24px);
  line-height: 1.35;
}

.hj-v7-home .custom-steps p {
  font-size: 13px;
  line-height: 1.7;
}

.hj-v7-home .contact:not(.contact--compact) h2 {
  font-size: clamp(38px, 3.05vw, 44px);
  line-height: 1.28;
  letter-spacing: -.035em;
}

.hj-v7-home .contact:not(.contact--compact) .contact-main > p:not(.kicker) {
  font-size: 15px;
  line-height: 1.9;
}

.hj-v7-home .site-footer h2 {
  font-size: 15px;
  line-height: 1.6;
}

.hj-v7-home .site-footer a,
.hj-v7-home .site-footer p,
.hj-v7-home .site-footer address {
  font-size: 14px;
  line-height: 1.75;
}

.site-footer .footer-address {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
}

.site-footer .footer-address > span:last-child {
  min-width: 0;
}

.site-footer .footer-brand img {
  width: 56px;
  height: 56px;
}

.site-footer .footer-brand strong {
  font-size: 22px;
}

.site-footer .footer-brand small {
  font-size: 8.5px;
}

.site-header .brand img {
  width: 56px;
  height: 56px;
}

.site-header .brand strong {
  font-size: 22px;
}

.site-header .brand small {
  font-size: 8.5px;
}

@media (max-width: 900px) {
  .site-footer .footer-brand img {
    width: 56px;
    height: 56px;
  }

  .site-footer .footer-brand strong {
    font-size: 22px;
  }

  .site-footer .footer-brand small {
    font-size: 8.5px;
  }
}

@media (max-width: 760px) {
  .site-footer .footer-bottom .footer-filings {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0 18px;
  }

  :root {
    --hj-nav-font-size: 16px;
  }

  .hj-v7-home .hero h1 {
    font-size: clamp(38px, 11vw, 43px);
    line-height: 1.16;
    letter-spacing: -.04em;
  }

  .hj-v7-home .hero-copy > p.hero-lead:not(.kicker) {
    font-size: 15px;
    line-height: 1.72;
  }

  .hj-v7-home .products .section-heading h2 {
    font-size: clamp(34px, 9.2vw, 39px);
    line-height: 1.24;
    letter-spacing: -.035em;
  }

  .hj-v7-home .products .section-heading > .section-subtitle,
  .hj-v7-home .custom-intro > .section-subtitle {
    font-size: 14px;
  }

  .hj-v7-home .products .section-heading > .section-subtitle {
    margin-top: 14px;
    text-align: left;
  }

  .hj-v7-home .custom h2 {
    font-size: clamp(34px, 9vw, 39px);
    line-height: 1.3;
    letter-spacing: -.035em;
  }

  .hj-v7-home .custom-intro > p:not(.kicker) {
    font-size: 14px;
    line-height: 1.85;
  }

  .hj-v7-home .custom-steps h3 {
    font-size: 21px;
  }

  .hj-v7-home .custom-steps p {
    font-size: 13px;
  }

  .hj-v7-home .contact:not(.contact--compact) h2 {
    font-size: clamp(34px, 9vw, 38px);
    line-height: 1.3;
  }

  .hj-v7-home .contact:not(.contact--compact) .contact-main > p:not(.kicker) {
    font-size: 14px;
    line-height: 1.85;
  }

  .hj-v7-home .hero .arrow-link,
  .hj-v7-home .custom .arrow-link,
  .hj-v7-home .contact-button {
    font-size: 13px;
  }
}

/* 2026-09-24 首页排版收敛：统一标题阶梯与模块呼吸感。 */
.hj-v7-home .hero h1 {
  font-size: clamp(48px, 4vw, 58px);
}

.hj-v7-home .products {
  padding-top: 88px;
  padding-bottom: 96px;
}

.hj-v7-home .products .section-heading {
  margin-bottom: 40px;
}

.hj-v7-home .products .section-heading h2 {
  font-size: clamp(42px, 3.35vw, 50px);
  line-height: 1.18;
}

.hj-v7-home .products .section-heading > .section-subtitle,
.hj-v7-home .custom-intro > .section-subtitle {
  color: #71838d;
  font-size: 15px;
  line-height: 1.7;
}

.hj-v7-home .products .section-heading > .section-subtitle {
  max-width: none;
  margin: 12px 0 0;
  text-align: left;
}

.hj-v7-home .custom {
  gap: clamp(72px, 7vw, 104px);
  padding-top: 112px;
  padding-bottom: 112px;
}

.hj-v7-home .custom h2,
.hj-v7-home .contact:not(.contact--compact) h2 {
  font-size: clamp(38px, 3.05vw, 44px);
  line-height: 1.28;
}

.hj-v7-home .contact:not(.contact--compact) {
  padding-top: 80px;
  padding-bottom: 84px;
}

/* Keep the desktop hero close to the fixed header instead of delaying the
   opening statement by a viewport-relative amount. */
@media (min-width: 761px) {
  .hj-v7-home .hero-copy {
    padding-top: 54px;
  }

  .hj-v7-home .hero-image img {
    position: relative;
    top: -42px;
    height: calc(100% + 42px);
  }
}

@media (max-width: 1024px) {
  .hj-v7-home .products {
    padding-top: 84px;
    padding-bottom: 88px;
  }

  .hj-v7-home .products .section-heading {
    margin-bottom: 36px;
  }

  .hj-v7-home .custom {
    gap: 64px;
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

@media (max-width: 760px) {
  .hj-v7-home .hero-image {
    margin-top: 16px;
  }

  .hj-v7-home .hero-image img {
    position: relative;
    top: -14px;
    height: calc(100% + 14px);
  }

  .hj-v7-home .hero h1 {
    font-size: clamp(38px, 10.5vw, 41px);
  }

  .hj-v7-home .products {
    padding-top: 72px;
    padding-bottom: 80px;
  }

  .hj-v7-home .products .section-heading {
    margin-bottom: 28px;
  }

  .hj-v7-home .products .section-heading h2,
  .hj-v7-home .custom h2,
  .hj-v7-home .contact:not(.contact--compact) h2 {
    font-size: clamp(33px, 9.2vw, 36px);
    line-height: 1.26;
  }

  .hj-v7-home .products .section-heading > .section-subtitle,
  .hj-v7-home .custom-intro > .section-subtitle {
    font-size: 14px;
  }

  .hj-v7-home .custom {
    gap: 56px;
    padding-top: 84px;
    padding-bottom: 84px;
  }

  .hj-v7-home .custom-steps h3 {
    font-size: 20px;
  }

  .hj-v7-home .contact:not(.contact--compact) {
    padding-top: 84px;
    padding-bottom: 76px;
  }
}
/* 关于我们页联系标题：与其他页面“从一次对话开始”保持同一字体规格。 */
.about-contact.inner-wrap h2 {
  max-width: 760px;
  font-size: clamp(38px, 3.2vw, 48px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.035em;
}

@media (max-width: 600px) {
  .about-contact.inner-wrap h2 {
    font-size: 36px;
  }
}
