.lab-page,.practice-page{background:#f3f1ec;color:#0c1b27}
.lab-page h1,.lab-page h2,.lab-page h3,.practice-page h1,.practice-page h2,.practice-page h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}
.lab-page h2,.practice-page h2{font-size:clamp(36px,4.5vw,62px);line-height:1.08;margin:16px 0 20px}
.lab-page p,.practice-page p{line-height:1.7}
.lab-hero,.practice-hero{background:radial-gradient(circle at 85% 30%,#183f70 0%,#0d2745 34%,#0a151e 78%);color:#fff;padding:90px 0 100px}
.lab-hero .shell{max-width:1180px}
.lab-hero h1,.practice-hero h1{font-size:clamp(58px,7vw,104px);line-height:.98;margin:25px 0 30px;max-width:920px}
.lab-hero em,.practice-hero em{color:#8cbaff;font-weight:400}
.lab-hero p,.practice-hero p{font-size:18px;color:#d6e5f4;max-width:670px;margin-bottom:15px}
.lab-hero small,.practice-hero small{display:block;color:#a8bfd5;margin:0 0 30px;font-size:13px}
.lab-case-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.65fr);gap:clamp(40px,7vw,110px);align-items:center}
.lab-case-grid>div>p{max-width:630px;color:#475e6d}
.lab-select-label{display:block;margin:30px 0 9px;color:#1a5796;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
#lab-instrument{display:block;width:100%;max-width:560px;background:#fff;color:#0b1c2b;border:1px solid #a3b6ca;border-radius:0;padding:16px;font:600 17px Arial,sans-serif}
#lab-case-description{min-height:60px}
.lab-resource-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:20px}
.lab-resource-links a,.lab-next-actions>a:last-child,.practice-day a{font-size:13px;font-weight:800;color:#1768bd;text-decoration:underline;text-underline-offset:5px}
.lab-summary,.practice-summary{background:#0e2a4c;color:#fff;padding:clamp(28px,4vw,48px);box-shadow:14px 14px 0 #d8e8f8}
.lab-summary>span,.practice-summary>span,.practice-milestone>span{font-size:11px;font-weight:800;letter-spacing:.17em;color:#8cbaff}
.lab-summary h3{font-size:52px;margin:26px 0 12px}
.lab-summary p,.lab-summary small,.practice-summary p,.practice-summary small{color:#d3e2f1}
.lab-summary strong{display:block;margin:30px 0 12px;font-size:17px}
.lab-progress-track,.practice-progress-track{height:9px;background:#3a5c7e;overflow:hidden;margin:12px 0 20px}
.lab-progress-track span,.practice-progress-track span{display:block;height:100%;background:#4e9dff;width:0;transition:width .2s}
.lab-cycle{background:#e8eff6}
.lab-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:35px}
.lab-step{background:#fff;border:1px solid #c7d8e6;padding:26px;min-height:270px;display:flex;flex-direction:column}
.lab-step>span{font-size:12px;font-weight:800;letter-spacing:.16em;color:#1f71c8}
.lab-step h3{font-size:30px;margin:18px 0 6px}
.lab-step p{font-size:14px;color:#526879;margin:0 0 24px}
.lab-step label{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;cursor:pointer}
.lab-step input,.practice-day input{accent-color:#216fe5;width:18px;height:18px;cursor:pointer}
.lab-step.is-done,.practice-day.is-done{border-color:#5298e0;background:#f6faff}
.lab-worksheet{background:#fff}
.lab-worksheet-head,.lab-next .shell,.practice-finish .shell{display:flex;align-items:end;justify-content:space-between;gap:40px}
.lab-worksheet-head p{max-width:660px;color:#526879}
.lab-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.lab-note-grid label,.practice-reflection{display:block;color:#0d2a47;font-size:16px;font-weight:700}
.lab-note-grid small,.practice-reflection small{display:block;color:#667d8c;font-size:13px;line-height:1.5;font-weight:400;margin:5px 0 12px}
.lab-note-grid textarea,.practice-reflection textarea{width:100%;box-sizing:border-box;display:block;resize:vertical;border:1px solid #afc3d5;background:#f7fafc;color:#102a40;border-radius:0;padding:14px;font:15px/1.55 Arial,sans-serif}
.lab-note-grid textarea:focus,.practice-reflection textarea:focus,#lab-instrument:focus{outline:2px solid #216fe5;outline-offset:2px}
.lab-save-status{font-size:13px;color:#577083;margin:15px 0 0}
.lab-next{background:#dceaf8}
.lab-next h2,.practice-finish h2{max-width:630px}
.lab-next p,.practice-finish p{max-width:620px;color:#415d74}
.lab-next-actions,.practice-finish .shell>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:20px;flex:none}
.practice-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);gap:60px;align-items:center}
.practice-hero h1{max-width:750px}
.practice-summary{box-shadow:none}
.practice-summary strong{display:block;font:400 68px Georgia,serif;letter-spacing:-.05em;margin:25px 0 4px}
.practice-summary p{margin:0}
.practice-nav{background:#0e2a4c;color:#fff}
.practice-nav .shell{display:grid;grid-template-columns:repeat(4,1fr)}
.practice-nav a{display:block;padding:20px 14px;border-right:1px solid #345574;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.practice-nav a:first-child{border-left:1px solid #345574}
.practice-nav a:hover{background:#1c4876}
.practice-nav span{display:block;font-weight:400;text-transform:none;letter-spacing:0;color:#bdcee0;margin-top:5px}
.practice-week:nth-of-type(even){background:#e8eff6}
.practice-week-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.45fr);gap:40px;align-items:end;margin-bottom:32px}
.practice-week-head p{color:#536c7d;max-width:620px}
.practice-milestone{background:#0e2a4c;color:#fff;padding:25px}
.practice-milestone p{font:400 24px/1.3 Georgia,serif;color:#fff;margin:15px 0}
.practice-milestone strong{font-size:13px;color:#a9cfff}
.practice-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.practice-day{scroll-margin-top:110px;display:flex;gap:17px;background:#fff;border:1px solid #c8d6e0;padding:25px;min-height:180px}
.practice-day-check{flex:none;padding-top:2px}
.practice-day>div>span{color:#1d70ca;font-size:11px;font-weight:800;letter-spacing:.17em}
.practice-day h3{font-size:27px;line-height:1.15;margin:10px 0}
.practice-day p{font-size:14px;color:#536b7b;margin:0 0 13px}
.practice-reflection{margin-top:27px;max-width:900px}
.practice-finish{background:#dceaf8}
.live-tools{background:#e7eef7}
.live-tools h2{font:400 clamp(36px,4.5vw,60px)/1.1 Georgia,serif;letter-spacing:-.045em;margin:17px 0 32px}
.live-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.live-tools-grid a{position:relative;background:#fff;border:1px solid #c7d8e8;padding:32px 55px 32px 32px;min-height:220px}
.live-tools-grid a:hover{border-color:#216fe5;box-shadow:0 10px 28px #12395c18}
.live-tools-grid span{color:#1768bd;font-size:11px;font-weight:800;letter-spacing:.14em}
.live-tools-grid h3{font:400 32px Georgia,serif;letter-spacing:-.04em;margin:23px 0 10px}
.live-tools-grid p{color:#536a7b;font-size:14px;line-height:1.65}
.live-tools-grid b{position:absolute;right:27px;top:27px;color:#1768bd;font-size:20px}
@media(max-width:900px){.lab-step-grid{grid-template-columns:repeat(2,1fr)}.practice-hero-grid{gap:30px}.lab-case-grid{gap:38px}}
@media(max-width:700px){.lab-hero,.practice-hero{padding:65px 0 75px}.lab-case-grid,.lab-note-grid,.practice-hero-grid,.practice-week-head,.practice-days,.live-tools-grid{grid-template-columns:1fr}.lab-worksheet-head,.lab-next .shell,.practice-finish .shell{display:block}.lab-worksheet-head button{margin-top:20px}.lab-next-actions,.practice-finish .shell>div:last-child{margin-top:25px}.practice-nav .shell{grid-template-columns:repeat(2,1fr)}.practice-nav a{border-bottom:1px solid #345574}.lab-summary{box-shadow:none}.practice-hero h1,.lab-hero h1{font-size:clamp(50px,12vw,78px)}}
@media(max-width:480px){.lab-step-grid{grid-template-columns:1fr}.lab-step{min-height:auto}.practice-day{padding:20px}.lab-hero p,.practice-hero p{font-size:16px}}
@media print{header,footer,.practice-nav,.button,.lab-next,.practice-finish,.live-tools,.lead-dialog{display:none!important}.lab-hero,.practice-hero{background:#fff;color:#000;padding:15px 0}.lab-hero em,.practice-hero em{color:#000}.lab-hero p,.practice-hero p,.lab-hero small,.practice-hero small{color:#333}.lab-hero h1,.practice-hero h1{font-size:36px}.section-pad{padding:25px 0}.lab-case-grid,.practice-hero-grid{display:block}.lab-summary,.practice-summary,.practice-milestone{background:#fff;color:#000;box-shadow:none;border:1px solid #777}.lab-summary p,.lab-summary small,.practice-summary p,.practice-summary small,.practice-milestone p{color:#222}.lab-step-grid,.practice-days{grid-template-columns:repeat(2,1fr)}.lab-step,.practice-day{break-inside:avoid;min-height:auto}.practice-week{break-before:page}.lab-note-grid textarea,.practice-reflection textarea{background:#fff;border-color:#888;min-height:100px}.lab-worksheet{break-before:page}}
