/* MXW visual system v1 · 2026-10-17 · staging only.
 * Existing GreenShift blocks and product data remain the source of content.
 * This scoped layer unifies their presentation without rewriting the blocks.
 */
/* Unmodified official OPPO Sans 4.0; CSS limits its use to Latin characters.
 * Chinese uses locally hosted, unmodified official MiSans VF webfont shards.
 * Both font families retain their bundled license and attribution files.
 */
@font-face {
  font-family: "MXW OPPO Sans 4 Latin";
  src: url("assets/fonts/oppo-sans-4/OPPOSans4-original.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  unicode-range: U+0020-024F, U+1E00-1EFF;
}
body.mxw-visual-v1 {
  --mx-navy-900: #0b1930;
  --mx-navy-800: #122d50;
  --mx-navy-700: #193d6b;
  --mx-blue-600: #005FD7;
  --mx-blue-hover: #004FB5;
  --mx-blue-500: #3380DF;
  --mx-blue-100: #d9e7fa;
  --mx-ice: #eef4fc;
  --mx-ink: #142237;
  --mx-gray-600: #526176;
  --mx-gray-400: #68788e;
  --mx-line: #dfe5ee;
  --mx-line2: #bcc9da;
  --mx-bg: #f5f7fb;
  --mx-bg-soft: #eef3f9;
  --mx-white: #fff;
  --mx-grid: rgba(25, 61, 107, .045);
  --mx-latin: "MXW OPPO Sans 4 Latin";
  --mx-cjk: "MiSans VF";
  --mx-sans: var(--mx-latin), var(--mx-cjk), -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;
  --mx-mono: var(--mx-latin), var(--mx-cjk), "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --mx-weight-regular: 400;
  --mx-weight-medium: 500;
  --mx-weight-semibold: 600;
  --mx-weight-bold: 700;
  --mx-radius: 6px;
  --mx-gutter: 40px;
  --mx-section-space: 88px;
  --theme-font-family: var(--mx-sans);
  --theme-heading-font-family: var(--mx-sans);
  --theme-palette-color-1: var(--mx-blue-600);
  --theme-palette-color-2: var(--mx-blue-hover);
  --theme-link-initial-color: var(--mx-blue-600);
  --theme-link-hover-color: var(--mx-blue-hover);
  --theme-button-background-initial-color: var(--mx-blue-600);
  --theme-button-background-hover-color: var(--mx-blue-hover);
  --theme-form-field-border-focus-color: var(--mx-blue-600);
  --theme-form-selection-field-active-color: var(--mx-blue-600);
  --fluentform-primary: var(--mx-blue-600);
  --wp--preset--color--palette-color-1: var(--mx-blue-600);
  --wp--preset--color--palette-color-2: var(--mx-blue-hover);
  --theme-text-color: var(--mx-gray-600);
  background: var(--mx-white);
  color: var(--mx-ink);
  font-family: var(--mx-sans);
  -webkit-font-smoothing: antialiased;
}

body.mxw-visual-v1 *, body.mxw-visual-v1 *::before, body.mxw-visual-v1 *::after { box-sizing: border-box; }
body.mxw-visual-v1 :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--mx-blue-600);
  outline-offset: 4px;
}
body.mxw-visual-v1 ::selection { background: var(--mx-blue-100); color: #142237; }
body.mxw-visual-v1 .mxwh-sec { padding-block: var(--mx-section-space); font-family: var(--mx-sans); }
/* Explicit menu stacks use the same Latin / Chinese pairing. */
body.mxw-visual-v1 .mxmm { font-family: var(--mx-latin), var(--mx-cjk), "Inter", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
body.mxw-visual-v1 .mxmm :is(.mxmm-eyebrow, .mxmm-count, .mxmm-no, .mxmm-en, .mxmm-promo-tag, .mxmm-promo-sub) { font-family: var(--mx-latin), var(--mx-cjk), "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Consolas, "Courier New", monospace; }
body.mxw-visual-v1 .mxmm :is(.mxmm-all-ar, .mxmm-promo-ar) { font-family: var(--mx-latin), var(--mx-cjk), "JetBrains Mono", ui-monospace, monospace; }
/* Product dropdown: six links only, flush below the primary navigation.
 * Keep Blocksy in charge of visibility, height and overflow.
 */
body.mxw-visual-v1 #header #menu-item-762 > .sub-menu { --dropdown-top-offset: 0px; margin-top: 0 !important; }
body.mxw-visual-v1 #header #menu-item-762 > .sub-menu::after { background: #fff; border: 0; box-shadow: none; }
body.mxw-visual-v1 #header #menu-item-762 > .sub-menu > #menu-item-2240 { padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.mxw-visual-v1 #header #menu-item-2240 > .entry-content { width: 100%; max-width: none; margin: 0; padding: 0; }
body.mxw-visual-v1 #header #menu-item-762 .mxmm { margin: 0; border: 0; }
body.mxw-visual-v1 #header #menu-item-762 .mxmm-body { grid-template-columns: minmax(0, 1fr); }
body.mxw-visual-v1 #header #menu-item-762 .mxmm-grid { width: 100%; max-width: 1040px; margin-inline: auto; border: 0; gap: 0; }
body.mxw-visual-v1 #header #menu-item-762 .mxmm-card,
body.mxw-visual-v1 #header #menu-item-762 .mxmm-card:hover { background: #fff; border: 0; }
body.mxw-visual-v1 #header #menu-item-762 .mxmm-card::after { display: none; }
body.mxw-visual-v1 #header #menu-item-762 .mxmm-txt { padding-right: 0; }
body.mxw-visual-v1 .mxwh-wrap { width: 100%; max-width: 1280px; padding-inline: var(--mx-gutter); margin-inline: auto; }
body.mxw-visual-v1 #main .entry-content > :is(.mxwh-sec, .mxticker) { margin-block: 0; }
body.mxw-visual-v1 #main > .ct-container-full:has(> article > .entry-content > .mxwh-sec) { padding-block: 0; }
body.mxw-visual-v1 .mxwh-sec :is(p, h1, h2, h3, h4) { overflow-wrap: break-word; }
body.mxw-visual-v1 .mxwh-sec :is(p, h1, h2, h3, h4, a) { letter-spacing: normal; }
/* Homepage section surfaces: borderless, alternating light gray and white. */
body.mxw-visual-v1.home :is(.mxhm-prod, .mxhm-app, .mxhm-about, .mxhm-news) { border: 0; background-image: none; box-shadow: none; }
body.mxw-visual-v1.home :is(.mxhm-prod, .mxhm-about) { background-color: var(--mx-bg); }
body.mxw-visual-v1.home :is(.mxhm-app, .mxhm-news) { background-color: var(--mx-white); }
body.mxw-visual-v1 :is(.mxcards, .mxpg-grid, .mxpg-supp-grid, .mxhm-about-grid, .mxpd-intro-grid, .mxab-grid) > * { min-width: 0; }

/* Hierarchy: 64 / 48 / 40 / 22 / 16 / 13. */
body.mxw-visual-v1 .mxwh-sechead { grid-template-columns: minmax(0, 1.3fr) minmax(240px, .85fr); column-gap: 48px; margin-bottom: 40px; }
body.mxw-visual-v1.home :is(.mxhm-biz, .mxhm-prod, .mxhm-app, .mxhm-news) .mxwh-sechead { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "h2"; row-gap: 0; }
body.mxw-visual-v1.home :is(.mxhm-biz, .mxhm-prod, .mxhm-app, .mxhm-news) .mxwh-secsub { display: none; }
body.mxw-visual-v1 :is(.mxwh-eyebrow, .mxpg-eyebrow) { font: 600 12px/1.6 var(--mx-mono); letter-spacing: .14em; color: var(--mx-blue-600); margin-bottom: 14px; }
body.mxw-visual-v1 .mxwh-h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 700; line-height: 1.35; letter-spacing: -.025em; max-width: 760px; }
body.mxw-visual-v1 :is(.mxwh-secsub, .mxpg-sub) { font-size: 16px; line-height: 1.85; color: var(--mx-gray-600); max-width: 680px; }
body.mxw-visual-v1 :is(.mxhm-about-p, .mxab-p, .mxpd-p) { font-size: 16px; line-height: 1.9; color: var(--mx-gray-600); text-align: left; margin-bottom: 20px; }
body.mxw-visual-v1 :is(.mxcard-t, .mxpg-pcard-title, .mxpg-supp-title, .mxab-adv-title, .mxsp-step-title) { font-size: 21px; font-weight: 650; line-height: 1.5; margin-bottom: 12px; color: var(--mx-ink); }
body.mxw-visual-v1 :is(.mxcard-d, .mxpg-pcard-desc, .mxpg-supp-desc, .mxab-adv-p, .mxsp-step-p, .mxsp-q-a) { font-size: 15px; line-height: 1.85; color: var(--mx-gray-600); }

/* One button family. */
body.mxw-visual-v1 :is(.mxwh-btn-primary, .mxwh-btn-ghost, .mxwh-btn-line, .mxwh-cta-btn) {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 13px 26px; border: 1px solid transparent; border-radius: 4px;
  font: 600 15px/1.4 var(--mx-sans); text-decoration: none; transition: background-color .2s, border-color .2s, color .2s;
}
body.mxw-visual-v1 .mxwh-btn-primary { color: #fff; background: var(--mx-blue-600); }
body.mxw-visual-v1 .mxwh-btn-primary:hover { background: var(--mx-blue-hover); color: #fff; }
body.mxw-visual-v1 :is(.mxwh-btn-ghost, .mxwh-btn-line) { background: transparent; color: var(--mx-navy-700); border-color: var(--mx-line2); }
body.mxw-visual-v1 :is(.mxwh-btn-ghost, .mxwh-btn-line):hover { color: var(--mx-blue-600); border-color: var(--mx-blue-600); background: var(--mx-ice); }
body.mxw-visual-v1 .mxwh-link { align-self: flex-start; width: auto; min-height: 32px; padding: 4px 0; border: 0; color: var(--mx-blue-600); font: 600 14px/1.6 var(--mx-sans); text-decoration: none; }
body.mxw-visual-v1 .mxwh-link:hover { text-decoration: underline; text-underline-offset: 5px; }

/* Aligned card grids; restrained elevation and legible numbering. */
body.mxw-visual-v1 :is(.mxcards, .mxpg-grid, .mxpg-supp-grid) { gap: 24px; }
body.mxw-visual-v1 :is(.mxcard, .mxpg-pcard, .mxpg-supp-card, .mxsp-step, .mxab-adv-item, .mxab-honor-card) {
  border: 1px solid var(--mx-line); border-radius: var(--mx-radius); box-shadow: none;
  padding: 32px; background: var(--mx-white); transition: border-color .2s, transform .2s, box-shadow .2s;
}
body.mxw-visual-v1 :is(a.mxcard, .mxpg-pcard, a.mxpg-supp-card):hover { border-color: #99bff0; transform: translateY(-3px); box-shadow: 0 12px 30px -18px #193d6b66; }
body.mxw-visual-v1 .mxcard::before { height: 2px; }
/* Homepage core products: no perimeter or top accent line in either state. */
body.mxw-visual-v1.home .mxhm-prod .mxcard,
body.mxw-visual-v1.home .mxhm-prod .mxcard:hover { border: 0; }
body.mxw-visual-v1.home .mxhm-prod .mxcard::before { display: none; }
body.mxw-visual-v1 .mxcard-no { top: 30px; right: 28px; color: var(--mx-gray-400); font-size: 12px; letter-spacing: .06em; }
body.mxw-visual-v1 .mxico { width: 60px; height: 60px; border-radius: 6px; margin-bottom: 24px; background: var(--mx-ice); }
body.mxw-visual-v1 .mxico img { width: 34px; height: 34px; }
body.mxw-visual-v1 :is(.mxico img, .mxpg-pcard-icon, .mxmm-ico img) { aspect-ratio: 1 / 1; object-fit: contain; flex-shrink: 0; }
body.mxw-visual-v1 .gspb_iconsList img[src*="/assets/product-icons-v2/"] { aspect-ratio: 1 / 1; object-fit: contain; }
body.mxw-visual-v1 .mxcard--sm .mxico { width: 52px; height: 52px; margin-bottom: 20px; }
body.mxw-visual-v1 .mxcard--sm .mxcard-t { font-size: 20px; }
body.mxw-visual-v1 .mxpg-pcard-icon { width: 44px; height: 44px; margin-bottom: 24px; filter: none; }
body.mxw-visual-v1 .mxpg-chip { color: var(--mx-navy-700); background: var(--mx-bg-soft); border: 1px solid var(--mx-line); border-radius: 3px; padding: 5px 10px; font: 500 13px/1.5 var(--mx-sans); }

/* Homepage typography. Banner artwork is temporarily replaced below. */
body.mxw-visual-v1 .mxhm-hero { padding: 0; background: #0b1930; }
body.mxw-visual-v1 .mxhm-hero::before { background-image: url("assets/hero-chip.webp"); background-position: 64% center; background-size: cover; }
body.mxw-visual-v1 .mxhm-hero::after { background: linear-gradient(90deg, rgba(7,18,38,.97) 0%, rgba(7,18,38,.88) 35%, rgba(7,18,38,.42) 65%, rgba(7,18,38,.12) 100%); }
body.mxw-visual-v1 .mxhm-hero-in { min-height: 600px; padding-top: 108px; padding-bottom: 100px; }
body.mxw-visual-v1 .mxhm-hero-eyebrow { color: #c2d8f5; font: 500 12px/1.6 var(--mx-mono); letter-spacing: .12em; margin-bottom: 26px; }
body.mxw-visual-v1 .mxhm-hero-eyebrow::before { background: #80afeb; flex-shrink: 0; }
body.mxw-visual-v1 .mxhm-hero-h1 { color: #fff; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.2; font-weight: 700; letter-spacing: -.025em; margin-bottom: 24px; }
body.mxw-visual-v1 .mxhm-hero-h1 em { color: #99bff0; }
body.mxw-visual-v1 .mxhm-hero-p { max-width: 540px; color: #d0d9e8; font-size: 17px; line-height: 1.9; margin-bottom: 32px; }
body.mxw-visual-v1 .mxhm-hero-btns { margin: 0; gap: 14px; }
body.mxw-visual-v1 .mxhm-hero .mxwh-btn-ghost { color: #fff; border-color: #aebed588; background: #ffffff08; }
body.mxw-visual-v1 .mxhm-hero .mxwh-btn-ghost:hover { background: #ffffff16; border-color: #fff; }
body.mxw-visual-v1 .mxhm-badge { display: none; }
body.mxw-visual-v1 .mxhm-stats { background: #fff; color: var(--mx-ink); display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding-inline: max(0px, calc((100% - 1200px)/2)); }
body.mxw-visual-v1 .mxpg-stat { padding: 28px 32px; border-top: 0; border-color: var(--mx-line); }
body.mxw-visual-v1 .mxpg-stat-num { font: 600 36px/1.2 var(--mx-sans); color: var(--mx-ink); font-variant-numeric: tabular-nums; margin-bottom: 8px; }
body.mxw-visual-v1 .mxpg-stat-unit { font-size: 16px; color: var(--mx-blue-600); }
body.mxw-visual-v1 :is(.mxpg-stat-label, .mxfact-k, .mxpd-kpi-label) { font: 400 13px/1.65 var(--mx-sans); letter-spacing: .02em; color: var(--mx-gray-600); }
body.mxw-visual-v1 .mxticker { display: none; }
body.mxw-visual-v1.home .mxhm-biz { display: none; }

/* Four approved company metrics, shared by home and about. */
body.mxw-visual-v1 .mx-company-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: var(--mx-white); }
body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat { min-width: 0; padding: 28px 20px; border: 0; border-left: 1px solid var(--mx-line); text-align: center; }
body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat:first-child { border-left: 0; }
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-num { display: flex; align-items: baseline; justify-content: center; gap: 4px; white-space: nowrap; font-weight: 700; letter-spacing: -.025em; }
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-prefix { font-size: .6em; font-weight: 600; line-height: 1; letter-spacing: 0; }
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-value { font-weight: 700; font-synthesis: none; }
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-unit { margin: 0 0 0 2px; font-weight: 600; letter-spacing: 0; }
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-label { margin: 0; text-align: center; letter-spacing: 0; }

/* Homepage metrics: open bottom edge, vertically centered 70% separators. */
body.mxw-visual-v1.home .mxhm-stats { border-bottom: 0; }
body.mxw-visual-v1.home .mxhm-prod { border-top: 0; }
body.mxw-visual-v1.home .mxhm-stats > .mxpg-stat { position: relative; border-left: 0; }
body.mxw-visual-v1.home .mxhm-stats > .mxpg-stat + .mxpg-stat::before { content: ""; position: absolute; left: 0; top: 15%; width: 1px; height: 70%; background: var(--mx-line); pointer-events: none; }
@media (max-width: 1199px) {
  body.mxw-visual-v1.home .mxhm-stats > .mxpg-stat:nth-child(odd)::before { display: none; }
}

/* Make applications share the same full-width section and content alignment. */
body.mxw-visual-v1 #main .entry-content > .mxhm-app { max-width: none; width: 100%; margin: 0; }
body.mxw-visual-v1 .mxapps { grid-template-columns: 1.08fr 1fr; gap: 48px; }
body.mxw-visual-v1 .mxapps-visual { min-height: 480px; border-radius: var(--mx-radius); }
body.mxw-visual-v1.home .mxhm-app .mxapps-visual { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; align-self: start; }
body.mxw-visual-v1 .mxapp-row { padding: 24px 10px; gap: 16px; }
body.mxw-visual-v1 .mxapp-name { font-size: 21px; font-weight: 650; }
body.mxw-visual-v1.home .mxhm-app .mxapp-name { font-size: 20px; }
body.mxw-visual-v1 .mxapp-sub { font-size: 11px; color: var(--mx-gray-600); letter-spacing: .04em; }
body.mxw-visual-v1 .mxapp-idx { width: 28px; color: var(--mx-gray-400); font-size: 12px; }
body.mxw-visual-v1 .mxapp-arrow { color: var(--mx-gray-400); }
body.mxw-visual-v1 .mxshot-label { font-size: 12px; letter-spacing: .08em; }
body.mxw-visual-v1 .mxapps:has(.mxapp-row:focus-visible) .mxshot--1 { opacity: 0; }
body.mxw-visual-v1 .mxapps:has(.mxapp-row:nth-child(1):focus-visible) .mxshot--1,
body.mxw-visual-v1 .mxapps:has(.mxapp-row:nth-child(2):focus-visible) .mxshot--2,
body.mxw-visual-v1 .mxapps:has(.mxapp-row:nth-child(3):focus-visible) .mxshot--3,
body.mxw-visual-v1 .mxapps:has(.mxapp-row:nth-child(4):focus-visible) .mxshot--4,
body.mxw-visual-v1 .mxapps:has(.mxapp-row:nth-child(5):focus-visible) .mxshot--5 { opacity: 1; }
body.mxw-visual-v1 :is(.mxhm-about-grid, .mxab-grid, .mxpd-intro-grid) { gap: 56px; }
body.mxw-visual-v1 :is(.mxhm-about-imgwrap, .mxab-imgwrap) { padding: 0; border: 0; border-radius: var(--mx-radius); }
body.mxw-visual-v1 :is(.mxhm-about-imgwrap, .mxab-imgwrap)::before { display: none; }
body.mxw-visual-v1 :is(.mxhm-about-img, .mxab-img, .mxpd-img) { border-radius: var(--mx-radius); box-shadow: none; }
body.mxw-visual-v1 .mxhm-about-h2 { font-size: 32px; line-height: 1.4; margin-bottom: 24px; }
body.mxw-visual-v1.home :is(.mxhm-prod, .mxhm-app, .mxhm-news) .mxwh-h2 { font-size: 32px; }
body.mxw-visual-v1 .mxfact-grid { border-radius: var(--mx-radius); overflow: hidden; }
body.mxw-visual-v1 .mxfact-v { font-size: 18px; font-weight: 650; }
/* Homepage company credentials: three text highlights, not a data table. */
body.mxw-visual-v1.home .mxhm-about .mxhm-credentials { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 24px 0 28px; padding: 0; list-style: none; border: 0; background: transparent; }
body.mxw-visual-v1.home .mxhm-about .mxhm-credential { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 0; color: var(--mx-ink); font: 700 16px/1.65 var(--mx-sans); }
body.mxw-visual-v1.home .mxhm-about .mxhm-credential::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: var(--mx-blue-600); }
@media (max-width: 767px) {
  body.mxw-visual-v1.home .mxhm-about .mxhm-credentials { display: grid; grid-template-columns: minmax(0, 1fr); }
}
body.mxw-visual-v1 .mxnews-item { grid-template-columns: 120px minmax(0,1fr) 24px; gap: 24px; padding: 26px 12px; }
body.mxw-visual-v1 .mxnews-date { font-size: 13px; color: var(--mx-gray-600); letter-spacing: .02em; }
body.mxw-visual-v1 .mxnews-t { font-size: 18px; font-weight: 600; line-height: 1.7; }
body.mxw-visual-v1 .mxnews-arr { color: var(--mx-blue-600); }
/* Homepage news: thumbnail, title/date stack and text-aligned top separator. */
body.mxw-visual-v1.home .mxhm-news .mxnews-item { --mx-news-thumb-width: 140px; --mx-news-gap: 24px; --mx-news-row-pad: 20px; position: relative; display: grid; grid-template-columns: var(--mx-news-thumb-width) minmax(0, 1fr) 24px; column-gap: var(--mx-news-gap); row-gap: 0; align-items: stretch; padding: var(--mx-news-row-pad) 0; border: 0; }
body.mxw-visual-v1.home .mxhm-news .mxnews-item::before { content: ""; position: absolute; top: var(--mx-news-row-pad); left: calc(var(--mx-news-thumb-width) + var(--mx-news-gap)); right: 0; height: 1px; background: var(--mx-line); pointer-events: none; }
body.mxw-visual-v1.home .mxhm-news .mxnews-thumb { position: relative; display: block; grid-column: 1; grid-row: 1; width: 100%; min-height: calc(var(--mx-news-thumb-width) * .6); align-self: stretch; overflow: hidden; border-radius: var(--mx-radius); background: var(--mx-banner-placeholder); }
body.mxw-visual-v1.home .mxhm-news .mxnews-thumb img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
body.mxw-visual-v1.home .mxhm-news .mxnews-copy { display: flex; flex-direction: column; justify-content: space-between; gap: 8px; grid-column: 2; grid-row: 1; min-width: 0; min-height: calc(var(--mx-news-thumb-width) * .6); padding-top: 16px; }
body.mxw-visual-v1.home .mxhm-news :is(.mxnews-t, .mxnews-date) { display: block; min-width: 0; }
body.mxw-visual-v1.home .mxhm-news .mxnews-arr { grid-column: 3; grid-row: 1; justify-self: end; align-self: center; }
@media (max-width: 1100px) {
  body.mxw-visual-v1.home .mxhm-app .mxapp-row { grid-template-columns: minmax(0, 1fr) 20px; }
  body.mxw-visual-v1.home .mxhm-app .mxapp-name { padding-left: 12px; }
}
@media (max-width: 767px) {
  body.mxw-visual-v1.home .mxhm-news .mxnews-item { --mx-news-thumb-width: 88px; --mx-news-gap: 14px; --mx-news-row-pad: 18px; grid-template-columns: var(--mx-news-thumb-width) minmax(0, 1fr) 16px; padding-block: var(--mx-news-row-pad); }
}

/* All inner-page headers use the same light technical canvas. */
body.mxw-visual-v1 .mxpg-hero { position: relative; overflow: hidden; background: var(--mx-bg); padding-block: 64px; border-top: 0; }
body.mxw-visual-v1 .mxpg-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(var(--mx-grid) 1px,transparent 1px),linear-gradient(90deg,var(--mx-grid) 1px,transparent 1px); background-size: 96px 96px; }
body.mxw-visual-v1 .mxpg-hero > .mxwh-wrap { position: relative; z-index: 1; }
body.mxw-visual-v1 .mxpg-hero-no { font-size: 110px; opacity: .45; }
body.mxw-visual-v1 .mxpg-crumb { font: 400 13px/1.8 var(--mx-sans); color: var(--mx-gray-600); letter-spacing: normal; margin-bottom: 24px; }
body.mxw-visual-v1 .mxpg-crumb a { color: var(--mx-gray-600); }
body.mxw-visual-v1 .mxpg-crumb a:hover { color: var(--mx-blue-600); }
body.mxw-visual-v1 .mxpg-h1 { color: var(--mx-ink); font-size: clamp(32px, 3.6vw, 48px); font-weight: 700; line-height: 1.35; letter-spacing: -.025em; margin-bottom: 18px; }
body.mxw-visual-v1 .mxpd-spec { background: var(--mx-bg); }
body.mxw-visual-v1 .mxpd-specbox { border-radius: var(--mx-radius); padding: 28px; min-width: 0; }
body.mxw-visual-v1 .mxpd-kpi-item { border-radius: var(--mx-radius); }
body.mxw-visual-v1 .mxpd-kpi-num { color: var(--mx-ink); font-family: var(--mx-sans); }

/* GreenShift tabs: selected, hover and keyboard states share the button tokens. */
body.mxw-visual-v1 .mxpd-specbox .gspb-tabs > .t-btn-container {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px !important; padding: 0 0 16px;
  border-bottom: 1px solid var(--mx-line); width: 100%;
}
body.mxw-visual-v1 .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn {
  flex: 0 0 auto; min-height: 44px; width: auto; margin: 0; padding: 11px 16px;
  border: 1px solid var(--mx-line); border-radius: 4px; background: #fff; color: var(--mx-gray-600); font: 500 14px/1.5 var(--mx-sans); box-shadow: none;
}
body.mxw-visual-v1 .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn.active { background: var(--mx-blue-600); border-color: var(--mx-blue-600); color: #fff; }
body.mxw-visual-v1 .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn:not(.active):hover { background: var(--mx-ice); color: var(--mx-blue-600); }
body.mxw-visual-v1 .mxpd-specbox .t-panel-container { background: #fff !important; }
body.mxw-visual-v1 .ninja_table_wrapper { max-width: 100%; }
body.mxw-visual-v1 table.ninja_footable { font-family: var(--mx-sans); font-size: 14px; line-height: 1.65; border-radius: 0 !important; }
body.mxw-visual-v1 #main .mxpd-specbox table.ninja_footable thead tr th { background: #eef3f9 !important; color: #193d6b !important; font-weight: 600; padding: 14px 12px; }
body.mxw-visual-v1 table.ninja_footable tbody tr td { padding: 13px 12px; border-color: #e1e7ef !important; font-variant-numeric: tabular-nums; }
body.mxw-visual-v1 #main .mxpd-specbox table.ninja_footable tbody tr:nth-child(odd) td { background: #fff !important; color: #34445a !important; }
body.mxw-visual-v1 #main .mxpd-specbox table.ninja_footable tbody tr:nth-child(even) td { background: #f7f9fc !important; color: #34445a !important; }
body.mxw-visual-v1 #main .mxpd-specbox table.ninja_footable tbody tr:hover td { background: var(--mx-ice) !important; }
body.mxw-visual-v1 .mxsp-q { border-radius: var(--mx-radius); }
body.mxw-visual-v1 .mxsp-q-t { min-height: 56px; font-size: 17px; }
body.mxw-visual-v1 .mxct-formbox { border-radius: var(--mx-radius); }
body.mxw-visual-v1 .fluentform :is(input, textarea, select).ff-el-form-control { border: 1px solid var(--mx-line2); border-radius: 4px; min-height: 48px; font: 400 16px/1.6 var(--mx-sans); }
body.mxw-visual-v1 .fluentform .ff-btn-submit { background: var(--mx-blue-600); border-radius: 4px; padding: 14px 28px; min-height: 48px; }
body.mxw-visual-v1 .fluentform form .ff-btn-submit:not(.ff_btn_no_style):hover { background-color: var(--mx-blue-hover); }

/* One call-to-action family and one footer rhythm. */
body.mxw-visual-v1 .mxwh-cta { background: var(--mx-navy-900); background-image: none; padding-block: 64px; }
body.mxw-visual-v1 .mxwh-cta::before { opacity: .35; }
body.mxw-visual-v1 .mxwh-cta::after { display: none; }
body.mxw-visual-v1 .mxwh-cta-h2 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.45; font-weight: 650; }
body.mxw-visual-v1 .mxwh-cta-p { color: #c5d0e1; font-size: 16px; }
body.mxw-visual-v1 .mxwh-cta-btn { color: #fff; background: var(--mx-blue-600); border-color: var(--mx-blue-600); }
body.mxw-visual-v1 .mxwh-cta-btn:hover { color: #fff; background: var(--mx-blue-hover); border-color: var(--mx-blue-hover); }
body.mxw-visual-v1 #header [data-row="middle"] { border-bottom: 1px solid var(--mx-line); }
body.mxw-visual-v1 #header .ct-container { width: calc(100% - 80px); max-width: 1200px; }
body.mxw-visual-v1 #header .menu > li > a { font-size: 15px; font-weight: 600; }
body.mxw-visual-v1 #header .site-logo-container img { max-width: 224px; }
body.mxw-visual-v1 #footer { --theme-text-color: #b9c6d9; --theme-link-initial-color: #c7d2e3; --theme-link-hover-color: #fff; }
/* Footer content follows homepage gutters; all footer rows share the CTA navy. */
body.mxw-visual-v1 #footer,
body.mxw-visual-v1 #footer > [data-row] { background: var(--mx-navy-900); }
body.mxw-visual-v1 #footer .ct-container { width: 100%; max-width: 1280px; padding-inline: var(--mx-gutter); margin-inline: auto; }
body.mxw-visual-v1 #footer :is(p, li, a) { font-size: 14px; line-height: 1.85; font-weight: 400; }
body.mxw-visual-v1 #footer :is(h3, .widget-title) { font-size: 16px; font-weight: 600; margin-bottom: 20px; }
body.mxw-visual-v1 #footer .ct-contact-info li { gap: 12px; }
body.mxw-visual-v1 #footer .ct-footer-copyright { font-size: 12px; line-height: 1.8; }
body.mxw-visual-v1 #footer .mxw-font-credit { margin: 8px 0 0; }
body.mxw-visual-v1 #footer .mxw-font-credit,
body.mxw-visual-v1 #footer .mxw-font-credit a { font: 400 12px/1.8 var(--mx-sans); color: inherit; letter-spacing: 0; }
body.mxw-visual-v1 #footer .mxw-font-credit a { text-decoration: underline; text-underline-offset: 3px; }
body.mxw-visual-v1 #footer .mxw-font-credit a:hover { color: #fff; }

/* Native WordPress news templates use the same header and card scale. */
body.mxw-visual-v1:is(.blog, .archive) #main > .hero-section { background-color: var(--mx-bg); padding-block: 64px; min-height: 0; }
body.mxw-visual-v1:is(.blog, .archive) .hero-section .entry-header { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; min-height: 0; width: 100%; max-width: 1280px; padding-inline: var(--mx-gutter); margin-inline: auto; text-align: left; }
body.mxw-visual-v1:is(.blog, .archive) .hero-section .page-title { font: 700 48px/1.35 var(--mx-sans); color: var(--mx-ink); letter-spacing: -.025em; margin: 0; }
body.mxw-visual-v1:is(.blog, .archive) .hero-section .ct-breadcrumbs { order: -1; font: 400 13px/1.8 var(--mx-sans); color: var(--mx-gray-600); margin: 0 0 24px; }
body.mxw-visual-v1:is(.blog, .archive) #main > .ct-container { max-width: 1200px; width: calc(100% - 80px); padding-block: var(--mx-section-space); }
body.mxw-visual-v1:is(.blog, .archive) .ct-dynamic-filter { justify-content: flex-start; margin-bottom: 32px; }
body.mxw-visual-v1:is(.blog, .archive) .ct-dynamic-filter a { border: 1px solid var(--mx-line); border-radius: 4px; color: var(--mx-gray-600); background: #fff; font: 500 14px/1.5 var(--mx-sans); min-height: 44px; padding: 11px 20px; }
body.mxw-visual-v1:is(.blog, .archive) .ct-dynamic-filter a.active { background: var(--mx-blue-600); border-color: var(--mx-blue-600); color: #fff; }
body.mxw-visual-v1:is(.blog, .archive) .entry-card { border: 1px solid var(--mx-line); border-radius: var(--mx-radius); box-shadow: none; overflow: hidden; }
body.mxw-visual-v1:is(.blog, .archive) .entry-card .entry-title { font: 650 21px/1.5 var(--mx-sans); color: var(--mx-ink); }
body.mxw-visual-v1:is(.blog, .archive) .entry-card .entry-excerpt { font-size: 15px; line-height: 1.8; }
body.mxw-visual-v1:is(.blog, .archive) .entry-meta { font-size: 13px; }

@media (min-width: 1101px) {
  body.mxw-visual-v1 .mxhm-biz .mxwh-sechead { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); }
  body.mxw-visual-v1 .mxapps-visual { display: block; }
  body.mxw-visual-v1.home .mxapps-left > .mxapp-row { flex: 1; }
  body.mxw-visual-v1 .mxapp-thumb { display: none; }
}
@media (max-width: 1100px) {
  body.mxw-visual-v1 { --mx-gutter: 32px; --mx-section-space: 64px; }
  body.mxw-visual-v1 .mxwh-sechead { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "h2" "sub"; row-gap: 0; }
  body.mxw-visual-v1 .mxwh-secsub { margin-top: 16px; margin-bottom: 0; }
  body.mxw-visual-v1 .mxhm-hero-in { min-height: 560px; padding-block: 88px; }
  body.mxw-visual-v1 :is(.mxcards, .mxpg-grid) { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.mxw-visual-v1 .mxhm-biz .mxcards { grid-template-columns: repeat(3, minmax(0,1fr)); }
  body.mxw-visual-v1 :is(.mxhm-about-grid, .mxab-grid, .mxpd-intro-grid) { grid-template-columns: minmax(0,1fr); gap: 32px; }
  body.mxw-visual-v1 .mxapps { grid-template-columns: minmax(0,1fr); }
  body.mxw-visual-v1 .mxhm-app .mxwh-secsub { display: none; }
  body.mxw-visual-v1 .mxapps-left { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  body.mxw-visual-v1 .mxapp-row { display: grid; grid-template-columns: 24px minmax(0,1fr) 20px; gap: 14px 8px; padding: 0 0 20px; border: 1px solid var(--mx-line); border-radius: var(--mx-radius); overflow: hidden; }
  body.mxw-visual-v1 .mxapp-thumb { display: block; grid-column: 1/-1; grid-row: 1; height: 180px; width: 100%; margin: 0; }
  body.mxw-visual-v1 .mxapp-idx { margin-left: 12px; width: auto; }
  body.mxw-visual-v1 .mxapp-name { font-size: 18px; }
  body.mxw-visual-v1 .mxapp-arrow { display: block; padding-right: 10px; }
  body.mxw-visual-v1 .mxapp-sub { display: none; }
  body.mxw-visual-v1 #header .ct-container { width: calc(100% - 64px); }
  body.mxw-visual-v1:is(.blog, .archive) #main > .ct-container { width: calc(100% - 64px); }
}
@media (max-width: 767px) {
  body.mxw-visual-v1 { --mx-gutter: 20px; --mx-section-space: 56px; }
  body.mxw-visual-v1 .mxwh-sechead { margin-bottom: 28px; }
  body.mxw-visual-v1 :is(.mxwh-eyebrow, .mxpg-eyebrow) { font-size: 11px; letter-spacing: .12em; margin-bottom: 12px; }
  body.mxw-visual-v1 .mxwh-h2 { font-size: 28px; line-height: 1.4; }
  body.mxw-visual-v1 .mxhm-hero::before { background-position: 65% center; opacity: .6; }
  body.mxw-visual-v1 .mxhm-hero::after { background: linear-gradient(90deg, #071226f5, #0712269c); }
  body.mxw-visual-v1 .mxhm-hero-in { min-height: 0; padding-block: 64px; }
  body.mxw-visual-v1 .mxhm-hero-eyebrow { font-size: 10px; letter-spacing: .05em; gap: 10px; margin-bottom: 24px; }
  body.mxw-visual-v1 .mxhm-hero-eyebrow::before { width: 20px; }
  body.mxw-visual-v1 .mxhm-hero-h1 { font-size: clamp(32px, 8.8vw, 44px); line-height: 1.25; letter-spacing: -.025em; }
  body.mxw-visual-v1 .mxhm-hero-p { font-size: 16px; line-height: 1.85; margin-bottom: 28px; }
  body.mxw-visual-v1 .mxhm-hero-btns { gap: 12px; }
  body.mxw-visual-v1 .mxhm-hero-btns > a { flex: 1; padding-inline: 12px; white-space: nowrap; }
  body.mxw-visual-v1 .mxhm-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.mxw-visual-v1 .mxpg-stat { padding: 22px 20px; }
  body.mxw-visual-v1 .mxpg-stat:nth-child(2n+1) { border-left: 0; }
  body.mxw-visual-v1 .mxpg-stat:nth-child(n+3) { border-top: 1px solid var(--mx-line); }
  body.mxw-visual-v1 .mxpg-stat-num { font-size: 30px; }
  body.mxw-visual-v1 .mxpg-stat-unit { font-size: 14px; }
  body.mxw-visual-v1 :is(.mxcards, .mxpg-grid, .mxpg-supp-grid, .mxcards--4, .mxhm-biz .mxcards) { grid-template-columns: minmax(0,1fr); gap: 16px; }
  body.mxw-visual-v1 :is(.mxcard, .mxpg-pcard, .mxpg-supp-card, .mxsp-step, .mxab-adv-item) { padding: 26px 24px; }
  body.mxw-visual-v1 :is(.mxcard-t, .mxpg-pcard-title) { font-size: 20px; }
  body.mxw-visual-v1 .mxapps-left { grid-template-columns: minmax(0,1fr); gap: 20px; }
  body.mxw-visual-v1 .mxapp-thumb { height: 190px; }
  body.mxw-visual-v1 .mxhm-about-h2 { font-size: 28px; }
  body.mxw-visual-v1.home :is(.mxhm-prod, .mxhm-app, .mxhm-news) .mxwh-h2 { font-size: 28px; }
  body.mxw-visual-v1 .mxfact { padding: 16px 14px; }
  body.mxw-visual-v1 .mxfact-v { font-size: 16px; }
  body.mxw-visual-v1 .mxnews-item { grid-template-columns: minmax(0,1fr) 24px; gap: 10px; padding: 24px 0; }
  body.mxw-visual-v1 .mxnews-date { grid-column: 1/-1; }
  body.mxw-visual-v1 .mxnews-t { font-size: 17px; }
  body.mxw-visual-v1 .mxpg-hero { padding-block: 40px 48px; }
  body.mxw-visual-v1 .mxpg-h1 { font-size: 32px; line-height: 1.4; }
  body.mxw-visual-v1 .mxpg-hero-no { font-size: 80px; bottom: 12px; right: 20px; opacity: .25; }
  body.mxw-visual-v1 .mxpd-specbox { padding: 16px 12px; }
  body.mxw-visual-v1 .mxpd-specbox::before { content: "左右滑动查看系列与完整参数 →"; display: block; margin-bottom: 16px; color: var(--mx-gray-600); font: 400 12px/1.6 var(--mx-sans); }
  body.mxw-visual-v1 .mxpd-specbox .t-panel-container { padding: 16px 0 !important; }
  body.mxw-visual-v1 .mxpd-specbox .gspb-tabs > .t-btn-container { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; gap: 8px; scroll-snap-type: x proximity; }
  body.mxw-visual-v1 .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn { white-space: nowrap; scroll-snap-align: start; }
  body.mxw-visual-v1 table.ninja_footable { font-size: 13px; }
  body.mxw-visual-v1 table.ninja_footable :is(th, td) { padding: 11px 8px; }
  body.mxw-visual-v1 .mxwh-cta { padding-block: 48px; }
  body.mxw-visual-v1 .mxwh-cta-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; }
  body.mxw-visual-v1 .mxwh-cta-btn { width: 100%; }
  body.mxw-visual-v1 #header .ct-container { width: calc(100% - 40px); }
  body.mxw-visual-v1 #header .site-logo-container img { max-width: 190px; }
  body.mxw-visual-v1:is(.blog, .archive) #main > .hero-section { padding-block: 40px 48px; }
  body.mxw-visual-v1:is(.blog, .archive) .hero-section .page-title { font-size: 32px; }
  body.mxw-visual-v1:is(.blog, .archive) #main > .ct-container { width: calc(100% - 40px); }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.mxw-visual-v1 .mx-company-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat:nth-child(2n+1) { border-left: 0; }
  body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat:nth-child(n+3) { border-top: 1px solid var(--mx-line); }
}
@media (max-width: 767px) {
  body.mxw-visual-v1 .mx-company-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat { padding: 22px 20px; }
  body.mxw-visual-v1.home .mxhm-stats > .mxpg-stat { text-align: left; }
  body.mxw-visual-v1.home .mxhm-stats .mxpg-stat-num { justify-content: flex-start; }
  body.mxw-visual-v1.home .mxhm-stats .mxpg-stat-label { text-align: left; }
  body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat:nth-child(2n+1) { border-left: 0; }
  body.mxw-visual-v1 .mx-company-metrics > .mxpg-stat:nth-child(n+3) { border-top: 1px solid var(--mx-line); }
}
@media (prefers-reduced-motion: reduce) {
  body.mxw-visual-v1 .mxticker-track { animation: none; }
  body.mxw-visual-v1 .mxwh-sec *, body.mxw-visual-v1 .mxwh-sec *::before { transition: none !important; scroll-behavior: auto !important; }
  body.mxw-visual-v1 :is(.mxcard, .mxpg-pcard, .mxpg-supp-card, .mxapp-name):hover { transform: none; }
}

/* Temporary artwork slots: one neutral dark gray across all staging banners.
 * Original upload assets are retained for the design team's replacement work.
 */
body.mxw-visual-v1 { --mx-banner-placeholder: #303238; }
body.mxw-visual-v1 .mxhm-hero { background: var(--mx-banner-placeholder); }
body.mxw-visual-v1 .mxhm-hero::before,
body.mxw-visual-v1 .mxhm-hero::after { display: none; background: none; }
body.mxw-visual-v1 .mxhm-carousel { position: relative; background: var(--mx-banner-placeholder); }
body.mxw-visual-v1 .mxhm-carousel-stage { display: grid; isolation: isolate; touch-action: pan-y pinch-zoom; }
body.mxw-visual-v1 .mxhm-slide { grid-area: 1 / 1; min-width: 0; position: relative; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .45s ease, visibility .45s; }
body.mxw-visual-v1 .mxhm-slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; z-index: 1; }
body.mxw-visual-v1 .mxhm-slide-media { position: absolute; inset: 0; z-index: 0; background: var(--mx-banner-placeholder); }
body.mxw-visual-v1 .mxhm-slide--product .mxhm-hero-in::before { content: ""; display: block; height: 45.2px; }
body.mxw-visual-v1 .mxhm-carousel .mxhm-hero-h1 { max-width: none; }
/* Product slides only: 65% of the existing responsive banner title size. */
body.mxw-visual-v1.home .mxhm-slide--product .mxhm-hero-h1 { font-size: clamp(26px, 2.925vw, 41.6px); }
body.mxw-visual-v1 .mxhm-carousel .mxhm-hero-btns { display: flex; }
body.mxw-visual-v1 .mxhm-carousel .mxhm-hero-btns > a { flex: 0 1 auto; min-width: 136px; }
body.mxw-visual-v1 .mxhm-carousel-controls { display: none; position: absolute; z-index: 3; left: 50%; bottom: 24px; transform: translateX(-50%); align-items: center; justify-content: center; gap: 10px; }
body.mxw-visual-v1 .mxhm-carousel.is-ready .mxhm-carousel-controls { display: flex; }
body.mxw-visual-v1 .mxhm-carousel-controls button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 40px; min-height: 40px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: transparent; box-shadow: none; font: 500 14px/1 var(--mx-sans); cursor: pointer; }
body.mxw-visual-v1 .mxhm-carousel-controls button:hover { background: #ffffff1a; }
body.mxw-visual-v1 .mxhm-carousel-controls button:focus-visible { outline-color: #99bff0; outline-offset: 2px; }
body.mxw-visual-v1 .mxhm-carousel-controls svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
body.mxw-visual-v1 .mxhm-carousel-dots { display: flex; align-items: center; gap: 0; }
body.mxw-visual-v1 .mxhm-carousel-dots button { position: relative; width: 28px; min-width: 28px; height: 40px; border: 0; border-radius: 4px; }
body.mxw-visual-v1 .mxhm-carousel-dots button::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ffffff66; transition: background .2s, transform .2s; }
body.mxw-visual-v1 .mxhm-carousel-dots button[aria-current="true"]::before { background: #fff; transform: scale(1.4); }
body.mxw-visual-v1 .mxhm-carousel-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* The application image switcher is a separate homepage carousel. */
body.mxw-visual-v1.home :is(.mxapps-visual, .mxshot, .mxapp-thumb) { background: var(--mx-banner-placeholder); }
body.mxw-visual-v1.home .mxshot::after { display: none; }
/* Company image placeholder matches the desktop application image slot. */
body.mxw-visual-v1.home .mxhm-about-imgwrap { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; background: var(--mx-banner-placeholder); overflow: hidden; }
body.mxw-visual-v1.home .mxhm-about-img { display: none; }
@media (min-width: 1101px) {
  body.mxw-visual-v1.home .mxhm-about-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 48px; align-items: start; row-gap: 0; }
  body.mxw-visual-v1.home .mxhm-about-grid > div:not(.mxhm-about-imgwrap) { display: contents; }
  body.mxw-visual-v1.home .mxhm-about-grid > div:not(.mxhm-about-imgwrap) > * { grid-area: auto / 2; }
  body.mxw-visual-v1.home .mxhm-about-imgwrap { grid-column: 1; grid-row: 3 / span 4; align-self: start; }
  body.mxw-visual-v1.home .mxhm-about-btn { justify-self: start; }
}
/* Standard category/company/support headers. */
body.mxw-visual-v1 .mxpg-hero { background: var(--mx-banner-placeholder); color: #d0d9e8; }
body.mxw-visual-v1 .mxpg-hero::before { display: none; background: none; }
body.mxw-visual-v1 .mxpg-hero .mxpg-h1 { color: #fff; }
body.mxw-visual-v1 .mxpg-hero .mxpg-sub,
body.mxw-visual-v1 .mxpg-hero .mxpg-crumb,
body.mxw-visual-v1 .mxpg-hero .mxpg-crumb a { color: #d0d9e8; }
body.mxw-visual-v1 .mxpg-hero .mxpg-eyebrow,
body.mxw-visual-v1 .mxpg-hero .mxpg-crumb a:hover { color: #99bff0; }
body.mxw-visual-v1 .mxpg-hero .mxpg-hero-no { color: #ffffff22; }
/* Native news/search/archive banners, including featured-image headers. */
body.mxw-visual-v1 #main .hero-section { background: var(--mx-banner-placeholder) !important; --theme-heading-color: #fff; --theme-text-color: #d0d9e8; }
body.mxw-visual-v1 #main .hero-section > figure { display: none; }
body.mxw-visual-v1 #main .hero-section::before,
body.mxw-visual-v1 #main .hero-section::after { display: none; background: none; }
body.mxw-visual-v1 #main .hero-section .page-title { color: #fff; }
body.mxw-visual-v1 #main .hero-section :is(.ct-breadcrumbs, .ct-breadcrumbs a, .entry-meta, .entry-meta a, .page-description) { color: #d0d9e8; }
body.mxw-visual-v1 #main .hero-section a:hover { color: #99bff0; }
body.mxw-visual-v1 #main .hero-section .meta-categories[data-type="pill"] a { background: #ffffff14; color: #fff; border-color: #ffffff40; }
/* Shared product-model template: only its top banner, not specifications. */
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587 { background: var(--mx-banner-placeholder) !important; color: #d0d9e8; }
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587::before,
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587::after { display: none; background: none; }
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587 h1 { color: #fff !important; }
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587 :is(p, strong, .gspb_text, .gspb-breadcrumbs, .gspb-breadcrumbs a) { color: #d0d9e8; }
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587 .gspb-breadcrumbs a:hover { color: #99bff0; }
body.mxw-visual-v1.single-products #gspb_row-id-gsbp-19cf587 .gspb_image { visibility: hidden; }
@media (max-width: 767px) {
  body.mxw-visual-v1 .mxhm-slide .mxhm-hero-in { padding-bottom: 104px; }
  body.mxw-visual-v1.home .mxhm-slide--product .mxhm-hero-h1 { font-size: clamp(20.8px, 5.72vw, 28.6px); }
  body.mxw-visual-v1 .mxhm-slide--product .mxhm-hero-in::before { height: 40px; }
  body.mxw-visual-v1 .mxhm-carousel-controls { bottom: 24px; gap: 4px; }
  body.mxw-visual-v1 .mxhm-carousel-dots button { width: 23px; min-width: 23px; }
}
@media (max-width: 359px) {
  body.mxw-visual-v1 .mxhm-carousel-dots button { width: 20px; min-width: 20px; }
}

/* Uniform inner-page banners; homepage carousel typography remains untouched. */
body.mxw-visual-v1:not(.home) {
  --mx-inner-banner-height: 400px;
  --mx-inner-banner-content-top: 80px;
  --mx-inner-banner-title-size: clamp(26px, 2.925vw, 41.6px);
  --mx-inner-banner-title-leading: 1.2;
  --mx-inner-banner-copy-size: 17px;
  --mx-inner-banner-copy-leading: 1.9;
}
body.mxw-visual-v1:not(.home) #main :is(.mxpg-hero, .hero-section, #gspb_row-id-gsbp-19cf587) {
  display: flex; align-items: flex-start; height: var(--mx-inner-banner-height); min-height: var(--mx-inner-banner-height);
  padding: var(--mx-inner-banner-content-top) 0 0; margin-block: 0; text-align: left;
}
body.mxw-visual-v1:not(.home) #main .mxpg-hero > .mxwh-wrap {
  width: 100%; padding-block: 0;
}
body.mxw-visual-v1:not(.home) #main .hero-section > .entry-header {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0;
  width: 100%; max-width: 1280px; height: auto; min-height: 0; margin-block: 0; padding: 0 var(--mx-gutter); text-align: left;
}
body.mxw-visual-v1:not(.home) #main :is(.mxpg-hero, .hero-section, #gspb_row-id-gsbp-19cf587) h1 {
  max-width: 100%; margin: 0 0 24px; font-family: var(--mx-sans); font-size: var(--mx-inner-banner-title-size);
  font-weight: 700; line-height: var(--mx-inner-banner-title-leading); letter-spacing: -.025em; text-align: left;
}
body.mxw-visual-v1:not(.home) #main .mxpg-hero .mxpg-sub,
body.mxw-visual-v1:not(.home) #main .hero-section .page-description,
body.mxw-visual-v1:not(.home) #main .hero-section .page-description p,
body.mxw-visual-v1:not(.home) #gspb_row-id-gsbp-19cf587 :is(#gspb_text-id-gsbp-c25d791, #gspb_text-id-gsbp-fadc984) {
  font-size: var(--mx-inner-banner-copy-size); line-height: var(--mx-inner-banner-copy-leading); margin-block: 0;
}
body.mxw-visual-v1:not(.home) #main .hero-section .ct-breadcrumbs {
  order: -1; margin: 0 0 24px;
}
body.mxw-visual-v1:not(.home) #main .hero-section .entry-meta {
  justify-content: flex-start; margin: 0; font: 500 12px/1.6 var(--mx-sans);
}
body.mxw-visual-v1:not(.home) #main .hero-section .entry-meta + h1 { margin-top: 16px; }
body.mxw-visual-v1:not(.home) #gspb_row-id-gsbp-19cf587 > .gspb_row__content {
  width: 100%; max-width: 1280px; height: auto; min-height: 0; margin: 0 auto; padding: 0 var(--mx-gutter); gap: 0; align-items: flex-start;
}
body.mxw-visual-v1:not(.home) #gspb_row-id-gsbp-19cf587 #gspb_col-id-gsbp-dd83ef0 {
  flex: 0 0 100%; width: 100%; max-width: 100%; min-height: 0; padding: 0;
}
/* Its image is already a hidden placeholder: remove its empty layout footprint. */
body.mxw-visual-v1:not(.home) #gspb_row-id-gsbp-19cf587 #gspb_col-id-gsbp-2e1555e { display: none; }
body.mxw-visual-v1:not(.home) #gspb_row-id-gsbp-19cf587 .gspb-breadcrumbs { margin: 0 0 18px; }
body.mxw-visual-v1:not(.home) #gspb_row-id-gsbp-19cf587 #gspb_text-id-gsbp-c25d791 { margin-bottom: 8px; }
@media (min-width: 768px) and (max-width: 1100px) {
  body.mxw-visual-v1:not(.home) { --mx-inner-banner-height: 360px; --mx-inner-banner-content-top: 64px; }
}
@media (max-width: 767px) {
  body.mxw-visual-v1:not(.home) {
    --mx-inner-banner-height: 320px;
    --mx-inner-banner-content-top: 40px;
    --mx-inner-banner-title-size: clamp(20.8px, 5.72vw, 28.6px);
    --mx-inner-banner-title-leading: 1.25;
    --mx-inner-banner-copy-size: 16px;
    --mx-inner-banner-copy-leading: 1.85;
  }
}

/* One breadcrumb type scale, including nested theme/plugin text wrappers. */
body.mxw-visual-v1:not(.home) #main :is(.mxpg-crumb, .ct-breadcrumbs, .gspb-breadcrumbs) {
  font: 400 13px/1.8 var(--mx-sans); letter-spacing: normal; text-transform: none;
}
body.mxw-visual-v1:not(.home) #main :is(.mxpg-crumb, .ct-breadcrumbs, .gspb-breadcrumbs) :is(a, span, em, strong, b) {
  font: inherit; letter-spacing: inherit; text-transform: inherit;
}

/* Chinese type hierarchy: preserve approved sizes; use real variable weights. */
body.mxw-visual-v1 { font-size: 16px; font-weight: var(--mx-weight-regular); line-height: 1.8; }
body.mxw-visual-v1 #main :is(.mxcard-t, .mxpg-pcard-title, .mxpg-supp-title, .mxab-adv-title, .mxsp-step-title, .mxapp-name) { font-weight: var(--mx-weight-semibold); }
body.mxw-visual-v1 #main :is(.mxhm-about-p, .mxab-p, .mxpd-p, .mxcard-d, .mxpg-pcard-desc, .mxpg-supp-desc, .mxab-adv-p, .mxsp-step-p, .mxsp-q-a) { font-weight: var(--mx-weight-regular); }
body.mxw-visual-v1 #main :is(.mxhm-hero-h1, .mxwh-h2, .mxhm-about-h2, .mxpg-h1) { font-weight: var(--mx-weight-bold); }
body.mxw-visual-v1.single-post #main .entry-content :is(p, li) { font-size: 16px; font-weight: var(--mx-weight-regular); line-height: 1.9; }
body.mxw-visual-v1.single-post #main .entry-content :is(strong, b) { font-weight: var(--mx-weight-semibold); }
body.mxw-visual-v1.single-post #main .entry-content > :is(h2, h3, h4) { font-family: var(--mx-sans); font-weight: var(--mx-weight-bold); line-height: 1.45; }
body.mxw-visual-v1.single-post #main .entry-content > h2 { font-size: 28px; }
body.mxw-visual-v1.single-post #main .entry-content > h3 { font-size: 24px; }
body.mxw-visual-v1.single-post #main .entry-content > h4 { font-size: 20px; }
@media (max-width: 767px) {
  body.mxw-visual-v1.single-post #main .entry-content > h2 { font-size: 24px; }
  body.mxw-visual-v1.single-post #main .entry-content > h3 { font-size: 21px; }
  body.mxw-visual-v1.single-post #main .entry-content > h4 { font-size: 18px; }
}

/* Legacy quote widgets and map text overlays have independent font stacks. */
body.mxw-visual-v1 :is(.wp-block-pullquote, .wp-block-quote, blockquote),
body.mxw-visual-v1 :is(.wp-block-pullquote, .wp-block-quote, blockquote) :is(p, cite) { font-family: var(--mx-sans); }
body.mxw-visual-v1 :is(.wp-block-pullquote, .wp-block-quote, blockquote) cite { font-style: normal; font-weight: var(--mx-weight-regular); }
body.mxw-visual-v1 #mxw-map .BMap_cpyCtrl :is(span, a),
body.mxw-visual-v1 #mxw-map .BMap_scaleTxt { font-family: var(--mx-sans); }

/* Smaller descriptive copy; headings, controls, metrics and data tables stay unchanged. */
body.mxw-visual-v1 #main :is(.mxhm-about-p, .mxab-p, .mxpd-p, .mxwh-secsub, .mxwh-cta-p),
body.mxw-visual-v1 #main .entry-content :is(p.wp-block-paragraph, li.wp-block-list-item) {
  font-size: 15px;
}
body.mxw-visual-v1.single-post #main .entry-content :is(p, li) {
  font-size: 15px;
  line-height: 1.9;
}
body.mxw-visual-v1 #main :is(.mxcard-d, .mxpg-pcard-desc, .mxpg-supp-desc, .mxab-adv-p, .mxsp-step-p, .mxsp-q-a),
body.mxw-visual-v1:is(.blog, .archive) #main .entry-card .entry-excerpt {
  font-size: 14px;
}
body.mxw-visual-v1.home #main .mxhm-hero-p { font-size: 16px; }
body.mxw-visual-v1:not(.home) { --mx-inner-banner-copy-size: 16px; }
@media (max-width: 767px) {
  body.mxw-visual-v1 #main :is(.mxcard-d, .mxpg-pcard-desc, .mxpg-supp-desc, .mxab-adv-p, .mxsp-step-p, .mxsp-q-a),
  body.mxw-visual-v1:is(.blog, .archive) #main .entry-card .entry-excerpt,
  body.mxw-visual-v1.home #main .mxhm-hero-p { font-size: 15px; }
  body.mxw-visual-v1:not(.home) { --mx-inner-banner-copy-size: 15px; }
}

/* The mobile navigation drawer has no duplicate logo; keep the page-header logo. */
body.mxw-visual-v1 #offcanvas [data-id="offcanvas-logo"] { display: none; }

/* Phone application cards: picture above a borderless light content area. */
@media (max-width: 767px) {
  body.mxw-visual-v1.home #main .mxhm-app .mxapp-row,
  body.mxw-visual-v1.home #main .mxhm-app .mxapp-row:hover {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-rows: auto auto;
    gap: 0;
    padding: 0;
    border: 0;
    background: var(--mx-bg);
    box-shadow: none;
  }
  body.mxw-visual-v1.home #main .mxhm-app .mxapp-thumb {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: 190px;
    margin: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
  }
  body.mxw-visual-v1.home #main .mxhm-app .mxapp-name {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    padding: 18px 0 18px 20px;
  }
  body.mxw-visual-v1.home #main .mxhm-app .mxapp-arrow {
    display: flex;
    grid-column: 2;
    grid-row: 2;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    padding: 0 12px 0 0;
  }
}

/* One sharp right chevron, inheriting each existing control's text color. */
body.mxw-visual-v1 svg.mxw-chevron {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  vertical-align: -.125em;
  color: inherit;
  fill: none;
}
body.mxw-visual-v1 svg.mxw-chevron path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: butt;
  stroke-linejoin: miter;
}
body.mxw-visual-v1 .mxw-spec-hint { display: none; }
@media (max-width: 767px) {
  body.mxw-visual-v1 .mxpd-specbox::before { content: none; display: none; }
  body.mxw-visual-v1 .mxw-spec-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    color: var(--mx-gray-600);
    font: 400 12px/1.6 var(--mx-sans);
  }
}

/* Wider phone gutters; retain full-width backgrounds and all larger breakpoints. */
@media (max-width: 767px) {
  body.mxw-visual-v1 { --mx-gutter: 28px; }
  body.mxw-visual-v1 #header .ct-container,
  body.mxw-visual-v1:is(.blog, .archive, .single-post) #main > .ct-container {
    width: calc(100% - var(--mx-gutter) * 2);
  }
  body.mxw-visual-v1.single-products #main .ct-container-full > article > .entry-content > .gspb_row:not(.alignfull) {
    width: calc(100% - var(--mx-gutter) * 2);
    margin-inline: auto;
  }
  /* Outer edges align to 28px, while the two-column figures keep their usable width. */
  body.mxw-visual-v1.home .mxhm-stats > .mxpg-stat:nth-child(odd) {
    padding-left: var(--mx-gutter);
    padding-right: calc(40px - var(--mx-gutter));
  }
  body.mxw-visual-v1.home .mxhm-stats > .mxpg-stat:nth-child(even) {
    padding-left: calc(40px - var(--mx-gutter));
    padding-right: var(--mx-gutter);
  }
}

/* Phone navigation has its own compact gutter, independent of page content. */
@media (max-width: 767px) {
  body.mxw-visual-v1 #header .ct-container { width: calc(100% - 40px); }
  body.mxw-visual-v1 #header [data-device="mobile"] [data-id="logo"] { margin-left: 0; }
  body.mxw-visual-v1 #header [data-device="mobile"] [data-id="trigger"] { margin-right: 0; }
}

/* Highlight the core figures; units share the captions' size and colour. */
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-value { color: var(--mx-blue-600); }
body.mxw-visual-v1 .mx-company-metrics :is(.mxpg-stat-unit, .mxpg-stat-label) {
  color: var(--mx-gray-600);
  font-size: 13px;
}
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-unit { font-weight: 400; }

/* Phone shortcuts retain their labels, links and touch areas without icons. */
@media (max-width: 767px) {
  body.mxw-visual-v1 .ct-shortcuts-bar .ct-icon-container { display: none; }
  body.mxw-visual-v1 .ct-shortcuts-bar .ct-label { margin: 0; }
}

/* A lighter, more spacious phone navigation drawer. */
@media (max-width: 767px) {
  body.mxw-visual-v1 #offcanvas .ct-panel-inner {
    background-color: #fff;
    box-shadow: -4px 0 12px -4px rgba(11, 25, 48, .12);
  }
  body.mxw-visual-v1 #offcanvas .mobile-menu .ct-menu-link {
    font-weight: 400;
    line-height: 1.8;
    padding-block: 12px;
  }
  body.mxw-visual-v1 #offcanvas .mobile-menu .sub-menu .ct-menu-link { padding-block: 10px; }
  body.mxw-visual-v1 #offcanvas [data-id="socials"] { display: none; }
  body.mxw-visual-v1 .ct-shortcuts-bar-items { box-shadow: 0 -2px 6px rgba(11, 25, 48, .06); }
}

/* Approved desktop-only heading scale; preserve tablet and phone typography. */
@media (min-width: 1101px) {
  body.mxw-visual-v1:not(.home) { --mx-inner-banner-title-size: 40px; }
  body.mxw-visual-v1.home .mxhm-slide--product .mxhm-hero-h1 { font-size: 40px; }
  body.mxw-visual-v1:not(.home) #main .mxwh-h2 { font-size: 32px; }
  body.mxw-visual-v1 #main :is(.mxcard-t, .mxpg-pcard-title, .mxpg-supp-title, .mxab-adv-title, .mxsp-step-title, .mxapp-name) { font-size: 18px; }
  body.mxw-visual-v1:is(.blog, .archive) #main .entry-card .entry-title { font-size: 18px; }
  body.mxw-visual-v1 #main .mxsp-q-t { font-size: 18px; }
}

/* Product-category introductions: top-aligned copy and uniform 16:9 placeholders. */
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-intro-grid { align-items: start; }
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-intro-left > .mxwh-eyebrow { margin-top: 0; }
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-intro-right {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  align-self: start;
  overflow: hidden;
  border-radius: var(--mx-radius);
  background: var(--mx-banner-placeholder);
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-intro-right > .mxpd-img { display: none; }

/* Align the desktop placeholder with the first introduction paragraph. */
@media (min-width: 1101px) {
  body.mxw-visual-v1.parent-pageid-738 #main .mxpd-intro-right {
    /* Eyebrow line + gap + 32px heading line + heading bottom margin. */
    margin-top: calc(19.2px + 14px + 43.2px + 19.6px);
  }
}

/* Revised alignment: the Chinese introduction heading, not the body copy. */
@media (min-width: 1101px) {
  body.mxw-visual-v1.parent-pageid-738 #main .mxpd-intro-right {
    /* Eyebrow line height plus its bottom gap. */
    margin-top: calc(19.2px + 14px);
  }
}

/* LED display selection table: structural placeholder only, no invented specifications. */
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-pending {
  background: #fff;
  border: 1px solid var(--mx-line);
}
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-scroll { overflow-x: auto; }
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-scroll:focus-visible {
  outline: 3px solid var(--mx-blue-600);
  outline-offset: 3px;
}
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder {
  width: 100%; min-width: 720px; margin: 0; table-layout: fixed;
  border: 0; border-collapse: collapse;
  font: 400 14px/1.65 var(--mx-sans);
}
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder caption {
  position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder :is(th, td) {
  padding: 14px 16px; text-align: left; vertical-align: middle;
  border: 0; border-bottom: 1px solid #e1e7ef;
}
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder th {
  background: #eef3f9; color: #193d6b; font-weight: 600;
}
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder th:first-child { width: 22%; }
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder td { color: var(--mx-gray-400); }
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder tbody tr:nth-child(even) { background: #f7f9fc; }
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-placeholder tbody tr:last-child td { border-bottom: 0; }
body.mxw-visual-v1.page-id-1156 #main .mxw-selection-note {
  margin: 16px 0 0; color: var(--mx-gray-600); font-size: 13px; line-height: 1.8;
}

/* Colorful LED selection: text tabs, white tables and compact matching insets. */
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox {
  --mx-selection-inset: 16px;
  padding: 28px var(--mx-selection-inset) var(--mx-selection-inset);
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .gspb-tabs > .t-btn-container {
  gap: 28px;
  margin: 0 !important;
  padding: 0 0 17px;
  border: 0;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--mx-gray-600);
  font: 600 16px/1.5 var(--mx-sans);
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn:is(.active, :hover) {
  color: var(--mx-blue-600);
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .t-panel-container { margin: 0; padding: 0 !important; }
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105),
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) :is(thead, tbody, tfoot, tr, th, td) {
  background: #fff !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105),
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) tfoot,
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) tfoot :is(tr, td) {
  border-bottom: 0 !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .pagination > li > a { background: #fff !important; }
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .pagination > li.active > a {
  color: var(--mx-blue-600) !important;
  font-weight: 600;
}
@media (max-width: 767px) {
  body.mxw-visual-v1.page-id-925 #main .mxpd-specbox {
    --mx-selection-inset: 8px;
    padding-top: 16px;
  }
}

/* Colorful selection follow-up: borderless white panel/pagination, single-line cells. */
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox { border: 0; box-shadow: none; }
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(.pagination, .pagination > li, .pagination > li > a) {
  border: 0 !important;
  box-shadow: none !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) :is(th, td, th a, td a) {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Align category labels with first-column text; unify existing horizontal rules. */
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox { --mx-selection-text-inset: 12px; }
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .gspb-tabs > .t-btn-container {
  padding-left: var(--mx-selection-text-inset);
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) :is(th, td):first-child {
  padding-left: var(--mx-selection-text-inset) !important;
  text-align: left !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) .footable-toggle {
  /* Keep responsive row expansion, without shifting the product text. */
  float: right;
  margin: 0 0 0 12px !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105),
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) :is(thead, tbody, tfoot, tr, th, td) {
  /* Preserve border styles: previously removed edges remain border-style: none. */
  border-top-width: 1px !important;
  border-bottom-width: 1px !important;
  border-top-color: var(--mx-line) !important;
  border-bottom-color: var(--mx-line) !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) tfoot :is(tr, td) {
  /* The last data row already draws this divider; do not double its weight. */
  border-top: 0 !important;
}

/* Colorful selection pagination: only previous/next and page numbers, centered. */
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .pagination > li:is([data-page="first"], [data-page="last"]) {
  display: none !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .ninja_table_wrapper {
  container-type: inline-size;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox :is(#footable_1011, #footable_1105) tfoot tr td:first-child {
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .footable-pagination-wrapper {
  /* Center within the visible table width, including when the columns overflow. */
  position: sticky;
  left: 0;
  width: 100cqw;
  max-width: 100%;
  text-align: center;
}
body.mxw-visual-v1.page-id-925 #main .mxpd-specbox .pagination {
  display: inline-flex;
  justify-content: center;
  float: none;
}

/* Shared selection presentation for all six product-category pages. */
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox {
  --mx-selection-inset: 16px;
  --mx-selection-text-inset: 12px;
  padding: 28px var(--mx-selection-inset) var(--mx-selection-inset);
  border: 0;
  background: #fff;
  box-shadow: none;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .gspb-tabs > .t-btn-container {
  gap: 28px;
  margin: 0 !important;
  padding: 0 0 17px var(--mx-selection-text-inset);
  border: 0;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--mx-gray-600);
  font: 600 16px/1.5 var(--mx-sans);
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .gspb-tabs > .t-btn-container > .t-btn:is(.active, :hover) {
  color: var(--mx-blue-600);
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .t-panel-container { margin: 0; padding: 0 !important; }
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(.ninja_table_wrapper, .mxw-selection-scroll) {
  max-width: 100%;
  overflow-x: auto;
  container-type: inline-size;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder),
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) :is(thead, tbody, tfoot, tr, th, td) {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) {
  border-top: 1px solid var(--mx-line) !important;
  font-family: var(--mx-sans);
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) :is(th, td, th a, td a) {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) > thead > tr > th {
  border-bottom: 1px solid var(--mx-line) !important;
  padding: 14px 12px !important;
  color: #193d6b !important;
  font: 600 14px/20px var(--mx-sans);
  text-align: center;
  vertical-align: middle;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) > tbody > tr > td {
  padding: 11px !important;
  color: #34445a !important;
  font: 400 14px/20px var(--mx-sans);
  text-align: center;
  vertical-align: middle;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) > tbody > tr + tr > td {
  border-top: 1px solid var(--mx-line) !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) > tbody > tr:last-child > td {
  border-bottom: 1px solid var(--mx-line) !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) > :is(thead, tbody) > tr > :is(th, td):first-child {
  padding-left: var(--mx-selection-text-inset) !important;
  text-align: left !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .footable-toggle { float: right; margin: 0 0 0 12px !important; }
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .footable_title {
  margin: 0 0 17px;
  padding: 10px 0 10px var(--mx-selection-text-inset);
  min-height: 44px;
  font: 600 16px/1.5 var(--mx-sans);
  color: var(--mx-gray-600);
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(.pagination, .pagination > li, .pagination > li > a) {
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .pagination > li.active > a { color: var(--mx-blue-600) !important; font-weight: 600; }
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .pagination > li:is([data-page="first"], [data-page="last"]) { display: none !important; }
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox :is(#footable_1143, #footable_1148, #footable_2082, #footable_2085, #footable_2087, #footable_2106, .mxw-selection-placeholder) > tfoot > tr > td {
  padding: 11px 0 !important;
  text-align: center !important;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .footable-pagination-wrapper {
  position: sticky;
  left: 0;
  width: 100cqw;
  max-width: 100%;
  text-align: center;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox .pagination { display: inline-flex; justify-content: center; float: none; }
@media (max-width: 767px) {
  body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox { --mx-selection-inset: 8px; padding-top: 16px; }
}

/* Double the side/bottom breathing room, preserving the established tab-row height. */
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox {
  --mx-selection-inset: 32px;
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox:not(:has(.t-btn-container, .footable_title)) > :is(.ninja_table_wrapper, .mxw-selection-scroll) {
  /* Reserve the same 44px label row plus 17px gap, without moving the phone hint. */
  padding-top: 61px;
}
@media (max-width: 767px) {
  body.mxw-visual-v1.parent-pageid-738 #main .mxpd-specbox { --mx-selection-inset: 16px; }
}

/* Full-width surface transitions: no section perimeter, keep nested component borders. */
body.mxw-visual-v1 #main .mxwh-sec,
body.mxw-visual-v1 #main > .hero-section {
  border: 0;
}

/* Product selection and related-product headings share half their former content gap. */
body.mxw-visual-v1.parent-pageid-738 #main :is(.mxpd-spec, .mxpd-rel) .mxwh-sechead {
  margin-bottom: 20px;
}
body.mxw-visual-v1.parent-pageid-738 #main :is(.mxpd-spec, .mxpd-rel) .mxwh-sechead > .mxwh-h2 {
  /* Half of the theme heading margin: .3em + 10px. */
  margin-block-end: calc(var(--has-theme-content-spacing, 1) * (.15em + 5px));
}
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-rel .mxpg-pcard,
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-rel .mxpg-pcard:hover {
  border: 0;
  background-color: var(--mx-white);
}
@media (max-width: 767px) {
  body.mxw-visual-v1.parent-pageid-738 #main :is(.mxpd-spec, .mxpd-rel) .mxwh-sechead { margin-bottom: 14px; }
}

/* Revised related-product surface: the site's light tone, not white. */
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-rel .mxpg-pcard,
body.mxw-visual-v1.parent-pageid-738 #main .mxpd-rel .mxpg-pcard:hover {
  background-color: var(--mx-bg);
}

/* News secondary navigation: a pure-white panel on every page. */
body.mxw-visual-v1 #header .menu-item-1200 > .sub-menu {
  background-color: var(--mx-white);
}

/* Phone shortcut bar: 70px -> 56px (80%), plus the device's bottom safe area. */
@media (max-width: 689.98px) {
  body.mxw-visual-v1 .ct-drawer-canvas[data-shortcuts-bar] {
    --shortcuts-bar-height: calc(56px + env(safe-area-inset-bottom, 0px));
  }
  body.mxw-visual-v1 .ct-shortcuts-bar-items {
    /* Keep a 44px link target within the 56px visible content area. */
    padding: 6px 7px calc(6px + env(safe-area-inset-bottom, 0px));
  }
  body.mxw-visual-v1 .ct-shortcuts-bar .ct-label {
    font-size: 14px;
    line-height: 1.2;
  }
}

/* Contact page: remove only the outer map-container frame. */
body.mxw-visual-v1.page-id-755 #main .mxct-mapbox {
  border: 0;
}

/* Contact map: keep the map surface flat without changing its content. */
body.mxw-visual-v1.page-id-755 #main #mxw-map {
  box-shadow: none;
}

/* Product contacts: six headerless rows above the existing contact cards. */
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts {
  max-width: 100%;
  margin-bottom: 40px;
  overflow-x: auto;
  background: var(--mx-white);
  border: 0;
  box-shadow: none;
}
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  border-collapse: collapse;
  border: 0;
  margin: 0;
}
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts :is(tbody, tr, td) {
  background: var(--mx-white);
  border: 0;
  box-shadow: none;
}
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts td {
  border-top: 1px solid var(--mx-line);
  padding: 18px 12px;
  font-family: var(--mx-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #34445a;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts tr:last-child > td {
  border-bottom: 1px solid var(--mx-line);
}
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts .mxct-contact-category { width: 28%; }
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts .mxct-contact-name { width: 17%; }
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts .mxct-contact-phone { width: 24%; }
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts .mxct-contact-email { width: 31%; }

/* Revised position: contacts table follows the cards, with a larger 60px gap. */
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts {
  margin-top: 60px;
  margin-bottom: 0;
}
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts td:first-child {
  padding-left: 24px;
}

/* About: 16:9 placeholder aligned to the actual prose row, not a fixed offset. */
body.mxw-visual-v1.page-id-753 #main .mxab-imgwrap {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: var(--mx-banner-placeholder, #303238);
  overflow: hidden;
}
body.mxw-visual-v1.page-id-753 #main .mxab-imgwrap .mxab-img { display: none; }
body.mxw-visual-v1.page-id-753 #main .mxab-credentials {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
body.mxw-visual-v1.page-id-753 #main .mxab-credential {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}
body.mxw-visual-v1.page-id-753 #main .mxab-credential-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 72px;
}
body.mxw-visual-v1.page-id-753 #main .mxab-credential-mark img {
  width: auto;
  max-width: 100%;
  height: 72px;
  object-fit: contain;
}
body.mxw-visual-v1.page-id-753 #main .mxab-credential-label {
  color: var(--mx-ink);
  font: 700 16px/1.65 var(--mx-sans);
}
@media (min-width: 1101px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-grid { align-items: start; row-gap: 0; }
  body.mxw-visual-v1.page-id-753 #main .mxab-left { display: contents; }
  body.mxw-visual-v1.page-id-753 #main .mxab-left > .mxwh-eyebrow { grid-area: 1 / 1; }
  body.mxw-visual-v1.page-id-753 #main .mxab-left > .mxwh-h2 { grid-area: 2 / 1; }
  body.mxw-visual-v1.page-id-753 #main .mxab-copy { grid-area: 3 / 1; }
  body.mxw-visual-v1.page-id-753 #main .mxab-right { grid-area: 3 / 2; align-self: start; }
}

/* User-supplied marks and the official Shenzhen source, recolored for test preview. */
body.mxw-visual-v1.page-id-753 #main .mxab-credential-mark svg {
  display: block;
  width: 82px;
  height: 72px;
  flex: none;
  overflow: hidden;
}

/* About: slightly smaller qualification marks, preserving label placement. */
body.mxw-visual-v1.page-id-753 #main .mxab-credential-mark svg {
  width: 69.7px;
  height: 61.2px;
}

/* About metrics: open top edge and centered separators at 80% height. */
body.mxw-visual-v1.page-id-753 #main .mxab-stats { border-top: 0; }
body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat {
  position: relative;
  border-left: 0;
}
body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat + .mxpg-stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  width: 1px;
  height: 80%;
  background: var(--mx-line);
  pointer-events: none;
}
@media (max-width: 1199px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:nth-child(odd)::before { display: none; }
}

