@charset "utf-8";
/* ============================================================
   山东省宁津县新兴化工有限公司  —  前端样式
   框架参考：sdabosn.com/sys-nd/1009.html（顶部导航 + 左栏 + 右栏 + 底部联系）
   产品展示参考：www.sdxxhg.com（分类标签 + 大图交替图文 + 查看详情）
   品牌色取自官网 LOGO：蓝 #0b6cb4 / 橙 #f39800
   ============================================================ */

:root {
    --blue: #1f5fa9;          /* 主蓝：标题、按钮、链接（取自 sdabosn 标题蓝） */
    --card-blue: #0b63b9;     /* 产品卡片标题条蓝：取自 sdxxhg.com 分类页实测 */
    --blue-d: #164a86;
    --blue-l: #eaf2fa;
    --navy: #232061;          /* 深藏蓝：导航当前/悬停项、左栏标题块（取自参考站实测 #232061） */
    --foot: #2f3f52;          /* 页脚深蓝灰 */
    --orange: #f39800;
    --orange-d: #dd8600;
    --text: #333;
    --text-2: #666;
    --text-3: #999;
    --line: #e3e8ee;
    --bg: #f4f6f9;
    --w: 1200px;
}

/* 思源黑体（Noto Sans SC）子集：只打包本站实际用到的 1954 个字，534KB
   可变字重 100-900 一个文件覆盖常规/加粗；font-display:swap 不阻塞首屏文字 */
