/* ==========================================================================
   遵义老兵搬家 · 全站样式
   设计规范：Airbnb-Inspired（awesome-design-md / VoltAgent）
   —— 干净白底 + Airbnb Rausch #FF385C 作为唯一品牌电压色；
      按钮 8px 圆角、卡片 14px 圆角、阴影极轻（1px 发丝级）；
      display 字重 500/600 而非 700+，靠照片与留白说话。
   ★ 换肤说明：本文件是全站唯一共享样式源，类名与结构不得改动，
     调整视觉只改本文件（尤其是 :root 令牌）。
   ========================================================================== */

:root{
  /* ---- Airbnb 色板 ---- */
  --ink:#222222;            /* ink —— 标题与深色容器底 */
  --ink-2:#3F3F3F;          /* body */
  --ink-3:#6A6A6A;          /* muted —— 中文辅助文字按可读性取 #6A6A6A */
  --line:#DDDDDD;           /* hairline */
  --line-2:#EBEBEB;         /* hairline-soft */
  --bg:#FFFFFF;             /* canvas */
  --bg-2:#F7F7F7;           /* surface-soft —— 区块交替底 */
  --bg-3:#F2F2F2;           /* surface-strong —— 胶囊/浅底 */
  --brand:#FF385C;          /* Rausch —— 全站唯一转化色 */
  --brand-2:#E00B41;        /* primary-active */
  --brand-3:#FFD1DA;        /* primary-disabled */
  --accent:#FF385C;
  --accent-2:#FFFFFF;
  --accent-soft:#FFF1F4;    /* 极浅粉底，用于提示块 */
  --ok:#008A05;
  /* ---- 深色容器上的文字三级 ---- */
  --on-dark:#FFFFFF;
  --on-dark-2:#D6D6D6;
  --on-dark-3:#A8A8A8;
  --on-dark-4:#8E8E8E;
  --hairline-dark:#333333;
  /* ---- 形状与层级 ---- */
  --radius:14px;            /* property-card = rounded.md */
  --radius-lg:14px;
  --btn-r:8px;              /* button-primary = rounded.sm */
  --pill:9999px;            /* rounded.full —— 搜索栏/标签/图标圆 */
  --shadow-sm:0 1px 2px rgba(0,0,0,.08);
  --shadow:0 1px 2px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.05);
  --shadow-lg:0 6px 16px rgba(0,0,0,.12);
  --head-h:64px;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Airbnb Cereal VF",Circular,-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue","Microsoft YaHei","PingFang SC",sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.75;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
button{font-family:inherit}
/* 规范：display 用 500/600 而非 700+，品牌信任照片与留白而不是字体肌肉 */
h1,h2,h3,h4{line-height:1.35;margin:0 0 .5em;font-weight:600;color:var(--ink);letter-spacing:0}
h1{font-size:clamp(24px,3.6vw,38px)}
h2{font-size:clamp(20px,2.4vw,27px)}
h3{font-size:clamp(17px,1.8vw,20px)}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.25em}
li{margin:.35em 0}
strong{color:var(--ink)}
/* 深色容器（CTA 带 / 侧栏卡 / 页脚）里的强调字必须反相，否则黑底黑字。
   hero 与 page-hero 已改为浅底，不再参与反相。 */
.band strong,.side-cta strong,.site-foot strong{color:var(--on-dark)}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------------------------------------------------------- 顶部条 */
/* 规范：顶部条走白底 + 发丝线，品牌电压只留一个 6px 圆点，不做整条重色。 */
.topbar{
  background:var(--bg);color:var(--ink-2);font-size:13px;line-height:1;
  padding:9px 0;border-bottom:1px solid var(--line);
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar a{color:var(--ink);font-weight:600}
.topbar .tb-right{display:flex;gap:18px;align-items:center}
.topbar .dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--brand);margin-right:6px;vertical-align:1px;
}

