/* ============================================================
   羽安家政官网 · 全站样式 v5
   设计系统：纯白底 + 品牌蓝结构色块 + 香槟金细线点缀
   字体：思源黑体（无衬线，全站禁宋体）/ Inter（数字与英文）
   所有颜色、字体、间距均为 CSS 变量，改 :root 即全站生效
   ============================================================ */

/* ---------- 本地字体：Inter 拉丁子集（避免依赖境外字体服务，国内秒开） ---------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 设计变量（改这里即可换全站配色与字体） ---------- */
:root {
  /* 色彩 */
  --brand-blue: #0A66C2;      /* 主蓝：首屏大色块 / 导航 / 页脚 / 按钮 */
  --blue-deep:  #084C8D;      /* 辅助深蓝：仅页脚备案窄条 / hover，占比<5% */
  --blue-soft:  #EEF4FB;      /* 辅助浅蓝：白底页面的区块区分 / 表单页背景 */
  --blue-line:  #D7E5F4;      /* 白底上的细蓝线（卡片描边、分隔） */
  --gold:       #C6A75E;      /* 点缀金：细线 / 描边 / 小图标，总面积<5% */
  --gold-ink:   #7E6530;      /* 白底上的金色文字用（加深保证可读） */
  --ink:        #1F2933;      /* 正文深灰 */
  --grey:       #5B6773;      /* 辅助灰 */
  --white:      #FFFFFF;

  /* 字体（全站无衬线，禁宋体）：中文走系统黑体，英文数字走本地 Inter */
  --font-title: 'PingFang SC', 'Microsoft YaHei', 'Source Han Sans CN', 'Noto Sans SC', sans-serif;
  --font-body:  'PingFang SC', 'Microsoft YaHei', 'Source Han Sans CN', 'Noto Sans SC', sans-serif;
  --font-latin: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;   /* 英文 / 数字 */

  /* 间距与版式 */
  --wrap: 1440px;                       /* 版心：桌面端吃满屏幕，不做窄居中 */
  --gutter: clamp(24px, 3.4vw, 60px);   /* 左右留白随屏宽变化 */
  --sec-pad: 104px;
  --radius: 2px;
}

/* ---------- 基础 ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--ink);
  background: var(--white);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--brand-blue); text-decoration: none; }
ul { list-style: none; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }

/* ---------- 通用模块头：左侧标题 + 右侧说明，横向两栏排布（不再居中挤在中间） ---------- */
.section { padding: var(--sec-pad) 0; background: var(--white); }
.section.alt { background: var(--blue-soft); }

.section-head {
  max-width: none; margin: 0 0 54px; padding-bottom: 26px;
  border-bottom: 1px solid var(--blue-line);
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  column-gap: clamp(40px, 7vw, 120px); row-gap: 8px;
  align-items: end; text-align: left;
}
.sec-en {
  font-family: var(--font-latin); font-weight: 500;
  font-size: 13px; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--gold-ink); margin-bottom: 14px;
}
.section-head .sec-en { grid-column: 1; grid-row: 1; margin-bottom: 0; }
.section-head h2 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(28px, 3vw, 38px); letter-spacing: 0.06em; color: var(--ink);
  grid-column: 1; grid-row: 2;
}
.section-head p {
  grid-column: 2; grid-row: 1 / 3; align-self: end; margin-top: 0;
  color: var(--ink); font-size: 16.5px; line-height: 1.9; max-width: 40em;
}
/* 紧跟金色顶线网格（双轨说明/方式卡/流程/保障）时，去掉模块头蓝色底线，避免蓝金双线 */
.section-head:has(+ .svc-lead),
.section-head:has(+ .mode-cards),
.section-head:has(+ .benefit-grid),
.section-head:has(+ .steps-grid),
.section-head:has(+ .flow-grid),
.section-head:has(+ .medi-grid) { border-bottom-color: transparent; }

/* ---------- 品牌口号（全站仅出现两次：首屏 + 服务标准模块标题） ----------
   排版规则：思源黑体 600 字重、字距 0.08em、两句话之间一条短香槟金竖线，
   无感叹号、无引号、无描边渐变贴纸 */
.slogan {
  display: flex; align-items: center; justify-content: flex-start;
  gap: clamp(18px, 2.6vw, 34px);
  font-family: var(--font-title); font-weight: 600;
  letter-spacing: 0.08em; line-height: 1.4;
}
.slogan i { width: 1px; height: 0.85em; background: var(--gold); flex: none; }
.slogan-lg { font-size: clamp(26px, 3.2vw, 40px); color: var(--white); }
.slogan-md { font-size: clamp(24px, 2.6vw, 32px); color: var(--ink); }

/* ---------- 页头 ---------- */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--blue-line);
}
.header-inner {
  max-width: var(--wrap); margin: 0 auto; padding: 14px var(--gutter);
  display: flex; align-items: center; justify-content: space-between;
}
.brand img { height: 46px; width: auto; }   /* logo 已裁边，46px 高即清晰醒目 */

