.page-home {
  --home-gap: clamp(16px, 2.2vw, 28px);
  --home-line: rgba(36, 28, 26, .12);
  --home-line-dark: rgba(235, 217, 180, .16);
  --home-pad: clamp(24px, 4vw, 60px);
  background: var(--warm);
  color: var(--text);
  font-family: var(--font-body);
  padding-bottom: clamp(40px, 6vw, 84px);
}

/* ---------- 封面首屏 ---------- */

.page-home .cover {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--home-gap);
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(18px, 3vw, 34px) var(--gutter) 0;
}

@media (min-width: 980px) {
  .page-home .cover {
    grid-template-columns: 1.62fr 1fr;
    align-items: start;
  }
}

.page-home .cover-main {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-lg);
  background:
    radial-gradient(circle at 86% 10%, rgba(212, 162, 76, .2), transparent 58%),
    linear-gradient(158deg, var(--ink) 0%, var(--ink-2) 58%, #1a1412 100%);
  color: var(--rice);
  padding: var(--home-pad);
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.4vw, 26px);
}

.page-home .cover-main::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 1px solid var(--gold-24);
  box-shadow: inset 0 0 0 26px transparent, inset 0 0 0 27px var(--gold-16);
  pointer-events: none;
}

.page-home .cover-head {
  display: flex;
  align-items: flex-end;
  gap: clamp(12px, 2vw, 24px);
}

.page-home .cover-title {
  flex: 1 1 auto;
  margin: 0;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.3rem, 6.2vw, 4.9rem);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--warm);
}

.page-home .vertical-note {
  display: none;
}

@media (min-width: 720px) {
  .page-home .vertical-note {
    display: block;
    flex: 0 0 auto;
    margin: 0;
    writing-mode: vertical-rl;
    font-size: var(--fs-xs);
    letter-spacing: .3em;
    color: var(--gold);
    border-left: 1px solid var(--gold-45);
    padding-left: 10px;
    max-height: 220px;
  }
}

.page-home .cover-lead {
  margin: 0;
  max-width: 34em;
  font-size: var(--fs-base);
  line-height: 1.9;
  color: var(--rice-88);
}

@media (min-width: 980px) {
  .page-home .cover-lead {
    font-size: var(--fs-md);
  }
}

.page-home .cover-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-home .cover-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: auto 0 0;
  padding-top: clamp(14px, 2vw, 22px);
  border-top: 1px solid var(--home-line-dark);
}

.page-home .cover-facts dt {
  font-size: var(--fs-xs);
  letter-spacing: .1em;
  color: var(--rice-60);
}

.page-home .cover-facts dd {
  margin: 6px 0 0;
  font-family: var(--font-mono);
  font-size: var(--fs-md);
  color: var(--gold);
  line-height: 1.2;
}

.page-home .cover-index {
  display: grid;
  gap: var(--home-gap);
  align-content: start;
}

.page-home .cover-figure {
  margin: 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--ink-2);
}

.page-home .cover-figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-home .index-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.page-home .index-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-radius: var(--pill);
  border: 1px solid var(--home-line);
  background: #fff;
  color: var(--text);
  font-size: var(--fs-sm);
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .24s ease;
}

.page-home .index-list a span {
  color: var(--cinnabar);
  font-family: var(--font-mono);
}

.page-home .index-list a:hover,
.page-home .index-list a:focus-visible {
  border-color: var(--gold);
  background: #fffdf8;
  transform: translateX(4px);
}

.page-home .status-card {
  border-radius: var(--r-md);
  border: 1px solid var(--gold-45);
  background: linear-gradient(150deg, rgba(212, 162, 76, .13), rgba(212, 162, 76, .03));
  padding: 16px 20px 18px;
}

.page-home .status-card__title {
  margin: 0 0 10px;
  font-size: var(--fs-xs);
  letter-spacing: .2em;
  color: var(--wine);
}

.page-home .status-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.page-home .status-card li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-sm);
  padding-top: 8px;
  border-top: 1px solid var(--home-line);
}

.page-home .status-card li:first-child {
  padding-top: 0;
  border-top: 0;
}

.page-home .status-card a {
  margin-left: auto;
  font-size: var(--fs-xs);
  color: var(--wine);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-45);
  padding-bottom: 1px;
}

.page-home .status-card a:hover {
  color: var(--cinnabar);
  border-color: var(--cinnabar);
}

/* ---------- 横向主题带 ---------- */

.page-home .band {
  padding-block: clamp(46px, 7vw, 96px);
}

.page-home .band-head {
  display: grid;
  gap: 10px;
}

.page-home .band-head h2,
.page-home .columns h2,
.page-home .paths h2 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--fs-3xl);
  line-height: 1.16;
  letter-spacing: -.02em;
}

.page-home .band-note,
.page-home .columns-note {
  margin: 0;
  font-size: var(--fs-xs);
  letter-spacing: .08em;
  color: rgba(36, 28, 26, .55);
}

