/* Success timeline — 13 October 2026. Scoped to the revised section only. */
.success-intro {
  padding-bottom: 42px;
}
.success-intro .section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
}
.success-intro h2 {
  margin: 0;
}
.success-intro .intro-aside {
  max-width: 190px;
  padding-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
  border-left: 2px solid var(--gold);
  padding-left: 18px;
}
.success-intro .two-column {
  margin-top: 34px;
}
.success-milestones {
  display: flex;
  gap: 22px 36px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 22px 0;
  margin-top: 24px;
}
.success-milestones > div {
  display: flex;
  align-items: center;
  gap: 13px;
}
.success-milestones strong {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 34px;
  line-height: 1;
  color: var(--wine);
}
.success-milestones span {
  font-size: 10px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  line-height: 1.7;
}
.success-timeline {
  padding-top: 0;
  padding-bottom: 54px;
}
.timeline-group {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  column-gap: 28px;
  margin-bottom: 36px;
}
.timeline-year {
  position: relative;
  padding-top: 28px;
  border-right: 1px solid var(--line);
}
.timeline-year::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 40px;
  width: 9px;
  height: 9px;
  background: var(--wine);
  border: 2px solid var(--paper);
  border-radius: 50%;
}
.timeline-year h3 {
  font-size: 39px;
  margin: 0 0 9px;
  letter-spacing: -1px;
}
.timeline-year p {
  font-size: 9px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  line-height: 1.8;
  color: var(--muted);
  padding-right: 14px;
}
.timeline-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.horse-card {
  min-width: 0;
  background: #fffefa;
  border: 1px solid #e1ded5;
  padding: 28px;
  position: relative;
  overflow: hidden;
}
.horse-card::before {
  content: '';
  position: absolute;
  width: 44px;
  height: 3px;
  left: 28px;
  top: 0;
  background: var(--wine);
}
.horse-card .card-topline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 17px;
}
.horse-card .card-number {
  font-family: var(--serif);
  font-size: 23px;
  color: var(--gold);
  line-height: 1;
}
.horse-card .card-date {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--muted);
}
.horse-card h3 {
  font-size: clamp(29px, 2.9vw, 40px);
  letter-spacing: -0.6px;
  margin-bottom: 14px;
}
.horse-card .race-highlight {
  color: var(--wine);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin: 0 0 18px;
}
.horse-card .horse-story {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.95;
  margin: 0;
}
.horse-card .race-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #e9e5dc;
}
.race-tags span {
  font-size: 9px;
  padding: 3px 9px;
  border: 1px solid #dfd8cb;
  color: var(--muted);
  letter-spacing: 0.4px;
}
.horse-card.has-photo {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 30px;
  align-items: center;
}
.horse-card figure {
  margin: 0;
  min-width: 0;
}
.horse-card figure img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.horse-card figure figcaption {
  padding-top: 9px;
  font-size: 9px;
  letter-spacing: 1px;
}
.horse-card.is-current {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.horse-card.is-current::before {
  background: var(--gold);
}
.horse-card.is-current .card-date,
.horse-card.is-current .horse-story {
  color: #dde0e5;
}
.horse-card.is-current .race-highlight {
  color: #d9c6a8;
}
.horse-card.is-current .race-tags {
  border-top-color: #455061;
}
.horse-card.is-current .race-tags span {
  color: #ece6dc;
  border-color: #657084;
}
.current-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #e5d3b6;
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.current-label::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d1b17e;
}
.horse-card.is-current figcaption {
  color: #d3d8e1;
}
@media (max-width: 1050px) {
  .timeline-group {
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: 20px;
  }
  .horse-card {
    padding: 22px;
  }
  .horse-card::before {
    left: 22px;
  }
  .horse-card.has-photo {
    gap: 22px;
  }
}
@media (max-width: 760px) {
  .success-intro .section-heading {
    display: block;
  }
  .success-intro .intro-aside {
    display: none;
  }
  .timeline-cards {
    grid-template-columns: minmax(0, 1fr);
  }
  .horse-card.has-photo {
    grid-template-columns: minmax(0, 1fr);
  }
  .timeline-year h3 {
    font-size: 34px;
  }
}
@media (max-width: 640px) {
  .success-intro {
    padding-bottom: 28px;
  }
  .success-intro .two-column {
    margin-top: 26px;
  }
  .success-milestones {
    gap: 18px 26px;
    padding: 19px 0;
  }
  .success-milestones strong {
    font-size: 29px;
  }
  .success-milestones span {
    font-size: 9px;
  }
  .timeline-group {
    display: block;
    margin-bottom: 28px;
  }
  .timeline-year {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 0 0 13px;
    margin-bottom: 19px;
    display: flex;
    align-items: baseline;
    gap: 18px;
  }
  .timeline-year::after {
    display: none;
  }
  .timeline-year h3,
  .timeline-year p {
    margin: 0;
  }
  .timeline-year p {
    padding-right: 0;
  }
  .horse-card {
    padding: 23px;
  }
  .horse-card h3 {
    font-size: 35px;
  }
  .horse-card .horse-story {
    font-size: 13px;
  }
  .horse-card.has-photo {
    gap: 23px;
  }
}