.nav { display: flex; align-items: center; gap: 34px; }
.nav > a { font-size: 15.5px; color: var(--ink); font-weight: 500; letter-spacing: 0.04em; }
.nav > a:hover { color: var(--brand-blue); }
.nav > a.btn { color: var(--white); }
.nav > a.btn:hover { background: #0B5FAE; color: var(--white); }

.menu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.menu-toggle span { display: block; width: 22px; height: 2px; background: var(--ink); margin: 5px 0; }

/* ---------- 按钮 ---------- */
/* 白底上：主蓝底白字 */
.btn {
  display: inline-block; background: var(--brand-blue); color: var(--white);
  font-family: var(--font-title); font-weight: 500; font-size: 15.5px;
  letter-spacing: 0.08em; padding: 13px 34px;
  border: 1px solid var(--brand-blue); border-radius: var(--radius);
  transition: background .25s, border-color .25s;
}
.btn:hover { background: #0B5FAE; border-color: #0B5FAE; }
/* 蓝底上：金色细描边 + 透明底白字 */
.btn-gold {
  display: inline-block; background: transparent; color: var(--white);
  font-family: var(--font-title); font-weight: 500; font-size: 15.5px;
  letter-spacing: 0.08em; padding: 13px 36px;
  border: 1px solid var(--gold); border-radius: var(--radius);
  transition: background .25s;
}
.btn-gold:hover { background: var(--gold); color: #FFFFFF; }
/* 白底描边（次按钮） */
.btn-outline {
  display: inline-block; background: transparent; color: var(--brand-blue);
  font-family: var(--font-title); font-weight: 500; font-size: 15.5px;
  letter-spacing: 0.08em; padding: 12px 32px;
  border: 1px solid var(--brand-blue); border-radius: var(--radius);
  transition: background .25s, color .25s;
}
.btn-outline:hover { background: var(--brand-blue); color: var(--white); }

/* ---------- 首屏：品牌蓝底 + 右侧半透背景图（向左溶解过渡） ---------- */
.hero {
  position: relative; overflow: hidden;
  background: var(--brand-blue);
  padding: 150px 0 0;
}

/* 背景图层：只占右侧约四成幅面，被蓝色蒙版压住；底部渐隐融入蓝底 */
.hero-bg {
  position: absolute; top: 0; right: 0; bottom: 0; width: 44%;
  overflow: hidden; z-index: 0; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
}
/* 蓝色蒙版：左端纯品牌蓝，向右逐级透出照片，接缝处自然溶解 */
.hero-veil {
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    var(--brand-blue) 0%,
    rgba(10, 102, 194, 0.93) 18%,
    rgba(10, 102, 194, 0.80) 45%,
    rgba(10, 102, 194, 0.64) 75%,
    rgba(10, 102, 194, 0.52) 100%);
}

.hero-inner {
  position: relative; z-index: 2;
  display: flex; align-items: center;
  min-height: clamp(440px, 40vw, 560px);
}
.hero-copy { max-width: 580px; }
.hero h1 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(48px, 6.5vw, 84px);
  letter-spacing: 0.1em; line-height: 1.2; color: var(--white);
}
.hero .hero-latin {
  font-family: var(--font-latin); font-weight: 500;
  font-size: clamp(12px, 1.1vw, 14px); letter-spacing: 0.3em;
  color: rgba(255, 255, 255, 0.72); margin-top: 18px; text-transform: uppercase;
}
.hero .hero-slogan { margin-top: 36px; }
.hero .hero-pos {
  margin-top: 30px; font-size: 15.5px; letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.88);
}
.hero .btn-gold { margin-top: 46px; }

/* 首屏轮播：多张图淡入淡出循环播放（铺满右侧背景区） */
.hero-slides { position: absolute; inset: 0; }
.hero-slides .slide {
  position: absolute; inset: 0; opacity: 0;
  transition: opacity 1.4s ease;
}
.hero-slides .slide img {
  width: 100%; height: 100%; object-fit: cover; object-position: center;
  /* 让照片更干净：略微提高亮度与对比，融入蓝底后不发灰 */
  filter: saturate(1.02) contrast(1.02);
}
.hero-slides .slide.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .hero-slides .slide { transition: none; }
}

/* 首屏底部数据条：白色小字 + 金色细竖线分隔 */
.hero-stats {
  position: relative; z-index: 2;
  margin-top: clamp(44px, 5vw, 72px);
  border-top: 1px solid rgba(198, 167, 94, 0.45);
  padding: 26px 0 30px;
}
.hero-stats .row {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 14px 0;
}
.hero-stats .item {
  display: flex; align-items: baseline; gap: 12px;
  padding: 0 clamp(18px, 2.4vw, 34px);
}
.hero-stats .item + .item { border-left: 1px solid rgba(198, 167, 94, 0.45); }
.hero-stats .num {
  font-family: var(--font-latin); font-weight: 600;
  font-size: clamp(20px, 2.2vw, 28px); color: var(--white); letter-spacing: 0.02em;
}
.hero-stats .label {
  font-size: 14px; color: rgba(255, 255, 255, 0.78); letter-spacing: 0.1em;
}

/* ---------- 照片占位槽（换成 <img> 即自动铺满，点击可放大） ---------- */
.photo-slot {
  position: relative; overflow: hidden;
  background: #F3F7FC;
  border: 1px dashed var(--gold);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; text-align: center; padding: 24px;
  cursor: pointer;
}
.photo-slot img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; cursor: zoom-in;
}
.photo-slot img ~ * { display: none; }   /* 放入图片后占位文字自动隐藏 */
.slot-mark { color: var(--gold); font-size: 22px; line-height: 1; }
.slot-title { font-size: 14.5px; font-weight: 500; color: var(--ink); letter-spacing: 0.06em; }
.slot-note { font-size: 13px; color: var(--grey); }
/* 蓝底上的占位槽 */
.on-blue .photo-slot {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--gold);
}
.on-blue .slot-title { color: var(--white); }
.on-blue .slot-note { color: rgba(255, 255, 255, 0.75); }

/* ---------- 模块：品牌介绍与公司实体（第二屏） ---------- */
.about-grid {
  display: grid; grid-template-columns: 1.05fr 1fr;
  gap: clamp(44px, 5vw, 90px); align-items: center;
}
.about-text .sec-en { text-align: left; margin-bottom: 12px; }
.about-text h2 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(26px, 3vw, 36px); letter-spacing: 0.06em;
}
.about-text .gold-rule { width: 46px; height: 2px; background: var(--gold); margin: 22px 0 26px; }
.about-text p { color: var(--ink); font-size: 16px; margin-bottom: 18px; max-width: none; }
.about-text p strong { color: var(--ink); font-weight: 500; }
.about-photo .photo-slot { aspect-ratio: 4 / 3; }
.about-cap, .env-cap {
  margin-top: 12px; font-size: 13.5px; color: var(--grey);
  letter-spacing: 0.06em; text-align: center;
}

/* 牌匾循环滚动条（往 .marquee-track 里继续加 <img> 即自动加入轮播） */
.marquee {
  margin-top: 56px; overflow: hidden;
  background: var(--white); border: 1px solid var(--blue-line);
  padding: 16px 0;
}
.marquee-track {
  display: flex; gap: 20px; width: max-content;
  animation: marquee-move 32s linear infinite;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track img { height: 150px; width: auto; border: 1px solid var(--blue-line); }
@media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }

