.page-home{
  --home-grid:rgba(201,164,92,.22);
  --home-line:rgba(111,122,100,.30);
  --home-line-soft:rgba(111,122,100,.16);
  --home-shadow:6px 6px 0 rgba(31,42,36,.14);
  --home-shadow-lift:9px 9px 0 rgba(31,42,36,.18);
  --home-pad-y:clamp(2.75rem,7vw,5rem);
  background:var(--paper);
  color:var(--ink);
  overflow-x:clip;
}

/* ---------- 首屏 ---------- */
.page-home .home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(2rem,6vw,4.5rem) 0 clamp(2.5rem,6vw,4rem);
}
.page-home .home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(var(--home-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--home-grid) 1px,transparent 1px);
  background-size:44px 44px;
}
.page-home .home-hero-inner{
  display:grid;
  gap:clamp(1.75rem,4vw,3rem);
  align-items:center;
}
.page-home .home-hero-copy h1{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(1.75rem,5.4vw,3.35rem);
  line-height:1.24;
  letter-spacing:.01em;
  margin:.6rem 0 0;
  max-width:19ch;
}
.page-home .home-hero-lead{
  margin:1.1rem 0 0;
  font-size:clamp(.98rem,1.6vw,1.06rem);
  line-height:1.85;
  max-width:48ch;
  color:var(--ink);
}
.page-home .home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.6rem;
}
.page-home .home-hero-note{
  margin:1.25rem 0 0;
  padding-left:.85rem;
  border-left:3px solid var(--gold);
  font-family:var(--mono);
  font-size:.78rem;
  line-height:1.7;
  color:var(--rule);
  max-width:42ch;
}
.page-home .home-hero-figure{
  position:relative;
  margin:0;
}
.page-home .home-hero-figure .media-frame{
  border:3px solid var(--ink);
  box-shadow:var(--home-shadow);
  background:var(--paper-2);
}
.page-home .home-hero-figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-home .home-hero-tag{
  position:absolute;
  left:.75rem;
  bottom:-.9rem;
  padding:.35rem .7rem;
  background:var(--highlight);
  border:2px solid var(--ink);
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.02em;
  color:var(--ink);
  transform:rotate(-2.5deg);
}

/* ---------- 章节索引带 ---------- */
.page-home .home-index{
  border-top:1px solid var(--home-line);
  border-bottom:1px solid var(--home-line);
  background:rgba(239,229,210,.55);
}
.page-home .home-index-list{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem 1.4rem;
  margin:0;
  padding:.85rem 0;
  list-style:none;
}
.page-home .home-index-list a{
  display:inline-flex;
  align-items:baseline;
  gap:.4rem;
  padding:.2rem .35rem;
  color:var(--ink-green);
  text-decoration:none;
  font-size:.85rem;
  border-bottom:2px solid transparent;
}
.page-home .home-index-num{
  font-family:var(--mono);
  font-size:.72rem;
  color:var(--gold-deep);
}
.page-home .home-index-list a:hover,
.page-home .home-index-list a:focus-visible{
  background:var(--highlight);
  border-bottom-color:var(--brick);
  color:var(--brick);
}
.page-home .home-index-list a.is-current{
  background:var(--highlight);
  border-bottom-color:var(--brick);
  color:var(--brick);
}
.page-home .home-index-list a.is-current .home-index-num{
  color:var(--brick);
}

/* ---------- 通用章节 ---------- */
.page-home .home-sec{
  position:relative;
  padding:var(--home-pad-y) 0;
}
.page-home .home-sec--tint{
  background:var(--paper-2);
  border-top:1px solid var(--home-line);
  border-bottom:1px solid var(--home-line);
}
.page-home .home-sec-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.75rem 1rem;
  align-items:start;
  margin-bottom:clamp(1.75rem,4vw,2.75rem);
}
.page-home .home-sec-num{
  font-family:var(--mono);
  font-size:clamp(1.6rem,4.5vw,2.9rem);
  line-height:.95;
  letter-spacing:-.02em;
  color:var(--gold-deep);
}
.page-home .home-sec-head h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(1.3rem,3.4vw,2.05rem);
  line-height:1.32;
  margin:0;
}
.page-home .home-sec-sub{
  margin:.7rem 0 0;
  font-size:.95rem;
  line-height:1.85;
  color:var(--ink);
  max-width:60ch;
}

