/* One shared axis determines both the line and each numbered marker center. */
.v4-body .v4-timeline-component { --timeline-axis:32px; --timeline-gap:22px; --timeline-marker:26px; }
.v4-body .v4-timeline-content { padding:clamp(24px,3vw,48px); }
.v4-body .v4-timeline-list { position:relative; display:grid; gap:24px; list-style:none; margin:28px 0; padding:0; counter-reset:v4-timeline; }
.v4-body .v4-timeline-list::before { content:""; position:absolute; left:calc(var(--timeline-axis)/2); transform:translateX(-50%); top:26px; bottom:26px; width:2px; background:#eee3d9; }
.v4-body .v4-timeline-entry { position:relative; display:grid; grid-template-columns:var(--timeline-axis) minmax(0,1fr); gap:var(--timeline-gap); min-width:0; margin:0; padding:0; counter-increment:v4-timeline; }
.v4-body .v4-timeline-axis { position:relative; min-width:0; padding-top:26px; }
.v4-body .v4-timeline-marker { position:relative; display:grid; place-items:center; box-sizing:border-box; width:var(--timeline-marker); height:var(--timeline-marker); margin-inline:auto; background:#fff; border:2px solid var(--red); border-radius:50%; color:var(--red); font:600 12px/1 var(--v4-ui-font); }
.v4-body .v4-timeline-marker::before { content:counter(v4-timeline); }
.v4-body .v4-timeline-card { min-width:0; padding:26px; border:1px solid #eee3d9; border-radius:14px; background:#fff; }
.v4-body .v4-timeline-entry-heading { display:flex; gap:12px; flex-wrap:wrap; align-items:baseline; margin-bottom:14px; }
.v4-body .v4-timeline-entry-heading h3 { margin:0; color:var(--red); font-size:var(--module-title-size,18px); line-height:1.55; overflow-wrap:anywhere; }
.v4-body .v4-timeline-date { margin-left:auto; color:#888; font-size:14px; }
.v4-body .v4-timeline-component .v4-prose { padding:0; font-size:var(--module-body-size,16px); line-height:1.95; overflow-wrap:anywhere; }
.v4-body .v4-timeline-component .v4-prose>:first-child { margin-top:0; }
.v4-body .v4-timeline-component .v4-prose>:last-child { margin-bottom:0; }
.v4-body .v4-timeline-component .v4-prose blockquote { border-left:3px solid var(--yellow); }
@media(max-width:760px) {
 .v4-body .v4-timeline-component { --timeline-axis:24px; --timeline-gap:12px; --timeline-marker:22px; }
 .v4-body .v4-timeline-content { padding:24px 20px; }
 .v4-body .v4-timeline-card { padding:20px 18px; }
 .v4-body .v4-timeline-axis { padding-top:22px; }
 .v4-body .v4-timeline-entry-heading h3 { font-size:var(--module-mobile-title-size,17px); }
 .v4-body .v4-timeline-component .v4-prose { padding:0; font-size:var(--module-mobile-body-size,15px); }
}