/* 其余实拍图三栏位 */
.plaque-row { margin-top: 28px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.plaque-row .photo-slot { aspect-ratio: 4 / 3; }

/* ---------- 模块：服务细节（第三屏：双模式服务卡 + 中介优势 + 精工修复展示） ---------- */
.services-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
}
.svc-card { background: var(--white); border: 1px solid var(--blue-line); position: relative; }
.svc-card .photo-slot { border: none; border-bottom: 1px solid var(--blue-line); aspect-ratio: 4 / 3; }
.svc-card:hover { border-color: var(--gold); }
.svc-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  font-size: 13px; letter-spacing: 0.1em; padding: 3px 14px;
  background: rgba(255, 255, 255, 0.92);
}
.svc-badge.b-self  { border: 1px solid var(--brand-blue); color: var(--brand-blue); }
.svc-badge.b-agent { border: 1px solid var(--gold); color: var(--gold-ink); }
.svc-body { padding: 24px 24px 26px; }
.svc-body h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 18px;
  letter-spacing: 0.06em;
}
.svc-body p { margin-top: 8px; font-size: 15px; color: var(--ink); }

/* 服务优势：金色顶线 + 纯文字，不用卡片堆砌 */
.medi-grid {
  margin-top: 64px; display: grid;
  grid-template-columns: repeat(4, 1fr); gap: 40px 44px;
}
.medi-item { border-top: 1px solid var(--gold); padding-top: 18px; }
.medi-item h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 17px;
  letter-spacing: 0.08em; color: var(--ink);
  display: flex; align-items: baseline; gap: 10px;
}
.medi-item h3 .en {
  font-family: var(--font-latin); font-weight: 600; font-size: 13px;
  color: var(--gold-ink); letter-spacing: 0.1em;
}
.medi-item p { margin-top: 8px; font-size: 15px; color: var(--ink); }

/* 精工修复重点展示：标题行 + 修复场景滚动条 + 四条优势 */
.repair-show {
  margin-top: 80px; background: var(--white);
  border: 1px solid var(--blue-line); padding: 56px 56px 52px;
}
.repair-show:hover { border-color: var(--gold); }
.repair-show .rs-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
}
.repair-show .sec-en { text-align: left; margin-bottom: 10px; }
.repair-show h3 {
  font-family: var(--font-title); font-weight: 700; font-size: clamp(24px, 2.6vw, 32px);
  letter-spacing: 0.08em;
}
.repair-badge {
  font-size: 13.5px; letter-spacing: 0.12em; padding: 5px 18px;
  border: 1px solid var(--gold); color: var(--gold-ink);
}
.repair-show .rs-lead {
  margin-top: 18px; font-size: 16.5px; color: var(--ink); max-width: 56em;
}

/* 修复场景滚动条（复用 .marquee 无缝循环，图片更大、带分类标签） */
.repair-marquee { margin-top: 32px; padding: 20px 0; }
.repair-marquee .marquee-track { gap: 20px; animation-duration: 42s; }
.repair-marquee .marquee-track img {
  height: 300px; width: auto; border: 1px solid var(--blue-line);
}
.rp-item { margin: 0; }
.rp-item figcaption {
  margin-top: 10px; font-size: 13.5px; color: var(--grey);
  letter-spacing: 0.06em; text-align: center;
}
@keyframes marquee-move { to { transform: translateX(calc(-50% - 10px)); } }

/* 修复优势：四条简练文案，细金线分隔 */
.repair-adv {
  margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--blue-line);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 40px;
}
.ra-item h4 {
  font-family: var(--font-title); font-weight: 700; font-size: 16.5px;
  letter-spacing: 0.08em; color: var(--ink);
  padding-left: 12px; border-left: 2px solid var(--gold);
}
.ra-item p { margin-top: 8px; font-size: 14.5px; color: var(--ink); line-height: 1.8; }

/* ---------- 模块：机构身份（克制小字条，替代原资质大板块） ---------- */
/* ---------- 模块：荣誉与资质（编号列表 · 编辑感，不做证书拼贴） ---------- */
.honor-band {
  background: var(--white);
  border-top: 1px solid var(--blue-line);
  border-bottom: 1px solid var(--blue-line);
}
.honor-inner {
  display: grid; grid-template-columns: 330px 1fr; gap: 28px 90px;
  padding-top: 88px; padding-bottom: 88px; align-items: start;
}
.honor-cap { padding-left: 18px; border-left: 2px solid var(--gold); }
.honor-cap .sec-en { text-align: left; margin-bottom: 12px; }
.honor-cap h2 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(24px, 2.8vw, 32px); letter-spacing: 0.08em;
  color: var(--ink); line-height: 1.4;
}
.honor-sub {
  margin-top: 16px; font-size: 14.5px; color: var(--grey);
  letter-spacing: 0.04em; line-height: 1.8;
}
.honor-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; }
.honor-list li {
  display: grid; grid-template-columns: 30px 1fr; gap: 4px;
  padding: 15px 0; border-bottom: 1px solid var(--blue-line);
  font-size: 15px; color: var(--ink); line-height: 1.65; letter-spacing: 0.02em;
  transition: border-color 0.3s ease, color 0.3s ease;
}
.honor-num {
  font-family: var(--font-latin); font-weight: 500; font-size: 11.5px;
  letter-spacing: 0.08em; color: var(--gold-ink); padding-top: 5px;
}
.honor-list li:hover { border-bottom-color: var(--gold); color: var(--brand-blue); }

/* ---------- 模块：企业文化 ---------- */
.culture-label {
  font-family: var(--font-title); font-weight: 700;
  font-size: 15px; letter-spacing: 0.1em; color: var(--ink);
  padding-left: 14px; border-left: 2px solid var(--gold);
}
.culture-two { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px 56px; }
.culture-item h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 17px;
  letter-spacing: 0.08em; padding-left: 14px; border-left: 2px solid var(--gold);
}
.culture-item p {
  margin-top: 16px; font-size: 15.5px; color: var(--ink);
  line-height: 1.9; max-width: 41em;
}
.values {
  margin-top: 56px; display: grid; grid-template-columns: 176px 1fr;
  gap: 10px 48px; align-items: start;
  border-top: 1px solid var(--blue-line); padding-top: 34px;
}
.values-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 24px; }
.value-cell, .values-row > span {
  border-top: 1px solid var(--gold); padding-top: 16px;
  font-size: 15.5px; color: var(--ink); letter-spacing: 0.04em;
}
.value-cell b { font-weight: 700; color: var(--brand-blue); margin-right: 2px; }
.cert-foot {
  margin-top: 48px; font-size: 14px; color: var(--grey); letter-spacing: 0.04em;
  display: flex; flex-wrap: wrap; gap: 10px 30px; justify-content: center;
}
.cert-foot span { padding-left: 14px; border-left: 2px solid var(--gold); }

