/* ============== 腾安信科官网 V1.2 前端主样式 ============== */
/* TAK蓝绿主题色：主色#009688(青绿)、辅色#1976D2(蓝)、强调#E65100(橙) */
* { margin:0; padding:0; box-sizing:border-box; }
html, body { font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif; color:#333; line-height:1.7; font-size:15px; background:#fff; }
img { max-width:100%; border:0; vertical-align:middle; }
a { color:#333; text-decoration:none; transition:all .25s; }
a:hover { color:#009688; }
ul, li { list-style:none; }
input, select, textarea, button { font-family:inherit; font-size:14px; outline:none; }
.container { max-width:1240px; margin:0 auto; padding:0 20px; }

/* 通用按钮 */
.btn-primary { display:inline-block; padding:10px 22px; background:linear-gradient(135deg,#009688,#1976D2);
    color:#fff!important; border-radius:4px; border:none; cursor:pointer; font-weight:500;
    box-shadow:0 4px 12px rgba(0,150,136,.25); transition:all .3s; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,150,136,.35); }
.btn-outline { display:inline-block; padding:8px 20px; border:1px solid #009688; color:#009688!important; border-radius:4px; }
.btn-outline:hover { background:#009688; color:#fff!important; }
.btn-block { display:block; width:100%; text-align:center; }
.btn-lg { padding:14px 28px; font-size:16px; }

/* ============== 顶部导航 ============== */
.site-header { position:sticky; top:0; z-index:999; background:rgba(255,255,255,.98); backdrop-filter:blur(10px);
    border-bottom:1px solid #eee; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.nav-wrap { display:flex; align-items:center; height:72px; gap:20px; }
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo img { height:40px; width:auto; }
.logo-text { font-size:17px; font-weight:700; color:#003B8E; letter-spacing:1px; }

.main-nav { flex:1; }
.main-nav > ul { display:flex; align-items:center; gap:2px; }
.main-nav > ul > li { position:relative; }
.main-nav > ul > li > a { display:block; padding:0 10px; line-height:72px; font-size:15px; color:#333; font-weight:500; white-space:nowrap; }
.main-nav > ul > li > a.active, .main-nav > ul > li > a:hover { color:#009688; }
.main-nav > ul > li > a.active::after { content:''; display:block; height:3px; background:linear-gradient(90deg,#009688,#1976D2);
    border-radius:2px; margin-top:-3px; }
.main-nav .arrow { font-size:10px; margin-left:2px; color:#aaa; }
.submenu { position:absolute; top:100%; left:50%; transform:translateX(-50%); min-width:210px; background:#fff;
    border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.12); padding:8px 0; opacity:0; visibility:hidden;
    transition:all .25s; border:1px solid #f0f0f0; }
.submenu::before { content:''; position:absolute; top:-7px; left:50%; margin-left:-7px; width:14px; height:14px;
    background:#fff; border-left:1px solid #f0f0f0; border-top:1px solid #f0f0f0; transform:rotate(45deg); }
.has-sub:hover .submenu { opacity:1; visibility:visible; top:calc(100% - 2px); }
.submenu li a { display:block; padding:10px 18px; font-size:14px; color:#555; }
.submenu li a:hover { background:#f5fbf9; color:#009688; }
.submenu li.divider { height:1px; background:#f0f0f0; margin:6px 12px; }

.nav-cta { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.tel-btn { display:flex; align-items:center; gap:6px; padding:7px 14px; background:#f0faf8; border-radius:20px;
    font-size:14px; color:#009688; font-weight:600; }
.tel-num { white-space:nowrap; }
.nav-toggle { display:none; font-size:26px; background:none; border:none; cursor:pointer; color:#333; }

/* 移动端菜单 */
.mobile-nav-mask { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:10000; display:none; }
.mobile-nav { position:fixed; top:0; right:-300px; bottom:0; width:280px; background:#fff; z-index:10001;
    display:flex; flex-direction:column; transition:right .3s; }
.mobile-nav.show { right:0; }
.mobile-nav-header { padding:16px; border-bottom:1px solid #eee; display:flex; align-items:center; gap:10px;
    font-weight:600; color:#009688; }
.mobile-nav-header .close { margin-left:auto; background:none; border:none; font-size:28px; cursor:pointer; color:#999; }
.mobile-nav-body { flex:1; overflow-y:auto; padding:10px 0; }
.mobile-nav-body a { display:block; padding:12px 20px; color:#333; font-size:15px; border-bottom:1px solid #f6f6f6; }
.m-group { border-bottom:1px solid #f6f6f6; }
.m-title { padding:12px 20px; display:flex; justify-content:space-between; font-size:15px; }
.m-sublist { display:none; background:#fafafa; }
.m-sublist a { padding-left:36px; font-size:14px; color:#555; }
.m-group.open .m-sublist { display:block; }
.m-group.open .m-title span { transform:rotate(45deg); }
.mobile-nav-footer { padding:16px; border-top:1px solid #eee; }

/* ============== 右侧悬浮转化栏 ============== */
.float-bar { position:fixed; right:18px; top:50%; transform:translateY(-50%); z-index:900;
    display:flex; flex-direction:column; gap:2px; }
.fb-item { width:62px; height:70px; background:#fff; border:1px solid #e8e8e8; cursor:pointer;
    display:flex; flex-direction:column; align-items:center; justify-content:center; color:#555;
    box-shadow:0 4px 14px rgba(0,0,0,.08); transition:all .25s; }
.fb-item:first-child { border-radius:10px 10px 0 0; }
.fb-item:nth-last-child(2) { border-radius:0 0 10px 10px; }
.fb-top { border-radius:10px!important; margin-top:6px; }
.fb-item:hover { background:linear-gradient(135deg,#009688,#1976D2); color:#fff; transform:scale(1.05); border-color:transparent; }
.fb-icon { font-size:22px; margin-bottom:3px; }
.fb-text { font-size:12px; }

/* 企微客服弹窗 */
.wecom-popup { position:fixed; right:100px; bottom:180px; z-index:900; }
.wp-box { width:300px; background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.2); overflow:hidden; }
.wp-header { padding:12px 16px; background:linear-gradient(135deg,#009688,#1976D2); color:#fff;
    display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:500; }
.wp-header button { background:none; border:none; color:#fff; font-size:22px; cursor:pointer; line-height:1; }
.wp-body { padding:20px; text-align:center; }
.wp-qr { width:200px; height:200px; border:1px solid #eee; padding:10px; border-radius:8px; margin-bottom:12px; }
.wp-sub { color:#009688; font-size:13px; margin-top:4px; }
.wp-faq { border-top:1px solid #f0f0f0; padding:12px 16px; }
.wp-faq h4 { font-size:13px; color:#666; margin-bottom:8px; }
.wp-faq li { font-size:12px; color:#555; margin-bottom:6px; cursor:pointer; }
.wp-faq .q { font-weight:500; color:#333; }
.wp-faq .a { padding:6px 8px; background:#f5fbf9; border-radius:4px; color:#009688; margin-top:4px; }

/* ============== 30秒访客弹窗 ============== */
.visitor-popup { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
.vp-mask { position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(3px); }
.vp-box { position:relative; width:min(860px, 94vw); display:flex; background:#fff; border-radius:16px;
    overflow:hidden; box-shadow:0 20px 80px rgba(0,0,0,.3); animation:vpIn .4s; }
@keyframes vpIn { from{opacity:0;transform:scale(.9) translateY(30px);} to{opacity:1;transform:scale(1);} }
.vp-close { position:absolute; top:10px; right:14px; background:rgba(255,255,255,.2); border:none; width:32px; height:32px;
    border-radius:50%; font-size:22px; color:#666; cursor:pointer; z-index:5; }
.vp-left { width:42%; padding:36px 30px; background:linear-gradient(160deg,#009688 0%, #1976D2 100%); color:#fff; }
.vp-badge { display:inline-block; padding:5px 14px; background:rgba(255,255,255,.2); border-radius:20px;
    font-size:13px; margin-bottom:16px; }
.vp-left h3 { font-size:22px; line-height:1.4; margin-bottom:20px; }
.vp-list li { padding:8px 0; font-size:14px; opacity:.95; }
.vp-scan { margin-top:30px; padding-top:20px; border-top:1px solid rgba(255,255,255,.2); display:flex; gap:14px; align-items:center; }
.vp-scan img { border-radius:8px; background:#fff; padding:4px; }
.vp-scan-info { font-size:13px; line-height:1.7; }
.vp-right { flex:1; padding:30px; }
.vp-right h4 { font-size:17px; margin-bottom:18px; color:#333; }
.form-row { margin-bottom:12px; }
.form-row input, .form-row select { width:100%; height:42px; padding:0 14px; border:1px solid #e0e0e0; border-radius:6px;
    font-size:14px; transition:border .2s; }
.form-row input:focus, .form-row select:focus { border-color:#009688; box-shadow:0 0 0 3px rgba(0,150,136,.1); }
.captcha-row { display:flex; gap:10px; }
.captcha-row input { flex:1; }
.captcha-row img { width:110px; height:42px; border-radius:6px; cursor:pointer; border:1px solid #e0e0e0; }
.agree-row { display:flex; align-items:center; gap:8px; font-size:12px; color:#666; margin:6px 0 14px; }
.no-show { display:flex; align-items:center; gap:8px; font-size:12px; color:#999; margin-top:12px; justify-content:center; }

/* ============== 底部 ============== */
.site-footer { margin-top:80px; background:#1a2332; color:#c5ccd6; }
.footer-main { padding:56px 0 36px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.8fr; gap:40px; }
.f-logo { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.f-logo img { background:#fff; padding:4px; border-radius:10px; }
.f-name { color:#fff; font-weight:600; font-size:16px; }
.f-sub { font-size:12px; letter-spacing:1.5px; color:#8fa3bf; margin-top:3px; }
.f-desc { font-size:13px; line-height:1.9; color:#93a0b4; }
.footer-col h4 { color:#fff; font-size:15px; padding-bottom:14px; margin-bottom:10px; border-bottom:1px solid rgba(255,255,255,.08); }
.f-links li { padding:6px 0; }
.f-links li a { color:#93a0b4; font-size:13px; }
.f-links li a:hover { color:#00c4a7; padding-left:4px; }
.f-qr-wrap { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.f-qr-item { text-align:center; }
.f-qr-item img { width:90px; height:90px; background:#fff; padding:5px; border-radius:6px; }
.f-qr-item span { display:block; font-size:12px; margin-top:6px; color:#8fa3bf; }
.f-contact-info div { font-size:13px; padding:4px 0; color:#93a0b4; }
.f-contact-info a { color:#8fd5c5; }
.f-contact-info a:hover { color:#00e0b6; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); }
.fb-line { display:flex; justify-content:space-between; align-items:center; padding:16px 0; font-size:12px; color:#7d8ba3; flex-wrap:wrap; gap:10px; }
.fb-line a { color:#7d8ba3; }
.fb-line a:hover { color:#00c4a7; }

/* ============== 通用区块 ============== */
.page-banner { height:320px; display:flex; align-items:center; background:linear-gradient(135deg,#00695c 0%, #1565C0 50%, #009688 100%);
    color:#fff; position:relative; overflow:hidden; }
.page-banner::before { content:''; position:absolute; right:-50px; top:-50px; width:400px; height:400px;
    background:radial-gradient(circle, rgba(255,255,255,.1), transparent 70%); }
.page-banner::after { content:''; position:absolute; left:-100px; bottom:-200px; width:500px; height:500px;
    background:radial-gradient(circle, rgba(255,255,255,.08), transparent 70%); }
.page-banner .container { position:relative; z-index:2; }
.page-banner h1 { font-size:38px; font-weight:700; margin-bottom:12px; }
.page-banner p { font-size:16px; opacity:.9; max-width:600px; }
.breadcrumb { margin-top:18px; font-size:13px; opacity:.8; }
.breadcrumb a { color:#fff; }
.breadcrumb .sep { margin:0 6px; }
.breadcrumb .cur { opacity:.85; }

.section { padding:70px 0; }
.section-title { text-align:center; margin-bottom:46px; }
.section-title h2 { font-size:32px; font-weight:700; color:#222; margin-bottom:12px; }
.section-title h2::after { content:''; display:block; width:60px; height:4px; background:linear-gradient(90deg,#009688,#1976D2);
    border-radius:2px; margin:16px auto 0; }
.section-title p { color:#666; font-size:15px; max-width:640px; margin:0 auto; }

/* ============== 首页 ============== */
.banner-slider { position:relative; height:580px; overflow:hidden; }
.banner-item { position:absolute; inset:0; opacity:0; transition:opacity .8s; display:flex; align-items:center; color:#fff; }
.banner-item.active { opacity:1; z-index:2; }
.banner-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.banner-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.55) 0%, rgba(0,0,0,.3) 50%, transparent 100%); }
.banner-inner { position:relative; z-index:3; max-width:1240px; margin:0 auto; padding:0 20px; width:100%; }
.banner-inner h2 { font-size:50px; font-weight:800; margin-bottom:18px; max-width:700px; line-height:1.25;
    text-shadow:0 4px 20px rgba(0,0,0,.3); }
.banner-inner p { font-size:20px; max-width:620px; margin-bottom:32px; opacity:.95; }
.banner-inner .btn-primary { padding:16px 36px; font-size:17px; }
.slider-dots { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:5; }
.slider-dots span { width:34px; height:4px; border-radius:2px; background:rgba(255,255,255,.4); cursor:pointer; transition:all .3s; }
.slider-dots span.active { background:#fff; width:54px; }
.slider-arrows { position:absolute; top:50%; transform:translateY(-50%); left:20px; right:20px; z-index:5;
    display:flex; justify-content:space-between; pointer-events:none; }
.slider-arrows button { width:48px; height:48px; border-radius:50%; border:none; background:rgba(255,255,255,.2);
    color:#fff; font-size:22px; cursor:pointer; backdrop-filter:blur(10px); pointer-events:auto; }
.slider-arrows button:hover { background:rgba(255,255,255,.4); }

/* 关于+优势 */
.home-about { padding:70px 0 0; background:linear-gradient(180deg,#fff 0%,#f7fbf9 100%); }
.home-about-wrap { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:80px; }
.ha-img { border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(0,150,136,.15); position:relative; }
.ha-img img { width:100%; height:400px; object-fit:cover; display:block; }
.ha-img::after { content:'10年+ 保密服务经验'; position:absolute; right:-20px; bottom:24px;
    padding:10px 22px; background:#fff; border-radius:24px; box-shadow:0 8px 24px rgba(0,0,0,.1);
    font-weight:600; color:#009688; }
.ha-text h2 { font-size:30px; color:#222; margin-bottom:16px; }
.ha-text .intro { color:#555; font-size:15px; line-height:1.9; margin-bottom:24px; }
.advantages { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.adv-card { padding:26px 22px; background:#fff; border-radius:12px; transition:all .3s; border:1px solid #f0f0f0; }
.adv-card:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(0,150,136,.12); border-color:#b2ebf2; }
.adv-icon { width:52px; height:52px; border-radius:12px; background:linear-gradient(135deg,#009688,#1976D2);
    display:flex; align-items:center; justify-content:center; font-size:24px; color:#fff; margin-bottom:16px; }
.adv-card h4 { font-size:16px; color:#222; margin-bottom:8px; }
.adv-card p { font-size:13px; color:#666; line-height:1.7; }

/* 业务入口卡片 */
.biz-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.biz-card { background:#fff; border-radius:14px; overflow:hidden; border:1px solid #f0f0f0; transition:all .3s;
    position:relative; cursor:pointer; }
.biz-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(25,118,210,.15); }
.biz-card .bc-icon { height:140px; background:linear-gradient(135deg,#f0faf8,#e3f2fd); display:flex;
    align-items:center; justify-content:center; font-size:56px; }
.biz-card .bc-body { padding:22px; }
.biz-card h3 { font-size:17px; color:#222; margin-bottom:8px; }
.biz-card p { font-size:13px; color:#666; line-height:1.7; min-height:40px; }
.biz-card .bc-more { margin-top:14px; color:#009688; font-size:13px; font-weight:500; }
.biz-card:hover .bc-more::after { margin-left:8px; content:'→'; }

/* 方案4宫格 */
.sol-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.sol-card { display:flex; border-radius:14px; overflow:hidden; background:#fff; border:1px solid #f0f0f0; transition:all .3s; height:200px; }
.sol-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,0,0,.1); }
.sol-cover { width:280px; flex-shrink:0; background-size:cover; background-position:center; position:relative; }
.sol-cover::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,150,136,.8),rgba(25,118,210,.8)); }
.sol-cover .sc-icon { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; }
.sol-cover .sc-icon div:first-child { font-size:52px; margin-bottom:8px; }
.sol-cover .sc-icon div:last-child { font-size:15px; font-weight:600; }
.sol-body { padding:26px; flex:1; display:flex; flex-direction:column; }
.sol-body h3 { font-size:18px; color:#222; margin-bottom:8px; }
.sol-body .tagline { color:#009688; font-size:13px; font-weight:500; margin-bottom:10px; }
.sol-body p { font-size:13px; color:#666; line-height:1.8; flex:1; }
.sol-body .btn-outline { align-self:flex-start; padding:6px 16px; font-size:13px; }

/* 保密硬件展示 */
.sec-hardware { background:linear-gradient(180deg,#0f1d2a 0%,#1a2a3d 100%); color:#fff; padding:70px 0; }
.sec-hardware .section-title h2 { color:#fff; }
.sec-hardware .section-title p { color:#9aa7bb; }
.hw-list { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.hw-item { background:rgba(255,255,255,.04); border-radius:12px; padding:22px 18px; border:1px solid rgba(255,255,255,.08);
    transition:all .3s; cursor:pointer; text-align:center; }
.hw-item:hover { background:rgba(0,196,167,.12); border-color:#00c4a7; transform:translateY(-4px); }
.hw-ic { font-size:46px; margin-bottom:14px; }
.hw-item h4 { font-size:15px; color:#fff; margin-bottom:6px; }
.hw-item p { font-size:12px; color:#91a0b8; line-height:1.6; margin-bottom:12px; min-height:36px; }
.hw-item a { display:inline-block; padding:5px 14px; border:1px solid #00c4a7; color:#00c4a7; border-radius:20px; font-size:12px; }
.hw-item a:hover { background:#00c4a7; color:#0f1d2a; }

/* 客户LOGO墙 */
.clients { padding:60px 0; background:#f7fbf9; }
.clients-title { text-align:center; font-size:14px; color:#888; margin-bottom:26px; letter-spacing:2px; }
.clients-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.client-item { background:#fff; height:80px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    filter:grayscale(40%); transition:all .3s; border:1px solid #eee; }
.client-item:hover { filter:grayscale(0); transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.06); }
.client-item img { max-height:48px; max-width:85%; }

/* 首页案例缩略 */
.cases-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.case-card { background:#fff; border-radius:14px; overflow:hidden; border:1px solid #f0f0f0; transition:all .3s; cursor:pointer; }
.case-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,0,0,.1); }
.cc-cover { height:200px; background-size:cover; background-position:center; position:relative; }
.cc-tag { position:absolute; top:14px; left:14px; padding:4px 12px; background:linear-gradient(135deg,#009688,#1976D2);
    color:#fff; border-radius:20px; font-size:12px; }
.cc-body { padding:22px; }
.cc-customer { font-size:17px; color:#222; font-weight:600; margin-bottom:8px; }
.cc-desc { font-size:13px; color:#666; line-height:1.8; min-height:44px; margin-bottom:14px; }
.cc-result { display:flex; gap:10px; flex-wrap:wrap; }
.cc-result span { padding:3px 10px; background:#f0faf8; color:#009688; border-radius:4px; font-size:12px; }

/* 首页资讯推荐 */
.news-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; }
.news-big { background:#fff; border-radius:14px; overflow:hidden; border:1px solid #f0f0f0; transition:all .3s; cursor:pointer; }
.news-big:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(0,0,0,.08); }
.news-big .nb-cover { height:240px; background-size:cover; background-position:center; }
.news-big .nb-body { padding:26px; }
.news-big h3 { font-size:20px; color:#222; margin-bottom:12px; line-height:1.5; }
.news-big p { font-size:14px; color:#666; line-height:1.8; }
.news-small { display:flex; flex-direction:column; gap:20px; }
.ns-item { background:#fff; border-radius:12px; padding:20px; border:1px solid #f0f0f0; display:flex; gap:16px;
    transition:all .25s; cursor:pointer; }
.ns-item:hover { border-color:#b2dfdb; transform:translateX(4px); }
.ns-item .ns-img { width:110px; height:90px; border-radius:8px; background-size:cover; background-position:center; flex-shrink:0; }
.ns-item .ns-body h4 { font-size:15px; color:#222; line-height:1.5; margin-bottom:6px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ns-item .ns-body time { font-size:12px; color:#999; }
.news-cat-tag { display:inline-block; padding:2px 10px; background:#e3f2fd; color:#1976D2;
    border-radius:4px; font-size:12px; margin-bottom:8px; }

/* ============== 列表卡片通用 ============== */
.list-wrap { padding:50px 0; }
.list-grid { display:grid; gap:24px; }
.g-2 { grid-template-columns:repeat(2,1fr); }
.g-3 { grid-template-columns:repeat(3,1fr); }
.card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #f0f0f0; transition:all .3s; }
.card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,0,0,.08); border-color:#b2dfdb; }
.card-img { height:220px; background-size:cover; background-position:center; }
.card-body { padding:22px; }
.card-body h3 { font-size:18px; color:#222; margin-bottom:10px; line-height:1.5; }
.card-body p { font-size:13px; color:#666; line-height:1.8; margin-bottom:14px;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card-meta { display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid #f5f5f5; font-size:13px; color:#999; }
.card-more { color:#009688; font-weight:500; }

.pagination { display:flex; justify-content:center; gap:8px; padding:40px 0 10px; flex-wrap:wrap; }
.pagination a, .pagination span { min-width:40px; height:40px; line-height:40px; text-align:center;
    border:1px solid #e0e0e0; background:#fff; border-radius:6px; color:#555; padding:0 12px; font-size:14px; }
.pagination a:hover { border-color:#009688; color:#009688; }
.pagination a.active { background:#009688; border-color:#009688; color:#fff; }
.pagination .page-ellipsis { border:none; background:transparent; }

/* ============== 详情页通用 ============== */
.detail-wrap { padding:50px 0; }
.detail-content { max-width:860px; margin:0 auto; }
.d-title { font-size:30px; color:#222; margin-bottom:16px; font-weight:700; line-height:1.4; }
.d-meta { padding:14px 20px; background:#f7fbf9; border-radius:8px; display:flex; flex-wrap:wrap; gap:20px 30px;
    font-size:13px; color:#666; margin-bottom:30px; }
.d-meta b { color:#333; font-weight:normal; margin-right:4px; }
.d-body { font-size:15px; line-height:2; color:#444; }
.d-body h2 { font-size:22px; margin:30px 0 14px; padding:10px 16px;
    border-left:4px solid #009688; background:#f7fbf9; border-radius:0 6px 6px 0; color:#00695c; }
.d-body h3 { font-size:18px; margin:26px 0 10px; color:#222; }
.d-body p { margin:12px 0; }
.d-body ul { padding-left:22px; margin:12px 0; }
.d-body ul li { list-style:disc; padding:4px 0; color:#555; }
.d-body img { max-width:100%; margin:16px auto; display:block; border-radius:8px; }
.d-cta { margin:40px 0; padding:30px; background:linear-gradient(135deg,#009688,#1976D2); color:#fff;
    border-radius:12px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.d-cta .dcta-info h4 { font-size:20px; margin-bottom:6px; }
.d-cta .btn-primary { background:#fff; color:#009688!important; }

/* 图集 */
.gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0; }
.gallery img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:8px; cursor:pointer; transition:all .3s; }
.gallery img:hover { transform:scale(1.03); box-shadow:0 8px 20px rgba(0,0,0,.15); }

/* ============== 详情页：产品 ============== */
.product-hero { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; padding:50px 0; }
.ph-img { border-radius:16px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.1); }
.ph-img img { width:100%; height:450px; object-fit:cover; display:block; }
.ph-info h1 { font-size:32px; color:#222; margin-bottom:6px; }
.ph-model { display:inline-block; padding:4px 14px; background:#e3f2fd; color:#1976D2;
    border-radius:20px; font-size:13px; margin-bottom:20px; }
.ph-short { font-size:15px; color:#666; line-height:1.9; margin-bottom:24px; padding-bottom:24px; border-bottom:1px dashed #eee; }
.ph-features { margin-bottom:28px; }
.ph-features h4 { font-size:15px; margin-bottom:12px; color:#222; }
.ph-features ul { display:flex; flex-wrap:wrap; gap:10px; }
.ph-features li { padding:8px 16px; background:#f0faf8; color:#00695c; border-radius:20px; font-size:13px; }
.ph-info .btn-primary, .ph-info .btn-outline { padding:12px 28px; font-size:15px; }
.ph-info .btn-outline { margin-left:12px; }

.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin:20px 0; }
.fe-box { padding:24px; background:#fff; border-radius:10px; border:1px solid #eee; }
.fe-box .fe-ic { font-size:34px; color:#009688; margin-bottom:10px; }
.fe-box h5 { font-size:16px; margin-bottom:8px; }
.fe-box p { font-size:13px; color:#666; line-height:1.8; }

/* ============== 资料下载 ============== */
.dl-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.dl-card { background:#fff; border-radius:14px; overflow:hidden; border:1px solid #f0f0f0; display:flex; }
.dl-card:hover { box-shadow:0 14px 36px rgba(0,0,0,.1); }
.dl-cover { width:230px; flex-shrink:0; background:linear-gradient(135deg,#009688,#1976D2);
    display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; padding:24px; text-align:center; }
.dl-cover .dl-ic { font-size:58px; margin-bottom:14px; }
.dl-cover .dl-size { font-size:12px; opacity:.9; margin-bottom:6px; }
.dl-cover .dl-count { font-size:12px; padding:3px 12px; background:rgba(255,255,255,.2); border-radius:20px; }
.dl-body { padding:26px; flex:1; display:flex; flex-direction:column; }
.dl-body h3 { font-size:18px; color:#222; margin-bottom:10px; }
.dl-body p { font-size:13px; color:#666; line-height:1.8; flex:1; }
.dl-form-btn { display:inline-block; margin-top:16px; }

/* 模态表单 */
.modal { position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; }
.modal-mask { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.modal-box { position:relative; width:min(500px, 94vw); background:#fff; border-radius:12px; padding:30px; animation:vpIn .3s; }
.modal-box h3 { font-size:20px; margin-bottom:20px; color:#222; }
.modal-close { position:absolute; top:12px; right:16px; background:none; border:none; font-size:24px; color:#999; cursor:pointer; }

/* ============== 联系我们 ============== */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:40px; }
.contact-info { background:linear-gradient(160deg,#009688 0%, #1976D2 100%); color:#fff;
    border-radius:14px; padding:36px; }
.contact-info h3 { font-size:22px; margin-bottom:20px; }
.ci-item { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.15); align-items:flex-start; }
.ci-item:last-child { border:none; }
.ci-ic { width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.18); display:flex;
    align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.ci-txt h5 { font-size:14px; font-weight:500; margin-bottom:4px; opacity:.9; }
.ci-txt div, .ci-txt a { font-size:15px; color:#fff; line-height:1.7; }
.ci-qrs { display:flex; gap:18px; margin-top:26px; padding-top:22px; border-top:1px solid rgba(255,255,255,.15); }
.ci-qr { text-align:center; }
.ci-qr img { width:90px; height:90px; background:#fff; padding:4px; border-radius:8px; }
.ci-qr span { font-size:12px; display:block; margin-top:6px; opacity:.9; }

#baiduMap { height:360px; width:100%; border-radius:10px; margin-top:16px; background:#f0f0f0; }

.contact-form { background:#fff; border-radius:14px; padding:36px; border:1px solid #f0f0f0; }
.contact-form h3 { font-size:22px; color:#222; margin-bottom:8px; }
.contact-form > p { color:#666; font-size:14px; margin-bottom:22px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form textarea { width:100%; min-height:110px; padding:12px 14px; border:1px solid #e0e0e0;
    border-radius:6px; font-family:inherit; font-size:14px; resize:vertical; transition:border .2s; }
.contact-form textarea:focus { border-color:#009688; box-shadow:0 0 0 3px rgba(0,150,136,.1); }
.form-tabs { display:flex; gap:4px; margin-bottom:24px; padding:4px; background:#f5f5f5; border-radius:8px; }
.form-tabs button { flex:1; padding:10px; border:none; background:transparent; border-radius:6px; cursor:pointer; color:#555; font-size:14px; }
.form-tabs button.active { background:#fff; color:#009688; font-weight:500; box-shadow:0 2px 6px rgba(0,0,0,.06); }

/* 关于我们时间轴 */
.timeline { position:relative; padding:20px 0; }
.timeline::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:2px; background:linear-gradient(180deg,#009688,#1976D2); }
.tl-item { display:grid; grid-template-columns:1fr 100px 1fr; gap:20px; margin-bottom:30px; align-items:center; }
.tl-item:nth-child(odd) .tl-content { text-align:right; grid-column:1; }
.tl-item:nth-child(odd) .tl-dot { grid-column:2; }
.tl-item:nth-child(odd) .tl-year { grid-column:3; text-align:left; }
.tl-item:nth-child(even) .tl-year { grid-column:1; text-align:right; }
.tl-item:nth-child(even) .tl-dot { grid-column:2; }
.tl-item:nth-child(even) .tl-content { grid-column:3; }
.tl-year { font-size:28px; font-weight:700; color:#009688; }
.tl-dot { width:20px; height:20px; background:#fff; border:4px solid #009688; border-radius:50%;
    position:relative; margin:0 auto; z-index:2; }
.tl-content { padding:18px 22px; background:#fff; border-radius:10px; border:1px solid #eee; box-shadow:0 4px 12px rgba(0,0,0,.04); }
.tl-content h4 { font-size:17px; color:#222; margin-bottom:6px; }
.tl-content p { font-size:13px; color:#666; line-height:1.8; }

/* 服务区域地图 */
.area-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:30px 0; }
.as-item { text-align:center; padding:24px; background:#fff; border-radius:10px; border:1px solid #eee; }
.as-item .as-num { font-size:36px; font-weight:700; color:#009688; }
.as-item .as-lbl { font-size:13px; color:#666; margin-top:6px; }
.area-cities { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:24px; background:#f7fbf9; border-radius:10px; }
.area-cities span { padding:8px 18px; background:#fff; border:1px solid #b2dfdb; color:#00695c;
    border-radius:20px; font-size:14px; }

/* 团队卡片 */
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.team-card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #eee; text-align:center; padding-bottom:24px; transition:all .3s; }
.team-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.08); }
.team-card img { width:100%; height:240px; object-fit:cover; }
.team-card h4 { font-size:17px; margin:18px 0 4px; }
.team-card .pos { font-size:13px; color:#009688; }
.team-card .desc { font-size:12px; color:#666; padding:0 18px; margin-top:10px; line-height:1.7; }

/* 404 */
.error-page { padding:120px 20px; text-align:center; }
.error-page h1 { font-size:140px; font-weight:800; background:linear-gradient(135deg,#009688,#1976D2);
    -webkit-background-clip:text; background-clip:text; color:transparent; }
.error-page p { font-size:18px; color:#666; margin:20px 0 30px; }

/* ============== 响应式：Pad ============== */
@media (max-width: 1024px) {
    .main-nav { display:none; }
    .nav-toggle { display:block; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .advantages, .biz-grid { grid-template-columns:repeat(2,1fr); }
    .hw-list { grid-template-columns:repeat(3,1fr); }
    .clients-grid { grid-template-columns:repeat(4,1fr); }
    .cases-grid, .g-3 { grid-template-columns:repeat(2,1fr); }
    .news-grid { grid-template-columns:1fr 1fr; }
    .news-big { grid-column:span 2; }
    .sol-grid { grid-template-columns:1fr; }
    .home-about-wrap { grid-template-columns:1fr; }
    .banner-slider { height:460px; }
    .banner-inner h2 { font-size:36px; }
    .product-hero { grid-template-columns:1fr; }
    .dl-grid { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .team-grid { grid-template-columns:repeat(2,1fr); }
    .gallery { grid-template-columns:repeat(3,1fr); }
}
/* ============== 响应式：Mobile ============== */
@media (max-width: 640px) {
    .nav-wrap { height:60px; gap:12px; }
    .nav-cta .tel-num { display:none; }
    .nav-cta .btn-primary { padding:8px 14px; font-size:13px; }
    .container { padding:0 14px; }
    .banner-slider { height:360px; }
    .banner-inner h2 { font-size:26px; }
    .banner-inner p { font-size:15px; }
    .slider-arrows { display:none; }
    .section { padding:44px 0; }
    .section-title { margin-bottom:30px; }
    .section-title h2 { font-size:24px; }
    .page-banner { height:200px; }
    .page-banner h1 { font-size:26px; }
    .advantages, .biz-grid, .hw-list, .clients-grid, .cases-grid, .news-grid, .g-2, .g-3,
    .area-stats, .team-grid, .footer-grid, .feature-grid { grid-template-columns:1fr; }
    .news-big { grid-column:span 1; }
    .sol-card { flex-direction:column; height:auto; }
    .sol-cover { width:100%; height:160px; }
    .float-bar { right:8px; }
    .fb-item { width:48px; height:56px; }
    .fb-icon { font-size:18px; }
    .fb-text { font-size:11px; }
    .vp-box { flex-direction:column; }
    .vp-left, .vp-right { width:100%; padding:24px; }
    .d-title { font-size:22px; }
    .d-cta { flex-direction:column; text-align:center; }
    .gallery { grid-template-columns:repeat(2,1fr); }
    .form-grid { grid-template-columns:1fr; }
    .timeline::before { left:20px; }
    .tl-item { grid-template-columns:40px 1fr; }
    .tl-item:nth-child(odd) .tl-content, .tl-item:nth-child(even) .tl-content { grid-column:2; text-align:left; }
    .tl-item:nth-child(odd) .tl-year, .tl-item:nth-child(even) .tl-year { grid-column:2; text-align:left; grid-row:1; font-size:22px; }
    .tl-item:nth-child(odd) .tl-dot, .tl-item:nth-child(even) .tl-dot { grid-column:1; grid-row:1 / span 2; }
    .error-page h1 { font-size:88px; }
    .dl-card { flex-direction:column; }
    .dl-cover { width:100%; padding:18px; }
}