/* ---------------------------------------------------------------- 导航 */
.site-head{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(180%) blur(10px);
}
.nav{
  height:var(--head-h);display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:18px;letter-spacing:0;white-space:nowrap;flex:0 0 auto}
.logo>span{display:block;white-space:nowrap}
.logo:hover{color:var(--ink);text-decoration:none}
.logo-mark{width:38px;height:38px;flex:0 0 38px;border-radius:8px;display:block}
.logo-sub{display:block;font-size:11px;font-weight:500;color:var(--ink-3);letter-spacing:1px;margin-top:-3px}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nav-links a{
  display:block;padding:9px 16px;border-radius:var(--pill);color:var(--ink);
  font-size:15px;font-weight:600;white-space:nowrap;
}
.nav-links a:hover,.nav-links a.on{background:var(--bg-3);color:var(--ink);text-decoration:none}
.nav-cta{display:flex;align-items:center;gap:12px}
.nav-tel{font-weight:700;color:var(--ink);font-size:16px;letter-spacing:0;white-space:nowrap}
.nav-tel small{display:block;font-size:11px;font-weight:500;color:var(--ink-3);letter-spacing:1px}
.burger{
  display:none;width:44px;height:44px;border:0;background:var(--bg-3);
  border-radius:var(--pill);cursor:pointer;position:relative;
}
.burger span{
  position:absolute;left:12px;right:12px;height:2px;background:var(--ink);border-radius:2px;
  transition:.25s;
}
.burger span:nth-child(1){top:15px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------------------------------------------------------------- 按钮
   规范：button-primary = Rausch 底 + 白字 + 8px 圆角 + 48px 高，字重 500。
   全站主 CTA 统一珊瑚红，深色容器上同样使用（不做反相），保持唯一品牌电压。 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:var(--btn-r);font-size:16px;font-weight:600;
  border:1px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap;
  letter-spacing:0;min-height:48px;
}
.btn-primary{background:var(--brand);color:var(--on-dark);box-shadow:none}
.btn-primary:hover{background:var(--brand-2);color:var(--on-dark)}
/* 描边胶囊随容器明暗自适应 */
.btn-ghost{background:transparent;color:inherit;border-color:currentColor;opacity:.92}
.btn-ghost:hover{background:rgba(128,128,128,.16);color:inherit;border-color:currentColor;opacity:1}
.btn-line{background:var(--bg);color:var(--ink);border-color:var(--line)}
.btn-line:hover{background:var(--bg-3);border-color:var(--ink);color:var(--ink)}
.btn-sm{padding:10px 18px;font-size:14px}

/* ---------------------------------------------------------------- 首页 hero
   规范：白色画布 + 大留白；品牌电压只出现在 CTA 与高亮词上，不做整屏重色。 */
.hero{
  position:relative;color:var(--ink);overflow:hidden;
  background:var(--bg-2);border-bottom:1px solid var(--line);
}
.hero .wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:64px}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  background:var(--bg);border:1px solid var(--line);color:var(--ink-2);
  padding:7px 14px;border-radius:var(--pill);margin-bottom:20px;letter-spacing:0;
}
.hero h1{color:var(--ink);margin-bottom:18px;font-size:clamp(26px,4vw,42px);letter-spacing:0}
/* 强调靠品牌色：珊瑚红高亮词，就是本规范的唯一电压色 */
.hero h1 em{
  font-style:normal;color:var(--on-dark);background:var(--brand);
  border-radius:var(--radius);padding:.06em .3em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.hero-lead{font-size:17px;color:var(--ink-2);max-width:56ch;margin-bottom:26px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  border-top:1px solid var(--line);padding-top:22px;max-width:560px;
}
.hero-stats b{display:block;font-size:26px;color:var(--ink);line-height:1.2;letter-spacing:0}
.hero-stats span{font-size:13px;color:var(--ink-3)}
.hero-card{
  background:var(--bg);color:var(--ink);border-radius:var(--radius-lg);
  padding:24px;box-shadow:var(--shadow-lg);
}
.hero-card h3{font-size:17px;margin-bottom:4px}
.hero-card .hc-sub{font-size:13px;color:var(--ink-3);margin-bottom:16px}
.hc-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.hc-row:last-of-type{border-bottom:0}
.hc-ico{
  width:30px;height:30px;flex:0 0 30px;border-radius:var(--pill);background:var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--ink);font-weight:700;font-size:14px;
}
.hc-row b{font-size:14px;font-weight:700;display:block}
.hc-row span{font-size:12.5px;color:var(--ink-3);display:block;line-height:1.5}
.hero-card .btn{width:100%;margin-top:16px}