/* About: reduce the white space below the metrics without moving the figures. */
body.mxw-visual-v1.page-id-753 #main .mxab-about {
  padding-bottom: calc(var(--mx-section-space) * 0.6666667);
}

/* About metrics: matching outer separators, including both rows on narrow screens. */
body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:first-child::before,
body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:nth-child(even)::after {
  content: "";
  display: block;
  position: absolute;
  top: 10%;
  width: 1px;
  height: 80%;
  background: var(--mx-line);
  pointer-events: none;
}
body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:first-child::before { left: 0; }
body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:nth-child(even)::after { right: 0; }
@media (min-width: 1200px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:nth-child(2)::after { display: none; }
}
@media (max-width: 1199px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-stats > .mxpg-stat:nth-child(odd)::before { display: block; }
}

/* About: alternate the remaining content sections after removing Core Business. */
body.mxw-visual-v1.page-id-753 #main .mxab-about,
body.mxw-visual-v1.page-id-753 #main .mxab-honor {
  background-color: var(--mx-white);
}
body.mxw-visual-v1.page-id-753 #main .mxab-adv {
  background-color: var(--mx-bg);
}

/* About honors: one horizontal row, three / two / one visible certificates. */
body.mxw-visual-v1.page-id-753 #main .mxab-honor-grid {
  --mx-honor-per-view: 3;
  display: flex;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
}
body.mxw-visual-v1.page-id-753 #main .mxab-honor-card {
  flex: 0 0 calc((100% - 48px) / 3);
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}
body.mxw-visual-v1.page-id-753 #main .mxab-honor-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
body.mxw-visual-v1.page-id-753 #main .mxab-honor-ready .mxab-honor-grid { scrollbar-width: none; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-ready .mxab-honor-grid::-webkit-scrollbar { display: none; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 28px; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-controls[hidden] { display: none; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-controls button {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0;
  border: 0; border-radius: 4px; background: transparent; color: var(--mx-blue-600); box-shadow: none; cursor: pointer;
}
body.mxw-visual-v1.page-id-753 #main .mxab-honor-controls button:hover { background: var(--mx-bg); }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-controls svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-dots { display: flex; align-items: center; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-dots button { width: 32px; min-width: 32px; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-dots button::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mx-line2); }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-dots button[aria-current="true"]::before { background: var(--mx-blue-600); transform: scale(1.4); }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-grid:focus-visible { outline: 2px solid var(--mx-blue-600); outline-offset: 3px; }
body.mxw-visual-v1.page-id-753 #main .mxab-honor-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1100px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-honor-grid { --mx-honor-per-view: 2; }
  body.mxw-visual-v1.page-id-753 #main .mxab-honor-card { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 767px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-honor-grid { --mx-honor-per-view: 1; }
  body.mxw-visual-v1.page-id-753 #main .mxab-honor-card { flex-basis: 100%; }
  body.mxw-visual-v1.page-id-753 #main .mxab-honor-controls { gap: 4px; margin-top: 20px; }
  body.mxw-visual-v1.page-id-753 #main .mxab-honor-dots button { width: 28px; min-width: 28px; }
}

