/* Current content layouts: loaded only outside the solution page family. */
body.locale-en main :is(h1,h2,h3,h4,p,li) {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
}
body.locale-en .section-heading-inline { flex-wrap: wrap; }
body.locale-en .section-heading-inline > p { min-width: 0; max-width: 100%; }
body.locale-en .iot-hero-copy { min-width: 0; }
@media (max-width: 1100px) {
  body[data-page="cases"] .cases-section .case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; grid-auto-rows: auto; }
  body[data-page="about"] .v12-page-hero-layout { grid-template-columns: minmax(0,1fr); }
  body[data-page="about"] .page-hero-content { min-width: 0; width: 100%; max-width: 100%; }
  body[data-page="about"] .page-hero-content :is(h1, p) { width: auto; max-width: 100%; }
  body[data-page="about"] .about-hero-values { width: 100%; }
}
@media (max-width: 680px) {
  html[lang^="zh"] body[data-page="contact"] .contact-office-card h3 { white-space: normal; min-width: 0; }
  body[data-page="cases"] .cases-section .case-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  body[data-page="cases"] .cases-section .case-card > a { min-height: 0; }
  body[data-page="cases"] .cases-section .case-card > a > div:last-child { min-height: 0; padding: 22px; gap: 12px; }
  body[data-page="cases"] .cases-section .case-card h3 { font-size: 22px; line-height: 1.35; }
  body[data-page="cases"] .cases-section .case-card p { min-height: 0; font-size: 15px; line-height: 1.65; }
  body[data-page="cases"] .cases-section .case-card > a > div:last-child > b { padding-top: 14px; }
  body[data-page="about"] .page-hero-content h1 { font-size: clamp(32px,8.5vw,42px); line-height: 1.2; letter-spacing: -.025em; }
  body[data-page="about"] .about-hero-values { display: grid; grid-template-columns: minmax(0,1fr); overflow: visible; }
  body[data-page="about"] .about-hero-value { min-width: 0; min-height: 90px; }
  body[data-page="about"] .v12-page-hero-media { min-width: 0; max-width: 100%; }
  body .section-heading-inline { display: block; }
  body .section-heading-inline > p { text-align: left !important; margin: 16px 0 0 !important; width: auto !important; }
  body.locale-en :is(.pd-hero,.iot-hero) h1 { font-size: clamp(30px,8.2vw,38px) !important; line-height: 1.18; }
  body.locale-en main :is(h2,h3) { text-wrap: pretty; }
  body .pd-section { min-height: auto; }
  body :is(.pd-hero-visual,.pd-architecture-proof,.pd-highlight-images) img { max-width: 100%; }
}
@media (max-width: 380px) {
  body:not(.locale-en) .home-carousel-copy :is(h1,h2) { font-size: 23px !important; }
  body:not(.locale-en) .home-partners-heading h2 { font-size: 26px !important; }
}
body.locale-en .pd-final h2 { white-space: normal; }
@media (max-width: 680px) {
  body.locale-en .home-carousel-copy :is(h1,h2) > span { white-space: normal; }
  body .language-switch, body .menu-btn { min-height: 44px; }
}
body.locale-en .home-carousel-copy :is(h1,h2) > span,
body.locale-en .contact-expert-heading h1 { white-space: normal; }

/* Keep primary destinations visible on tablet / zoomed desktop viewports. */
@media (min-width: 761px) and (max-width: 1024px) {
  .site-header .topbar { gap: 12px; }
  .site-header .brand { width: 130px; }
  .site-header .main-nav { display: flex; min-width: 0; }
  .site-header .nav-link { padding: 0 8px; font-size: 13px; }
  .site-header .header-actions { gap: 8px; margin-left: 0; }
  .site-header .cloud-link, .site-header .menu-btn { display: none; }
  .site-header .language-switch { padding: 8px; min-width: 0; }
  .locale-en .site-header .brand { width: 110px; }
  .locale-en .site-header .nav-link { padding: 0 5px; font-size: 11px; }
}

/* Prevent product-card content from widening its implicit grid column on phones. */
body[data-page="products"] .catalog-card { grid-template-columns: minmax(0, 1fr); }
body[data-page="products"] .catalog-card > :is(.catalog-image, .catalog-body) { min-width: 0; }
@media (max-width: 480px) {
  body[data-page="products"] .catalog-body :is(small, h3) { white-space: normal; word-break: normal; overflow-wrap: anywhere; }
}
