.page-home{
  --home-grid:48px;
  --home-line:rgba(18,16,14,.06);
  --home-lift:0 18px 40px -28px rgba(18,16,14,.55);
  background:var(--paper);
  color:var(--ink);
  overflow-x:clip;
}

/* ---------- 首屏 ---------- */
.page-home .hero{
  position:relative;
  padding-top:clamp(1.25rem,3vw,2.25rem);
  background-color:var(--paper);
  background-image:
    repeating-linear-gradient(90deg,var(--home-line) 0 1px,transparent 1px var(--home-grid)),
    repeating-linear-gradient(180deg,var(--home-line) 0 1px,transparent 1px var(--home-grid));
  border-bottom:1px solid var(--line);
}

.page-home .hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(1.5rem,4vw,2.5rem);
  align-items:start;
}

.page-home .breadcrumbs{margin-bottom:1.1rem;font-size:.78rem}

.page-home .hero__eyebrow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
  margin:0 0 1rem;
}
.page-home .hero__eyebrow-text{
  font-family:var(--head);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.12em;
  color:var(--gray);
}

.page-home .hero__title{
  margin:0 0 1rem;
  font-family:var(--head);
  font-weight:900;
  font-size:clamp(2rem,6.4vw,3.35rem);
  line-height:1.12;
  letter-spacing:-.025em;
  color:var(--ink);
}
.page-home .hero__title::after{
  content:"";
  display:block;
  width:4.5rem;
  height:3px;
  margin-top:1.1rem;
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 60%,transparent 100%);
}

.page-home .hero__lead{
  margin:0 0 1.75rem;
  max-width:36em;
  font-family:var(--body);
  font-size:clamp(.95rem,1.6vw,1.05rem);
  line-height:1.85;
  color:var(--ink-soft);
}

.page-home .steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem 1rem;
  margin:0 0 1rem;
  padding:0;
  list-style:none;
}
.page-home .step{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  padding-top:.7rem;
  border-top:1px solid var(--line-gold);
}
.page-home .step__num{
  font-family:var(--mono);
  font-weight:600;
  font-size:clamp(1.5rem,4vw,2.1rem);
  line-height:1;
  letter-spacing:-.03em;
  color:transparent;
  -webkit-text-stroke:1px var(--gold-dark);
}
.page-home .step__text{
  font-family:var(--head);
  font-weight:900;
  font-size:.95rem;
  letter-spacing:-.01em;
}
.page-home .step__hint{
  font-size:.76rem;
  line-height:1.6;
  color:var(--gray);
}
.page-home .steps__note{
  margin:0;
  font-size:.82rem;
  line-height:1.75;
  color:var(--gray);
}
.page-home .steps__note a{color:var(--celadon-deep);text-underline-offset:3px}

.page-home .hero__visual{
  position:relative;
  min-height:300px;
  border:1px solid var(--line-gold);
  background:var(--ink);
  overflow:hidden;
  clip-path:polygon(0 0,100% 0,100% 100%,0 92%);
  box-shadow:10px 10px 0 -1px var(--paper-gray);
}
.page-home .hero__visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  filter:grayscale(1) sepia(.55) saturate(1.7) hue-rotate(-12deg) brightness(.9) contrast(1.05);
}
.page-home .hero__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg,rgba(247,244,236,.07) 0 1px,transparent 1px 48px),
    linear-gradient(180deg,rgba(18,16,14,.15) 0%,rgba(18,16,14,.62) 100%);
  pointer-events:none;
}
.page-home .hero__visual-mark{
  position:absolute;
  left:1rem;
  bottom:1.15rem;
  z-index:2;
  font-family:var(--mono);
  font-weight:600;
  font-size:.85rem;
  letter-spacing:.14em;
  color:var(--gold-light);
  border:1px solid var(--gold-dark);
  padding:.25rem .55rem;
  background:rgba(18,16,14,.55);
}

/* ---------- 价格浮层 ---------- */
.page-home .hero__dock{
  position:relative;
  z-index:6;
  padding-bottom:clamp(1.5rem,4vw,2.75rem);
}
.page-home .price{
  position:relative;
  margin-top:-1.75rem;
  background:var(--card);
  border:1px solid var(--gold-dark);
  border-radius:2px;
  box-shadow:8px 8px 0 -1px var(--paper-gray), var(--home-lift);
}
.page-home .price > summary{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.95rem 1.1rem;
  cursor:pointer;
  list-style:none;
}
.page-home .price > summary::-webkit-details-marker{display:none}
.page-home .price__flag{
  font-family:var(--head);
  font-weight:900;
  font-size:.95rem;
  letter-spacing:-.01em;
}
.page-home .price__hint{
  font-size:.78rem;
  color:var(--gray);
}
.page-home .price__cue{
  position:relative;
  flex:0 0 auto;
  margin-left:auto;
  width:1.4rem;
  height:1.4rem;
  border:1px solid var(--gold-dark);
}
.page-home .price__cue::before,
.page-home .price__cue::after{
  content:"";
  position:absolute;
  background:var(--gold-dark);
}
.page-home .price__cue::before{left:25%;right:25%;top:50%;height:1px}
.page-home .price__cue::after{top:25%;bottom:25%;left:50%;width:1px;transition:transform .18s ease-out}
.page-home .price[open] .price__cue::after{transform:scaleY(0)}

