.logo,.nav-links,.preloader,.progress{overflow:hidden}.accordion-header i,.mobile-menu-toggle i{transition:transform .3s}.accordion-item.active .accordion-content,.nav-links.open{max-height:500px}.btn,.footer-bottom,.hero-content,.loader-content,.section-header,.stat-item{text-align:center}:root{--background:#fafdff;--foreground:#0c1425;--card:#ffffff;--card-foreground:#0c1425;--primary:#1e88f2;--primary-foreground:#f9fcfe;--secondary:#0cc0d9;--secondary-foreground:#141718;--accent:#a866f0;--accent-foreground:#141718;--muted:#f5f9ff;--muted-foreground:#64748b;--border:#e3eefa;--input:#e3eefa;--sidebar-background:#fafafa;--ict-blue:#1e88f2;--ict-teal:#0cc0d9;--ict-purple:#a866f0;--ict-pink:#f06292;--ict-yellow:#f7cb45;--border-radius:0.5rem;--transition-default:all 0.3s ease;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05)}*{margin:0;padding:0;box-sizing:border-box;border-color:var(--border)}body{font-family:"Fira Sans",sans-serif;background-color:var(--background);color:var(--foreground);line-height:1.5;font-size:16px;overflow-x:hidden;overflow-y:hidden}a{text-decoration:none;color:inherit}ol,ul{list-style:none}img{max-width:100%}button,input,textarea{font-family:inherit;font-size:inherit;outline:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.5rem;border-radius:var(--border-radius);font-weight:500;transition:var(--transition-default);cursor:pointer;border:none;font-size:1rem}.btn-primary{background:linear-gradient(to right,var(--ict-blue),var(--ict-teal));color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background:0 0;border:1px solid var(--border);color:var(--foreground)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-full{width:100%}.gradient-text{background:linear-gradient(to right,var(--ict-blue),var(--ict-purple),var(--ict-pink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.navbar{position:sticky;top:0;background-color:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:1rem 0;z-index:100}.navbar .container{display:flex;justify-content:space-between;align-items:center}.preloader{position:fixed;inset:0;background:linear-gradient(135deg,#0a0a0a 0,#1a1a1a 100%);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s,transform .6s}.loader-content,.logo,.spinner{position:relative}.preloader.fade-out{opacity:0;transform:scale(.95)}.logo{font-size:clamp(2rem, 6vw, 3.5rem);font-weight:700;color:#fff;margin-bottom:3rem;justify-content:center;display:flex;align-items:center;gap:.5rem}.logo::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,123,255,.4),transparent);animation:2.5s infinite logoShine}.spinner{width:60px;height:60px;margin:0 auto 2rem}.spinner::after,.spinner::before{content:'';position:absolute;border-radius:50%;animation:1.2s linear infinite spin}.spinner::before{width:100%;height:100%;border:3px solid transparent;border-top:3px solid #007bff;border-right:3px solid #007bff}.spinner::after{width:75%;height:75%;top:12.5%;left:12.5%;border:2px solid transparent;border-bottom:2px solid #00d4ff;border-left:2px solid #00d4ff;animation-direction:reverse;animation-duration:.8s}.progress,.progress-bar{border-radius:1px;position:relative}.progress{width:280px;height:2px;background:rgba(255,255,255,.1);margin:0 auto 1rem}.progress-bar{width:0%;height:100%;background:linear-gradient(90deg,#007bff,#00d4ff);transition:width .3s}.progress-bar::after{content:'';position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8));transform:translateX(20px);animation:1.5s ease-in-out infinite progressGlow}.loading-text{color:rgba(255,255,255,.7);font-size:.9rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;opacity:0;animation:.5s ease-in-out .3s forwards textFade}.percentage{color:#00d4ff;font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.logo-icon,.logo-text{font-weight:700;font-size:1.25rem}.hero-section.show{display:flex;animation:.8s ease-out contentSlideIn}@keyframes spin{to{transform:rotate(360deg)}}@keyframes logoShine{0%{left:-100%}100%,50%{left:100%}}@keyframes progressGlow{0%,100%{opacity:0}50%{opacity:1}}@keyframes textFade{to{opacity:1}}@keyframes contentSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.loader-content{padding:0 1rem}.progress{width:240px}}.logo-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(to right,var(--ict-blue),var(--ict-teal));display:flex;align-items:center;justify-content:center;color:#fff}.nav-links{display:flex;flex-direction:column;gap:1rem;background-color:#fff;position:absolute;top:100%;left:0;right:0;box-shadow:var(--shadow-md);padding:0;margin:0;max-height:0;transition:max-height .3s,padding .3s;z-index:50}.nav-links.open{padding:1.5rem}.nav-link-group{display:flex;flex-direction:column;gap:1rem}.nav-link{font-weight:500;transition:color .3s}.nav-link.active,.nav-link:hover{color:var(--ict-blue)}.mobile-menu-toggle{display:block;font-size:28px;background:0 0;border:none;color:var(--text);cursor:pointer}.mobile-menu-toggle i{display:inline-block}.mobile-menu-toggle[aria-expanded=true] i{transform:rotate(90deg)}@media (min-width:767px){.nav-links{width:100%;flex-direction:row;position:static;background:0 0;box-shadow:none;padding:0;max-height:none;overflow:visible;align-items:center}.nav-link-group{display:flex;flex-direction:row;gap:2rem;margin:0 auto}.mobile-menu-toggle{display:none}.nav-links.open{padding:0;max-height:0}}.hero-section{display:none;position:relative;padding:5rem 0 4rem;overflow:hidden}.animated-background{position:absolute;inset:0;z-index:-1;overflow:hidden}.bg-circle{position:absolute;border-radius:50%}.bg-circle-1{top:-6rem;left:-6rem;width:18rem;height:18rem;background-color:rgba(30,136,242,.1);animation:30s linear infinite spin}.bg-circle-2{top:10rem;right:2.5rem;width:10rem;height:10rem;background-color:rgba(12,192,217,.1);animation:8s ease-in-out infinite pulse}.bg-circle-3{bottom:5rem;left:5rem;width:13rem;height:13rem;background-color:rgba(168,102,240,.1);animation:12s ease-in-out infinite float}.tech-icon{position:absolute;font-size:1.5rem;opacity:.2;transition:.5s}.tech-icon:hover{opacity:.4;transform:scale(1.1)}.tech-icon-1{top:25%;left:25%;color:var(--ict-blue);animation:10s ease-in-out infinite float}.tech-icon-2{top:50%;right:25%;color:var(--ict-teal);animation:8s ease-in-out infinite pulse}.tech-icon-3{bottom:25%;left:33%;color:var(--ict-purple);animation:20s linear infinite spin}.tech-icon-4{top:33%;right:33%;color:var(--ict-pink);animation:12s ease-in-out 2s infinite float}.tech-icon-5{bottom:33%;right:50%;color:var(--ict-yellow);animation:10s ease-in-out 1s infinite pulse}.tech-icon-6{top:66%;left:20%;color:var(--ict-blue);animation:15s linear 3s infinite spin}.stat-item:nth-child(2) h3,.tech-icon-7{color:var(--ict-teal)}.tech-icon-7{top:20%;right:20%;animation:9s ease-in-out 1.5s infinite float}.tech-icon-8{bottom:20%;right:33%;color:var(--ict-pink);animation:11s ease-in-out 2.5s infinite pulse}.hero-content{max-width:48rem;margin:0 auto 3rem;animation:.8s ease-out forwards fadeIn}.hero-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2;opacity:0;animation:.6s .2s forwards fadeInUp}.hero-title .gradient-text{display:block;margin-top:.5rem;opacity:0;animation:.6s .5s forwards fadeInUp}.hero-subtitle{font-size:1.125rem;color:var(--muted-foreground);margin-bottom:2rem;opacity:0;animation:.6s .8s forwards fadeInUp}.hero-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center;opacity:0;animation:.6s 1.1s forwards fadeInUp}@media (min-width:768px){.hero-title{font-size:3rem}}.hero-visual{max-width:64rem;margin:0 auto;position:relative;opacity:0;animation:.8s 1.4s forwards fadeInUp}.dashboard-preview{background-color:#fff;border-radius:1rem;overflow:hidden;border:1px solid #ddd;box-shadow:var(--shadow-lg);transition:.5s}.dashboard-preview:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.dashboard-header{background-color:#1a1a1a;padding:.5rem 1rem;display:flex;align-items:center}.window-controls{display:flex;align-items:center;gap:.5rem}.control{width:.75rem;height:.75rem;border-radius:50%}.control.red{background-color:#ff5f56}.control.yellow{background-color:#ffbd2e}.control.green{background-color:#27c93f}.window-title{margin-left:1rem;color:#aaa;font-size:.75rem}.dashboard-content{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem;padding:1.5rem;background-color:#f9f9f9}.course-card{background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:var(--shadow-sm);border:1px solid #eee;transition:.3s;opacity:0;animation:.5s forwards fadeIn}.course-card:first-child{animation-delay:1.7s}.course-card:nth-child(2){animation-delay:1.8s}.course-card:nth-child(3){animation-delay:1.9s}.course-card:nth-child(4){animation-delay:2s}.course-card:nth-child(5){animation-delay:2.1s}.course-card:nth-child(6){animation-delay:2.2s}.course-card:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.course-card i{margin-bottom:.5rem;color:var(--ict-blue)}.course-card h3,.info-item h4{font-weight:500;margin-bottom:.25rem}.course-card p{font-size:.875rem;color:var(--muted-foreground)}.section-header h2,.stat-item h3{font-size:1.875rem;font-weight:700}.decorative-circle{position:absolute;width:3rem;height:3rem;border-radius:50%;z-index:1}.decorative-circle-1{top:-1.5rem;right:-1.5rem;background-color:var(--ict-teal);animation:4s infinite pulse;box-shadow:var(--shadow-md)}.decorative-circle-2{bottom:-1.5rem;left:-1.5rem;background-color:var(--ict-purple);animation:6s infinite float;box-shadow:var(--shadow-md)}.stats-section{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:64rem;margin:4rem auto 0;opacity:0;animation:.6s 2.3s forwards fadeIn}.stat-item{transform:scale(1);transition:transform .5s}.stat-item:hover{transform:scale(1.1)}.stat-item h3{color:var(--ict-blue)}.accordion-content p,.section-header p,.stat-item p{color:var(--muted-foreground)}.stat-item:nth-child(3) h3{color:var(--ict-purple)}.stat-item:nth-child(4) h3{color:var(--ict-pink)}.secondary-section{background-color:#f9f9f9}.accordion,.contact-form{background-color:#fff;border-radius:.5rem}.lecturer-section{padding:4rem 0 0}.contact-section,.faq-section{padding:4rem 0}.section-header{max-width:36rem;margin:0 auto 3rem}.accordion{max-width:48rem;margin:0 auto;box-shadow:var(--shadow-sm);padding:1.5rem}.accordion-item{border-bottom:1px solid var(--border)}.accordion-item:last-child{border-bottom:none}.accordion-header{padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:500}.contact-form,.contact-info{box-shadow:var(--shadow-md);padding:2rem}.accordion-item.active .accordion-header i{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.accordion-content p{padding:0 0 1.25rem}.contact-container{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;max-width:72rem;margin:0 auto}.footer-legal,.footer-social,.info-item,.social-icons{gap:1rem;display:flex}.contact-form h3,.footer-description,.form-group,.info-item{margin-bottom:1.5rem}.contact-form h3{font-size:1.25rem;font-weight:600}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--input);border-radius:.375rem;background-color:var(--background);transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(30,136,242,.1)}.contact-info{background:linear-gradient(to bottom right,var(--ict-blue),var(--ict-purple));color:#fff;border-radius:.5rem;display:flex;flex-direction:column;justify-content:space-between}.contact-info h3{font-size:1.25rem;font-weight:600;margin-bottom:2rem}.info-item i{margin-top:.25rem;flex-shrink:0}.info-item a{color:rgba(255,255,255,.8)}.social-links h4{font-weight:500;margin-bottom:1rem}.social-icon{width:2.5rem;height:2.5rem;border-radius:50%;background-color:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:background-color .3s}.social-icon:hover{background-color:rgba(255,255,255,.3)}.footer{background-color:#1a1a1a;color:#aaa;padding:3rem 0}.footer-content{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:3rem}@media (min-width:640px){.hero-buttons{flex-direction:row;justify-content:center}.dashboard-content,.footer-content{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.hero-title{font-size:3.5rem}.contact-container{grid-template-columns:1fr 1fr}.footer-content{grid-template-columns:repeat(3,1fr)}}.footer-column h3{color:#fff;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-links a{display:inline-flex;align-items:center;transition:color .3s}.footer-bottom a:hover,.footer-links a:hover{color:#fff}.footer-links a i{font-size:.75rem;margin-right:.5rem}.footer-bottom{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid #333;gap:1rem}.footer-bottom a{text-decoration:underline}@media (min-width:768px){.dashboard-content{grid-template-columns:repeat(3,1fr)}.stats-section{grid-template-columns:repeat(4,1fr)}.footer-bottom{flex-direction:row;text-align:left}}.footer-legal a{font-size:.875rem;transition:color .3s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}