.page-home{
  --hm-hair:var(--w28-line-soft);
  --hm-gap:clamp(.85rem,2.2vw,1.5rem);
}

/* ---------- 面包屑 ---------- */
.page-home .hm-crumb-now{
  color:var(--w28-paper);
}

/* ---------- 框景首屏 ---------- */
.page-home .hm-hero{
  padding-top:clamp(1.2rem,3vw,2.2rem);
}
.page-home .hm-hero .w28-crumb{
  margin-bottom:clamp(1rem,2.4vw,1.8rem);
}
.page-home .hm-frame{
  position:relative;
  padding:clamp(1.3rem,4.4vw,3.2rem);
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(44,232,224,.10), transparent 58%),
    linear-gradient(180deg, rgba(16,42,68,.86), rgba(8,26,43,.94));
  overflow:hidden;
}
.page-home .hm-frame__note{
  position:absolute;
  top:clamp(1.3rem,4.4vw,3.2rem);
  right:clamp(.9rem,3vw,1.6rem);
  transform:rotate(90deg);
  transform-origin:top right;
  font-family:var(--w28-font-mono);
  font-size:.65rem;
  letter-spacing:.3em;
  color:var(--w28-ice);
  opacity:.55;
  white-space:nowrap;
  pointer-events:none;
}
.page-home .hm-hero__grid{
  display:grid;
  gap:clamp(1.6rem,4vw,3rem);
}
.page-home .hm-hero__title{
  margin:.75rem 0 0;
  font-size:clamp(1.95rem,7.4vw,3.35rem);
  line-height:1.1;
  letter-spacing:-.015em;
  max-width:16ch;
}
.page-home .hm-hero__lede{
  margin:clamp(1rem,2.4vw,1.5rem) 0 0;
  max-width:52ch;
  color:var(--w28-ice);
}

.page-home .hm-entry{
  list-style:none;
  margin:clamp(1.6rem,3.6vw,2.5rem) 0 0;
  padding:0;
  display:grid;
  gap:.7rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,158px),1fr));
}
.page-home .hm-entry__card{
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding:.9rem 1rem 1rem;
  border:1px solid var(--hm-hair);
  border-radius:var(--w28-radius);
  background:rgba(8,26,43,.55);
  text-decoration:none;
  color:var(--w28-paper);
  transition:border-color .3s var(--w28-ease), background .3s var(--w28-ease), transform .3s var(--w28-ease);
}
.page-home .hm-entry__card:hover,
.page-home .hm-entry__card:focus-visible{
  border-color:var(--w28-cyan);
  background:rgba(44,232,224,.08);
  transform:translateY(-2px);
}
.page-home .hm-entry__no{
  font-family:var(--w28-font-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--w28-cyan);
}
.page-home .hm-entry__label{
  font-size:1rem;
  font-weight:600;
  letter-spacing:.01em;
}
.page-home .hm-entry__note{
  font-size:.8rem;
  line-height:1.5;
  color:var(--w28-gray);
}

/* ---------- 通用图框与说明牌 ---------- */
.page-home .hm-figure{
  margin:0;
  position:relative;
  border:1px solid var(--hm-hair);
  border-radius:var(--w28-radius-lg);
  overflow:hidden;
  background:var(--w28-panel);
}
.page-home .hm-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  filter:saturate(.92) contrast(1.04);
}
.page-home .hm-figure__cap{
  position:absolute;
  left:0;
  bottom:0;
  max-width:100%;
  padding:.45rem .8rem;
  font-family:var(--w28-font-mono);
  font-size:.68rem;
  letter-spacing:.09em;
  color:var(--w28-paper);
  background:rgba(8,26,43,.85);
  border-top:1px solid var(--hm-hair);
  border-right:1px solid var(--hm-hair);
  border-radius:0 var(--w28-radius) 0 0;
}
.page-home .hm-hero__fig img{
  aspect-ratio:4 / 3;
}
.page-home .hm-scale__fig img{
  aspect-ratio:9 / 4;
}
.page-home .hm-dual__fig img{
  aspect-ratio:3 / 2;
}

