
:root{--purple:#42217e;--green:#158b47;--ink:#1e2630;--cream:#f8f7fc;--gold:#c5a15a}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:var(--cream)}button,a{cursor:pointer}header{background:white;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10} .nav{max-width:1240px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:15px 24px;gap:12px}.logo{font-weight:900;color:var(--purple);letter-spacing:.07em;font-size:22px}.logo small{display:block;color:var(--green);font-size:11px;letter-spacing:.19em}.navlinks{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;background:var(--purple);color:white;text-decoration:none;font-weight:700}.btn.outline{background:white;color:var(--purple);border:1px solid #d6cce8}.btn.green{background:var(--green)}.btn:hover{filter:brightness(1.1)}.hero{min-height:360px;background:linear-gradient(116deg,#25134a 15%,#542596 70%,#158b47);color:white;position:relative;overflow:hidden}.hero:after{content:'';width:380px;height:380px;border:42px solid #ffffff15;border-radius:50%;position:absolute;right:4%;top:0}.hero .wrap{padding:70px 24px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-weight:800;font-size:12px;color:#c8f7dc}h1{font-size:clamp(34px,5vw,61px);max-width:780px;line-height:1.08;margin:12px 0}h2{font-size:31px;color:var(--purple);margin:4px 0 10px}.hero p{max-width:690px;font-size:18px;line-height:1.6;color:#eee}.wrap{max-width:1240px;margin:auto;padding:34px 24px}.intro{font-size:17px;color:#536074;line-height:1.65;max-width:800px}.programs{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:25px 0}.program{border-radius:18px;overflow:hidden;background:white;box-shadow:0 11px 28px #23134511;border:1px solid #eae7f2}.program .visual{height:210px;display:flex;align-items:end;padding:23px;color:white;background-size:cover;background-position:center}.program.personal .visual{background-image:linear-gradient(0deg,#251344d9,#25134422),url('/assets/wpi-library-24.webp')}.program.business .visual{background-image:linear-gradient(0deg,#14442fdc,#14442f11),url('/assets/wpi-library-41.webp')}.visual strong{font-size:25px}.program .body{padding:25px}.body p{line-height:1.6}.coursegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 48px}.card{background:white;border:1px solid #eae5f0;padding:21px;border-radius:16px;box-shadow:0 7px 24px #30105b09;display:flex;flex-direction:column}.badge{font-size:12px;font-weight:850;color:var(--green);letter-spacing:.07em}.card h3{color:var(--purple);font-size:20px}.card p{flex:1;font-size:14px;line-height:1.6;color:#52606d}.card button{align-self:start}.stats{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.stat{background:white;border-radius:12px;border:1px solid #e6e2ed;padding:15px 22px;font-weight:700;color:var(--purple)}.screen{display:none}.screen.active{display:block}.crumb{color:var(--green);border:none;background:transparent;font-weight:bold;padding:8px 0}.detail-top{border-radius:20px;display:grid;grid-template-columns:1.5fr 1fr;background:white;overflow:hidden;border:1px solid #eee}.detail-top .text{padding:35px}.detail-top .photo{min-height:260px;background:linear-gradient(135deg,#42217e,#158b47);display:flex;align-items:center;justify-content:center;font-size:110px;color:white}.detail-top h2{font-size:38px}.detail-top p{line-height:1.7}.two{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px}.panel{background:white;border-radius:17px;padding:25px;border:1px solid #eee;margin-bottom:20px}.panel h3{color:var(--purple)}.steps{padding-left:23px;line-height:2}.sidebar{align-self:start}.sidebox{position:sticky;top:90px}.sidebox .btn{width:100%;margin:5px 0;text-align:center}.small{font-size:13px;color:#617083}.pill{background:#eefff4;color:#086d35;padding:7px 10px;border-radius:20px;font-size:12px;font-weight:800}.progress{height:12px;border-radius:20px;background:#e6e4ec;overflow:hidden}.progress span{display:block;background:linear-gradient(90deg,var(--purple),var(--green));height:100%}.dashgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.dashitem{background:white;border:1px solid #e9e3f0;border-radius:14px;padding:18px}.dashitem strong{display:block;color:var(--purple)}.footer{background:#211138;color:white;padding:40px 24px;margin-top:60px}.footer .wrap{padding:0}.footer p{color:#ddd;line-height:1.6}.modal{display:none;position:fixed;inset:0;background:#170d2caa;z-index:20;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modalbox{background:white;padding:26px;border-radius:18px;max-width:500px;width:100%}input{display:block;width:100%;padding:13px;margin:8px 0 15px;border:1px solid #d7d0e4;border-radius:9px}.cert{max-width:850px;margin:30px auto;background:white;border:10px double var(--gold);padding:70px 25px;text-align:center;box-shadow:0 15px 40px #0001}.cert h1{color:var(--purple);font-size:40px;margin:20px auto}.cert h2{color:var(--green);font-size:26px}.cert p{line-height:1.8} @media(max-width:800px){.programs,.coursegrid,.two,.detail-top,.dashgrid{grid-template-columns:1fr}.nav{flex-direction:column}.coursegrid{gap:12px}.detail-top .photo{min-height:150px}.sidebox{position:static}}@media print{header,.footer,.noprint{display:none!important}.screen{display:none!important}#certificate{display:block!important}.cert{box-shadow:none;margin:20px auto}body{background:white}}

.toolgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.toolgrid label{font-weight:650;color:#42217e}.toolresult{background:#f0fcf5;border-left:5px solid #158b47;border-radius:9px;padding:13px 19px;margin-top:18px}.toolresult p{margin:9px 0}.resourcebar{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.resourcebar .btn{font-size:13px}.curricgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}.curricunit{padding:15px;border:1px solid #dfd9e9;border-radius:14px;background:#faf8ff}.curricunit b{color:#42217e}.course-evidence{border-left:4px solid #158b47;background:#f0faf4;padding:12px 15px;margin:14px 0;border-radius:5px}.print-sheet{font-family:Georgia,serif;color:#222;line-height:1.55;margin:32px auto;max-width:850px}.print-sheet h1,.print-sheet h2{color:#42217e}.print-sheet h2{border-bottom:2px solid #158b47;padding-bottom:5px}.worksheet-line{border-bottom:1px solid #bbb;height:32px;margin:5px 0}

button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b08a40;outline-offset:3px}textarea,select{width:100%;padding:12px;border:1px solid #bcb4cc;border-radius:9px;font:inherit}textarea{min-height:100px}label{display:block;margin:12px 0;font-weight:600}input[type=checkbox],input[type=radio]{width:auto;display:inline;margin:0 8px 0 0}.notice{padding:16px;border-left:4px solid var(--gold);background:#fffae9;border-radius:8px;line-height:1.6}.error{background:#fff0f0;color:#8e2222;border-color:#bc3535}.success{background:#e7faee;color:#135b30}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.unit{padding:18px;border:1px solid #ddd3eb;border-radius:12px;margin:12px 0}.unit h3{margin-top:0}.detail-top .photo img{width:100%;height:100%;object-fit:cover;min-height:260px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #ddd}fieldset{min-width:0}legend{font-weight:700}.review-list{display:grid;gap:12px}.muted{color:#5a5366}.wrap h2{scroll-margin-top:100px}#feedback{position:sticky;top:0;z-index:25}#feedback:empty{display:none}.hero:after{pointer-events:none}header .nav{max-width:1240px}.embedded header .portal-return,.embedded .footer{display:none}.embedded header{position:static}.embedded .hero{min-height:250px}.embedded .hero .wrap{padding:35px 24px}.cert .eyebrow{color:var(--green)}@media(max-width:600px){.wrap{padding:24px 14px}.panel,.detail-top .text{padding:20px}.nav{padding:12px}.btn{padding:11px 13px}.cert{padding:35px 14px}.cert h1{font-size:29px}}
/* Scoped section media preserves the portal shell and existing course actions. */
.lesson-video{margin:16px 0 20px}.lesson-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#211c31;border-radius:12px;object-fit:contain}.lesson-video figcaption{padding:10px 2px}.video-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:7px;font-size:.9rem}.video-links a{color:#42217e;text-decoration:underline}.video-error{color:#8b2635}.lesson-video video:focus-visible{outline:3px solid #158b47;outline-offset:4px}

/* Use the available width for course content and learning tools. */
@media screen and (min-width:701px){.wrap{width:100%;max-width:none;padding-left:clamp(18px,2vw,36px);padding-right:clamp(18px,2vw,36px)}}

/* 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}

.unit-playback{padding:14px 0}.unit-playback button[aria-pressed="true"]{background:#42217e;border-color:#42217e;box-shadow:0 0 0 2px #c5a15a}