/* Contact icons: equal 28px brand-blue tiles and 18px white pictograms.
   Keep the original accessible links/SVGs; never re-enable hidden mobile items.
   Blocksy contact rows have no type attribute, so match the two audited glyphs
   rather than relying on row order (address/map icons remain untouched). */
body.mxw-visual-v1 .ct-social-box [data-network="wechat"] {
  --mx-contact-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M13.5,6.8c0.2,0,0.5,0,0.7,0c-0.6-2.9-3.7-5-7.1-5C3.2,1.9,0,4.5,0,7.9c0,1.9,1.1,3.5,2.8,4.8l-0.7,2.1l2.5-1.2c0.9,0.2,1.6,0.4,2.5,0.4c0.2,0,0.4,0,0.7,0c-0.1-0.5-0.2-1-0.2-1.5C7.5,9.3,10.2,6.8,13.5,6.8zM9.7,4.9c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-1.1-0.4-1.1-0.9C8.7,5.2,9.2,4.9,9.7,4.9zM4.8,6.6c-0.5,0-1.1-0.4-1.1-0.9c0-0.5,0.5-0.9,1.1-0.9c0.5,0,0.9,0.4,0.9,0.9C5.7,6.3,5.3,6.6,4.8,6.6zM20,12.3c0-2.8-2.8-5.1-6-5.1c-3.4,0-6,2.3-6,5.1s2.6,5.1,6,5.1c0.7,0,1.4-0.2,2.1-0.4l1.9,1.1l-0.5-1.8C18.9,15.3,20,13.9,20,12.3zM12,11.4c-0.4,0-0.7-0.4-0.7-0.7c0-0.4,0.4-0.7,0.7-0.7c0.5,0,0.9,0.4,0.9,0.7C12.9,11.1,12.6,11.4,12,11.4zM15.9,11.4c-0.4,0-0.7-0.4-0.7-0.7c0-0.4,0.4-0.7,0.7-0.7c0.5,0,0.9,0.4,0.9,0.7C16.8,11.1,16.5,11.4,15.9,11.4z'/%3E%3C/svg%3E");
}
body.mxw-visual-v1 .ct-social-box [data-network="email"],
body.mxw-visual-v1 .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M12.8 2.2"]) {
  --mx-contact-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10,10.1L0,4.7C0.1,3.2,1.4,2,3,2h14c1.6,0,2.9,1.2,3,2.8L10,10.1zM10,11.8c-0.1,0-0.2,0-0.4-0.1L0,6.4V15c0,1.7,1.3,3,3,3h14c1.7,0,3-1.3,3-3V6.4l-9.6,5.2C10.2,11.7,10.1,11.8,10,11.8z'/%3E%3C/svg%3E");
}
body.mxw-visual-v1 .ct-social-box [data-network="phone"],
body.mxw-visual-v1 .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M12.3 15"]) {
  --mx-contact-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='3 3 18 18'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02z'/%3E%3C/svg%3E");
}
body.mxw-visual-v1 :is(
  .ct-social-box :is([data-network="wechat"], [data-network="email"], [data-network="phone"]) .ct-icon-container,
  .ct-contact-info-block .ct-icon-container:has(> svg > :is(path[d^="M12.8 2.2"], path[d^="M12.3 15"]))
) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: #005FD7;
  box-shadow: none;
  color: #FFFFFF;
}
body.mxw-visual-v1 :is(
  .ct-social-box :is([data-network="wechat"], [data-network="email"], [data-network="phone"]) .ct-icon-container,
  .ct-contact-info-block .ct-icon-container:has(> svg > :is(path[d^="M12.8 2.2"], path[d^="M12.3 15"]))
)::after {
  content: "";
  position: absolute;
  inset: 5px;
  width: 18px;
  height: 18px;
  background: #FFFFFF;
  -webkit-mask: var(--mx-contact-symbol) center / contain no-repeat;
  mask: var(--mx-contact-symbol) center / contain no-repeat;
  pointer-events: none;
}
body.mxw-visual-v1 :is(
  .ct-social-box :is([data-network="wechat"], [data-network="email"], [data-network="phone"]) .ct-icon-container,
  .ct-contact-info-block .ct-icon-container:has(> svg > :is(path[d^="M12.8 2.2"], path[d^="M12.3 15"]))
) > svg {
  visibility: hidden;
  width: 18px;
  height: 18px;
}
/* Reserve the same footer icon column for the unchanged location marker. */
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container {
  display: inline-flex;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
}

