/* Keep anchors stationary: the shared journey measures them independently of media reveals. */
.cms-integrated-journey .cms-programs-narrative__chapters {
 isolation:isolate; margin-top:36px; gap:24px;
}
.cms-integrated-journey .cms-programs-route { z-index:2; }
.cms-integrated-journey .cms-programs-chapter {
 --identity-wash:#f2f5ef;
 display:block; position:relative; z-index:auto; padding:280px 0 36px 58px; min-block-size:0;
}
.cms-integrated-journey .cms-programs-chapter:nth-of-type(even) { --identity-wash:#f8f7ee; }
.cms-integrated-journey .cms-programs-chapter:nth-of-type(3) { --identity-wash:#f5f3f6; }
.cms-integrated-journey .cms-programs-chapter::before {
 content:""; position:absolute; z-index:-1; top:0; bottom:0;
 left:calc((100% - 100vw)/2); width:100vw; pointer-events:none;
 background:linear-gradient(#fff,var(--identity-wash) 35%,var(--identity-wash) 70%,#fff);
}
.cms-integrated-journey .cms-programs-chapter:nth-of-type(n) .cms-programs-chapter__marker {
 position:absolute; inset:280px auto auto 0; width:40px; height:40px; z-index:4; transform:none;
}
.cms-integrated-journey .cms-programs-chapter .cms-programs-chapter__copy {
 position:relative; z-index:3; width:100%; padding:0; gap:16px; justify-self:start; margin:0;
}
.cms-integrated-journey .cms-programs-chapter__copy h3 { font-size:28px; line-height:1.2; font-weight:400; }
.cms-integrated-journey .cms-programs-chapter__description { font-size:16px; line-height:1.7; color:#696077; }
.cms-integrated-journey .cms-programs-chapter .cms-programs-chapter__media {
 position:absolute; z-index:0; top:0; left:calc((100% - 100vw)/2); width:100vw;
 height:350px; max-width:none; min-block-size:0; aspect-ratio:auto; margin:0; border:0;
 border-radius:0; box-shadow:none; background:transparent; clip-path:none!important;
 mask-image:linear-gradient(transparent,#000 10%,#000 45%,transparent 80%);
}
.cms-integrated-journey .cms-programs-chapter__media::after { display:none; }
.cms-integrated-journey .cms-programs-chapter__media img { height:100%; object-fit:cover; object-position:center 48%; }
.cms-integrated-journey .cms-programs-chapter:nth-of-type(1) img { object-position:center 40%; }
.cms-integrated-journey .cms-programs-chapter:nth-of-type(4) img { object-position:center 55%; }
.cms-integrated-journey .cms-programs-chapter .complutum-identity-link { margin-top:8px; }
@media(min-width:700px) {
 .cms-integrated-journey .cms-programs-narrative__chapters { gap:12px; }
 .cms-integrated-journey .cms-programs-chapter { padding:80px 0; min-block-size:440px; }
 .cms-integrated-journey .cms-programs-chapter .cms-programs-chapter__copy { width:39%; }
 .cms-integrated-journey .cms-programs-chapter.is-reversed .cms-programs-chapter__copy { width:39%; margin-left:61%; padding:0; }
 .cms-integrated-journey .cms-programs-chapter:nth-of-type(n) .cms-programs-chapter__marker { inset:160px auto auto calc(46% - 23px); width:46px; height:46px; }
 .cms-integrated-journey .cms-programs-chapter:nth-of-type(even) .cms-programs-chapter__marker { left:calc(54% - 23px); }
 .cms-integrated-journey .cms-programs-chapter .cms-programs-chapter__media {
  top:0; bottom:0; left:40%; width:calc(60% + (100vw - 100%)/2); height:100%;
  mask-image:linear-gradient(90deg,transparent,#000 46%,#000),linear-gradient(transparent,#000 14%,#000 80%,transparent);
  mask-composite:intersect;
 }
 .cms-integrated-journey .cms-programs-chapter.is-reversed .cms-programs-chapter__media {
  left:auto; right:40%;
  mask-image:linear-gradient(270deg,transparent,#000 46%,#000),linear-gradient(transparent,#000 14%,#000 80%,transparent);
 }
}
@media(min-width:1100px) {
 .cms-integrated-journey .cms-programs-narrative__chapters { margin-top:48px; gap:24px; }
 .cms-integrated-journey .cms-programs-chapter { min-block-size:530px; padding:110px 0; }
 .cms-integrated-journey .cms-programs-chapter .cms-programs-chapter__copy { width:37%; }
 .cms-integrated-journey .cms-programs-chapter.is-reversed .cms-programs-chapter__copy { width:37%; margin-left:63%; }
 .cms-integrated-journey .cms-programs-chapter:nth-of-type(n) .cms-programs-chapter__marker { top:210px; left:calc(45% - 29px); width:58px; height:58px; }
 .cms-integrated-journey .cms-programs-chapter:nth-of-type(even) .cms-programs-chapter__marker { left:calc(55% - 29px); }
 .cms-integrated-journey .cms-programs-chapter__copy h3 { font-size:36px; }
 .cms-integrated-journey .cms-programs-chapter__description { font-size:18px; }
}

.cms-programs-narrative.cms-integrated-journey { overflow:clip; background:#fff; }
.cms-integrated-journey > .cms-programs-narrative__backdrop { display:none; }
.cms-integrated-journey > .complutum-shell { width:calc(100% - 40px); max-width:1180px; }
.cms-integrated-journey .cms-programs-narrative__head { margin:0 auto; max-width:780px; text-align:center; justify-items:center; }
.cms-integrated-journey .cms-programs-narrative__head h2 { max-inline-size:26ch; }
.cms-integrated-journey .complutum-identity-link {
 display:inline-flex; justify-content:center; justify-self:start; width:fit-content; max-width:100%;
 font-size:14px; line-height:1.5; font-weight:500; text-transform:none; text-decoration:none; text-align:center;
 border-radius:16px; padding:16px 24px; border:1px solid #c8d3b7;
 background:linear-gradient(135deg,#fff,rgba(231,238,218,.65)); color:#536937;
 box-shadow:0 8px 24px #4e623012,inset 0 1px 0 #fff; backdrop-filter:blur(12px);
}
.cms-integrated-journey .complutum-identity-link:hover { background:#edf2e6; box-shadow:0 10px 28px #4e623020; }
