:root {
  --navy:#1a3a5c; --navy-dark:#122a44; --navy-light:#2a5580;
  --orange:#e8622a; --orange-dark:#c94e1c;
  --cream:#f7f4ef; --paper:#fffdf9; --charcoal:#2a2a2a;
  --gray:#6b6b6b; --gray-light:#e8e4dd; --green:#27ae60; --stamp-red:#c0392b;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Source Han Sans SC','Noto Sans CJK SC',sans-serif; color:var(--charcoal); background:var(--paper); line-height:1.7; -webkit-font-smoothing:antialiased; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
a { text-decoration:none; color:inherit; }

.topbar { background:var(--navy-dark); color:rgba(255,255,255,0.85); font-size:13px; padding:8px 0; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; }
.topbar a { color:#fff; font-weight:500; }

nav { background:#fff; border-bottom:1px solid var(--gray-light); position:sticky; top:0; z-index:100; }
nav .container { display:flex; justify-content:space-between; align-items:center; height:64px; }
.logo { display:flex; align-items:center; gap:10px; }
.logo-img { height:42px; width:auto; display:block; }
.logo-mark { width:38px; height:38px; background:var(--navy); border-radius:6px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:900; font-size:18px; }
.logo-text { font-weight:900; font-size:18px; color:var(--navy); letter-spacing:1px; }
.logo-sub { font-size:11px; color:var(--gray); display:block; line-height:1.2; }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { color:var(--charcoal); font-size:14px; font-weight:500; transition:color 0.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--orange); }
.nav-phone { background:var(--orange); color:#fff !important; padding:10px 20px; border-radius:6px; font-weight:700; font-size:15px; }
.nav-phone:hover { background:var(--orange-dark); }

.hero { position:relative; min-height:520px; display:flex; align-items:center; background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 60%,var(--navy-light) 100%); overflow:hidden; }
.hero-bg { position:absolute; right:0; top:0; bottom:0; width:50%; background:url('images/hero-technician.jpg') center/cover no-repeat; opacity:0.55; -webkit-mask-image:linear-gradient(to left,#000 40%,transparent 100%); mask-image:linear-gradient(to left,#000 40%,transparent 100%); }
.hero .container { position:relative; z-index:2; }
.hero-badge { display:inline-block; background:rgba(232,98,42,0.15); border:1px solid var(--orange); color:var(--orange); padding:6px 16px; border-radius:100px; font-size:13px; font-weight:700; margin-bottom:24px; }
.hero h1 { color:#fff; font-size:46px; font-weight:900; line-height:1.25; max-width:640px; margin-bottom:20px; }
.hero h1 .accent { color:var(--orange); }
.hero p.lead { color:rgba(255,255,255,0.8); font-size:18px; max-width:540px; margin-bottom:20px; line-height:1.8; }
.hero-phone { color:#fff; font-size:32px; font-weight:900; margin-bottom:32px; letter-spacing:1px; }
.hero-phone span { font-size:32px; font-weight:900; margin-left:20px; color:#fff; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.btn-primary { background:var(--orange); color:#fff; padding:16px 36px; border-radius:8px; font-weight:700; font-size:16px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; border:none; }
.btn-primary:hover { background:var(--orange-dark); }
.btn-ghost { background:transparent; color:#fff; padding:16px 36px; border-radius:8px; border:2px solid rgba(255,255,255,0.4); font-weight:500; font-size:16px; cursor:pointer; }

.page-header { background:var(--navy-dark); padding:60px 0 40px; text-align:center; color:#fff; }
.page-header h1 { font-size:36px; font-weight:900; margin-bottom:12px; }
.page-header p { color:rgba(255,255,255,0.7); font-size:16px; max-width:600px; margin:0 auto; }

.trust-strip { background:#fff; border-bottom:1px solid var(--gray-light); padding:32px 0; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.trust-item { text-align:center; }
.trust-num { font-size:36px; font-weight:900; color:var(--navy); line-height:1.1; }
.trust-num span { font-size:16px; font-weight:500; color:var(--orange); }
.trust-label { font-size:14px; color:var(--gray); margin-top:4px; }

section { padding:80px 0; }
.section-head { text-align:center; margin-bottom:56px; }
.section-eyebrow { color:var(--orange); font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; }
.section-head h2 { font-size:36px; font-weight:900; color:var(--navy); line-height:1.3; }
.section-head p { color:var(--gray); font-size:16px; margin-top:12px; max-width:600px; margin-left:auto; margin-right:auto; }

.services { background:var(--cream); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-card { background:#fff; border-radius:12px; padding:36px 30px; border:1px solid var(--gray-light); }
.service-icon { width:56px; height:56px; background:rgba(232,98,42,0.08); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; color:var(--orange); }
.service-card h3 { font-size:22px; font-weight:900; color:var(--navy); margin-bottom:6px; }
.service-sub { font-size:13px; color:var(--orange); font-weight:600; margin-bottom:16px; }
.service-card p { font-size:14px; color:var(--gray); line-height:1.8; margin-bottom:16px; }
.service-list { list-style:none; }
.service-list li { font-size:13px; color:var(--charcoal); padding:6px 0; border-bottom:1px dashed var(--gray-light); display:flex; align-items:center; gap:8px; }
.service-list li::before { content:''; width:5px; height:5px; background:var(--orange); border-radius:50%; flex-shrink:0; }
.service-warranty { display:inline-block; margin-top:14px; background:rgba(39,174,96,0.08); color:var(--green); font-size:12px; font-weight:700; padding:4px 12px; border-radius:4px; }

.city-network { background:#fff; border-radius:16px; padding:32px 36px; box-shadow:0 2px 16px rgba(0,0,0,0.04); }
.city-network-inner { display:flex; align-items:flex-start; gap:28px; flex-wrap:wrap; }
.city-network-label { font-size:20px; font-weight:900; color:var(--stamp-red); flex-shrink:0; padding-top:4px; display:flex; align-items:center; gap:6px; }
.city-network-label::before { content:''; width:4px; height:22px; background:var(--stamp-red); border-radius:2px; }
.city-links { flex:1; display:flex; flex-wrap:wrap; line-height:2.2; }
.city-link { font-size:15px; color:var(--charcoal); padding:0 14px; transition:color 0.15s; white-space:nowrap; }
.city-link:hover { color:var(--orange); }
.city-link.hq { color:var(--stamp-red); font-weight:700; }
.hq-tag { font-size:10px; background:var(--stamp-red); color:#fff; padding:1px 5px; border-radius:3px; margin-left:3px; vertical-align:middle; }

.city-detail-box { background:var(--cream); border-radius:10px; padding:32px; margin-top:32px; border-left:3px solid var(--orange); }
.city-detail-box h3 { font-size:22px; color:var(--navy); margin-bottom:12px; }
.city-detail-box p { color:var(--gray); font-size:15px; line-height:1.9; margin-bottom:16px; }
.city-meta { display:flex; gap:12px; flex-wrap:wrap; }
.city-meta span { font-size:13px; background:#fff; padding:6px 14px; border-radius:6px; border:1px solid var(--gray-light); }

.guarantee { background:var(--navy-dark); color:#fff; }
.guarantee-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.stamp-wrap { display:flex; justify-content:center; }
.stamp { width:240px; height:240px; border:3px solid var(--stamp-red); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; transform:rotate(-8deg); opacity:0.92; }
.stamp::before { content:''; position:absolute; inset:10px; border:1.5px solid var(--stamp-red); border-radius:50%; }
.stamp-star { width:32px; height:32px; background:var(--stamp-red); clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); margin-bottom:8px; }
.stamp-text { font-size:18px; font-weight:900; color:var(--stamp-red); letter-spacing:2px; text-align:center; line-height:1.5; }
.stamp-sub { font-size:11px; color:var(--stamp-red); opacity:0.8; margin-top:6px; }
.guarantee h2 { font-size:36px; font-weight:900; line-height:1.3; margin-bottom:20px; }
.guarantee h2 .hl { color:var(--orange); }
.guarantee p { color:rgba(255,255,255,0.75); font-size:16px; line-height:1.9; margin-bottom:28px; }
.guarantee-points { list-style:none; }
.guarantee-points li { padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; gap:12px; font-size:15px; }
.check-icon { color:var(--orange); flex-shrink:0; }

.process { background:var(--cream); }
.process-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.process-step { text-align:center; padding:24px 16px; }
.step-num { width:48px; height:48px; background:var(--navy); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:18px; margin:0 auto 16px; }
.process-step h4 { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.process-step p { font-size:13px; color:var(--gray); line-height:1.6; }

.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.news-card { background:#fff; border-radius:10px; overflow:hidden; border:1px solid var(--gray-light); cursor:pointer; transition:transform 0.2s,box-shadow 0.2s; }
.news-card:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(26,58,92,0.1); }
.news-thumb { height:160px; background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.9); }
.news-body { padding:22px; }
.news-date { font-size:12px; color:var(--gray); margin-bottom:8px; }
.news-card h3 { font-size:16px; font-weight:700; color:var(--navy); line-height:1.5; margin-bottom:10px; }
.news-card p { font-size:13px; color:var(--gray); line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-tag { display:inline-block; font-size:11px; background:rgba(232,98,42,0.1); color:var(--orange); padding:2px 10px; border-radius:4px; margin-bottom:10px; font-weight:600; }

.breadcrumb { font-size:13px; color:var(--gray); padding:24px 0; }
.breadcrumb a { color:var(--navy); }
.breadcrumb a:hover { color:var(--orange); }
.article-wrap { max-width:800px; margin:0 auto; padding-bottom:60px; }
.article-title { font-size:32px; font-weight:900; color:var(--navy); line-height:1.4; margin-bottom:16px; }
.article-meta { font-size:13px; color:var(--gray); margin-bottom:32px; padding-bottom:20px; border-bottom:1px solid var(--gray-light); }
.article-body { font-size:16px; line-height:2; }
.article-body h2 { font-size:22px; font-weight:700; color:var(--navy); margin:36px 0 16px; }
.article-body h3 { font-size:18px; font-weight:700; color:var(--navy); margin:28px 0 12px; }
.article-body p { margin-bottom:18px; }
.article-body strong { color:var(--navy); }
.article-body ul, .article-body ol { margin:0 0 18px 24px; }
.article-body li { margin-bottom:8px; }
.article-body img { max-width:100%; height:auto; border-radius:8px; margin:16px 0; }
.article-body a { color:var(--orange); text-decoration:underline; }
.article-body table { width:100%; border-collapse:collapse; margin:20px 0 28px; font-size:15px; }
.article-body th, .article-body td { border:1px solid var(--gray-light); padding:12px 14px; text-align:left; line-height:1.7; }
.article-body th { background:var(--navy); color:#fff; font-weight:700; }
.article-body tr:nth-child(even) td { background:#f7f9fc; }
.article-body .article-phone { font-weight:700; color:var(--navy); }
.article-nav { display:flex; justify-content:space-between; margin-top:48px; padding-top:24px; border-top:1px solid var(--gray-light); font-size:14px; }
.article-nav a { color:var(--navy); max-width:45%; }
.article-nav a:hover { color:var(--orange); }

.faq-list { max-width:800px; margin:0 auto; }
.faq-item { background:#fff; border:1px solid var(--gray-light); border-radius:10px; margin-bottom:12px; overflow:hidden; }
.faq-q { padding:20px 24px; font-weight:700; font-size:16px; color:var(--navy); cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.faq-q:hover { background:var(--cream); }
.faq-q .arrow { transition:transform 0.2s; color:var(--orange); }
.faq-item.open .faq-q .arrow { transform:rotate(180deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.3s ease; }
.faq-item.open .faq-a { max-height:500px; }
.faq-a-inner { padding:0 24px 20px; color:var(--gray); font-size:15px; line-height:1.8; }

.about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:start; }
.about-text p { margin-bottom:16px; font-size:15px; line-height:1.9; }
.license-card { background:var(--cream); border-radius:10px; padding:28px; border:1px solid var(--gray-light); }
.license-card h4 { font-size:14px; color:var(--orange); font-weight:700; letter-spacing:1px; margin-bottom:16px; }
.license-row { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--gray-light); font-size:14px; }
.license-row:last-child { border-bottom:none; }
.license-row .k { color:var(--gray); }
.license-row .v { font-weight:500; text-align:right; }

.cta-final { background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%); padding:72px 0; text-align:center; color:#fff; }
.cta-final h2 { font-size:36px; font-weight:900; margin-bottom:12px; }
.cta-final .cta-phone { font-size:42px; font-weight:900; margin:8px 0; letter-spacing:2px; }
.cta-final p { font-size:17px; opacity:0.9; margin-bottom:28px; }
.cta-final .btn-white { background:#fff; color:var(--orange-dark); padding:16px 40px; border-radius:8px; font-weight:700; font-size:16px; display:inline-block; }

footer { background:var(--navy-dark); color:rgba(255,255,255,0.6); padding:48px 0 24px; font-size:13px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; margin-bottom:32px; }
.footer-grid h5 { color:#fff; font-size:14px; font-weight:700; margin-bottom:14px; }
.footer-grid p { color:rgba(255,255,255,0.6); line-height:2; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; text-align:center; font-size:12px; opacity:0.6; }

.news-list-box { background:#fff; border-radius:10px; border:1px solid var(--gray-light); overflow:hidden; }
.news-list-header { display:flex; justify-content:space-between; align-items:center; padding:16px 24px; border-bottom:1px solid var(--gray-light); }
.news-list-header .title { font-size:18px; font-weight:900; color:var(--navy); padding-left:12px; border-left:4px solid var(--orange); }
.news-list-header .more { font-size:14px; color:var(--orange); font-weight:600; }
.news-list-item { display:flex; justify-content:space-between; align-items:center; padding:14px 24px; border-bottom:1px solid var(--gray-light); transition:background 0.15s; }
.news-list-item:last-child { border-bottom:none; }
.news-list-item:hover { background:var(--cream); }
.news-list-item .item-title { font-size:15px; color:var(--charcoal); flex:1; padding-right:20px; }
.news-list-item:hover .item-title { color:var(--orange); }
.news-list-item .item-date { font-size:13px; color:var(--gray); white-space:nowrap; }

.float-qr { position:fixed; right:24px; bottom:120px; z-index:999; background:#fff; border-radius:12px; padding:12px; box-shadow:0 4px 24px rgba(0,0,0,0.15); text-align:center; width:140px; }
.float-qr img { width:116px; height:116px; border-radius:6px; }
.float-qr .qr-label { font-size:12px; color:var(--navy); font-weight:700; margin-top:8px; }
.float-qr .qr-sub { font-size:11px; color:var(--gray); margin-top:2px; }

@media (max-width:900px) {
  .hero h1 { font-size:30px; } .hero-bg { width:100%; opacity:0.25; }
  .hero-phone, .hero-phone span { font-size:22px; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .services-grid, .news-grid { grid-template-columns:1fr; }
  .guarantee-grid, .about-grid { grid-template-columns:1fr; gap:40px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .section-head h2, .article-title { font-size:26px; }
  .cta-final .cta-phone { font-size:28px; }
  .city-network-inner { flex-direction:column; gap:12px; }
  .float-qr { display:none; }
}

/* 相关阅读（2026-11-04 第二轮改造） */
.related-articles { background:#f7f9fc; padding:48px 0; }
.related-articles h2 { font-size:24px; font-weight:900; color:var(--navy); margin-bottom:24px; padding-left:12px; border-left:4px solid var(--orange); }
.related-articles ul { list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.related-articles li { background:#fff; border:1px solid var(--gray-light); border-radius:8px; padding:14px 18px; transition:box-shadow .15s; }
.related-articles li:hover { box-shadow:0 4px 12px rgba(15,42,107,.08); }
.related-articles a { color:var(--navy); font-size:15px; line-height:1.6; text-decoration:none; }
.related-articles a:hover { color:var(--orange); }
@media (max-width:768px){ .related-articles ul { grid-template-columns:1fr; } }
