@charset "utf-8";
/* ==========================================================================
   上海速恒网络 · 新版官网主题样式 v2.0
   配色：深海军蓝 + 科技蓝 + 青色高亮
   ========================================================================== */

:root{
    --sh-navy:#0A1F3A;
    --sh-navy-2:#122C52;
    --sh-blue:#1E6FEB;
    --sh-blue-d:#1554C4;
    --sh-cyan:#22D3EE;
    --sh-text:#1F2937;
    --sh-muted:#6B7280;
    --sh-line:#E5E7EB;
    --sh-bg:#F5F7FA;
    --sh-white:#FFFFFF;
    --sh-radius:12px;
    --sh-shadow:0 4px 20px rgba(10,31,58,.08);
    --sh-shadow-lg:0 12px 40px rgba(10,31,58,.14);
}

/* ---------- 基础重置（作用于新版结构，不影响后台组件） ---------- */
.sh-body{margin:0;padding:0;background:var(--sh-bg);color:var(--sh-text);
    font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;}
.sh-body *{box-sizing:border-box;}
.sh-body a{color:inherit;text-decoration:none;transition:all .25s ease;}
.sh-body a:hover{color:var(--sh-blue);}
.sh-body img{max-width:100%;border:0;vertical-align:middle;}
.sh-body ul,.sh-body ol{margin:0;padding:0;list-style:none;}
.sh-body h1,.sh-body h2,.sh-body h3,.sh-body h4,.sh-body h5{margin:0;font-weight:600;line-height:1.4;}
.sh-body p{margin:0;}
.sh-wrap{width:1200px;max-width:100%;margin:0 auto;padding:0 20px;}
.sh-clear:after{content:"";display:block;clear:both;}

/* ---------- 顶部条 ---------- */
.sh-topbar{background:var(--sh-navy);color:rgba(255,255,255,.72);font-size:13px;height:40px;line-height:40px;}
.sh-topbar .sh-wrap{display:flex;justify-content:space-between;align-items:center;}
.sh-topbar .sh-left span{margin-right:24px;}
.sh-topbar .sh-left i{margin-right:6px;color:var(--sh-cyan);}
.sh-topbar .sh-right a{margin-left:18px;color:rgba(255,255,255,.72);}
.sh-topbar .sh-right a:hover{color:var(--sh-cyan);}

/* ---------- 主导航 ---------- */
.sh-nav{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);
    backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--sh-line);
    box-shadow:0 2px 12px rgba(10,31,58,.06);}
.sh-nav .sh-wrap{display:flex;align-items:center;height:76px;}
.sh-logo{display:flex;align-items:center;flex-shrink:0;}
.sh-logo img{max-height:44px;width:auto;}
.sh-logo .sh-logo-txt{font-size:22px;font-weight:700;color:var(--sh-navy);letter-spacing:.5px;}
.sh-logo .sh-logo-txt em{font-style:normal;color:var(--sh-blue);}
.sh-nav .sh-menu{display:flex;align-items:center;margin-left:44px;flex:1;}
.sh-nav .sh-menu > li{position:relative;}
.sh-nav .sh-menu > li > a{display:block;padding:0 20px;height:76px;line-height:76px;
    font-size:16px;color:var(--sh-text);font-weight:500;position:relative;}
.sh-nav .sh-menu > li > a:after{content:"";position:absolute;left:20px;right:20px;bottom:22px;
    height:2px;background:var(--sh-blue);transform:scaleX(0);transition:transform .25s ease;}
.sh-nav .sh-menu > li > a:hover:after,
.sh-nav .sh-menu > li.active > a:after{transform:scaleX(1);}
.sh-nav .sh-menu > li > a:hover,
.sh-nav .sh-menu > li.active > a{color:var(--sh-blue);}
.sh-nav .sh-menu > li > a .fa{font-size:12px;margin-left:4px;opacity:.6;}
.sh-nav .sh-sub{display:none;position:absolute;top:76px;left:50%;transform:translateX(-50%);
    min-width:150px;max-height:340px;overflow-y:auto;background:#fff;border-radius:8px;
    box-shadow:var(--sh-shadow-lg);padding:8px 0;border:1px solid var(--sh-line);}
