@charset "UTF-8";
/* ==========================================================================
   桑梧咨询 · 全站样式（移动端优先）
   ========================================================================== */

:root{
  --brand-900:#0E2439;
  --brand-800:#16324F;
  --brand-700:#1B3A5C;
  --brand-600:#25557F;
  --brand-500:#2E7DD1;
  --brand-400:#5A9BE0;
  --brand-100:#E6F0FB;
  --brand-50:#F2F7FD;

  --wx:#07C160;
  --wx-dark:#06A554;

  --ink-900:#111827;
  --ink-800:#1F2937;
  --ink-700:#374151;
  --ink-600:#4B5563;
  --ink-500:#6B7280;
  --ink-400:#9CA3AF;

  --line:#E4E9F0;
  --line-soft:#EEF2F7;
  --bg:#F5F7FA;
  --white:#FFFFFF;

  --price:#D93025;
  --gold:#B8860B;

  --radius-xs:6px;
  --radius-sm:8px;
  --radius:12px;
  --radius-lg:18px;
  --radius-xl:24px;

  --sh-xs:0 1px 2px rgba(14,36,57,.05);
  --sh-sm:0 2px 8px rgba(14,36,57,.06);
  --sh:0 6px 20px rgba(14,36,57,.08);
  --sh-lg:0 14px 40px rgba(14,36,57,.13);

  --maxw:1180px;
  --hdr-h:60px;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink-800);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;border:0;}
a{color:var(--brand-600);text-decoration:none;}
a:hover{color:var(--brand-500);}
p{margin:0 0 12px;}
h1,h2,h3,h4,h5{margin:0 0 12px;color:var(--brand-900);line-height:1.35;font-weight:700;}
ul,ol{margin:0 0 12px;padding-left:20px;}
li{margin-bottom:6px;}
button{font-family:inherit;font-size:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;font-size:16px;}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 16px;}
.wrap-narrow{max-width:900px;}

.hide{display:none !important;}
.mt0{margin-top:0;}
.muted{color:var(--ink-500);}
.center{text-align:center;}
.nowrap{white-space:nowrap;}

/* ---------- 顶部导航 ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line-soft);
}
.hdr-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 16px;
  height:var(--hdr-h);display:flex;align-items:center;gap:12px;
}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;}
.brand-mark{
  width:38px;height:38px;flex:0 0 38px;border-radius:10px;
  background:linear-gradient(135deg,var(--brand-600),var(--brand-500));
  color:#fff;font-weight:800;font-size:17px;letter-spacing:1px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px rgba(46,125,209,.35);
}
.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.brand-text strong{font-size:16px;color:var(--brand-900);letter-spacing:.5px;}
.brand-text em{
  font-style:normal;font-size:11px;color:var(--ink-400);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px;
}

.site-nav{display:none;}
.site-nav a{
  color:var(--ink-700);font-size:14.5px;font-weight:500;
  padding:8px 12px;border-radius:var(--radius-sm);
}
.site-nav a:hover{background:var(--brand-50);color:var(--brand-600);}
.site-nav a.is-active{color:var(--brand-600);font-weight:700;background:var(--brand-100);}

.hdr-actions{display:flex;align-items:center;gap:8px;}
.hdr-actions .hdr-orders{display:none;}
.nav-toggle{
  width:40px;height:40px;border:1px solid var(--line);background:#fff;
  border-radius:10px;display:flex;flex-direction:column;justify-content:center;
  align-items:center;gap:4px;padding:0;
}
.nav-toggle i{display:block;width:17px;height:2px;background:var(--brand-700);border-radius:2px;transition:.2s;}
.nav-toggle.is-open i:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle.is-open i:nth-child(2){opacity:0;}
.nav-toggle.is-open i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* 移动抽屉 */
.nav-drawer{
  display:none;border-top:1px solid var(--line-soft);background:#fff;
  padding:8px 16px 18px;
}
.nav-drawer.is-open{display:block;}
.nav-drawer a{
  display:block;padding:12px 4px;font-size:15.5px;color:var(--ink-800);
  border-bottom:1px solid var(--line-soft);
}
.nav-drawer a:last-of-type{border-bottom:0;}
.nav-drawer .drawer-cta{margin-top:12px;display:flex;gap:10px;}
.nav-drawer .drawer-cta a{flex:1;text-align:center;border:0;border-radius:10px;font-weight:600;}