/* ---------- 渠道索引带 ---------- */
.page-home .hm-channels__head{
  display:grid;
  gap:.9rem;
  margin-bottom:clamp(1.4rem,3vw,2rem);
}
.page-home .hm-channels__note{
  max-width:46ch;
}
.page-home .hm-channels__fig{
  margin-bottom:clamp(1.4rem,3vw,2.2rem);
}
.page-home .hm-rail{
  gap:.68rem;
  padding-block:.3rem 1rem;
  padding-inline:var(--w28-gutter);
}
.page-home .hm-cell{
  flex:0 0 auto;
  width:clamp(148px,46vw,192px);
  display:flex;
  flex-direction:column;
  gap:.55rem;
  padding:1rem .95rem 1.05rem;
  border:1px solid var(--hm-hair);
  border-top:2px solid var(--w28-line);
  border-radius:0 0 var(--w28-radius) var(--w28-radius);
  background:linear-gradient(180deg, rgba(16,42,68,.9), rgba(8,26,43,.72));
  text-decoration:none;
  color:var(--w28-paper);
  transition:border-color .3s var(--w28-ease), background .3s var(--w28-ease), transform .3s var(--w28-ease);
}
.page-home .hm-cell:hover,
.page-home .hm-cell:focus-visible{
  border-color:var(--w28-cyan);
  border-top-color:var(--w28-cyan);
  background:linear-gradient(180deg, rgba(44,232,224,.14), rgba(8,26,43,.75));
  transform:translateY(-3px);
}
.page-home .hm-cell__no{
  font-family:var(--w28-font-mono);
  font-size:.78rem;
  letter-spacing:.14em;
  color:var(--w28-cyan);
}
.page-home .hm-cell__name{
  font-size:.95rem;
  line-height:1.45;
  letter-spacing:.01em;
}
.page-home .hm-cell__city{
  align-self:flex-start;
  margin-top:auto;
  padding:.12rem .5rem;
  border:1px solid currentColor;
  border-radius:var(--w28-pill);
  font-family:var(--w28-font-mono);
  font-size:.66rem;
  letter-spacing:.1em;
}
.page-home .hm-cell[data-city="sh"] .hm-cell__city{ color:var(--w28-cyan); }
.page-home .hm-cell[data-city="gz"] .hm-cell__city{ color:var(--w28-orange); }
.page-home .hm-cell[data-city="both"] .hm-cell__city{ color:var(--w28-gold); }