.page-home .band-scroll {
  padding-inline: var(--gutter);
}

.page-home .band-track {
  list-style: none;
  margin: clamp(20px, 3vw, 34px) 0 0;
  padding: 4px 2px 16px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(258px, 82%);
  gap: var(--home-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--gold-45) transparent;
  scrollbar-width: thin;
}

@media (min-width: 900px) {
  .page-home .band-track {
    grid-auto-columns: minmax(320px, 33%);
  }
}

.page-home .band-card {
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 16px 22px;
  border-radius: var(--r-lg);
  border: 1px solid var(--home-line);
  background: #fff;
  box-shadow: 0 16px 36px -30px rgba(20, 16, 15, .6);
}

.page-home .band-card--a {
  background: linear-gradient(172deg, #fffdf8, #f2ebdd);
}

.page-home .band-card--b {
  background: linear-gradient(172deg, #ffffff, #ecf3f1);
}

.page-home .band-card--c {
  background: linear-gradient(172deg, #fffdfa, #f7ece8);
}

.page-home .band-card__media {
  margin: 0;
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--ink-2);
}

.page-home .band-card__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-home .band-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

.page-home .band-card__body h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--fs-lg);
  line-height: 1.32;
  letter-spacing: -.01em;
}

.page-home .band-card__body p {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.85;
  color: rgba(36, 28, 26, .78);
}

.page-home .pill {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: var(--pill);
  font-size: var(--fs-xs);
  letter-spacing: .12em;
  border: 1px solid currentColor;
}

.page-home .pill--celadon {
  color: #2f6a5e;
  background: rgba(127, 176, 163, .16);
}

.page-home .pill--gold {
  color: #7a5615;
  background: rgba(212, 162, 76, .16);
}

.page-home .pill--cinnabar {
  color: var(--wine);
  background: rgba(192, 52, 43, .1);
}

.page-home .mini-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.page-home .mini-list li {
  position: relative;
  padding-left: 16px;
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: rgba(36, 28, 26, .7);
}

.page-home .mini-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}

.page-home .link-arrow {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 2px;
  font-size: var(--fs-sm);
  color: var(--wine);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-45);
  transition: color .18s ease, border-color .18s ease;
}

.page-home .link-arrow:hover,
.page-home .link-arrow:focus-visible {
  color: var(--cinnabar);
  border-color: var(--cinnabar);
}

/* ---------- 状态看板与时间线 ---------- */

.page-home .status-board {
  position: relative;
  overflow: hidden;
  max-width: var(--maxw);
  margin: clamp(8px, 2vw, 20px) auto 0;
  padding: clamp(28px, 4.6vw, 64px) var(--gutter);
  border-radius: var(--r-lg);
  background: var(--ink);
  color: var(--rice);
}

.page-home .status-bg {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: 0;
}

.page-home .status-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .34;
}

.page-home .status-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 16, 15, .58), rgba(20, 16, 15, .88));
}

.page-home .status-inner {
  position: relative;
  z-index: 1;
}

.page-home .status-inner h2 {
  margin: 10px 0 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--fs-2xl);
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--warm);
}

.page-home .status-intro {
  margin: 14px 0 0;
  max-width: 42em;
  font-size: var(--fs-base);
  line-height: 1.9;
  color: var(--rice-88);
}

.page-home .timeline {
  list-style: none;
  margin: clamp(24px, 3.6vw, 40px) 0 0;
  padding: 0;
  display: grid;
  gap: 16px;
}

@media (min-width: 860px) {
  .page-home .timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

.page-home .timeline__item {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 20px 22px 22px;
  border-radius: var(--r-md);
  border: 1px solid var(--home-line-dark);
  background: rgba(235, 217, 180, .05);
  scroll-margin-top: 120px;
  transition: border-color .2s ease, background .2s ease;
}

.page-home .timeline__item:target {
  border-color: var(--gold);
  background: rgba(212, 162, 76, .13);
  box-shadow: 0 0 0 1px var(--gold-45);
}

.page-home .timeline__item h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-md);
  line-height: 1.4;
  color: var(--warm);
}

.page-home .timeline__item p {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.85;
  color: var(--rice-88);
}

.page-home .timeline__meta {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: .06em;
  color: var(--gold);
}

/* ---------- 内容栏目分段切换 ---------- */

.page-home .columns {
  padding-block: clamp(46px, 7vw, 96px);
}

.page-home .columns .segmented {
  margin-top: clamp(20px, 3vw, 32px);
}

