/* 响应式：平板与手机 */
@media (max-width: 960px) {
  .topbar nav { display: none; }
  .topbar .btn-dig { margin-left: auto; }

  .hero { grid-template-columns: 1fr; min-height: auto; padding-bottom: 110px; }
  .hero::before { font-size: 40vh; right: -16vw; }
  .hero-side { justify-content: flex-start; padding-top: 0; }
  .vertical-note { max-height: 300px; }
  .hero-side .seal { margin-bottom: 0; align-self: flex-start; }
  .hero-stats { flex-wrap: wrap; padding-top: 5vh; }

  .about-grid { grid-template-columns: 1fr; }
  .about-principles { grid-template-columns: 1fr; }
  .about-principles article + article { border-left: 0; border-top: 1px solid var(--hairline); }

  .timeline-detail { grid-template-columns: 1fr; gap: 18px; }
  .lab-grid { grid-template-columns: 1fr; gap: 56px; }

  .field-controls { flex-direction: column; align-items: stretch; }
  .cemetery-map { height: 800px; }
  .era-context { grid-template-columns: 1fr; gap: 8px; }

  .ledger-head { display: none; }
  .ledger-row { grid-template-columns: 48px 1fr 70px 120px; }
  .lr-era, .lr-state { display: none; }
}

@media (max-width: 560px) {
  :root { --topbar-height: 60px; }
  .logo { font-size: 19px; }
  .logo span { display: none; }

  .hero { padding-top: calc(var(--topbar-height) + 5vh); }
  .hero-title { font-size: clamp(96px, 30vw, 150px); }
  .vertical-note { display: none; }
  .specimen { width: 100%; max-width: 280px; }
  .hero-stats { gap: 20px; }
  .hero-stats > div + div { padding-left: 20px; }

  .timeline-years, .timeline-cursor { display: none; }
  .timeline-stage { padding-top: 12px; }
  .civilization-track { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .era-block { position: relative; top: auto; left: auto; width: auto; min-width: 0; min-height: 110px; }
  .era-block span { display: none; }
  #timelineRange { position: relative; bottom: auto; margin-top: 20px; }

  .cemetery-map { height: 720px; }
  .depth-scale { width: 44px; }
  .year-scale { left: 44px; }
  .nodes { inset: 10px 8px 44px 52px; }

  .formula-card { padding: 40px 24px; }

  .ledger-row { grid-template-columns: 40px 1fr 96px; padding: 13px 4px; }
  .lr-peak { display: none; }
  .lr-name { font-size: 16px; }

  .closing { grid-template-columns: 1fr; min-height: auto; }
  .closing .btn-round { width: 132px; height: 132px; justify-self: end; }

  .record-grid, .autopsy-grid { grid-template-columns: 1fr; }
  .record-grid article:nth-child(even), .autopsy-grid article:nth-child(even) { padding-left: 0; border-left: 0; }
  .burial-score { grid-template-columns: 1fr; }
}
