/* ==========================================================================
   数问 GEO 官网 · 设计系统
   主色：深蓝 #10416B  强调：金 #C08A2E  底色：白 / 浅灰蓝
   ========================================================================== */

:root{
  --ink:#0E1F31;
  --ink-2:#33475C;
  --muted:#5F7183;
  --blue:#10416B;
  --blue-d:#0A2B4A;
  --blue-l:#EAF1F8;
  --gold:#B8873A;
  --gold-l:#FBF4E6;
  --bg:#FFFFFF;
  --bg-2:#F6F8FB;
  --bg-3:#EEF3F8;
  --line:#E1E7EE;
  --line-2:#CFD9E4;
  --ok:#1E7A5A;
  --radius:3px;
  --shadow:0 1px 2px rgba(14,31,49,.04),0 8px 24px rgba(14,31,49,.06);
  --max:1180px;
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border:0}
a{color:var(--blue);text-decoration:none;transition:color .15s}
a:hover{color:var(--gold)}
ul,ol{list-style:none}
table{border-collapse:collapse;width:100%}
::selection{background:var(--blue);color:#fff}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- 顶部条 ---------- */
.topbar{
  background:var(--blue-d);color:#C6D5E3;font-size:13px;line-height:1;
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:38px;gap:16px}
.topbar b{color:#fff;font-weight:600}
.topbar .r{display:flex;gap:18px;align-items:center}
.topbar a{color:#C6D5E3}
.topbar a:hover{color:#fff}
.topbar .hot{color:#F0D9AE}

/* ---------- 头部 ---------- */
.hd{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hd .wrap{display:flex;align-items:center;gap:32px;height:74px}
.logo{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.logo .mk{
  width:36px;height:36px;border-radius:3px;background:var(--blue);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:700;letter-spacing:.5px;
}
.logo .tx{display:flex;flex-direction:column;line-height:1.2}
.logo .tx b{font-size:19px;letter-spacing:1px;color:var(--ink)}
.logo .tx span{font-size:10.5px;color:var(--muted);letter-spacing:1.6px;text-transform:uppercase;margin-top:3px}

.nav{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:wrap}
.nav>li{position:relative}
.nav>li>a{
  display:block;padding:10px 14px;font-size:15px;color:var(--ink-2);font-weight:500;border-radius:3px;
}
.nav>li>a:hover,.nav>li.on>a{color:var(--blue);background:var(--blue-l)}
.nav .sub{
  position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow);padding:8px;display:none;border-radius:3px;
}
.nav>li:hover .sub{display:block}
.nav .sub a{display:block;padding:9px 12px;font-size:14px;color:var(--ink-2);border-radius:2px}
.nav .sub a:hover{background:var(--bg-2);color:var(--blue)}
.hd .cta{margin-left:18px;flex:0 0 auto}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:3px;font-size:14px;color:var(--ink-2);cursor:pointer}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;font-size:15.5px;font-weight:600;border-radius:3px;
  border:1px solid transparent;cursor:pointer;transition:.18s;line-height:1.2;
}
.btn-p{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-p:hover{background:var(--blue-d);color:#fff;border-color:var(--blue-d)}
.btn-g{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-g:hover{background:#9E722B;color:#fff;border-color:#9E722B}
.btn-o{background:#fff;color:var(--blue);border-color:var(--line-2)}
.btn-o:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-l)}
.btn-sm{padding:9px 18px;font-size:14px}
.btn-lg{padding:16px 34px;font-size:17px}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(160deg,#F8FAFC 0%,#EDF3F9 62%,#E7EFF7 100%);
  border-bottom:1px solid var(--line);position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-120px;top:-80px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(16,65,107,.07),rgba(16,65,107,0) 68%);pointer-events:none;
}
.hero .wrap{display:grid;grid-template-columns:1fr 372px;gap:56px;align-items:center;padding-top:64px;padding-bottom:64px;position:relative;z-index:1}
.hero .eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--blue);
  background:#fff;border:1px solid var(--line-2);padding:6px 13px;border-radius:20px;font-weight:600;
  letter-spacing:.3px;margin-bottom:20px;
}
.hero .eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block}
h1.page-h1{font-size:41px;line-height:1.28;letter-spacing:-.4px;font-weight:700;color:var(--ink)}
.hero .lead{font-size:18px;line-height:1.85;color:var(--ink-2);margin-top:20px;max-width:640px}
.hero .lead b{color:var(--blue);font-weight:600}
.hero .acts{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hero .meta{display:flex;gap:26px;margin-top:26px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.hero .meta span{display:flex;align-items:center;gap:7px}
.hero .meta i{width:14px;height:14px;border-radius:50%;background:var(--ok);display:inline-block;position:relative}
.hero .meta i::after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(43deg)}

/* NAP 卡 */
.napcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);box-shadow:var(--shadow);padding:26px 26px 24px;border-radius:3px}
.napcard .t{font-size:12px;letter-spacing:2px;color:var(--gold);font-weight:700;text-transform:uppercase}
.napcard .n{font-size:20px;font-weight:700;margin:7px 0 3px;color:var(--ink)}
.napcard .s{font-size:13.5px;color:var(--muted);margin-bottom:16px}
.napcard dl{display:grid;grid-template-columns:66px 1fr;gap:10px 12px;font-size:14px;border-top:1px solid var(--line);padding-top:16px}
.napcard dt{color:var(--muted)}
.napcard dd{color:var(--ink);font-weight:500;word-break:break-word;overflow-wrap:anywhere}
.napcard dd.tel a{color:inherit}
.napcard .tel{font-size:23px;font-weight:700;color:var(--blue);letter-spacing:.5px;line-height:1.2}
.napcard .foot{margin-top:18px;padding-top:15px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted);line-height:1.7}

/* 数据条 */
.stats{background:#fff;border-bottom:1px solid var(--line)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:0;padding-bottom:0}
.stats .i{padding:28px 22px;border-right:1px solid var(--line);text-align:center}
.stats .i:last-child{border-right:0}
.stats .v{font-size:31px;font-weight:700;color:var(--blue);line-height:1.2;letter-spacing:-.5px}
.stats .v small{font-size:15px;font-weight:600;margin-left:3px}
.stats .k{font-size:13.5px;color:var(--muted);margin-top:6px}

/* ---------- 通用区块 ---------- */
.sec{padding:74px 0}
.sec.alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec.tight{padding:56px 0}
.sec-h{max-width:760px;margin-bottom:38px}
.sec-h.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-h .k{font-size:12.5px;letter-spacing:2.2px;color:var(--gold);font-weight:700;text-transform:uppercase;margin-bottom:11px}
h2.sec-t{font-size:31px;line-height:1.35;font-weight:700;letter-spacing:-.3px;color:var(--ink)}
h2.sec-t small{display:block;font-size:16px;font-weight:400;color:var(--muted);margin-top:11px;line-height:1.7;letter-spacing:0}
.sec-h.center .k{justify-content:center}

/* ---------- 卡片 ---------- */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:3px;transition:.2s;position:relative}
.card:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-2px)}
.card .no{font-size:12px;font-weight:700;color:var(--gold);letter-spacing:1.5px;margin-bottom:10px}
.card h3{font-size:19px;font-weight:700;line-height:1.45;margin-bottom:10px;color:var(--ink)}
.card p{font-size:14.5px;color:var(--ink-2);line-height:1.8}
.card .lk{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:var(--blue);margin-top:16px}
.card .lk::after{content:"→";transition:transform .18s}
.card:hover .lk::after{transform:translateX(3px)}
.card.flat{background:var(--bg-2);border-color:transparent}
.card.flat:hover{transform:none;box-shadow:none;border-color:var(--line)}