/* ---------- 模块：服务标准与承诺（第五屏，口号第二次出现） ---------- */
.promise-head { text-align: center; margin-bottom: 56px; }
.promise-head .sec-en { margin-bottom: 16px; }
.promise-head .slogan { justify-content: center; }
.promise-head p { margin-top: 20px; color: var(--ink); font-size: 16px; }

/* 服务标准：三列栅格铺满版心，金色细线分隔，避免长条空行 */
.standards {
  max-width: none; margin: 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0 clamp(40px, 4.5vw, 76px);
}
.standard-item {
  padding: 30px 0 34px;
  border-top: 1px solid var(--blue-line);
  transition: border-color .25s;
}
.standard-item:hover { border-top-color: var(--gold); }
.standard-item h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 17.5px;
  letter-spacing: 0.08em; color: var(--brand-blue);
  display: flex; align-items: center; gap: 12px;
}
.standard-item h3::before { content: ''; width: 16px; height: 1px; background: var(--gold); flex: none; }
.standard-item p { margin-top: 12px; font-size: 15.5px; line-height: 1.85; color: var(--ink); }

/* ---------- 模块：双留资入口（第六屏） ---------- */
.dual-entry {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  max-width: none; margin: 0;
}
.entry-card {
  border: 1px solid var(--gold); background: var(--white);
  padding: 60px 52px 56px; text-align: center;
}
.entry-en {
  font-family: var(--font-latin); font-weight: 500; font-size: 13px;
  letter-spacing: 0.24em; color: var(--gold-ink); text-transform: uppercase;
}
.entry-card h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 24px;
  margin-top: 14px; letter-spacing: 0.08em;
}
.entry-card p { margin-top: 16px; font-size: 15.5px; color: var(--ink); }
.entry-card .btn, .entry-card .btn-outline { margin-top: 32px; }

/* ---------- 留资表单页 ---------- */
.page-form { padding: 150px 0 120px; background: var(--blue-soft); min-height: 80vh; }
.form-grid {
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: clamp(40px, 5vw, 80px); align-items: start;
}
.form-intro .sec-en { margin-bottom: 14px; }
.form-intro h1 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(30px, 3.6vw, 44px); letter-spacing: 0.08em; line-height: 1.45;
}
.form-intro .gold-rule { width: 46px; height: 2px; background: var(--gold); margin: 24px 0; }
.form-intro p { color: var(--ink); font-size: 16px; margin-bottom: 12px; max-width: none; }
.form-tel { margin-top: 34px; font-size: 15px; color: var(--ink); }
.form-tel a { font-family: var(--font-latin); font-weight: 600; letter-spacing: 0.02em; }
.form-tel a:hover { color: var(--gold-ink); }

.form-card {
  background: var(--white); border: 1px solid var(--blue-line);
  border-top: 2px solid var(--gold); padding: 52px 48px;
}
.form-card label {
  display: block; font-size: 14.5px; font-weight: 500;
  letter-spacing: 0.06em; margin: 22px 0 8px;
}
.form-card label:first-child { margin-top: 0; }
.form-card label .req { color: var(--brand-blue); margin-left: 4px; }
.form-card input, .form-card select, .form-card textarea {
  width: 100%; font-family: var(--font-body); font-size: 15px; color: var(--ink);
  padding: 12px 14px; border: 1px solid var(--blue-line);
  background: var(--white); border-radius: var(--radius);
  transition: border-color .2s;
}
.form-card textarea { min-height: 96px; resize: vertical; }
.form-card input:focus, .form-card select:focus, .form-card textarea:focus {
  outline: none; border-color: var(--gold);
}
.form-card .btn { margin-top: 34px; width: 100%; text-align: center; cursor: pointer; }
.form-note { margin-top: 16px; font-size: 13px; color: var(--grey); text-align: center; }
.form-card label .opt { font-size: 13px; color: var(--grey); font-weight: 400; margin-left: 6px; }
.f-checks { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 4px 0; }
.f-checks label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14.5px; font-weight: 400; }
.f-checks input { width: auto; accent-color: var(--brand-blue); }

.form-done { display: none; text-align: center; padding: 60px 30px; }
.form-done .tick {
  width: 52px; height: 52px; margin: 0 auto 24px;
  border: 1px solid var(--gold); border-radius: 50%;
  color: var(--gold-ink); font-size: 22px; line-height: 52px;
}
.form-done p { font-size: 17px; letter-spacing: 0.04em; }
.form-done .sub { margin-top: 10px; font-size: 14px; color: var(--grey); }

/* ---------- 页脚：品牌蓝背景白字，三栏（品牌联系 / 快捷入口 / 四码平铺） ---------- */
.footer { background: var(--brand-blue); color: var(--white); }
.footer-main {
  max-width: var(--wrap); margin: 0 auto;
  padding: 60px var(--gutter) 50px;
  display: grid; grid-template-columns: 1.02fr 0.72fr 1.56fr;
  gap: clamp(36px, 4vw, 64px); align-items: start;
}
.footer .footer-logo { height: 34px; width: auto; margin-bottom: 28px; }
.footer h4 {
  font-family: var(--font-title); font-weight: 700; font-size: 16px;
  letter-spacing: 0.1em; margin-bottom: 20px;
  padding-left: 14px; border-left: 2px solid var(--gold);
}
.footer li { font-size: 14.5px; color: rgba(255,255,255,0.85); margin-bottom: 12px; line-height: 1.8; }
.footer a { color: rgba(255,255,255,0.95); }
.footer a:hover { color: var(--white); text-decoration: underline; }
.footer-complaint strong, .footer li strong { color: var(--white); font-weight: 500; }
/* 导航当前页标识（分页链接指向自身时；不作用于蓝色按钮） */
.nav a[aria-current="page"]:not(.btn) { color: var(--brand-blue); font-weight: 600; }

