.page-about{
  --about-paper:#FBF5EA;
  --about-rule:2px solid var(--ink-brown);
  --about-shadow:6px 6px 0 rgba(28,21,18,.9);
  --about-hair:rgba(28,21,18,.18);
  background:var(--cream-paper);
  color:var(--ink-brown);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
}

.page-about *,
.page-about *::before,
.page-about *::after{
  box-sizing:border-box;
}

.page-about .about-wrap{
  width:min(100%,1160px);
  margin-inline:auto;
  padding-inline:clamp(18px,5vw,64px);
}

.page-about h2{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(26px,4.2vw,42px);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:0 0 16px;
}

.page-about h3{
  font-family:var(--font-display);
  font-weight:800;
  font-size:20px;
  line-height:1.25;
  margin:0 0 8px;
}

.page-about p{
  margin:0 0 16px;
}

.page-about a{
  color:var(--orange-deep);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.page-about a:focus-visible,
.page-about summary:focus-visible,
.page-about button:focus-visible{
  outline:3px solid var(--luck-orange);
  outline-offset:3px;
}

.page-about .about-intro,
.page-about .about-flow__lede,
.page-about .about-audit__lede{
  max-width:40em;
  font-size:17px;
  line-height:1.8;
}

.page-about [data-reveal]{
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}

.js-ready .page-about [data-reveal]:not(.is-revealed){
  opacity:0;
  transform:translateY(18px);
}

/* ---------- 首屏 ---------- */

.page-about .about-hero{
  padding-block:clamp(28px,5vw,72px) clamp(32px,5vw,72px);
  border-bottom:2px solid var(--ink-brown);
}

.page-about .about-hero .breadcrumb{
  margin-bottom:clamp(24px,4vw,44px);
}

.page-about .about-hero .eyebrow{
  display:block;
  margin-bottom:14px;
}

.page-about .about-hero__title{
  display:flex;
  flex-direction:column;
  gap:.14em;
  margin:0 0 26px;
  font-family:var(--font-display);
}

.page-about .about-hero__title-lead{
  font-weight:900;
  font-size:clamp(44px,10vw,112px);
  line-height:.88;
  letter-spacing:-.03em;
}

.page-about .about-hero__title-tail{
  font-weight:700;
  font-size:clamp(16px,2.6vw,28px);
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--orange-deep);
}

.page-about .about-hero__lede{
  max-width:42em;
  font-size:clamp(16px,1.5vw,18px);
  line-height:1.85;
  margin-bottom:clamp(26px,4vw,44px);
}

.page-about .about-hero__facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px;
  margin:0 0 clamp(26px,4vw,40px);
  padding:0;
  background:var(--ink-brown);
  border:2px solid var(--ink-brown);
}

.page-about .about-fact{
  background:var(--about-paper);
  padding:16px 16px 18px;
  min-width:0;
}

.page-about .about-fact dt{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--orange-deep);
  margin-bottom:6px;
}

.page-about .about-fact dd{
  margin:0;
}

.page-about .about-fact__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(28px,5vw,44px);
  line-height:.95;
  letter-spacing:-.02em;
}

.page-about .about-index{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.page-about .about-index a{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--ink-brown);
  text-decoration:none;
  border:2px solid var(--ink-brown);
  padding:6px 13px;
  background:transparent;
  transition:background .18s var(--ease),color .18s var(--ease);
}

.page-about .about-index a:hover{
  background:var(--ink-brown);
  color:var(--cream-paper);
}

/* ---------- 年份色带 ---------- */

.page-about .about-timeline{
  padding-block:clamp(40px,6vw,84px);
}

.page-about .about-band{
  margin-top:clamp(24px,4vw,40px);
}

.page-about .about-band__rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  border-top:2px solid var(--ink-brown);
  border-bottom:2px solid var(--ink-brown);
}

.page-about .about-node{
  appearance:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  padding:20px 14px 20px;
  margin:0;
  background:transparent;
  border:0;
  border-left:2px solid var(--about-hair);
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .18s var(--ease);
}

.page-about .about-node:first-child{
  border-left:0;
}

.page-about .about-node:hover{
  background:rgba(255,106,31,.08);
}

