.page-home{
  background:var(--ink);
  color:var(--c-text);
  overflow-x:hidden;
}
.page-home .mono{
  font-family:var(--font-mono);
  font-weight:500;
  letter-spacing:.06em;
  font-style:normal;
}
.page-home .link-inline{
  color:var(--ochre-lt);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-home .link-inline:hover{ color:var(--lime); }

/* ---------- 首屏 ---------- */
.page-home .hero{
  padding-top:clamp(22px,4.5vw,44px);
}
.page-home .hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(24px,5vw,40px);
}
.page-home .hero__crumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  font-size:.78rem;
  letter-spacing:.1em;
  color:var(--c-dim);
}
.page-home .hero__crumb-sep{ color:var(--rock); }
.page-home .hero__title{
  margin:0 0 22px;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(2.5rem,11vw,5.4rem);
  line-height:1.02;
  letter-spacing:-.02em;
}
.page-home .hero__desc{
  max-width:46ch;
  margin:0 0 14px;
  font-size:.98rem;
  line-height:1.62;
  color:var(--c-dim);
}
.page-home .hero__desc--lead{
  color:var(--c-text);
  font-size:1.05rem;
}
.page-home .hero__side{
  display:grid;
  gap:0;
  min-width:0;
}
.page-home .sub-entry{
  border:2px solid var(--ochre);
  background:var(--ink-2);
  padding:clamp(18px,3vw,26px);
  box-shadow:5px 5px 0 var(--rock);
}
.page-home .sub-entry__k{
  margin:0 0 10px;
  font-size:.76rem;
  letter-spacing:.18em;
  color:var(--ochre-lt);
}
.page-home .sub-entry__t{
  margin:0 0 10px;
  font-size:clamp(1.15rem,3.4vw,1.5rem);
  font-weight:800;
  line-height:1.24;
}
.page-home .sub-entry__d{
  margin:0 0 18px;
  font-size:.9rem;
  line-height:1.6;
  color:var(--c-dim);
}
.page-home .routes{
  list-style:none;
  margin:24px 0 0;
  padding:0;
  border-top:2px solid var(--rock);
}
.page-home .routes__i{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 14px;
  padding:14px 0;
  border-bottom:1px solid var(--hair);
}
.page-home .routes__n{
  grid-row:1 / 3;
  font-size:1.4rem;
  line-height:1.1;
  color:var(--ochre);
}
.page-home .routes__t{
  font-size:.96rem;
  font-weight:700;
}
.page-home .routes__d{
  font-size:.82rem;
  line-height:1.5;
  color:var(--c-dim);
}
.page-home .hero__media{
  position:relative;
  margin:clamp(28px,5vw,52px) 0 0;
}
.page-home .hero__media img{
  display:block;
  width:100%;
  height:clamp(190px,42vw,400px);
  object-fit:cover;
  border:2px solid var(--rock);
  filter:saturate(.86) contrast(1.06);
}
.page-home .hero__cap{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:6px 12px;
  background:var(--ink);
  border:2px solid var(--rock);
  font-size:.72rem;
  letter-spacing:.14em;
  color:var(--c-dim);
}

/* ---------- 分区通用 ---------- */
.page-home .band{
  padding:var(--pad-section) 0;
}
.page-home .band--feed{ background:var(--ink); }
.page-home .band--indigo{ background:var(--indigo); }
.page-home .band--pine{ background:var(--pine); }
.page-home .band--paper{ background:var(--paper); color:var(--ink); }
.page-home .band--find{ background:var(--ink); }
.page-home .band--lines{ background:var(--ink-2); }
.page-home .band--contact{ background:var(--indigo); }

.page-home .band__head{
  margin-bottom:clamp(24px,4vw,44px);
}
.page-home .band__num{
  margin:0 0 10px;
  font-size:clamp(2.1rem,7vw,4rem);
  line-height:.92;
  color:var(--ochre);
}
.page-home .band__title{
  margin:0 0 12px;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(1.65rem,5.2vw,2.9rem);
  line-height:1.08;
  letter-spacing:-.015em;
  max-width:22ch;
}
.page-home .band__lede{
  margin:0;
  max-width:62ch;
  font-size:.95rem;
  line-height:1.62;
  color:var(--c-dim);
}
.page-home .band--paper .band__lede{ color:var(--rock); }
.page-home .band__foot{
  margin:clamp(24px,4vw,36px) 0 0;
  max-width:66ch;
  font-size:.88rem;
  line-height:1.62;
  color:var(--c-dim);
}
.page-home .band--paper .band__foot{ color:var(--rock); }
.page-home .band__cta{ margin:clamp(24px,4vw,36px) 0 0; }

