:root{--cf-navy:#0d1e2d;--cf-blue:#3c99c3;--cf-green:#7ab648;--cf-gold:#e5cc35;--cf-marigold:#e5901f;--cf-navy-tint:#d0d5d8;--cf-blue-tint:#d7ebf2;--cf-green-tint:#dcefd3;--cf-gold-tint:#f2edc7;--cf-marigold-tint:#f4e0d0;--cf-gradient:linear-gradient(90deg,#3c99c3,#7ab648 50%,#e5cc35);--cf-gradient-diagonal:linear-gradient(135deg,#3c99c3,#7ab648 55%,#e5cc35);--cf-ink:#0d1e2d;--cf-ink-2:#1f2d3c;--cf-slate-900:#2b3945;--cf-slate-700:#4a5663;--cf-slate-500:#737f8b;--cf-slate-400:#9097a0;--cf-slate-300:#bfc4ca;--cf-slate-200:#dadee2;--cf-slate-100:#eceff2;--cf-slate-50:#f6f8fa;--cf-paper:#fdfdfc;--cf-white:#fff;--fg-1:var(--cf-ink);--fg-2:var(--cf-slate-700);--fg-3:var(--cf-slate-500);--bg-1:var(--cf-paper);--bg-2:var(--cf-slate-50);--bg-3:var(--cf-slate-100);--bg-card:var(--cf-white);--border-1:var(--cf-slate-200);--border-2:var(--cf-slate-300);--danger:#c8443b;--danger-bg:#f9e4e2;--shadow-sm:0 1px 2px rgba(13,30,45,.04),0 2px 6px rgba(13,30,45,.04);--shadow-md:0 2px 4px rgba(13,30,45,.05),0 8px 20px rgba(13,30,45,.06);--shadow-brand:0 16px 40px rgba(60,153,195,.2),0 4px 10px rgba(122,182,72,.12);--shadow-focus:0 0 0 3px rgba(60,153,195,.28);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--font-sans:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ease-out:cubic-bezier(.2,.7,.2,1);--dur-fast:120ms;--dur-base:220ms}*{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-2);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;font-size:17px;line-height:1.5;color:var(--fg-2)}a{color:var(--cf-blue);-webkit-text-decoration-color:rgba(60,153,195,.35);text-decoration-color:rgba(60,153,195,.35);text-underline-offset:3px}button{font-family:inherit}::selection{background:rgba(122,182,72,.35);color:var(--fg-1)}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}.shell{display:grid;grid-template-columns:304px 1fr;min-height:100vh}.rail{background:var(--bg-card);border-right:1px solid var(--border-1);padding:22px 20px 28px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.rail:before{content:"";display:block;height:8px;border-radius:4px;background:var(--cf-gradient);margin:-6px 0 18px}.brand{display:block;text-decoration:none}.brand img{height:30px;display:block}.brand small{display:block;margin-top:8px;font-weight:700;color:var(--fg-3);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.progress{margin:18px 0 22px}.bar{height:8px;background:var(--bg-3);overflow:hidden}.bar,.bar>i{border-radius:4px}.bar>i{display:block;height:100%;background:var(--cf-green);transition:width var(--dur-base) var(--ease-out)}.progress b{display:block;font-size:14px;font-weight:600;color:var(--fg-2);margin-top:8px}.module{margin:20px 0 6px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.lesson-link{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:var(--radius-sm);text-decoration:none;color:var(--fg-1);font-weight:600;line-height:1.3;transition:background var(--dur-fast) var(--ease-out)}.lesson-link:hover{background:var(--bg-2)}.lesson-link.active{background:var(--cf-blue-tint);color:var(--cf-navy)}.lesson-link .n{width:26px;height:26px;border-radius:50%;border:2px solid var(--border-2);display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;color:var(--fg-3);font-weight:700}.lesson-link.done .n{background:var(--cf-green);border-color:var(--cf-green);color:#fff}.lesson-link small{display:block;font-weight:500;color:var(--fg-3);font-size:13px;margin-top:2px}.main{padding:32px 44px 90px;max-width:1180px}.topbar{display:flex;justify-content:space-between;align-items:center;color:var(--fg-3);font-size:14px;font-weight:600}.card,.topbar{margin-bottom:22px}.card{background:var(--bg-card);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:26px 28px;box-shadow:var(--shadow-sm)}h1{font-size:40px;line-height:1.05;letter-spacing:-.02em;margin:0 0 10px}h1,h2{color:var(--fg-1);font-weight:700}h2{font-size:26px;line-height:1.1;margin:0 0 12px;letter-spacing:-.01em}.eyebrow{font-size:14px;line-height:1.2;font-weight:700;color:var(--cf-blue);margin-bottom:10px}.lede{font-size:19px;line-height:1.5;color:var(--fg-2);margin:0 0 6px;text-wrap:pretty}.hero{position:relative;display:grid;grid-template-columns:1.4fr 1fr;grid-gap:26px;gap:26px;align-items:center;background:var(--cf-navy);color:#fff;border-radius:var(--radius-lg);padding:38px 40px;margin-bottom:26px;box-shadow:var(--shadow-brand);overflow:hidden}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--cf-gradient)}.hero .eyebrow{color:var(--cf-blue-tint)}.hero h1{color:#fff;font-size:44px}.hero p{color:var(--cf-navy-tint);font-size:18px;line-height:1.55;max-width:560px}.ring{width:156px;height:156px;background:conic-gradient(var(--cf-green) var(--pct),hsla(0,0%,100%,.14) 0);place-items:center;margin-left:auto}.ring,.ring>span{border-radius:50%;display:grid}.ring>span{width:122px;height:122px;background:var(--cf-ink-2);place-items:center;font-size:32px;font-weight:800;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius-pill);border:none;background:var(--cf-navy);color:#fff;font-weight:700;font-size:17px;cursor:pointer;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.green{background:var(--cf-green);color:var(--cf-navy)}.btn.gold{background:var(--cf-gold);color:var(--cf-navy)}.btn.ghost{background:transparent;border:2px solid var(--border-2);color:var(--cf-navy)}.btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.video{aspect-ratio:16/9;background:var(--cf-navy);border-radius:var(--radius-md);display:grid;place-items:center;color:#fff;overflow:hidden}.video iframe{width:100%;height:100%;border:0}.steps{counter-reset:s;list-style:none;padding:0;margin:0}.steps li{counter-increment:s;display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--border-1);font-size:17.5px;color:var(--fg-1)}.steps li:last-child{border:0}.steps li:before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--cf-blue);color:#fff;font-weight:800;display:inline-grid;place-items:center;flex-shrink:0}.ehr{border:1px solid var(--border-2);border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:var(--shadow-md)}.ehr header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--border-1);font-size:14px;font-weight:600;color:var(--fg-2)}.ehr iframe{width:100%;height:760px;border:0;display:block}.pill{display:inline-block;padding:4px 11px;border-radius:var(--radius-pill);background:var(--cf-blue-tint);color:var(--cf-navy);font-weight:700;font-size:13px}.pill.done{background:var(--cf-green-tint)}.login{max-width:460px;margin:10vh auto;padding:0 20px}.login .brand img{height:36px;margin:0 auto 14px}.login .card{box-shadow:var(--shadow-md);border-top:8px solid transparent;border-image:var(--cf-gradient) 1}.login label{display:block;font-weight:700;color:var(--fg-1);font-size:15px}.login input{width:100%;padding:13px 14px;border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:17px;margin:6px 0 16px;font-family:inherit;color:var(--fg-1)}.login input:focus{border-color:var(--cf-blue);box-shadow:var(--shadow-focus);outline:none}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.tile{background:var(--bg-card);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:18px 20px;text-decoration:none;color:var(--fg-1);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tile h3{margin:8px 0 4px;color:var(--cf-navy);font-size:19px;letter-spacing:-.01em}.tile p{margin:0;color:var(--fg-2);font-size:15px}.footer-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:12px;flex-wrap:wrap}.user{font-size:14px;color:var(--fg-3);margin:28px 0 8px;word-break:break-all}@media(max-width:900px){.shell{grid-template-columns:1fr}.rail{position:static;height:auto}.main{padding:20px 16px}.hero{grid-template-columns:1fr;padding:28px 22px}.hero h1{font-size:34px}.ring{margin:0}}