/* V2: a compact editorial timeline. Stories and imagery open on demand. */
.minimal-timeline .milestones{padding:36px 0 24px;scroll-margin-top:20px}
.minimal-heading,.minimal-footer{width:84%;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}
.minimal-heading{margin-bottom:22px}
.minimal-heading h2{font-size:clamp(26px,2.5vw,35px);margin:0;letter-spacing:-.035em}
.minimal-heading .arrows{flex-shrink:0}
.minimal-heading .arrows button{width:34px;height:34px;background:transparent;border:1px solid #cfc5da;color:var(--purple);font-size:21px;transition:background .18s,color .18s}
.minimal-heading .arrows button:hover:not(:disabled){background:var(--purple);color:white;border-color:var(--purple)}
.minimal-heading .arrows button:disabled{opacity:.35;cursor:default}
.minimal-timeline .year-rail{display:none}
.minimal-timeline .cards{gap:0;padding-top:5px;padding-bottom:4px;scroll-snap-type:x mandatory}
.milestone-item{position:relative;flex:0 0 275px;scroll-snap-align:start;background:transparent;color:var(--purple);padding:0 34px 7px 0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;min-height:154px;transition:color .2s}
.milestone-date{font-size:13px;line-height:1.3;font-weight:600;margin-bottom:17px;letter-spacing:.015em}
.milestone-line{position:relative;width:calc(100% + 34px);height:1px;background:#d5ccdf;margin-bottom:23px}
.milestone-line i{display:block;position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 5px var(--pale);transition:box-shadow .2s}
.milestone-item.dpac .milestone-line i{background:var(--red)}
.milestone-item .org-tag{font-size:9px;letter-spacing:.07em;margin-bottom:9px;line-height:1.3}
.milestone-item .org-tag .dot{display:none}
.milestone-title{font-size:19px;line-height:1.35;font-weight:700;letter-spacing:-.025em;max-width:222px}
.milestone-item.dpac .milestone-title{color:var(--darkred)}
.milestone-open{font-size:18px;line-height:1;position:absolute;right:27px;bottom:9px;opacity:.55;transition:transform .2s,opacity .2s}
.milestone-item:hover .milestone-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.milestone-item:hover .milestone-open{opacity:1;transform:translate(2px,-2px)}
.milestone-item:hover .milestone-line i{box-shadow:0 0 0 5px var(--pale),0 0 0 6px #b7a7c9}
.milestone-item:focus-visible{outline-offset:-3px;border-radius:3px}
.minimal-footer{margin-top:6px}
.minimal-footer .text-button{font-size:11px;font-weight:600;text-decoration:none}
.minimal-footer .text-button:hover{text-decoration:underline}
.minimal-footer .text-button span{font-size:17px;margin-left:6px}
.minimal-footer #position{font-size:10px;letter-spacing:.08em;color:#80738d;font-variant-numeric:tabular-nums}
@media(min-width:1600px){.milestone-item{flex-basis:300px}}
@media(max-width:1100px){.minimal-heading,.minimal-footer{width:86%}.milestone-item{flex-basis:255px}}
@media(max-width:760px){
 .minimal-timeline .milestones{padding:30px 0 26px;position:relative}
 .minimal-heading,.minimal-footer{width:90%;gap:18px}
 .minimal-heading{margin-bottom:24px;display:block}
 .minimal-heading h2{font-size:25px;max-width:none;line-height:1.18}
 .minimal-heading .arrows{gap:6px;position:absolute;right:5%;bottom:22px}
 .minimal-heading .arrows button{width:29px;height:29px;font-size:18px}
 .milestone-item{flex-basis:73vw;max-width:275px;min-height:167px;padding-right:30px}
 .milestone-title{font-size:18px;max-width:210px}
 .milestone-line{width:calc(100% + 30px);margin-bottom:21px}
 .milestone-open{right:29px}
 .minimal-footer{margin-top:9px}
 .minimal-footer .text-button{font-size:10px}.minimal-footer #position{display:none}
}
