.retainer-step .timing-note{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;width:100%;max-width:none;box-sizing:border-box;text-align:center}
.time-ring{display:block;width:160px;height:160px;flex:none;overflow:visible}
.time-ring text{text-anchor:middle;fill:#112b50;font-family:'DM Sans',sans-serif}
.time-ring .ring-value{font-family:Manrope,sans-serif;font-size:28px;font-weight:600;letter-spacing:-1px}
.time-ring .ring-unit{font-size:10px;fill:#74808e}
.time-ring .ring-tick{font-size:9px;fill:#8c969f}
.timing-caption{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;text-align:left}
.existing-puzzle{display:block;width:30px;height:30px;object-fit:contain;flex:0 0 30px}
.timing-caption h3{font:600 15px/1.4 Manrope,sans-serif;color:var(--navy);letter-spacing:0;margin:0 0 3px}
.timing-caption p{font:400 12px/1.5 'DM Sans',sans-serif;color:#7a8593;margin:0}
.timeline-close{gap:14px;min-height:60px}
.timeline-close .closing-puzzle{width:32px;height:32px;flex-basis:32px}
.timeline-close h3{margin:0;font-size:26px}
.timeline-timing-note{text-align:center;color:#8b929c;font:400 12px/1.6 'DM Sans',sans-serif;margin:24px 0 0}
/* Decorative opacity/transform only; never affects document flow or scrolling. */
@media(prefers-reduced-motion:no-preference){.timeline-close.is-complete .closing-puzzle{animation:existing-puzzle-arrival .7s ease-out both}}
@keyframes existing-puzzle-arrival{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.retainer-step .timing-note{flex-direction:row;justify-content:flex-start;gap:16px;padding:16px 0 24px}.time-ring{width:140px;height:140px}.timing-caption{margin-top:0;gap:8px}.timing-caption h3{font-size:13px}.existing-puzzle{width:26px;height:26px;flex-basis:26px}.timeline-timing-note{margin-left:48px;text-align:left}}
@media(max-width:420px){.retainer-step .timing-note{gap:8px}.time-ring{width:120px;height:120px}.timing-caption{gap:6px}.timing-caption h3{font-size:12px}.timing-caption p{font-size:11px}.timing-caption .existing-puzzle{width:24px;height:24px;flex-basis:24px}}