/* 快捷入口：两个转化按钮 + 站内导航 */
.f-cta { display: flex; gap: 14px; margin-bottom: 26px; }
.f-cta a {
  display: inline-block; padding: 11px 26px;
  font-size: 14.5px; letter-spacing: 0.08em;
  text-decoration: none; border-radius: 2px;
  transition: background .2s, color .2s, border-color .2s;
}
.f-cta a.cta-solid { background: var(--white); color: var(--brand-blue); font-weight: 600; }
.f-cta a.cta-solid:hover { background: var(--blue-line); text-decoration: none; }
.f-cta a.cta-line { border: 1px solid rgba(255,255,255,0.55); color: var(--white); }
.f-cta a.cta-line:hover { background: rgba(255,255,255,0.12); border-color: var(--white); text-decoration: none; }
.f-nav li { margin-bottom: 10px; font-size: 14px; }

/* 页脚地址后的「导航」小链，点开即唤起高德地图 */
.f-map {
  display: inline-block; margin-left: 6px; font-size: 12.5px;
  color: var(--white); border-bottom: 1px solid rgba(198,167,94,.8);
  letter-spacing: 0.04em;
}
.f-map:hover { color: var(--gold); text-decoration: none; }

/* 二维码：四个码一行平铺，等宽自适应 */
.qr { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: none; }
.qr figure { text-align: center; margin: 0; }
.qr img {
  width: 100%; height: auto; aspect-ratio: 1 / 1;
  object-fit: contain; background: var(--white);
  padding: 6px; display: block;
}
.qr figcaption {
  margin-top: 10px; font-size: 13px; color: rgba(255,255,255,0.85);
  white-space: nowrap; letter-spacing: 0.02em;
}

/* 备案行：ICP 与公安备案并排，样式统一 */
.footer-beian-row {
  border-top: 1px solid rgba(255,255,255,0.22);
  padding: 16px var(--gutter); display: flex; flex-wrap: wrap;
  justify-content: center; align-items: center; gap: 10px 40px;
  font-size: 13px; color: rgba(255,255,255,0.8);
}
.footer-beian-row a { color: rgba(255,255,255,0.85); display: inline-flex; align-items: center; gap: 6px; }
.footer-beian-row a:hover { color: var(--white); }
.ga-icon {
  display: inline-block; width: 14px; height: 14px;
  border: 1px solid rgba(255,255,255,0.6); border-radius: 2px;
  margin-right: 6px; vertical-align: -2px;
}

/* 最底部备案窄条：辅助深蓝 #084C8D，高度窄 */
.footer-bottom { background: var(--blue-deep); }
.footer-bottom-inner {
  max-width: var(--wrap); margin: 0 auto; padding: 13px var(--gutter);
  font-size: 13px; color: rgba(255,255,255,0.85); text-align: center;
  letter-spacing: 0.03em;
}

/* ---------- 模块：门店导航（两张门店卡 + 一键唤起地图） ---------- */
.store-band { border-top: 1px solid var(--blue-line); }
.store-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.store-card {
  background: var(--white); border: 1px solid var(--blue-line);
  border-top: 2px solid var(--brand-blue); padding: 44px 44px 40px;
  transition: border-color .25s;
}
.store-card:hover { border-color: var(--gold); }
.store-tag {
  display: inline-block; font-size: 13px; letter-spacing: 0.12em;
  color: var(--gold-ink); border: 1px solid var(--gold); padding: 3px 12px;
}
.store-card h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 26px;
  letter-spacing: 0.06em; color: var(--ink); margin-top: 18px;
}
.store-addr {
  margin-top: 12px; font-size: 17px; line-height: 1.75; color: var(--ink);
  letter-spacing: 0.02em;
}
.store-landmark { font-size: 15px; color: var(--grey); }
.store-meta {
  margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 36px;
  font-size: 14.5px; color: var(--grey);
}
.store-meta strong { color: var(--ink); font-weight: 500; margin-right: 10px; }
.store-meta a { color: var(--brand-blue); }
.store-meta a:hover { color: var(--gold-ink); }
.store-nav {
  margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--blue-line);
  display: flex; flex-wrap: wrap; gap: 12px;
}
.store-nav .btn, .store-nav .btn-outline { padding: 10px 24px; font-size: 14.5px; }
.store-note {
  margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--blue-line);
  font-size: 14.5px; color: var(--grey); letter-spacing: 0.02em;
}