/* 图标块 */
.ico{width:42px;height:42px;border-radius:3px;background:var(--blue-l);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:18px;font-weight:700}
.card.gold .ico{background:var(--gold-l);color:var(--gold)}

/* ---------- 流程 ---------- */
.steps{counter-reset:st;display:grid;gap:0;border-top:1px solid var(--line)}
.step{
  counter-increment:st;display:grid;grid-template-columns:88px 200px 1fr;gap:24px;
  padding:22px 4px;border-bottom:1px solid var(--line);align-items:start;
}
.step::before{
  content:"0" counter(st);font-size:22px;font-weight:700;color:var(--line-2);
  letter-spacing:-.5px;line-height:1.5;
}
.step .sn{font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.55}
.step .sd{font-size:14.5px;color:var(--ink-2);line-height:1.8}
.step .sd b{color:var(--blue);font-weight:600}
.step:hover{background:var(--bg-2)}

/* ---------- 表格 ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:3px;background:#fff}
table.tbl{font-size:14.5px;min-width:560px}
table.tbl th,table.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);line-height:1.7;vertical-align:top}
table.tbl thead th{background:var(--blue);color:#fff;font-weight:600;font-size:14px;letter-spacing:.3px;border-bottom:0}
table.tbl tbody tr:nth-child(even){background:#FBFCFD}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl td b{color:var(--ink);font-weight:600}
table.tbl .yes{color:var(--ok);font-weight:600}
table.tbl .no{color:#A34A3A;font-weight:600}
.tbl-note{font-size:13px;color:var(--muted);margin-top:11px;line-height:1.7}

/* ---------- 提示块 ---------- */
.note{
  background:var(--blue-l);border-left:3px solid var(--blue);padding:18px 22px;
  font-size:14.5px;color:var(--ink-2);line-height:1.85;border-radius:0 3px 3px 0;
}
.note b{color:var(--blue)}
.note.gold{background:var(--gold-l);border-left-color:var(--gold)}
.note.gold b{color:#8C6520}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);background:#fff}
.faq summary{
  cursor:pointer;padding:20px 44px 20px 0;font-size:16.5px;font-weight:600;color:var(--ink);
  position:relative;list-style:none;line-height:1.6;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:8px;top:19px;font-size:22px;color:var(--blue);font-weight:400;line-height:1;
}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--blue)}
.faq .a{padding:0 40px 22px 0;font-size:15px;color:var(--ink-2);line-height:1.9}
.faq .a p+p{margin-top:10px}
.faq .a b{color:var(--ink);font-weight:600}

