/* ========================================
   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;
}

/* EN header: keep one row — fluid gap/type only (hamburger still ≤1200 in init.css) */
body.page-en .header-inner {
  flex-wrap: nowrap;
  gap: clamp(12px, 1.5vw, 48px);
  padding-left: clamp(16px, 3vw, 80px);
  padding-right: clamp(16px, 3vw, 80px);
}

body.page-en .logo img {
  height: clamp(32px, 2.5vw, var(--logo-h));
}

body.page-en .main-nav {
  flex: 1 1 auto;
  min-width: 0;
}

body.page-en .main-nav > ul {
  flex-wrap: nowrap;
  gap: clamp(8px, 2vw, 36px);
}

body.page-en .main-nav > ul > li > a {
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0;
  gap: 4px;
}

body.page-en .main-nav a {
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0;
}

body.page-en .main-nav .nav-chevron {
  width: 12px;
  height: 12px;
}

body.page-en .header-actions {
  gap: clamp(8px, 1vw, 24px);
  flex-shrink: 0;
}

body.page-en .lang-switch {
  gap: clamp(4px, 0.45vw, 10px);
}

body.page-en .lang-item {
  font-size: clamp(11px, 0.9vw, 13px);
}

/* Mid desktop: squeeze further, still one row */
@media (max-width: 1480px) and (min-width: 1201px) {
  body.page-en .header-inner {
    gap: 12px;
    padding-left: 20px;
    padding-right: 20px;
  }

  body.page-en .main-nav > ul {
    gap: clamp(6px, 0.7vw, 16px);
  }

  body.page-en .main-nav > ul > li > a,
  body.page-en .main-nav a {
   font-size: 14px;
           gap: 10px;
  }

  body.page-en .lang-item {
    font-size: 11px;
  }

  body.page-en .logo img {
    height: 34px;
  }

  body.page-en .site-header.is-scrolled .logo img {
    height: 32px;
  }
}

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;
  }
}