/* ---------- 本周场次 ---------- */
.page-home .filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 clamp(20px,3vw,30px);
  padding-bottom:16px;
  border-bottom:1px solid var(--hair);
}
.page-home .filters__b{
  font-family:var(--font-sans);
  font-size:.82rem;
  font-weight:600;
  color:var(--c-dim);
  background:transparent;
  border:2px solid var(--rock);
  padding:7px 14px;
  cursor:pointer;
  transition:color .14s var(--ease),border-color .14s var(--ease),background-color .14s var(--ease);
}
.page-home .filters__b:hover{
  color:var(--c-text);
  border-color:var(--rock-lt);
}
.page-home .filters__b.is-on{
  color:var(--ink);
  background:var(--lime);
  border-color:var(--lime);
}
.page-home .feed{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(16px,3vw,26px);
}
.page-home .clip{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:var(--ink-2);
  border:2px solid var(--rock);
  box-shadow:4px 4px 0 var(--rock);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.page-home .clip:hover{
  border-color:var(--ochre);
  box-shadow:-4px 4px 0 var(--ochre);
}
.page-home .clip__media{
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:var(--ink-3);
  border-bottom:2px solid var(--rock);
}
.page-home .clip__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.page-home .clip__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
  padding:clamp(16px,2.5vw,22px);
}
.page-home .clip__tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}
.page-home .clip__t{
  margin:0;
  font-size:clamp(1.05rem,2.8vw,1.35rem);
  font-weight:800;
  line-height:1.24;
}
.page-home .clip__d{
  margin:0;
  font-size:.88rem;
  line-height:1.58;
  color:var(--c-dim);
}
.page-home .clip__stats{
  margin:auto 0 0;
  padding-top:14px;
  border-top:1px solid var(--hair);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(92px,1fr));
  gap:10px;
}
.page-home .clip__stats dt{
  margin:0 0 4px;
  font-size:.7rem;
  letter-spacing:.08em;
  color:var(--rock-lt);
}
.page-home .clip__stats dd{
  margin:0;
  font-size:.9rem;
  font-weight:600;
  color:var(--c-text);
}

/* ---------- 订阅 ---------- */
.page-home .sub-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(20px,3.5vw,32px);
}
.page-home .sub-kinds{
  list-style:none;
  margin:0;
  padding:0;
  border-top:2px solid var(--rock-lt);
}
.page-home .sub-kinds li{
  padding:16px 0;
  border-bottom:1px solid var(--hair);
}
.page-home .sub-kinds__t{
  margin:0 0 6px;
  font-size:1.02rem;
  font-weight:800;
}
.page-home .sub-kinds__d{
  margin:0;
  font-size:.88rem;
  line-height:1.58;
  color:var(--c-dim);
}
.page-home .sub-facts{
  display:grid;
  gap:14px;
  align-content:start;
}
.page-home .fact{
  border:2px solid var(--rock);
  background:var(--ink-2);
  padding:16px 18px;
}
.page-home .fact__n{
  display:block;
  margin-bottom:8px;
  font-size:clamp(1.4rem,4vw,1.9rem);
  line-height:1;
  color:var(--lime);
}
.page-home .fact__d{
  margin:0;
  font-size:.86rem;
  line-height:1.55;
  color:var(--c-dim);
}