/* ---------- 面包屑 ---------- */
.crumb{background:var(--bg-2);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.crumb .wrap{padding-top:13px;padding-bottom:13px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--blue)}
.crumb span.sep{color:var(--line-2)}
.crumb .cur{color:var(--ink-2)}

/* ---------- 文章排版 ---------- */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:52px;align-items:start;padding:52px 0 70px}
.art .body{max-width:760px}
.art .body h1{font-size:34px;line-height:1.38;font-weight:700;letter-spacing:-.3px;margin-bottom:18px}
.art .body .meta{font-size:13.5px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:26px}
.art .body h2{font-size:24px;line-height:1.45;font-weight:700;margin:40px 0 14px;padding-left:14px;border-left:3px solid var(--gold)}
.art .body h3{font-size:18px;font-weight:700;margin:26px 0 10px}
.art .body p{font-size:16px;line-height:1.95;color:var(--ink-2);margin-bottom:16px}
.art .body p b,.art .body li b{color:var(--ink);font-weight:600}
.art .body ul{margin:0 0 18px}
.art .body ul li{font-size:15.5px;line-height:1.9;color:var(--ink-2);padding-left:20px;position:relative;margin-bottom:9px}
.art .body ul li::before{content:"";position:absolute;left:2px;top:11px;width:5px;height:5px;background:var(--gold);border-radius:50%}
.art .body ol{counter-reset:ol;margin:0 0 18px}
.art .body ol li{counter-increment:ol;font-size:15.5px;line-height:1.9;color:var(--ink-2);padding-left:28px;position:relative;margin-bottom:9px}
.art .body ol li::before{content:counter(ol);position:absolute;left:0;top:2px;width:19px;height:19px;background:var(--blue-l);color:var(--blue);font-size:11.5px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}
.art .body .tldr{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--blue);padding:20px 24px;margin:0 0 26px;border-radius:0 3px 3px 0}
.art .body .tldr .t{font-size:12px;letter-spacing:1.8px;color:var(--blue);font-weight:700;margin-bottom:9px}
.art .body .tldr p{font-size:15px;margin:0;line-height:1.85}