.page-about .about-node[aria-selected="true"]{
  background:var(--orange-mist);
}

.page-about .about-node__dot{
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid var(--orange-deep);
  background:transparent;
  transition:background .18s var(--ease),box-shadow .18s var(--ease);
}

.page-about .about-node[aria-selected="true"] .about-node__dot{
  background:var(--luck-orange);
  border-color:var(--luck-orange);
  box-shadow:0 0 0 4px rgba(255,106,31,.18);
}

.page-about .about-node__year{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(20px,3vw,30px);
  line-height:1;
  letter-spacing:-.01em;
}

.page-about .about-node__label{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--orange-deep);
}

.page-about .about-band__panels{
  display:grid;
  gap:0;
  margin-top:clamp(20px,3vw,32px);
}

.page-about .about-node-panel{
  border:2px solid var(--ink-brown);
  border-left:10px solid var(--luck-orange);
  background:var(--about-paper);
  box-shadow:var(--about-shadow);
  padding:22px clamp(18px,3vw,32px) 8px;
}

.page-about .about-node-panel__meta{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--orange-deep);
  margin-bottom:10px;
}

.page-about .about-node-panel p{
  max-width:44em;
  font-size:16px;
  line-height:1.8;
}

/* ---------- 竖幅档案图 ---------- */

.page-about .about-archive{
  margin:0;
  padding-block:clamp(24px,4vw,56px) clamp(40px,6vw,84px);
}

.page-about .about-archive__inner{
  display:grid;
  justify-items:center;
}

.page-about .about-archive img{
  display:block;
  width:min(100%,420px);
  max-width:100%;
  height:auto;
  aspect-ratio:5 / 6;
  object-fit:cover;
  filter:brightness(.9) saturate(.92);
  border:2px solid var(--ink-brown);
  box-shadow:var(--about-shadow);
}

.page-about .about-archive figcaption{
  width:min(100%,420px);
  margin-top:14px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  line-height:1.7;
  color:rgba(28,21,18,.66);
}

/* ---------- 工序（深夜绿） ---------- */

.page-about .about-flow{
  background:var(--pitch-night);
  color:var(--cream-paper);
  border-top:2px solid var(--ink-brown);
  border-bottom:2px solid var(--ink-brown);
  padding-block:clamp(44px,7vw,96px);
}

.page-about .about-flow h2{
  color:var(--cream-paper);
}

.page-about .about-flow__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(26px,5vw,56px);
  align-items:stretch;
}

.page-about .about-flow__media{
  margin:0;
  border:2px solid var(--chalk-line);
  box-shadow:6px 6px 0 rgba(0,0,0,.6);
  overflow:hidden;
  min-width:0;
}

.page-about .about-flow__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  filter:brightness(.68) saturate(.85) contrast(1.06);
}

.page-about .about-flow__lede{
  color:#C7D3CC;
  margin-bottom:clamp(22px,3vw,34px);
}

.page-about .about-steps{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  margin:0;
  padding:0;
}

.page-about .about-step{
  display:grid;
  gap:7px;
  min-width:0;
  padding:18px 18px 20px;
  background:var(--night-blue);
  border:2px solid var(--chalk-line);
  box-shadow:4px 4px 0 rgba(0,0,0,.55);
}

.page-about .about-step__no{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--luck-orange);
}

.page-about .about-step__name{
  font-family:var(--font-display);
  font-weight:800;
  font-size:21px;
  line-height:1.2;
  color:var(--cream-paper);
}

.page-about .about-step__desc{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#C7D3CC;
}

.page-about .about-step__out{
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.6;
  letter-spacing:.03em;
  color:var(--mint-signal);
  word-break:break-word;
}

/* ---------- 三级口径 ---------- */

.page-about .about-caliber{
  padding-block:clamp(40px,6vw,88px);
  border-bottom:2px solid var(--ink-brown);
}

.page-about .about-tier-stack{
  margin-top:clamp(22px,3vw,36px);
}

.page-about .about-tier{
  border:2px solid var(--ink-brown);
  margin:0;
  min-width:0;
}

.page-about .about-tier > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px 14px;
  padding:14px 18px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:17px;
  line-height:1.3;
}

.page-about .about-tier > summary::-webkit-details-marker{
  display:none;
}