.page-home .price__panel{
  display:grid;
  gap:.9rem;
  padding:1rem 1.1rem 1.1rem;
  border-top:1px solid var(--line-gold);
  background:var(--card);
}
.page-home .tier{
  padding-left:.75rem;
  border-left:2px solid var(--gold);
}
.page-home .tier__name{
  display:block;
  font-family:var(--head);
  font-weight:900;
  font-size:1rem;
  letter-spacing:-.01em;
}
.page-home .tier__rule{
  display:block;
  margin-top:.15rem;
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.1em;
  color:var(--gold-dark);
}
.page-home .tier__text{
  margin:.45rem 0 0;
  font-size:.84rem;
  line-height:1.75;
  color:var(--gray);
}
.page-home .price__foot{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding-top:.9rem;
  border-top:1px solid var(--line);
}

/* ---------- 通用区块 ---------- */
.page-home .section{padding-block:clamp(2rem,5vw,3.5rem)}
.page-home .section__index{color:var(--gold-dark)}

.page-home .compare .section__lead,
.page-home .cities .section__lead,
.page-home .versions .section__lead,
.page-home .fit .section__lead,
.page-home .updates .section__lead{max-width:46em}

/* ---------- 权益与服务对照 ---------- */
.page-home .ledger{
  margin-top:1.5rem;
  border-top:2px solid var(--ink);
  background:var(--card);
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
}
.page-home .ledger__head,
.page-home .ledger__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  gap:.4rem 1.25rem;
  padding:.85rem 1rem;
  border-bottom:1px solid var(--line);
}
.page-home .ledger__head{
  font-family:var(--head);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.14em;
  color:var(--gray);
  background:var(--paper-gray);
}
.page-home .ledger__row{
  transition:background-color .18s ease-out,box-shadow .18s ease-out;
}
.page-home .ledger__row:hover{
  background:#F3EEE2;
  box-shadow:inset 3px 0 0 var(--gold);
}
.page-home .ledger__key{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.45rem;
}
.page-home .ledger__name{
  font-family:var(--head);
  font-weight:900;
  font-size:.95rem;
  letter-spacing:-.01em;
}
.page-home .ledger__value{
  font-family:var(--body);
  font-size:.86rem;
  line-height:1.75;
  color:var(--gray);
}
.page-home .compare__more,
.page-home .cities__more,
.page-home .versions__more,
.page-home .fit__note,
.page-home .updates__more{
  margin:1.1rem 0 0;
  font-size:.85rem;
  line-height:1.8;
  color:var(--gray);
}
.page-home .compare__more a,
.page-home .cities__more a,
.page-home .versions__more a,
.page-home .fit__note a{
  color:var(--celadon-deep);
  text-underline-offset:3px;
}

/* ---------- 分隔带 ---------- */
.page-home .band{
  margin:0;
  padding-block:clamp(1rem,3vw,1.75rem);
  background:var(--paper);
}
.page-home .band img{
  display:block;
  width:100%;
  height:auto;
  max-height:210px;
  object-fit:cover;
  filter:sepia(.28) saturate(.85);
}
.page-home .band .media__caption{margin-top:.5rem}

/* ---------- 城市索引 ---------- */
.page-home .city-jump{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:1.25rem 0 1.1rem;
}
.page-home .city-jump__link{
  display:inline-block;
  padding:.35rem .8rem;
  font-family:var(--head);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.06em;
  color:var(--ink);
  text-decoration:none;
  border:1px solid var(--line-gold);
  background:var(--card);
  border-radius:2px;
  transition:transform .16s ease-out,background-color .16s ease-out,color .16s ease-out;
}
.page-home .city-jump__link:hover,
.page-home .city-jump__link:focus-visible{
  background:var(--ink);
  color:var(--gold-light);
  border-color:var(--ink);
  transform:translateY(-2px);
}

