/* C2 Online — student journey v554. Scoped: no changes to locked sections. */
.oc-journey{position:relative;overflow:hidden;background:#f9f8f4;color:#18354a;padding:75px 0 66px}
.oc-journey:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 72% 3%,rgba(208,177,120,.10),transparent 53%)}
.oc-journey-inner{position:relative;width:min(1180px,calc(100% - 80px));margin:auto}
.oc-journey-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end}
.oc-journey .oc-kicker{font-size:11px;letter-spacing:.18em;color:#b18c50}
.oc-journey h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,3.8vw,53px);font-weight:400;letter-spacing:-.035em;line-height:1.16;margin:13px 0 0}
.oc-journey h2 em{font-weight:400;color:#287673}
.oc-journey-intro>p{max-width:420px;color:#657477;font-size:15px;line-height:1.8;margin:0 0 4px}
.oc-journey-track{position:relative;margin-top:55px}
.oc-journey-line{position:absolute;top:23px;left:12.5%;right:12.5%;height:1px;background:#d9dcd5;overflow:hidden}
.oc-journey-line-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#4a9790,#b9a16e);transform:scaleX(0);transform-origin:left;transition:transform 1.9s cubic-bezier(.18,.7,.2,1)}
.oc-journey.is-visible .oc-journey-line-fill{transform:scaleX(1)}
.oc-journey-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px;padding:0;margin:0}
.oc-journey-step{min-width:0;opacity:.48;transform:translateY(11px);transition:opacity .6s ease,transform .6s ease}
.oc-journey.is-visible .oc-journey-step{opacity:1;transform:none}
.oc-journey.is-visible .oc-journey-step:nth-child(2){transition-delay:.25s}
.oc-journey.is-visible .oc-journey-step:nth-child(3){transition-delay:.55s}
.oc-journey.is-visible .oc-journey-step:nth-child(4){transition-delay:.85s}
.oc-journey-marker{width:47px;height:47px;margin:0 auto 29px;border:1px solid #b8c8bd;border-radius:50%;background:#f9f8f4;display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 0 0 8px #f9f8f4}
.oc-journey-marker:after{content:"";position:absolute;inset:6px;border:1px solid #e3e1d8;border-radius:50%}
.oc-journey-marker span{font-family:Georgia,serif;color:#a18454;font-size:15px;position:relative;z-index:1}
.oc-journey-step:nth-child(4) .oc-journey-marker{border-color:#c8ad73}
.oc-journey-stage{font-size:10px;letter-spacing:.12em;font-weight:700;color:#a58b5b}
.oc-journey h3{font:400 clamp(19px,1.8vw,24px)/1.25 "Playfair Display",Georgia,serif;margin:12px 0 11px;color:#16354b}
.oc-journey-step-copy p{font-size:13.5px;line-height:1.75;color:#66777a;margin:0;max-width:250px}
.oc-journey-end{display:flex;justify-content:space-between;gap:22px;align-items:center;border-top:1px solid #e4e4de;margin-top:39px;padding-top:18px}
.oc-journey-end>span{font-size:10px;letter-spacing:.13em;color:#89918e}
.oc-journey-end a{font-size:13px;color:#2b7873;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(43,120,115,.35);padding-bottom:3px}
.oc-journey-end a:hover{color:#184e4a;border-bottom-color:currentColor}
.oc-journey-end a:focus-visible{outline:2px solid #287673;outline-offset:5px}
@media(max-width:850px){.oc-journey-inner{width:min(100% - 44px,700px)}.oc-journey-intro{grid-template-columns:1fr;gap:18px}.oc-journey-track{margin-top:35px}.oc-journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:35px}.oc-journey-line{display:none}.oc-journey-marker{margin:0 0 22px}.oc-journey-end{margin-top:32px}}
@media(max-width:520px){.oc-journey{padding:56px 0 49px}.oc-journey-steps{grid-template-columns:1fr;gap:0}.oc-journey-track{margin-top:27px}.oc-journey-step{display:grid;grid-template-columns:53px 1fr;gap:17px;padding:0 0 29px;position:relative}.oc-journey-step:not(:last-child):before{content:"";position:absolute;left:23px;top:47px;bottom:0;width:1px;background:#dedfd9}.oc-journey-marker{margin:0;width:47px;height:47px}.oc-journey h3{margin:7px 0}.oc-journey-end{align-items:flex-start;flex-direction:column}.oc-journey-end>span{line-height:1.6}}
@media(prefers-reduced-motion:reduce){.oc-journey-step{opacity:1;transform:none;transition:none}.oc-journey-line-fill{transform:none;transition:none}}

/* v555: subtle editorial portraits at the extreme edges; original copy remains clear. */
.oc-journey::after{content:"";position:absolute;inset:0;background:url('../assets/images/online-courses/online-courses-journey-people-watercolour.webp') center center / 100% 100% no-repeat;pointer-events:none;opacity:.68;z-index:0}
.oc-journey-inner{z-index:1}
@media(max-width:1100px){.oc-journey::after{opacity:.30}}
@media(max-width:700px){.oc-journey::after{display:none}}
