/* ============================================================================
   可驾官网 · 全站升级层（styles-site.css）
   在 styles.css 之后加载，只做视觉与阅读体验升级，不改任何业务文案与结构。
   - 统一子页排版尺度（标题不再过大、正文阅读宽度收敛）
   - 每类页面加一条浅色影像带，让子页也有品牌视觉，而不是纯文字文档
   - 统一卡片、按钮、折叠列表、提示块的质感
   - 手机端同步收敛留白与字号
   ============================================================================ */

/* ---------- 1. 全站排版尺度 ---------- */
.service-index h1,
.city-index h1,
.guide-index h1,
.guide-detail h1,
.faq-index h1,
.about-index h1,
.download-page h1,
.legal-index h1,
.not-found h1{
  font-size:clamp(34px,3.7vw,52px);
  line-height:1.16;
  letter-spacing:-.045em;
  max-width:760px;
  margin:18px 0 20px;
  text-wrap:balance;
}
.service-lead,
.city-lead,
.guide-lead,
.guide-detail-lead,
.faq-lead,
.about-lead,
.legal-index>p{
  font-size:16.5px;
  line-height:1.9;
  color:var(--muted);
  max-width:640px;
  margin:0 0 40px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font:600 10.5px 'DM Mono',monospace;
  letter-spacing:.16em;
  color:var(--teal);
  text-transform:uppercase;
}
.eyebrow:before{
  content:'';
  width:22px;
  height:1px;
  background:currentColor;
  opacity:.55;
}
.eyebrow i{display:none}

