/* ===== 法脉传承 ===== */
.heritage {
  padding: 96px 0 72px;
  background:
    radial-gradient(80% 40% at 80% 10%, rgba(192, 58, 43, 0.07) 0%, rgba(192, 58, 43, 0) 70%),
    var(--ink);
}

.heritage__story {
  max-width: 560px;
  margin-bottom: 48px;
}
.heritage__story p {
  font-size: 15.5px;
  line-height: 2.05;
  color: var(--paper-dim);
}
.heritage__story p + p {
  margin-top: 16px;
}
.heritage__story strong {
  color: var(--gold-bright);
  font-weight: 600;
}

/* 横向滑动照片带 */
.heritage__strip-outer {
  overflow: hidden;
}
.heritage__strip {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  /* snap-mandatory 不认容器 padding：padding-left 必须配 scroll-padding-left */
  padding-left: 24px;
  scroll-padding-left: 24px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
}
.heritage__strip::-webkit-scrollbar {
  display: none;
}
.heritage__strip.dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.heritage__strip figure {
  flex: none;
  scroll-snap-align: start;
  height: clamp(240px, 62vw, 380px);
  border: 1px solid var(--gold-line);
  border-radius: 4px;
  overflow: hidden;
  background: var(--ink-3);
}
.heritage__strip img {
  height: 100%;
  width: auto;
  -webkit-user-drag: none;
  user-select: none;
}

/* 滚动尾端 padding-right 会被浏览器吃掉：用哨兵补右侧留白 */
.strip-sentinel {
  flex: none;
  width: 10px;
}

.heritage__drag-hint {
  margin: 22px 24px 0;
  font-size: 12.5px;
  letter-spacing: 0.22em;
  color: var(--paper-dim);
}

@media (min-width: 768px) {
  .heritage {
    padding: 140px 0 110px;
  }
  .heritage .wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 72px;
  }
  .heritage .eyebrow {
    grid-column: 1 / -1;
  }
  .heritage .sec-title {
    grid-column: 1;
    font-size: 48px;
    writing-mode: vertical-rl;
    letter-spacing: 0.18em;
    margin-bottom: 0;
  }
  .heritage__story {
    grid-column: 2;
    margin-bottom: 0;
    align-self: center;
  }
  .heritage__strip-outer {
    margin-top: 64px;
  }
  .heritage__strip {
    padding-left: calc((100vw - 1060px) / 2);
    scroll-padding-left: calc((100vw - 1060px) / 2);
  }
  .heritage__drag-hint {
    margin: 24px calc((100vw - 1060px) / 2) 0;
  }
}

@media (min-width: 768px) and (max-width: 1108px) {
  .heritage__strip {
    padding-left: 24px;
    scroll-padding-left: 24px;
  }
  .heritage__drag-hint {
    margin-inline: 24px;
  }
}