/* ---------- 模块：家政保姆（事务型服务三方式 / 做什么不做什么） ---------- */
.benefit-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.dd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.dd-card {
  background: var(--white); border: 1px solid var(--blue-line);
  border-top: 2px solid var(--brand-blue); padding: 36px 34px 30px;
}
.dd-card.no { border-top-color: var(--gold); }
.dd-card h3 { font-size: 19px; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.dd-card .dd-en {
  display: block; font-family: var(--font-latin); font-size: 12px;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 16px;
}
.dd-card ul { list-style: none; }
.dd-card li {
  position: relative; padding: 11px 0 11px 24px;
  border-bottom: 1px dashed var(--blue-line);
  font-size: 15.5px; color: var(--ink);
}
.dd-card li:last-child { border-bottom: none; }
.dd-card li::before {
  content: ""; position: absolute; left: 2px; top: 20px;
  width: 8px; height: 8px; background: var(--brand-blue);
}
.dd-card.no li::before { background: var(--gold); }
.dd-note { max-width: 100%; margin-top: 26px; font-size: 14px; color: var(--grey); }

/* 服务卡可整体点击跳转 */
a.svc-card { display: block; text-decoration: none; color: inherit; }

/* ---------- 家政保姆页：品类卡适配场景 / 对比表 / 预约 CTA ---------- */
.svc-fit {
  margin-top: 14px; padding-top: 12px;
  border-top: 1px dashed var(--blue-line);
  font-size: 13.5px; color: var(--grey); line-height: 1.75;
}
.svc-fit strong { color: var(--gold-ink); font-weight: 600; margin-right: 2px; }
.compare-table { margin: 0; max-width: none; }
.compare-table th, .compare-table td { text-align: left; }
.compare-table thead th { text-align: center; font-size: 16px; }
.compare-table tbody th { background: var(--blue-soft); color: var(--ink); font-weight: 600; white-space: nowrap; }
.cta-checks { display: flex; justify-content: center; gap: 12px 34px; flex-wrap: wrap; margin-top: 22px; }
.cta-checks span { font-size: 15px; color: rgba(255,255,255,0.92); }
.cta-checks b { color: var(--gold); font-weight: 700; margin-right: 6px; }
.cta-phone { margin-top: 18px; font-size: 15.5px; color: rgba(255,255,255,0.9); }
.cta-phone a { color: var(--white); font-weight: 600; border-bottom: 1px solid rgba(255,255,255,0.5); }
.cta-band .cta-btn-line {
  display: inline-block; padding: 12px 38px; border: 1px solid rgba(255,255,255,0.65);
  color: var(--white); font-size: 15.5px; letter-spacing: 0.08em;
}
.cta-band .cta-btn-line:hover { border-color: var(--gold); color: var(--gold); }
.cta-band .cta-btn-white {
  display: inline-block; padding: 12px 38px; background: var(--white);
  color: var(--brand-blue); font-weight: 600; font-size: 15.5px; letter-spacing: 0.08em;
}
.cta-band .cta-btn-white:hover { background: var(--gold); color: var(--white); }

/* ---------- 证照放大层 ---------- */
.lightbox {
  display: none; position: fixed; inset: 0; z-index: 200;
  background: rgba(15, 34, 55, 0.86);
  align-items: center; justify-content: center; padding: 40px;
}
.lightbox.open { display: flex; }
.lightbox img { max-width: 88vw; max-height: 86vh; background: var(--white); padding: 12px; }
.lb-close {
  position: absolute; top: 26px; right: 34px;
  width: 44px; height: 44px; border: 1px solid var(--gold);
  background: transparent; color: var(--white); font-size: 22px;
  cursor: pointer; border-radius: 50%;
}
.lb-close:hover { background: var(--gold); }

/* ---------- 入场动画（脚本失效时内容仍可见） ---------- */
.js .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.js .reveal.in { opacity: 1; transform: none; }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  :root { --sec-pad: 84px; }
  .flow-grid { grid-template-columns: repeat(2, 1fr); }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .medi-grid { grid-template-columns: repeat(2, 1fr); }
  .standards { grid-template-columns: repeat(2, 1fr); gap: 0 44px; }
  .repair-grid { grid-template-columns: repeat(2, 1fr); }
  .repair-show { padding: 36px 32px 40px; }
  .repair-marquee .marquee-track img { height: 230px; }
  .repair-adv { grid-template-columns: repeat(2, 1fr); }
  .marquee-track img { height: 120px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 44px 40px; }
  .f-follow { grid-column: 1 / -1; }
  .honor-inner { grid-template-columns: 1fr; gap: 34px; padding-top: 68px; padding-bottom: 68px; }
  .honor-list { gap: 0 40px; }
  .culture-two { grid-template-columns: 1fr; gap: 32px; }
  .values { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 768px) {
  :root { --sec-pad: 64px; }
  .wrap { padding: 0 22px; }
  .header-inner { padding: 10px 22px; }

  /* 模块头收成单栏：英文行 → 标题 → 说明 */
  .section-head { grid-template-columns: 1fr; row-gap: 10px; padding-bottom: 22px; margin-bottom: 38px; }
  .section-head .sec-en { grid-column: 1; grid-row: 1; }
  .section-head h2 { grid-column: 1; grid-row: 2; }
  .section-head p { grid-column: 1; grid-row: 3; font-size: 15.5px; }
  .svc-lead { grid-template-columns: 1fr; gap: 24px; }
  .svc-lead p:nth-child(3) { grid-column: 1; }
  .brand img { height: 38px; }
  .menu-toggle { display: block; }
  .nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: var(--white); border-bottom: 1px solid var(--blue-line);
    flex-direction: column; gap: 0; padding: 10px 22px 18px; align-items: stretch;
  }
  .nav.open { display: flex; }
  .nav > a { padding: 12px 0; font-size: 16px; }
  .nav > a.btn { margin-top: 8px; text-align: center; }

  .hero { padding-top: 110px; }
  .hero h1 { font-size: clamp(40px, 11vw, 52px); }
  /* 手机端背景图改为全幅铺底，蒙版加重保证文字清晰 */
  .hero-bg { width: 100%; }
  .hero-veil {
    background: linear-gradient(180deg,
      rgba(10, 102, 194, 0.97) 0%,
      rgba(10, 102, 194, 0.90) 52%,
      rgba(10, 102, 194, 0.74) 86%,
      rgba(10, 102, 194, 0.55) 100%);
  }
  .hero-inner { min-height: 0; padding-bottom: 8px; }
  .hero-copy { max-width: none; }
  .hero-stats .row { flex-direction: column; gap: 0; }
  .hero-stats .item { padding: 12px 0; justify-content: center; }
  .hero-stats .item + .item { border-left: none; border-top: 1px solid rgba(198, 167, 94, 0.35); }

  .about-grid, .form-grid { grid-template-columns: 1fr; }
  .standards { grid-template-columns: 1fr; gap: 0; }
  .standard-item { padding: 22px 0 24px; }
  .dual-entry { grid-template-columns: 1fr; }
  .store-grid { grid-template-columns: 1fr; gap: 26px; }
  .store-card { padding: 32px 26px 30px; }
  .store-card h3 { font-size: 23px; }
  .store-addr { font-size: 16px; }
  .store-nav .btn, .store-nav .btn-outline { padding: 10px 18px; font-size: 14px; }
  .form-card { padding: 32px 24px; }
  .entry-card { padding: 36px 26px 32px; }
  .services-grid, .flow-grid, .medi-grid { grid-template-columns: 1fr; }
  .repair-adv { grid-template-columns: 1fr; }
  .repair-marquee .marquee-track img { height: 180px; }
  .plaque-row { grid-template-columns: repeat(2, 1fr); }
  .marquee-track img { height: 96px; }
  .repair-bar { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; gap: 36px; }
  .footer-beian-row { gap: 8px 20px; }
  .honor-inner { padding-top: 56px; padding-bottom: 56px; gap: 26px; }
  .honor-list { grid-template-columns: 1fr; gap: 0; }
  .honor-list li { font-size: 14.5px; padding: 14px 0; }
  .values-row { grid-template-columns: 1fr; gap: 16px; }
  .footer-top { padding: 44px 22px 0; }
}

