/* ==========================================================================
   宝点数字化科技有限公司 — 官网样式
   主色 #FB8C00   主文字 #1F2229   次文字 #61656E   背景 #FFFFFF / #F7F8FA
   ========================================================================== */

:root {
    --brand: #FB8C00;
    --brand-dark: #E57E00;
    --brand-light: #FFF4E6;
    --brand-line: #FFE0B8;
    --ink: #1F2229;
    --ink-2: #31353D;
    --ink-3: #61656E;
    --ink-4: #9AA0A8;
    --line: #EAECEF;
    --line-2: #F2F4F6;
    /* 全站统一底色：整页只用这一个浅灰，白色只留给"卡片"（--card），
       不再出现白色/浅灰交替的色带，避免看起来"有的白有的灰" */
    --bg: #F6F7F9;
    --bg-soft: #F6F7F9;
    --card: #FFFFFF;
    --radius: 12px;
    --shadow-sm: 0 2px 8px rgba(23, 26, 33, .05);
    --shadow-md: 0 10px 30px rgba(23, 26, 33, .08);
    --shadow-lg: 0 22px 50px rgba(23, 26, 33, .12);
    --maxw: 1200px;
    --nav-h: 72px;
}

* { box-sizing: border-box; }

/* overflow-x 用 clip 而不是 hidden：hidden 会把 html/body 变成滚动容器，
   导致子元素的 position:sticky 失效（页头跟着页面滚走）。clip 只裁剪、不创建滚动容器。
   老浏览器不支持 clip 时由上面的 hidden 兜底（@supports 生效时覆盖掉）。 */
html { scroll-behavior: smooth; overflow-x: hidden; }
@supports (overflow: clip) {
    html { overflow-x: clip; }
}

