/* ========================================
   English locale overrides (/en)
   Latin fonts + slightly tighter type scale
   ======================================== */

html[lang="en"],
body.page-en {
  --font: "Segoe UI", "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif;
  --font-size-root: 15px;
  font-family: var(--font);
  font-size: var(--font-size-root);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1;
}

body.page-en,
body.page-en button,
body.page-en input,
body.page-en select,
body.page-en textarea {
  font-family: var(--font);
}

/* Headings: Latin optical size feels larger than CJK at same px */
body.page-en h1 {
  font-size: clamp(26px, 2.2vw, 42px);
  letter-spacing: -0.02em;
  line-height: 1.25;
  font-weight: 600;
}

body.page-en h2 {
  font-size: clamp(22px, 1.8vw, 34px);
  letter-spacing: -0.015em;
  line-height: 1.3;
  font-weight: 600;
}

body.page-en h3 {
  font-size: clamp(17px, 1.25vw, 24px);
  letter-spacing: -0.01em;
  line-height: 1.35;
  font-weight: 600;
}

body.page-en p,
body.page-en li,
body.page-en .solution-card__body p,
body.page-en .product-card__body p,
body.page-en .about-content p,
body.page-en .ct-intro__desc,
body.page-en .cs-hero__lead,
body.page-en .news-card__body,
body.page-en .partner-item p {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0;
}

body.page-en .main-nav a {
  font-size: 14px;
  letter-spacing: 0;
}

body.page-en .lang-item {
  font-size: 13px;
}

body.page-en .btn-banner,
body.page-en .btn-apply,
body.page-en .cs-cta span:first-child,
body.page-en .wx-float__copy,
body.page-en .footer-contact-btn__label {
  letter-spacing: 0.01em;
}

body.page-en .btn-banner {
  font-size: 16px;
}

body.page-en .btn-apply {
  font-size: 14px;
}

body.page-en .solutions-heading h2,
body.page-en #solutions .solutions-heading h2,
body.page-en #products .solutions-heading h2 {
  font-size: clamp(26px, 2.6vw, 48px);
}

body.page-en #solutions .solutions-heading p,
body.page-en #products .solutions-heading p,
body.page-en .solutions-heading p {
  font-size: 15px;
  line-height: 1.7;
}

body.page-en .hero-content h1 {
  font-size: clamp(28px, 3vw, 48px);
  letter-spacing: -0.025em;
}

body.page-en .hero-content p {
  font-size: 15px;
  line-height: 1.7;
}

body.page-en .ct-card__title {
  font-size: clamp(24px, 2.4vw, 40px);
  letter-spacing: -0.02em;
  line-height: 1.3;
}

body.page-en .wx-float__label {
  font-size: 13px;
}

body.page-en .wx-float__id {
  font-size: 13px;
}

body.page-en .footer-brand p,
body.page-en .footer-subnav__list a,
body.page-en .footer-contact li {
  font-size: 14px;
}

body.page-en .footer-bottom p,
body.page-en .footer-legal,
body.page-en .footer-bottom__actions a {
  font-size: 12px;
}

/* Prefer ASCII punctuation metrics in English UI */
body.page-en {
  quotes: "\201C" "\201D" "\2018" "\2019";
  /* Latin reads better with slightly open tracking vs CJK defaults */
  letter-spacing: 0.01em;
}

/* Flexible wrapping for longer English strings */
body.page-en p,
body.page-en li,
body.page-en td,
body.page-en th,
body.page-en label,
body.page-en .ab-review__quote,
body.page-en .partner-item p,
body.page-en .osm-card__body h3,
body.page-en .nv-process__copy p,
body.page-en .ss-process__copy p {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

body.page-en h1,
body.page-en h2,
body.page-en h3,
body.page-en h4,
body.page-en .news-card__body h3,
body.page-en .sol-step h3,
body.page-en .sol-intro h1,
body.page-en .mc-card__title,
body.page-en .nv-case__title,
body.page-en .ss-case__title,
body.page-en .sg-case__title,
body.page-en .osm-card__title,
body.page-en .cs-case__title,
body.page-en .sv-case__title,
body.page-en .footer-cta__inner h2,
body.page-en .ab-side h2 {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  letter-spacing: -0.01em;
}

/* Footer nav: English descenders (y/g/p) were clipped by 1.2em + overflow:hidden */
body.page-en .footer-nav__text {
  height: 1.45em;
  line-height: 1.45;
  overflow: hidden;
  padding-bottom: 0.08em;
  box-sizing: content-box;
}

body.page-en .footer-nav__text span {
  height: 1.45em;
  line-height: 1.45;
}

body.page-en .footer-nav__item {
  line-height: 1.45;
  letter-spacing: 0.01em;
}

/* CTA circle label + ring text — avoid Latin clipping */
body.page-en .footer-contact-btn__label {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  overflow: visible;
  padding: 0 4px;
  text-align: center;
}

body.page-en .footer-contact-btn__ring text {
  font-size: 7.6px;
  letter-spacing: 1.4px;
}

body.page-en .footer-cta__inner h2 {
  letter-spacing: 0.01em;
  line-height: 1.35;
  overflow: visible;
  padding-bottom: 0.12em;
}

/* About reviews: keep English quotes fully visible */
body.page-en.page-about .ab-review {
  overflow: visible;
}

body.page-en.page-about .ab-review__quote {
  overflow: visible;
  overflow-wrap: break-word;
  word-break: normal;
}

body.page-en.page-about .ab-side h2 {
  max-width: 14em;
  line-height: 1.25;
}

/* WeChat float CTA: avoid label clip */
body.page-en .wx-float__copy,
body.page-en .wx-float__label {
  overflow: visible;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

@media (max-width: 767px) {
  body.page-en {
    --font-size-root: 14px;
  }

  body.page-en .hero-content h1 {
    font-size: 26px;
  }

  body.page-en .hero-content p,
  body.page-en p {
    font-size: 13px;
  }

  body.page-en .ct-card__title {
    font-size: 22px;
  }
}