/* Homepage news CTA: right aligned within the existing content boundary. */
body.mxw-visual-v1.home #main .mxhm-news .mxhm-more {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: 0;
}

/* About company image: 4:3, retaining its shared top-aligned prose grid row. */
body.mxw-visual-v1.page-id-753 #main .mxab-imgwrap {
  aspect-ratio: 4 / 3;
}

/* Reserve scrollport clearance for the existing -4px lift and shadow.
   Negative block margins keep resting cards and controls in their prior positions. */
body.mxw-visual-v1.page-id-753 #main .mxab-honor-grid {
  padding-top: 8px;
  padding-bottom: 20px;
  margin-top: -8px;
  margin-bottom: -20px;
}

/* Shared footer location: same tile, inset and negative glyph as mail/phone. */
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M7.5,0C4.05365"]) {
  --mx-contact-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 1a7 7 0 0 0-7 7c0 5 7 11 7 11s7-6 7-11a7 7 0 0 0-7-7Zm0 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z'/%3E%3C/svg%3E");
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: #005FD7;
  box-shadow: none;
  color: #FFFFFF;
}
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M7.5,0C4.05365"])::after {
  content: "";
  position: absolute;
  inset: 5px;
  width: 18px;
  height: 18px;
  background: #FFFFFF;
  -webkit-mask: var(--mx-contact-symbol) center / contain no-repeat;
  mask: var(--mx-contact-symbol) center / contain no-repeat;
  pointer-events: none;
}
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M7.5,0C4.05365"]) > svg {
  visibility: hidden;
  width: 18px;
  height: 18px;
}

