/* Seven steps as a readable compact route; no new motion or sign-up behavior. */
#journey { padding-block:48px; }
#journey .journey-header { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:28px; }
#journey .section-kicker { margin:0 0 12px; font-size:14px; }
#journey .section-title { margin:0; font-size:clamp(32px,3.4vw,48px); line-height:1.35; letter-spacing:0; }
#journey .section-title em { font-style:normal; }
#journey .journey-date { flex:none; max-width:none; margin:0; padding:0 0 5px; border:0; font-size:16px; line-height:1.7; }
#journey .journey-date span { display:block; color:#c9c7be; font-size:14px; }
#journey .journey-date strong { display:block; color:var(--gold-light); font-size:16px; font-weight:500; }
#journey .journey-list { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:20px; margin:0; padding:0; border-top:1px solid #c0a76d70; }
#journey .journey-list li { position:relative; display:block; min-width:0; padding:17px 0 0; border:0; }
#journey .journey-list li::before { content:""; position:absolute; left:0; top:-1px; width:1px; height:9px; background:#c0a76d; }
#journey .journey-list li > span { display:block; margin-bottom:10px; color:#c0a76d; font-family:var(--serif); font-size:22px; line-height:1.25; font-variant-numeric:tabular-nums; }
#journey .journey-list h3 { min-height:3em; margin:0 0 7px; color:var(--paper); font-family:var(--serif); font-size:18px; font-weight:500; line-height:1.5; letter-spacing:0; text-wrap:pretty; }
#journey .journey-list p { margin:0; color:#b9bcae; font-size:16px; line-height:1.7; text-wrap:pretty; }
#journey .journey-phrase { white-space:nowrap; }
#journey .journey-list a { color:var(--gold-light); text-decoration:underline; text-underline-offset:4px; transition:color .14s ease; }
#journey .journey-list a:hover, #journey .journey-list a:active { color:#f3f0e7; }
#journey .journey-list a:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
#journey .training-overview { margin-top:28px; padding-top:20px; border-top:1px solid #c0a76d70; scroll-margin-top:100px; }
#journey .training-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:16px; }
#journey .training-heading h3 { margin:0; color:var(--gold-light); font-size:23px; line-height:1.5; }
#journey .training-heading p { margin:0; color:#b9bcae; font-size:16px; line-height:1.7; }
#journey .training-topics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:0; padding:0; list-style:none; }
#journey .training-topics li { display:flex; align-items:baseline; gap:12px; min-width:0; }
#journey .training-topics li > span { color:#c0a76d; font-size:14px; font-variant-numeric:tabular-nums; }
#journey .training-topics h4 { margin:0; color:var(--paper); font:500 17px/1.7 var(--serif); }
#journey .training-topics p { margin:3px 0 0; color:#b9bcae; font-size:16px; line-height:1.7; text-wrap:pretty; }
#journey .training-preparation { margin:18px 0 0; color:#b9bcae; font-size:16px; line-height:1.7; text-wrap:pretty; }
#journey .training-preparation strong { color:var(--gold-light); font-weight:500; }
@media (max-width:1199px) {
  #journey .journey-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; border:0; }
  #journey .journey-list li { padding-top:15px; border-top:1px solid #c0a76d70; }
  #journey .journey-list li::before { display:none; }
  #journey .journey-list h3 { min-height:0; }
}
@media (max-width:760px) {
  #journey { padding-block:32px; }
  #journey .journey-header { display:block; margin-bottom:24px; }
  #journey .section-title { font-size:34px; }
  #journey .section-title em { display:block; }
  #journey .journey-date { margin-top:16px; padding:0; }
  #journey .journey-date span, #journey .journey-date strong { display:inline; }
  #journey .journey-date span { margin-right:10px; }
  #journey .journey-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 22px; }
  #journey .journey-list li { padding-top:12px; }
  #journey .journey-list li > span { position:absolute; top:12px; left:0; margin:0; font-size:18px; line-height:1.5; }
  #journey .journey-list h3 { min-height:0; margin:0 0 7px 31px; }
  #journey .journey-list li:last-child { grid-column:1 / -1; }
  #journey .journey-list li:last-child h3 { min-height:0; }
  #journey .training-heading { display:block; }
  #journey .training-heading p { margin-top:6px; }
  #journey .training-topics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  #journey .training-topics li { display:block; }
  #journey .training-topics li > span { display:block; margin-bottom:4px; }
}