body {
    margin: 0;
    overflow-x: hidden;
    font-family: 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', system-ui, -apple-system, sans-serif;
    color: var(--ink-2);
    background: var(--bg);
    font-size: 15px;
    line-height: 1.78;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
}
@supports (overflow: clip) {
    body { overflow-x: clip; }
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; border: 0; }
ul { margin: 0; padding: 0; list-style: none; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.sr-only {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------------------------------------------------------------- 通用 */
.sec { padding: 80px 0; }
.sec--soft { background: transparent; }   /* 与整页统一底色一致，不再单独铺灰 */
.sec--tight { padding: 56px 0; }
.sec--sys { background: none; }           /* 去掉暖色径向渐变，保持整页单色 */
.sec-head { text-align: center; margin-bottom: 48px; }
.sec-head h2 {
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: .5px;
}
.sec-head p { margin: 14px 0 0; color: var(--ink-3); font-size: 15px; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 28px;
    border-radius: 6px;
    font-size: 15px;
    background: var(--brand);
    color: #fff;
    border: 1px solid var(--brand);
    cursor: pointer;
    font-family: inherit;
    transition: .2s;
}
.btn:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.btn--ghost { background: transparent; color: var(--brand); border-color: var(--brand); }
.btn--ghost:hover { background: var(--brand); color: #fff; }

/* 焦点样式：去掉浏览器默认光晕。
   输入框聚焦时只把边框变成品牌色；按钮仅在键盘导航时给一条实线描边。 */
.btn:focus, .biz__btn:focus, .partners__nav button:focus,
.field input:focus, .field textarea:focus,
.bleed__nav:focus, .why-cover__play:focus,
.form-actions button:focus { outline: none !important; }
.btn:focus-visible, .biz__btn:focus-visible, .partners__nav button:focus-visible,
.bleed__nav:focus-visible, .why-cover:focus-visible {
    outline: 2px solid var(--brand) !important;
    outline-offset: 3px;
}
.why-cover:focus { outline: none !important; }

/* ---------------------------------------------------------------- 顶部导航 */
.nav {
    position: sticky;
    top: 0;
    z-index: 90;
    height: var(--nav-h);
    background: rgba(246, 247, 249, .92);       /* 与整页底色一致，不再是一条白色带 */
    backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--line);
}
.nav__in {
    max-width: 1400px;
    margin: 0 auto;
    height: 100%;
    padding: 0 28px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.nav__logo { display: flex; align-items: center; margin-right: 26px; flex: none; }
.nav__logo img { height: 34px; }
.nav__menu { display: flex; align-items: center; height: 100%; flex: 1; }
.nav__item { position: relative; height: 100%; display: flex; align-items: center; }
.nav__link {
    display: flex;
    align-items: center;
    height: 38px;
    padding: 0 18px;
    border-radius: 19px;
    font-size: 15px;
    color: var(--ink-2);
    white-space: nowrap;
    transition: .18s;
}
.nav__item:hover > .nav__link { color: var(--brand); background: var(--brand-light); }
.nav__item.is-active > .nav__link { background: var(--brand); color: #fff; }
.nav__caret {
    width: 0; height: 0;
    margin-left: 6px;
    border: 4px solid transparent;
    border-top-color: currentColor;
    transform: translateY(2px);
}
.nav__drop {
    position: absolute;
    left: 50%;
    top: calc(100% - 6px);
    transform: translateX(-50%) translateY(6px);
    min-width: 200px;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    transition: .18s;
}
.nav__item:hover .nav__drop { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
/* 下拉里的分组标题（如「智能硬件系列」），不可点击 */
.nav__drop-title {
    margin: 6px 0 2px;
    padding: 8px 14px 4px;
    border-top: 1px solid var(--line);
    font-size: 12px;
    color: var(--ink-4);
    letter-spacing: .05em;
    white-space: nowrap;
}
.nav__drop-title:first-child { margin-top: 0; border-top: 0; padding-top: 4px; }
.nav__drop a {
    display: block;
    padding: 9px 14px;
    border-radius: 6px;
    font-size: 14px;
    color: var(--ink-3);
    white-space: nowrap;
    transition: .15s;
}
.nav__drop a:hover { background: var(--brand-light); color: var(--brand); }
.nav__lang { position: relative; flex: none; margin-left: 12px; }
.nav__lang > span { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--ink-3); cursor: pointer; }
.nav__toggle { display: none; }

/* ---------------------------------------------------------------- 首页 Hero */
.hero { position: relative; overflow: hidden; background: #0f1218; }
.hero__img { width: 100%; display: block; }

/* ---------------------------------------------------------------- 板块标题条 / 整块设计图 */
.sec-banner { text-align: center; margin-bottom: 44px; }
.sec-banner img { width: auto; margin: 0 auto; max-width: 100%; max-height: 96px; }
/* 整块设计图：尺寸/位置照原站 row1078 + module1096
   原站参数：行 padding-left 19.772905246671887%、模块宽 width=0.601904296875（占视口），
   模块 mr=0.2474074 → 左右约 19.8% 留白居中。
   底色不再单独给一块 #F8F9FD（那会形成一道比页面更冷的色带），
   改为让图自带底色与全站统一底色一致（图已按 #F6F7F9 重新铺底） */
.full-figure { width: 100%; }
.full-figure img { width: 60.1904296875%; margin-left: 19.772905246671887%; display: block; }

/* ---------------------------------------------------------------- 四大体系 */
.sys-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.sys-card {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    transition: transform .28s cubic-bezier(.2, .7, .3, 1), box-shadow .28s, border-color .28s;
}
.sys-card:hover {
    transform: translateY(-8px);
    border-color: var(--brand-line);
    box-shadow: 0 16px 34px rgba(16, 24, 40, .12);
}
.sys-card img { width: 100%; display: block; }

/* ---------------------------------------------------------------- 多业态解决方案 */
.biz { display: grid; grid-template-columns: 244px 1fr; gap: 52px; align-items: start; }
.biz__nav { display: flex; flex-direction: column; gap: 12px; }
.biz__btn {
    position: relative;
    height: 54px;
    padding: 0 20px 0 46px;
    text-align: left;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 27px;
    font-size: 15.5px;
    color: var(--ink-2);
    cursor: pointer;
    font-family: inherit;
    overflow: hidden;
    transition: .22s;
}
.biz__btn::before {
    content: '';
    position: absolute;
    left: 22px; top: 50%;
    width: 8px; height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #D5D8DD;
    transition: .22s;
}
.biz__btn::after {
    content: '';
    position: absolute;
    right: 18px; top: 50%;
    width: 7px; height: 7px;
    margin-top: -3.5px;
    border-top: 1.6px solid currentColor;
    border-right: 1.6px solid currentColor;
    transform: rotate(45deg) translate(-2px, 2px);
    opacity: 0;
    transition: .22s;
}
.biz__btn:hover { border-color: var(--brand); color: var(--brand); }
.biz__btn:hover::before { background: var(--brand); }
.biz__btn.is-active {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
    font-weight: 600;
}
.biz__btn.is-active::before { background: #fff; }
.biz__btn.is-active::after { opacity: 1; }
.biz__pane { display: none; }
.biz__pane.is-active { display: block; animation: fadeUp .38s ease both; }
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}
.biz__link {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(16, 24, 40, .09);
    transition: .28s cubic-bezier(.2, .7, .3, 1);
}
.biz__link:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(16, 24, 40, .15); }
.biz__link img { width: 100%; display: block; }

/* ---------------------------------------------------------------- 为什么选择宝点（左视频卡 + 右优势清单） */
.why { display: flex; align-items: center; gap: 46px; }
.why__media { width: 54%; flex: none; }
.why-cover { position: relative; border-radius: 14px; overflow: hidden; cursor: pointer; background: #EEF0F4; box-shadow: 0 0 0 1px rgba(17, 24, 39, .08), 0 10px 28px -14px rgba(17, 24, 39, .22); }
.why-cover img { width: 100%; display: block; aspect-ratio: 16 / 9; object-fit: cover; }
.why-cover__tag {
    position: absolute;
    left: 14px;
    top: 14px;
    height: 28px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    border-radius: 20px;
    background: rgba(0, 0, 0, .46);
    color: #fff;
    font-size: 12.5px;
    letter-spacing: .2px;
}
.why-cover__play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    border: 0;
    border-radius: 50%;
    background: rgba(17, 24, 39, .30);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .22s;
}
.why-cover__play i {
    width: 0; height: 0;
    margin-left: 4px;
    border-left: 14px solid rgba(255, 255, 255, .96);
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
}
.why-cover:hover .why-cover__play { background: rgba(17, 24, 39, .48); transform: translate(-50%, -50%) scale(1.04); }
.why__body { flex: 1; min-width: 0; }
.why__title { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.why__title::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--brand); margin-top: 13px; }
.why__lead { margin: 18px 0 0; font-size: 16px; line-height: 1.85; color: var(--ink-3); }
.why__list { list-style: none; margin: 20px 0 0; padding: 0; }
.why__list li { position: relative; padding-left: 17px; margin-bottom: 11px; font-size: 14.5px; line-height: 1.8; color: var(--ink-3); }
.why__list li:last-child { margin-bottom: 0; }
.why__list li::before { content: ""; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }
.why__list b { color: var(--ink); font-weight: 700; margin-right: 7px; }

/* ---------------------------------------------------------------- 视频播放弹窗 */
.vmodal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; }
.vmodal[hidden] { display: none; }
.vmodal__mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .84); }
.vmodal__box { position: relative; width: min(1080px, 92vw); }
.vmodal__video { width: 100%; display: block; border-radius: 8px; background: #000; max-height: 78vh; }
.vmodal__close {
    position: absolute;
    right: 0;
    top: -46px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: .2s;
}
.vmodal__close:hover { background: rgba(255, 255, 255, .32); }

/* ---------------------------------------------------------------- 通栏轮播（案例 / 品牌墙整图） */
/* 案例通栏轮播：原站 module855 显示宽 1679（正文区 1680 的 99.96%），不是整屏 1920，
   限宽到 1680 居中，避免 1920 素材被铺到更宽的屏幕而发虚 */
.bleed { position: relative; width: 100%; max-width: 1680px; margin-left: auto; margin-right: auto; overflow: hidden; background: transparent; }
.bleed__track { position: relative; }
.bleed__item { display: none; width: 100%; }
.bleed__item.is-active { display: block; }
.bleed__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px; height: 46px;
    display: flex; align-items: center; justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #8A8F98;
    font-size: 15px;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(20, 24, 32, .14);
    transition: .2s;
    z-index: 2;
}
.bleed__nav:hover { background: var(--brand); color: #fff; }
.bleed__nav--prev { left: 3.2%; }
.bleed__nav--next { right: 3.2%; }

/* ---------------------------------------------------------------- 通用图片轮播（内页） */
.slider {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow-md);
}
.slider__item { display: none; width: 100%; }
.slider__item.is-active { display: block; }
.slider__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px; height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, .3);
    color: #fff;
    font-size: 15px;
    cursor: pointer;
    transition: .2s;
    z-index: 2;
}
.slider__btn:hover { background: var(--brand); }
.slider__btn--prev { left: 20px; }
.slider__btn--next { right: 20px; }
.slider__dots {
    position: absolute;
    left: 0; right: 0; bottom: 16px;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.slider__dots i {
    display: block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .6);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
    cursor: pointer;
    transition: .2s;
}
.slider__dots i.is-active { background: var(--brand); width: 20px; border-radius: 4px; }