/* ---------- 三格入口 ---------- */
.page-home .home-slots{
  display:grid;
  gap:1.15rem;
}
.page-home .home-slot{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  padding:1.5rem 1.35rem 1.3rem;
  background:var(--paper);
  border:2px solid var(--ink);
  box-shadow:var(--home-shadow);
  transition:transform .18s ease,box-shadow .18s ease;
}
.page-home .home-slot:hover{
  transform:translateY(-3px);
  box-shadow:var(--home-shadow-lift);
}
.page-home .home-slot::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background:var(--gold);
}
.page-home .home-slot--key::before{
  background:var(--brick);
}
.page-home .home-slot-index{
  font-family:var(--mono);
  font-size:.95rem;
  letter-spacing:.12em;
  color:var(--gold-deep);
}
.page-home .home-slot--key .home-slot-index{
  color:var(--brick);
}
.page-home .home-slot h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:1.2rem;
  line-height:1.4;
  margin:0;
}
.page-home .home-slot p{
  margin:0;
  font-size:.93rem;
  line-height:1.85;
}
.page-home .home-slot-meta{
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.02em;
  color:var(--rule);
  padding-top:.55rem;
  border-top:1px dashed var(--home-line);
}
.page-home .home-slot-link{
  margin-top:auto;
  align-self:flex-start;
  font-size:.88rem;
  font-weight:600;
  color:var(--brick);
  text-decoration:none;
  border-bottom:2px solid var(--brick-soft);
  padding-bottom:.15rem;
}
.page-home .home-slot-link:hover,
.page-home .home-slot-link:focus-visible{
  border-bottom-color:var(--brick);
  background:var(--highlight);
}

/* ---------- 宽幅图 ---------- */
.page-home .home-wide-figure{
  margin:clamp(1.75rem,4vw,2.5rem) 0 0;
}
.page-home .home-wide-figure .media-frame{
  border:3px solid var(--ink);
  box-shadow:var(--home-shadow);
  background:var(--paper-2);
}
.page-home .home-wide-figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-home .home-wide-figure figcaption{
  margin-top:.7rem;
  font-family:var(--mono);
  font-size:.74rem;
  line-height:1.7;
  color:var(--rule);
}

/* ---------- 检索 ---------- */
.page-home .home-search{
  display:grid;
  gap:clamp(1.75rem,4vw,2.5rem);
}
.page-home .home-search-text p{
  margin:0 0 1rem;
  font-size:.97rem;
  line-height:1.9;
  max-width:56ch;
}
.page-home .home-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.35rem;
}
.page-home .home-tags .tag--more{
  background:transparent;
  color:var(--ink-green);
  border:1px dashed var(--rule);
}
.page-home .home-figures{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:0;
  background:var(--home-line);
  border:2px solid var(--ink);
  box-shadow:var(--home-shadow);
}
.page-home .home-figure{
  background:var(--paper);
  padding:1.1rem 1rem;
}
.page-home .home-figure dt{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--rule);
}
.page-home .home-figure dd{
  margin:.45rem 0 0;
  font-size:.85rem;
  color:var(--ink);
}
.page-home .home-figure-num{
  font-family:var(--mono);
  font-size:clamp(1.5rem,3.4vw,2rem);
  line-height:1;
  color:var(--ink-green);
  margin-right:.2rem;
}

