:root{--font-display:"Space Grotesk", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--ink-900:#0e1226;--ink-800:#1c2340;--ink-700:#3b4262;--ink-500:#646b8c;--ink-400:#8a91ad;--ink-200:#e3e6f2;--ink-100:#eef0f8;--bg:#f7f8fc;--surface:#fff;--accent-050:#eef2ff;--accent-100:#e0e7ff;--accent-500:#6366f1;--accent-600:#4f46e5;--accent-700:#4338ca;--violet-600:#7c3aed;--amber-500:#f59e0b;--green-bg:#ecfdf3;--green-fg:#027a48;--amber-bg:#fffaeb;--amber-fg:#b54708;--rose-bg:#fef3f2;--rose-fg:#b42318;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-xl:22px;--shadow-s:0 1px 2px #0e12260d, 0 1px 3px #0e12260f;--shadow-m:0 6px 18px -6px #0e12261f, 0 2px 6px #0e12260d;--shadow-l:0 18px 40px -12px #0e122638;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0;line-height:1.15}p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}::selection{background:var(--accent-100)}:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}.container--narrow{max-width:920px}.screen{animation:screen-rise .3s var(--ease);flex-direction:column;flex:1;display:flex}@keyframes screen-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--accent-600);font-size:12.5px;font-weight:700}.text-gradient{background:linear-gradient(92deg, var(--accent-600), var(--violet-600));color:#0000;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-m);transition:background .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:600;line-height:1.2;display:inline-flex}.btn--primary{background:var(--accent-600);color:#fff;box-shadow:0 1px 2px #0e12261f,inset 0 1px #ffffff29}.btn--primary:hover{background:var(--accent-700);transform:translateY(-1px);box-shadow:0 8px 20px -6px #4f46e573}.btn--primary:active{transform:translateY(0)}.btn--outline{border-color:var(--ink-200);background:var(--surface);color:var(--ink-800)}.btn--outline:hover{border-color:var(--accent-500);color:var(--accent-600)}.btn--ghost{color:var(--ink-700);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--ink-100);color:var(--ink-900)}.btn--ghost:disabled{opacity:.45;cursor:default}.btn--lg{border-radius:14px;padding:14px 26px;font-size:16px}.btn--sm{border-radius:10px;padding:8px 14px;font-size:14px}.btn--block{width:100%}.icon-btn{border-radius:var(--radius-m);border:1px solid var(--ink-200);background:var(--surface);width:42px;height:42px;color:var(--ink-700);transition:border-color .16s var(--ease), color .16s var(--ease), background .16s var(--ease);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{border-color:var(--accent-500);color:var(--accent-600);background:var(--accent-050)}.brand{align-items:center;gap:10px;display:inline-flex}.brand__name{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:700}.brand__name--light{color:#fff}.site-header{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f8fcd9;border-bottom:1px solid #e3e6f2cc;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;height:68px;display:flex}.site-nav{align-items:center;gap:6px;display:flex}.site-nav__link{color:var(--ink-700);transition:color .15s var(--ease), background .15s var(--ease);border-radius:10px;padding:8px 14px;font-size:15px;font-weight:500}.site-nav__link:hover{color:var(--ink-900);background:var(--ink-100)}.site-nav .btn{margin-left:10px}.hero{padding:76px 0 84px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#6366f129,#0000 70%);width:640px;height:640px;position:absolute;top:-220px;right:-160px}.hero__inner{grid-template-columns:1.02fr 1fr;align-items:center;gap:56px;display:grid;position:relative}.hero__media{position:relative}.hero__media:before{content:"";background:linear-gradient(135deg, var(--accent-100), #7c3aed2e);border-radius:var(--radius-xl);position:absolute;inset:18px -18px -18px 18px}.hero__media img{aspect-ratio:16/12;object-fit:cover;border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-l);position:relative}.hero__title{margin:14px 0 18px;font-size:clamp(42px,5vw,62px);font-weight:700}.hero__lead{color:var(--ink-500);max-width:46ch;font-size:18px;line-height:1.65}.hero__actions{gap:14px;margin-top:30px;display:flex}.section{padding:64px 0 72px}.section--tint{background:linear-gradient(180deg, #fff, var(--bg));border-top:1px solid var(--ink-100)}.section__head{margin-bottom:32px}.section__head h2{font-size:clamp(26px,3vw,34px);font-weight:700}.section__head p{color:var(--ink-500);margin-top:8px;font-size:16px}.card-grid,.catalog-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.catalog-grid{padding-bottom:72px}.course-card{text-align:left;background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--radius-l);box-shadow:var(--shadow-s);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);flex-direction:column;display:flex;overflow:hidden}.course-card:hover{box-shadow:var(--shadow-m);border-color:#cdd3ea;transform:translateY(-4px)}.course-card__media{aspect-ratio:16/9;background:var(--ink-100);display:block;overflow:hidden}.course-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .35s var(--ease)}.course-card:hover .course-card__media img{transform:scale(1.045)}.course-card__body{flex-direction:column;flex:1;gap:7px;padding:18px 18px 20px;display:flex}.course-card__topic{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-600);font-size:12px;font-weight:700}.course-card__title{font-family:var(--font-display);color:var(--ink-900);font-size:17.5px;font-weight:600;line-height:1.3}.course-card__blurb{color:var(--ink-500);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.course-card__meta{justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex}.course-card__duration{color:var(--ink-500);align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:inline-flex}.level-badge{letter-spacing:.01em;border-radius:999px;align-items:center;padding:3px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.level-badge--beginner{background:var(--green-bg);color:var(--green-fg)}.level-badge--intermediate{background:var(--amber-bg);color:var(--amber-fg)}.level-badge--advanced{background:var(--rose-bg);color:var(--rose-fg)}.why-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.why-card{background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--radius-l);box-shadow:var(--shadow-s);transition:transform .18s var(--ease), box-shadow .18s var(--ease);padding:26px}.why-card:hover{box-shadow:var(--shadow-m);transform:translateY(-3px)}.why-card__icon{background:var(--accent-050);width:46px;height:46px;color:var(--accent-600);border-radius:13px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.why-card h3{margin-bottom:8px;font-size:18px;font-weight:600}.why-card p{color:var(--ink-500);font-size:14.5px;line-height:1.6}.catalog__bar{background:var(--surface);border-bottom:1px solid var(--ink-200)}.catalog__bar-inner{align-items:center;gap:16px;height:72px;display:flex}.search{width:min(420px,100%);margin-left:auto;position:relative}.search__icon{color:var(--ink-400);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search input{border:1px solid var(--ink-200);border-radius:var(--radius-m);background:var(--bg);width:100%;height:44px;font:inherit;color:var(--ink-900);transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);padding:0 16px 0 42px;font-size:14.5px}.search input::placeholder{color:var(--ink-400)}.search input:focus{border-color:var(--accent-500);background:var(--surface);box-shadow:0 0 0 3px var(--accent-100);outline:none}.catalog__content{flex:1}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:26px 0 22px;display:flex}.select{display:inline-flex;position:relative}.select select{appearance:none;border:1px solid var(--ink-200);border-radius:var(--radius-m);background:var(--surface);font:inherit;color:var(--ink-800);cursor:pointer;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:10px 38px 10px 14px;font-size:14px;font-weight:500}.select select:hover{border-color:#c3c9e4}.select select:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100);outline:none}.select__chevron{color:var(--ink-400);pointer-events:none;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.toolbar__count{color:var(--ink-400);margin-left:auto;font-size:13.5px;font-weight:500}.toolbar__clear{color:var(--accent-600)}.toolbar__clear:hover:not(:disabled){background:var(--accent-050);color:var(--accent-700)}.empty-state{text-align:center;border:1.5px dashed var(--ink-200);border-radius:var(--radius-l);max-width:460px;color:var(--ink-400);margin:48px auto 96px;padding:48px 32px}.empty-state h2{color:var(--ink-800);margin:14px 0 6px;font-size:20px}.empty-state p{font-size:14.5px}.back-link{color:var(--accent-600);transition:color .15s var(--ease), gap .15s var(--ease);border-radius:8px;align-self:flex-start;align-items:center;gap:8px;margin:26px 0 18px;font-size:14.5px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--accent-700);text-underline-offset:3px;text-decoration:underline}.panel{background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-s)}.course-hero{grid-template-columns:400px 1fr;align-items:center;gap:32px;padding:28px;display:grid}.course-hero__media img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-l);width:100%}.course-hero__info h1{margin:10px 0 14px;font-size:clamp(28px,3.4vw,38px);font-weight:700}.rating{align-items:center;gap:10px;display:flex}.rating__stars{color:#d9dcea;display:inline-flex;position:relative}.rating__row{gap:2px;display:inline-flex}.rating__row--filled{color:var(--amber-500);white-space:nowrap;position:absolute;inset:0 auto 0 0;overflow:hidden}.rating__value{font-size:15.5px;font-weight:700}.rating__count{color:var(--ink-500);font-size:14px}.course-hero__badges{align-items:center;gap:10px;margin-top:16px;display:flex}.pill{background:var(--ink-100);color:var(--ink-700);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.details-grid{grid-template-columns:1fr 340px;align-items:start;gap:34px;margin:34px 0 80px;display:grid}.details-main section+section{margin-top:38px}.details-main h2{margin-bottom:14px;padding-left:14px;font-size:21px;font-weight:700;position:relative}.details-main h2:before{content:"";background:linear-gradient(180deg, var(--accent-500), var(--violet-600));border-radius:4px;width:4px;position:absolute;top:4px;bottom:4px;left:0}.details-main section>p{color:var(--ink-700);font-size:15.5px;line-height:1.7}.details-main section>p+p{margin-top:12px}.modules{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.modules__item{background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--radius-m);transition:border-color .15s var(--ease), transform .15s var(--ease);align-items:center;gap:14px;padding:13px 16px;display:flex}.modules__item:hover{border-color:var(--accent-100);transform:translate(2px)}.modules__index{background:var(--accent-050);width:30px;height:30px;color:var(--accent-700);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.modules__title{flex:1;font-size:14.5px;font-weight:600}.modules__duration{color:var(--ink-400);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.prereqs{margin:0;padding:0;list-style:none}.prereqs li{color:var(--ink-700);align-items:flex-start;gap:10px;padding:7px 0;font-size:15px;display:flex}.prereqs li svg{color:var(--green-fg);flex-shrink:0;margin-top:3px}.details-aside{flex-direction:column;gap:20px;display:flex;position:sticky;top:24px}.aside-card{padding:22px}.aside-card__label{font-family:var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-400);align-items:center;gap:6px;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.instructor{align-items:center;gap:14px;display:flex}.instructor__avatar{object-fit:cover;border:2px solid var(--accent-100);border-radius:50%;width:56px;height:56px}.instructor__name{font-family:var(--font-display);font-size:16.5px;font-weight:600}.instructor__role{color:var(--accent-600);margin-top:2px;font-size:13px;font-weight:600}.instructor__bio{color:var(--ink-500);margin-top:14px;font-size:14px;line-height:1.6}.lesson-thumb{border:1px solid var(--ink-200);border-radius:var(--radius-m);text-align:left;background:var(--bg);width:100%;transition:border-color .15s var(--ease), background .15s var(--ease), transform .15s var(--ease);align-items:center;gap:14px;padding:12px;display:flex}.lesson-thumb:hover{border-color:var(--accent-500);background:var(--accent-050);transform:translateY(-1px)}.lesson-thumb__play{background:linear-gradient(135deg, var(--accent-600), var(--violet-600));color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;box-shadow:0 6px 14px -4px #4f46e580}.lesson-thumb__text{flex-direction:column;gap:2px;display:flex}.lesson-thumb__text strong{color:var(--ink-900);font-size:14.5px;font-weight:600;line-height:1.35}.lesson-thumb__text span{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:13px}.lesson-thumb+.btn{margin-top:14px}.lesson{padding-bottom:84px}.player{aspect-ratio:16/9;border-radius:var(--radius-xl);box-shadow:var(--shadow-l);background:#05070f;position:relative;overflow:hidden}.player--expanded{z-index:80;aspect-ratio:auto;border-radius:0;position:fixed;inset:0}.player__poster{object-fit:cover;filter:brightness(.66)saturate(1.08);width:100%;height:100%;position:absolute;inset:0}.player--playing .player__poster{animation:24s linear infinite alternate poster-drift}@keyframes poster-drift{0%{transform:scale(1)}to{transform:scale(1.07)}}.player__scrim{background:linear-gradient(#05070f4d 0%,#05070f6b 62%,#05070fdb);position:absolute;inset:0}.player__big-btn{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:84px;height:84px;transition:transform .18s var(--ease), background .18s var(--ease), opacity .25s var(--ease);background:#ffffff29;border:1.5px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.player__big-btn:hover{background:var(--accent-600);border-color:var(--accent-600);transform:translate(-50%,-50%)scale(1.07)}.player--playing .player__big-btn{opacity:0}.player:hover .player__big-btn,.player__big-btn:focus-visible{opacity:1}.player__controls{align-items:center;gap:14px;padding:16px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.player__ctrl{color:#fff;width:36px;height:36px;transition:background .15s var(--ease), transform .15s var(--ease);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.player__ctrl:hover{background:#ffffff2e}.player__track{cursor:pointer;flex:1;align-items:center;height:20px;display:flex;position:relative}.player__track:before{content:"";background:#ffffff47;border-radius:99px;height:5px;position:absolute;left:0;right:0}.player__track-fill{background:linear-gradient(90deg, var(--accent-500), var(--violet-600));border-radius:99px;min-width:0;height:5px;transition:width .12s linear;position:relative}.player__knob{opacity:0;width:14px;height:14px;transition:opacity .15s var(--ease), transform .15s var(--ease);background:#fff;border-radius:50%;position:absolute;top:50%;right:-7px;transform:translateY(-50%)scale(.7);box-shadow:0 1px 6px #05070f80}.player__track:hover .player__knob,.player__track:focus-visible .player__knob,.player--playing .player__knob{opacity:1;transform:translateY(-50%)scale(1)}.player__time{color:#ffffffeb;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;font-size:13px;font-weight:600}.lesson__info{margin-top:36px}.lesson__info h1{margin:10px 0 18px;font-size:clamp(26px,3.2vw,36px);font-weight:700}.lesson__text{color:var(--ink-700);max-width:72ch;font-size:16px;line-height:1.75}.lesson__text+.lesson__text{margin-top:14px}.lesson__actions{border-top:1px solid var(--ink-200);margin-top:36px;padding-top:28px}.site-footer{background:var(--ink-900);color:#c9cede;margin-top:auto}.site-footer__inner{justify-content:space-between;align-items:flex-end;gap:40px;padding-top:44px;padding-bottom:36px;display:flex}.site-footer__about{color:#9aa1bc;max-width:52ch;margin-top:16px;font-size:14px;line-height:1.65}.site-footer__credit{color:#7d84a3;white-space:nowrap;font-size:13px}@media (width<=980px){.hero__inner{grid-template-columns:1fr;gap:40px}.hero__media{order:1}.hero__copy{order:0}.card-grid,.catalog-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.course-hero,.details-grid{grid-template-columns:1fr}.details-aside{position:static}}@media (width<=640px){.container{padding:0 20px}.site-header__inner{height:60px}.site-nav__link{padding:8px;font-size:14px}.hero{padding:44px 0 56px}.card-grid,.catalog-grid,.why-grid{grid-template-columns:1fr}.catalog__bar-inner{flex-wrap:wrap;height:auto;padding-top:14px;padding-bottom:14px}.search{order:2;width:100%;margin-left:0}.toolbar__count{display:none}.site-footer__inner{flex-direction:column;align-items:flex-start}.site-footer__credit{white-space:normal}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