/* ---------- 通用按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 20px;border-radius:10px;border:1px solid transparent;
  font-size:15px;font-weight:600;line-height:1.2;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-500));color:#fff;box-shadow:0 4px 14px rgba(46,125,209,.3);}
.btn-primary:hover{color:#fff;box-shadow:0 8px 22px rgba(46,125,209,.38);}
.btn-wx{background:var(--wx);color:#fff;box-shadow:0 4px 14px rgba(7,193,96,.3);}
.btn-wx:hover{color:#fff;background:var(--wx-dark);}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--brand-700);}
.btn-ghost:hover{border-color:var(--brand-400);color:var(--brand-600);background:var(--brand-50);}
.btn-block{width:100%;}
.btn-lg{padding:14px 26px;font-size:16px;border-radius:12px;}
.btn-sm{padding:8px 14px;font-size:13.5px;border-radius:8px;}
.btn[disabled],.btn.is-disabled{opacity:.55;cursor:not-allowed;box-shadow:none;}

/* ---------- 头部/滚动公告条 ---------- */
.topbar{
  background:var(--brand-900);color:#D7E4F2;font-size:12.5px;
  text-align:center;padding:7px 16px;letter-spacing:.2px;
}
.topbar b{color:#fff;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;color:#fff;background:var(--brand-800);}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(14,36,57,.93) 0%,rgba(22,50,79,.82) 45%,rgba(37,85,127,.72) 100%);
}
.hero-inner{position:relative;z-index:2;padding:44px 16px 40px;max-width:var(--maxw);margin:0 auto;}
.hero-tag{
  display:inline-block;font-size:12px;letter-spacing:1px;
  padding:5px 12px;border-radius:999px;margin-bottom:14px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#E3EFFB;
}
.hero h1{color:#fff;font-size:26px;line-height:1.32;margin-bottom:12px;letter-spacing:.3px;}
.hero p.lead{color:#CFE0F2;font-size:15px;margin-bottom:22px;max-width:640px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.hero-cta .btn{flex:1 1 auto;min-width:140px;}
.hero-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:rgba(255,255,255,.14);border-radius:var(--radius);
  overflow:hidden;border:1px solid rgba(255,255,255,.14);
}
.hero-stats div{background:rgba(14,36,57,.34);padding:14px 12px;text-align:center;}
.hero-stats b{display:block;font-size:20px;color:#fff;line-height:1.2;}
.hero-stats span{font-size:12px;color:#B9CFE6;}

/* ---------- 信任条 ---------- */
.trustbar{background:#fff;border-bottom:1px solid var(--line-soft);}
.trustbar-inner{
  max-width:var(--maxw);margin:0 auto;padding:14px 16px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px 8px;
}
.trust-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-600);}
.trust-item svg{flex:0 0 18px;}

/* ---------- 区块 ---------- */
.section{padding:38px 0;}
.section-alt{background:#fff;}
.sec-head{margin-bottom:24px;}
.sec-head .kicker{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.6px;
  color:var(--brand-500);text-transform:uppercase;margin-bottom:8px;
}
.sec-head h2{font-size:22px;margin-bottom:8px;}
.sec-head p{color:var(--ink-500);font-size:14px;margin:0;}
.sec-head.center{text-align:center;}
.sec-head.center p{margin-left:auto;margin-right:auto;max-width:640px;}

/* ---------- 服务卡片 ---------- */
.svc-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.svc-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.svc-card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--brand-400);}
.svc-thumb{position:relative;aspect-ratio:16/10;background:var(--brand-100);overflow:hidden;}
.svc-thumb img{width:100%;height:100%;object-fit:cover;}
.svc-badge{
  position:absolute;top:10px;left:10px;z-index:2;
  background:rgba(14,36,57,.82);color:#fff;font-size:11.5px;font-weight:600;
  padding:4px 10px;border-radius:999px;backdrop-filter:blur(4px);
}
.svc-body{padding:16px;display:flex;flex-direction:column;flex:1;}
.svc-body h3{font-size:17px;margin-bottom:8px;}
.svc-body h3 a{color:inherit;}
.svc-body .svc-desc{font-size:13.5px;color:var(--ink-600);margin-bottom:12px;flex:1;}
.svc-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.chip{
  font-size:11.5px;color:var(--brand-600);background:var(--brand-100);
  padding:3px 9px;border-radius:999px;white-space:nowrap;
}
.chip-grey{color:var(--ink-600);background:#F1F4F8;}
.svc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-top:1px solid var(--line-soft);padding-top:12px;}
.price-block{line-height:1.2;}
.price-block .price{color:var(--price);font-weight:800;font-size:21px;letter-spacing:-.4px;}
.price-block .price small{font-size:13px;font-weight:600;}
.price-block .price-note{display:block;font-size:11.5px;color:var(--ink-400);margin-top:2px;}

/* ---------- 套餐表 ---------- */
.plan-grid{display:grid;grid-template-columns:1fr;gap:14px;}
.plan{
  background:#fff;border:2px solid var(--line);border-radius:var(--radius-lg);
  padding:18px 16px;position:relative;display:flex;flex-direction:column;
  transition:border-color .2s,box-shadow .2s;
}
.plan.is-pick{border-color:var(--brand-500);box-shadow:0 10px 30px rgba(46,125,209,.16);}
.plan-flag{
  position:absolute;top:-11px;left:16px;font-size:11.5px;font-weight:700;
  color:#fff;background:linear-gradient(135deg,#E8A33D,#D98B12);
  padding:3px 10px;border-radius:999px;box-shadow:0 3px 10px rgba(217,139,18,.35);
}
.plan h4{font-size:16px;margin-bottom:4px;}
.plan .plan-sub{font-size:12.5px;color:var(--ink-500);margin-bottom:12px;min-height:20px;}
.plan .plan-price{color:var(--price);font-weight:800;font-size:26px;line-height:1;letter-spacing:-.5px;}
.plan .plan-price small{font-size:13px;font-weight:600;}
.plan .plan-unit{font-size:12px;color:var(--ink-400);margin-left:4px;}
.plan ul{list-style:none;padding:0;margin:14px 0 16px;border-top:1px dashed var(--line);padding-top:14px;flex:1;}
.plan li{position:relative;padding-left:22px;font-size:13.5px;color:var(--ink-700);margin-bottom:9px;}
.plan li::before{
  content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;
  background:var(--brand-100);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7DD1' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:11px;background-repeat:no-repeat;background-position:center;
}
.plan li.no{color:var(--ink-400);}
.plan li.no::before{
  background-color:#F1F4F8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='3.4' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
  background-size:9px;
}

/* ---------- 流程 ---------- */
.steps{display:grid;grid-template-columns:1fr;gap:12px;counter-reset:st;}
.step{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 16px 16px 58px;position:relative;
}
.step::before{
  counter-increment:st;content:counter(st,decimal-leading-zero);
  position:absolute;left:16px;top:16px;
  width:30px;height:30px;border-radius:9px;
  background:linear-gradient(135deg,var(--brand-600),var(--brand-500));
  color:#fff;font-size:13px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.step h4{font-size:15px;margin-bottom:4px;}
.step p{font-size:13px;color:var(--ink-500);margin:0;}

/* ---------- 交付物 / 文档目录预览 ---------- */
.doc-preview{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--sh-sm);
}
.doc-bar{
  display:flex;align-items:center;gap:7px;padding:10px 14px;
  background:linear-gradient(180deg,#F8FAFD,#F1F5FA);border-bottom:1px solid var(--line-soft);
}
.doc-bar span{width:9px;height:9px;border-radius:50%;background:#D5DDE7;}
.doc-bar span:nth-child(1){background:#F0A0A0;}
.doc-bar span:nth-child(2){background:#F3CE8E;}
.doc-bar span:nth-child(3){background:#A5D6A7;}
.doc-bar b{margin-left:8px;font-size:12px;color:var(--ink-500);font-weight:600;}
.doc-toc{padding:14px 16px;}
.doc-toc .toc-row{
  display:flex;align-items:baseline;gap:8px;font-size:13.5px;color:var(--ink-700);
  padding:7px 0;border-bottom:1px dashed var(--line-soft);
}
.doc-toc .toc-row:last-child{border-bottom:0;}
.doc-toc .toc-row em{font-style:normal;flex:1;}
.doc-toc .toc-row i{
  flex:1;border-bottom:1px dotted #C9D4E0;transform:translateY(-3px);
}
.doc-toc .toc-row b{color:var(--ink-400);font-size:12px;font-weight:600;}
.doc-toc .toc-row.lv2{padding-left:16px;font-size:13px;color:var(--ink-600);}

/* ---------- 图文双列 ---------- */
.split{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;}
.split img{border-radius:var(--radius-lg);box-shadow:var(--sh);}
.split ul{list-style:none;padding:0;margin:0;}
.split ul li{position:relative;padding-left:24px;font-size:14px;color:var(--ink-700);margin-bottom:10px;}
.split ul li::before{
  content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:5px;
  background:var(--brand-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7DD1' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* ---------- 特性网格 ---------- */
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.feat{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 14px;
}
.feat .fi{
  width:36px;height:36px;border-radius:10px;background:var(--brand-100);
  display:flex;align-items:center;justify-content:center;margin-bottom:10px;
}
.feat h4{font-size:14.5px;margin-bottom:5px;}
.feat p{font-size:12.5px;color:var(--ink-500);margin:0;}

/* ---------- 资质展示 ---------- */
.qual-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.qual{
  display:flex;gap:12px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;
}
.qual .qk{
  flex:0 0 42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,var(--brand-600),var(--brand-500));
  display:flex;align-items:center;justify-content:center;
}
.qual h4{font-size:14.5px;margin-bottom:4px;}
.qual p{font-size:12.5px;color:var(--ink-500);margin:0;word-break:break-all;}

/* ---------- 客户评价 ---------- */
.rev-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;}
.rev p{font-size:13.5px;color:var(--ink-700);margin-bottom:12px;}
.rev-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line-soft);padding-top:11px;}
.rev-av{
  width:34px;height:34px;border-radius:50%;flex:0 0 34px;
  background:var(--brand-100);color:var(--brand-600);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;
}
.rev-foot b{display:block;font-size:13px;color:var(--ink-800);}
.rev-foot span{font-size:11.5px;color:var(--ink-400);}
.rev-stars{margin-left:auto;color:#F0A93D;font-size:12px;letter-spacing:1px;}

/* ---------- CTA 横幅 ---------- */
.cta-band{
  background:linear-gradient(135deg,var(--brand-800),var(--brand-600));
  border-radius:var(--radius-lg);padding:26px 20px;color:#fff;text-align:center;
  box-shadow:var(--sh);
}
.cta-band h3{color:#fff;font-size:19px;margin-bottom:8px;}
.cta-band p{color:#C7DAEE;font-size:13.5px;margin-bottom:18px;}
.cta-band .btn{width:100%;}

/* ---------- 页脚 ---------- */
.site-footer{background:var(--brand-900);color:#9FB4CB;margin-top:0;}
.footer-top{max-width:var(--maxw);margin:0 auto;padding:34px 16px 20px;}
.footer-cols{display:grid;grid-template-columns:1fr;gap:24px;}
.footer-cols h5{color:#fff;font-size:14.5px;margin-bottom:12px;letter-spacing:.5px;}
.footer-cols a{display:block;color:#9FB4CB;font-size:13px;padding:5px 0;}
.footer-cols a:hover{color:#fff;}
.footer-cols p{font-size:13px;margin-bottom:8px;color:#9FB4CB;}
.footer-cols strong{color:#DCE8F5;font-weight:600;}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-brand .brand-mark{background:rgba(255,255,255,.12);box-shadow:none;font-size:16px;}
.footer-brand b{color:#fff;font-size:16px;display:block;line-height:1.3;}
.footer-brand em{font-style:normal;font-size:11.5px;color:#7E96AF;}
.footer-note{
  border-top:1px solid rgba(255,255,255,.1);margin-top:20px;padding-top:16px;
  font-size:12px;line-height:1.9;color:#8298AE;
}
.footer-note b{color:#B9CEE3;font-weight:600;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:14px 16px;text-align:center;font-size:12px;color:#7E96AF;
}
.footer-bottom a{color:#7E96AF;}
.footer-bottom a:hover{color:#fff;}
.hotline{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  border-radius:10px;padding:10px 14px;margin-bottom:12px;
}
.hotline b{color:#fff;font-size:18px;letter-spacing:.6px;}
.hotline span{font-size:12px;color:#9FB4CB;display:block;}

/* ---------- 页面头（内页 banner） ---------- */
.page-head{
  background:linear-gradient(135deg,var(--brand-800),var(--brand-600));
  color:#fff;padding:26px 0 24px;
}
.page-head h1{color:#fff;font-size:22px;margin-bottom:6px;}
.page-head p{color:#C7DAEE;font-size:13.5px;margin:0;}
.crumb{font-size:12.5px;color:#A9C2DC;margin-bottom:10px;}
.crumb a{color:#C7DAEE;}
.crumb a:hover{color:#fff;}
.crumb span{margin:0 6px;}

/* ---------- 详情页 ---------- */
.detail-hero{
  background:#fff;border-bottom:1px solid var(--line-soft);
}
.detail-hero-inner{padding:24px 0 26px;}
.detail-hero img{border-radius:var(--radius-lg);box-shadow:var(--sh);margin-bottom:18px;}
.detail-hero h1{font-size:23px;margin-bottom:10px;}
.detail-hero .d-sub{font-size:14px;color:var(--ink-600);margin-bottom:14px;}
.d-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.d-price-row{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  background:linear-gradient(135deg,#FFF7F6,#FFFDFC);
  border:1px solid #FADCD8;border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;
}
.d-price-row .price{color:var(--price);font-weight:800;font-size:30px;letter-spacing:-1px;line-height:1;}
.d-price-row .price small{font-size:14px;font-weight:600;}
.d-price-row .sub{font-size:12.5px;color:var(--ink-500);}
.d-price-row .save{
  margin-left:auto;font-size:12px;color:#fff;background:#E8A33D;
  padding:3px 10px;border-radius:999px;font-weight:600;
}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;margin-bottom:14px;}
.card h3{font-size:16.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.card h3::before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--brand-500),var(--brand-600));}
.card h4{font-size:14.5px;margin:14px 0 8px;}
.card > :last-child{margin-bottom:0;}
.card p,.card li{font-size:14px;color:var(--ink-600);}
.card-ol{counter-reset:c;list-style:none;padding:0;}
.card-ol li{position:relative;padding-left:26px;margin-bottom:10px;}
.card-ol li::before{
  counter-increment:c;content:counter(c);
  position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:6px;
  background:var(--brand-100);color:var(--brand-600);
  font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;
}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:13.5px;}
.kv dt{color:var(--ink-500);white-space:nowrap;}
.kv dd{margin:0;color:var(--ink-800);}

.tbl{width:100%;border-collapse:collapse;font-size:13.5px;}
.tbl th,.tbl td{padding:10px 10px;border:1px solid var(--line);text-align:left;vertical-align:top;}
.tbl th{background:#F7FAFD;color:var(--ink-700);font-weight:600;white-space:nowrap;}
.tbl td{color:var(--ink-600);}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.notice{
  border-radius:var(--radius);padding:14px 16px;font-size:13.5px;
  background:var(--brand-50);border:1px solid #D8E7F8;color:var(--ink-700);
}
.notice-warn{background:#FFFBEB;border-color:#FCE8B8;color:#7A5B10;}
.notice-danger{background:#FEF4F3;border-color:#FADBD6;color:#8C2B22;}
.notice b{color:inherit;}

/* 侧栏 */
.detail-layout{display:grid;grid-template-columns:1fr;gap:16px;}
.sticky-aside{position:sticky;top:calc(var(--hdr-h) + 12px);}

/* 移动端底部下单条 */
.buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  padding:9px 14px calc(9px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:12px;
  box-shadow:0 -4px 18px rgba(14,36,57,.07);
}
.buybar .bb-price{line-height:1.15;min-width:0;}
.buybar .bb-price b{color:var(--price);font-size:20px;font-weight:800;letter-spacing:-.4px;}
.buybar .bb-price span{display:block;font-size:11.5px;color:var(--ink-400);}
.buybar .btn{flex:1;max-width:190px;margin-left:auto;}

/* ---------- 表单 ---------- */
.form-row{margin-bottom:15px;}
.form-row label{display:block;font-size:13.5px;color:var(--ink-700);font-weight:600;margin-bottom:7px;}
.form-row label .req{color:var(--price);margin-left:3px;}
.form-row .hint{font-size:12px;color:var(--ink-400);margin-top:5px;}
.input,textarea.input,select.input{
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;
  background:#fff;color:var(--ink-800);outline:none;transition:border-color .15s,box-shadow .15s;
  font-size:16px;
}
.input::placeholder{color:#B4BECB;}
.input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(46,125,209,.13);}
textarea.input{min-height:96px;resize:vertical;line-height:1.6;}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.4' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px;}
.field-err{font-size:12px;color:var(--price);margin-top:5px;display:none;}
.form-row.has-err .input{border-color:#F0A9A0;}
.form-row.has-err .field-err{display:block;}

.check{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-600);cursor:pointer;}
.check input{width:17px;height:17px;flex:0 0 17px;margin-top:3px;accent-color:var(--brand-500);}
.check a{color:var(--brand-600);}

.seg{display:flex;gap:8px;flex-wrap:wrap;}
.seg label{
  flex:1 1 46%;border:1.5px solid var(--line);border-radius:10px;padding:11px 12px;
  font-size:13.5px;color:var(--ink-700);text-align:center;cursor:pointer;transition:.15s;
  background:#fff;
}
.seg input{position:absolute;opacity:0;pointer-events:none;}
.seg label:has(input:checked){border-color:var(--brand-500);background:var(--brand-50);color:var(--brand-600);font-weight:600;box-shadow:0 0 0 3px rgba(46,125,209,.1);}

/* ---------- 订单/收银台 ---------- */
.order-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:14px;}
.order-card .oc-head{
  padding:13px 16px;border-bottom:1px solid var(--line-soft);
  font-size:14.5px;font-weight:700;color:var(--brand-900);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.order-card .oc-head small{font-weight:500;color:var(--ink-400);font-size:12px;}
.oc-body{padding:14px 16px;}
.line{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:7px 0;color:var(--ink-600);}
.line b{color:var(--ink-800);font-weight:600;}
.line.total{border-top:1px dashed var(--line);margin-top:6px;padding-top:12px;font-size:15px;}
.line.total b{color:var(--price);font-size:20px;font-weight:800;}

.pay-methods{display:grid;gap:10px;}
.pm{
  display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--line);
  border-radius:var(--radius);background:#fff;cursor:pointer;transition:.15s;
}
.pm.is-on{border-color:var(--wx);background:#F5FDF8;box-shadow:0 0 0 3px rgba(7,193,96,.1);}
.pm .pm-ico{width:34px;height:34px;flex:0 0 34px;border-radius:9px;display:flex;align-items:center;justify-content:center;}
.pm .pm-ico.wx{background:#E8F8EF;}
.pm .pm-ico.alipay{background:#EAF3FE;}
.pm b{display:block;font-size:14.5px;color:var(--ink-800);}
.pm span{font-size:12px;color:var(--ink-400);}
.pm .pm-radio{
  margin-left:auto;width:20px;height:20px;border-radius:50%;border:1.5px solid #CBD5E1;
  display:flex;align-items:center;justify-content:center;flex:0 0 20px;
}
.pm.is-on .pm-radio{border-color:var(--wx);background:var(--wx);}
.pm.is-on .pm-radio::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff;}

.pay-amount{
  text-align:center;padding:22px 16px 8px;
}
.pay-amount .amt{color:var(--price);font-size:36px;font-weight:800;letter-spacing:-1.2px;line-height:1.1;}
.pay-amount .amt small{font-size:18px;font-weight:700;}
.pay-amount .cnt{font-size:12.5px;color:var(--ink-400);margin-top:6px;}

/* 状态图标 */
.state-ico{
  width:66px;height:66px;border-radius:50%;margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
}
.state-ok{background:#E8F8EF;}
.state-wait{background:#FFF6E5;}

/* ---------- 订单列表 ---------- */
.olist{display:grid;gap:12px;}
.oitem{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.oitem .oi-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;background:#FAFCFE;border-bottom:1px solid var(--line-soft);font-size:12.5px;color:var(--ink-500);
}
.oitem .oi-body{display:flex;gap:12px;padding:14px;}
.oitem .oi-body img{width:74px;height:74px;flex:0 0 74px;border-radius:10px;object-fit:cover;}
.oitem .oi-info{flex:1;min-width:0;}
.oitem .oi-info b{display:block;font-size:14.5px;color:var(--ink-800);margin-bottom:4px;}
.oitem .oi-info span{font-size:12.5px;color:var(--ink-500);display:block;}
.oitem .oi-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px;border-top:1px solid var(--line-soft);
}
.oitem .oi-foot .amt{color:var(--price);font-weight:800;font-size:17px;}
.oitem .oi-foot .acts{display:flex;gap:8px;}

.tagstat{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;}
.st-wait{background:#FFF6E5;color:#A9761A;}
.st-paid{background:#E8F8EF;color:#0E8B4C;}
.st-doing{background:#E9F2FD;color:#1F6BB8;}
.st-done{background:#F1F4F8;color:#5C6B7A;}
.st-refund{background:#FEF0EE;color:#B3352A;}
.st-cancel{background:#F1F4F8;color:#8A97A6;}

/* 空态 */
.empty{text-align:center;padding:48px 20px;color:var(--ink-400);}
.empty svg{margin:0 auto 14px;display:block;opacity:.5;}
.empty p{font-size:14px;margin-bottom:18px;}

/* ---------- Tab ---------- */
.tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 12px;-webkit-overflow-scrolling:touch;}
.tabs button{
  flex:0 0 auto;padding:8px 16px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--ink-600);font-size:13.5px;white-space:nowrap;
}
.tabs button.is-on{background:var(--brand-600);border-color:var(--brand-600);color:#fff;font-weight:600;}
.tabs::-webkit-scrollbar{display:none;}

/* ---------- 折叠问答 ---------- */
.faq{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;}
.faq details{border-bottom:1px solid var(--line-soft);}
.faq details:last-child{border-bottom:0;}
.faq summary{
  list-style:none;cursor:pointer;padding:14px 40px 14px 16px;position:relative;
  font-size:14.5px;font-weight:600;color:var(--brand-900);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--ink-400);border-bottom:2px solid var(--ink-400);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s;
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.faq .faq-body{padding:0 16px 16px;font-size:13.5px;color:var(--ink-600);}
.faq .faq-body p:last-child{margin-bottom:0;}

/* ---------- Toast ---------- */
#toast{
  position:fixed;left:50%;bottom:88px;transform:translate(-50%,14px);
  background:rgba(17,24,39,.92);color:#fff;font-size:13.5px;
  padding:11px 18px;border-radius:10px;z-index:999;
  opacity:0;pointer-events:none;transition:.24s ease;max-width:82vw;text-align:center;line-height:1.5;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
#toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- 登录 ---------- */
.auth-wrap{max-width:420px;margin:0 auto;padding:26px 16px 50px;}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 20px;box-shadow:var(--sh-sm);}
.auth-card h1{font-size:20px;text-align:center;margin-bottom:6px;}
.auth-card .a-sub{text-align:center;font-size:13px;color:var(--ink-500);margin-bottom:22px;}
.auth-switch{display:flex;background:#F1F4F8;border-radius:10px;padding:4px;margin-bottom:20px;}
.auth-switch button{
  flex:1;padding:9px;border:0;background:transparent;border-radius:8px;
  font-size:14px;color:var(--ink-500);font-weight:600;
}
.auth-switch button.is-on{background:#fff;color:var(--brand-600);box-shadow:var(--sh-xs);}
.auth-tip{
  margin-top:18px;font-size:12.5px;color:var(--ink-600);
  background:var(--brand-50);border:1px dashed #C6DCF3;border-radius:10px;padding:12px 14px;
}
.auth-tip b{color:var(--brand-600);}

/* ---------- 骨架/统计 ---------- */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 14px;text-align:center;}
.stat b{display:block;font-size:24px;color:var(--brand-600);font-weight:800;letter-spacing:-.6px;line-height:1.1;}
.stat span{font-size:12.5px;color:var(--ink-500);}

/* ---------- 响应式 ---------- */
@media (min-width:640px){
  body{font-size:15.5px;}
  .wrap{padding:0 22px;}
  .hero h1{font-size:34px;}
  .hero-inner{padding:62px 22px 56px;}
  .hero-stats{grid-template-columns:repeat(4,1fr);}
  .trustbar-inner{grid-template-columns:repeat(4,1fr);}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .plan-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .feat-grid{grid-template-columns:repeat(3,1fr);}
  .qual-grid{grid-template-columns:repeat(2,1fr);}
  .rev-grid{grid-template-columns:repeat(2,1fr);}
  .footer-cols{grid-template-columns:1.4fr 1fr 1fr;}
  .stat-grid{grid-template-columns:repeat(4,1fr);}
  .section{padding:54px 0;}
  .sec-head h2{font-size:28px;}
  .page-head{padding:38px 0 34px;}
  .page-head h1{font-size:27px;}
  .cta-band{padding:36px 32px;}
  .cta-band .btn{width:auto;min-width:200px;}
  .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
  .buybar{display:none;}
}

@media (min-width:900px){
  :root{--hdr-h:68px;}
  .hdr-actions .hdr-orders{display:inline-flex;}
  .site-nav{display:flex;align-items:center;gap:2px;}
  .nav-toggle{display:none;}
  .nav-drawer{display:none !important;}
  .svc-grid{grid-template-columns:repeat(4,1fr);}
  .plan-grid{grid-template-columns:repeat(3,1fr);}
  .steps{grid-template-columns:repeat(5,1fr);}
  .step{padding:52px 14px 16px;text-align:center;}
  .step::before{left:50%;top:14px;transform:translateX(-50%);}
  .detail-layout{grid-template-columns:1fr 348px;gap:22px;}
  .rev-grid{grid-template-columns:repeat(3,1fr);}
  .footer-cols{grid-template-columns:1.6fr 1fr 1fr 1.2fr;}
  .hero h1{font-size:40px;}
  .split{grid-template-columns:1.05fr .95fr;gap:34px;}
  .split.rev .split-media{order:2;}
  .hero-cta .btn{flex:0 0 auto;}
}

@media (min-width:1100px){
  .sec-head h2{font-size:30px;}
}

@media print{
  .site-header,.buybar,.site-footer{display:none !important;}
}
