.mascot-stage{top:-15px;right:-15px;width:53%;height:630px;perspective:none}.mascot-canvas{transform:none!important;width:100%;height:100%;border-radius:50%;background:radial-gradient(ellipse at 50% 58%,#2144ad25,transparent 67%);isolation:isolate}.mascot-viewer{display:block;width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-color:#7b9bff;--progress-bar-height:2px;outline-offset:-4px}.mascot-controls{position:absolute;bottom:7px;left:17%;right:7%;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:5}.mascot-controls>span{font-size:12px;letter-spacing:.05em;color:#a4b1ce}.mascot-controls>div{display:flex;gap:8px}.mascot-controls button{border:1px solid #4b5c7c;background:#0c1428;color:#e0e8ff;font-size:12px;padding:9px 12px;cursor:pointer;border-radius:20px}.mascot-controls button:hover{background:#263f7a}.mascot-controls button:disabled{opacity:.45;cursor:wait}.model-loading{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:14px;color:#8b9cb9}.mascot-stage .mascot-canvas{pointer-events:auto}.hero-copy{pointer-events:none}.hero-copy>*{pointer-events:auto}.hero-copy h1{pointer-events:none}.model-error{padding:20px;text-align:center;color:#a5b8dd}.model-error[hidden]{display:none}.model-caption{position:absolute;bottom:35px;left:35px;color:#7e8a9e;font-size:12px;letter-spacing:.05em}.model-fallback-link{color:#91a9ff;text-decoration:underline}.mascot-viewer::part(default-progress-bar){height:2px}
@media(max-width:1000px){.mascot-stage{top:70px;right:-35px;height:540px}.mascot-controls{left:10%;right:0;flex-wrap:wrap}.mascot-controls>span{width:100%}.mascot-controls>div{margin-left:auto}}
@media(max-width:700px){.mascot-stage{top:345px;right:0;width:100%;height:500px}.mascot-controls{left:5%;right:5%;bottom:0;flex-wrap:nowrap}.mascot-controls>span{width:auto;font-size:12px;max-width:130px;line-height:1.5}.hero-stage{min-height:880px}.mascot-canvas{height:95%}.hero-copy{z-index:3}.mascot-stage{z-index:2}}
.showcase-card:has(.gallery-mascot){background:radial-gradient(ellipse at 65% 30%,#cbd9fd,#e8edf7 70%)}.showcase-card .gallery-mascot{width:62%;height:100%;margin-left:36%;position:relative;z-index:1}.showcase-card:has(.gallery-mascot):after{background:linear-gradient(90deg,#09172fdb,transparent 65%);z-index:2}.showcase-card:has(.gallery-mascot) figcaption{z-index:3;pointer-events:none}.showcase-card:has(.gallery-mascot) figcaption>div{display:block;max-width:49%}.showcase-card:has(.gallery-mascot) figcaption p{margin-top:20px}.diploma-mascot{height:560px;background:radial-gradient(ellipse at 50% 45%,#243b73,#0d1528 72%);border:1px solid #384769;border-radius:4px}.theme-chapter{--chapter-bg:#ecf0f7;--chapter-ink:#0a1221;--chapter-muted:#566174;--chapter-line:#bdc7d8;background:var(--chapter-bg);color:var(--chapter-ink)}.theme-chapter .section-kicker,.theme-chapter .section-head>p,.theme-chapter .intro>p{color:var(--chapter-muted)}.theme-chapter .muted{color:var(--chapter-muted)}.theme-chapter .scroll-words>span{background-image:linear-gradient(90deg,var(--chapter-ink) 0%,var(--chapter-ink) var(--word-fill,0%),var(--chapter-muted) var(--word-fill,0%),var(--chapter-muted) 100%)}.theme-chapter .scroll-words>span:last-child{background-image:linear-gradient(90deg,#2858ff 0%,#2858ff var(--word-fill,0%),var(--chapter-muted) var(--word-fill,0%),var(--chapter-muted) 100%)}.program-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:70px;align-items:start}.program-main{min-width:0}.program-main .lessons{padding-left:0;gap:25px}.program-main .week summary{grid-template-columns:65px 1fr 44px;gap:22px}.theme-chapter .week,.theme-chapter .lessons article,.theme-chapter .week:last-child{border-color:var(--chapter-line)}.theme-chapter .week summary .eyebrow,.theme-chapter .week summary p,.theme-chapter .lessons p,.theme-chapter .program-bottom{color:var(--chapter-muted)}.theme-chapter .week-n{color:var(--chapter-muted)}.theme-chapter .week[open] .week-n,.theme-chapter .lesson-n,.theme-chapter .practice{color:#4b73ff}.theme-chapter .practice span,.theme-chapter .program-bottom button{color:var(--chapter-ink)}.theme-chapter .expand{border-color:var(--chapter-muted)}.theme-chapter .expand:before,.theme-chapter .expand:after{background:var(--chapter-ink)}.theme-chapter .week[open] .expand:before,.theme-chapter .week[open] .expand:after{background:white}.theme-chapter .week summary:hover{background:#456dff0c}.course-map{position:sticky;top:35px;padding:18px 0}.map-heading{color:var(--chapter-muted);margin-left:14px}.map-graphic{height:436px;margin-top:30px;position:relative}.route-vertical{height:436px;width:48px;position:absolute;top:0;left:4px;overflow:visible}.route-track,.route-drawn{fill:none;stroke-width:1.7;vector-effect:non-scaling-stroke}.route-track{stroke:var(--chapter-line)}.route-drawn{stroke:#426cff;stroke-width:3;stroke-dasharray:100;stroke-dashoffset:var(--route-offset,100);stroke-linecap:round}.route-horizontal{display:none}.map-graphic ol{padding:0;margin:0;list-style:none}.map-graphic li{height:95px}.map-graphic a{display:flex;gap:28px;align-items:center;min-height:56px;padding-left:14px;position:relative}.map-stop{flex:none;display:grid;place-items:center;width:28px;height:28px;font-size:11px;border:1px solid var(--chapter-line);border-radius:50%;background:var(--chapter-bg);color:var(--chapter-muted);transition:background .3s,border-color .3s,color .3s}.map-label{font-size:17px;line-height:1.2;letter-spacing:-.02em;color:var(--chapter-muted);transition:color .3s}.map-label small{display:block;font-size:12px;font-weight:400;line-height:1.4;margin-top:6px;letter-spacing:0;color:var(--chapter-muted)}.map-graphic a[aria-current=step] .map-stop{background:#335cff;color:white;border-color:#335cff;box-shadow:0 0 0 7px #426cff17}.map-graphic a[aria-current=step] .map-label{color:var(--chapter-ink)}.map-graphic a.is-complete .map-stop{color:#335cff;border-color:#335cff;background:var(--chapter-bg)}.map-status{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--chapter-line);padding-top:19px;margin:0 0 0 14px;font-size:12px;color:var(--chapter-muted)}#chapter-counter{color:var(--chapter-ink);font-variant-numeric:tabular-nums}.week{scroll-margin-top:45px}.theme-chapter .ai-tag{color:var(--chapter-ink);background:#5880ff20}
@media(max-width:1150px){.program-layout{grid-template-columns:225px minmax(0,1fr);gap:35px}.program-main .lessons{grid-template-columns:1fr}.program-main .week summary{grid-template-columns:40px 1fr 36px;gap:15px}.program-main .week h3{font-size:35px}.program-main .week-n{font-size:35px}.map-label{font-size:16px}}
@media(max-width:850px){.program-layout{display:block}.course-map{top:0;padding:15px 0 8px;background:var(--chapter-bg);z-index:8;margin:0 calc(var(--pad) * -1) 30px;padding-left:var(--pad);padding-right:var(--pad);border-bottom:1px solid var(--chapter-line)}.map-heading,.map-status,.route-vertical,.map-label small{display:none}.map-graphic{height:76px;margin:0}.route-horizontal{display:block;position:absolute;width:100%;height:60px;top:0;left:0}.map-graphic ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.map-graphic li{height:76px}.map-graphic a{padding:16px 0 0;display:flex;flex-direction:column;gap:9px}.map-stop{width:28px;height:28px;z-index:1}.map-label{font-size:11px;letter-spacing:-.025em;text-align:center}.program-main .week{scroll-margin-top:125px}.program-main .week h3{font-size:28px}.program-main .lessons{padding-left:0}.showcase-card .gallery-mascot{width:100%;height:80%;margin:0;position:absolute;top:0;left:0}.showcase-card:has(.gallery-mascot):after{background:linear-gradient(0deg,#071326ed,transparent 80%)}.showcase-card:has(.gallery-mascot) figcaption>div{max-width:100%}.showcase-card:has(.gallery-mascot) figcaption p{display:none}.diploma-mascot{height:450px}}
@media(prefers-reduced-motion:reduce){.theme-chapter{background:#ecf0f7}.map-stop{transition:none}.route-drawn{transition:none}}@media print{model-viewer{display:none!important}.course-map{display:none}.program-layout{display:block}.theme-chapter{background:white!important;color:black!important}.theme-chapter *{color:black!important}.mascot-stage{display:none}}
#motion-toggle{font-family:var(--body);background:transparent;border:1px solid #596987;color:#bac7df;padding:9px 15px;font-size:12px;cursor:pointer;border-radius:22px}#motion-toggle:hover{background:#263751;color:white}.image-note a{color:#b4c5e7;text-decoration:underline;text-underline-offset:3px}.map-stop{font-size:12px}.map-label{letter-spacing:0}@media(max-width:850px){.map-label{font-size:12px}.showcase-bottom{gap:12px}}
/* Rendered character: precise silhouette with no background plate. */
[data-character]{position:relative;overflow:visible}.character-canvas,.character-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain!important;transform:none!important}.character-fallback{padding:4.5%;box-sizing:border-box}.character-canvas{opacity:0;pointer-events:none}.character-ready .character-canvas{opacity:1}.character-ready .character-fallback{opacity:0}.mascot-canvas{border-radius:0;background:none}.mascot-stage{top:-32px;right:-2%;width:54%;height:680px}.mascot-controls{bottom:5px;left:18%;right:8%}.mascot-controls>span{font-size:11px;letter-spacing:.07em}.showcase-card:has(.gallery-mascot){background:radial-gradient(ellipse at 70% 40%,#c5d1e7,#e9edf4 72%)}.showcase-card .gallery-mascot{width:64%;margin-left:34%;height:106%;top:-3%}.diploma-mascot{overflow:hidden;background:#10192b;border:0}.diploma-mascot .character-canvas,.diploma-mascot .character-fallback{height:117%;top:0}.image-note{max-width:740px}
@media(max-width:1000px){.mascot-stage{top:90px;right:-8%;height:565px}.mascot-controls{left:8%;right:0;bottom:-15px}}
@media(max-width:700px){.mascot-stage{top:365px;right:0;width:100%;height:535px}.hero-stage{min-height:935px}.mascot-controls{bottom:0;left:4%;right:4%}.mascot-canvas{height:95%}.mascot-controls>span{max-width:150px}.showcase-card .gallery-mascot{width:100%;height:89%;margin:0;top:-4%}.diploma-mascot .character-canvas,.diploma-mascot .character-fallback{height:110%}}
@media print{.character-canvas{display:none}.character-ready .character-fallback{opacity:1}}

/* Dark fantasy character direction. */
.sentinel-art{position:relative;width:100%;height:100%;overflow:hidden}.sentinel-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%;transform:none!important}.mascot-stage{top:-40px;right:-4%;width:57%;height:690px}.mascot-canvas{height:100%;background:none}.mascot-stage .sentinel-art{mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent)}.mascot-stage .sentinel-art img{object-fit:cover;object-position:50% 19%;mask-image:linear-gradient(0deg,transparent,#000 15%,#000 92%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 15%,#000 92%,transparent)}.sentinel-caption{position:absolute;bottom:0;left:23%;right:12%;display:flex;justify-content:space-between;color:#8d9fbf;font-size:12px;letter-spacing:.08em}.showcase-card:has(.gallery-mascot){background:#090e16}.showcase-card .gallery-mascot{height:140%;width:64%;margin-left:36%;top:-5%}.showcase-card .gallery-mascot img{object-fit:cover;object-position:50% 15%}.showcase-card:has(.gallery-mascot):after{background:linear-gradient(90deg,#070d18,transparent 85%)}.diploma-mascot{height:620px;background:#090e16}.diploma-mascot img{object-fit:cover;object-position:50% 12%}.intro-surface{border-bottom:0}.program-main .week[open] .lessons{animation:none}.program-bottom>span{font-size:14px}
@media(max-width:1000px){.mascot-stage{top:50px;right:-8%;height:620px}.hero-copy{width:70%}}
@media(max-width:700px){.hero-copy{width:100%}.mascot-stage{top:360px;right:-6%;width:112%;height:580px}.hero-stage{min-height:990px}.sentinel-caption{left:14%;right:14%;bottom:5px}.showcase-card .gallery-mascot{width:100%;height:120%;margin:0;top:-3%}.showcase-card:has(.gallery-mascot):after{background:linear-gradient(0deg,#070d18,transparent 80%)}.diploma-mascot{height:520px}}
.mascot-stage{top:0;height:640px}.mascot-stage .sentinel-art img{object-position:50% 0%;mask-image:linear-gradient(0deg,transparent,#000 13%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 13%)}
@media(max-width:1000px){.mascot-stage{top:40px;height:580px}}
@media(max-width:700px){.mascot-stage{top:365px;height:570px}.mascot-stage .sentinel-art img{object-fit:contain}}