/* ---------- 数据对照 ---------- */
.page-home .chart-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(20px,3.5vw,30px);
}
.page-home .chart{
  min-width:0;
  border:2px solid var(--rock);
  background:var(--ink-2);
  padding:clamp(16px,2.5vw,24px);
  box-shadow:5px 5px 0 var(--rock);
}
.page-home .chart__head{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}
.page-home .chart__title{
  margin:0;
  font-size:1rem;
  font-weight:800;
}
.page-home .chart__switch{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.page-home .chart__switch button{
  font-family:var(--font-sans);
  font-size:.76rem;
  font-weight:600;
  padding:5px 11px;
  background:transparent;
  border:2px solid var(--rock);
  color:var(--c-dim);
  cursor:pointer;
  transition:color .14s var(--ease),border-color .14s var(--ease),background-color .14s var(--ease);
}
.page-home .chart__switch button:hover{
  color:var(--c-text);
  border-color:var(--rock-lt);
}
.page-home .chart__switch button[aria-pressed="true"]{
  color:var(--ink);
  background:var(--lime);
  border-color:var(--lime);
}
.page-home .chart__svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.page-home .chart__grid line{
  stroke:var(--hair);
  stroke-width:1;
  stroke-dasharray:3 5;
}
.page-home .chart__bar{
  fill:var(--ochre);
  opacity:.82;
}
.page-home .chart__line{
  fill:none;
  stroke:var(--lime);
  stroke-width:2.6;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.page-home .chart__dot{
  fill:var(--lime);
}
.page-home .chart__ticks text{
  fill:var(--rock-lt);
  font-family:var(--font-mono);
  font-size:11px;
  text-anchor:middle;
}
.page-home .chart__legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:16px;
  font-size:.8rem;
  color:var(--c-dim);
}
.page-home .chart__legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.page-home .chart__swatch{
  display:inline-block;
  width:16px;
  height:6px;
}
.page-home .chart__swatch--lime{ background:var(--lime); }
.page-home .chart__swatch--ochre{ background:var(--ochre); }
.page-home .chart-side{
  margin:0;
}
.page-home .chart-side img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  border:2px solid var(--rock);
}
.page-home .chart-side__cap{
  margin:14px 0 0;
  font-size:.84rem;
  line-height:1.58;
  color:var(--c-dim);
}

/* ---------- 训练日志 ---------- */
.page-home .log-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,4vw,36px);
}
.page-home .log-side{
  margin:0;
}
.page-home .log-side img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  border:2px solid var(--rock);
  box-shadow:5px 5px 0 var(--rock);
}
.page-home .timeline{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.page-home .timeline__i{
  position:relative;
  padding-top:16px;
  border-top:3px solid var(--rock);
}
.page-home .timeline__i::before{
  content:"";
  position:absolute;
  top:-9px;
  left:0;
  width:15px;
  height:15px;
  background:var(--ochre);
  border:3px solid var(--paper);
}
.page-home .timeline__w{
  margin:0 0 6px;
  font-size:.74rem;
  letter-spacing:.12em;
  color:var(--rock);
}
.page-home .timeline__v{
  margin:0 0 8px;
  font-size:1rem;
  color:var(--ochre);
}
.page-home .timeline__d{
  margin:0;
  font-size:.84rem;
  line-height:1.55;
  color:var(--rock);
}

/* ---------- 检索 ---------- */
.page-home .find{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(18px,3vw,26px);
}
.page-home .find__panel{
  border:2px solid var(--rock);
  background:var(--ink-2);
  padding:clamp(18px,3vw,24px);
  box-shadow:5px 5px 0 var(--rock);
}
.page-home .find__label{
  display:block;
  margin-bottom:8px;
  font-size:.72rem;
  letter-spacing:.14em;
  color:var(--ochre-lt);
}
.page-home .find__input{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  font-family:var(--font-mono);
  font-size:.92rem;
  color:var(--c-text);
  background:var(--ink);
  border:2px solid var(--rock);
  outline:none;
}
.page-home .find__input::placeholder{ color:var(--rock-lt); }
.page-home .find__input:focus{
  border-color:var(--lime);
}
.page-home .find__dates{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}
.page-home .find__date{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  font-family:var(--font-mono);
  font-size:.84rem;
  color:var(--c-text);
  background:var(--ink);
  border:2px solid var(--rock);
  outline:none;
}
.page-home .find__date:focus{ border-color:var(--lime); }
.page-home .find__count{
  margin:20px 0 0;
  padding-top:16px;
  border-top:1px solid var(--hair);
  font-size:.82rem;
  letter-spacing:.06em;
  color:var(--c-dim);
}
.page-home .find__count b{
  color:var(--lime);
  font-size:1.05rem;
}
.page-home .find__results{
  list-style:none;
  margin:0;
  padding:0;
  border:2px solid var(--rock);
  background:var(--ink-2);
}
.page-home .find__item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 12px;
  align-items:center;
  padding:15px 18px;
  border-bottom:1px solid var(--hair);
}
.page-home .find__item:last-child{ border-bottom:0; }
.page-home .find__no{
  grid-column:1 / 3;
  font-size:.76rem;
  letter-spacing:.1em;
  color:var(--ochre-lt);
}
.page-home .find__name{
  font-size:.95rem;
  font-weight:700;
  line-height:1.35;
}
.page-home .find__item .tag{
  grid-column:1;
  justify-self:start;
}
.page-home .find__len{
  grid-column:2;
  grid-row:2 / 4;
  align-self:center;
  font-size:.8rem;
  color:var(--rock-lt);
  white-space:nowrap;
}

