@charset "utf-8";
/* 乌鲁木齐管道疏通防水补漏 - 主样式 主色 #1F88A7 辅助色 #ff7823 */

:root{
    --main:#1F88A7;
    --main-dark:#166b83;
    --main-light:#e8f4f8;
    --accent:#ff7823;
    --accent-dark:#e2620f;
    --text:#333;
    --text-sub:#666;
    --line:#e6e6e6;
    --bg:#f7f9fa;
}

*{margin:0;padding:0;box-sizing:border-box;}
body{
    font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    color:var(--text);background:#fff;font-size:15px;line-height:1.8;
    -webkit-text-size-adjust:100%;
}
a{color:inherit;text-decoration:none;transition:color .2s;}
a:hover{color:var(--main);}
img{max-width:100%;display:block;border:0;}
ul,ol{list-style:none;}
h1,h2,h3,h4{font-weight:700;line-height:1.4;}
.clearfix:after{content:"";display:block;clear:both;visibility:hidden;height:0;}

.wrap{width:1200px;margin:0 auto;}
.mt10{margin-top:10px;}.mt20{margin-top:20px;}.mt30{margin-top:30px;}
.mb20{margin-bottom:20px;}

/* ============ 顶部条 ============ */
.topbar{background:var(--main-dark);color:#d9eef4;font-size:13px;height:38px;line-height:38px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;}
.topbar a{color:#d9eef4;}
.topbar .top-phone{color:#ffd9c2;font-weight:700;letter-spacing:.5px;}
.topbar .top-phone b{color:#fff;font-size:16px;}

/* ============ 头部导航 ============ */
/* top:-1px + padding-top:1px：吸顶时向上多压 1px，避免浏览器缩放/亚像素渲染时
   header 与视口顶部之间露出 1px 内容缝；未滚动时布局与原来完全一致 */
.header{
    background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);position:sticky;top:-1px;padding-top:1px;z-index:60;
    transition:box-shadow .25s,background .25s;
}
.header.stuck{box-shadow:0 4px 18px rgba(15,60,80,.16);}
.header .wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0;}
.logo-mark{
    width:46px;height:46px;border-radius:8px;background:linear-gradient(135deg,#1F88A7,#39b0cf);
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:700;
}
.logo-txt{min-width:0;overflow:hidden;}
.logo-txt .ln1{font-size:17px;font-weight:800;color:var(--main);letter-spacing:.5px;line-height:1.25;white-space:nowrap;}
.logo-txt .ln1 em{font-style:normal;font-size:22px;color:#ff7823;margin-right:2px;}
.logo-txt .ln2{font-size:11.5px;color:var(--text-sub);letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.nav{display:flex;align-items:center;flex-shrink:0;margin-left:auto;}
.nav>li{position:relative;}
.nav>li>a{
    display:block;padding:0 10px;height:82px;line-height:82px;font-size:15px;color:#333;position:relative;white-space:nowrap;
}
.nav>li>a:hover,.nav>li.on>a{color:var(--main);}
.nav>li.on>a:after{
    content:"";position:absolute;left:16px;right:16px;bottom:20px;height:3px;background:var(--accent);border-radius:2px;
}
.nav .sub{
    display:none;position:absolute;top:82px;left:50%;transform:translateX(-50%);
    background:#fff;min-width:190px;box-shadow:0 6px 18px rgba(0,0,0,.12);border-top:3px solid var(--main);
    padding:8px 0;border-radius:0 0 6px 6px;
}
.nav>li:hover .sub{display:block;}
.nav .sub a{display:block;padding:9px 20px;font-size:14px;color:#444;white-space:nowrap;}
.nav .sub a:hover{background:var(--main-light);color:var(--main);}
.nav>li>a.nav-btn{
    background:var(--accent);color:#fff!important;border-radius:4px;padding:0 18px;height:44px;line-height:44px;
    margin-left:10px;font-size:15px;display:inline-block;white-space:nowrap;vertical-align:middle;margin-top:19px;
}
.nav-btn i{font-style:normal;font-size:15px;margin-right:4px;}
.nav-btn:hover{background:var(--accent-dark);color:#fff!important;}
.menu-toggle{display:none;}
.nav-drawer-head,.nav-mask,.nav-arr{display:none;}
.nav>li.nav-cta>a.nav-btn-tel{display:none;}

/* ============ Banner ============ */
.banner{position:relative;height:480px;overflow:hidden;background:var(--main);}
.banner .slide{
    position:absolute;inset:0;opacity:0;transition:opacity .8s ease;
    background-size:cover;background-position:center;
}
.banner .slide.active{opacity:1;}
/* 遮罩：整体压暗 + 底部渐隐，让图文成为一个整体 */
.banner .slide-mask{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(6,38,50,.35) 0%,rgba(6,38,50,.5) 45%,rgba(6,38,50,.82) 100%);
}
/* 文案统一收进一块半透明面板，避免文字散落在图上 */
.banner .wrap{position:relative;height:480px;display:flex;align-items:center;}
.banner .b-panel{
    width:100%;max-width:720px;padding:34px 40px 36px;border-radius:12px;
    background:linear-gradient(105deg,rgba(7,44,58,.92) 0%,rgba(7,44,58,.78) 62%,rgba(7,44,58,.52) 100%);
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
    border-left:5px solid var(--accent);
    box-shadow:0 20px 46px rgba(3,26,36,.34);
}
.banner h2{color:#fff;font-size:38px;line-height:1.32;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,0,0,.35);max-width:none;}
.banner p{color:#d9edf4;font-size:16.5px;line-height:1.8;margin-top:13px;max-width:600px;}
.banner .b-tag{
    display:inline-block;background:var(--accent);color:#fff;font-size:13.5px;padding:6px 15px;border-radius:3px;margin-bottom:16px;
}
.banner .b-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.banner .b-meta span{
    display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#cfe7ef;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
    padding:6px 13px;border-radius:20px;
}
.banner .b-meta span b{color:#ffcf9e;font-weight:700;}
.banner-btns{margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;}
.btn{
    display:inline-block;padding:12px 30px;border-radius:4px;font-size:16px;transition:.25s;
    white-space:nowrap;
}
.btn-orange{background:var(--accent);color:#fff;}
.btn-orange:hover{background:var(--accent-dark);color:#fff;}
.btn-outline{border:1px solid #fff;color:#fff;}
.btn-outline:hover{background:#fff;color:var(--main);}
.banner-dots{position:absolute;left:0;right:0;bottom:26px;text-align:center;z-index:5;}
.banner-dots span{
    display:inline-block;width:22px;height:4px;background:rgba(255,255,255,.5);margin:0 4px;cursor:pointer;border-radius:3px;transition:.25s;
}
.banner-dots span.on{width:34px;background:var(--accent);}

/* ============ 通用板块标题 ============ */
.section{padding:60px 0;}
.section-gray{background:var(--bg);}
.sec-head{text-align:center;margin-bottom:38px;}
.sec-head h3{font-size:29px;color:#222;}
.sec-head h3 em{font-style:normal;color:var(--main);}
.sec-head .line{width:60px;height:3px;background:var(--accent);margin:14px auto 0;}
.sec-head p{color:var(--text-sub);margin-top:12px;font-size:15px;}

/* ============ 业务卡片 ============ */
/* 业务卡片：独立排在 banner 下方，不再上移压住轮播图 */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:0;padding:34px 0 6px;position:relative;z-index:10;}
.svc-card{
    background:#fff;border-radius:8px;padding:30px 26px;box-shadow:0 6px 22px rgba(31,136,167,.14);
    border-bottom:3px solid transparent;transition:.25s;
}
.svc-card:hover{transform:translateY(-5px);border-bottom-color:var(--accent);}
.svc-card .ico{
    width:58px;height:58px;border-radius:50%;background:var(--main-light);color:var(--main);
    display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px;
}
.svc-card h4{font-size:19px;margin-bottom:10px;}
.svc-card p{color:var(--text-sub);font-size:14px;line-height:1.9;min-height:76px;}
.svc-card .more{color:var(--main);font-size:14px;}
/* 子项改为统一规格的胶囊标签，避免散点文字显得杂乱 */
.svc-card ul{
    margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);
    display:flex;flex-wrap:wrap;gap:8px;
}
.svc-card ul li{font-size:13px;margin:0;}
.svc-card ul li:before{content:"";}
.svc-card ul li a{
    display:block;padding:4px 11px;border-radius:20px;background:var(--main-light);
    color:#42697a;font-size:13px;line-height:1.6;transition:.2s;
}
.svc-card ul li a:hover{background:var(--main);color:#fff;}

/* ============ 关于简介 ============ */
.about-box{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
.about-pic{border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.1);}
.about-txt h3{font-size:27px;margin-bottom:16px;}
.about-txt p{color:var(--text-sub);margin-bottom:14px;text-indent:2em;}
.about-tags{margin:18px 0;}
.about-tags span{
    display:inline-block;background:#fff;border:1px solid #cfe6ed;color:var(--main);
    padding:6px 14px;border-radius:20px;font-size:13px;margin:0 8px 8px 0;
}
.about-num{display:flex;gap:30px;margin-top:10px;}
.about-num div b{display:block;font-size:30px;color:var(--accent);line-height:1.2;}
.about-num div span{font-size:13px;color:var(--text-sub);}

/* ============ 服务流程 ============ */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative;}
.flow .step{text-align:center;position:relative;}
.flow .step .n{
    width:64px;height:64px;margin:0 auto;border-radius:50%;background:#fff;border:2px solid var(--main);
    color:var(--main);font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;
    position:relative;z-index:2;transition:.25s;
}
.flow .step:hover .n{background:var(--main);color:#fff;}
.flow .step h4{font-size:16px;margin-top:14px;}
.flow .step p{font-size:13px;color:var(--text-sub);margin-top:6px;}
.flow .step:not(:last-child):after{
    content:"";position:absolute;top:32px;left:calc(50% + 42px);right:calc(-50% + 42px);height:1px;
    border-top:1px dashed #bcd9e2;z-index:1;
}

/* ============ 预约表单 ============ */
/* 首页预约区：表单卡与须知卡等高（默认 stretch），短的一侧内部弹性撑开 */
.yuyue{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:stretch;}
.form-box{
    background:#fff;border-radius:10px;padding:34px 36px;
    box-shadow:0 10px 30px rgba(31,136,167,.13);border-top:3px solid var(--main);
}
.form-box h4{font-size:21px;margin-bottom:6px;}
.form-box .tip{font-size:13px;color:var(--text-sub);margin-bottom:20px;}
.form-row{margin-bottom:15px;}
.form-row label{display:block;font-size:14px;margin-bottom:7px;color:#444;}
.form-row label em{color:var(--accent);font-style:normal;}
.form-row input,.form-row select,.form-row textarea{
    width:100%;border:1px solid #e2e6e9;border-radius:6px;padding:12px 14px;font-size:14.5px;font-family:inherit;
    background:#fbfcfc;transition:.2s;color:#333;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
    border-color:var(--main);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(31,136,167,.12);
}
.form-row textarea{height:96px;resize:vertical;}
/* 验证码行：左边输入框自适应，右边图片固定 130×45 */
.form-row.form-code{display:grid;grid-template-columns:1fr 138px;gap:10px;align-items:end;}
.form-row.form-code label{grid-column:1/3;}
.form-row.form-code input[name="checkcode"]{padding:11px 12px;letter-spacing:2px;font-weight:600;font-size:16px;}
.form-row.form-code .gd-captcha{
    display:block;width:130px;height:45px;cursor:pointer;border:1px solid #dcdcdc;border-radius:4px;
    background:#fff;justify-self:end;
}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
/* 蜜罐字段容器：不能用 display:none（部分机器人会跳过），移出可视区 */
.gd-hp{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden;}
.form-submit{
    width:100%;color:#fff;border:0;border-radius:6px;padding:14px;font-size:17px;cursor:pointer;
    font-family:inherit;transition:.25s;font-weight:700;letter-spacing:1px;
    background:linear-gradient(135deg,#ff923f,#f4690d);box-shadow:0 8px 18px rgba(244,105,13,.28);
}
.form-submit:hover{background:linear-gradient(135deg,#f9862c,#e35f08);box-shadow:0 10px 22px rgba(244,105,13,.36);}
.form-note{font-size:12px;color:#999;margin-top:12px;text-align:center;}

/* 联系我们：信息卡片，与左侧表单卡同一套视觉（白底 + 圆角 + 主色顶边） */
.ct-card{
    background:#fff;border-radius:10px;padding:26px 28px;
    box-shadow:0 6px 22px rgba(0,0,0,.08);border-top:3px solid var(--main);
}
.ct-card h4{font-size:18px;margin-bottom:10px;display:flex;align-items:center;gap:9px;}
.ct-ico{
    width:30px;height:30px;border-radius:8px;background:var(--main-light);
    display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 30px;
}
.ct-desc{font-size:13px;color:var(--text-sub);margin-bottom:14px;line-height:1.8;}
.ct-phone{
    background:linear-gradient(135deg,#1F88A7,#3fb0cf);border-radius:8px;padding:14px 16px;
}
.ct-phone small{display:block;font-size:12px;color:#d6eef6;}
.ct-phone a{font-size:25px;font-weight:800;color:#fff;letter-spacing:.5px;}
.ct-phone a:hover{color:#ffe3cd;}
.ct-info{margin:14px 0 16px;}
.ct-info li{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px;}
.ct-info li:last-child{border-bottom:0;}
.ct-info li b{flex:0 0 68px;font-weight:600;color:var(--text-sub);}
.ct-info li span{flex:1;min-width:0;word-break:break-all;color:#333;}
.ct-btns{display:flex;gap:10px;}
.ct-btn{
    flex:1;text-align:center;padding:11px 0;border-radius:6px;font-size:14.5px;
    background:var(--main);border:1px solid var(--main);color:#fff;transition:.22s;
}
.ct-btn:hover{background:var(--main-dark);border-color:var(--main-dark);color:#fff;}
.ct-btn-o{background:#fff;color:var(--main);}
.ct-btn-o:hover{background:var(--main-light);color:var(--main);border-color:var(--main);}
/* 预约时间 + 服务承诺：表单下方两列并列 */
.info-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px;}
.ct-time li{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);}
.ct-time li:last-child{border-bottom:0;}
.ct-time li span{flex:0 0 68px;font-size:13px;color:var(--text-sub);}
.ct-time li b{flex:0 0 auto;font-size:16px;color:var(--main);}
.ct-time li em{font-style:normal;font-size:12.5px;color:#999;flex:1;text-align:right;}
.ct-promise li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--line);}
.ct-promise li:last-child{border-bottom:0;}
.ct-promise li:before{content:"✓";color:var(--main);font-weight:700;font-size:14px;line-height:1.7;}
.ct-promise li div{flex:1;min-width:0;}
.ct-promise li b{display:block;font-size:14.5px;}
.ct-promise li span{display:block;font-size:12.5px;color:var(--text-sub);line-height:1.7;}
.ct-note{font-size:12.5px;color:#999;margin-top:12px;line-height:1.8;}

/* 预约页右侧联系方式卡 */
.cs-info{
    margin:16px 0 2px;padding:12px 0;border-top:1px dashed rgba(255,255,255,.22);border-bottom:1px dashed rgba(255,255,255,.22);
}
.cs-info li{display:flex;gap:10px;padding:7px 0;font-size:13.5px;line-height:1.65;color:#dff0f6;}
.cs-info li b{flex:0 0 70px;font-weight:600;color:#a9d6e4;}
.cs-info li span{flex:1;min-width:0;word-break:break-all;}
.ps-sub{font-size:15px;font-weight:600;color:#fff;margin:16px 0 2px;}
.ps-btns{display:flex;gap:10px;margin-top:16px;}
.ps-btn{
    flex:1;text-align:center;padding:11px 0;border-radius:6px;font-size:14.5px;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);color:#fff;transition:.22s;
}
.ps-btn:hover{background:rgba(255,255,255,.28);color:#fff;}
.ps-btn-o{background:#fff;border-color:#fff;color:var(--main);}
.ps-btn-o:hover{background:var(--accent);border-color:var(--accent);color:#fff;}

.promise-side{
    background:linear-gradient(160deg,#1F88A7 0%,#0f6d8a 100%);color:#fff;border-radius:10px;padding:30px;
    box-shadow:0 6px 22px rgba(31,136,167,.26);display:flex;flex-direction:column;
}
.promise-side h4{font-size:20px;margin-bottom:6px;}
.promise-side .ps-desc{font-size:13px;color:#cfebf3;margin-bottom:18px;line-height:1.8;}
/* 列表区撑满剩余高度，条目等距分布；电话块吸附底部，与左侧表单底部齐平 */
.ps-list{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;}
.ps-list li{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.18);}
.ps-list li:last-child{border-bottom:0;}
.ps-ico{
    width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:rgba(255,255,255,.16);
    display:flex;align-items:center;justify-content:center;font-size:17px;
}
.ps-txt b{display:block;font-size:15px;font-weight:600;color:#fff;margin-bottom:2px;}
.ps-txt span{font-size:12.5px;color:#cbe8f1;line-height:1.7;}
.ps-phone{
    margin-top:18px;background:rgba(255,255,255,.12);border-radius:6px;padding:14px 16px;text-align:center;
}
.ps-phone small{display:block;font-size:12.5px;color:#cbe8f1;margin-bottom:4px;}
.ps-phone a{font-size:24px;font-weight:800;color:#ffddc2;letter-spacing:.5px;}
.ps-phone a:hover{color:#fff;}

/* ============ 服务区域 ============ */
.area-box{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.area-box a{
    display:block;text-align:center;background:#fff;border:1px solid #e3eef2;border-radius:4px;padding:12px 4px;
    font-size:14px;color:#444;transition:.2s;
}
.area-box a:hover{background:var(--main);color:#fff;border-color:var(--main);}

/* ============ 案例 ============ */
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.case-item{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.07);transition:.25s;}
.case-item:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(31,136,167,.18);}
.case-item .pic{height:170px;overflow:hidden;position:relative;background:#eee;}
.case-item .pic img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.case-item:hover .pic img{transform:scale(1.06);}
.case-item .info{padding:14px 16px;}
.case-item .info h4{font-size:15px;margin-bottom:4px;}
.case-item .info p{font-size:13px;color:var(--text-sub);}

/* ============ 新闻 ============ */
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.news-item{
    display:flex;gap:16px;background:#fff;border-radius:6px;padding:18px;box-shadow:0 3px 12px rgba(0,0,0,.05);transition:.2s;
}
.news-item:hover{box-shadow:0 8px 20px rgba(31,136,167,.14);}
.news-item .pic{width:150px;height:100px;flex:0 0 150px;overflow:hidden;border-radius:4px;}
.news-item .pic img{width:100%;height:100%;object-fit:cover;}
.news-item .txt h4{font-size:16px;margin-bottom:6px;line-height:1.5;}
.news-item .txt p{font-size:13px;color:var(--text-sub);height:44px;overflow:hidden;}
.news-item .txt .date{font-size:12px;color:#aaa;margin-top:6px;}

/* ============ 联系信息条 ============ */
.contact-strip{
    background:linear-gradient(120deg,#0f6d8a 0%,#1F88A7 55%,#2b9cba 100%);
    padding:34px 0;color:#fff;
}
.contact-strip .cs-wrap{display:grid;grid-template-columns:1.15fr 1fr 1.15fr 1.1fr;gap:20px;}
.contact-strip .cs-item{padding-left:18px;border-left:1px solid rgba(255,255,255,.2);}
.contact-strip .cs-item:first-child{border-left:0;padding-left:0;}
.contact-strip .cs-item small{display:block;font-size:12.5px;color:#b6e2ef;letter-spacing:1px;margin-bottom:5px;}
.contact-strip .cs-item strong{display:block;font-size:18px;font-weight:700;color:#fff;line-height:1.5;}
.contact-strip .cs-item em{display:block;font-style:normal;font-size:12.5px;color:#c7e9f2;margin-top:4px;}
.contact-strip .cs-item em a{color:#ffd9bf;}
.contact-strip .cs-tel a{
    display:block;font-size:32px;font-weight:800;color:#ffd9bf;letter-spacing:1px;line-height:1.25;
}
.contact-strip .cs-tel a:hover{color:#fff;}

/* ============ 热门标签 ============ */
.tag-cloud{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.tag-cloud a,.side-tags a{
    display:inline-block;border-radius:30px;color:#fff;background:var(--main);transition:.25s;
}
.tag-cloud a{padding:9px 20px;font-size:14.5px;box-shadow:0 3px 10px rgba(0,0,0,.06);}
.side-tags a{padding:6px 13px;font-size:13px;margin:0 8px 8px 0;}
.tag-cloud a:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 18px rgba(0,0,0,.14);filter:brightness(1.06);}
.side-tags a:hover{transform:translateY(-2px);filter:brightness(1.08);}
.tag-cloud a:nth-child(14n+1),.side-tags a:nth-child(14n+1){background:#1F88A7;}
.tag-cloud a:nth-child(14n+2),.side-tags a:nth-child(14n+2){background:#ff7823;}
.tag-cloud a:nth-child(14n+3),.side-tags a:nth-child(14n+3){background:#2e9e6b;}
.tag-cloud a:nth-child(14n+4),.side-tags a:nth-child(14n+4){background:#e2574c;}
.tag-cloud a:nth-child(14n+5),.side-tags a:nth-child(14n+5){background:#7b61d4;}
.tag-cloud a:nth-child(14n+6),.side-tags a:nth-child(14n+6){background:#0f8fa8;}
.tag-cloud a:nth-child(14n+7),.side-tags a:nth-child(14n+7){background:#d9932b;}
.tag-cloud a:nth-child(14n+8),.side-tags a:nth-child(14n+8){background:#3a8fd4;}
.tag-cloud a:nth-child(14n+9),.side-tags a:nth-child(14n+9){background:#c2477e;}
.tag-cloud a:nth-child(14n+10),.side-tags a:nth-child(14n+10){background:#5c9e3e;}
.tag-cloud a:nth-child(14n+11),.side-tags a:nth-child(14n+11){background:#e0674f;}
.tag-cloud a:nth-child(14n+12),.side-tags a:nth-child(14n+12){background:#4a86c5;}
.tag-cloud a:nth-child(14n+13),.side-tags a:nth-child(14n+13){background:#8a6a2f;}
.tag-cloud a:nth-child(14n+14),.side-tags a:nth-child(14n+14){background:#4bb3a5;}

/* ============ 页脚友情链接（内容由后台分组1维护，空时显示占位提示） ============ */
.f-flink{margin-top:30px;border-top:1px solid rgba(255,255,255,.10);padding-top:16px;}
.f-flink h5{font-size:14px;color:#8fb6c3;margin-bottom:6px;padding-bottom:0;border-bottom:0;}
.f-flink-box{display:flex;flex-wrap:wrap;gap:6px 20px;min-height:22px;align-items:center;}
.f-flink-box a{font-size:13px;color:#9fc4d0;transition:.2s;}
.f-flink-box a:hover{color:#fff;}
.f-flink-box:empty::before{content:"暂无友情链接";font-size:12.5px;color:rgba(255,255,255,.30);letter-spacing:1px;}

/* 联系我们页：两栏排版 —— 左表单 / 右联系方式，下方预约时间 + 服务承诺并排 */
.ct-layout{display:grid;grid-template-columns:1.28fr .72fr;gap:28px;align-items:stretch;}
.ct-layout2{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px;align-items:stretch;}
/* 同排两卡等高：内容不足的一侧内部弹性分布，避免出现半截留白 */
.ct-contact,.ct-time-card,.ct-promise-card{display:flex;flex-direction:column;}
.ct-contact .ct-info{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;}
.ct-contact .ct-btns{margin-top:16px;}
.ct-time-card .ct-time,.ct-promise-card .ct-promise{
    flex:1;display:flex;flex-direction:column;justify-content:space-evenly;
}
.ct-time-card .ct-note,.ct-promise-card .ct-note{margin-top:auto;padding-top:12px;}
/* 联系我们页内容收窄（保留备用，当前排版不再使用） */
.wrap-narrow{width:96%;max-width:640px;}

/* ============ 底部 ============ */
.footer{background:#17475a;color:#c3dde6;padding:48px 0 0;margin-top:0;}
.footer .f-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;}
.footer h5{font-size:17px;color:#fff;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14);}
.footer p,.footer li{font-size:14px;color:#bcd9e3;line-height:2;}
.footer .f-about p{margin-bottom:10px;}
.footer .f-phone{font-size:26px;color:#fff;font-weight:700;}
.footer .f-phone a{display:inline-block;color:#fff;}
.footer .f-phone a:hover{color:#ffd9c2;}
.footer .f-contact b{color:#7fd0e6;font-weight:400;}
.f-links li a:hover{color:#fff;}
.f-qr{width:110px;height:110px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;
    color:#999;font-size:12px;text-align:center;padding:8px;}
.footer-bottom{
    margin-top:34px;border-top:1px solid rgba(255,255,255,.12);padding:0;font-size:13px;color:#9fc4d0;text-align:center;
}
.footer-bottom a{color:#9fc4d0;}
.footer-bottom a:hover{color:#fff;}
.footer-bottom p{padding-top:18px;}
.f-icp{padding-top:6px!important;padding-bottom:18px!important;font-size:12.5px;color:#8fb6c3;letter-spacing:.5px;}

/* ============ 内页 ============ */
.page-banner{
    height:260px;background:var(--main) url(../images/placeholder.jpg) center/cover no-repeat;position:relative;
}
.page-banner .mask{position:absolute;inset:0;background:rgba(9,58,74,.62);}
.page-banner .wrap{position:relative;height:260px;display:flex;flex-direction:column;justify-content:center;}
.page-banner h1{color:#fff;font-size:34px;}
.page-banner .banner-name{color:#fff;font-size:34px;margin:0;}
.page-banner .crumb{color:#bfe4ee;font-size:14px;margin-bottom:10px;}
.page-banner .crumb a{color:#fff;}
/* 面包屑末级：当前文章标题，弱化显示且不可点击 */
.page-banner .crumb span.cur{color:#d5edf4;margin-left:.4em;}

/* 文章底部「本文标签」 */
.article-tags{margin:22px 0 6px;padding:16px 18px;background:#f7fbfc;border:1px dashed #cfe3ea;border-radius:6px;line-height:2;}
.article-tags .at-label{color:#5b7b86;font-size:14px;margin-right:6px;}
.article-tags a{
    display:inline-block;margin:0 6px 6px 0;padding:3px 12px;font-size:13px;
    color:#1F88A7;background:#fff;border:1px solid #d5e7ee;border-radius:14px;
    transition:all .22s;
}
.article-tags a:hover{background:#1F88A7;color:#fff;border-color:#1F88A7;}

.crumb-inner{background:var(--bg);border-bottom:1px solid var(--line);}
.crumb-inner .wrap{height:44px;line-height:44px;font-size:13px;color:#888;}
.crumb-inner a{color:#888;}
.crumb-inner a:hover{color:var(--main);}

.content-area{padding:44px 0 60px;}
.left-main{width:820px;float:left;}
.right-side{width:340px;float:right;}
.side-box{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:20px;overflow:hidden;}
.side-box h4{
    font-size:17px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fafcfd;border-left:4px solid var(--main);
}
.side-box .sb-body{padding:14px 18px;}
.side-list li{border-bottom:1px dashed #eee;padding:9px 0;font-size:14px;}
.side-list li:last-child{border-bottom:0;}
.side-list li a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.side-list li span{color:#bbb;font-size:12px;margin-right:6px;}

.article-title{font-size:27px;color:#222;line-height:1.5;}
.article-meta{font-size:13px;color:#999;padding:12px 0 18px;border-bottom:1px solid var(--line);}
.article-body{padding:22px 0;font-size:15.5px;line-height:2;color:#3a3a3a;}
.article-body p{margin-bottom:16px;text-indent:2em;}
.article-body h3{font-size:19px;margin:22px 0 12px;color:var(--main);}
.article-body img{display:block;max-width:100%;height:auto;margin:0 auto 20px;border-radius:4px;}
.article-body ul{padding:10px 0 10px 24px;}
.article-body ul li{list-style:disc;margin-bottom:8px;color:#555;}

.list-ul li{
    display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:flex-start;
}
.list-ul li:hover{background:#fcfdfd;}
.list-ul .lpic{width:180px;height:118px;flex:0 0 180px;overflow:hidden;border-radius:4px;background:#eee;}
.list-ul .lpic img{width:100%;height:100%;object-fit:cover;}
.list-ul .ltxt h4{font-size:17px;margin-bottom:8px;}
.list-ul .ltxt p{font-size:14px;color:var(--text-sub);height:46px;overflow:hidden;}
.list-ul .ltxt .meta{font-size:12px;color:#aaa;margin-top:8px;}
.pagination{text-align:center;padding:28px 0 0;}
.pagination a,.pagination span{
    display:inline-block;padding:7px 14px;border:1px solid var(--line);margin:0 3px;font-size:14px;border-radius:3px;color:#666;
}
.pagination a:hover{background:var(--main);color:#fff;border-color:var(--main);}
.pagination .current{background:var(--main);color:#fff;border-color:var(--main);}
/* 列表空结果（标签无匹配、无效 tag 名等） */
.no-data{text-align:center;padding:48px 20px;margin-top:6px;background:#fff;border:1px dashed var(--line);border-radius:8px;}
.no-data p{font-size:15px;color:var(--text-sub);}
.no-data p + p{margin-top:10px;font-size:13.5px;}
.no-data a{color:var(--main);}

/* 案例相册 */
.album{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* ============ 右下角悬浮客服工具条（PC + 移动端） ============ */
.side-tools{
    position:fixed;right:22px;bottom:104px;z-index:97;
    display:flex;flex-direction:column;align-items:center;gap:14px;
}
.side-tools .st-item{
    position:relative;width:54px;height:54px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:#fff;color:var(--main);
    box-shadow:0 6px 18px rgba(20,60,80,.16),0 1px 3px rgba(20,60,80,.08);
    transition:transform .24s cubic-bezier(.34,1.4,.64,1),box-shadow .24s,background .24s;
    -webkit-tap-highlight-color:transparent;
}
.side-tools .st-item svg{width:24px;height:24px;display:block;}
.side-tools .st-item:hover{
    transform:translateY(-3px);color:var(--main);
    box-shadow:0 12px 26px rgba(20,60,80,.24);
}
.side-tools .st-item:active{transform:scale(.93);}
/* 电话按钮：橙色渐变 + 呼吸光圈 */
.side-tools .st-item.st-tel{
    background:linear-gradient(135deg,#ff9948,#f4690d);color:#fff;
    box-shadow:0 8px 20px rgba(244,105,13,.4);
}
.side-tools .st-item.st-tel:hover{color:#fff;box-shadow:0 12px 26px rgba(244,105,13,.52);}
.side-tools .st-item.st-tel:after{
    content:"";position:absolute;left:-6px;top:-6px;right:-6px;bottom:-6px;border-radius:50%;
    border:2px solid rgba(244,105,13,.5);
    animation:stPulse 2s cubic-bezier(.3,.6,.4,1) infinite;pointer-events:none;
}
@keyframes stPulse{
    0%{transform:scale(.92);opacity:.85;}
    70%{transform:scale(1.32);opacity:0;}
    100%{transform:scale(1.32);opacity:0;}
}
/* 文字气泡：hover 时向左侧展开 */
.side-tools .st-label{
    position:absolute;right:calc(100% + 12px);top:50%;
    transform:translate(10px,-50%);
    white-space:nowrap;font-size:13px;line-height:1;padding:9px 14px;border-radius:20px;
    background:rgba(22,48,62,.94);color:#fff;
    box-shadow:0 5px 14px rgba(15,40,55,.22);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s,transform .22s,visibility .22s;
}
.side-tools .st-label:after{
    content:"";position:absolute;left:100%;top:50%;margin-top:-5px;
    border:5px solid transparent;border-left-color:rgba(22,48,62,.94);
}
.side-tools .st-item:hover .st-label{opacity:1;visibility:visible;transform:translate(0,-50%);}
/* 返回顶部：滚动一定距离后才出现 */
.side-tools .st-item.st-top{opacity:0;visibility:hidden;transform:translateY(10px) scale(.9);}
.side-tools .st-item.st-top.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.side-tools .st-item.st-top.show:hover{transform:translateY(-3px);}

/* ============ 移动端悬浮条 ============ */
.mobile-bar{display:none;}

/* ============ 移动端悬浮联系按钮组（PC 隐藏） ============ */
.m-fabs{display:none;}
.m-fabs .m-fab-btn{
    position:relative;width:54px;height:54px;border:0;border-radius:50%;padding:0;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    background:linear-gradient(135deg,#2fa3c4,#1F88A7);color:#fff;
    box-shadow:0 8px 22px rgba(31,136,167,.42);
    -webkit-tap-highlight-color:transparent;transition:transform .25s,box-shadow .25s;
}
.m-fabs .m-fab-btn svg{width:25px;height:25px;display:block;}
.m-fabs .m-fab-btn:active{transform:scale(.93);}
.m-fabs .m-fab-btn .m-fab-open{display:block;}
.m-fabs .m-fab-btn .m-fab-close{display:none;}
.m-fabs.open .m-fab-btn{background:linear-gradient(135deg,#8fa4b0,#5f7581);}
.m-fabs.open .m-fab-btn .m-fab-open{display:none;}
.m-fabs.open .m-fab-btn .m-fab-close{display:block;}
.m-fabs .m-fab-menu{
    position:absolute;right:0;bottom:66px;
    display:flex;flex-direction:column;align-items:flex-end;gap:12px;
    pointer-events:none;
}
.m-fabs .m-fab-i{
    display:flex;align-items:center;gap:9px;
    opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);
    transition:opacity .24s,transform .24s,visibility .24s;
}
/* 由下往上依次弹出 */
.m-fabs.open .m-fab-i{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;}
.m-fabs.open .m-fab-i:nth-child(1){transition-delay:.16s;}
.m-fabs.open .m-fab-i:nth-child(2){transition-delay:.12s;}
.m-fabs.open .m-fab-i:nth-child(3){transition-delay:.08s;}
.m-fabs.open .m-fab-i:nth-child(4){transition-delay:.04s;}
.m-fabs.open .m-fab-i:nth-child(5){transition-delay:0s;}
.m-fabs .m-fab-tx{
    font-size:13px;line-height:1;padding:8px 12px;border-radius:16px;
    background:rgba(22,48,62,.9);color:#fff;white-space:nowrap;
    box-shadow:0 4px 12px rgba(15,40,55,.2);
}
.m-fabs .m-fab-ic{
    flex:0 0 46px;width:46px;height:46px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:#fff;
    box-shadow:0 5px 14px rgba(20,60,80,.24);
}
.m-fabs .m-fab-ic svg{width:22px;height:22px;display:block;}

/* ============ 微信号弹层 ============ */
.wx-pop{
    position:fixed;inset:0;z-index:120;display:none;
    align-items:center;justify-content:center;
    background:rgba(10,32,44,.62);backdrop-filter:blur(3px);
    -webkit-tap-highlight-color:transparent;
}
.wx-pop.show{display:flex;animation:wxFade .22s ease;}
@keyframes wxFade{from{opacity:0;}to{opacity:1;}}
.wx-pop .wx-pop-in{
    position:relative;width:270px;padding:24px 22px 20px;border-radius:14px;
    background:#fff;text-align:center;box-shadow:0 18px 46px rgba(0,0,0,.32);
    animation:wxUp .26s cubic-bezier(.34,1.4,.64,1);
}
@keyframes wxUp{from{transform:translateY(16px) scale(.96);}to{transform:none;}}
.wx-pop .wx-pop-x{
    position:absolute;right:10px;top:8px;width:30px;height:30px;line-height:1;
    border:0;background:transparent;font-size:24px;color:#9aa8b1;cursor:pointer;
}
.wx-pop .wx-pop-x:hover{color:#5c6b74;}
.wx-pop h4{font-size:17px;color:#173c4b;margin-bottom:14px;}
.wx-pop .wx-pop-qr{
    width:186px;height:186px;margin:0 auto;border:1px solid #e3edf1;border-radius:8px;
    display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;
}
.wx-pop .wx-pop-qr img{width:100%;height:100%;object-fit:contain;}
.wx-pop .wx-pop-tip{font-size:13px;color:#7b8c95;margin-top:12px;}
.wx-pop .wx-pop-tel{font-size:13px;color:#5b7b86;margin-top:6px;}
.wx-pop .wx-pop-tel b{color:#f4690d;font-size:16px;}

/* ============ 响应式 ============ */
/* 窄屏桌面：收紧 logo 与导航，避免二者相撞 */
@media (max-width:1300px){
    .logo-txt .ln1{font-size:16px;}
    .logo-txt .ln1 em{font-size:21px;}
    .logo-txt .ln2{font-size:11px;letter-spacing:0;}
    .nav>li>a{padding:0 8px;font-size:14.5px;}
    .nav>li>a.nav-btn{padding:0 14px;margin-left:6px;font-size:14px;}
}
@media (max-width:1200px){
    .wrap{width:96%;}
    .left-main{width:100%;float:none;}
    .right-side{width:100%;float:none;margin-top:24px;}
}
@media (max-width:992px){
    .svc-grid{grid-template-columns:repeat(3,1fr);margin-top:0;padding-top:30px;}
    .about-box{grid-template-columns:1fr;gap:24px;}
    .flow{grid-template-columns:repeat(5,1fr);gap:8px;}
    .flow .step:not(:last-child):after{display:none;}
    .area-box{grid-template-columns:repeat(4,1fr);}
    .case-grid{grid-template-columns:repeat(2,1fr);}
    .album{grid-template-columns:repeat(2,1fr);}
    .footer .f-cols{grid-template-columns:1fr 1fr;}
    .banner{height:380px;}
    .banner .wrap{height:380px;}
    .banner h2{font-size:30px;}
}
@media (max-width:768px){
    body{font-size:14.5px;padding-bottom:56px;}
    .topbar{display:none;}
    .header .wrap{height:58px;}
    .logo-mark{width:38px;height:38px;font-size:18px;}
    .logo-txt .ln1{font-size:15px;}
    .logo-txt .ln1 em{font-size:20px;}
    .logo-txt .ln2{font-size:10px;letter-spacing:1px;}
    .menu-toggle{
        display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;cursor:pointer;
    }
    .menu-toggle i{display:block;height:2px;background:var(--main);border-radius:2px;}
    /* ---- 移动端导航抽屉 ---- */
    .nav-mask{
        display:block;position:fixed;left:0;right:0;top:0;bottom:0;z-index:70;
        background:rgba(12,32,44,.45);opacity:0;visibility:hidden;transition:opacity .26s,visibility .26s;
    }
    .nav-mask.show{opacity:1;visibility:visible;}
    .nav{
        display:block;position:fixed;top:0;right:0;bottom:0;left:auto;z-index:80;
        width:80%;max-width:330px;background:#fff;box-shadow:-8px 0 28px rgba(15,45,60,.18);
        transform:translateX(105%);transition:transform .28s cubic-bezier(.4,0,.2,1);
        overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;
        max-height:none;padding:0 0 18px;margin:0;
    }
    .nav.show{transform:translateX(0);}
    .nav-drawer-head{
        display:flex;align-items:center;justify-content:space-between;
        padding:0 8px 0 20px;height:58px;position:sticky;top:0;z-index:2;
        background:linear-gradient(135deg,#1F88A7,#3fb0cf);color:#fff;
        font-size:16px;font-weight:700;letter-spacing:1px;
    }
    .nav-close{
        width:44px;height:44px;display:flex;align-items:center;justify-content:center;
        font-size:26px;font-weight:400;color:#fff;cursor:pointer;line-height:1;opacity:.9;
    }
    .nav>li{position:relative;}
    .nav>li>a{
        display:flex;align-items:center;justify-content:space-between;height:52px;line-height:52px;
        padding:0 46px 0 20px;font-size:15.5px;color:#33404d;border-bottom:1px solid #f2f5f7;
    }
    .nav>li>a.nav-btn{border-bottom:0;}
    .nav>li.on>a{color:var(--main);background:#f4fafc;}
    .nav>li.on>a:after{display:none;}
    .nav>li>a:active{background:#f4fafc;}
    /* 子菜单折叠 */
    .nav-arr{
        display:block;position:absolute;right:8px;top:6px;width:38px;height:38px;cursor:pointer;
    }
    .nav-arr:before{
        content:"";position:absolute;left:13px;top:16px;width:8px;height:8px;
        border-right:1.8px solid #9aa7b4;border-bottom:1.8px solid #9aa7b4;
        transform:rotate(45deg);transition:transform .24s;
    }
    .nav>li.open>.nav-arr:before{transform:rotate(-135deg);top:13px;}
    .nav .sub{
        display:block;position:static;transform:none;box-shadow:none;border-top:0;min-width:0;
        background:#f7fafb;padding:0;max-height:0;overflow:hidden;transition:max-height .26s ease;
    }
    .nav>li.open .sub{max-height:420px;padding:4px 0 8px;}
    .nav .sub a{
        display:block;padding:11px 18px 11px 38px;font-size:14px;color:#5c6874;
        border-left:3px solid transparent;
    }
    .nav .sub a:active{background:#eef6f9;color:var(--main);border-left-color:var(--main);}
    /* 抽屉底部 CTA */
    .nav-cta{display:flex;gap:10px;padding:18px 20px 4px;}
    .nav-cta .nav-btn{
        flex:1;margin:0;height:44px;line-height:44px!important;padding:0;text-align:center;
        justify-content:center;border-radius:6px;font-size:15px;
    }
    .nav-cta .nav-btn-tel{display:block;background:var(--main);}
    .nav-cta .nav-btn-tel:hover{background:var(--main);}
    /* 移动端：banner 高度由 JS 按面板实际高度计算（fitBanner），
       保证底部指示点区域永远在面板之外，不再被压住或贴边 */
    .banner{height:auto;min-height:400px;}
    .banner .wrap{height:auto;min-height:400px;padding:26px 4% 30px;}
    .banner-dots{bottom:26px;}
    .banner-dots span{width:22px;height:5px;background:rgba(255,255,255,.55);box-shadow:0 1px 4px rgba(0,0,0,.4);}
    .banner-dots span.on{width:32px;background:var(--accent);}
    .banner h2{font-size:23px;}
    .banner p{font-size:14px;margin-top:10px;}
    .banner .b-tag{margin-bottom:12px;font-size:12px;}
    .banner .b-panel{padding:22px 18px 24px;border-left-width:4px;box-shadow:0 14px 30px rgba(3,26,36,.3);}
    .banner .b-meta{gap:7px;margin-top:12px;}
    .banner .b-meta span{font-size:12px;padding:5px 10px;}
    .banner-btns{margin-top:18px;}
    .btn{padding:10px 20px;font-size:14px;}
    .svc-grid{grid-template-columns:1fr;margin-top:0;padding-top:26px;gap:14px;}
    .section{padding:36px 0;}
    .sec-head{margin-bottom:24px;}
    .sec-head h3{font-size:22px;}
    .about-num{flex-wrap:wrap;gap:18px;}
    .flow{grid-template-columns:repeat(2,1fr);gap:18px;}
    .yuyue{grid-template-columns:1fr;gap:24px;}
    .ps-list{display:block;}
    /* 联系页移动端：两栏塌成单列纵排，取消弹性撑开 */
    .ct-layout,.ct-layout2{grid-template-columns:1fr;gap:22px;}
    .ct-layout2{margin-top:22px;}
    .ct-contact .ct-info,.ct-time-card .ct-time,.ct-promise-card .ct-promise{display:block;}
    .ct-time-card .ct-note,.ct-promise-card .ct-note{margin-top:12px;padding-top:0;}
    .form-two{grid-template-columns:1fr;gap:0;}
    .form-row.form-code{grid-template-columns:1fr 130px;}
    .area-box{grid-template-columns:repeat(3,1fr);}
    .news-grid{grid-template-columns:1fr;}
    .case-grid{grid-template-columns:1fr;}
    .album{grid-template-columns:1fr;}
    /* 页脚重构：单列纵向流 + 胶囊式链接 + 电话 CTA，紧凑清爽 */
    .footer{padding-top:20px;}
    .footer .f-cols{grid-template-columns:1fr;gap:13px;}
    .footer .f-about,.footer .f-contact{grid-column:auto;}
    .footer .f-about{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.10);}
    .footer .f-about h5{font-size:16px;margin-bottom:6px;}
    .footer h5{
        font-size:12.5px;color:#7fc9e0;letter-spacing:1.5px;margin-bottom:8px;
        padding-bottom:0;border-bottom:0;
    }
    .footer p,.footer li{font-size:12.5px;line-height:1.75;}
    .footer .f-about p{margin-bottom:2px;}
    /* 栏目链接改为胶囊，一行排多个，避免长列表留白 */
    .f-links{display:flex;flex-wrap:wrap;gap:6px 7px;}
    .f-links li a{
        display:inline-block;padding:5px 11px;border-radius:20px;font-size:12.5px;
        background:rgba(255,255,255,.09);color:#d3eaf2;
    }
    .f-links li a:active{background:rgba(255,255,255,.24);color:#fff;}
    .footer .f-contact p{margin-bottom:0;}
    .f-phone{margin:8px 0;}
    .footer .f-phone a{
        display:block;text-align:center;padding:9px 0;border-radius:8px;font-size:20px;color:#fff;
        background:linear-gradient(135deg,#ff923f,#f4690d);box-shadow:0 4px 12px rgba(244,105,13,.28);
    }
    .f-flink{margin-top:14px;padding-top:12px;}
    .f-flink-box{gap:4px 14px;min-height:18px;}
    .f-flink-box a{font-size:12.5px;}
    .footer-bottom{margin-top:14px;}
    .footer-bottom p{padding-top:10px;}
    .page-banner{height:160px;}
    .page-banner .wrap{height:160px;}
    .page-banner h1{font-size:22px;}
    .page-banner .banner-name{font-size:22px;}
    .content-area{padding:26px 0 40px;}
    .article-title{font-size:20px;}
    .list-ul li{flex-direction:column;gap:10px;}
    .list-ul .lpic{width:100%;height:180px;flex:none;}
    /* ---- 移动端精修 ---- */
    /* 服务卡片：图标左置，标题/描述/子项整体右置，消除图标右侧空档 */
    .svc-card{
        display:grid;grid-template-columns:52px 1fr;column-gap:14px;padding:20px 18px;
    }
    .svc-card .ico{grid-column:1;grid-row:1 / span 4;align-self:start;width:52px;height:52px;font-size:23px;margin-bottom:0;}
    .svc-card h4{grid-column:2;grid-row:1;margin-bottom:6px;}
    .svc-card p{grid-column:2;grid-row:2;min-height:0;line-height:1.8;margin-bottom:0;}
    .svc-card ul{grid-column:2;grid-row:3;margin-top:10px;padding-top:10px;}
    .svc-card .mt10{grid-column:2;grid-row:4;margin-top:0;}
    .svc-card:hover,.case-item:hover,.news-item:hover{transform:none;}
    .about-num{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;}
    .about-num div{background:#fff;border-radius:6px;padding:12px 8px;text-align:center;box-shadow:0 2px 8px rgba(31,136,167,.08);}
    .about-num div b{font-size:22px;}
    .flow .step .n{width:44px;height:44px;line-height:44px;font-size:18px;}
    /* 联系信息条：两列紧凑排列 */
    .contact-strip{padding:24px 0;}
    .contact-strip .cs-wrap{grid-template-columns:1fr 1fr;gap:16px 14px;}
    .contact-strip .cs-item{padding-left:0;border-left:0;}
    .contact-strip .cs-item small{font-size:11.5px;margin-bottom:3px;}
    .contact-strip .cs-item strong{font-size:14px;line-height:1.5;}
    .contact-strip .cs-item em{font-size:11.5px;margin-top:2px;}
    .contact-strip .cs-tel{grid-column:1 / -1;text-align:center;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:14px;}
    .contact-strip .cs-tel a{font-size:28px;justify-content:center;}
    /* 表单 */
    .form-box{padding:22px 18px;box-shadow:0 4px 14px rgba(0,0,0,.07);}
    /* 联系我们：信息卡移动端单列 */
    .info-2{grid-template-columns:1fr;gap:16px;margin-top:20px;}
    .ct-card{padding:20px 18px;}
    .ct-card h4{font-size:17px;}
    .ct-phone a{font-size:22px;}
    .ct-time li{flex-wrap:wrap;}
    .ct-time li em{flex:1;text-align:left;}
    .promise-side{padding:22px 18px;}
    .promise-side .ps-desc{margin-bottom:12px;}
    .ps-list li{padding:9px 0;}
    .ps-ico{width:32px;height:32px;flex:0 0 32px;font-size:15px;}
    .ps-phone a{font-size:22px;}
    /* 标签与友链 */
    .tag-cloud{gap:8px;}
    .tag-cloud a{padding:7px 14px;font-size:13px;}
    .tag-cloud a:hover{transform:none;}
    .area-box a{padding:10px 4px;font-size:13px;}
    .sec-head p{font-size:13.5px;padding:0 6%;}
    /* ---- 移动端底部导航（悬浮电话按钮） ---- */
    .mobile-bar{
        display:flex;align-items:stretch;position:fixed;left:0;right:0;bottom:0;z-index:99;
        background:rgba(255,255,255,.97);backdrop-filter:blur(8px);
        border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(20,50,70,.14);
        padding-bottom:env(safe-area-inset-bottom);
    }
    .mobile-bar a{
        flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
        padding:7px 2px 6px;font-size:11px;line-height:1.2;color:#8a97a4;text-decoration:none;
        min-height:54px;position:relative;-webkit-tap-highlight-color:transparent;transition:color .2s;
    }
    .mobile-bar a svg{width:21px;height:21px;display:block;}
    .mobile-bar a span{display:block;white-space:nowrap;letter-spacing:.3px;}
    .mobile-bar a.on{color:var(--main);}
    .mobile-bar a.on svg{stroke-width:2.1;}
    .mobile-bar a.on:before{
        content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
        width:22px;height:3px;border-radius:0 0 3px 3px;background:var(--main);
    }
    .mobile-bar a:active{opacity:.7;}
    /* 中间悬浮电话按钮 */
    .mobile-bar a.mb-fab{
        flex:0 0 66px;align-self:flex-start;margin-top:-22px;height:66px;padding:0;
        border-radius:50%;border:4px solid #fff;color:#fff;
        background:linear-gradient(135deg,#ff9440,#f4690d);
        box-shadow:0 6px 16px rgba(244,105,13,.42);
    }
    .mobile-bar a.mb-fab svg{width:26px;height:26px;}
    .mobile-bar a.mb-fab span{display:none;}
    .mobile-bar a.mb-fab:active{transform:scale(.94);}
    /* ---- 移动端：改用可展开的悬浮联系按钮组，避免只有一个电话 ---- */
    .side-tools{display:none;}
    .m-fabs{
        display:block;position:fixed;right:14px;z-index:98;
        bottom:calc(74px + env(safe-area-inset-bottom));
    }
    body{padding-bottom:66px;}
    .footer{padding-bottom:16px;}
}
@media (max-width:480px){
    .wrap{width:92%;}
    .banner{height:auto;min-height:370px;}
    .banner .wrap{height:auto;min-height:370px;padding:22px 5% 26px;}
    .banner h2{font-size:20px;line-height:1.45;}
    .banner p{font-size:13px;margin-top:8px;}
    .banner-btns{gap:10px;}
    .banner-btns .btn{flex:1;text-align:center;padding:10px 8px;font-size:13.5px;}
    .sec-head h3{font-size:20px;}
    .article-body{font-size:15px;line-height:1.9;}
    .area-box{grid-template-columns:repeat(2,1fr);}
    .tag-cloud{gap:7px;}
    .tag-cloud a{padding:6px 12px;font-size:12.5px;}
    .side-tags a{padding:5px 11px;font-size:12.5px;}
    .footer .f-phone{font-size:18px;}
    .footer-bottom{font-size:11.5px;line-height:1.8;}
    .f-icp{padding-bottom:10px!important;}
}
