:root{--bg-section-1:var(--bg-surface-1);--bg-section-2:var(--bg-surface-2);--bg-section-3:var(--bg-surface-3);--bg-section-4:var(--bg-surface-4);--shadow-card:var(--shadow-lg)}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--body-max);line-height:1.6;background:var(--bg-body);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h1,h1{font-family:var(--font-heading);font-size:clamp(1.6rem, 3vw, var(--h1-max))!important;font-weight:800;line-height:1.15;letter-spacing:-.02em}.h2,h2{font-family:var(--font-heading);font-size:clamp(1.4rem, 2.5vw, var(--h2-max))!important;font-weight:700;line-height:1.25;letter-spacing:-.015em}.h3,h3{font-family:var(--font-heading);font-size:clamp(1.15rem, 2vw, var(--h3-max))!important;font-weight:700;line-height:1.3;letter-spacing:-.01em}.h4,h4{font-family:var(--font-heading);font-size:clamp(1rem, 1.75vw, var(--h4-max))!important;font-weight:600;line-height:1.35;letter-spacing:-.005em}.h5,h5{font-family:var(--font-heading);font-size:clamp(.9rem, 1.5vw, var(--h5-max))!important;font-weight:600;line-height:1.4}.h6,h6{font-family:var(--font-heading);font-size:var(--body-max)!important;font-weight:600;line-height:1.5}.font-heading{font-family:var(--font-heading)}.overline{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-family:var(--font-heading)}a,button,input,label,li,p,select,span,td,textarea,th{font-size:inherit}.kv-container{width:var(--content-width-mobile);max-width:1440px;margin-left:auto;margin-right:auto}@media (min-width:1024px){.kv-container{width:var(--content-width-desktop)}}.kv-container-full{width:100%}.kv-section{padding:4rem 0}.kv-section-1{background:var(--bg-section-1)}.kv-section-2{background:var(--bg-section-2)}.kv-section-3{background:var(--bg-section-3)}.kv-section-4{background:var(--bg-section-4)}.kv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.75rem;border-radius:var(--radius-btn);font-weight:600;font-size:var(--body-max);cursor:pointer;border:none;position:relative;overflow:hidden;transition:all var(--transition-slow);text-decoration:none;white-space:nowrap}.kv-btn::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,.05));border-radius:var(--radius-btn) var(--radius-btn) 0 0;pointer-events:none}.kv-btn:active{transform:scale(.96) translateY(1px);transition:transform .1s cubic-bezier(.34, 1.56, .64, 1)}.kv-btn-primary{background:linear-gradient(135deg,var(--btn-primary),#0056b3);color:#fff;box-shadow:0 4px 12px rgba(0,123,255,.35)}.kv-btn-primary:hover{background:linear-gradient(135deg,#2490ff,var(--btn-primary));box-shadow:0 6px 20px rgba(0,123,255,.45);transform:translateY(-2px)}.kv-btn-secondary{background:linear-gradient(135deg,var(--btn-secondary),#545b62);color:#fff;box-shadow:0 4px 12px rgba(108,117,125,.35)}.kv-btn-secondary:hover{background:linear-gradient(135deg,#7d858c,var(--btn-secondary));box-shadow:0 6px 20px rgba(108,117,125,.45);transform:translateY(-2px)}.kv-btn-success{background:linear-gradient(135deg,var(--btn-success),#1e7e34);color:#fff;box-shadow:0 4px 12px rgba(40,167,69,.35)}.kv-btn-success:hover{background:linear-gradient(135deg,#34c759,var(--btn-success));box-shadow:0 6px 20px rgba(40,167,69,.45);transform:translateY(-2px)}.kv-btn-danger{background:linear-gradient(135deg,var(--btn-danger),#bd2130);color:#fff;box-shadow:0 4px 12px rgba(220,53,69,.35)}.kv-btn-danger:hover{background:linear-gradient(135deg,#e4606d,var(--btn-danger));box-shadow:0 6px 20px rgba(220,53,69,.45);transform:translateY(-2px)}.kv-btn-warning{background:linear-gradient(135deg,var(--btn-warning),#e0a800);color:#212529;box-shadow:0 4px 12px rgba(255,193,7,.35)}.kv-btn-warning:hover{background:linear-gradient(135deg,#ffcd39,var(--btn-warning));box-shadow:0 6px 20px rgba(255,193,7,.45);transform:translateY(-2px)}.kv-btn-info{background:linear-gradient(135deg,var(--btn-info),#117a8b);color:#fff;box-shadow:0 4px 12px rgba(23,162,184,.35)}.kv-btn-info:hover{background:linear-gradient(135deg,#2ac4de,var(--btn-info));box-shadow:0 6px 20px rgba(23,162,184,.45);transform:translateY(-2px)}.kv-btn-brand{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--accent-contrast);box-shadow:0 4px 12px rgba(var(--accent-rgb),.35)}.kv-btn-brand:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent));box-shadow:0 6px 20px rgba(var(--accent-rgb),.45);transform:translateY(-2px)}.kv-btn-accent{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-dark));color:#fff;box-shadow:0 4px 12px rgba(0,120,192,.35)}.kv-btn-accent:hover{background:linear-gradient(135deg,var(--brand-accent-light),var(--brand-accent));box-shadow:0 6px 20px rgba(0,120,192,.45);transform:translateY(-2px)}.kv-btn-outline{background:0 0;border:2px solid var(--accent);color:var(--accent)}.kv-btn-outline:hover{background:var(--accent);color:var(--accent-contrast);transform:translateY(-2px)}.kv-btn-outline::before{display:none}.kv-btn-sm{padding:.375rem 1.25rem;font-size:.8rem}.kv-btn-lg{padding:.875rem 2.25rem}.kv-btn-progressive{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;border-radius:var(--radius-btn);font-weight:700;font-size:var(--body-max);cursor:pointer;border:none;color:var(--accent-contrast);background:linear-gradient(135deg,var(--accent),var(--accent-dark));z-index:1;transition:all var(--transition-slow);text-decoration:none}.kv-btn-progressive::before{content:'';position:absolute;inset:-3px;border-radius:calc(var(--radius-btn) + 3px);background:linear-gradient(135deg,var(--accent-light),var(--state-success),var(--accent-dark),var(--accent-light));background-size:300% 300%;z-index:-1;animation:progressiveBorder 4s ease infinite}.kv-btn-progressive::after{content:'';position:absolute;inset:2px;border-radius:calc(var(--radius-btn) - 2px);background:linear-gradient(135deg,var(--accent),var(--accent-dark));z-index:-1}.kv-btn-progressive:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px rgba(var(--accent-rgb),.4)}.kv-btn-progressive:active{transform:scale(.97)}@keyframes progressiveBorder{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.kv-card{background:var(--bg-section-1);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:all var(--transition-slow);overflow:hidden}.kv-card:hover{background:var(--card-bg-hover);box-shadow:var(--shadow-xl)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-light)}*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--scrollbar-track)}.scroll-progress-bar{position:fixed;top:0;left:0;height:3px;width:var(--scroll-progress);background:linear-gradient(90deg,var(--accent),var(--accent-light),var(--state-success));z-index:9999;transition:width .1s linear}.skeleton{background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-via) 37%,var(--skeleton-from) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-card)}.skeleton-text{height:.9rem;margin-bottom:.5rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:.75rem}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-image{width:100%;height:200px}.skeleton-card{height:300px}.skeleton-list-item{height:60px;margin-bottom:.5rem}.skeleton-table-row{height:48px;margin-bottom:.25rem}.skeleton-dashboard{height:160px}.skeleton-search-result{height:100px;margin-bottom:.75rem}.skeleton-group{margin-bottom:.25rem}.kv-skeleton-wrapper{transition:opacity .2s ease}@keyframes shimmer{0%{background-position:-400% 0}100%{background-position:400% 0}}.toast-container{position:fixed;top:calc(var(--nav-height) + 1rem);right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast{padding:1rem 1.25rem;border-radius:var(--radius-card);box-shadow:var(--shadow-card);animation:slideInRight .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;transition:opacity .3s ease,transform .3s ease;cursor:default}.toast:focus{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.toast-icon{flex-shrink:0}.toast-dismiss{font-size:1.25rem;line-height:1;background:0 0;border:none;color:inherit;cursor:pointer;padding:0 .25rem}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:rgba(255,255,255,.5);animation:toastProgress linear forwards}.toast-success{background:var(--btn-success);color:#fff}.toast-danger{background:var(--btn-danger);color:#fff}.toast-warning{background:var(--btn-warning);color:#212529}.toast-info{background:var(--btn-info);color:#fff}.toast-copied{background:var(--brand-accent);color:#fff}.toast-uploaded{background:var(--btn-success);color:#fff}.toast-exported{background:var(--brand-accent);color:#fff}.toast-saved{background:var(--btn-success);color:#fff}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toastProgress{from{width:100%}to{width:0%}}.back-to-top{position:fixed;bottom:6.5rem;right:2rem;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-slow);z-index:9990;box-shadow:0 4px 15px rgba(var(--accent-rgb),.3)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-4px) scale(1.1);box-shadow:0 6px 20px rgba(var(--accent-rgb),.45)}input:focus,select:focus,textarea:focus{outline:0;box-shadow:0 0 0 3px var(--accent-focus-ring);border-color:var(--input-focus-border)!important;transition:box-shadow .3s cubic-bezier(.34, 1.56, .64, 1),border-color var(--transition-medium)}a{transition:color var(--transition-slow),background-color var(--transition-slow)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.scroll-progress-bar{transition:none}.kv-btn:active{transform:none}.kv-btn:hover{transform:none}.kv-btn-progressive:hover{transform:none}.kv-btn-progressive::before{animation:none}.page-transition-overlay{transition:none}.toast{animation:none}.skeleton{animation:none}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}::view-transition-new(root),::view-transition-old(root){animation:none!important}}[data-contrast=high] a{text-decoration:underline}[data-contrast=high] .kv-card{border:2px solid var(--border-default)}[data-contrast=high] .kv-btn{border:2px solid currentColor}@media print{.accessibility-widget,.back-to-top,.chatbot-widget,.cookie-consent,.scroll-progress-bar,.theme-switcher,.toast-container,footer,nav{display:none!important}body{background:#fff!important;color:#000!important;font-size:12pt}.kv-container{width:100%!important}a[href]::after{content:" (" attr(href) ")";font-size:.8em}.kv-card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}}.page-transition-overlay{position:fixed;inset:0;background:var(--accent);z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.page-transition-overlay.active{opacity:1;pointer-events:all}.page-transition-loader{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::view-transition-new(root),::view-transition-old(root){animation-duration:.2s;animation-timing-function:ease}#mainNav{transition:transform .4s cubic-bezier(.25,.46,.45,.94)}#mainNav.nav--hidden{transform:translateY(-100%)}.nav--scrolled{backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}[data-reveal]{will-change:opacity,transform}[data-fontsize=large]{font-size:110%!important}[data-fontsize=x-large]{font-size:125%!important}.kv-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.kv-input{display:block;width:100%;padding:.625rem .875rem;border:1px solid var(--input-border);border-radius:var(--radius-card);font-size:.85rem;font-family:var(--font-family);color:var(--input-text);background:var(--input-bg);transition:border-color var(--transition-medium),box-shadow .3s cubic-bezier(.34,1.56,.64,1)}.kv-input::placeholder{color:var(--input-placeholder)}.kv-input:focus{outline:0;border-color:var(--input-focus-border)!important;box-shadow:0 0 0 3px var(--input-focus-ring)}.kv-input.border-btn-danger{border-color:var(--btn-danger)!important}.kv-input.border-btn-danger:focus{box-shadow:0 0 0 3px rgba(220,53,69,.15)}.kv-field-error{display:block;font-size:.72rem;color:var(--btn-danger);margin-top:.25rem;min-height:0}.kv-field-error:empty{display:none}.kv-filter-select{appearance:none;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--input-border);border-radius:var(--radius-btn);font-size:.78rem;font-family:var(--font-family);color:var(--text-secondary);background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right .5rem center/16px no-repeat;cursor:pointer;transition:border-color var(--transition-medium),box-shadow .3s ease;white-space:nowrap}.kv-filter-select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-focus-ring)}.kv-filter-select:hover{border-color:var(--accent)}.kv-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;border-radius:var(--radius-btn);background:var(--chip-bg);color:var(--chip-text);font-size:.72rem;font-weight:500;white-space:nowrap}.chip-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:0 0;cursor:pointer;color:inherit;opacity:.6;font-size:1rem;line-height:1;padding:0;transition:opacity var(--transition-fast)}.chip-remove:hover{opacity:1}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-hero{min-height:60vh;padding-top:var(--nav-height,72px)}@media (max-width:768px){.course-hero{min-height:50vh}}.course-features-strip{scrollbar-width:none;-ms-overflow-style:none}.course-features-strip::-webkit-scrollbar{display:none}.course-features-strip .kv-card{transition:all var(--transition-slow)}.course-features-strip .kv-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(var(--accent-rgb),.15)}.schedule-card{transition:all var(--transition-slow);border-left:3px solid transparent}.schedule-card:hover{border-left-color:var(--accent)}.star-btn{cursor:pointer;background:0 0;border:none;padding:.125rem;transition:transform .2s cubic-bezier(.34, 1.56, .64, 1)}.star-btn:hover{transform:scale(1.2)}.star-btn:active{transform:scale(.9)}.review-card{transition:all var(--transition-slow)}.review-card:hover{transform:translateY(-1px)}.plyr-wrapper{position:relative;overflow:hidden}.plyr-wrapper .aspect-video{aspect-ratio:16/9}.mode-tab-active{position:relative}.mode-tab-active::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:60%;height:2px;background:var(--accent);border-radius:1px}.course-section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.15),transparent)}.hero-orb{animation:kvPulse 6s ease-in-out infinite}@keyframes kvPulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.svc-logo-carousel{position:relative;overflow:hidden;mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.svc-logo-track{display:flex;align-items:center;gap:3rem;width:max-content;animation:svcLogoScroll 40s linear infinite}.svc-logo-carousel:focus-within .svc-logo-track,.svc-logo-carousel:hover .svc-logo-track{animation-play-state:paused}.svc-logo-item{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:140px;height:60px;padding:.75rem 1.25rem;background:var(--bg-surface-1);border:1px solid var(--border-light);border-radius:var(--radius-card,.1rem);box-shadow:var(--shadow-sm);transition:all .3s ease}.svc-logo-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--accent)}.svc-logo-item img{height:36px;width:auto;object-fit:contain;filter:grayscale(100%);opacity:.5;transition:all .3s ease}.svc-logo-item:hover img{filter:grayscale(0%);opacity:1}@keyframes svcLogoScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media (max-width:768px){.svc-logo-track{gap:1.5rem;animation-duration:30s}.svc-logo-item{min-width:110px;height:50px;padding:.5rem .75rem}.svc-logo-item img{height:28px}}