@charset "utf-8";
/* ==========================================================================
   陕西异步西玛电机 v4.0 外观层
   设计体系：云白 Cloud White / 海军蓝 Navy / 皇家蓝 Royal Blue / 天青蓝 Azure
   CTA 点缀：天青蓝 Azure（同系双色蓝）
   响应式：桌面 >=1200 / 平板 768-1199 / 手机 <768
   ========================================================================== */

/* ---------- 1. 设计令牌（云白科技蓝版） ---------- */
:root{
  /* 深色面：海军蓝（顶栏/页脚/深色区） */
  --xm-ink:        #0A2A5E;
  --xm-ink-2:      #0E3A7C;
  --xm-ink-3:      #103F86;
  --xm-graphite:   #3E5273;
  --xm-steel:      #7E90AC;
  --xm-silver:     #C7D6EA;
  --xm-mist:       #DCE6F4;
  --xm-paper:      #F2F7FD;
  --xm-white:      #FFFFFF;

  /* 主色：皇家蓝（沿用 electric/amber 旧变量名，全局自动生效） */
  --xm-electric:   #1E6BFF;
  --xm-electric-d: #0D4FCC;
  --xm-electric-l: #EAF2FF;
  --xm-amber:      #00A3E0;
  --xm-amber-d:    #0082B8;
  --xm-amber-l:    #E5F6FD;
  --xm-gold-l:     #7FB8FF;

  /* 字体 */
  --font-cn: "Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  --font-title: "Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  --font-en: "Montserrat","Noto Sans SC","Helvetica Neue",Arial,sans-serif;

  /* 尺度 */
  --wrap: 1240px;
  --radius-s: 4px;
  --radius: 8px;
  --radius-l: 14px;

  /* 阴影：冷调蓝灰 */
  --sh-1: 0 1px 3px rgba(13,42,94,.07), 0 1px 2px rgba(13,42,94,.05);
  --sh-2: 0 4px 16px rgba(13,42,94,.09), 0 1px 4px rgba(13,42,94,.05);
  --sh-3: 0 12px 32px rgba(13,42,94,.13), 0 2px 8px rgba(13,42,94,.06);
  --sh-blue: 0 8px 24px rgba(30,107,255,.26);

  /* 动效 */
  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: .38s;

  --topbar-h: 40px;
  --header-h: 84px;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; padding:0;
  font-family:var(--font-cn);
  font-size:15px; line-height:1.75;
  color:var(--xm-graphite);
  background:var(--xm-white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{ margin:0; font-weight:700; line-height:1.3; color:var(--xm-ink); }
h1,h2,.xm-head__cn,.xm-about h2{ font-family:var(--font-title); letter-spacing:.03em; }
p{ margin:0 0 12px; }
a{ color:inherit; text-decoration:none; transition:color var(--dur) var(--ease), opacity var(--dur) var(--ease); }
a:hover{ color:var(--xm-electric); }
img{ max-width:100%; height:auto; display:block; border:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
button,input,select,textarea{ font-family:inherit; font-size:inherit; color:inherit; }
button{ cursor:pointer; border:0; background:none; }
table{ border-collapse:collapse; width:100%; }
:focus-visible{ outline:2px solid var(--xm-electric); outline-offset:2px; }

/* ---------- 3. 布局工具 ---------- */
.xm-wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 24px; }
.xm-section{ padding:80px 0; }
.xm-section--tint{ background:var(--xm-paper); }
.xm-section--dark{ background:var(--xm-ink); color:var(--xm-silver); }
.xm-section--dark h2,.xm-section--dark h3{ color:var(--xm-white); }
.xm-grid{ display:grid; gap:28px; }

/* 区块标题 */
.xm-head{ text-align:center; margin-bottom:48px; }
.xm-head__en{
  font-family:var(--font-en); font-size:13px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--xm-electric); display:block; margin-bottom:12px;
}
.xm-section--dark .xm-head__en{ color:var(--xm-amber); }
.xm-head__cn{
  font-size:34px; font-weight:700; letter-spacing:.02em;
  position:relative; display:inline-block; padding-bottom:16px;
}
.xm-head__cn::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:56px; height:3px; background:var(--xm-electric); border-radius:2px;
}
.xm-section--dark .xm-head__cn::after{ background:var(--xm-amber); }
.xm-head__sub{ margin-top:14px; color:var(--xm-steel); font-size:15px; }
.xm-section--dark .xm-head__sub{ color:#8C9AA8; }

/* 按钮 */
.xm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:46px; padding:0 26px; border-radius:var(--radius-s);
  font-size:15px; font-weight:600; letter-spacing:.02em;
  transition:all var(--dur) var(--ease); white-space:nowrap; border:1px solid transparent;
}
.xm-btn--primary{ background:var(--xm-electric); color:#fff; box-shadow:var(--sh-blue); }
.xm-btn--primary:hover{ background:var(--xm-electric-d); color:#fff; transform:translateY(-2px); box-shadow:0 12px 28px rgba(30,107,255,.32); }
.xm-btn--amber{ background:var(--xm-amber); color:#fff; }
.xm-btn--amber:hover{ background:var(--xm-amber-d); color:#fff; transform:translateY(-2px); }
.xm-btn--ghost{ border-color:var(--xm-silver); color:var(--xm-ink); background:transparent; }
.xm-btn--ghost:hover{ border-color:var(--xm-electric); color:var(--xm-electric); background:var(--xm-electric-l); }
.xm-btn--light{ border-color:rgba(255,255,255,.34); color:#fff; }
.xm-btn--light:hover{ background:#fff; color:var(--xm-ink); border-color:#fff; }

/* ---------- 4. 顶部工具条 ---------- */
.xm-topbar{ background:var(--xm-ink); color:#8FA6C6; font-size:13px; height:var(--topbar-h); }
.xm-topbar .xm-wrap{ display:flex; align-items:center; justify-content:space-between; height:100%; }
.xm-topbar__left{ display:flex; align-items:center; gap:18px; min-width:0; }
.xm-topbar__left span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xm-topbar__right{ display:flex; align-items:center; gap:16px; }
.xm-topbar a{ color:#8FA6C6; }
.xm-topbar a:hover{ color:var(--xm-amber); }
.xm-topbar__hot{ color:var(--xm-amber); font-family:var(--font-en); font-weight:700; letter-spacing:.02em; }
.xm-lang{ display:flex; align-items:center; gap:10px; }
.xm-lang a{ font-family:var(--font-en); font-size:12px; }
.xm-lang a::after{ content:""; }

/* ---------- 5. 主导航 ---------- */
.xm-header{
  position:sticky; top:0; z-index:900;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--xm-mist);
  transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.xm-header.is-stuck{ box-shadow:var(--sh-2); }
.xm-header__inner{ display:flex; align-items:center; gap:32px; height:var(--header-h); }
.xm-logo{ flex:0 0 auto; display:flex; align-items:center; gap:12px; }
.xm-logo img{ height:46px; width:auto; }
.xm-logo__text{ display:none; }

.xm-nav{ flex:1 1 auto; display:flex; justify-content:flex-end; }
.xm-nav__list{ display:flex; align-items:center; gap:4px; }
.xm-nav__item{ position:relative; }
.xm-nav__link{
  display:flex; align-items:center; gap:5px;
  height:var(--header-h); padding:0 16px;
  font-size:15px; font-weight:500; color:var(--xm-ink); white-space:nowrap;
}
.xm-nav__link:hover,.xm-nav__item.is-active>.xm-nav__link{ color:var(--xm-electric); }
.xm-nav__item.is-active>.xm-nav__link::after{
  content:""; position:absolute; left:16px; right:16px; bottom:22px; height:2px; background:var(--xm-electric);
}
.xm-nav__caret{ width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); opacity:.55; transition:transform var(--dur) var(--ease); }
.xm-nav__item:hover .xm-nav__caret{ transform:translateY(0) rotate(225deg); }

/* 下拉 */
.xm-drop{
  position:absolute; top:calc(100% - 8px); left:50%; transform:translateX(-50%) translateY(10px);
  min-width:212px; padding:10px; background:#fff;
  border:1px solid var(--xm-mist); border-radius:var(--radius);
  box-shadow:var(--sh-3); opacity:0; visibility:hidden; pointer-events:none;
  transition:all var(--dur) var(--ease);
}
.xm-nav__item:hover .xm-drop{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.xm-drop a{ display:block; padding:9px 14px; border-radius:var(--radius-s); font-size:14px; color:var(--xm-graphite); }
.xm-drop a:hover{ background:var(--xm-electric-l); color:var(--xm-electric-d); }

.xm-header__act{ flex:0 0 auto; display:flex; align-items:center; gap:12px; }
.xm-search{ position:relative; }
.xm-search__btn{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  border:1px solid var(--xm-mist); transition:all var(--dur) var(--ease);
}
.xm-search__btn:hover{ border-color:var(--xm-electric); background:var(--xm-electric-l); }
.xm-search__btn svg{ width:17px; height:17px; stroke:var(--xm-ink); }
.xm-search__panel{
  position:absolute; top:52px; right:0; width:320px; padding:8px;
  background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius);
  box-shadow:var(--sh-3); opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:all var(--dur) var(--ease); z-index:20;
}
.xm-search.is-open .xm-search__panel{ opacity:1; visibility:visible; transform:translateY(0); }
.xm-search__form{ display:flex; gap:8px; }
.xm-search__form input{
  flex:1; height:42px; padding:0 14px; border:1px solid var(--xm-mist);
  border-radius:var(--radius-s); background:var(--xm-paper); outline:none;
}
.xm-search__form input:focus{ border-color:var(--xm-electric); background:#fff; }
.xm-search__form button{ height:42px; padding:0 18px; border-radius:var(--radius-s); background:var(--xm-electric); color:#fff; font-weight:600; }
.xm-search__form button:hover{ background:var(--xm-electric-d); }

/* 汉堡 */
.xm-burger{ display:none; width:42px; height:42px; border:1px solid var(--xm-mist); border-radius:var(--radius-s); padding:11px 10px; flex-direction:column; justify-content:space-between; }
.xm-burger span{ display:block; height:2px; background:var(--xm-ink); border-radius:2px; transition:all var(--dur) var(--ease); }
.xm-burger.is-open span:nth-child(1){ transform:translateY(9px) rotate(45deg); }
.xm-burger.is-open span:nth-child(2){ opacity:0; }
.xm-burger.is-open span:nth-child(3){ transform:translateY(-9px) rotate(-45deg); }

/* 移动端抽屉 */
.xm-drawer{
  position:fixed; inset:0 0 0 auto; width:min(86vw,360px); background:#fff; z-index:1200;
  transform:translateX(100%); transition:transform var(--dur) var(--ease);
  display:flex; flex-direction:column; box-shadow:-8px 0 40px rgba(5,24,56,.16);
}
.xm-drawer.is-open{ transform:translateX(0); }
.xm-drawer__top{ display:flex; align-items:center; justify-content:space-between; height:64px; padding:0 20px; border-bottom:1px solid var(--xm-mist); font-weight:700; }
.xm-drawer__close{ width:36px; height:36px; display:grid; place-items:center; font-size:24px; color:var(--xm-steel); }
.xm-drawer__body{ flex:1; overflow-y:auto; padding:12px 0 24px; }
.xm-drawer__body>ul>li>a{ display:block; padding:14px 20px; font-size:16px; font-weight:500; border-bottom:1px solid var(--xm-paper); }
.xm-drawer__body .xm-sub{ display:none; background:var(--xm-paper); padding:6px 0; }
.xm-drawer__body .xm-sub.is-open{ display:block; }
.xm-drawer__body .xm-sub a{ display:block; padding:10px 20px 10px 36px; font-size:14px; color:var(--xm-steel); }
.xm-drawer__foot{ padding:20px; border-top:1px solid var(--xm-mist); display:grid; gap:10px; }
.xm-drawer__foot .xm-btn{ width:100%; }
.xm-mask{ position:fixed; inset:0; background:rgba(5,24,56,.5); z-index:1100; opacity:0; visibility:hidden; transition:all var(--dur) var(--ease); }
.xm-mask.is-open{ opacity:1; visibility:visible; }

/* ---------- 6. Hero ---------- */
.xm-hero{ position:relative; background:var(--xm-ink); overflow:hidden; }
.xm-hero__viewport{ position:relative; height:560px; }
.xm-hero__slide{
  position:absolute; inset:0; opacity:0; transition:opacity .8s var(--ease);
  background-size:cover; background-position:center;
}
.xm-hero__slide.is-active{ opacity:1; }
.xm-hero__slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,24,56,.9) 0%,rgba(5,24,56,.6) 45%,rgba(5,24,56,.3) 100%); }
.xm-hero__caption{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); z-index:2;
  max-width:720px; color:#fff;
}
.xm-hero__tag{
  display:inline-block; padding:5px 14px; margin-bottom:20px;
  border:1px solid rgba(255,255,255,.35); border-radius:100px;
  font-family:var(--font-en); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#fff;
}
.xm-hero__title{
  font-size:46px; font-weight:800; line-height:1.28; margin-bottom:18px; letter-spacing:.02em;
  background:linear-gradient(135deg,#FFFFFF 0%,#CFE2FF 45%,#7FB8FF 80%,#00A3E0 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.xm-hero__desc{ font-size:17px; line-height:1.8; color:#C9D9F2; margin-bottom:30px; max-width:600px; }
.xm-hero__acts{ display:flex; gap:14px; flex-wrap:wrap; }
.xm-hero__dots{ position:absolute; left:0; right:0; bottom:28px; z-index:3; display:flex; justify-content:center; gap:10px; }
.xm-hero__dots button{ width:32px; height:3px; background:rgba(255,255,255,.35); border-radius:2px; transition:all var(--dur) var(--ease); }
.xm-hero__dots button.is-active{ width:52px; background:var(--xm-amber); }

/* ---------- 7. 数据条 ---------- */
.xm-stats{ background:var(--xm-ink-2); padding:44px 0; }
.xm-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.xm-stat{ text-align:center; color:#fff; }
.xm-stat__num{ font-family:var(--font-en); font-size:40px; font-weight:800; color:var(--xm-amber); line-height:1; }
.xm-stat__num small{ font-size:20px; font-weight:700; margin-left:2px; }
.xm-stat__label{ margin-top:10px; font-size:14px; color:#8FA6C6; letter-spacing:.04em; }

/* ---------- 8. 产品中心 ---------- */
.xm-cats{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); overflow:hidden; box-shadow:var(--sh-1); }
.xm-cats__head{ padding:18px 22px; background:var(--xm-ink); color:#fff; }
.xm-cats__head h3{ color:#fff; font-size:17px; }
.xm-cats__head p{ margin:4px 0 0; font-family:var(--font-en); font-size:11px; letter-spacing:.18em; color:var(--xm-amber); text-transform:uppercase; }
.xm-cats__list{ padding:10px; }
.xm-cats__item>a{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 14px; border-radius:var(--radius-s); font-size:14.5px; color:var(--xm-graphite);
  transition:all var(--dur) var(--ease);
}
.xm-cats__item>a:hover{ background:var(--xm-electric-l); color:var(--xm-electric-d); padding-left:20px; }
.xm-cats__item .n{ font-family:var(--font-en); font-size:12px; color:var(--xm-silver); font-weight:700; }
.xm-cats__tel{ margin-top:12px; padding:18px; border-radius:var(--radius); background:var(--xm-paper); border:1px dashed var(--xm-silver); text-align:center; }
.xm-cats__tel span{ display:block; font-size:13px; color:var(--xm-steel); }
.xm-cats__tel b{ display:block; margin-top:6px; font-family:var(--font-en); font-size:20px; color:var(--xm-amber-d); letter-spacing:.02em; }

/* 产品卡片 */
.xm-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.xm-card{
  position:relative; background:#fff; border:1px solid var(--xm-mist);
  border-radius:var(--radius); overflow:hidden; transition:all var(--dur) var(--ease);
}
.xm-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-3); border-color:transparent; }
.xm-card__media{ position:relative; padding-top:74%; background:var(--xm-paper); overflow:hidden; }
.xm-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.xm-card:hover .xm-card__media img{ transform:scale(1.07); }
.xm-card__body{ padding:18px; }
.xm-card__title{ font-size:15.5px; font-weight:600; line-height:1.5; height:46px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.xm-card__more{ display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:13px; color:var(--xm-electric); font-weight:600; }
.xm-card:hover .xm-card__more{ gap:12px; }

/* ---------- 9. 案例（深色视差） ---------- */
.xm-cases{ position:relative; background-size:cover; background-position:center; background-attachment:fixed; }
.xm-cases::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,24,56,.92),rgba(5,24,56,.82)); }
.xm-cases .xm-wrap{ position:relative; z-index:2; }
.xm-cases__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.xm-case{ position:relative; border-radius:var(--radius); overflow:hidden; background:var(--xm-ink-3); }
.xm-case__media{ position:relative; padding-top:72%; overflow:hidden; }
.xm-case__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); opacity:.9; }
.xm-case:hover .xm-case__media img{ transform:scale(1.08); opacity:1; }
.xm-case__cap{ position:absolute; left:0; right:0; bottom:0; padding:30px 16px 14px; background:linear-gradient(transparent,rgba(5,24,56,.9)); }
.xm-case__cap p{ margin:0; color:#fff; font-size:14px; font-weight:500; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---------- 10. 优势 ---------- */
.xm-advs{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.xm-adv{
  position:relative; padding:34px 26px; background:#fff;
  border:1px solid var(--xm-mist); border-radius:var(--radius);
  transition:all var(--dur) var(--ease); overflow:hidden;
}
.xm-adv::before{ content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:var(--xm-electric); transform:scaleX(0); transform-origin:left; transition:transform var(--dur) var(--ease); }
.xm-adv:hover{ transform:translateY(-6px); box-shadow:var(--sh-3); border-color:transparent; }
.xm-adv:hover::before{ transform:scaleX(1); }
.xm-adv__num{ position:absolute; right:18px; top:12px; font-family:var(--font-en); font-size:56px; font-weight:800; color:var(--xm-paper); line-height:1; }
.xm-adv__icon{ width:56px; height:56px; margin-bottom:18px; border-radius:var(--radius); object-fit:contain; background:var(--xm-paper); padding:8px; }
.xm-adv h3{ font-size:18px; margin-bottom:10px; position:relative; }
.xm-adv p{ margin:0; font-size:14px; color:var(--xm-steel); line-height:1.8; position:relative; }

/* ---------- 11. 新闻 / 问答 ---------- */
.xm-news{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.xm-panel{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); overflow:hidden; }
.xm-panel__head{ display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--xm-mist); }
.xm-panel__head h3{ font-size:18px; }
.xm-panel__head a{ font-size:13px; color:var(--xm-steel); }
.xm-panel__head a:hover{ color:var(--xm-electric); }
.xm-panel__body{ padding:8px 24px 20px; }

.xm-featured{ display:grid; grid-template-columns:180px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--xm-paper); }
.xm-featured__img{ border-radius:var(--radius-s); overflow:hidden; background:var(--xm-paper); }
.xm-featured__img img{ width:100%; height:120px; object-fit:cover; transition:transform .6s var(--ease); }
.xm-featured:hover .xm-featured__img img{ transform:scale(1.06); }
.xm-featured h4{ font-size:16px; margin-bottom:8px; line-height:1.5; }
.xm-featured .d{ font-size:13.5px; color:var(--xm-steel); line-height:1.75; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.xm-featured .t{ font-family:var(--font-en); font-size:12px; color:var(--xm-silver); letter-spacing:.04em; }

.xm-line{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px dashed var(--xm-mist); }
.xm-line:last-child{ border-bottom:0; }
.xm-line a{ flex:1; font-size:14.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xm-line time{ font-family:var(--font-en); font-size:12.5px; color:var(--xm-silver); flex:0 0 auto; }

.xm-qa__item{ border-bottom:1px solid var(--xm-paper); }
.xm-qa__item:last-child{ border-bottom:0; }
.xm-qa__q{ display:block; padding:15px 0 6px; font-size:15px; font-weight:600; color:var(--xm-ink); }
.xm-qa__q:hover{ color:var(--xm-electric); }
.xm-qa__a{ font-size:13.5px; color:var(--xm-steel); line-height:1.75; padding-bottom:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------- 12. 关于我们 ---------- */
.xm-about{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.xm-about__eyebrow{ font-family:var(--font-en); font-size:13px; font-weight:700; letter-spacing:.22em; color:var(--xm-electric); text-transform:uppercase; margin-bottom:12px; }
.xm-about h2{ font-size:32px; margin-bottom:8px; }
.xm-about h3{ font-size:19px; color:var(--xm-steel); font-weight:500; margin-bottom:20px; }
.xm-about__text{ font-size:15px; line-height:2; color:var(--xm-graphite); margin-bottom:28px; }
.xm-about__acts{ display:flex; gap:14px; flex-wrap:wrap; }
.xm-about__video{ position:relative; border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--sh-3); background:var(--xm-ink); }
.xm-about__video video{ width:100%; display:block; aspect-ratio:16/10; object-fit:cover; }
.xm-about__badges{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:26px; }
.xm-badge{ display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--xm-paper); border-radius:var(--radius); border-left:3px solid var(--xm-electric); }
.xm-badge b{ display:block; font-size:14.5px; color:var(--xm-ink); }
.xm-badge span{ font-size:12.5px; color:var(--xm-steel); }

/* ---------- 13. 合作伙伴 ---------- */
.xm-partners{ display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.xm-partner{
  display:grid; place-items:center; padding:20px; background:#fff;
  border:1px solid var(--xm-mist); border-radius:var(--radius);
  filter:grayscale(1); opacity:.72; transition:all var(--dur) var(--ease);
}
.xm-partner:hover{ filter:grayscale(0); opacity:1; box-shadow:var(--sh-2); transform:translateY(-3px); }
.xm-partner img{ max-height:52px; width:auto; object-fit:contain; }

/* ---------- 14. 标签 ---------- */
.xm-tags{ padding:36px 0; background:var(--xm-paper); border-top:1px solid var(--xm-mist); }
.xm-tags__inner{ display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.xm-tags__title{ flex:0 0 auto; font-weight:700; color:var(--xm-ink); padding-top:6px; }
.xm-tags__list{ display:flex; flex-wrap:wrap; gap:10px; }
.xm-tags__list a{
  display:inline-block; padding:6px 14px; background:#fff; border:1px solid var(--xm-mist);
  border-radius:100px; font-size:13px; color:var(--xm-steel); transition:all var(--dur) var(--ease);
}
.xm-tags__list a:hover{ background:var(--xm-electric); border-color:var(--xm-electric); color:#fff; }

/* ---------- 15. 页脚 ---------- */
.xm-footer{ background:var(--xm-ink); color:#8FA6C6; padding:64px 0 0; }
.xm-footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px; }
.xm-footer h4{ color:#fff; font-size:15px; margin-bottom:18px; letter-spacing:.04em; }
.xm-footer__logo{ height:42px; margin-bottom:18px; }
.xm-footer__desc{ font-size:13.5px; line-height:1.9; margin-bottom:18px; }
.xm-contact{ display:grid; gap:10px; font-size:13.5px; }
.xm-contact li{ display:flex; gap:10px; }
.xm-contact b{ color:var(--xm-silver); font-weight:500; flex:0 0 42px; }
.xm-contact a,.xm-contact span{ color:#8FA6C6; }
.xm-contact a:hover{ color:var(--xm-amber); }
.xm-contact .hot{ font-family:var(--font-en); font-size:17px; font-weight:700; color:var(--xm-amber); }
.xm-footer__nav a{ display:block; padding:6px 0; font-size:13.5px; color:#8FA6C6; }
.xm-footer__nav a:hover{ color:#fff; padding-left:6px; }
.xm-qr{ text-align:center; }
.xm-qr img{ width:112px; height:112px; border-radius:var(--radius); background:#fff; padding:6px; margin:0 auto 8px; }
.xm-qr span{ font-size:12.5px; }
.xm-footer__bar{ border-top:1px solid rgba(255,255,255,.1); padding:20px 0; font-size:13px; }
.xm-footer__bar .xm-wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.xm-footer__bar a{ color:#8FA6C6; }
.xm-footer__bar a:hover{ color:var(--xm-amber); }
.xm-footer__links{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- 16. 移动端底栏 & 悬浮 ---------- */
.xm-mbar{
  position:fixed; left:0; right:0; bottom:0; z-index:950; display:none;
  grid-template-columns:repeat(4,1fr); background:#fff; border-top:1px solid var(--xm-mist);
  box-shadow:0 -4px 20px rgba(5,24,56,.08);
}
.xm-mbar a{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; height:56px; font-size:11px; color:var(--xm-graphite); }
.xm-mbar a svg{ width:20px; height:20px; stroke:var(--xm-electric); fill:none; stroke-width:1.8; }
.xm-mbar a.is-cta{ background:var(--xm-amber); color:#fff; }
.xm-mbar a.is-cta svg{ stroke:#fff; }

.xm-float{ position:fixed; right:18px; bottom:96px; z-index:940; display:grid; gap:10px; }
.xm-float a{
  width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
  background:#fff; box-shadow:var(--sh-2); border:1px solid var(--xm-mist);
  transition:all var(--dur) var(--ease);
}
.xm-float a:hover{ background:var(--xm-electric); border-color:var(--xm-electric); transform:translateY(-3px); }
.xm-float a:hover svg{ stroke:#fff; }
.xm-float svg{ width:21px; height:21px; stroke:var(--xm-electric); fill:none; stroke-width:1.8; }
.xm-float .to-top{ opacity:0; pointer-events:none; transition:all var(--dur) var(--ease); }
.xm-float .to-top.is-show{ opacity:1; pointer-events:auto; }

/* ---------- 16.5 补充组件 ---------- */
.xm-grid--cats{ grid-template-columns:280px 1fr; }
.xm-cats__sub{ padding:2px 0 8px 14px; }
.xm-cats__sub a{
  display:block; padding:7px 14px; font-size:13.5px; color:var(--xm-steel);
  border-left:2px solid var(--xm-mist); transition:all var(--dur) var(--ease);
}
.xm-cats__sub a:hover{ color:var(--xm-electric-d); border-left-color:var(--xm-electric); background:var(--xm-electric-l); }
.xm-tags--slim{ padding:24px 0; background:#fff; border-top:1px solid var(--xm-mist); border-bottom:1px solid var(--xm-mist); }
.xm-panel__list{ margin:0; }

/* ---------- 17. 滚动动效 ---------- */
.xm-reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.xm-reveal.is-in{ opacity:1; transform:none; }

/* ---------- 18. 响应式：平板 ---------- */
@media (max-width:1199px){
  :root{ --wrap:100%; }
  .xm-wrap{ padding:0 28px; }
  .xm-hero__viewport{ height:480px; }
  .xm-hero__title{ font-size:38px; }
  .xm-cards{ grid-template-columns:repeat(3,1fr); gap:18px; }
  .xm-cases__grid{ grid-template-columns:repeat(3,1fr); }
  .xm-advs{ grid-template-columns:repeat(2,1fr); }
  .xm-partners{ grid-template-columns:repeat(4,1fr); }
  .xm-footer__grid{ grid-template-columns:1fr 1fr 1fr; }
  .xm-nav__link{ padding:0 11px; font-size:14.5px; }
  .xm-header__inner{ gap:16px; }
  .xm-section{ padding:64px 0; }
}

/* ---------- 19. 响应式：手机 ---------- */
@media (max-width:767px){
  body{ font-size:14.5px; padding-bottom:56px; }
  .xm-wrap{ padding:0 16px; }
  .xm-topbar{ display:none; }
  .xm-header__inner{ height:62px; justify-content:space-between; }
  .xm-logo img{ height:34px; }
  .xm-nav{ display:none; }
  .xm-search{ display:none; }
  .xm-burger{ display:flex; }
  .xm-header__act .xm-btn--primary{ display:none; }

  .xm-hero__viewport{ height:400px; }
  .xm-hero__caption{ max-width:100%; padding:0 16px; }
  .xm-hero__title{ font-size:27px; line-height:1.34; }
  .xm-hero__desc{ font-size:14.5px; margin-bottom:22px; }
  .xm-hero__acts .xm-btn{ height:42px; padding:0 20px; font-size:14px; }
  .xm-hero__dots{ bottom:18px; }

  .xm-stats{ padding:30px 0; }
  .xm-stats__grid{ grid-template-columns:repeat(2,1fr); gap:22px 12px; }
  .xm-stat__num{ font-size:30px; }

  .xm-section{ padding:44px 0; }
  .xm-head{ margin-bottom:30px; }
  .xm-head__cn{ font-size:24px; }
  .xm-head__sub{ font-size:13.5px; }

  .xm-cards{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .xm-card__body{ padding:12px; }
  .xm-card__title{ font-size:14px; height:42px; }

  .xm-cases{ background-attachment:scroll; }
  .xm-cases__grid{ grid-template-columns:repeat(2,1fr); gap:12px; }

  .xm-advs{ grid-template-columns:1fr; gap:14px; }
  .xm-adv{ padding:24px 20px; }

  .xm-news{ grid-template-columns:1fr; gap:20px; }
  .xm-featured{ grid-template-columns:120px 1fr; gap:12px; }
  .xm-featured__img img{ height:84px; }

  .xm-about{ grid-template-columns:1fr; gap:28px; }
  .xm-about h2{ font-size:25px; }
  .xm-about__badges{ grid-template-columns:1fr; }

  .xm-partners{ grid-template-columns:repeat(3,1fr); gap:10px; }
  .xm-partner{ padding:12px; }
  .xm-partner img{ max-height:34px; }

  .xm-tags__inner{ gap:10px; }
  .xm-tags__list{ gap:8px; }
  .xm-tags__list a{ font-size:12.5px; padding:5px 12px; }

  .xm-footer{ padding-top:40px; }
  .xm-footer__grid{ grid-template-columns:1fr 1fr; gap:26px; padding-bottom:28px; }
  .xm-footer__col--brand{ grid-column:1 / -1; }
  .xm-qr{ grid-column:1 / -1; text-align:left; }
  .xm-qr img{ margin-left:0; }
  .xm-footer__bar .xm-wrap{ flex-direction:column; align-items:flex-start; gap:10px; }

  .xm-mbar{ display:grid; }
  .xm-float{ right:12px; bottom:70px; }
  .xm-float a{ width:42px; height:42px; }
}

@media (max-width:420px){
  .xm-cards{ grid-template-columns:1fr; }
  .xm-cases__grid{ grid-template-columns:1fr; }
  .xm-stats__grid{ grid-template-columns:repeat(2,1fr); }
  .xm-partners{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- 20. 打印 ---------- */
@media print{
  .xm-header,.xm-footer,.xm-float,.xm-mbar,.xm-topbar,.xm-hero{ display:none !important; }
  body{ color:#000; }
}

/* ---------- 21. 降级：无 JS ---------- */
.no-js .xm-reveal{ opacity:1; transform:none; }
.no-js .xm-hero__slide{ opacity:1; position:relative; }

/* ==========================================================================
   22. 内页公共：页头横幅 + 面包屑 + 布局
   ========================================================================== */
.xm-banner{
  position:relative; background:var(--xm-ink); color:#fff;
  padding:64px 0 58px; overflow:hidden;
}
.xm-banner::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(720px 300px at 85% -20%, rgba(30,107,255,.35), transparent 65%),
    radial-gradient(560px 260px at -10% 120%, rgba(0,163,224,.22), transparent 60%),
    linear-gradient(115deg, var(--xm-ink) 0%, #0E3A7C 100%);
}
.xm-banner::after{
  content:""; position:absolute; right:-40px; top:-40px; width:280px; height:280px;
  border:1px solid rgba(255,255,255,.08); border-radius:50%;
}
.xm-banner__inner{ position:relative; z-index:2; }
.xm-banner__en{
  font-family:var(--font-en); font-size:12px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--xm-gold-l); display:block; margin-bottom:12px;
}
.xm-banner h1{ font-size:34px; font-weight:800; color:#fff; letter-spacing:.02em; }
.xm-banner p{ margin:12px 0 0; color:#B9CBE8; font-size:14.5px; max-width:640px; }

.xm-crumbs{
  background:var(--xm-paper); border-bottom:1px solid var(--xm-mist);
  font-size:13.5px; color:var(--xm-steel);
}
.xm-crumbs .xm-wrap{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; min-height:46px; }
.xm-crumbs a{ color:var(--xm-graphite); }
.xm-crumbs a:hover{ color:var(--xm-electric); }
.xm-crumbs .sep{ color:var(--xm-silver); }
.xm-crumbs .cur{ color:var(--xm-electric); font-weight:600; }

.xm-inner{ display:grid; grid-template-columns:270px 1fr; gap:32px; align-items:start; padding:40px 0 72px; }
.xm-inner--rt{ grid-template-columns:1fr 270px; }

/* ---------- 23. 侧栏 ---------- */
.xm-side{ display:flex; flex-direction:column; gap:22px; position:sticky; top:20px; }
.xm-side__card{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); box-shadow:var(--sh-1); overflow:hidden; }
.xm-side__head{
  padding:14px 18px; background:linear-gradient(135deg, var(--xm-ink), var(--xm-ink-2));
  color:#fff; font-weight:700; font-size:15px; letter-spacing:.05em;
  display:flex; justify-content:space-between; align-items:baseline;
}
.xm-side__head em{ font-style:normal; font-family:var(--font-en); font-size:10.5px; letter-spacing:.18em; color:var(--xm-gold-l); text-transform:uppercase; }
.xm-cats{ list-style:none; margin:0; padding:6px 0; }
.xm-cats li{ position:relative; }
.xm-cats li>a{
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  padding:11px 18px; font-size:14px; color:var(--xm-graphite);
  border-left:3px solid transparent; transition:all var(--dur) var(--ease);
}
.xm-cats li>a:hover, .xm-cats li.is-on>a{
  color:var(--xm-electric-d); border-left-color:var(--xm-electric);
  background:var(--xm-electric-l); padding-left:22px;
}
.xm-cats li.is-on>a{ font-weight:700; }
.xm-cats .xm-cats__sub{ list-style:none; margin:0; padding:0 0 6px; background:#F8FBFF; }
.xm-cats .xm-cats__sub a{
  display:block; padding:8px 18px 8px 34px; font-size:13.5px; color:var(--xm-steel);
}
.xm-cats .xm-cats__sub a:hover{ color:var(--xm-electric); }
.xm-cats .xm-cats__sub a.is-on{ color:var(--xm-electric-d); font-weight:600; }

.xm-side__tel{ padding:18px; text-align:center; background:var(--xm-electric-l); }
.xm-side__tel span{ display:block; font-size:12.5px; color:var(--xm-steel); letter-spacing:.08em; }
.xm-side__tel b{ display:block; margin-top:6px; font-family:var(--font-en); font-size:21px; color:var(--xm-electric-d); }
.xm-side__news{ list-style:none; margin:0; padding:4px 0; }
.xm-side__news li+li{ border-top:1px dashed var(--xm-mist); }
.xm-side__news a{
  display:block; padding:11px 18px; font-size:13.5px; color:var(--xm-graphite); line-height:1.55;
}
.xm-side__news a:hover{ color:var(--xm-electric); }
.xm-side__news time{ display:block; font-size:12px; color:var(--xm-steel); margin-top:3px; }
.xm-side__contact{ padding:16px 18px; font-size:13.5px; color:var(--xm-graphite); line-height:2; }
.xm-side__contact b{ color:var(--xm-ink); }

/* ---------- 24. 内页正文容器 ---------- */
.xm-main__head{ margin-bottom:24px; }
.xm-main__head h2{ font-size:24px; padding-bottom:12px; border-bottom:2px solid var(--xm-mist); position:relative; }
.xm-main__head h2::after{ content:""; position:absolute; left:0; bottom:-2px; width:64px; height:2px; background:var(--xm-electric); }

.xm-grid2{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.xm-grid2 .xm-card{ margin:0; }

.xm-rows{ list-style:none; margin:0; padding:0; background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); overflow:hidden; }
.xm-rows li{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 20px; transition:background var(--dur) var(--ease); }
.xm-rows li+li{ border-top:1px solid var(--xm-mist); }
.xm-rows li:hover{ background:var(--xm-electric-l); }
.xm-rows a{ color:var(--xm-graphite); font-size:14.5px; line-height:1.6; flex:1; }
.xm-rows a::before{ content:"›"; color:var(--xm-electric); margin-right:8px; font-weight:700; }
.xm-rows a:hover{ color:var(--xm-electric-d); }
.xm-rows time{ font-family:var(--font-en); font-size:12.5px; color:var(--xm-steel); white-space:nowrap; }

.xm-dl{ list-style:none; margin:0; padding:0; }
.xm-dl li{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius-s); margin-bottom:12px; }
.xm-dl a{
  display:flex; align-items:center; gap:12px; padding:14px 18px; color:var(--xm-graphite); font-size:14.5px;
}
.xm-dl a::before{ content:"⬇"; color:var(--xm-electric); }
.xm-dl a:hover{ color:var(--xm-electric-d); background:var(--xm-electric-l); }
.xm-dl time{ margin-left:auto; font-size:12.5px; color:var(--xm-steel); }

/* ---------- 25. 分页 ---------- */
.xm-page{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:36px; }
.xm-page a, .xm-page span{
  min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 12px; border:1px solid var(--xm-mist); border-radius:var(--radius-s);
  background:#fff; font-size:14px; color:var(--xm-graphite);
  transition:all var(--dur) var(--ease);
}
.xm-page a:hover{ border-color:var(--xm-electric); color:var(--xm-electric); }
.xm-page span.current{ background:var(--xm-electric); border-color:var(--xm-electric); color:#fff; font-weight:700; }

/* ---------- 26. 详情页：产品 ---------- */
.xm-detail{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); padding:28px; box-shadow:var(--sh-1); }
.xm-detail__top{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,4fr); gap:32px; margin-bottom:28px; }
.xm-gallery__main{
  position:relative; padding-top:75%; background:var(--xm-paper);
  border:1px solid var(--xm-mist); border-radius:var(--radius-s); overflow:hidden; margin:0;
}
.xm-gallery__main img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.xm-gallery__thumbs{ display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:10px; }
.xm-gallery__thumbs button{
  position:relative; padding-top:74%; border:2px solid var(--xm-mist); border-radius:4px;
  background:var(--xm-paper); cursor:pointer; overflow:hidden; transition:border-color var(--dur) var(--ease); padding:0;
}
.xm-gallery__thumbs button img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.xm-gallery__thumbs button.is-on, .xm-gallery__thumbs button:hover{ border-color:var(--xm-electric); }
.xm-info h1{ font-size:24px; line-height:1.45; margin-bottom:16px; }
.xm-info__intro{ color:var(--xm-graphite); font-size:14.5px; line-height:1.9; margin:0 0 20px; }
.xm-info__acts{ display:flex; gap:12px; flex-wrap:wrap; }
.xm-info__tel{ margin-top:22px; padding:14px 16px; background:var(--xm-paper); border-radius:var(--radius-s); font-size:13.5px; color:var(--xm-steel); }
.xm-info__tel b{ display:block; font-family:var(--font-en); font-size:19px; color:var(--xm-electric-d); margin-top:4px; }

.xm-doc{ line-height:2; color:var(--xm-graphite); font-size:15px; overflow-wrap:break-word; }
.xm-doc img{ max-width:100%; height:auto; }
.xm-doc table{ width:100%; border-collapse:collapse; margin:14px 0; font-size:13.5px; }
.xm-doc th,.xm-doc td{ border:1px solid var(--xm-mist); padding:8px 12px; text-align:left; }
.xm-doc th{ background:var(--xm-paper); color:var(--xm-ink); }
.xm-doc h2,.xm-doc h3{ color:var(--xm-ink); margin:1.4em 0 .6em; }

.xm-prevnext{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:26px 0; }
.xm-prevnext span{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius-s); padding:13px 16px; font-size:13.5px; color:var(--xm-graphite); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.xm-prevnext a{ color:var(--xm-electric-d); }
.xm-prevnext a:hover{ text-decoration:underline; }

/* ---------- 27. 详情页：文章 ---------- */
.xm-article{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); padding:32px 36px; box-shadow:var(--sh-1); }
.xm-article h1{ font-size:23px; line-height:1.5; margin-bottom:10px; }
.xm-article__meta{ display:flex; gap:18px; flex-wrap:wrap; font-size:12.5px; color:var(--xm-steel); padding-bottom:16px; border-bottom:1px dashed var(--xm-mist); margin-bottom:20px; }

/* ---------- 28. 表单 ---------- */
.xm-form{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius); padding:28px; }
.xm-form__row{ display:grid; grid-template-columns:150px 1fr; gap:14px; align-items:center; margin-bottom:16px; }
.xm-form__row label{ font-size:14px; color:var(--xm-ink); font-weight:600; text-align:right; }
.xm-form__row .ctl{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.xm-form input[type=text],.xm-form input[type=email],.xm-form input[type=number],.xm-form input[type=tel],.xm-form select,.xm-form textarea{
  width:100%; max-width:460px; padding:11px 14px; border:1px solid var(--xm-mist); border-radius:var(--radius-s);
  font-size:14px; color:var(--xm-ink); background:#fff; outline:none; transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.xm-form textarea{ min-height:96px; resize:vertical; }
.xm-form input:focus,.xm-form select:focus,.xm-form textarea:focus{ border-color:var(--xm-electric); box-shadow:0 0 0 3px rgba(30,107,255,.12); }
.xm-form .radio-inline{ display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--xm-graphite); margin-right:16px; }
.xm-form .codeimg{ height:40px; border-radius:var(--radius-s); cursor:pointer; border:1px solid var(--xm-mist); }
.xm-form__acts{ display:flex; gap:12px; margin-top:8px; }
.xm-form__acts .xm-btn{ min-width:120px; text-align:center; }
.xm-form--plain .xm-form__row{ grid-template-columns:1fr; }
.xm-form--plain .xm-form__row label{ text-align:left; }

/* ---------- 29. 标签 / 搜索提示 / 404 / 站点地图 ---------- */
.xm-tagcloud{ display:flex; flex-wrap:wrap; gap:10px; }
.xm-tagcloud a{
  padding:8px 16px; border:1px solid var(--xm-mist); border-radius:100px;
  font-size:13.5px; color:var(--xm-graphite); background:#fff; transition:all var(--dur) var(--ease);
}
.xm-tagcloud a:hover{ border-color:var(--xm-electric); color:var(--xm-electric); background:var(--xm-electric-l); }

.xm-taglist{ list-style:none; margin:0; padding:0; }
.xm-taglist li{ background:#fff; border:1px solid var(--xm-mist); border-radius:var(--radius-s); padding:18px 20px; margin-bottom:14px; }
.xm-taglist h3{ font-size:16px; margin-bottom:8px; }
.xm-taglist h3 em{ font-style:normal; color:#E03E1A; }
.xm-taglist p{ margin:0; font-size:13.5px; color:var(--xm-steel); line-height:1.8; }
.xm-taglist p em{ font-style:normal; color:#E03E1A; }

.xm-404{ text-align:center; padding:60px 20px; }
.xm-404 b{ font-family:var(--font-en); font-size:88px; color:var(--xm-electric); line-height:1; display:block; }
.xm-404 p{ color:var(--xm-steel); margin:18px 0 26px; }

.xm-sitemap{ list-style:none; margin:0; padding:0; columns:2; column-gap:40px; }
.xm-sitemap li{ padding:7px 0; font-size:14px; break-inside:avoid; }
.xm-sitemap li.lv1{ padding-left:18px; }
.xm-sitemap li.lv2{ padding-left:38px; font-size:13px; color:var(--xm-steel); }
.xm-sitemap a{ color:var(--xm-graphite); }
.xm-sitemap a:hover{ color:var(--xm-electric); }

/* ---------- 30. 响应式（内页） ---------- */
@media (max-width:1199px){
  .xm-inner,.xm-inner--rt{ grid-template-columns:240px 1fr; gap:24px; }
  .xm-inner--rt{ grid-template-columns:1fr 240px; }
}
@media (max-width:767px){
  .xm-banner{ padding:44px 0 40px; }
  .xm-banner h1{ font-size:26px; }
  .xm-inner,.xm-inner--rt{ grid-template-columns:1fr; padding:24px 0 56px; }
  .xm-side{ position:static; }
  .xm-grid2{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .xm-detail__top{ grid-template-columns:1fr; gap:20px; }
  .xm-detail,.xm-article,.xm-form{ padding:20px 16px; }
  .xm-gallery__thumbs{ grid-template-columns:repeat(4,1fr); }
  .xm-prevnext{ grid-template-columns:1fr; }
  .xm-form__row{ grid-template-columns:1fr; gap:6px; }
  .xm-form__row label{ text-align:left; }
  .xm-form input[type=text],.xm-form input[type=email],.xm-form input[type=number],.xm-form input[type=tel],.xm-form select,.xm-form textarea{ max-width:none; }
  .xm-sitemap{ columns:1; }
  .xm-article{ padding:20px 16px; }
}

/* ---------- 31. 图文列表（产品展示 / 案例展示 栏目页） ---------- */
.xm-tlist{ display:flex; flex-direction:column; gap:18px; }
.xm-tlist__item{
  display:grid; grid-template-columns:268px 1fr; gap:0;
  background:var(--xm-white); border:1px solid var(--xm-mist);
  border-radius:var(--radius); overflow:hidden;
  transition:box-shadow .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.xm-tlist__item:hover{ transform:translateY(-3px); box-shadow:var(--sh-3); border-color:transparent; }
.xm-tlist__media{ position:relative; display:block; height:184px; background:var(--xm-paper); overflow:hidden; }
.xm-tlist__media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.xm-tlist__item:hover .xm-tlist__media img{ transform:scale(1.07); }
.xm-tlist__media::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:linear-gradient(90deg,var(--xm-electric),var(--xm-amber));
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.xm-tlist__item:hover .xm-tlist__media::after{ transform:scaleX(1); }
.xm-tlist__body{ padding:22px 26px; display:flex; flex-direction:column; justify-content:center; }
.xm-tlist__title{ font-size:19px; font-weight:700; line-height:1.45; margin:0 0 10px; }
.xm-tlist__title a{
  color:var(--xm-ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; transition:color .25s var(--ease);
}
.xm-tlist__item:hover .xm-tlist__title a{ color:var(--xm-electric); }
.xm-tlist__desc{
  font-size:14px; line-height:1.85; color:var(--xm-graphite); margin:0 0 16px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.xm-tlist__meta{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; padding:0; list-style:none; }
.xm-tlist__meta li{
  font-size:12.5px; color:var(--xm-ink-2); background:var(--xm-paper);
  border:1px solid var(--xm-mist); border-radius:20px; padding:3px 11px;
}
.xm-tlist__more{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  font-size:13.5px; font-weight:600; color:var(--xm-electric);
  border-bottom:2px solid transparent; padding-bottom:2px;
  transition:gap .3s var(--ease), border-color .3s var(--ease);
}
.xm-tlist__item:hover .xm-tlist__more{ gap:14px; border-color:var(--xm-electric); }
.xm-tlist__empty{ padding:40px 0; color:var(--xm-steel); text-align:center; }

@media (max-width:1199px){
  .xm-tlist__item{ grid-template-columns:200px 1fr; }
  .xm-tlist__media{ height:152px; }
  .xm-tlist__body{ padding:16px 20px; }
  .xm-tlist__title{ font-size:17px; }
}
@media (max-width:767px){
  .xm-tlist{ gap:14px; }
  .xm-tlist__item{ grid-template-columns:1fr; }
  .xm-tlist__media{ height:196px; }
  .xm-tlist__body{ padding:16px; }
  .xm-tlist__title{ font-size:16.5px; margin-bottom:8px; }
  .xm-tlist__desc{ -webkit-line-clamp:3; margin-bottom:12px; }
}
/* 描述为空时不占位（兼容数据缺 description 的条目） */
.xm-tlist__desc:empty{ display:none; }
