/* /timeline/: the interactive map fills the screen below a compact site header; the list follows. */
.timeline-app-page{--tl-header:66px}
.timeline-app-page .header{height:var(--tl-header);position:relative;z-index:200;background:var(--paper)}
.timeline-app-page .brand{font-size:16px;gap:11px}
.timeline-app-page .brand small{font-size:8px;margin-top:3px}
.timeline-app-page .brand-symbol{width:38px;height:38px;font-size:21px;padding:0 5px 3px 0}
.timeline-root{position:relative;height:calc(100vh - var(--tl-header));height:calc(100dvh - var(--tl-header));min-height:520px;border-bottom:1px solid var(--line);overflow:hidden}
.timeline-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;max-width:760px;margin:0 auto;padding:40px 6%}
.timeline-fallback .eyebrow{color:var(--accent);margin-bottom:18px}
.timeline-fallback h1{font-size:clamp(2.6rem,5vw,4.6rem)}
.timeline-fallback p{font-size:18px;color:var(--muted);margin:22px 0}
.timeline-fallback .timeline-js-note{font-size:15px;color:var(--ink);border-left:3px solid var(--accent);padding-left:14px}
.timeline-list{padding-top:48px}
.timeline-list .page-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.09}
@media(max-width:1080px){.timeline-app-page{--tl-header:62px}}
@media(max-width:760px){.timeline-app-page{--tl-header:58px}.timeline-app-page .header nav{top:57px}.timeline-app-page .brand{font-size:14px}.timeline-app-page .brand-symbol{width:34px;height:34px;font-size:19px}.timeline-root{min-height:460px}}
@media print{.timeline-root{display:none}}
