/* ============================================================
   浩阳财税 · 全站样式（v2 · 深色 navy header + 橙 CTA 骨架）
   ============================================================ */
:root{
  --navy:#2e5a7e;
  --navy-dark:#1f4160;
  --navy-deep:#16324f;
  --navy-light:#e8f0f8;
  --orange:#d97a2e;
  --orange-dark:#b96218;
  --orange-light:#fdf1e6;
  --gold:#c99f5b;
  --red:#d43c30;
  --green:#2d8a5f;
  --ink-1:#1d2129;
  --ink-2:#4e5969;
  --ink-3:#86909c;
  --ink-4:#b3bac4;
  --line:#e3e8ee;
  --line-2:#eef2f6;
  --bg:#f4f7fa;
  --bg-soft:#f8fafc;
  --nav-h:64px;
  --radius:8px;
  --shadow-sm:0 2px 8px rgba(30,60,90,.06);
  --shadow-md:0 6px 22px rgba(30,60,90,.09);
  --shadow-lg:0 14px 44px rgba(30,60,90,.14);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  font-size:14px;color:var(--ink-1);background:#fff;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;object-fit:cover}
a{color:inherit;text-decoration:none;transition:color .15s}
a:hover{color:var(--orange)}
button{font-family:inherit;border:none;background:none;cursor:pointer}
input,select,textarea{font-family:inherit;outline:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ===== 顶部资质条 ===== */
.top-bar{
  background:var(--navy-deep);color:#c9d6e4;font-size:12px;
  padding:7px 0;text-align:center;letter-spacing:.3px;
}
.top-bar .dot{margin:0 10px;opacity:.4}
.top-bar span{white-space:nowrap}

/* ===== 按钮 ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:36px;padding:0 18px;border:1px solid transparent;border-radius:6px;
  font-size:13px;font-weight:600;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s,transform .12s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn-lg{height:44px;padding:0 26px;font-size:14px}
.btn-sm{height:30px;padding:0 14px;font-size:12px}
.btn-block{width:100%}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange-dark);color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-dark);color:#fff}
.btn-outline{background:#fff;color:var(--navy);border-color:#b9c8d8}
.btn-outline:hover{border-color:var(--navy);color:var(--navy)}
.btn-orange-outline{background:#fff;color:var(--orange);border-color:var(--orange)}
.btn-orange-outline:hover{background:var(--orange-light)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:#b8332a;color:#fff}

/* ===== 头部导航 ===== */
.site-header{
  background:var(--navy);position:sticky;top:0;z-index:100;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.nav{display:flex;align-items:center;height:var(--nav-h);gap:26px}
.brand{display:flex;align-items:center;gap:10px;color:#fff}
.brand:hover{color:#fff}
.brand-mark{
  width:38px;height:38px;background:linear-gradient(135deg,var(--orange),var(--gold));
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:20px;
}
.brand-name{font-size:20px;font-weight:800;color:#fff;letter-spacing:.5px}
.brand-name em{font-style:normal;color:#ffb27d}
.brand-sub{font-size:10px;color:rgba(255,255,255,.55);line-height:1.3;letter-spacing:1px;border-left:1px solid rgba(255,255,255,.2);padding-left:10px;margin-left:2px}
.nav-menu{display:flex;gap:2px;margin-left:8px;flex:1}
.nav-menu a{
  height:var(--nav-h);display:inline-flex;align-items:center;
  padding:0 16px;font-size:14px;color:rgba(255,255,255,.72);
  border-bottom:2px solid transparent;transition:all .15s;
}
.nav-menu a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-menu a.active{color:#fff;font-weight:600;border-bottom-color:var(--orange)}
.nav-actions{display:flex;align-items:center;gap:14px}
.nav-tel{display:flex;align-items:center;gap:6px;color:#fff;font-size:12px}
.nav-tel svg{fill:#ffb27d}
.nav-tel b{font-size:15px;color:#ffb27d;font-weight:700;margin-left:3px}
.link-login{color:rgba(255,255,255,.72);font-size:13px}
.link-login:hover{color:#fff}
.nav-toggle{display:none;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";display:block;width:20px;height:2px;background:#fff}

/* ===== Hero ===== */
.hero{position:relative;background:var(--navy-deep);overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32}
.hero-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,56,.94) 30%,rgba(15,36,56,.5) 100%)}
.hero .container{position:relative;z-index:2}
.hero-inner{padding:70px 0 40px;max-width:640px}
.h-tag{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(217,122,46,.15);border:1px solid rgba(217,122,46,.5);
  color:#ffb27d;font-size:12px;padding:5px 12px;border-radius:20px;
  margin-bottom:22px;
}
.hero h1{font-size:38px;color:#fff;font-weight:800;line-height:1.35;letter-spacing:.5px;margin:0 0 18px}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero-sub{color:rgba(255,255,255,.78);font-size:15px;line-height:1.85;margin:0 0 28px;max-width:580px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(255,255,255,.1);border-radius:8px;overflow:hidden;
  margin:24px 0 -34px;position:relative;z-index:3;
}
.hs{background:rgba(15,36,56,.85);backdrop-filter:blur(6px);padding:22px 16px;text-align:center}
.hs b{display:block;font-size:26px;color:#fff;font-weight:800;letter-spacing:.5px}
.hs b small{font-size:14px;color:#ffb27d;font-weight:600;margin-left:2px}
.hs span{display:block;font-size:12px;color:rgba(255,255,255,.65);margin-top:5px}

/* 面包屑 */
.crumb{background:var(--bg);border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;color:var(--ink-3)}
.crumb a{color:var(--ink-3)}
.crumb a:hover{color:var(--orange)}
.crumb span{margin:0 8px;color:var(--ink-4)}
.crumb .cur{color:var(--ink-2)}

/* 页面头 */
.page-hd{background:var(--navy);padding:40px 0;color:#fff}
.page-hd .container{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px}
.page-hd h1{margin:0;font-size:26px;font-weight:800}
.page-hd .ph-sub{margin-top:8px;color:rgba(255,255,255,.7);font-size:13px}
.page-hd .ph-note{color:rgba(255,255,255,.7);font-size:13px}
.page-hd .ph-note span{color:#ffb27d;font-weight:700}

/* ===== 区块 ===== */
.section{padding:64px 0}
.section.gray{background:var(--bg);padding-bottom:60px}
.section.navy-tint{background:linear-gradient(180deg,#fff 0%,var(--navy-light) 100%)}
.sec-head{text-align:center;margin-bottom:38px}
.sec-head h2{font-size:26px;font-weight:800;margin:0;position:relative;display:inline-block;color:var(--ink-1)}
.sec-head h2::after{content:"";display:block;width:40px;height:4px;background:var(--orange);border-radius:2px;margin:12px auto 0}
.sec-head p{font-size:14px;color:var(--ink-3);margin:16px 0 0}

/* ===== 活动横条 ===== */
.activity-banner{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:linear-gradient(90deg,#fdf1e6,#fff);
  border:1px solid #f4d9b8;border-left:4px solid var(--orange);
  border-radius:8px;padding:14px 22px;margin:44px 0 0;
}
.activity-badge{background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:4px}
.activity-title{flex:1;color:var(--ink-1);font-size:14px;font-weight:500}
.activity-link{color:var(--orange);font-size:13px;font-weight:600}

/* ===== 服务卡片 grid ===== */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:26px 24px 22px;transition:all .2s;display:block;
}
.svc-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--orange),#ffb27d);border-radius:8px 8px 0 0;
  opacity:0;transition:opacity .18s;
}
.svc-card:hover{border-color:var(--orange);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.svc-card:hover::before{opacity:1}
.svc-ico{
  width:52px;height:52px;border-radius:10px;background:var(--navy-light);
  display:flex;align-items:center;justify-content:center;color:var(--navy);
  margin-bottom:14px;font-size:26px;
}
.svc-card h3{font-size:16px;margin:0 0 6px;color:var(--ink-1);font-weight:700}
.svc-card p{font-size:13px;color:var(--ink-3);margin:0;line-height:1.75;height:44px;overflow:hidden}
.sc-price{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink-3)}
.sc-price b{color:var(--red);font-size:20px;font-weight:800;font-family:"HelveticaNeue","Arial",sans-serif;margin:0 2px}
.sc-go{display:block;margin-top:10px;color:var(--orange);font-size:13px;font-weight:600}
.hot-tag{position:absolute;top:14px;right:14px;font-size:11px;color:#fff;background:var(--red);padding:2px 8px;border-radius:3px;font-weight:600}
.new-tag{position:absolute;top:14px;right:14px;font-size:11px;color:#fff;background:var(--green);padding:2px 8px;border-radius:3px;font-weight:600}

/* ===== 分类卡（首页 5 大类） ===== */
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cat-card{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:26px 16px;text-align:center;transition:all .2s;display:block;
}
.cat-card:hover{border-color:var(--orange);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.cat-icon{width:56px;height:56px;margin:0 auto 12px;background:var(--navy-light);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:28px}
.cat-name{font-size:15px;font-weight:700;color:var(--ink-1)}
.cat-count{font-size:12px;color:var(--ink-3);margin-top:4px}

/* ===== 数字条 ===== */
.num-bar{background:var(--navy);color:#fff;padding:44px 0}
.num-bar .container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.num-item b{display:block;font-size:32px;font-weight:800;color:#fff;letter-spacing:.5px}
.num-item b small{font-size:16px;color:#ffb27d;font-weight:600;margin-left:2px}
.num-item span{display:block;font-size:13px;color:rgba(255,255,255,.7);margin-top:6px}

/* ===== 案例卡 ===== */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s}
.case-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.case-card img{width:100%;height:180px;object-fit:cover}
.cc-body{padding:20px 22px}
.cc-body h3{margin:0 0 10px;font-size:16px;color:var(--ink-1);display:flex;justify-content:space-between;align-items:center;gap:8px}
.cc-tag{font-size:11px;color:var(--navy);background:var(--navy-light);padding:2px 8px;border-radius:3px;font-weight:600}
.cc-body p{font-size:13px;color:var(--ink-2);line-height:1.75;margin:0}
.cc-num{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);display:flex;gap:20px;flex-wrap:wrap}
.cc-num span{font-size:12px;color:var(--ink-3)}
.cc-num b{color:var(--red);font-weight:700;margin-left:3px}

/* ===== 流程步骤 ===== */
.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.flow-steps::before{
  content:"";position:absolute;top:34px;left:12%;right:12%;height:1px;
  border-top:2px dashed #d5deea;z-index:0;
}
.flow-step{text-align:center;position:relative;z-index:1;background:#fff;padding:0 6px}
.fn{
  width:68px;height:68px;margin:0 auto 14px;background:#fff;
  border:2px solid var(--navy);color:var(--navy);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:26px;font-weight:800;font-family:"HelveticaNeue",Arial,sans-serif;
  transition:all .2s;
}
.flow-step:hover .fn{background:var(--orange);color:#fff;border-color:var(--orange);transform:scale(1.05)}
.flow-step b{display:block;font-size:15px;color:var(--ink-1);margin-bottom:6px}
.flow-step span{display:block;font-size:12px;color:var(--ink-3);line-height:1.8}

/* ===== 新闻 / 动态 ===== */
.news-list{max-width:860px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0 auto}
.news-item{display:flex;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid var(--line-2);font-size:14px;transition:background .15s}
.news-item:last-child{border-bottom:none}
.news-item:hover{background:var(--bg-soft)}
.news-item .tag{font-size:11px;padding:2px 8px;border-radius:3px;background:var(--navy-light);color:var(--navy);font-weight:600;flex-shrink:0}
.news-item .tag.act{background:#fdecea;color:var(--red)}
.news-item .tag.hot{background:var(--orange-light);color:var(--orange-dark)}
.news-item .tt{flex:1;color:var(--ink-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news-item .date{color:var(--ink-3);font-size:12px;flex-shrink:0;font-family:"HelveticaNeue",Arial,sans-serif}

/* ===== 客户 LOGO 墙 ===== */
.logo-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.logo-item{
  background:#fff;border:1px solid var(--line);border-radius:8px;
  height:80px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);font-size:14px;font-weight:600;letter-spacing:.5px;
  transition:all .2s;text-align:center;padding:0 10px;
}
.logo-item:hover{border-color:var(--orange);color:var(--navy);transform:translateY(-2px)}

/* ===== 成交跑马灯 ===== */
.ticker-wrap{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 22px;display:flex;align-items:center;gap:18px;overflow:hidden}
.ticker-lbl{background:var(--orange);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px;flex-shrink:0}
.ticker-viewport{flex:1;overflow:hidden;position:relative;height:26px}
.ticker-track{display:flex;gap:44px;position:absolute;white-space:nowrap;animation:tickerRoll 55s linear infinite;font-size:13px;color:var(--ink-2);align-items:center;height:100%}
.ticker-track span b{color:var(--navy);font-weight:700}
.ticker-track span em{font-style:normal;color:var(--red);font-weight:700}
@keyframes tickerRoll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== 团队卡 ===== */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 20px;text-align:center;transition:all .2s}
.team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--orange)}
.team-avatar{width:78px;height:78px;border-radius:50%;margin:0 auto 12px;background:var(--navy-light);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;font-family:serif;border:3px solid #fff;box-shadow:0 4px 14px rgba(46,90,126,.15)}
.team-name{font-size:16px;font-weight:700;color:var(--ink-1)}
.team-title{font-size:12px;color:var(--orange);margin-top:3px;font-weight:600}
.team-desc{font-size:12px;color:var(--ink-3);margin-top:8px;line-height:1.7}
.team-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.team-tags span{font-size:11px;background:var(--navy-light);color:var(--navy);padding:2px 7px;border-radius:3px}

/* ===== FAQ 手风琴 ===== */
.faq-list{max-width:900px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;overflow:hidden;transition:all .2s}
.faq-item.open{border-color:var(--orange);box-shadow:var(--shadow-sm)}
.faq-q{padding:18px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--ink-1);font-weight:600}
.faq-q::before{content:"Q";color:var(--orange);font-weight:800;margin-right:12px;font-size:17px;font-family:serif}
.faq-q .caret{color:var(--ink-3);transition:transform .2s}
.faq-item.open .faq-q .caret{transform:rotate(180deg);color:var(--orange)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 22px;font-size:14px;color:var(--ink-2);line-height:1.8}
.faq-item.open .faq-a{max-height:400px;padding:0 22px 20px 22px}

/* ===== list 页 - 服务列表布局 ===== */
.list-page{padding:36px 0 80px;background:var(--bg-soft)}
.list-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.filter-side .fs-box{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:14px;overflow:hidden}
.fs-head{padding:14px 18px;font-size:14px;font-weight:700;color:var(--ink-1);border-bottom:1px solid var(--line-2)}
.fs-body{padding:6px 0}
.fs-item{padding:10px 18px;font-size:13px;color:var(--ink-2);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .15s;border-left:2px solid transparent}
.fs-item:hover{background:var(--bg-soft);color:var(--navy)}
.fs-item.active{background:var(--orange-light);color:var(--orange-dark);font-weight:600;border-left-color:var(--orange)}
.fs-item .cnt{font-size:11px;color:var(--ink-4)}
.list-toolbar{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 18px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--ink-3)}
.lt-sorts{display:flex;gap:4px}
.lt-sort{padding:5px 14px;font-size:12px;color:var(--ink-2);border-radius:4px;cursor:pointer}
.lt-sort:hover{background:var(--bg-soft);color:var(--navy)}
.lt-sort.active{background:var(--navy);color:#fff;font-weight:600}
.srv-rows{display:grid;gap:14px}
.srv-row{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 24px;display:grid;grid-template-columns:70px 1fr auto;gap:20px;transition:all .2s;align-items:center}
.srv-row:hover{border-color:var(--orange);box-shadow:var(--shadow-sm)}
.sr-ico{width:64px;height:64px;background:var(--navy-light);color:var(--navy);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px}
.sr-mid h3{margin:0 0 5px;font-size:15px;font-weight:700;color:var(--ink-1)}
.sr-mid h3 .sr-cat-tag{font-size:11px;background:var(--navy-light);color:var(--navy);padding:2px 7px;border-radius:3px;margin-left:8px;font-weight:600}
.sr-mid p{margin:0;font-size:13px;color:var(--ink-3);line-height:1.7}
.sr-meta{margin-top:6px;font-size:12px;color:var(--ink-4)}
.sr-meta span{margin-right:14px}
.sr-right{text-align:right}
.sr-price{color:var(--red);font-size:22px;font-weight:800;font-family:"HelveticaNeue",Arial,sans-serif}
.sr-price small{font-size:12px;color:var(--ink-3);font-weight:400;font-family:inherit}
.sr-orig{font-size:12px;color:var(--ink-4);text-decoration:line-through;margin-bottom:8px}
.sr-btn{margin-top:8px;display:block}

/* ===== service-detail ===== */
.detail-wrap{background:var(--bg-soft);padding:26px 0 70px}
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}
.detail-main{background:#fff;border-radius:10px;padding:30px 32px;box-shadow:var(--shadow-sm)}
.detail-main h1{margin:0 0 10px;font-size:24px;font-weight:800}
.detail-badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.detail-badge-row .b{font-size:11px;padding:3px 9px;border-radius:3px;background:var(--navy-light);color:var(--navy);font-weight:600}
.detail-badge-row .b.hot{background:#fdecea;color:var(--red)}
.detail-badge-row .b.new{background:#e6f5ee;color:var(--green)}
.detail-price-bar{background:linear-gradient(90deg,#fdf1e6,#fff);border-left:4px solid var(--orange);padding:16px 20px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.dpb-left b{color:var(--red);font-size:32px;font-weight:800;font-family:"HelveticaNeue",Arial,sans-serif}
.dpb-left small{color:var(--ink-3);margin-left:6px}
.dpb-left .orig{color:var(--ink-4);text-decoration:line-through;margin-left:10px;font-size:13px}
.dpb-right{color:var(--ink-3);font-size:12px}
.dpb-right b{color:var(--navy);font-weight:700}
.detail-sec{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-2)}
.detail-sec h3{margin:0 0 14px;font-size:16px;font-weight:700;position:relative;padding-left:12px}
.detail-sec h3::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--orange);border-radius:2px}
.sells-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sells-list li{display:flex;gap:8px;color:var(--ink-2);font-size:13px;line-height:1.7}
.sells-list li::before{content:"✓";color:var(--green);font-weight:800;flex-shrink:0}
.spec-table{width:100%;border-collapse:collapse;font-size:13px}
.spec-table tr{border-bottom:1px solid var(--line-2)}
.spec-table td{padding:10px 6px;color:var(--ink-2)}
.spec-table td:first-child{color:var(--ink-3);width:130px;background:var(--bg-soft);padding-left:14px}
.detail-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.df-step{background:var(--bg-soft);border-radius:8px;padding:16px 14px}
.df-step .no{font-size:12px;color:var(--orange);font-weight:700;margin-bottom:4px}
.df-step b{display:block;font-size:14px;color:var(--ink-1);margin-bottom:5px}
.df-step span{font-size:12px;color:var(--ink-3);line-height:1.7}
.review-item{padding:14px 0;border-bottom:1px dashed var(--line-2)}
.review-item:last-child{border-bottom:none}
.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.review-user{font-weight:600;color:var(--ink-1);font-size:13px}
.review-stars{color:#ffa825;letter-spacing:2px;font-size:13px}
.review-date{font-size:12px;color:var(--ink-4);margin-left:10px}
.review-txt{font-size:13px;color:var(--ink-2);line-height:1.75}
.review-reply{margin-top:6px;background:var(--bg-soft);border-left:3px solid var(--navy);padding:8px 12px;font-size:12px;color:var(--ink-2)}

/* 侧栏 */
.detail-side{position:sticky;top:calc(var(--nav-h) + 20px)}
.side-card{background:#fff;border-radius:10px;padding:24px;margin-bottom:14px;box-shadow:var(--shadow-sm)}
.side-card h4{margin:0 0 14px;font-size:14px;font-weight:700}
.side-buy-btn{width:100%;height:46px;font-size:15px;margin-top:10px}
.side-list{list-style:none;padding:0;margin:0;font-size:13px;color:var(--ink-2)}
.side-list li{padding:8px 0;border-bottom:1px dashed var(--line-2);display:flex;justify-content:space-between}
.side-list li:last-child{border-bottom:none}
.side-list li .v{color:var(--ink-1);font-weight:600}

/* ===== checkout ===== */
.checkout-page{background:var(--bg-soft);padding:30px 0 70px}
.co-narrow{max-width:820px;margin:0 auto;padding:0 20px}
.steps-pill{display:flex;background:#fff;border-radius:8px;padding:6px;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.sp-step{flex:1;text-align:center;padding:12px 6px;font-size:14px;color:var(--ink-3);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px}
.sp-step .n{width:24px;height:24px;border-radius:50%;background:var(--line);color:var(--ink-3);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.sp-step.active{background:var(--navy);color:#fff;font-weight:600}
.sp-step.active .n{background:var(--orange);color:#fff}
.sp-step.done{color:var(--green)}
.sp-step.done .n{background:var(--green);color:#fff}
.co-card{background:#fff;border-radius:10px;margin-bottom:16px;box-shadow:var(--shadow-sm);overflow:hidden}
.co-card-head{padding:14px 22px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.ci{width:28px;height:28px;background:var(--orange-light);color:var(--orange);border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.co-card-body{padding:22px}
.order-brief{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-soft);border-radius:8px;margin-bottom:16px}
.ob-ico{width:52px;height:52px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;font-size:26px}
.order-brief .name{font-size:14px;font-weight:700;color:var(--ink-1)}
.order-brief .spec{font-size:12px;color:var(--ink-3);margin-top:2px}
.ob-price{margin-left:auto;color:var(--red);font-weight:800;font-size:20px;font-family:"HelveticaNeue",Arial,sans-serif}
.order-lines{border-top:1px dashed var(--line);padding-top:10px}
.order-line{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}
.order-line .k{color:var(--ink-3)}
.order-line .v{color:var(--ink-1)}
.order-line .v.minus{color:var(--green)}
.order-line .v.mono{font-family:"HelveticaNeue",Arial,sans-serif}
.qty-inline{display:inline-flex;align-items:center;gap:0}
.qty-inline button{width:26px;height:26px;border:1px solid var(--line);border-radius:5px;background:#fff}
.order-total{margin-top:12px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.order-total .k{font-size:14px;color:var(--ink-2)}
.order-total .amount{color:var(--red);font-weight:800;font-size:28px;font-family:"HelveticaNeue",Arial,sans-serif}
.order-total .amount .cur{font-size:16px;margin-right:2px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.form-field{display:flex;flex-direction:column}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:13px;color:var(--ink-2);margin-bottom:6px;font-weight:600}
.form-field .req{color:var(--red)}
.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:13px;transition:border-color .15s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--orange)}
.form-field textarea{min-height:80px;resize:vertical;font-family:inherit}
.form-error{color:var(--red);font-size:12px;margin-top:5px;display:none}
.form-field.error input,.form-field.error select,.form-field.error textarea{border-color:var(--red)}
.form-field.error .form-error{display:block}
.pay-list{display:flex;flex-direction:column;gap:10px}
.pay-item{border:1.5px solid var(--line);border-radius:8px;padding:14px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .15s}
.pay-item:hover{border-color:#b9c8d8}
.pay-item.selected{border-color:var(--orange);background:var(--orange-light)}
.pay-logo{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-alipay{background:#1677ff}
.logo-wechat{background:#07c160}
.logo-unionpay{background:#f4f7fa;padding:4px}
.logo-bank{background:#d43c30}
.pay-txt{flex:1}
.pay-name{font-size:14px;font-weight:700;color:var(--ink-1)}
.pay-desc{font-size:12px;color:var(--ink-3);margin-top:2px}
.pay-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--ink-4);position:relative;flex-shrink:0}
.pay-item.selected .pay-check{border-color:var(--orange);background:var(--orange)}
.pay-item.selected .pay-check::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.pay-note{margin-top:14px;font-size:12px;color:var(--ink-3);text-align:center}
.pay-note a{color:var(--navy);text-decoration:underline}
.coupon-picker{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.coupon-chip{padding:8px 14px;border:1px dashed var(--orange);color:var(--orange-dark);background:var(--orange-light);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}
.coupon-chip.selected{background:var(--orange);color:#fff;border-style:solid}
.coupon-chip.disabled{opacity:.5;cursor:not-allowed;border-color:var(--ink-4);color:var(--ink-4);background:#fff}
.secure-bar{display:flex;justify-content:space-around;flex-wrap:wrap;gap:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 20px;margin-top:16px}
.secure-item{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.si{color:var(--green)}

/* 支付成功 */
.checkout-success{}
.success-card{background:#fff;border-radius:10px;padding:44px 40px;text-align:center;box-shadow:var(--shadow-sm)}
.success-icon{margin-bottom:16px}
.success-title{margin:0 0 12px;font-size:22px;color:var(--green);font-weight:800}
.success-desc{color:var(--ink-2);margin:0 0 22px;font-size:14px}
.success-desc b{color:var(--orange)}
.next-steps{background:var(--bg-soft);border-radius:8px;padding:16px 20px;text-align:left;font-size:13px;color:var(--ink-2);line-height:2;margin-bottom:22px}
.next-steps b{color:var(--navy)}
.success-detail{text-align:left;max-width:460px;margin:0 auto 22px}
.success-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* 二维码弹窗 */
.qr-modal{display:none;position:fixed;inset:0;background:rgba(15,36,56,.6);z-index:1000;align-items:center;justify-content:center}
.qr-modal.show{display:flex}
.qr-card{background:#fff;border-radius:12px;width:340px;overflow:hidden;box-shadow:0 20px 80px rgba(0,0,0,.3)}
.qr-head{padding:14px 18px;color:#fff;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.qr-head.alipay{background:#1677ff}
.qr-head.wechat{background:#07c160}
.qr-head.unionpay{background:#d43c30}
.qr-head .close{cursor:pointer;font-size:22px;line-height:1}
.qr-body{padding:20px;text-align:center}
.qr-amount{font-size:14px;color:var(--ink-2)}
.qr-amount .cur{color:var(--red);margin:0 3px 0 6px}
.qr-amount b{color:var(--red);font-size:22px;font-weight:800;font-family:"HelveticaNeue",Arial,sans-serif}
.qr-orderno{font-size:11px;color:var(--ink-4);margin-top:4px;font-family:"HelveticaNeue",Arial,sans-serif}
.qr-box{margin:14px auto;width:200px;height:200px;background:#fff;padding:10px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:80px;color:var(--navy)}
.qr-tip{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--ink-2)}
.qr-expire{margin-top:10px;font-size:12px;color:var(--ink-3)}
.qr-expire b{color:var(--red);font-family:"HelveticaNeue",Arial,sans-serif}
.qr-foot{padding:14px 18px;border-top:1px solid var(--line-2);display:flex;gap:10px;justify-content:space-between}
.qr-foot .btn{flex:1}
.qr-secure{padding:8px 18px;text-align:center;font-size:11px;color:var(--ink-4);background:var(--bg-soft);display:flex;align-items:center;justify-content:center;gap:5px}

/* ===== footer ===== */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.6);padding:50px 0 0;font-size:13px;margin-top:60px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand .brand{margin-bottom:14px}
.footer-brand p{margin:0 0 16px;line-height:1.85;color:rgba(255,255,255,.55);font-size:12px}
.footer-contact{font-size:12px;color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:12px}
.footer-contact .mail{color:#ffb27d;font-weight:600}
.footer-pay{display:flex;gap:8px;flex-wrap:wrap}
.fp{background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);font-size:11px;padding:4px 10px;border-radius:3px}
.footer-col h4{color:#fff;font-size:14px;margin:0 0 14px;font-weight:600}
.footer-col a{display:block;color:rgba(255,255,255,.5);padding:4px 0;font-size:12px}
.footer-col a:hover{color:#ffb27d}
.footer-bottom{padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,.4);flex-wrap:wrap;gap:10px}
.footer-bottom .links a{color:rgba(255,255,255,.5);margin-right:16px}
.footer-bottom a:hover{color:#ffb27d}

/* ===== 侧边悬浮 float-btn ===== */
.side-consult{position:fixed;right:20px;bottom:80px;z-index:99;display:flex;flex-direction:column;gap:2px}
.float-btn,.side-consult>a{
  width:60px;background:#fff;border:1px solid var(--line);
  padding:12px 4px;text-align:center;
  color:var(--ink-2);font-size:11px;line-height:1.4;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  transition:all .15s;cursor:pointer;text-decoration:none;
}
.side-consult>a:first-child{border-radius:8px 8px 0 0}
.side-consult>a:last-child{border-radius:0 0 8px 8px}
.side-consult>a:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.side-consult>a:hover .fi{color:#fff}
.fi{color:var(--navy);width:24px;height:24px;display:flex;align-items:center;justify-content:center}

/* ===== toast ===== */
.hm-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-40px);background:rgba(29,33,41,.9);color:#fff;padding:11px 22px;border-radius:6px;font-size:13px;opacity:0;transition:all .22s;z-index:2000;pointer-events:none;white-space:nowrap}
.hm-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.hm-toast.success{background:rgba(45,138,95,.95)}
.hm-toast.error{background:rgba(212,60,48,.95)}

/* ===== dashboard ===== */
.dash-wrap{background:var(--bg-soft);padding:30px 0 70px;min-height:calc(100vh - 200px)}
.dash-grid{display:grid;grid-template-columns:240px 1fr;gap:24px}
.dash-side{background:#fff;border-radius:10px;padding:24px;box-shadow:var(--shadow-sm);height:fit-content;position:sticky;top:calc(var(--nav-h) + 20px)}
.dash-user{text-align:center;padding-bottom:20px;border-bottom:1px solid var(--line-2)}
.dash-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin:0 auto 10px}
.dash-menu{list-style:none;padding:0;margin:16px 0 0}
.dash-menu li a{display:block;padding:10px 14px;color:var(--ink-2);font-size:13px;border-radius:6px;margin-bottom:4px}
.dash-menu li a.active,.dash-menu li a:hover{background:var(--orange-light);color:var(--orange-dark);font-weight:600}
.dash-main{background:#fff;border-radius:10px;padding:28px;box-shadow:var(--shadow-sm)}
.dash-main h2{margin:0 0 20px;font-size:20px}
.order-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px}
.order-tab{padding:11px 22px;font-size:13px;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.order-tab.active{color:var(--orange);border-bottom-color:var(--orange);font-weight:600}
.order-row{border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}
.order-info h4{margin:0 0 5px;font-size:14px}
.order-info .om{font-size:12px;color:var(--ink-3)}
.order-info .om span{margin-right:14px}
.order-status{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}
.status-pending{background:#fff5e0;color:#c88a10}
.status-doing{background:#e0edfa;color:var(--navy)}
.status-done{background:#e6f5ee;color:var(--green)}
.status-canceled{background:#f0f2f5;color:var(--ink-3)}

/* ===== 登录 / 注册 ===== */
.auth-wrap{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);min-height:calc(100vh - 240px);padding:60px 0;display:flex;align-items:center}
.auth-card{max-width:400px;margin:0 auto;background:#fff;border-radius:12px;padding:36px 32px;box-shadow:var(--shadow-lg);width:100%}
.auth-head{text-align:center;margin-bottom:26px}
.auth-head h2{margin:0 0 6px;font-size:22px}
.auth-head p{margin:0;color:var(--ink-3);font-size:13px}
.auth-tabs{display:flex;background:var(--bg);border-radius:6px;padding:3px;margin-bottom:22px}
.auth-tab{flex:1;text-align:center;padding:9px;font-size:13px;color:var(--ink-3);cursor:pointer;border-radius:5px}
.auth-tab.active{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.auth-form label{display:block;font-size:13px;color:var(--ink-2);margin:0 0 6px;font-weight:600}
.auth-form input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:6px;margin-bottom:14px;font-size:14px}
.auth-form input:focus{border-color:var(--orange)}
.auth-actions{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-3);margin:-4px 0 16px}
.auth-actions a{color:var(--navy)}
.auth-submit{width:100%;height:44px;font-size:15px}

/* ===== 通用页（about/privacy/refund/agreement/certs） ===== */
.doc-page{background:var(--bg-soft);padding:34px 0 70px}
.doc-card{max-width:900px;margin:0 auto;background:#fff;border-radius:10px;padding:36px 44px;box-shadow:var(--shadow-sm);font-size:14px;line-height:1.9;color:var(--ink-2)}
.doc-card h1{margin:0 0 8px;font-size:24px;color:var(--ink-1)}
.doc-card .doc-meta{color:var(--ink-3);font-size:12px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.doc-card h2{font-size:18px;margin:26px 0 10px;color:var(--ink-1);padding-left:10px;border-left:3px solid var(--orange)}
.doc-card h3{font-size:15px;margin:18px 0 8px;color:var(--ink-1)}
.doc-card p{margin:0 0 10px}
.doc-card ul,.doc-card ol{padding-left:22px;margin:0 0 12px}
.doc-card li{margin-bottom:5px}
.doc-card table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}
.doc-card th,.doc-card td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.doc-card th{background:var(--bg-soft);font-weight:700;color:var(--ink-1)}

/* about 特殊 */
.about-hero{background:linear-gradient(135deg,var(--navy),var(--navy-dark));color:#fff;padding:60px 0}
.about-hero h1{margin:0 0 12px;font-size:32px}
.about-hero p{color:rgba(255,255,255,.75);font-size:15px;max-width:640px;line-height:1.85}
.milestone{position:relative;padding-left:30px}
.milestone::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line)}
.milestone-item{position:relative;padding:0 0 22px}
.milestone-item::before{content:"";position:absolute;left:-26px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--orange);border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.milestone-item b{color:var(--navy);font-size:15px;display:block;margin-bottom:4px}
.milestone-item span{color:var(--ink-2);font-size:13px}

/* enterprise 方案页 */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.plan-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 26px;position:relative;transition:all .2s}
.plan-card.featured{border:2px solid var(--orange);box-shadow:0 12px 40px rgba(217,122,46,.2);transform:translateY(-6px)}
.plan-card.featured::before{content:"最受欢迎";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:12px;padding:4px 14px;border-radius:12px;font-weight:600}
.plan-card:hover{border-color:var(--orange);box-shadow:var(--shadow-md)}
.plan-name{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px}
.plan-desc{font-size:12px;color:var(--ink-3);margin-bottom:16px}
.plan-price{color:var(--red);font-size:34px;font-weight:800;font-family:"HelveticaNeue",Arial,sans-serif}
.plan-price small{font-size:13px;color:var(--ink-3);font-weight:400;font-family:inherit;margin-left:4px}
.plan-features{list-style:none;padding:14px 0;margin:14px 0 20px;border-top:1px dashed var(--line);font-size:13px;color:var(--ink-2)}
.plan-features li{padding:6px 0 6px 22px;position:relative}
.plan-features li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}

/* certs */
.certs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.cert-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;text-align:center;transition:all .2s}
.cert-item:hover{border-color:var(--orange);box-shadow:var(--shadow-sm)}
.cert-icon{width:60px;height:60px;margin:0 auto 12px;background:var(--navy-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:28px}
.cert-name{font-size:14px;font-weight:700;margin-bottom:5px}
.cert-no{font-size:12px;color:var(--ink-3);font-family:"HelveticaNeue",Arial,sans-serif}

/* ===== 响应式 ===== */
@media (max-width:960px){
  .nav{gap:14px}
  .brand-sub{display:none}
  .nav-menu{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--navy-dark);flex-direction:column;padding:12px 0}
  .nav-menu.open,.nav.open .nav-menu{display:flex}
  .nav-menu a{height:auto;padding:12px 20px;width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-toggle{display:flex}
  .nav-tel,.link-login{display:none}
  .hero-inner{padding:44px 0 30px}
  .hero h1{font-size:28px}
  .hero-stats{grid-template-columns:repeat(2,1fr);margin:16px 0 -30px}
  .svc-grid,.cat-grid,.case-grid,.team-grid,.plan-grid,.certs-grid,.logo-wall{grid-template-columns:repeat(2,1fr)}
  .num-bar .container{grid-template-columns:repeat(2,1fr);gap:22px}
  .flow-steps{grid-template-columns:repeat(2,1fr);gap:22px}
  .flow-steps::before{display:none}
  .list-layout,.detail-grid,.dash-grid{grid-template-columns:1fr}
  .detail-side,.dash-side{position:static}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .form-grid{grid-template-columns:1fr}
  .page-hd .container{flex-direction:column;align-items:flex-start}
  .doc-card{padding:26px 22px}
  .top-bar{font-size:11px;padding:5px 0}
  .top-bar span{display:inline-block}
  .top-bar .dot{margin:0 5px}
}
@media (max-width:520px){
  .hero h1{font-size:22px}
  .hero-cta .btn{flex:1;padding:0 10px}
  .svc-grid,.cat-grid,.case-grid,.team-grid,.plan-grid,.certs-grid,.logo-wall{grid-template-columns:1fr}
  .num-bar .container{grid-template-columns:1fr 1fr}
  .flow-steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .sec-head h2{font-size:22px}
  .srv-row{grid-template-columns:1fr;text-align:left}
  .sr-right{text-align:left}
  .side-consult{right:8px;bottom:20px}
  .side-consult>a{width:52px;font-size:10px}
  .detail-main,.dash-main{padding:20px}
  .auth-card{padding:26px 22px}
  .qr-card{width:92vw;max-width:340px}
}
