/* Editorial layouts for the journey, models, and application pages. */
.journey-page .hero-journey,.models-page .hero-models,.apply-page .hero-apply{background:radial-gradient(circle at 86% 43%,#155475 0%,transparent 35%),linear-gradient(112deg,#091d35 0%,#102d4e 68%,#123f5e 100%)}
.journey-page .hero-layout,.models-page .hero-layout,.apply-page .hero-layout{gap:clamp(42px,6vw,92px)}
.journey-page .hero-copy h1,.models-page .hero-copy h1,.apply-page .hero-copy h1{font-size:clamp(3.45rem,5vw,4.8rem);line-height:1.04;text-wrap:balance}
.journey-page .hero-photo,.models-page .hero-photo,.apply-page .hero-photo{height:clamp(430px,40vw,555px);border:0;border-radius:2px;box-shadow:0 30px 80px rgba(0,15,35,.22)}
.journey-page .hero-photo::before,.models-page .hero-photo::before,.apply-page .hero-photo::before{content:"";position:absolute;z-index:2;top:-17px;right:-17px;width:96px;height:96px;border-top:2px solid #8be6e6;border-right:2px solid #8be6e6;pointer-events:none}
.journey-page .hero-photo img{object-position:center 45%}
.models-page .hero-photo img{object-position:center 48%}
.apply-page .hero-photo img{object-position:center 38%}

/* Two origins remain independent until the shared navigation stage. */
.journey-page #sources .section-heading-row{margin-bottom:50px}
.journey-page .source-comparison{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,8vw,130px);row-gap:0;border-top:1px solid #b7d3de}
.journey-page .source-comparison article{position:relative;min-height:265px;padding:36px 0 28px;border:0;border-radius:0;background:transparent}
.journey-page .source-comparison article+article{padding-left:clamp(30px,5vw,70px);border-left:1px solid #d2e3e9}
.journey-page .source-comparison article::before{content:"";position:absolute;top:-2px;left:0;width:78px;height:3px;background:#0876ac}
.journey-page .source-comparison article+article::before{left:clamp(30px,5vw,70px)}
.journey-page .source-comparison h3{margin:27px 0 16px;font-size:clamp(1.8rem,2.7vw,2.55rem);line-height:1.12}
.journey-page .source-comparison article>p:not(.map-label){max-width:480px;min-height:0;margin:0;color:#52697d;font-size:.93rem;line-height:1.7}
.journey-page .source-foot{margin-top:25px;padding:0;border:0;color:#0876ac;font-size:.71rem;letter-spacing:.1em;text-transform:uppercase}
.journey-page .source-outcome{position:relative;grid-column:1/-1;display:grid;justify-items:center;padding:34px 25px 0;border-top:1px solid #bfd4de;text-align:center}
.journey-page .source-outcome::before,.journey-page .source-outcome::after{content:"";position:absolute;top:-27px;width:1px;height:27px;background:#87bbc9}
.journey-page .source-outcome::before{left:25%}.journey-page .source-outcome::after{right:25%}
.journey-page .source-outcome-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 0 16px;border:1px solid #7fb7c7;border-radius:50%;color:#0876ac;font-size:1.2rem}
.journey-page .source-outcome .map-label{margin:0 0 7px;color:#0876ac}
.journey-page .source-outcome strong{max-width:660px;color:#183c55;font:600 clamp(1.2rem,2vw,1.65rem)/1.3 "DM Sans",Arial,sans-serif;text-wrap:balance}

/* Open process rail: stages are information, not controls. */
.journey-page .journey-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible;border:0;border-radius:0;background:transparent}
.journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage{position:relative;min-height:215px;padding:42px 24px 30px 0;border:0;border-top:1px solid #a9c9d7;border-bottom:1px solid #c7dce5;background:transparent}
.journey-page .journey-timeline li:not(:nth-child(4n+1)){padding-left:24px;border-left:1px solid #d7e5ea}
.journey-page .journey-timeline li:nth-child(-n+4){border-bottom:0}
.journey-page .journey-timeline li:nth-child(n+5){border-top:1px solid #86b5cb}
.journey-page .journey-timeline li::before{content:"";position:absolute;top:-8px;left:0;width:13px;height:13px;border:2px solid #f5f9fb;border-radius:50%;background:#0a70a8;box-shadow:0 0 0 1px #0a70a8}
.journey-page .journey-timeline li:not(:nth-child(4n+1))::before{left:24px}
.journey-page .journey-timeline li.clinical-stage::after{display:none}
.journey-page .journey-timeline li.clinical-stage::before{background:#34a7bd;box-shadow:0 0 0 1px #34a7bd}
.journey-page .journey-timeline li>span{color:#0876ac;font-size:.72rem;letter-spacing:.1em}
.journey-page .journey-timeline li h3{margin:24px 0 9px;font-size:clamp(1.23rem,1.8vw,1.65rem)}
.journey-page .journey-timeline li p{max-width:250px;font-size:.84rem;line-height:1.6}
.journey-page .journey-key{margin-top:26px}
.journey-page .key-dot{background:#34a7bd}

/* A handoff boundary shown as one continuous path. */
.journey-page .boundary-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:clamp(55px,8vw,120px)}
.journey-page .boundary-diagram{padding:14px 40px;border-radius:2px;background:linear-gradient(145deg,#0c2c4a,#0d4968);box-shadow:0 26px 58px rgba(5,37,59,.12)}
.journey-page .boundary-diagram>div:not(.boundary-divider){padding:30px 0;border:0;border-radius:0}
.journey-page .boundary-diagram>div:first-child{border-bottom:1px solid rgba(184,225,235,.28)}
.journey-page .boundary-diagram>div:last-child{border-top:1px solid rgba(184,225,235,.28)}
.journey-page .boundary-diagram b{margin-bottom:12px;color:#86e0e0;font-size:.68rem;letter-spacing:.13em}
.journey-page .boundary-diagram span{font:600 clamp(1rem,1.4vw,1.22rem)/1.6 "DM Sans",Arial,sans-serif}
.journey-page .boundary-diagram i{padding:0 3px;color:#7bdde2;font-style:normal}
.journey-page .boundary-divider{padding:19px 0;justify-content:space-between;color:#93e7e7}

/* Partnership depth and evaluation criteria. */
.models-page .tier-rows{border-color:#b7d3de}
.models-page .tier-rows article{grid-template-columns:74px minmax(0,1fr) minmax(105px,.25fr);gap:24px;padding:35px 0 40px}
.models-page .tier-rows h3{font-size:clamp(1.7rem,2.5vw,2.3rem);line-height:1.13}
.models-page .tier-rows p{font-size:.94rem;line-height:1.7}
.models-page .tier-axis{justify-self:end;align-self:center;padding-left:15px;border-left:2px solid #69bfd4}
.models-page #dimensions .support-layout{grid-template-columns:minmax(0,1fr) minmax(350px,.95fr)}
.models-page .dimension-list{position:relative;padding:0;border:0;border-top:1px solid #a9cad8;border-radius:0;background:transparent}
.models-page .dimension-list::before{content:"05";position:absolute;right:0;bottom:5px;color:rgba(17,96,139,.07);font:700 12rem/1 "DM Sans",Arial,sans-serif;pointer-events:none}
.models-page .dimension-list div{position:relative;gap:26px;padding:23px 0;border-bottom:1px solid #c8dce5}
.models-page .dimension-list b{color:#0876ac;font-size:.72rem;letter-spacing:.08em}
.models-page .dimension-list span{font-size:clamp(.98rem,1.4vw,1.16rem);line-height:1.35}

/* Regen Day uses a clear scheduled-day motif beside its five support elements. */
.models-page #regen-day{background:radial-gradient(circle at 80% 42%,#154d69,transparent 39%),#0b2038}
.models-page .regen-layout{grid-template-columns:minmax(0,1fr) minmax(390px,.95fr);align-items:center}
.models-page .regen-visual{display:grid;grid-template-columns:minmax(155px,.85fr) minmax(190px,1fr);gap:25px;align-items:center}
.models-page .regen-calendar{position:relative;min-height:280px;padding:28px 22px;border:1px solid rgba(158,228,230,.54);background:rgba(17,71,101,.75);box-shadow:0 20px 50px rgba(0,10,25,.2)}
.models-page .regen-calendar::before,.models-page .regen-calendar::after{content:"";position:absolute;top:-10px;width:13px;height:20px;border-radius:7px;background:#8ddfe0}
.models-page .regen-calendar::before{left:25px}.models-page .regen-calendar::after{right:25px}
.models-page .regen-calendar span{display:block;margin-bottom:54px;color:#9ce6e8;font-size:.62rem;font-weight:800;letter-spacing:.14em}
.models-page .regen-calendar strong{display:block;color:#fff;font:600 clamp(1.4rem,2vw,1.9rem)/1.16 "DM Sans",Arial,sans-serif;text-wrap:balance}
.models-page .regen-calendar i{display:inline-block;width:17px;height:3px;margin:29px 5px 0 0;background:#86dce0}
.models-page .regen-stack{padding:0}
.models-page .regen-stack::before{left:17px;top:18px;bottom:18px}
.models-page .regen-stack>div,.models-page .regen-stack>div:nth-child(3){grid-template-columns:35px 1fr;gap:13px;padding-bottom:17px}
.models-page .regen-stack b{width:35px;height:35px;font-size:.64rem}
.models-page .regen-stack span{font-size:.85rem;line-height:1.35}

/* The only form-like surface on Apply is the actual form. */
.apply-page .hero-copy .actions{margin-top:31px}
.apply-page .apply-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(45px,6vw,90px);align-items:start}
.apply-page .application-aside{position:static;padding-top:8px}
.apply-page .application-aside h2{max-width:280px;font-size:clamp(2.15rem,3vw,3rem);line-height:1.12}
.apply-page .application-aside #step-label{margin-top:42px}
.apply-page .aside-note{margin-top:44px}
.apply-page .form-card{scroll-margin-top:90px;padding:clamp(30px,4vw,54px)}
.apply-page #application-form{scroll-margin-top:110px}
.apply-page .form-step h2{margin-bottom:32px}
.apply-page .form-card .prototype-note{margin-bottom:39px}
.apply-page .apply-closing .closing-layout{align-items:center}

@media(max-width:1000px){
 .models-page .regen-visual{grid-template-columns:1fr;gap:25px}
 .models-page .regen-calendar{min-height:210px}
 .models-page .regen-calendar span{margin-bottom:30px}
}
@media(max-width:900px){
 .journey-page .hero-layout,.models-page .hero-layout,.apply-page .hero-layout{grid-template-columns:1fr;gap:40px}
 .journey-page .hero-copy h1,.models-page .hero-copy h1,.apply-page .hero-copy h1{max-width:830px;font-size:clamp(3.25rem,6vw,4.25rem)}
 .journey-page .hero-photo,.models-page .hero-photo,.apply-page .hero-photo{width:min(100%,720px);height:420px}
 .journey-page .boundary-layout,.models-page #dimensions .support-layout,.models-page .regen-layout,.apply-page .apply-layout{grid-template-columns:1fr;gap:42px}
 .journey-page .journey-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
 .journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage{min-height:175px;border-bottom:1px solid #c7dce5}
 .journey-page .journey-timeline li:nth-child(odd){padding-left:0;border-left:0}
 .journey-page .journey-timeline li:nth-child(odd)::before{left:0}
 .journey-page .journey-timeline li:nth-last-child(-n+2){border-bottom:0}
 .journey-page .boundary-diagram{max-width:630px}
 .models-page .regen-visual{grid-template-columns:minmax(180px,.8fr) minmax(200px,1fr);max-width:680px}
 .apply-page .application-aside{display:block}
 .apply-page .application-aside h2{max-width:none}
 .apply-page .application-aside #step-label{max-width:340px;margin:20px 0 10px}
 .apply-page .application-aside .progress-track{max-width:340px;margin-bottom:17px}
 .apply-page .application-aside>p:not(.section-label):not(#step-label){max-width:480px}
 .apply-page .aside-note{max-width:500px;margin-top:20px}
}
@media(max-width:640px){
 .journey-page .hero-copy h1,.models-page .hero-copy h1,.apply-page .hero-copy h1{font-size:clamp(2.75rem,11vw,3.6rem)}
 .journey-page .hero-photo,.models-page .hero-photo,.apply-page .hero-photo{height:330px}
 .journey-page .source-comparison{grid-template-columns:1fr}
 .journey-page .source-comparison article,.journey-page .source-comparison article+article{min-height:0;padding:29px 0 32px;border-left:0}
 .journey-page .source-comparison article+article{border-top:1px solid #c8dce5}
 .journey-page .source-comparison article+article::before{top:-2px;left:0}
 .journey-page .source-comparison h3{margin:18px 0 12px}
 .journey-page .source-foot{margin-top:16px}
 .journey-page .source-outcome{padding:26px 5px 0}
 .journey-page .source-outcome::before,.journey-page .source-outcome::after{display:none}
 .journey-page .journey-timeline{grid-template-columns:1fr;padding-left:35px}
 .journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage,.journey-page .journey-timeline li:not(:nth-child(4n+1)){min-height:0;padding:0 0 31px 19px;border:0;border-left:1px solid #b5d0dc}
 .journey-page .journey-timeline li:last-child{border-left-color:transparent}
 .journey-page .journey-timeline li::before,.journey-page .journey-timeline li:not(:nth-child(4n+1))::before{top:0;left:-8px}
 .journey-page .journey-timeline li h3{margin:7px 0}
 .journey-page .journey-timeline li p{max-width:none}
 .journey-page .boundary-diagram{padding:7px 24px}
 .journey-page .boundary-diagram span{font-size:.93rem}
 .models-page .tier-rows article{grid-template-columns:36px 1fr;gap:8px 13px}
 .models-page .tier-axis{grid-column:2;justify-self:start;align-self:start;margin-top:4px}
 .models-page .regen-visual{grid-template-columns:1fr;gap:34px}
 .models-page .regen-calendar{max-width:300px;min-height:230px}
 .apply-page .application-aside{display:block}
 .apply-page .application-aside h2{max-width:none}
 .apply-page .application-aside #step-label{margin-top:28px}
 .apply-page .aside-note{margin-top:22px}
 .apply-page .form-card{padding:25px 19px}
}
/* The patient sequence stays chronological from 01 through 08 at every width. */
.journey-page .journey-timeline{display:block;max-width:1040px;margin-inline:auto;padding-left:22px}
.journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage,.journey-page .journey-timeline li:not(:nth-child(4n+1)){
 display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;align-items:baseline;
 min-height:0;padding:22px 28px 23px 42px;border:0;border-left:1px solid #accbd8;border-bottom:1px solid #d1e1e8;background:transparent
}
.journey-page .journey-timeline li:last-child{border-left-color:transparent;border-bottom:0}
.journey-page .journey-timeline li::before,.journey-page .journey-timeline li:not(:nth-child(4n+1))::before{top:28px;left:-8px}
.journey-page .journey-timeline li h3{margin:0;font-size:clamp(1.27rem,1.8vw,1.6rem)}
.journey-page .journey-timeline li>div{display:grid;grid-template-columns:minmax(165px,.55fr) minmax(0,1.45fr);gap:24px;align-items:baseline}
.journey-page .journey-timeline li p{max-width:570px;margin:0;font-size:.88rem;line-height:1.6}
.journey-page .journey-timeline li.clinical-stage{background:linear-gradient(90deg,rgba(210,238,244,.55),transparent 84%)}
.journey-page .journey-key{max-width:1040px;margin:26px auto 0;padding-left:64px}
@media(max-width:900px){
 .journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage,.journey-page .journey-timeline li:not(:nth-child(4n+1)),.journey-page .journey-timeline li:nth-child(odd){
  grid-template-columns:43px minmax(0,1fr);padding:20px 15px 21px 35px;border:0;border-left:1px solid #accbd8;border-bottom:1px solid #d1e1e8
 }
 .journey-page .journey-timeline li:last-child{border-left-color:transparent;border-bottom:0}
 .journey-page .journey-timeline li::before,.journey-page .journey-timeline li:nth-child(odd)::before{top:27px;left:-8px}
}
@media(max-width:640px){
 .journey-page .journey-timeline{padding-left:17px}
 .journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage,.journey-page .journey-timeline li:not(:nth-child(4n+1)),.journey-page .journey-timeline li:nth-child(odd){
  display:block;padding:17px 14px 19px 24px;border:0;border-left:1px solid #accbd8;border-bottom:1px solid #d1e1e8
 }
 .journey-page .journey-timeline li:last-child{border-left-color:transparent;border-bottom:0}
 .journey-page .journey-timeline li::before,.journey-page .journey-timeline li:nth-child(odd)::before{top:22px;left:-8px}
 .journey-page .journey-timeline li>span{display:block;margin-bottom:5px}
 .journey-page .journey-timeline li>div{display:block}
 .journey-page .journey-timeline li h3{margin:0 0 6px}
 .journey-page .journey-key{padding-left:40px}
}
/* Final visual refinements: no control-like badges or boxed handoff art. */
.journey-page .hero-photo img{transform:scale(1.16);transform-origin:center 72%;object-position:center 68%}
.journey-page .source-outcome-icon{display:block;width:54px;height:54px;margin:0 0 10px;border:0;border-radius:0;background:transparent;color:#0876ac}
.journey-page .journey-timeline li,.journey-page .journey-timeline li.clinical-stage,.journey-page .journey-timeline li:not(:nth-child(4n+1)),.journey-page .journey-timeline li:nth-child(odd){border-bottom:0}
.journey-page .journey-timeline li:nth-child(n+5){border-top:0}
.journey-page .journey-timeline li,
.journey-page .journey-timeline li:nth-child(n+5),
.journey-page .journey-timeline li.clinical-stage{border-top:0!important;border-bottom:0!important}
.journey-page .journey-timeline li:last-child{border-bottom:0}
.journey-page .boundary-diagram{display:grid;grid-template-columns:minmax(0,1fr) 95px minmax(0,1fr);gap:12px;align-items:center;padding:0;border-radius:0;background:transparent;box-shadow:none;color:#153a54}
.journey-page .boundary-diagram>div.boundary-phase{display:flex;flex-direction:column;align-items:flex-start;min-height:225px;padding:0 0 12px;border:0;border-top:1px solid #9cc5d4;background:transparent}
.journey-page .boundary-phase svg{width:59px;height:59px;margin:25px 0 18px;color:#0b76a7}
.journey-page .boundary-phase.clinical svg{color:#31a6b9}
.journey-page .boundary-phase b{margin:0 0 12px;color:#0876ac;font-size:.68rem;letter-spacing:.11em}
.journey-page .boundary-phase span{font:600 clamp(.85rem,1.05vw,1.06rem)/1.5 "DM Sans",Arial,sans-serif}
.journey-page .boundary-handoff{display:grid;gap:11px;justify-items:center;align-items:center;padding:50px 0 0;color:#0876ac;text-align:center}
.journey-page .boundary-handoff span{font-size:.63rem;font-weight:800;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.journey-page .boundary-handoff svg{width:74px;height:18px}
.models-page .dimension-list::before{content:none}
@media(max-width:900px){
 .journey-page .boundary-diagram{max-width:none;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr)}
 .journey-page .boundary-diagram>div.boundary-phase{min-height:210px}
}
@media(max-width:640px){
 .journey-page .hero-photo img{transform:scale(1.13);transform-origin:center 70%}
 .journey-page .boundary-diagram{grid-template-columns:1fr;gap:8px}
 .journey-page .boundary-diagram>div.boundary-phase{min-height:0;padding:0 0 20px}
 .journey-page .boundary-phase svg{margin:18px 0 11px}
 .journey-page .boundary-handoff{justify-items:start;display:grid;gap:0;padding:0 0 12px 4px}
 .journey-page .boundary-handoff svg{width:74px;height:18px;margin:28px 0 30px -23px;transform:rotate(90deg);transform-origin:center}
}
