html, body { width: 100%; min-height: 100%; margin: 0; }
body { min-height: 100vh; background: #e50019; color: #fff; font-family: Georgia, "Times New Roman", serif; }
main { box-sizing: border-box; min-height: 100vh; width: min(100%, 720px); margin: auto; padding: 76px 28px 50px; display: flex; flex-direction: column; align-items: center; }
.logo { display: block; width: min(66vw, 350px); height: auto; margin: 18px 0 38px; }
.timeline { width: min(100%, 560px); position: relative; display: flex; flex-direction: column-reverse; gap: 0; padding-left: 36px; }
.timeline::before { content: ""; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 2px; background: rgba(255,255,255,.8); }
.event { position: relative; padding: 0 0 28px 20px; }
.event::before { content: ""; position: absolute; left: -33px; top: 5px; width: 14px; height: 14px; border: 2px solid #fff; border-radius: 50%; background: #e50019; }
.event.top::before { background: #fff; }
time { display: block; margin-bottom: 4px; font: 700 15px/1 Arial, sans-serif; letter-spacing: .13em; }
.event p { margin: 0; font-size: clamp(21px, 4.7vw, 31px); line-height: 1.07; letter-spacing: -.035em; }
.caption { width: min(100%, 560px); margin: 16px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.65); font: 400 14px/1.35 Arial, sans-serif; }
.ticker { position: fixed; inset: 0 0 auto; overflow: hidden; height: 38px; background: #050505; color: #fff; display: flex; align-items: center; white-space: nowrap; border-bottom: 1px solid #303030; box-shadow: 0 1px 10px rgba(0,0,0,.25); z-index: 1; }
.ticker-track { display: flex; width: max-content; align-items: center; animation: roll 30s linear infinite; }
.ticker-item { display: inline-flex; align-items: baseline; gap: 9px; padding: 0 21px; border-right: 1px solid #262626; font-family: Arial, sans-serif; }
.ticker-item b { color: #999; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.ticker-item strong { color: #fff; font-size: 13px; font-weight: 600; letter-spacing: -.01em; }
@keyframes roll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; } }
