
:root{color-scheme:dark;--bg:#0b1d22;--bg2:#11292d;--surface:#163238;--surface2:#1d3b42;--line:#47676d;--white:#f5faf6;--muted:#cfddd9;--mint:#a7ebd7;--gold:#f6cf99;--focus:#ffe082;--font-scale:1}
*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--white);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65;padding-bottom:185px}body::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:800px;background:radial-gradient(ellipse at 85% 10%,#285c58 0,transparent 56%),linear-gradient(180deg,#163238 0%,var(--bg) 98%)}
a{color:var(--mint);text-underline-offset:.22em}a:hover{color:var(--gold)}button,input,summary{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,a{touch-action:manipulation}button,.btn,summary,.song-nav a{min-height:44px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-120px;left:16px;background:#fff;color:#092529;padding:12px 19px;z-index:1000;border-radius:12px}.skip:focus{top:12px}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}.topbar{border-bottom:1px solid #45626a8a;background:#10262ca8;backdrop-filter:blur(15px)}.topbar-in{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--white);text-decoration:none;font-weight:800;line-height:1.1;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--mint);border-radius:100%;font-size:20px;color:var(--mint);font-weight:400}.top-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.top-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--white);font-size:.92rem;text-decoration:none;border-radius:9px;padding:9px 13px}.top-nav a:hover{background:#24434b;color:#fff}.top-nav a:focus-visible{outline:3px solid var(--focus)}
.eyebrow{color:var(--mint);font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em;margin:0 0 13px}.hero{padding-block:76px 72px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:62px;align-items:center}.hero h1{font-size:clamp(2.7rem,5.3vw,4.75rem);line-height:1.07;letter-spacing:-.052em;margin:0 0 25px;max-width:880px}.hero h1 em{font-style:normal;color:var(--mint)}.lede{font-size:clamp(1.08rem,1.45vw,1.25rem);line-height:1.75;color:var(--muted);max-width:740px;margin:0 0 21px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;text-decoration:none;padding:13px 21px;font-weight:750;line-height:1.3;border:1px solid var(--line);color:#f7fbf9;background:#27454b;min-height:48px}.btn.primary{background:var(--mint);border-color:var(--mint);color:#0c2929}.btn:hover{filter:brightness(1.12);color:#fff}.btn.primary:hover{color:#062826;background:#c9f6e7}.btn.ghost{background:transparent}.hero-note{font-size:.91rem;color:var(--muted);margin:19px 0 0}.hero-panel{padding:28px;background:linear-gradient(155deg,#2a5251,#152c34);border:1px solid #557671;border-radius:25px;box-shadow:0 28px 70px #0004;position:relative;overflow:hidden}.hero-panel:before{content:"";position:absolute;right:-70px;top:-100px;width:260px;height:260px;border:1px solid #b8e5bd45;border-radius:50%;box-shadow:0 0 0 34px #b8e5bd10,0 0 0 70px #b8e5bd0a}.hero-panel h2{font-size:1.25rem;margin:0 0 18px}.hero-panel ol{list-style:none;padding:0;margin:0}.hero-panel li{display:flex;gap:14px;padding:14px 0;border-top:1px solid #72968b70;position:relative}.hero-panel .step-num{color:var(--gold);font-weight:850;font-size:1.15rem;min-width:30px}.hero-panel strong{display:block}.hero-panel span{color:#e1eeec}.hero-panel p{color:var(--muted);font-size:.91rem;margin:19px 0 0}
.section{padding-block:62px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.section-head h2,.course h2{font-size:clamp(1.9rem,3.5vw,2.85rem);line-height:1.18;letter-spacing:-.035em;margin:0 0 12px}.section-head p{color:var(--muted);margin:0;max-width:710px}.journey-panel{border-radius:23px;border:1px solid var(--line);padding:28px;background:#122b30}.song-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}.song-nav a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#1d3a42;border:1px solid #44616a;color:var(--white);text-decoration:none;font-size:.98rem;line-height:1.4}.song-nav a:hover{background:#275158;color:#fff}.song-nav .num{border:1px solid #6a8c90;border-radius:8px;color:var(--mint);font-size:.82rem;display:grid;place-items:center;min-width:31px;height:31px}.song-nav .active{box-shadow:inset 0 0 0 2px var(--mint);background:#254d4e}
.learning-arc{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.learning-arc span{font-size:.8rem;font-weight:700;border:1px solid #486c70;color:#deebe6;border-radius:99px;padding:5px 11px}
.track-list{display:grid;gap:24px}.track{border-radius:24px;overflow:hidden;border:1px solid #36565b;background:linear-gradient(130deg,#18323a,#11282d);display:grid;grid-template-columns:minmax(195px,280px) minmax(0,1fr);scroll-margin-top:25px}.track:target{outline:3px solid var(--focus);outline-offset:5px}.art-wrap{position:relative;background:#173a3b;min-height:100%}.art-wrap img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1}.track-content{padding:27px 30px 27px}.track-kicker{font-size:.78rem;text-transform:uppercase;color:var(--mint);font-weight:850;letter-spacing:.18em}.track h3{font-size:clamp(1.55rem,2.4vw,2.3rem);letter-spacing:-.025em;line-height:1.2;margin:9px 0}.track-desc{color:var(--muted);font-size:1.02rem;max-width:670px;margin:0 0 15px}.learning-goal{color:var(--white);background:#23454a;padding:10px 13px;border-left:3px solid var(--gold);border-radius:0 9px 9px 0;font-size:.93rem;margin-bottom:15px}.reflection{margin:12px 0 20px;color:#deece7;font-size:.95rem}.reflection strong{color:var(--gold)}.track-actions{display:flex;flex-wrap:wrap;gap:9px}.track-actions .btn{min-height:47px;padding:10px 14px;font-size:.94rem}.track-actions .play-track{background:var(--mint);color:#102a2d;border-color:var(--mint)}.track-actions .play-track:hover{color:#102a2d;background:#c0f4e7}.duration{color:var(--muted);font-size:.85rem;margin-top:14px}details.lyrics{margin-top:20px;border-top:1px solid #47686d;padding-top:10px}.lyrics summary{display:flex;align-items:center;gap:8px;color:var(--mint);cursor:pointer;font-weight:750;padding:9px 0;width:max-content;max-width:100%;list-style:none}.lyrics summary::-webkit-details-marker{display:none}.lyrics summary:before{content:'+';font-size:1.4rem;line-height:1}details[open].lyrics summary:before{content:'−'}.lyric-body{margin-top:16px;padding:18px 22px;background:#0a2025;border:1px solid #32545b;border-radius:13px;max-width:700px;color:#e8f2ee}.lyric-body h4{margin:21px 0 7px;color:var(--gold);font-size:1rem}.lyric-body h4:first-child{margin-top:0}.lyric-line{margin:0;line-height:1.7}.lyric-space{height:1rem}.lyric-body p{margin:0 0 8px}
.course{border:1px solid #436469;border-radius:26px;background:linear-gradient(128deg,#214545,#173239);padding:clamp(26px,4vw,52px);display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.course p{color:#dfedeb}.course-learnings{display:grid;gap:14px;align-content:center}.course-point{display:flex;gap:13px;align-items:start;background:#0f2a30aa;padding:15px 16px;border-radius:13px}.course-point .check{color:var(--gold);font-size:1.2rem}.course-point strong{display:block;color:#fff}.course-point span{color:var(--muted);font-size:.93rem}.disclaimer{font-size:.87rem;color:var(--muted)}
.footer{border-top:1px solid #385357;padding:35px 0;margin-top:55px;color:var(--muted)}.footer .footer-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.footer a{font-size:.93rem}
.player{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#102b31;border-top:2px solid #5a8f87;box-shadow:0 -15px 55px #07191ece;backdrop-filter:blur(10px)}.player-inner{max-width:1220px;margin:auto;padding:13px 20px;display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(200px,1.2fr) minmax(250px,1.3fr);align-items:center;gap:20px}.player-info{min-width:0}.player-label{font-size:.71rem;color:var(--mint);text-transform:uppercase;letter-spacing:.14em;font-weight:800}.player-title{font-size:1.05rem;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.player-upnext{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-actions{display:flex;align-items:center;gap:10px;justify-content:center}.icon-btn{width:48px;height:48px;border:1px solid #52747a;background:#22434b;color:#fff;display:grid;place-items:center;border-radius:12px;font-size:1.16rem;flex-shrink:0}.icon-btn:hover{background:#37616b}.icon-btn.play{background:var(--mint);color:#092a2c;border-color:var(--mint);width:57px;height:57px;font-size:1.45rem}.icon-btn.play:hover{background:#c7f7e9}.timeline-block{display:grid;gap:5px}.timeline-top,.timeline-times{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--muted)}.timeline-top strong{color:var(--white)}.timeline-block input[type=range]{width:100%;height:44px;margin:0;accent-color:var(--mint);cursor:pointer}.player-toggle{display:flex;align-items:center;min-height:44px;gap:7px;white-space:nowrap;color:var(--white);font-size:.81rem;cursor:pointer}.player-toggle input{width:18px;height:18px;accent-color:var(--mint)}.progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-track{height:5px;border-radius:10px;background:#3b5e62;overflow:hidden;flex:1}.mini-track span{display:block;height:100%;background:var(--gold);width:11.11%;transition:width .2s}.a11y-panel{position:fixed;right:15px;bottom:185px;z-index:91;background:#f8fcf8;color:#0d292b;border-radius:17px;border:2px solid #376b66;padding:22px;width:min(330px,calc(100vw - 30px));box-shadow:0 10px 40px #0008}.a11y-panel[hidden]{display:none}.a11y-panel h2{margin:0 0 9px;font-size:1.3rem}.a11y-panel p{color:#2b4f51;font-size:.91rem;margin:0 0 15px}.a11y-panel button{border:2px solid #285854;background:#eff8f3;color:#133c3c;padding:9px 14px;min-height:47px;border-radius:10px;font-weight:750}.a11y-panel .sizes{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.a11y-panel output{font-weight:800;min-width:53px;text-align:center}.a11y-panel .contrast{margin-top:15px}.access-trigger{border:1px solid #5e8d88;background:#183b40;color:var(--white);border-radius:10px;padding:8px 14px;min-height:46px;font-size:.9rem;font-weight:650}
.toast{position:fixed;left:50%;bottom:200px;transform:translateX(-50%);z-index:94;background:#e2fff3;color:#0c3234;box-shadow:0 8px 35px #0006;border-radius:11px;padding:11px 19px;font-weight:750;max-width:calc(100vw - 35px)}.toast[hidden]{display:none}.share-overlay[hidden]{display:none}.share-overlay{position:fixed;inset:0;background:#06181cdd;display:grid;place-items:center;z-index:150;padding:20px}.share-dialog{width:min(480px,95vw);background:#16383f;border:2px solid #82aaa3;border-radius:19px;padding:25px;box-shadow:0 20px 80px #000b}.share-dialog h2{margin:0 0 9px}.share-dialog input{width:100%;background:#09262b;color:#fff;padding:11px;border:1px solid #709a93;border-radius:8px;min-height:47px}.share-dialog .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}
.song-standalone{padding-top:40px}.song-single{max-width:900px;margin:0 auto}.song-single .cover{width:min(100%,400px);border-radius:22px;box-shadow:0 15px 38px #0006;display:block;margin:25px 0}.song-single h1{font-size:clamp(2.2rem,7vw,4.2rem);line-height:1.13;margin:8px 0 14px}.song-single audio{display:block;width:100%;max-width:620px;margin:24px 0 20px;min-height:55px}.song-single .lyric-body{max-width:none}.song-single .song-meta{color:var(--mint);font-weight:850}.song-single .mini-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
body.high-contrast{--bg:#000;--bg2:#000;--surface:#0e0e0e;--surface2:#161616;--line:#fff;--muted:#fff;--mint:#d6ffeb;--gold:#fff6a8;--focus:#ffef39}body.high-contrast .track,body.high-contrast .course,body.high-contrast .player,body.high-contrast .journey-panel{background:#080808;border-color:#fff}body.high-contrast .track-desc{color:#fff}body.high-contrast .btn{border-width:2px}
@media(max-width:970px){.hero-grid{grid-template-columns:1fr;gap:32px}.hero-panel{max-width:730px}.player-inner{grid-template-columns:1fr 1.1fr;gap:10px}.timeline-block{grid-column:1/-1;grid-row:2}.player-actions{justify-content:flex-end}.course{grid-template-columns:1fr}.player{min-height:162px}body{padding-bottom:208px}.a11y-panel{bottom:205px}}
@media(max-width:670px){.wrap{padding-inline:16px}.topbar-in{flex-wrap:wrap;justify-content:center;padding-block:10px}.top-nav{justify-content:center;gap:1px}.top-nav a{padding:6px 9px;font-size:.81rem}.hero{padding-block:45px 39px}.hero h1{font-size:clamp(2.6rem,10vw,4rem)}.hero-panel{padding:23px}.section{padding-block:38px}.section-head{display:block}.song-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.song-nav a{padding:10px;gap:8px;font-size:.86rem}.song-nav .num{min-width:27px}.journey-panel{padding:15px}.track{grid-template-columns:1fr}.art-wrap{height:220px;min-height:0}.art-wrap img{width:100%;height:220px;object-fit:cover;object-position:center 35%}.track-content{padding:23px 19px}.track-actions .btn{flex:1 1 145px}.hero-actions .btn{flex:1 1 180px}.player-inner{padding:7px 13px 10px;grid-template-columns:minmax(0,1fr) auto;gap:5px}.player-title{font-size:.92rem}.player-upnext{font-size:.72rem}.player-actions{gap:5px}.icon-btn{width:41px;height:44px;border-radius:9px}.icon-btn.play{width:47px;height:48px}.timeline-block{gap:0}.player{min-height:157px}.progress-top{gap:7px}.player-toggle{font-size:.75rem}.player-toggle input{width:18px;height:18px}body{padding-bottom:220px}.a11y-panel{bottom:192px}.toast{bottom:190px}.course{padding:24px 18px}.song-standalone{padding-top:15px}}
@media(max-width:395px){.song-nav{grid-template-columns:1fr}.player-inner{grid-template-columns:minmax(0,1fr) auto}.player-actions{gap:3px}.player-controls .icon-btn{width:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}

/* Training class resources */
.course-resources{margin:23px 0 20px;padding:19px;border:1px solid #648783;border-radius:16px;background:#102c32a6}
.course-resources h3{font-size:1rem;letter-spacing:.025em;margin:0 0 13px;color:#f6f6ef}
.course-resource-links{display:flex;flex-wrap:wrap;gap:10px}
.course-resource-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:11px 15px;border:1px solid #6e9897;border-radius:10px;color:#fff;background:#244b51;text-decoration:none;font-weight:700;line-height:1.3}
.course-resource-links a:hover{background:#306469;border-color:#bee7df}
.course-resource-links a:focus-visible,.course a:focus-visible,.hero a:focus-visible{outline:3px solid #ffce82;outline-offset:3px}
.course-resource-links a span{color:#b4e6de}
.course p a,.hero p a{color:#c9f3ed;text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.course-resource-links{display:grid;grid-template-columns:1fr}.course-resource-links a{width:100%}}