/* ---------------------------------------------------------------- 区块 */
.section{padding:64px 0}
.section-alt{background:var(--bg-2)}
.section-head{max-width:760px;margin-bottom:34px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
/* 规范：eyebrow 是唯一允许全大写＋字距的例外 */
.eyebrow{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.6px;
  color:var(--ink-3);text-transform:uppercase;margin-bottom:10px;
}
.section-head h2{margin-bottom:12px}
.section-head p{color:var(--ink-2);font-size:15.5px;margin:0}

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

/* 规范：默认零阴影，靠发丝线与留白分隔；悬停只加强描边，不做位移与投影 */
.card{
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;transition:.22s;position:relative;display:flex;flex-direction:column;
}
.card:hover{border-color:var(--ink);box-shadow:none;transform:none}
/* 服务标签：改用规范里的 category-button 浅灰胶囊。
   注意不能做成 44px 正圆——两字中文标签会溢出圆形压住标题。 */
.card-ico{
  display:flex;align-items:center;justify-content:center;
  align-self:flex-start;flex:none;
  min-height:34px;padding:0 16px;border-radius:var(--pill);margin-bottom:14px;
  background:var(--bg-3);color:var(--ink);
  font-weight:700;font-size:14px;
}
.card h3{font-size:17px;margin-bottom:8px}
.card p{color:var(--ink-2);font-size:14.5px;margin:0 0 14px;flex:1}
.card .card-link{font-size:14px;font-weight:700;color:var(--ink)}
.card .card-link::after{content:" →"}
.card .card-link:hover{text-decoration:underline}
.card.tall{padding:24px}

/* ---------------------------------------------------------------- 区域网格 */
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.area-item{
  border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 14px;background:var(--bg);
  transition:.2s;
}
.area-item:hover{border-color:var(--ink);box-shadow:none;transform:none}
.area-item b{display:block;font-size:15.5px;margin-bottom:4px;color:var(--ink)}
.area-item span{font-size:12.5px;color:var(--ink-3);display:block;line-height:1.5}
.area-item em{
  font-style:normal;display:inline-block;margin-top:8px;font-size:11.5px;
  background:var(--bg-3);color:var(--ink);padding:3px 10px;border-radius:var(--pill);font-weight:700;
}

/* ---------------------------------------------------------------- 列表页 */
.page-hero{
  background:var(--bg-2);color:var(--ink);border-bottom:1px solid var(--line);
  padding:44px 0 40px;position:relative;overflow:hidden;
}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{color:var(--ink);margin-bottom:12px}
.page-hero p{color:var(--ink-2);max-width:70ch;margin:0}
.breadcrumb{font-size:13px;color:var(--ink-3);margin-bottom:14px;list-style:none;padding:0;display:flex;gap:7px;flex-wrap:wrap}
.breadcrumb a{color:var(--ink-2)}
.breadcrumb li+li::before{content:"/";margin-right:7px;color:var(--ink-3)}

.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.chip{
  border:1px solid var(--line);background:var(--bg);border-radius:var(--pill);padding:7px 16px;
  font-size:14px;color:var(--ink-2);cursor:pointer;font-weight:600;transition:.18s;
}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-dark)}