/* ---------- 六档价格刻度 ---------- */
.page-home .hm-scale__head{
  margin-bottom:clamp(1.6rem,3.4vw,2.4rem);
}
.page-home .hm-scale__lede{
  margin:.9rem 0 0;
  max-width:56ch;
  color:var(--w28-ice);
}
.page-home .hm-scale__scroll{
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:.5rem;
  -webkit-overflow-scrolling:touch;
}
.page-home .hm-scale__inner{
  min-width:560px;
  padding-top:1.1rem;
}
.page-home .hm-scale__list{
  position:relative;
  list-style:none;
  margin:0;
  padding:1rem 0 0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.7rem;
}
.page-home .hm-scale__list::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--w28-gray) 0%,var(--w28-ice) 30%,var(--w28-cyan) 50%,var(--w28-amber) 74%,var(--w28-gold) 100%);
  opacity:.55;
}
.page-home .hm-grade__link{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  text-decoration:none;
  color:var(--w28-paper);
}
.page-home .hm-grade__bar{
  display:block;
  width:100%;
  height:8px;
  border-radius:999px;
  background:var(--hm-c,var(--w28-gray));
  transition:height .3s var(--w28-ease), opacity .3s var(--w28-ease);
}
.page-home .hm-grade__link:hover .hm-grade__bar,
.page-home .hm-grade__link:focus-visible .hm-grade__bar{
  height:14px;
}
.page-home .hm-grade__name{
  font-size:.98rem;
  font-weight:600;
  letter-spacing:.02em;
}
.page-home .hm-grade__note{
  font-size:.76rem;
  line-height:1.5;
  color:var(--w28-gray);
}
.page-home .hm-grade:nth-child(1){ --hm-c:#6B7B8C; }
.page-home .hm-grade:nth-child(2){ --hm-c:#8BB8D9; }
.page-home .hm-grade:nth-child(3){ --hm-c:#2CE8E0; }
.page-home .hm-grade:nth-child(4){ --hm-c:#F2A65A; }
.page-home .hm-grade:nth-child(5){ --hm-c:#FF6B35; }
.page-home .hm-grade:nth-child(6){ --hm-c:#D4AF37; }
.page-home .hm-grade:nth-child(6) .hm-grade__name{ color:var(--w28-gold); }
.page-home .hm-scale__fig{
  margin-top:clamp(1.6rem,3.4vw,2.4rem);
}

/* ---------- 双城服务记录 ---------- */
.page-home .hm-dual__head{
  margin-bottom:clamp(1.6rem,3.4vw,2.4rem);
}
.page-home .hm-dual__note{
  margin:.9rem 0 0;
  max-width:52ch;
}
.page-home .hm-dual__grid{
  display:grid;
  gap:1rem;
}
.page-home .hm-city{
  padding:clamp(1.2rem,3vw,1.8rem);
  border:1px solid var(--hm-hair);
  border-radius:var(--w28-radius-lg);
  background:linear-gradient(160deg, rgba(16,42,68,.9), rgba(8,26,43,.78));
}
.page-home .hm-city--sh{
  border-top:3px solid var(--w28-cyan);
}
.page-home .hm-city--gz{
  border-top:3px solid var(--w28-orange);
}
.page-home .hm-city__title{
  margin:.85rem 0 0;
  font-size:clamp(1.15rem,3vw,1.4rem);
  line-height:1.35;
}
.page-home .hm-city__lede{
  margin:.7rem 0 0;
  color:var(--w28-ice);
  font-size:.94rem;
  line-height:1.7;
}
.page-home .hm-city__list{
  list-style:none;
  margin:1.2rem 0 0;
  padding:0;
  display:grid;
  gap:.65rem;
}
.page-home .hm-city__list li{
  display:grid;
  gap:.15rem;
  padding-left:.8rem;
  border-left:2px solid var(--hm-hair);
}
.page-home .hm-city--sh .hm-city__list li{ border-left-color:rgba(44,232,224,.5); }
.page-home .hm-city--gz .hm-city__list li{ border-left-color:rgba(255,107,53,.5); }
.page-home .hm-city__k{
  font-family:var(--w28-font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--w28-gray);
}
.page-home .hm-city__v{
  font-size:.9rem;
  line-height:1.6;
  color:var(--w28-paper);
}
.page-home .hm-city__more{
  margin:1.3rem 0 0;
}
.page-home .hm-dual__fig{
  margin-top:clamp(1.6rem,3.4vw,2.4rem);
}

/* ---------- 概况数字 ---------- */
.page-home .hm-facts{
  border-top:1px solid var(--hm-hair);
  border-bottom:1px solid var(--hm-hair);
  background:linear-gradient(180deg, rgba(16,42,68,.55), rgba(8,26,43,.3));
}
.page-home .hm-facts__inner{
  display:grid;
  gap:1.2rem;
  padding-block:clamp(1.6rem,4vw,2.6rem);
}
.page-home .hm-fact{
  display:grid;
  gap:.4rem;
  padding-left:.9rem;
  border-left:2px solid var(--w28-line);
}
.page-home .hm-fact:nth-child(2){ border-left-color:var(--w28-cyan); }
.page-home .hm-fact:nth-child(4){ border-left-color:var(--w28-orange); }
.page-home .hm-fact__num{
  font-family:var(--w28-font-mono);
  font-size:clamp(1.4rem,4vw,1.9rem);
  font-weight:600;
  letter-spacing:.02em;
  color:var(--w28-paper);
}
.page-home .hm-fact__label{
  font-size:.82rem;
  line-height:1.6;
  color:var(--w28-gray);
}

/* ---------- 资料下载 ---------- */
.page-home .hm-files__head{
  margin-bottom:clamp(1.6rem,3.4vw,2.4rem);
}
.page-home .hm-files__lede{
  margin:.9rem 0 0;
  max-width:56ch;
  color:var(--w28-ice);
}
.page-home .hm-files__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.8rem;
  grid-template-columns:1fr;
}
.page-home .hm-file{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  padding:1.05rem 1.15rem 1.15rem;
  border:1px solid var(--hm-hair);
  border-radius:var(--w28-radius);
  background:rgba(16,42,68,.62);
  transition:border-color .3s var(--w28-ease), background .3s var(--w28-ease), transform .3s var(--w28-ease);
}
.page-home .hm-file:hover{
  border-color:var(--w28-orange);
  background:rgba(255,107,53,.07);
  transform:translateY(-2px);
}
.page-home .hm-file__ext{
  align-self:flex-start;
  font-family:var(--w28-font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  padding:.15rem .5rem;
  border:1px solid var(--w28-line);
  border-radius:var(--w28-pill);
  color:var(--w28-ice);
}
.page-home .hm-file__name{
  font-size:1rem;
  font-weight:600;
  line-height:1.45;
}
.page-home .hm-file__meta{
  font-family:var(--w28-font-mono);
  font-size:.74rem;
  letter-spacing:.04em;
  color:var(--w28-gray);
}
.page-home .hm-files__cta{
  margin:clamp(1.6rem,3.4vw,2.2rem) 0 0;
}

/* ---------- 响应式 ---------- */
@media (min-width:640px){
  .page-home .hm-channels__head{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    align-items:end;
    gap:1.6rem;
  }
  .page-home .hm-files__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-home .hm-facts__inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:880px){
  .page-home .hm-dual__grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:start;
    gap:1.2rem;
  }
  .page-home .hm-city--gz{
    margin-top:2.6rem;
  }
}

@media (min-width:900px){
  .page-home .hm-hero__grid{
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
    align-items:end;
    gap:clamp(2rem,5vw,3.6rem);
  }
  .page-home .hm-hero__fig img{
    aspect-ratio:4 / 5;
  }
  .page-home .hm-hero__copy{
    padding-bottom:1rem;
  }
}

@media (min-width:1024px){
  .page-home .hm-files__list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-home .hm-facts__inner{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (min-width:1300px){
  .page-home .hm-rail{
    padding-inline:calc((100vw - var(--w28-shell)) / 2);
  }
}

@media (max-width:899px){
  .page-home .hm-frame__note{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home .hm-entry__card,
  .page-home .hm-cell,
  .page-home .hm-file,
  .page-home .hm-grade__bar{
    transition:none;
  }
  .page-home .hm-entry__card:hover,
  .page-home .hm-cell:hover,
  .page-home .hm-file:hover{
    transform:none;
  }
}
