/* ============================================================
   希雨官网模板样式（严格按 Figma 桌面1440/内容1200 规格）
   - 色：#FF8A00 / #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: #FF8A00;
    --xy-primary-15: rgba(255, 138, 0, .15);
    --xy-primary-65: rgba(255, 138, 0, .65);
    --xy-blue: #0155A4;
    --xy-dark: #231815;
    --xy-footer-dark: #262626;
    --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(35, 24, 21, .15); /* 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: #fff6ec; }
.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; }

/* ================= 导航（液态玻璃深色胶囊：顶部高光亮边 + 底缘折射光 + 外投影；
   定位 absolute 固定在页面顶部、不跟随滚动（客户要求）。
   使用 body .xy-nav 高特异性 + 关键属性 !important，避免被 bootstrap/simpleboot5 覆盖
   ================= */
body .xy-nav {
    position: absolute !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 {
    position: relative; /* 供搜索展开浮层绝对定位 */
    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;
    /* 液态玻璃：纵向亮暗渐变模拟玻璃厚度，顶部 1px 高光是玻璃上缘，底部内阴影是折射光 */
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .04) 38%,
        rgba(255, 255, 255, .02) 62%, rgba(255, 255, 255, .09) 100%),
        var(--xy-nav-bg) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.6);
    backdrop-filter: blur(22px) saturate(1.6);
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 24px 0 13px !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    /* 顶缘高光 + 底缘/左右折射光 + 外部柔和投影，形成悬浮液态玻璃立体感 */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30),
        inset 0 -1px 0 rgba(255, 255, 255, .10),
        inset 1px 0 0 rgba(255, 255, 255, .06),
        inset -1px 0 0 rgba(255, 255, 255, .06),
        0 10px 34px rgba(0, 0, 0, .32) !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; font-weight: 400;
    color: #fff; transition: color .2s; }
body .xy-nav .right .tel svg { width: 16px; height: 16px; vertical-align: -2px; margin-right: 5px; }
body .xy-nav .right .tel svg circle,
body .xy-nav .right .tel svg path { transition: stroke .2s; }
body .xy-nav .right .tel:hover { color: var(--xy-primary); }
body .xy-nav .right .tel:hover svg circle,
body .xy-nav .right .tel:hover svg path { stroke: var(--xy-primary); }
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 .lang i.fa-angle-down { font-size: 12px; margin-left: 2px; }
body .xy-nav .right .search { cursor: pointer; font-size: 16px; }
/* 细线条搜索图标（SVG），替代偏粗的 fa-search */
body .xy-nav .right .search .ic-search { width: 21px; height: 21px; flex: none; }
body .xy-nav .right .search .ic-search circle,
body .xy-nav .right .search .ic-search line { stroke: #fff; stroke-width: 1.8; fill: none;
    stroke-linecap: round; transition: stroke .2s; }
body .xy-nav .right .search:hover .ic-search circle,
body .xy-nav .right .search:hover .ic-search line { stroke: var(--xy-primary); }
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;
    /* 深色液态玻璃：渐变增厚 + 边缘高光（与主导航下拉面板一致） */
    background:
        linear-gradient(155deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .02) 30%,
        rgba(255, 255, 255, .05) 62%, rgba(255, 255, 255, .12) 100%),
        rgba(20, 14, 12, .62);
    -webkit-backdrop-filter: blur(26px) saturate(1.6);
    backdrop-filter: blur(26px) saturate(1.6);
    border: 1px solid rgba(255, 255, 255, .20);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30),
        inset 0 -1px 0 rgba(255, 255, 255, .16),
        inset -1px 0 0 rgba(255, 255, 255, .12),
        0 12px 40px rgba(0, 0, 0, .50);
    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 磨砂胶囊输入框，placeholder 输入搜索内容） */
body .xy-nav .right .search { display: flex; align-items: center; cursor: pointer; }
body .xy-nav .right .search .ic-search { display: block; }
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 .28s ease, opacity .2s ease, padding .28s ease, margin .28s ease;
}
/* Figma #188:402 placeholder=白 opacity=0.75 (Caption/Note) */
body .xy-nav .right .search input::placeholder { color: rgba(255, 255, 255, .75); }
/* 桌面端：设计补图——展开后输入框在导航胶囊内部整条浮层展开，覆盖但不挤压菜单（菜单不重排）。
   实现：form 与图标始终留在原 flex 槽位，input 相对 form 绝对定位，收起 0 宽、展开向左浮伸 200px，
   图标不被遮挡 → 再次点击图标可正常收起（早期 form 整体 absolute 方案包含块漂移，曾出现 74px 残宽且图标点不中） */