/* ---------- 六条项目线 ---------- */
.page-home .lines{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  border-top:2px solid var(--rock);
}
.page-home .line{
  padding:20px 0;
  border-bottom:1px solid var(--hair);
}
.page-home .line__t{
  margin:0 0 8px;
  font-size:1.15rem;
  font-weight:800;
}
.page-home .line__s{
  margin:0 0 10px;
  font-size:.76rem;
  letter-spacing:.06em;
  color:var(--ochre);
}
.page-home .line__d{
  margin:0;
  max-width:44ch;
  font-size:.86rem;
  line-height:1.58;
  color:var(--c-dim);
}

/* ---------- 咨询 ---------- */
.page-home .cta-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(16px,3vw,24px);
}
.page-home .cta{
  display:flex;
  flex-direction:column;
  gap:10px;
  border:2px solid var(--rock);
  background:var(--ink-2);
  padding:clamp(18px,3vw,24px);
  box-shadow:4px 4px 0 var(--rock);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.page-home .cta:hover{
  border-color:var(--ochre);
  box-shadow:-4px 4px 0 var(--ochre);
}
.page-home .cta__k{
  margin:0;
  font-size:.74rem;
  letter-spacing:.16em;
  color:var(--ochre-lt);
}
.page-home .cta__t{
  margin:0;
  font-size:1.06rem;
  font-weight:800;
  line-height:1.3;
}
.page-home .cta__d{
  margin:0 0 6px;
  flex:1;
  font-size:.86rem;
  line-height:1.58;
  color:var(--c-dim);
}
.page-home .cta .btn{ align-self:flex-start; }

/* ---------- 断点 ---------- */
@media (min-width:640px){
  .page-home .lines{
    grid-template-columns:repeat(2,1fr);
    column-gap:clamp(20px,3vw,32px);
  }
  .page-home .cta-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (min-width:820px){
  .page-home .feed{
    grid-template-columns:repeat(12,1fr);
    align-items:start;
  }
  .page-home .feed > .clip:nth-child(1){ grid-column:span 5; }
  .page-home .feed > .clip:nth-child(2){ grid-column:span 7; }
  .page-home .feed > .clip:nth-child(3){ grid-column:span 8; }
  .page-home .feed > .clip:nth-child(4){ grid-column:span 4; }

  .page-home .sub-grid{
    grid-template-columns:repeat(12,1fr);
    align-items:start;
  }
  .page-home .sub-grid > .sub-kinds{ grid-column:span 7; }
  .page-home .sub-grid > .sub-facts{ grid-column:span 5; }

  .page-home .find{
    grid-template-columns:5fr 7fr;
    align-items:start;
  }

  .page-home .log-grid{
    grid-template-columns:4fr 8fr;
    align-items:start;
  }
}

@media (min-width:900px){
  .page-home .hero__grid{
    grid-template-columns:repeat(12,1fr);
    align-items:start;
  }
  .page-home .hero__lead{ grid-column:1 / 8; }
  .page-home .hero__side{ grid-column:9 / 13; }

  .page-home .chart-grid{
    grid-template-columns:8fr 4fr;
    align-items:start;
  }
}

@media (min-width:1000px){
  .page-home .lines{
    grid-template-columns:repeat(3,1fr);
  }
  .page-home .timeline{
    grid-template-columns:repeat(8,1fr);
    gap:0 12px;
  }
  .page-home .timeline__i{ padding-top:16px; }
  .page-home .cta-grid{
    grid-template-columns:repeat(3,1fr);
  }
}
