/* Academy — the approved ABS workshop visual language. */
/* Floating ABS hardware reuses the course page's original product photography. */
.student-shell .store-hero .experience-mentor:before{content:'';position:absolute;inset:20% 2% 8%;border-radius:50%;background:radial-gradient(ellipse,#179ee53b,transparent 68%);box-shadow:inset 0 0 45px #25b9ff12;border:1px solid #4cdbff20;pointer-events:none;animation:store-abs-glow 6s ease-in-out infinite paused}
.student-shell .store-abs-part{position:absolute;z-index:2;margin:0;width:43%;pointer-events:none;animation:store-abs-float 7s ease-in-out infinite paused;transform:rotate(var(--abs-angle));filter:drop-shadow(0 13px 12px #01091299)}
.student-shell .store-abs-part img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain;filter:drop-shadow(0 0 10px #3fcaff40)}
.student-shell .store-abs-part figcaption{display:table;margin:4px auto 0;padding:5px 9px;border-left:2px solid #4cdbff;border-radius:0 5px 5px 0;background:#06111feb;color:#edf9ff;font:700 10px/1.35 Archivo,sans-serif;letter-spacing:.03em}
.student-shell .store-abs-part small{display:block;color:#9cd7f4;font-size:8px;font-weight:500;margin-top:2px}
.student-shell .store-abs-wabco{left:-8%;top:38%;--abs-angle:-7deg}
.student-shell .store-abs-knorr{right:-2%;top:43%;width:36%;--abs-angle:6deg;animation-duration:8s;animation-delay:-3.5s}
.student-shell .store-hero.abs-moving .store-abs-part,.student-shell .store-hero.abs-moving .experience-mentor:before{animation-play-state:running}
.student-shell .store-hero .store-motion-toggle{position:absolute;top:12px;right:12px;z-index:4;width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid #6bcaff55;border-radius:50%;background:#061b30d9;color:#d6f3ff;font-size:15px;cursor:pointer}
@keyframes store-abs-float{0%,100%{transform:translate3d(0,5px,0) rotate(var(--abs-angle))}50%{transform:translate3d(6px,-13px,0) rotate(0deg)}}
@keyframes store-abs-glow{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@media(max-width:600px){.student-shell .store-abs-part{width:36%;max-width:155px}.student-shell .store-abs-part img{max-height:85px}.student-shell .store-abs-wabco{top:24%;left:0}.student-shell .store-abs-knorr{top:34%;right:0;width:36%}.student-shell .store-hero .experience-mentor>span{bottom:8px;right:50%;transform:translateX(50%);width:max-content;max-width:100%;padding:7px 12px;font-size:10px}.student-shell .store-hero .experience-mentor>span strong{font-size:12px}.student-shell .store-hero .store-motion-toggle{top:auto;bottom:12px;right:10px}}
@media(prefers-reduced-motion:reduce){.student-shell .store-abs-part,.student-shell .store-hero .experience-mentor:before{animation:none!important}.student-shell .store-motion-toggle{display:none!important}}
:root{--cs-night:#06111f;--cs-blue:#187cff;--cs-cyan:#4cdbff;--cs-ease:cubic-bezier(.22,1,.36,1)}
.student-shell{--amber:#187cff;--amber-deep:#0962c7;--text:#0b2137;--text-soft:#52677c;background:#f2f6fa;color:#0b2137}
.student-shell .academy-rail{background:linear-gradient(165deg,#06111f,#0b2945);border-right:1px solid #29516d;color:#c7dcec}
.student-shell .academy-rail :is(a,button){color:#c7dcec}.student-shell .academy-rail .active{background:#133d61;color:#fff;border-color:#4cdbff70}
.student-shell .topnav{background:#fff;border-bottom:1px solid #d1e0ec;box-shadow:0 5px 22px #102b4305}
.student-shell .content{background:#f2f6fa}.student-shell :is(.course-card,.academy-progress,.academy-next,.rail-card,.academy-quick>button){border:1px solid #d1e1ed;border-radius:18px;box-shadow:0 7px 24px #16395408}
.student-shell .btn{border-radius:10px;min-height:44px}.student-shell .btn-amber{background:linear-gradient(120deg,#1473ed,#008ad4);color:#fff;border:1px solid #369cf0;box-shadow:0 6px 20px #187cff18}.student-shell .btn-amber:hover{background:#086ccf;color:#fff}
.student-shell .store-hero{position:relative;isolation:isolate;min-height:420px;padding:44px 42px;background:radial-gradient(ellipse at 85% 70%,#064c78 0,transparent 50%),#06111f;border:1px solid #235a7e;border-radius:24px;overflow:hidden;box-shadow:0 20px 50px #0b213714;display:grid;grid-template-columns:1.15fr 1fr;gap:20px}
.student-shell .store-hero-copy{position:relative;z-index:2;align-self:center}.student-shell .store-hero h1{font-size:clamp(38px,4.6vw,66px);letter-spacing:-.055em;line-height:1.03;color:#f5f9ff;max-width:620px}.student-shell .store-hero p{font-size:17px;line-height:1.65;color:#b3c5d8;max-width:520px}.student-shell .store-hero .store-kicker{color:#4cdbff;letter-spacing:.14em}.student-shell .store-secondary-link{color:#d6e8f6}
.student-shell .experience-mentor{position:relative;display:block;align-self:stretch;min-height:330px;border:0;background:none;box-shadow:none;overflow:visible;margin:-30px -20px -44px 0}
.student-shell .experience-mentor>img{height:100%;width:100%;max-height:460px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 38px #187cff20)}
.experience-mentor>span{position:absolute;bottom:26px;right:10px;background:#06111fde;border:1px solid #4cdbff50;border-radius:12px;padding:14px 18px;font-size:13px;line-height:1.7;color:#b3c5d8;backdrop-filter:blur(8px)}.experience-mentor strong{display:block;color:white;font-size:15px}
.student-shell .store-section{padding-top:36px}.student-shell .section-head h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.045em}.student-shell .store-kicker{color:#096daf}.student-shell .store-card-summary{color:#52677c}.student-shell .course-card-title{letter-spacing:-.02em;line-height:1.3}.student-shell .store-intro{background:#0b2137;border:1px solid #285679;border-radius:20px;color:#fff}.student-shell .store-intro p{color:#bfd2e3}.student-shell .store-intro .store-kicker{color:#4cdbff}
.student-shell .reference-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 100%,#125789,transparent 60%),#06111f;border:1px solid #2d5c7d;border-radius:22px;min-height:270px;padding:32px;color:#f5f9ff}.student-shell .reference-hero>div{position:relative;z-index:2;max-width:67%}.student-shell .reference-hero h1{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.05em;color:white}.student-shell .reference-hero p{color:#b3c5d8;line-height:1.6;font-size:16px}.student-shell .reference-hero .studio-eyebrow{color:#4cdbff}.student-mentor{position:absolute;bottom:0;right:0;width:40%;height:100%;object-fit:contain;object-position:center bottom}
.student-shell .academy-progress{background:#fff;padding:26px}.student-shell .progress-dial{background:conic-gradient(#187cff var(--progress),#e2eef7 0)}.student-shell .progress-dial>div{background:white}.student-shell .academy-quick>button{background:#fff;min-height:96px}.student-shell .academy-quick>button>svg{color:#1473ed}.student-shell .academy-bottom{background:linear-gradient(115deg,#06111f,#11466b);border:1px solid #286588;border-radius:22px;color:#fff}.student-shell .academy-bottom em{color:#4cdbff}.student-shell .academy-bottom p{color:#c4d6e6}
.student-shell .module-series{background:radial-gradient(ellipse at 95% 10%,#114768,transparent 55%),#06111f;border:1px solid #21587d;border-radius:22px;padding:30px}.student-shell .module-series-heading h2{letter-spacing:-.04em}.student-shell .module-poster-art{border-radius:16px;border:1px solid #4688b15c}.student-shell .module-poster.selected .module-poster-art{border-color:#4cdbff;box-shadow:0 0 0 2px #4cdbff24,0 10px 24px #0005}.module-cover-title{position:absolute;inset:auto 14px 18px;display:block;color:#fff;text-shadow:0 2px 7px #000;z-index:1}.module-cover-title small{display:block;color:#65ddff;font-size:11px;letter-spacing:.15em;margin-bottom:9px}.module-cover-title strong{display:block;font-size:clamp(16px,1.65vw,24px);line-height:1.1;letter-spacing:-.035em}.student-shell .module-poster-action{top:14px;right:12px;bottom:auto;left:auto;transform:none;font-size:12px;min-height:36px;padding:8px 12px;border-radius:8px}.student-shell .module-episodes{border-radius:16px;background:#0b1c30;border:1px solid #264760}.student-shell .module-poster-progress{font-size:12px;color:#bed2e2}.student-shell .module-poster-track>span{background:linear-gradient(90deg,#187cff,#4cdbff)}
.student-shell :is(.module-head,.lesson-row){border-radius:12px}.student-shell .lesson-row.active{background:#e4f3ff;border-color:#67bce8}.student-shell .bar-fill-light{background:linear-gradient(90deg,#187cff,#4cdbff)}
.pause-control,.motion-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:18px!important;line-height:1!important;padding:10px!important}.pause-control[hidden],.motion-toggle[hidden]{display:none!important}
.cs-enter{animation:cs-experience-enter .52s var(--cs-ease) both}@keyframes cs-experience-enter{from{opacity:.65;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.student-shell :is(.course-card,.academy-quick>button){transition:transform .3s var(--cs-ease),box-shadow .3s,border-color .3s}.student-shell :is(.course-card,.academy-quick>button):hover{transform:translateY(-4px);border-color:#42baf0;box-shadow:0 15px 30px #0a78be16}}
@media(max-width:900px){.student-shell .store-hero{padding:32px;grid-template-columns:1.2fr 1fr;min-height:370px}.student-shell .experience-mentor{margin:-10px -20px -32px 0}.student-shell .store-hero h1{font-size:42px}.student-shell .store-hero p{font-size:16px}.student-shell .module-series{padding:22px}.module-cover-title strong{font-size:19px}}
@media(max-width:600px){.student-shell .store-hero{padding:26px 22px 0;grid-template-columns:1fr;gap:0;border-radius:18px}.student-shell .store-hero h1{font-size:39px}.student-shell .experience-mentor{height:270px;min-height:0;margin:8px 0 0}.student-shell .experience-mentor>img{height:270px}.experience-mentor>span{right:0;bottom:18px;font-size:12px;padding:10px 14px}.student-shell .reference-hero{min-height:285px;padding:24px}.student-shell .reference-hero>div{max-width:72%}.student-shell .reference-hero p{font-size:14px}.student-mentor{width:44%;right:-9%;opacity:.75}.student-shell .module-series{padding:22px 16px}.module-cover-title strong{font-size:27px}.module-cover-title{inset:auto 20px 24px}.module-cover-title small{font-size:12px}.student-shell .section-head h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.cs-enter{animation:none!important}.student-shell :is(.course-card,.academy-quick>button){transition:none!important;transform:none!important}}
