/* Start to Finish: the whole program path, with what each step asks and costs, from applying to graduating. */
.roadmap{--rm-cols:1fr 1fr .9fr 1fr 1.32fr 1fr;--rm-gap:22px;--rm-ok:#5fd39a}
.rm-top{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:end;margin-bottom:52px}
.rm-top h2{margin-bottom:0;max-width:560px;color:#fff}
.roadmap .rm-lead{font-size:18px;line-height:1.65;margin:0;color:#dbe6f3}
.rm-groups{display:grid;grid-template-columns:var(--rm-cols);column-gap:var(--rm-gap);margin:0 0 26px}
.rm-groups span{position:relative;grid-column:1/3;padding-bottom:10px;border-bottom:2px dashed var(--blueprint-line-bright);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#cfe3ff}
.rm-groups .rm-g2{grid-column:4/7;border-bottom:2px solid var(--marker);color:#f7b48f}
.rm-groups span:before,.rm-groups span:after{content:'';position:absolute;bottom:-12px;height:12px;border-left:2px solid var(--blueprint-line-bright)}
.rm-groups span:before{left:0}.rm-groups span:after{right:0}
.rm-groups .rm-g2:before,.rm-groups .rm-g2:after{border-left:2px solid var(--marker)}
.rm-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:var(--rm-cols);column-gap:var(--rm-gap)}
.rm-path>li{position:relative;display:flex;flex-direction:column;min-width:0}
.rm-path>li:nth-child(1){--i:0}.rm-path>li:nth-child(2){--i:1}.rm-path>li:nth-child(3){--i:2}.rm-path>li:nth-child(4){--i:3}.rm-path>li:nth-child(5){--i:4}.rm-path>li:nth-child(6){--i:5}
.rm-path>li:not(:last-child):after{content:'';position:absolute;top:21px;left:54px;right:calc(8px - var(--rm-gap));height:2px;background:var(--blueprint-line);transform-origin:left center}
.rm-path>li.rm-before:after{background:repeating-linear-gradient(90deg,var(--blueprint-line) 0 7px,transparent 7px 13px)}
.rm-path>li.rm-decide:after{background:var(--marker)}
.rm-node{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blueprint-navy);border:2px solid var(--blueprint-line);font-size:13px;font-weight:700;letter-spacing:.06em;color:#eaf2ff;margin-bottom:22px}
.rm-diamond{background:transparent;border:0}
.rm-diamond i{display:block;width:30px;height:30px;transform:rotate(45deg);background:var(--blueprint-navy);border:2px solid var(--marker);box-shadow:inset 0 0 0 6px var(--blueprint-navy),inset 0 0 0 20px var(--marker)}
.rm-grad .rm-node{background:var(--marker);border-color:var(--marker);color:var(--blueprint-navy-deep)}
.rm-body{display:flex;flex-direction:column;flex:1;min-width:0}
.rm-glabel{display:none}
.roadmap h3{font-size:21px;line-height:1.25;letter-spacing:-.01em;color:#fff;margin:0 0 10px}
.roadmap .rm-body>p{font-size:15px;line-height:1.55;color:#cfdbe8;margin:0 0 18px}
.rm-decide h3{font-size:18px}
.roadmap .rm-decide .rm-body>p{font-size:14px}
.rm-dealrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin:0 0 18px}
.rm-deal{position:relative;min-width:0;border:1px solid rgba(111,177,252,.5);border-radius:4px;padding:8px 6px 8px 25px;font-size:12.5px;font-weight:600;color:#eaf2ff;white-space:nowrap}
.rm-deal:before{content:'';position:absolute;left:7px;top:50%;width:13px;height:13px;margin-top:-7px;border:1.5px solid var(--blueprint-line);border-radius:2px}
.rm-deal:after{content:'';position:absolute;left:10px;top:50%;width:8px;height:4px;margin-top:-4px;border-left:2px solid var(--rm-ok);border-bottom:2px solid var(--rm-ok);transform:rotate(-45deg)}
.rm-deal:nth-child(1){--d:0}.rm-deal:nth-child(2){--d:1}.rm-deal:nth-child(3){--d:2}
.rm-ledgers{margin-top:auto;display:grid;gap:10px}
.rm-ledger{margin:0;border:1px solid rgba(111,177,252,.32);border-left:3px solid var(--blueprint-line);border-radius:4px;padding:12px 14px;background:rgba(6,27,51,.6);font-size:14px;line-height:1.45}
.roadmap .rm-ledger{color:#fff}
.rm-ledger b{display:block;font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#a8cfff;margin-bottom:4px}
.rm-free{border-left-color:var(--rm-ok)}.rm-free b{color:#8fe3b6}
.rm-cost{border-left-color:var(--marker)}.rm-cost b{color:#f7b48f}
.rm-back{border-left-color:var(--rm-ok);background:rgba(46,140,90,.2)}.rm-back b{color:#8fe3b6}
.rm-keep b{color:#9fc9ff}
.roadmap .rm-body a{color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:var(--blueprint-line);text-decoration-thickness:1.5px;text-underline-offset:3px}
.roadmap .rm-body a:hover{text-decoration-color:var(--marker)}
.roadmap .rm-body a:focus-visible{outline:3px solid var(--marker);outline-offset:2px;border-radius:2px}
.rm-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:56px;padding-top:36px;border-top:1px solid rgba(111,177,252,.25)}
.rm-foot .btn{margin:0}
.roadmap .rm-note{font-size:14px;line-height:1.5;color:#cfdbe8;margin:0;max-width:360px}
.rm-more{margin-left:auto;color:#eaf2ff;font-weight:600;font-size:14px;text-underline-offset:4px}
.rm-more:focus-visible{outline:3px solid var(--marker);outline-offset:3px}

/* Drawing animation, only when JavaScript runs and motion is allowed. Text never waits on it. */
.rm-js .rm-path>li:after{transform:scaleX(0);transition:transform .55s ease calc(var(--i) * .26s + .2s)}
.rm-js .rm-node{opacity:.3;transform:scale(.6);transition:transform .45s cubic-bezier(.2,.8,.3,1.25) calc(var(--i) * .26s),opacity .45s ease calc(var(--i) * .26s)}
.rm-js .rm-deal:after{transform:rotate(-45deg) scale(0);transition:transform .3s ease calc(1.3s + var(--d) * .3s)}
.rm-js .rm-back{opacity:.35;transition:opacity .5s ease 2.3s}
.rm-js.rm-on .rm-path>li:after{transform:none}
.rm-js.rm-on .rm-node{opacity:1;transform:none}
.rm-js.rm-on .rm-deal:after{transform:rotate(-45deg) scale(1)}
.rm-js.rm-on .rm-back{opacity:1}

@media(max-width:1080px){
.rm-top{grid-template-columns:1fr;gap:16px;margin-bottom:36px}
.rm-groups{display:none}
.rm-glabel{display:block;margin:2px 0 12px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#cfe3ff}
.rm-program .rm-glabel{color:#f7b48f}
.rm-path{grid-template-columns:1fr;max-width:720px}
.rm-path>li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px;padding-bottom:34px}
.rm-path>li:last-child{padding-bottom:0}
.rm-node{margin:0}
.rm-path>li:not(:last-child):after{top:52px;bottom:6px;left:21px;right:auto;width:2px;height:auto;transform-origin:center top}
.rm-path>li.rm-before:after{background:repeating-linear-gradient(180deg,var(--blueprint-line) 0 7px,transparent 7px 13px)}
.rm-js .rm-path>li:after{transform:scaleY(0)}
.rm-ledgers{margin-top:0}
.rm-decide h3{margin-top:10px}
.rm-foot{margin-top:40px;padding-top:28px}
.rm-more{margin-left:0}
}
@media(max-width:760px){
.roadmap .rm-lead{font-size:17px}
.rm-path>li{column-gap:14px}
.roadmap h3{font-size:20px;margin-top:9px}
.rm-glabel+h3{margin-top:0}
.rm-foot{flex-direction:column;align-items:stretch;text-align:center}
.rm-foot .btn{width:100%}
.roadmap .rm-note{max-width:none}
}
@media(prefers-reduced-motion:reduce){
.rm-js .rm-path>li:after,.rm-js .rm-node,.rm-js .rm-deal:after,.rm-js .rm-back{transition:none;transform:none;opacity:1}
.rm-js .rm-deal:after{transform:rotate(-45deg)}
}