@media (min-width: 901px) {
    body .xy-nav .right .search { position: relative; flex: 0 0 auto; }
    body .xy-nav .right .search input {
        position: absolute; right: 29px; top: 50%; transform: translateY(-50%);
        width: 0; height: 44px; margin: 0; padding: 0; opacity: 0; pointer-events: none;
        border: none; border-radius: 22px; box-sizing: border-box;
        background: linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .04)),
            rgba(18, 13, 10, .72); /* 深色液态玻璃胶囊 */
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -1px 0 rgba(255, 255, 255, .08),
            0 8px 24px rgba(0, 0, 0, .35);
        -webkit-backdrop-filter: blur(20px) saturate(1.4);
        backdrop-filter: blur(20px) saturate(1.4);
        font-size: 14px; z-index: 1061;
    }
    body .xy-nav .right .search.open input {
        width: 200px; opacity: 1; padding: 0 20px; pointer-events: auto;
    }
    /* 图标层级高于浮层，保证展开态仍可点击切换 */
    body .xy-nav .right .search .ic-search { position: relative; z-index: 1062; }
}
/* 产品中心下拉（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; }
/* 悬停桥：覆盖面板顶上方 5px 空隙，避免 hover 闪断 */
body .xy-nav .nav-mega::after { content: ''; position: absolute; top: -5px; left: -40px; right: -40px; height: 5px; }
body .xy-nav .nav-mega .panel {
    width: 180px; box-sizing: border-box;
    margin-top: 0;
    /* Figma #382:2 实测：首项 y=35、末项 y=205+22=227、面板高 250
       → 上 35 / 下 23 / 左 33；6 项各 22 高 + 5 × 12 间距 = 192 + 35 + 23 = 250 */
    padding: 35px 0 23px 33px;
    border-radius: 10px;
    /* 毛玻璃面板：半透明深色底 + backdrop-filter 模糊后方内容 + 边缘光泽 */
    background: rgba(20, 14, 12, .65);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    backdrop-filter: blur(20px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, .20);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25),
        0 12px 40px rgba(0, 0, 0, .50);
}
/* 顶部橙色小箭头（Figma 实测：位于面板顶边处，8.2×4.36，中心 x=90） */
body .xy-nav .nav-mega .panel::before {
    content: ''; position: absolute; top: 0; left: 85.8px;
    border-left: 4.1px solid transparent; border-right: 4.1px solid transparent;
    border-bottom: 4.36px solid var(--xy-primary);
    z-index: 1;
}
/* 链接：14/22 白字 + 0 0 3px 黑影（Figma effect_27441425），行间距 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; }
.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 / 原稿导出 figma-banner-cta.svg：
   半透明橙色玻璃胶囊——#FF8A00 35% 填充 + 0.5px 发丝描边，深色 Banner 照片透底自然呈古铜色；
   右侧 28×28 圆钮（橙20%+黑20% 双层半透明 + 橙发丝边 + 白箭头）整体为 banner-cta-circle.svg。
   勿加不透明渐变/厚描边/光晕，否则会偏离设计稿 */
.xy-banner .cta-row { position: relative; display: block; width: 135px; height: 42px; margin: 0 auto;
    border-radius: 21px;
    background: rgba(255, 138, 0, .35);
    border: .5px solid rgba(255, 138, 0, .9);
    box-shadow: none;
    transition: background .25s ease, transform .25s ease;
}
.xy-banner .cta-row:hover { background: rgba(255, 138, 0, .45); transform: translateY(-1px); }
.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;
    border-radius: 50%;
    background: transparent;
    border: 0;
    box-shadow: none; }
/* 圆钮 + 白色箭头为 Figma 原样 SVG（28×28 满铺） */
.xy-banner .cta-row .arr::after { content: ''; position: absolute; inset: 0;
    background: url(../images/figma/banner-cta-circle.svg) center/100% 100% 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: 23px; padding: 6px 10px; 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: 1; transition: box-shadow .25s; cursor: pointer; }