/* Revised homepage news CTA: centered, with the gap reduced from 40px to 24px. */
body.mxw-visual-v1.home #main .mxhm-news .mxhm-more {
  margin-top: 24px;
  margin-left: auto;
  margin-right: auto;
}

/* Compact the three desktop navigation columns without moving contact details. */
@media (min-width: 1101px) {
  body.mxw-visual-v1 #footer > [data-row="middle"] > .ct-container {
    grid-template-columns: 200px 160px 160px minmax(0, 1fr);
    column-gap: 48px;
  }
  body.mxw-visual-v1 #footer > [data-row="middle"] [data-column="widget-area-4"] {
    width: calc((100vw - 230px) / 4);
    max-width: 262.5px;
    justify-self: end;
  }
}

/* The former plain-text widget must retain its light footer text when linked. */
body.mxw-visual-v1 #footer [data-column="widget-area-3"] .textwidget a {
  color: inherit;
}
body.mxw-visual-v1 #footer [data-column="widget-area-3"] .textwidget a:hover {
  color: #FFFFFF;
}

/* Keep section links clear of the fixed navigation. */
body.mxw-visual-v1.page-id-753 #main :is(#company-profile, #advantages, #honors) {
  scroll-margin-top: 88px;
}

/* Further tighten the requested desktop footer navigation group. */
@media (min-width: 1101px) {
  body.mxw-visual-v1 #footer > [data-row="middle"] > .ct-container {
    grid-template-columns: 180px 120px 120px minmax(0, 1fr);
    column-gap: 32px;
  }
}