/* ---------------------------------------------------------------- 文章列表 */
.post-list{display:grid;gap:14px}
.post{
  display:flex;gap:18px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;transition:.2s;
}
.post:hover{border-color:var(--ink);box-shadow:none}
.post-date{
  flex:0 0 74px;text-align:center;border-right:1px solid var(--line);padding-right:14px;
}
.post-date b{display:block;font-size:21px;color:var(--ink);line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.post-date span{font-size:12px;color:var(--ink-3)}
.post h3{font-size:17px;margin-bottom:7px}
.post h3 a{color:var(--ink)}
.post h3 a:hover{color:var(--ink);text-decoration:underline}
.post p{font-size:14px;color:var(--ink-2);margin:0 0 8px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{
  font-size:11.5px;background:var(--bg-3);color:var(--ink);
  padding:3px 10px;border-radius:var(--pill);font-weight:600;
}

/* ---------------------------------------------------------------- 正文 */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
/* min-width:0 必须保留：/jiage.html 的表格 min-width:620px 会撑开 grid 轨道的 min-content，
   没有这一行整页在手机上横向溢出（2026-10-20 实测 scrollWidth 637 > 390）。 */
.prose{font-size:16.5px;max-width:none;min-width:0}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.prose h2{margin-top:38px;padding-left:14px;border-left:4px solid var(--brand);font-size:22px}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:26px;font-size:18px}
.prose p{color:var(--ink-2)}
.prose ul,.prose ol{color:var(--ink-2)}
.prose li{margin:.5em 0}
.lead{
  font-size:17px;color:var(--ink);background:var(--accent-soft);border-left:3px solid var(--brand);
  padding:16px 18px;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:28px;
}
.callout{
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;margin:22px 0;font-size:15px;color:var(--ink);
}
.callout b{color:var(--ink)}

/* ---------------------------------------------------------------- FAQ
   规范 faq-row：不套卡片外框，仅用发丝线分隔行。 */
.faq-block{margin-top:38px}
.faq-block h2{margin-top:0}
details.faq{
  border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;
  margin:0;overflow:hidden;
}
details.faq:first-of-type{border-top:1px solid var(--line)}
details.faq summary{
  cursor:pointer;padding:16px 44px 16px 0;font-weight:700;font-size:15.5px;
  list-style:none;position:relative;color:var(--ink);
}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{
  content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);
  font-size:22px;font-weight:400;color:var(--ink);line-height:1;
}
details.faq[open] summary::after{content:"−"}
details.faq[open] summary{background:transparent}
details.faq .faq-body{padding:0 0 18px;font-size:15px;color:var(--ink-2);border-top:0}