.page-home .city-region{
  margin-bottom:.65rem;
  border:1px solid var(--line);
  border-left:3px solid var(--gold-dark);
  background:var(--card);
  border-radius:2px;
}
.page-home .city-region > summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem .9rem;
  padding:.8rem 1rem;
  cursor:pointer;
  list-style:none;
}
.page-home .city-region > summary::-webkit-details-marker{display:none}
.page-home .city-region__name{
  font-family:var(--head);
  font-weight:900;
  font-size:1rem;
  letter-spacing:-.01em;
}
.page-home .city-region__meta{
  font-size:.76rem;
  color:var(--gray);
  letter-spacing:.02em;
}
.page-home .city-region > summary::after{
  content:"+";
  margin-left:auto;
  font-family:var(--mono);
  font-weight:600;
  font-size:1.05rem;
  color:var(--gold-dark);
}
.page-home .city-region[open] > summary::after{content:"–"}

.page-home .city-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:.5rem;
  margin:0;
  padding:0 1rem 1rem;
  list-style:none;
}
.page-home .city{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.35rem .5rem;
  padding:.5rem .65rem;
  border:1px solid var(--line);
  background:var(--paper);
  transition:border-color .16s ease-out,background-color .16s ease-out;
}
.page-home .city:hover{
  border-color:var(--gold-dark);
  background:var(--card);
}
.page-home .city__name{
  font-family:var(--head);
  font-weight:700;
  font-size:.88rem;
}
.page-home .city__tags{display:flex;flex-wrap:wrap;gap:.25rem}
.page-home .city__tags .tag{font-size:.66rem;padding:.1rem .35rem}

/* ---------- 旧版本 ---------- */
.page-home .versions__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:start;
}
.page-home .version-list{
  margin:1.25rem 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--ink);
}
.page-home .version-list__item{
  display:grid;
  grid-template-columns:auto auto;
  justify-content:start;
  align-items:baseline;
  gap:.25rem .75rem;
  padding:.85rem 0;
  border-bottom:1px solid var(--line);
}
.page-home .version-list__no{
  font-family:var(--mono);
  font-weight:600;
  font-size:.92rem;
  color:var(--gold-dark);
}
.page-home .version-list__when{
  font-family:var(--head);
  font-weight:700;
  font-size:.68rem;
  letter-spacing:.1em;
  color:var(--gray);
  border:1px solid var(--line);
  padding:.1rem .4rem;
}
.page-home .version-list__text{
  grid-column:1/-1;
  margin:.15rem 0 0;
  font-family:var(--body);
  font-size:.86rem;
  line-height:1.75;
  color:var(--ink-soft);
}
.page-home .versions__fig{margin:1.5rem 0 0}
.page-home .versions__fig img{
  display:block;
  width:100%;
  height:auto;
  filter:sepia(.4) saturate(1.1) brightness(.96);
}

/* ---------- 适配清单 ---------- */
.page-home .fit__grid{margin-top:1.5rem;gap:clamp(1.25rem,3vw,2rem)}
.page-home .checklist{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line-gold);
}
.page-home .checklist__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.85rem;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.page-home .checklist__no{
  font-family:var(--mono);
  font-weight:600;
  font-size:.85rem;
  line-height:1.9;
  color:var(--celadon-deep);
}
.page-home .checklist__title{
  margin:0 0 .25rem;
  font-family:var(--head);
  font-weight:900;
  font-size:.98rem;
  letter-spacing:-.01em;
}
.page-home .checklist__text{
  margin:0;
  font-family:var(--body);
  font-size:.86rem;
  line-height:1.78;
  color:var(--gray);
}
.page-home .fit__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.35rem;
}
.page-home .fit__fig{margin:1.25rem 0 0}
.page-home .fit__fig img{
  display:block;
  width:100%;
  height:auto;
  filter:sepia(.35) saturate(1.2) brightness(.97);
}

/* ---------- 服务动态 ---------- */
.page-home .update-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.85rem;
  margin:1.5rem 0 0;
  padding:0;
  list-style:none;
}
.page-home .update-list__item{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.45rem;
  padding:1rem 1.1rem 1.1rem;
  background:var(--card);
  border:1px solid var(--line);
  border-top:2px solid var(--gold);
  border-radius:2px;
  transition:transform .18s ease-out,box-shadow .18s ease-out;
}
.page-home .update-list__item:hover{
  transform:translateY(-3px);
  box-shadow:6px 6px 0 -1px var(--paper-gray), var(--home-lift);
}
.page-home .update-list__title{
  margin:0;
  font-family:var(--head);
  font-weight:900;
  font-size:1rem;
  line-height:1.4;
  letter-spacing:-.01em;
}
.page-home .update-list__text{
  margin:0;
  font-family:var(--body);
  font-size:.84rem;
  line-height:1.75;
  color:var(--gray);
}
.page-home .update-list__when{
  margin-top:auto;
  padding-top:.5rem;
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--gold-dark);
}