/* Add three Chinese character widths to all seven homepage slide descriptions. */
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-p {
  max-width: min(100%, calc(540px + 3em));
}

/* Column widths follow About / News / Products; the 32px gaps stay unchanged. */
@media (min-width: 1101px) {
  body.mxw-visual-v1 #footer > [data-row="middle"] > .ct-container {
    grid-template-columns: 120px 120px 180px minmax(0, 1fr);
  }
}

/* Match both copyright lines to the existing 12px font credit, at 50% alpha. */
body.mxw-visual-v1 #footer .ct-footer-copyright,
body.mxw-visual-v1 #footer .ct-footer-copyright :is(p, a, a:hover, a:focus-visible) {
  font-size: 12px;
  line-height: 1.8;
  color: rgba(255, 255, 255, .5);
}

/* Revised footer order: About / Products / News, retaining the compact spacing. */
@media (min-width: 1101px) {
  body.mxw-visual-v1 #footer > [data-row="middle"] > .ct-container {
    grid-template-columns: 120px 180px 120px minmax(0, 1fr);
  }
}

/* Match contact copy to the 14px/400 footer navigation, including inner labels. */
body.mxw-visual-v1 #footer .ct-contact-info-block :is(.contact-info, .contact-title, a) {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
}
/* Five Chinese characters at 14px = 70px; keep the shared right boundary. */
@media (min-width: 1101px) {
  body.mxw-visual-v1 #footer > [data-row="middle"] [data-column="widget-area-4"] {
    width: calc((100vw - 230px) / 4 + 70px);
    max-width: 332.5px;
  }
}