/* 选中态（Figma #188:2）：白色圆点不变，外侧一圈 #FF8A00 40% 半透明光环（外圆 r≈8.9 / 内圆 r≈5.1） */
.xy-banner .dots span.on { background: #fff; opacity: 1; width: 10px; border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(255, 138, 0, .4); }
/* 轮播层：多图淡入淡出（数据源=后台幻灯片管理） */
.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=150 → 上叠 Banner 底 71px（620-549）；
       卡片下方保留 30px 呼吸间距（客户反馈：下边距太短） */
    margin: -71px auto 30px !important;
    margin-top: -71px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 30px !important;
    height: 150px !important;
    min-height: 150px !important;
    border-radius: 25px !important;
/* Stats 底图（Figma #280:3169，两层叠加）：
   底层 #188:12 = 暖米白纵向渐变（#FFFDF9→#FFEBD3）；
   上层 image 126（#199:5329 / figma-stats-bg-wave.png，2400×300 @2x）以 multiply 正片叠底——
   白色区域透显暖色，灰色波纹在暖底上呈柔和阴影，与设计稿一致。 */
    background-color: #FFFDF9 !important;
    background-image: url(../images/figma/figma-stats-bg-wave.png),
        linear-gradient(180deg, #FFFDF9 0%, #FFEBD3 100%) !important;
    background-size: 100% 100%, 100% 100% !important;
    background-position: 0 0, 0 0 !important;
    background-repeat: no-repeat !important;
    background-blend-mode: multiply, normal !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: 21px 0 30px;
    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; }
/* “+”后缀 Figma ts1：18px Regular（非 Light） */
body .xy-stats .num small { font-size: 18px; font-weight: 400; 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: 13px; font-weight: 400; }
/* 移动端专用短文案（Figma #265:35160：528+ / 10万件 / 高校和科研院所 等），桌面端隐藏，≤768 时切换显示 */
body .xy-stats .num-m,
body .xy-stats .txt-m { display: none; }

/* ================= 贵金属系列（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; margin-top: -50px;
    background: #fff url(../images/figma/figma-precious-bg-352a99.png) center/cover no-repeat; }
.xy-precious::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .85); 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：默认全部为玻璃白卡（白60%+橙描边1px r15+橙标题20/28+淡橙短线69×2+黑75%描述14/22+右下元素图60×69@(192,128)）；
   仅 hover/点击时切换为半透明橙底白字（客户反馈：默认态不应有橙色卡，短线颜色为淡橙） */
.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, box-shadow .3s; }
.xy-precious .card:hover { box-shadow: 0 10px 26px rgba(255, 138, 0, .22); }
.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: rgba(255, 138, 0, .35);
    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=点击选中态）时出现（保持 .75 透明，透出底纹） */