/* ---------- 联系确认 ---------- */
.page-home .confirm__panel{
  padding:clamp(1.25rem,3vw,2rem);
  border:1px solid var(--gold-dark);
  border-radius:2px;
  box-shadow:10px 10px 0 -1px var(--paper-gray);
}
.page-home .confirm__title{
  margin:0 0 .5rem;
  font-family:var(--head);
  font-weight:900;
  font-size:clamp(1.2rem,3vw,1.6rem);
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-home .confirm__lead{
  margin:0;
  max-width:44em;
  font-size:.85rem;
  line-height:1.8;
  color:var(--paper-gray);
}
.page-home .confirm__foot{
  margin:1.1rem 0 0;
  font-size:.82rem;
  line-height:1.8;
  color:var(--paper-gray);
}
.page-home .confirm__foot a{
  color:var(--gold-light);
  text-underline-offset:3px;
}
.page-home .confirm__panel .panel__row{
  border-bottom-color:rgba(247,244,236,.14);
}

/* ---------- 旧版本常驻标签 ---------- */
.page-home .archive-tab{display:none}

/* ---------- 焦点与响应式 ---------- */
.page-home a:focus-visible,
.page-home summary:focus-visible,
.page-home details:focus-visible{
  outline:2px solid var(--celadon);
  outline-offset:3px;
}

@media (min-width:640px){
  .page-home .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .page-home .update-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-home .price__panel{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (min-width:880px){
  .page-home .hero__grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(1.75rem,4vw,3.25rem);
  }
  .page-home .hero__visual{
    min-height:100%;
    clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
  }
  .page-home .hero__visual img{min-height:520px}
  .page-home .price{
    width:min(720px,68%);
    margin-top:-3rem;
  }
  .page-home .price__panel{
    position:absolute;
    top:100%;
    left:-1px;
    right:-1px;
    border:1px solid var(--gold-dark);
    border-top:1px solid var(--line-gold);
    box-shadow:10px 14px 0 -2px var(--paper-gray), var(--home-lift);
    z-index:5;
  }
  .page-home .versions__grid{
    grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  }
  .page-home .versions__fig{margin-top:2.4rem}
  .page-home .fit__grid{
    grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
    align-items:start;
  }
  .page-home .fit__fig{margin-top:.4rem}
}

@media (min-width:1200px){
  .page-home .archive-tab{
    display:block;
    position:fixed;
    right:0;
    top:50%;
    transform:translateY(-50%);
    z-index:14;
    width:48px;
    padding:1rem .3rem;
    background:var(--ink);
    border:1px solid var(--gold-dark);
    border-right:0;
    border-radius:2px 0 0 2px;
    text-align:center;
  }
  .page-home .archive-tab__link{
    display:block;
    writing-mode:vertical-rl;
    text-orientation:mixed;
    font-family:var(--head);
    font-weight:900;
    font-size:.82rem;
    letter-spacing:.16em;
    color:var(--gold-light);
    text-decoration:none;
  }
  .page-home .archive-tab__glyph{
    display:block;
    margin-top:.55rem;
    font-family:var(--mono);
    font-weight:600;
    font-size:.72rem;
    color:var(--paper-gray);
    border-top:1px solid var(--line-gold);
    padding-top:.45rem;
  }
  .page-home .archive-tab__list{
    position:absolute;
    right:100%;
    top:0;
    width:190px;
    margin:0;
    padding:.65rem .75rem;
    list-style:none;
    background:var(--card);
    border:1px solid var(--gold-dark);
    box-shadow:var(--home-lift);
    writing-mode:horizontal-tb;
    text-align:left;
    opacity:0;
    visibility:hidden;
    transform:translateX(8px);
    transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s;
  }
  .page-home .archive-tab:hover .archive-tab__list,
  .page-home .archive-tab:focus-within .archive-tab__list{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }
  .page-home .archive-tab__item{
    display:flex;
    justify-content:space-between;
    gap:.5rem;
    padding:.35rem 0;
    font-size:.74rem;
    color:var(--gray);
    border-bottom:1px solid var(--line);
  }
  .page-home .archive-tab__item:last-child{border-bottom:0}
  .page-home .archive-tab__item span{
    font-family:var(--mono);
    font-weight:600;
    color:var(--ink);
  }
  .page-home .section,
  .page-home .band{padding-right:56px}
}

@media (max-width:559px){
  .page-home .ledger__head{display:none}
  .page-home .ledger__row{
    grid-template-columns:minmax(0,1fr);
    gap:.35rem;
    padding:.85rem .85rem 1rem;
  }
  .page-home .price__hint{display:none}
  .page-home .hero__visual{clip-path:polygon(0 0,100% 0,100% 100%,0 96%)}
  .page-home .hero__visual img{min-height:240px}
}

@media (prefers-reduced-motion:reduce){
  .page-home .city-jump__link,
  .page-home .update-list__item,
  .page-home .ledger__row,
  .page-home .price__cue::after,
  .page-home .archive-tab__list{
    transition:none;
  }
}