/* ---------- 双栏 ---------- */
.page-home .home-dual{
  display:grid;
  gap:1.15rem;
  margin-top:clamp(1.75rem,4vw,2.5rem);
}
.page-home .home-col{
  padding:1.6rem 1.35rem 1.4rem;
  background:var(--paper);
  border:2px solid var(--ink);
  border-left:6px solid var(--gold);
  box-shadow:var(--home-shadow);
}
.page-home .home-col--case{
  border-left-color:var(--ink-green);
}
.page-home .home-col-label{
  margin:0 0 .5rem;
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.08em;
  color:var(--gold-deep);
}
.page-home .home-col--case .home-col-label{
  color:var(--ink-green);
}
.page-home .home-col h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:1.25rem;
  margin:0 0 .9rem;
  line-height:1.4;
}
.page-home .home-col-list{
  margin:0 0 1.1rem;
  padding:0;
  list-style:none;
  display:grid;
  gap:.65rem;
}
.page-home .home-col-list li{
  position:relative;
  padding-left:1.1rem;
  font-size:.92rem;
  line-height:1.8;
}
.page-home .home-col-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:.5rem;
  height:2px;
  background:var(--gold);
}
.page-home .home-col--case .home-col-list li::before{
  background:var(--ink-green);
}
.page-home .home-col-link{
  font-size:.88rem;
  font-weight:600;
  color:var(--brick);
  text-decoration:none;
  border-bottom:2px solid var(--brick-soft);
  padding-bottom:.15rem;
}
.page-home .home-col-link:hover,
.page-home .home-col-link:focus-visible{
  border-bottom-color:var(--brick);
  background:var(--highlight);
}

/* ---------- 适配清单 ---------- */
.page-home .home-check-wrap{
  display:grid;
  gap:clamp(1.5rem,4vw,2.5rem);
}
.page-home .home-check{
  border-top:2px solid var(--ink);
}
.page-home .home-check-item{
  border-bottom:1px solid var(--home-line);
}
.page-home .home-check-item summary{
  display:flex;
  align-items:baseline;
  gap:.85rem;
  padding:.95rem 0;
  cursor:pointer;
  list-style:none;
  transition:background .15s ease;
}
.page-home .home-check-item summary::-webkit-details-marker{
  display:none;
}
.page-home .home-check-item summary:hover,
.page-home .home-check-item summary:focus-visible{
  background:rgba(232,217,168,.45);
}
.page-home .home-check-item summary::after{
  content:"+";
  margin-left:auto;
  font-family:var(--mono);
  font-size:1rem;
  color:var(--rule);
}
.page-home .home-check-item[open] summary::after{
  content:"–";
  color:var(--brick);
}
.page-home .home-check-num{
  font-family:var(--mono);
  font-size:.9rem;
  color:var(--gold-deep);
  min-width:1.8rem;
}
.page-home .home-check-title{
  font-family:var(--sans);
  font-weight:600;
  font-size:.98rem;
  line-height:1.6;
}
.page-home .home-check-body{
  margin:0;
  padding:0 0 1.1rem 2.65rem;
  font-size:.92rem;
  line-height:1.85;
  color:var(--ink);
  max-width:58ch;
}
.page-home .home-check-item--key{
  background:rgba(232,217,168,.4);
  border-left:4px solid var(--brick);
  padding-left:.9rem;
}
.page-home .home-check-item--key .home-check-num{
  color:var(--brick);
  font-weight:700;
}
.page-home .home-check-foot{
  margin:1.15rem 0 0;
  font-size:.88rem;
}
.page-home .home-check-foot a{
  color:var(--brick);
  font-weight:600;
  text-decoration:none;
  border-bottom:2px solid var(--brick-soft);
}
.page-home .home-check-figure{
  margin:0;
}
.page-home .home-check-figure .media-frame{
  border:3px solid var(--ink);
  box-shadow:var(--home-shadow);
  background:var(--paper);
}
.page-home .home-check-figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-home .home-check-note{
  display:inline-block;
  margin-top:.8rem;
  padding:.35rem .75rem;
  background:var(--paper);
  border:2px solid var(--brick);
  color:var(--brick);
  font-family:var(--mono);
  font-size:.72rem;
  transform:rotate(-1.5deg);
}