.xy-precious .card:hover, .xy-precious .card.on { background: rgba(255, 138, 0, .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: rgba(255, 255, 255, .85); }
/* 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：
   首列激活 = 橙 #FF8A00@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.jpg) 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; }
/* 设计稿：6 列之间均有 1px 白色分隔线（含第1/2列之间，客户反馈少了一条线） */
.xy-products .col + .col { 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; }
/* 橙底白字 + 该列宽度平滑增加：仅鼠标经过（含键盘 Tab 聚焦 / .on 受控态）时出现；
   默认六列均分、无橙色面板（客户反馈：鼠标不经过不要触发效果） */
.xy-products .col:hover, .xy-products .col:focus-within, .xy-products .col.on { flex-grow: 1.55; background: rgba(255, 138, 0, .6); color: #fff; }
.xy-products .col:hover .name, .xy-products .col:focus-within .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;
    background: #fff url(../images/figma/figma-news-bg-1c802f.png) center/cover no-repeat; }
.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); }
/* 后台缩略图无论比例一律强制拉伸填满（客户反馈 #9） */
.xy-card-n .pic { height: 191px; width: 100%; background-size: 100% 100%; background-position: center; background-repeat: no-repeat; }
.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 { 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 { 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 { 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; box-sizing: border-box; }
.xy-cwall .cats a { flex: 0 0 125px; height: 40px; line-height: 40px; text-align: center;
    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; }
/* 网格几何取自 Figma @2x 切图：卡片 141.5×52、列距 35、行距 26（7 列正好 1200） */
.xy-cwall .wall.xy-cwall-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 26px 35px;
    align-content: start; padding: 0; box-sizing: border-box; width: 100%; }
.xy-cwall .cli { height: 52px; padding: 0 12px; background: #fff; border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 8px; 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(255, 138, 0, .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 的客户：固定尺寸小框，后台图片无论比例一律强制拉伸填满（客户要求 object-fit:fill） */
.xy-cwall .cli.has-logo { padding: 0; background: #fff; border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 8px; box-shadow: none; }
.xy-cwall .cli.has-logo .logo { width: 100%; height: 100%;
    object-fit: fill; display: block; }
.xy-cwall .xy-cwall-empty { text-align: center; color: var(--xy-text-50); font-size: 14px; padding: 40px 0; }
/* 全部 tab：Figma 导出的 1200×364 logo 墙整图，精确还原设计稿 */
.xy-cwall .xy-cwall-allimg { width: 100%; max-width: 1200px; height: 364px; margin: 0 auto;
    background-repeat: no-repeat; background-position: center top; background-size: 100% auto; }
@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; }
/* 正文：设计稿为常规字重（客户反馈 #10：网页 350 偏细），色值 rgba(0,0,0,.7) */
body .xy-about .txt p { font-size: 16px; line-height: 28px; font-weight: 400; color: rgba(0, 0, 0, .7); 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; border-radius: 3px; background: rgba(255, 138, 0, .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; }

/* ---- 浮动侧栏（客户补图 #13：92 宽橙色全胶囊，图标+文字完整居中；right=13；
   纵向 flex 布局 + gap 自动排列，Top fadeOut 时容器自动收缩不留空白） ================= */
.xy-float { position: fixed; right: 13px; top: 451px; width: 70px;
    display: flex; flex-direction: column; align-items: center; gap: 24px;
    padding: 24px 0; z-index: 1040;
    background: var(--xy-primary-65); border-radius: 100px; }
.xy-float a { position: relative; left: auto; width: 72px;
    color: #fff; display: flex; flex-direction: column; align-items: center; overflow: visible;
    transition: opacity .2s, transform .2s; }
.xy-float a img { display: block; flex: none; }
.xy-float a span { display: block; font-size: 12px; line-height: 20px; color: #fff; white-space: nowrap; margin-top: 9px; }
.xy-float a:hover { color: #fff; opacity: .88; }
.xy-float a:active { opacity: .7; transform: scale(.94); }
.xy-float a:nth-child(1) img { width: 28px; height: 23px; }
.xy-float a:nth-child(2) img { width: 27px; height: 27px; }
.xy-float a:nth-child(3) img { width: 28px; height: 28px; }
.xy-float a:nth-child(4) img { width: 27px; height: 27px; }
.xy-float a:nth-child(5) img { width: 23px; height: 27px; }
/* Top 按钮：flex 自然排到底部，隐藏时容器自动收缩 */
.xy-float a.top { width: 72px; justify-content: center; }
.xy-float a.top img { width: 27px; height: 23px; }
.xy-float a.top span { display: none; }

/* 二维码弹层（Figma #188:603：与浮窗同色橙卡 150×150、圆角6、无文字无阴影；
   内含 124×124 白底真二维码；位于胶囊左侧间隔 16px，纵向 top 由 JS 按被点击项对齐，
   并夹在胶囊上下边之内——首项点击时即表现为与胶囊顶边对齐） */
.xy-float-qr-popup { position: absolute; right: calc(100% + 16px); top: 0;
    width: 150px; height: 150px; padding: 13px; box-sizing: border-box;
    background: var(--xy-primary-65); border-radius: 6px; z-index: 1041; }
.xy-float-qr-popup[hidden] { display: none; }
.xy-float-qr-popup .qr-img { width: 124px; height: 124px; background: #fff; }
.xy-float-qr-popup .qr-img img { display: block; width: 124px; height: 124px; }

/* ================= 需求表单横幅（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?v=20260915) 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 纯橙（#FF8A00）。容器 position: relative 已由 thumbs flex 保证。*/
.xy-product-detail .show .thumbs .arr {
    position: absolute;
    left: 33px;
    width: 15px;
    height: 8px;
    background: transparent;
    border: none;
    color: #FF8A00;
    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: #FF8A00;
}
.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(255, 138, 0, .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; }

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

/* ================================================================================
   窄屏桌面（901–1200）：保持完整桌面布局（菜单/汉堡不切换），仅压缩间距与固定轨道，
   避免客户反馈 #14 的「过早变移动端 + 切换宽度错位」。汉堡断点统一下移到 ≤900。
   ================================================================================ */
@media (max-width: 1200px) and (min-width: 901px) {
    /* 导航：压缩菜单间距/字号，6 菜单 + 电话/语言/搜索完整保留 */
    body .xy-nav .inner { padding: 0 18px 0 10px; }
    body .xy-nav .logo img { height: 34px; }
    body .xy-nav .menu { gap: 16px; }
    body .xy-nav .menu > li > a { font-size: 15px; }
    body .xy-nav .right { gap: 12px; }
    body .xy-nav .right .tel { font-size: 14px; }

    /* Stats：数字缩号，防止窄下列内 100000 冲出卡片（反馈截图 24） */
    body .xy-stats .num { font-size: 42px; line-height: 48px; }
    body .xy-stats .num small { font-size: 15px; }
    body .xy-stats .txt { font-size: 12px; }

    /* 贵金属 8 卡：286 固定轨道改流式，卡内绝对定位元素同步自适应 */
    .xy-precious .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .xy-precious .card { width: auto; height: 200px; }
    .xy-precious .card .body { left: 18px; top: 18px; right: 16px; width: auto; }
    .xy-precious .card h4 { font-size: 17px; line-height: 24px; }
    .xy-precious .card p { font-size: 12px; line-height: 18px; margin-top: 10px;
        display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .xy-precious .card .ele { width: 44px; height: 51px; left: auto; right: 12px; top: auto; bottom: 12px; }

    /* 新闻 4 卡：固定 286 轨道改流式，卡片跟随列宽 */
    .xy-news .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .xy-card-n { width: auto; }

    /* 产品 6 列：描述宽度跟随列宽，避免 161px 固定宽溢出窄列 */
    .xy-products .col .desc { width: auto; margin-left: 12px; margin-right: 12px; }

    /* 关于希雨：500+640 固定双列改流式，图片等比缩放 */
    body .xy-about > .xy-container > .top,
    body .xy-about .top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr) !important; gap: 30px !important; }
    body .xy-about .pic { width: 100% !important; height: auto !important; aspect-ratio: 640 / 407; }
    body .xy-about .txt .en { font-size: 44px; line-height: 50px; }

    /* 客户墙：7 列收窄间距（单元格仍 1fr 自适应） */
    .xy-cwall .wall.xy-cwall-grid { gap: 18px 20px; }

    /* 页脚：压缩 logo 与 7 列固定轨道，保持横排不堆叠 */
    .xy-footer .logo { margin-right: 20px; }
    .xy-footer .logo img { width: 96px; }
    .xy-footer .cols { width: auto; flex: 1 1 auto;
        grid-template-columns: 60px 92px 82px 84px 82px 84px 96px; gap: 0 8px; }
    .xy-footer .aside { width: 64px; }
    .xy-footer .qr img { width: 64px; height: 64px; }

    /* 悬浮胶囊：窄屏（横屏手机/小平板）整栏同比缩到约 0.8，避免视觉上过宽；
       ≤900 由后块整条隐藏（移动端用底部固定操作条） */
    .xy-float { width: 70px; gap: 16px; padding: 18px 0; }
    .xy-float a { width: 58px; }
    .xy-float a span { font-size: 12px; line-height: 17px; margin-top: 6px; }
    .xy-float a:nth-child(1) img { width: 23px; height: 19px; }
    .xy-float a:nth-child(2) img { width: 22px; height: 22px; }
    .xy-float a:nth-child(3) img { width: 23px; height: 23px; }
    .xy-float a:nth-child(4) img { width: 22px; height: 22px; }
    .xy-float a:nth-child(5) img { width: 19px; height: 22px; }
    .xy-float a.top img { width: 22px; height: 19px; }
    .xy-float-qr-popup { right: calc(100% + 12px); width: 124px; height: 124px; padding: 11px; }
    .xy-float-qr-popup .qr-img, .xy-float-qr-popup .qr-img img { width: 102px; height: 102px; }
}

/* ================= 响应式：≤900px 切换汉堡/简化布局（原 992 过早，客户反馈 #14 下移） ================= */
@media (max-width: 900px) {
    :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 .fa-angle-down { display: none; }
    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; }
    /* Stats 在 769–900 区间维持 4 列但缩号，避免数字溢出 */
    body .xy-stats .num { font-size: 40px; line-height: 46px; }
    body .xy-stats .num small { font-size: 14px; }
    body .xy-stats .txt { font-size: 12px; }
    /* 基础规则含高特异性选择器 body .xy-about > .xy-container > .top (0,3,1)，
       必须用同选择器 !important 改单列；否则 500/640 双轨保留，.pic 的 100% 解析为 640px，
       依旧撑出横向滚动（900px 溢出真正根因） */
    body .xy-about > .xy-container > .top,
    body .xy-about .top { grid-template-columns: 1fr !important; }
    /* 关于图基础样式为 width:640px!important，汉堡层必须同优先级重置，
       否则单列 grid 内仍按 640 宽排布，直接撑出横向滚动（900px 回归根因） */
    body .xy-about .pic { width: 100% !important; height: auto !important; aspect-ratio: 640 / 407; }
    .xy-products .feature { width: 100%; height: auto; }
    .xy-precious { height: auto; padding-bottom: 60px; }
    /* 移动端 Figma 帧无品牌横幅（跑马灯后直接服务区），≤900 隐藏 */
    .xy-brand { display: none !important; }
    /* 产品区为 flex 横列，grid-template-columns 对其无效；横滑卡规范统一下沉到
       本文件后部的 @media(max-width:900px) 共享块（769–900 平板与手机一致） */
    .xy-precious .grid, .xy-support .grid, .xy-news .grid,
    .xy-footer .cols { grid-template-columns: repeat(2, 1fr) !important; justify-content: start; }
    .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(255,138,0,.65) 1px 圆角 15；
   底部固定条 60px：左 #FFCA8C 黑字 / 右 #FF8A00 白字
   ================================================================================ */
@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 黑字「填写表单」/ 右半 #FF8A00 白字「在线咨询」） ---- */
    .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（当前 Figma #265:35160：400×220 波纹圆角25 底卡，2×2 布局；
       数字 40/48 Medium500 橙、后缀 18/14，标签 12/18 #585858；中轴 45px 橙竖线（每行独立）、
       行间各列居中 45px 橙横线。设计师已将早期单行4列改为 2×2，勿回退） ---- */
    body .xy-stats .row {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        margin: 24px auto 0 !important;
        height: auto !important; min-height: 0 !important;
        aspect-ratio: 400 / 220;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 8px; row-gap: clamp(14px, 4.32vw, 19px);
        padding: clamp(18px, 5.7vw, 25px) clamp(22px, 7.7vw, 34px) !important;
        border-radius: clamp(20px, 5.7vw, 25px) !important;
        /* 暖米白渐变 + 波纹 multiply（与桌面卡片同一设计语言，Figma #265:35160） */
        background-color: #FFFDF9 !important;
        background-image: url(../images/figma/figma-m-stats-bg-400x220.png),
            linear-gradient(180deg, #FFFDF9 0%, #FFEBD3 100%) !important;
        background-size: 100% 100% !important;
        background-position: 0 0 !important;
        background-repeat: no-repeat !important;
        background-blend-mode: multiply, normal !important;
        box-shadow: none !important;
    }
    body .xy-stats .item { padding: 0 !important; justify-content: center; }
    /* 切换为移动端短文案（桌面 data-count 数字不参与移动布局，避免 100000 溢出） */
    body .xy-stats .num, body .xy-stats .txt { display: none !important; }
    body .xy-stats .num-m, body .xy-stats .txt-m { display: block; text-align: center; }
    body .xy-stats .num-m {
        font-size: clamp(28px, 9.1vw, 40px); line-height: 1.2; font-weight: 500;
        color: var(--xy-primary); white-space: nowrap;
    }
    body .xy-stats .num-m small { font-size: clamp(14px, 4.1vw, 18px); font-weight: 400; margin-left: 1px; }
    body .xy-stats .num-m .unit-m { font-size: clamp(11px, 3.2vw, 14px); font-weight: 400; margin-left: 1px; }
    body .xy-stats .txt-m {
        font-size: clamp(11px, 2.73vw, 12px); line-height: clamp(16px, 4.1vw, 18px);
        color: var(--xy-text-50); margin-top: clamp(4px, 1.8vw, 8px);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    /* 分隔线：清掉桌面左竖线（::before 会错误出现在左下格），仅右列两格保留中轴竖线 */
    body .xy-stats .item::before { display: none !important; }
    body .xy-stats .item:nth-child(2)::before,
    body .xy-stats .item:nth-child(4)::before {
        content: ''; display: block !important; position: absolute;
        left: calc(-4px - 0.5 * clamp(14px, 4.32vw, 19px)); top: 50%; transform: translateY(-50%);
        width: 1px; height: clamp(38px, 10.2vw, 45px); background: var(--xy-primary);
    }
    /* 行间 45px 水平短线：底部两格顶部居中各一条 */
    body .xy-stats .item:nth-child(3)::after,
    body .xy-stats .item:nth-child(4)::after {
        content: ''; position: absolute;
        top: calc(-0.5 * clamp(14px, 4.32vw, 19px) - 0.5px); left: 50%; transform: translateX(-50%);
        width: clamp(38px, 10.2vw, 45px); height: 1px; background: var(--xy-primary);
    }

/* ---- 贵金属系列（设计稿：bg@.3 + 8 卡 2 列×4 行 193×77 gap 15/14，玻璃卡描边橙 65%） ---- */
    .xy-precious { height: auto !important; margin-top: 0 !important; }
    .xy-precious::after { background: rgba(255, 255, 255, .7) !important; }
    /* 卡栅格须满铺内容宽（Figma 193×2+14=400）：容器横向不再加 20px padding，
       否则栅格宽 310、卡片被压成 148；区块标题居中不受影响 */
    .xy-precious > .xy-container { padding: 16px 0 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(255, 138, 0, .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 规范见文件后部 @media(max-width:900px) 共享块 ---- */

    /* ---- 客户跑马灯（设计稿 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; } /* 设计稿无「查看更多」按钮，卡片下为分隔线 */

    /* ---- 客户案例（当前 Figma #265:35158：400×231 整墙 = 4 列×5 行；格 87.5×31，
       2px #FF8A00 描边圆角 5，列距 15.5、行距 18，logo 强制拉伸填满；左下红蓝装饰圆；无 tabs） ---- */
    .xy-cases { min-height: 0 !important; padding-bottom: 46px !important; }
    /* 容器不再加横向 padding：.xy-container 内容宽已是 100vw-40，再加 20px 会把墙压成 310 宽；
       Figma 客户墙 x20-420 满铺内容宽，标题居中不受影响 */
    .xy-cases > .xy-container { padding-top: 21px !important; padding-left: 0 !important; padding-right: 0 !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(4, minmax(0, 1fr)) !important;
        gap: clamp(14px, 4.1vw, 18px) clamp(12px, 3.5vw, 15.5px) !important;
        padding: 0 !important; min-height: 0 !important; }
    /* 单元格比例锁死 87.5/31，后台图无论原始比例一律 fill 填满（客户反馈 #9） */
    .xy-cwall .cli {
        height: auto !important; aspect-ratio: 87.5 / 31; padding: 0 !important;
        background: #fff; border: 2px solid var(--xy-primary) !important;
        border-radius: 5px !important; box-shadow: none !important; gap: 0; }
    .xy-cwall .cli .logo { width: 100% !important; height: 100% !important;
        max-width: none; max-height: none; object-fit: fill; border-radius: 3px; }
    .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; }
}

/* ================================================================================
   产品区横滑卡：≤900px 手机与平板共享（设计稿移动端：暗底 + 260×450 卡，
   六卡默认均为黑 45% 中性态，触摸按下时橙 60%；页边距 20 滚动露下一卡）。
   单独成块并置于 768 块之后，避免 769–900 区间误用桌面六列 flex 挤压重叠
   ================================================================================ */
@media (max-width: 900px) {
    .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; }
    /* 触摸按下（:active）/经过时才出现橙面板（客户反馈：鼠标不经过不要触发效果） */
    .xy-products .col:hover, .xy-products .col:active { background: rgba(255, 138, 0, .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:hover .name, .xy-products .col:active .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:hover .desc, .xy-products .col:active .desc { color: rgba(255, 255, 255, .75) !important; }
    .xy-products .col .go { top: auto !important; bottom: 22px !important; transform: translateX(-50%) !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; }
    /* html body 提特异性：sections-news.css 基础规则 body .xy-news-tabs a(.on) 为 (0,2,2)，
       同特异性下其晚加载会反杀胶囊配色，导致选中态橙字压橙底（文字消失），故此处须 (0,2,3) */
    html body .xy-page-tabs a, html body .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; }
    html body .xy-page-tabs a.on, html body .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; }
    /* 资料下载：行高 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; }
}
