@charset "UTF-8";*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{min-height:100vh;text-rendering:optimizeSpeed}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}ol,ul{list-style:none}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}table{border-collapse:collapse;border-spacing:0}fieldset{border:none}textarea{resize:vertical}body{font-size:1rem;font-weight:400;line-height:1.5}body,h1,h2,h3,h4,h5,h6{color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25}h1{font-size:1.875rem}@media (min-width:768px){h1{font-size:2.25rem}}@media (min-width:1024px){h1{font-size:3rem}}h2{font-size:1.5rem}@media (min-width:768px){h2{font-size:1.875rem}}@media (min-width:1024px){h2{font-size:2.25rem}}h3{font-size:1.25rem}@media (min-width:768px){h3{font-size:1.5rem}}@media (min-width:1024px){h3{font-size:1.875rem}}h4{font-size:1.125rem}h5{font-size:1rem}h5,h6{font-weight:600}h6{font-size:.875rem}p{color:#475569;line-height:1.625}b,strong{font-weight:600}em,i{font-style:italic}small{color:#94a3b8;font-size:.875rem}code,kbd{background:#f1f5f9;border-radius:.25rem;color:#7c3aed;font-size:.875em;padding:.1em .35em}code,kbd,pre{font-family:JetBrains Mono,Fira Code,Courier New,monospace}pre{background:#0f172a;border-radius:.5rem;color:#f1f5f9;font-size:.875rem;overflow-x:auto;padding:1rem 1.5rem}pre code{background:transparent;color:inherit;padding:0}blockquote{border-left:4px solid #2563eb;color:#475569;font-style:italic;margin-left:0;padding-left:1rem}:root{--navbar-height:4rem}body{background-color:#f8fafc}.page-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding-block:2rem 4rem}.container{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.container{padding-inline:1.5rem}}@media (min-width:1024px){.container{padding-inline:2rem}}.skip-link{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.skip-link:focus{background:#2563eb;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:600;left:1rem;padding:.5rem 1rem;position:fixed;top:1rem;z-index:500}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.section{padding-block:3rem}.section--lg{padding-block:4rem}.section--dark{background-color:#0f172a;color:#fff}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,.section--dark h5,.section--dark h6,.section--dark p{color:#fff}.grid{display:grid;gap:1.5rem}.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(1,1fr)}@media (min-width:768px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}.section-title{color:#0f172a;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.section-subtitle{color:#475569;font-size:1.125rem;margin-bottom:2rem}.btn{align-items:center;border:2px solid transparent;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;line-height:1;padding:.5rem 1rem;text-decoration:none;transition:all .25s ease;white-space:nowrap}.btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn--sm{font-size:.75rem;padding:.25rem .75rem}.btn--lg{font-size:1rem;padding:.75rem 1.5rem}.btn--full{width:100%}.btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.btn--secondary{background:#fff;border-color:#2563eb;color:#2563eb}.btn--secondary:hover{background:#eff6ff;color:#2563eb}.btn--accent{background:#7c3aed;border-color:#7c3aed;color:#fff}.btn--accent:hover{background:#6d28d9;border-color:#6d28d9;color:#fff}.btn--ghost{background:transparent;border-color:#e2e8f0;color:#0f172a}.btn--ghost:hover{background:#f1f5f9;border-color:#cbd5e1}.btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.btn--danger:hover{background:#bb1e1e;border-color:#bb1e1e}.btn--dark{background:#0f172a;border-color:#0f172a;color:#fff}.btn--dark:hover{background:#1e293b;border-color:#1e293b}.btn--google{align-items:center;background:#fff;border:1px solid #cbd5e1;color:#1e293b;display:flex;font-weight:500;gap:.5rem;justify-content:center}.btn--google:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.btn--google svg{flex-shrink:0}.form-card__divider{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.75rem;margin:1rem 0}.form-card__divider:after,.form-card__divider:before{background:#e2e8f0;content:"";flex:1;height:1px}.btn--icon{border-radius:9999px;height:2.5rem;padding:.5rem;width:2.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.form-label,label{color:#0f172a;font-size:.875rem;font-weight:500}.form-control,input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:border-color box-shadow .25s ease;width:100%}.form-control::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=password]::-moz-placeholder,input[type=search]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=text]::-moz-placeholder,input[type=url]::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:#94a3b8}.form-control::placeholder,input[type=email]::placeholder,input[type=number]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=text]::placeholder,input[type=url]::placeholder,select::placeholder,textarea::placeholder{color:#94a3b8}.form-control:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);outline:none}.form-control:disabled,input[type=email]:disabled,input[type=number]:disabled,input[type=password]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=text]:disabled,input[type=url]:disabled,select:disabled,textarea:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.form-control.is-invalid,input[type=email].is-invalid,input[type=number].is-invalid,input[type=password].is-invalid,input[type=search].is-invalid,input[type=tel].is-invalid,input[type=text].is-invalid,input[type=url].is-invalid,select.is-invalid,textarea.is-invalid{border-color:#dc2626}.form-control.is-invalid:focus,input[type=email].is-invalid:focus,input[type=number].is-invalid:focus,input[type=password].is-invalid:focus,input[type=search].is-invalid:focus,input[type=tel].is-invalid:focus,input[type=text].is-invalid:focus,input[type=url].is-invalid:focus,select.is-invalid:focus,textarea.is-invalid:focus{box-shadow:0 0 0 3px rgba(220,38,38,.15)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748B'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.password-wrapper{align-items:stretch;display:flex;position:relative}.password-wrapper .form-control,.password-wrapper input[type=password],.password-wrapper input[type=text]{flex:1;padding-right:2.75rem}.password-toggle{align-items:center;background:none;border:none;bottom:0;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:0;position:absolute;right:0;top:0;transition:color .25s ease;width:2.75rem}.password-toggle:hover{color:#0f172a}.password-toggle .eye-icon--hide{display:none}.password-toggle.is-visible{color:#2563eb}.password-toggle.is-visible .eye-icon--show{display:none}.password-toggle.is-visible .eye-icon--hide{display:block}.form-help{color:#94a3b8;font-size:.75rem}.form-error{color:#dc2626;font-size:.75rem}.form-check{align-items:center;cursor:pointer;display:flex;gap:.5rem}.form-check input[type=checkbox],.form-check input[type=radio]{accent-color:#2563eb;cursor:pointer;flex-shrink:0;height:1.125rem;width:1.125rem}.form-check label{cursor:pointer;font-size:.875rem}.form-card{background:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);margin-inline:auto;max-width:28rem;padding:2rem 1.5rem;width:100%}.form-card__title{color:#0f172a;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.form-card form>.btn{margin-top:1.5rem}.form-card__footer{color:#94a3b8;font-size:.875rem;margin-top:1rem;text-align:center}.form-errors{background:#fef2f2;border:1px solid #dc2626;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.form-errors ul{list-style:disc;padding-left:1rem}.link,a:not(.btn){color:#2563eb;text-decoration:none;text-underline-offset:.2em;transition:color text-decoration-color .25s ease}.link:focus-visible,a:not(.btn):focus-visible{outline:2px solid #2563eb;outline-offset:2px}.link:hover,a:not(.btn):hover{color:#1d4ed8;text-decoration:underline}.btn:hover{text-decoration:none}.link--muted{color:#475569}.link--muted:hover{color:#0f172a}.link--inverse{color:#fff}.link--inverse:hover{color:#eff6ff}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.01em;line-height:1.2;padding:.25rem .75rem}.badge--primary{background:#eff6ff;color:#1d4ed8}.badge--accent{background:#f5f3ff;color:#6d28d9}.badge--success{background:#f0fdf4;color:#16a34a}.badge--warning{background:#fffbeb;color:#d97706}.badge--error{background:#fef2f2;color:#dc2626}.badge--info{background:#f0f9ff;color:#0284c7}.badge--level-beginner{background:rgba(22,163,74,.12);color:#16a34a}.badge--level-intermediate{background:rgba(217,119,6,.12);color:#d97706}.badge--level-advanced{background:rgba(220,38,38,.12);color:#dc2626}.lesson-lock-icon{align-items:center;color:#94a3b8;display:inline-flex;flex-shrink:0;justify-content:center}.lesson-preview-badge{align-items:center;background:#eff6ff;border:1px solid rgba(37,99,235,.2);border-radius:9999px;color:#2563eb;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:2px .5rem;white-space:nowrap}.navbar{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.96);border-bottom:1px solid #e2e8f0;min-height:4rem;position:sticky;top:0;z-index:200}.navbar__container{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.navbar__container{padding-inline:1.5rem}}@media (min-width:1024px){.navbar__container{padding-inline:2rem}}.navbar__container{align-items:center;display:flex;gap:1rem;justify-content:space-between;min-height:4rem}.navbar__brand{color:#0f172a;font-size:1.25rem;font-weight:900}.navbar__toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.navbar__toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media (min-width:1024px){.navbar__toggle{display:none}}.navbar__menu{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);display:none;left:0;padding:1rem;position:absolute;right:0;top:calc(100% + 1px)}.navbar__menu.is-open{display:block}@media (min-width:1024px){.navbar__menu{align-items:center;background:transparent;border:0;box-shadow:none;display:flex;flex:1;justify-content:space-between;padding:0;position:static}}.navbar__actions,.navbar__links{display:flex;flex-direction:column;gap:.5rem}@media (min-width:1024px){.navbar__actions,.navbar__links{align-items:center;flex-direction:row;gap:.75rem}}.navbar__actions{margin-top:.75rem}@media (min-width:1024px){.navbar__actions{margin-top:0}}.navbar__link{align-items:center;border-radius:.5rem;color:#0f172a;display:inline-flex;font-size:.875rem;font-weight:500;min-height:2.5rem;padding:0 .75rem}.navbar__link:hover{background:#f1f5f9;text-decoration:none}.navbar__user{color:#475569;font-size:.875rem;margin-right:.5rem}.footer{background:#0f172a;color:#fff;margin-top:auto;padding-block:2.5rem}.footer__container{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.footer__container{padding-inline:1.5rem}}@media (min-width:1024px){.footer__container{padding-inline:2rem}}.footer__container{display:grid;gap:1.5rem}@media (min-width:768px){.footer__container{align-items:center;grid-template-columns:1fr auto}}.footer__brand{font-size:1.25rem;font-weight:700}.footer__text{color:hsla(0,0%,100%,.75);font-size:.875rem;margin-top:.5rem}.footer__links{display:flex;flex-wrap:wrap;gap:1rem}a.footer__link{color:hsla(0,0%,100%,.75);font-size:.875rem;text-decoration:none}a.footer__link:hover{color:#fff;text-decoration:none}.hero{background:radial-gradient(circle at top right,rgba(37,99,235,.16),transparent 40%),radial-gradient(circle at top left,rgba(124,58,237,.12),transparent 35%),#fff;border:1px solid #e2e8f0;border-radius:1.5rem;padding:2.5rem 1.5rem}@media (min-width:768px){.hero{padding:3rem 2.5rem}}.hero__eyebrow{display:inline-flex;margin-bottom:1rem}.hero__title{font-size:1.875rem;line-height:1.25;margin-bottom:1rem}@media (min-width:768px){.hero__title{font-size:3rem}}.hero__subtitle{color:#475569;max-width:56ch}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.hero__typewriter{color:#2563eb}.hero__typewriter:after{animation:typewriter-cursor .7s step-end infinite;color:#2563eb;content:"|";margin-left:1px}@keyframes typewriter-cursor{0%,to{opacity:1}50%{opacity:0}}.card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.card__body{padding:1.25rem}.card__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.card__text{color:#475569}.course-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform box-shadow .25s ease}.course-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);transform:translateY(-2px)}.course-card__media{aspect-ratio:16/9;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.course-card__image,.course-card__media{-o-object-fit:cover;object-fit:cover;width:100%}.course-card__image{height:100%}.course-card__body{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:1.25rem}.course-card__top{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.course-card__title{color:#0f172a;font-size:1.125rem;font-weight:700;-webkit-line-clamp:2}.course-card__description,.course-card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.course-card__description{color:#475569;font-size:.875rem;-webkit-line-clamp:3}.course-card__meta{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.course-card__footer{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:auto}.course-card__price{font-size:1.125rem;font-weight:700}.video-player{background:#0f172a;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);overflow:hidden}.video-player__wrapper{position:relative}.video-player__frame{aspect-ratio:16/9;border:0;min-height:220px;-o-object-fit:cover;object-fit:cover;width:100%}.video-player__meta{background:#fff;border-top:1px solid #e2e8f0;padding:1rem}.video-player__title{font-size:1.125rem;font-weight:600}.video-player__duration{color:#475569;font-size:.875rem;margin-top:.25rem}.video-player--empty{color:hsla(0,0%,100%,.8);display:grid;min-height:320px;padding:2rem;place-items:center;text-align:center}.autoplay-overlay{align-items:center;animation:fade-in .3s ease;background:rgba(15,23,42,.82);display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.autoplay-overlay[hidden]{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.autoplay-overlay__card{backdrop-filter:blur(8px);background:rgba(15,23,42,.96);border:1px solid hsla(0,0%,100%,.1);border-radius:1rem;padding:2rem 2.5rem;text-align:center;width:min(340px,100% - 2rem)}.autoplay-overlay__label{color:#94a3b8;font-size:.75rem;letter-spacing:.1em;margin:0 0 1rem;text-transform:uppercase}.autoplay-overlay__countdown{height:72px;margin:0 auto 1.25rem;position:relative;width:72px}.autoplay-overlay__ring{height:100%;transform:rotate(-90deg);width:100%}.autoplay-overlay__ring-bg{fill:none;stroke:hsla(0,0%,100%,.1);stroke-width:3}.autoplay-overlay__ring-fill{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-width:3;transition:stroke-dashoffset .9s linear}.autoplay-overlay__number{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:700;inset:0;justify-content:center;position:absolute}.autoplay-overlay__title{color:#e2e8f0;display:-webkit-box;font-size:.875rem;font-weight:500;-webkit-line-clamp:2;line-height:1.375;margin:0 0 1.25rem;-webkit-box-orient:vertical;overflow:hidden}.autoplay-overlay__btn{margin-bottom:.75rem}.autoplay-overlay__cancel{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.875rem;padding:.5rem;transition:color .25s ease}.autoplay-overlay__cancel:hover{color:#fff}.vq-modal{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.vq-modal[hidden]{display:none}.vq-modal__backdrop{background:rgba(15,23,42,.65);inset:0;position:absolute}.vq-modal__box{background:#fff;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);max-height:90vh;overflow-y:auto;padding:2rem;position:relative;width:min(560px,100vw - 2rem);z-index:1}.vq-modal__title{color:#475569;font-size:.875rem;font-weight:500;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}.vq-modal__text{color:#0f172a;font-size:1.125rem;font-weight:600;line-height:1.5;margin-bottom:1.5rem}.vq-modal__panel{margin-top:1rem}.vq-modal__btn-row{display:flex;gap:.75rem}.vq-modal__btn-row .btn{flex:1}.vq-modal__textarea{border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;margin-bottom:.75rem;padding:.75rem;resize:vertical;width:100%}.vq-modal__textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);outline:none}.vq-modal__audio-preview,.vq-modal__submit{width:100%}[id^=vq-rec-][hidden]{display:none}.vq-recorder__idle{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:.75rem 0 .5rem;text-align:center}.vq-recorder__hint{color:#475569;font-size:.875rem;line-height:1.55;margin:0}.vq-recorder__btn-start{width:100%}.vq-recorder__requesting{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 0;text-align:center}.vq-recorder__spinner{animation:vq-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;display:block;height:32px;width:32px}@keyframes vq-spin{to{transform:rotate(1turn)}}.vq-recorder__requesting-text{color:#475569;font-size:.875rem;margin:0}.vq-recorder__countdown{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:1rem 0;text-align:center}.vq-recorder__countdown-label{color:#475569;font-size:.75rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.vq-recorder__countdown-ring{height:88px;position:relative;width:88px}.vq-recorder__countdown-ring svg{height:100%;transform:rotate(-90deg);width:100%}.vq-recorder__ring-bg{fill:none;stroke:#e2e8f0;stroke-width:3}.vq-recorder__ring-fill{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-width:3;transition:stroke-dashoffset .9s linear}.vq-recorder__countdown-number{align-items:center;color:#0f172a;display:flex;font-size:1.875rem;font-weight:700;inset:0;justify-content:center;position:absolute}.vq-recorder__recording{align-items:center;display:flex;flex-direction:column;gap:1.25rem;padding:.75rem 0 .5rem}.vq-recorder__indicator{align-items:center;display:flex;gap:.75rem}.vq-recorder__dot{animation:vq-rec-pulse 1.4s ease-in-out infinite;background:#dc2626;border-radius:50%;flex-shrink:0;height:14px;width:14px}@keyframes vq-rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}.vq-recorder__timer{color:#0f172a;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em;min-width:3.2ch}.vq-recorder__indicator-label{color:#475569;font-size:.875rem}.vq-recorder__btn-stop{width:100%}.vq-recorder__done{flex-direction:column}.vq-recorder__actions,.vq-recorder__done{display:flex;gap:.75rem}.vq-recorder__actions .btn{flex:1}.vq-modal__error{color:#dc2626;font-size:.875rem;margin-top:.75rem}.vq-modal__error[hidden]{display:none}.pagination{display:flex;gap:.25rem;justify-content:center;list-style:none;margin:2rem 0 0;padding:0}.pagination .page-item{display:inline-flex}.pagination .page-item .page-link{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;display:inline-flex;font-size:.875rem;height:2.25rem;justify-content:center;min-width:2.25rem;padding:0 .75rem;transition:background border-color color .25s ease}.pagination .page-item a.page-link:hover{background:#f1f5f9;border-color:#cbd5e1;text-decoration:none}.pagination .page-item.active .page-link{background:#2563eb;border-color:#2563eb;color:#fff}.pagination .page-item.disabled .page-link{color:#94a3b8;cursor:default}.alert-list{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.alert-list{padding-inline:1.5rem}}@media (min-width:1024px){.alert-list{padding-inline:2rem}}.alert-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.alert{border:1px solid transparent;border-radius:.5rem;font-size:.875rem;padding:.75rem 1rem}.alert--success{background:#f0fdf4;border-color:rgba(22,163,74,.3);color:#107636}.alert--error{background:#fef2f2;border-color:rgba(220,38,38,.3);color:#b21d1d}.alert--warning{background:#fffbeb;border-color:rgba(217,119,6,.3);color:#8a4b04}.alert--info{background:#f0f9ff;border-color:rgba(2,132,199,.3);color:#016395}.trainers-section{background:#0f172a;overflow:hidden;padding:5rem 0;position:relative}.trainers-section:before{background:radial-gradient(ellipse 60% 40% at 20% 50%,rgba(37,99,235,.12) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 50%,rgba(124,58,237,.1) 0,transparent 60%);content:"";inset:0;pointer-events:none;position:absolute}.trainers-section__header{margin-bottom:4rem;position:relative;text-align:center;z-index:1}.trainers-section__header .section-label{background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.25);border-radius:9999px;color:#2563eb;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;margin-bottom:1rem;padding:.25rem 1rem;text-transform:uppercase}.trainers-section__header h2{color:#fff;font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem}.trainers-section__header h2 span{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.trainers-section__header p{color:#94a3b8;font-size:1.125rem;margin-inline:auto;max-width:520px}.trainers-section__typewriter{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.trainers-section__typewriter:after{content:"|";-webkit-text-fill-color:#2563eb;animation:typewriter-cursor .7s step-end infinite;margin-left:1px}.trainers-section__highlights{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.trainers-highlight{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:9999px;color:#cbd5e1;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem}.trainers-highlight svg{color:#2563eb;flex-shrink:0}.trainer-carousel{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.trainer-carousel__scene{height:430px;perspective:1400px;perspective-origin:50% 50%;position:relative}@media (min-width:768px){.trainer-carousel__scene{height:500px}}.trainer-carousel__track{height:100%;position:relative;transform-style:preserve-3d;width:100%}.trainer-card{background:linear-gradient(160deg,#1e293b,#0f172a);border:1px solid hsla(0,0%,100%,.08);border-radius:1.5rem;box-shadow:0 25px 60px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.06);cursor:pointer;display:flex;flex-direction:column;height:420px;left:50%;margin-left:-130px;margin-top:-210px;overflow:hidden;position:absolute;top:50%;transition:transform .7s cubic-bezier(.25,.46,.45,.94),opacity .7s ease,box-shadow .7s ease;width:260px}@media (min-width:768px){.trainer-card{height:440px;margin-left:-150px;margin-top:-220px;width:300px}}.trainer-card.is-active{box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 0 1px rgba(37,99,235,.3),inset 0 1px 0 hsla(0,0%,100%,.1)}.trainer-card__top{flex-shrink:0;padding:2rem 1.5rem 1rem;position:relative;text-align:center}.trainer-card__top:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);bottom:0;content:"";height:1px;left:50%;position:absolute;transform:translateX(-50%);width:80%}.trainer-card__avatar{align-items:center;border-radius:9999px;display:flex;height:88px;justify-content:center;margin:0 auto 1rem;position:relative;width:88px}.trainer-card__avatar:before{background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:9999px;content:"";inset:-3px;position:absolute;z-index:0}.trainer-card__avatar .trainer-card__initials,.trainer-card__avatar img{border-radius:9999px;height:82px;-o-object-fit:cover;object-fit:cover;position:relative;width:82px;z-index:1}.trainer-card__avatar .trainer-card__initials{align-items:center;background:linear-gradient(135deg,#1d4ed8,#6d28d9);color:#fff;display:flex;font-size:1.5rem;font-weight:700;justify-content:center;letter-spacing:.05em}.trainer-card__name{color:#fff;font-size:1.25rem;font-weight:700;line-height:1.25;margin-bottom:.25rem}.trainer-card__title{color:#94a3b8;font-size:.875rem;line-height:1.5}.trainer-card__body{display:flex;flex:1;flex-direction:column;gap:.75rem;overflow:hidden;padding:1rem 1.5rem}.trainer-card__specialty{align-items:center;align-self:flex-start;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.2);border-radius:9999px;color:#2563eb;display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;letter-spacing:.06em;padding:.25rem .75rem;text-transform:uppercase}.trainer-card__bio{color:#94a3b8;display:-webkit-box;flex:1;font-size:.875rem;-webkit-line-clamp:3;line-height:1.625;-webkit-box-orient:vertical;overflow:hidden}.trainer-card__stats{border-top:1px solid hsla(0,0%,100%,.06);display:flex;gap:1rem;padding-top:.75rem}.trainer-card__stat{display:flex;flex-direction:column;gap:2px}.trainer-card__stat strong{color:#fff;font-size:1.25rem;font-weight:700;line-height:1}.trainer-card__stat span{color:#64748b;font-size:.75rem}.trainer-card__footer{align-items:center;display:flex;flex-shrink:0;gap:.75rem;padding:.75rem 1.5rem 1.25rem}.trainer-card__social{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);border-radius:9999px;color:#94a3b8;display:flex;height:36px;justify-content:center;transition:background .15s ease,color .15s ease,border-color .15s ease;width:36px}.trainer-card__social svg{height:16px;width:16px}.trainer-card__social:hover{background:rgba(37,99,235,.15);border-color:rgba(37,99,235,.4);color:#2563eb}.trainer-card__social--twitter:hover{background:rgba(29,161,242,.15);border-color:rgba(29,161,242,.4);color:#1da1f2}.trainer-carousel__nav{gap:1rem;margin-top:2rem;position:relative;z-index:2}.trainer-carousel__btn,.trainer-carousel__nav{align-items:center;display:flex;justify-content:center}.trainer-carousel__btn{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.15);border-radius:9999px;color:#cbd5e1;cursor:pointer;height:48px;transition:all .25s ease;width:48px}.trainer-carousel__btn svg{height:20px;width:20px}.trainer-carousel__btn:hover{background:rgba(37,99,235,.2);border-color:rgba(37,99,235,.5);color:#fff;transform:scale(1.08)}.trainer-carousel__btn:disabled{cursor:not-allowed;opacity:.3;transform:none}.trainer-carousel__dots{align-items:center;display:flex;gap:.5rem}.trainer-carousel__dot{background:hsla(0,0%,100%,.2);border:none;border-radius:9999px;cursor:pointer;height:8px;padding:0;transition:all .25s ease;width:8px}.trainer-carousel__dot.is-active{background:#2563eb;width:24px}.trainer-carousel__dot:hover:not(.is-active){background:hsla(0,0%,100%,.4)}.trainers-section__empty{color:#64748b;font-size:1.125rem;padding:4rem 0;text-align:center}.testimonials-section{background:#f8fafc;padding:5rem 0}.testimonials-section__header{margin-bottom:3rem;text-align:center}.testimonials-section__header h2{color:#0f172a;font-size:2.25rem;font-weight:700;margin-bottom:.75rem}.testimonials-section__header h2 span{color:#2563eb}.testimonials-section__header p{color:#475569;font-size:1.125rem}.testimonials-grid{display:grid;gap:1.5rem}@media (min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:box-shadow .25s ease,border-color .25s ease}.testimonial-card:hover{border-color:rgba(37,99,235,.25);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.testimonial-card__quote{color:#0f172a;flex:1;font-size:1.125rem;line-height:1.625;padding-top:1rem;position:relative}.testimonial-card__quote:before{color:#2563eb;content:"“";font-family:Georgia,serif;font-size:3rem;left:0;line-height:1;opacity:.6;position:absolute;top:-.5rem}.testimonial-card__stars{color:#f59e0b;display:flex;font-size:.875rem;gap:2px}.testimonial-card__author{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;padding-top:1rem}.testimonial-card__avatar{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:9999px;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:44px;justify-content:center;width:44px}.testimonial-card__name{color:#0f172a;font-size:.875rem;font-weight:600}.testimonial-card__role{color:#475569;font-size:.75rem}.faq-section{background:#f1f5f9;border-top:1px solid #e2e8f0;padding:5rem 0}.faq-section__header{margin-bottom:3rem;text-align:center}.faq-section__header h2{color:#0f172a;font-size:2.25rem;font-weight:700;margin-bottom:.75rem}.faq-section__header h2 span{color:#2563eb}.faq-section__header p{color:#475569;font-size:1.125rem}.faq-list{display:flex;flex-direction:column;gap:.75rem;margin-inline:auto;max-width:720px}.faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;transition:border-color .25s ease}.faq-item:focus-within,.faq-item[open]{border-color:rgba(37,99,235,.35)}.faq-item__question{align-items:center;color:#0f172a;cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;gap:1rem;justify-content:space-between;list-style:none;padding:1.25rem 1.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question svg{color:#2563eb;flex-shrink:0;height:20px;transition:transform .25s ease;width:20px}.faq-item[open] .faq-item__question svg{transform:rotate(180deg)}.faq-item__answer{border-top:1px solid #e2e8f0;color:#475569;font-size:1.125rem;line-height:1.625;padding:1rem 1.5rem 1.25rem}.star-rating{display:inline-block;line-height:1;position:relative;vertical-align:middle}.star-rating__empty{color:#cbd5e1;display:block;letter-spacing:.1em}.star-rating__filled{color:#f59e0b;inset:0;letter-spacing:.1em;overflow:hidden;position:absolute;white-space:nowrap;width:var(--star-fill,0)}.star-rating--sm{font-size:.9rem}.star-rating--md{font-size:1.1rem}.star-rating--lg{font-size:1.6rem}.course-rating-summary{align-items:center;display:flex;gap:.5rem;margin:.5rem 0 1rem}.course-rating-summary__score{color:#f59e0b;font-size:1.1rem;font-weight:700}.course-rating-summary__count{color:#475569;font-size:.875rem}.ratings-section{margin-top:2.5rem}.ratings-overview{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.ratings-overview__score{align-items:center;display:flex;flex-direction:column;gap:.25rem;min-width:100px}.ratings-overview__avg{color:#0f172a;font-size:3.5rem;font-weight:800;line-height:1}.ratings-overview__total{color:#475569;font-size:.8rem;margin-top:.25rem}.ratings-overview__bars{display:flex;flex:1;flex-direction:column;gap:.4rem;min-width:200px}.rating-bar{align-items:center;display:flex;font-size:.8rem;gap:.6rem}.rating-bar__label{color:#475569;min-width:2.5rem;text-align:right}.rating-bar__track{background:#e2e8f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.rating-bar__fill{background:#f59e0b;border-radius:4px;height:100%;transition:width .3s ease}.rating-bar__pct{color:#94a3b8;min-width:2.5rem}.ratings-empty{color:#475569;font-style:italic;margin-bottom:1.5rem}.rating-form-wrapper{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.rating-form__title{color:#0f172a;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.star-picker{display:flex;flex-direction:row-reverse;gap:.25rem;justify-content:flex-end;margin-bottom:1rem}.star-picker input[type=radio]{display:none}.star-picker label{color:#cbd5e1;cursor:pointer;font-size:2.2rem;line-height:1;transition:color .12s,transform .1s}.star-picker label:hover{transform:scale(1.15)}.star-picker:hover label{color:#cbd5e1}.star-picker input:checked~label,.star-picker label:hover,.star-picker label:hover~label{color:#f59e0b}.rating-form__comment{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;font-family:inherit;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem;resize:vertical;transition:border-color .2s;width:100%}.rating-form__comment:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}.rating-form__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.reviews-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.review-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.25rem}.review-card__header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.review-card__author{color:#0f172a;font-size:.9rem;font-weight:600}.review-card__date{color:#94a3b8;font-size:.8rem;margin-left:auto}.review-card__comment{color:#475569;font-size:.9rem;line-height:1.6;margin:0}.course-card__rating{align-items:center;display:flex;gap:.35rem;margin-bottom:.5rem}.course-card__rating-score{color:#f59e0b;font-size:.85rem;font-weight:700}.course-card__rating-count{color:#94a3b8;font-size:.8rem}.page--home .home-featured{margin-top:3rem}.home-featured__header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.home-featured__header .section-title{margin-bottom:.25rem}.home-featured__header .section-subtitle{margin-bottom:0}.courses-search{align-items:center;display:flex;gap:.5rem;width:min(100%,34rem)}.courses-search__field{align-items:center;display:flex;flex:1 1 auto;min-width:16rem;position:relative}.courses-search__icon{color:#94a3b8;flex-shrink:0;left:.75rem;pointer-events:none;position:absolute}.courses-search__field .courses-search__input[type=search]{background:#fff;border:1px solid #e2e8f0;border-radius:9999px;color:#0f172a;font-size:.875rem;padding:.75rem 2rem;transition:border-color box-shadow .25s ease;width:100%}.courses-search__field .courses-search__input[type=search]::-moz-placeholder{color:#94a3b8}.courses-search__field .courses-search__input[type=search]::placeholder{color:#94a3b8}.courses-search__field .courses-search__input[type=search]:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}.courses-search__clear{align-items:center;color:#94a3b8;display:flex;position:absolute;right:.75rem;transition:color .25s ease}.courses-search__clear:hover{color:#0f172a}.courses-search__btn{align-self:stretch;border-radius:9999px;font-size:.875rem;font-weight:600;line-height:1;padding:.75rem 1rem}.courses-empty{color:#94a3b8;padding:3rem 0;text-align:center}.courses-empty a{color:#2563eb;text-decoration:underline}.courses-filters{border-bottom:1px solid #e2e8f0;border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1.25rem;padding:1rem 0}.courses-filters,.filter-group{align-items:center;display:flex}.filter-group{flex-shrink:0;gap:.5rem}.filter-group__label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.06em;min-width:3.25rem;text-transform:uppercase;white-space:nowrap}.filter-group__chips{display:flex;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.filter-group__chips::-webkit-scrollbar{display:none}.filter-chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;color:#475569;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;line-height:1.6;padding:.2rem .7rem;transition:color background-color border-color box-shadow .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.filter-chip input[type=radio]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.filter-chip:hover:not(.filter-chip--active){background:#eff6ff;border-color:#2563eb;color:#2563eb}.filter-chip:has(input:focus-visible){box-shadow:0 0 0 3px rgba(37,99,235,.2)}.filter-chip--active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.filter-sort{align-items:center;display:flex;gap:.5rem;margin-left:auto}@media (min-width:768px){.filter-sort{margin-left:auto}}.filter-sort--trainer{margin-left:0}.filter-sort__label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.filter-sort__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2364748B' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center;background-size:12px;border:1px solid #e2e8f0;border-radius:9999px;color:#0f172a;cursor:pointer;font-size:.875rem;font-weight:500;height:2rem;padding:0 1.5rem 0 .75rem;transition:border-color box-shadow .25s ease}.filter-sort__select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}.courses-active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.courses-active-filters__chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;color:#475569;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.2rem .6rem;transition:border-color color background-color .25s ease}.courses-active-filters__chip:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.courses-active-filters__chip span{font-size:1rem;line-height:1}.courses-filters__footer{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem;min-height:1.75rem}.courses-filters__count{color:#94a3b8;font-size:.875rem}.courses-filters__count strong{color:#0f172a;font-weight:600}.courses-filters__count em{color:#0f172a;font-style:normal}.courses-filters__reset{align-items:center;color:#94a3b8;display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;transition:color .25s ease}.courses-filters__reset svg{flex-shrink:0}.courses-filters__reset:hover{color:#dc2626}@media (max-width:639px){.home-featured__header{align-items:stretch;flex-direction:column}.courses-search{width:100%}.courses-search__field{min-width:0}.courses-filters{gap:.75rem;padding:.75rem 0}.filter-group{width:100%}.filter-group .filter-group__label{flex-shrink:0}.filter-group .filter-group__chips{flex:1;flex-wrap:nowrap}.filter-sort{margin-left:0;width:100%}.filter-sort .filter-sort__select{flex:1}.courses-active-filters{margin-bottom:.75rem}}.page--catalog .catalog-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.page--catalog .catalog-empty{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;text-align:center}.page--course .course-layout{display:grid;gap:1.5rem}@media (min-width:1024px){.page--course .course-layout{align-items:start;grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}}.page--course .course-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem}.page--course .course-lesson-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:0;scrollbar-color:#e2e8f0 transparent;scrollbar-width:thin}.page--course .course-lesson-list::-webkit-scrollbar{width:4px}.page--course .course-lesson-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}@media (min-width:1024px){.page--course .course-lesson-list{max-height:420px}}.page--course .course-lesson-link{align-items:center;border-radius:.5rem;color:#0f172a;display:flex;gap:.75rem;justify-content:space-between;padding:.5rem .75rem}.page--course .course-lesson-link:hover{background:#f1f5f9;text-decoration:none}.page--course .course-lesson-link.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.page--course .course-lesson-link--locked{cursor:not-allowed;opacity:.55}.page--course .course-lesson-link--locked:hover{background:transparent}.page--dashboard .dashboard-list{display:grid;gap:1rem}.page--dashboard .dashboard-item{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem}.page--dashboard .dashboard-item__meta{color:#475569;font-size:.875rem;margin-top:.5rem}.page--auth .auth-wrap{padding-bottom:3rem;padding-top:2rem}.error-page{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:4rem 0}.error-page__inner{max-width:480px;text-align:center}.error-page__code{color:#e2e8f0;font-size:8rem;font-weight:900;line-height:1;margin:0 0 1rem}.error-page__title{color:#0f172a;font-size:2.25rem;font-weight:700;margin:0 0 1rem}.error-page__message{color:#475569;font-size:1.125rem;line-height:1.625;margin:0 0 2rem}.error-page__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.cart-header{background:#0f172a;color:#fff;padding:2rem 0}.cart-header .cart-header__inner{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.cart-header .cart-header__inner{padding-inline:1.5rem}}@media (min-width:1024px){.cart-header .cart-header__inner{padding-inline:2rem}}.cart-header .cart-header__title{font-size:1.875rem;font-weight:700;margin:0 0 .25rem}.cart-header .cart-header__count{color:#94a3b8;font-size:.875rem}.cart-page{background:#f8fafc;min-height:60vh;padding:2.5rem 0 4rem}.cart-page__inner{margin-inline:auto;max-width:1536px;padding-inline:1rem;width:100%}@media (min-width:768px){.cart-page__inner{padding-inline:1.5rem}}@media (min-width:1024px){.cart-page__inner{padding-inline:2rem}}.cart-page__inner{align-items:start;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:1024px){.cart-page__inner{grid-template-columns:1fr 360px}}.cart-empty{grid-column:1/-1;padding:4rem 2rem;text-align:center}.cart-empty .cart-empty__icon{font-size:4rem;margin-bottom:1rem;opacity:.35}.cart-empty .cart-empty__title{color:#0f172a;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.cart-empty .cart-empty__text{color:#475569;margin-bottom:1.5rem}.cart-items{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;gap:0;overflow:hidden}.cart-item{border-bottom:1px solid #e2e8f0;display:grid;gap:.75rem 1rem;grid-template-columns:100px 1fr auto;grid-template-rows:auto auto;padding:1.25rem;transition:background-color .25s ease}.cart-item:last-child{border-bottom:none}.cart-item:hover{background:#f8fafc}@media (min-width:640px){.cart-item{grid-template-columns:120px 1fr auto auto;grid-template-rows:1fr}}@media (min-width:768px){.cart-item{grid-template-columns:140px 1fr auto auto;padding:1.5rem}}.cart-item__thumb{background:#f1f5f9;border-radius:.5rem;flex-shrink:0;grid-row:1/3;height:68px;-o-object-fit:cover;object-fit:cover;width:100px}@media (min-width:640px){.cart-item__thumb{grid-row:auto;height:80px;width:120px}}@media (min-width:768px){.cart-item__thumb{height:94px;width:140px}}.cart-item__thumb--placeholder{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;justify-content:center}.cart-item__thumb--placeholder:after{content:"📚";font-size:1.75rem;opacity:.5}.cart-item__info{align-self:center;min-width:0}.cart-item__title{color:#0f172a;display:-webkit-box;font-size:1rem;font-weight:600;-webkit-line-clamp:2;text-decoration:none;-webkit-box-orient:vertical;line-height:1.375;overflow:hidden;transition:color .25s ease}.cart-item__title:hover{color:#2563eb}@media (min-width:768px){.cart-item__title{font-size:1.125rem}}.cart-item__trainer{color:#475569;font-size:.875rem;margin:.25rem 0 .5rem}.cart-item__meta{display:flex;flex-wrap:wrap;gap:.5rem}.cart-item__price{align-self:center;color:#0f172a;font-size:1.25rem;font-weight:700;white-space:nowrap}@media (min-width:640px){.cart-item__price{font-size:1.5rem}}.cart-item__remove{align-self:center;background:none;border:none;border-radius:.5rem;color:#94a3b8;cursor:pointer;font-size:1.1rem;line-height:1;padding:.5rem;transition:color background-color .25s ease}.cart-item__remove:hover{background:#fef2f2;color:#dc2626}.cart-item__remove:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.cart-summary{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}@media (min-width:1024px){.cart-summary{position:sticky;top:5.5rem}}.cart-summary__header{background:#0f172a;color:#fff;padding:1.25rem 1.5rem}.cart-summary__header h2{font-size:1.25rem;font-weight:700;margin:0}.cart-summary__body{padding:1.5rem}.cart-summary__row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;font-size:1rem;justify-content:space-between;padding:.75rem 0}.cart-summary__row:first-child{padding-top:0}.cart-summary__row span{color:#475569}.cart-summary__row strong{color:#0f172a}.cart-summary__row--total{border-bottom:none;padding:1rem 0 0}.cart-summary__row--total span{color:#0f172a;font-size:1.25rem;font-weight:600}.cart-summary__row--total strong{color:#0f172a;font-size:1.5rem;font-weight:900}.cart-summary__row--discount strong{color:#16a34a}.cart-promo{border-bottom:1px solid #e2e8f0;padding:1rem 0}.cart-promo__toggle{align-items:center;background:none;border:none;color:#2563eb;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:0;transition:color .25s ease}.cart-promo__toggle:hover{color:#1d4ed8}.cart-promo__toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.cart-promo__form{display:flex;gap:.5rem;margin-top:.75rem}.cart-promo__form input{flex:1;min-width:0}.cart-promo__applied{align-items:center;background:#f0fdf4;border:1px solid #7eeea7;border-radius:.5rem;color:#16a34a;display:flex;font-size:.875rem;gap:.75rem;justify-content:space-between;margin-top:.75rem;padding:.75rem 1rem}.cart-promo__applied .cart-promo__remove{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.75rem;padding:0;text-decoration:underline;transition:color .25s ease;white-space:nowrap}.cart-promo__applied .cart-promo__remove:hover{color:#dc2626}.cart-promo__error{background:#fef2f2;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}.cart-summary__cta{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.cart-summary__secure{align-items:center;color:#94a3b8;display:flex;font-size:.75rem;gap:.5rem;justify-content:center}.cart-summary__clear{border-top:1px solid #e2e8f0;padding:1rem 1.5rem;text-align:center}.checkout-header{background:#0f172a;border-bottom:1px solid #1e293b;color:#fff;padding:1.5rem 0}.checkout-header__inner{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.checkout-header__inner{padding-inline:1.5rem}}@media (min-width:1024px){.checkout-header__inner{padding-inline:2rem}}.checkout-header__inner{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.checkout-header__brand{align-items:center;color:#fff;display:flex;gap:.75rem;text-decoration:none}.checkout-header__brand-logo{font-size:1.5rem;font-weight:900;letter-spacing:-.02em}.checkout-header__brand-sep{background:#334155;height:1.25rem;width:1px}.checkout-header__brand-label{color:#94a3b8;font-size:.875rem;font-weight:500}.checkout-header__secure{align-items:center;color:#94a3b8;display:flex;font-size:.75rem;gap:.5rem}.checkout-header__secure svg{color:#16a34a;height:14px;width:14px}.checkout-page{background:#f8fafc;min-height:calc(100vh - 4rem);padding:2.5rem 0 4rem}.checkout-page__inner{margin-inline:auto;max-width:1280px;padding-inline:1rem;width:100%}@media (min-width:768px){.checkout-page__inner{padding-inline:1.5rem}}@media (min-width:1024px){.checkout-page__inner{padding-inline:2rem}}.checkout-page__inner{align-items:start;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:1024px){.checkout-page__inner{grid-template-columns:1fr 380px}}.checkout-admin-banner{align-items:center;background:#fffbeb;border:1px solid #d97706;border-radius:.75rem;color:#d97706;display:flex;font-size:.875rem;gap:.75rem;grid-column:1/-1;padding:1rem 1.25rem}.checkout-admin-banner__icon{flex-shrink:0;font-size:1.1rem}.checkout-admin-banner strong{font-weight:600}.checkout-payment{display:flex;flex-direction:column;gap:1.5rem}.checkout-payment__title{align-items:center;color:#0f172a;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0}.checkout-payment__title:before{background:#2563eb;border-radius:2px;content:"";display:inline-block;height:1.25em;width:3px}.checkout-stripe-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden}.checkout-stripe-card__body{padding:1.5rem 1.5rem 2rem}.checkout-stripe-skeleton{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.checkout-stripe-skeleton__label{animation:skeleton-pulse 1.5s ease-in-out infinite;background:#e2e8f0;border-radius:.25rem;height:12px;width:60px}.checkout-stripe-skeleton__input{animation:skeleton-pulse 1.5s ease-in-out infinite;background:#f1f5f9;border-radius:.5rem;height:44px}.checkout-stripe-skeleton__row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.checkout-stripe-skeleton__row .checkout-stripe-skeleton__label{width:80px}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}#payment-element{min-height:200px}.checkout-payment-error{align-items:flex-start;animation:slide-in .2s ease;background:#fef2f2;border:1px solid #ee9494;border-radius:.5rem;color:#dc2626;display:flex;font-size:.875rem;gap:.75rem;padding:1rem 1.25rem}.checkout-payment-error__icon{flex-shrink:0;font-size:1rem;margin-top:1px}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.checkout-pay-btn{align-items:center;background:#2563eb;border:none;border-radius:.75rem;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;font-weight:700;gap:.75rem;justify-content:center;letter-spacing:.01em;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .25s ease;width:100%}.checkout-pay-btn:before{background:linear-gradient(180deg,hsla(0,0%,100%,.1),transparent);content:"";inset:0;position:absolute}.checkout-pay-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 16px rgba(37,99,235,.4);transform:translateY(-1px)}.checkout-pay-btn:active:not(:disabled){box-shadow:none;transform:translateY(0)}.checkout-pay-btn:disabled{cursor:not-allowed;opacity:.65}.checkout-pay-btn--loading{pointer-events:none}.checkout-pay-btn__spinner{animation:spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.4);border-radius:50%;border-top-color:#fff;flex-shrink:0;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.checkout-trust{align-items:center;border-top:1px solid #e2e8f0;color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:1rem;justify-content:center;margin-top:.5rem;padding:.75rem 0}.checkout-trust__item{align-items:center;display:flex;gap:.25rem;white-space:nowrap}.checkout-trust__item svg{color:#16a34a;flex-shrink:0;height:13px;width:13px}.checkout-guarantee{align-items:flex-start;background:#f0fdf4;border:1px solid #94f1b6;border-radius:.75rem;display:flex;gap:1rem;padding:1.25rem}.checkout-guarantee__icon{flex-shrink:0;font-size:2rem;line-height:1}.checkout-guarantee__title{color:#16a34a;font-size:1rem;font-weight:600;margin:0 0 .25rem}.checkout-guarantee__text{color:#138d40;font-size:.875rem;line-height:1.5;margin:0}@media (min-width:1024px){.checkout-summary{position:sticky;top:5.5rem}}.checkout-summary__card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden}.checkout-summary__header{background:#0f172a;color:#fff;padding:1.25rem 1.5rem}.checkout-summary__header h2{color:#94a3b8;font-size:1rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;margin:0;text-transform:uppercase}.checkout-summary__courses{border-bottom:1px solid #e2e8f0;padding:.5rem 0}.checkout-summary__item{align-items:center;display:grid;gap:.75rem;grid-template-columns:56px 1fr auto;padding:1rem 1.5rem;transition:background-color .25s ease}.checkout-summary__item:hover{background:#f8fafc}.checkout-summary__item-thumb{background:#f1f5f9;border-radius:.5rem;flex-shrink:0;height:38px;-o-object-fit:cover;object-fit:cover;width:56px}.checkout-summary__item-thumb--placeholder{align-items:center;background:linear-gradient(135deg,#eff6ff,#f5f3ff);display:flex;font-size:1.2rem;justify-content:center}.checkout-summary__item-name{color:#0f172a;display:-webkit-box;font-size:.875rem;font-weight:500;-webkit-line-clamp:2;line-height:1.375;-webkit-box-orient:vertical;overflow:hidden}.checkout-summary__item-price{color:#0f172a;font-size:.875rem;font-weight:600;padding-left:.5rem;white-space:nowrap}.checkout-summary__totals{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.5rem}.checkout-summary__row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.checkout-summary__row .label{color:#475569}.checkout-summary__row .value{color:#0f172a;font-weight:500}.checkout-summary__row--discount .label{color:#16a34a}.checkout-summary__row--discount .value{color:#16a34a;font-weight:600}.checkout-summary__row--total{border-top:1px solid #e2e8f0;padding-top:.75rem}.checkout-summary__row--total .label{color:#0f172a;font-size:1rem;font-weight:600}.checkout-summary__row--total .value{color:#0f172a;font-size:1.5rem;font-weight:900}.checkout-summary__footer{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem}.checkout-summary__back{align-items:center;border-radius:.5rem;color:#475569;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:.5rem;text-decoration:none;transition:all .25s ease}.checkout-summary__back:hover{background:#eff6ff;color:#2563eb}.checkout-summary__back svg{height:14px;width:14px}.checkout-summary__badges{align-items:center;display:flex;filter:grayscale(1);gap:.75rem;justify-content:center;opacity:.5;padding-top:.5rem}.checkout-summary__badges img{height:22px;-o-object-fit:contain;object-fit:contain}.checkout-success-page{align-items:center;background:#f8fafc;display:flex;min-height:70vh;padding:4rem 0}.checkout-success{margin-inline:auto;max-width:768px;padding-inline:1rem;width:100%}@media (min-width:768px){.checkout-success{padding-inline:1.5rem}}@media (min-width:1024px){.checkout-success{padding-inline:2rem}}.checkout-success{text-align:center}.checkout-success__check{align-items:center;animation:pop-in .4s cubic-bezier(.175,.885,.32,1.275);background:#16a34a;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.checkout-success__check svg{color:#fff;height:40px;stroke-width:3;width:40px}@keyframes pop-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.checkout-success__title{color:#0f172a;font-size:1.875rem;font-weight:700;margin:0 0 .75rem}@media (min-width:768px){.checkout-success__title{font-size:2.25rem}}.checkout-success__subtitle{color:#475569;font-size:1.125rem;line-height:1.625;margin:0 0 2.5rem}.checkout-success__courses{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);margin-bottom:2rem;overflow:hidden;text-align:left}.checkout-success__courses h2{border-bottom:1px solid #e2e8f0;color:#94a3b8;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;padding:1rem 1.5rem;text-transform:uppercase}.checkout-success__list{list-style:none;margin:0;padding:0}.checkout-success__course-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem}.checkout-success__course-item:last-child{border-bottom:none}.checkout-success__course-item .course-name{color:#0f172a;font-size:1rem;font-weight:500}.checkout-success__actions{align-items:center;display:flex;flex-direction:column;gap:.75rem}@media (min-width:640px){.checkout-success__actions{flex-direction:row;justify-content:center}}