:root{--purple:#42217e;--green:#158b47;--gold:#c5a15a;--ink:#211c31;--muted:#625b6e;--paper:#f7f5fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:16px/1.65 system-ui,sans-serif;color:var(--ink)}header{background:white;border-bottom:5px solid var(--purple);padding:22px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:25px;text-decoration:none;color:var(--purple);font-weight:800;line-height:1.5}.brand img{width:180px;height:auto}.brand small{font-weight:500;color:var(--green)}nav{display:flex;gap:18px;flex-wrap:wrap}a{color:var(--purple)}nav a{text-decoration:none;font-weight:650}nav a:hover{color:var(--green);text-decoration:underline}main{max-width:1240px;margin:auto;padding:30px 24px 60px}h1,h2,h3{color:var(--purple);line-height:1.25}h1{font-size:clamp(2rem,4vw,3.2rem);margin:.4em 0}h2{font-size:1.8rem}h3{font-size:1.25rem}.eyebrow{color:var(--green);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin-bottom:30px}.hero img{width:100%;height:auto;display:block;border:2px solid var(--gold);border-radius:20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card,.panel{background:white;border:1px solid #e1dbe9;border-radius:16px;padding:24px;margin-bottom:22px}.card{margin:0;display:flex;flex-direction:column}.card .buttons{margin-top:auto;padding-top:14px}.badge{display:inline-block;background:#eee7f6;color:var(--purple);padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:750}.muted,.small{color:var(--muted);font-size:.9rem}.notice{padding:16px 20px;border-left:4px solid var(--green);background:#eef8f1;border-radius:8px;margin:16px 0}.error{border-color:#a9324a;background:#fff0f2}.btn,button{display:inline-block;border:1px solid var(--purple);border-radius:9px;background:var(--purple);color:white;padding:10px 17px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer}.btn.green,button.green{background:var(--green);border-color:var(--green)}.btn.outline,button.outline{background:white;color:var(--purple)}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}button:hover:not(:disabled),.btn:hover{filter:brightness(.94)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.family-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.family-strip>div{padding:15px;border-left:3px solid var(--green);background:white}.course-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px}.lesson-menu{background:white;border:1px solid #ddd3e7;border-radius:14px;padding:15px;height:max-content}.lesson-menu details{border-bottom:1px solid #e1dbe9;padding:11px 0}.lesson-menu summary{font-weight:700;color:var(--purple);cursor:pointer}.lesson-menu a{display:block;padding:9px 10px;border-bottom:1px solid #eee;text-decoration:none;font-size:.84rem;line-height:1.5;border-radius:6px}.lesson-menu a:hover,.lesson-menu a.active{background:var(--purple);color:white}.lesson-menu a.done:before{content:'✓ ';color:var(--green);font-weight:900}.video-frame{background:#211c31;border-radius:14px;overflow:hidden}.video-frame video{width:100%;aspect-ratio:16/9;display:block}.video-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 0}.video-controls .buttons{gap:8px}.progress{height:12px;background:#e5deed;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}.targets{padding-left:23px}.targets li{margin:8px 0}.chart{width:100%;max-height:350px;background:#fbfafc;border-radius:10px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #e3dcea}th{background:var(--purple);color:white}tbody tr:nth-child(even){background:#f5f2f9}.concept-map{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;counter-reset:step}.concept-map li{counter-increment:step;flex:1;min-width:120px;background:#f1ebf7;border-top:3px solid var(--green);padding:12px;border-radius:8px;font-weight:650;font-size:.85rem}.concept-map li:before{content:counter(step,decimal-leading-zero);display:block;color:var(--green);font-weight:900}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-weight:650}input,textarea,select{width:100%;font:inherit;color:var(--ink);border:1px solid #bcb0cd;border-radius:8px;padding:11px;background:white;margin:5px 0 12px}input[type=radio]{width:auto;margin-right:9px}textarea{min-height:100px}.quiz fieldset{border:1px solid #ded5e7;border-radius:12px;margin:16px 0;padding:18px}.quiz legend{font-weight:750;color:var(--purple)}.quiz label{font-weight:400;padding:5px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric{background:#f1ebf7;border-radius:12px;padding:18px}.metric strong{display:block;font-size:1.55rem;color:var(--green);line-height:1.3;margin-top:6px}.readiness{background:#fff7e7;border-color:var(--gold)}#feedback{max-width:1192px;margin:auto}footer{background:var(--purple);color:white;padding:30px max(24px,calc((100vw - 1192px)/2))}footer p{font-size:.86rem;max-width:1050px}.location-map{width:100%;height:260px;border:1px solid #ddd;border-radius:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.module-status{font-size:.75rem;font-weight:400}.backlink{display:inline-block;margin-bottom:20px}.sticky-summary{position:sticky;top:12px}.quiz-feedback>div{margin:10px 0;padding:15px;border-left:3px solid var(--green);background:#eef8f1}.quiz-feedback>div.incorrect{border-color:#a9324a;background:#fff0f2}.video-error{padding:15px;background:#fff0f2;color:#7d2032}[hidden]{display:none!important}@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}.course-layout{grid-template-columns:230px minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.brand span{font-size:.85rem}}@media(max-width:700px){main{padding:20px 14px}.hero,.split,.form-grid,.course-layout{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.family-strip{grid-template-columns:1fr 1fr}.lesson-menu{max-height:330px;overflow:auto}.panel{padding:18px}.metric-grid{grid-template-columns:1fr 1fr}.brand img{width:135px}.brand{gap:13px}.video-controls button,.video-controls .btn{padding:8px 12px}.metric strong{font-size:1.25rem}header{padding:18px 14px}.concept-map li{min-width:100px}}@media print{header,nav,footer,.video-frame,.video-controls,.lesson-menu,.buttons,#feedback{display:none!important}body{background:white}.course-layout,.hero{display:block}.panel{break-inside:avoid;border:0}main{padding:0}.chart{max-height:280px}}

/* Expand the lesson workspace while keeping the lesson menu readable. */
@media screen and (min-width:701px){
 main{width:100%;max-width:none;padding-left:clamp(18px,2vw,36px);padding-right:clamp(18px,2vw,36px)}
 #feedback{max-width:none;margin:0 clamp(18px,2vw,36px)}
 .course-layout>section,.course-layout>div{min-width:0}
}

/* Keep green labels and controls readable against white and pale surfaces. */
:root{--green:#08723b}
input,select,textarea{color:#211c31;background:#fff}
input::placeholder,textarea::placeholder{color:#625b6e;opacity:1}

/* Rounded lesson photographs and image frames. */
main img,.screen img{border-radius:14px}
.program .visual,.detail-top .photo{border-radius:16px;overflow:hidden}

.video-controls button[aria-pressed="true"]{background:var(--purple);border-color:var(--purple);box-shadow:0 0 0 2px #c5a15a}#playback-status{margin-top:0}.video-controls{align-items:center}
.chapter-session{display:grid;gap:8px;padding:18px;background:#f1f6fb;border:1px solid #c8dbe8;border-radius:12px;margin:18px 0;color:#173b53}.chapter-session>span{font-size:14px}.chapter-session label{display:flex;gap:10px;align-items:center;font-size:14px}.chapter-session input{width:auto}