/* ---------------------------------------------------------------- 合作品牌 */
.partners { display: grid; grid-template-columns: 244px 1fr; gap: 52px; align-items: start; }
.partners__nav { display: flex; flex-direction: column; gap: 12px; }
.partners__nav button {
    position: relative;
    height: 50px;
    padding: 0 18px 0 46px;
    text-align: left;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 25px;
    font-size: 15.5px;
    color: var(--ink-2);
    cursor: pointer;
    font-family: inherit;
    transition: .22s;
}
.partners__nav button::before {
    content: '';
    position: absolute;
    left: 22px; top: 50%;
    width: 8px; height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #D5D8DD;
    transition: .22s;
}
.partners__nav button:hover { border-color: var(--brand); color: var(--brand); }
.partners__nav button:hover::before { background: var(--brand); }
.partners__nav button.is-active {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
    font-weight: 600;
}
.partners__nav button.is-active::before { background: #fff; }
.partner-wall { width: 100%; display: block; border-radius: 12px; }
.tabs__pane { display: none; }
.tabs__pane.is-active { display: block; animation: fadeUp .38s ease both; }

/* ---------------------------------------------------------------- 留言表单
   整体收紧：区块上下留白 80→60/68，标题与卡片间距 48→30，
   卡片 1000×590 → 880×~488（内边距 44/48 → 30/34），行距 20/28 → 16/22，
   留言框 110 → 92，按钮上间距 28 → 22。整块更紧凑，不再一大片空。 */
#contact { padding: 60px 0 68px; }
#contact .sec-head { margin-bottom: 30px; }
#contact .sec-head p { margin-top: 10px; }
.form-card {
    background: var(--card);
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(23, 26, 33, .07);
    padding: 30px 34px 32px;
    max-width: 880px;
    margin: 0 auto;
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 22px; }
.field { display: flex; flex-direction: column; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: 13.5px; color: var(--ink-3); line-height: 1.3; margin-bottom: 6px; }
.field label i { color: var(--brand); font-style: normal; margin-left: 3px; }
.field input, .field textarea {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 13px;
    font-size: 14px;
    font-family: inherit;
    color: var(--ink-2);
    outline: none;
    transition: .18s;
    background: var(--card);
}
.field input:focus, .field textarea:focus { border-color: var(--brand); }
.field textarea { resize: vertical; min-height: 92px; }
.form-actions { text-align: center; margin-top: 22px; }

/* ---------------------------------------------------------------- 地图（公司地址）
   逐条对齐原站 module2121（在线地图）：
     宽度 = 视口 × 0.7489 且居中（原站 width:calc(...* 0.7489583333333333); align-self:center）
     高度 = 宽度 × 0.368942（原站 module2121 自定义模块高度 privatePattern.pc.pmh，
          覆盖 .module_online_map 默认的 padding-bottom:27.7778%；此处取 36.9286% 与 1400x517 底图同比例）
     左上浮地址面板 = 原站 .multi_panel（left:72px top:20px width:20% min-width:256px radius:4px）
     定位针 = 原站 .icon_mark（fill:#fc5634; 24×28） */
.map-sec { padding: 56px 0 60px; background: transparent; }
.map-mod { position: relative; width: 74.9%; margin: 0 auto; }
.map-stage {
    position: relative;
    width: 100%;
    padding-bottom: 36.9286%;      /* = 原站 pmh 0.368942（1400x517 底图同比例），覆盖默认 27.7778% */
    overflow: hidden;
    background: #EDEFF2;
}
.map-stage__bg { position: absolute; inset: 0; display: block; }
.map-stage__bg img { width: 100%; height: 100%; display: block; object-fit: cover; }
/* 地图上的定位针（--x0/--y0 横版底图坐标；--xm/--ym 窄屏竖版底图坐标） */
.map-pin {
    position: absolute;
    left: var(--x0); top: var(--y0);
    width: 26px; height: 31px;
    margin: -31px 0 0 -13px;          /* 使针尖对准坐标点 */
    cursor: pointer;
    filter: drop-shadow(0 3px 4px rgba(20, 24, 32, .3));
    transition: .18s;
    z-index: 1;
}
.map-pin--dup { margin-left: 2px; margin-top: -20px; z-index: 0; }   /* 同坐标的第 3 枚，错开避免完全重叠 */
.map-pin svg { width: 100%; height: 100%; display: block; }
.map-pin svg path { fill: #FC5634; }      /* 原站 .icon_mark 的 fill */
.map-pin b {
    position: absolute; left: 0; right: 0; top: 0; height: 23px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 13px; font-weight: 400; line-height: 1;
}
.map-pin.is-on { z-index: 3; transform: scale(1.22); }
.map-pin.is-on svg path { fill: #E23A1C; }

/* 左上地址面板（原站 .multi_panel） */
.map-panel {
    position: absolute;
    left: 72px; top: 20px;
    width: 20%;
    min-width: 256px;
    max-height: calc(100% - 44px);
    box-sizing: border-box;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(20, 24, 32, .14);
    z-index: 4;
}
.map-panel__search {
    flex: none;
    display: flex;
    align-items: center;
    height: 30px;
    margin: 12px 12px 0;
    padding: 0 9px;
    border-bottom: 1px solid #E3E2E8;
}
.map-panel__search svg { flex: none; width: 13px; height: 13px; fill: #B6B8BC; margin-right: 6px; }
.map-panel__search input {
    flex: 1; min-width: 0;
    border: 0; outline: none; background: transparent;
    font-size: 13px; color: #333; font-family: inherit;
}
.map-panel__search input::placeholder { color: #B6B8BC; }
.map-panel__list {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 8px;
    padding: 0 12px 10px;
    overflow: auto;
}
.map-item {
    display: flex;
    padding: 12px;
    cursor: pointer;
    border-radius: 2px;
    transition: background .15s;
}
.map-item:hover { background: #F7F7F7; }
.map-item.is-active { background: #F4F4F4; }
.map-item__ico {
    flex: none;
    position: relative;
    width: 24px; height: 28px;
    margin-right: 6px;
}
.map-item__ico svg { width: 24px; height: 28px; display: block; }
.map-item__ico svg path { fill: #FC5634; }
.map-item__ico b {
    position: absolute; left: 50%; top: 0;
    height: 22px;
    transform: translateX(-50%);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 13px; font-weight: 400; line-height: 1;
    z-index: 2;
}
.map-item__c { flex: 1; min-width: 0; font-size: 13px; }
.map-item__d { color: #333; word-break: break-all; line-height: 1.5; }
.map-item__a { color: #999; text-decoration: underline; line-height: 1.5; margin-top: 2px; }
.map-panel__empty { padding: 16px 12px; font-size: 13px; color: #999; text-align: center; }

/* ---------------------------------------------------------------- 内页 banner（设计好带标题的整图） */
.banner { position: relative; background: transparent; }
.banner img { width: 100%; display: block; }
.crumb-bar {
    border-bottom: 1px solid var(--line);
    background: transparent;
    font-size: 13px;
    color: var(--ink-4);
}
.crumb-bar .wrap { display: flex; align-items: center; justify-content: space-between; height: 52px; gap: 16px; }
.crumb-bar a:hover { color: var(--brand); }
.crumb-bar span.sep { margin: 0 8px; }

/* ---------------------------------------------------------------- 内页文本头 */
.phero {
    position: relative;
    padding: 68px 0 60px;
    background: transparent;          /* 与整页底色一致；暖色光斑作为点缀保留 */
    border-bottom: 1px solid var(--line);
    overflow: hidden;
}
.phero::after {
    content: '';
    position: absolute;
    right: -140px; top: -140px;
    width: 420px; height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(251, 140, 0, .13) 0%, rgba(251, 140, 0, 0) 70%);
}
.phero::before {
    content: '';
    position: absolute;
    left: -80px; bottom: -160px;
    width: 300px; height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(251, 140, 0, .07) 0%, rgba(251, 140, 0, 0) 70%);
}
.phero .wrap { position: relative; z-index: 1; }
.phero h1 { margin: 0; font-size: 38px; color: var(--ink); letter-spacing: 1px; }
.phero p { margin: 14px 0 0; color: var(--ink-3); font-size: 15.5px; max-width: 760px; }
.crumb { margin-top: 20px; font-size: 13px; color: var(--ink-4); }
.crumb a:hover { color: var(--brand); }
.crumb span.sep { margin: 0 8px; }

/* ---------------------------------------------------------------- 内页正文 */
.article { padding: 56px 0 72px; }
.article > .wrap > p { color: var(--ink-3); margin: 0 0 18px; font-size: 15.5px; }
.article h2 {
    font-size: 24px;
    color: var(--ink);
    margin: 56px 0 22px;
    padding-left: 14px;
    border-left: 4px solid var(--brand);
    line-height: 1.3;
}
.article h2:first-child { margin-top: 0; }
.article h3 { font-size: 18px; color: var(--ink); margin: 0 0 10px; }
.article .lead { font-size: 16.5px; color: var(--ink-2); line-height: 1.9; }

/* 单张整图 */
.fig { margin: 0 0 30px; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: var(--shadow-sm); }
.fig img { width: 100%; display: block; }
.fig--flush { box-shadow: none; border-radius: 0; }
.fig--line { border: 1px solid var(--line); }
/* 竖版长图：按长宽比限宽居中，避免把页面纵向拉得过长 */
.fig--tall, .longshot.fig--tall { max-width: 400px; margin-left: auto; margin-right: auto; }
.fig--long, .longshot.fig--long { max-width: 780px; margin-left: auto; margin-right: auto; }

/* 两列 / 三列图墙 */
.gal { display: grid; gap: 22px; margin: 0 0 34px; }
.gal--2 { grid-template-columns: repeat(2, 1fr); }
.gal--3 { grid-template-columns: repeat(3, 1fr); }
.gal--4 { grid-template-columns: repeat(4, 1fr); }
.gal figure { margin: 0; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--line); transition: .25s; }
.gal figure:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--brand-line); }
.gal img { width: 100%; display: block; }

/* 左图右文 / 左文右图 */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin: 0 0 42px; }
.split--rev .split__media { order: 2; }
.split__media { border-radius: 12px; overflow: hidden; background: #fff; box-shadow: var(--shadow-sm); }
.split__media img { width: 100%; display: block; }
.split h3 { font-size: 21px; color: var(--ink); margin: 0 0 12px; }
.split p { color: var(--ink-3); margin: 0 0 12px; }

/* 数字条 */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0 0 42px; }
.stat {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 26px 20px;
    text-align: center;
    transition: .25s;
}
.stat:hover { border-color: var(--brand-line); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.stat b { display: block; font-size: 30px; color: var(--brand); letter-spacing: .5px; line-height: 1.2; }
.stat span { display: block; margin-top: 6px; font-size: 13.5px; color: var(--ink-3); }

/* 功能卡片（8 宫格） */
.fgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0 0 40px; }
.fcard {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 26px 22px 24px;
    overflow: hidden;
    transition: .25s;
}
.fcard::after {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--brand) 0%, #FFC061 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: .3s;
}
.fcard:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(16, 24, 40, .12); border-color: var(--brand-line); }
.fcard:hover::after { transform: scaleX(1); }
.fcard i {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px;
    border-radius: 9px;
    background: var(--brand-light);
    color: var(--brand);
    font-style: normal;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
}
.fcard b { display: block; font-size: 16px; color: var(--ink); margin-bottom: 8px; }
.fcard span { display: block; font-size: 13.5px; color: var(--ink-3); line-height: 1.7; }

/* 产品卡 */
.pcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0 0 40px; }
.pcard {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 26px 24px;
    background: #fff;
    transition: .25s;
}
.pcard:hover { border-color: var(--brand-line); box-shadow: 0 12px 26px rgba(16, 24, 40, .11); transform: translateY(-4px); }
.pcard b { display: block; color: var(--ink); font-size: 16.5px; margin-bottom: 8px; }
.pcard span { font-size: 13.5px; color: var(--ink-3); }

/* 要点清单 */
.checklist { margin: 0 0 32px; }
.checklist li {
    position: relative;
    padding: 0 0 0 30px;
    margin-bottom: 12px;
    color: var(--ink-3);
    font-size: 15px;
}
.checklist li::before {
    content: '';
    position: absolute;
    left: 2px; top: 9px;
    width: 14px; height: 8px;
    border-left: 2.2px solid var(--brand);
    border-bottom: 2.2px solid var(--brand);
    transform: rotate(-45deg);
}

/* 步骤 */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0 0 40px; counter-reset: st; }
.step { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 26px 24px 24px; position: relative; }
.step::before {
    counter-increment: st;
    content: counter(st, decimal-leading-zero);
    display: block;
    font-size: 26px;
    font-weight: 700;
    color: #F0F1F3;
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: 1px;
}
.step b { display: block; color: var(--ink); font-size: 16.5px; margin-bottom: 8px; }
.step span { font-size: 13.5px; color: var(--ink-3); }

/* 长图（原站整页效果图） */
.longshot { max-width: 1040px; margin: 0 auto 34px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }

/* ---------------------------------------------------------------- 解决方案页（对照原站 1:1）
   原站 = 通栏 banner（高宽比照抄各页 banner_pic_group：多数页 41.6667%，
   票务文旅 h-col-118 是 38.20459290187891%）+ 通栏内容大图（满宽），
   页面无面包屑、无 CTA，内容全部是设计好的整图 */
.sol-banner {
    position: relative;
    display: block;
    width: 100%;
    /* 用 aspect-ratio 而不是 padding-bottom：容器限宽后 padding 百分比按外层算会失真 */
    aspect-ratio: 2.4;              /* = 原站 41.6667% 的倒数，各页可用 inline 覆盖 */
    overflow: hidden;
    background: var(--bg-soft);
}
.sol-banner > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    display: block;
}
/* 多张 banner：自动轮播 + 鼠标拖拽切换（JS 驱动，见 main.js 的 [data-sol-slides]）
   图片叠放，用 opacity 淡入淡出；拖拽时跟手平移并露出前后张。 */