.aside{position:sticky;top:96px;display:grid;gap:18px}
.aside .box{border:1px solid var(--line);background:#fff;padding:22px;border-radius:3px}
.aside .box .t{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.5px;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.aside .box ul li{font-size:14px;line-height:1.65;margin-bottom:11px}
.aside .box ul li a{color:var(--ink-2);display:block}
.aside .box ul li a:hover{color:var(--blue)}
.aside .box.cta{background:var(--blue);border-color:var(--blue);color:#fff}
.aside .box.cta .t{color:#fff;border-color:rgba(255,255,255,.2)}
.aside .box.cta p{font-size:13.5px;color:#C4D4E4;line-height:1.8;margin-bottom:14px}
.aside .box.cta .tel{font-size:21px;font-weight:700;color:#fff;letter-spacing:.5px;display:block;margin-bottom:4px}
.aside .box.cta .btn{width:100%;margin-top:12px}

/* ---------- CTA 带 ---------- */
.cta-band{background:var(--blue-d);color:#fff;padding:58px 0;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;left:-80px;bottom:-160px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.03)}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;position:relative;z-index:1}
.cta-band h2{font-size:28px;font-weight:700;line-height:1.4;margin-bottom:10px}
.cta-band p{font-size:15px;color:#B8CBDD;line-height:1.8;max-width:560px}
.cta-band .acts{display:flex;gap:14px;flex-wrap:wrap}
.cta-band .btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.cta-band .btn-o:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.cta-band .tel-b{font-size:26px;font-weight:700;letter-spacing:.5px;margin-top:6px}

/* ---------- 页脚 ---------- */
.ft{background:#0B1B2C;color:#93A7BA;padding:56px 0 0;font-size:14px}
.ft .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px}
.ft h4{font-size:14px;color:#fff;font-weight:600;margin-bottom:16px;letter-spacing:.5px}
.ft ul li{margin-bottom:10px;line-height:1.65}
.ft a{color:#93A7BA}
.ft a:hover{color:#fff}
.ft .brand .n{font-size:17px;color:#fff;font-weight:700;margin-bottom:10px}
.ft .brand p{font-size:13px;line-height:1.85;color:#7E93A7;margin-bottom:14px}
.ft .nap{font-size:13px;line-height:2;color:#8FA3B6}
.ft .nap b{color:#C7D5E2;font-weight:500}
.ft .bot{border-top:1px solid rgba(255,255,255,.09);padding:20px 0 26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:#6D8298}
.ft .bot a{color:#6D8298}
.ft .bot a:hover{color:#fff}

/* ---------- 内页头 ---------- */
.phead{background:linear-gradient(150deg,#F8FAFC,#EDF3F9);border-bottom:1px solid var(--line);padding:52px 0 46px}
.phead .k{font-size:12.5px;letter-spacing:2.2px;color:var(--gold);font-weight:700;text-transform:uppercase;margin-bottom:12px}
.phead h1{font-size:36px;line-height:1.34;font-weight:700;letter-spacing:-.3px;max-width:820px}
.phead .lead{font-size:17px;line-height:1.85;color:var(--ink-2);margin-top:16px;max-width:760px}
.phead .lead b{color:var(--blue)}
.phead .acts{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

/* ---------- 列表页 ---------- */
.listing{display:grid;gap:0;border-top:1px solid var(--line)}
.listing .row{display:grid;grid-template-columns:1fr 130px;gap:24px;padding:24px 4px;border-bottom:1px solid var(--line);align-items:start;transition:.15s}
.listing .row:hover{background:var(--bg-2)}
.listing .row h3{font-size:18.5px;font-weight:600;line-height:1.5;margin-bottom:7px}
.listing .row h3 a{color:var(--ink)}
.listing .row h3 a:hover{color:var(--blue)}
.listing .row p{font-size:14.5px;color:var(--muted);line-height:1.75;max-width:720px}
.listing .row .d{font-size:13px;color:var(--muted);text-align:right;padding-top:3px}

/* ---------- 实体信息表 ---------- */
.entity{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.entity .r{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--line)}
.entity .r:last-child{border-bottom:0}
.entity .r .k{background:var(--bg-2);padding:14px 20px;font-size:14px;color:var(--muted);border-right:1px solid var(--line)}
.entity .r .v{padding:14px 20px;font-size:14.5px;color:var(--ink);line-height:1.7}
.entity .r .v b{font-weight:600}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero .wrap{grid-template-columns:1fr;gap:36px;padding-top:48px;padding-bottom:48px}
  .napcard{max-width:100%}
  .art{grid-template-columns:1fr;gap:36px}
  .aside{position:static;grid-template-columns:1fr 1fr}
  .ft .cols{grid-template-columns:1fr 1fr;gap:32px}
  .g4{grid-template-columns:repeat(2,1fr)}
  .step{grid-template-columns:64px 170px 1fr;gap:18px}
}
@media (max-width:860px){
  .topbar .l,.topbar .hot{display:none}
  .topbar .wrap{justify-content:flex-end}
  .nav,.hd .cta{display:none}
  .menu-btn{display:block}
  .hd .wrap{height:64px}
  h1.page-h1{font-size:30px}
  h2.sec-t{font-size:25px}
  .phead h1{font-size:27px}
  .phead{padding:38px 0 34px}
  .sec{padding:52px 0}
  .g2,.g3{grid-template-columns:1fr}
  .stats .wrap{grid-template-columns:1fr 1fr}
  .stats .i:nth-child(2){border-right:0}
  .stats .i:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .step{grid-template-columns:1fr;gap:8px}
  .step::before{font-size:15px;color:var(--gold);font-weight:700}
  .entity .r{grid-template-columns:1fr}
  .entity .r .k{border-right:0;border-bottom:1px solid var(--line);padding-bottom:6px}
  .listing .row{grid-template-columns:1fr}
  .listing .row .d{text-align:left;padding-top:0}
  .art .body h1{font-size:27px}
  .aside{grid-template-columns:1fr}
  .cta-band .wrap{flex-direction:column;align-items:flex-start;gap:26px}
  .ft .cols{grid-template-columns:1fr}
}

/* 移动端展开导航 */
.mnav{display:none;border-top:1px solid var(--line);background:#fff;padding:10px 0 18px}
.mnav.open{display:block}
.mnav a{display:block;padding:12px 0;font-size:15px;color:var(--ink-2);border-bottom:1px solid var(--bg-3)}
.mnav a:hover{color:var(--blue)}