/* 页脚二维码：桌面四码一行平铺；屏宽不足时收到 2×2，保证扫码尺寸 */
@media (max-width: 768px) {
  .qr img { max-width: 132px; margin: 0 auto; }
}
@media (max-width: 560px) {
  .qr { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .qr img { max-width: none; }
}

/* 减少动态偏好 */
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* 分页扩展：页头横幅 / 数据行 / 服务方式 / 核验带 / 养老支柱 / 价格表 / 流程 */
/* 页头：左标题 + 右定位语，横向两栏，不再整块居中 */
.page-head { background: var(--blue-soft); padding: 112px 0 58px; }
.page-head .wrap {
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(32px, 4vw, 72px); align-items: end; text-align: left;
}
.page-head .sec-en { grid-column: 1; grid-row: 1; margin-bottom: 12px; }
.page-head h1 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(34px, 4.4vw, 54px); color: var(--ink);
  letter-spacing: 0.06em; margin: 0;
  grid-column: 1; grid-row: 2;
}
.page-head .gold-rule { grid-column: 1; grid-row: 3; width: 46px; height: 2px; background: var(--gold); margin: 26px 0 0; }
.page-lead {
  grid-column: 2; grid-row: 1 / 4; align-self: end; margin: 0 0 28px; text-align: left;
  max-width: 56em; color: var(--grey); font-size: 17px; line-height: 1.9;
}
/* margin-bottom 28px = 金线行高，让定位语底边与标题底边落在同一条线上 */
.page-lead.lead-wide { max-width: 100%; font-size: 17.5px; }

.page-stats { border-bottom: 1px solid var(--blue-line); }
.page-stats .row {
  max-width: var(--wrap); margin: 0 auto; padding: 30px var(--gutter);
  display: flex; flex-wrap: wrap; justify-content: center;
}
.page-stats .item {
  display: flex; align-items: baseline; gap: 10px;
  padding: 0 clamp(18px, 2.6vw, 38px);
}
.page-stats .item + .item { border-left: 1px solid var(--gold); }
.page-stats .num {
  font-family: var(--font-latin); font-weight: 600;
  font-size: clamp(22px, 2.4vw, 30px); color: var(--brand-blue);
}
.page-stats .label { font-size: 14px; color: var(--grey); letter-spacing: 0.1em; }

/* about-prose 同时挂在 .wrap 上（class="wrap about-prose"），不可取消 max-width，
   否则宽屏下版心居中失效、模块整体贴左，与页头错位 */
.about-prose { max-width: var(--wrap); margin-left: auto; margin-right: auto; }
.about-prose p { margin-bottom: 22px; color: var(--ink); font-size: 16px; max-width: none; }
.about-prose .section-head { margin-bottom: 46px; }

/* 长文模块：首段通栏当引子，其余并排两栏，横向铺开不再一条窄柱到底 */
.about-prose > p { display: block; }
@media (min-width: 1025px) {
  .about-prose {
    display: grid; grid-template-columns: 1fr 1fr;
    column-gap: clamp(48px, 7vw, 110px);
  }
  .about-prose > .section-head { grid-column: 1 / -1; }
  .about-prose > p:first-of-type {
    grid-column: 1 / -1; margin-bottom: 30px;
    font-size: 18px; line-height: 1.9; color: var(--ink);
  }
  .about-prose > p:nth-of-type(n+2) { margin-bottom: 0; }
}

.mode-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: none; margin: 0; }
.mode-card {
  background: var(--white); border: 1px solid var(--blue-line);
  border-top: 2px solid var(--gold); padding: 48px 46px 44px;
}
.mode-en {
  font-family: var(--font-latin); font-weight: 500; font-size: 12px;
  letter-spacing: 0.24em; color: var(--gold-ink); text-transform: uppercase;
}
.mode-card h3 {
  font-family: var(--font-title); font-weight: 700; font-size: 22px;
  margin: 12px 0 6px; color: var(--ink);
}
.mode-tag { font-size: 14px; color: var(--brand-blue); margin-bottom: 16px; }
.mode-card p:not(.mode-tag) { font-size: 15px; color: var(--grey); line-height: 1.9; }

.verify-band { background: var(--brand-blue); color: var(--white); padding: 88px 0 72px; }
.verify-inner { max-width: var(--wrap); margin: 0 auto; padding: 0 32px; }
.verify-cap { padding-left: 18px; border-left: 2px solid var(--gold); margin-bottom: 52px; }
.verify-cap .sec-en { margin-bottom: 12px; color: rgba(255,255,255,0.72); }
.verify-cap h2 {
  font-family: var(--font-title); font-weight: 700;
  font-size: clamp(24px, 3vw, 34px); line-height: 1.5;
}
.verify-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px; }
.verify-item h3 { font-size: 17px; font-weight: 600; margin: 12px 0 8px; }
.verify-item p { font-size: 14px; color: rgba(255,255,255,0.8); line-height: 1.8; }
.verify-item .honor-num { color: var(--gold); }
.verify-note {
  margin-top: 46px; padding-top: 22px;
  border-top: 1px solid rgba(198,167,94,0.45);
  font-size: 14.5px; color: rgba(255,255,255,0.85); text-align: center;
}

.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; max-width: none; margin: 0; }
.pillar-card {
  background: var(--blue-soft); padding: 40px 36px;
  border-top: 2px solid var(--brand-blue);
}
.pillar-card h3 { font-size: 18px; font-weight: 600; color: var(--brand-blue); margin-bottom: 12px; }
.pillar-card p { font-size: 15px; color: var(--ink); }
.pillar-note { max-width: none; margin: 40px 0 0; text-align: left; font-size: 14.5px; color: var(--grey); }

.price-table {
  width: 100%; max-width: 880px; margin: 0 auto 56px;
  border-collapse: collapse; background: var(--white);
}
.price-table th, .price-table td {
  border: 1px solid var(--blue-line); padding: 18px 22px;
  text-align: center; font-size: 15.5px;
}
.price-table th {
  width: 172px; background: var(--brand-blue); color: var(--white);
  font-weight: 600; letter-spacing: 0.08em;
}
.price-table td { font-family: var(--font-latin); font-weight: 500; color: var(--ink); }
.benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px 40px; }
.price-note {
  max-width: none; margin: 44px 0 0; padding-top: 20px;
  border-top: 1px solid var(--blue-line);
  font-size: 13.5px; color: var(--grey);
}

