/* ============ 基础变量与重置 ============ */
:root {
  --primary: #08243d;
  --primary-light: #17618a;
  --accent: #c79a45;
  --accent-light: #ead7ad;
  --gray-bg: #f4f6f5;
  --text: #20303d;
  --text-light: #687783;
  --white: #ffffff;
  --radius: 6px;
  --shadow: 0 16px 44px rgba(8, 36, 61, .09);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: var(--text);
  line-height: 1.7;
  background: var(--white);
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
ul { list-style: none; }

.container { width: 90%; max-width: 1200px; margin: 0 auto; }

/* ============ 顶部通栏 ============ */
.topbar {
  background: var(--primary);
  color: #cfdcec;
  font-size: 13px;
  padding: 6px 0;
}
.topbar .container {
  display: flex; justify-content: space-between; align-items: center;
}
.topbar .hotline { color: var(--accent); font-weight: 600; }

/* ============ 导航 ============ */
header.nav-wrap {
  background: var(--white);
  position: sticky; top: 0; z-index: 999;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.navbar {
  display: flex; justify-content: space-between; align-items: center;
  height: 72px;
}
.logo { display: flex; align-items: center; gap: 10px; }
.logo .mark {
  width: 42px; height: 42px; border-radius: 8px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: #fff; font-weight: 700; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.logo .name { font-size: 19px; font-weight: 700; color: var(--primary); }
.logo .name small { display: block; font-size: 11px; color: var(--text-light); font-weight: 400; letter-spacing: 1px; }

.nav-menu { display: flex; gap: 6px; }
.nav-menu a {
  padding: 10px 18px; border-radius: 6px;
  font-size: 15px; color: var(--text);
  transition: .25s;
}
.nav-menu a:hover { color: var(--primary-light); background: var(--gray-bg); }
.nav-menu a.active { color: var(--white); background: var(--primary); }

.hamburger { display: none; cursor: pointer; flex-direction: column; gap: 5px; padding: 8px; }
.hamburger span { width: 26px; height: 3px; background: var(--primary); border-radius: 2px; transition: .3s; }

/* ============ 通用 Banner ============ */
.page-banner {
  height: 260px;
  background: linear-gradient(rgba(15,48,87,.82), rgba(15,48,87,.82)),
              url('../图片/034CD0F7-B72A-40D4-822E-32F206D639BD.PNG') center/cover;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  color: #fff; text-align: center;
}
.page-banner h1 { font-size: 34px; letter-spacing: 2px; }
.page-banner p { margin-top: 10px; color: #cfdcec; font-size: 15px; }

/* ============ 首页 Hero ============ */
.hero {
  min-height: 82vh;
  background: linear-gradient(rgba(15,48,87,.78), rgba(15,48,87,.85)),
              url('../图片/C24998D0-9043-4F41-A5F9-095575CF3935.PNG') center/cover;
  display: flex; align-items: center; justify-content: center;
  text-align: center; color: #fff;
}
.hero h1 { font-size: 46px; letter-spacing: 2px; line-height: 1.25; }
.hero p.slogan { margin: 22px 0 36px; font-size: 18px; color: #d7e3f0; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; padding: 13px 30px; border-radius: 3px;
  font-size: 15px; font-weight: 600; transition: .3s;
}
.btn-gold { background: var(--accent); color: #fff; }
.btn-gold:hover { background: #b3901f; transform: translateY(-2px); }
.btn-outline { border: 1px solid #fff; margin-left: 14px; }
.btn-outline:hover { background: rgba(255,255,255,.15); }

/* ============ 首页增强版 ============ */
.hero-home {
  min-height: 720px;
  text-align: left;
  justify-content: initial;
  background:
    linear-gradient(90deg, rgba(5,24,42,.97) 0%, rgba(5,29,49,.91) 49%, rgba(7,30,50,.65) 100%),
    url('../图片/C24998D0-9043-4F41-A5F9-095575CF3935.PNG') center/cover;
  position: relative;
  overflow: hidden;
}
.hero-home::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%); opacity:.7; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.72fr); gap:90px; align-items:center; position:relative; z-index:1; }
.hero-copy { padding:90px 0; }
.eyebrow { color:var(--accent-light); font-size:14px; letter-spacing:3px; margin-bottom:22px; text-transform:uppercase; }
.hero-home h1 { font-family:"STSong","Songti SC",serif; font-size:60px; font-weight:600; letter-spacing:1px; margin:0; }
.hero-home h1 span { color:var(--accent-light); }
.hero-brandline { color:#fff; font-family:"STSong","Songti SC",serif; font-size:32px; font-weight:500; margin-top:10px; }
.hero-mission { color:var(--accent-light); font-size:16px; letter-spacing:4px; margin-top:12px; }
.hero-home p.slogan { font-size:17px; margin:24px 0 16px; color:#fff; }
.hero-desc { max-width:700px; color:#b8c9d6; font-size:15px; line-height:1.9; }
.hero-actions { margin:32px 0 30px; display:flex; gap:12px; }
.hero-actions .btn-outline { margin:0; }
.hero-trust { display:flex; flex-wrap:wrap; gap:9px 22px; color:#c6d4de; font-size:13px; }
.hero-trust span::first-letter { color:var(--accent); }
.hero-panel { background:rgba(255,255,255,.97); color:var(--text); padding:34px 32px 28px; border-top:4px solid var(--accent); box-shadow:0 24px 70px rgba(0,0,0,.2); }
.hero-panel .panel-label { color:var(--accent); font-size:12px; letter-spacing:2px; font-weight:700; }
.hero-panel h2 { color:var(--primary); font-family:"STSong","Songti SC",serif; font-size:25px; margin:8px 0 20px; }
.match-list > div { padding:13px 0; border-top:1px solid #e5e9ec; }
.match-list b,.match-list span { display:block; }
.match-list b { color:var(--primary); font-size:14px; margin-bottom:3px; }
.match-list span { color:var(--text-light); font-size:12px; }
.panel-call { display:flex; align-items:flex-end; justify-content:space-between; background:var(--primary); color:#fff; padding:14px 16px; margin-top:16px; }
.panel-call small { color:#b9c8d4; }
.panel-call strong { color:var(--accent-light); font-size:18px; }
.proof-strip { background:#fff; border-bottom:1px solid #e6e9e9; }
.proof-grid { display:grid; grid-template-columns:repeat(5,1fr); padding:27px 0; }
.proof-grid > div { text-align:center; border-right:1px solid #e5e8e9; }
.proof-grid > div:last-child { border:0; }
.proof-grid strong,.proof-grid span { display:block; }
.proof-grid strong { color:var(--primary); font-family:Georgia,serif; font-size:30px; }
.proof-grid sup { font-family:inherit; color:var(--accent); font-size:13px; margin-left:3px; }
.proof-grid span { color:var(--text-light); font-size:12px; margin-top:2px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.fact-source-note { margin:0; padding:0 0 18px; text-align:center; color:#89949a; font-size:11px; line-height:1.7; }
.fact-overview { background:#f4f6f5; border-bottom:1px solid #e0e5e4; }
.fact-table { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #d8dfdf; border-left:1px solid #d8dfdf; }
.fact-table > div { background:#fff; padding:24px 26px; border-right:1px solid #d8dfdf; border-bottom:1px solid #d8dfdf; }
.fact-table h3 { color:var(--primary); font-size:17px; margin-bottom:10px; }
.fact-table p { color:#5b6c77; font-size:13px; line-height:1.95; }
.fact-table strong { color:#314956; }
.fact-table a { color:var(--primary-light); font-weight:700; }
.disclosure-note { margin-top:22px; display:grid; grid-template-columns:160px 1fr; gap:20px; background:#ece8dc; border-left:4px solid var(--accent); padding:20px 24px; }
.disclosure-note strong { color:var(--primary); }
.disclosure-note p { color:#69665e; font-size:12px; line-height:1.8; }
.evidence-chain { background:#fff; }
.evidence-legend { display:flex; flex-wrap:wrap; gap:9px; margin:-12px 0 24px; }
.level { display:inline-block; padding:4px 8px; border-radius:2px; font-size:10px; font-weight:700; white-space:nowrap; }
.level-a { color:#1b6940; background:#e5f3ea; }
.level-b { color:#255b78; background:#e7f1f6; }
.level-c { color:#7a5d1e; background:#f6edda; }
.level-d { color:#8a4a3e; background:#f7e7e3; }
.table-scroll { overflow-x:auto; border:1px solid #d9e0e1; }
.evidence-table { width:100%; min-width:880px; border-collapse:collapse; background:#fff; }
.evidence-table caption { text-align:left; background:var(--primary); color:#fff; padding:15px 18px; font-size:12px; font-weight:600; }
.evidence-table th,.evidence-table td { border-right:1px solid #e0e5e5; border-bottom:1px solid #e0e5e5; padding:14px 16px; vertical-align:top; text-align:left; font-size:12px; line-height:1.75; }
.evidence-table thead th { background:#eff2f1; color:var(--primary); font-size:11px; }
.evidence-table tbody th { width:125px; color:var(--primary); background:#f8f9f8; }
.evidence-table td:nth-child(2) { width:28%; color:#425560; }
.evidence-table td:nth-child(3) { width:135px; }
.evidence-table td:last-child { color:#667680; }
.evidence-table a { color:var(--primary-light); text-decoration:underline; text-underline-offset:2px; }
.evidence-articles { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #dfe4e4; border-left:1px solid #dfe4e4; margin-top:34px; }
.evidence-articles article { padding:27px 28px; border-right:1px solid #dfe4e4; border-bottom:1px solid #dfe4e4; }
.evidence-index { color:var(--accent); font:12px Georgia,serif; }
.evidence-articles h3 { color:var(--primary); font-size:18px; margin:6px 0 12px; }
.evidence-articles p { color:#60717b; font-size:12px; line-height:1.95; }
.evidence-articles a { display:inline-block; color:var(--primary-light); font-size:11px; margin:13px 15px 0 0; }
.evidence-missing { display:grid; grid-template-columns:.65fr 1.35fr; gap:45px; padding:32px; margin-top:25px; background:#f2efe6; border-left:4px solid var(--accent); }
.evidence-missing h3 { color:var(--primary); font:24px "STSong",serif; }
.evidence-missing ol { display:grid; grid-template-columns:repeat(2,1fr); gap:8px 28px; padding-left:20px; }
.evidence-missing li { color:#615f58; font-size:12px; line-height:1.7; padding-left:4px; }
.update-log { display:grid; grid-template-columns:150px 1fr; gap:20px; border-top:1px solid #dfe4e4; margin-top:26px; padding-top:20px; }
.update-log strong { color:var(--primary); }
.update-log p { color:#77848b; font-size:11px; line-height:1.8; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:42px; }
.section-heading h2,.intro-copy h2,.deliver-main h2,.qualification-copy h2,.local-copy h2,.faq-intro h2 { color:var(--primary); font-family:"STSong","Songti SC",serif; font-size:34px; line-height:1.35; }
.section-heading > p { color:var(--text-light); max-width:490px; font-size:14px; }
.section-kicker { display:block; color:var(--accent); font-weight:700; letter-spacing:2px; font-size:12px; margin-bottom:9px; }
.section-kicker.light { color:var(--accent-light); }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.service-card { border:1px solid #e1e6e8; padding:27px 24px; min-height:275px; position:relative; transition:.3s; background:#fff; }
.service-card.featured { grid-column:span 2; background:var(--primary); border-color:var(--primary); }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent; }
.service-no { position:absolute; right:20px; top:16px; color:#d9dfe2; font-family:Georgia,serif; font-size:28px; }
.service-card.featured .service-no { color:rgba(255,255,255,.15); }
.pill { display:inline-block; color:var(--primary-light); background:#edf4f6; font-size:11px; padding:4px 9px; margin-bottom:32px; }
.featured .pill { background:rgba(255,255,255,.1); color:var(--accent-light); }
.service-card h3 { color:var(--primary); font-size:19px; margin-bottom:12px; }
.service-card p { color:var(--text-light); font-size:13px; line-height:1.8; }
.service-card.featured h3 { color:#fff; font-size:23px; }
.service-card.featured p { color:#b9c9d5; max-width:670px; }
.service-card a { display:inline-block; color:var(--accent-light); margin-top:18px; font-size:13px; }
.project-types { margin-top:24px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:17px 20px; background:#f6f7f5; border-left:3px solid var(--accent); }
.project-types b { color:var(--primary); margin-right:8px; font-size:13px; }
.project-types span { border:1px solid #dce2e2; background:#fff; padding:5px 11px; font-size:12px; color:#586875; }
.longform-content { margin-top:30px; padding:34px 38px; background:#f6f7f5; border-top:3px solid var(--primary); columns:2; column-gap:52px; }
.longform-content h3 { break-after:avoid; color:var(--primary); font-size:17px; margin:0 0 10px; }
.longform-content h3:not(:first-child) { margin-top:25px; }
.longform-content p { break-inside:avoid; color:#596a75; font-size:13px; line-height:2; margin-bottom:4px; text-align:justify; }
.intro-section { background:#edf1f0; }
.intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:stretch; }
.intro-visual { min-height:470px; background:linear-gradient(180deg,rgba(5,28,47,.1),rgba(5,28,47,.9)),url('../图片/3115A5D2-868E-4430-A86C-105E9529C325.PNG') center/cover; padding:38px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; }
.visual-quote { font-family:"STSong","Songti SC",serif; font-size:25px; max-width:390px; line-height:1.55; margin-bottom:30px; }
.visual-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; border-top:1px solid rgba(255,255,255,.22); padding-top:20px; }
.visual-stats span,.visual-stats b { display:block; }
.visual-stats span { font-size:11px; color:#b9c8d3; }
.visual-stats b { color:var(--accent-light); font:25px Georgia,serif; margin-bottom:4px; }
.intro-copy { align-self:center; }
.intro-copy p { color:#596a75; font-size:14px; line-height:2; margin-top:20px; }
.partner-line { display:flex; flex-wrap:wrap; gap:9px; margin:24px 0; }
.partner-line span { width:100%; color:#8a959b; font-size:12px; }
.partner-line b { padding:5px 10px; border:1px solid #d1d9d9; color:#4b5d68; font-size:12px; }
.text-link { color:var(--primary-light); font-size:14px; font-weight:600; }
.process-section { background:#f3f5f4; }
.process-overview { display:grid; grid-template-columns:.72fr 1.28fr; gap:48px; align-items:center; padding:30px 34px; color:#fff; background:var(--primary); border-left:5px solid var(--accent); }
.process-overview span { color:var(--accent-light); font-size:11px; letter-spacing:2px; }
.process-overview h3 { margin-top:5px; font:22px/1.55 "STSong","Songti SC",serif; }
.process-overview p { color:#b8c8d3; font-size:13px; line-height:2; }
.process-principles { display:grid; grid-template-columns:repeat(4,1fr); margin:20px 0 30px; border-top:1px solid #dce2e3; border-left:1px solid #dce2e3; }
.process-principles > div { min-height:118px; padding:20px; background:#fff; border-right:1px solid #dce2e3; border-bottom:1px solid #dce2e3; }
.process-principles b,.process-principles span { display:block; }
.process-principles b { color:var(--primary); font-size:15px; margin-bottom:7px; }
.process-principles span { color:#687984; font-size:11px; line-height:1.8; }
.process-detail-list { display:grid; gap:20px; list-style:none; }
.process-step { display:grid; grid-template-columns:108px 1fr; background:#fff; border:1px solid #dce3e4; box-shadow:0 8px 25px rgba(8,36,61,.055); }
.step-no { padding:28px 14px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; color:var(--accent-light); background:linear-gradient(160deg,var(--primary),#174f72); font:italic 31px Georgia,serif; }
.step-no small { margin-top:9px; color:#c8d5de; font:11px "Microsoft YaHei",sans-serif; letter-spacing:1px; }
.step-content { padding:28px 32px 26px; }
.step-content h3 { color:var(--primary); font:23px/1.45 "STSong","Songti SC",serif; margin-bottom:13px; }
.step-content > p { color:#596b76; font-size:13px; line-height:2; margin-bottom:9px; text-align:justify; }
.step-meta { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:17px; }
.step-meta span { padding:11px 13px; color:#65757e; background:#f4f6f5; border-left:3px solid #ccd6d8; font-size:11px; line-height:1.75; }
.step-meta b { display:block; color:var(--primary); font-size:11px; margin-bottom:2px; }
.process-step:nth-child(5) { border-top:3px solid var(--accent); }
.process-step:hover { border-color:#c9d4d6; box-shadow:0 12px 32px rgba(8,36,61,.09); }
.deliver-section { background:var(--primary); color:#fff; }
.deliver-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:center; }
.deliver-main h2 { color:#fff; }
.deliver-main > p { color:#b7c6d0; margin:18px 0 25px; line-height:1.9; font-size:14px; }
.format-badges { display:flex; flex-wrap:wrap; gap:10px; }
.format-badges span { border:1px solid rgba(255,255,255,.2); padding:8px 13px; font-size:12px; color:#d9e2e8; }
.guarantee-list { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.15); }
.guarantee-list div { background:#0b2d4a; padding:24px 20px; }
.guarantee-list b,.guarantee-list span { display:block; }
.guarantee-list b { color:var(--accent-light); font:23px Georgia,"Microsoft YaHei",serif; margin-bottom:4px; }
.guarantee-list span { color:#aebfcb; font-size:11px; }
.team-section { background:#f5f6f4; }
.team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.expert-card { display:flex; gap:20px; align-items:center; background:#fff; padding:24px; border:1px solid #e1e5e4; }
.avatar { width:68px; height:76px; background:linear-gradient(145deg,var(--primary),#1f5a7d); color:var(--accent-light); display:flex; align-items:center; justify-content:center; font:28px "STSong",serif; flex:none; }
.expert-card span { color:var(--accent); font-size:11px; }
.expert-card h3 { color:var(--primary); margin:2px 0 5px; }
.expert-card p { font-size:12px; color:#52636f; }
.expert-card small { color:#89949a; }
.audit-bar { margin-top:22px; background:var(--primary); padding:26px 30px; display:flex; justify-content:space-between; align-items:center; gap:40px; color:#fff; }
.audit-bar span { color:var(--accent-light); font-size:11px; }
.audit-bar h3 { font-size:16px; margin-top:4px; }
.audit-bar i { color:var(--accent); font-style:normal; margin:0 10px; }
.audit-bar p { max-width:390px; color:#afc0cc; font-size:12px; }
.qualification-section { background:#fff; }
.qualification-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; }
.qualification-copy > p { color:#60717c; font-size:14px; line-height:1.9; margin:18px 0; }
.qualification-copy li { position:relative; padding:9px 0 9px 22px; color:#495b66; font-size:13px; border-bottom:1px solid #edf0f0; }
.qualification-copy li::before { content:"✓"; position:absolute; left:0; color:var(--accent); }
.qualification-card { background:#f2f0e9; padding:32px; border:1px solid #e0dac9; box-shadow:12px 12px 0 #e6ebea; }
.cert-head { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #d6cfbb; padding-bottom:18px; margin-bottom:9px; }
.cert-head span { color:#7d735c; font-size:12px; letter-spacing:1px; }
.cert-head b { color:var(--primary); font:32px "STSong",serif; }
.qualification-card dl { display:grid; grid-template-columns:86px 1fr; }
.qualification-card dt,.qualification-card dd { padding:12px 0; border-bottom:1px solid #ddd7c7; font-size:12px; }
.qualification-card dt { color:#8b816a; }
.qualification-card dd { color:#354854; }
.qualification-card small { display:block; color:#928b7c; font-size:10px; margin-top:16px; }
.cases-section { background:#f3f5f4; }
.case-text-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; counter-reset:cases; }
.case-text { background:#fff; border-top:3px solid var(--primary); padding:28px; position:relative; }
.case-text::after { counter-increment:cases; content:"0" counter(cases); position:absolute; right:22px; top:17px; font:32px Georgia,serif; color:#e6e9e8; }
.case-text > span { color:var(--accent); font-size:11px; }
.case-text h3 { color:var(--primary); font-size:18px; line-height:1.55; margin:13px 0 22px; min-height:56px; }
.case-text p { font-size:12px; line-height:1.9; color:#667680; border-top:1px solid #edf0ef; padding-top:15px; }
.case-text b { display:inline-block; margin-top:18px; background:#edf2f3; color:var(--primary-light); padding:5px 9px; font-size:11px; }
.case-disclaimer { margin:-18px 0 24px; padding:14px 17px; color:#776d58; background:#f0ebde; border-left:3px solid var(--accent); font-size:11px; line-height:1.8; }
.local-section { background:linear-gradient(100deg,var(--primary) 0%,var(--primary) 52%,#f6f7f5 52%,#f6f7f5 100%); }
.local-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.local-copy { color:#fff; }
.local-copy h2 { color:#fff; }
.local-copy > p { color:#b6c6d1; font-size:14px; line-height:1.9; margin:18px 0 24px; }
.address-card { border-top:1px solid rgba(255,255,255,.18); padding-top:20px; }
.address-card span,.address-card b,.address-card a { display:block; }
.address-card span { color:#859dac; font-size:11px; }
.address-card b { font-size:15px; line-height:1.7; margin:8px 0; }
.address-card a { color:var(--accent-light); font:24px Georgia,serif; }
.business-info { color:var(--text); }
.business-info h3 { color:var(--primary); font-family:"STSong",serif; font-size:25px; border-bottom:2px solid var(--primary); padding-bottom:15px; }
.business-info dl { display:grid; grid-template-columns:90px 1fr; }
.business-info dt,.business-info dd { padding:12px 0; border-bottom:1px solid #e0e5e4; font-size:12px; }
.business-info dt { color:#899397; }
.business-info dd { color:#40525d; }
.business-info small { display:block; color:#9ba3a5; font-size:10px; margin-top:14px; }
.status-dot { display:inline-block; width:7px; height:7px; background:#4ca16c; border-radius:50%; margin-right:7px; }
.registry-section { background:#f1f3f2; border-top:1px solid #e0e5e4; border-bottom:1px solid #e0e5e4; }
.registry-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:22px; align-items:stretch; }
.registry-facts,.registry-scope { background:#fff; padding:34px 36px; border-top:4px solid var(--primary); box-shadow:var(--shadow); }
.registry-facts h3,.registry-scope h3 { color:var(--primary); font-family:"STSong","Songti SC",serif; font-size:25px; margin-bottom:18px; }
.registry-facts dl { display:grid; grid-template-columns:110px 1fr; }
.registry-facts dt,.registry-facts dd { padding:11px 0; border-bottom:1px solid #e4e8e7; font-size:13px; }
.registry-facts dt { color:#899397; }
.registry-facts dd { color:#354854; font-weight:600; }
.registry-scope { border-top-color:var(--accent); }
.registry-scope > span { display:block; color:var(--accent); font-size:11px; letter-spacing:2px; margin-bottom:6px; }
.registry-scope p { color:#52636e; font-size:13px; line-height:2.05; text-align:justify; }
.registry-scope small { display:block; color:#8b806b; border-top:1px solid #e7e2d5; margin-top:18px; padding-top:14px; font-size:11px; }
.verification-section { background:#fff; }
.verification-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.verification-card { padding:27px 25px; display:flex; flex-direction:column; background:#f6f8f7; border:1px solid #dde4e4; border-top:3px solid var(--primary); }
.verification-card > span { color:var(--accent); font-size:10px; letter-spacing:1px; }
.verification-card h3 { color:var(--primary); font-size:18px; line-height:1.5; margin:7px 0 11px; }
.verification-card p { color:#61727c; font-size:12px; line-height:1.9; flex:1; }
.verification-card small { display:block; color:#8a959a; font-size:10px; line-height:1.7; margin:14px 0; padding-top:12px; border-top:1px solid #dfe5e4; }
.verification-card a { color:var(--primary-light); font-size:12px; font-weight:700; line-height:1.6; }
.verification-card a:hover { color:var(--accent); }
.verification-note { display:grid; grid-template-columns:100px 1fr; gap:20px; margin-top:22px; padding:19px 22px; background:#f1ede2; border-left:4px solid var(--accent); }
.verification-note b { color:var(--primary); font-size:13px; }
.verification-note p { color:#706b5f; font-size:11px; line-height:1.85; }
.faq-section { background:#fff; }
.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.faq-intro { position:sticky; top:115px; }
.faq-intro p { color:var(--text-light); margin:18px 0 24px; font-size:13px; max-width:320px; }
.btn-dark { background:var(--primary); color:#fff; }
.faq-list details { border-bottom:1px solid #dfe5e6; padding:20px 0; }
.faq-list summary { list-style:none; cursor:pointer; color:var(--primary); font-size:16px; font-weight:600; padding-right:35px; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:5px; color:var(--accent); font-size:22px; font-weight:400; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { color:#687984; font-size:13px; line-height:1.9; padding:14px 35px 0 0; }
.final-cta { background:#123a58; color:#fff; padding:48px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.final-cta .container { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.final-cta span { color:var(--accent-light); font-size:12px; }
.final-cta h2 { font-family:"STSong",serif; font-size:27px; margin:5px 0; }
.final-cta p { color:#9fb5c4; font-size:12px; }

/* ============ 通用区块 ============ */
section.block { padding: 70px 0; }
section.block.gray { background: var(--gray-bg); }
.sec-title { text-align: center; margin-bottom: 48px; }
.sec-title h2 { font-size: 30px; color: var(--primary); }
.sec-title h2::after {
  content: ""; display: block; width: 50px; height: 3px;
  background: var(--accent); margin: 12px auto 0; border-radius: 2px;
}
.sec-title p { color: var(--text-light); margin-top: 12px; font-size: 15px; }

/* ============ 卡片网格 ============ */
.grid { display: grid; gap: 26px; }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }

.card {
  background: var(--white); border-radius: var(--radius);
  padding: 36px 28px; box-shadow: var(--shadow);
  transition: .3s;
}
.card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(15,48,87,.14); }
.card .icon {
  width: 56px; height: 56px; border-radius: 12px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: #fff; font-size: 24px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.card h3 { font-size: 18px; color: var(--primary); margin-bottom: 10px; }
.card p { font-size: 14px; color: var(--text-light); }

/* ============ 数字统计 ============ */
.stats { background: var(--primary); color: #fff; padding: 56px 0; }
.stats .grid-4 { text-align: center; }
.stat-num { font-size: 40px; font-weight: 700; color: var(--accent); }
.stat-label { margin-top: 6px; color: #cfdcec; font-size: 14px; }

/* ============ 案例 ============ */
.case-card { overflow: hidden; padding: 0; }
.case-card .thumb { height: 200px; overflow: hidden; }
.case-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: .4s; }
.case-card:hover .thumb img { transform: scale(1.06); }
.case-card .info { padding: 22px; }
.case-card .tag {
  display: inline-block; font-size: 12px; color: var(--primary-light);
  background: #e8f0fa; padding: 3px 12px; border-radius: 20px; margin-bottom: 10px;
}

/* 案例筛选 */
.filter-bar { text-align: center; margin-bottom: 36px; }
.filter-bar button {
  border: 1px solid #d5dde6; background: #fff; padding: 8px 24px;
  border-radius: 20px; margin: 4px; cursor: pointer; font-size: 14px; transition: .25s;
}
.filter-bar button.active, .filter-bar button:hover {
  background: var(--primary); color: #fff; border-color: var(--primary);
}
.case-evidence-intro { max-width:900px; margin:0 auto 32px; text-align:center; }
.case-evidence-intro h2 { color:var(--primary); font:30px "STSong","Songti SC",serif; margin-bottom:14px; }
.case-evidence-intro p { color:var(--text-light); font-size:14px; line-height:2; }
.case-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.case-detail { display:block; position:relative; padding:30px 30px 26px; border:1px solid #dfe5e7; border-top:4px solid var(--primary); background:#fff; box-shadow:var(--shadow); }
.case-detail:hover { transform:translateY(-4px); }
.case-detail .case-index { position:absolute; top:18px; right:22px; color:#e1e7e8; font:34px Georgia,serif; }
.case-detail .tag { margin:0 48px 12px 0; }
.case-detail h2 { color:var(--primary); font-size:20px; line-height:1.5; margin-bottom:20px; padding-right:22px; }
.case-detail dl { display:grid; grid-template-columns:82px 1fr; border-top:1px solid #e5e9e9; }
.case-detail dt,.case-detail dd { padding:9px 0; border-bottom:1px solid #e7ebeb; font-size:12px; line-height:1.75; }
.case-detail dt { color:#8b7651; font-weight:700; }
.case-detail dd { color:#546772; }

/* ============ 关于我们 ============ */
.about-flex { display: flex; gap: 50px; align-items: center; }
.about-flex .txt { flex: 1; }
.about-flex .pic { flex: 1; min-height:390px; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.about-flex .pic img { width:100%; height:390px; object-fit:cover; }
.about-flex h3 { color: var(--primary); font-size: 22px; margin-bottom: 16px; }
.about-flex p { margin-bottom: 14px; color: #555; font-size: 15px; }

.timeline { position: relative; margin-top: 20px; padding-left: 30px; }
.timeline::before {
  content: ""; position: absolute; left: 8px; top: 0; bottom: 0;
  width: 2px; background: #d5dde6;
}
.timeline .item { position: relative; padding-bottom: 28px; }
.timeline .item::before {
  content: ""; position: absolute; left: -28px; top: 6px;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--accent); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--accent);
}
.timeline .year { font-weight: 700; color: var(--primary); }
.office-section { background:#eef2f1; }
.office-gallery { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:235px; gap:16px; }
.office-gallery figure { position:relative; overflow:hidden; background:#dfe5e4; }
.office-gallery figure.wide { grid-column:span 2; }
.office-gallery img { width:100%; height:100%; object-fit:cover; transition:.35s; }
.office-gallery figure:hover img { transform:scale(1.025); }
.office-gallery figcaption { position:absolute; left:0; right:0; bottom:0; padding:28px 16px 12px; color:#fff; font-size:12px; background:linear-gradient(transparent,rgba(5,28,47,.82)); }

/* ============ 联系我们 ============ */
.contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; }
.contact-info .row { display: flex; gap: 16px; margin-bottom: 26px; }
.contact-info .ci {
  width: 48px; height: 48px; flex-shrink: 0; border-radius: 10px;
  background: var(--gray-bg); color: var(--primary); font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.contact-info h4 { color: var(--primary); margin-bottom: 4px; }
.contact-info p { color: var(--text-light); font-size: 14px; }

.form-box { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 36px; }
.form-box .frow { display: flex; gap: 16px; }
.form-box input, .form-box textarea {
  width: 100%; padding: 13px 16px; margin-bottom: 16px;
  border: 1px solid #dfe6ee; border-radius: 8px; font-size: 14px;
  font-family: inherit; transition: .25s;
}
.form-box input:focus, .form-box textarea:focus {
  outline: none; border-color: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(30,90,158,.12);
}
.form-box button {
  width: 100%; padding: 14px; border: none; border-radius: 8px;
  background: var(--primary); color: #fff; font-size: 16px; cursor: pointer; transition: .3s;
}
.form-box button:hover { background: var(--primary-light); }
.contact-prep h3 { color:var(--primary); font:25px "STSong","Songti SC",serif; margin-bottom:16px; }
.contact-prep ol { padding-left:22px; }
.contact-prep li { color:#586975; font-size:13px; line-height:1.8; margin-bottom:8px; }
.contact-prep li b { color:var(--primary); }
.contact-prep > p { color:#7a878e; font-size:12px; line-height:1.9; padding-top:14px; border-top:1px solid #e3e8e8; }
.contact-actions { display:flex; gap:10px; margin-top:20px; }
.contact-actions .btn { flex:1; padding-left:12px; padding-right:12px; }
.map-heading { margin-top:58px; }
.map-heading h2 { color:var(--primary); font:29px "STSong","Songti SC",serif; }
.map-heading p { color:var(--text-light); font-size:13px; margin-top:8px; }
.map-image-wrap { position:relative; margin-top:22px; height:420px; overflow:hidden; border:1px solid #dce3e4; box-shadow:var(--shadow); background:#eef1f1; }
.map-image-wrap img { width:100%; height:520px; object-fit:cover; object-position:top center; }
.map-brand-overlay { position:absolute; z-index:2; top:0; left:0; right:0; min-height:128px; padding:14px 22px; display:flex; flex-direction:column; justify-content:center; color:#fff; background:linear-gradient(90deg,rgba(8,36,61,.98),rgba(8,36,61,.9)); }
.map-brand-overlay b { font-size:17px; }
.map-brand-overlay span { color:#c8d7e1; font-size:11px; margin-top:2px; }
.map-location-overlay { position:absolute; z-index:3; top:65%; left:50%; transform:translate(-50%,-50%); width:min(340px,72%); padding:13px 17px; display:flex; flex-direction:column; border-radius:5px; background:#fff; color:var(--primary); box-shadow:0 7px 22px rgba(8,36,61,.22); }
.map-location-overlay b { font-size:15px; }
.map-location-overlay span { color:#566a78; font-size:12px; }

/* ============ 招聘 ============ */
.job-card { cursor: pointer; }
.job-card .head { display: flex; justify-content: space-between; align-items: center; }
.job-card .salary { color: var(--accent); font-weight: 700; }
.job-card .detail { max-height: 0; overflow: hidden; transition: .4s; }
.job-card.open .detail { max-height: 400px; margin-top: 16px; }
.job-card .detail ul li {
  position: relative; padding-left: 18px; font-size: 14px; color: #555; margin-bottom: 6px;
}
.job-card .detail ul li::before { content: "▪"; position: absolute; left: 0; color: var(--accent); }
.job-card .toggle-hint { font-size: 13px; color: var(--primary-light); margin-top: 12px; }

/* ============ 页脚 ============ */
footer { background: #0b2340; color: #9fb3c8; padding: 56px 0 0; font-size: 14px; }
footer .grid-4 { padding-bottom: 40px; }
footer h4 { color: #fff; margin-bottom: 18px; font-size: 16px; }
footer li { margin-bottom: 10px; }
footer a:hover { color: var(--accent); }
footer .copyright {
  border-top: 1px solid rgba(255,255,255,.08);
  text-align: center; padding: 18px 0; font-size: 13px;
}

/* ============ 返回顶部 & 浮动电话 ============ */
.float-tel {
  position: fixed; right: 20px; bottom: 90px; z-index: 998;
  background: var(--accent); color: #fff; padding: 12px 18px;
  border-radius: 30px; box-shadow: var(--shadow); font-size: 14px; font-weight: 600;
}
.back-top {
  position: fixed; right: 26px; bottom: 30px; z-index: 998;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--primary); color: #fff; border: none; cursor: pointer;
  font-size: 18px; opacity: 0; visibility: hidden; transition: .3s;
}
.back-top.show { opacity: 1; visibility: visible; }

/* ============ 入场动画 ============ */
.fade-up { opacity: 0; transform: translateY(30px); transition: .6s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }

/* ============ 响应式 ============ */
@media (max-width: 992px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .about-flex { flex-direction: column; }
  .contact-grid { grid-template-columns: 1fr; }
  .hero-grid { grid-template-columns:1fr; gap:0; }
  .hero-copy { padding:70px 0 35px; }
  .hero-panel { margin-bottom:60px; max-width:620px; }
  .proof-grid { grid-template-columns:repeat(5,1fr); }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .intro-grid,.deliver-grid,.qualification-grid,.faq-grid { grid-template-columns:1fr; gap:45px; }
  .process-overview { grid-template-columns:1fr; gap:14px; }
  .process-principles { grid-template-columns:repeat(2,1fr); }
  .faq-intro { position:static; }
  .local-grid { gap:50px; }
  .registry-layout { grid-template-columns:1fr; }
  .verification-grid { grid-template-columns:repeat(2,1fr); }
  .case-detail-grid { grid-template-columns:1fr; }
  .office-gallery { grid-template-columns:repeat(2,1fr); }
  .section-heading { align-items:start; flex-direction:column; gap:14px; }
}

@media (max-width: 768px) {
  .hamburger { display: flex; }
  .nav-menu {
    position: fixed; top: 72px; right: -100%;
    width: 70%; max-width: 300px; height: calc(100vh - 72px);
    background: var(--white); flex-direction: column;
    padding: 24px; gap: 4px; transition: .35s;
    box-shadow: -4px 0 20px rgba(0,0,0,.1);
  }
  .nav-menu.open { right: 0; }
  .nav-menu a { display: block; padding: 14px 18px; }

  .hero h1 { font-size: 30px; }
  .hero p.slogan { font-size: 15px; padding: 0 20px; }
  .btn-outline { margin-left: 0; margin-top: 14px; }
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .form-box .frow { flex-direction: column; gap: 0; }
  .contact-actions { flex-direction:column; }
  .topbar .container { font-size: 12px; }
  .page-banner { height: 200px; }
  .page-banner h1 { font-size: 26px; }
  section.block { padding: 48px 0; }
  .float-tel { display: none; }
  .hero-home { min-height:0; }
  .hero-home h1 { font-size:40px; }
  .hero-brandline { font-size:26px; }
  .hero-copy { padding:55px 0 30px; }
  .hero-actions { align-items:stretch; }
  .hero-actions .btn { flex:1; padding-left:12px; padding-right:12px; }
  .hero-panel { padding:25px 22px; margin-bottom:45px; }
  .proof-grid { grid-template-columns:repeat(2,1fr); padding:16px 0; row-gap:14px; }
  .proof-grid > div { border-right:1px solid #e5e8e9; }
  .proof-grid > div:nth-child(even) { border-right:0; }
  .proof-grid > div:last-child { grid-column:1 / -1; }
  .service-grid,.team-grid,.case-text-grid { grid-template-columns:1fr; }
  .service-card.featured { grid-column:span 1; }
  .service-card { min-height:0; }
  .intro-visual { min-height:390px; padding:25px; }
  .process-step { grid-template-columns:82px 1fr; }
  .step-content { padding:24px 22px; }
  .step-meta { grid-template-columns:1fr; }
  .guarantee-list { grid-template-columns:1fr 1fr; }
  .audit-bar { flex-direction:column; align-items:flex-start; gap:16px; }
  .local-section { background:var(--primary); }
  .local-grid { grid-template-columns:1fr; }
  .registry-facts,.registry-scope { padding:26px 22px; }
  .business-info { background:#f6f7f5; padding:25px; }
  .final-cta .container { flex-direction:column; align-items:flex-start; }
  .section-heading h2,.intro-copy h2,.deliver-main h2,.qualification-copy h2,.local-copy h2,.faq-intro h2 { font-size:29px; }
  .fact-table { grid-template-columns:1fr; }
  .disclosure-note { grid-template-columns:1fr; gap:7px; }
  .longform-content { columns:1; padding:26px 22px; }
  .evidence-articles { grid-template-columns:1fr; }
  .evidence-missing { grid-template-columns:1fr; gap:18px; padding:25px 22px; }
  .verification-grid { grid-template-columns:1fr; }
  .verification-note { grid-template-columns:1fr; gap:6px; }
  .evidence-missing ol { grid-template-columns:1fr; }
  .update-log { grid-template-columns:1fr; gap:6px; }
  .office-gallery { grid-template-columns:1fr; grid-auto-rows:240px; }
  .office-gallery figure.wide { grid-column:span 1; }
  .map-image-wrap { height:300px; }
  .map-image-wrap img { height:370px; }
  .map-brand-overlay { min-height:78px; }
  .map-location-overlay { top:47%; width:78%; padding:10px 13px; }
  .map-location-overlay b { font-size:13px; }
}

@media (max-width: 480px) {
  .topbar .container > span:first-child { display:none; }
  .topbar .container { justify-content:center; }
  .logo .name { font-size:16px; }
  .logo .name small { font-size:9px; }
  .hero-home h1 { font-size:34px; }
  .hero-brandline { font-size:22px; }
  .hero-mission { font-size:13px; letter-spacing:2px; }
  .hero-actions { flex-direction:column; }
  .hero-trust { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .panel-call { align-items:flex-start; flex-direction:column; gap:3px; }
  .project-types b { width:100%; }
  .visual-stats { grid-template-columns:1fr 1fr; }
  .process-overview { padding:24px 20px; }
  .process-principles { grid-template-columns:1fr; }
  .process-principles > div { min-height:0; }
  .process-step { grid-template-columns:1fr; }
  .step-no { padding:13px 18px; flex-direction:row; justify-content:flex-start; gap:12px; font-size:24px; }
  .step-no small { margin:0; }
  .step-content { padding:22px 18px; }
  .step-content h3 { font-size:20px; }
  .guarantee-list { grid-template-columns:1fr; }
  .qualification-card { padding:24px 20px; box-shadow:7px 7px 0 #e6ebea; }
  .qualification-card dl,.business-info dl { grid-template-columns:76px 1fr; }
  .format-badges span { width:100%; }
}
