:root{--bg:#f5f8fb;--bg-main:#f5f8fb;--bg-surface:#fff;--bg-dark:#142b41;--bg-navy:#203b55;--surface:#fff;--surface-raised:#edf3f8;--surface-highlight:#d4dfe9;--surface-translucent:#ffffffe0;--border:#d4dfe9;--border-light:#edf3f8;--border-subtle:#e4ebf2;--border-focus:#2d4e6e;--ink:#172e43;--heading-text:#172e43;--body-text:#41566a;--ink-secondary:#41566a;--ink-muted:#5c7082;--ink-faint:#63788a;--light-text:#5c7082;--white:#fff;--primary:#2d4e6e;--primary-light:#365f86;--primary-dark:#203b55;--primary-hover:#365f86;--primary-50:#edf4fa;--primary-100:#d9e7f2;--primary-ink:#fff;--brand-gold:#caa05b;--hero-background:linear-gradient(135deg, #142b41 0%, #2d4e6e 100%);--primary-rgb:45, 78, 110;--accent:#896329;--accent-light:#dfbf87;--accent-dark:#72501f;--gold:#896329;--gold-light:#dfbf87;--accent-amber:#896329;--accent-amber-subtle:#caa05b1f;--accent-amber-ink:#72501f;--success:#059669;--success-subtle:#ecfdf5;--success-bg:#ecfdf5;--success-ink:#064e3b;--error:#dc2626;--error-subtle:#fef2f2;--error-bg:#fef2f2;--error-ink:#7f1d1d;--font-heading:"Outfit", sans-serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, Menlo, monospace;--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:100px;--radius-pill:9999px;--glass-bg:#ffffffbf;--glass-border:#ffffffd9;--glass-shadow:0 8px 32px #142b410f;--shadow-sm:0 1px 3px #142b410d, 0 1px 2px #142b4108;--shadow:0 4px 6px -1px #142b410f, 0 2px 4px -2px #142b410a;--shadow-md:0 4px 14px #142b4114;--shadow-lg:0 10px 25px -5px #142b4114, 0 8px 10px -6px #142b4108;--shadow-xl:0 20px 50px -12px #142b411f;--shadow-glow:0 8px 24px -5px #2d4e6e4d;--shadow-glow-accent:0 8px 24px -5px #caa05b40;--transition-fast:all .2s cubic-bezier(.4, 0, .2, 1);--transition:all .4s cubic-bezier(.16, 1, .3, 1);--container-max:1280px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background-color:var(--bg-main);color:var(--body-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;line-height:1.7}body{background-color:var(--bg-main);min-height:100vh;color:var(--body-text);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--heading-text);letter-spacing:-.02em;text-wrap:balance;margin-bottom:1rem;font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,3.5rem)}h2{font-size:clamp(2rem,4vw,2.75rem)}h3{font-size:1.5rem}h4{font-size:1.25rem}p{color:var(--body-text);margin-bottom:1rem;line-height:1.7}a{color:var(--primary);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-dark)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}section{padding:5rem 0}@media (width<=768px){section{padding:3rem 0}.container{padding:0 1rem}.hide-on-mobile{display:none!important}}@media (width>=769px){.hide-on-desktop{display:none!important}}button,.btn{font-family:var(--font-heading);cursor:pointer;border-radius:var(--radius);transition:var(--transition);text-align:center;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.8rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--primary);box-shadow:0 4px 14px #2d4e6e47;color:var(--white)!important}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px);color:var(--white)!important}.btn-accent{background:var(--brand-gold);box-shadow:0 4px 14px #caa05b40;color:var(--bg-dark)!important}.btn-accent:hover:not(:disabled){background:var(--gold-light);box-shadow:var(--shadow-glow-accent);transform:translateY(-2px);color:var(--bg-dark)!important}.btn-outline{color:var(--primary);border:1.5px solid var(--border);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-50);transform:translateY(-2px)}.btn-amber{background:var(--accent-amber);font-weight:700;color:var(--white)!important}.btn-amber:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 6px 20px #caa05b59}.btn-white{background:var(--white);box-shadow:var(--shadow);color:var(--primary)!important}.btn-white:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px);color:var(--primary-dark)!important}.btn:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:var(--transition);padding:1.75rem}.panel-interactive:hover{border-color:var(--primary-100);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.glass-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:var(--transition)}.glass-card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-100);transform:translateY(-4px)}.badge{border-radius:var(--radius-full);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-primary{background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100)}.badge-accent{background:var(--accent-amber-subtle);color:var(--accent)}.badge-gold{background:var(--accent-amber-subtle);color:var(--gold)}.badge-amber{background:var(--accent-amber-subtle);color:var(--accent-dark)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-error{background:var(--error-bg);color:var(--error)}.mono-tag{font-family:var(--font-heading);letter-spacing:.01em;font-size:.85rem}input,select,textarea{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg-surface);width:100%;color:var(--heading-text);font-family:var(--font-body);transition:var(--transition-fast);margin-bottom:1rem;padding:.85rem 1.25rem;font-size:.95rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2d4e6e1f}input::placeholder,textarea::placeholder{color:var(--light-text)}label{color:var(--heading-text);margin-bottom:.45rem;font-size:.88rem;font-weight:600;display:block}.tech-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.tech-table{border-collapse:collapse;text-align:left;width:100%;font-size:.92rem}.tech-table th{background:var(--bg-main);color:var(--heading-text);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:1rem 1.25rem;font-size:.82rem;font-weight:700}.tech-table td{border-bottom:1px solid var(--border-light);color:var(--body-text);padding:1rem 1.25rem}.tech-table tr:last-child td{border-bottom:none}.tech-table tr:hover td{background:var(--primary-50)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in,.animate-fade-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}::selection{background:var(--primary-100);color:var(--primary-dark)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}input,textarea{caret-color:var(--primary)}.brand-lockup{color:var(--heading-text);align-items:center;gap:.75rem;display:inline-flex}.brand-crest{flex:0 0 48px;width:48px;height:54px;display:block;position:relative;overflow:hidden}.brand-crest img{width:152px;max-width:none;height:auto;position:absolute;top:-15px;left:-52px}.brand-wordmark{flex-direction:column;line-height:1.2;display:flex}.brand-wordmark strong{font-family:var(--font-heading);font-size:1.1rem;font-weight:800}.brand-wordmark>span{letter-spacing:.04em;text-transform:uppercase;margin-top:3px;font-size:.65rem}.site-footer .brand-lockup{color:#fff}.site-footer .brand-wordmark>span{color:var(--gold-light)}.site-mobile-nav{display:none!important}.article-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:2.5rem;display:grid}.article-card{border-radius:24px;flex-direction:column;height:100%;display:flex;overflow:hidden}.article-image{object-fit:cover;width:100%;height:240px;display:block}.article-body{flex-direction:column;flex:1;padding:2rem;display:flex}.article-meta{color:var(--light-text);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:1rem;font-size:.8rem;display:flex}.article-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:1.3rem;line-height:1.4;display:-webkit-box;overflow:hidden}.article-body h3 a{color:var(--heading-text)}.article-body p{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:1rem;display:-webkit-box;overflow:hidden}.article-action{border-top:1px solid var(--border-light);margin-top:1.5rem;padding-top:1.5rem;font-size:.95rem;font-weight:700}.catalog-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.catalog-header h1{margin-bottom:.5rem}.catalog-search{border-radius:100px;flex:280px;min-width:0;max-width:400px;margin:0}@media (width<=1100px){.site-desktop-nav{display:none!important}.site-mobile-nav{display:flex!important}}@media (width<=768px){.btn{width:100%}.catalog-search{max-width:none}.article-grid{gap:2rem}.site-footer{overflow-wrap:anywhere}.brand-wordmark strong{font-size:1rem}.brand-wordmark>span{font-size:.6rem}}.course-card{border-radius:24px;flex-direction:column;height:100%;display:flex;overflow:hidden}.course-card-media{background:var(--primary-50);height:200px}.course-card-image{object-fit:cover;width:100%;height:200px;display:block}.course-card-body{flex-direction:column;flex:1;padding:2rem;display:flex}.course-card-body h3{margin-bottom:1rem;font-size:1.35rem;line-height:1.3}.course-card-body h3 a{color:var(--heading-text)}.course-card-body p{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.course-card-body .btn{border-radius:12px;width:100%;padding:.75rem}.course-detail-status{text-align:center;padding-block:6rem}.course-detail-hero{background:var(--hero-background);border-bottom:4px solid var(--brand-gold);padding:6rem 0 5rem;position:relative;overflow:hidden}.course-hero-photo{opacity:.2;background-position:50%;background-size:cover;position:absolute;inset:0}.course-detail-hero .container{position:relative}.course-detail-hero a{color:#fff;margin-bottom:1.5rem;display:inline-block}.course-detail-hero h1{color:#fff;max-width:900px;margin:0 0 1.5rem}.course-detail-layout{flex-wrap:wrap;gap:3rem;padding-block:4rem;display:flex}.course-overview{flex:2 300px;min-width:0}.course-overview>img{object-fit:cover;border-radius:16px;width:100%;max-height:400px;margin-bottom:2rem}.course-overview h2{color:var(--primary);margin-bottom:1.5rem}.course-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.125rem;line-height:1.8}.course-info{flex:300px;min-width:0}.course-info>div{padding:2rem;position:sticky;top:100px}.course-info h2{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.5rem}.course-info-duration{justify-content:space-between;gap:1rem;margin-bottom:2rem;display:flex}.course-info .btn{width:100%}.course-info p{text-align:center;margin:1rem 0 0;font-size:.85rem}.course-management{padding-block:3.5rem}.course-management h1{font-size:2rem}.course-editor{margin-bottom:2.5rem;padding:clamp(1.25rem,5vw,3rem)}.course-editor fieldset{border:0;min-width:0;padding:0}.course-editor-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem;display:grid}.course-editor textarea{resize:vertical}.course-editor-actions{flex-wrap:wrap;gap:.75rem;display:flex}.course-image-preview{object-fit:contain;width:100%;max-height:260px;margin-bottom:1.5rem;display:block}.course-image-help{color:var(--light-text);font-size:.85rem}.course-admin-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:2rem;display:grid}.course-admin-card{overflow:hidden}.course-admin-card>img{object-fit:cover;width:100%;height:200px;display:block}.course-admin-body{padding:1.5rem}.course-admin-body h2{font-size:1.25rem}.course-admin-brief{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-admin-body .btn{padding:.65rem .85rem;font-size:.85rem}.course-editor-actions [aria-pressed=true]{background:var(--primary-50);border-color:var(--primary)}.applicant-dialog{border:1px solid var(--border);background:var(--bg-surface);width:min(90vw,680px);max-height:85vh;color:var(--ink);border-radius:20px;margin:auto;padding:2rem;overflow:auto}.applicant-dialog::backdrop{background:#142b41b3}.applicant-dialog dd{overflow-wrap:anywhere}