.sol-banner--slides {
    cursor: default;                /* 保持普通箭头光标（拖拽能力照常可用） */
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;            /* 纵向留给页面滚动，横向由拖拽接管 */
}
.sol-banner--slides.is-dragging { cursor: default; }
.sol-banner--slides > img {
    opacity: 0;
    z-index: 1;
    -webkit-user-drag: none;
    transition: opacity .6s ease, transform .45s cubic-bezier(.22, .61, .36, 1);
}
.sol-banner--slides > img.is-active { opacity: 1; z-index: 2; }
.sol-banner--slides > img.is-peek { opacity: 1; z-index: 1; }
/* 拖拽跟手期间禁用过渡，松手瞬间禁用过渡以无跳变地归位 */
.sol-banner--slides.is-dragging > img,
.sol-banner--slides.no-anim > img { transition: none; }

/* 原站同款短线指示器（原站为 pic_short_line 三条短线）—— 弱化版：
   更短（16/24px）、更细（2px）、低对比（半透明白），去掉黑色投影，
   让它在 banner 上几乎"隐形"，只在需要时能看清当前页 */
.sol-banner__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}
.sol-banner__dot {
    width: 16px;
    height: 2px;
    padding: 0;
    border: 0;
    border-radius: 1px;
    background: rgba(255, 255, 255, .38);
    cursor: pointer;
    transition: background .2s, width .2s;
}
.sol-banner__dot:hover { background: rgba(255, 255, 255, .62); }
.sol-banner__dot.is-active { width: 24px; background: rgba(255, 255, 255, .78); }