@font-face {
    font-family: 'SHS';
    src: url('../fonts/siyuan.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: 'SHS', 'Noto Sans SC', 'Source Han Sans SC', 'Microsoft YaHei', 'PingFang SC', Arial, sans-serif;
    font-size: 14px; line-height: 1.8;
    color: var(--text);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}
img { border: 0; vertical-align: middle; max-width: 100%; }
a { color: var(--text); text-decoration: none; transition: color .25s; }
a:hover { color: var(--blue); }
ul, li, ol { list-style: none; }
h1, h2, h3, h4, h5 { font-weight: 700; }
input, textarea, button { font-family: inherit; }
.clear { clear: both; height: 0; overflow: hidden; }
.w { width: var(--w); margin: 0 auto; }

/* ---------------- 头部：LOGO + 行内导航（对齐参考站：纯白细头，当前项深蓝色块） ---------------- */
.header { background: #fff; border-bottom: 1px solid #edf1f6; position: relative; z-index: 80; }
.header .w { display: flex; align-items: stretch; height: 105px; }
.logo { display: flex; align-items: center; flex: 0 0 auto; }
.logo img { height: 62px; width: auto; display: block; }

.nav-inline { display: flex; align-items: stretch; margin-left: auto; }
.nav-inline > li { position: relative; display: flex; align-items: stretch; }
.nav-inline > li > a {
    display: flex; align-items: center; justify-content: center;
    /* 参考站实测：每个导航项固定 115px 宽、105px 高、字号 16px、无内边距，
       6 项合计 690px，所以选中/悬停的深蓝色块宽度完全一致（截图里首页和
       产品中心两块一样宽就是这个原因）。改成固定宽度后不再随字数变化。 */
    width: 115px; padding: 0; font-size: 16px; color: #222; white-space: nowrap;
}
/* 参考站实测（1440 视口逐项取计算样式）：当前项 .itemSelected 与悬停项
   .itemHover 用的是同一个背景 rgb(35,32,97)=#232061 + 白字，鼠标移开才恢复，
   所以这里把 hover 也做成整块填充，而不是只变字色 */
.nav-inline > li > a { transition: background-color .2s, color .2s; }
.nav-inline > li.on > a,
.nav-inline > li.on > a:hover {
    background: var(--navy); color: #fff;
    /* 深蓝底上的白字会比白底黑字显得细一圈（反白失去光学膨胀），
       补一道 0.5px 同色描边，让当前项的字看起来和其他项一样大 */
    text-shadow: 0 0 .5px #fff;
}
/* 触屏设备没有 hover，避免点一下就留色块 */
@media (hover: hover) {
    .nav-inline > li:not(.on) > a:hover {
        background: var(--navy); color: #fff; text-shadow: 0 0 .5px #fff;
    }
}
/* 二级下拉面板已按参考站去掉（导航只保留一级，悬停不弹面板），
   以下样式保留给万一将来要恢复时用，当前模板里没有 <dl> 不会生效 */
.nav-inline li dl {
    position: absolute; left: 0; top: 100%; z-index: 60; min-width: 226px;
    background: #fff; padding: 0; display: none;
    box-shadow: 0 12px 28px rgba(0,0,0,.10);
}
.nav-inline li dl:empty { display: none !important; }
.nav-inline li dl dd a {
    display: block; padding: 0 20px; height: 55px; line-height: 55px;
    font-size: 15px; color: #333; white-space: nowrap;
}
.nav-inline li dl dd a:hover { background: #f5f8fb; color: var(--blue); }

/* ---------------- 首页轮播（对齐 sdabosn.com：1920×721 整图 + 3D 立方体旋转） ---------------- */
.hbanner {
    /* 高度按 1920×721 等比（37.55vw），1920 及以上锁定 721px。
       原来 ≥1200px 写死 721px，1440 屏下会把 1920 宽的图左右各裁 240px——
       新版 banner 左侧四行数据一直排到 x≈190，裁掉后「高精密加工设备」「加工技师」
       等文字会被切头，所以改成等比：任何宽度都整图可见、不裁内容。 */
    position: relative; width: 100%; max-width: 1920px; margin: 0 auto;
    height: 37.55vw; max-height: 721px;
    overflow: hidden; background: #0a3a5f;
    /* 透视强度按参考站中间帧反推：45° 时高度放大 1.23 倍 → P ≈ 1.9W */
    perspective: 2700px;
    perspective-origin: 50% 50%;
}

/* 舞台：先整体后退半个宽度，与每个面的 translateZ(+half) 抵消，
   使正面的图投影后正好铺满容器、不被放大 */
.hbanner-track {
    position: relative; width: 100%; height: 100%;
    transform-style: preserve-3d;
    transform: translateZ(calc(var(--half, 720px) * -1)) rotateY(0deg);
    transition: transform .85s cubic-bezier(.45, .05, .25, 1);
}

/* 每个面：默认在 z=+half 的正面位置；切换时相邻面转到 ±90° */
.hbanner-item {
    position: absolute; inset: 0; display: block;
    transform-origin: center center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    visibility: hidden;
    transform: translateZ(var(--half, 720px));
    transition: transform .85s cubic-bezier(.45, .05, .25, 1);
}
.hbanner-item.is-on { visibility: visible; }
.hbanner-item img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    -webkit-user-drag: none; user-select: none;
}

/* 圆点：与参考站一致 —— 水平居中、距底 5px、10px 圆点、间距 10px */
.hbanner-dots {
    position: absolute; left: 50%; bottom: 5px; z-index: 5;
    display: flex; align-items: center; gap: 20px;
    transform: translateX(-50%);
}
.hbanner-dots i {
    width: 10px; height: 10px; border-radius: 50%; cursor: pointer;
    /* 颜色照参考站（浅灰半透明），另加 1px 深色描边——
       纯白/浅灰点在白底图上会完全看不见 */
    background: rgba(232, 232, 232, .5);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .22);
    transition: background .3s, box-shadow .3s, transform .3s;
}
.hbanner-dots i:hover { background: rgba(255, 255, 255, .85); }
.hbanner-dots i.on {
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 0 0 2px rgba(11, 92, 160, .85), 0 1px 4px rgba(0, 0, 0, .3);
}

/* ---------------- 内页 banner（对齐 sdabosn：深蓝渐变 + 厂房图 + 大标题 + 数据条 + 电话条） ---------------- */
.page-hero {
    position: relative; overflow: hidden; color: #fff;
    background: linear-gradient(105deg, #14335e 0%, #1f5fa9 46%, #6d9bcc 100%);
}
.page-hero .ph-bg { position: absolute; inset: 0; z-index: 1; }
.page-hero .ph-bg img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    opacity: .40;
}
.page-hero::after {
    content: ""; position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(105deg, rgba(15,48,92,.94) 0%, rgba(26,84,150,.80) 42%, rgba(120,168,214,.28) 100%);
}
.page-hero .ph-in {
    position: relative; z-index: 3; width: var(--w); margin: 0 auto;
    min-height: 386px; padding: 58px 0 52px;
    display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
.page-hero .ph-txt { flex: 1; min-width: 0; }
.page-hero .ph-co {
    font-size: 19px; letter-spacing: 1px; color: rgba(255,255,255,.94); margin-bottom: 12px;
}
.page-hero .ph-txt h1 {
    font-size: 44px; line-height: 1.28; font-weight: 800; letter-spacing: 1px;
    text-shadow: 0 4px 18px rgba(0,0,0,.22);
}
.page-hero .ph-txt .ph-sub {
    margin-top: 12px; font-size: 13px; letter-spacing: 3px;
    color: rgba(255,255,255,.72); text-transform: uppercase;
}
/* 数据条 */
.page-hero .ph-stat { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.page-hero .ph-stat li {
    display: flex; align-items: baseline; gap: 8px;
    background: rgba(255,255,255,.94); color: #1b3d66;
    padding: 7px 16px; border-radius: 2px; font-size: 13px; line-height: 1.4;
}
.page-hero .ph-stat li b {
    font-size: 19px; font-weight: 800; color: var(--blue); font-family: inherit;
}
/* 右侧白色斜切「35+年」块 */
.page-hero .ph-badge {
    flex: 0 0 272px; width: 272px; align-self: stretch;
    display: flex; align-items: center; justify-content: center; gap: 9px;
    background: rgba(255,255,255,.96); color: #17456f;
    clip-path: polygon(58px 0, 100% 0, 100% 100%, 0 100%);
    padding-left: 70px;
}
.page-hero .ph-badge b {
    font-size: 56px; font-weight: 800; line-height: 1; font-family: inherit;
}
.page-hero .ph-badge b em { font-style: normal; font-size: 26px; vertical-align: super; }
.page-hero .ph-badge span { font-size: 15px; line-height: 1.35; font-weight: 700; white-space: nowrap; }
/* 电话条 */
.page-hero .ph-telbar {
    position: relative; z-index: 3;
    background: rgba(9,32,62,.62); backdrop-filter: blur(2px);
}
.page-hero .ph-telbar .w {
    height: 56px; display: flex; align-items: center; justify-content: flex-end; gap: 18px;
}
.page-hero .ph-telbar .tb-tip { font-size: 14px; letter-spacing: 1px; color: rgba(255,255,255,.9); }
.page-hero .ph-telbar .tb-num {
    font-size: 24px; font-weight: 800; color: #fff; font-family: inherit;
    letter-spacing: .5px;
}
.page-hero .ph-telbar .tb-num:hover { color: var(--orange); }

/* 面包屑条 */
.page-crumb { background: #fff; border-bottom: 1px solid var(--line); }
.page-crumb .w {
    height: 46px; display: flex; align-items: center;
    font-size: 13px; color: var(--text-3);
}
.page-crumb .w::before {
    content: "当前位置："; color: var(--text-3); margin-right: 2px; white-space: nowrap;
}
.page-crumb a { color: var(--text-2); }
.page-crumb a:hover { color: var(--blue); }

/* ---------------- 版块标题（对齐 sdabosn：居中蓝色中文 + 灰色英文） ---------------- */
.sec { padding: 68px 0; }
.sec-gray { background: var(--bg); }
.sec-head { text-align: center; margin-bottom: 46px; }
.sec-head h2 {
    font-size: 34px; color: var(--blue); letter-spacing: 1px; line-height: 1.3; font-weight: 700;
}
.sec-head h2 em { display: none; }
.sec-head .en {
    display: block; margin-top: 9px; font-size: 13px; letter-spacing: 4px;
    color: #aeb9c6; text-transform: uppercase;
}
.sec-head .line { display: none; }
.sec-head p { margin-top: 15px; color: var(--text-2); font-size: 14px; }

/* ============================================================
   产品展示（参考 sdxxhg.com：分类标签 + 大图交替图文）
   ============================================================ */
.pro-showcase { background: #fff; }
.pro-tabs {
    display: flex; justify-content: center; flex-wrap: wrap; gap: 8px;
    margin-bottom: 40px;
}
.pro-tabs a {
    display: block; height: 40px; line-height: 38px; padding: 0 15px;
    border: 1px solid var(--line); border-radius: 20px;
    font-size: 14px; color: var(--text-2); background: #fff;
    white-space: nowrap;
}
.pro-tabs a:hover { border-color: var(--blue); color: var(--blue); }
.pro-tabs a.on {
    background: var(--blue); border-color: var(--blue); color: #fff;
    box-shadow: 0 6px 16px rgba(11,108,180,.28);
}
.pro-list { border-top: 1px solid var(--line); }
.pro-row {
    display: flex; align-items: center; gap: 56px;
    padding: 40px 0; border-bottom: 1px dashed var(--line);
}
.pro-row.rev { flex-direction: row-reverse; }
.pro-row .pr-txt { flex: 1; min-width: 0; }
.pro-row .pr-tag {
    display: inline-block; height: 26px; line-height: 26px; padding: 0 12px;
    background: var(--blue-l); color: var(--blue); font-size: 12px; border-radius: 13px;
    margin-bottom: 14px;
}
.pro-row h3 { font-size: 24px; line-height: 1.4; margin-bottom: 14px; }
.pro-row h3 a { color: #1a2b3c; }
.pro-row h3 a:hover { color: var(--blue); }
.pro-row .pr-desc {
    color: var(--text-2); font-size: 14px; line-height: 2;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.pro-row .pr-more {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 20px; height: 40px; padding: 0 22px;
    border: 1px solid var(--blue); color: var(--blue); border-radius: 3px; font-size: 14px;
}
.pro-row .pr-more:hover { background: var(--blue); color: #fff; }
.pro-row .pr-pic {
    /* 首页产品图都是 800×800 方图，原来塞进 460×320 横框用 cover，
       上下各裁掉 122px，板材底部被切。改成 1:1 容器 + contain，
       原图完整显示、零裁切（白底与图片底色一致，看不出留白）。 */
    flex: 0 0 460px; width: 460px; aspect-ratio: 1 / 1;
    border-radius: 6px; overflow: hidden; background: #fff;
    box-shadow: 0 12px 30px rgba(20,50,80,.10);
}
.pro-row .pr-pic img {
    width: 100%; height: 100%; object-fit: contain; display: block;
    transition: transform .6s;
}
.pro-row .pr-pic:hover img { transform: scale(1.02); }
.pro-more-all { text-align: center; margin-top: 46px; }
.btn {
    display: inline-block; height: 48px; line-height: 46px; padding: 0 40px;
    border: 1px solid var(--blue); color: var(--blue); font-size: 15px; border-radius: 3px;
}
.btn:hover { background: var(--blue); color: #fff; }
.btn-solid { background: var(--blue); color: #fff; }
.btn-solid:hover { background: var(--blue-d); border-color: var(--blue-d); color: #fff; }

/* ---------------- 关于我们（对齐 sdabosn：左文右图，直角大图） ---------------- */
.about-home { display: flex; gap: 52px; align-items: center; }
.about-home .ah-pic { flex: 0 0 560px; width: 560px; }
.about-home .ah-pic .box {
    position: relative; height: 320px; overflow: hidden; background: #000;
}
.about-home .ah-pic video, .about-home .ah-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-home .ah-txt { flex: 1; min-width: 0; }
.about-home .ah-txt p {
    color: #555; font-size: 14.5px; line-height: 2.15; text-indent: 2em; margin-bottom: 10px;
}
.about-home .ah-num { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 26px; }
.about-home .ah-num li {
    display: flex; align-items: baseline; gap: 6px;
    background: var(--blue-l); color: #2c4a68; padding: 7px 15px; border-radius: 2px; font-size: 13px;
}
.about-home .ah-num b {
    font-size: 20px; color: var(--blue); font-family: inherit; line-height: 1.2;
}
.about-home .ah-num span { font-size: 13px; color: #6b7b8c; }
.about-home .ah-btns { display: flex; gap: 14px; }

/* ---------------- 我们的优势（对齐 sdabosn：深蓝蒙版厂房底 + 线框标题 + 盾牌条目） ---------------- */
.adv-wrap {
    position: relative; overflow: hidden; padding: 74px 0; color: #fff;
    background: #14365c center center / cover no-repeat;
}
.adv-wrap .adv-mask {
    position: absolute; inset: 0;
    background: linear-gradient(100deg, rgba(16,52,96,.95) 0%, rgba(26,78,136,.86) 48%, rgba(60,120,180,.70) 100%);
}
.adv-wrap .w { position: relative; z-index: 2; display: flex; gap: 56px; align-items: center; }
.adv-title {
    flex: 0 0 322px; width: 322px;
    border: 1px solid rgba(255,255,255,.34); padding: 46px 32px 42px;
}
.adv-title h2 { font-size: 34px; line-height: 1.3; letter-spacing: 1px; }
.adv-title p {
    margin-top: 14px; font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.9);
}
.adv-title span {
    display: block; margin-top: 34px; font-size: 11px; line-height: 1.9;
    letter-spacing: 2px; color: rgba(255,255,255,.6); text-transform: uppercase;
}
.adv-list { flex: 1; min-width: 0; }
.adv-list li { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 32px; }
.adv-list li:last-child { margin-bottom: 0; }
.adv-list li .ico {
    flex: 0 0 62px; width: 62px; height: 62px; border-radius: 50%;
    background: rgba(255,255,255,.14); border: 2px solid rgba(255,255,255,.46);
    display: flex; align-items: center; justify-content: center;
}
.adv-list li .ico img, .adv-list li .ico svg { width: 30px; height: 30px; object-fit: contain; display: block; }
.adv-list li .txt { flex: 1; min-width: 0; }
.adv-list li h3 { font-size: 20px; color: #fff; line-height: 1.4; }
.adv-list li h3 span {
    display: block; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.62);
    letter-spacing: .5px; margin-top: 1px;
}
.adv-list li p {
    margin-top: 8px; font-size: 13.5px; line-height: 1.95; color: rgba(255,255,255,.86);
}

/* ---------------- 工程案例 ---------------- */
.case-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.case-grid .c-item {
    position: relative; display: block; height: 260px; border-radius: 6px; overflow: hidden;
    background: #eee;
}
.case-grid .c-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.case-grid .c-item:hover img { transform: scale(1.06); }
.case-grid .c-item .cap {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 16px 14px;
    background: linear-gradient(transparent, rgba(0,0,0,.72));
    color: #fff; font-size: 14px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.case-grid .c-item:hover .cap { background: linear-gradient(transparent, rgba(11,108,180,.85)); }

/* ---------------- 新闻资讯（对齐 sdabosn：无卡片边框，标题 + 细线列表） ---------------- */
.news-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.news-col { min-width: 0; }
.news-col .nc-head {
    display: flex; align-items: baseline; justify-content: space-between;
    padding-bottom: 12px; border-bottom: 2px solid var(--navy); margin-bottom: 6px;
}
.news-col .nc-head h3 { font-size: 19px; color: #1a2b3c; }
.news-col .nc-head h3 span { font-size: 11px; color: #b0bcc8; letter-spacing: 2px; margin-left: 6px; font-weight: 400; text-transform: uppercase; }
.news-col .nc-head a { font-size: 12px; color: var(--text-3); }
.news-col .nc-head a:hover { color: var(--blue); }
.news-col ul li { border-bottom: 1px dashed var(--line); }
.news-col ul li:last-child { border-bottom: 0; }
.news-col ul li a {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    height: 48px; font-size: 14px;
}
.news-col ul li a span {
    flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.news-col ul li a em { font-style: normal; font-size: 12px; color: var(--text-3); flex: 0 0 auto; }
.news-col ul li a:hover span { color: var(--blue); }

/* ============================================================
   内页框架：左栏 + 右栏（参考 sdabosn 内页）
   ============================================================ */
/* 内页顶部 banner：与首页完全同一套尺寸（≥1200 固定 721px 高，图 cover 居中裁切），
   这样点进栏目页和首页看到的图一样大，不会显得小一号 */
.pg-banner {
    position: relative; width: 100%; max-width: 1920px; margin: 0 auto;
    height: 721px; overflow: hidden; background: #0a3a5f;
}
@media (max-width: 1199px) { .pg-banner { height: 37.55vw; } }
.pg-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 内页框架（对齐 sdabosn.com）：容器 1200 = 左栏 260 + 间距 53 + 右栏 887 */
.inner { padding: 53px 0 60px; }
.inner .w { display: flex; gap: 53px; align-items: flex-start; }
.sidebar { flex: 0 0 260px; width: 260px; }
.content { flex: 1; min-width: 0; }

/* 左栏栏目导航（对齐 sdabosn：深藏蓝标题块 65px + #f5f5f5 灰底列表 + 右侧折叠箭头） */
.side-nav { margin-bottom: 18px; }
.side-nav .sn-head {
    background: var(--navy); color: #fff; height: 65px;
    display: flex; flex-direction: column; justify-content: center;
    padding: 0 14px;
}
.side-nav .sn-head h2 { font-size: 20px; font-weight: 600; line-height: 1.25; letter-spacing: 1px; }
.side-nav .sn-head p {
    font-size: 10px; letter-spacing: 1.6px; color: rgba(255, 255, 255, .72);
    text-transform: uppercase; margin-top: 3px;
}
.side-nav ul { background: #f5f5f5; }
.side-nav ul li { border-bottom: 1px solid #e6e6e6; }
.side-nav ul li:last-child { border-bottom: 0; }
.side-nav ul li a {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 0 14px; height: 52px; font-size: 15px; color: #353535;
    overflow: hidden;
}
.side-nav ul li a::after {
    content: "\2304"; font-size: 14px; color: #9aa3ad; line-height: 1;
    flex: 0 0 auto;
}
.side-nav ul li a:hover { background: #ededed; color: var(--navy); }
.side-nav ul li.cur a { background: #fff; color: var(--navy); font-weight: 600; }
.side-nav ul li.cur a::after { color: var(--navy); }
/* 标题块里的英文副标（联系我们 CONTACT US 同一行） */
.side-nav .sn-head h2 span {
    font-size: 11px; font-weight: 400;
    letter-spacing: 1.4px; margin-left: 7px; color: rgba(255, 255, 255, .72);
}

/* 左栏联系我们（对齐 sdabosn：#f7f7f7 灰底 + 深藏蓝标题条，四组信息各压一条 1px 分隔线） */
.side-contact { margin-bottom: 18px; }
.side-contact .sc-head {
    background: var(--navy); height: 46px; padding: 0 14px;
    display: flex; align-items: center;
}
.side-contact .sc-head h3 {
    display: flex; align-items: baseline; gap: 8px;
    font-size: 16px; font-weight: 500; color: #fff;
    line-height: 1.25; letter-spacing: 1px;
}
.side-contact .sc-head h3 span {
    font-size: 10px; font-weight: 400; letter-spacing: 1.4px;
    color: rgba(255, 255, 255, .7);
}
.side-contact .sc-body { background: #f7f7f7; padding: 8px 14px 14px; }
.side-contact .sc-item {
    margin: 0; padding: 8px 0;
    font-size: 14px; line-height: 1.75; color: #333;
    border-bottom: 1px solid #dedede;
    word-break: break-word;
}
.side-contact .sc-item:last-child { border-bottom: 0; }
.side-contact .sc-item a { color: #333; text-decoration: none; }
.side-contact .sc-item a:hover { color: var(--navy); }

/* 侧栏微信二维码（联系我们下方） */
.sc-qr {
    margin-top: 4px; padding-top: 14px; border-top: 1px solid #dedede;
    text-align: center;
}
.sc-qr img {
    display: block; width: 100%; max-width: 178px; height: auto; margin: 0 auto;
    background: #fff; border: 1px solid #e6e6e6; padding: 6px; border-radius: 3px;
}
.sc-qr span {
    display: block; margin-top: 8px;
    font-size: 13px; line-height: 1.6; color: #7a8b9a;
}

/* 左栏产品搜索（参考站无搜索框，这里补一个紧凑版保留站内搜索入口） */
.side-search { background: #f5f5f5; padding: 12px; }
.side-search form { display: flex; }
.ss-input {
    flex: 1; min-width: 0; height: 36px; border: 1px solid #dedede; border-right: 0;
    padding: 0 10px; font-size: 13px; color: #333; background: #fff; outline: 0;
}
.ss-input::placeholder { color: #aaa; }
.ss-btn {
    flex: 0 0 58px; width: 58px; height: 36px; border: 0; cursor: pointer;
    background: var(--navy); color: #fff; font-size: 13px; font-family: inherit;
}
.ss-btn:hover { background: #1a1748; }

/* 左栏推荐（与 sdabosn 左栏同款：深藏蓝标题条 + #f7f7f7 灰底） */
.side-hot { margin-bottom: 18px; }
.side-hot .sh-head {
    background: var(--navy); height: 46px; padding: 0 14px;
    display: flex; align-items: center;
    color: #fff; font-size: 16px; font-weight: 500; letter-spacing: 1px;
}
.side-hot .sh-head span { font-size: 10px; color: rgba(255, 255, 255, .7); letter-spacing: 1.4px; margin-left: 8px; font-weight: 400; }
.side-hot ul { background: #f7f7f7; padding: 8px 14px 12px; }
.side-hot ul li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #dedede; }
.side-hot ul li:last-child { border-bottom: 0; }
.side-hot ul li .pic { flex: 0 0 76px; width: 76px; height: 60px; overflow: hidden; background: #f0f2f5; }
.side-hot ul li .pic img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.side-hot ul li .t { flex: 1; min-width: 0; }
.side-hot ul li .t a {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    font-size: 13px; line-height: 1.6;
}
.side-hot ul li .t a:hover { color: var(--navy); }
.side-hot ul li .t { line-height: 1.7; }
.side-hot ul li:only-child { border-bottom: 0; }

/* ---------------- 右栏通用：标题（对齐 sdabosn：标题 + 英文 + 深藏蓝底边） ---------------- */
.art-head { border-bottom: 2px solid var(--navy); padding-bottom: 14px; margin-bottom: 26px; }
.art-head h1 { font-size: 24px; line-height: 1.45; color: #1a2b3c; }
.art-head h1 span {
    font-size: 12px; color: #aeb9c6; letter-spacing: 2px; margin-left: 10px;
    font-weight: 400; text-transform: uppercase; vertical-align: middle;
}
/* 白框内的大标题（关于我们 / 新闻详情 / 案例详情） */
.art-title {
    font-size: 22px; font-weight: 600; color: #222; line-height: 1.55;
    margin: 0 0 14px;
}
.art-meta {
    margin: 0 0 24px; padding-bottom: 16px; border-bottom: 1px solid #eeeeee;
    font-size: 13px; color: #999;
    display: flex; flex-wrap: wrap; gap: 22px;
}
.art-meta span { color: var(--text-3); }
.art-meta b { font-weight: 400; color: var(--text-2); }
.art-body { font-size: 15px; line-height: 2.1; color: #444; }
.art-body p { margin: 0 0 18px; }
.art-body img { max-width: 100%; height: auto; margin: 12px auto; border-radius: 4px; display: block; }
.art-body h2, .art-body h3 { margin: 26px 0 14px; color: #1a2b3c; }
.art-body table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.art-body td, .art-body th { border: 1px solid var(--line); padding: 10px 12px; }

/* 关于我们正文末尾的厂房实景三连图（对齐 sdxxhg：三张紧贴并排）
   圆角是 PNG 自带的「左上 + 右下」对角圆角，这里不要再加 border-radius，
   否则会把原图的透明圆角再切一次。三张原图 277×276，右栏内容宽 835 → 每张 278，
   正好 1:1 显示、不放大不模糊。 */
.about-gallery {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0; margin-top: 32px;
}
.about-gallery img { width: 100%; height: auto; display: block; margin: 0; }

/* ---------------- 产品详情（对齐 sdabosn.com/sys-pd：左栏 + 右栏白框，图 + 参数 + 正文） ---------------- */
.pd-top { display: flex; gap: 34px; padding-bottom: 26px; border-bottom: 1px solid #eeeeee; }
.pd-gal { flex: 0 0 360px; width: 360px; }
.pd-gal-main {
    position: relative; width: 360px; height: 360px; overflow: hidden;
    background: #fff; border: 1px solid #dedede; cursor: zoom-in;
}
.pd-gal-main .pd-gal-item { position: absolute; inset: 0; display: none; }
.pd-gal-main .pd-gal-item.on { display: block; }
.pd-gal-main img {
    width: 100%; height: 100%; object-fit: contain; display: block; background: #fff;
}
/* 主图左上角放大镜图标 */
.pd-gal-mag {
    position: absolute; left: 8px; top: 8px; z-index: 3;
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(255, 255, 255, .92); box-shadow: 0 1px 4px rgba(0, 0, 0, .14);
    pointer-events: none;
}
.pd-gal-mag::before {
    content: ""; position: absolute; inset: 6px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pd-gal-thumb { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.gt-track {
    flex: 1; min-width: 0; display: flex; gap: 6px; overflow-x: auto;
    scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none;
}
.gt-track::-webkit-scrollbar { display: none; }
.gt-item {
    flex: 0 0 56px; width: 56px; height: 56px; border: 1px solid #dedede;
    overflow: hidden; background: #fff; display: block; transition: border-color .2s;
}
.gt-item img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gt-item:hover { border-color: #b9c8d8; }
.gt-item.on { border-color: var(--navy); }
.gt-prev, .gt-next {
    flex: 0 0 18px; width: 18px; height: 56px; border: 1px solid #dedede; background: #fff;
    color: #9aa3ad; font-size: 14px; line-height: 1; cursor: pointer;
    padding: 0; font-family: inherit;
}
.gt-prev:hover, .gt-next:hover { color: var(--navy); border-color: var(--navy); }
.pd-zoom {
    position: fixed; inset: 0; z-index: 9999; background: rgba(8, 20, 34, .88);
    display: none; align-items: center; justify-content: center; padding: 40px;
}
.pd-zoom.show { display: flex; }
.pd-zoom img { max-width: 92vw; max-height: 88vh; object-fit: contain; background: #fff; }
.pd-zoom .pz-close {
    position: absolute; top: 18px; right: 26px; color: #fff; font-size: 40px;
    line-height: 1; cursor: pointer; opacity: .8;
}
.pd-zoom .pz-close:hover { opacity: 1; }

.pd-info { flex: 1; min-width: 0; }
.pd-info h1 { font-size: 22px; font-weight: 600; line-height: 1.5; color: #222; }
.pd-desc { margin-top: 12px; font-size: 14px; line-height: 1.95; color: #777; }
.pd-cat { margin-top: 14px; font-size: 13px; line-height: 1.9; color: #888; }
.pd-cat a { color: #888; }
.pd-cat a:hover { color: var(--navy); }
.pd-cat i { font-style: normal; margin: 0 5px; color: #c4c4c4; }
.pd-tel {
    margin-top: 20px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    background: #f7f7f7; padding: 14px 16px;
}
.pd-tel .pt-l { font-size: 13px; color: #666; }
.pd-tel .pt-num { font-size: 26px; font-weight: 700; color: var(--navy); }
.pd-tel .pt-num:hover { color: var(--orange); }
.pd-tel .pt-btn {
    margin-left: auto; height: 40px; line-height: 40px; padding: 0 22px;
    background: var(--navy); color: #fff; font-size: 14px;
}
.pd-tel .pt-btn:hover { background: #1a1748; color: #fff; }
.pd-msg-btn {
    display: inline-block; margin-top: 18px; height: 44px; line-height: 44px;
    padding: 0 40px; background: #3a3a3a; color: #fff; font-size: 15px;
    transition: background .25s;
}
.pd-msg-btn:hover { background: var(--navy); color: #fff; }

/* 产品详情：小标题 + 参数表 + 正文 */
.pd-detail { padding-top: 26px; }
.pd-dt {
    display: flex; align-items: center;
    font-size: 18px; font-weight: 600; color: var(--navy); line-height: 1.2;
    padding-left: 12px; border-left: 4px solid var(--navy); margin-bottom: 18px;
}
.pd-param { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 26px; }
.pd-param th {
    width: 110px; text-align: left; font-weight: 400; color: #666;
    background: #f7f7f7; padding: 10px 14px; border: 1px solid #e6e6e6;
}
.pd-param td { padding: 10px 14px; border: 1px solid #e6e6e6; color: #333; }
.pd-param td a { color: #333; }
.pd-param td a:hover { color: var(--navy); }

/* 上一条 / 下一条 */
.pd-nav { display: flex; margin-top: 30px; padding-top: 16px; border-top: 1px solid #eeeeee; font-size: 14px; color: #666; }
.pd-nav p { margin: 0; padding: 6px 0; min-width: 0; }
.pd-nav .pn-pre {
    flex: 1 1 50%; padding-right: 24px; border-right: 1px solid #eeeeee;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.pd-nav .pn-next {
    flex: 1 1 50%; padding-left: 24px; text-align: right;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.pd-nav a { color: #666; }
.pd-nav a:hover { color: var(--navy); }

/* 通用小标题（案例详情页「更多案例」在用，别删） */
.pd-block-tit { display: flex; align-items: center; gap: 12px; margin: 34px 0 20px; }
.pd-block-tit h2 { font-size: 22px; }
.pd-block-tit h2 em { font-style: normal; color: var(--navy); }
.pd-block-tit span { font-size: 11px; color: #b9c4cf; letter-spacing: 3px; text-transform: uppercase; }
.pd-block-tit::after { content: ""; flex: 1; height: 1px; background: #e6e6e6; }

/* ---------------- 产品列表 ---------------- */
.filter-bar {
    display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px;
    padding-bottom: 22px; border-bottom: 1px solid var(--line);
}
.filter-bar a {
    height: 36px; line-height: 34px; padding: 0 20px; border: 1px solid var(--line);
    border-radius: 18px; font-size: 14px; color: var(--text-2); background: #fff;
}
.filter-bar a:hover { border-color: var(--blue); color: var(--blue); }
.filter-bar a.on { background: var(--blue); border-color: var(--blue); color: #fff; }

/* 右栏顶部条（对齐 sdabosn：左侧深藏蓝斜角标签 + 整条 #efefef 灰条 + 右侧面包屑） */
.pg-head {
    position: relative; height: 39px; background: #efefef;
    display: flex; align-items: center; justify-content: space-between;
}
.pgh-tab {
    height: 39px; display: inline-flex; align-items: center; gap: 10px;
    background: var(--navy); color: #fff;
    font-size: 17px; font-weight: 400; letter-spacing: 1px;
    padding: 0 42px 0 20px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    flex: 0 0 auto;
}
.pgh-tab i { width: 6px; height: 6px; background: #fff; flex: 0 0 auto; }
.pgh-crumb {
    display: flex; align-items: center; flex-wrap: wrap; gap: 5px;
    font-size: 12px; color: #828282; padding-right: 18px; margin-left: auto;
}
.pgh-crumb a { color: #828282; }
.pgh-crumb a:hover { color: var(--navy); }
.pgh-crumb i { font-style: normal; color: #a5a5a5; }

/* 右栏白色内容面板（1px #dedede 描边，26px 内边距） */
.panel { background: #fff; border: 1px solid #dedede; padding: 26px; }
.panel + .panel { margin-top: 18px; }
.panel-plain { padding: 0; }
.pl-head {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    margin-bottom: 24px;
}
.pl-head h1 {
    display: flex; align-items: center;
    font-size: 20px; font-weight: 700; color: #1a2b3c; line-height: 1.4;
}
.pl-crumb {
    display: flex; align-items: center; flex-wrap: wrap; gap: 7px;
    font-size: 14px; color: #8d9aa8; margin-bottom: 16px;
}
.pl-crumb a { color: #8d9aa8; }
.pl-crumb a:hover { color: var(--blue); }
.pl-crumb i { font-style: normal; color: #b9c4d0; }

/* 分类页：面包屑 → 产品搜索 → 左栏 + 网格（对齐 sdxxhg.com/product/10/） */
.pl-page .w { display: block; }
.pl-search {
    display: flex; align-items: center; height: 66px;
    border: 1px solid #d3e0ee; background: #fff; margin-bottom: 30px;
}
.ps-label {
    flex: 0 0 300px; width: 300px; text-align: center;
    font-size: 23px; font-weight: 700; color: #00529f; letter-spacing: 1px;
}
.ps-sep { flex: 0 0 1px; width: 1px; height: 36px; background: #dbe5ef; }
.ps-input {
    flex: 1; min-width: 0; height: 100%; border: 0; outline: 0;
    padding: 0 26px; font-size: 14px; color: #333; background: transparent;
}
.ps-input::placeholder { color: #b3bcc7; }
.ps-btn {
    flex: 0 0 220px; height: 48px; margin-right: 9px; border: 0; cursor: pointer;
    background: #00529f; color: #fff; font-size: 15px; letter-spacing: 1px;
    transition: background .25s;
}
.ps-btn:hover { background: #0b63b9; }
.pl-main { display: flex; gap: 30px; align-items: flex-start; }
.pl-empty { padding: 80px 0; text-align: center; color: #96a2b0; line-height: 2; }
.pl-empty a { color: var(--blue); }
.sr-head { font-size: 15px; color: #5b6b7b; margin-bottom: 18px; }
.sr-head b { color: var(--card-blue); font-weight: 700; }
.sr-head em { font-style: normal; font-weight: 700; color: var(--card-blue); }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
@media (max-width: 1100px) {
    .ps-label { flex: 0 0 210px; width: 210px; font-size: 20px; }
    .ps-btn { flex: 0 0 160px; }
}
@media (max-width: 992px) {
    .pl-search { height: 56px; margin-bottom: 24px; }
    .ps-label { flex: 0 0 150px; width: 150px; font-size: 17px; }
    .ps-sep { height: 28px; }
    .ps-input { padding: 0 14px; font-size: 13px; }
    .ps-btn { flex: 0 0 110px; height: 40px; font-size: 13px; }
    .pl-main { flex-direction: column; align-items: stretch; gap: 22px; }
}
@media (max-width: 640px) {
    .pl-search { height: 50px; margin-bottom: 20px; }
    .ps-label { flex: 0 0 auto; width: auto; padding: 0 12px; font-size: 15px; letter-spacing: 0; }
    .ps-sep { display: none; }
    .ps-input { padding: 0 10px; font-size: 13px; }
    .ps-btn { flex: 0 0 84px; height: 36px; font-size: 12.5px; margin-right: 6px; letter-spacing: 0; }
    .pl-crumb { font-size: 12.5px; gap: 5px; margin-bottom: 12px; }
}
/* 详情页/单页：面包屑单独一行靠右，标题块仍在下面 */
.pd-crumb { text-align: right; margin-bottom: 12px; }

/* 产品卡片（对齐 sdabosn 产品中心：三列、图 1:1 带 1px 描边、标题一行、深色「在线询价」） */
.pro-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 26px; }
.pro-card { display: flex; flex-direction: column; align-items: center; background: #fff; min-width: 0; }
.pro-card .pic {
    display: block; width: 100%; border: 1px solid #dedede;
    background: #fff; overflow: hidden;
}
/* 产品图不裁切：容器正方形，图片按原比例完整显示（contain），白底补齐 */
.pro-card .pic img {
    width: 100%; aspect-ratio: 1 / 1; object-fit: contain; display: block;
    background: #fff; transition: transform .5s;
}
.pro-card:hover .pic img { transform: scale(1.03); }
.pro-card h3 {
    width: 100%; margin: 10px 0 8px; padding: 0;
    font-size: 14px; font-weight: 400; color: #212121; line-height: 1.6;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.pro-card h3 a { color: #212121; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pro-card h3 a:hover { color: var(--navy); }
.btn-inq {
    display: block; width: 96px; height: 38px; line-height: 38px; margin: 0 auto;
    text-align: center; font-size: 14px;
    color: #fff; background: #3a3a3a; transition: background .25s;
}
.btn-inq:hover { background: var(--navy); color: #fff; }

/* 案例列表（对齐 sdabosn 工程案例：两列，图 + 标题 + 摘要） */
.case-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; }
.case-list .c-item { display: block; min-width: 0; }
.case-list .c-item .pic { width: 100%; border: 1px solid #dedede; overflow: hidden; background: #fff; }
.case-list .c-item .pic img {
    width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .5s;
}
.case-list .c-item:hover .pic img { transform: scale(1.03); }
.case-list .c-item .cap {
    padding: 10px 0 0; font-size: 14px; color: #212121; line-height: 1.6;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.case-list .c-item:hover .cap { color: var(--navy); }

/* 新闻列表（对齐 sdxxhg 媒体中心：浅灰底 + 白卡片三列，标题/摘要/日期 + 圆形箭头） */
.news-wrap { background: #f4f4f4; padding: 22px; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.news-grid .nc {
    display: flex; flex-direction: column; min-width: 0;
    background: #fff; border: 2px solid #f5f5f5; border-radius: 0; padding: 25px 25px 22px;
    min-height: 220px;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}
.news-grid .nc:hover { box-shadow: 0 8px 22px rgba(0, 0, 0, .09); transform: translateY(-2px); border-color: #e8e8e8; }
.news-grid .nc h3 {
    font-size: 16px; font-weight: 600; color: #212529; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: 48px;
}
.news-grid .nc p {
    margin-top: 10px;
    font-size: 13px; color: #666; line-height: 1.85;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.news-grid .nc-ft {
    margin-top: auto; padding-top: 22px;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 12px;
}
.news-grid .nc-date b {
    display: block; font-size: 28px; font-weight: 400; color: #939393;
    line-height: 1; font-family: inherit; letter-spacing: .5px;
}
.news-grid .nc-date span { display: block; margin-top: 4px; font-size: 14px; color: #939393; line-height: 1; }
.news-grid .nc-arr {
    flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
    border: 1px solid #e3e3e3; color: #b8b8b8;
    font-size: 18px; font-style: normal; line-height: 27px; text-align: center;
    transition: background .25s, border-color .25s, color .25s;
}
.news-grid .nc:hover h3 { color: #00529f; }
.news-grid .nc:hover .nc-arr { background: #00529f; border-color: #00529f; color: #fff; }
.news-wrap .pager { margin-top: 26px; }

/* 荣誉证书 / 专利证书（对齐 sdxxhg 关于新兴：四列证书卡片，图 + 名称，点击放大） */
.cert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cert-card {
    min-width: 0; background: #f7f7f7; border: 1px solid #efefef; padding: 12px 12px 0;
    transition: box-shadow .25s, transform .25s;
}
.cert-card:hover { box-shadow: 0 10px 24px rgba(20, 50, 80, .10); transform: translateY(-2px); }
.cert-card .cc-pic {
    display: flex; align-items: center; justify-content: center;
    height: 230px; background: #fff;
}
.cert-card .cc-pic img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.cert-card .cc-name {
    padding: 12px 2px 14px; font-size: 14px; color: #333; line-height: 1.55; text-align: center;
    display: flex; align-items: center; justify-content: center; min-height: 58px;
}
.cert-card:hover .cc-name { color: var(--navy); }

/* 证书放大弹层 */
.cert-viewer {
    position: fixed; inset: 0; z-index: 9999; display: none;
    align-items: center; justify-content: center; padding: 40px;
    background: rgba(0, 0, 0, .82);
}
.cert-viewer.on { display: flex; }
.cert-viewer img {
    max-width: 92vw; max-height: 88vh; display: block;
    background: #fff; box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
}
.cv-close {
    position: absolute; top: 18px; right: 24px; width: 44px; height: 44px;
    border: 0; background: transparent; color: #fff; font-size: 36px; line-height: 1;
    cursor: pointer; opacity: .8; transition: opacity .2s;
}
.cv-close:hover { opacity: 1; }

/* 企业视频（对齐 sdxxhg：两列视频卡片，封面 + 播放按钮 + 标题） */
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.video-card { min-width: 0; background: #fff; border: 1px solid #efefef; transition: box-shadow .25s, transform .25s; }
.video-card:hover { box-shadow: 0 10px 26px rgba(20, 50, 80, .12); transform: translateY(-2px); }
.video-card .vc-pic {
    position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #111;
}
.video-card .vc-pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.video-card:hover .vc-pic img { transform: scale(1.03); }
.video-card .vc-play {
    position: absolute; left: 50%; top: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px;
    border-radius: 50%; background: rgba(0, 82, 159, .86); box-shadow: 0 6px 20px rgba(0, 0, 0, .35);
    transition: background .25s, transform .25s;
}
.video-card .vc-play::after {
    content: ""; position: absolute; left: 52%; top: 50%;
    transform: translate(-50%, -50%);
    border-style: solid; border-width: 11px 0 11px 18px;
    border-color: transparent transparent transparent #fff;
}
.video-card:hover .vc-play { background: var(--navy); transform: scale(1.06); }
.video-card .vc-info { padding: 14px 16px 18px; }
.video-card .vc-info h3 { font-size: 16px; font-weight: 600; color: #212529; line-height: 1.5; }
.video-card:hover .vc-info h3 { color: var(--navy); }
.video-card .vc-info p {
    margin-top: 6px; font-size: 13px; color: #8a8a8a; line-height: 1.7;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* 视频播放弹层 */
.video-viewer {
    position: fixed; inset: 0; z-index: 9999; display: none;
    align-items: center; justify-content: center; padding: 40px;
    background: rgba(0, 0, 0, .9);
}
.video-viewer.on { display: flex; }
.video-viewer video { max-width: 92vw; max-height: 86vh; background: #000; }
.vv-close {
    position: absolute; top: 18px; right: 24px; width: 44px; height: 44px;
    border: 0; background: transparent; color: #fff; font-size: 36px; line-height: 1;
    cursor: pointer; opacity: .8; transition: opacity .2s;
}
.vv-close:hover { opacity: 1; }

/* 分页（居中，对齐参考站：上一页 1 2 3 … 下一页） */
.pager {
    display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
    justify-content: center; margin-top: 34px;
}
.pager a, .pager span, .pager em {
    display: inline-block; min-width: 34px; height: 34px; line-height: 32px; padding: 0 10px;
    border: 1px solid #dedede; border-radius: 0; text-align: center;
    font-size: 13px; color: var(--text-2); font-style: normal; background: #fff;
}
.pager a:hover { border-color: var(--navy); color: var(--navy); }
.pager .cur, .pager em.cur { background: var(--navy); border-color: var(--navy); color: #fff; }
.pager .total { border: 0; color: var(--text-3); }

/* ---------------- 联系我们页面 ---------------- */
.contact-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.contact-cards .cc {
    display: flex; align-items: center; gap: 16px;
    border: 1px solid var(--line); border-radius: 6px; padding: 22px 24px;
    background: #fff; transition: all .3s;
}
.contact-cards .cc:hover { box-shadow: 0 12px 28px rgba(20,50,80,.10); border-color: transparent; }
.contact-cards .cc .ico {
    width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%;
    background: var(--blue-l); display: flex; align-items: center; justify-content: center;
}
.contact-cards .cc .ico img { width: 26px; height: 26px; object-fit: contain; }
.contact-cards .cc .k { font-size: 13px; color: var(--text-3); }
.contact-cards .cc .v { font-size: 17px; color: #1a2b3c; font-weight: 700; line-height: 1.5; word-break: break-all; }
.contact-cards .cc .v a { color: #1a2b3c; }
.contact-cards .cc .v a:hover { color: var(--blue); }
.contact-cards .cc.big { grid-column: span 2; background: linear-gradient(120deg, #0b6cb4, #07507f); border: 0; }
.contact-cards .cc.big .ico { background: rgba(255,255,255,.16); }
.contact-cards .cc.big .k { color: rgba(255,255,255,.75); }
.contact-cards .cc.big .v { font-size: 30px; color: #fff; font-family: inherit; }
.contact-cards .cc.big .v a { color: #fff; }
.contact-cards .cc.big .v a:hover { color: var(--orange); }
.contact-cards .cc.big .btn-call {
    margin-left: auto; height: 44px; line-height: 44px; padding: 0 28px;
    background: var(--orange); color: #fff; border-radius: 3px; font-size: 15px; font-weight: 700;
    white-space: nowrap;
}
.contact-cards .cc.big .btn-call:hover { background: var(--orange-d); color: #fff; }

.contact-intro {
    background: var(--bg); border-left: 3px solid var(--blue);
    padding: 20px 24px; border-radius: 4px; color: var(--text-2); line-height: 2;
    margin-bottom: 26px;
}
.contact-intro b { color: #1a2b3c; }

/* ---------------- 底部（对齐 sdabosn：深蓝灰 + 圆形图标三栏 + 导航行 + 关键词 + 版权） ---------------- */
.footer { background: var(--foot); color: #c2ced9; padding: 46px 0 0; font-size: 13px; }
.footer .f-contact-row {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 40px;
    padding-bottom: 34px;
}
.footer .f-c { display: flex; gap: 16px; align-items: flex-start; flex: 1; min-width: 0; }
.footer .f-ico {
    flex: 0 0 54px; width: 54px; height: 54px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.30);
    display: flex; align-items: center; justify-content: center;
}
.footer .f-ico i { font-style: normal; font-size: 22px; color: #fff; line-height: 1; }
.footer .f-txt { flex: 1; min-width: 0; }
.footer .f-txt .k { font-size: 13px; color: #93a7b8; display: block; margin-bottom: 4px; }
.footer .f-txt p { font-size: 14.5px; color: #fff; line-height: 1.7; word-break: break-all; }
.footer .f-txt p b { font-weight: 400; }
.footer .f-txt .f-tel {
    font-size: 24px; font-weight: 700; color: #fff; font-family: inherit;
    letter-spacing: .5px; line-height: 1.2;
}
.footer .f-txt .f-tel:hover { color: var(--orange); }
.footer .f-txt p a { color: #fff; }
.footer .f-txt p a:hover { color: var(--orange); }
.footer .f-txt .f-tip { font-size: 12px; color: #93a7b8; margin-top: 3px; }
/* 座机行单独提亮：原来跟小字提示同色 #93a7b8，在深蓝底上几乎看不见 */
.footer .f-txt .f-tip-tel {
    font-size: 14px; color: #c9d8e6; margin-top: 7px; line-height: 1.6;
}
.footer .f-txt .f-tip-tel a {
    color: #fff; font-weight: 400; letter-spacing: .3px;
    border-bottom: 1px solid rgba(255, 255, 255, .35); padding-bottom: 1px;
}
.footer .f-txt .f-tip-tel a:hover { color: var(--orange); border-bottom-color: var(--orange); }
.footer .f-navrow {
    border-top: 1px solid rgba(255,255,255,.10);
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 34px; padding: 22px 0;
}
.footer .f-navrow a { color: #d5dee6; font-size: 14px; }
.footer .f-navrow a:hover { color: #fff; }
.footer .f-kw {
    text-align: center; font-size: 12px; color: #8fa3b4; line-height: 2;
    padding-bottom: 20px;
}
.footer .f-kw a { color: #a9bccb; margin: 0 6px; }
.footer .f-kw a:hover { color: #fff; }
.footer .f-copy {
    border-top: 1px solid rgba(255,255,255,.10); padding: 18px 0;
    font-size: 12px; color: #8fa3b4; text-align: center; line-height: 2;
}
.footer .f-copy a { color: #a9bccb; }
.footer .f-copy a:hover { color: #fff; }

/* ---------------- 右侧悬浮 / 手机底部条 ---------------- */
.float-rail {
    position: fixed; right: 18px; bottom: 120px; z-index: 90;
    display: flex; flex-direction: column; gap: 8px;
}
.float-rail a, .float-rail .fr-item {
    position: relative; width: 52px; height: 52px; border-radius: 6px;
    background: rgba(13,47,79,.92); color: #fff;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    font-size: 11px; line-height: 1.3; cursor: pointer;
}
.float-rail a:hover, .float-rail .fr-item:hover { background: var(--blue); color: #fff; }
.float-rail .fr-item .qrcode {
    display: none; position: absolute; right: 62px; top: 50%; transform: translateY(-50%);
    background: #fff; padding: 8px; border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
.float-rail .fr-item .qrcode img { width: 110px; height: 110px; display: block; }
.float-rail .fr-item:hover .qrcode { display: block; }
.float-rail .fr-item.orange { background: var(--orange); }
.float-rail .fr-item.orange:hover { background: var(--orange-d); }

.mobile-bar { display: none; }
@media (max-width: 768px) {
    .mobile-bar {
        display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99;
        background: #fff; box-shadow: 0 -2px 12px rgba(0,0,0,.12);
        padding-bottom: env(safe-area-inset-bottom);
    }
    .mobile-bar a {
        flex: 1; height: 56px; display: flex; flex-direction: column;
        align-items: center; justify-content: center; font-size: 12px; color: var(--text-2);
        gap: 2px;
    }
    .mobile-bar a.call { background: var(--blue); color: #fff; }
    .mobile-bar a i { font-style: normal; font-size: 17px; }
    body { padding-bottom: 56px; }
    .float-rail { display: none; }
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1240px) {
    .w { width: 100%; padding-left: 16px; padding-right: 16px; }
    .pro-row .pr-pic { flex: 0 0 400px; width: 400px; }
    .about-home .ah-pic { flex: 0 0 460px; width: 460px; }
}
/* 小笔记本：收紧头部导航，避免 1024 附近溢出 */
@media (max-width: 1100px) {
    .header .w { height: 88px; }
    .page-hero .ph-in { width: 100%; padding-left: 16px; padding-right: 16px; }
    .logo img { height: 52px; }
    .nav-inline > li > a { width: auto; padding: 0 15px; font-size: 14px; }
    .page-hero .ph-txt h1 { font-size: 36px; }
    .page-hero .ph-badge { flex: 0 0 228px; width: 228px; padding-left: 56px; }
    .page-hero .ph-badge b { font-size: 46px; }
    .pro-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    /* 新闻卡片：1024 左右内容区只有 660 宽，三列会挤到标题大面积省略，提前降到两列 */
    .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .news-wrap { padding: 18px; }
    /* 证书四列在 1100 以下太窄，降三列 */
    .cert-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .cert-card .cc-pic { height: 176px; }
}
@media (max-width: 992px) {
    .header .w { height: 78px; }
    .logo img { height: 48px; }
    .nav-inline > li > a { width: auto; padding: 0 11px; font-size: 13.5px; }
    .page-hero .ph-in { min-height: 250px; padding: 38px 16px 34px; gap: 20px; }
    .page-hero .ph-co { font-size: 15px; margin-bottom: 8px; }
    .page-hero .ph-txt h1 { font-size: 30px; }
    .page-hero .ph-stat li { font-size: 12px; padding: 6px 12px; }
    .page-hero .ph-stat li b { font-size: 16px; }
    .page-hero .ph-badge { flex: 0 0 186px; width: 186px; padding-left: 44px; }
    .page-hero .ph-badge b { font-size: 38px; }
    .page-hero .ph-badge b em { font-size: 18px; }
    .page-hero .ph-badge span { font-size: 13px; }
    .page-hero .ph-telbar .w { height: 48px; }
    .page-hero .ph-telbar .tb-tip { font-size: 12.5px; }
    .page-hero .ph-telbar .tb-num { font-size: 20px; }
    .sec { padding: 44px 0; }
    .sec-head h2 { font-size: 26px; }
    .pro-row { gap: 28px; padding: 28px 0; }
    .pro-row .pr-pic { flex: 0 0 300px; width: 300px; }
    .pro-row h3 { font-size: 19px; }
    .about-home { flex-direction: column; gap: 28px; align-items: stretch; }
    .about-home .ah-pic { flex: none; width: 100%; }
    .about-home .ah-pic .box { height: 260px; }
    /* 视频是 16:9，窄屏按容器比例贴合，避免片头字幕被左右裁掉 */
    @supports (aspect-ratio: 16 / 9) {
        .about-home .ah-pic .box { height: auto; aspect-ratio: 16 / 9; }
    }
    .adv-wrap { padding: 48px 0; }
    .adv-wrap .w { flex-direction: column; gap: 30px; align-items: stretch; }
    .adv-title { flex: none; width: 100%; padding: 28px 24px; }
    .adv-title h2 { font-size: 26px; }
    .adv-title span { margin-top: 16px; }
    .adv-list li { margin-bottom: 24px; }
    .case-grid, .case-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .news-cols { grid-template-columns: 1fr; }
    /* 竖排后交叉轴变成水平方向，父级原本的 align-items:flex-start 会让
       右栏按内容宽度收缩（实测只剩 361px），这里改成拉伸铺满 */
    .inner .w { flex-direction: column; align-items: stretch; }
    .sidebar { width: 100%; flex: none; }
    .content { width: 100%; flex: none; }
    .side-nav ul { display: flex; flex-wrap: wrap; }
    .side-nav ul li { width: 50%; border-top: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    /* 手机上左栏栏目改成两列按钮；父级行已从模板移除，这里不再需要隐藏首项 */
    .side-nav ul li a { height: 44px; font-size: 13px; padding: 0 12px; justify-content: center; }
    .side-nav ul li a::after { display: none; }
    .side-nav ul li.cur a { border-left: 0; padding-left: 12px; }
    .side-contact { display: none; }
    .side-hot { display: none; }
    .pro-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .panel { padding: 16px; }
    /* 手机上标签条改为两行：标签一行、面包屑单独一行单行省略，避免撑破 39px 高度 */
    .pg-head { height: auto; flex-wrap: wrap; align-items: stretch; }
    .pgh-tab { height: 36px; font-size: 15px; padding: 0 32px 0 14px; }
    .pgh-crumb {
        flex: 0 0 100%; display: block; margin: 0; padding: 6px 12px;
        font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .pd-top { flex-direction: column; gap: 20px; }
    .pd-gal { flex: none; width: 100%; max-width: none; }
    .pd-gal-main { width: 100%; height: auto; aspect-ratio: 1 / 1; }
    .pd-info h1 { font-size: 19px; }
    .pd-dt { font-size: 16px; }
    .pd-param th { width: 88px; }
    .pd-nav { flex-direction: column; }
    .pd-nav .pn-pre { flex: none; border-right: 0; padding: 12px 0 4px; }
    .pd-nav .pn-next { flex: none; padding: 4px 0 12px; text-align: left; }
    .news-grid .nc { padding: 20px 20px 18px; min-height: 190px; }
    .gt-item { flex: 0 0 52px; width: 52px; height: 52px; }
    .gt-prev, .gt-next { height: 52px; }
    .gt-prev, .gt-next { height: 60px; }
    .contact-cards { grid-template-columns: 1fr; }
    .contact-cards .cc.big { grid-column: span 1; }
    .footer .f-contact-row { flex-wrap: wrap; gap: 22px; }
    .footer .f-c { flex: 1 1 46%; }
}
/* 平板竖屏 / 大屏手机：LOGO 一行，导航换行居中，避免挤压溢出 */
@media (max-width: 780px) {
    .header .w { flex-wrap: wrap; height: auto; padding: 10px 16px 0; }
    .logo { height: 46px; }
    .logo img { height: 40px; }
    .nav-inline {
        margin-left: 0; width: 100%; height: auto; margin-top: 8px;
        border-top: 1px solid #edf1f6; flex-wrap: wrap; justify-content: center;
    }
    .nav-inline > li { flex: 0 0 auto; }
    .nav-inline > li > a { width: auto; height: 42px; padding: 0 10px; font-size: 13px; }
}

@media (max-width: 640px) {
    .about-home .ah-pic, .pro-row .pr-pic { max-width: 100%; }
    /* 厂房三连图：手机上三张并排每张只有 110px，改成横向滑动、每张 46% 宽 */
    .about-gallery {
        display: flex; overflow-x: auto; gap: 0; margin-top: 22px;
        -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    .about-gallery::-webkit-scrollbar { display: none; }
    .about-gallery img { flex: 0 0 46%; width: 46%; }
    /* 轮播：移动端圆点略缩小，仍居中 */
    .hbanner-dots { bottom: 3px; gap: 7px; }
    .hbanner-dots i { width: 7px; height: 7px; }
    .pro-tabs { gap: 8px; }
    .pro-tabs a { height: 34px; line-height: 32px; padding: 0 14px; font-size: 13px; border-radius: 17px; }
    .pro-row, .pro-row.rev { flex-direction: column; align-items: stretch; gap: 16px; }
    .pro-row .pr-pic { flex: none; width: 100%; max-width: 460px; margin: 0 auto; }
    .pro-row h3 { font-size: 17px; }
    .pro-grid, .case-grid, .case-list { grid-template-columns: minmax(0, 1fr); }
    .news-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .news-wrap { padding: 14px; }
    .news-grid .nc { min-height: 0; padding: 18px 18px 16px; }
    .news-grid .nc h3 { font-size: 15px; min-height: 0; }
    .news-grid .nc p { font-size: 12.5px; line-height: 1.85; }
    .news-grid .nc-date b { font-size: 22px; }
    .news-grid .nc-ft { padding-top: 16px; }
    /* 证书：手机两列，图片区压低 */
    .cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .cert-card { padding: 8px 8px 0; }
    .cert-card .cc-pic { height: 128px; }
    .cert-card .cc-name { padding: 8px 2px 10px; font-size: 12.5px; min-height: 46px; }
    /* 视频：手机单列 */
    .video-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .cert-viewer, .video-viewer { padding: 16px; }
    .pro-card .pic img { aspect-ratio: 1 / 1; }
    .about-home .ah-num { gap: 8px; }
    .about-home .ah-num b { font-size: 16px; }
    .pd-tel .pt-btn { margin-left: 0; width: 100%; text-align: center; }
    .contact-cards .cc.big .v { font-size: 22px; }
    .contact-cards .cc.big .btn-call { margin-left: 0; }
    /* 内页 banner 移动端：去掉斜切块与数据条，只留标题 + 电话 */
    .page-hero .ph-in { min-height: 0; padding: 30px 16px 26px; }
    .page-hero .ph-co { font-size: 13px; }
    .page-hero .ph-txt h1 { font-size: 23px; line-height: 1.35; }
    .page-hero .ph-txt .ph-sub { font-size: 11px; letter-spacing: 2px; }
    .page-hero .ph-badge { display: none; }
    .page-hero .ph-stat { margin-top: 16px; gap: 6px; }
    .page-hero .ph-stat li { font-size: 11.5px; padding: 5px 10px; }
    .page-hero .ph-stat li b { font-size: 14px; }
    .page-hero .ph-telbar .w { height: 44px; gap: 10px; }
    .page-hero .ph-telbar .tb-tip { font-size: 11.5px; }
    .page-hero .ph-telbar .tb-num { font-size: 17px; }
    .page-crumb .w { height: 40px; font-size: 12px; }
    .sec-head h2 { font-size: 22px; }
    .sec-head .en { font-size: 11px; letter-spacing: 2px; }
    .adv-wrap { padding: 36px 0; }
    .adv-title { padding: 22px 18px; }
    .adv-title h2 { font-size: 22px; }
    .adv-title span { display: none; }
    .adv-list li { gap: 14px; margin-bottom: 20px; }
    .adv-list li .ico { flex: 0 0 46px; width: 46px; height: 46px; }
    .adv-list li .ico img { width: 22px; height: 22px; }
    .adv-list li h3 { font-size: 16px; }
    .adv-list li p { font-size: 12.5px; }
    .footer { padding-top: 32px; }
    .footer .f-contact-row { flex-direction: column; gap: 18px; padding-bottom: 24px; }
    .footer .f-c { flex: none; width: 100%; }
    .footer .f-ico { flex: 0 0 44px; width: 44px; height: 44px; }
    .footer .f-ico i { font-size: 18px; }
    .footer .f-txt .f-tel { font-size: 21px; }
    .footer .f-navrow { gap: 16px 22px; padding: 16px 0; }
    .footer .f-navrow a { font-size: 13px; }
    .footer .f-kw { font-size: 11.5px; }
}

/* ============================================================
   联系我们（对齐参考站联系页：斜切栏目头条 + 居中公司信息 + 位置图）
   ============================================================ */
.ct-head { display: flex; align-items: stretch; margin-bottom: 34px; }
.ct-head h1 {
    position: relative; flex: 0 0 auto; z-index: 1;
    display: flex; align-items: center; gap: 9px;
    height: 50px; padding: 0 40px 0 20px;
    background: var(--navy); color: #fff;
    font-size: 18px; font-weight: 400; letter-spacing: 2px; line-height: 1;
    clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}
.ct-head h1::before {
    content: ""; display: block; width: 8px; height: 8px;
    background: #fff; flex: 0 0 8px;
}
.ct-head .ct-crumb {
    flex: 1; min-width: 0;
    display: flex; align-items: center; justify-content: flex-end;
    padding: 0 16px; background: #eee; border-top: 2px solid var(--navy);
    font-size: 13px; color: #9aa5b1;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ct-head .ct-crumb a { color: #9aa5b1; }
.ct-head .ct-crumb a:hover { color: var(--blue); }

.ct-name {
    text-align: center; margin: 6px 0 16px;
    font-size: 28px; line-height: 1.6; font-weight: 500;
    letter-spacing: 1px; color: #2b2b2b;
}
.ct-lines {
    text-align: center; margin-bottom: 30px;
    font-size: 16px; line-height: 2.1; color: #666;
}
.ct-lines p { margin: 0; }
.ct-lines a { color: #666; }
.ct-lines a:hover { color: var(--blue); }

/* 位置图：整块是链接，点击在百度地图中查看 */
.ct-map {
    position: relative; display: block;
    height: 420px; overflow: hidden;
    background: #eef1f4 url("../images/map-contact.jpg") center 45% / cover no-repeat;
    border: 1px solid var(--line);
}
.ct-map .map-pin {
    position: absolute; left: 50%; top: 42%;
    width: 28px; height: 36px; transform: translate(-50%, -100%);
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 36'%3E%3Cpath d='M14 1C7.1 1 1.6 6.6 1.6 13.5 1.6 23.1 14 35 14 35s12.4-11.9 12.4-21.5C26.4 6.6 20.9 1 14 1z' fill='%23e23a3a' stroke='%23fff' stroke-width='2.4'/%3E%3Ccircle cx='14' cy='13.4' r='4.6' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat;
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .3));
}
.ct-map .map-hit { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 1; }
.ct-map .map-card {
    position: absolute; left: 50%; top: 42%; z-index: 3;
    transform: translate(-50%, -100%); margin-top: -44px;
    padding: 12px 36px 12px 16px; min-width: 252px;
    background: #fff; border-radius: 2px; text-align: left;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
    white-space: nowrap;
}
.ct-map .map-card::after {
    content: ""; position: absolute; left: 50%; bottom: -8px; margin-left: -8px;
    width: 0; height: 0; border: 8px solid transparent; border-top-color: #fff; border-bottom: 0;
}
.ct-map .map-card b { display: block; font-size: 15px; font-weight: 700; color: #333; line-height: 1.5; }
.ct-map .map-card span { display: block; margin-top: 4px; font-size: 13px; color: #777; line-height: 1.5; }
.ct-map .map-card .map-x {
    position: absolute; right: 9px; top: 5px; font-size: 17px; font-style: normal;
    color: #a5a5a5; cursor: pointer; line-height: 1;
}
.ct-map .map-card .map-x:hover { color: #333; }

@media (max-width: 992px) {
    .ct-name { font-size: 24px; }
    .ct-lines { font-size: 15px; }
    .ct-map { height: 340px; }
}
@media (max-width: 768px) {
    .ct-head { margin-bottom: 22px; }
    .ct-head h1 { height: 40px; padding: 0 30px 0 14px; font-size: 15px; letter-spacing: 1px; }
    .ct-head .ct-crumb { font-size: 12px; padding: 0 10px; }
    .ct-name { font-size: 19px; margin: 4px 0 10px; }
    .ct-lines { font-size: 13.5px; line-height: 1.95; margin-bottom: 20px; }
    .ct-map { height: 300px; }
    .ct-map .map-card {
        min-width: 0; padding: 8px 28px 8px 11px; margin-top: -40px; top: 50%;
        transform: translate(-50%, -100%);
    }
    .ct-map .map-card b { font-size: 12px; white-space: nowrap; max-width: none; }
    .ct-map .map-card span { font-size: 11px; margin-top: 3px; }
    .ct-map .map-card .map-x { right: 6px; top: 3px; font-size: 15px; }
    .ct-map .map-pin { width: 22px; height: 29px; top: 50%; }
}

/* 地图标记压在点击层之上 */
.ct-map .map-pin { z-index: 2; }

/* 左栏宣传图（对齐参考站联系页左栏底部那张） */
.side-promo { position: relative; display: block; margin-top: 22px; overflow: hidden; background: #0e1c2b; }
.side-promo img { display: block; width: 100%; height: 152px; object-fit: cover; }
.side-promo .sp-txt {
    position: absolute; left: 0; right: 0; top: 0; bottom: 0;
    display: flex; flex-direction: column; justify-content: center;
    padding: 0 18px;
    background: linear-gradient(90deg, rgba(6, 20, 34, .84) 0%, rgba(6, 20, 34, .30) 100%);
}
.side-promo b { font-size: 14px; font-weight: 400; color: #eaf2f8; letter-spacing: 1px; }
.side-promo em { font-size: 24px; font-weight: 700; color: #fff; letter-spacing: 3px; line-height: 1.35; }
.side-promo i { font-size: 12.5px; font-style: normal; color: rgba(255, 255, 255, .82); letter-spacing: .5px; margin-top: 6px; }

/* 在线留言表单 */
.msg-box { margin-top: 0; }
.msg-head { display: flex; align-items: baseline; gap: 10px; padding: 0 0 12px; border-bottom: 1px solid #eeeeee; }
.msg-head h3 { font-size: 18px; line-height: 50px; color: #1a2b3c; }
.msg-head span { font-size: 11px; letter-spacing: 2px; color: #b9c4cf; }
.msg-form { padding: 20px 0 0; }
.mf-row { display: flex; gap: 20px; margin-bottom: 16px; }
.mf-row label { flex: 1; min-width: 0; display: block; }
.msg-form label > span { display: block; font-size: 13px; color: #55606b; margin-bottom: 6px; }
.msg-form label > span i { color: #d9534f; font-style: normal; }
.msg-form input[type=text], .msg-form textarea {
    width: 100%; border: 1px solid #d8dee5; background: #fff; padding: 0 12px; height: 40px;
    font-size: 14px; color: #333; font-family: inherit; outline: none;
}
.msg-form textarea { height: auto; padding: 10px 12px; line-height: 1.7; resize: vertical; }
.msg-form input[type=text]:focus, .msg-form textarea:focus { border-color: var(--blue); }
.mf-full { display: block; margin-bottom: 16px; }
.mf-code { display: flex; gap: 10px; }
.mf-code input { flex: 1; min-width: 0; }
.mf-code img { height: 40px; width: 100px; object-fit: cover; border: 1px solid #d8dee5; cursor: pointer; }
.mf-submit {
    height: 44px; padding: 0 34px; border: 0; cursor: pointer;
    background: var(--navy); color: #fff; font-size: 15px; letter-spacing: 2px; font-family: inherit;
}
.mf-submit:hover { background: #1a1748; }

@media (max-width: 768px) {
    .side-promo { display: none; }
    .msg-box { margin-top: 26px; }
    .mf-row { flex-direction: column; gap: 16px; margin-bottom: 16px; }
    .msg-form { padding: 18px 14px 20px; }
    .msg-head { padding: 0 14px; }
}
