.history-story { overflow:hidden; background:#f8f6fb; }
.history-section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; }
.history-section-title { margin-top:.5rem; color:#1f1b2e; font-size:clamp(1.75rem,3vw,2.5rem); font-weight:800; line-height:1.2; }
.history-controls { display:flex; gap:.65rem; flex-shrink:0; }
.history-arrow { display:grid; place-items:center; width:2.75rem; height:2.75rem; border:1px solid #e8e4f0; border-radius:50%; background:#fff; color:#1f1b2e; font-size:1.2rem; box-shadow:0 6px 18px rgba(31,27,46,.08); transition:color .18s ease,background-color .18s ease,transform .18s ease; }
.history-arrow:hover:not(:disabled) { color:#fff; background:#d0161d; transform:translateY(-2px); }
.history-arrow:disabled { cursor:not-allowed; opacity:.35; }
.history-timeline { position:relative; }
.history-entries { position:relative; display:flex; align-items:flex-start; gap:2rem; overflow-x:auto; padding:.5rem max(1.5rem,calc((100vw - 1180px)/2)) 2rem 0; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.history-entries::-webkit-scrollbar { display:none; }
.history-entries::before { content:""; position:absolute; top:2.15rem; left:1.75rem; right:0; height:2px; background:#008bd5; }
.history-entry { position:relative; flex:0 0 min(390px,82vw); min-width:0; scroll-snap-align:start; }
.history-entry-marker { position:relative; z-index:1; display:flex; align-items:center; gap:.75rem; width:max-content; margin-bottom:1.25rem; padding-right:.7rem; background:#fff; }
.history-marker { display:grid; place-items:center; width:3.5rem; height:3.5rem; flex-shrink:0; border:5px solid #fff; border-radius:50%; color:#fff; background:var(--milestone-color,#d0161d); font-size:1.35rem; box-shadow:0 7px 20px rgba(31,27,46,.2); }
.history-year { color:var(--milestone-color,#d0161d); font-size:1.65rem; font-weight:800; line-height:1; }
.history-card { overflow:hidden; border:1px solid #e8e4f0; border-radius:1.25rem; background:#fff; box-shadow:0 14px 38px rgba(31,27,46,.08); transition:transform .22s ease,box-shadow .22s ease; }
.history-entry:hover .history-card { transform:translateY(-6px); box-shadow:0 22px 48px rgba(31,27,46,.14); }
.history-image-wrap,.history-image-placeholder { height:220px; overflow:hidden; }
.history-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.history-entry:hover .history-image { transform:scale(1.07); }
.history-image-placeholder { display:grid; place-items:center; color:#fff; background:var(--milestone-color,#d0161d); }
.history-image-placeholder span { font-size:3.5rem; }
.history-title { margin:1.4rem 1.5rem 0; color:#1f1b2e; font-size:1.12rem; font-weight:750; line-height:1.45; }
.history-body { margin:.7rem 1.5rem 1.6rem; color:#6f687b; font-size:.9rem; line-height:1.75; }
.history-toggle { position:relative; display:block; width:100%; padding:0 0 1.4rem; border:0; background:none; text-align:left; cursor:pointer; }
.history-toggle:focus-visible { outline:3px solid #008bd5; outline-offset:-3px; border-radius:1.25rem; }
.history-hint { position:absolute; top:172px; right:.9rem; display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .5rem .4rem .85rem; border-radius:999px; background:rgba(15,12,24,.72); color:#fff; font-size:.78rem; font-weight:600; backdrop-filter:blur(6px); }
.history-hint-icon { display:grid; place-items:center; width:1.35rem; height:1.35rem; border-radius:50%; background:#d0161d; font-size:1rem; line-height:1; transition:transform .2s ease; }
.history-toggle[aria-expanded="true"] .history-hint-icon { transform:rotate(45deg); }
.history-toggle[aria-expanded="true"] .history-hint > span:first-child { display:none; }
.history-body[hidden] { display:none; }
.history-body { margin-top:-.5rem; animation:history-reveal .25s ease; }
@keyframes history-reveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.history-progress { height:3px; overflow:hidden; border-radius:999px; background:#e8e4f0; }
.history-progress span { display:block; width:0; height:100%; border-radius:inherit; background:#008bd5; transition:width .12s linear; }
@media(max-width:640px){.history-section-head{align-items:center;margin-bottom:1.75rem}.history-controls{gap:.4rem}.history-arrow{width:2.5rem;height:2.5rem}.history-entries{gap:1rem;padding-bottom:1.5rem}.history-entry{flex-basis:86vw}.history-image-wrap,.history-image-placeholder{height:190px}.history-hint{top:142px}}
@media(prefers-reduced-motion:reduce){.history-entries{scroll-behavior:auto}.history-arrow,.history-card,.history-image,.history-hint-icon{transition:none}.history-body{animation:none}}
