:root{
  --navy:#0B1F3A; --navy-2:#122B4F; --royal:#1E4FD8; --royal-l:#3B6BF0;
  --gold:#F5A623; --gold-l:#FFC44D;
  --bg:#F6F8FC; --text:#1B2436; --muted:#6B7A90;
  --radius:16px; --shadow:0 10px 30px rgba(11,31,58,.08);
  --shadow-lg:0 20px 50px rgba(11,31,58,.14);
}
*{ -webkit-font-smoothing:antialiased; }
body{ font-family:'Poppins',system-ui,-apple-system,sans-serif; color:var(--text); background:#fff; }
h1,h2,h3,h4,h5{ font-weight:600; color:var(--navy); letter-spacing:-.02em; }
a{ text-decoration:none; }

/* ---------- Navbar ---------- */
.site-nav{ background:#fff; box-shadow:0 2px 20px rgba(11,31,58,.07); padding:.7rem 0; }
.site-nav .navbar-brand{ display:flex; align-items:center; gap:.65rem; font-weight:700; color:var(--navy); font-size:1.05rem; }
.brand-mark{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--navy),var(--royal)); color:#fff; font-size:1.1rem; }
.site-nav .nav-link{ color:var(--text); font-weight:500; font-size:.93rem; padding:.5rem .9rem !important; border-radius:8px; }
.site-nav .nav-link:hover, .site-nav .nav-link.active{ color:var(--royal); background:#EEF3FF; }

/* ---------- Buttons ---------- */
.btn{ border-radius:10px; font-weight:600; padding:.65rem 1.4rem; font-size:.92rem; }
.btn-brand{ background:linear-gradient(135deg,var(--royal),var(--royal-l)); color:#fff; border:none; box-shadow:0 6px 18px rgba(30,79,216,.28); }
.btn-brand:hover{ color:#fff; transform:translateY(-1px); box-shadow:0 10px 24px rgba(30,79,216,.36); }
.btn-gold{ background:linear-gradient(135deg,var(--gold),var(--gold-l)); color:var(--navy); border:none; }
.btn-gold:hover{ color:var(--navy); transform:translateY(-1px); }
.btn-outline-brand{ border:1.5px solid var(--royal); color:var(--royal); background:transparent; }
.btn-outline-brand:hover{ background:var(--royal); color:#fff; }

/* ---------- Hero ---------- */
.hero{ background:radial-gradient(1200px 500px at 85% -10%, #20408f 0%, var(--navy) 55%, #071528 100%);
  color:#fff; padding:6rem 0 5rem; position:relative; overflow:hidden; }
.hero::after{ content:''; position:absolute; right:-140px; top:-140px; width:520px; height:520px;
  background:radial-gradient(circle,rgba(245,166,35,.22),transparent 65%); border-radius:50%; }
.hero h1{ color:#fff; font-size:clamp(1.9rem,4vw,3.1rem); line-height:1.18; font-weight:700; }
.hero p.lead{ color:#C6D3E8; font-size:1.02rem; max-width:560px; }
.hero-pill{ display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18); color:#DCE6F8; padding:.45rem 1rem; border-radius:100px; font-size:.82rem; }

/* ---------- Cards ---------- */
.card-soft{ background:#fff; border:1px solid #E9EEF7; border-radius:var(--radius);
  box-shadow:var(--shadow); transition:.25s ease; overflow:hidden; }
.card-soft:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:#D6E2FA; }
.course-thumb{ height:180px; background:linear-gradient(135deg,var(--navy),var(--royal));
  display:grid; place-items:center; color:#fff; font-size:2.4rem; position:relative; }
.course-thumb img{ width:100%; height:100%; object-fit:cover; }
.course-meta{ font-size:.82rem; color:var(--muted); }
.course-price{ color:var(--royal); font-weight:700; font-size:1.15rem; }

/* ---------- Sections ---------- */
.section{ padding:5rem 0; }
.section-alt{ background:var(--bg); }
.section-title{ font-size:clamp(1.5rem,2.6vw,2.2rem); margin-bottom:.6rem; }
.section-sub{ color:var(--muted); max-width:620px; margin:0 auto; font-size:.96rem; }
.eyebrow{ display:inline-block; color:var(--royal); font-weight:600; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:.7rem; }

/* ---------- Feature / Stat ---------- */
.feature-icon{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center;
  background:#EEF3FF; color:var(--royal); font-size:1.4rem; margin-bottom:1rem; }
.stat-card{ background:#fff; border-radius:var(--radius); padding:1.8rem 1.2rem; text-align:center;
  border:1px solid #E9EEF7; box-shadow:var(--shadow); }
.stat-value{ font-size:2rem; font-weight:700; color:var(--navy); line-height:1; }
.stat-label{ color:var(--muted); font-size:.85rem; margin-top:.5rem; }

/* ---------- Forms ---------- */
.form-label{ font-weight:500; font-size:.88rem; color:var(--navy); margin-bottom:.35rem; }
.form-control,.form-select{ border-radius:10px; border:1.5px solid #DDE5F2; padding:.65rem .9rem; font-size:.92rem; }
.form-control:focus,.form-select:focus{ border-color:var(--royal); box-shadow:0 0 0 4px rgba(30,79,216,.1); }
.form-section-title{ font-size:.95rem; font-weight:600; color:var(--navy);
  padding-bottom:.6rem; margin-bottom:1.2rem; border-bottom:1px solid #E9EEF7; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--navy); color:#B9C7DE; padding:4rem 0 1.5rem; }
.site-footer h6{ color:#fff; font-size:.95rem; margin-bottom:1.1rem; }
.site-footer a{ color:#B9C7DE; font-size:.9rem; display:block; padding:.28rem 0; }
.site-footer a:hover{ color:var(--gold-l); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:3rem; padding-top:1.4rem; font-size:.84rem; }
.social-dot{ width:38px; height:38px; border-radius:10px; display:inline-grid; place-items:center;
  background:rgba(255,255,255,.08); color:#fff !important; margin-right:.4rem; }
.social-dot:hover{ background:var(--gold); color:var(--navy) !important; }

/* ---------- Auth ---------- */
.auth-wrap{ min-height:100vh; display:grid; place-items:center; background:var(--bg); padding:2rem 1rem; }
.auth-card{ width:100%; max-width:430px; background:#fff; border-radius:20px;
  box-shadow:var(--shadow-lg); padding:2.5rem; }

/* ---------- Verification ---------- */
.verify-ok{ border-left:5px solid #198754; }
.verify-bad{ border-left:5px solid #DC3545; }

@media (max-width: 991px){
  .hero{ padding:4rem 0 3.5rem; }
  .section{ padding:3.2rem 0; }
}

/* ---------- Public site refresh ---------- */
:root{
  --navy:#102540; --navy-2:#193b60; --royal:#2458c6; --royal-l:#4c7fe8;
  --gold:#e5a83b; --gold-l:#ffd27c; --bg:#f4f7fb; --text:#19283b; --muted:#68788d;
  --radius:20px; --shadow:0 12px 35px rgba(16,37,64,.075);
  --shadow-lg:0 24px 60px rgba(16,37,64,.14);
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:"DM Sans",system-ui,-apple-system,sans-serif;line-height:1.65}
h1,h2,h3,h4,h5,h6{font-family:Manrope,"DM Sans",sans-serif;letter-spacing:-.035em}
a{transition:color .18s ease,background-color .18s ease,border-color .18s ease}
.container{--bs-gutter-x:2rem}

.site-header{position:sticky;top:0;z-index:1030}
.site-nav{padding:.75rem 0;border-bottom:1px solid rgba(17,42,72,.07);backdrop-filter:blur(16px);background:rgba(255,255,255,.96)}
.site-nav .navbar-brand{gap:.7rem;font-family:Manrope,sans-serif;font-size:.98rem;font-weight:800;letter-spacing:-.035em}
.site-nav .brand-mark,.footer-brand .brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:linear-gradient(145deg,#173b67,#2b62cc);box-shadow:0 7px 17px rgba(36,88,198,.22)}
.site-nav .nav-link{font-size:.87rem;font-weight:600;color:#526278;padding:.6rem .78rem!important;border-radius:10px;white-space:nowrap}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:var(--royal);background:#eff4ff}
.site-nav .nav-apply{padding:.62rem 1rem!important;border-radius:11px}
.navbar-toggler{border:1px solid #dfe7f1;border-radius:10px;padding:.4rem .65rem;color:var(--navy)}
.navbar-toggler:focus{box-shadow:0 0 0 4px rgba(36,88,198,.12)}
.navbar-toggler .bi{font-size:1.45rem;line-height:1}

.btn{border-radius:11px;padding:.72rem 1.15rem;font-weight:700;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn-lg{padding:.9rem 1.35rem}
.btn-brand{background:linear-gradient(135deg,#2458c6,#3977e5);box-shadow:0 9px 22px rgba(36,88,198,.24)}
.btn-brand:hover,.btn-brand:focus-visible{background:linear-gradient(135deg,#194aa9,#3267cf);transform:translateY(-2px);box-shadow:0 13px 26px rgba(36,88,198,.3)}
.btn-gold{background:linear-gradient(135deg,#f3bd55,#ffdc91);box-shadow:0 9px 24px rgba(229,168,59,.2)}
.btn-outline-brand{border-color:#b9c9e6;color:#214f9f}
.btn-outline-brand:hover{border-color:var(--royal);background:var(--royal)}

.section{padding:5.25rem 0}
.section-alt{background:linear-gradient(180deg,#f5f8fc,#f1f5fa)}
.eyebrow{font-size:.72rem;letter-spacing:.16em;color:#3c69bb}
.section-header{max-width:700px;margin:0 auto 2.4rem;text-align:center}
.section-header h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;margin:.2rem 0 .65rem}
.section-header p{margin:0;color:var(--muted)}
.card-soft{border-color:#e8edf5;border-radius:var(--radius);box-shadow:var(--shadow)}
.card-soft:hover{transform:none;border-color:#dbe5f4;box-shadow:var(--shadow-lg)}
.course-card:hover,.feature-card:hover{transform:translateY(-4px)}
.form-control,.form-select{border-radius:11px;border-color:#dce4ef;padding:.75rem .9rem}
.form-control:focus,.form-select:focus{border-color:#7da1e8;box-shadow:0 0 0 4px rgba(36,88,198,.1)}

.hero{padding:6.5rem 0 6rem;background:
  radial-gradient(ellipse at 87% 15%,rgba(59,111,203,.54),transparent 40%),
  radial-gradient(ellipse at 8% 105%,rgba(55,105,177,.25),transparent 36%),
  linear-gradient(125deg,#0c1d32 0%,#122b49 52%,#18385d 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.8) .7px,transparent .7px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 5%,#000 100%)}
.hero::after{right:-170px;top:-260px;width:690px;height:690px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle,rgba(244,190,92,.18),rgba(70,118,189,.09) 40%,transparent 68%)}
.hero .container{position:relative;z-index:1}
.hero-inner{position:relative}
.hero h1{max-width:720px;margin:1.35rem 0 1.1rem;font-family:Manrope,sans-serif;font-size:clamp(2.5rem,5.1vw,4.65rem);line-height:1.08;letter-spacing:-.065em}
.hero p.lead{max-width:590px;color:#c3d0e0;font-size:1.08rem;line-height:1.75}
.hero-pill{font-weight:600;font-size:.78rem;letter-spacing:.01em;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.15);color:#e5edf7}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero-points{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;margin-top:2rem;color:#d4dfed;font-size:.82rem}
.hero-points i{color:#8ed2b0;margin-right:.35rem}
.hero-stats-card{position:relative;margin:1rem 0 1rem 1rem;padding:1.2rem;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:0 30px 80px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
.hero-stats-card::before{content:"";display:block;height:180px;margin-bottom:1rem;border-radius:19px;background:
  radial-gradient(circle at 50% 42%,rgba(255,218,141,.95) 0 4%,transparent 4.5%),
  radial-gradient(ellipse at 50% 100%,rgba(91,143,224,.8) 0 23%,transparent 23.5%),
  radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.18) 0 42%,transparent 42.5%),
  linear-gradient(135deg,#244b7a,#122a49)}
.hero-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}
.hero-stat{padding:.9rem;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(7,22,40,.28)}
.hero-stat-value{font-family:Manrope,sans-serif;font-weight:800;font-size:1.5rem;color:#fff;line-height:1.2}
.hero-stat-label{color:#c1d0e4;font-size:.73rem}

.feature-strip{position:relative;z-index:2;margin-top:-1.6rem}
.feature-strip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;padding:1.15rem 1.4rem;border:1px solid #e8edf4;border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(19,46,78,.11)}
.strip-item{display:flex;align-items:center;justify-content:center;gap:.55rem;color:#34465d;font-size:.82rem;font-weight:700}
.strip-item i{color:#3468c4;font-size:1.1rem}
.about-split{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4rem}
.about-split h2{font-size:clamp(1.8rem,3.3vw,2.65rem);font-weight:800}
.about-features{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.about-feature{min-height:180px;padding:1.35rem;border:1px solid #e8edf5;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.about-feature i{display:grid;width:44px;height:44px;place-items:center;margin-bottom:1rem;border-radius:14px;background:#edf3ff;color:#3266c2;font-size:1.25rem}
.about-feature h6{font-weight:800}
.about-feature p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.6}
.feature-card{height:100%;padding:1.6rem}
.feature-card h5{font-size:1.04rem;font-weight:800}
.feature-card p{margin:0;color:var(--muted);font-size:.9rem}
.feature-icon{background:linear-gradient(145deg,#edf3ff,#f6f8ff);color:#2c60bd}
.stats-band{padding:3.4rem 0;background:linear-gradient(115deg,#112a48,#1d4370);color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-block{text-align:center;padding:1rem;border-right:1px solid rgba(255,255,255,.14)}
.stat-block:last-child{border:0}
.stat-block .stat-value{color:#fff;font-family:Manrope,sans-serif;font-weight:800;font-size:2.4rem}
.stat-block .stat-value small{font-size:.65em;color:#f5c46e}
.stat-block .stat-label{color:#cad6e5}

.page-hero{position:relative;overflow:hidden;padding:4.2rem 0;background:
  radial-gradient(ellipse at 90% 15%,rgba(77,124,201,.33),transparent 36%),
  linear-gradient(115deg,#102540,#193b60);color:#fff}
.page-hero::after{content:"";position:absolute;right:-110px;bottom:-290px;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.02)}
.page-hero .container{position:relative;z-index:1}
.page-hero-inner{max-width:850px}
.page-hero h1{margin:.65rem 0 .7rem;color:#fff;font-size:clamp(2.15rem,4.5vw,3.55rem);font-weight:800;letter-spacing:-.06em}
.page-hero p{max-width:680px;margin:0;color:#c5d2e3;font-size:1.04rem}
.page-hero .breadcrumb{margin-bottom:1.3rem}
.page-hero .breadcrumb-item,.page-hero .breadcrumb-item a{color:#c6d3e2;font-size:.8rem}
.page-hero .breadcrumb-item.active{color:#fff}
.page-hero .breadcrumb-item+.breadcrumb-item::before{color:#91a5bd}
.page-hero .eyebrow{color:#ffd27c}

.course-card-thumb{height:210px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#173b62,#326fc7);color:rgba(255,255,255,.9)}
.course-card-thumb::before,.cd-image::before{content:"";position:absolute;inset:0;opacity:.4;background:radial-gradient(circle at 72% 25%,rgba(255,220,145,.7),transparent 18%),radial-gradient(circle at 22% 95%,rgba(255,255,255,.25),transparent 28%)}
.course-card-thumb i{position:relative;z-index:1;font-size:3.5rem;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
.course-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.card-soft:hover .course-card-thumb img{transform:scale(1.04)}
.cd-image{height:clamp(240px,38vw,360px);position:relative;display:grid;place-items:center;overflow:hidden;border-radius:20px;background:linear-gradient(145deg,#173b62,#326fc7)}
.cd-image>img{width:100%;height:100%;object-fit:cover}
.course-card-thumb .course-icon-wrap,.cd-image .course-icon-wrap{width:100%;height:100%;display:grid;place-items:center;position:relative;z-index:1}
.course-card-thumb .course-icon-wrap::before,.cd-image .course-icon-wrap::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.28),transparent 60%);pointer-events:none}
.course-card-thumb .course-icon-wrap i,.cd-image .course-icon-wrap i{font-size:3.4rem;color:#fff;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28));z-index:2;transition:transform .35s ease}
.cd-image .course-icon-wrap i{font-size:6rem}
.card-soft:hover .course-card-thumb .course-icon-wrap i{transform:scale(1.12) rotate(-4deg)}
.course-card-thumb .course-icon-wrap.theme-blue,.cd-image .course-icon-wrap.theme-blue{background:linear-gradient(135deg,#1E4FD8 0%,#3B6BF0 100%)}
.course-card-thumb .course-icon-wrap.theme-indigo,.cd-image .course-icon-wrap.theme-indigo{background:linear-gradient(135deg,#4C1D95 0%,#7C3AED 100%)}
.course-card-thumb .course-icon-wrap.theme-cyan,.cd-image .course-icon-wrap.theme-cyan{background:linear-gradient(135deg,#0E7490 0%,#06B6D4 100%)}
.course-card-thumb .course-icon-wrap.theme-green,.cd-image .course-icon-wrap.theme-green{background:linear-gradient(135deg,#065F46 0%,#10B981 100%)}
.course-card-thumb .course-icon-wrap.theme-teal,.cd-image .course-icon-wrap.theme-teal{background:linear-gradient(135deg,#115E59 0%,#14B8A6 100%)}
.course-card-thumb .course-icon-wrap.theme-slate,.cd-image .course-icon-wrap.theme-slate{background:linear-gradient(135deg,#334155 0%,#64748B 100%)}
.course-card-thumb .course-icon-wrap.theme-pink,.cd-image .course-icon-wrap.theme-pink{background:linear-gradient(135deg,#9D174D 0%,#EC4899 100%)}
.course-card-thumb .course-icon-wrap.theme-orange,.cd-image .course-icon-wrap.theme-orange{background:linear-gradient(135deg,#B45309 0%,#F59E0B 100%)}
.course-card-thumb .course-icon-wrap.theme-danger,.cd-image .course-icon-wrap.theme-danger{background:linear-gradient(135deg,#991B1B 0%,#EF4444 100%)}
.course-card-thumb .course-icon-wrap.theme-purple,.cd-image .course-icon-wrap.theme-purple{background:linear-gradient(135deg,#6B21A8 0%,#A855F7 100%)}
.course-card-thumb .course-icon-wrap.theme-navy,.cd-image .course-icon-wrap.theme-navy{background:linear-gradient(135deg,var(--navy) 0%,var(--royal) 100%)}
.course-card-body{padding:1.35rem}
.course-cat{display:inline-flex;padding:.28rem .65rem;border-radius:50px;background:#eff4ff;color:#315fae;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.course-title{min-height:3.2rem;margin:.75rem 0 .45rem;font-size:1.12rem;font-weight:800}
.course-desc{min-height:3.1rem;color:var(--muted);font-size:.86rem}
.course-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 0;border-top:1px solid #edf0f5;font-size:.8rem}
.course-meta-duration{color:var(--muted)}
.course-meta-fee{color:#1f4f9d;font-weight:800;font-size:.98rem}
.course-actions{display:flex;gap:.6rem}
.course-actions .btn{flex:1;padding:.62rem .6rem;font-size:.78rem}
.cat-pills{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:2rem}
.cat-pill{padding:.52rem .9rem;border:1px solid #dce5f1;border-radius:50px;background:#fff;color:#52647a;font-size:.82rem;font-weight:700}
.cat-pill:hover,.cat-pill.active{border-color:#2458c6;background:#2458c6;color:#fff;box-shadow:0 5px 13px rgba(36,88,198,.16)}

.verify-ok,.verify-bad{border-radius:20px;border:1px solid #e7edf5;box-shadow:var(--shadow)}
.verify-ok{border-left:5px solid #21845b}
.verify-bad{border-left:5px solid #cf4752}
.verify-result-table th{width:34%;color:#697a90;font-weight:600}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start}
.contact-info-list{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}
.contact-info-list li{display:flex;gap:1rem;padding:1.15rem;border:1px solid #e8edf5;border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.contact-info-list li>i{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:14px;background:#edf3ff;color:#3266c2;font-size:1.1rem}
.contact-info-list li strong,.contact-info-list li span{display:block}
.contact-info-list li strong{font-family:Manrope,sans-serif;font-size:.88rem}
.contact-info-list li span{margin-top:.18rem;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.contact-form-card{padding:1.65rem;border:1px solid #e8edf5;border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.contact-form-card h5{font-weight:800}
.map-embed{margin-top:1rem;overflow:hidden;border:1px solid #e5ebf3;border-radius:18px;box-shadow:var(--shadow)}
.map-embed iframe{display:block;width:100%;height:260px;border:0}
.site-footer{padding:3.8rem 0 1.4rem;background:linear-gradient(130deg,#0e2036,#153453)}
.site-footer .footer-desc{max-width:360px;color:#aebfd2;font-size:.86rem;line-height:1.75}
.site-footer h6{font-family:Manrope,sans-serif;font-weight:800}
.site-footer ul{padding:0;list-style:none}
.site-footer .footer-contact li{display:flex;gap:.7rem;margin-bottom:.75rem;color:#b9c7d7;font-size:.84rem}
.site-footer .footer-contact i{color:#f5c46e}
.footer-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;color:#fff;font-family:Manrope,sans-serif;font-weight:800}
.social-links{display:flex;gap:.5rem}
.social-links a{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:11px}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;color:#aebfd2}

.apply-form{overflow:hidden}
.apply-step-indicator{display:flex;align-items:center;max-width:540px;margin:0 auto 2rem}
.apply-step{display:flex;align-items:center;gap:.55rem;color:#8795a8;font-size:.8rem;font-weight:700;white-space:nowrap}
.apply-step span{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d8e1ed;border-radius:50%;background:#fff}
.apply-step.active{color:#2458c6}
.apply-step.active span{border-color:#2458c6;background:#2458c6;color:#fff}
.apply-step-line{height:1px;flex:1;margin:0 .8rem;background:#dce4ef}
#applicationDetailsStage,#paymentStage{animation:stageIn .24s ease both}
#paymentStage[hidden],#applicationDetailsStage[hidden]{display:none!important}
.payment-method{min-width:145px}
.payment-method.active{border-color:#2458c6;background:#2458c6;color:#fff}
.payment-detail-card{padding:1.3rem;border:1px solid #e1e9f4;border-radius:17px;background:#f9fbfe}
.application-submit-actions{padding-top:1rem;border-top:1px solid #edf0f5}
.form-text{color:#718096}

@keyframes stageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media (max-width: 991px){
  .site-nav .navbar-collapse{padding:.8rem 0 .35rem}
  .site-nav .navbar-nav{align-items:stretch!important;gap:.15rem!important}
  .site-nav .nav-link{padding:.72rem .8rem!important}
  .site-nav .nav-apply{margin-top:.45rem}
  .about-split{grid-template-columns:1fr;gap:2rem}
  .hero{padding:5rem 0 4.5rem}
  .hero-stats-card{margin:0}
}
@media (max-width: 767px){
  .container{--bs-gutter-x:1.5rem}
  .section{padding:3.6rem 0}
  .hero{padding:4rem 0 4rem}
  .hero h1{font-size:clamp(2.35rem,10vw,3.55rem)}
  .hero p.lead{font-size:.97rem}
  .hero-cta .btn{flex:1 1 100%}
  .feature-strip{margin-top:-1.1rem}
  .feature-strip-inner{grid-template-columns:repeat(2,1fr);gap:.9rem;padding:1rem}
  .strip-item{justify-content:flex-start;font-size:.74rem}
  .strip-item i{font-size:1rem}
  .about-features{gap:.7rem}
  .about-feature{min-height:0;padding:1rem}
  .about-feature p{font-size:.78rem}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-block:nth-child(2){border-right:0}
  .stat-block:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .stat-block .stat-value{font-size:2rem}
  .page-hero{padding:3rem 0}
  .course-card-thumb{height:190px}
  .contact-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .apply-step{font-size:.72rem}
  .apply-step span{width:30px;height:30px}
  .apply-step-line{margin:0 .45rem}
}
@media (max-width: 420px){
  .feature-strip-inner{grid-template-columns:1fr}
  .about-features{grid-template-columns:1fr}
  .course-actions{flex-direction:column}
  .apply-step{gap:.35rem;font-size:.66rem}
  .apply-step-line{margin:0 .3rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------- Colorful homepage hero ---------- */
.hero{
  background:
    radial-gradient(ellipse at 82% 28%,rgba(113,95,255,.52),transparent 36%),
    radial-gradient(ellipse at 12% 100%,rgba(34,107,220,.38),transparent 42%),
    linear-gradient(122deg,#101d3c 0%,#172b58 53%,#263d78 100%);
}
.hero::after{
  right:-180px;top:-240px;width:650px;height:650px;
  border-color:rgba(255,255,255,.12);
  background:radial-gradient(circle,rgba(255,177,106,.2),rgba(112,91,244,.1) 43%,transparent 69%);
  animation:heroGlow 9s ease-in-out infinite alternate;
}
.hero h1{animation:heroContentIn .7s ease both}
.hero h1 span{
  color:#ffc66d;
  background:linear-gradient(100deg,#ffe08a 5%,#ffb57d 55%,#ff9bbd 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-inner>.hero-pill,.hero-inner>p,.hero-inner>.hero-cta,.hero-inner>.hero-points{
  animation:heroContentIn .7s ease both;
}
.hero-inner>.hero-pill{animation-delay:.06s}
.hero-inner>p{animation-delay:.14s}
.hero-inner>.hero-cta{animation-delay:.22s}
.hero-inner>.hero-points{animation-delay:.3s}
.hero-pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.hero .btn-gold{background:linear-gradient(125deg,#ffd36f,#ffad73);box-shadow:0 12px 28px rgba(255,177,92,.24)}
.hero .btn-gold:hover,.hero .btn-gold:focus-visible{background:linear-gradient(125deg,#ffdf8a,#ffbb82)}
.hero .btn-outline-light{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.055)}
.hero .btn-outline-light:hover,.hero .btn-outline-light:focus-visible{background:rgba(255,255,255,.15);border-color:#fff}
.hero-points i{color:#8ce4c1}
.hero-visual{
  position:relative;
  max-width:490px;
  margin:0 auto;
  padding:1.7rem .45rem;
  animation:heroContentIn .85s .16s ease both;
}
.hero-orbit{
  position:absolute;
  z-index:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  pointer-events:none;
}
.hero-orbit-one{width:350px;height:350px;right:4%;top:7%;animation:orbitDrift 18s linear infinite}
.hero-orbit-two{width:285px;height:285px;left:8%;bottom:4%;border-style:dashed;animation:orbitDrift 24s linear infinite reverse}
.hero-learning-card{
  position:relative;
  z-index:1;
  width:calc(100% - 1.45rem);
  margin-left:auto;
  padding:1.2rem;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(246,248,255,.96));
  box-shadow:0 28px 70px rgba(4,13,39,.32),0 4px 14px rgba(255,255,255,.12) inset;
  animation:cardFloat 6s ease-in-out infinite;
}
.learning-card-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.learning-app-icon{
  display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;
  border-radius:14px;background:linear-gradient(145deg,#6359e9,#387de9);
  color:#fff;font-size:1.25rem;box-shadow:0 8px 18px rgba(74,94,219,.24)
}
.learning-card-heading strong,.learning-card-heading small{display:block}
.learning-card-heading strong{color:#1c2b49;font-size:.86rem;font-weight:800;letter-spacing:-.02em}
.learning-card-heading small{margin-top:.1rem;color:#78869b;font-size:.71rem}
.learning-menu-icon{margin-left:auto;color:#8a96a9;font-size:1.2rem}
.learning-code-window{
  position:relative;
  overflow:hidden;
  min-height:158px;
  padding:.55rem .8rem .7rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:linear-gradient(135deg,#151e39,#202d52);
  box-shadow:0 10px 24px rgba(21,30,57,.16);
}
.code-window-top{display:flex;align-items:center;gap:.32rem;height:22px;margin-bottom:.3rem}
.code-window-top>span{width:7px;height:7px;border-radius:50%;background:#ff8279}
.code-window-top>span:nth-child(2){background:#ffc76d}
.code-window-top>span:nth-child(3){background:#72d7ac}
.code-window-top small{margin-left:.5rem;color:#9daac7;font-family:monospace;font-size:.64rem}
.code-line{display:flex;gap:.8rem;color:#e3e9fa;font-family:monospace;font-size:clamp(.6rem,1vw,.72rem);line-height:1.75;white-space:nowrap}
.code-line i{color:#73809f;font-style:normal}
.code-line b{color:#b99bff;font-weight:600}
.code-line em{color:#86c5ff;font-style:normal}
.code-line strong{color:#94e4bc;font-weight:500}
.code-line mark{padding:0;background:transparent;color:#ffd17b}
.code-cursor{position:absolute;right:15%;bottom:19%;width:2px;height:14px;background:#ffc76d;animation:cursorBlink 1s steps(2,start) infinite}
.learning-card-progress{padding:.9rem .1rem .7rem}
.progress-label{display:flex;justify-content:space-between;gap:.6rem;margin-bottom:.45rem;color:#465571;font-size:.7rem;font-weight:700}
.progress-label strong{color:#7a69e8;font-size:.66rem}
.progress-track{height:6px;overflow:hidden;border-radius:99px;background:#e8eaf4}
.progress-track span{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6370ee,#9b72ed,#ffb27b);transform-origin:left;animation:progressIn 1.3s .5s ease both}
.hero-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.hero-stat{
  display:flex;align-items:center;gap:.55rem;min-width:0;padding:.58rem;
  border:1px solid #e9edf5;border-radius:13px;background:rgba(255,255,255,.8)
}
.hero-stat-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:10px;font-size:.9rem}
.stat-icon-students{background:#e8f4ff;color:#3683ce}
.stat-icon-courses{background:#f0ebff;color:#7858cf}
.stat-icon-certified{background:#e6f8ef;color:#29a36a}
.stat-icon-experience{background:#fff3df;color:#df9431}
.hero-stat strong,.hero-stat small{display:block}
.hero-stat strong{color:#1c2b49;font-size:.88rem;font-weight:800;line-height:1.2}
.hero-stat small{overflow:hidden;color:#78869b;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}
.hero-floating-note{
  position:absolute;
  z-index:2;
  display:flex;align-items:center;gap:.6rem;
  padding:.65rem .8rem;
  border:1px solid rgba(255,255,255,.8);
  border-radius:15px;
  background:rgba(255,255,255,.97);
  box-shadow:0 15px 34px rgba(4,13,39,.2);
  animation:noteFloat 4.5s ease-in-out infinite;
}
.hero-note-top{top:.2rem;left:0}
.hero-note-bottom{right:-.15rem;bottom:-.5rem;animation-delay:-2.2s}
.floating-note-icon{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:#fff2d9;color:#e39727;font-size:1.05rem}
.note-icon-certificate{background:#e8f5ff;color:#3987d0}
.hero-floating-note strong,.hero-floating-note small{display:block;white-space:nowrap}
.hero-floating-note strong{color:#233451;font-size:.72rem;font-weight:800}
.hero-floating-note small{margin-top:.08rem;color:#7b899d;font-size:.62rem}

@keyframes heroContentIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroGlow{from{transform:translate3d(-12px,0,0) scale(.96)}to{transform:translate3d(12px,15px,0) scale(1.04)}}
@keyframes orbitDrift{to{transform:rotate(360deg)}}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes noteFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes cursorBlink{to{visibility:hidden}}
@keyframes progressIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width: 991px){
  .hero-visual{margin-top:.2rem}
}
@media (max-width: 575px){
  .hero-visual{max-width:430px;padding:1.55rem 0}
  .hero-learning-card{width:calc(100% - .8rem);padding:.9rem;border-radius:20px}
  .hero-note-top{top:-.1rem;left:-.1rem}
  .hero-note-bottom{right:-.1rem;bottom:-.45rem}
  .hero-floating-note{gap:.45rem;padding:.5rem .6rem}
  .floating-note-icon{width:30px;height:30px}
  .hero-floating-note strong{font-size:.65rem}
  .hero-floating-note small{font-size:.56rem}
  .hero-orbit-one{width:280px;height:280px;right:0}
  .hero-orbit-two{width:230px;height:230px;left:0}
  .learning-code-window{min-height:145px;padding:.5rem .65rem}
}