/* Integrated arc: absolute positioning preserves the published hero footprint. */
.history-timeline{position:absolute;inset:0;pointer-events:none;color:var(--ep-text);z-index:3}
.timeline-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;pointer-events:none}
.arc-track{stroke:var(--ep-gold);stroke-width:.15;opacity:.38}
.arc-light,.arc-glow{stroke:var(--ep-gold);stroke-dasharray:7 100;stroke-dashoffset:calc(3.5 - var(--arc-progress,0));stroke-linecap:round;opacity:var(--arc-opacity,1)}
.arc-light{stroke-width:.35}.arc-glow{stroke-width:1.3;filter:blur(2px);opacity:calc(var(--arc-opacity,1) * .25)}
.timeline-stop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);min-width:40px;min-height:30px;padding:5px 3px;pointer-events:auto;font-weight:500;font-size:11px;line-height:1.2;letter-spacing:.025em;color:var(--ep-secondary);text-shadow:0 1px 5px #07152d,0 0 10px #07152d}
.timeline-stop span{font-size:11px;background:transparent;border-radius:2px;padding:2px 0}.timeline-stop:focus-visible{outline:2px solid var(--ep-gold);outline-offset:2px;box-shadow:0 0 0 4px var(--ep-bg)}.timeline-stop[aria-pressed=true]{color:var(--ep-gold)}
.timeline-stop[aria-pressed=true] span{border-bottom:1px solid var(--ep-gold);padding-bottom:3px}
.timeline-stop:hover{color:var(--ep-text)}
.timeline-current{position:absolute;left:43%;right:2%;bottom:0;pointer-events:none}
.timeline-year{display:block;font:italic 28px/1.05 Georgia,serif;color:var(--ep-gold);font-variant-numeric:lining-nums;margin-bottom:7px}
.timeline-description{font-size:13px;line-height:1.5;color:var(--ep-text);margin:0;max-width:340px;text-wrap:pretty}
.timeline-controls{position:absolute;left:1%;top:-18px;display:flex;align-items:center;gap:14px;pointer-events:auto}
.timeline-history-open{font-size:10px;line-height:1.4;letter-spacing:.03em;color:var(--ep-secondary);padding:6px 0;text-decoration:underline;text-decoration-color:#e7ca8866;text-underline-offset:4px}
.history-timeline #motion-toggle{position:static;inset:auto;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;padding:7px;min-width:28px;min-height:28px;font-size:0;color:var(--ep-gold);pointer-events:auto}
.history-timeline #motion-toggle:before{content:'Ⅱ';font:14px/1 Georgia,serif}.history-timeline #motion-toggle[aria-pressed=true]:before{content:'▷'}
.timeline-history{pointer-events:auto;max-height:85svh;overflow:auto;background:var(--ep-bg);color:var(--ep-text);border-color:var(--ep-border)}
.timeline-history h2{font-size:32px;margin-bottom:24px}.timeline-history ol{list-style:none;padding:0;margin:0;border-left:1px solid var(--ep-border)}
.timeline-history li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:10px 0 10px 16px;font-size:14px;line-height:1.6}
.timeline-history time{color:var(--ep-gold)}
.years-photo.arc-photo-layer{opacity:0;transition:opacity 1.8s ease!important}
.years-photo.arc-photo-active{opacity:1;z-index:1}.years-photo.arc-photo-leaving{opacity:1;z-index:0}
.years-photo.arc-photo-layer.changing{opacity:inherit}
.history-timeline[data-state=reduced] .arc-light,.history-timeline[data-state=reduced] .arc-glow{display:none}
@media(max-width:1050px) and (min-width:681px){.timeline-current{left:44%;right:-2%;bottom:2%}.timeline-description{font-size:12px;line-height:1.45}.timeline-year{font-size:24px}.timeline-stop{min-width:30px;min-height:26px}.timeline-stop span{font-size:10px}.timeline-controls{top:5px}}
@media(max-width:680px){.history-timeline{left:-3%;right:-10%;top:10px;bottom:0}.timeline-current{left:48%;right:0;bottom:0}.timeline-year{font-size:23px;margin-bottom:4px}.timeline-description{font-size:12px;line-height:1.4}.timeline-stop{min-width:26px;min-height:24px;padding:2px 1px}.timeline-stop span{font-size:9.5px;letter-spacing:0}.timeline-controls{top:-19px;left:0;gap:8px}.timeline-history-open{font-size:9px}.history-timeline #motion-toggle{padding:5px;min-width:26px;min-height:26px}.year-label{font-size:8px;letter-spacing:.14em}.timeline-history{padding:45px 22px 26px}.timeline-history h2{font-size:27px}.timeline-history li{font-size:13px;gap:10px}}
@media(prefers-reduced-motion:reduce){.years-photo.arc-photo-layer{transition:none!important}.arc-light,.arc-glow{display:none}}

/* Protect year labels only where the compact arc can pass over a photograph. */
@media(max-width:1050px){.timeline-stop span{background:#07152ddd;box-shadow:0 0 0 2px #07152ddd}}
