/* ============================================================
   希雨官网模板样式（严格按 Figma 桌面1440/内容1200 规格）
   - 色：#00CCB0 / #0155A4 / rgba 与 opacity 全以 Figma fills 返回为准
   - 背景：必须引用 assets/images/figma/figma-*.png 的真实文件名
   - secHead：.center 居中（贵金属/产品/客户案例/新闻/品牌）；.left 居左（服务支持/关于）
   ============================================================ */
/* ============================================================
   重置：中和 simpleboot5 / bootstrap 对 nav / .row / ul 等 element/class 的预设
   （必须写在 :root 之前、* 之后，按高特异性覆盖）
   ============================================================ */
nav.xy-nav,
body > .xy-nav,
body header.xy-nav {
    all: unset;
    display: block;
    box-sizing: border-box;
}

:root {
    --xy-primary: #00CCB0;
    --xy-primary-15: rgba(0, 204, 176, .12);
    --xy-primary-65: rgba(0, 204, 176, .65);
    --xy-blue: #0A3D91;
    --xy-dark: #0F2233;
    --xy-footer-dark: #0E1E33;
    --xy-text: #000;
    --xy-text-75: rgba(0, 0, 0, .75);
    --xy-text-70: rgba(0, 0, 0, .7);
    --xy-text-50: #585858;
    --xy-line: rgba(0, 0, 0, .15);
    --xy-line-03: rgba(0, 0, 0, .03);
    --xy-line-05: rgba(0, 0, 0, .05);
    --xy-gray-bg: #F5F5F5;
    --xy-white-75: rgba(255, 255, 255, .75);
    --xy-nav-bg: rgba(10, 22, 40, .18); /* Figma #260:2736 Rectangle 填充：暖深棕 15% + backdrop-filter，透出背后内容（banner区暖金、内容区深色）毛玻璃效果 */
    --xy-font: "Source Han Sans CN VF", "Source Han Sans CN", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    --xy-din: "D-DIN", "DIN Alternate", "Bahnschrift", Arial, sans-serif;
    --xy-w: 1200px;
    --xy-gap-19: 19px;
}
* { box-sizing: border-box; }
html, body { box-sizing: border-box; }
body { font-family: var(--xy-font); color: var(--xy-text); font-size: 16px; line-height: 1.5; background: #fff; margin: 0; }
body.body-white, body { background-color: #FFFFFF; }
/* Figma 内页全画板背景 = #F5F5F5（内页各段卡片在灰底上浮动白卡） */
body.body-white .xy-wg + .xy-wg { background: transparent; }
body.body-white main,
body.body-white section.body-area,
body.body-white > section:not([class*="xy-nav"]):not([class*="xy-footer"]):not([class*="xy-form"]):not([class*="xy-stats"]):not([class*="xy-banner"]):not([class*="xy-inner"]) {
    background: transparent;
}
/* 直接给所有「内页（非首页）」的非 Banner/Footer 区设灰底：用 body.inner-page 统一，或给 widget 外层加容器。
   简单做法：所有 xy-product-list / xy-product-detail / xy-tree 所在的主区域背景 #F5F5F5 */
body:has(.xy-product-list),
body:has(.xy-product-detail) {
    background-color: #F5F5F5;
}
/* 防 bootstrap / simpleboot5 对 widget 内部 ul/li 的 padding/margin/list-style 干扰 */
body .xy-nav .menu,
body .xy-nav .menu li,
body .xy-footer .cols ul,
body .xy-footer .cols li { list-style: none; margin: 0; padding: 0; }
body .xy-stats > .row,
body .xy-stats .row {
    /* 清掉 bootstrap .row 的 -15px margin + flex-wrap + flex-direction 干扰 */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
}
/* 关于区左文右图：桌面端强制 grid，避免被任何 flex 预设覆盖 */
body .xy-about > .xy-container > .top {
    flex-direction: unset !important;
    flex-wrap: nowrap !important;
}
.xy-container { width: var(--xy-w); max-width: 96%; margin: 0 auto; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--xy-primary); }
.placeholder-tip { padding: 60px; border: 1px dashed var(--xy-primary); color: var(--xy-primary); text-align: center; background: #eef5ff; }
.xy-wg { padding: 0 0 60px; }
i.ln { display: block; width: 76px; height: 3px; background: var(--xy-text-50); opacity: .2; margin: 10px 0; }
i.ln-org { margin-top: -3px; width: 40px; background: var(--xy-primary); opacity: 1; }

/* 统一 CTA 胶囊（Figma #260:19342/#260:19324/#260:19284：单胶囊 135×42 r21，文字 x23 左对齐 16px，
   右内嵌 28×28 圆箭头 @ (98,7)（实心=白圈85%+橙箭头；空心=橙15%底+橙描边+橙圈白箭头） */
.xy-cta { position: relative; display: flex; align-items: center; width: 135px; height: 42px; border-radius: 21px; }
.xy-cta .btn { flex: 1; min-width: 0; height: 42px; line-height: 27px; padding-left: 23px;
    font-size: 16px; text-align: left; display: block; }
.xy-cta .arr { position: absolute; right: 7px; top: 7px; width: 28px; height: 28px; border-radius: 50%; flex: none;
    display: flex; align-items: center; justify-content: center; font-size: 14px; }
.xy-cta.solid { background: var(--xy-primary); }
.xy-cta.solid .btn { color: #fff; }
.xy-cta.solid .arr { background: rgba(255, 255, 255, .85); color: var(--xy-primary); }
.xy-cta.ghost-orange { background: var(--xy-primary-15); border: 1px solid var(--xy-primary); }
.xy-cta.ghost-orange .btn { color: var(--xy-primary); }
.xy-cta.ghost-orange .arr { background: var(--xy-primary); color: #fff; }

/* 区块标题（Figma 统一结构：h2 32/40 Medium500 rgba(0,0,0,.75) → 橙线 60×3 (+6) → sub 14/22 #585858 (+6)；
   贵金属/产品/新闻/案例/服务支持 居中；暗底区块(.light) h2/sub 均 #FFFFFF） */
.xy-sec-head { margin-bottom: 40px; }
.xy-sec-head h2 { font-size: 32px; line-height: 40px; font-weight: 500;
    color: var(--xy-text-75); margin: 0; letter-spacing: 0; }
.xy-sec-head i.bar { display: block; width: 60px; height: 3px; background: var(--xy-primary); margin: 6px auto 0; }
.xy-sec-head .sub { font-size: 14px; line-height: 22px; color: var(--xy-text-50); margin: 6px 0 0; }
.xy-sec-head.center { text-align: center; }
.xy-sec-head.left { text-align: left; }
.xy-sec-head.left i.bar { margin-left: 0; }
.xy-sec-head.light h2 { color: #fff; }
.xy-sec-head.light .sub { color: #fff; }

/* ================= 导航（设计稿 JPG 实测：1200×64 白磨砂胶囊 圆角 50 + 黑字；下拉面板仍为磨砂深色小面板）
   使用 body .xy-nav 高特异性 + 关键属性 !important，避免被 bootstrap/simpleboot5 覆盖
   ================= */
body .xy-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1030 !important;
    padding: 26px 0 0 !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #FFFFFF !important; /* Figma 磨砂深色胶囊 + 白字；透出 banner/内容实际深浅 */
}
body .xy-nav .inner {
    width: var(--xy-w) !important;
    max-width: calc(100% - 48px) !important;
    margin: 0 auto !important;
    height: 64px !important;
    min-height: 64px !important;
    border-radius: 50px !important;
    background: var(--xy-nav-bg) !important;
    background-color: var(--xy-nav-bg) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    backdrop-filter: blur(16px) saturate(1.3);
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 24px 0 13px !important;
    border: none !important;
    color: #FFFFFF !important; /* 磨砂胶囊内文字/图标统一为白（悬停、激活仍走橙色） */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
body .xy-nav .logo img { height: 38px; display: block; }
body .xy-nav .menu {
    display: flex !important;
    align-items: center !important;
    gap: 29px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    flex-wrap: nowrap !important;
}
body .xy-nav .menu > li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: list-item !important;
}
body .xy-nav .menu > li > a {
    color: #FFFFFF !important; /* 磨砂深色胶囊 + 白字，与 Figma fills_658ab2fa(#FFF) 一致 */
    font-size: 16px !important;
    padding: 20px 0 !important;
    display: block !important;
    line-height: 24px !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
}
body .xy-nav .menu > li > a:hover,
body .xy-nav .menu > li.active > a { color: var(--xy-primary) !important; }
body .xy-nav .menu > li > a i.fa-angle-down { margin-left: 4px; font-size: 12px; opacity: .95; color: var(--xy-primary) !important;}
/* 兜底：Bootstrap .dropdown-toggle::after 实心 caret 禁止出现在导航（防第三方/后台菜单再次引入类名导致图标重复） */
body .xy-nav .dropdown-toggle::after { display: none !important; content: none !important; }
body .xy-nav .right {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    color: #FFFFFF !important; /* 右侧搜索/电话/语言全白 */
}
body .xy-nav .right .tel { font-family: var(--xy-din); font-size: 16px; }
body .xy-nav .right .tel i,
body .xy-nav .right .lang i.fa { margin-right: 4px; }
body .xy-nav .right .lang i.fa-globe { vertical-align: middle; }
body .xy-nav .right .search { cursor: pointer; font-size: 16px; }
body .xy-nav .hamburger { display: none; }
/* 语言下拉（Figma #23:14151 #275:121830：116×90，圆角10 黑10%磨砂，顶部橙箭头，内边距 上14/左30/下14；
   面板相对「中文」trigger：右溢 24px、顶部 calc(100%+25px)，箭头居中对齐） */
body .xy-nav .right .lang { position: relative; height: 24px; display: inline-flex; align-items: center; cursor: default; }
body .xy-nav .right .lang .lang-panel {
    position: absolute; top: calc(100% + 25px); right: -24px;
    width: 116px; box-sizing: border-box;
    padding: 14px 0 14px 30px;
    border-radius: 10px;
    /* Figma #23:14151 #275:121830：深色磨砂玻璃，厚实凝实 */
    background: rgba(20, 14, 12, .62);
    -webkit-backdrop-filter: blur(24px) saturate(1.5);
    backdrop-filter: blur(24px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 10px 40px rgba(0, 0, 0, .45);
    display: none; z-index: 1050;
}
body .xy-nav .right .lang:hover .lang-panel,
body .xy-nav .right .lang.open .lang-panel { display: block; }
/* 顶部橙色小箭头（8.2×4.36 橙三角 ▲，居中于面板→对齐上方「中文」trigger：right=116/2-4=54） */
body .xy-nav .right .lang .lang-panel::before {
    content: ''; position: absolute; top: -8px; right: 54px;
    border-left: 4px solid transparent; border-right: 4px solid transparent;
    border-bottom: 4px solid var(--xy-primary);
}
/* 悬停桥：填补面板与“中文”间全部空隙（面板 top:100%+25px，桥需覆盖满 25px） */
body .xy-nav .right .lang .lang-panel::after { content: ''; position: absolute; top: -25px; left: 0; right: 0; height: 25px; }
body .xy-nav .right .lang .lang-panel a {
    display: block; font-size: 14px; line-height: 22px; color: #fff !important;
    text-decoration: none !important; margin-bottom: 10px; white-space: nowrap; position: relative;
}
body .xy-nav .right .lang .lang-panel a:last-child { margin-bottom: 0; }
body .xy-nav .right .lang .lang-panel a.on,
body .xy-nav .right .lang .lang-panel a:hover { color: var(--xy-primary) !important; }
/* 简体中文橙色下划线（SVG 烘焙线：24×1.5 @ 文字底 0px、左缩进 2px） */
body .xy-nav .right .lang .lang-panel a.on::after {
    content: ''; position: absolute; left: 2px; bottom: -2px;
    width: 24px; height: 1.5px; background: var(--xy-primary);
}
/* 搜索（Figma #23:14151：展开为 180×30 磨砂胶囊输入框；展开时隐藏电话并置于“中文”左侧） */
body .xy-nav .right .search { display: flex; align-items: center; cursor: pointer; }
body .xy-nav .right .search i.fa-search { font-size: 16px; }
body .xy-nav .right .search input {
    width: 0; opacity: 0; padding: 0; border: none; outline: none;
    height: 30px; border-radius: 15px; box-sizing: border-box;
    background: rgba(255, 255, 255, .15); /* 深色磨砂胶囊上叠加亮白 15% 透雾层 */
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    backdrop-filter: blur(20px) saturate(1.4);
    color: #FFFFFF; font-size: 12px; margin-right: 0; cursor: text;
    transition: width .25s ease, opacity .2s ease, padding .25s ease, margin .25s ease;
}
/* Figma #188:402 placeholder=白 opacity=0.75 (Caption/Note) */
body .xy-nav .right .search input::placeholder { color: rgba(255, 255, 255, .75); }
body .xy-nav .right .search.open input { width: 180px; opacity: 1; padding: 0 14px; margin-right: 4px; }
body .xy-nav .right.searching .search { order: -1; }
body .xy-nav .right.searching .tel { display: none !important; }
/* 产品中心下拉（Figma #23:14151 #275:121829：透明浮层 + 磨砂链接面板 180×250，圆角10 黑10%，
   悬于“产品中心”菜单项正下方 5px（箭头顶），内边距 上25/左33/下23；展开时 Banner 压暗至 75%） */
body .xy-nav .nav-mega {
    position: absolute !important;
    top: calc(100% + 5px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 180px !important;
    max-width: none !important;
    height: auto !important;
    display: none;
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 1050 !important;
}
body .xy-nav .menu > li:hover .nav-mega,
body .xy-nav .menu > li.open .nav-mega { display: block !important; }
/* 悬停桥：覆盖面板顶 -10px 空隙（含箭头行），避免 hover 闪断 */
body .xy-nav .nav-mega::after { content: ''; position: absolute; top: -10px; left: -40px; right: -40px; height: 10px; }
body .xy-nav .nav-mega .panel {
    width: 180px; box-sizing: border-box;
    margin-top: 10px;
    padding: 35px 0 23px 33px; /* Figma 首文字 y=35（面板内）→ 上内边距 35；左=33/下=23 同原图实测 */
    border-radius: 10px;
    /* Figma #23:14151 #275:121829：深色磨砂玻璃，厚实凝实 */
    background: rgba(20, 14, 12, .62);
    -webkit-backdrop-filter: blur(24px) saturate(1.5);
    backdrop-filter: blur(24px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 10px 40px rgba(0, 0, 0, .45);
}
/* 顶部橙色小箭头（SVG #275:121829 实测：8.2×4.36 @ 面板矩形上方 10px，中心 x=90） */
body .xy-nav .nav-mega .panel::before {
    content: ''; position: absolute; top: -10px; left: 85.8px;
    border-left: 4.1px solid transparent; border-right: 4.1px solid transparent;
    border-bottom: 4.36px solid var(--xy-primary);
}
/* 链接：14/22 白字 + 0 0 3px 黑影（Figma effect_27441425），行顶距 34（22+12） */
body .xy-nav .nav-mega .panel a {
    display: block !important;
    padding: 0 !important;
    margin: 0 0 12px !important;
    border: none !important;
    font-size: 14px !important;
    line-height: 22px !important;
    color: #fff !important;
    text-shadow: 0 0 3px rgba(0, 0, 0, .75);
    white-space: nowrap;
    text-decoration: none !important;
    position: relative;
}
body .xy-nav .nav-mega .panel a:last-child { margin-bottom: 0 !important; }
body .xy-nav .nav-mega .panel a.on,
body .xy-nav .nav-mega .panel a:hover { color: var(--xy-primary) !important; }
/* 首项橙色下划线（Figma #188:389：25×1.5 stroke，文字底 y=152/线 y=154 → 底部 2px、左 1px） */
body .xy-nav .nav-mega .panel a.on::after {
    content: ''; position: absolute; left: 1px; bottom: -2px;
    width: 25px; height: 1.5px; background: var(--xy-primary);
}
/* 修复 ThinkCMF navigationFolder 模板重复渲染 mega（1 个 LI 里出现 2 个 .nav-mega）→ 隐藏后续重复 */
body .xy-nav .menu > li > .nav-mega ~ .nav-mega { display: none !important; }
body .xy-nav .nav-sub { display: none !important; }

/* ================= 首页 Banner（Figma #280:3170：1440×620 黑底 + Figma banner 原图 居中标题）
   原图已做色阶处理（黑场55/增益1.9 → 灰底压黑、坩埚高光保留），与设计稿 JPG 对齐，无需再叠遮罩 */
.xy-banner { height: 620px; background: #000 center/cover no-repeat; position: relative; }
/* Mega/菜单展开时 Banner 压暗至 75%（Figma #23:14151：image opacity .75，文字保持全亮 → 压暗层置于文字之下） */
.xy-banner::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .25);
    opacity: 0; pointer-events: none; transition: opacity .25s ease; z-index: 1; }
body.xy-mega-open .xy-banner::after { opacity: 1; }
.xy-banner .cap { position: absolute; inset: 0; z-index: 2;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 0 20px; }
.xy-banner h2 { color: #fff; font-size: 54px; line-height: 60px; font-weight: 500; margin: 0 0 38px;
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 1); }
.xy-banner p { color: #fff; font-size: 20px; line-height: 28px; font-weight: 400; margin: 0 0 68px; max-width: 720px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, .75); }
/* Banner CTA（Figma #260:19279：135×42 橙胶囊 + 28×28 半透明圆箭头 @ (98,7)，文字 x20 起） */
.xy-banner .cta-row { position: relative; display: block; width: 135px; height: 42px; margin: 0 auto;
    background: var(--xy-primary); border-radius: 21px; }
.xy-banner .cta-row .xy-btn { display: block; height: 42px; line-height: 42px; padding-left: 20px;
    font-size: 16px; color: #fff; text-align: left; }
.xy-banner .cta-row .arr { position: absolute; right: 7px; top: 7px; width: 28px; height: 28px; display: block;
    background: url(../images/figma/banner-arrow.svg) center/cover no-repeat; }
.xy-banner .cta-row .arr i { display: none; }
.xy-banner .dots { position: absolute; left: 50%; bottom: 92px; transform: translateX(-50%); z-index: 2;
    display: flex; gap: 19px; padding: 4px 12px; border-radius: 10px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .3); }
.xy-banner .dots span { display: block; width: 10px; height: 10px; border-radius: 50%;
    background: #fff; opacity: .6; transition: all .25s; cursor: pointer; }
.xy-banner .dots span.on { background: var(--xy-primary); opacity: 1; width: 22px; border-radius: 5px; }
/* 轮播层：多图淡入淡出（数据源=后台幻灯片管理） */
.xy-banner .slides { position: absolute; inset: 0; z-index: 0; }
.xy-banner .slide { position: absolute; inset: 0; background: #000 center/cover no-repeat;
    opacity: 0; transition: opacity .7s ease; }
.xy-banner .slide.on { opacity: 1; }
/* 左右切换箭头：悬停 Banner 时浮现 */
.xy-banner .nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 46px; height: 46px; border-radius: 50%; background: rgba(0, 0, 0, .35);
    color: #fff; font-size: 30px; display: flex;justify-content: center;align-items: center;
    opacity: 0; visibility: hidden; transition: all .3s; }
.xy-banner:hover .nav { opacity: 1; visibility: visible; }
.xy-banner .nav:hover { background: var(--xy-primary); }
.xy-banner .nav.prev { left: 40px; }
.xy-banner .nav.next { right: 40px; }
/* 文案切换渐隐渐显 */
.xy-banner .cap.swap h2, .xy-banner .cap.swap p { opacity: 0; }
.xy-banner .cap h2, .xy-banner .cap p { transition: opacity .3s ease; }

/* ================= 数据展现 Stats（Figma #280:3169：1200×150 圆角 25 / figma-stats-bg 浮层 -76）
   强制覆盖 bootstrap .row 预设（flex / -15px 负 margin 会让 margin-top: -76px 失效 / 导致背景图不显示）
   ================= */
body .xy-stats { padding: 0 !important; width: 100% !important; }
body .xy-stats > .row,
body .xy-stats .row {
    width: var(--xy-w) !important;
    max-width: calc(100% - 48px) !important;
    /* Figma #280:3169：Stats y=549 h=151 → 上叠 Banner 底 71px（620-549） */
    margin: -71px auto 0 !important;
    margin-top: -71px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    height: 151px !important;
    min-height: 151px !important;
    border-radius: 25px !important;
/* Stats 底图 = Figma MCP 直接下载节点 #188:12（Stats节最底层独立 IMAGE-SVG 背景，
   1200×150 圆角25px，天然包含渐变+纹理+圆角，不含文字/分隔线）。
   严格遵循您的要求：「从 figma 上把底图下载下来就好了」，不再自己画像素或做拟合。 */
    background-color: transparent !important;
    background-image: url(../images/figma/figma-stats-bg-direct.png) !important;
    background-size: 100% 100% !important;   /* @2x 精确铺满 stats.row 1200×150 容器，不拉伸 */
    background-position: 0 0 !important;
    background-repeat: no-repeat !important;
    /* box-shadow: 0 12px 40px rgba(0, 0, 0, .10) !important; */
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: 1fr !important;
    position: relative !important;
    z-index: 2 !important;
    padding: 0 !important;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
body .xy-stats .item { text-align: center; padding: 26px 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    position: relative; width: auto; float: none; }
body .xy-stats .item + .item::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 1px; height: 45px; background: var(--xy-primary); }
body .xy-stats .num { font-size: 54px; line-height: 60px; font-weight: 300; color: var(--xy-primary); letter-spacing: 0; }
body .xy-stats .num small { font-size: 18px; font-weight: 300; margin-left: 2px; }
body .xy-stats .num .unit-14 { font-size: 14px; font-weight: 400; margin-left: 2px; }
body .xy-stats .txt { font-size: 14px; line-height: 22px; color: var(--xy-text-50); margin-top: 10px; font-weight: 400; }

/* ================= 贵金属系列（Figma #280:3168：1440×774；image13 底图 opacity 0.15；居中secHead；2×4=8 卡 286×220 gap 19）
   Figma：贵金属 y=619 ≈ Banner 底(620)，Stats 浮层(y549+151=700) 下沿压住本区顶 81px → margin-top:-80
   ================= */
.xy-precious { height: 774px; padding: 0; position: relative; overflow: hidden;
    background: #fff url(../images/figma/figma-precious-bg-352a99.png) center/cover no-repeat }
.xy-precious::after { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.xy-precious > .xy-container { position: relative; z-index: 1; padding: 127px 0 0; }
.xy-precious .xy-sec-head { margin-bottom: 33px; }
/* 8 卡 286×220：卡1橙75%白字；白卡=白60%+橙描边1px r15+橙标题20/28+橙下划线69×2+黑75%描述14/22+右下元素图60×69@(192,128) */
.xy-precious .grid { display: grid; grid-template-columns: repeat(4, 286px); grid-auto-rows: 220px;
    justify-content: center; gap: 21px 19px; }
.xy-precious .card { position: relative; display: block; width: 286px; height: 220px; border-radius: 15px;
    border: 1px solid var(--xy-primary); background: rgba(255, 255, 255, .6); transition: background .3s; }
.xy-precious .card .body { position: absolute; left: 32px; top: 24px; width: 220px; }
.xy-precious .card h4 { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--xy-primary); margin: 0; transition: color .3s; }
.xy-precious .card .ln { display: block; width: 69px; height: 2px; background: var(--xy-primary); margin: 8px 0 0; transition: background .3s; }
.xy-precious .card p { font-size: 14px; line-height: 22px; color: rgba(0, 0, 0, .75); margin: 14px 0 0; transition: color .3s; }
.xy-precious .card .ele { position: absolute; left: 192px; top: 128px; width: 60px; height: 69px;
    /* 默认态：把 PNG 的灰色元素图标重着色为橙色 var(--xy-primary) */
    filter: brightness(0) invert(55%) sepia(93%) saturate(1233%) hue-rotate(10deg) brightness(106%) contrast(102%); transition: filter .3s; }
/* 黄底白字：仅鼠标经过或点击（.on=点击选中态）时出现 */
.xy-precious .card:hover, .xy-precious .card.on { background: rgba(0, 204, 176, .75); }
.xy-precious .card:hover h4, .xy-precious .card.on h4,
.xy-precious .card:hover p, .xy-precious .card.on p { color: #fff; }
.xy-precious .card:hover .ln, .xy-precious .card.on .ln { background: #fff; }
/* hover/选中态：元素图标变白（与 Figma 设计一致） */
.xy-precious .card:hover .ele, .xy-precious .card.on .ele { filter: brightness(0) invert(1); }

/* ================= 我们的产品（Figma #280:3167：1440×800 #000底 + image101 满铺无遮罩；
   头部 @(615,55) 210×77 白字；内容 1200×540 六列×200：
   首列激活 = 橙 #00CCB0@60% 面板 + 白icon + 白名16/24；其余 white75；
   第3-6列左侧 1px 白线@50%；列内 y73 icon → y149 name → y195 desc 12/18 w161 justify → y474 30×30 白圆环箭头）
   ================= */
.xy-products { height: 800px; padding: 0; position: relative; color: #fff; overflow: hidden;
    background: #000 url(../images/figma/figma-products-bg-clean.png) center/cover no-repeat; }
/* Figma image101 带压暗滤镜（API 不导出）；实测设计稿背景亮度 32.2 vs 原图 174.7 → 黑遮罩 0.82 */
.xy-products::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .82);
    pointer-events: none; z-index: 0; }
.xy-products > .xy-container { position: relative; z-index: 1; padding: 55px 0 0; }
.xy-products .xy-sec-head { margin-bottom: 53px; }
/* 六列 flex 布局：hover 时该列 flex-grow 平滑增大（宽度丝滑展开），移出后恢复均分 */
.xy-products .tabs { display: flex; height: 540px; }
.xy-products .col { position: relative; display: flex; flex-direction: column; align-items: center;
    flex: 1 1 0%; min-width: 0;
    text-align: center; color: var(--xy-white-75);
    transition: flex-grow .5s cubic-bezier(.33, 0, .2, 1), background-color .3s, color .3s; }
.xy-products .col:nth-child(n+3) { border-left: 1px solid rgba(255, 255, 255, .5); }
.xy-products .col .ico { margin-top: 73px; height: 53px; display: flex; align-items: center; justify-content: center; }
.xy-products .col .ico img { display: block; }
.xy-products .col .name { margin-top: 23px; font-size: 16px; line-height: 24px; }
.xy-products .col .desc { margin: 22px 0 0; width: 161px; font-size: 12px; line-height: 18px;
    text-align: justify; }
.xy-products .col .go { position: absolute; top: 474px; left: 50%; transform: translateX(-50%);
    width: 30px; height: 30px;
    background: url(../images/figma/product-circle-btn.svg) center/contain no-repeat; }
/* 黄底白字：仅鼠标经过时出现，同时该列宽度平滑增加 */
.xy-products .col:hover, .xy-products .col.on { flex-grow: 1.55; background: rgba(0, 204, 176, .6); color: #fff; }
.xy-products .col:hover .name, .xy-products .col.on .name { color: #fff; }

/* ================= 品牌横幅 / Slogan（Figma #280:3166：Mask group opacity .35 导出图自带 35% 透明度，
   直接铺白底即可，无需再叠白罩；文字 Medium 40/48 #0155A4 @(306,60) 828×48 居中） ================= */
.xy-brand { height: 168.75px; padding: 0; position: relative; overflow: hidden;
    background: #fff url(../images/figma/figma-supplier-bg.png) center/cover no-repeat; }
.xy-brand-inner { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 0 20px; }
.xy-brand-inner h3 { font-size: 40px; line-height: 48px; font-weight: 500; color: var(--xy-blue); margin: 0; text-align: center; }

/* ================= 服务支持（Figma #280:3165：1440×451 image107@0.35（白罩.65 等效）；
   内容组 1107×326 居中 y60：头部 210×77 居中（+68 → 项 y145）：
   4 项 = icon 100×100 → 标题 20/28 Regular400 #000 (+21) → 副文 16/24 rgba(0,0,0,.7) (+8)，无卡片）
   ================= */
.xy-support { height: 451px; padding: 0; position: relative; overflow: hidden;
    background: url(../images/figma/figma-support-bg-2bc0f2.png) center/cover no-repeat; }
.xy-support::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .65); z-index: 0; pointer-events: none; }
.xy-support > .xy-container { position: relative; z-index: 1; padding: 60px 0 0; }
.xy-support .sup-wrap { width: 1107px; max-width: 100%; margin: 0 auto; }
.xy-support .xy-sec-head { margin-bottom: 68px; }
.xy-support .grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.xy-support .item { display: block; text-align: center; }
.xy-support .item .ico { display: flex; justify-content: center; }
.xy-support .item .ico img { width: 100px; height: 100px; display: block; }
.xy-support .item h4 { font-size: 20px; line-height: 28px; font-weight: 400; color: #000; margin: 21px 0 0; }
.xy-support .item p { font-size: 16px; line-height: 24px; color: rgba(0, 0, 0, .7); margin: 8px 0 0; }

/* ================= 新闻动态（Figma #280:3164：1440×655；image108 底 opacity 0.25；居中secHead；4 卡 286×340 boxShadow 0 0 10 rgba(0,0,0,.25)；底部 135×42 查看更多按钮组） ================= */
.xy-news { min-height: 655px; padding: 0 0 28px; position: relative; overflow: hidden; }
.xy-news::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .75); z-index: 0; pointer-events: none; }
.xy-news > .xy-container { position: relative; z-index: 1; padding-top: 80px; }
.xy-news .grid { display: grid; grid-template-columns: repeat(4, 286px); justify-content: center; gap: 19px; }
.xy-card-n { background: #fff; display: block; transition: all .25s; width: 286px; height: 340px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .25); }
.xy-card-n:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(0, 0, 0, .18); }
.xy-card-n .pic { height: 191px; width: 100%; background-size: cover; background-position: center; }
.xy-card-n .body { padding: 14px 16px 16px; height: 149px; display: flex; flex-direction: column; }
.xy-card-n h4 { font-size: 16px; line-height: 24px; font-weight: 500; color: #1A1A1A; margin: 0 0 6px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.xy-card-n .cap { font-size: 12px; line-height: 18px; color: var(--xy-text-50); margin: 0 0 10px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.xy-card-n .meta { margin-top: auto; display: flex; align-items: center; gap: 8px; }
.xy-card-n .meta i.bar { display: block; width: 6px; height: 14px; background: var(--xy-primary); }
.xy-card-n .meta .date { font-size: 10px; line-height: 14px; color: var(--xy-text-50); }
.xy-news .more, .xy-container .more { margin-top: 40px; display: flex; justify-content: center; }

/* ================= 客户案例（Figma #280:3163：1440×656；image14 底 opacity 0.25；居中secHead；
   分类导航 882.5×45 白底 #CCC 0.75 描边 r35 @head+25（全部=橙胶囊125×40 白字，7槽×125）；
   1200×364 logo 墙 白底 + 8 大高校/院所 SVG logo，与导航间距 36） ================= */
.xy-cases { min-height: 656px; padding: 0 0 80px; position: relative; overflow: hidden;
    background: #fff url(../images/figma/figma-cases-bg-503809.png) center/cover no-repeat; }
.xy-cases::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .75); z-index: 0; pointer-events: none; }
.xy-cases > .xy-container { position: relative; z-index: 1; padding-top: 80px; }
.xy-cases .xy-sec-head { margin-bottom: 25px; }
.xy-cases .cats { width: 882.5px; max-width: 100%; min-height: 45px; margin: 0 auto 36px;
    background: #fff; border: .75px solid #ccc; border-radius: 35px;
    display: flex; align-items: center; padding: 2.5px 2px 2.5px 3px; }
.xy-cases .cats a { flex: 0 0 125px; height: 40px; line-height: 40px; text-align: center;
    font-size: 16px; color: var(--xy-text); border-radius: 35px; }
.xy-cases .cats a.on { background: var(--xy-primary); color: #fff; font-weight: 500; }
.xy-cases .wall { background: #fff; padding: 50px 60px; min-height: 364.21px; }
.xy-cases .wall img { width: 100%; height: auto; display: block; }

/* ---- 统一客户墙（cases_wall 组件）：首页沿用 .xy-cases 胶囊tabs，卡片墙通用 ---- */
.xy-cwall { width: 100%; overflow: hidden; }
.xy-cwall .cats { max-width: 100%; min-height: 45px; margin: 0 auto 36px;
    background: #fff; border-radius: 35px;
    display: flex; align-items: center; padding: 2.5px 2px 2.5px 3px; box-sizing: border-box; gap: 12px;}
.xy-cwall .cats a { flex: 0 0 125px; height: 40px; line-height: 40px; text-align: center; border: 1px solid rgba(0, 0, 0, .08);
    font-size: 16px; color: var(--xy-text); border-radius: 35px; box-sizing: border-box; }
.xy-cwall .cats a.on { background: var(--xy-primary); color: #fff; font-weight: 500; }
.xy-cwall .wall.xy-cwall-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px;
    align-content: start; padding: 30px 40px; box-sizing: border-box; width: 100%; }
.xy-cwall .cli { height: 64px; padding: 0 12px; background: #fff; border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 6px; display: flex; align-items: center; justify-content: center; gap: 9px;
    transition: border-color .3s, box-shadow .3s; animation: xyCwallIn .4s both;
    min-width: 0; box-sizing: border-box; overflow: hidden; }
.xy-cwall .cli:hover { border-color: var(--xy-primary); box-shadow: 0 6px 16px rgba(0, 204, 176, .15); }
.xy-cwall .cli .em { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; color: #fff;
    font-size: 13px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.xy-cwall .cli .nm { font-size: 13px; line-height: 18px; color: var(--xy-text-75);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 已上传 logo 的客户：白底卡片居中展示 logo 图（后台文章缩略图维护） */
.xy-cwall .cli.has-logo { padding: 10px 14px; }
.xy-cwall .cli.has-logo .logo { max-width: 100%; max-height: 44px; width: auto; height: auto;
    object-fit: contain; display: block; filter: grayscale(100%) opacity(.72);
    transition: filter .3s, transform .3s; }
.xy-cwall .cli.has-logo:hover .logo { filter: none; transform: scale(1.06); }
.xy-cwall .xy-cwall-empty { text-align: center; color: var(--xy-text-50); font-size: 14px; padding: 40px 0; }
@keyframes xyCwallIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ================= 关于希雨（Figma #280:3162 @(121,4175) 1199×683 白底：
   标题组居中 h2 32/40 → bar 60×3 → sub 14/22 #585858（组底83→内容顶115=32px）；
   top：左 500 + gap 60 + 右图 640×407 圆角 120/0/120/50 shadow 0 0 10 rgba(0,0,0,.25)；
   左栏：ABOUT US 54/60 300 rgba(0,0,0,.05) →19→ 标语 20/28 700 #0155A4 →6→ 橙线 76×3 →5→ 正文 16/24 350 justify →21→ CTA；
   cert 1174×100 居中（按钮底→cert 62px）
   —— .top 高特异性强制 grid 双列，避免被 flex 覆盖
   ================= */
body .xy-about { padding: 45px 0 45px; position: relative; }
body .xy-about > .xy-container > .top,
body .xy-about .top {
    display: grid !important;
    grid-template-columns: 500px 640px !important;
    gap: 60px !important;
    align-items: start !important;
    margin-bottom: 0 !important;
    flex-direction: unset !important;
    flex-wrap: nowrap !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
body .xy-about .about-head { text-align: center; margin: 0 0 32px; }
body .xy-about .about-head h2 { font-size: 32px; line-height: 40px; font-weight: 500; color: var(--xy-text-75); margin: 0; }
body .xy-about .about-head i.bar { display: block; width: 60px; height: 3px; background: var(--xy-primary); margin: 8px auto 0; }
body .xy-about .about-head .sub { font-size: 14px; line-height: 22px; color: #585858; margin: 8px 0 0; }
body .xy-about .pic { width: 640px !important; height: 407px !important; max-width: 100%; }
body .xy-about .pic img { width: 100%; height: 100%; object-fit: cover; display: block;
    border-radius: 120px 0 120px 50px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .25); }
body .xy-about .txt { width: auto; max-width: 100%; }
body .xy-about .txt .en { font-size: 54px; line-height: 60px; font-weight: 300; color: rgba(0, 0, 0, .05);
    font-family: "Source Han Sans CN VF", var(--xy-font); letter-spacing: 0; margin: 0 0 19px; }
body .xy-about .txt h3.tagline { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--xy-blue); margin: 0 0 6px; }
body .xy-about .txt i.h-line { display: block; width: 76px; height: 3px; background: var(--xy-primary); margin: 0 0 5px; }
body .xy-about .txt p { font-size: 16px; line-height: 24px; font-weight: 350; color: var(--xy-text-75); text-align: justify; margin: 0 0 21px; }
body .xy-about .cta-wrap { margin-top: 0; display: flex; justify-content: flex-start; }
body .xy-about .cert { margin-top: 62px; padding-top: 0; display: flex; justify-content: center; }
body .xy-about .cert img { width: 1174.45px; max-width: 100%; height: auto; display: block; }

/* ================= 页脚（Figma #260:2861：#262626 深底 400 高
   logo 140×44.78 @120,51 | 链接组 814×198 @317,51（7列 x=0/88/220/333/448/561/676，
   标题 16/24 + 橙短线 20×3 @y28，子项 12/18 间距24 起y60.34）| 右栏 @1232：语言行 y52 → 码 88×88 y90/y206（opacity .75）
   版权条：线 rgba(245,245,245,.5) 0.5px @y320，两行 12px #F5F5F5@50% y336.66/y360.66） ================= */
.xy-footer { background: var(--xy-footer-dark); color: #fff; padding: 51px 0 0; position: relative; }
.xy-footer .top { display: flex; align-items: flex-start; }
.xy-footer .logo { width: 140px; flex: none; margin-right: 57px; }
.xy-footer .logo img { width: 140px; display: block; }
.xy-footer .cols { display: grid; grid-template-columns: 88px 132px 113px 115px 113px 115px 138px;
    width: 814px; flex: none; }
.xy-footer .col h5 { font-size: 16px; line-height: 24px; font-weight: 500; color: var(--xy-white-75);
    margin: 0 0 4px; position: relative; height: 28px; }
.xy-footer .col h5::after { content: ''; position: absolute; left: 0; bottom: 0;
    width: 20px; height: 3px; background: rgba(0, 204, 176, .75); }
.xy-footer .col h5 a { color: inherit; }
.xy-footer .col h5.on, .xy-footer .col h5.on a { color: var(--xy-primary); }
.xy-footer .col a { display: block; font-size: 12px; line-height: 18px; padding: 3px 0;
    color: rgba(255, 255, 255, .56); }
.xy-footer .col a:hover { color: var(--xy-primary); }
.xy-footer .col .f-tel, .xy-footer .col .f-mail { display: flex; align-items: center; gap: 5px;
    font-size: 14px; line-height: 22px; color: var(--xy-white-75); padding: 3px 0; }
.xy-footer .col .f-tel i, .xy-footer .col .f-mail i { font-size: 14px; color: rgba(255, 255, 255, .56); }
.xy-footer .col .f-mail { font-size: 14px; }
.xy-footer .aside { margin-left: auto; flex: none; width: 88px; text-align: center; opacity: .75; }
.xy-footer .aside .lang-row { display: flex; align-items: center; justify-content: center; gap: 7px;
    font-size: 12px; color: var(--xy-white-75); height: 18px; margin-bottom: 20px; }
.xy-footer .aside .lang-row i { font-size: 14px; }
.xy-footer .aside .lang-row .fa-angle-down { font-size: 12px; }
.xy-footer .qr { text-align: center; margin-bottom: 8px; }
.xy-footer .qr img { width: 88px; height: 88px; background: #fff; padding: 4px; display: block; margin: 0 auto 2px; }
.xy-footer .qr p { font-size: 12px; line-height: 18px; color: var(--xy-white-75); margin: 0; }
.xy-footer .copy { border-top: .5px solid rgba(245, 245, 245, .5); padding: 16px 0 20px;
    font-size: 12px; line-height: 18px; color: #F5F5F5; opacity: .5; text-align: center; }
.xy-footer .copy a { color: inherit; }
.xy-footer .m-actions { display: none; }

/* ---- 浮动侧栏（Figma：60×400 橙65% 胶囊 right=13 top=451；
   纵向 flex 布局 + gap 自动排列，Top fadeOut 时容器自动收缩不留空白） ================= */
.xy-float { position: fixed; right: 13px; top: 451px; width: 60px;
    display: flex; flex-direction: column; align-items: center; gap: 18px;
    padding: 22px 10px 22px; z-index: 1040;
    background: var(--xy-primary-65); border-radius: 100px; }
.xy-float a { position: relative; left: auto; width: 40px; height: 39px;
    color: #fff; display: flex; flex-direction: column; align-items: center; overflow: visible; }
.xy-float a img { display: block; flex: none; }
.xy-float a span { display: block; font-size: 10px; line-height: 14px; color: #fff; white-space: nowrap; margin-top: 7px; }
.xy-float a:hover { color: #fff; opacity: .85; }
/* 企业微信图标 22×18 */
.xy-float a:nth-child(1) img { width: 22px; height: 18px; }
/* 在线客服图标 22×22 */
.xy-float a:nth-child(2) img { width: 22px; height: 22px; }
/* 关注我们图标 22×22 */
.xy-float a:nth-child(3) img { width: 22px; height: 22px; }
/* Top 按钮：flex 自然排到底部，隐藏时容器自动收缩 */
.xy-float a.top { width: 40px; height: 39px; justify-content: center; }
.xy-float a.top img { width: 21px; height: 18px; }
.xy-float a.top span { display: none; }

/* ================= 需求表单横幅（Figma #280:3171：1440×185 bg image + 标题 32/40 Medium rgba(0,0,0,.75) @y43
   + 135×42 橙胶囊「填写表单」@y108 → 点击弹窗填表） ================= */
.xy-form { height: 185px; position: relative; overflow: hidden;
    background: url(../images/figma/figma-form-bg-4a5c72.png) center/cover no-repeat; }
.xy-form .banner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; }
.xy-form .banner h3 { margin: 43px 0 0; font-size: 32px; line-height: 40px; font-weight: 500;
    color: rgba(0, 0, 0, .75); text-align: center; padding: 0 20px; }
.xy-form .banner button { position: relative; margin-top: 25px; width: 135px; height: 42px; border: 0;
    border-radius: 21px; background: var(--xy-primary); color: #fff; font-size: 16px; text-align: left;
    padding: 0 0 0 20px; cursor: pointer; font-family: inherit; }
.xy-form .banner button .arr { position: absolute; right: 7px; top: 7px; width: 28px; height: 28px;
    background: url(../images/figma/banner-arrow.svg) center/cover no-repeat; }
.xy-form .form-modal { position: fixed; inset: 0; z-index: 2000; }
.xy-form .form-modal[hidden] { display: none; }
.xy-form .form-modal .mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.xy-form .form-modal .panel { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 680px; max-width: 92vw; max-height: 86vh; overflow: auto; background: #fff;
    border-radius: 12px; padding: 30px 40px 36px; }
.xy-form .form-modal .close { position: absolute; right: 16px; top: 12px; font-size: 20px;
    color: var(--xy-text-50); cursor: pointer; }
.xy-form .form-modal h4 { margin: 0 0 6px; font-size: 24px; line-height: 34px; font-weight: 500;
    color: var(--xy-text); text-align: center; }
.xy-form .form-modal .tip { text-align: center; font-size: 12px; line-height: 18px;
    color: var(--xy-text-50); margin: 0 0 18px; }
.xy-form .form-modal .req { color: var(--xy-primary); }
.xy-form form { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px 14px; }
.xy-form .field input, .xy-form .field textarea { width: 100%; height: 42px; border: 1px solid var(--xy-line);
    border-radius: 4px; padding: 0 12px; font-size: 14px; font-family: inherit; color: var(--xy-text);
    outline: none; background: #fff; }
.xy-form .field input:focus, .xy-form .field textarea:focus { border-color: var(--xy-primary); }
.xy-form .field textarea { height: 96px; padding: 10px 12px; resize: vertical; }
.xy-form .field.full { grid-column: 1 / -1; }
.xy-form .agree { grid-column: 1 / -1; font-size: 12px; color: var(--xy-text-50); }
.xy-form .agree a { color: var(--xy-primary); }
.xy-form .btn-row { grid-column: 1 / -1; text-align: center; }
.xy-form .xy-form-submit { width: 135px; height: 42px; border: 0; border-radius: 21px;
    background: var(--xy-primary); color: #fff; font-size: 16px; cursor: pointer; font-family: inherit; }
.xy-form .btn-row p { font-size: 12px; color: var(--xy-text-50); margin: 12px 0 0; }

/* ================= 内页共用（Figma 桌面端 1440 画板 / 内容 1200） ================= */
/* ---- 内页Banner：1440×400 原图满铺 + 文字54/60 Medium 白 + 副20/28 白 ---- */
.xy-inner-banner {
    width: 100%;
    height: 400px;
    background: #1b1412 center/cover no-repeat;
    position: relative;
    color: #fff;
}
.xy-inner-banner .cap {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.xy-inner-banner .t {
    font-size: 54px;
    line-height: 60px;
    font-weight: 500;
    margin: 0;
    color: #fff;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 1);
    letter-spacing: 0;
}
/* 桌面端隐藏移动端标题；≤768px 切换（见媒体块） */
.xy-inner-banner .t-m { display: none; }
.xy-inner-banner .s,
.xy-inner-banner .sub {
    font-size: 20px;
    line-height: 28px;
    color: #fff;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
    margin-top: 16px;
    letter-spacing: 0;
}
/* ---- 面包屑：1440×46 白底 #FFFFFF，内容 1200 14px/22 rgba(0,0,0,.7) ---- */
.xy-crumb {
    background: #FFFFFF;
    padding: 0;
    height: 46px;
    line-height: 46px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}
.xy-crumb .xy-container {
    color: rgba(0, 0, 0, 0.7);
    font-size: 14px;
    line-height: 46px;
    height: 46px;
}
.xy-crumb i {
    color: rgba(0, 0, 0, 0.7);
    margin-right: 6px;
    font-size: 13px;
}
.xy-crumb a {
    color: rgba(0, 0, 0, 0.7);
}
.xy-crumb a:hover {
    color: var(--xy-primary);
}
.xy-crumb .sep {
    color: var(--xy-primary);
    padding: 0 8px;
}
.xy-crumb b {
    color: var(--xy-primary);
    font-weight: 400;
}

/* ---- 内页通用双栏栅格：1200 - 左 340 / gap 26 / 右 834 ---- */
.xy-container.xy-pg-grid {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 26px;
    align-items: flex-start;
    margin-bottom: 20px;
}
.xy-container.xy-pg-grid .side-l { grid-column: 1 / 2; }
.xy-container.xy-pg-grid .main { grid-column: 2 / 3; min-width: 0; }
.xy-container.xy-pg-grid.detail-grid { grid-template-columns: 1fr 340px; }
.xy-container.xy-pg-grid.detail-grid .main { grid-column: 1 / 2; }
.xy-container.xy-pg-grid.detail-grid .side-r { grid-column: 2 / 3; }
.xy-pg-grid .spacer-24 { height: 24px; }
.xy-wg { padding: 25px 0 0; }
.xy-wg:first-child { padding-top: 25px; }

/* ---- 产品分类树：340×621 r12 white 0.75 rgba(0,0,0,.15) 描边 ---- */
.xy-tree {
    background: #FFFFFF;
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    border-radius: 12px;
    padding: 30px 35px;
}
.xy-tree .hd {
    font-size: 24px;
    line-height: 32px;
    font-weight: 500;
    color: #000000;
    margin: 0 0 22px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
.xy-tree ul.level,
.xy-tree ul.level ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.xy-tree .cat {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    padding: 10px 0 12px;
    position: relative;
}
.xy-tree .cat:last-child { border-bottom: none; }
.xy-tree .cat > h4 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #000000;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    user-select: none;
}
.xy-tree .cat > h4 i {
    font-size: 13px;
    color: var(--xy-primary);
    margin-right: 11px;
    width: 13px;
    text-align: center;
    flex: 0 0 13px;
}
.xy-tree .cat > h4 i.right-caret {
    margin-right: 0;
    margin-left: auto;
    width: 10px;
    flex: 0 0 10px;
    text-align: right;
    color: var(--xy-primary);
    font-size: 12px;
    opacity: .85;
}
.xy-tree .cat.on > h4 i.right-caret {
    transform: rotate(90deg);
}
.xy-tree .cat > h4 span { flex: 1 1 auto; margin-right: 10px; }
.xy-tree .cat > .sub { padding: 6px 0 0 24px; }
.xy-tree .cat > .sub li {
    font-size: 14px;
    line-height: 30px;
    height: 30px;
    color: rgba(0, 0, 0, 0.65);
}
.xy-tree .cat > .sub li a { color: inherit; display: block; }
.xy-tree .cat > .sub li.cur,
.xy-tree .cat > .sub li:hover { color: var(--xy-primary); font-weight: 700; }

/* ---- 工具栏：834×40 row flex; 2×select 234 + search 234 + 两个切换 btn 40 ---- */
.xy-product-list .toolbar {
    display: flex;
    align-items: center;
    gap: 13px;
    height: 40px;
    margin-bottom: 18px;
}
.xy-product-list .toolbar .sel {
    position: relative;
    width: 234px;
    height: 40px;
    flex: 0 0 234px;
}
.xy-product-list .toolbar .sel label {
    position: absolute;
    left: 11px;
    top: 9px;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0, 0, 0, 0.6);
    z-index: 0;
    pointer-events: none;
}
.xy-product-list .toolbar .sel .caret {
    position: absolute;
    right: 14px;
    top: 18px;
    color: var(--xy-primary);
    width: 8.2px;
    height: 4.36px;
    font-size: 9px;
    line-height: 1;
    z-index: 1;
    pointer-events: none;
}
.xy-product-list .toolbar .sel .caret:before { font-size: 12px; }
.xy-product-list .toolbar .sel select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.03);
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    border-radius: 3px;
    padding: 0 30px 0 11px;
    color: transparent;
    appearance: none;
    -webkit-appearance: none;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    cursor: pointer;
}
.xy-product-list .toolbar .sel select option { color: #000; background: #fff; }
.xy-product-list .toolbar .search {
    position: relative;
    width: 234px;
    height: 40px;
    flex: 0 0 234px;
    background: rgba(0, 0, 0, 0.03);
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    border-radius: 3px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    gap: 8px;
}
.xy-product-list .toolbar .search i {
    font-size: 18px;
    color: rgba(0, 0, 0, 0.4);
}
.xy-product-list .toolbar .search input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: none;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0, 0, 0, 0.8);
    padding: 0;
}
.xy-product-list .toolbar .search input::placeholder {
    color: rgba(0, 0, 0, 0.4);
}
.xy-product-list .toolbar .sv {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    background: rgba(0, 0, 0, 0.03);
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    border-radius: 3px;
    color: #000000;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.xy-product-list .toolbar .sv.on { color: var(--xy-primary); }
.xy-product-list .toolbar .spacer { flex: 1; }

/* ---- 视图切换显示：横卡 / 网格 ---- */
.xy-product-list.xy-view-row .list-row { display: block; }
.xy-product-list.xy-view-row .list-grid { display: none; }
.xy-product-list.xy-view-grid .list-row { display: none; }
.xy-product-list.xy-view-grid .list-grid { display: block; }

/* ---- 横卡 列表行：834×220 r12 white border 0.75 rgba(0,0,0,.15) ---- */
.xy-product-list .row-card {
    position: relative;
    display: block;
    width: 100%;
    height: 220px;
    margin-bottom: 25px;
    background: #FFFFFF;
    outline: 0.75px solid rgba(0, 0, 0, 0.15);
    border: none;
    border-radius: 12px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    transition: box-shadow .2s ease, transform .2s ease;
    box-sizing: content-box;
}
.xy-product-list .row-card:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}
.xy-product-list .row-card .pic {
    position: absolute;
    left: 23px;
    top: 22px;
    width: 176px;
    height: 176px;
    border-radius: 8px;
    outline: 0.75px solid rgba(0, 0, 0, 0.15);
    border: none;
    background: #fafafa center/contain no-repeat;
    box-sizing: content-box;
}
.xy-product-list .row-card .txt {
    position: absolute;
    left: 222px;
    top: 25px;
    right: 24px;
    bottom: 25px;
}
.xy-product-list .row-card .txt h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 500;
    color: #000000;
    margin: 0;
    height: 32px;
}
.xy-product-list .row-card .txt .ln {
    display: block;
    width: 588px;
    height: 0.75px;
    background: #CCCCCC;
    margin: 6px 0 0;
}
.xy-product-list .row-card .txt .ln-org {
    display:block;
    margin-top: -0.75px;
    width: 94px;
    height: 3px;
    background: var(--xy-primary);
}
.xy-product-list .row-card .txt .desc {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.85);
}
.xy-product-list .row-card .meta {
    margin-top: 14px;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0, 0, 0, 0.75);
}
.xy-product-list .row-card .meta span {
    font-weight: 500;
    color: rgba(0, 0, 0, 0.85);
}
.xy-product-list .row-card .more {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100px;
    height: 32px;
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--xy-primary) !important;
    border: 1px solid var(--xy-primary);
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 0 9px;
    gap: 22px;
    font-size: 12px;
    font-weight: 500;
    box-sizing: border-box;
}
.xy-product-list .row-card .more i { font-size: 13px; color: inherit; flex: none; margin-left: auto; padding-right: 10px; }

/* ---- 网格卡 list2：3列 gap 24；每张 262×380 r12 ---- */
.xy-product-list .list-grid .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.xy-product-list .list-grid .card {
    position: relative;
    display: block;
    background: #FFFFFF;
    outline: 0.75px solid rgba(0, 0, 0, 0.15);
    border: none;
    border-radius: 12px;
    /* height: 380px; */
    padding: 22px 23px 0;
    transition: box-shadow .2s ease;
    box-sizing: border-box;
}
.xy-product-list .list-grid .card:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}
.xy-product-list .list-grid .card .pic {
    width: 216px;
    height: 216px;
    border-radius: 8px;
    outline: 0.75px solid rgba(0, 0, 0, 0.15);
    border: none;
    background: #fafafa center/contain no-repeat;
    margin: 0 auto;
    box-sizing: content-box;
}
.xy-product-list .list-grid .card h3 {
    font-size: 20px;
    line-height: 28px;
    font-weight: 500;
    color: #000000;
    margin: 20px 0 0;
    height: 28px;
}
.xy-product-list .list-grid .card .ln {
    display: block;
    width: 100%;
    height: 0.75px;
    background: #CCCCCC;
    margin: 6px 0 0;
}
.xy-product-list .list-grid .card .ln-org {
    display:block;
    margin-top: -0.75px;
    width: 69px;
    height: 3px;
    background: var(--xy-primary);
}
.xy-product-list .list-grid .card .desc {
    font-size: 12px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.85);
    margin: 6px 0 0;
    height: 36px;
    overflow: hidden;
}
.xy-product-list .list-grid .card .more {
    margin: 10px auto;
    width: 100px;
    height: 30px;
    line-height: 27px;
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--xy-primary) !important;
    border: 1px solid var(--xy-primary);
    display: block;
    padding: 0 0 0 9px;
    gap: 22px;
    font-size: 12px;
    text-align: center;
    font-weight: 500;
    box-sizing: border-box;
}
.xy-product-list .list-grid .card .more i { font-size: 13px; color: inherit; flex: none; margin-left: auto; padding-right: 10px; }

/* ---- 分页 pg：对齐 Figma GROUP 精确槽位 w=495；每段 x 精确：
   label(38w@x=0,mR=4) → 7×btn(28w×mR12+17#7末) → dot(28w,mR17) → jump(36w,mR12) → jump-in(28w,mR13) → page-u(12w,mR7) → ok(48w)
   关键：label/jump/jump-in/ok 用 flex:0 0 WIDTH 强制宽，避免 inline span content-fit / button padding 挤压 导致 x 偏移。---- */
.xy-product-list .pg {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    width: 495px;
    height: 28px;
    margin-top: 30px;
}
.xy-product-list .pg .label {
    /* flex: 0 0 38px; */
    /* width: 38px; */
    height: 18px;
    font-size: 12px;
    line-height: 18px;
    color: #000000;
    padding: 5px 0 0;
    margin: 0 4px 0 0;
    box-sizing: border-box;
    text-align: left;
}
.xy-product-list .pg button {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: #FEF1E0;
    color: #000000;
    font-size: 12px;
    line-height: 28px;
    text-align: center;
    font-family: inherit;
    cursor: pointer;
    border-radius: 3px;
    margin-right: 12px;
    box-sizing: border-box;
}
.xy-product-list .pg button.on {
    background: var(--xy-primary);
    color: #FFFFFF;
}
/* 段间 gap 反解（按 Figma 起始 x 精确值：label@0,on@42,b7@282,dot@312,jump@357,ji@393,pu@431,ok@447）
   公式：next_x = curr_x + curr_w + curr_mR → curr_mR = next_x − curr_x − curr_w。
   按钮 1-6（同尺寸 w=28）间 gap=12 已满足（next_x=42+6*(28+12)=282 ✓）。
   其余段：7→dot = 312-282-28 = 2；dot→jump = 357-312-28 = 17；jump→ji = 393-357-36 = 0；ji→pu = 431-393-28 = 10；pu→ok = 447-431-12 = 4。
   总宽：447+48=495（与容器一致）。---- */
.xy-product-list .pg .label { margin-right: 4px; }  /* 42-0-38=4 ✓ */
.xy-product-list .pg button:nth-of-type(7) { margin-right: 2px; }
.xy-product-list .pg button.dot { background: transparent; color: #000000; margin-right: 17px; padding: 0; }
.xy-product-list .pg .jump { margin-right: 0; }
.xy-product-list .pg .jump-in { margin-right: 10px; }
.xy-product-list .pg .page-u { margin-right: 4px; }
.xy-product-list .pg button.ok {
    flex: 0 0 48px;
    width: 48px;
    background: var(--xy-primary);
    color: #FFFFFF;
    margin-right: 0;
    padding: 0 4px;
    line-height: 28px;
}
.xy-product-list .pg .jump {
    flex: 0 0 36px;
    width: 36px;
    height: 18px;
    font-size: 12px;
    line-height: 18px;
    color: #000000;
    padding: 5px 0 0;
    margin: 0;                    /* jump→ji gap=0，由精确规则 L1139(后于本段) 兜底 mR=0 */
    box-sizing: border-box;
    text-align: left;
}
.xy-product-list .pg .jump-in {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    background: #FEF1E0;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;           /* 段间 gap=10 由精准规则 L1140 (后于本段) 提供 */
    box-sizing: border-box;
}
.xy-product-list .pg .jump-in input {
    width: 100%;
    height: 100%;
    border: 0;
    background: transparent;
    text-align: center;
    font-size: 12px;
    line-height: 18px;
    color: #000000;
    outline: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
.xy-product-list .pg .page-u {
    flex: 0 0 12px;
    width: 12px;
    height: 18px;
    font-size: 12px;
    line-height: 18px;
    color: #000000;
    padding: 5px 0 0;
    margin-right: 0;
    box-sizing: border-box;
    text-align: left;
}

/* ===== 段间精确 gap（置末覆盖所有上游默认 margin）=====
   起始 x 参考：label@0 on@42 b7@282 dot@312 jump@357 ji@393 pu@431 ok@447 → total 495
   mR=next_x − curr_x − curr_w */
.xy-product-list .pg .label         { margin-right:  4px; }  /* 42-0-38=4 */
.xy-product-list .pg button:nth-of-type(7) { margin-right: 2px; }  /* 312-282-28=2 */
.xy-product-list .pg button.dot     { margin-right: 17px; }  /* 357-312-28=17 */
.xy-product-list .pg .jump          { margin-right:  0px; }  /* 393-357-36=0 */
.xy-product-list .pg .jump-in       { margin-right: 10px; }  /* 431-393-28=10 */
.xy-product-list .pg .page-u        { margin-right:  4px; }  /* 447-431-12=4 */

/* ================= 产品详情页 ================= */
.xy-product-detail .main { min-width: 0; }
.xy-product-detail .hd { padding-bottom: 30px; }
.xy-product-detail .hd h1 {
    font-size: 32px;
    line-height: 40px;
    font-weight: 500;
    color: #000000;
    margin: 0;
}
.xy-product-detail .hd .ln {
    display: block;
    width: 120px;
    height: 3px;
    background: rgba(88, 88, 88, 0.2);
    margin: 10px 0 0;
}
.xy-product-detail .hd .ln-org {
    display:block;
    margin-top: -3px;
    width: 64px;
    height: 3px;
    background: var(--xy-primary);
}
.xy-product-detail .hd .sub {
    margin: 16px 0 0;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0, 0, 0, 0.65);
}

/* ---- 主图展示：thumbs 条 86w / 主图 532w ---- */
.xy-product-detail .show {
    display: grid;
    grid-template-columns: 79.21px 1fr;
    gap: 24px;
    padding: 0 0 30px;
}
.xy-product-detail .show .thumbs {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 79.21px;
    flex: 0 0 79.21px;
    height: 447px;
    position: relative;
    justify-content: center;
}
/* Figma #240:13608/9：arr = 15×8 橙 caret SVG，位于 thumbs 容器 (79.21×447) 内 x=33 y=0(up) / y=439(dn)。
   背景无填充，仅橙向量图。通过 fa-angle 缩放旋转到 15×8 纯橙（#00CCB0）。容器 position: relative 已由 thumbs flex 保证。*/
.xy-product-detail .show .thumbs .arr {
    position: absolute;
    left: 33px;
    width: 15px;
    height: 8px;
    background: transparent;
    border: none;
    color: #00CCB0;
    cursor: pointer;
    display: block;
    padding: 0;
    margin: 0;
    line-height: 1;
}
.xy-product-detail .show .thumbs .arr.up { top: 0; }
.xy-product-detail .show .thumbs .arr.dn { top: 439px; }
.xy-product-detail .show .thumbs .arr i {
    display: block;
    width: 15px; height: 8px;
    font-size: 18px;
    line-height: 8px;
    text-align: center;
    transform: scaleY(.5);
    color: #00CCB0;
}
.xy-product-detail .show .thumbs ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 0 0 auto;
}
.xy-product-detail .show .thumbs li {
    width: 79.21px;
    height: 79.21px;
    border-radius: 8px;
    outline: 1px solid rgba(0, 0, 0, 0.15);
    border: none;
    overflow: hidden;
    cursor: pointer;
    background: #fafafa;
    box-sizing: content-box;
}
.xy-product-detail .show .thumbs li.on { outline-color: var(--xy-primary); box-shadow: 0 0 0 1px var(--xy-primary) inset; }
.xy-product-detail .show .thumbs li .pic {
    width: 100%;
    height: 100%;
    background: center/contain no-repeat;
}
.xy-product-detail .show .big {
    width: 532px;
    height: 532px;
    aspect-ratio: 1 / 1;
    flex: 0 0 532px;
    max-width: 532px;
    max-height: 532px;
    border-radius: 12px;
    outline: 1px solid rgba(0, 0, 0, 0.15);
    border: none;
    background-color: #FFFFFF;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    box-sizing: content-box;
}

/* ---- 区段 sec（产品规格/特性/场景/注意/下载） ---- */
.xy-product-detail .sec { padding: 18px 0 10px; }
.xy-product-detail .sec h4 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 500;
    color: #000000;
    margin: 0;
}
.xy-product-detail .sec .ln {
    display: block;
    width: 120px;
    height: 3px;
    background: rgba(88, 88, 88, 0.2);
    margin: 10px 0 0;
}
.xy-product-detail .sec .ln-org {
    display:block;
    margin-top: -3px;
    width: 64px;
    height: 3px;
    background: var(--xy-primary);
}
.xy-product-detail .sec p {
    margin: 16px 0 0;
    font-size: 16px;
    line-height: 28px;
    color: rgba(0, 0, 0, 0.8);
    text-align: justify;
}

/* ---- 资料下载 downloads：4 li 图标+名+日期+大小+下载btn ---- */
.xy-product-detail .downloads ul {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}
.xy-product-detail .downloads li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    border-radius: 12px;
    background: #FFFFFF;
    margin-bottom: 10px;
}
.xy-product-detail .downloads li .fi {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: #FEF1E0 center/50% 50% no-repeat;
    position: relative;
}
.xy-product-detail .downloads li .fi::after {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--xy-primary);
    letter-spacing: -0.5px;
}
.xy-product-detail .downloads li .fi.pdf::after { content: 'PDF'; }
.xy-product-detail .downloads li .fi.doc::after { content: 'DOC'; }
.xy-product-detail .downloads li .fi.xls::after { content: 'XLS'; }
.xy-product-detail .downloads li .fi.ppt::after { content: 'PPT'; }
.xy-product-detail .downloads li .nm { flex: 1 1 auto; min-width: 0; }
.xy-product-detail .downloads li .nm a {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.85);
    line-height: 20px;
}
.xy-product-detail .downloads li .nm a:hover { color: var(--xy-primary); }
.xy-product-detail .downloads li .nm span {
    display: block;
    font-size: 12px;
    line-height: 18px;
    color: #999999;
    margin-top: 2px;
}
.xy-product-detail .downloads li .sz { font-size: 12px; color: rgba(0, 0, 0, 0.6); }
.xy-product-detail .downloads li .dw {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 3px;
    background: var(--xy-primary);
    color: #FFFFFF;
    font-size: 12px;
    flex: 0 0 28px;
}
.xy-product-detail .downloads li .dw:hover { background: #E67B00; color: #fff; }

/* ---- 分享 ---- */
.xy-product-detail .share {
    margin-top: 24px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px dashed rgba(0, 0, 0, 0.1);
    border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
    font-size: 14px;
    color: rgba(0, 0, 0, 0.7);
}
.xy-product-detail .share .lb { margin-right: 4px; }
.xy-product-detail .share .ic {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #FEF1E0;
    color: var(--xy-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
.xy-product-detail .share .ic:hover { background: var(--xy-primary); color: #fff; }

/* ================= 侧栏 4 件（侧栏宽度 340） ================= */
/* ---- 搜索 ---- */
.xy-side-search { padding: 0 0 24px; }
.xy-side-search .box {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 0 14px;
    background: rgba(0, 0, 0, 0.03);
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    border-radius: 100px;
    gap: 8px;
}
.xy-side-search .box i {
    font-size: 18px;
    color: rgba(0, 0, 0, 0.4);
}
.xy-side-search .box input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: none;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    line-height: 22px;
    color: rgba(0, 0, 0, 0.8);
    padding: 0;
}
.xy-side-search .box input::placeholder { color: rgba(0, 0, 0, 0.45); }
.xy-side-search .box .go {
    display: none;
}

/* ---- 热门/推荐标题栏结构（hot/rec 共用）：b左 + a右 + bar 橙线底 ---- */
.xy-side-hot, .xy-side-rec { padding: 0 0 24px; }
.xy-side-hot .hd, .xy-side-rec .hd {
    position: relative;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 14px;
}
.xy-side-hot .hd b, .xy-side-rec .hd b {
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.85);
}
.xy-side-hot .hd a, .xy-side-rec .hd a {
    font-size: 12px;
    color: var(--xy-text-50);
}
.xy-side-hot .hd a:hover, .xy-side-rec .hd a:hover { color: var(--xy-primary); }
.xy-side-hot .hd .bar, .xy-side-rec .hd .bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--xy-primary);
    opacity: 1;
}

/* ---- 热门产品：5 条 排行卡 ---- */
.xy-side-hot ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.xy-side-hot li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px 0;
}
.xy-side-hot li .n {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    border-radius: 3px;
    font-weight: 700;
    font-size: 14px;
    background: #FEF1E0;
    color: #000;
    font-family: inherit;
    font-style: normal;
}
.xy-side-hot li.rank-1 .n { background: var(--xy-primary); color: #FFFFFF; }
.xy-side-hot li.rank-2 .n,
.xy-side-hot li.rank-3 .n { background: #FFF3E1; color: #000; }
.xy-side-hot li a {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
}
.xy-side-hot li a h4 {
    font-size: 14px;
    line-height: 22px;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.8);
    margin: 0;
    height: 44px;
    overflow: hidden;
}
.xy-side-hot li.rank-1 a h4 { color: var(--xy-primary); font-weight: 500; }
.xy-side-hot li a:hover h4 { color: var(--xy-primary); }

/* ---- 推荐产品：基准=5 张左图右文卡（白卡 r8 浅边框 + 左竖图 88×108 + 橙标题 + 灰描述 + 右下圆圈箭头） ---- */
.xy-side-rec ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.xy-side-rec li {
    padding: 0 0 12px;
}
.xy-side-rec li:last-child { padding-bottom: 0; }
.xy-side-rec li a {
    display: flex;
    gap: 12px;
    padding: 9px;
    background: #FFFFFF;
    border: 1px solid #EEEEEE;
    border-radius: 8px;
    color: inherit;
}
.xy-side-rec li .pic {
    flex: 0 0 88px;
    width: 88px;
    height: 108px;
    border-radius: 4px;
    background: #0a0a0a center/cover no-repeat;
}
.xy-side-rec li .info {
    position: relative;
    flex: 1;
    min-width: 0;
    padding: 2px 0;
}
.xy-side-rec li .info h4 {
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 22px;
    font-weight: 600;
    color: var(--xy-primary);
}
.xy-side-rec li .info p {
    margin: 0;
    font-size: 12px;
    line-height: 20px;
    color: #999999;
    padding-right: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.xy-side-rec li .info .go {
    position: absolute;
    right: 2px;
    bottom: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid var(--xy-primary);
    border-radius: 50%;
    color: var(--xy-primary);
    font-size: 11px;
}

/* ---- 顾问卡 340×412 r12 ---- */
.xy-side-consult {
    padding: 0;
    border-radius: 12px;
    background: #FFFFFF;
    border: 0.75px solid rgba(0, 0, 0, 0.15);
    overflow: hidden;
}
.xy-side-consult .pic {
    width: 100%;
    height: 202px;
    background: #fafafa center/cover no-repeat;
    border-bottom-left-radius: 11px;
    border-bottom-right-radius: 11px;
}
.xy-side-consult .txt { padding: 18px 35px 26px; }
.xy-side-consult .txt h4 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.8);
    margin: 0 0 18px;
}
.xy-side-consult .txt .tel,
.xy-side-consult .txt .eml {
    font-size: 16px;
    line-height: 24px;
    color: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    gap: 10px;
}
.xy-side-consult .txt .eml { margin-top: 6px; }
.xy-side-consult .txt .tel i,
.xy-side-consult .txt .eml i {
    font-size: 16px;
    color: rgba(0, 0, 0, 0.8);
    width: 17px;
    text-align: center;
}
.xy-side-consult .txt .btn {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 270px;
    height: 42px;
    line-height: 42px;
    border-radius: 5px;
    background: var(--xy-primary);
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
}
.xy-side-consult .txt .btn:hover { background: #E67B00; color: #fff; }
.xy-side-consult .txt .btn i { font-size: 12px; }

/* ---- 产品中心 / 需求表单上方 slogan 条（Figma #260:28355 整体 CTA） ---- */
.xy-form-banner {
    position: relative;
    height: 185px;
    background: #F5F5F5 center/100% 100% no-repeat;
}
.xy-form-banner .t {
    position: absolute;
    left: 0;
    right: 0;
    top: 43px;
    text-align: center;
    font-size: 32px;
    line-height: 40px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.75);
    margin: 0;
}
.xy-form-banner .xy-btn {
    position: absolute;
    left: 50%;
    top: 108px;
    transform: translateX(-50%);
    width: 135px;
    height: 42px;
    border-radius: 21px;
    background: var(--xy-primary);
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

/* ================= 公共弹窗（渠道合作申请 #280:3006 / 个人信息收集同意书 #260:27999）
   markup: modals.html（xy-modal > mask + box）；JS: scripts.html openModal/closeModal ================= */
.xy-modal { position: fixed; inset: 0; z-index: 3000; }
.xy-modal[hidden] { display: none; }
.xy-modal .mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.xy-modal .box { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 560px; max-width: calc(100vw - 32px); max-height: 86vh; background: #fff; border-radius: 10px;
    padding: 30px 36px; display: flex; flex-direction: column; box-shadow: 0 12px 40px rgba(0, 0, 0, .2); }
.xy-modal .close { position: absolute; right: 14px; top: 10px; width: 32px; height: 32px; border: 0;
    background: none; font-size: 22px; line-height: 32px; color: #999; cursor: pointer; }
.xy-modal .close:hover { color: var(--xy-primary); }
.xy-modal .m-head { text-align: center; }
.xy-modal .m-head h3 { font-size: 24px; line-height: 34px; font-weight: 500; color: var(--xy-text-75); margin: 0; }
.xy-modal .m-head i { display: block; width: 60px; height: 3px; background: var(--xy-primary); margin: 12px auto 0; }
.xy-modal .m-head p { font-size: 13px; line-height: 20px; color: var(--xy-text-50); margin: 8px 0 0; }
.xy-modal .m-body { overflow-y: auto; margin-top: 16px; padding-right: 6px; }
.xy-modal .m-body h4 { font-size: 16px; line-height: 24px; font-weight: 600; color: var(--xy-text-75); margin: 18px 0 8px; }
.xy-modal .m-body h4:first-child { margin-top: 0; }
.xy-modal .m-body p { font-size: 13px; line-height: 22px; color: rgba(0, 0, 0, .65); margin: 8px 0; }
.xy-modal .m-body ul { margin: 6px 0; padding-left: 20px; }
.xy-modal .m-body li { font-size: 13px; line-height: 22px; color: rgba(0, 0, 0, .65); list-style: disc; }
.xy-modal-privacy .box { width: 760px; }
.xy-modal .submit { text-align: center; margin-top: 20px; }
/* 渠道合作申请表单 */
.xy-modal .m-form .tip { text-align: center; font-size: 12px; line-height: 18px; color: var(--xy-text-50); margin: 12px 0 14px; }
.xy-modal .m-form .tip span { color: var(--xy-primary); }
.xy-modal .m-form .grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px 14px; }
.xy-modal .m-form .field input, .xy-modal .m-form .field textarea {
    width: 100%; height: 42px; border: 1px solid var(--xy-line); border-radius: 4px;
    padding: 0 12px; font-size: 14px; color: var(--xy-text-75); background: #fff; }
.xy-modal .m-form .field textarea { height: 96px; padding: 10px 12px; resize: vertical; }
.xy-modal .m-form .field input:focus, .xy-modal .m-form .field textarea:focus { border-color: var(--xy-primary); outline: none; }
.xy-modal .m-form .field.full { grid-column: 1 / -1; }
.xy-modal .m-form .field.code { position: relative; }
.xy-modal .m-form .field.code .getcode { position: absolute; right: 6px; top: 6px; width: 64px; height: 30px;
    border: 0; border-radius: 4px; background: var(--xy-primary); color: #fff; font-size: 13px; cursor: pointer; }
.xy-modal .m-form .field.code .getcode.off { background: #ccc; cursor: default; }
.xy-modal .agree { grid-column: 1 / -1; font-size: 12px; line-height: 18px; color: var(--xy-text-50); }
.xy-modal .agree a { color: var(--xy-primary); }

/* 移动端汉堡按钮（三条杠） */
body .xy-nav .hamburger { display: none; position: relative; width: 26px; height: 22px; cursor: pointer; }
body .xy-nav .hamburger i { position: absolute; left: 0; width: 100%; height: 2px; background: #fff; border-radius: 1px; }
body .xy-nav .hamburger i:nth-child(1) { top: 3px; }
body .xy-nav .hamburger i:nth-child(2) { top: 10px; }
body .xy-nav .hamburger i:nth-child(3) { top: 17px; }

/* 移动端抽屉菜单（nav widget #m-drawer） */
.m-drawer { position: fixed; inset: 0; z-index: 2500; }
.m-drawer[hidden] { display: none; }
.m-drawer .mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.m-drawer .panel { position: absolute; top: 0; right: 0; bottom: 0; width: 320px; max-width: 82vw;
    background: #fff; display: flex; flex-direction: column; overflow-y: auto;
    box-shadow: -8px 0 30px rgba(0, 0, 0, .15); animation: xyDrawerIn .28s ease both; }
@keyframes xyDrawerIn { from { transform: translateX(100%); } to { transform: none; } }
.m-drawer .p-top { display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; border-bottom: 1px solid #f0f0f0; flex: 0 0 auto; }
.m-drawer .p-top img { height: 34px; }
.m-drawer .p-top .p-close { font-size: 22px; line-height: 1; color: #888; cursor: pointer; }
.m-drawer .p-top .p-close:hover { color: var(--xy-primary); }
.m-drawer .p-tel { display: flex; align-items: center; gap: 8px; margin: 14px 18px 6px;
    padding: 10px 16px; background: rgba(0, 204, 176, .08); border-radius: 20px;
    color: var(--xy-primary); font-size: 15px; font-weight: 500; }
.m-drawer .p-menu { list-style: none; margin: 6px 0 20px; padding: 0; }
.m-drawer .p-menu > li { border-bottom: 1px solid #f5f5f5; }
.m-drawer .p-menu a { display: block; padding: 14px 20px; font-size: 15px; line-height: 22px; color: #333; }
.m-drawer .p-menu a:hover { color: var(--xy-primary); }
/* 抽屉内隐藏桌面 mega 浮层，二级菜单走手风琴 */
.m-drawer .p-menu .nav-mega { display: none !important; }
.m-drawer .p-menu li.with-mega > a { position: relative; }
.m-drawer .p-menu li.with-mega > a .fa-angle-down { float: right; transition: transform .3s; margin-top: 5px; }
.m-drawer .p-menu li.with-mega.open > a { color: var(--xy-primary); }
.m-drawer .p-menu li.with-mega.open > a .fa-angle-down { transform: rotate(180deg); }
.m-drawer .p-menu .nav-sub { display: none; list-style: none; margin: 0; padding: 0; background: #fafafa; }
.m-drawer .p-menu li.with-mega.open .nav-sub { display: block !important; }
.m-drawer .p-menu .nav-sub a { padding: 11px 20px 11px 36px; font-size: 14px; color: #666; border: 0; }

/* ---- 响应式 ---- */

/* ================= 响应式：桌面第一 ≤992px 简化 ================= */
@media (max-width: 992px) {
    :root { --xy-w: 92vw; }
    body .xy-nav .inner { padding: 0 16px; gap: 10px; }
    body .xy-nav .menu { display: none !important; }
    body .xy-nav .hamburger { display: block !important; }
    /* 移动端顶栏：隐藏电话号码长文本，保留搜索/语言/汉堡 */
    body .xy-nav .right { gap: 12px !important; flex: 0 0 auto; }
    body .xy-nav .right .tel { display: none !important; }
    /* 语言按钮移动端只保留地球图标，下拉面板仍显示完整文字 */
    body .xy-nav .right .lang { font-size: 0; display: inline-flex; align-items: center; }
    body .xy-nav .right .lang .fa-globe { font-size: 18px; }
    body .xy-nav .right .lang .lang-panel { font-size: 14px; }
    body .xy-nav .right .hamburger { flex: 0 0 auto; }
    body .xy-nav .logo img { height: 34px; }
    body .xy-nav .right .search input { width: 0; padding: 0; border: 0; transition: width .3s; }
    body .xy-nav .right .search.open input { width: 130px; padding: 0 10px; height: 28px; border: 1px solid rgba(255,255,255,.4); border-radius: 14px; background: rgba(0,0,0,.15); color: #fff; }
    .xy-footer .top, .xy-about .top { flex-direction: column; }
    /* 移动端首屏 banner 字号/间距 */
    .xy-banner { height: 520px; }
    .xy-banner h2 { font-size: 32px; line-height: 42px; margin-bottom: 20px; }
    .xy-banner p { font-size: 15px; line-height: 24px; margin-bottom: 36px; }
    .xy-banner .dots { bottom: 60px; }
    .xy-about .top { grid-template-columns: 1fr; }
    .xy-about .pic, .xy-products .feature { width: 100%; height: auto; }
    .xy-precious { height: auto; padding-bottom: 60px; }
    .xy-precious .grid, .xy-products .tabs, .xy-support .grid, .xy-news .grid,
    .xy-footer .cols { grid-template-columns: repeat(2, 1fr) !important; justify-content: start; }
    .xy-products { height: auto; padding-bottom: 60px; }
    .xy-products .tabs { height: auto; }
    .xy-products .col { padding: 30px 10px 24px; }
    .xy-products .col:nth-child(n+3) { border-left: none; }
    .xy-products .col:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, .5); }
    .xy-products .col .ico { margin-top: 0; }
    .xy-products .col .go { position: static; transform: none; margin-top: 14px; }
    .xy-support { height: auto; padding-bottom: 60px; }
    .xy-support .sup-wrap { width: 100%; }
    .xy-float { display: none; }
    .xy-cases .cats { width: 100%; flex-wrap: wrap; height: auto; padding: 8px 12px; border-radius: 20px; gap: 2px 0; }
    .xy-cases .cats a { flex: 0 0 33.3333%; height: 36px; line-height: 36px; font-size: 14px; }
    .xy-form .form-modal .panel { padding: 24px 20px 28px; }
    .xy-form form { grid-template-columns: 1fr; }
    .xy-modal .box { padding: 24px 20px; }
    .xy-modal-privacy .box { width: 560px; }
    .xy-modal .m-form .grid { grid-template-columns: 1fr; }
    .xy-footer .m-actions { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1050; }
    .xy-footer .m-actions .half { flex: 1; text-align: center; height: 50px; line-height: 50px; color: #fff; }
    .xy-footer .m-actions .half { background: #231815; }
    .xy-footer .m-actions .half.on { background: var(--xy-primary); }
}

/* 移动端专属元素：桌面端隐藏（跑马灯 / footer 热线区） */
.xy-support .m-marquee { display: none; }
.xy-footer .m-hotline { display: none; }

/* ================================================================================
   移动端设计稿 1:1（≤768px，设计稿基准 440px）
   依据 Figma「希雨官网设计」移动端 26 屏：15:458 首页 / 20:6193 菜单展开 / 内页系列
   设计令牌：内容区左右 20px（内容宽 400）；区块标题组 180×62；按钮 135×42 圆角 21；
   玻璃卡 rgba(255,255,255,.6) + 描边 rgba(0, 204, 176,.65) 1px 圆角 15；
   底部固定条 60px：左 #FFCA8C 黑字 / 右 #00CCB0 白字
   ================================================================================ */
@media (max-width: 768px) {

    /* ---- 顶栏胶囊（设计稿 400×64 @ 顶 25，左右 20） ---- */
    body { padding-bottom: 60px; } /* 底部固定条占位 */
    body .xy-nav { padding: 25px 0 0 !important; }
    body .xy-nav .inner { max-width: calc(100vw - 40px) !important; height: 64px !important; padding: 0 18px 0 16px !important; }
    body .xy-nav .logo img { height: 38px; }
    body .xy-nav .right { gap: 15px !important; }
    /* 设计稿顺序：语言 → 搜索 → 汉堡 */
    body .xy-nav .right .lang { order: 1; font-size: 14px; display: inline-flex; align-items: center; }
    body .xy-nav .right .search { order: 2; font-size: 18px; }
    body .xy-nav .right .hamburger { order: 3; }
    body .xy-nav .right .lang .fa-globe { font-size: 16px; }

    /* ---- 抽屉菜单面板（设计稿 #20:6193：黑色 35% 磨砂圆角 30 面板，自顶部 25px 展开） ---- */
    .m-drawer .mask { background: rgba(0, 0, 0, .4); }
    .m-drawer .panel {
        position: absolute; left: 20px; right: 20px; top: 25px; bottom: auto;
        width: auto; max-width: none; height: auto; max-height: calc(100vh - 80px);
        background: rgba(0, 0, 0, .35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
        border-radius: 30px; box-shadow: none;
        padding: 13px 15px 28px; overflow-y: auto;
        animation: xyPanelDrop .25s ease both;
    }
    @keyframes xyPanelDrop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
    /* 顶部行：logo + 电话(DIN 白) + 搜索 + 关闭 */
    .m-drawer .p-top { padding: 0; border-bottom: 0; gap: 12px; align-items: center; }
    .m-drawer .p-top img { height: 39px; }
    .m-drawer .p-tel { margin: 0 0 0 auto; padding: 0; background: none;
        color: #fff; font-family: var(--xy-din); font-size: 16px; line-height: 24px; font-weight: 400; }
    .m-drawer .p-tel i { color: #fff; margin-right: 4px; font-size: 15px; }
    .m-drawer .p-search, .m-drawer .p-close { color: #fff; font-size: 19px; cursor: pointer; }
    .m-drawer .p-search { margin-left: 2px; }
    .m-drawer .p-close { margin-left: 4px; }
    .m-drawer .p-searchbar { display: none; margin-top: 14px; }
    .m-drawer .p-searchbar.on { display: flex; }
    .m-drawer .p-searchbar input { flex: 1; min-width: 0; height: 40px; border: 1px solid rgba(255,255,255,.4);
        background: rgba(255,255,255,.12); border-radius: 20px; color: #fff; padding: 0 16px; font-size: 14px; }
    .m-drawer .p-searchbar input::placeholder { color: rgba(255,255,255,.6); }
    .m-drawer .p-searchbar button { width: 40px; height: 40px; margin-left: 8px; border: 0; border-radius: 50%;
        background: var(--xy-primary); color: #fff; font-size: 15px; cursor: pointer; }
    /* 菜单列表：Semibold 18/28 白字 + 阴影，左缩进 46，项距 54 */
    .m-drawer .p-menu { list-style: none; margin: 36px 0 0; padding: 0 0 0 46px; }
    .m-drawer .p-menu > li { border-bottom: 0; margin-bottom: 26px; }
    .m-drawer .p-menu > li:last-child { margin-bottom: 0; }
    .m-drawer .p-menu a { display: inline-flex; align-items: center; padding: 0; font-size: 18px; line-height: 28px;
        font-weight: 700; color: #fff; text-shadow: 1px 1px 3px rgba(0, 0, 0, .7); }
    .m-drawer .p-menu a:hover { color: #fff; }
    .m-drawer .p-menu li.with-mega > a .fa-angle-down { float: none; margin: 0 0 0 10px; font-size: 14px; color: #fff; opacity: .9; }
    .m-drawer .p-menu li.with-mega.open > a { color: var(--xy-primary); }
    /* 二级菜单：两列网格 + 左侧橙竖线（设计稿 2×112 橙线，子项 16/24 白字） */
    .m-drawer .p-menu .nav-sub { display: none !important; margin: 20px 0 0; padding: 0 0 0 13px;
        background: none; border-left: 2px solid var(--xy-primary); }
    .m-drawer .p-menu li.with-mega.open .nav-sub { display: grid !important; grid-template-columns: 1fr 1fr;
        row-gap: 25px; column-gap: 10px; }
    .m-drawer .p-menu .nav-sub a { padding: 0; font-size: 16px; line-height: 24px; font-weight: 400;
        color: #fff; text-shadow: 0 0 3px rgba(0, 0, 0, .75); }

    /* ---- 底部固定条 60px（设计稿：左半 #FFCA8C 黑字「填写表单」/ 右半 #00CCB0 白字「在线咨询」） ---- */
    .xy-footer .m-actions .half { height: 60px; line-height: 60px; font-size: 16px; background: #FFCA8C; color: rgba(0, 0, 0, .75); }
    .xy-footer .m-actions .half.on { background: var(--xy-primary); color: #fff; }

    /* ---- 区块标题组（设计稿 180×62：h2 24/32 → 橙线 60×3 → sub 12/18 #585858） ---- */
    .xy-sec-head h2 { font-size: 24px !important; line-height: 32px !important; }
    .xy-sec-head i.bar { margin-top: 3px !important; }
    .xy-sec-head .sub { font-size: 12px !important; line-height: 18px !important; margin-top: 6px !important; }

    /* ---- 首页 Banner（设计稿 440×320：标题 32/40，副标 14/22，无箭头/指示点） ---- */
    .xy-banner { height: 320px !important; }
    .xy-banner .cap { padding-top: 26px; }
    .xy-banner h2 { font-size: 32px !important; line-height: 40px !important; margin: 0 0 14px !important; }
    .xy-banner p { font-size: 14px !important; line-height: 22px !important; margin: 0 0 41px !important; max-width: 350px !important; }
    .xy-banner .nav, .xy-banner .dots { display: none !important; }

    /* ---- 数据 Stats（设计稿 400×220 圆角 25 @banner 下 24，2×2，数字 40/48 Medium，标签 12/18） ---- */
    body .xy-stats .row {
        max-width: calc(100vw - 40px) !important;
        margin: 24px auto 0 !important; margin-top: 24px !important;
        height: auto !important; min-height: 220px !important;
        grid-template-columns: 1fr 1fr !important; grid-template-rows: 1fr 1fr !important;
        background-image: url(../images/figma/figma-m-stats-bg-400x220.png) !important;
        background-size: 100% 100% !important;
    }
    body .xy-stats .item { padding: 14px 0 !important; }
    body .xy-stats .item:nth-child(3)::before { display: none !important; } /* 换行后第3项左分隔线去除 */
    body .xy-stats .item:nth-child(3)::after, body .xy-stats .item:nth-child(4)::after {
        content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
        width: 45px; height: 1px; background: var(--xy-primary); }
    body .xy-stats .num { font-size: 40px !important; line-height: 48px !important; font-weight: 500 !important; }
    body .xy-stats .num small { font-size: 18px !important; }
    body .xy-stats .num .unit-14 { font-size: 14px !important; }
    body .xy-stats .txt { font-size: 12px !important; line-height: 18px !important; margin-top: 9px !important; }

/* ---- 贵金属系列（设计稿：bg@.3 + 8 卡 2 列×4 行 193×77 gap 15/14，玻璃卡描边橙 65%） ---- */
    .xy-precious { height: auto !important; margin-top: 0 !important; }
    .xy-precious > .xy-container { padding: 16px 20px 56px !important; }
    .xy-precious .xy-sec-head { margin-bottom: 15px !important; }
    .xy-precious .grid { grid-template-columns: 1fr 1fr !important; grid-auto-rows: 77px !important; gap: 15px 14px !important; }
    .xy-precious .card { width: 100% !important; height: 77px !important; min-width: 0;
        background: rgba(255, 255, 255, .6) !important; border: 1px solid var(--xy-primary-65);
        transition: background .25s, color .25s, filter .25s; }
    .xy-precious .card .ele { left: 12px !important; top: 14px !important; width: 42px !important; height: 48px !important;
        transition: filter .25s; }
    .xy-precious .card .body { left: 64px !important; top: 12px !important; width: calc(100% - 76px) !important; }
    .xy-precious .card h4 { font-size: 16px !important; line-height: 24px !important; white-space: nowrap; overflow: hidden;
        transition: color .25s; }
    .xy-precious .card .ln { width: 48px !important; margin: 1px 0 0 !important; transition: background .25s; }
    .xy-precious .card p { font-size: 12px !important; line-height: 18px !important; margin: 2px 0 0 !important;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .25s; }
    /* 移动端：鼠标经过/按下/选中 = 桌面端 hover 视觉（橙底白字 + 图标变白）
       —— 默认态 .card 带 !important，这里必须也用 !important 才能在 hover 时覆盖 */
    .xy-precious .card:hover,
    .xy-precious .card:active,
    .xy-precious .card.is-pressed,
    .xy-precious .card.on { background: rgba(0, 204, 176, .75) !important; }
    .xy-precious .card:hover h4, .xy-precious .card:active h4, .xy-precious .card.is-pressed h4, .xy-precious .card.on h4,
    .xy-precious .card:hover p, .xy-precious .card:active p, .xy-precious .card.is-pressed p, .xy-precious .card.on p { color: #fff !important; }
    .xy-precious .card:hover .ln, .xy-precious .card:active .ln, .xy-precious .card.is-pressed .ln, .xy-precious .card.on .ln { background: #fff !important; }
    .xy-precious .card:hover .ele, .xy-precious .card:active .ele, .xy-precious .card.is-pressed .ele, .xy-precious .card.on .ele { filter: brightness(0) invert(1) !important; }

    /* ---- 我们的产品（设计稿：暗底 + 横滑卡 260×450，首卡橙 60%，余卡黑 45%；页边距 20 滚动露下一卡） ---- */
    .xy-products { height: auto !important; }
    .xy-products > .xy-container { padding: 25px 0 56px !important; }
    .xy-products .xy-sec-head { margin-bottom: 23px !important; }
    .xy-products .tabs { display: flex !important; height: auto !important; overflow-x: auto;
        scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 0 20px; scrollbar-width: none; }
    .xy-products .tabs::-webkit-scrollbar { display: none; }
    .xy-products .col { flex: 0 0 260px !important; width: 260px !important; height: 450px !important;
        scroll-snap-align: start; border-left: 0 !important; background: rgba(0, 0, 0, .45) !important; }
    .xy-products .col:nth-child(1) { background: rgba(0, 204, 176, .6) !important; }
    .xy-products .col .ico { margin-top: 31px !important; height: 52px !important; }
    .xy-products .col .ico img { height: 52px !important; width: auto !important; }
    .xy-products .col .name { margin-top: 14px !important; font-size: 20px !important; line-height: 28px !important;
        font-weight: 700; color: rgba(255, 255, 255, .45) !important; }
    .xy-products .col:nth-child(1) .name { color: #fff !important; }
    .xy-products .col .desc { margin: 18px 0 0 !important; width: 200px !important; font-size: 14px !important;
        line-height: 22px !important; color: rgba(255, 255, 255, .45) !important; }
    .xy-products .col:nth-child(1) .desc { color: rgba(255, 255, 255, .75) !important; }
    .xy-products .col .go { top: auto !important; bottom: 22px !important; transform: translateX(-50%) !important; }

    /* ---- 客户跑马灯（设计稿 y1664：90px logo 走马灯 + 蓝色标语居中） ---- */
    .xy-support .m-marquee { display: block; position: relative; height: 90px; overflow: hidden;
        background: rgba(255, 202, 140, .35); }
    .xy-support .m-marquee .track { position: absolute; top: 0; bottom: 0; display: flex; width: max-content;
        animation: xyMarquee 30s linear infinite; }
    .xy-support .m-marquee .track img { height: 90px; width: auto; display: block; }
    .xy-support .m-marquee p { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center;
        justify-content: center; margin: 0; font-size: 16px; line-height: 24px; font-weight: 500; color: var(--xy-blue); }
    @keyframes xyMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

    /* ---- 服务支持（设计稿：bg image107@.35 + 2×2 宫格 icon 80 / 标题 16/24 / 说明 12/18） ---- */
    .xy-support { height: auto !important; }
    .xy-support > .xy-container { padding: 25px 0 60px !important;
        background: url(../images/figma/figma-m-support-bg-440x446.png) center/cover no-repeat; }
    .xy-support::after { background: rgba(255, 255, 255, .65) !important; }
    .xy-support .sup-wrap { width: 100% !important; padding: 0 20px; }
    .xy-support .xy-sec-head { margin-bottom: 24px !important; }
    .xy-support .grid { grid-template-columns: 1fr 1fr !important; gap: 34px 0 !important; }
    .xy-support .item .ico img { width: 80px !important; height: 80px !important; }
    .xy-support .item h4 { font-size: 16px !important; line-height: 24px !important; margin: 11px 0 0 !important; }
    .xy-support .item p { font-size: 12px !important; line-height: 18px !important; margin: 3px 0 0 !important; }

    /* ---- 新闻动态（设计稿：bg@.25 + 横滑卡 286×340，第二张露一半；标题 18/28，摘要 14/22） ---- */
    .xy-news { min-height: 0 !important; }
    .xy-news > .xy-container { padding-top: 18px !important; }
    .xy-news .grid { display: flex !important; overflow-x: auto; gap: 19px !important;
        padding: 0 20px 6px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
        scrollbar-width: none; justify-content: flex-start !important; }
    .xy-news .grid::-webkit-scrollbar { display: none; }
    .xy-news .grid .xy-card-n { flex: 0 0 286px; scroll-snap-align: start; }
    .xy-news .grid .xy-card-n[style*="opacity"] { opacity: .5; }
    .xy-card-n h4 { font-size: 18px !important; line-height: 28px !important; font-weight: 400 !important; }
    .xy-card-n .cap { font-size: 14px !important; line-height: 22px !important; }
    .xy-card-n .body { padding: 10px 23px 16px !important; }
    .xy-news .more { display: none !important; } /* 设计稿无「查看更多」按钮，卡片下为分隔线 */

    /* ---- 客户案例（设计稿：bg@.25 + 无 tabs + 客户墙 3 列；左下红蓝装饰圆） ---- */
    .xy-cases { min-height: 0 !important; padding-bottom: 46px !important; }
    .xy-cases > .xy-container { padding-top: 21px !important; padding-left: 20px !important; padding-right: 20px !important; }
    .xy-cases .xy-sec-head { margin-bottom: 20px !important; }
    .xy-cases::before { content: ''; position: absolute; left: 4px; top: 88px; width: 112px; height: 94px;
        z-index: 1; pointer-events: none; background:
        radial-gradient(circle at 46px 47px, #A72638 46px, transparent 47px),
        radial-gradient(circle at 61px 45px, #00368F 44px, transparent 45px); }
    .xy-cases .cats, .xy-cases .xy-cwall .cats { display: none !important; }
    .xy-cases .wall.xy-cwall-grid, .xy-cwall .wall.xy-cwall-grid { grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important; padding: 20px 15px !important; min-height: 0 !important; }
    .xy-cwall .cli { height: 56px !important; padding: 0 8px !important; }
    .xy-cwall .cli .nm { font-size: 12px !important; }

    /* ---- 关于希雨（设计稿：标语 18/28 蓝三行 + 橙线 + ABOUT US 水印 32/40；右图 210×134 圆角 40/0/40/15；正文 14/22 通栏） ---- */
    body .xy-about { padding: 28px 0 40px !important; }
    body .xy-about > .xy-container { padding-left: 20px !important; padding-right: 20px !important; }
    body .xy-about .about-head { margin-bottom: 17px !important; }
    body .xy-about > .xy-container > .top,
    body .xy-about .top { grid-template-columns: 1fr 210px !important; gap: 0 !important;
        grid-template-areas: "tag img" "ln img" "en img" "p p" !important; }
    body .xy-about .txt { display: contents !important; }
    body .xy-about .txt .tagline { grid-area: tag; font-size: 18px !important; line-height: 28px !important; }
    body .xy-about .txt .h-line { grid-area: ln; width: 76px !important; height: 1.5px !important; margin: 5px 0 0 !important; }
    body .xy-about .txt .en { grid-area: en; font-size: 32px !important; line-height: 40px !important; margin: 3px 0 0 !important; }
    body .xy-about .txt p { grid-area: p; font-size: 14px !important; line-height: 22px !important; margin: 20px 0 0 !important; }
    body .xy-about .pic { grid-area: img !important; width: 210px !important; height: 134px !important; align-self: start !important; }
    body .xy-about .pic img { border-radius: 40px 0 40px 15px !important; }
    body .xy-about .cta-wrap { display: none !important; } /* 设计稿移动端无查看更多按钮 */
    body .xy-about .cert { margin-top: 17px !important; }

    /* ---- 页脚（设计稿 440×329：左热线组 + 右双二维码 88，隐藏 logo/链接列/语言行；版权左对齐两行） ---- */
    .xy-footer { padding: 30px 0 0 !important; }
    .xy-footer .inner.xy-container { padding-left: 20px !important; padding-right: 20px !important; }
    .xy-footer .top { flex-direction: row !important; align-items: flex-start !important; }
    .xy-footer .logo, .xy-footer .cols { display: none !important; }
    .xy-footer .m-hotline { display: block !important; flex: 1 1 auto; min-width: 0; }
    .xy-footer .m-hotline h5 { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--xy-white-75); margin: 0 0 16px; }
    .xy-footer .m-hotline .tel { display: block; font-family: var(--xy-din); font-size: 34px; line-height: 28px;
        font-weight: 700; color: var(--xy-white-75); margin: 0 0 15px; }
    .xy-footer .m-hotline .mail { display: flex; align-items: center; gap: 7px;
        font-size: 14px; line-height: 22px; color: var(--xy-white-75); opacity: .75; }
    .xy-footer .aside { margin: 0 !important; display: flex !important; gap: 10px; width: auto !important; opacity: .75; }
    .xy-footer .aside .lang-row { display: none !important; }
    .xy-footer .qr { margin-bottom: 0 !important; }
    .xy-footer .copy { text-align: left !important; padding: 15px 0 16px !important; }
    .xy-footer .copy .xy-container { padding-left: 20px !important; padding-right: 20px !important; }

    /* ---- 需求表单横幅：设计稿移动端首页无此区块（底部条「填写表单」改走弹窗）。
       注意：需求表单/同意书弹窗节点位于 .xy-form 内部，不可整体 display:none，
       否则内页「立即咨询」等入口触发的弹窗将无法显示；仅隐藏横幅视觉并折叠占位 ---- */
    .xy-form { display: block !important; height: 0 !important; min-height: 0 !important;
        margin: 0 !important; overflow: visible !important; background: none !important; }
    .xy-form .banner, .xy-form > .xy-container { display: none !important; }
}

/* ================================================================================
   移动端内页适配（≤768px，设计稿基准 440px）
   依据 Figma 移动端内页系列：banner 440×280 / 面包屑 46px #F5F5F5 / 内容区 400（左右 20）
   通用：详情页顶部 400×46 检索条；侧栏隐藏；区块标题 20/28；正文 14-16/22-24
   ================================================================================ */
@media (max-width: 768px) {

    /* ---- 全局容器：内容区 = 100vw - 40（设计稿 400@440） ---- */
    :root { --xy-w: calc(100vw - 40px); }
    .xy-container { max-width: calc(100vw - 40px); }

    /* ---- 内页 Banner：440×280，标题 32/40，副标 14/22 ---- */
    .xy-inner-banner { height: 280px !important; }
    .xy-inner-banner .t { font-size: 32px !important; line-height: 40px !important; }
    /* 移动端标题按 Figma 切换：产品页「产品与服务」（桌面端为「产品中心」） */
    .xy-inner-banner .t-d { display: none; }
    .xy-inner-banner .t-m { display: inline; }
    .xy-inner-banner .sub { font-size: 14px !important; line-height: 22px !important; margin-top: 14px !important;
        max-width: 350px; padding: 0 20px; box-sizing: content-box; }

    /* ---- 面包屑条：46px #F5F5F5，文字 16/24 rgba(0,0,0,.7) ---- */
    .xy-crumb { background: #F5F5F5 !important; }
    .xy-crumb .xy-container { max-width: calc(100vw - 40px); font-size: 16px; line-height: 46px; height: 46px;
        white-space: nowrap; overflow: hidden; }
    .xy-crumb i { font-size: 15px; margin-right: 7px; }
    .xy-crumb .sep { padding: 0 6px; }

    /* ---- 内页双栏栅格 → 单列；侧栏默认隐藏（设计稿移动端列表页无侧栏） ---- */
    .xy-pg-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
    /* 必须重置桌面端 grid-column（main 桌面为 2/3、detail side-r 为 2/3），否则隐式空列撑出左侧大空白 */
    .xy-pg-grid > .main { grid-column: 1 / -1 !important; }
    .xy-pg-grid > .side-l { display: none !important; grid-column: auto !important; }
    .xy-pg-grid > .side-r { display: none !important; grid-column: 1 / -1 !important; }
    /* ---- 详情页：把 side-r 的搜索卡移到通栏使用（覆盖隐藏；其它 side-r 子项仍全隐藏） ---- */
    /* Figma 详情：搜索框在面包屑下、h1 之上（y=335），DOM 中 side-r 位于 main 之后，用 order:-1 提顶 */
    .xy-pg-grid.detail-grid > .side-r { display: block !important; background: none; order: -1; }
    .xy-pg-grid.detail-grid > .side-r > *:not(.xy-side-search-wrap) { display: none !important; }
    .xy-side-search-wrap { margin: 9px 0 20px; }
    .xy-side-search .box { display: flex; align-items: center; gap: 9px; width: 100%; height: 46px; padding: 0 12px;
        background: rgba(0, 0, 0, .03); border: .75px solid rgba(0, 0, 0, .15); border-radius: 3px; box-shadow: none;
        box-sizing: border-box; }
    .xy-side-search .box > i { font-size: 19.3px !important; width: 19.3px; height: 19.3px; line-height: 19.3px;
        text-align: center; color: rgba(0, 0, 0, .4) !important; flex: none; }
    .xy-side-search .box input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; outline: none;
        font-size: 16px !important; line-height: 24px !important; color: rgba(0, 0, 0, .8); padding: 0 0 0 6px; }
    .xy-side-search .box input::placeholder { color: rgba(0, 0, 0, .5) !important; }
    .xy-side-search .box .go { display: none !important; }
    /* 详情页的 side-r 搜索条与列表页 toolbar 搜索保持视觉一致（19.3 黑色 40% 图标） */

    /* ---- 页面切换 tabs（FAQ/百科/行情/新闻）：350×46 胶囊组居中，选中橙色胶囊 ---- */
    .xy-page-tabs, .xy-news-tabs { display: flex; width: 350px; max-width: 100%; height: 46px; margin: 16px auto 0;
        padding: 3px; background: rgba(204, 204, 204, .15); border: .75px solid #CCC; border-radius: 35px; }
    .xy-page-tabs a, .xy-news-tabs a { flex: 1 1 0; display: flex; align-items: center; justify-content: center;
        height: 40px; margin: 0; padding: 0 6px; border-radius: 50px; font-size: 14px; line-height: 22px;
        color: #000; background: none; box-shadow: none; }
    .xy-page-tabs a::before, .xy-news-tabs a::before, .xy-page-tabs .sep, .xy-news-tabs .sep { display: none !important; }
    .xy-page-tabs a.on, .xy-news-tabs a.on { background: var(--xy-primary); color: #FFF; }
    .xy-news-tabs { margin-top: 0; }

    /* ---- 页面标题头（xy-page-head 等）：20/28 居中 + 橙线 35×3 + 副题 12/18 ---- */
    .xy-page-head { margin: 24px 0 0; text-align: center; }
    .xy-page-head h2 { font-size: 20px !important; line-height: 28px !important; font-weight: 700 !important; color: rgba(0, 0, 0, .75) !important; }
    .xy-page-head h2::after { content: ''; display: block; width: 35px; height: 3px; margin: 5px auto 0; background: var(--xy-primary); }
    .xy-page-head p { font-size: 12px !important; line-height: 18px !important; margin: 5px 0 0 !important; color: rgba(0, 0, 0, .75) !important; }

    /* ---- 通用分页器（xy-pager）：居中换行 ---- */
    .xy-pager, .xy-news-pg { display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
        gap: 8px; width: auto !important; height: auto !important; margin: 24px 0 0 !important; }
    .xy-pager .per { display: none !important; }

    /* ---- 侧栏组件兜底（残留在隐藏区外时压成通栏） ---- */
    .xy-side-hot, .xy-side-rec, .xy-side-consult { width: 100% !important; }

    /* ================================================================================
       产品中心 列表（设计稿 #266:41979：检索条 400×46 y=335 gap 16 → 双下拉 195×46 y=390 gap 30 → 卡片 400×165 gap 14）
       ================================================================================ */
    .xy-product-list .toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 10px; row-gap: 16px; height: auto; margin-bottom: 15px; }
    /* 检索：顶行通栏 400×46（Figma icon 19.3×19.3 @(11.35,13)，文本 x=39 16/24 rgba黑.5） */
    .xy-product-list .toolbar .search {
        grid-column: 1 / -1; order: -1; width: 100%; height: 46px; flex: none;
        background: rgba(0, 0, 0, .03); border: .75px solid rgba(0, 0, 0, .15); border-radius: 3px;
        padding: 0 12px; gap: 8px; box-sizing: border-box; display: flex; align-items: center; }
    .xy-product-list .toolbar .search i {
        font-size: 19.3px; width: 19.3px; height: 19.3px; line-height: 19.3px;
        color: rgba(0, 0, 0, .4) !important; flex: none; text-align: center; }
    .xy-product-list .toolbar .search input {
        height: 100%; font-size: 16px !important; line-height: 24px !important; color: rgba(0,0,0,.8);
        padding: 0 0 0 6px; }
    .xy-product-list .toolbar .search input::placeholder { color: rgba(0, 0, 0, .5) !important; }
    /* 双下拉 195×46：label x=10.83/11.92 y=10.35 14/22，caret 右 16.57 y=16.57-16.78 12.87×12.87 */
    .xy-product-list .toolbar .sel { width: 100%; height: 46px; flex: none; }
    .xy-product-list .toolbar .sel label { font-size: 14px; line-height: 22px; left: 11px; top: 11px; color: rgba(0, 0, 0, .5); }
    .xy-product-list .toolbar .sel .caret { right: 16px; top: 16px; font-size: 13px; color: rgba(0, 0, 0, .35); }
    .xy-product-list .toolbar .sel select { height: 46px; border-radius: 3px; }
    .xy-product-list .toolbar .sv { display: none !important; }
    /* 移动端仅保留横卡列表（设计稿无网格视图） */
    .xy-product-list.xy-view-grid .list-row { display: block !important; }
    .xy-product-list.xy-view-grid .list-grid { display: none !important; }
    /* 横卡：400×165 r8 阴影 0 0 5px rgba(0,0,0,.15)；图 165×165 左满贴 */
    .xy-product-list .row-card {
        position: relative;
        width: 100%; height: 165px; margin-bottom: 14px; outline: none; border: none; border-radius: 8px;
        background: #fff;
        box-shadow: 0 0 5px rgba(0, 0, 0, .15); box-sizing: border-box; overflow: hidden; }
    .xy-product-list .row-card .pic {
        position: absolute; left: 0; top: 0; width: 165px; height: 165px;
        border-radius: 8px 0 0 8px; outline: none;
        background-color: rgba(0, 0, 0, .05); background-size: contain; background-repeat: no-repeat; background-position: center;
        background-origin: content-box; background-clip: content-box;
        padding: 5.5px; box-sizing: border-box; }
    /* 文本区：相对卡 (176,13) 210×144 */
    .xy-product-list .row-card .txt { position: absolute; left: 176px; top: 13px; right: 11px; bottom: auto; }
    /* 标题 18/28 黑色，限 1 行 */
    .xy-product-list .row-card .txt h3 { font-size: 18px; line-height: 28px; font-weight: 400; height: 28px;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #000; margin: 0; }
    /* 两条线：ln 灰全宽(实际隐藏视觉效果)；橙线 28×3 (x=0 y=29 相对 txt 内) */
    .xy-product-list .row-card .txt .ln { display:none; }
    .xy-product-list .row-card .txt .ln-org { display: block; width: 28px; height: 3px; background: var(--xy-primary); margin: 1px 0 0; }
    /* 简介：y=36 x=0 210×28，Note 10/14 黑 .5 opacity (Figma #EL-7f867f71 文本 Note #000000 .5) */
    .xy-product-list .row-card .txt .desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
        overflow: hidden; margin: 4px 0 0; width: auto; font-size: 10px; line-height: 14px;
        color: #000; opacity: .5; }
    /* 规格 4 行：y=72 相对 txt，12/18 左对齐 rgba黑 .75 （Figma Caption/Note (167:233)） */
    .xy-product-list .row-card .txt .specs { list-style: none; padding: 0; margin: 8px 0 0; }
    .xy-product-list .row-card .txt .specs li { font-size: 12px; line-height: 18px; color: rgba(0,0,0,.75);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .xy-product-list .row-card .more { display: none; }
    .xy-product-list .pg { width: auto; flex-wrap: wrap; justify-content: center; }
    .xy-product-list .pg .jump, .xy-product-list .pg .jump-in, .xy-product-list .pg .page-u, .xy-product-list .pg .ok { display: none; }

    /* ================================================================================
       产品中心 详情（设计稿 #267:46766：标题 32/40 → 橙线 64×3 → 副文 14/22 #787878
       → 主图 400×251 r12 → 缩略横排 80×80 r8 gap15 → 小节 18/28 + 通栏分隔线 → 正文 14/22 两端对齐 x38）
       ================================================================================ */
    .xy-product-detail .hd { padding-bottom: 0; }
    .xy-product-detail .hd h1 { font-size: 32px !important; line-height: 40px !important; text-align: left !important; }
    .xy-product-detail .hd .ln { width: 100%; }
    .xy-product-detail .hd .ln-org { width: 64px; }
    .xy-product-detail .hd .sub { margin-top: 9px; font-size: 14px; line-height: 22px; color: #787878; }
    /* 展示区：主图在上（400×251 r12），缩略横排在下（80×80 r8 gap15），左右箭头
       Figma 缩略父组：width=365 位于父 x=17（content x=20 基础上再缩进 3 等效 padding 左右 17） */
    .xy-product-detail .show { display: flex; flex-direction: column; margin-top: 13px; }
    .xy-product-detail .show .big { order: -1; width: 100%; height: 251px; border-radius: 12px;
        background-color: #fafafa;
        background-size: cover; background-position: center; background-repeat: no-repeat; }
    .xy-product-detail .show .thumbs { position: relative; width: 100%; padding: 0 17px; margin-top: 13px; box-sizing: border-box; }
    .xy-product-detail .show .thumbs ul { display: flex; gap: 15px; width: 100%; height: 80px; overflow-x: auto;
        padding: 0; scrollbar-width: none; justify-content: flex-start; }
    .xy-product-detail .show .thumbs ul::-webkit-scrollbar { display: none; }
    .xy-product-detail .show .thumbs li { flex: 0 0 80px; width: 80px; height: 80px; border-radius: 8px;
        background: rgba(0,0,0,.03); }
    .xy-product-detail .show .thumbs li.on { outline: 1px solid var(--xy-primary); outline-offset: -1px; }
    .xy-product-detail .show .thumbs li .pic { width: 100%; height: 100%; border-radius: 8px;
        background-size: cover; background-position: center; background-repeat: no-repeat; background-color: #fafafa; }
    .xy-product-detail .show .thumbs .arr { width: auto; height: auto; background: none; border: 0; box-shadow: none; padding: 0; }
    .xy-product-detail .show .thumbs .arr i { font-size: 13.44px; color: var(--xy-primary); line-height: 1; }
    .xy-product-detail .show .thumbs .arr.up { left: 0; top: 50%; transform: translateY(-50%) rotate(-90deg); }
    .xy-product-detail .show .thumbs .arr.dn { right: 0; top: 50%; transform: translateY(-50%) rotate(90deg); }
    /* 小节标题 18/28 Bold #000 + 通栏 0.75 灰线（设计稿小节无橙线，橙线仅在头部）；正文 14/22 两端对齐，左缩进 38 */
    .xy-product-detail .sec { padding: 24px 0 0; }
    .xy-product-detail .sec h4 { font-size: 18px !important; line-height: 28px !important; font-weight: 700 !important;
        color: #000 !important; text-align: left !important; margin: 0 !important; }
    .xy-product-detail .sec .ln { width: 100%; margin-top: 4px; }
    .xy-product-detail .sec .ln-org { display: none !important; }
    /* Figma 正文容器 x=38（内容区 20 + 缩进 18），内部 p 不再额外缩进 */
    .xy-product-detail .sec > div { padding: 21px 20px 0 38px !important; box-sizing: border-box; }
    .xy-product-detail .sec > p { padding: 0 20px 0 38px !important; margin: 0 !important; }
    .xy-product-detail .sec > div p { padding-left: 0 !important; }
    .xy-product-detail .sec p, .xy-product-detail .sec > div, .xy-product-detail .sec > div li { font-size: 14px !important;
        line-height: 22px !important; color: rgba(0, 0, 0, .75) !important; text-align: justify; }
    .xy-product-detail .sec > div img { max-width: 100% !important; height: auto !important; }
    /* 产品详情富文本中的多列表格/视频/iframe：移动端横向滚动兜底，防止溢出视口 */
    .xy-product-detail .sec > div table { display: block; width: 100% !important; max-width: 100% !important;
        overflow-x: auto; -webkit-overflow-scrolling: touch; border-collapse: collapse; }
    .xy-product-detail .sec > div iframe,
    .xy-product-detail .sec > div video { max-width: 100% !important; height: auto !important; }
    /* 资料下载：行高 36，名称 x=38 省略号，下载图标 24×24 右距 80，大小 10/14 右距 38（Figma 267:47192-47215） */
    .xy-product-detail .downloads { padding-top: 24px !important; }
    .xy-product-detail .downloads ul { padding: 0; margin: 13px 0 0; list-style: none; }
    .xy-product-detail .downloads li { position: relative; height: 36px; min-height: 36px; padding: 0 38px 0 38px;
        line-height: 36px; display: block; }
    .xy-product-detail .downloads li .nm { display: block; }
    .xy-product-detail .downloads li .nm a { color: rgba(0,0,0,.75); font-size: 14px; line-height: 36px;
        display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 130px; }
    .xy-product-detail .downloads li .nm span { position: absolute; right: 72px; top: 0; font-size: 10px; line-height: 36px;
        color: #000; }
    .xy-product-detail .downloads li .fi { display: none; }
    .xy-product-detail .downloads li .dw { position: absolute; right: 38px; top: 6px; width: 24px; height: 24px;
        line-height: 24px; text-align: center; color: var(--xy-primary); font-size: 16px; }
    /* 分享栏：右下角对齐 267.8×22（x=152），Medium 14/22 #787878 标签 + 图标 */
    .xy-product-detail .share { display: flex; align-items: center; justify-content: flex-end; padding: 0 20px 18px;
        flex-wrap: nowrap; margin-left: auto; width: auto; max-width: 100%; text-align: right; box-sizing: border-box; }
    .xy-product-detail .share .lb { font-size: 14px; line-height: 22px; font-weight: 500; color: #787878; margin-right: 10px; }
    .xy-product-detail .share .ic { display: inline-flex; align-items: center; justify-content: center;
        width: 22px; height: 22px; font-size: 14px; color: #787878; padding: 0; margin: 0 6px 0 0; }
    .xy-product-detail .share .wx-qr-popup { display: none !important; }
    /* pager / 上下篇：移动端换行、竖压2行 */
    .xy-product-detail .pager { flex-direction: column; gap: 10px; border: 0; padding: 16px 20px; margin: 0; width: 100%; box-sizing: border-box; }
    .xy-product-detail .pager a.next { flex-direction: row; text-align: left; }
    .xy-product-detail .pager a { width: 100%; box-sizing: border-box; }

    /* ================================================================================
       弹窗（设计稿：面板 440 满宽 r15，内边距 30；输入 46 高 bg rgba(0,0,0,.05) 边框 #CCC；
       标题 20/28 居中 + 橙线 35×3；提交 135×42 r35 居中）
       ================================================================================ */
    .xy-modal .box { width: calc(100vw - 24px) !important; max-width: calc(100vw - 24px) !important;
        max-height: 86vh; overflow-y: auto; border-radius: 15px !important; padding: 30px 20px 28px !important; }
    .xy-modal .box .xy-modal-close, .xy-modal .close { top: 14px; right: 14px; }
    /* 弹窗标题组：20/28 居中 + 橙线 35×3 + 副行 12/18（设计稿） */
    .xy-modal .m-head h3 { font-size: 20px; line-height: 28px; font-weight: 700; }
    .xy-modal .m-head i { width: 35px; height: 3px; margin-top: 8px; }
    .xy-modal .m-head p { font-size: 12px; line-height: 18px; }
    /* 同意书正文：跟随面板整体滚动（去掉内层双滚动条） */
    .xy-modal .m-body { overflow-y: visible; max-height: none; padding-right: 0; }
    /* 渠道合作申请表单：单列 + 输入 46 高 bg rgba(0,0,0,.05) 边框 #CCC */
    .xy-modal .m-form .grid { gap: 10px; }
    .xy-modal .m-form .field input, .xy-modal .m-form .field textarea {
        height: 46px; background: rgba(0, 0, 0, .05); border: 1px solid #CCC; border-radius: 3px; }
    .xy-modal .m-form .field textarea { height: 165px; padding: 10px 12px; }
    .xy-modal .m-form .field.code .getcode { top: 8px; }
    /* 弹窗提交/接受按钮：135×42 r35 橙底白字居中 */
    .xy-modal .submit .xy-btn { display: inline-block; width: 135px; height: 42px; line-height: 42px;
        padding: 0; border: 0; border-radius: 35px; background: var(--xy-primary); color: #fff;
        font-size: 16px; cursor: pointer; text-align: center; }
    .xy-form .form-modal .panel { width: calc(100vw - 24px) !important; max-width: calc(100vw - 24px) !important;
        max-height: 86vh; overflow-y: auto; border-radius: 15px !important; padding: 30px 20px 28px; }
    .xy-form .form-modal .panel h4 { font-size: 20px !important; line-height: 28px !important; font-weight: 700; }
    .xy-form .form-modal .panel .field input, .xy-form .form-modal .panel .field select, .xy-form .form-modal .panel .field textarea {
        height: 46px; background: rgba(0, 0, 0, .05); border: 1px solid #CCC; border-radius: 3px; }
    .xy-form .form-modal .panel .field textarea { height: 165px; }
    .xy-form .form-modal .panel .btn-row { text-align: center; }
    .xy-form .form-modal .panel .xy-form-submit { width: 135px; height: 42px; border-radius: 35px; }
}

/* ============================================================
   云策智联（qingceyunlian）扩展样式
   ============================================================ */
/* 临床科室：2行×5列 */
.xy-precious.sc-depts .grid { grid-template-columns: repeat(5, 224px); grid-auto-rows: 220px; gap: 15px; }
.xy-precious.sc-depts .card { width: 224px; height: 220px; }
.xy-precious.sc-depts .card .body { left: 24px; top: 22px; width: 176px; }
.xy-precious.sc-depts .card .ele-ico { position: absolute; right: 20px; bottom: 18px; width: 54px; height: 54px;
    display: flex; align-items: center; justify-content: center;
    color: var(--xy-primary); font-size: 44px; opacity: .55; transition: color .3s, opacity .3s; }
.xy-precious.sc-depts .card:hover .ele-ico, .xy-precious.sc-depts .card.on .ele-ico { color: #fff; opacity: 1; }

/* 首页参考案例卡片墙：2×2 */
.sc-cases .sc-casegrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 33px; }
.sc-cases .sc-casecard { position: relative; display: block; height: 260px; border-radius: 15px; overflow: hidden; background: #000; }
.sc-cases .sc-casecard .pic { position: absolute; inset: 0; background-size: cover; background-position: center;
    transition: transform .5s; }
.sc-cases .sc-casecard:hover .pic { transform: scale(1.05); }
.sc-cases .sc-casecard .veil { position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.78) 100%); transition: background .3s; }
.sc-cases .sc-casecard .body { position: absolute; left: 28px; right: 28px; bottom: 20px; z-index: 1; }
.sc-cases .sc-casecard h4 { color: #fff; font-size: 20px; line-height: 28px; font-weight: 700; margin: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-cases .sc-casecard .ln { display: block; width: 69px; height: 2px; background: var(--xy-primary); margin: 8px 0 0; }
.sc-cases .sc-casecard .tags { margin-top: 10px; }
.sc-cases .sc-casecard .tags span { display: inline-block; padding: 2px 10px; margin: 0 8px 6px 0;
    border: 1px solid rgba(255,255,255,.45); border-radius: 4px; color: rgba(255,255,255,.85);
    font-size: 12px; line-height: 20px; }
.sc-cases .sc-casecard .more-btn { position: absolute; right: 24px; top: 20px; z-index: 1;
    padding: 6px 14px; border-radius: 18px; background: rgba(0, 204, 176, .9); color: #fff;
    font-size: 13px; line-height: 20px; opacity: 0; transform: translateY(-6px); transition: all .3s; }
.sc-cases .sc-casecard .more-btn i { margin-left: 4px; }
.sc-cases .sc-casecard:hover .more-btn { opacity: 1; transform: translateY(0); }

/* 首页合作伙伴 */
.xy-clients { padding: 90px 0 70px; }
.xy-clients .xy-sec-head { margin-bottom: 33px; }
.xy-clients .xy-cwall .cats { justify-content: center; }

@media (max-width: 768px) {
    .xy-precious.sc-depts .grid { grid-template-columns: 1fr 1fr !important; grid-auto-rows: 77px !important; gap: 15px 14px !important; }
    .xy-precious.sc-depts .card { width: 100% !important; height: 77px !important; }
    /* 移动端：图标左置居中，文字在右侧，避免右下角大图标与文字重叠 */
    .xy-precious.sc-depts .card .ele-ico { left: 12px !important; top: 50% !important; transform: translateY(-50%) !important;
        right: auto !important; bottom: auto !important; width: 36px !important; height: 36px !important; font-size: 20px !important; }
    .xy-precious.sc-depts .card .body { left: 56px !important; top: 50% !important; transform: translateY(-50%) !important;
        width: calc(100% - 68px) !important; }
    .sc-cases .sc-casegrid { grid-template-columns: 1fr; }
    .sc-cases .sc-casecard { height: 200px; }
}

/* ============================================================
   云策智联 - 首页模块配色节奏（深浅交替，主题青绿贯穿）
   Banner(深底图) → 新闻(白+淡青渐变) → 科室(淡青绿) →
   案例(浅蓝灰+白墙) → 伙伴(白) → 表单(青绿渐变) → 页脚(深蓝)
   ============================================================ */

/* 模块间距：各模块之间留呼吸空间 */
.xy-news, .xy-precious, .xy-cases, .xy-clients { padding-bottom: 70px; }

/* 新闻公告：白底 + 极淡青顶渐变，干净且带主题气息 */
.xy-news::after { background: transparent !important; }
.xy-news .xy-card-n { box-shadow: 0 4px 18px rgba(14, 60, 52, .08); border: 1px solid rgba(0, 204, 176, .10); }
.xy-news .xy-card-n:hover { box-shadow: 0 12px 30px rgba(0, 204, 176, .18); border-color: rgba(0, 204, 176, .35); }

/* 临床科室：淡青绿纯色底（呼应 #00CCB0，医疗感）；纯色底取消原背景图时代的 -80px 叠压 */
.xy-precious .card { box-shadow: 0 4px 14px rgba(14, 60, 52, .06); }

/* 参考案例：浅蓝灰底衬托白色案例墙 + 顶部青色渐变条分隔 */
.xy-cases { background: #eff4f8 !important; }
.xy-cases::after { background: transparent !important; }
.xy-cases > .xy-container { padding-top: 70px; }

.xy-cases .wall { box-shadow: 0 6px 24px rgba(14, 60, 52, .08); }

/* 合作伙伴：白底（logo 卡片自带描边，白底最干净） */
.xy-clients { background: #ffffff !important; padding: 70px 0; }
.xy-clients .xy-sec-head { margin-bottom: 28px; }

/* 首页模块统一顶部留白 */
.xy-news > .xy-container { padding-top: 70px; }
.xy-precious > .xy-container { padding: 70px 0 0; }

/* 需求表单：青绿主题渐变深底，转化区醒目，与页脚深蓝形成收尾 */
.xy-form .banner h3 { color: #000000; }
.xy-form .banner button .arr { background-color: var(--xy-primary); }

/* 内页：关于我们 / 联系我们 丰富视觉 */
.xy-article { max-width: 1100px; margin: 0 auto; padding: 50px 0 60px; }
.xy-article > h1 { font-size: 34px; line-height: 44px; font-weight: 700; color: #0E1E33;
    padding-bottom: 18px; margin-bottom: 30px; position: relative; }
.xy-article > h1::after { content: ''; position: absolute; left: 0; bottom: 0; width: 60px; height: 4px;
    background: var(--xy-primary); border-radius: 2px; }
.xy-article .content { font-size: 16px; line-height: 30px; color: rgba(0,0,0,.8); }
.xy-article .content h3 { font-size: 22px; line-height: 32px; font-weight: 600; color: #0A3D91;
    margin: 32px 0 14px; padding-left: 14px; border-left: 4px solid var(--xy-primary); }
.xy-article .content p { margin: 0 0 16px; }
.xy-article .content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.xy-article .content table th { background: #00CCB0; color: #fff; padding: 12px; text-align: left; }
.xy-article .content table td { padding: 10px 12px; border: 1px solid #e0e6ed; }
.xy-article .content table tr:nth-child(even) td { background: #f5fbf9; }

/* 关于我们特色卡片 */
.about-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 30px 0 40px; }
.about-feature-card { background: #fff; border-radius: 12px; padding: 28px 20px; text-align: center;
    box-shadow: 0 4px 16px rgba(0, 58, 87, .08); border: 1px solid rgba(0,204,176,.15);
    transition: transform .3s, box-shadow .3s; }
.about-feature-card:hover { transform: translateY(-5px); box-shadow: 0 10px 28px rgba(0,204,176,.18); }
.about-feature-card .ic { font-size: 38px; color: var(--xy-primary); margin-bottom: 12px; }
.about-feature-card h4 { font-size: 17px; font-weight: 600; color: #0E1E33; margin: 0 0 8px; }
.about-feature-card p { font-size: 13px; line-height: 20px; color: rgba(0,0,0,.6); margin: 0; }

/* 联系我们：三地面板 */
.contact-office-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 30px 0 40px; }
.contact-office-card { background: #fff; border-radius: 14px; padding: 30px 26px;
    border-top: 4px solid var(--xy-primary); box-shadow: 0 4px 18px rgba(0, 58, 87, .08);
    transition: transform .3s; }
.contact-office-card:hover { transform: translateY(-4px); }
.contact-office-card .tag { display: inline-block; padding: 3px 12px; background: rgba(0,204,176,.12);
    color: #009B84; border-radius: 12px; font-size: 12px; font-weight: 600; margin-bottom: 14px; }
.contact-office-card h3 { font-size: 20px; font-weight: 700; color: #0E1E33; margin: 0 0 14px; }
.contact-office-card .row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px;
    font-size: 14px; line-height: 22px; color: rgba(0,0,0,.75); }
.contact-office-card .row i { color: var(--xy-primary); margin-top: 4px; flex-shrink: 0; }
.contact-office-card .row a { color: inherit; text-decoration: none; }
.contact-office-card .row a:hover { color: var(--xy-primary); }

@media (max-width: 768px) {
    .about-feature-grid { grid-template-columns: 1fr 1fr; }
    .contact-office-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   单页/文章通用正文（.xy-article）移动端适配（≤768px）
   富文本中的多列表格/图片/iframe/视频做横向滚动与最大宽度兜底
   ============================================================ */
@media (max-width: 768px) {
    /* 单页容器：缩小上下内边距，与移动端内容区 20px 留白对齐 */
    .xy-article { max-width: calc(100vw - 40px); padding: 24px 0 32px; }
    .xy-article > h1 { font-size: 22px !important; line-height: 32px !important;
        padding-bottom: 14px; margin-bottom: 20px; }
    .xy-article > h1::after { width: 48px; height: 3px; }
    .xy-article .content { font-size: 15px; line-height: 26px; }
    .xy-article .content h3 { font-size: 18px; line-height: 26px; margin: 22px 0 12px;
        padding-left: 12px; border-left-width: 3px; }
    .xy-article .content p { margin: 0 0 14px; }
    /* 多列表格横向滚动，避免溢出视口；保持表头底色与斑马纹 */
    .xy-article .content table { display: block; width: 100% !important; max-width: 100% !important;
        overflow-x: auto; -webkit-overflow-scrolling: touch; border-collapse: collapse; }
    .xy-article .content img { max-width: 100% !important; height: auto !important; }
    .xy-article .content iframe,
    .xy-article .content video { max-width: 100% !important; height: auto !important; }
    /* 关于我们特色卡片在窄屏下改单列，避免挤压 */
    .about-feature-grid { grid-template-columns: 1fr; gap: 12px; }
    .about-feature-card { padding: 22px 16px; }
    .about-feature-card .ic { font-size: 32px; }
    .about-feature-card h4 { font-size: 16px; }
    .about-feature-card p { font-size: 12px; line-height: 18px; }
}
