/* Local history shares the site's typography, spacing and controls. */
.history-page { --history-ink: #123d32; --history-paper: #f7f4eb; }
.history-page main { background: var(--history-paper); }
.history-breadcrumb { padding-top: 112px; font-size: .9rem; }
.history-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; padding: 0; }
.history-breadcrumb a, .history-page main a:not(.btn) { color: var(--history-ink); text-decoration: underline; text-underline-offset: .2em; }
.history-watch { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,420px); gap: clamp(2rem,6vw,6rem); align-items: center; padding-top: 28px; padding-bottom: 72px; }
.history-eyebrow { display: block; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--history-ink); margin-bottom: 20px; }
.history-watch h1 { font-size: clamp(2.5rem,5vw,4.3rem); line-height: 1.05; color: var(--history-ink); margin-bottom: 24px; max-width: 12ch; }
.history-lead { font-size: 1.15rem; max-width: 46ch; line-height: 1.7; }
.history-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.history-meta span { padding: 6px 12px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-full); font-size: .8rem; }
.history-watch figure { margin: 0; width: 100%; }
.history-player { display: block; width: 100%; aspect-ratio: 9 / 16; height: auto; object-fit: contain; background: #102e26; border-radius: var(--radius-lg); box-shadow: var(--shadow-xl); }
.history-watch figcaption { font-size: .82rem; color: var(--color-text-muted); line-height: 1.6; margin-top: 12px; }
.history-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.history-page .btn-primary { background: var(--history-ink); color: #fff; }
.history-byline { font-size: .85rem; line-height: 1.7; }
.history-chapters { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; margin: 28px 0 0; }
.history-chapters a { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--color-border-strong); font-size: .9rem; min-height: 44px; }
.history-chapters time { font-variant-numeric: tabular-nums; color: var(--color-text-muted); font-size: .8rem; }
.history-section { padding: 64px 0; border-top: 1px solid var(--color-border-strong); }
.history-section h2 { color: var(--history-ink); font-size: clamp(1.8rem,3vw,2.6rem); margin-bottom: 24px; }
.history-place { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: center; }
.history-place figure { margin: 0; }
.history-place img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }
.history-place figcaption { font-size: .8rem; line-height: 1.6; margin-top: 12px; }
.history-text { max-width: 760px; margin: 0 auto; }
.history-transcript { counter-reset: traces; }
.history-transcript article { padding: 28px 0 28px 52px; position: relative; border-bottom: 1px solid var(--color-border-strong); scroll-margin-top: 100px; }
.history-transcript article::before { counter-increment: traces; content: counter(traces, decimal-leading-zero); position: absolute; left: 0; top: 30px; font-weight: 700; color: var(--history-ink); }
.history-transcript h3 { font-size: 1.25rem; margin-bottom: 12px; }
.history-transcript p, .history-text p { line-height: 1.8; }
.history-source-note { font-size: .88rem; color: var(--color-text-muted); }
.history-faq details { padding: 20px 0; border-bottom: 1px solid var(--color-border-strong); }
.history-faq summary { font-weight: 650; cursor: pointer; min-height: 44px; }
.history-faq details p { margin: 12px 0 0; }
.history-sources li { padding: 0 0 16px 8px; line-height: 1.7; overflow-wrap: anywhere; scroll-margin-top: 100px; }
.history-sources h3 { margin: 32px 0 16px; }
.history-end { background: var(--history-ink); color: white; text-align: center; padding: 64px 24px; }
.history-end h2 { color: white; }
.history-end .btn-primary { background: #fff; color: var(--history-ink); }
.history-end p { color: #dfede4; max-width: 54ch; margin: 18px auto 28px; }
.history-error { padding: 16px; border: 1px solid var(--color-error); border-radius: var(--radius-sm); }
.history-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 36px; align-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-xl); overflow: hidden; background: #f7f4eb; }
.history-card img { display: block; width: 100%; height: 310px; object-fit: cover; }
.history-card-copy { padding: 28px 36px 28px 0; }
.history-card h2 { color: #123d32; margin: 0 0 16px; }
.history-card p { margin-bottom: 20px; }
.history-card-credit { font-size: .75rem; color: var(--color-text-muted); margin: 10px 0 0; }
.local-history-link { padding: 30px 0; background: var(--color-secondary); }
.local-history-link p { margin: 0; }
.local-history-link a { color: #123d32; text-decoration: underline; text-underline-offset: .2em; }
.history-page :focus-visible { outline: 3px solid #b78024; outline-offset: 5px; }
.history-skip { position: absolute; left: 16px; top: -100px; z-index: 2000; background: white; padding: 14px 24px; }
.history-skip:focus { top: 12px; }
.history-section[id], #film { scroll-margin-top: 100px; }
@media (max-width: 760px) {
  .history-breadcrumb { padding-top: 94px; }
  .history-watch { grid-template-columns: 1fr; gap: 28px; padding-bottom: 44px; }
  .history-watch h1 { max-width: 18ch; font-size: 2.6rem; }
  .history-watch figure { max-width: 420px; margin: 0 auto; }
  .history-place, .history-card { grid-template-columns: 1fr; gap: 20px; }
  .history-card img { height: 220px; }
  .history-card-copy { padding: 8px 24px 28px; }
  .history-section { padding: 44px 0; }
  .history-chapters { gap: 0 12px; }
  .history-transcript article { padding-left: 40px; }
}