.page-about .about-tier > summary::after{
  content:"＋";
  margin-left:auto;
  font-family:var(--font-mono);
  font-weight:400;
  font-size:14px;
}

.page-about .about-tier[open] > summary::after{
  content:"－";
}

.page-about .about-tier__key{
  font-family:var(--font-mono);
  font-weight:400;
  font-size:12px;
  letter-spacing:.08em;
  opacity:.85;
}

.page-about .about-tier__name{
  font-size:20px;
}

.page-about .about-tier__count{
  font-family:var(--font-mono);
  font-weight:400;
  font-size:12px;
  letter-spacing:.04em;
  opacity:.85;
}

.page-about .about-tier__body{
  padding:0 18px 16px;
}

.page-about .about-tier__body p{
  max-width:42em;
  margin:0 0 14px;
  font-size:15px;
  line-height:1.75;
}

.page-about .about-tier--league{
  background:var(--orange-deep);
  color:var(--cream-paper);
}

.page-about .about-tier--league .about-tier__body a{
  color:var(--cream-paper);
}

.page-about .about-tier--season{
  background:var(--luck-orange);
  color:var(--ink-brown);
  margin:0 12px 14px;
  box-shadow:4px 4px 0 rgba(28,21,18,.35);
}

.page-about .about-tier--stage{
  background:var(--orange-mist);
  color:var(--ink-brown);
  margin:0 12px 14px;
  box-shadow:4px 4px 0 rgba(28,21,18,.2);
}

.page-about .about-tier--stage > summary{
  font-size:15px;
}

.page-about .about-tier--stage .about-tier__name{
  font-size:17px;
}

/* ---------- 团队分工 ---------- */

.page-about .about-team{
  padding-block:clamp(40px,6vw,88px);
}

.page-about .about-roles{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  margin:clamp(22px,3vw,36px) 0 0;
  padding:0;
  background:var(--ink-brown);
  border:2px solid var(--ink-brown);
}

.page-about .about-role{
  display:grid;
  gap:6px;
  align-content:start;
  min-width:0;
  padding:22px 18px 24px;
  background:var(--about-paper);
}

.page-about .about-role__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(40px,6vw,58px);
  line-height:.9;
  letter-spacing:-.03em;
  color:var(--orange-deep);
}

.page-about .about-role__name{
  font-family:var(--font-display);
  font-weight:800;
  font-size:18px;
  line-height:1.3;
}

.page-about .about-role__desc{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:rgba(28,21,18,.82);
}

.page-about .about-team__shift{
  margin-top:clamp(20px,3vw,32px);
  padding-left:16px;
  border-left:6px solid var(--luck-orange);
  font-size:15px;
  line-height:1.75;
  max-width:44em;
}

/* ---------- 核对与审计 ---------- */

.page-about .about-audit{
  background:var(--night-blue);
  color:var(--cream-paper);
  border-top:2px solid var(--ink-brown);
  border-bottom:2px solid var(--ink-brown);
  padding-block:clamp(40px,6vw,88px);
}

.page-about .about-audit h2{
  color:var(--cream-paper);
}

.page-about .about-audit__lede{
  color:#C7D3CC;
}

.page-about .about-audit__stats{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  margin:clamp(24px,4vw,40px) 0 0;
  padding:0;
  background:var(--chalk-line);
  border:2px solid var(--chalk-line);
}

.page-about .about-stat{
  background:var(--pitch-night);
  padding:20px 18px 22px;
  min-width:0;
}

.page-about .about-stat dt{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--slate-dim);
  margin-bottom:10px;
}

.page-about .about-stat dd{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}

.page-about .about-stat__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(32px,5vw,50px);
  line-height:.95;
  letter-spacing:-.02em;
  color:var(--luck-orange);
}

.page-about .about-stat__unit{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.06em;
  color:var(--cream-paper);
}

/* ---------- 回传 ---------- */

.page-about .about-relay{
  padding-block:clamp(40px,6vw,88px);
}

.page-about .about-relay-list{
  list-style:none;
  margin:clamp(22px,3vw,36px) 0 0;
  padding:0;
  display:grid;
  gap:0;
}

.page-about .about-relay-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:22px 0;
  border-top:2px solid var(--about-hair);
}