/* 版式宽度照原站凡科 SSR 口径（col-131 等）：
   banner 的设计宽度 1920（responsiveInfo.independent.banner.bl[0].width=1920），
   正文内容区宽度 1680（responsiveInfo.pattern.adaptWidth.w=1680）。
   屏幕宽于该值时整块居中、两侧留页面底色（#F6F7F9，与原站一致且看不出接缝），
   避免 >设计宽度 的屏幕把 1920 素材拉伸放大后变形、发虚 */
.sol-banner { width: 100%; max-width: 1920px; margin-left: auto; margin-right: auto; }
.sol-main { width: 100%; max-width: 1680px; margin-left: auto; margin-right: auto; }

/* 内容长图：宽度按各页原站模块真实百分比（inline style 给值），居中，不超原始像素 */
.sol-main .sol-shot { display: block; width: 100%; max-width: 100%; height: auto; margin-left: auto; margin-right: auto; }

/* 案例网格（票务文旅页 module2128：每行 4 个，图 71.67% 比例 cover） */
.sol-cases { padding: 26px 1.2% 10px; }
.sol-cases__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px 18px; }
.sol-case { display: block; }
.sol-case__pic {
    display: block;
    position: relative;
    padding-bottom: 71.67%;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
.sol-case__pic img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .3s;
}
.sol-case:hover .sol-case__pic img { transform: scale(1.03); }
.sol-case__name { display: block; margin-top: 10px; font-size: 14px; color: var(--ink-3); transition: .18s; }
.sol-case:hover .sol-case__name { color: var(--brand); }