.page-home .columns [role="tablist"] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.page-home .columns [role="tab"] {
  appearance: none;
  border: 1px solid var(--home-line);
  background: #fff;
  color: var(--text);
  border-radius: var(--pill);
  padding: 9px 18px;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.page-home .columns [role="tab"]:hover {
  border-color: var(--gold);
}

.page-home .columns [role="tab"][aria-selected="true"] {
  background: var(--indigo);
  border-color: var(--indigo);
  color: var(--warm);
}

.page-home .columns [role="tab"]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.page-home .columns [role="tabpanel"] {
  margin-top: 22px;
  padding: clamp(20px, 3.2vw, 40px);
  border-radius: var(--r-lg);
  border: 1px solid var(--home-line);
  background: #fff;
  scroll-margin-top: 120px;
}

.page-home .columns [role="tabpanel"]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.page-home .panel-lead {
  margin: 0 0 18px;
  max-width: 46em;
  font-size: var(--fs-base);
  line-height: 1.9;
}

.page-home .panel-list {
  counter-reset: hp;
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 12px;
  max-width: 46em;
}

.page-home .panel-list li {
  counter-increment: hp;
  position: relative;
  padding-left: 38px;
  font-size: var(--fs-sm);
  line-height: 1.85;
  color: rgba(36, 28, 26, .78);
}

.page-home .panel-list li::before {
  content: "0" counter(hp);
  position: absolute;
  left: 0;
  top: .16em;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--gold);
}

/* ---------- 三条上手路径 ---------- */

.page-home .paths {
  padding-block: 0 clamp(46px, 7vw, 90px);
}

.page-home .path-grid {
  margin-top: clamp(22px, 3vw, 36px);
  display: grid;
  gap: var(--home-gap);
}

@media (min-width: 780px) {
  .page-home .path-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.page-home .path-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: clamp(22px, 3vw, 34px);
  border-radius: var(--r-lg);
  color: var(--rice);
}

.page-home .path-card--wine {
  background: linear-gradient(160deg, var(--wine), #4d1218);
}

.page-home .path-card--teal {
  background: linear-gradient(160deg, var(--teal), #08292a);
}

.page-home .path-card--indigo {
  background: linear-gradient(160deg, var(--indigo), #261a3d);
}

.page-home .path-card__step {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: .2em;
  color: var(--gold);
}

.page-home .path-card h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--fs-md);
  line-height: 1.35;
  color: var(--warm);
}

.page-home .path-card p {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.85;
  color: var(--rice-88);
}

.page-home .path-card__links {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.page-home .path-link {
  font-size: var(--fs-sm);
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-45);
  padding-bottom: 2px;
  transition: color .18s ease, border-color .18s ease;
}

.page-home .path-link:hover,
.page-home .path-link:focus-visible {
  color: var(--rice);
  border-color: var(--rice);
}

/* ---------- 底部署名 ---------- */

.page-home .signoff {
  padding-inline: var(--gutter);
}

.page-home .signoff__inner {
  position: relative;
  overflow: hidden;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(26px, 4vw, 52px);
  border-radius: var(--r-lg);
  background:
    radial-gradient(circle at 14% 20%, rgba(212, 162, 76, .1), transparent 46%),
    linear-gradient(180deg, var(--ink-2), var(--ink));
  color: var(--rice);
}

.page-home .signoff__inner::after {
  content: "";
  position: absolute;
  left: -60px;
  top: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px solid var(--gold-16);
  box-shadow: inset 0 0 0 20px transparent, inset 0 0 0 21px rgba(212, 162, 76, .1);
  pointer-events: none;
}

.page-home .signoff__title {
  position: relative;
  z-index: 1;
  margin: 0 0 clamp(18px, 2.6vw, 30px);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--fs-xl);
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--warm);
}

.page-home .signoff__grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
}

@media (min-width: 720px) {
  .page-home .signoff__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1040px) {
  .page-home .signoff__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.page-home .signoff__item {
  padding-top: 14px;
  border-top: 1px solid var(--home-line-dark);
}

.page-home .signoff__k {
  margin: 0 0 6px;
  font-size: var(--fs-xs);
  letter-spacing: .16em;
  color: var(--gold);
}

.page-home .signoff__v {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.85;
  color: var(--rice-88);
}

.page-home .signoff__v a {
  display: block;
  color: var(--rice-88);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-24);
  padding-bottom: 2px;
  width: fit-content;
  margin-bottom: 6px;
}

.page-home .signoff__v a:hover,
.page-home .signoff__v a:focus-visible {
  color: var(--gold);
  border-color: var(--gold);
}

.page-home .signoff__version {
  position: relative;
  z-index: 1;
  margin: clamp(22px, 3vw, 34px) 0 0;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: .08em;
  color: var(--rice-60);
}

/* ---------- 窄屏与动效收敛 ---------- */

@media (max-width: 560px) {
  .page-home .cover-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home .cover-facts > div:last-child {
    grid-column: 1 / -1;
  }

  .page-home .signoff__inner::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .index-list a,
  .page-home .link-arrow,
  .page-home .path-link,
  .page-home .timeline__item,
  .page-home .columns [role="tab"] {
    transition: none;
  }

  .page-home .index-list a:hover,
  .page-home .index-list a:focus-visible {
    transform: none;
  }
}