.page-about .about-relay-item:last-child{
  border-bottom:2px solid var(--about-hair);
}

.page-about .about-relay-item__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(30px,5vw,46px);
  line-height:.9;
  letter-spacing:-.03em;
  color:var(--orange-deep);
  min-width:1.6em;
}

.page-about .about-relay-item h3{
  margin-bottom:6px;
}

.page-about .about-relay-item p{
  margin:0;
  max-width:38em;
  font-size:15px;
  line-height:1.75;
  color:rgba(28,21,18,.84);
}

.page-about .about-relay__note{
  margin-top:clamp(22px,3vw,34px);
  padding:18px 20px;
  background:var(--orange-mist);
  border:2px solid var(--ink-brown);
  font-size:15px;
  line-height:1.75;
  max-width:48em;
}

/* ---------- 城市图 ---------- */

.page-about .about-city{
  margin:0;
  padding-bottom:clamp(40px,6vw,88px);
}

.page-about .about-city img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:7 / 4;
  object-fit:cover;
  border:2px solid var(--ink-brown);
  box-shadow:var(--about-shadow);
  filter:brightness(.78) saturate(.9);
}

.page-about .about-city figcaption{
  margin-top:14px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  line-height:1.7;
  color:rgba(28,21,18,.66);
  max-width:46em;
}

/* ---------- 研究板 ---------- */

.page-about .about-notes{
  padding-block:0 clamp(48px,7vw,104px);
}

.page-about .about-notes__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(16px,2.5vw,24px);
  margin-top:clamp(24px,4vw,40px);
}

.page-about .plate{
  background:var(--about-paper);
  border:2px solid var(--ink-brown);
  box-shadow:var(--about-shadow);
  padding:24px clamp(18px,2.6vw,30px) 26px;
  min-width:0;
}

.page-about .about-note__title{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:13px;
  letter-spacing:.12em;
  color:var(--orange-deep);
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:2px solid var(--about-hair);
}

.page-about .about-note p{
  font-size:15px;
  line-height:1.8;
  color:rgba(28,21,18,.86);
  margin-bottom:0;
}

.page-about .about-terms{
  display:grid;
  grid-template-columns:minmax(84px,116px) minmax(0,1fr);
  gap:10px 16px;
  margin:0;
}

.page-about .about-terms dt{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  line-height:1.6;
  text-align:right;
  color:var(--orange-deep);
  padding-top:3px;
  overflow-wrap:break-word;
}

.page-about .about-terms dd{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:rgba(28,21,18,.86);
}

.page-about .about-read-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.page-about .about-read-list li{
  padding-left:18px;
  position:relative;
  border-bottom:2px solid var(--about-hair);
  padding-bottom:12px;
}

.page-about .about-read-list li:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.page-about .about-read-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  background:var(--luck-orange);
}

.page-about .about-read-list a{
  font-size:15px;
  line-height:1.7;
  text-decoration:none;
  color:var(--ink-brown);
  border-bottom:2px solid var(--orange-deep);
  padding-bottom:2px;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}

.page-about .about-read-list a:hover{
  color:var(--orange-deep);
}

/* ---------- 断点 ---------- */

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

  .page-about .about-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .page-about .about-roles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .page-about .about-audit__stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .page-about .about-notes__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:900px){
  .page-about .about-flow__grid{
    grid-template-columns:5fr 7fr;
  }

  .page-about .about-flow__media img{
    min-height:100%;
  }

  .page-about .about-roles{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width:719px){
  .page-about .about-band__rail{
    grid-auto-columns:minmax(132px,1fr);
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }

  .page-about .about-node{
    scroll-snap-align:start;
  }

  .page-about .about-tier--season,
  .page-about .about-tier--stage{
    margin-inline:8px;
  }

  .page-about .about-terms{
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }

  .page-about .about-terms dt{
    text-align:left;
    padding-top:8px;
  }

  .page-about .about-terms dd{
    padding-bottom:6px;
  }
}

@media (max-width:420px){
  .page-about .about-relay-item{
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-about *,
  .page-about *::before,
  .page-about *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }

  .js-ready .page-about [data-reveal]:not(.is-revealed){
    opacity:1;
    transform:none;
  }
}