/* ---------------------------------------------------------------- 侧栏 */
.side{position:sticky;top:calc(var(--head-h) + 20px);display:grid;gap:16px}
.side-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.side-card h3{font-size:16px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.side-list{list-style:none;padding:0;margin:0;font-size:14.5px}
.side-list li{margin:0;border-bottom:1px solid var(--line-2)}
.side-list li:last-child{border-bottom:0}
.side-list a{display:block;padding:9px 0;color:var(--ink-2)}
.side-list a:hover{color:var(--ink);text-decoration:underline}
.side-cta{background:var(--ink);color:var(--on-dark);border:0}
.side-cta h3{color:var(--on-dark);border-bottom-color:var(--hairline-dark)}
.side-cta p{color:var(--on-dark-2);font-size:14px}
.side-cta .btn{width:100%;margin-top:6px}
.side-cta .tel{
  display:block;font-size:22px;font-weight:700;color:var(--on-dark);letter-spacing:0;margin:6px 0 4px;
}

/* ---------------------------------------------------------------- 表格 / 清单 */
.info-table{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:22px 0;
}
.info-table div{background:var(--bg);padding:13px 16px}
.info-table dt,.info-table .k{font-size:13px;color:var(--ink-3);margin-bottom:3px;font-weight:600}
.info-table .v{font-size:15px;color:var(--ink);font-weight:600}

/* ---------------------------------------------------------------- 价格总表
   /jiage.html 专用：起步价黑卡 + 分项表。表格窄屏横向滚动，不换行不塌陷。 */
.price-hero{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  background:var(--ink);color:var(--on-dark);
  border-radius:var(--radius-lg);padding:26px 28px;margin:4px 0 26px;
}
.price-hero .ph-num{display:flex;align-items:baseline;gap:5px;line-height:1}
.price-hero .ph-num b{font-size:46px;font-weight:700;letter-spacing:-1px;color:var(--on-dark)}
.price-hero .ph-num span{font-size:16px;color:var(--brand)}
.price-hero .ph-txt{flex:1;min-width:220px}
.price-hero .ph-txt strong{display:block;font-size:15px;color:var(--on-dark);margin-bottom:4px}
.price-hero .ph-txt p{margin:0;font-size:14px;color:var(--on-dark-2);line-height:1.7}

.table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  margin:22px 0;border:1px solid var(--line);border-radius:var(--radius);
}
.price-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:620px}
.price-table caption{
  caption-side:top;text-align:left;padding:14px 16px;font-size:12.5px;color:var(--ink-3);
  border-bottom:1px solid var(--line-2);
}
.price-table th,.price-table td{
  text-align:left;padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:top;
}
.price-table thead th{
  background:var(--bg-2);font-size:12.5px;color:var(--ink-3);font-weight:600;white-space:nowrap;
}
.price-table tbody th{font-weight:600;color:var(--ink);white-space:nowrap}
.price-table td{color:var(--ink-2);line-height:1.65}
.price-table tbody tr:last-child th,.price-table tbody tr:last-child td{border-bottom:0}
.price-table td.pp{color:var(--ink);font-weight:700;white-space:nowrap}

/* 首页 hero 起步价胶囊 */
.hero-price{
  display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-size:14px;color:var(--ink-2);
  background:var(--accent-soft);border:1px solid var(--brand-3);border-radius:var(--pill);
  padding:7px 15px;margin:-10px 0 26px;
}
.hero-price b{color:var(--brand);font-size:15.5px;font-weight:700}
.hero-price span{color:var(--ink-3);font-size:13px}
.hero-price a{color:var(--ink);text-decoration:underline;font-weight:600}
.hero-price a:hover{color:var(--brand)}

