/* Supplied seven-stage journey: a wide wave and an ordered narrow-screen sequence. */
.mh-training-journey {
  --tj25-gradient-start:#B73249; --tj25-gradient-middle:#F03C4F; --tj25-gradient-bridge:#F16B42; --tj25-gradient-end:#F3B16E;
  --tj25-ring:var(--mh-line-1); --tj25-disc:var(--mh-panel-2);
  --tj25-stage-1:#C5344A; --tj25-label-1:#D06274;
  --tj25-stage-2:#E0394D; --tj25-label-2:#E35365;
  --tj25-stage-3:#F0444D; --tj25-label-3:#F0464F;
  --tj25-stage-4:#F15847; --tj25-label-4:#F15847;
  --tj25-stage-5:#F16C42; --tj25-label-5:#F16C42;
  --tj25-stage-6:#F28754; --tj25-label-6:#F28754;
  --tj25-stage-7:#F3A365; --tj25-label-7:#F3A365;
  container-type: inline-size;
  color: var(--mh-text);
  background: var(--mh-panel);
  border: 1px solid var(--mh-line-2);
  border-radius: 12px;
  padding: clamp(18px, 2.3vw, 36px);
  min-width: 0;
  grid-column: 1 / -1;
}
html[data-theme="light"] .mh-training-journey {
  --tj25-gradient-middle:#C41E3A;
  --tj25-gradient-start:#741C2B;
  --tj25-gradient-bridge:#E25538; --tj25-gradient-end:#DC8A45;
  --tj25-ring:#F1F3F5; --tj25-disc:#F4F5F7;
  --tj25-stage-1:#871C2F; --tj25-label-1:#871C2F;
  --tj25-stage-2:#AD1D36; --tj25-label-2:#AD1D36;
  --tj25-stage-3:#C9273A; --tj25-label-3:#C9273A;
  --tj25-stage-4:#D63E39; --tj25-label-4:#CE3C38;
  --tj25-stage-5:#E25538; --tj25-label-5:#C14B34;
  --tj25-stage-6:#E06A3D; --tj25-label-6:#B35836;
  --tj25-stage-7:#DD7F42; --tj25-label-7:#A26137;
}
.tj25-intro h2 {
  font: 600 clamp(24px, 3cqi, 40px)/1.2 var(--mh-display);
  letter-spacing: -.035em;
  color: var(--mh-text);
  max-width: 34ch;
}
.tj25-intro > p { margin-top: 12px; color: var(--mh-muted); font-size: 18px; line-height: 1.5; }
.tj25-stage { margin-top: 28px; }
.tj25-wave { display: none; }
.tj25-steps { list-style: none; padding: 0; margin: 0; }
.tj25-step {
  position: relative;
  display: grid;
  grid-template-columns: clamp(64px, 15cqi, 104px) minmax(0, 1fr);
  gap: clamp(16px, 3cqi, 28px);
  align-items: center;
  padding-bottom: 28px;
}
.tj25-step:not(:last-child)::before {
  content: "";
  position: absolute;
  inset-inline-start: clamp(32px, 7.5cqi, 52px);
  top: 50%; bottom: -2px;
  width: 3px;
  background: var(--tj-accent);
  opacity: .55;
}
.tj25-photo {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: 100%; height: auto; aspect-ratio: 1;
  object-fit: cover;
  border: 5px solid var(--tj25-disc);
  border-radius: 50%;
  box-shadow: 0 0 0 7px var(--tj25-ring), 0 8px 20px rgb(13 15 18 / .12);
}
.tj25-copy { position: relative; grid-column: 2; grid-row: 1; }
.tj25-number { display: block; color: var(--tj-label); font: 500 12px/1.4 var(--mh-mono); margin-bottom: 5px; }
.tj25-copy h3 { margin: 0; color: var(--tj-label); font: 700 17px/1.25 var(--mh-text-f); letter-spacing: .015em; }
.tj25-copy p { color: var(--mh-muted); font-size: 16px; line-height: 1.45; margin-top: 6px; }
.tj25-note {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);
  gap:32px;
  align-items:start;
  margin:24px 0 0;
  padding:clamp(24px,2.5vw,36px);
  max-width:none;
  border:1px solid var(--mh-line-2);
  border-inline-start:4px solid var(--mh-signal);
  border-radius:10px;
  color:var(--mh-text-2);
  background:color-mix(in srgb,var(--mh-panel-2) 96%,var(--mh-signal) 4%);
}
.tj25-note__eyebrow { margin:0 0 10px;color:var(--mh-signal);font:600 13px/1.4 var(--mh-text-f);letter-spacing:.035em; }
.tj25-note__intro h3 { margin:0;max-width:25ch;color:var(--mh-text);font:500 clamp(26px,2.6cqi,34px)/1.2 var(--mh-display);letter-spacing:-.03em;text-wrap:pretty; }
.tj25-note__copy p { margin:0;color:var(--mh-muted);font-size:17px;line-height:1.55;text-wrap:pretty; }
.tj25-note__copy .tj25-note__context { margin-top:12px; }
.tj25-note__context strong { color:var(--mh-text-2);font-weight:600; }
.tj25-note__copy .mh-link { min-height:44px;margin-top:12px; }
@media(max-width:900px) {
  .tj25-note { grid-template-columns:1fr;gap:16px; }
  .tj25-note__copy p { font-size:16px; }
}
#one-source .mh-field:has(> .mh-training-journey) { grid-template-columns: 1fr; gap: 32px; }
#one-source .mh-field:has(> .mh-training-journey) > .mh-field__copy {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr);
  column-gap: clamp(24px, 4vw, 64px);
  padding-inline-end: 0;
  max-inline-size: none;
  inline-size: 100%;
}
#one-source .mh-field:has(> .mh-training-journey) > .mh-field__copy > .mh-field__statement { grid-column: 1; grid-row: 1 / span 4; }
#one-source .mh-field:has(> .mh-training-journey) > .mh-field__copy > :is(p, a) { grid-column: 2; max-inline-size: 66ch; }
#one-source .mh-field:has(> .mh-training-journey) > .mh-field__copy > a { justify-self: start; }
@media (min-width: 768px) {
  .tj25-stage { position: relative; aspect-ratio: 1680 / 730; min-width: 1120px; margin-top: 24px; }
  .tj25-wave { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
  .tj25-steps { position: absolute; inset: 0; }
  .tj25-step {
    display: block; padding: 0;
    position: absolute; inset-block: 0;
    left: calc((70 + var(--tj-index) * 220) / 1680 * 100%);
    width: calc(220 / 1680 * 100%);
  }
  .tj25-step::before { display: none; }
  .tj25-photo {
    position: absolute;
    top: calc(268 / 730 * 100%); left: calc(28 / 220 * 100%);
    width: calc(164 / 220 * 100%);
    border: 0; box-shadow: none;
  }
  .tj25-copy {
    position: absolute; left: 50%; transform: translateX(-50%);
    width: 145%; top: 0; height: calc(136 / 730 * 100%);
    display: flex; flex-direction: column; justify-content: flex-end;
    align-items: center; text-align: center; gap: 5px;
  }
  .tj25-step:nth-child(even) .tj25-copy { top: calc(568 / 730 * 100%); height: auto; justify-content: flex-start; }
  .tj25-step:nth-child(even) .tj25-number { order: 3; }
  .tj25-number { margin: 0; font-size: clamp(11px, .78cqi, 13px); }
  .tj25-copy h3 { font-size: clamp(15px, 1.31cqi, 22px); line-height: 1.2; }
  .tj25-copy p { font-size: clamp(12px, .9cqi, 15px); line-height: 1.4; margin: 0; }

}
@media (max-width: 900px) {
  #one-source .mh-field:has(> .mh-training-journey) > .mh-field__copy { display: block; }
  #one-source .mh-field:has(> .mh-training-journey) > .mh-field__copy > :is(p, a) { max-inline-size: 66ch; }
}
@media (max-width: 480px) {
  .tj25-intro > p { font-size: 16px; }
  .tj25-copy h3 { font-size: 15px; }
  .tj25-copy p { font-size: 15px; }
  .tj25-note { padding:20px; }
}
@media (forced-colors: active) {
  .mh-training-journey, .tj25-note { color: CanvasText; background: Canvas; border: 1px solid CanvasText; }
  .tj25-intro h2, .tj25-intro > p, .tj25-copy h3, .tj25-copy p, .tj25-number { color: CanvasText; }
  .tj25-note__intro h3, .tj25-note__eyebrow, .tj25-note__copy p, .tj25-note__context strong { color:CanvasText; }
  .tj25-photo { outline: 1px solid CanvasText; }
}

/* Keep the desktop wave intact on tablet and small laptops; phones retain the ordered list. */
.tj25-scroll { min-width:0; max-width:100%; }
.tj25-scroll-hint { display:none; }
@media(min-width:768px) {
  .tj25-scroll { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-color:var(--mh-red) var(--mh-panel-2); scrollbar-width:thin; padding-bottom:12px; }
  .tj25-scroll:focus-visible { outline:2px solid var(--mh-red); outline-offset:4px; }
}
@media(min-width:768px) and (max-width:1279px) {
  .tj25-scroll-hint { display:block; margin-top:12px; font-size:14px; color:var(--mh-muted); }
}
@media print { .tj25-scroll { overflow:visible; } .tj25-stage { min-width:0; } }
