/* =========================================================
   精瑞微纳科技（东莞）有限公司 — 企业官网样式
   Light Blue · Precision Industrial Design System
   ========================================================= */

:root {
  --bg: #ffffff;
  --bg-2: #f2f7fc;
  --surface: #ffffff;
  --surface-2: #edf4fb;
  --line: rgba(44, 89, 135, .13);
  --line-strong: rgba(44, 89, 135, .24);
  --text: #17314c;
  --silver: #405b75;
  --muted: #526b83;
  --dim: #60768c;
  --blue: #2e6ef5;
  --blue-2: #2467bd;
  --blue-dim: rgba(46, 110, 245, .12);
  --nav-h: 76px;
  --radius: 4px;
  --font: "Inter", "Helvetica Neue", -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { font-family: inherit; }

.wrap { width: min(1280px, calc(100% - 96px)); margin: 0 auto; }
.section { padding: 128px 0; }
.section--alt { background: var(--bg-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section--tight { padding: 96px 0; }

::selection { background: rgba(46, 110, 245, .35); }

/* ---------- scroll progress ---------- */
.scroll-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0; z-index: 200;
  background: linear-gradient(90deg, var(--blue), var(--blue-2));
}

/* =========================================================
   NAV
   ========================================================= */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: var(--nav-h);
  background: rgba(5, 8, 15, .72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: .35s;
}
.nav.scrolled { background: rgba(5, 8, 15, .92); border-bottom-color: var(--line); }
.nav__inner { width: min(1360px, calc(100% - 64px)); margin: 0 auto; height: var(--nav-h); display: flex; align-items: center; gap: 40px; }

.brand { display: flex; align-items: center; gap: 14px; flex: none; }
.brand__mark { width: 40px; height: 40px; flex: none; }
.brand__txt { display: flex; flex-direction: column; line-height: 1.2; }
.brand__cn { font-size: 19px; font-weight: 800; letter-spacing: .06em; }
.brand__en { font-size: 9.5px; letter-spacing: .32em; color: var(--blue-2); font-weight: 600; margin-top: 3px; }

.nav__links { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav__links > .item { position: relative; }
.nav__links a.lk, .nav__links .drop-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 15px; font-size: 14.5px; color: var(--silver);
  border-radius: 3px; transition: .25s; white-space: nowrap; background: none; border: 0; cursor: pointer;
}
.nav__links a.lk:hover, .nav__links .drop-btn:hover,
.nav__links a.active { color: #fff; }
.nav__links a.active { position: relative; }
.nav__links a.active::after {
  content: ""; position: absolute; left: 15px; right: 15px; bottom: 2px; height: 2px;
  background: linear-gradient(90deg, var(--blue), transparent);
}
.nav__links .caret { font-size: 9px; color: var(--dim); transition: .25s; }

/* dropdown */
.drop-menu {
  position: absolute; top: calc(100% + 10px); left: 50%; transform: translate(-50%, 8px);
  min-width: 230px; background: rgba(10, 15, 28, .97); border: 1px solid var(--line-strong);
  border-radius: 6px; padding: 8px; opacity: 0; visibility: hidden; transition: .28s;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}
.drop-menu a {
  display: block; padding: 11px 14px; font-size: 14px; color: var(--silver); border-radius: 3px; transition: .2s;
}
.drop-menu a:hover { background: var(--blue-dim); color: #fff; }
.drop-menu a b { display: block; font-weight: 600; }
.drop-menu a span { display: block; font-size: 11px; color: var(--dim); letter-spacing: .08em; margin-top: 2px; }
.item:hover .drop-menu, .item.open .drop-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.item:hover .caret { transform: rotate(180deg); }

.nav__cta {
  flex: none; display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px; font-size: 14px; font-weight: 600; color: #fff;
  background: linear-gradient(120deg, var(--blue), #2458c8);
  border-radius: 3px; transition: .25s; white-space: nowrap;
}
.nav__cta:hover { filter: brightness(1.15); transform: translateY(-1px); }
.nav__cta .arr { transition: .25s; }
.nav__cta:hover .arr { transform: translateX(4px); }

.burger { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
.burger span { display: block; width: 22px; height: 2px; background: var(--text); margin: 5px 0; transition: .3s; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 34px; font-size: 15px; font-weight: 600;
  border-radius: 3px; transition: .28s; cursor: pointer; border: 0;
}
.btn--primary { background: linear-gradient(120deg, var(--blue), #2458c8); color: #fff; }
.btn--primary:hover { filter: brightness(1.18); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(46, 110, 245, .35); }
.btn--ghost { border: 1px solid var(--line-strong); color: var(--silver); background: rgba(150, 182, 232, .04); }
.btn--ghost:hover { border-color: var(--blue-2); color: #fff; background: var(--blue-dim); }
.btn .arr { transition: .25s; }
.btn:hover .arr { transform: translateX(4px); }

/* =========================================================
   HERO
   ========================================================= */
.hero {
  position: relative; min-height: 100vh; display: flex; align-items: center;
  overflow: hidden; background: var(--bg);
}
.hero__bg { position: absolute; inset: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.hero__bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 8, 15, .82) 0%, rgba(5, 8, 15, .38) 42%, rgba(5, 8, 15, .92) 100%),
    radial-gradient(1100px 600px at 72% 38%, transparent 30%, rgba(5, 8, 15, .55) 100%);
}
.hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: auto; z-index: 2; }
.hero__inner { position: relative; z-index: 3; width: min(1280px, calc(100% - 96px)); margin: 0 auto; padding-top: var(--nav-h); }

.hero__tag {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 11.5px; letter-spacing: .34em; color: var(--blue-2); font-weight: 600;
  border: 1px solid rgba(106, 165, 255, .3); background: rgba(46, 110, 245, .08);
  padding: 9px 18px; border-radius: 2px; backdrop-filter: blur(6px);
}
.hero__tag .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 12px var(--blue-2); animation: pulse 2.2s infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

.hero h1 {
  margin-top: 34px;
  font-size: clamp(38px, 5.6vw, 72px); font-weight: 900; line-height: 1.14; letter-spacing: .01em;
}
.hero h1 .grad {
  background: linear-gradient(100deg, #fff 20%, var(--blue-2) 80%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero h1 .thin {
  display: block; margin-top: 20px; font-size: clamp(12px, 1.2vw, 15px); font-weight: 500;
  letter-spacing: .4em; color: var(--dim); text-transform: uppercase;
}
.hero__sub { margin-top: 28px; max-width: 660px; color: var(--silver); font-size: 16.5px; }
.hero__btns { display: flex; gap: 16px; margin-top: 42px; flex-wrap: wrap; }

.hero__stats { display: flex; gap: 72px; margin-top: 76px; flex-wrap: wrap; }
.hero__stats .s b { font-size: 34px; font-weight: 800; color: #fff; }
.hero__stats .s b i { font-style: normal; font-size: 18px; color: var(--blue-2); margin-left: 2px; }
.hero__stats .s span { display: block; font-size: 12.5px; color: var(--dim); letter-spacing: .18em; margin-top: 6px; }

.hero__scroll {
  position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%); z-index: 3;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  font-size: 10px; letter-spacing: .34em; color: var(--dim);
}
.hero__scroll .line { width: 1px; height: 42px; background: linear-gradient(180deg, var(--blue-2), transparent); animation: scrollLine 2s infinite; }
@keyframes scrollLine { 0% { transform: scaleY(0); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: top; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* =========================================================
   SECTION HEADS
   ========================================================= */
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: 64px; }
.sec-head .no { font-size: 12px; letter-spacing: .32em; color: var(--blue-2); font-weight: 700; margin-bottom: 16px; }
.sec-head h2 { font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; line-height: 1.2; }
.sec-head .en { font-size: 11px; letter-spacing: .28em; color: var(--dim); text-transform: uppercase; margin-top: 10px; }
.sec-head .lead { max-width: 420px; color: var(--muted); font-size: 15px; padding-bottom: 6px; }

/* =========================================================
   CARDS — 核心业务（大图卡）
   ========================================================= */
.biz-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.biz {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; transition: .35s; display: flex; flex-direction: column;
}
.biz:hover { border-color: rgba(106, 165, 255, .4); transform: translateY(-6px); box-shadow: 0 26px 60px rgba(0, 0, 0, .45); }
.biz__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.biz__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.biz:hover .biz__img img { transform: scale(1.05); }
.biz__no {
  position: absolute; top: 16px; left: 16px; font-size: 11px; letter-spacing: .24em;
  color: var(--blue-2); background: rgba(5, 8, 15, .72); backdrop-filter: blur(6px);
  border: 1px solid rgba(106, 165, 255, .28); padding: 5px 12px; border-radius: 2px;
}
.biz__body { padding: 30px 30px 32px; display: flex; flex-direction: column; flex: 1; }
.biz__body h3 { font-size: 21px; font-weight: 800; }
.biz__body h3 .en { display: block; font-size: 10.5px; letter-spacing: .24em; color: var(--dim); text-transform: uppercase; margin-top: 7px; font-weight: 500; }
.biz__body p { color: var(--muted); font-size: 14.5px; margin-top: 16px; }
.biz__feats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.biz__feats span { font-size: 12px; color: var(--blue-2); border: 1px solid rgba(106, 165, 255, .26); background: rgba(46, 110, 245, .07); padding: 4px 11px; border-radius: 2px; }
.biz__more { margin-top: auto; padding-top: 24px; font-size: 14px; color: var(--blue-2); display: inline-flex; align-items: center; gap: 8px; }
.biz__more:hover { color: #fff; }

/* =========================================================
   TECH CARDS（图标卡）
   ========================================================= */
.tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tech-card {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 38px 32px; transition: .3s; position: relative; overflow: hidden;
}
.tech-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--blue), transparent); opacity: 0; transition: .3s;
}
.tech-card:hover { border-color: rgba(106, 165, 255, .38); transform: translateY(-4px); }
.tech-card:hover::before { opacity: 1; }
.tech-card .icon { width: 46px; height: 46px; border-radius: 3px; background: var(--blue-dim); border: 1px solid rgba(106, 165, 255, .25); display: grid; place-items: center; margin-bottom: 24px; }
.tech-card .icon svg { width: 24px; height: 24px; stroke: var(--blue-2); }
.tech-card h3 { font-size: 19px; font-weight: 800; }
.tech-card .en { font-size: 10.5px; letter-spacing: .22em; color: var(--dim); text-transform: uppercase; margin: 6px 0 14px; }
.tech-card p { color: var(--muted); font-size: 14px; }
.tech-card ul { margin-top: 16px; display: grid; gap: 8px; }
.tech-card ul li { font-size: 13.5px; color: var(--silver); display: flex; gap: 9px; }
.tech-card ul li::before { content: "—"; color: var(--blue-2); flex: none; }

/* =========================================================
   COUNTERS / 数字展示
   ========================================================= */
.counters { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-top: 72px; }
.counters .c { padding: 44px 20px; text-align: center; background: var(--surface); border-right: 1px solid var(--line); position: relative; }
.counters .c:last-child { border-right: 0; }
.counters .c b { font-size: clamp(30px, 3.4vw, 46px); font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.counters .c b i { font-style: normal; color: var(--blue-2); font-size: .55em; margin-left: 3px; }
.counters .c span { display: block; margin-top: 10px; font-size: 13px; color: var(--muted); letter-spacing: .14em; }
.counters .c::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--blue), transparent); opacity: .6; }

/* =========================================================
   SPLIT — 左右图文
   ========================================================= */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding: 72px 0; }
.split + .split { border-top: 1px solid var(--line); }
.split__media { position: relative; }
.split__media img { width: 100%; height: 440px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--line-strong); }
.split__media .tag {
  position: absolute; top: 18px; left: 18px; font-size: 11px; letter-spacing: .22em;
  color: var(--blue-2); background: rgba(5, 8, 15, .74); backdrop-filter: blur(8px);
  border: 1px solid rgba(106, 165, 255, .3); padding: 7px 14px; border-radius: 2px;
}
.split__body .no { font-size: 12px; letter-spacing: .3em; color: var(--blue-2); font-weight: 700; margin-bottom: 16px; }
.split__body h2 { font-size: clamp(26px, 2.8vw, 38px); font-weight: 800; line-height: 1.22; }
.split__body .en { font-size: 11px; letter-spacing: .26em; color: var(--dim); text-transform: uppercase; margin: 10px 0 22px; }
.split__body p { color: var(--muted); font-size: 15px; margin-bottom: 18px; }
.split__body h4 { font-size: 11.5px; letter-spacing: .22em; color: var(--dim); margin: 24px 0 12px; text-transform: uppercase; }
.split__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 36px; }
.split__cols ul { display: grid; gap: 8px; }
.split__cols li { font-size: 14px; color: var(--silver); display: flex; gap: 9px; }
.split__cols li::before { content: "—"; color: var(--blue-2); flex: none; }
.chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.chips span { font-size: 12.5px; color: var(--blue-2); border: 1px solid rgba(106, 165, 255, .28); background: rgba(46, 110, 245, .07); padding: 6px 14px; border-radius: 2px; }

/* =========================================================
   INDUSTRY CARDS
   ========================================================= */
.ind-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ind {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 34px 30px; transition: .3s; position: relative; overflow: hidden;
}
.ind::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, var(--blue), transparent); opacity: 0; transition: .3s; }
.ind:hover { border-color: rgba(106, 165, 255, .38); transform: translateY(-4px); }
.ind:hover::after { opacity: 1; }
.ind .icon { width: 44px; height: 44px; border-radius: 3px; background: var(--blue-dim); border: 1px solid rgba(106, 165, 255, .25); display: grid; place-items: center; margin-bottom: 20px; }
.ind .icon svg { width: 22px; height: 22px; stroke: var(--blue-2); }
.ind h3 { font-size: 18.5px; font-weight: 800; }
.ind .en { font-size: 10px; letter-spacing: .2em; color: var(--dim); text-transform: uppercase; margin: 5px 0 12px; }
.ind p { font-size: 13.5px; color: var(--muted); }
.ind .more { display: inline-block; margin-top: 16px; font-size: 13.5px; color: var(--blue-2); }
.ind .more:hover { color: #fff; }

/* =========================================================
   ADVANTAGE 编号卡
   ========================================================= */
.adv-wrap { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.adv { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px 24px; transition: .3s; }
.adv:hover { border-color: rgba(106, 165, 255, .4); transform: translateY(-4px); }
.adv .idx { font-size: 13px; font-weight: 800; color: var(--blue-2); letter-spacing: .2em; margin-bottom: 18px; }
.adv h3 { font-size: 17px; font-weight: 800; }
.adv .cn { font-size: 12px; color: var(--dim); letter-spacing: .16em; margin: 4px 0 12px; }
.adv p { font-size: 13px; color: var(--muted); }

/* =========================================================
   CASES
   ========================================================= */
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.case { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: .35s; }
.case:hover { border-color: rgba(106, 165, 255, .4); transform: translateY(-5px); box-shadow: 0 24px 54px rgba(0, 0, 0, .4); }
.case__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.case__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.case:hover .case__img img { transform: scale(1.06); }
.case__cat { position: absolute; top: 14px; left: 14px; font-size: 11px; letter-spacing: .18em; color: var(--blue-2); background: rgba(5, 8, 15, .74); backdrop-filter: blur(6px); border: 1px solid rgba(106, 165, 255, .28); padding: 5px 11px; border-radius: 2px; }
.case__body { padding: 24px 26px 26px; }
.case__body h3 { font-size: 17.5px; font-weight: 800; }
.case__meta { margin-top: 16px; display: grid; gap: 7px; }
.case__meta > div { display: flex; gap: 12px; font-size: 13px; }
.case__meta b { color: var(--dim); font-weight: 600; flex: none; width: 34px; }
.case__meta span { color: var(--muted); }

/* =========================================================
   NEWS
   ========================================================= */
.news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.news-grid--3 { grid-template-columns: repeat(3, 1fr); }
.news { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: .3s; display: flex; flex-direction: column; }
.news:hover { border-color: rgba(106, 165, 255, .38); transform: translateY(-4px); }
.news__top { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px 0; }
.news__date { display: flex; align-items: baseline; gap: 8px; }
.news__date b { font-size: 26px; font-weight: 800; color: #fff; }
.news__date span { font-size: 12px; color: var(--dim); }
.news__cat { font-size: 11px; letter-spacing: .16em; color: var(--blue-2); border: 1px solid rgba(106, 165, 255, .26); padding: 3px 10px; border-radius: 2px; }
.news__body { padding: 16px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.news__body h3 { font-size: 15.5px; font-weight: 700; line-height: 1.5; }
.news__body p { font-size: 13px; color: var(--muted); margin-top: 10px; }
.news__body .more { margin-top: auto; padding-top: 16px; font-size: 13px; color: var(--blue-2); }

/* =========================================================
   PAGE HERO（内页横幅）
   ========================================================= */
.page-hero {
  position: relative; padding: calc(var(--nav-h) + 96px) 0 88px; overflow: hidden;
  background:
    radial-gradient(1000px 440px at 88% 0%, rgba(46, 110, 245, .14), transparent 62%),
    radial-gradient(760px 420px at 4% 100%, rgba(106, 165, 255, .07), transparent 60%),
    linear-gradient(180deg, #070c17, var(--bg));
  border-bottom: 1px solid var(--line);
}
.page-hero::before {
  content: ""; position: absolute; inset: 0; opacity: .55;
  background-image: linear-gradient(rgba(120, 160, 230, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(120, 160, 230, .05) 1px, transparent 1px);
  background-size: 96px 96px; mask-image: linear-gradient(180deg, #000 25%, transparent);
}
.page-hero .wrap { position: relative; z-index: 1; }
.crumb { font-size: 12px; letter-spacing: .18em; color: var(--dim); margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
.crumb a { color: var(--dim); transition: .25s; }
.crumb a:hover { color: var(--blue-2); }
.crumb .sep { color: var(--blue-2); }
.crumb .cur { color: var(--muted); }
.page-hero h1 { font-size: clamp(34px, 4.8vw, 58px); font-weight: 900; line-height: 1.16; }
.page-hero h1 .grad { background: linear-gradient(100deg, #fff 25%, var(--blue-2) 78%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.page-hero .sub { margin-top: 20px; max-width: 680px; color: var(--muted); font-size: 16px; }
.page-hero .en-tag { display: inline-flex; align-items: center; gap: 12px; font-size: 11.5px; letter-spacing: .3em; color: var(--blue-2); font-weight: 600; margin-bottom: 18px; }
.page-hero .en-tag::before { content: ""; width: 36px; height: 2px; background: linear-gradient(90deg, var(--blue), transparent); }

/* ---------- 材料锚点导航 ---------- */
.mat-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 44px 0 8px; position: relative; z-index: 1; }
.mat-nav a { font-size: 13px; color: var(--silver); border: 1px solid var(--line-strong); padding: 9px 18px; border-radius: 2px; transition: .25s; background: rgba(11, 18, 32, .6); }
.mat-nav a:hover { border-color: var(--blue-2); color: #fff; background: var(--blue-dim); }

/* ---------- 材料四栏（特点/难点/方案/行业） ---------- */
.mat-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 28px; }
.mat-col { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 22px; }
.mat-col h5 { font-size: 11px; letter-spacing: .22em; color: var(--blue-2); margin-bottom: 14px; text-transform: uppercase; }
.mat-col ul { display: grid; gap: 8px; }
.mat-col li { font-size: 13.5px; color: var(--silver); display: flex; gap: 8px; }
.mat-col li::before { content: "·"; color: var(--blue-2); font-weight: 800; flex: none; }

/* ---------- 能力参数 / 对比表 ---------- */
.spec { width: 100%; border-collapse: collapse; border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; }
.spec th, .spec td { padding: 15px 20px; text-align: left; font-size: 14px; border-bottom: 1px solid var(--line); }
.spec th { color: var(--dim); font-weight: 600; letter-spacing: .1em; background: var(--surface); white-space: nowrap; }
.spec td { color: var(--silver); background: rgba(11, 18, 32, .5); }
.spec tr:last-child td { border-bottom: 0; }
.spec .mono { font-family: ui-monospace, Consolas, monospace; color: var(--blue-2); }
.spec .good { color: var(--blue-2); font-weight: 600; }

/* ---------- 流程步骤 ---------- */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px 26px; position: relative; transition: .3s; }
.step:hover { border-color: rgba(106, 165, 255, .42); transform: translateY(-4px); }
.step b.no2 { display: block; font-size: 12px; color: var(--blue-2); letter-spacing: .24em; margin-bottom: 14px; }
.step h3 { font-size: 18px; font-weight: 800; margin-bottom: 8px; }
.step p { font-size: 13.5px; color: var(--muted); }
.step::after { content: "→"; position: absolute; right: -18px; top: 50%; transform: translateY(-50%); color: var(--dim); font-size: 16px; z-index: 2; }
.step:last-child::after { display: none; }

/* ---------- 时间线（关于页） ---------- */
.timeline { position: relative; margin-top: 56px; padding-left: 36px; }
.timeline::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 1px; background: linear-gradient(180deg, var(--blue), rgba(46, 110, 245, .05)); }
.tl-item { position: relative; padding: 0 0 36px 20px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before { content: ""; position: absolute; left: -34px; top: 8px; width: 13px; height: 13px; border-radius: 50%; background: var(--bg); border: 2px solid var(--blue-2); box-shadow: 0 0 0 4px rgba(46, 110, 245, .15); }
.tl-item b { font-size: 15px; color: var(--blue-2); letter-spacing: .1em; }
.tl-item h4 { font-size: 17px; font-weight: 800; margin: 6px 0; }
.tl-item p { font-size: 14px; color: var(--muted); max-width: 640px; }

/* ---------- 价值主张（关于页四大支柱） ---------- */
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pillar { border: 1px solid var(--line); border-radius: var(--radius); padding: 34px 28px; background: var(--surface); transition: .3s; }
.pillar:hover { border-color: rgba(106, 165, 255, .4); transform: translateY(-4px); }
.pillar .no { font-size: 12px; letter-spacing: .26em; color: var(--blue-2); font-weight: 700; margin-bottom: 16px; }
.pillar h3 { font-size: 19px; font-weight: 800; margin-bottom: 4px; }
.pillar .en { font-size: 10px; letter-spacing: .2em; color: var(--dim); text-transform: uppercase; margin-bottom: 14px; }
.pillar p { font-size: 13.5px; color: var(--muted); }

/* =========================================================
   CTA BAND
   ========================================================= */
.cta-band { position: relative; overflow: hidden; background: linear-gradient(120deg, #0a1226, #0d1b38 55%, #0a1226); border-top: 1px solid var(--line); }
.cta-band .glow { position: absolute; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(46, 110, 245, .22), transparent 62%); top: -320px; right: -160px; }
.cta-band .inner { position: relative; z-index: 1; padding: 92px 0; text-align: center; }
.cta-band h2 { font-size: clamp(26px, 3.2vw, 40px); font-weight: 800; }
.cta-band p { color: var(--muted); margin: 16px 0 34px; font-size: 15.5px; }

/* =========================================================
   CONTACT
   ========================================================= */
.contact__grid { display: grid; grid-template-columns: 0.9fr 1.4fr; gap: 56px; align-items: start; }
.contact__info h3 { font-size: 22px; font-weight: 800; }
.contact__info > p { color: var(--muted); font-size: 14.5px; margin: 14px 0 34px; }
.contact__list { display: grid; gap: 22px; }
.contact__list .row { display: flex; gap: 16px; align-items: flex-start; }
.contact__list .ico { width: 42px; height: 42px; flex: none; border-radius: 3px; background: var(--blue-dim); border: 1px solid rgba(106, 165, 255, .25); display: grid; place-items: center; }
.contact__list .ico svg { width: 20px; height: 20px; stroke: var(--blue-2); }
.contact__list b { display: block; font-size: 14.5px; }
.contact__list span { font-size: 13.5px; color: var(--muted); }

.form { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 44px; }
.form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 24px; }
.field { display: flex; flex-direction: column; gap: 9px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 12px; letter-spacing: .16em; color: var(--dim); text-transform: uppercase; }
.field input, .field select, .field textarea {
  background: var(--bg); border: 1px solid var(--line-strong); border-radius: 3px;
  color: var(--text); font-family: inherit; font-size: 14.5px; padding: 13px 16px; transition: .25s; outline: none;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(46, 110, 245, .18); }
.field textarea { min-height: 130px; resize: vertical; }
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--dim) 50%), linear-gradient(135deg, var(--dim) 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size: 6px 6px; background-repeat: no-repeat; }
.upload { display: block; border: 1px dashed var(--line-strong); border-radius: 3px; padding: 20px; text-align: center; font-size: 12.5px; color: var(--dim); cursor: pointer; transition: .25s; }
.upload:hover { border-color: var(--blue-2); color: var(--silver); }
.upload b { display: block; margin-top: 6px; color: var(--blue-2); font-size: 13.5px; }
.form__foot { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 4px; }
.form__foot .note { font-size: 12.5px; color: var(--dim); }
.form-status { font-size: 13.5px; color: #7ee2a8; display: none; }
.form-status.err { color: #ff9c9c; }

/* =========================================================
   PAGE NAV（上一页/下一页）
   ========================================================= */
.page-nav { border-top: 1px solid var(--line); background: var(--bg-2); }
.page-nav .inner { display: flex; justify-content: space-between; gap: 16px; padding: 36px 0; }
.page-nav a { display: flex; flex-direction: column; gap: 6px; color: var(--muted); transition: .25s; max-width: 46%; }
.page-nav a:hover { color: var(--blue-2); }
.page-nav a .lbl { font-size: 11px; letter-spacing: .26em; color: var(--dim); }
.page-nav a b { font-size: 17px; font-weight: 700; }
.page-nav a.next { text-align: right; margin-left: auto; }

/* =========================================================
   FOOTER
   ========================================================= */
footer { background: #04060c; border-top: 1px solid var(--line); }
.foot__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px; padding: 76px 0 60px; }
.foot__brand .brand { margin-bottom: 22px; }
.foot__brand p { font-size: 13.5px; color: var(--muted); max-width: 380px; }
.foot__slogan { margin-top: 22px; font-size: 12.5px; letter-spacing: .3em; color: var(--blue-2); font-weight: 600; }
footer h4 { font-size: 13px; letter-spacing: .2em; color: var(--silver); margin-bottom: 20px; text-transform: uppercase; }
footer li { margin-bottom: 12px; }
footer li a { font-size: 13.5px; color: var(--muted); transition: .25s; }
footer li a:hover { color: var(--blue-2); }
.foot__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 26px 0; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--dim); }

/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2, .6, .2, 1), transform .8s cubic-bezier(.2, .6, .2, 1); }
.reveal[data-d="1"] { transition-delay: .1s; }
.reveal[data-d="2"] { transition-delay: .2s; }
.reveal[data-d="3"] { transition-delay: .3s; }
.reveal[data-d="4"] { transition-delay: .4s; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { transition: none; opacity: 1; transform: none; } }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1080px) {
  .hero__inner { width: calc(100% - 64px); }
  .nav__links { display: none; position: absolute; top: var(--nav-h); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: rgba(6, 10, 19, .98); border-bottom: 1px solid var(--line); padding: 12px 24px 24px; max-height: calc(100vh - var(--nav-h)); overflow-y: auto; }
  .nav__links.open { display: flex; }
  .nav__links > .item { border-bottom: 1px solid var(--line); }
  .nav__links a.lk, .nav__links .drop-btn { width: 100%; justify-content: space-between; padding: 16px 4px; font-size: 15.5px; border-radius: 0; }
  .nav__links a.active::after { display: none; }
  .nav__links a.active { color: var(--blue-2); }
  .drop-menu { position: static; transform: none; opacity: 1; visibility: hidden; display: none; min-width: 0; border: 0; box-shadow: none; background: transparent; padding: 0 0 10px; }
  .item.open .drop-menu { display: block; }
  .drop-menu a { padding: 11px 16px; }
  .burger { display: block; }
  .nav__cta { display: none; }
  .biz-grid, .tech-grid, .ind-grid { grid-template-columns: 1fr 1fr; }
  .case-grid { grid-template-columns: 1fr 1fr; }
  .news-grid, .news-grid--3 { grid-template-columns: 1fr 1fr; }
  .adv-wrap, .pillar-grid { grid-template-columns: 1fr 1fr 1fr; }
  .split { grid-template-columns: 1fr; gap: 40px; padding: 56px 0; }
  .split--rev .split__media { order: -1; }
  .split__media img { height: 340px; }
  .steps { grid-template-columns: 1fr 1fr; }
  .step::after { display: none; }
  .contact__grid { grid-template-columns: 1fr; }
  .foot__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .sec-head { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 48px; }
  .hero__stats { gap: 40px 56px; }
  .counters { grid-template-columns: 1fr 1fr; }
  .counters .c:nth-child(2) { border-right: 0; }
  .counters .c { border-bottom: 1px solid var(--line); }
  .counters .c:nth-child(n+3) { border-bottom: 0; }
}

@media (max-width: 640px) {
  .wrap { width: calc(100% - 44px); }
  .section { padding: 88px 0; }
  .hero__tag { font-size: 9px; letter-spacing: .18em; padding: 8px 12px; }
  .hero__inner { width: calc(100% - 44px); }
  .hero h1 .thin { letter-spacing: .22em; }
  .hero__scroll { display: none; }
  .hero__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 16px; }
  .biz-grid, .tech-grid, .ind-grid, .case-grid, .news-grid, .news-grid--3 { grid-template-columns: 1fr; }
  .adv-wrap, .pillar-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .split__cols, .mat-cols { grid-template-columns: 1fr; }
  .form { padding: 30px 22px; }
  .form__grid { grid-template-columns: 1fr; }
  .hero__stats { gap: 26px 40px; }
  .hero__stats .s b { font-size: 26px; }
  .hero__btns .btn { width: 100%; justify-content: center; }
  .foot__grid { grid-template-columns: 1fr; gap: 36px; }
  .page-nav a b { font-size: 14.5px; }
  .nav__inner { width: calc(100% - 40px); }
  .brand__cn { font-size: 17px; }
  .brand__mark { width: 34px; height: 34px; }
}

/* LIGHT THEME — white surfaces, pale blue gradients and image masks. */
body{font-size:16px;background:#fff;color:var(--text)}
.nav,.nav.scrolled{background:rgba(255,255,255,.93);border-bottom:1px solid var(--line);box-shadow:0 4px 20px #214f7b05}.nav__links a.lk:hover,.nav__links .drop-btn:hover,.nav__links a.active{color:#155bbb}.drop-menu{background:#fffffffa;box-shadow:0 16px 45px #24507720}.drop-menu a:hover,.biz__more:hover,.ind .more:hover{color:#174f98}.drop-menu a span{color:#60768c}.btn--ghost{background:#ffffffbb;border-color:#86a8ce;color:#24537f}.btn--ghost:hover{color:#174f98;background:#e9f2ff}.hero{background:linear-gradient(125deg,#fff,#edf5ff);min-height:850px}.hero__bg{left:30%}.hero__bg img{opacity:.73;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 36%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 36%)}.hero__bg::after{background:linear-gradient(90deg,#f8fbff 0%,#f8fbffde 12%,#f8fbff45 54%,#f8fbff0a 90%),linear-gradient(0deg,#fff 0%,#ffffff0a 45%,#f6faff55 100%)}.hero canvas{opacity:.18;pointer-events:none}.hero__inner{padding-top:120px;padding-bottom:95px}.hero h1{color:#17314c}.hero h1 .grad,.page-hero h1 .grad{background:linear-gradient(110deg,#12395e 15%,#2670cb 85%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero__tag{background:#f5faffce;border-color:#b2d0ef;color:#245e9f;letter-spacing:.22em}.hero__sub{color:#3b5874;max-width:610px;background:linear-gradient(90deg,#f7fbffaf,transparent);text-wrap:pretty}.hero h1 .thin{color:#4e6984}.hero__stats .s b,.counters .c b,.news__date b{color:#17314c}.hero__stats{gap:55px}.hero__stats .s span{color:#526b83}.hero__scroll{color:#496f92}.hero__scroll .line{background:linear-gradient(180deg,#377ac8,transparent)}
.section--alt{background:radial-gradient(ellipse at 90% 10%,#e4f0ff88,transparent 60%),linear-gradient(180deg,#f5f9fd,#edf5fb88,#fff);border:0}.section{padding:100px 0}.biz,.tech-card,.ind,.adv,.case,.news,.mat-col,.step,.pillar{background:linear-gradient(150deg,#fff,#f4f9ff);border-color:#dbe6f1;border-radius:9px}.biz:hover,.case:hover{box-shadow:0 18px 40px #254d7417;border-color:#8ab6e2}.biz__img:after,.case__img:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#ffffff26,transparent 45%)}.biz__no,.case__cat,.split__media .tag{color:#164e89;background:#fffffff0;border-color:#bfd7ef;z-index:1;border-radius:4px}.split__media img{border-radius:10px;box-shadow:0 15px 45px #315c7b12}.tech-card .icon,.ind .icon,.contact__list .ico{background:linear-gradient(135deg,#e5f2ff,#f4faff);border-color:#bed8f1;border-radius:8px}.biz__body p,.tech-card p,.ind p,.step p,.pillar p,.split__body p{font-size:15px}.tech-card .en,.ind .en,.biz__body h3 .en{color:#61788d}.chips span,.biz__feats span{border-color:#c0d7f0;background:#edf5ff;color:#2464ab}.counters .c{background:linear-gradient(150deg,#fff,#eef6ff)}.page-hero{background:radial-gradient(ellipse at 90% 15%,#c5ddfa99,transparent 60%),radial-gradient(ellipse at 5% 100%,#e0f4f699,transparent 65%),linear-gradient(180deg,#f4f9ff,#fff);border:0}.page-hero::before{opacity:.4;background-image:linear-gradient(#6397cb12 1px,transparent 1px),linear-gradient(90deg,#6397cb12 1px,transparent 1px)}.mat-nav a{background:#ffffffc9;border-color:#c0d4e8;color:#315d89;border-radius:20px}.mat-nav a:hover{color:#155bbb;background:#e5f0ff}.spec{border-color:#d3e0ed}.spec th{color:#3c5f80;background:#edf5fc}.spec td{background:#ffffffde;color:#405b75}.spec tr:nth-child(even) td{background:#f6faff}.cta-band{background:radial-gradient(ellipse at 80% 40%,#bad8ff66,transparent 65%),linear-gradient(120deg,#f4f9ff,#e8f2ff 55%,#f7fbff);border:0}.cta-band .glow{background:radial-gradient(circle,#9fc9ff40,transparent 62%)}.form{background:linear-gradient(135deg,#fff,#f3f8ff);box-shadow:0 18px 55px #234d7810}.field input,.field select,.field textarea{background-color:#fff;color:#234362;border-color:#b7cde2}.field input::placeholder,.field textarea::placeholder{color:#6a8095}.field label{color:#425e79}.form-status{color:#167441}.form-status.err{color:#bd3434}.page-nav{background:linear-gradient(90deg,#f4f9ff,#fff)}footer{background:linear-gradient(180deg,#f6faff,#eaf2fa);border-color:#d3e1ee}footer h4{color:#294f72}.foot__bottom{color:#5f768d}.item:focus-within .drop-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}a:focus-visible,button:focus-visible{outline:3px solid #4488d5;outline-offset:4px}strong[style*="color:#e9eef7"]{color:#183b5d!important}
@media(max-width:1080px){.nav__links{background:#fffffff7;box-shadow:0 15px 25px #23476914}.drop-menu{background:transparent;box-shadow:none}.item:focus-within .drop-menu{transform:none}.hero__bg{left:10%}.hero__bg::after{background:linear-gradient(90deg,#f7fbfff5,#f7fbffba 55%,#f7fbff66),linear-gradient(0deg,#fff,transparent 75%)}.hero__tag{max-width:100%;letter-spacing:.1em}.mat-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hero{min-height:850px}.hero__inner{padding-top:115px;padding-bottom:65px}.hero__bg{left:0}.hero__bg img{opacity:.3;mask-image:linear-gradient(0deg,transparent,#000 45%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 45%)}.hero__bg::after{background:linear-gradient(90deg,#f7fbffeb,#f7fbffb3),linear-gradient(0deg,#fff,transparent)}.hero h1{font-size:38px;line-height:1.2}.hero__tag{font-size:9px;letter-spacing:.08em;line-height:1.7}.hero__stats{margin-top:42px}.section{padding:70px 0}.mat-cols{grid-template-columns:1fr}.spec th,.spec td{padding:12px 8px;font-size:12px;word-break:break-word}.sec-head h2{overflow-wrap:anywhere}.page-hero{padding-top:135px;padding-bottom:65px}.hero h1 .thin{line-height:1.8}.split__media img{height:270px}}

/* Refined content layouts */
[hidden]{display:none!important}.content-photo{margin:0;min-width:0}.content-photo img{width:100%;height:280px;object-fit:contain;background:linear-gradient(135deg,#eef4fa,#e4edf5);border-radius:8px}.content-photo figcaption{font-size:12px;color:#61788e;line-height:1.8;margin-top:12px}.split>.content-photo img{height:390px;object-fit:contain}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.reference-grid h3{margin-top:20px;font-size:20px}.source-note{font-size:14px;color:#60758b;line-height:1.9;margin:16px 0}.visual-caption{font-size:12px;color:#526d88;margin-top:32px}.tech-card p{margin-top:16px;line-height:1.9}.hero h1{line-height:1.25}.hero__inner{padding-bottom:90px}.hero{min-height:740px}.hero__sub{max-width:630px}.table-scroll{overflow-x:auto}.spec td:first-child{width:24%;font-weight:600}.form #formStatus{font-size:14px;color:#2d5b88}.form #briefText{min-height:260px}.sec-head{margin-bottom:40px}.section .split{padding:0}.section .btn{margin-top:26px}.hero .btn{margin-top:0}.foot__slogan{letter-spacing:.1em}.item.open .drop-menu{visibility:visible}.nav__links .drop-menu a{line-height:1.7}@media(max-width:760px){.reference-grid{grid-template-columns:1fr;gap:30px}.content-photo img{height:280px}.split>.content-photo img{height:300px}.hero{min-height:740px}.hero h1{font-size:37px}.spec td:first-child{width:28%}}
/* Blend the conceptual product visual into the light layout; preserve sample photographs. */
.content-photo:has(img[src*="mesh-concept"]) img{background:#fff;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 87%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 86%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 87%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 86%,transparent);-webkit-mask-composite:source-in}

/* Company identity based on the supplied logo. */
.brand { gap: 10px; }
.brand__mark { width: 45px; height: 52px; object-fit: contain; }
.brand__cn { color: #062b73; font-size: 25px; font-weight: 800; letter-spacing: .04em; }
.brand__en { color: #062b73; font-size: 10.5px; font-weight: 500; letter-spacing: 0; margin-top: 4px; white-space: nowrap; }
@media (max-width: 640px) {
  .brand__mark { width: 36px; height: 42px; }
  .brand__cn { font-size: 21px; }
  .brand__en { font-size: 9px; }
}
/* Business presentation and mobile navigation */
.nav__actions{margin-left:auto;flex:none;display:flex;align-items:center}.nav__links{gap:20px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.project-card>div{padding:30px}.project-card h3{font-size:23px;line-height:1.5;margin:12px 0}.project-card p{color:var(--muted);margin-bottom:22px}.project-card figure{padding:20px 20px 0}.project-card .content-photo img{height:260px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-grid .biz__body{padding:26px 22px}.biz__img img{object-fit:cover}.service-grid .biz__img{height:180px}.service-grid .biz__body h3{font-size:20px}.hero .chips{margin-top:30px}.foot__grid li{font-size:14px;color:var(--muted)}
@media(max-width:1200px){.nav__inner{gap:20px}.nav__links{gap:8px}}
@media(max-width:1080px){.nav__actions{margin-left:auto;order:3}.burger{margin-left:auto}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.project-grid,.service-grid{grid-template-columns:1fr}.project-card>div{padding:24px}.project-card h3{font-size:21px}.hero{min-height:650px}.hero__inner{padding-top:100px}.hero h1{font-size:35px}.hero__sub{font-size:16px}.nav__inner{gap:12px}.brand{min-width:0}.project-card .content-photo img{height:230px}}

@media(max-width:1080px){.item:hover .drop-menu,.item.open .drop-menu{transform:none}.nav__links{margin-left:0}.burger{min-width:44px;min-height:44px}}

.footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px;padding:26px 0;border-top:1px solid var(--line)}.footer-contact a{color:#155bbb;overflow-wrap:anywhere}.footer-contact a:hover{text-decoration:underline}.contact-person{padding:24px;background:#edf5ff;border-radius:8px;margin-bottom:24px}.contact-person p{margin-top:10px;overflow-wrap:anywhere}@media(max-width:640px){.footer-contact{align-items:flex-start;flex-direction:column;gap:12px}}

.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-link{display:block;transition:box-shadow .2s,border-color .2s,transform .2s}.project-link:hover{border-color:#8ab6e2;box-shadow:0 14px 36px #254d7417;transform:translateY(-3px)}.project-link__more{display:block;margin-top:22px;color:#155bbb;font-weight:600}#cgm{scroll-margin-top:calc(var(--nav-h) + 24px)}@media(max-width:1080px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.service-grid{grid-template-columns:1fr}}

/* Keep the shared header aligned across all pages. */
html{scrollbar-gutter:stable}.nav__inner{justify-content:space-between}.nav__links{margin-left:auto;gap:4px}.nav__actions{margin-left:0}.nav__links .drop-btn.active,.drop-menu a[aria-current="page"]{color:#155bbb}.nav__links .drop-btn.active{box-shadow:inset 0 -2px #2e6ef5}
@media(min-width:1081px){.nav__actions{display:none}}
@media(max-width:1080px){.nav__links{margin-left:0}.nav__actions{display:flex;margin-left:auto}}

/* Company introduction and contact in one page. */
.company-photo{margin:0;min-width:0}.company-photo img{width:100%;height:auto;display:block;border-radius:12px}.company-photo figcaption{font-size:12px;color:var(--muted);margin-top:12px}.company-intro .split__body h2{margin:16px 0 22px;font-size:clamp(25px,3vw,37px);line-height:1.5}.company-intro .chips{margin-top:24px}.company-contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:40px;border:1px solid var(--line);border-radius:12px;background:#fff}.company-contact h3{font-size:25px}.company-contact p{color:var(--muted);margin-top:14px}.contact-details{display:grid;gap:22px}.contact-details span{display:block;color:var(--muted);font-size:13px}.contact-details strong{display:block;color:#155bbb;font-size:clamp(17px,2vw,23px);overflow-wrap:anywhere;margin-top:6px}#contact{scroll-margin-top:var(--nav-h)}@media(max-width:640px){.company-contact{grid-template-columns:1fr;gap:28px;padding:26px}.company-intro{gap:28px}}

/* Material-led technical presentation. */
.machining-hero{padding:145px 0 72px;background:linear-gradient(115deg,#f7faff,#edf3f8)}.machining-hero__grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px}.eyebrow{color:#516b84;font-size:14px;letter-spacing:.12em;margin-bottom:24px}.machining-hero h1{font-size:clamp(30px,3.2vw,46px);line-height:1.5;letter-spacing:-.03em}.machining-hero h1 span{color:#155bbb}.machining-hero__sub{font-size:18px;margin:22px 0;color:#405b75}.material-line{font-size:15px;color:#17314c}.hero-services{border-top:1px solid #cddbe8;margin-top:28px;padding-top:22px;font-size:14px;line-height:2.2}.hero-support{color:#526b83;font-size:13px;margin-top:18px}.hero-specimens>figure{margin:0}.hero-specimens>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.hero-specimens .content-photo img{height:230px;background:#fff;border:1px solid #d8e2ec;object-fit:contain}.hero-specimens>div .content-photo img{height:140px}.hero-specimens figcaption{font-size:11px;margin-top:6px}.material-overview{display:grid;grid-template-columns:1fr 1fr;gap:48px}.material-overview>div{border-left:3px solid #2364b3;padding-left:26px}.material-overview h3{font-size:22px;margin-bottom:14px}.material-overview p{font-size:16px;line-height:1.9}.process-gallery{display:grid;gap:56px}.process-row{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding:28px 0;border-bottom:1px solid #dce5ef}.process-row:last-child{border-bottom:0}.process-row--reverse .content-photo{order:2}.process-row .content-photo img{height:320px;background:#fff;object-fit:contain;border:1px solid #e1e7ee;border-radius:4px}.process-number{font-size:13px;color:#6b8196;letter-spacing:.15em}.process-row h3{font-size:30px;margin:10px 0 18px}.process-row p{font-size:16px;line-height:1.9;color:#526b83;max-width:420px}.application-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.application-strip>div{border-top:2px solid #bad1e8;padding-top:20px}.application-strip h3{font-size:22px;margin-bottom:10px}.application-strip p{font-size:14px;color:#526b83}.sales-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.sales-layout>img{width:100%;height:300px;object-fit:cover;border-radius:6px}.sales-layout h3{font-size:24px;margin-bottom:16px}.sales-layout p{color:#526b83}.biz,.tech-card,.step{box-shadow:none;background:#fff}.biz:hover,.case:hover{transform:none}.step:hover{transform:none}.section .no{letter-spacing:.12em}
@media(max-width:1080px){.machining-hero__grid{grid-template-columns:1fr;gap:36px}.machining-hero{padding-top:120px}.hero-specimens{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hero-specimens>div{margin-top:0}.hero-specimens .content-photo img{height:240px}.hero-specimens>div .content-photo img{height:240px}.hero-specimens>div{grid-template-columns:1fr}.hero-specimens>div figure:last-child{display:none}.process-row{gap:32px}.application-strip{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.machining-hero{padding:112px 0 48px}.machining-hero h1{font-size:29px}.machining-hero h1 br{display:none}.machining-hero__sub{font-size:16px}.hero-specimens{gap:10px}.hero-specimens .content-photo img,.hero-specimens>div .content-photo img{height:170px}.material-overview,.process-row,.sales-layout{grid-template-columns:1fr;gap:26px}.process-row--reverse .content-photo{order:0}.process-row .content-photo img{height:250px}.process-row h3{font-size:25px}.process-row{padding:20px 0 32px}.process-gallery{gap:22px}.material-overview{gap:32px}.application-strip{gap:24px 18px}.sales-layout>img{height:240px}.eyebrow{font-size:12px}}

/* Sourced industry imagery, with compact visible attribution. */
.reference-photo figcaption small{display:block;font-size:10px;line-height:1.7;margin-top:5px;color:#728397}.reference-photo figcaption a{color:#577792;text-decoration:underline;text-underline-offset:2px}.reference-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.reference-pair .content-photo img{height:320px;object-fit:contain;background:#f4f7fa;border:1px solid #e1e7ee}.split>.reference-photo img{height:380px;object-fit:contain}.industry-photo-grid{align-items:start}.industry-photo-grid .tech-card{padding:0;overflow:hidden}.industry-photo-grid .content-photo img{height:220px;object-fit:contain;border-radius:0;background:#f3f6f9}.industry-photo-grid figcaption{padding:0 20px;margin-top:12px;font-size:11px;min-height:65px}.industry-photo-grid h3{padding:18px 22px 0}.industry-photo-grid .tech-card>p{padding:0 22px 26px;margin-top:12px}.industry-photo-grid .reference-photo figcaption small{font-size:9px}@media(max-width:640px){.reference-pair{grid-template-columns:1fr;gap:30px}.reference-pair .content-photo img,.split>.reference-photo img{height:280px}.industry-photo-grid figcaption{min-height:0}.industry-photo-grid .content-photo img{height:250px}}

/* Homepage service carousel */
.hero-carousel{padding:138px 0 38px;background:linear-gradient(115deg,#f7faff,#edf3f8);outline-offset:-4px}.hero-carousel__stage{min-width:0}.hero-slide{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;min-height:440px;animation:heroSlideIn .5s ease both}.hero-slide__copy{min-width:0}.hero-slide h1,.hero-slide h2{font-size:clamp(28px,3.1vw,44px);line-height:1.55;letter-spacing:-.03em}.hero-slide h1 span,.hero-slide h2 span{color:#155bbb}.hero-slide__sub{font-size:17px;line-height:1.9;color:#405b75;margin:22px 0}.hero-slide__process{font-size:14px;border-top:1px solid #cddbe8;margin-top:26px;padding-top:20px;line-height:2}.hero-slide__image{margin:0;min-width:0}.hero-slide__image img{width:100%;height:370px;object-fit:contain;background:#fff;border:1px solid #dce5ee;border-radius:8px}.hero-slide__image figcaption{font-size:12px;color:#6b8196;margin-top:12px}.hero-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;border-top:1px solid #dce5ee;padding-top:20px}.hero-carousel__dots{display:flex;align-items:center;gap:8px}.hero-dot{border:0;background:transparent;padding:12px 3px;cursor:pointer}.hero-dot span{display:block;width:28px;height:3px;border-radius:2px;background:#b9cbde;transition:width .25s,background .25s}.hero-dot.is-active span{width:52px;background:#155bbb}.hero-carousel__actions{display:flex;align-items:center;gap:12px}.hero-carousel__actions button{height:40px;min-width:40px;border:1px solid #cad9e7;background:#fff;color:#234b72;border-radius:50%;cursor:pointer;font-size:19px}.hero-carousel__actions button:hover{border-color:#155bbb;background:#e7f0fc}.hero-carousel__actions .hero-carousel__play{border-radius:5px;font-size:12px;padding:0 12px;min-width:54px}.hero-carousel__count{font-size:12px;letter-spacing:.12em;color:#61788f;margin-right:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes heroSlideIn{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1080px){.hero-carousel{padding-top:112px}.hero-slide{gap:28px;min-height:430px}.hero-slide__image img{height:320px}.hero-slide h1,.hero-slide h2{font-size:30px}}
@media(max-width:760px){.hero-slide{grid-template-columns:1fr;gap:28px;min-height:660px;align-content:start}.hero-slide__copy{min-height:338px}.hero-slide__image img{height:260px}.hero-slide h1,.hero-slide h2{font-size:28px}.hero-slide .eyebrow{margin-bottom:16px}.hero-slide__sub{font-size:15px;margin:16px 0}.hero-slide .material-line{font-size:13px}.hero-slide__process{font-size:12px;margin-top:18px;padding-top:14px}.hero-slide .hero-support{font-size:11px;margin-top:12px}.hero-carousel__controls{margin-top:22px;gap:12px}.hero-carousel__actions{gap:8px}.hero-carousel__count{display:none}.hero-carousel__actions button{min-width:36px;height:36px}.hero-dot span{width:20px}.hero-dot.is-active span{width:36px}.hero-carousel{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none}.hero-dot span{transition:none}}
.hero-slide{animation:none}

/* Fixed homepage message over rotating full-width backgrounds. */
.hero-carousel--background{position:relative;isolation:isolate;overflow:hidden;padding:160px 0 34px;min-height:690px;background:#eef3f7}.hero-carousel--background .hero-carousel__stage{position:absolute;inset:var(--nav-h) 0 0;z-index:-3;pointer-events:none}.hero-background{position:absolute;inset:0}.hero-background img{width:100%;height:100%;object-fit:cover;object-position:70% center}.hero-carousel__veil{position:absolute;inset:var(--nav-h) 0 0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,#f5f9ff 0%,#f5f9fff5 30%,#f5f9ffd9 48%,#f5f9ff50 75%,#f5f9ff12 100%),linear-gradient(0deg,#f1f6fcdd,transparent 30%)}.hero-carousel__foreground{position:relative;z-index:1}.hero-carousel--background .hero-slide__copy{max-width:760px;min-height:390px}.hero-carousel--background h1{font-size:clamp(30px,3.4vw,48px);line-height:1.5;letter-spacing:-.03em}.hero-carousel--background h1 span{color:#155bbb}.hero-carousel--background .hero-slide__sub{max-width:650px}.hero-carousel--background .hero-slide__process{max-width:650px;border-color:#bacde0}.hero-background-note{font-size:11px;color:#526d88;margin-top:24px}.hero-carousel--background .hero-carousel__controls{border-color:#b8cadc;margin-top:20px}.hero-carousel--background .hero-carousel__actions button{background:#ffffffe6}.hero-carousel--background .eyebrow{color:#496782}.hero-carousel--background .hero-support{color:#435e79}@media(max-width:760px){.hero-carousel--background{padding:122px 0 28px;min-height:650px}.hero-carousel--background .hero-slide__copy{min-height:375px}.hero-carousel--background h1{font-size:30px}.hero-carousel--background .hero-carousel__veil{background:linear-gradient(90deg,#f5f9fff5,#f5f9ffd9 65%,#f5f9ffb8),linear-gradient(0deg,#f1f6fce6,transparent)}.hero-carousel--background .hero-background img{object-position:65% center}.hero-carousel--background .hero-background-note{margin-top:22px}.hero-carousel--background .hero-slide__sub{font-size:16px}.hero-carousel--background .hero-slide__process{font-size:13px}.hero-carousel--background .material-line{font-size:14px}.hero-carousel--background .hero-support{font-size:12px}}

/* Unified photographic page headers. */
.page-hero--photo{isolation:isolate;min-height:460px;padding:calc(var(--nav-h) + 76px) 0 58px;background:#edf3f8}.page-hero__background{position:absolute;inset:var(--nav-h) 0 0;z-index:-2;pointer-events:none}.page-hero__background img{width:100%;height:100%;object-fit:cover;object-position:var(--page-hero-position,center)}.page-hero--photo::before{inset:var(--nav-h) 0 0;z-index:-1;opacity:1;mask-image:none;-webkit-mask-image:none;background:linear-gradient(90deg,#f5f9fff7 0%,#f5f9ffe8 30%,#f5f9ffb3 53%,#f5f9ff24 83%,#f5f9ff08),linear-gradient(0deg,#f1f6fc77,transparent 55%);background-size:auto}.page-hero--photo .wrap{z-index:1}.page-hero--photo h1{max-width:940px;line-height:1.3}.page-hero--photo .sub{max-width:660px;color:#3b5874}.page-hero--photo .crumb{color:#496781}.page-hero--photo .page-hero__credit{margin-top:30px;max-width:760px;font-size:10px;line-height:1.8;color:#526d83;overflow-wrap:anywhere}.page-hero__credit a{text-decoration:underline;text-underline-offset:2px}.page-hero--photo .en-tag{color:#245f9f}@media(max-width:760px){.page-hero--photo{min-height:390px;padding:calc(var(--nav-h) + 44px) 0 36px}.page-hero--photo h1{font-size:32px;line-height:1.4}.page-hero--photo .sub{font-size:15px}.page-hero--photo::before{background:linear-gradient(90deg,#f5f9fff2,#f5f9ffdb 65%,#f5f9ffa6),linear-gradient(0deg,#f1f6fc88,transparent)}.page-hero--photo .page-hero__credit{font-size:9px;margin-top:22px}.page-hero--photo .en-tag{font-size:10px;letter-spacing:.16em}}

/* Clear industrial scenes: subdued text area, unobscured equipment. */
.hero-carousel--factory{background:#12283b;color:#fff}.hero-carousel--factory .hero-background img{object-position:65% 50%}.hero-carousel--factory .hero-carousel__veil{background:linear-gradient(90deg,#11283bf5 0%,#11283bdf 29%,#11283b7d 50%,#11283b18 76%,transparent)}.hero-carousel--factory h1{color:#fff}.hero-carousel--factory h1 span{color:#a9d3ff}.hero-carousel--factory .eyebrow,.hero-carousel--factory .hero-slide__sub,.hero-carousel--factory .material-line,.hero-carousel--factory .hero-slide__process,.hero-carousel--factory .hero-support{color:#e3edf7}.hero-carousel--factory .hero-background-note,.hero-carousel--factory .hero-carousel__count{color:#cad8e7}.hero-carousel--factory .hero-slide__process,.hero-carousel--factory .hero-carousel__controls{border-color:#bcd3e344}.hero-carousel--factory .hero-dot span{background:#a9c0d777}.hero-carousel--factory .hero-dot.is-active span{background:#fff}.page-hero--scene{background:#142b3f;min-height:480px;color:#fff}.page-hero--scene .page-hero__background{left:28%;background:#142b3f}.page-hero--scene::before{background:linear-gradient(90deg,#142b3f 0%,#142b3ff5 23%,#142b3fb3 42%,#142b3f28 63%,transparent 82%)}.page-hero--scene h1{color:#fff;max-width:720px;font-size:clamp(34px,4.1vw,54px)}.page-hero--scene .sub{color:#e1ebf4;max-width:620px}.page-hero--scene .crumb{color:#d1dfeb}.page-hero--scene .en-tag{color:#a9d3ff}.page-hero--scene .page-hero__credit{color:#c5d5e3}.page-hero--plain{background:#fff;min-height:360px;padding:calc(var(--nav-h) + 64px) 0 64px;border-bottom:1px solid var(--line)}.page-hero--plain::before{display:none}@media(max-width:760px){.hero-carousel--factory .hero-carousel__veil{background:linear-gradient(90deg,#11283bf0,#11283bc7 65%,#11283b8c)}.hero-carousel--factory .hero-background img{object-position:70% center}.page-hero--scene{min-height:410px}.page-hero--scene .page-hero__background{left:0}.page-hero--scene::before{background:linear-gradient(90deg,#142b3ff2,#142b3fc9 55%,#142b3f83)}.page-hero--scene h1{font-size:32px}.page-hero--plain{min-height:300px;padding:calc(var(--nav-h) + 44px) 0 44px}}

/* Carousel arrows on either side of the background. */
.hero-carousel__side{position:absolute;z-index:3;top:calc(50% + var(--nav-h)/2);transform:translateY(-50%);width:44px;height:64px;display:grid;place-items:center;padding:0;border:1px solid #ffffff55;border-radius:6px;background:#10283b55;color:#fff;font-size:42px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}.hero-carousel__side:hover{background:#10283bcc;border-color:#ffffffb3}.hero-carousel__prev.hero-carousel__side{left:14px}.hero-carousel__next.hero-carousel__side{right:14px}.hero-carousel--factory .hero-carousel__controls{justify-content:center;border-top:0;padding-top:0;margin-top:24px}.hero-carousel--factory .hero-slide__copy{padding-left:6px}@media(max-width:760px){.hero-carousel__side{width:30px;height:50px;font-size:32px;top:auto;bottom:23px;transform:none}.hero-carousel__prev.hero-carousel__side{left:14px}.hero-carousel__next.hero-carousel__side{right:14px}.hero-carousel--factory .hero-carousel__controls{min-height:44px;margin-top:18px}.hero-carousel--factory .hero-slide__copy{padding-left:0}}
@media(max-width:760px){.hero-carousel__side{top:74%;bottom:auto;transform:translateY(-50%);width:28px;background:#10283b99}.hero-carousel__prev.hero-carousel__side{left:4px}.hero-carousel__next.hero-carousel__side{right:4px}}

/* Two company contacts. */
.footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px}.footer-contact__person{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}.footer-contact__person strong{flex-basis:100%}.company-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.company-contacts .company-contact{display:block;padding:32px;min-width:0}.company-contacts .contact-details{margin-top:24px}.contact-details a:hover{text-decoration:underline}@media(max-width:760px){.footer-contact,.company-contacts{grid-template-columns:1fr}.footer-contact__person{align-items:flex-start;flex-direction:column;gap:10px}.company-contacts .company-contact{padding:26px}}

/* Compact company identity photo alongside the introduction. */
.company-overview{padding:64px 0 76px}.company-intro{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:64px;align-items:center}.company-intro .split__body h2{font-size:clamp(24px,2.3vw,32px);line-height:1.5;margin:12px 0 22px}.company-intro .split__body p{font-size:15px;line-height:1.95;max-width:690px}@media(max-width:1080px){.company-intro{grid-template-columns:minmax(0,1fr) 340px;gap:36px}}@media(max-width:760px){.company-overview{padding:40px 0 52px}.company-intro{grid-template-columns:1fr;gap:30px}.company-intro .split__body h2{font-size:24px}.company-intro .chips{margin-top:20px}}

/* About: direct introduction and open typographic beliefs. */
.company-overview{padding-top:calc(var(--nav-h) + 76px)}.company-intro .split__body h1{font-size:clamp(25px,2.5vw,36px);line-height:1.5;margin:12px 0 22px}.company-beliefs{position:relative;overflow:hidden;padding:78px 0 88px;background:#f4f8fc}.beliefs-heading{display:flex;align-items:center;gap:28px}.beliefs-heading .no{font-size:11px;letter-spacing:.16em;color:#2467bd}.beliefs-heading h2{font-size:18px;font-weight:500;color:#60778c}.belief-mission{position:relative;margin-top:46px;padding:0 0 56px;border-bottom:1px solid #cddce9}.belief-label{display:block;font-size:13px;letter-spacing:.18em;color:#536f89;margin-bottom:18px}.belief-mission p{position:relative;z-index:1;font-size:clamp(48px,6.5vw,88px);font-weight:800;letter-spacing:-.04em;line-height:1.25;color:#17314c}.belief-mission em{font-style:normal;color:#1e66b9}.belief-orbit{position:absolute;width:340px;height:340px;border:1px solid #b5cee4;border-radius:50%;right:7%;top:-4px;transform:rotate(-28deg)}.belief-orbit:before{content:'';position:absolute;inset:58px -76px;border:1px solid #b5cee4;border-radius:50%}.belief-orbit:after{content:'';position:absolute;width:16px;height:16px;background:#2467bd;border-radius:50%;left:18px;top:76px;box-shadow:0 0 0 10px #2467bd0c}.belief-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:40px}.belief-vision h3{font-size:clamp(23px,2.6vw,34px);line-height:1.65;font-weight:600;color:#284a69}.belief-values ul{display:flex;flex-wrap:wrap;gap:18px 0;margin-top:25px}.belief-values li{font-size:clamp(24px,2.7vw,36px);font-weight:600;color:#284a69;display:flex;align-items:center}.belief-values li:not(:last-child):after{content:'·';font-size:18px;color:#85a6c4;margin:0 20px}@media(max-width:760px){.company-overview{padding-top:calc(var(--nav-h) + 42px)}.company-intro .split__body h1{font-size:25px}.company-beliefs{padding:48px 0 54px}.beliefs-heading{display:block}.beliefs-heading h2{margin-top:10px;font-size:16px}.belief-mission{margin-top:32px;padding-bottom:36px}.belief-mission p{font-size:49px}.belief-orbit{width:190px;height:190px;right:-90px;top:20px;opacity:.55}.belief-orbit:before{inset:35px -40px}.belief-orbit:after{width:10px;height:10px;left:6px;top:50px}.belief-bottom{grid-template-columns:1fr;gap:30px;padding-top:30px}.belief-vision h3{font-size:24px}.belief-values ul{margin-top:10px}.belief-values li{font-size:25px}.belief-values li:not(:last-child):after{margin:0 14px}}

/* Refine the beliefs typography. */
.belief-mission{border-bottom:0}.belief-values ul{gap:18px 24px}.belief-values li{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;font-weight:900;font-style:italic;letter-spacing:.06em;transform:skewX(-7deg);background:linear-gradient(135deg,#102f53 8%,#246bc0 58%,#4991dc);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(1px 2px 0 #8ab4df25);padding-right:4px}.belief-values li:not(:last-child):after{display:none}@media(max-width:760px){.belief-values ul{gap:16px 22px}.belief-values li{font-size:26px}}

/* Keep image attribution separate from the company presentation. */
.image-credits{padding:14px 0;border-top:1px solid var(--line);font-size:11px;color:#6a7f92}.image-credits summary{cursor:pointer;display:list-item;width:fit-content}.image-credits ul{padding-top:12px;display:grid;gap:8px}.image-credits li{margin:0;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.image-credits a{text-decoration:underline;text-underline-offset:2px}

/* Matched, compact project links without nested interactive content. */
.focus-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}.focus-project{display:grid;grid-template-columns:42% minmax(0,1fr);min-width:0;min-height:290px;background:#fff;border:1px solid #d8e4ef;border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.focus-project:hover{border-color:#83add7;box-shadow:0 10px 30px #204d7612}.focus-project__image{display:flex;align-items:center;justify-content:center;min-width:0;background:#edf3f8;padding:18px}.focus-project__image img{display:block;width:100%;height:220px;object-fit:contain;border-radius:4px}.focus-project__content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px 24px}.focus-project__label{font-size:11px;letter-spacing:.1em;color:#627f99}.focus-project h3{font-size:22px;line-height:1.5;margin:12px 0}.focus-project p{font-size:14px;line-height:1.8;color:#526b83;margin-bottom:20px}.focus-project__more{display:flex;gap:12px;align-items:center;color:#155bbb;font-size:13px;font-weight:600;margin-top:auto}.focus-project__more span{font-size:20px}@media(min-width:761px) and (max-width:1080px){.focus-projects{gap:18px}.focus-project{grid-template-columns:36% minmax(0,1fr)}.focus-project__image{padding:10px}.focus-project__content{padding:24px 18px}.focus-project h3{font-size:19px}}
@media(min-width:1081px){.nav__links a.lk{padding-left:10px;padding-right:10px;font-size:14px}.nav__inner{gap:18px}.nav__links{gap:0}}
@media(max-width:1080px){.nav__links.open{background:#fff;backdrop-filter:none;box-shadow:0 18px 28px #17314c12}}

.processing-projects{display:grid;grid-template-columns:1fr 1fr;gap:48px}.processing-project{display:flex;gap:24px;padding:28px 0;border-top:2px solid #b7cfe6}.processing-project__number{font-size:40px;font-weight:300;line-height:1.2;color:#8facc7}.processing-project h3{font-size:25px;margin-bottom:12px}.processing-project p{color:var(--muted);margin-bottom:20px}.processing-project__more{color:#155bbb;font-weight:600;font-size:14px}.processing-project:hover{border-color:#2467bd}.processing-project:hover h3{color:#2467bd}@media(max-width:760px){.processing-projects{grid-template-columns:1fr;gap:8px}.processing-project{gap:18px;padding:20px 0}.processing-project h3{font-size:21px}.processing-project__number{font-size:32px}.processing-project p{font-size:14px;margin-bottom:12px}}

.page-hero--microscope .page-hero__background{left:34%;background:#fff}.page-hero--microscope .page-hero__background img{object-fit:contain;object-position:right center}.page-hero--microscope::before{background:linear-gradient(90deg,#142b3f 0%,#142b3f 30%,#142b3fe8 39%,#142b3f55 52%,transparent 66%)}@media(max-width:760px){.page-hero--microscope .page-hero__background{left:0}.page-hero--microscope .page-hero__background img{object-fit:cover;object-position:40% center}.page-hero--microscope::before{background:linear-gradient(90deg,#142b3ff5,#142b3fd9 55%,#142b3f9c)}}

.vision-demo__intro{max-width:760px;color:var(--muted);margin:-14px 0 30px}.vision-demo__screen img{width:100%;height:auto;border:1px solid var(--line);border-radius:6px}.vision-demo__screen figcaption,.vision-demo__diagram figcaption{margin-top:12px;font-size:12px;color:var(--muted)}.vision-demo__diagram img{width:100%;height:auto;border-radius:4px}.vision-setup{align-items:center}.vision-setup .split__body p+p{margin-top:16px;font-size:13px}@media(max-width:760px){.vision-demo__intro{font-size:14px;margin:-8px 0 18px}.vision-demo__screen figcaption,.vision-demo__diagram figcaption{font-size:11px}.vision-demo__diagram{max-width:460px}.vision-setup .split__body h3{font-size:21px}}

.vision-systems__intro{max-width:850px;color:var(--muted);margin:-10px 0 42px}.vision-system-group{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding:30px 0;border-top:1px solid var(--line-strong)}.vision-system-group__title span{font-size:11px;letter-spacing:.1em;color:var(--blue-2)}.vision-system-group__title h3{font-size:28px;margin-top:10px}.vision-system{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.vision-system:first-child{padding-top:0}.vision-system:last-child{border-bottom:0}.vision-system__number{font-size:14px;color:#6d8da9;padding-top:6px}.vision-system h3{font-size:21px;margin-bottom:8px}.vision-system p{color:var(--muted);font-size:14px;max-width:780px}.vision-systems__service{color:var(--blue-2);letter-spacing:.08em;font-size:14px;margin-top:20px}@media(max-width:760px){.vision-systems__intro{font-size:14px;margin-bottom:24px}.vision-system-group{grid-template-columns:1fr;gap:22px;padding:24px 0}.vision-system-group__title h3{font-size:23px;margin-top:4px}.vision-system{gap:16px;padding:18px 0}.vision-system h3{font-size:18px}.vision-systems__service{font-size:12px;margin-top:6px}}

.wearable-sensor-photo{display:block;width:100%;height:220px;background:#eee;overflow:hidden}@media(max-width:760px){.wearable-sensor-photo{height:160px}}


/* ========================================================= 首页：能力概览卡片 ========================================================= */
.capability-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch }
.capability-card { position:relative;background:#fff;border:1px solid #d8e4ef;border-radius:10px;padding:26px 22px 24px;transition:border-color .2s,box-shadow .2s }
.capability-card::before { content:"";position:absolute;top:0;left:22px;right:22px;height:2px;background:linear-gradient(90deg,#2e6ef5,transparent) }
.capability-card:hover { border-color:#83add7;box-shadow:0 10px 30px #204d7612 }
.capability-card__no { font-size:12px;letter-spacing:.16em;color:#627f99;font-weight:700 }
.capability-card h3 { font-size:18px;font-weight:800;margin:12px 0 10px }
.capability-card p { font-size:13.5px;line-height:1.85;color:#526b83 }
.capability-cta { margin-top:34px }
.capability-cta a { display:inline-flex;align-items:center;gap:10px;color:#155bbb;font-size:14px;font-weight:600 }
.capability-cta a:hover { color:#0f4b9c }
.capability-cta span { font-size:20px;transition:transform .25s }
.capability-cta a:hover span { transform:translateX(4px) }

/* ========================================================= 首页：横向服务流程条 ========================================================= */
.flow-rail { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-strong) }
.flow-rail__item { position:relative;padding:28px 26px 0 0 }
.flow-rail__item+.flow-rail__item { padding-left:26px;border-left:1px solid var(--line) }
.flow-rail__no { font-size:12px;letter-spacing:.18em;color:var(--blue-2);font-weight:700 }
.flow-rail h3 { font-size:18px;font-weight:800;margin:10px 0 8px }
.flow-rail p { font-size:13.5px;line-height:1.85;color:var(--muted) }

/* ========================================================= 章节交叉入口 ========================================================= */
.section-more { display:inline-flex;align-items:center;gap:10px;color:#155bbb;font-size:14px;font-weight:600;white-space:nowrap;padding-bottom:6px }
.section-more:hover { color:#0f4b9c }
.section-more span { font-size:20px;transition:transform .25s }
.section-more:hover span { transform:translateX(4px) }

@media(max-width:1080px){
.capability-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
}


/* ========================================================= 关于我们：唯一公司形象墙配图 ========================================================= */
.company-photo--wall { width:100%;max-width:100%;justify-self:end }
.company-photo--wall img { height:auto;width:100%;object-fit:contain;border-radius:8px;border:1px solid #dce4ed;box-shadow:0 14px 38px #183b5d0f }
.company-photo--wall figcaption { font-size:11px;color:#718397;text-align:center;margin-top:12px }
.company-note { font-size:14px;line-height:1.9;color:#60758b;margin-top:18px;max-width:560px }
@media(max-width:1080px){
.company-photo--wall { max-width:340px }
}