.steps{list-style:none;padding:0;margin:22px 0;counter-reset:s}
.steps li{
  position:relative;padding:0 0 20px 48px;counter-increment:s;margin:0;
  border-left:2px solid var(--line);margin-left:15px;
}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps li::before{
  content:counter(s);position:absolute;left:-15px;top:0;width:30px;height:30px;border-radius:50%;
  background:var(--brand);color:var(--on-dark);font-size:13.5px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.steps b{display:block;font-size:15.5px;margin-bottom:3px}
.steps span{font-size:14.5px;color:var(--ink-2)}

.checks{list-style:none;padding:0;margin:18px 0}
.checks li{padding-left:28px;position:relative;font-size:15px;color:var(--ink-2)}
.checks li::before{
  content:"";position:absolute;left:0;top:.55em;width:15px;height:15px;border-radius:0;
  background:var(--bg-3);
  box-shadow:inset 0 0 0 1.5px var(--ink);
}
/* 警告项反相：实心黑块 */
.checks li.warn::before{background:var(--brand);box-shadow:none}

/* ---------------------------------------------------------------- CTA 带
   规范：中段黑色反相带 = 页面节奏的深度来源。 */
.band{
  background:var(--ink);color:var(--on-dark);padding:52px 0;
  position:relative;overflow:hidden;
}
.band .wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.band h2{color:var(--on-dark);margin-bottom:8px}
.band p{color:var(--on-dark-2);margin:0;font-size:15.5px}
.band .band-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------------------------------------------------------------- 页脚 */
.site-foot{background:var(--ink);color:var(--on-dark-2);padding:52px 0 0;font-size:14.5px;border-top:1px solid var(--hairline-dark)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:36px}
.site-foot h4{color:var(--on-dark);font-size:15px;margin-bottom:14px;letter-spacing:0}
.site-foot a{color:var(--on-dark-2)}
.site-foot a:hover{color:var(--on-dark)}
.foot-links{list-style:none;padding:0;margin:0}
.foot-links li{margin:.5em 0}
.foot-note{
  border-top:1px solid rgba(255,255,255,.16);padding:20px 0 28px;font-size:13px;color:var(--on-dark-3);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.foot-note a{color:var(--on-dark-2)}
.disc{font-size:12.5px;color:var(--on-dark-4);line-height:1.7;max-width:74ch}

/* ---------------------------------------------------------------- 移动端底部咨询 */
.float-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:rgba(255,255,255,.98);border-top:1px solid var(--line);
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  box-shadow:0 -1px 3px rgba(0,0,0,.08);
}
.float-bar .fb-inner{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:560px;margin:0 auto}
.float-bar .btn{width:100%;min-height:46px}

/* ---------------------------------------------------------------- 图片与图位 */
.shot{
  width:100%;border-radius:var(--radius);border:1px solid var(--line);
  margin:22px 0;display:block;background:var(--bg-2);
}
.shot.wide{aspect-ratio:16/9;object-fit:cover}

/* 资质页：营业执照原件 */
.license-fig{
  margin:24px 0;padding:22px 22px 14px;border:1px solid var(--line);
  border-radius:var(--radius);background:var(--bg);text-align:center;
}
.license-img{
  display:block;width:100%;max-width:520px;height:auto;margin:0 auto;
  border-radius:calc(var(--radius) - 6px);border:1px solid var(--line);
  box-shadow:0 6px 22px rgba(0,0,0,.07);background:#fff;
}
.license-fig figcaption{
  max-width:560px;margin:13px auto 0;font-size:12.5px;line-height:1.75;
  color:var(--ink-3);text-align:center;
}
/* 图位：规范禁用装饰性渐变/斜纹底，改为平铺浅灰＋虚线框 */
.ph{
  width:100%;margin:22px 0;border-radius:var(--radius);
  border:1.5px dashed #C9C9C9;min-height:170px;
  background:var(--bg-2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:7px;color:var(--ink-3);text-align:center;padding:26px 18px;
}
.ph .ph-mark{
  width:34px;height:26px;border-radius:0;border:2px solid #B0B0B0;position:relative;
}
.ph .ph-mark::before{
  content:"";position:absolute;left:5px;top:5px;width:8px;height:8px;border-radius:50%;
  background:#B0B0B0;
}
.ph .ph-mark::after{
  content:"";position:absolute;left:4px;bottom:3px;border:7px solid transparent;
  border-bottom-color:#B0B0B0;
}
.ph b{font-size:14.5px;font-weight:700;color:var(--ink-2)}
.ph .ph-tag{
  font-size:11.5px;background:var(--bg);border:1px solid var(--line);border-radius:var(--pill);
  padding:3px 10px;color:var(--ink-3);font-weight:600;
}
.filter-empty{font-size:14.5px;padding:20px 0}

/* ---------------------------------------------------------------- 提示条 */
.notice{
  background:var(--bg-2);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);
  padding:12px 16px;font-size:14px;margin:0 0 22px;
}
.notice b{color:var(--ink)}

/* ---------------------------------------------------------------- 响应式 */
@media(max-width:1080px){
  .nav-links{display:none}
  .burger{display:block}
  .hero-inner{grid-template-columns:1fr;gap:34px}
  .layout{grid-template-columns:1fr;gap:32px}
  .side{position:static}
  .grid-4,.area-grid{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px}
  /* 移动菜单 */
  .nav-links.open{
    display:grid;position:absolute;left:12px;right:12px;top:calc(var(--head-h) - 4px);
    background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:10px;
    box-shadow:var(--shadow-lg);grid-template-columns:repeat(2,1fr);gap:2px;z-index:80;
  }
  .nav-links.open a{padding:12px 14px;font-size:15px}
}
@media(max-width:720px){
  :root{--head-h:58px}
  /* 规范：移动端导航收成「品牌 + 汉堡」，电话入口由底部浮条承担，
     否则 LOGO 会被号码与按钮挤到换行（改造前即存在此缺陷）。
     ★ 汉堡按钮在 .nav-cta 内部，只能隐藏号码与按钮，不能隐藏整个 .nav-cta。 */
  .nav-cta{gap:0}
  .nav-cta .nav-tel,.nav-cta .btn{display:none}
  .logo{font-size:17px;gap:8px}
  .logo-mark{width:32px;height:32px;flex:0 0 32px}
  .float-bar .btn-line{border-color:var(--ink)}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom));font-size:15.5px}
  a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
  .wrap{padding:0 15px}
  .section{padding:44px 0}
  .hero .wrap{padding-top:40px;padding-bottom:44px}
  .hero-lead{font-size:15.5px}
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .hero-stats b{font-size:20px}
  .hero-stats span{font-size:11.5px}
  .hero-actions .btn{flex:1;min-height:48px}
  .grid-3,.grid-4,.grid-2,.area-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .card{padding:17px}
  .card p{font-size:14px}
  .post{flex-direction:column;gap:12px;padding:17px}
  .post-date{
    flex:none;display:flex;align-items:baseline;gap:7px;border-right:0;border-bottom:0;
    padding:0;text-align:left;
  }
  .post-date b{font-size:15px}
  .band{padding:38px 0}
  .band .band-actions{width:100%}
  .band .band-actions .btn{flex:1;min-height:46px}
  .float-bar{display:block}
  .foot-grid{grid-template-columns:1fr;gap:22px;padding-bottom:26px}
  .info-table{grid-template-columns:1fr}
  .float-bar,.site-foot{padding-bottom:env(safe-area-inset-bottom)}
  .prose{font-size:16px}
  .prose h2{font-size:19.5px;margin-top:30px}
  .topbar{font-size:12px;padding:7px 0}
  .topbar .tb-right{gap:12px}
  .nav-tel{font-size:14.5px}
  .area-grid{grid-template-columns:1fr 1fr}
  /* 价格页：手机上起步价黑卡收窄字号；表格改成纵向卡片（不横向滚动，
     否则「怎么算」这一列会被截在屏幕外，那才是用户真正要读的部分） */
  .price-hero{padding:20px;gap:14px;border-radius:var(--radius)}
  .price-hero .ph-num b{font-size:38px}
  .price-hero .ph-txt{min-width:0;flex-basis:100%}
  .hero-price{font-size:13px;padding:6px 12px;gap:7px;margin:-6px 0 22px}
  .table-wrap{border:0;border-radius:0;overflow:visible}
  .price-table{min-width:0;display:block;font-size:14px}
  .price-table caption{display:block;padding:0 0 10px;border:0;font-size:12px}
  .price-table thead{display:none}
  .price-table tbody{display:block}
  .price-table tr{
    display:block;padding:13px 15px;margin-bottom:10px;
    border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);
  }
  .price-table th,.price-table td{display:block;border:0;padding:0;white-space:normal}
  .price-table tbody th{
    font-size:15px;font-weight:700;margin-bottom:7px;padding-bottom:7px;
    border-bottom:1px solid var(--line-2);
  }
  .price-table td{padding-left:74px;position:relative;margin:0 0 3px;line-height:1.65}
  .price-table td::before{
    content:attr(data-label);position:absolute;left:0;top:0;
    font-size:12px;color:var(--ink-3);font-weight:600;
  }
  .price-table td.pp{padding-left:0;font-size:15px;margin-bottom:6px}
  .price-table td.pp::before{position:static;display:inline;margin-right:8px}
}
@media(max-width:400px){
  .area-grid,.grid-3,.grid-2{grid-template-columns:1fr}
  .hero-stats b{font-size:18px}
  .logo-sub{display:none}
}
@media print{
  .site-head,.float-bar,.band,.topbar{display:none}
  body{padding-bottom:0}
}