.sh-nav .sh-menu > li:hover .sh-sub{display:block;}
.sh-nav .sh-sub a{display:block;padding:9px 20px;font-size:14px;color:var(--sh-muted);white-space:nowrap;}
.sh-nav .sh-sub a:hover{background:#F0F5FF;color:var(--sh-blue);padding-left:24px;}
.sh-nav .sh-act{display:flex;align-items:center;flex-shrink:0;}
.sh-tel{display:flex;align-items:center;margin-right:18px;color:var(--sh-navy);}
.sh-tel .sh-tel-ico{width:38px;height:38px;border-radius:50%;background:#EAF2FF;
    display:flex;align-items:center;justify-content:center;color:var(--sh-blue);font-size:16px;margin-right:10px;}
.sh-tel b{display:block;font-size:18px;line-height:1.2;letter-spacing:.3px;}
.sh-tel span{display:block;font-size:12px;color:var(--sh-muted);line-height:1.2;}
.sh-btn{display:inline-block;padding:11px 26px;border-radius:6px;font-size:15px;
    font-weight:500;text-align:center;transition:all .25s ease;cursor:pointer;border:none;}
.sh-btn-primary{background:var(--sh-blue);color:#fff;box-shadow:0 4px 14px rgba(30,111,235,.3);}
.sh-btn-primary:hover{background:var(--sh-blue-d);color:#fff;transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(30,111,235,.4);}
.sh-btn-ghost{border:1px solid rgba(255,255,255,.6);color:#fff;}
.sh-btn-ghost:hover{background:#fff;color:var(--sh-blue);}
.sh-btn-outline{border:1px solid var(--sh-blue);color:var(--sh-blue);background:transparent;}
.sh-btn-outline:hover{background:var(--sh-blue);color:#fff;}
.sh-nav .sh-act .sh-search{margin-left:14px;color:var(--sh-muted);font-size:17px;cursor:pointer;}
.sh-nav .sh-act .sh-user{margin-left:14px;color:var(--sh-muted);font-size:17px;cursor:pointer;}

/* ---------- 首屏 Hero ---------- */
.sh-hero{position:relative;background:linear-gradient(135deg,#0A1F3A 0%,#122C52 45%,#164E9E 100%);
    color:#fff;padding:88px 0 0;overflow:hidden;}
.sh-hero:before{content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:48px 48px;pointer-events:none;}
.sh-hero:after{content:"";position:absolute;right:-160px;top:-160px;width:560px;height:560px;
    border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.22),transparent 70%);pointer-events:none;}
.sh-hero .sh-wrap{position:relative;z-index:2;display:flex;align-items:center;gap:40px;padding-bottom:88px;}
.sh-hero-txt{flex:1;min-width:0;}
.sh-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(34,211,238,.14);
    border:1px solid rgba(34,211,238,.35);color:var(--sh-cyan);
    padding:7px 16px;border-radius:50px;font-size:13px;margin-bottom:24px;}
.sh-hero-badge i{font-size:11px;}
.sh-hero h1{font-size:46px;line-height:1.28;font-weight:700;margin-bottom:20px;letter-spacing:.5px;}
.sh-hero h1 em{font-style:normal;color:var(--sh-cyan);}
.sh-hero .sh-desc{font-size:17px;color:rgba(255,255,255,.76);line-height:1.9;margin-bottom:34px;max-width:560px;}
.sh-hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px;}
.sh-hero-tags{display:flex;flex-wrap:wrap;gap:12px;}
.sh-hero-tags span{display:inline-flex;align-items:center;gap:6px;font-size:13px;
    color:rgba(255,255,255,.8);background:rgba(255,255,255,.08);
    padding:6px 14px;border-radius:4px;border:1px solid rgba(255,255,255,.12);}
.sh-hero-tags i{color:var(--sh-cyan);font-size:12px;}

/* 浏览器样机 */
.sh-hero-vis{flex:0 0 520px;position:relative;}
.sh-mock{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.sh-mock-bar{height:38px;background:#EDF1F7;display:flex;align-items:center;padding:0 14px;gap:7px;}
.sh-mock-bar i{width:11px;height:11px;border-radius:50%;display:block;}
.sh-mock-bar i:nth-child(1){background:#FF5F57;}
.sh-mock-bar i:nth-child(2){background:#FEBC2E;}
.sh-mock-bar i:nth-child(3){background:#28C840;}
.sh-mock-bar span{flex:1;margin-left:10px;height:22px;border-radius:11px;background:#fff;
    font-size:11px;color:#9AA5B1;line-height:22px;padding:0 12px;text-align:left;}
.sh-mock-body{padding:16px;background:#fff;}
.sh-mock-row{display:flex;gap:10px;margin-bottom:12px;}
.sh-mock-row .sh-mk{flex:1;height:12px;border-radius:3px;background:#EEF2F7;}
.sh-mock-row .sh-mk.dk{background:#DDE5EF;}
.sh-mock-hero{height:110px;border-radius:8px;margin-bottom:12px;
    background:linear-gradient(120deg,#1E6FEB,#22D3EE);position:relative;overflow:hidden;}
.sh-mock-hero:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;
    margin:-22px 0 0 -22px;border-radius:50%;background:rgba(255,255,255,.28);}
.sh-mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.sh-mock-card{height:52px;border-radius:6px;background:#F3F6FA;border:1px solid #E6ECF4;}
.sh-float-card{position:absolute;background:#fff;border-radius:10px;padding:14px 18px;
    box-shadow:0 12px 32px rgba(0,0,0,.22);color:var(--sh-text);}
.sh-float-card.f1{left:-58px;top:52px;}
.sh-float-card.f2{right:-42px;bottom:78px;}
.sh-float-card b{display:block;font-size:24px;color:var(--sh-blue);line-height:1.1;}
.sh-float-card span{font-size:12px;color:var(--sh-muted);}

/* ---------- 数据条 ---------- */
.sh-stats{background:#fff;border-bottom:1px solid var(--sh-line);}
.sh-stats .sh-wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.sh-stat{padding:34px 10px;text-align:center;border-right:1px solid var(--sh-line);}
.sh-stat:last-child{border-right:none;}
.sh-stat b{display:block;font-size:34px;color:var(--sh-navy);font-weight:700;line-height:1.2;}
.sh-stat b em{font-style:normal;color:var(--sh-blue);font-size:22px;margin-left:2px;}
.sh-stat span{font-size:14px;color:var(--sh-muted);}

/* ---------- 通用区块 ---------- */
.sh-sec{padding:76px 0;background:var(--sh-bg);}
.sh-sec.white{background:#fff;}
.sh-sec.navy{background:linear-gradient(135deg,#0A1F3A,#164E9E);color:#fff;}
.sh-sec-tit{text-align:center;margin-bottom:48px;}
.sh-sec-tit h2{font-size:32px;color:var(--sh-navy);margin-bottom:12px;position:relative;
    display:inline-block;padding-bottom:16px;}
.sh-sec-tit h2:after{content:"";position:absolute;left:50%;bottom:0;width:52px;height:3px;
    margin-left:-26px;background:var(--sh-blue);border-radius:2px;}
.sh-sec-tit p{font-size:15px;color:var(--sh-muted);}
.sh-sec.navy .sh-sec-tit h2{color:#fff;}
.sh-sec.navy .sh-sec-tit h2:after{background:var(--sh-cyan);}
.sh-sec.navy .sh-sec-tit p{color:rgba(255,255,255,.7);}

/* ---------- 服务卡片 ---------- */
.sh-services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.sh-svc{background:#fff;border-radius:var(--sh-radius);padding:34px 26px;border:1px solid var(--sh-line);
    transition:all .3s ease;position:relative;overflow:hidden;}
.sh-svc:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;
    background:linear-gradient(90deg,var(--sh-blue),var(--sh-cyan));transform:scaleX(0);
    transform-origin:left;transition:transform .3s ease;}
.sh-svc:hover{transform:translateY(-6px);box-shadow:var(--sh-shadow-lg);border-color:transparent;}
.sh-svc:hover:before{transform:scaleX(1);}
.sh-svc-ico{width:62px;height:62px;border-radius:14px;background:#EAF2FF;
    display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--sh-blue);margin-bottom:20px;}
.sh-svc h3{font-size:19px;color:var(--sh-navy);margin-bottom:12px;}
.sh-svc p{font-size:14px;color:var(--sh-muted);line-height:1.8;margin-bottom:16px;}
.sh-svc ul li{font-size:13px;color:var(--sh-muted);padding-left:16px;position:relative;line-height:2;}
.sh-svc ul li:before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;
    border-radius:50%;background:var(--sh-cyan);}

/* ---------- 模板展示 ---------- */
.sh-tpl-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.sh-tpl-tabs a{padding:9px 24px;border-radius:50px;background:#fff;border:1px solid var(--sh-line);
    font-size:15px;color:var(--sh-muted);}
.sh-tpl-tabs a:hover,.sh-tpl-tabs a.active{background:var(--sh-blue);border-color:var(--sh-blue);color:#fff;}
.sh-tpl-grid{display:none;grid-template-columns:repeat(4,1fr);gap:22px;}
.sh-tpl-grid.active{display:grid;}
.sh-tpl{background:#fff;border-radius:var(--sh-radius);overflow:hidden;border:1px solid var(--sh-line);
    transition:all .3s ease;}
.sh-tpl:hover{transform:translateY(-6px);box-shadow:var(--sh-shadow-lg);}
.sh-tpl-img{position:relative;height:200px;overflow:hidden;background:#EEF2F7;}
.sh-tpl-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s ease;}
.sh-tpl:hover .sh-tpl-img img{transform:scale(1.06);}
.sh-tpl-img .sh-mask{position:absolute;inset:0;background:rgba(10,31,58,.72);
    display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;}
.sh-tpl:hover .sh-tpl-img .sh-mask{opacity:1;}
.sh-tpl-img .sh-mask span{padding:9px 24px;border:1px solid #fff;color:#fff;border-radius:4px;font-size:14px;}
.sh-tpl-info{padding:16px 18px;}
.sh-tpl-info h4{font-size:15px;color:var(--sh-navy);font-weight:500;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sh-tpl-info .sh-tpl-meta{display:flex;justify-content:space-between;align-items:center;
    margin-top:10px;font-size:13px;color:var(--sh-muted);}
.sh-tpl-info .sh-tpl-meta em{font-style:normal;color:var(--sh-blue);}

/* ---------- 优势 ---------- */
.sh-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.sh-adv-item{background:#fff;border-radius:var(--sh-radius);padding:28px 22px;text-align:center;
    border:1px solid var(--sh-line);transition:all .3s ease;}
.sh-adv-item:hover{transform:translateY(-5px);box-shadow:var(--sh-shadow);border-color:transparent;}
.sh-adv-item .sh-adv-ico{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;
    background:linear-gradient(135deg,var(--sh-blue),var(--sh-cyan));color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:22px;}
.sh-adv-item h4{font-size:17px;color:var(--sh-navy);margin-bottom:8px;}
.sh-adv-item p{font-size:13px;color:var(--sh-muted);line-height:1.8;}

/* ---------- 流程 ---------- */
.sh-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:10px;}
.sh-step{text-align:center;position:relative;padding:0 10px;}
.sh-step:before{content:"";position:absolute;top:26px;left:50%;width:100%;height:2px;
    background:linear-gradient(90deg,var(--sh-blue),rgba(34,211,238,.5));}
.sh-step:last-child:before{display:none;}
.sh-step .sh-step-num{position:relative;z-index:2;width:54px;height:54px;margin:0 auto 16px;
    border-radius:50%;background:#fff;border:2px solid var(--sh-blue);color:var(--sh-blue);
    font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.sh-step h4{font-size:16px;color:#fff;margin-bottom:6px;}
.sh-step p{font-size:13px;color:rgba(255,255,255,.66);line-height:1.7;}

/* ---------- 案例墙 ---------- */
.sh-cases{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.sh-case{position:relative;border-radius:var(--sh-radius);overflow:hidden;
    height:230px;background:var(--sh-navy);display:block;}
.sh-case img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.sh-case:hover img{transform:scale(1.08);}
.sh-case .sh-case-mask{position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(10,31,58,.1),rgba(10,31,58,.88));
    display:flex;flex-direction:column;justify-content:flex-end;padding:22px;}
.sh-case .sh-case-tag{position:absolute;left:16px;top:16px;background:rgba(34,211,238,.9);
    color:#062033;font-size:12px;padding:4px 12px;border-radius:3px;font-weight:600;}
.sh-case h4{font-size:17px;color:#fff;margin-bottom:6px;}
.sh-case p{font-size:13px;color:rgba(255,255,255,.7);}

/* ---------- 关于 ---------- */
.sh-about{display:flex;gap:52px;align-items:center;}
.sh-about-l{flex:1;}
.sh-about-l h2{font-size:32px;color:var(--sh-navy);margin-bottom:18px;}
.sh-about-l .sh-sub{font-size:16px;color:var(--sh-blue);margin-bottom:18px;font-weight:500;}
.sh-about-l p{font-size:15px;color:var(--sh-muted);line-height:2;margin-bottom:14px;}
.sh-about-facts{display:flex;gap:28px;margin:26px 0;}
.sh-about-facts div b{display:block;font-size:26px;color:var(--sh-blue);}
.sh-about-facts div span{font-size:13px;color:var(--sh-muted);}
.sh-about-r{flex:0 0 460px;position:relative;}
.sh-about-r img{width:100%;border-radius:var(--sh-radius);box-shadow:var(--sh-shadow-lg);}
.sh-about-r .sh-exp{position:absolute;left:-26px;bottom:-26px;background:var(--sh-blue);
    color:#fff;border-radius:10px;padding:20px 26px;box-shadow:var(--sh-shadow-lg);}
.sh-about-r .sh-exp b{display:block;font-size:34px;line-height:1;}
.sh-about-r .sh-exp span{font-size:13px;opacity:.9;}

/* ---------- 新闻 ---------- */
.sh-news{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sh-new{background:#fff;border-radius:var(--sh-radius);overflow:hidden;border:1px solid var(--sh-line);
    transition:all .3s ease;display:flex;flex-direction:column;}
.sh-new:hover{transform:translateY(-5px);box-shadow:var(--sh-shadow-lg);}
.sh-new-img{height:170px;overflow:hidden;background:#EEF2F7;}
.sh-new-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.sh-new:hover .sh-new-img img{transform:scale(1.06);}
.sh-new-body{padding:20px 22px;flex:1;display:flex;flex-direction:column;}
.sh-new-body .sh-date{font-size:12px;color:var(--sh-muted);margin-bottom:8px;}
.sh-new-body h4{font-size:16px;color:var(--sh-navy);margin-bottom:10px;line-height:1.6;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sh-new-body p{font-size:13px;color:var(--sh-muted);line-height:1.8;flex:1;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sh-new-more{font-size:13px;color:var(--sh-blue);margin-top:12px;}

/* ---------- CTA ---------- */
.sh-cta{background:linear-gradient(135deg,#0A1F3A 0%,#164E9E 100%);color:#fff;padding:66px 0;text-align:center;}
.sh-cta h2{font-size:32px;margin-bottom:14px;}
.sh-cta p{font-size:16px;color:rgba(255,255,255,.75);margin-bottom:30px;}
.sh-cta .sh-cta-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.sh-cta .sh-tel-big{font-size:30px;color:var(--sh-cyan);font-weight:700;margin-top:26px;letter-spacing:1px;}

/* ---------- 页脚 ---------- */
.sh-footer{background:var(--sh-navy);color:rgba(255,255,255,.6);padding:56px 0 0;font-size:14px;}
.sh-footer .sh-fmain{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px;}
.sh-footer h5{font-size:16px;color:#fff;margin-bottom:20px;font-weight:600;}
.sh-footer .sh-fabout p{line-height:2;margin-bottom:16px;}
.sh-footer .sh-fcontact li{margin-bottom:10px;display:flex;align-items:flex-start;}
.sh-footer .sh-fcontact li i{color:var(--sh-cyan);margin-right:10px;margin-top:5px;width:14px;}
.sh-footer .sh-flist li{margin-bottom:11px;}
.sh-footer .sh-flist a{color:rgba(255,255,255,.6);}
.sh-footer .sh-flist a:hover{color:var(--sh-cyan);padding-left:5px;}
.sh-footer .sh-fqr{display:flex;gap:14px;}
.sh-footer .sh-fqr div{text-align:center;}
.sh-footer .sh-fqr img{width:104px;height:104px;border-radius:8px;background:#fff;padding:4px;}
.sh-footer .sh-fqr span{display:block;font-size:12px;margin-top:8px;color:rgba(255,255,255,.5);}
.sh-copyright{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;text-align:center;font-size:13px;}
.sh-copyright a{color:rgba(255,255,255,.6);}
.sh-copyright a:hover{color:var(--sh-cyan);}
.sh-copyright .sh-flink{margin-bottom:12px;}
.sh-copyright .sh-flink a{margin:0 10px;}

/* ---------- 内页顶部横幅 ---------- */
.sh-pbanner{position:relative;background:linear-gradient(135deg,#0A1F3A 0%,#164E9E 100%);
    color:#fff;padding:56px 0 52px;overflow:hidden;}
.sh-pbanner:before{content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:48px 48px;pointer-events:none;}
.sh-pbanner .sh-wrap{position:relative;z-index:2;}
.sh-pbanner h1{font-size:32px;margin-bottom:14px;letter-spacing:.5px;}
.sh-pbanner .sh-sub{font-size:15px;color:rgba(255,255,255,.72);margin-bottom:16px;}
.sh-crumb{font-size:13px;color:rgba(255,255,255,.62);}
.sh-crumb a{color:rgba(255,255,255,.62);}
.sh-crumb a:hover{color:var(--sh-cyan);}
.sh-crumb i{margin:0 8px;font-size:11px;opacity:.6;}

/* ---------- 内页主体 ---------- */
.sh-page{padding:44px 0 66px;background:var(--sh-bg);min-height:400px;}
.sh-crumb-bar{background:#fff;border-bottom:1px solid var(--sh-line);font-size:13px;}
.sh-crumb-bar .sh-wrap{padding-top:14px;padding-bottom:14px;color:var(--sh-muted);}
.sh-crumb-bar a{color:var(--sh-muted);}
.sh-crumb-bar a:hover{color:var(--sh-blue);}
.sh-crumb-bar i{margin:0 8px;font-size:11px;opacity:.6;}

/* 子栏目导航 */
.sh-subnav{background:#fff;border:1px solid var(--sh-line);border-radius:var(--sh-radius);
    padding:0 12px;margin-bottom:26px;box-shadow:var(--sh-shadow);}
.sh-subnav ul{display:flex;flex-wrap:wrap;}
.sh-subnav li a{display:block;padding:14px 22px;font-size:15px;color:var(--sh-muted);position:relative;}
.sh-subnav li a:hover,.sh-subnav li a.active{color:var(--sh-blue);}
.sh-subnav li a.active:after{content:"";position:absolute;left:22px;right:22px;bottom:8px;
    height:2px;background:var(--sh-blue);}

/* 卡片列表（模板/案例） */
.sh-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.sh-cards.three{grid-template-columns:repeat(3,1fr);}

/* 新闻列表 */
.sh-news-list{background:#fff;border-radius:var(--sh-radius);border:1px solid var(--sh-line);overflow:hidden;}
.sh-nl-item{display:flex;gap:20px;padding:22px 26px;border-bottom:1px solid var(--sh-line);transition:background .25s;}
.sh-nl-item:hover{background:#F7FAFF;}
.sh-nl-item:last-child{border-bottom:none;}
.sh-nl-date{flex:0 0 74px;text-align:center;border-right:1px solid var(--sh-line);padding-right:18px;}
.sh-nl-date b{display:block;font-size:28px;color:var(--sh-navy);line-height:1.1;}
.sh-nl-date span{font-size:12px;color:var(--sh-muted);}
.sh-nl-img{flex:0 0 190px;height:118px;overflow:hidden;border-radius:8px;background:#EEF2F7;}
.sh-nl-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.sh-nl-item:hover .sh-nl-img img{transform:scale(1.06);}
.sh-nl-txt{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.sh-nl-txt h3{font-size:17px;color:var(--sh-navy);margin-bottom:8px;line-height:1.5;}
.sh-nl-txt p{font-size:13px;color:var(--sh-muted);line-height:1.8;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* 分页 */
.sh-pages{padding:34px 0 0;text-align:center;}
.sh-pages a,.sh-pages span{display:inline-block;min-width:38px;height:38px;line-height:36px;
    padding:0 13px;margin:0 4px;border:1px solid var(--sh-line);border-radius:6px;
    background:#fff;font-size:14px;color:var(--sh-muted);}
.sh-pages a:hover{border-color:var(--sh-blue);color:var(--sh-blue);}
.sh-pages .current,.sh-pages a:hover.current{background:var(--sh-blue);border-color:var(--sh-blue);color:#fff;}

/* 单页内容 */
.sh-panel{background:#fff;border-radius:var(--sh-radius);border:1px solid var(--sh-line);padding:40px 46px;}
.sh-panel .sh-ptit{font-size:26px;color:var(--sh-navy);margin-bottom:8px;padding-bottom:18px;
    border-bottom:1px solid var(--sh-line);}
.sh-panel .sh-pmeta{font-size:13px;color:var(--sh-muted);margin-bottom:26px;}
.sh-content{font-size:15px;line-height:2;color:var(--sh-text);}
.sh-content img{max-width:100%;height:auto;margin:12px 0;border-radius:8px;}
.sh-content p{margin-bottom:16px;}
.sh-content table{width:100%;border-collapse:collapse;margin:16px 0;}
.sh-content table td,.sh-content table th{border:1px solid var(--sh-line);padding:10px 12px;}
.sh-content h2,.sh-content h3,.sh-content h4{margin:20px 0 12px;color:var(--sh-navy);}
.sh-content ul,.sh-content ol{padding-left:22px;margin-bottom:16px;}
.sh-content ul li{list-style:disc;line-height:2;}
.sh-content ol li{list-style:decimal;line-height:2;}
.sh-content a{color:var(--sh-blue);text-decoration:underline;}

/* 上下篇 */
.sh-prevnext{display:flex;justify-content:space-between;gap:16px;margin-top:26px;font-size:14px;}
.sh-prevnext a{flex:1;background:#fff;border:1px solid var(--sh-line);border-radius:8px;padding:14px 18px;color:var(--sh-muted);}
.sh-prevnext a:hover{border-color:var(--sh-blue);color:var(--sh-blue);}

/* 空状态 */
.sh-empty{text-align:center;padding:60px 0;color:var(--sh-muted);}

/* ---------- 右侧悬浮客服 ---------- */
.sh-side{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:900;}
.sh-side-item{position:relative;width:52px;height:52px;margin-bottom:8px;border-radius:8px;
    background:#fff;box-shadow:0 3px 14px rgba(10,31,58,.16);display:flex;flex-direction:column;
    align-items:center;justify-content:center;color:var(--sh-blue);font-size:12px;cursor:pointer;
    transition:all .25s;}
.sh-side-item:hover{background:var(--sh-blue);color:#fff;}
.sh-side-item i{font-size:19px;margin-bottom:2px;}
.sh-side-pop{display:none;position:absolute;right:62px;top:0;background:#fff;border-radius:8px;
    box-shadow:var(--sh-shadow-lg);padding:16px 20px;width:212px;color:var(--sh-text);}
.sh-side-item:hover .sh-side-pop{display:block;}
.sh-side-pop h6{margin:0 0 10px;font-size:14px;color:var(--sh-navy);}
.sh-side-pop p{margin:0;font-size:20px;color:var(--sh-blue);font-weight:700;}
.sh-side-pop ul li{font-size:13px;color:var(--sh-muted);line-height:2;}
.sh-side-pop img{width:100%;border-radius:6px;}

/* ---------- 响应式 ---------- */
@media (max-width:1200px){
    .sh-wrap{width:100%;}
    .sh-hero-vis{flex:0 0 420px;}
    .sh-hero h1{font-size:38px;}
}
@media (max-width:992px){
    .sh-hero .sh-wrap{flex-direction:column;padding-bottom:60px;}
    .sh-hero-vis{flex:none;width:100%;max-width:520px;}
    .sh-float-card{display:none;}
    .sh-services,.sh-tpl-grid,.sh-adv,.sh-cases,.sh-cards{grid-template-columns:repeat(2,1fr);}
    .sh-steps{grid-template-columns:repeat(3,1fr);gap:24px 0;}
    .sh-step:before{display:none;}
    .sh-news{grid-template-columns:repeat(2,1fr);}
    .sh-about{flex-direction:column;gap:32px;}
    .sh-about-r{flex:none;width:100%;}
    .sh-footer .sh-fmain{grid-template-columns:repeat(2,1fr);}
    .sh-nl-img{flex:0 0 150px;height:96px;}
}
/* ---------- 详情页布局 ---------- */
.sh-detail{display:grid;grid-template-columns:1fr 300px;gap:26px;align-items:start;}
.sh-sider{background:#fff;border-radius:var(--sh-radius);border:1px solid var(--sh-line);
    padding:22px 24px;margin-bottom:20px;}
.sh-sider h5{font-size:16px;color:var(--sh-navy);margin-bottom:16px;padding-bottom:12px;
    border-bottom:1px solid var(--sh-line);}
.sh-sider-list li{font-size:14px;line-height:2.1;padding-left:14px;position:relative;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sh-sider-list li:before{content:"";position:absolute;left:0;top:17px;width:5px;height:5px;
    border-radius:50%;background:var(--sh-cyan);}
.sh-sider-list a{color:var(--sh-muted);}
.sh-sider-list a:hover{color:var(--sh-blue);}
.sh-sider-tpl li{margin-bottom:14px;}
.sh-sider-tpl li:last-child{margin-bottom:0;}
.sh-sider-tpl a{display:flex;gap:12px;align-items:center;}
.sh-sider-tpl img{flex:0 0 78px;height:52px;object-fit:cover;border-radius:6px;background:#EEF2F7;}
.sh-sider-tpl span{font-size:13px;color:var(--sh-muted);line-height:1.6;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sh-sider-tpl a:hover span{color:var(--sh-blue);}
.sh-sider-cta{background:linear-gradient(135deg,#0A1F3A,#164E9E);border-color:transparent;text-align:center;}
.sh-sider-cta h5{color:#fff;border-bottom-color:rgba(255,255,255,.15);}
.sh-sider-cta p{font-size:13px;color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:12px;}
.sh-sider-cta b{display:block;font-size:24px;color:var(--sh-cyan);letter-spacing:.5px;}
.sh-tags{margin-top:26px;padding-top:20px;border-top:1px solid var(--sh-line);font-size:13px;color:var(--sh-muted);}
.sh-tags a{display:inline-block;padding:5px 14px;margin:0 8px 8px 0;border:1px solid var(--sh-line);
    border-radius:4px;color:var(--sh-muted);}
.sh-tags a:hover{border-color:var(--sh-blue);color:var(--sh-blue);background:#F0F5FF;}

@media (max-width:992px){
    .sh-detail{grid-template-columns:1fr;}
}
@media (max-width:768px){
    .sh-topbar{display:none;}
    .sh-nav .sh-menu{display:none;}
    .sh-tel{display:none;}
    .sh-hero{padding-top:50px;}
    .sh-hero h1{font-size:28px;}
    .sh-hero .sh-desc{font-size:15px;}
    .sh-services,.sh-tpl-grid,.sh-adv,.sh-cases,.sh-cards,.sh-news{grid-template-columns:1fr;}
    .sh-stats .sh-wrap{grid-template-columns:repeat(2,1fr);}
    .sh-stat{border-bottom:1px solid var(--sh-line);}
    .sh-sec{padding:46px 0;}
    .sh-sec-tit h2{font-size:24px;}
    .sh-panel{padding:24px 20px;}
    .sh-nl-item{flex-wrap:wrap;}
    .sh-nl-img{flex:none;width:100%;}
    .sh-side{display:none;}
    .sh-footer .sh-fmain{grid-template-columns:1fr;}
}

/* ---------- 模板详情页 ---------- */
.sh-gallery{margin:18px 0 6px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);
    overflow:hidden;background:#F6F9FC;}
.sh-gallery .pgwSlideshow{margin:0;}
.sh-acts{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 6px;}
.sh-acts .sh-btn{min-width:150px;text-align:center;}

/* ==========================================================================
   移动端适配（PC / 手机共用同一套模板，针对手机视口优化）
   ========================================================================== */

/* 移动端专属元素：桌面端隐藏 */
.sh-burger{display:none;}
.sh-mnav{display:none;}
.sh-mobar{display:none;}

/* 全站搜索弹窗 */
.sh-search-box{position:relative;width:640px;max-width:90%;margin:14vh auto 0;
    background:#fff;border-radius:12px;padding:34px;}

/* ---------- 移动端抽屉导航 ---------- */
.sh-mnav{position:fixed;left:0;top:0;right:0;bottom:0;z-index:3000;}
.sh-mnav-mask{position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(10,31,58,.58);
    opacity:0;transition:opacity .25s ease;}
.sh-mnav-panel{position:absolute;left:0;top:0;bottom:0;width:84%;max-width:340px;background:#fff;
    transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
    display:flex;flex-direction:column;box-shadow:8px 0 34px rgba(10,31,58,.24);}
.sh-mnav.open{display:block;}
.sh-mnav.open .sh-mnav-mask{opacity:1;}
.sh-mnav.open .sh-mnav-panel{transform:translateX(0);}
.sh-mnav-head{height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
    padding:0 18px;background:linear-gradient(135deg,#0A1F3A,#164E9E);color:#fff;}
.sh-mnav-tit{font-size:16px;font-weight:600;letter-spacing:.3px;}
.sh-mnav-close{font-size:19px;cursor:pointer;opacity:.85;padding:4px;}
.sh-mnav-body{flex:1;overflow-y:auto;padding:8px 0 22px;-webkit-overflow-scrolling:touch;
    background:#fff;}
.sh-mnav-list > li{border-bottom:1px solid var(--sh-line);}
.sh-mnav-list > li > a{display:flex;align-items:center;gap:10px;padding:15px 18px;
    font-size:16px;color:var(--sh-text);font-weight:500;}
.sh-mnav-list > li > a > i:first-child{color:var(--sh-blue);font-size:16px;width:20px;text-align:center;flex-shrink:0;}
.sh-mnav-arrow{margin-left:auto;font-size:13px;color:var(--sh-muted);transition:transform .25s ease;}
.sh-mnav-list > li.open > a{color:var(--sh-blue);background:#F7FAFF;}
.sh-mnav-list > li.open > a .sh-mnav-arrow{transform:rotate(180deg);}
.sh-mnav-sub{display:none;background:#F7FAFF;padding:4px 0 8px;}
.sh-mnav-list > li.open .sh-mnav-sub{display:block;}
.sh-mnav-sub li a{display:block;padding:11px 18px 11px 48px;font-size:14.5px;color:var(--sh-muted);}
.sh-mnav-sub li a:active{color:var(--sh-blue);}
.sh-mnav-cta{padding:20px 18px 6px;display:flex;flex-direction:column;gap:11px;
    border-top:1px solid var(--sh-line);margin-top:6px;}
.sh-btn-block{display:block;width:100%;padding-left:0;padding-right:0;}

/* ---------- 移动端底部快捷条 ---------- */
.sh-mobar{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:rgba(255,255,255,.97);
    border-top:1px solid var(--sh-line);box-shadow:0 -3px 16px rgba(10,31,58,.1);padding-bottom:env(safe-area-inset-bottom);}
.sh-mobar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;padding:8px 0;font-size:11px;color:var(--sh-muted);}
.sh-mobar a i{font-size:18px;color:var(--sh-navy);}
.sh-mobar a:last-child i{color:var(--sh-blue);}

@media (max-width:768px){
    /* 全站容器 */
    .sh-wrap{padding:0 15px;}
    .sh-body{padding-bottom:58px;}

    /* 顶部导航栏 */
    .sh-nav .sh-wrap{height:60px;}
    .sh-logo img{max-height:34px;}
    .sh-nav .sh-menu{display:none;}
    .sh-tel{display:none;}
    .sh-act{margin-left:auto;}
    .sh-act .sh-btn.sh-act-btn{display:none;}
    .sh-nav .sh-act .sh-search,.sh-nav .sh-act .sh-user{margin-left:14px;font-size:19px;}
    .sh-burger{display:block;margin-left:16px;font-size:21px;color:var(--sh-navy);
        line-height:1;cursor:pointer;padding:6px 2px;}

    /* 首屏 Hero */
    .sh-hero{padding:34px 0 0;}
    .sh-hero .sh-wrap{padding-bottom:38px;gap:28px;}
    .sh-hero h1{font-size:25px;line-height:1.4;}
    .sh-hero .sh-desc{font-size:14.5px;line-height:1.8;margin-bottom:24px;}
    .sh-hero-badge{font-size:12px;padding:6px 13px;margin-bottom:18px;}
    .sh-hero-btns{gap:10px;margin-bottom:26px;}
    .sh-hero-btns .sh-btn{flex:1;min-width:120px;}
    .sh-hero-tags{gap:8px;}
    .sh-hero-tags span{font-size:12px;padding:5px 10px;}
    .sh-hero-vis{max-width:100%;}
    .sh-mock-bar{height:30px;}
    .sh-mock-hero{height:78px;}
    .sh-mock-grid{grid-template-columns:repeat(2,1fr);}
    .sh-mock-card{height:42px;}

    /* 数据条 */
    .sh-stat{padding:22px 6px;}
    .sh-stat b{font-size:24px;}
    .sh-stat b em{font-size:15px;}
    .sh-stat span{font-size:12.5px;}

    /* 通用区块 */
    .sh-sec{padding:38px 0;}
    .sh-sec-tit{margin-bottom:28px;}
    .sh-sec-tit h2{font-size:21px;padding-bottom:13px;}
    .sh-sec-tit p{font-size:13.5px;}

    /* 服务卡片 */
    .sh-svc{padding:24px 20px;}
    .sh-svc-ico{width:52px;height:52px;font-size:22px;margin-bottom:16px;}
    .sh-svc h3{font-size:17px;}
    .sh-svc p,.sh-svc ul li{font-size:13.5px;}

    /* 模板 / 案例卡片：手机端单列大图 */
    .sh-cards{gap:16px;}
    .sh-tpl-img{height:190px;}
    .sh-tpl-info{padding:12px 13px;}
    .sh-tpl-info h4{font-size:13.5px;}
    .sh-tpl-info .sh-tpl-meta{font-size:12px;margin-top:7px;}
    .sh-cases{gap:14px;}
    .sh-case{height:180px;}

    /* 优势 / 流程 */
    .sh-adv-item{padding:22px 18px;}
    .sh-steps{grid-template-columns:repeat(2,1fr);gap:22px 0;}
    .sh-step:before{display:none;}
    .sh-step .sh-step-num{width:46px;height:46px;font-size:17px;margin-bottom:12px;}
    .sh-step h4{font-size:15px;}

    /* 关于我们 */
    .sh-about{gap:26px;}
    .sh-about-l h2{font-size:22px;}
    .sh-about-l .sh-sub{font-size:15px;}
    .sh-about-l p{font-size:14px;line-height:1.9;}
    .sh-about-facts{gap:0;flex-wrap:wrap;margin:20px 0;}
    .sh-about-facts div{flex:0 0 50%;margin-bottom:14px;}
    .sh-about-facts div b{font-size:22px;}
    .sh-about-r .sh-exp{left:10px;bottom:-18px;padding:14px 18px;border-radius:8px;}
    .sh-about-r .sh-exp b{font-size:26px;}

    /* 新闻 */
    .sh-new-img{height:180px;}
    .sh-new-body{padding:16px 18px;}

    /* CTA */
    .sh-cta{padding:44px 0;}
    .sh-cta h2{font-size:21px;}
    .sh-cta p{font-size:14px;margin-bottom:22px;}
    .sh-cta .sh-cta-btns{gap:10px;flex-direction:column;}
    .sh-cta .sh-cta-btns .sh-btn{width:100%;}
    .sh-cta .sh-tel-big{font-size:24px;margin-top:20px;}

    /* 页脚 */
    .sh-footer{padding:38px 0 0;font-size:13.5px;}
    .sh-footer .sh-fmain{padding-bottom:26px;gap:26px;}
    .sh-footer h5{margin-bottom:14px;}
    .sh-footer .sh-fqr img{width:92px;height:92px;}
    .sh-copyright .sh-flink a{margin:0 7px;display:inline-block;line-height:2;}
    .sh-copyright{font-size:12.5px;padding:18px 0;}

    /* 内页横幅 */
    .sh-pbanner{padding:32px 0 28px;}
    .sh-pbanner h1{font-size:21px;margin-bottom:10px;}
    .sh-pbanner .sh-sub{font-size:13.5px;margin-bottom:12px;}

    /* 内页主体 */
    .sh-page{padding:26px 0 44px;}
    .sh-subnav{padding:0 4px;margin-bottom:18px;overflow-x:auto;white-space:nowrap;}
    .sh-subnav ul{flex-wrap:nowrap;}
    .sh-subnav li a{padding:12px 15px;font-size:14px;}
    .sh-panel{padding:20px 16px;border-radius:10px;}
    .sh-panel .sh-ptit{font-size:19px;padding-bottom:14px;}
    .sh-panel .sh-pmeta{font-size:12.5px;margin-bottom:18px;}
    .sh-content{font-size:14.5px;line-height:1.95;}
    .sh-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .sh-content table td,.sh-content table th{padding:8px 10px;font-size:13.5px;}
    .sh-content img{border-radius:6px;}

    /* 新闻列表 */
    .sh-nl-item{padding:18px 16px;gap:0;}
    .sh-nl-date{flex:none;width:100%;text-align:left;border-right:none;padding-right:0;
        display:flex;align-items:baseline;gap:8px;margin-bottom:10px;}
    .sh-nl-date b{font-size:15px;}
    .sh-nl-img{flex:none;width:100%;height:172px;}
    .sh-nl-txt{margin-top:12px;}
    .sh-nl-txt h3{font-size:15.5px;}
    .sh-nl-txt p{font-size:13px;}

    /* 分页 */
    .sh-pages a,.sh-pages span{min-width:34px;height:34px;line-height:32px;padding:0 10px;
        margin:0 3px;font-size:13px;}

    /* 上下篇 */
    .sh-prevnext{flex-direction:column;gap:10px;}

    /* 详情页侧栏 */
    .sh-sider{padding:18px 16px;}
    .sh-tags{margin-top:20px;padding-top:16px;}

    /* 模板详情页 */
    .sh-acts{gap:10px;}
    .sh-acts .sh-btn{flex:1;min-width:0;}

    /* 搜索弹层 */
    .sh-search-box{width:auto;max-width:none;margin:12vh 15px 0;padding:22px 18px;border-radius:10px;}
}

@media (max-width:420px){
    .sh-hero h1{font-size:22px;}
    .sh-cards{grid-template-columns:1fr;}
    .sh-tpl-img{height:190px;}
    .sh-steps{grid-template-columns:1fr;}
    .sh-stat b{font-size:22px;}
}