/* ---------------------------------------------------------------- 页脚 */
.foot { background: transparent; border-top: 1px solid var(--line); color: var(--ink-3); padding: 48px 0 0; font-size: 14px; }
.foot__brand { padding-bottom: 24px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }
.foot__brand img { width: 520px; max-width: 100%; display: block; }
/* 前 4 列等分，二维码列按内容自适应贴右边界 —— 让页脚左右都对齐到 wrap，不留半截空当 */
.foot__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 34px; }
.foot h4 { color: var(--ink); font-size: 16px; font-weight: 700; margin: 0 0 15px; }
.foot li { margin-bottom: 9px; }
.foot li a { color: var(--ink-3); transition: .18s; }
.foot li a:hover { color: var(--brand); }
.foot__qr { display: flex; gap: 22px; }
.foot__qr div { text-align: center; }
.foot__qr img { width: 100px; height: 100px; border-radius: 8px; background: #fff; padding: 4px; border: 1px solid var(--line); }
.foot__qr span { display: block; margin-top: 7px; font-size: 13px; color: var(--ink-4); }
/* 底部版权 + 备案：两行居中；备案号可跳转（工信部 beian.miit.gov.cn / 公安 www.beian.gov.cn） */
.foot__bar {
    margin-top: 34px;
    border-top: 1px solid var(--line);
    padding: 22px 0 28px;
}
.foot__cr {
    margin: 0;
    text-align: center;
    font-size: 14px;
    line-height: 1.7;
    color: #999;
}
.foot__beian {
    margin: 9px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 24px;
    font-size: 14px;
    line-height: 1.6;
}
/* 备案号链接：固定 #666，无 hover 变色（按要求） */
.foot__beian a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #666;
    text-decoration: none;
}
.foot__ga img { width: 20px; height: 20px; display: block; flex: none; }