/* ---------- 2. 页首：浅色影像带 ---------- */
.service-index,
.city-index,
.guide-index,
.about-index,
.download-page,
.faq-index,
.guide-detail{position:relative;isolation:isolate}
.service-index:before,
.city-index:before,
.guide-index:before,
.about-index:before,
.guide-detail:before{
  content:'';
  position:absolute;
  z-index:-1;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  height:min(44vh,440px);
  background-repeat:no-repeat;
  background-position:left 45%;
  background-size:cover;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);
  pointer-events:none;
}
.service-index:before{
  background-image:
    linear-gradient(100deg,#f8f7f2 0%,#f8f7f2 46%,rgba(248,247,242,.94) 58%,rgba(248,247,242,.62) 74%,rgba(248,247,242,.18) 100%),
    url('assets/city-route-real.webp');
}
.city-index:not(.city-detail):before{
  background-position:right 40%;
  background-image:
    linear-gradient(100deg,#f8f7f2 0%,#f8f7f2 46%,rgba(248,247,242,.94) 58%,rgba(248,247,242,.60) 74%,rgba(248,247,242,.16) 100%),
    url('assets/city-route-map.webp');
}
.city-detail:before{
  background-image:
    linear-gradient(100deg,#f8f7f2 0%,#f8f7f2 48%,rgba(248,247,242,.95) 60%,rgba(248,247,242,.66) 76%,rgba(248,247,242,.20) 100%),
    url('assets/city-route-real.webp');
}
.guide-index:before{
  background-image:
    linear-gradient(100deg,#f8f7f2 0%,#f8f7f2 48%,rgba(248,247,242,.95) 60%,rgba(248,247,242,.66) 76%,rgba(248,247,242,.20) 100%),
    url('assets/service-flow-illustration.webp');
}
.guide-detail:before{
  background:
    radial-gradient(70% 120% at 92% -10%,rgba(20,125,115,.10),transparent 62%),
    linear-gradient(180deg,#f2f7f3 0%,rgba(248,247,242,0) 100%);
  -webkit-mask-image:none;mask-image:none;
}
.about-index:before{
  background-image:
    linear-gradient(100deg,#f8f7f2 0%,#f8f7f2 48%,rgba(248,247,242,.95) 60%,rgba(248,247,242,.66) 76%,rgba(248,247,242,.20) 100%),
    url('assets/city-route-real.webp');
}
.faq-index:before{
  content:'';
  position:absolute;
  z-index:-1;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  height:min(34vh,340px);
  background:
    radial-gradient(60% 120% at 88% 0%,rgba(20,125,115,.10),transparent 70%),
    linear-gradient(180deg,#f1f7f3 0%,rgba(248,247,242,0) 100%);
  pointer-events:none;
}

/* ---------- 3. 区块节奏与标题 ---------- */
.service-index>section,
.city-index>section,
.about-index>section,
.guide-index>section,
.download-page>section{margin-top:clamp(56px,6vw,84px)}
.service-index h2,
.city-index h2,
.about-section h2,
.guide-index h2,
.faq-index h2,
.download-page h2{
  font-size:clamp(25px,2.4vw,33px);
  line-height:1.3;
  letter-spacing:-.035em;
  margin:14px 0 16px;
  text-wrap:balance;
}
.service-index p,
.city-index p,
.about-section p,
.guide-index p{line-height:1.9}

/* ---------- 4. 卡片与交互组件 ---------- */
:where(.service-comparison article,
       .city-index-grid a,
       .city-detail-grid article,
       .about-identity>div,
       .download-points article,
       .guide-index article,
       .city-scenes .scene-list a,
       .related-grid a){
  border-radius:16px;
}
.service-comparison{background:transparent;gap:16px}
.service-comparison article{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(24,70,58,.06);
  padding:32px 30px 30px;
}
.city-index-grid{border:0;gap:12px}
.city-index-grid a{
  border:1px solid var(--line);
  background:#fff;
  padding:22px 20px;
  box-shadow:0 8px 20px rgba(24,70,58,.05);
}
.city-index-grid a:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(24,70,58,.11)}
.city-detail-grid{background:transparent;gap:16px}
.city-detail-grid article{
  background:#fff;
  border:1px solid var(--line);
  padding:26px 24px;
  box-shadow:0 10px 24px rgba(24,70,58,.06);
}
.about-identity{background:transparent;gap:14px}
.about-identity>div{
  background:#fff;
  border:1px solid var(--line);
  padding:24px 22px;
  box-shadow:0 8px 20px rgba(24,70,58,.05);
}
.about-section{border-top:1px solid var(--line);padding:38px 0}
.guide-index article{
  border:1px solid var(--line);
  background:#fff;
  padding:26px 28px;
  margin-bottom:14px;
  box-shadow:0 8px 20px rgba(24,70,58,.05);
  transition:transform .22s ease,box-shadow .22s ease;
}
.guide-index article:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(24,70,58,.09)}
.guide-index article h2{margin:0 0 10px}
.faq-index-list,
.faq-list{counter-reset:faq;border-top:1px solid var(--line)}
.faq-index-list details,
.faq-list details{
  counter-increment:faq;
  border-bottom:1px solid var(--line);
  padding:8px 6px;
  transition:background .18s ease;
}
.faq-index-list details:hover,
.faq-list details:hover{background:#ffffffa8}
.faq-index-list summary:before,
.faq-list summary:before{
  content:counter(faq,decimal-leading-zero);
  font:600 11px 'DM Mono',monospace;
  color:#9aaba6;
  margin-right:14px;
  flex:0 0 auto;
}
.faq-index-list details[open] summary:before,
.faq-list details[open] summary:before{color:var(--teal)}
.faq-index-list summary,
.faq-list summary{gap:0 14px;align-items:flex-start}
.faq-index-list summary span,
.faq-list summary span{margin-left:auto}
.faq-index-list summary,
.faq-list summary{font-size:16.5px;line-height:1.6;padding:14px 0}
.faq-index-list p,
.faq-list p{font-size:14.5px;line-height:1.9;max-width:720px}
.topic-links{gap:10px;margin:22px 0 34px}
.topic-link{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:9px 16px;
  font-size:12.5px;
  font-weight:600;
  color:var(--ink);
  box-shadow:0 4px 12px rgba(24,70,58,.05);
}
.topic-link:hover{border-color:#a7ccc2;background:#f1f8f5;color:var(--teal)}
.city-availability-note,
.service-truth{
  border-radius:14px;
  border-left:3px solid var(--teal);
  background:#edf6f1;
  padding:18px 22px;
  font-size:13.5px;
  line-height:1.8;
  color:var(--muted);
}
.city-index-note,
.faq-index-cta,
.guide-cta,
.download-index-cta{
  border-radius:20px;
  background:linear-gradient(160deg,#eef7f2,#e4f1ea);
  padding:clamp(28px,3vw,42px);
}
.button{border-radius:12px;gap:16px}
.button.primary{box-shadow:0 12px 26px rgba(20,125,115,.22)}
.text-link{font-size:13.5px}

/* ---------- 5. 各页专项 ---------- */
/* 服务页：对比卡标题稍大，清单留白更稳 */
.service-comparison h2{font-size:27px;margin:14px 0 12px}
.service-comparison li{padding:9px 0}
.service-features-section .feature-grid{gap:12px;background:transparent}
.service-features-section .feature-grid article{border:1px solid var(--line);border-radius:16px;background:#fff}

/* 城市页：列表与场景 */
.city-list a{transition:background .2s ease,color .2s ease}
.city-scenes .scene-list{gap:12px}
.city-scenes .scene-list article{background:#fff;border:1px solid var(--line);padding:20px}
.guide-detail-visual{border-radius:18px;box-shadow:0 14px 34px rgba(24,70,58,.10)}
.guide-detail>section:not(.guide-detail-faq):not(.guide-cta){border-top:1px solid var(--line);padding:30px 0}
.legal-index section{padding:26px 0}
.legal-index section h2{font-size:22px}
.legal-index{color:var(--muted)}
.legal-index h1{color:var(--ink)}

/* 下载页：把三张卡片抬高一点 */
.download-page .download-hero{border-radius:22px}
.download-page .download-app-card{border:1px solid var(--line);box-shadow:0 18px 40px rgba(24,70,58,.10)}

/* ---------- 6. 导航一致性 ---------- */
.nav{transition:box-shadow .2s ease,background .2s ease}
.nav nav a{position:relative;padding:4px 0}
.nav nav a:hover{color:var(--teal)}
.nav .nav-cta{font-size:12.5px;padding:11px 18px}

/* ---------- 7. 手机端 ---------- */
@media(max-width:800px){
  .service-index h1,
  .city-index h1,
  .guide-index h1,
  .guide-detail h1,
  .faq-index h1,
  .about-index h1,
  .download-page h1,
  .legal-index h1{font-size:clamp(28px,8.4vw,38px);line-height:1.2;letter-spacing:-.04em;margin:14px 0 16px}
  .service-lead,.city-lead,.guide-lead,.guide-detail-lead,.faq-lead,.about-lead{font-size:15px;line-height:1.85;margin-bottom:30px}
  .service-index,
  .city-index,
  .guide-index,
  .about-index,
  .guide-detail,
  .faq-index,
  .download-page{padding-top:52px;padding-bottom:64px}
  .service-index:before,
  .city-index:before,
  .guide-index:before,
  .about-index:before,
  .guide-detail:before{height:min(38vh,300px);background-position:right 30%}
  .faq-index:before{height:220px}
  .service-index h2,
  .city-index h2,
  .about-section h2,
  .guide-index h2,
  .download-page h2{font-size:23px}
  .service-index>section,
  .city-index>section,
  .about-index>section,
  .guide-index>section,
  .download-page>section{margin-top:42px}
  .service-comparison{gap:12px}
  .service-comparison article{padding:24px 20px}
  .guide-index article{padding:20px 20px}
  .about-section{padding:28px 0}
  .city-availability-note,.service-truth{padding:16px 18px;font-size:13px}
  .faq-index-list summary,.faq-list summary{font-size:15.5px;padding:12px 0}
  .topic-links{gap:8px}
  .topic-link{padding:8px 13px;font-size:12px}
}

/* 服务页：教学能力板块（替代原来的预约流程说明） */
.teach-section{margin-top:clamp(56px,6vw,84px)}
.teach-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:end}
.teach-head h2{font-size:clamp(28px,2.8vw,38px);line-height:1.24;letter-spacing:-.04em;margin:14px 0 0;text-wrap:balance}
.teach-head h2 em{font-style:normal;color:var(--teal)}
.teach-head p{margin:0 0 4px;color:var(--muted);font-size:14.5px;line-height:1.9;max-width:460px}
.teach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(28px,3.2vw,42px)}
.teach-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px 26px;box-shadow:0 10px 24px rgba(24,70,58,.06)}
.teach-grid span{font:600 11px 'DM Mono',monospace;color:var(--warm);letter-spacing:.08em}
.teach-grid h3{margin:22px 0 10px;font-size:17px;letter-spacing:-.02em}
.teach-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}
@media(max-width:1100px){.teach-head{grid-template-columns:1fr;row-gap:14px}.teach-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){
  .teach-grid{grid-template-columns:1fr;gap:12px;margin-top:26px}
  .teach-grid article{padding:20px 20px 22px}
  .teach-grid h3{margin:16px 0 8px;font-size:16px}
}

/* ============================================================================
   2026-10-18 视觉体系升级 v2（参考萝卜车车官网的模块节奏）
   1) 标题用楷体（霞鹜臻楷子集），与正文黑体形成层次
   2) 首页新增：事实条 / 承诺 / 顾虑拆解 / 实拍图墙 / 车型 / 价格逻辑
   ============================================================================ */
@font-face{font-family:'KJDisplay';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/kejia-display-subset.woff2?v=20261103-1') format('woff2')}
:root{--display:'KJDisplay','LXGW ZhenKai','Songti SC','Noto Serif CJK SC',serif}

/* ---- 标题字体：站内所有页面主标题与二级标题 ---- */
.service-index h1,.city-index h1,.guide-index h1,.guide-detail h1,.faq-index h1,
.about-index h1,.download-page h1,.legal-index h1,.not-found h1,
.service-index h2,.city-index h2,.about-section h2,.guide-index h2,
.faq-index h2,.download-page h2,.guide-detail h2,
.hp-head h2,.hp-values .hp-head h2,.after-class h2,.coaches h2,.manifesto h2,
.download h2,.faq h2,.cities-head h2,.app-showcase h2{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:.004em;
}
.service-index h1,.city-index h1,.guide-index h1,.guide-detail h1,.faq-index h1,
.about-index h1,.download-page h1,.legal-index h1,.not-found h1{
  font-size:clamp(34px,3.6vw,50px);
  line-height:1.2;
}
.service-index h2,.city-index h2,.about-section h2,.guide-index h2,
.faq-index h2,.download-page h2,.guide-detail h2{font-size:clamp(25px,2.3vw,32px);line-height:1.3}

/* ---- 首页通用板块骨架 ---- */
.home-sec{padding:clamp(56px,6.5vw,92px) 6vw;position:relative}
.home-sec--cream{background:var(--cream)}
.home-sec--white{background:#fff}
.home-sec--mint{background:#eff5f1}
.home-sec--dark{background:linear-gradient(165deg,#17302c,#102320);color:#eef7f4}
.home-sec > .sec-inner{max-width:1500px;margin:0 auto}
.sec-head{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(22px,4vw,64px);align-items:end}
.sec-head h2{margin:14px 0 0;font-size:clamp(28px,3.1vw,44px);line-height:1.2;letter-spacing:.004em;color:var(--ink)}
.sec-head h2 em{font-style:normal;color:var(--teal)}
.sec-head>p{margin:0 0 6px;color:var(--muted);font-size:14.5px;line-height:1.95;max-width:520px}
.home-sec--dark .sec-head h2{color:#fff}
.home-sec--dark .sec-head h2 em{color:#8de0cf}
.home-sec--dark .sec-head>p{color:#a9cec6}
.sec-head .eyebrow{color:var(--teal)}

/* ---- 信任徽章（首屏） ---- */
.trust-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.trust-chips span{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid rgba(23,35,33,.14);background:rgba(255,255,255,.66);
  border-radius:999px;padding:8px 14px;font-size:12.5px;color:#3f4f4b;
}
.trust-chips span:before{content:'✓';color:var(--teal);font-weight:700}

/* ---- 事实条：4 个可核对的事实 ---- */
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(26px,3vw,40px)}
.fact-strip article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:0 10px 24px rgba(24,70,58,.06)}
.fact-strip strong{display:block;font-family:var(--display);font-weight:400;font-size:26px;line-height:1.2;color:var(--ink)}
.fact-strip span{display:block;margin-top:8px;font-size:12.5px;line-height:1.7;color:var(--muted)}

/* ---- 服务承诺：编号横排 ---- */
.promise-list{list-style:none;margin:clamp(26px,3vw,38px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:pr}
.promise-list li{
  counter-increment:pr;background:rgba(255,255,255,.06);border:1px solid rgba(180,225,213,.2);
  border-radius:14px;padding:20px 18px 22px;color:#dff0eb;
}
.promise-list li:before{content:'0' counter(pr);display:block;font:600 11px 'DM Mono',monospace;color:#e6a94e;margin-bottom:14px}
.promise-list b{display:block;font-size:15px;color:#fff;line-height:1.4}
.promise-list span{display:block;margin-top:9px;font-size:12.5px;line-height:1.75;color:#a9cec6}

/* ---- 顾虑拆解 ---- */
.concern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(26px,3vw,38px)}
.concern-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;box-shadow:0 10px 24px rgba(24,70,58,.06)}
.concern-grid .q{display:block;font-size:13px;color:#94a6a1;letter-spacing:.02em}
.concern-grid h3{margin:10px 0 10px;font-size:16.5px;letter-spacing:-.02em;line-height:1.4}
.concern-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}

/* ---- 实拍图墙 ---- */
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(26px,3vw,38px)}
.shot-grid figure{margin:0;border-radius:16px;overflow:hidden;background:#dfe9e4;position:relative;aspect-ratio:4/3}
.shot-grid img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.shot-grid figure:hover img{transform:scale(1.04)}
.shot-grid figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;
  font-size:12px;color:#fff;letter-spacing:.02em;
  background:linear-gradient(180deg,transparent,rgba(8,26,24,.72));
}

/* ---- 教练车三档 ---- */
.tier-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(26px,3vw,38px)}
.tier-cards article{border:1px solid var(--line);border-radius:18px;padding:26px 24px;background:#fff;box-shadow:0 10px 26px rgba(24,70,58,.06)}
.tier-cards article:nth-child(2){background:linear-gradient(160deg,#eef7f3,#e3f0e9);border-color:#cfe2dc}
.tier-cards article:nth-child(3){background:linear-gradient(160deg,#1d2c29,#2c3f3b);border-color:#1d2c29;color:#f2f5f2}
.tier-cards span{font:600 11px 'DM Mono',monospace;letter-spacing:.1em;color:var(--teal)}
.tier-cards article:nth-child(3) span{color:#9be0d2}
.tier-cards h3{margin:12px 0 10px;font-size:20px;letter-spacing:-.02em}
.tier-cards article:nth-child(3) h3{color:#fff}
.tier-cards p{margin:0;font-size:13px;line-height:1.85;color:var(--muted)}
.tier-cards article:nth-child(3) p{color:#b6c4bf}

/* ---- 价格逻辑 ---- */
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(26px,3vw,38px)}
.price-cards article{border:1px solid var(--line);border-radius:16px;padding:24px 22px;background:#fff}
.price-cards strong{display:block;font-family:var(--display);font-weight:400;font-size:20px;line-height:1.35}
.price-cards p{margin:10px 0 0;font-size:13px;line-height:1.85;color:var(--muted)}

/* ---- 首页板块背景节奏 ---- */
@media(max-width:1100px){
  .fact-strip,.concern-grid{grid-template-columns:repeat(2,1fr)}
  .promise-list{grid-template-columns:repeat(2,1fr)}
  .shot-grid{grid-template-columns:repeat(2,1fr)}
  .tier-cards,.price-cards{grid-template-columns:1fr}
}
@media(max-width:800px){
  .home-sec{padding:44px 7vw 48px}
  .sec-head{grid-template-columns:1fr;row-gap:12px}
  .sec-head h2{font-size:clamp(25px,8.2vw,34px)}
  .sec-head>p{font-size:13.5px;line-height:1.85}
  .trust-chips{gap:7px;margin-top:20px}
  .trust-chips span{padding:7px 11px;font-size:11.5px}
  .fact-strip{grid-template-columns:1fr 1fr;gap:10px}
  .fact-strip article{padding:16px 14px}
  .fact-strip strong{font-size:20px}
  .fact-strip span{font-size:11.5px}
  .concern-grid{grid-template-columns:1fr;gap:10px}
  .concern-grid article{padding:20px 18px}
  .promise-list{grid-template-columns:1fr;gap:10px}
  .promise-list li{padding:16px 16px 18px}
  .promise-list li:before{margin-bottom:10px}
  .shot-grid{grid-template-columns:1fr 1fr;gap:10px}
  .shot-grid figcaption{font-size:11px;padding:20px 12px 10px}
  .tier-cards{gap:10px}
  .tier-cards article{padding:20px 18px}
  .price-cards{gap:10px}
  .price-cards article{padding:18px 16px}
  .price-cards strong{font-size:18px}
}

/* 首屏标题也用楷体，与内页统一 */
.hero-home h1{font-family:var(--display);font-weight:400;letter-spacing:.004em;line-height:1.16}
.hero-home h1 em{font-style:normal}

/* 楷体字号收敛：避免因字宽变化出现孤字 */
@media(max-width:800px){
  .hero-home h1{font-size:clamp(34px,10.8vw,46px);line-height:1.2}
  .download h2{font-size:clamp(28px,8vw,38px)}
}
@media(min-width:801px){
  .download h2{font-size:clamp(36px,3.9vw,52px)}
}
@media(min-width:1000px) and (max-width:1200px){
  .manifesto h2{font-size:clamp(40px,5.2vw,56px)}
}

/* 手机端二级标题再收一档：楷体字宽，避免末行只剩两字 */
@media(max-width:800px){
  .sec-head h2{font-size:clamp(24px,7.6vw,30px)}
}
/* 801–1100：下载区仍是左右两栏会把标题挤断，改为上下堆叠 */
@media(min-width:801px) and (max-width:1100px){
  .download{display:block}
  .download-brand{margin-top:44px;max-width:560px}
}

/* 801–1023（平板/小窗口）：两栏区块统一改单栏，避免标题被挤成孤字 */
@media(max-width:1023px){
  .sec-head{grid-template-columns:1fr;row-gap:12px}
  .coaches{grid-template-columns:1fr}
  .coach-photo{aspect-ratio:16/10;min-height:0}
  .coach-copy{padding:52px 7vw 56px}
  .manifesto-body{display:block;margin-top:28px}
  .manifesto h2{font-size:clamp(36px,5.4vw,52px)}
  .manifesto-body p{margin-top:20px}
}

@media(max-width:380px){.manifesto h2{font-size:clamp(30px,9.4vw,38px)}}

/* ---------- 首屏事实横条：压在影像底部，替代四张卡片 ---------- */
.home-facts{position:relative;z-index:2;margin-top:-46px;padding:0 6vw 0}
.fact-ribbon{
  max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);
  background:rgba(255,255,255,.86);backdrop-filter:blur(14px);
  border:1px solid rgba(23,35,33,.10);border-radius:16px;
  box-shadow:0 18px 40px rgba(19,54,46,.12);overflow:hidden;
}
.fact-ribbon>div{padding:18px 22px;border-left:1px solid rgba(23,35,33,.08)}
.fact-ribbon>div:first-child{border-left:0}
.fact-ribbon strong{display:block;font-family:var(--display);font-weight:400;font-size:21px;line-height:1.2;color:var(--ink)}
.fact-ribbon span{display:block;margin-top:5px;font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:800px){
  .home-facts{margin-top:-34px;padding:0 7vw}
  .fact-ribbon{grid-template-columns:1fr 1fr;border-radius:14px}
  .fact-ribbon>div{padding:14px 14px;border-left:0;border-top:1px solid rgba(23,35,33,.08)}
  .fact-ribbon>div:nth-child(-n+2){border-top:0}
  .fact-ribbon>div:nth-child(even){border-left:1px solid rgba(23,35,33,.08)}
  .fact-ribbon strong{font-size:17px}
  .fact-ribbon span{font-size:11px}
}

/* ---------- 价格：去掉卡片，改成一整条面板 ---------- */
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(26px,3vw,38px);
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(24,70,58,.05)}
.price-cards article{border:0;border-radius:0;border-left:1px solid var(--line);padding:28px 26px;background:transparent;box-shadow:none}
.price-cards article:first-child{border-left:0}
.price-cards strong{font-size:19px}
@media(max-width:800px){
  .price-cards{grid-template-columns:1fr}
  .price-cards article{border-left:0;border-top:1px solid var(--line);padding:20px 18px}
  .price-cards article:first-child{border-top:0}
}

/* ---------- 顾虑：2×2 大卡，减少小字卡片堆叠 ---------- */
.concern-grid--wide{grid-template-columns:repeat(2,1fr);gap:14px}
.concern-grid--wide article{padding:30px 28px}
.concern-grid--wide h3{font-size:20px;margin:12px 0 12px}
.concern-grid--wide p{font-size:14px;line-height:1.85}
@media(max-width:800px){
  .concern-grid--wide{grid-template-columns:1fr}
  .concern-grid--wide article{padding:22px 20px}
  .concern-grid--wide h3{font-size:17px}
}

/* ---------- 首页精简版：三点优势 + 承诺条 ---------- */
.tri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(28px,3.2vw,42px)}
.tri-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 24px;box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 16px 36px -22px rgba(17,60,52,.28)}
.tri-grid span{font:600 11px 'DM Mono',monospace;color:var(--warm);letter-spacing:.08em}
.tri-grid h3{margin:20px 0 10px;font-size:18px;line-height:1.4;letter-spacing:-.02em}
.tri-grid p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.8}
.promise-strip{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.promise-strip span{position:relative;padding-left:18px;font-size:13px;color:#4b5b57}
.promise-strip span:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700}
@media(max-width:800px){
  .tri-grid{grid-template-columns:1fr;gap:10px}
  .tri-grid article{padding:20px 18px}
  .tri-grid h3{margin:14px 0 8px;font-size:16.5px}
  .promise-strip{gap:10px 20px;margin-top:22px;padding-top:18px}
  .promise-strip span{font-size:12.5px}
}

/* ============================================================================
   2026-10-19 孤儿排版清理
   标题孤字 / 标签孤行 / 卡片孤行 / 段落末行只剩几个字
   ============================================================================ */
/* 1) 文字断行优化：标题尽量均分，段落避免末行只剩一两个字 */
h1,h2,h3{text-wrap:balance}
p,li,dd,figcaption,blockquote{text-wrap:pretty}

/* 2) 首屏信任徽章：手机端固定 2×2，不再 3+1 */
@media(max-width:800px){
  .trust-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
  .trust-chips span{justify-content:flex-start;padding:8px 12px;font-size:12px}
}

/* 3) 承诺条：手机端 2×2 */
@media(max-width:800px){
  .promise-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
}

/* 4) 页脚：栏目与备案行不再出现单个孤项 */
@media(max-width:800px){
  .footer-cols{grid-template-columns:1fr 1fr}
  .footer-cols>div:last-child{grid-column:1/-1}
  .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.7}
}

/* 5) 话题标签：手机端一行一个，不做 2+1 */
@media(max-width:800px){
  .topic-links{display:grid;grid-template-columns:1fr;gap:8px}
  .topic-link{justify-content:flex-start}
}

/* 6) 相关阅读卡片：2 列铺满，5 项时 3+2 均分 */
.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.related-grid:has(> a:nth-child(5)){grid-template-columns:repeat(6,minmax(0,1fr))}
.related-grid:has(> a:nth-child(5))>a{grid-column:span 3}
.related-grid:has(> a:nth-child(5))>a:nth-child(-n+3){grid-column:span 2}
@media(max-width:800px){
  .related-grid{grid-template-columns:1fr}
  .related-grid:has(> a:nth-child(5)){grid-template-columns:1fr}
  .related-grid:has(> a:nth-child(5))>a{grid-column:auto}
}

/* 标题里的高亮句（em）改为块级行内盒，允许 text-wrap:balance 生效，
   避免末行只剩一两个字 */
h1 em,h2 em{display:inline-block;text-wrap:balance;max-width:100%}

/* br 之后的标题行独立成块，才能做均衡换行，避免末行孤字 */
h1 .ln,h2 .ln,h3 .ln{display:block;text-wrap:balance}

/* 城市页相关链接：手机端两列，奇数项最后一条跨整行，不出现孤项 */
@media(max-width:800px){
  .city-related-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
  .city-related-links a:last-child:nth-child(odd){grid-column:1/-1}
}

/* 短段落做均衡断行，避免卡片说明末行只剩两三个字 */
p{text-wrap:balance}
.footer-slogan,.footer-brand p,.fact-strip span,.city-index-grid span,.city-index-grid small{text-wrap:balance}

/* ============================================================================
   图标统一：用细线 SVG 替换字体里的箭头 / 勾字符
   （字体里的 → ↗ ✓ 受字体影响，笔画粗细和末端不统一，换成矢量图标更干净）
   ============================================================================ */
:root{
  --icon-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h14.5M12.5 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-arrow-ur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.5 16.5L16.5 7.5M8.5 7.5h8v8' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5L19.5 6.5' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* 按钮 / 文字链接里的右箭头 */
.button span,.button.primary span,.button.outline span,.button.dark span,
.text-link span{
  display:inline-block;width:18px;height:18px;flex:0 0 auto;
  font-size:0;line-height:0;color:inherit;vertical-align:middle;
  background:currentColor;
  -webkit-mask:var(--icon-arrow) center/contain no-repeat;
  mask:var(--icon-arrow) center/contain no-repeat;
}
.button{gap:18px}
/* 导航按钮的右上箭头 */
.nav-cta span{
  display:inline-block;width:13px;height:13px;margin-left:8px;
  font-size:0;line-height:0;vertical-align:-2px;
  background:currentColor;
  -webkit-mask:var(--icon-arrow-ur) center/contain no-repeat;
  mask:var(--icon-arrow-ur) center/contain no-repeat;
}
/* 城市页相关链接后面的箭头 */
.city-related-links a:after{
  content:'';display:inline-block;width:13px;height:13px;margin-left:5px;
  font-size:0;vertical-align:-2px;
  background:currentColor;
  -webkit-mask:var(--icon-arrow) center/contain no-repeat;
  mask:var(--icon-arrow) center/contain no-repeat;
}
/* 勾选图标：服务对比清单 / 信任徽章 */
.service-comparison li:before,
.trust-chips span:before{
  content:'';display:inline-block;width:14px;height:14px;flex:0 0 auto;
  background:var(--teal);
  -webkit-mask:var(--icon-check) center/contain no-repeat;
  mask:var(--icon-check) center/contain no-repeat;
}
.service-comparison li:before{margin-right:9px;vertical-align:-2px}
/* 承诺条里的勾 */
.promise-strip span:before{
  content:'';position:absolute;left:0;top:3px;width:13px;height:13px;
  background:var(--teal);
  -webkit-mask:var(--icon-check) center/contain no-repeat;
  mask:var(--icon-check) center/contain no-repeat;
}
/* 教练清单 / 首屏小卡里的勾 */
.coach-copy li>span,.floating-note>span{
  display:inline-block;width:17px;height:17px;flex:0 0 auto;
  font-size:0;line-height:0;margin-top:3px;
  background:var(--teal);
  -webkit-mask:var(--icon-check) center/contain no-repeat;
  mask:var(--icon-check) center/contain no-repeat;
}

/* ============================================================================
   2026-10-20 移动端导航 + 可访问性修正
   ============================================================================ */
.nav-toggle{
  display:none;width:44px;height:44px;padding:0;margin-left:8px;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;
  border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.72);
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.nav-toggle span{display:block;width:16px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{
  position:fixed;top:76px;left:0;right:0;z-index:40;
  background:#fbfaf6;border-bottom:1px solid var(--line);
  box-shadow:0 24px 48px rgba(15,45,38,.16);
  padding:10px 6vw 22px;
  transform:translateY(-10px);opacity:0;visibility:hidden;
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  max-height:calc(100vh - 76px);overflow:auto;
}
.mobile-menu.is-open{transform:none;opacity:1;visibility:visible}
.mobile-menu nav{display:grid;gap:0}
.mobile-menu nav a{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 4px;border-bottom:1px solid var(--line);
  font-size:16px;font-weight:600;color:var(--ink);
}
.mobile-menu nav a:after{content:'→';font-size:15px;color:var(--teal)}
.mobile-menu .menu-download{
  display:flex;align-items:center;justify-content:center;
  margin-top:16px;padding:15px 18px;border-radius:12px;
  background:var(--teal);color:#fff;font-weight:700;font-size:15px;
}
body.menu-open{overflow:hidden}
@media(max-width:800px){
  .nav{justify-content:flex-start;gap:8px;padding:0 5vw}
  .nav .brand{margin-right:auto}
  .nav .nav-cta{padding:10px 14px;font-size:12px}
  .nav-toggle{display:inline-flex}
}
@media(min-width:801px){
  .nav-toggle,.mobile-menu{display:none}
}
/* 对比度修正：小标签 #94a6a1 在白底只有 2.55，加深到 AA 标准 */
.concern-grid .q{color:#6b7c77}

/* 移动菜单箭头也用 SVG，与站内图标一致 */
.mobile-menu nav a:after{
  content:'';width:16px;height:16px;flex:0 0 auto;
  background:var(--teal);
  -webkit-mask:var(--icon-arrow) center/contain no-repeat;
  mask:var(--icon-arrow) center/contain no-repeat;
}

/* ============================================================================
   下载页首屏改为居中版式（原来左对齐，右侧留白多，显得不居中）
   ============================================================================ */
.download-page{padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(72px,8vw,110px)}
.dl-hero{text-align:center}
.dl-hero .eyebrow{justify-content:center}
.dl-hero h1{max-width:780px;margin:16px auto 20px}
.dl-hero .dl-lead{max-width:620px;margin:0 auto}
.dl-platforms{max-width:980px;margin:clamp(28px,3.4vw,42px) auto 0}
.dl-card,.dl-card-head,.dl-card-note{text-align:left}
@media(max-width:800px){
  .download-page{padding-top:28px}
  .dl-hero{padding:30px 22px 26px}
  .dl-hero h1{max-width:100%}
  .dl-hero .dl-lead{font-size:14.5px}
  .dl-platforms{grid-template-columns:1fr;gap:14px;margin-top:24px}
}

/* 下载页首块不需要顶部大间距（原来被 section 通用 margin 推下去 84px） */
.download-page>section:first-child{margin-top:0}

/* 首页下载板块：≤1100 改为居中堆叠，避免左文案 + 右下卡片错位 */
@media(max-width:1100px){
  .download{
    display:grid;grid-template-columns:1fr;justify-items:center;row-gap:0;
    text-align:center;padding-left:7vw;padding-right:7vw;
  }
  .download-copy{max-width:640px;margin:0 auto;text-align:center}
  .download p{max-width:560px;margin-left:auto;margin-right:auto}
  .download-buttons{justify-content:center;margin-left:auto;margin-right:auto}
  .download-brand{margin:36px auto 0;width:min(100%,420px);justify-self:center}
}

/* ============================================================================
   下载页：窄屏（≤420px）卡片被 store-badge 的 nowrap 撑宽，导致左右不居中
   ============================================================================ */
@media(max-width:420px){
  .dl-platforms{grid-template-columns:minmax(0,1fr)}
  .dl-card{min-width:0;padding:22px 18px 20px}
  .dl-card .store-badge{padding:10px 14px;gap:10px;min-width:0}
  .dl-card .store-badge svg{width:22px;height:22px;flex-basis:22px}
  .dl-card .store-badge span{min-width:0}
  .dl-card .store-badge span b{font-size:15px}
  .dl-card .store-badge span small{font-size:9.5px}
  .dl-card-head{gap:10px;margin-bottom:18px}
  .dl-card-head strong{font-size:16px}
  .dl-card-note{font-size:11.5px}
}

/* 窄屏小标签：字距收紧，避免长英文标签折出孤字（如「正式上线」的“线”单独一行） */
@media(max-width:420px){
  .eyebrow{font-size:10px;letter-spacing:.1em;gap:8px}
  .eyebrow:before{width:16px}
  .dl-hero .eyebrow{letter-spacing:.08em}
}

/* ============================================================================
   2026-10-25 手机端精细度升级（只改样式，不改结构与文案）
   目标：统一节奏、卡片质感、照片裁切、按钮与列表细节
   ============================================================================ */
@media(max-width:800px){
  /* ---------- 1. 首屏：收紧排版、按钮与徽章更精致 ---------- */
  .hero-home{padding-top:34px;padding-bottom:30px}
  .hero-home .hero-copy{padding-left:6.5vw;padding-right:6.5vw}
  .hero-home h1{font-size:clamp(36px,10vw,42px);line-height:1.18}
  .hero-home .lead{font-size:15px;line-height:1.8;margin:14px 0 0;color:#4f615c}
  .hero-home .hero-actions{margin:20px 0 0;gap:10px}
  .hero-home .button{min-height:52px;padding:0 20px;border-radius:14px;font-size:15px;letter-spacing:0}
  .hero-home .button.primary{box-shadow:0 12px 28px -10px rgba(14,113,104,.55)}
  .hero-home .button:active{transform:scale(.985)}
  .hero-home .trust-chips{margin-top:16px;gap:8px;grid-template-columns:1fr 1fr}
  .hero-home .trust-chips span{
    height:36px;padding:0 12px;font-size:11.5px;border-radius:11px;
    background:#fff;border-color:rgba(20,60,52,.08);
    box-shadow:0 1px 2px rgba(20,60,52,.05);
  }
  .hero-home .hero-visual{margin:22px 6.5vw 0}
  .hero-home .road-card{
    aspect-ratio:16 / 10.6;
    border-radius:20px;
    box-shadow:0 22px 44px -26px rgba(17,60,52,.42);
  }
  .hero-home .road-card-image img{object-position:58% 42%}
  .hero-home .hero-image-tag{left:16px;top:16px}
  .hero-home .hero-image-tag span{font-size:9.5px}
  .hero-home .hero-image-tag b{font-size:16px;line-height:1.34}
  .hero-home .floating-note{right:10px;bottom:10px;padding:8px 10px;border-radius:11px;box-shadow:0 8px 20px rgba(17,60,52,.18)}

  /* ---------- 2. 事实横条：更紧凑、对比更清楚 ---------- */
  .home-facts{margin-top:-26px;padding:0 6.5vw}
  .fact-ribbon{border-radius:16px;box-shadow:0 16px 34px -18px rgba(17,60,52,.28);border-color:rgba(20,60,52,.08)}
  .fact-ribbon>div{padding:13px 14px}
  .fact-ribbon strong{font-size:17px}
  .fact-ribbon span{margin-top:3px;font-size:10.5px;line-height:1.45}

  /* ---------- 3. 两种练法：照片统一 16:10、卡片有层次 ---------- */
  .app-showcase{padding-top:44px;padding-bottom:48px}
  .showcase-cards{gap:14px;margin-top:24px}
  .showcase-cards article{
    border-radius:18px;overflow:hidden;background:#fff;
    border:1px solid rgba(20,60,52,.08);
    box-shadow:0 18px 40px -26px rgba(17,60,52,.35);
  }
  .showcase-cards picture img{aspect-ratio:16 / 10;object-fit:cover;width:100%;height:auto}
  .showcase-cards article>div{padding:16px 18px 18px}
  .showcase-cards article>div>span{font-size:10px;letter-spacing:.12em}
  .showcase-cards article>div>strong{font-size:17px;margin-top:6px}
  .showcase-cards article>div>small{font-size:12px;line-height:1.7;margin-top:6px}

  /* ---------- 4. 三件事：编号做成圆形徽章，卡片更轻 ---------- */
  .tri-grid{gap:10px}
  .tri-grid article{
    padding:18px 18px 20px;border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
    border-color:rgba(20,60,52,.08);
    box-shadow:0 14px 30px -22px rgba(17,60,52,.35);
  }
  .tri-grid span{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:50%;
    background:#eaf5f1;color:var(--teal);font-size:10.5px;
  }
  .tri-grid h3{margin:12px 0 8px;font-size:16.5px}
  .tri-grid p{font-size:12.5px;line-height:1.75}

  /* ---------- 5. 承诺条：改成一块圆角面板 ---------- */
  .promise-strip{
    margin-top:14px;padding:14px 16px;border:0;border-radius:16px;
    background:#fff;box-shadow:0 14px 30px -22px rgba(17,60,52,.28);
    grid-template-columns:1fr 1fr;gap:10px 14px;
  }
  .promise-strip span{font-size:12px;padding-left:20px;line-height:1.5}

  /* ---------- 6. 教练区：照片收进圆角卡片，清单加圆形勾 ---------- */
  .coaches{display:block;margin-top:8px}
  .coach-picture{margin:0 6.5vw;border-radius:20px;overflow:hidden;box-shadow:0 22px 44px -28px rgba(17,60,52,.45)}
  .coach-copy{padding:34px 6.5vw 44px}
  .coach-copy h2{font-size:clamp(26px,7.6vw,32px)}
  .coach-copy li{padding:14px 0;gap:12px}
  .coach-copy li>span{
    width:22px;height:22px;padding:0;border-radius:50%;
    background:#eaf5f1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;
  }
  .coach-copy li b{font-size:14px}
  .coach-copy li small{font-size:12px;line-height:1.65}

  /* ---------- 7. 城市：两列小卡 + 箭头 ---------- */
  .cities .city-list{gap:10px}
  .cities .city-list a{
    background:#fff;border:1px solid rgba(20,60,52,.08);border-radius:14px;
    padding:13px 14px;box-shadow:0 10px 24px -20px rgba(17,60,52,.3);
    position:relative;
  }
  .cities .city-list a strong{font-size:16px}
  .cities .city-list a span{font-size:9px;letter-spacing:.12em}
  .cities .city-list a:after{
    content:'';position:absolute;right:13px;top:50%;width:7px;height:7px;
    border-right:1.5px solid #9db4ae;border-top:1.5px solid #9db4ae;
    transform:translateY(-50%) rotate(45deg);
  }
  .city-route-visual{margin:0 6.5vw;border-radius:18px;overflow:hidden}

  /* ---------- 8. 下载区：按钮更厚实，卡片更有质感 ---------- */
  .download{padding:48px 6.5vw 44px}
  .download-buttons{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .download-buttons .store-badge{min-height:56px;border-radius:14px;padding:0 18px}
  .download-buttons .store-badge span b{font-size:16px}
  .release-note{display:block;margin-top:14px;font-size:10px;line-height:1.7;color:#b6ddd5;text-align:center}
  .download-brand{margin-top:26px;border-radius:18px;background:linear-gradient(160deg,#ffffff,#eef7f3)}

  /* ---------- 9. FAQ：每问一张轻卡片 ---------- */
  .faq .faq-grid{gap:10px;margin-top:22px}
  .faq-grid details{
    background:#fff;border:1px solid rgba(20,60,52,.08);border-radius:14px;
    padding:0 16px;box-shadow:0 12px 26px -22px rgba(17,60,52,.3);
  }
  .faq-grid summary{padding:15px 0;font-size:14.5px}
  .faq-grid details p{padding:0 0 15px;font-size:12.5px;line-height:1.75;margin:0}

  /* ---------- 10. 细节：锚点偏移、按压反馈、滚动顺滑 ---------- */
  section[id],main[id]{scroll-margin-top:86px}
  a,button{-webkit-tap-highlight-color:transparent}
  .text-link:active,.city-list a:active,.tri-grid article:active{transform:scale(.99)}
}

/* 首屏徽章：单行不折行（上一版固定高度导致「专业教学」被折成两行） */
@media(max-width:800px){
  .hero-home .trust-chips span{
    height:34px;padding:0 10px;font-size:10.8px;gap:6px;
    letter-spacing:-.01em;white-space:nowrap;
  }
  .hero-home .trust-chips span:before{flex:0 0 12px;font-size:11px}
  .hero-home .lead{font-size:14.8px;line-height:1.78}
}

/* 两种练法卡片：图片容器原来被强制 1:1，导致图片下方多出一块空白 */
@media(max-width:800px){
  .showcase-cards picture{aspect-ratio:auto;height:auto;background:transparent}
  .showcase-cards picture img{aspect-ratio:16 / 10;height:auto;object-fit:cover}
}

/* ============================================================================
   2026-10-25 手机端对齐修复
   1) 统一内容左右轴为 6.5vw（首屏/城市图原来多缩进 25px，和下面卡片对不齐）
   2) 教练照片整块做圆角卡，图片铺满，去掉左右两侧露出的绿色底
   3) 教练清单勾恢复青色；城市列表去掉容器边线（两条竖线）
   ============================================================================ */
@media(max-width:800px){
  .hero-home{padding-left:6.5vw;padding-right:6.5vw}
  .hero-home .hero-copy{padding-left:0;padding-right:0}
  .hero-home .hero-visual{margin:22px 0 0}

  .app-showcase,.home-sec,.cities,.download,.faq{padding-left:6.5vw;padding-right:6.5vw}
  .home-facts{padding-left:6.5vw;padding-right:6.5vw}
  .city-route-visual{margin:0;border-radius:18px;overflow:hidden}

  .coaches{padding-left:0;padding-right:0}
  .coach-photo{margin:0 6.5vw;border-radius:20px;overflow:hidden;aspect-ratio:4 / 3.4}
  .coach-picture{margin:0;border-radius:0}
  .coach-photo:before,.coach-photo:after{display:none}
  .coach-copy{padding-left:6.5vw;padding-right:6.5vw}
  .photo-overlay{left:18px;right:18px;bottom:18px}
  .photo-overlay b{font-size:20px;line-height:1.42}
  .coach-copy li>span{background:var(--teal);border-radius:0;width:16px;height:16px}

  .cities .city-list{border:0;background:transparent}
}

/* 深色宣言卡与其它模块统一左右轴 */
@media(max-width:800px){
  .manifesto{margin:26px 6.5vw 0;border-radius:20px}
}

/* ============================================================================
   2026-10-25 手机端产品感升级（本地版，未上线）
   1) 事实条、优势区去卡片化，改成更克制的编辑式排布
   2) 新增 App 界面展示（手机壳 + 预约界面示意）
   ============================================================================ */
/* ---- App 界面展示 ---- */
.app-preview .sec-head{margin-bottom:clamp(20px,3vw,32px)}
.phone-stage{display:flex;flex-direction:column;align-items:center;gap:16px}
.phone-frame{
  width:min(296px,70vw);aspect-ratio:9 / 18.6;border-radius:34px;
  background:#101c19;padding:8px;position:relative;
  box-shadow:0 34px 64px -34px rgba(17,60,52,.55),0 0 0 1px rgba(16,28,25,.9);
}
.phone-frame:before{
  content:'';position:absolute;top:15px;left:50%;transform:translateX(-50%);
  width:32%;height:5px;border-radius:99px;background:#26332f;z-index:2;
}
.phone-screen{
  height:100%;border-radius:27px;overflow:hidden;
  background:linear-gradient(180deg,#f7f7f2 0%,#eef5f0 100%);
  padding:26px 13px 16px;display:flex;flex-direction:column;gap:9px;
}
.ps-head{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:#7b8c87;margin-top:4px}
.ps-head b{color:var(--ink);font-size:12.5px}
.ps-card{background:#fff;border:1px solid rgba(20,60,52,.08);border-radius:12px;padding:10px 12px;box-shadow:0 8px 18px -14px rgba(17,60,52,.35)}
.ps-card span{display:block;font-size:9.5px;color:#8a9a95}
.ps-card b{display:block;margin-top:3px;font-size:12.5px;letter-spacing:-.01em}
.ps-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;border:1px solid rgba(20,60,52,.08);border-radius:10px;padding:9px 12px;font-size:10px;color:#8a9a95}
.ps-row b{color:var(--ink);font-weight:600;font-size:10.5px;text-align:right}
.ps-cta{margin-top:auto;background:var(--teal);color:#fff;border-radius:11px;text-align:center;padding:11px;font-size:12px;font-weight:700;letter-spacing:.02em}
.phone-screen small{text-align:center;font-size:8.5px;color:#9aaba6;letter-spacing:.06em}
.phone-caption{font-size:11.5px;color:var(--muted);text-align:center;letter-spacing:.02em}

/* ---- 手机端：事实条、优势区去卡片化 ---- */
@media(max-width:800px){
  /* 事实条：一块白面板 + 内部细线，不再像 4 张小卡 */
  .fact-ribbon{background:#fff;border-radius:18px;border:1px solid rgba(20,60,52,.08);box-shadow:0 16px 34px -24px rgba(17,60,52,.3);overflow:hidden}
  .fact-ribbon>div{padding:14px 15px;border:0}
  .fact-ribbon>div:nth-child(even){border-left:1px solid rgba(20,60,52,.08)}
  .fact-ribbon>div:nth-child(n+3){border-top:1px solid rgba(20,60,52,.08)}
  .fact-ribbon strong{font-size:17.5px}
  .fact-ribbon span{font-size:10.5px;line-height:1.5}

  /* 优势区：编辑式编号列表，去掉卡片 */
  .tri-grid{display:block;background:transparent;border:0;box-shadow:none;margin-top:18px}
  .tri-grid article{
    display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;
    background:transparent;border:0;border-top:1px solid rgba(20,60,52,.12);
    border-radius:0;box-shadow:none;padding:18px 0;
  }
  .tri-grid article:last-child{border-bottom:1px solid rgba(20,60,52,.12)}
  .tri-grid span{
    grid-row:1 / 3;width:auto;height:auto;border-radius:0;background:transparent;
    color:var(--warm);font:600 12px 'DM Mono',monospace;letter-spacing:.02em;
    display:block;padding-top:3px;
  }
  .tri-grid h3{grid-column:2;margin:0 0 6px;font-size:17px}
  .tri-grid p{grid-column:2;margin:0;font-size:12.5px;line-height:1.7;color:#5c6b67}
  .promise-strip{margin-top:16px;background:#fff;border:1px solid rgba(20,60,52,.08);box-shadow:none}

  /* App 界面：手机上更紧凑 */
  .app-preview{padding-top:40px;padding-bottom:44px}
  .phone-frame{width:min(268px,68vw)}
}

/* App 界面 mock：地图条 + 时段胶囊，填满屏幕 */
.ps-map{position:relative;height:74px;border-radius:12px;overflow:hidden;border:1px solid rgba(20,60,52,.08)}
.ps-map img{width:100%;height:100%;object-fit:cover;display:block}
.ps-map i{position:absolute;left:50%;top:55%;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 4px 10px rgba(0,0,0,.25)}
.ps-chips{display:flex;gap:6px}
.ps-chips span{flex:1;text-align:center;font-size:9.5px;color:#4f615c;background:#fff;border:1px solid rgba(20,60,52,.1);border-radius:8px;padding:7px 0}
@media(max-width:800px){
  .phone-frame{width:min(280px,72vw);aspect-ratio:9 / 18.2}
}
/* 桌面端：文案与手机左右排布，避免大片空白 */
@media(min-width:801px){
  .app-preview .sec-inner{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,72px);align-items:center}
  .app-preview .sec-head{display:block;margin:0}
  .app-preview .sec-head>p{margin-top:16px;max-width:460px}
  .app-preview .phone-stage{grid-column:2;grid-row:1;justify-self:center}
  .app-preview .phone-caption{margin-top:4px}
}

/* ============================================================================
   2026-10-25 预约规则：首页 + 服务页共用
   ============================================================================ */
.rules-home .rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(22px,3vw,34px)}
.rule-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:20px 22px;border:1px solid rgba(20,60,52,.08);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}
.rule-num{font:600 12px 'DM Mono',monospace;color:var(--warm);letter-spacing:.02em;padding-top:2px}
.rule-item h3{margin:0 0 6px;font-size:16px;letter-spacing:-.01em}
.rule-item p{margin:0;font-size:13px;line-height:1.75;color:var(--muted)}
.service-rules{margin-top:clamp(36px,5vw,64px)}
.service-rules .rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
@media(max-width:800px){
  .rules-home{padding-top:44px;padding-bottom:46px}
  .rules-home .rule-list{grid-template-columns:1fr;gap:10px}
  .rule-item{padding:15px 15px;border-radius:14px;background:#fff}
  .rule-num{padding-top:1px}
  .rule-item h3{font-size:15.5px}
  .rule-item p{font-size:12.5px;line-height:1.7}
  .service-rules{margin-top:34px}
  .service-rules .rule-list{grid-template-columns:1fr;gap:10px}
}

/* 规则板块底部链接间距 */
.rules-home .rule-more{margin:18px 0 0;font-size:13px}
.service-rules .rule-more{margin:16px 0 0;font-size:13px}
@media(max-width:800px){
  .rules-home .rule-more{margin:14px 0 0;text-align:center}
  .service-rules .rule-more{margin:14px 0 0;text-align:center}
}

/* 首屏低承诺说明 + 下载区不强制说明 */
.hero-home .hero-note{margin:14px 0 0;font-size:12.5px;line-height:1.6;color:#6b7c77;letter-spacing:.01em}
.download .download-note{margin:12px 0 0;font-size:12.5px;line-height:1.6;color:#d8ece7}
@media(max-width:800px){
  .hero-home .hero-note{margin:12px 0 0;font-size:11.5px;text-align:center}
  .download .download-note{text-align:center;font-size:11.5px}
  .rules-home .rule-more{line-height:1.8;color:#5c6b67;font-size:12px}
}

/* 窄屏首屏标题防孤字：押韵新标题 8+8 字，320px 时略缩 */
@media(max-width:340px){
  .hero-home h1{font-size:clamp(30px,9.4vw,34px);line-height:1.2}
}

/* 三步骤：桌面三列铺满，平板单列，避免最后一行空一块 */
@media(min-width:1001px){
  .rules-home .rule-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:801px) and (max-width:1000px){
  .rules-home .rule-list{grid-template-columns:1fr}
  .rules-home .rule-item{grid-template-columns:48px minmax(0,1fr)}
}

/* 教练区：桌面端照片随内容高度铺满，避免右侧/左侧空一块 */
@media(min-width:801px){
  .coaches{align-items:stretch}
  .coach-photo{aspect-ratio:auto;min-height:clamp(460px,40vw,560px)}
  .coach-copy{display:flex;flex-direction:column;justify-content:center}
}

/* 手机端教练照片改为整幅通栏，去掉左右留白 */
@media(max-width:800px){
  .coach-photo{margin:0;border-radius:0;aspect-ratio:auto;height:clamp(300px,46vw,520px)}
  .coach-picture{margin:0;border-radius:0}
  .coach-photo:before,.coach-photo:after{display:none}
  .photo-overlay{left:6.5vw;right:6.5vw;bottom:20px}
}

/* 桌面端首屏标题改为两行完整诗句：原 600px 文案栏把 8 字一句折成 4 行，显得零碎 */
@media(min-width:801px){
  .hero-home .hero-copy{
    max-width:calc(min(740px,52vw) + 6.5vw);
    padding-left:6.5vw;
  }
  .hero-home h1{
    font-size:clamp(44px,5.9vw,86px);
    line-height:1.12;
  }
}

/* 下载入口：电脑扫码、手机直达，图标与文字始终对应同一平台。 */
.download-page{max-width:1280px;padding-inline:clamp(20px,4vw,56px)}
.dl-platform-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:22px auto 0}
.dl-platform-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-size:14px;text-underline-offset:5px}
.dl-platform-nav a:hover{text-decoration:underline}
.dl-platforms{margin-top:24px}
.dl-card{min-width:0;box-shadow:none}
.dl-card-head{min-height:54px;margin-bottom:20px}
.dl-card-head>div{min-width:0}
.dl-card-head strong{font-size:17px;font-weight:600}
.dl-card-head small{line-height:1.6}
.dl-scan{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 20px}
.dl-scan img{display:block;width:164px;height:164px;max-width:100%;object-fit:contain;background:#fff}
.dl-scan figcaption{font-size:12px;line-height:1.6;color:var(--muted)}
.dl-card .store-badge{margin-top:0;min-height:58px;padding-inline:14px}
.dl-card .store-badge span b{font-size:16px;font-weight:600}
.dl-card-note{min-height:0;overflow-wrap:anywhere}
.dl-card-wechat .dl-qr{margin:0 auto 18px;width:184px;max-width:100%;border-radius:12px}
.dl-card-wechat .dl-card-note{margin-top:0}
.dl-card[id]{scroll-margin-top:100px}
.dl-safe-note{background:#f0f5f3;border-color:var(--line);color:var(--ink)}
.store-badge .android-mark,.dl-icon .android-mark{fill:none}
.hero-home .hero-copy>*,.hero-home .hero-visual{animation:none}
.intent-links{display:flex;flex-wrap:wrap;gap:0 20px;margin:8px 0 12px}
.intent-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5;color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.guide-detail .guide-meta{font-size:12px;line-height:1.6;letter-spacing:0;color:var(--muted)}
.booking-checklist th[scope="row"]{width:28%;font-weight:600;vertical-align:top;background:transparent}
.booking-checklist tr>:last-child{text-align:left;white-space:normal;line-height:1.8}
.booking-checklist td{vertical-align:top}
.decision-list{margin:24px 0 0;padding-left:22px}
.decision-list li{padding:0 0 20px 6px;line-height:1.8;color:var(--ink)}
.decision-list strong{font-size:16px;font-weight:600}
.decision-list li p{margin:8px 0 0}
.guide-detail .content-source{font-size:13px;line-height:1.9;color:var(--muted);margin-top:36px}
.content-source a,.price-note a{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.guide-detail [id]{scroll-margin-top:100px}
.nav nav a[aria-current="page"]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}
.skip-link{position:fixed;z-index:100;top:12px;left:16px;transform:translateY(-180%);padding:12px 18px;background:#172326;color:#fff;border-radius:8px}
.skip-link:focus{transform:none}
:is(a,button,summary):focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media(max-width:800px){
  .dl-scan{display:none}
  .dl-platform-nav{gap:4px 20px;margin-top:16px}
  .dl-card{padding:22px}
  .dl-card-head{margin-bottom:16px}
  .dl-card-note{margin-top:12px;font-size:13px}
  .dl-card-wechat .dl-qr{width:168px}
  .download-page .dl-section{padding-top:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}

/* 2026-11-03: clear download priority and lighter first-visit reading. */
.hero-home .hero-secondary-button{background:transparent;border-color:transparent;box-shadow:none;color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.hero-home .trust-chips{display:flex;flex-wrap:wrap;gap:8px 20px}
.hero-home .trust-chips span{background:transparent;border:0;box-shadow:none;padding:0;min-height:28px}

/* Download: balance the first screen without stacking two top padding layers. */
.download-page{padding-top:0}
.download-page .dl-hero{padding-block:clamp(24px,3vh,36px)}
@media(min-width:801px){
 .download-page .dl-hero{min-height:calc(100svh - 76px);display:flex;flex-direction:column;justify-content:center}
 .download-page .dl-platforms{width:100%}
}
@media(min-width:801px) and (max-height:800px){
 .download-page .dl-hero{padding-block:24px}
 .dl-hero h1{margin-top:12px;margin-bottom:14px;font-size:44px;line-height:1.2}
 .dl-hero .dl-lead{font-size:15px;line-height:1.7}
 .dl-hero .dl-platform-nav{margin-top:12px}
 .dl-hero .dl-platforms{margin-top:16px}
 .dl-hero .dl-card{padding:20px}
 .dl-hero .dl-card-head{margin-bottom:14px}
 .dl-hero .dl-scan img{width:144px;height:144px}
 .dl-hero .dl-card-wechat .dl-qr{width:164px}
}
@media(max-width:800px){
 .download-page .dl-hero{padding:24px 14px}
 .dl-hero h1{margin-top:12px;margin-bottom:16px}
 .dl-hero .dl-platform-nav{margin-top:12px}
 .dl-hero .dl-platforms{margin-top:16px}
}
@media(min-width:801px) and (max-height:740px){
 .download-page .dl-hero{padding-block:16px}
 .dl-hero .dl-card{padding:18px}
 .dl-hero .dl-card-head{min-height:48px}
 .dl-hero .dl-scan img{width:128px;height:128px}
 .dl-hero .dl-card-wechat .dl-qr{width:148px}
}
@media(max-width:800px){
 .hero-home .hero-actions{gap:6px}
 .hero-home .hero-secondary-button{min-height:44px;padding:8px 12px}
 .hero-home .hero-note{margin-top:8px}
 .hero-home .trust-chips{margin-top:14px}
 .hero-home .hero-copy .lead{margin-top:20px}
}