/* Shared home/about company metrics: blue, bold comparison prefixes. */
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-prefix {
  color: var(--mx-blue-600);
  font-weight: 700;
}

/* Slightly lighter titles for the seven homepage carousel slides only. */
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-h1 {
  font-weight: 650;
}

/* Homepage qualifications reuse the About page's marks and sizing. */
body.mxw-visual-v1.home #main .mxhm-about .mxhm-credentials {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.mxw-visual-v1.home #main .mxhm-about .mxhm-credential {
  flex-direction: column;
  gap: 16px;
  text-align: center;
}
body.mxw-visual-v1.home #main .mxhm-about .mxhm-credential::before { display: none; }
body.mxw-visual-v1.home #main .mxhm-credential-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 72px;
}
body.mxw-visual-v1.home #main .mxhm-credential-mark svg {
  display: block;
  width: 69.7px;
  height: 61.2px;
  flex: none;
  overflow: hidden;
}
body.mxw-visual-v1.home #main .mxhm-credential-label {
  color: var(--mx-ink);
  font: 700 16px/1.65 var(--mx-sans);
}

/* User-selected final weight for all seven homepage carousel titles. */
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-h1 {
  font-weight: 550;
}

/* Add breathing room above the homepage qualification group after CTA removal. */
body.mxw-visual-v1.home #main .mxhm-about .mxhm-credentials {
  margin-top: 48px;
}
@media (min-width: 1101px) {
  body.mxw-visual-v1.home .mxhm-about-imgwrap {
    grid-row: 3 / span 3;
  }
}

/* Match all inner-page banner titles to the homepage's final 550 weight. */
body.mxw-visual-v1:not(.home) #main :is(.mxpg-hero, .hero-section, #gspb_row-id-gsbp-19cf587) h1 {
  font-weight: 550;
}

/* Footer only: white rounded tiles with dark address, email and phone glyphs. */
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > :is(path[d^="M7.5,0C4.05365"], path[d^="M12.8 2.2"], path[d^="M12.3 15"])) {
  background: #FFFFFF;
  color: #0B1930;
}
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > :is(path[d^="M7.5,0C4.05365"], path[d^="M12.8 2.2"], path[d^="M12.3 15"]))::after {
  background: #0B1930;
}

/* Center company images against prose + qualifications, excluding headings. */
body.mxw-visual-v1.home #main .mxhm-about-copy { display: contents; }
body.mxw-visual-v1.page-id-753 #main .mxab-credentials { margin-top: 52px; }
@media (min-width: 1101px) {
  body.mxw-visual-v1.home #main .mxhm-about-copy {
    display: block;
    grid-area: 3 / 2;
    align-self: center;
  }
  body.mxw-visual-v1.home #main .mxhm-about-imgwrap {
    grid-area: 3 / 1;
    align-self: center;
  }
  body.mxw-visual-v1.home #main .mxhm-about-copy .mxhm-credentials { margin-bottom: 0; }
  body.mxw-visual-v1.page-id-753 #main :is(.mxab-copy, .mxab-right) { align-self: center; }
}

/* Homepage: link the company introduction and label each news chevron. */
body.mxw-visual-v1.home #main a.mxhm-about-link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: none;
}
body.mxw-visual-v1.home #main a.mxhm-about-link:is(:hover, :focus, :visited) {
  color: inherit;
  text-decoration: none;
}
body.mxw-visual-v1.home #main .mxhm-news .mxnews-item {
  grid-template-columns: var(--mx-news-thumb-width) minmax(0, 1fr) auto;
}
body.mxw-visual-v1.home #main .mxhm-news .mxnews-arr {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font: 500 14px/1.5 var(--mx-sans);
}
body.mxw-visual-v1.home #main .mxhm-news .mxnews-arr .mxw-chevron {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

/* Header contact tiles follow the navigation palette; only interaction is blue.
   Keep the outer 28px tiles, links, search icon and hidden mobile items intact. */
body.mxw-visual-v1 #header .ct-social-box :is([data-network="wechat"], [data-network="email"], [data-network="phone"]) .ct-icon-container {
  background: var(--theme-palette-color-4, #192A3D);
  transition: background-color .15s ease;
}
body.mxw-visual-v1 #header .ct-social-box :is([data-network="wechat"], [data-network="email"], [data-network="phone"]):is(:hover, :active) .ct-icon-container {
  background: var(--mx-blue-600);
}
/* Optical balance: leave WeChat at 18px and give mail/phone more breathing room. */
body.mxw-visual-v1 #header .ct-social-box :is([data-network="email"], [data-network="phone"]) .ct-icon-container::after,
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > :is(path[d^="M12.8 2.2"], path[d^="M12.3 15"]))::after {
  inset: 6px;
  width: 16px;
  height: 16px;
}
/* Footer stays white-on-navy; slightly enlarge the pin and lift its whole tile. */
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M7.5,0C4.05365"]) {
  transform: translateY(-4px);
}
body.mxw-visual-v1 #footer .ct-contact-info-block .ct-icon-container:has(> svg > path[d^="M7.5,0C4.05365"])::after {
  inset: 4.5px;
  width: 19px;
  height: 19px;
}

/* Soften only the resting header tile; white glyphs and solid-blue interaction stay opaque. */
body.mxw-visual-v1 #header .ct-social-box :is([data-network="wechat"], [data-network="email"], [data-network="phone"]) .ct-icon-container {
  background: rgba(25, 42, 61, .35);
}

/* Match the adjacent contact tiles without changing the search icon's shape. */
body.mxw-visual-v1 #header .ct-header-search > .ct-icon {
  fill: rgba(25, 42, 61, .35);
}
body.mxw-visual-v1 #header .ct-header-search:is(:hover, :active) > .ct-icon {
  fill: var(--mx-blue-600);
}
/* The pseudo-input already supplies the outer focus ring; remove only the duplicate inner ring. */
body.mxw-visual-v1 #search-modal .ct-pseudo-input > input[type="search"]:focus-visible {
  outline: none;
}

/* Remove the redundant All / News filter row from news listings, including pagination. */
body.mxw-visual-v1:is(.blog, .category-news) #main .ct-dynamic-filter {
  display: none;
}

/* News uses the same English eyebrow styling as the custom inner-page banners. */
body.mxw-visual-v1:is(.blog, .category-news) #main .hero-section .mxw-news-eyebrow {
  margin: 0 0 14px;
  font: 600 12px/1.6 var(--mx-mono);
  letter-spacing: normal;
  color: #99bff0;
}

/* Make the existing About footer anchors visibly interactive without changing destinations. */
body.mxw-visual-v1 #footer [data-column="widget-area-3"] .textwidget a:is(:hover, :focus-visible, :active) {
  color: var(--mx-blue-600);
}

/* MiSans title hierarchy: weights only; preserve all existing type sizes and layout.
 * MiSans VF names 450 Demibold, 520 Semibold and 700 Heavy. Keep titles lighter.
 * Scope !important to headings only, including legacy theme/editor declarations.
 */