.flow-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 44px; }
.flow-item { border-top: 1px solid var(--gold); padding-top: 20px; }
.flow-item .honor-num { color: var(--gold-ink); }
.flow-item h3 { font-size: 17px; font-weight: 600; margin: 12px 0 8px; color: var(--ink); }
.flow-item p { font-size: 14.5px; color: var(--grey); line-height: 1.85; }

.cta-band { background: var(--brand-blue); color: var(--white); padding: 72px 0; text-align: center; }
.cta-inner { max-width: var(--wrap); margin: 0 auto; padding: 0 32px; }
.cta-band h2 { font-family: var(--font-title); font-weight: 700; font-size: clamp(22px, 2.8vw, 30px); }
.cta-actions { margin-top: 34px; display: flex; justify-content: center; align-items: center; gap: 22px; flex-wrap: wrap; }
.cta-btn-solid {
  background: var(--white); color: var(--brand-blue);
  padding: 12px 34px; font-weight: 600; letter-spacing: 0.08em; border-radius: 2px;
}
.cta-btn-solid:hover { background: var(--blue-line); text-decoration: none; }
.cta-btn-line {
  border: 1px solid rgba(255,255,255,0.55); color: var(--white);
  padding: 12px 30px; letter-spacing: 0.06em; border-radius: 2px;
}
.cta-btn-line:hover { background: rgba(255,255,255,0.12); border-color: var(--white); text-decoration: none; }

/* 分页扩展响应式 */
@media (max-width: 1024px) {
  .mode-cards { grid-template-columns: 1fr; max-width: 640px; }
  .verify-steps { grid-template-columns: repeat(2, 1fr); }
  .pillar-grid { grid-template-columns: repeat(2, 1fr); max-width: 760px; }
  .benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .flow-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .page-head { padding: 96px 0 52px; }
  .page-head .wrap { grid-template-columns: 1fr; row-gap: 14px; }
  .page-head .sec-en { grid-column: 1; grid-row: 1; margin-bottom: 0; }
  .page-head h1 { grid-column: 1; grid-row: 2; }
  .page-head .gold-rule { grid-column: 1; grid-row: 3; margin-top: 4px; }
  .page-lead { grid-column: 1; grid-row: 4; margin-bottom: 0; font-size: 16px; }
  .page-stats .item { padding: 6px 18px; }
  .verify-steps { grid-template-columns: 1fr; gap: 26px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid.cols-3 { grid-template-columns: 1fr; }
  .dd-grid { grid-template-columns: 1fr; }
  .flow-grid { grid-template-columns: 1fr; }
  .price-table th, .price-table td { padding: 12px 10px; font-size: 14px; }
  .price-table th { width: 96px; }
  .compare-table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* 首页服务标准模块 → 标准页的跳转链接 */
.std-more {
  display: inline-block; margin-left: 6px;
  color: var(--gold-ink); font-size: 15px;
  border-bottom: 1px solid var(--gold);
}
.std-more:hover { color: var(--brand-blue); border-bottom-color: var(--brand-blue); text-decoration: none; }

/* ---------- 精工修复专页：案例网格 / 流程四步 ---------- */
.repair-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 28px; max-width: none; margin: 0; }
.repair-card { margin: 0; background: var(--white); border: 1px solid var(--blue-line); padding: 14px; }
.repair-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.repair-card figcaption { padding: 16px 8px 8px; }
.repair-card h3 { font-size: 17px; font-weight: 600; color: var(--ink); }
.repair-card p { margin-top: 6px; font-size: 14.5px; color: var(--grey); }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; max-width: none; margin: 0; }
.steps-grid .flow-item { border-top: 1px solid var(--gold); padding-top: 20px; }
@media (max-width: 1024px) {
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .repair-grid { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: 1fr; }
}

/* 精工修复案例分组标题 */
.case-group {
  grid-column: 1 / -1; margin: 26px 0 0;
  font-family: var(--font-title); font-weight: 700; font-size: 19px;
  color: var(--ink); padding-left: 14px; border-left: 2px solid var(--gold);
}
.repair-grid h3.case-group + figure { margin-top: 4px; }


/* ---------- 11-06 微调：双轨说明段 / 加入页引导列表 ---------- */
/* 双轨说明：两条轨道并排（左自营 / 右居间），第三句作为通栏小注 */
.svc-lead {
  max-width: none; margin: 0 0 58px; text-align: left;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 34px clamp(44px, 6vw, 96px);
}
.svc-lead p {
  margin-bottom: 0; padding-top: 22px; border-top: 1px solid var(--gold);
  font-size: 15.5px; color: var(--ink); line-height: 1.9;
}
.svc-lead p:nth-child(3) {
  grid-column: 1 / -1; border-top: none; padding-top: 0;
  font-size: 14.5px; color: var(--grey);
}
.intro-list {
  margin: 18px 0 4px; padding: 0; list-style: none;
}
.intro-list li {
  position: relative; padding-left: 22px; margin-bottom: 12px;
  font-size: 15px; color: var(--ink); line-height: 1.75;
}
.intro-list li::before {
  content: ""; position: absolute; left: 0; top: 10px;
  width: 8px; height: 8px; background: var(--gold);
}


/* ---------- 文案折行修正：能一行说完的，绝不折成两行 ---------- */
/* 1) 段落全局用 pretty，浏览器尽量避免末行孤字 */
p, li, figcaption, .culture-label, .page-lead { text-wrap: pretty; }

/* 2) 标题与短句用 balance，让各行长度接近，杜绝"第二行只有两三个字" */
.section-head h2,
.section-head p,
.page-lead,
.entry-card p,
.honor-sub,
.hero-pos,
.mode-tag,
.form-note,
.rs-lead { text-wrap: balance; }

/* 3) 说明段落不再压缩宽度（旧版 640/720/920 的窄柱是"挤在中间"的主因） */

/* 4) 服务优势：中英标签过长时英文独立成行，避免"INTERVIEW / CONFIRMATION"断得难看 */
.medi-item h3 { display: block; }
.medi-item h3 .en { display: block; margin-top: 7px; font-size: 12px; letter-spacing: 0.12em; }