/* ---------------------------------------------------------------- CTA（品牌橙） */
.cta { background: linear-gradient(100deg, #F98307 0%, #FFA02C 100%); color: #fff; padding: 52px 0; }
.cta__in { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.cta h2 { margin: 0; font-size: 27px; color: #fff; }
.cta p { margin: 8px 0 0; color: rgba(255, 255, 255, .88); }
.cta .btn-b { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 32px; border-radius: 6px; background: #fff; color: var(--brand-dark); font-size: 15px; font-weight: 700; transition: .2s; }
.cta .btn-b:hover { background: #FFF6EA; transform: translateY(-1px); }

/* ---------------------------------------------------------------- 响应式 */
@media (max-width: 1180px) {
    .map-mod { width: 88%; }
    .map-panel { left: 40px; width: 30%; }
}
@media (max-width: 1100px) {
    .sys-cards { grid-template-columns: repeat(2, 1fr); }
    .stats { grid-template-columns: repeat(2, 1fr); }
    .fgrid { grid-template-columns: repeat(2, 1fr); }
    .pcards { grid-template-columns: repeat(2, 1fr); }
    .gal--4 { grid-template-columns: repeat(2, 1fr); }
    .biz, .partners { grid-template-columns: 1fr; }
    .foot__grid { grid-template-columns: repeat(2, 1fr); gap: 26px 32px; }
    .why { gap: 32px; }
    .why__media { width: 51%; }
    .why__title { font-size: 26px; }
}
@media (max-width: 860px) {
    .why { flex-direction: column; align-items: stretch; gap: 26px; }
    .why__media { width: 100%; }
    .split { grid-template-columns: 1fr; gap: 22px; }
    .split--rev .split__media { order: 0; }
    .steps { grid-template-columns: 1fr; }
    .gal--3 { grid-template-columns: repeat(2, 1fr); }
    /* 手机端：地图改为更方的高宽比（原站 mobi padding-bottom:74.9279%），
       地址面板不再浮在地图上遮挡视线，改为落到地图下方 */
    .map-mod { width: calc(100% - 40px); }
    .map-stage { padding-bottom: 74.9279%; }
    .map-pin { left: var(--xm); top: var(--ym); }   /* 换成竖版底图对应的坐标 */
    /* 面板改为正常流，落到地图下方，不再遮挡地图 */
    .map-panel {
        position: static;
        width: auto;
        min-width: 0;
        max-height: none;
        margin-top: 14px;
        border: 1px solid var(--line);
        box-shadow: none;
    }
    .map-panel__list { overflow: visible; }
}
@media (max-width: 720px) {
    .nav__menu { display: none; }
    .nav__toggle { display: flex; flex-direction: column; gap: 5px; margin-left: auto; cursor: pointer; }
    .nav__lang { display: none; }
    .nav__toggle i { width: 22px; height: 2px; background: var(--ink-2); display: block; }
    .sec-banner { margin-bottom: 26px; }
    .sec-banner img { max-width: 100%; }
    /* 原站 mobi 参数：ml=mr=0.03733 → 图宽 = 100%-2×3.733% */
    .full-figure img { width: 92.534%; margin-left: 3.733%; }
    .sec { padding: 44px 0; }
    .sec-head { margin-bottom: 30px; }
    .sec-head h2 { font-size: 21px; letter-spacing: 0; }
    .sec-head p { font-size: 14px; padding: 0 6px; }
    .sys-cards, .stats, .fgrid, .pcards, .gal--2, .gal--3, .gal--4, .steps { grid-template-columns: 1fr; }
    .sys-cards { gap: 16px; }
    .sys-card { width: 100%; max-width: 330px; margin: 0 auto; }
    .biz__nav { flex-direction: row; overflow-x: auto; gap: 10px; padding-bottom: 6px; }
    .biz__btn { flex: none; height: 42px; padding: 0 18px; font-size: 14px; border-radius: 21px; }
    .biz__btn::before, .biz__btn::after { display: none; }
    .why__title { font-size: 22px; }
    .why__title::after { width: 30px; margin-top: 10px; }
    .why__lead { margin-top: 14px; font-size: 15px; line-height: 1.8; }
    .why__list { margin-top: 16px; }
    .why__list li { font-size: 14px; line-height: 1.75; margin-bottom: 9px; padding-left: 15px; }
    .why__list li::before { top: 9px; width: 5px; height: 5px; }
    .why-cover { border-radius: 12px; }
    .why-cover__play { width: 48px; height: 48px; }
    .why-cover__play i { border-left-width: 12px; border-top-width: 8px; border-bottom-width: 8px; margin-left: 3px; }
    .why-cover__tag { left: 10px; top: 10px; height: 24px; padding: 0 10px; font-size: 11.5px; }
    .partners__nav { flex-direction: row; overflow-x: auto; gap: 10px; padding-bottom: 6px; }
    .partners__nav button { flex: none; height: 42px; padding: 0 16px 0 38px; font-size: 14px; border-radius: 21px; }
    .partners__nav button::before { left: 18px; width: 7px; height: 7px; margin-top: -3.5px; }
    #contact { padding: 44px 0 50px; }
    #contact .sec-head { margin-bottom: 22px; }
    .form-card { padding: 22px 16px 24px; border-radius: 14px; }
    .form-grid { grid-template-columns: 1fr; gap: 14px; }
    .foot { padding-top: 40px; }
    .foot__grid { grid-template-columns: 1fr; gap: 26px; }
    .foot__cr { font-size: 12.5px; }
    .foot__beian { font-size: 12.5px; gap: 6px 16px; }
    .phero { padding: 46px 0 38px; }
    .phero h1 { font-size: 25px; }
    .phero p { font-size: 14px; }
    .article { padding: 34px 0 48px; }
    .article h2 { font-size: 19px; margin: 34px 0 16px; }
    .article .lead { font-size: 15px; }
    .cta { padding: 38px 0; }
    .cta h2 { font-size: 20px; }
    .slider__btn { width: 36px; height: 36px; }
    .slider__btn--prev { left: 8px; }
    .slider__btn--next { right: 8px; }
    .bleed__nav { width: 34px; height: 34px; font-size: 12px; }
    .bleed__nav--prev { left: 8px; }
    .bleed__nav--next { right: 8px; }
    .crumb-bar .wrap { height: 46px; }
}

/* ---------------------------------------------------------------- 解决方案页响应式 */
@media (max-width: 900px) {
    .sol-cases__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
    /* banner 保持 41.6667% 不动 —— 原站就是把这个百分比硬写在 HTML 上、没有任何移动端覆盖，
       且 banner 原图本身是 2.4:1，41.6667% 的容器在任何宽度下比例恒为 2.4:1，
       cover 不会裁掉两侧文字，所以这里无需（也不应该）调整高度比，以保持 1:1 */
    .sol-cases { padding: 20px 3.2% 6px; }
    .sol-cases__grid { grid-template-columns: repeat(2, 1fr); gap: 20px 12px; }
    .sol-case__name { margin-top: 8px; font-size: 13px; }
}

/* ---------------------------------------------------------------- 产品中心（对照原站 1:1）
   原站产品页结构与解决方案页一致：通栏 banner + 通栏内容整图，
   无面包屑、无自造文案卡片。宝点云多一个「轮播多图」模块（8 张功能模块图）。 */

/* 通用内容轮播（原站「轮播多图」）—— 与 banner 轮播共用一套 JS（[data-sol-slides]），
   区别只是容器高度比由图片自身比例决定，写在 inline style 上 */
.sol-slides {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 2.4;              /* 兜底，实际比例由各页 inline aspect-ratio 指定 */
    overflow: hidden;
    background: var(--bg-soft);
    cursor: default;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;
}
.sol-slides > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    opacity: 0;
    z-index: 1;
    -webkit-user-drag: none;
    transition: opacity .6s ease, transform .45s cubic-bezier(.22, .61, .36, 1);
}
.sol-slides > img.is-active { opacity: 1; z-index: 2; }
.sol-slides > img.is-peek { opacity: 1; z-index: 1; }
.sol-slides.is-dragging > img,
.sol-slides.no-anim > img { transition: none; }

/* 宝点云「功能模块」轮播：宽度照抄原站 module1119 的 .photo_display_wrap{width:75.176%}，
   与页面第一张正文图同宽。做成通栏会超出原站 33%，图内图标/小字被放大后发虚。 */
.sol-slides--narrow {
    max-width: 75.176%;
    margin-left: auto;
    margin-right: auto;
}

/* 智能硬件系列切换：对照原站「横向标签」tabpack
   原站：选中底 rgba(254,87,34,1) 橙红、未选 rgba(222,222,222,1) 浅灰、标签居中、左右各 5px 间距 */
.hw-tabs { width: 100%; }
.hw-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 10px;
    padding: 26px 3% 6px;
}
.hw-tabs__btn {
    margin: 0 5px;
    padding: 9px 20px;
    border: 0;
    border-radius: 4px 4px 0 0;
    background: rgba(222, 222, 222, 1);
    color: #212121;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.25;
    cursor: pointer;
    transition: .22s;
}
.hw-tabs__btn:hover { background: #D0D0D0; }
.hw-tabs__btn.is-active {
    background: rgba(254, 87, 34, 1);
    color: #fff;
    font-weight: 600;
}
.hw-tabs__pane { display: none; }
.hw-tabs__pane.is-active { display: block; animation: fadeUp .38s ease both; }
@media (max-width: 720px) {
    .hw-tabs__nav { padding: 18px 3% 4px; gap: 6px; }
    .hw-tabs__btn { padding: 8px 14px; font-size: 14px; margin: 0 3px; }
}

/* 宝点云「功能模块」文字区：与上方轮播联动（main.js 同步 is-active）。
   原站把这些说明画在图里、放大后发虚，这里用网页真文字渲染。 */
.sol-feats {
    max-width: 1000px;
    margin: 30px auto 10px;
    padding: 0 24px;
}
.sol-feat { display: none; }
.sol-feat.is-active { display: block; animation: fadeUp .36s ease both; }
.sol-feat h3 {
    margin: 0 0 16px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--ink);
    text-align: center;
}
.sol-feat li {
    margin: 10px 0;
    font-size: 15px;
    line-height: 1.92;
    color: var(--ink-3);
    text-align: center;              /* 文字水平居中显示 */
}
.sol-feat li strong { color: var(--ink-2); font-weight: 600; }
@media (max-width: 720px) {
    .sol-slides--narrow { max-width: 100%; }   /* 手机端占满，和原站移动版一致 */
    .sol-main .sol-shot { width: 100% !important; }   /* 手机端内容图满宽（原站移动版同） */
    .sol-feats { margin-top: 22px; padding: 0 16px; }
    .sol-feat h3 { font-size: 18px; margin-bottom: 12px; }
    .sol-feat li { font-size: 14px; line-height: 1.86; margin: 8px 0; }
}