/* ---------- 可扫读索引 ---------- */
.page-home .home-scan{
  margin:0;
  padding:0;
  list-style:none;
  border-top:2px solid var(--ink);
}
.page-home .home-scan-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.35rem .9rem;
  padding:1.1rem 0;
  border-bottom:1px solid var(--home-line);
  transition:background .15s ease;
}
.page-home .home-scan-row:hover{
  background:rgba(239,229,210,.6);
}
.page-home .home-scan-num{
  font-family:var(--mono);
  font-size:1rem;
  color:var(--brick);
  letter-spacing:.04em;
}
.page-home .home-scan-body h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:1.05rem;
  margin:0 0 .35rem;
  line-height:1.5;
}
.page-home .home-scan-body p{
  margin:0;
  font-size:.9rem;
  line-height:1.8;
  max-width:62ch;
}
.page-home .home-scan-meta{
  grid-column:2;
  font-family:var(--mono);
  font-size:.72rem;
  color:var(--rule);
  letter-spacing:.04em;
}
.page-home .home-scan-foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem 1.5rem;
  margin:1.75rem 0 0;
}
.page-home .home-text-link{
  font-size:.88rem;
  color:var(--ink-green);
  text-decoration:none;
  border-bottom:2px solid var(--gold);
  padding-bottom:.12rem;
}
.page-home .home-text-link:hover,
.page-home .home-text-link:focus-visible{
  color:var(--brick);
  border-bottom-color:var(--brick);
}

/* ---------- 询问入口 ---------- */
.page-home .home-sec--help{
  background:linear-gradient(160deg,var(--ink-green),var(--ink) 78%);
  color:var(--paper);
  border-top:6px solid var(--gold);
}
.page-home .home-help{
  display:grid;
  gap:clamp(1.5rem,4vw,2.5rem);
  align-items:start;
}
.page-home .home-help-num{
  display:inline-block;
  font-family:var(--mono);
  font-size:.95rem;
  letter-spacing:.14em;
  color:var(--gold);
}
.page-home .home-help-copy h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(1.35rem,3.6vw,2rem);
  line-height:1.35;
  margin:.6rem 0 1rem;
  color:var(--paper);
}
.page-home .home-help-copy p{
  margin:0 0 .9rem;
  font-size:.95rem;
  line-height:1.9;
  color:rgba(247,241,227,.88);
  max-width:56ch;
}
.page-home .home-help-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}
.page-home .home-top{
  font-family:var(--mono);
  font-size:.78rem;
  color:rgba(247,241,227,.8);
  text-decoration:none;
  border-bottom:1px dashed rgba(247,241,227,.5);
  padding-bottom:.1rem;
}
.page-home .home-top:hover,
.page-home .home-top:focus-visible{
  color:var(--highlight);
  border-bottom-color:var(--highlight);
}

/* ---------- 断点 ---------- */
@media (min-width:760px){
  .page-home .home-slots{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-home .home-dual{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-home .home-scan-row{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1.25rem;
    align-items:baseline;
  }
  .page-home .home-scan-meta{
    grid-column:3;
    text-align:right;
    white-space:nowrap;
  }
  .page-home .home-figures{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:900px){
  .page-home .home-hero::after{
    content:"";
    position:absolute;
    right:-16%;
    top:-30%;
    width:min(74vw,700px);
    aspect-ratio:1 / 1;
    z-index:-1;
    background:linear-gradient(150deg,var(--ink-green),var(--ink) 72%);
    clip-path:polygon(0 0,100% 0,100% 100%,24% 82%);
    opacity:.95;
  }
  .page-home .home-hero-inner{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(2rem,4vw,3.5rem);
  }
  .page-home .home-hero-copy{
    padding-bottom:1.5rem;
  }
  .page-home .home-search{
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    align-items:start;
  }
  .page-home .home-check-wrap{
    grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
    align-items:start;
  }
  .page-home .home-check-figure{
    position:sticky;
    top:5.5rem;
  }
  .page-home .home-help{
    grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
    align-items:center;
  }
  .page-home .home-help-actions{
    justify-content:flex-end;
  }
  .page-home .home-sec-head{
    gap:1rem 1.75rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home .home-slot,
  .page-home .home-check-item summary,
  .page-home .home-scan-row{
    transition:none;
  }
  .page-home .home-slot:hover{
    transform:none;
  }
  .page-home .home-hero-tag,
  .page-home .home-check-note{
    transform:none;
  }
}
