:root{--navy:#0a1628;--navy-light:#132240;--navy-mid:#1a2d4a;--teal:#1a9e8f;--teal-light:#22c4b2;--teal-glow:rgba(26,158,143,.15);--cream:#f8f5f0;--cream-dark:#ede8e0;--warm-white:#fdfcfa;--gold:#c9a84c;--gold-light:#e4cc7a;--coral:#e05c4d;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#7a7a7a;--text-on-dark:#e8e4de;--border:rgba(10,22,40,.08);--shadow-sm:0 1px 3px rgba(10,22,40,.06);--shadow-md:0 4px 16px rgba(10,22,40,.08);--shadow-lg:0 8px 32px rgba(10,22,40,.12);--shadow-xl:0 16px 48px rgba(10,22,40,.16);--font-display:"DM Serif Display",Georgia,serif;--font-body:"Source Sans 3",-apple-system,sans-serif;--font-mono:"JetBrains Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--teal);color:#fff}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse 80% 60% at 20% 80%,rgba(26,158,143,.12) 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 20%,rgba(201,168,76,.08) 0,transparent 60%),linear-gradient(180deg,rgba(10,22,40,0),rgba(10,22,40,.4));z-index:1}.hero-grid,.hero:before{position:absolute;inset:0}.hero-grid{background-image:linear-gradient(rgba(26,158,143,.04) 1px,transparent 0),linear-gradient(90deg,rgba(26,158,143,.04) 1px,transparent 0);background-size:60px 60px;z-index:0;animation:gridPulse 8s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.4}50%{opacity:.8}}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:2rem;animation:fadeUp 1.2s ease-out}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--teal-light);margin-bottom:1.5rem;animation:fadeUp 1.2s ease-out .2s both}.hero h1{font-family:var(--font-display);font-size:clamp(3rem,7vw,5.5rem);color:#fff;line-height:1.05;margin-bottom:.5rem;animation:fadeUp 1.2s ease-out .3s both}.hero h1 em{font-style:italic;color:var(--teal-light)}.hero-sub{font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.6rem);color:var(--gold-light);margin-bottom:2rem;font-style:italic;animation:fadeUp 1.2s ease-out .5s both}.hero-desc{font-size:1.05rem;color:var(--text-on-dark);max-width:600px;margin:0 auto 2.5rem;line-height:1.8;animation:fadeUp 1.2s ease-out .6s both}.hero-cta{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:var(--teal);color:#fff;font-family:var(--font-body);font-weight:600;font-size:1rem;border:none;border-radius:100px;cursor:pointer;text-decoration:none;transition:all .3s ease;animation:fadeUp 1.2s ease-out .8s both}.hero-cta:hover{background:var(--teal-light);transform:translateY(-2px);box-shadow:0 8px 30px rgba(26,158,143,.35)}.hero-cta svg{transition:transform .3s ease}.hero-cta:hover svg{transform:translateX(4px)}.course-nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(40,43%,99%,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:box-shadow .3s ease}.course-nav.scrolled{box-shadow:var(--shadow-md)}.nav-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;padding:0 2rem;height:64px;gap:1.5rem}.nav-brand{font-family:var(--font-display);font-size:1.1rem;color:var(--navy);white-space:nowrap;flex-shrink:0}.nav-progress-bar{flex:1 1;height:3px;background:var(--border);border-radius:3px;overflow:hidden}.nav-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-light));border-radius:3px;transition:width .5s ease}.nav-section-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.course-body{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;grid-gap:0;gap:0;min-height:100vh}@media (max-width:960px){.course-body{grid-template-columns:1fr}}.sidebar{position:-webkit-sticky;position:sticky;top:64px;height:calc(100vh - 64px);padding:2rem 1.5rem;border-right:1px solid var(--border);overflow-y:auto}@media (max-width:960px){.sidebar{display:none}}.sidebar-title{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem}.sidebar-item{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 0;cursor:pointer;border:none;background:none;text-align:left;width:100%;transition:all .2s ease;border-radius:6px}.sidebar-item:hover{background:rgba(26,158,143,.05);padding-left:.5rem}.sidebar-num{font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--text-muted);width:20px;flex-shrink:0;margin-top:2px}.sidebar-item.active .sidebar-num{color:var(--teal)}.sidebar-label{font-size:.85rem;color:var(--text-secondary);line-height:1.4;font-weight:400}.sidebar-item.active .sidebar-label{color:var(--navy);font-weight:600}.sidebar-item.completed .sidebar-num:after{content:"✓";margin-left:2px;color:var(--teal)}.main-content{padding:3rem 3rem 6rem;min-width:0}@media (max-width:960px){.main-content{padding:2rem 1.5rem 4rem}}.section-header{margin-bottom:3rem;animation:sectionIn .6s ease-out}@keyframes sectionIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-number{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);color:var(--navy);line-height:1.15;margin-bottom:1rem}.section-intro{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;max-width:680px}.eu-box{position:relative;background:var(--navy);border-radius:16px;padding:2.5rem 2.5rem 2.5rem 3rem;margin:2.5rem 0;overflow:hidden;animation:sectionIn .6s ease-out .15s both}.eu-box:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--teal),var(--gold));border-radius:16px 0 0 16px}.eu-box:after{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(26,158,143,.12) 0,transparent 70%);pointer-events:none}.eu-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--teal-light);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.eu-label svg{width:16px;height:16px}.eu-text{font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.4rem);color:#fff;line-height:1.5;font-style:italic}.content-tabs{display:flex;gap:0;margin:2.5rem 0 0;border-bottom:2px solid var(--border);animation:sectionIn .6s ease-out .3s both}.tab-btn{padding:.85rem 1.75rem;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;position:relative;transition:all .25s ease}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--navy);font-weight:600}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--teal)}.tab-btn.locked{opacity:.4;cursor:not-allowed}.tab-icon{margin-right:.5rem;font-size:1rem}.tab-panel{padding-top:2rem;animation:panelIn .4s ease-out}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.assessment-card{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm)}.assessment-header{padding:1.75rem 2rem;background:linear-gradient(135deg,var(--navy) 0,var(--navy-mid) 100%);display:flex;align-items:center;gap:.75rem}.assessment-badge{background:var(--teal);color:#fff;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.3rem .75rem;border-radius:100px}.assessment-title{font-family:var(--font-display);font-size:1.25rem;color:#fff}.assessment-body{padding:2rem}.assessment-body h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--navy);margin:1.5rem 0 .5rem}.assessment-body h4:first-child{margin-top:0}.assessment-body li,.assessment-body p{font-size:.92rem;color:var(--text-secondary);line-height:1.7;margin-bottom:.5rem}.assessment-body ul{padding-left:1.25rem;margin:.5rem 0}.criteria-box{background:var(--teal-glow);border:1px solid rgba(26,158,143,.2);border-radius:10px;padding:1.25rem 1.5rem;margin-top:1.5rem}.criteria-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem}.criteria-box p{font-size:.88rem;color:var(--text-secondary);margin:0}.content-section{margin-bottom:2.5rem}.content-section h3{font-family:var(--font-display);font-size:1.5rem;color:var(--navy);margin-bottom:1rem;line-height:1.3}.content-section p{font-size:.98rem;color:var(--text-secondary);line-height:1.85;margin-bottom:1rem;max-width:720px}.content-section p strong{color:var(--text-primary);font-weight:600}.behavior-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.5rem 1.75rem;margin:1rem 0;box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease}.behavior-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.behavior-card .bc-label{font-family:var(--font-body);font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}.behavior-card .bc-response{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .6rem;border-radius:4px;display:inline-block;margin-bottom:.75rem}.behavior-card.console .bc-response{background:#e0f5f1;color:#0d7d6c}.behavior-card.coach .bc-response{background:#fff3d6;color:#8a6914}.behavior-card.correct .bc-response{background:#fde2de;color:#b5342a}.behavior-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin:0}.callout{background:var(--warm-white);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:1.25rem 1.5rem;margin:1.5rem 0}.callout p{font-size:.92rem;color:var(--text-secondary);margin:0;font-style:italic}.section-nav{display:flex;justify-content:space-between;align-items:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);gap:1rem}.nav-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .25s ease;background:#fff;color:var(--navy);text-decoration:none}.nav-btn:hover{border-color:var(--teal);color:var(--teal);box-shadow:var(--shadow-sm)}.nav-btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.nav-btn.primary:hover{background:var(--teal-light);border-color:var(--teal-light);box-shadow:0 4px 16px rgba(26,158,143,.3)}.references-panel{margin-top:1rem}.ref-item{font-size:.85rem;color:var(--text-secondary);line-height:1.7;padding:.5rem 0 .5rem 2rem;text-indent:-2rem;border-bottom:1px solid var(--border)}.ref-item:last-child{border-bottom:none}.ref-item a{color:var(--teal);text-decoration:none;word-break:break-all}.ref-item a:hover{text-decoration:underline}.mobile-menu-btn{display:none;padding:.5rem;background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--navy)}@media (max-width:960px){.mobile-menu-btn{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-family:var(--font-body);font-weight:500}}.mobile-sidebar{display:none;position:fixed;inset:0;z-index:200}.mobile-sidebar.open{display:block}.mobile-overlay{position:absolute;inset:0;background:rgba(10,22,40,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-panel{position:absolute;left:0;top:0;bottom:0;width:300px;max-width:85vw;background:var(--cream);padding:2rem 1.5rem;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.mobile-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:1.1rem;margin-bottom:1.5rem}.quiz-container{margin-top:1.5rem}.quiz-question{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.quiz-question p{font-size:.92rem;font-weight:600;color:var(--navy);margin-bottom:1rem}.quiz-option{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;margin:.4rem 0;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.88rem;color:var(--text-secondary)}.quiz-option.selected,.quiz-option:hover{border-color:var(--teal);background:var(--teal-glow)}.quiz-option.selected{color:var(--navy);font-weight:500}.quiz-option.correct{border-color:#2ecc71;background:rgba(46,204,113,.1);color:#1a7a42}.quiz-option.incorrect{border-color:var(--coral);background:rgba(224,92,77,.08);color:var(--coral)}.quiz-radio{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.quiz-option.correct .quiz-radio,.quiz-option.selected .quiz-radio{border-color:var(--teal)}.quiz-option.correct .quiz-radio:after,.quiz-option.selected .quiz-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal)}.quiz-option.correct .quiz-radio{border-color:#2ecc71}.quiz-option.correct .quiz-radio:after{background:#2ecc71}.quiz-submit{margin-top:1rem;padding:.7rem 1.5rem;background:var(--teal);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease}.quiz-submit:hover{background:var(--teal-light)}.quiz-feedback{margin-top:1rem;padding:1rem 1.25rem;border-radius:10px;font-size:.88rem;line-height:1.6}.quiz-feedback.correct{background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.2);color:#1a7a42}.quiz-feedback.incorrect{background:rgba(224,92,77,.08);border:1px solid rgba(224,92,77,.15);color:#8b2920}.course-footer{background:var(--navy);padding:3rem 2rem;text-align:center;color:var(--text-on-dark)}.course-footer p{font-size:.85rem;max-width:600px;margin:0 auto .5rem;line-height:1.6}.course-footer .footer-credit{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--text-muted);margin-top:1.5rem}