/* A horizontal workbook, driven by native vertical scrolling. */
.campus-timeline{padding:88px 0 72px;background:#060510;scroll-margin-top:88px}
.weeks-wrap{max-width:1260px}
.weeks-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}
.weeks-heading h2{font-size:clamp(42px,4.5vw,64px);line-height:1;letter-spacing:-.05em}
.weeks-heading>p{font-size:17px;line-height:1.55;color:#acb8f9;max-width:36ch;padding-bottom:4px}
.weeks-stage{position:relative}
.weeks-rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:5px;margin:0 0 22px;border-radius:16px;background:#13132a;border:1px solid #b8c6ff25}
.weeks-rail a{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:46px;border-radius:11px;text-decoration:none;color:#9ca7d3;transition:background .3s,color .3s,box-shadow .3s;font-size:15px;text-align:center;position:relative}
.weeks-rail a:after{content:'';position:absolute;left:50%;top:18px;bottom:18px;width:1px;background:currentColor;opacity:.24}
.weeks-rail a.is-current{color:#fff;background:linear-gradient(135deg,#6d84ff,#516af6);box-shadow:inset 0 1px 1px #e9edff77,0 3px 14px #516af62e}
.weeks-rail a:hover{color:#fff;background-color:#acb8f91a}
.weeks-rail a:focus-visible{outline:2px solid #eaedff;outline-offset:3px}
.weeks-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.weeks-track{display:grid;gap:24px}
.week-panel{position:relative;display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:1fr auto;column-gap:7%;row-gap:28px;padding:46px 44px 28px;border-radius:30px;background:#d7ddff;color:#0b091f;box-shadow:inset 0 2px 1px #f5f7ff,inset 0 -2px 2px #b2bdef;scroll-margin-top:90px;min-width:0}
.week-panel:nth-child(2){background:#cbd5ff}.week-panel:nth-child(3){background:#dddffc}.week-panel:nth-child(4){background:#cbd4f6}
.week-copy{align-self:center;min-width:0}
.week-range{display:block;color:#536493;font-size:13px;line-height:1.35;margin-bottom:22px}
.week-copy h3{font-size:clamp(30px,3.2vw,44px);line-height:1.04;letter-spacing:-.045em}
.week-copy>p{font-size:17px;line-height:1.5;color:#404967;margin-top:22px;max-width:33ch}
.week-art{align-self:center;min-width:0;position:relative;padding:10px 0}
.work-paper{position:relative;background:#f0f2ff;border:1px solid #fff;border-radius:18px;box-shadow:0 14px 25px -15px #53649f55,inset 0 -1px 0 #b5c0eaaa;padding:22px}
.contacts-art .work-paper{transform:rotate(-2deg)}
.work-paper-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;color:#263359;margin-bottom:19px}
.work-paper-head svg{width:20px;height:20px;flex:0 0 20px;color:#677cc5}
.contact-line{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid #cdd4ee}
.contact-avatar{display:grid;place-items:center;background:#d7defc;color:#566bc3;border-radius:50%;width:37px;height:37px;flex:0 0 37px;font-size:21px}
.contact-line strong,.contact-line div>span{display:block;font-size:14px;line-height:1.45}
.contact-line div>span{font-size:12px;color:#617092;margin-top:2px}
.paper-note{font-size:11px;color:#657399;line-height:1.4;margin-top:10px}
.conversations-art{padding-inline:8px}
.conversation-note{background:#f3f5ff;border:1px solid #fff;padding:20px;border-radius:19px 19px 19px 5px;box-shadow:0 8px 16px -12px #52629855;position:relative;margin-right:20px}
.conversation-note strong,.conversation-note>span:last-child{display:block;margin-left:19px;font-size:15px;line-height:1.4}
.conversation-note>span:last-child{font-size:12px;color:#617092;margin-top:7px}
.note-dot{position:absolute;left:19px;top:25px;width:7px;height:7px;background:#637afd;border-radius:50%}
.conversation-reply{display:flex;align-items:flex-start;gap:12px;padding:22px 6px 22px 24px;color:#52679d}
.conversation-reply svg{flex:0 0 23px;width:23px;height:23px}
.conversation-reply strong{display:block;font-size:14px;color:#35476f}
.conversation-reply div>span{display:block;font-size:12px;line-height:1.4;margin-top:5px}
.next-step-note{display:flex;justify-content:space-between;align-items:center;margin-left:36px;padding:18px 20px;color:#fff;border-radius:16px 16px 5px 16px;background:linear-gradient(135deg,#6a81ff,#516af6);box-shadow:inset 0 1px 1px #ccd5ffb3,0 9px 18px -12px #263eb8;font-size:15px}
.checklist-art .work-paper{transform:rotate(1.5deg)}
.checklist-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #cdd4ee;font-size:14px}
.checklist-row>span{width:15px;height:15px;border:1.5px solid #95a6db;border-radius:4px;flex:0 0 15px;box-shadow:inset 0 1px 2px #b7c4ea33}
.review-row{padding:14px 0;border-top:1px solid #cdd4ee}
.review-row>span{display:block;color:#617092;font-size:12px;margin-bottom:5px}.review-row strong{font-size:15px}
.review-decisions{display:flex;gap:6px;margin-top:14px}.review-decisions>span{flex:1;background:#dce3ff;border:1px solid #fff8;border-radius:8px;padding:10px 5px;text-align:center;font-size:12px;color:#445883}.review-decisions>span:last-child{background:#516af6;color:#fff}
.week-output{display:flex;align-items:baseline;gap:16px;grid-column:1/-1;font-size:14px;line-height:1.45;padding-top:23px;border-top:1px solid #6a7daf33}
.week-output>span{color:#56658b;white-space:nowrap}.week-output>strong{color:#24365f}
.weeks-progress{display:none;align-items:center;gap:18px;color:#acb8f9;font-size:12px;padding:20px 2px 0;line-height:1.3}
.weeks-progress>div{flex:1;height:2px;background:#a8b8f229;overflow:hidden;border-radius:2px}.weeks-progress i{display:block;height:100%;background:#acb8f9;transform:scaleX(var(--weeks-progress,.02));transform-origin:left}
.weeks-note{margin:28px 0 0;font-size:13px;line-height:1.6;color:#97a2ca;max-width:69ch}
.weeks-enhanced .weeks-stage{position:sticky;top:88px;height:min(650px,calc(100svh - 120px));display:flex;flex-direction:column}
.weeks-enhanced .weeks-rail{flex-shrink:0}
.weeks-enhanced .weeks-window{flex:1;min-height:0;overflow:hidden;border-radius:30px;isolation:isolate}
.weeks-enhanced .weeks-track{display:flex;gap:0;height:100%;transform:translateX(calc(var(--week-index,0) * -100%));transition:transform .55s cubic-bezier(.22,.8,.24,1);will-change:transform}
.weeks-enhanced .week-panel{flex:0 0 100%;height:100%;border-radius:0}
.weeks-enhanced .weeks-progress{display:flex;flex-shrink:0}
@media(max-width:1100px) and (min-width:761px){.week-panel{padding:30px 28px 24px;column-gap:5%}.week-copy h3{font-size:34px}.week-copy>p{font-size:15px}.work-paper{padding:17px}.week-range{font-size:12px}.week-output{font-size:13px}}
@media(max-width:760px){
 .campus-timeline{padding:54px 0 48px}.weeks-heading{display:block;margin-bottom:28px}.weeks-heading h2{font-size:42px}.weeks-heading h2 br{display:none}.weeks-heading>p{font-size:15px;line-height:1.45;margin-top:18px;max-width:36ch}.weeks-heading>p br{display:none}
 .weeks-rail{gap:3px;padding:4px;margin-bottom:14px;border-radius:13px}.weeks-rail a{min-height:42px;font-size:12px;border-radius:9px}.weeks-rail a:after{top:15px;bottom:15px}
 .week-panel{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding:26px 23px 22px;gap:20px;border-radius:23px}
 .week-range{font-size:12px;margin-bottom:12px}.week-copy h3{font-size:32px;line-height:1.05}.week-copy>p{font-size:15px;line-height:1.4;margin-top:15px;max-width:35ch}
 .week-art{width:100%;max-width:350px;margin:auto;padding:0}.work-paper{padding:18px;border-radius:15px}.work-paper-head{font-size:14px;margin-bottom:12px}.contact-line{padding:10px 0}.paper-note{font-size:10px;margin-top:7px}
 .conversation-note{padding:17px}.note-dot{left:17px;top:22px}.conversation-reply{padding:16px 4px 16px 18px}.next-step-note{padding:15px 17px;font-size:14px}
 .checklist-row{padding:12px 0;font-size:13px}.review-row{padding:11px 0}.review-decisions{margin-top:10px}.review-decisions>span{padding:8px 4px}
 .week-output{display:block;font-size:13px;padding-top:16px}.week-output>span{display:block;font-size:11px;margin-bottom:5px}.week-output>strong{display:block}
 .weeks-progress{padding-top:14px;gap:12px;font-size:11px}.weeks-progress>span:first-child{display:none}.weeks-note{font-size:12px;margin-top:24px}
 .weeks-enhanced .weeks-stage{top:80px;height:calc(100svh - 104px);max-height:740px}.weeks-enhanced .weeks-window{border-radius:23px}
}
@media(max-width:760px) and (max-height:740px){
 .week-panel{padding:19px 20px 16px;gap:14px}.week-range{font-size:11px;margin-bottom:9px}.week-copy h3{font-size:28px}.week-copy>p{font-size:14px;margin-top:10px}.week-output{padding-top:11px;font-size:12px}.week-output>span{margin-bottom:3px}
 .work-paper{padding:13px 15px}.work-paper-head{font-size:12px;margin-bottom:8px}.work-paper-head svg{width:17px;height:17px;flex-basis:17px}.contact-line{padding:8px 0}.contact-avatar{width:28px;height:28px;flex-basis:28px;font-size:17px}.contact-line strong{font-size:12px}.contact-line div>span{font-size:11px}.paper-note{display:none}.checklist-row{padding:9px 0;font-size:12px}.review-row{padding:8px 0}.review-row strong{font-size:13px}.review-row>span{font-size:11px}.review-decisions{margin-top:6px}.review-decisions>span{font-size:11px;padding:7px 3px}
 .conversation-note{padding:13px}.note-dot{left:13px;top:18px}.conversation-note strong{font-size:13px}.conversation-note>span:last-child{font-size:11px;margin-top:4px}.conversation-reply{padding:11px 2px 11px 12px;gap:7px}.conversation-reply strong{font-size:12px}.conversation-reply div>span{font-size:11px;margin-top:3px}.next-step-note{padding:11px 14px;font-size:12px}
}
@media(max-width:360px) and (max-height:640px){.week-panel{padding:16px 17px 14px;gap:10px}.week-copy h3{font-size:25px}.week-copy>p{font-size:13px;line-height:1.35;margin-top:9px}.week-range{font-size:10px;margin-bottom:7px}.weeks-rail{margin-bottom:10px}.weeks-progress{padding-top:10px}.work-paper-head{margin-bottom:6px}.contact-line{padding:7px 0}.week-output{font-size:11px;padding-top:10px}.conversation-reply div>span{font-size:10px}.review-row{padding:6px 0}.review-row strong{font-size:12px}.review-decisions>span{padding:6px 3px}}
@media(prefers-reduced-motion:reduce){.weeks-track,.weeks-rail a{transition:none}}
@media(max-width:760px) and (max-height:640px){
 .week-panel{padding:16px 17px 14px;gap:10px}.week-copy h3{font-size:25px}.week-copy h3 br{display:none}.week-copy>p{font-size:13px;line-height:1.35;margin-top:9px}.week-range{font-size:10px;margin-bottom:7px}
 .work-paper{padding:10px 12px}.work-paper-head{font-size:12px;line-height:1.3;margin-bottom:6px}.contact-line{padding:6px 0}.contact-line strong{font-size:12px;line-height:1.3}.contact-line div>span{line-height:1.3}
 .checklist-row{padding:7px 0;line-height:1.3}.review-row{padding:6px 0;line-height:1.3}.review-row>span{font-size:10px;line-height:1.3;margin-bottom:3px}.review-row strong{display:block;font-size:12px;line-height:1.3}.review-decisions{margin-top:6px}.review-decisions>span{font-size:10px;line-height:1.3;padding:6px 3px}
 .conversation-note{padding:11px 12px}.conversation-note strong,.conversation-note>span:last-child{line-height:1.3}.note-dot{top:16px;left:12px}.conversation-reply{padding:10px 2px 10px 10px;line-height:1.3}.next-step-note{padding:10px 12px;line-height:1.3}
 .weeks-rail{margin-bottom:10px}.weeks-progress{padding-top:10px}.week-output{font-size:11px;padding-top:10px}
}
@media(min-width:600px) and (max-height:529px){
 .weeks-enhanced .weeks-stage{top:72px;height:calc(100svh - 90px)}.weeks-enhanced .weeks-window{border-radius:20px}
 .weeks-rail{padding:3px;margin-bottom:8px}.weeks-rail a{min-height:34px;font-size:11px}.weeks-rail a:after{top:11px;bottom:11px}.weeks-progress{padding-top:9px;font-size:10px}
 .week-panel{grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;gap:8px 26px;padding:15px 22px 12px}.week-copy h3{font-size:24px}.week-range{font-size:10px;margin-bottom:8px}.week-copy>p{font-size:12px;line-height:1.35;margin-top:9px}.week-output{display:flex;gap:12px;padding-top:9px;font-size:11px}.week-output>span{font-size:10px;margin:0}.week-art{padding:0;max-width:320px}
 .work-paper{padding:10px 13px;border-radius:13px}.work-paper-head{font-size:12px;line-height:1.3;margin-bottom:6px}.work-paper-head svg{width:16px;height:16px;flex-basis:16px}.contact-line{padding:6px 0;gap:9px}.contact-avatar{width:27px;height:27px;flex-basis:27px;font-size:15px}.contact-line strong{font-size:11px;line-height:1.3}.contact-line div>span{font-size:10px;line-height:1.3}.paper-note{display:none}.checklist-row{padding:7px 0;font-size:11px;line-height:1.3}.checklist-row>span{width:12px;height:12px;flex-basis:12px}
 .conversation-note{padding:11px 12px}.conversation-note strong{font-size:12px;line-height:1.3}.conversation-note>span:last-child{font-size:10px;margin-top:4px;line-height:1.3}.note-dot{left:12px;top:15px}.conversation-reply{padding:9px 0 9px 15px;gap:8px}.conversation-reply svg{width:18px;height:18px;flex-basis:18px}.conversation-reply strong{font-size:11px;line-height:1.3}.conversation-reply div>span{font-size:10px;line-height:1.3;margin-top:3px}.next-step-note{padding:9px 12px;font-size:11px;line-height:1.3}
 .review-row{padding:5px 0;line-height:1.3}.review-row>span{font-size:10px;line-height:1.3;margin-bottom:3px}.review-row strong{display:block;font-size:11px;line-height:1.3}.review-decisions{margin-top:5px}.review-decisions>span{font-size:10px;line-height:1.3;padding:5px 3px}
}
/* Phase cards share the role browser's material, while the workbook keeps its motion. */
.weeks-browse-hint{display:block;margin-top:15px;font-size:13px;color:#acb8f9}
.weeks-rail{gap:12px;padding:0;border:0;background:none;border-radius:0;margin-bottom:20px}
.weeks-rail a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:13px 20px;min-height:72px;border-radius:18px;color:#34436d;background:#cbd3ff;border:1px solid #e9edff99;box-shadow:inset 0 1px 1px #fff8;text-align:left}
.weeks-rail a:nth-child(2){background:#c2cdff}.weeks-rail a:nth-child(3){background:#d7dcff}.weeks-rail a:nth-child(4){background:#cdd1f8}
.weeks-rail a:after{content:none}.week-nav-range{font-size:11px;line-height:1.25;opacity:.8}.weeks-rail strong{font-size:16px;line-height:1.2;letter-spacing:-.02em}
.weeks-rail a.is-current{background:linear-gradient(135deg,#6d84ff,#516af6);color:#fff;border-color:#a8b8ff80;box-shadow:inset 0 1px 1px #e9edff77,0 5px 14px #516af630}
.weeks-rail a:hover{color:#26396c;box-shadow:inset 0 0 0 2px #8197e7}.weeks-rail a.is-current:hover{color:#fff}
@media(max-width:760px){.weeks-browse-hint{font-size:12px;margin-top:12px}.weeks-rail{gap:7px;margin-bottom:14px}.weeks-rail a{align-items:center;padding:8px 4px;gap:4px;min-height:52px;border-radius:12px;text-align:center}.week-nav-range{font-size:10px}.week-nav-range>span{display:none}.weeks-rail strong{font-size:12px}.week-panel{border-radius:24px}}
@media(max-width:360px){.weeks-rail{gap:6px;margin-bottom:10px}.weeks-rail strong{font-size:11px}}
@media(min-width:600px) and (max-height:529px){.weeks-rail{gap:10px;margin-bottom:8px}.weeks-rail a{min-height:40px;padding:8px 12px;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border-radius:11px}.week-nav-range{font-size:10px}.weeks-rail strong{font-size:12px}}
/* Make the phase name the visual focus without inflating the navigation. */
@media(min-width:761px) and (min-height:530px){.weeks-rail a{padding-block:12px;min-height:76px;gap:5px}.week-nav-range{font-size:12px;line-height:1.2}.weeks-rail strong{font-size:26px;line-height:1.1;letter-spacing:-.035em}}
@media(max-width:760px){.weeks-rail strong{font-size:15px;line-height:1.05;letter-spacing:-.025em}}
@media(max-width:360px){.weeks-rail strong{font-size:14px}}
@media(min-width:600px) and (max-height:529px){.weeks-rail strong{font-size:16px;line-height:1.1}.week-nav-range{font-size:11px}}