body.mxw-visual-v1 {
  --mx-title-display-weight: 450;
  --mx-title-section-weight: 450;
  --mx-title-card-weight: 430;
  --mx-title-small-weight: 400;
  --mx-title-eyebrow-weight: 500;
}
body.mxw-visual-v1 #main h1 {
  font-weight: var(--mx-title-display-weight) !important;
}
body.mxw-visual-v1 #main :is(h2, .mxwh-h2, .mxhm-about-h2, .mxwh-cta-h2) {
  font-weight: var(--mx-title-section-weight) !important;
}
body.mxw-visual-v1 #main .mxhm-carousel .mxhm-hero-h1 {
  font-weight: var(--mx-title-display-weight) !important;
}
body.mxw-visual-v1 #main :is(h3, .mxcard-t, .mxpg-pcard-title, .mxpg-supp-title,
  .mxab-adv-title, .mxsp-step-title, .mxapp-name, .mxnews-t,
  .mxhm-credential, .mxhm-credential-label, .mxab-credential-label) {
  font-weight: var(--mx-title-card-weight) !important;
}
body.mxw-visual-v1 #main .entry-card .entry-title,
body.mxw-visual-v1 #main h2.ct-dynamic-data {
  font-weight: var(--mx-title-card-weight) !important;
}
body.mxw-visual-v1 #main :is(h4, h5, h6, .mxsp-q-t, .mxct-label) {
  font-weight: var(--mx-title-small-weight) !important;
}
body.mxw-visual-v1.single-products #main .entry-content h2,
body.mxw-visual-v1 #main .mxpd-specbox :is(.footable_title, .t-btn-container > .t-btn, thead th),
body.mxw-visual-v1 #sidebar .widget-title,
body.mxw-visual-v1 #footer :is(h1, h2, h3, h4, h5, h6, .widget-title) {
  font-weight: var(--mx-title-small-weight) !important;
}
body.mxw-visual-v1 #main :is(.mxwh-eyebrow, .mxpg-eyebrow, .mxhm-hero-eyebrow) {
  font-weight: var(--mx-title-eyebrow-weight) !important;
}
/* Heading links/emphasis must not reintroduce the theme's old bold weights. */
body.mxw-visual-v1 #main :is(h1, h2, h3, h4, h5, h6, .mxapp-name, .mxnews-t,
  .mxhm-credential-label, .mxab-credential-label, .mxsp-q-t, .footable_title,
  .t-btn-container > .t-btn) :is(a, span, em, strong, b),
body.mxw-visual-v1 #main .mxpd-specbox thead th :is(a, span, strong, b),
body.mxw-visual-v1 #footer :is(h1, h2, h3, h4, h5, h6, .widget-title) :is(a, span, strong, b) {
  font-weight: inherit !important;
}

/* UI typography after the MiSans heading pass.
 * Preserve sizes, line heights, colors, spacing, links and icon artwork.
 * Chinese remains MiSans; Latin/numbers remain the existing OPPO Sans face.
 */
body.mxw-visual-v1 {
  --mx-ui-nav-weight: 400;
  --mx-ui-secondary-weight: 380;
  --mx-ui-action-weight: 430;
  --mx-ui-link-weight: 400;
  --mx-ui-number-weight: 700;
  --mx-ui-number-sign-weight: 450;
  --mx-ui-unit-weight: 350;
}
/* Desktop primary, product dropdown, and phone/tablet drawer. */
body.mxw-visual-v1 #header :is(.ct-menu-link, .mxmm, .mxmm-name, .mxmm-en),
body.mxw-visual-v1 #offcanvas .mobile-menu .ct-menu-link {
  font-family: var(--mx-sans) !important;
}
body.mxw-visual-v1 #header :is(.ct-menu-link, .mxmm-name),
body.mxw-visual-v1 #offcanvas .mobile-menu .ct-menu-link {
  font-weight: var(--mx-ui-nav-weight) !important;
}
body.mxw-visual-v1 #header .sub-menu .ct-menu-link,
body.mxw-visual-v1 #offcanvas .mobile-menu .sub-menu .ct-menu-link {
  font-weight: var(--mx-ui-secondary-weight) !important;
}
body.mxw-visual-v1 .ct-shortcuts-bar .ct-label {
  font-family: var(--mx-sans);
  font-weight: var(--mx-ui-nav-weight);
}
/* Keep filled actions a little stronger than outlined/text actions. */
body.mxw-visual-v1 :is(.mxwh-btn-primary, .mxwh-cta-btn, .mxwh-btn-ghost,
  .mxwh-btn-line, .mxwh-link, .mxnews-arr, .ct-button, .wp-block-button__link,
  .ff-btn-submit) {
  font-family: var(--mx-sans) !important;
  font-weight: var(--mx-ui-link-weight) !important;
}
body.mxw-visual-v1 :is(.mxwh-btn-primary, .mxwh-cta-btn, .ct-button,
  .wp-block-button__link, .ff-btn-submit) {
  font-weight: var(--mx-ui-action-weight) !important;
}
body.mxw-visual-v1 :is(.mxwh-btn-primary, .mxwh-cta-btn, .mxwh-btn-ghost,
  .mxwh-btn-line, .mxwh-link, .mxnews-arr, .ct-button, .wp-block-button__link,
  .ff-btn-submit) :is(span, strong, b) {
  font-family: inherit !important;
  font-weight: inherit !important;
}
/* Page navigation: selection remains distinct without a heavy label. */
body.mxw-visual-v1 #main :is(.pagination a, .page-numbers) {
  font-family: var(--mx-sans);
  font-weight: var(--mx-ui-link-weight) !important;
}
body.mxw-visual-v1 #main :is(.pagination > li.active > a, .page-numbers.current) {
  font-weight: 500 !important;
}
body.mxw-visual-v1 #main .entry-meta a[class*="ct-term-"] {
  font-family: var(--mx-sans);
  font-weight: var(--mx-ui-secondary-weight) !important;
}
/* Footer links and contact copy remain matched, with quieter supporting weight. */
body.mxw-visual-v1 #footer .textwidget :is(li, a),
body.mxw-visual-v1 #footer .ct-contact-info-block .contact-title {
  font-family: var(--mx-sans);
  font-weight: var(--mx-ui-secondary-weight);
}
/* Headline numbers remain prominent; signs/units no longer compete with them. */
body.mxw-visual-v1 .mx-company-metrics :is(.mxpg-stat-num, .mxpg-stat-value) {
  font-family: var(--mx-sans);
  font-weight: var(--mx-ui-number-weight);
}
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-prefix {
  font-family: var(--mx-sans);
  font-weight: var(--mx-ui-number-sign-weight);
}
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-unit {
  font-weight: var(--mx-ui-unit-weight);
}
body.mxw-visual-v1 .mx-company-metrics .mxpg-stat-label {
  font-weight: var(--mx-ui-secondary-weight);
}

/* Shared back-to-top control: brand blue and a stemless 90-degree up chevron.
 * Retain Blocksy's size, placement, visibility, focus and scrolling behavior.
 */
body.mxw-visual-v1 .ct-back-to-top,
body.mxw-visual-v1 .ct-back-to-top:is(:hover, :focus-visible, :active) {
  background-color: var(--mx-blue-600);
  color: #fff;
}
body.mxw-visual-v1 .ct-back-to-top > .ct-icon {
  visibility: hidden;
}
body.mxw-visual-v1 .ct-back-to-top::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: translate(-50%, -50%) translateY(3px) rotate(45deg);
  pointer-events: none;
}

/* About only: regular prose, with a compact, fully visible desktop copy block. */
body.mxw-visual-v1.page-id-753 #main .mxab-about .mxab-p,
body.mxw-visual-v1.page-id-753 #main .mxab-about .mxab-p * {
  font-weight: 400 !important;
  color: var(--mx-gray-600) !important;
}
@media (min-width: 1280px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-about .mxab-p {
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 10px;
  }
  body.mxw-visual-v1.page-id-753 #main .mxab-copy > .mxab-p:last-of-type { margin-bottom: 0; }
  body.mxw-visual-v1.page-id-753 #main .mxab-credentials { margin-top: 20px; }
  body.mxw-visual-v1.page-id-753 #main .mxab-credential { gap: 10px; }
  body.mxw-visual-v1.page-id-753 #main .mxab-credential-mark { height: 56px; }
  body.mxw-visual-v1.page-id-753 #main .mxab-credential-mark svg { width: 63.78px; height: 56px; }
  body.mxw-visual-v1.page-id-753 #main .mxab-credential-label { line-height: 1.5; }
}
/* Keep prose legible when two columns cannot fit the new full-length copy. */
@media (min-width: 1101px) and (max-width: 1279px) {
  body.mxw-visual-v1.page-id-753 #main .mxab-grid { grid-template-columns: minmax(0, 1fr); }
  body.mxw-visual-v1.page-id-753 #main .mxab-copy { grid-area: 3 / 1; }
  body.mxw-visual-v1.page-id-753 #main .mxab-right {
    grid-area: 4 / 1;
    width: min(100%, 640px);
    justify-self: center;
    margin-top: 28px;
  }
}

/* Homepage desktop: fit the current prose + qualifications beside the 4:3 image.
 * Preserve all font sizes and content; use the About page's compact mark layout.
 * Existing tablet/mobile layouts intentionally retain their original spacing.
 */
@media (min-width: 1280px) {
  body.mxw-visual-v1.home #main .mxhm-about-copy .mxhm-about-p {
    line-height: 1.65;
    margin: 0 0 10px;
  }
  body.mxw-visual-v1.home #main .mxhm-about-copy > .mxhm-about-p:last-of-type {
    margin-bottom: 0;
  }
  body.mxw-visual-v1.home #main .mxhm-about .mxhm-credentials {
    margin-top: 20px;
  }
  body.mxw-visual-v1.home #main .mxhm-about .mxhm-credential {
    gap: 10px;
  }
  body.mxw-visual-v1.home #main .mxhm-credential-mark {
    height: 56px;
  }
  body.mxw-visual-v1.home #main .mxhm-credential-mark svg {
    width: 63.78px;
    height: 56px;
  }
  body.mxw-visual-v1.home #main .mxhm-credential-label { line-height: 1.5; }
}
/* A narrow desktop cannot fit the full new copy beside a 4:3 image at 15px. */
@media (min-width: 1101px) and (max-width: 1279px) {
  body.mxw-visual-v1.home #main .mxhm-about-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.mxw-visual-v1.home #main .mxhm-about-grid > div:not(.mxhm-about-imgwrap) > * {
    grid-column: 1;
  }
  body.mxw-visual-v1.home #main .mxhm-about-imgwrap {
    grid-area: 1 / 1;
    width: min(100%, 640px);
    justify-self: center;
    margin-bottom: 32px;
  }
  body.mxw-visual-v1.home #main .mxhm-about-copy { grid-area: 4 / 1; }
}

/* Cross-browser typography, without changing the approved size/weight scale.
 * Keep user zoom available; only stop automatic mobile text inflation.
 * Allow editorial italics, but do not manufacture bold faces for webfonts.
 */
body.mxw-visual-v1 {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis: style;
}
/* Native form controls do not consistently inherit the document font. */
body.mxw-visual-v1 button,
body.mxw-visual-v1 input,
body.mxw-visual-v1 select,
body.mxw-visual-v1 textarea {
  font-family: var(--mx-sans);
}

/* Mobile contact table: keep product categories visible during horizontal scroll.
 * Separate borders preserve each sticky cell's horizontal rules while scrolling.
 */
@media (max-width: 767px) {
  body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts table {
    border-collapse: separate;
    border-spacing: 0;
  }
  body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--mx-white);
  }
}

/* Size the pinned mobile category column to its longest unbroken label.
 * Other columns absorb spare table width, not the fixed category column.
 */
@media (max-width: 767px) {
  body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts table {
    table-layout: auto;
  }
  body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts :is(.mxct-contact-name, .mxct-contact-phone, .mxct-contact-email) {
    width: auto;
  }
  body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts .mxct-contact-category {
    width: 1px;
  }
  body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts td:first-child {
    width: 1px;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
  }
}

/* LED display's replacement Ninja table uses the established selection styling.
 * Also match a replacement table on this page, without restyling other pages.
 */
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable),
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) :is(thead, tbody, tfoot, tr, th, td) {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) {
  border-top: 1px solid var(--mx-line) !important;
  font-family: var(--mx-sans);
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) :is(th, td, th a, td a) {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) > thead > tr > th {
  border-bottom: 1px solid var(--mx-line) !important;
  padding: 14px 12px !important;
  color: #193d6b !important;
  font: 400 14px/20px var(--mx-sans);
  text-align: center;
  vertical-align: middle;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) > tbody > tr > td {
  padding: 11px !important;
  color: #34445a !important;
  font: 400 14px/20px var(--mx-sans);
  text-align: center;
  vertical-align: middle;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) > tbody > tr + tr > td {
  border-top: 1px solid var(--mx-line) !important;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) > tbody > tr:last-child > td {
  border-bottom: 1px solid var(--mx-line) !important;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) > :is(thead, tbody) > tr > :is(th, td):first-child {
  padding-left: var(--mx-selection-text-inset) !important;
  text-align: left !important;
}
body.mxw-visual-v1.page-id-1156 #main .mxpd-specbox :is(#footable_2429, table.ninja_footable) > tfoot > tr > td {
  padding: 11px 0 !important;
  text-align: center !important;
}

/* Contact table: right-align email addresses without changing column sizing. */
body.mxw-visual-v1.page-id-755 #main .mxct-product-contacts td:last-child {
  text-align: right;
}

/* Homepage artwork, 2026-10-21. Picture sources select PC/tablet or phone images. */
body.mxw-visual-v1.home .mxhm-slide-media > .mxhm-banner-picture,
body.mxw-visual-v1.home .mxhm-banner-picture > .mxhm-banner-img {
  display: block; width: 100%; height: 100%;
}
body.mxw-visual-v1.home .mxhm-banner-picture > .mxhm-banner-img {
  object-fit: cover; object-position: center; max-width: none;
}
body.mxw-visual-v1.home .mxhm-slide-media::after {
  content: none;
}

/* Homepage carousel titles: solid white, including former blue emphasis. */
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-h1,
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-h1 :is(em, span, strong) {
  color: #fff;
}

/* Homepage Banner descriptions: solid white; phones lose two character widths. */
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-p,
body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-p * {
  color: #fff;
}
@media (max-width: 767px) {
  body.mxw-visual-v1.home #main .mxhm-carousel .mxhm-hero-p {
    max-width: calc(100% - 2em);
  }
}

/* No colored placeholder behind homepage Banner images while they load. */
body.mxw-visual-v1.home :is(.mxhm-hero, .mxhm-carousel, .mxhm-slide-media, .mxhm-banner-picture, .mxhm-banner-img) {
  background: transparent;
}
