header {border-bottom:1px solid var(--line)}
nav [aria-current] {color:var(--blue)}
.academy-hero {background:#101016;color:#fff;overflow:hidden}
.academy-hero .wrap {position:relative;isolation:isolate;display:flex;align-items:center;min-height:340px}
.hero-text {width:min(620px,60%);padding:40px 0 44px}
.crumb {font-size:13px;color:#ced3df}
.academy-hero h1,.lesson-article h1 {line-height:1.13;letter-spacing:-.045em}
.academy-hero h1 {margin:14px 0;font-size:clamp(42px,5vw,68px)}
.academy-hero p {line-height:1.8;color:#e0e4ed;max-width:520px}
.academy-hero img {position:absolute;z-index:-2;right:-4%;width:66%;height:100%;object-fit:cover;object-position:center 51%}
.academy-hero .wrap:after {content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#101016 34%,#101016dc 45%,transparent 75%)}
.jump,.practice-actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.jump a {border:1px solid #8993a5;background:#20232de8;border-radius:5px;padding:10px 15px;font-size:14px}
.jump a:hover {background:#38445c}
.catalogs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding:52px 0 70px}
.syllabus {min-width:0;scroll-margin-top:15px}
.series-h {display:flex;align-items:center;gap:18px}
.series-h img {height:82px;width:105px;object-fit:contain;border-radius:6px;background:#f4f5f7}
.series-h span,.lesson-meta {color:var(--blue);font-size:13px;font-weight:650}
.series-h h2 {font-size:clamp(25px,2.5vw,40px);margin:5px 0 0}
.series-desc,.objective {color:var(--mute);line-height:1.7}
.series-desc {margin:18px 0 22px}
.catalog,.course-menu ol {padding:0;margin:0;list-style:none}
.catalog li {border-top:1px solid var(--line)}
.catalog a {display:grid;grid-template-columns:30px 1fr auto;align-items:baseline;gap:10px;padding:17px 2px}
.catalog small {display:block;color:var(--mute);line-height:1.6;margin-top:6px}
.index,.catalog time {font:500 13px/1.5 ui-monospace,monospace;color:#64718a}
.catalog a:hover strong,.course-menu a:hover,.trail:hover {color:var(--blue)}
.small-footer {padding:25px 0}
.small-footer .wrap {display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px}
.small-footer img {width:80px;margin-right:auto}
.lesson-wrap {padding-top:24px;padding-bottom:60px}
.trail {font-size:14px;color:var(--mute)}
.lesson-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(242px,28%);gap:clamp(24px,4vw,58px);align-items:start;margin-top:32px}
.lesson-article h1 {font-size:clamp(30px,3.5vw,51px);margin:10px 0}
.objective {margin:0 0 22px}
.lesson-article video {display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#10141d;border-radius:9px}
.practice-actions {margin:16px 0 34px;gap:18px}
.practice-actions .text-link {color:var(--blue);font-size:14px}
.steps-title,.course-menu h2 {font-size:23px;letter-spacing:0}
.steps {padding-left:1.8em;margin:0}
.steps li {padding:0 0 10px .3em;line-height:1.8}
.steps li::marker {color:var(--blue);font-weight:700}
.course-menu {padding:20px;background:#f3f5f8;border-radius:8px}
.course-menu h2 {font-size:19px;margin:0 0 12px}
.course-menu ol a {display:flex;align-items:baseline;gap:10px;padding:10px 8px;border-radius:4px;font-size:14px}
.course-menu [aria-current=page] {background:#dae7ff;color:#113e96;font-weight:700}
.guided-link {display:block;color:var(--blue);font-size:14px;font-weight:650;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.step-nav {display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:15px;color:var(--blue)}
.step-nav a:last-child {margin-left:auto}
@media(max-width:740px) {
 .catalogs,.lesson-grid {grid-template-columns:1fr}.catalogs{padding:30px 0 45px;gap:38px}
 .hero-text {width:100%;padding:90px 0 26px}.academy-hero img{width:75%;height:75%;top:0}
 .academy-hero .wrap:after {background:linear-gradient(10deg,#101016 25%,#101016c4 52%,transparent 92%)}
 .academy-hero p {max-width:35em}.lesson-wrap {padding-top:20px}.lesson-grid{margin-top:22px}
 .series-h img{height:65px;width:84px}.small-footer .wrap{gap:10px}
}
