@keyframes pulse-green{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes pulse-slow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(16,185,129,.3)}50%{box-shadow:0 0 20px rgba(16,185,129,.6)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}section[id]{scroll-margin-top:120px}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes progress-fill{0%{stroke-dashoffset:251.2}to{stroke-dashoffset:var(--progress-offset)}}@keyframes orbit{0%{transform:rotate(0deg) translateX(40px) rotate(0deg)}to{transform:rotate(1turn) translateX(40px) rotate(-1turn)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}@keyframes security-scan{0%{box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{box-shadow:0 0 0 10px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}@keyframes navbar-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes mobile-menu-slide{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.animate-pulse-green{animation:pulse-green 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-slow{animation:pulse-slow 3s cubic-bezier(.4,0,.6,1) infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animate-slide-in-up{animation:slide-in-up .8s ease-out forwards}.animate-fade-in-scale{animation:fade-in-scale .4s cubic-bezier(.4,0,.2,1) forwards}.animate-orbit{animation:orbit 20s linear infinite}.animate-typing{animation:typing 3.5s steps(40),blink .75s step-end infinite}.animate-security-scan{animation:security-scan 2s infinite}.animate-navbar-slide{animation:navbar-slide-down .6s ease-out}.animate-mobile-menu-slide{animation:mobile-menu-slide .3s ease-out forwards}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-700{animation-delay:.7s}.animation-delay-1000{animation-delay:1s}.animation-delay-1500{animation-delay:1.5s}.animation-delay-2000{animation-delay:2s}.navbar-security-indicator{background:linear-gradient(90deg,rgba(16,185,129,.2),rgba(16,185,129,.6) 50%,rgba(16,185,129,.2));background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}.dropdown-enhanced{backdrop-filter:blur(25px) saturate(150%);background:hsl(var(--background)/.98);border:1px solid hsl(var(--border));box-shadow:0 25px 50px -12px rgba(0,0,0,.35),0 0 50px rgba(16,185,129,.15)}.dark .dropdown-enhanced{background:hsl(var(--background)/.95);box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 50px rgba(16,185,129,.1)}.dropdown-item-enhanced{transition:all .2s cubic-bezier(.4,0,.2,1)}.dropdown-item-enhanced:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);transform:translateX(4px)}.dark .dropdown-item-enhanced:hover{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.3)}.mobile-dropdown-item{transition:all .3s ease}.mobile-dropdown-item:hover{background:rgba(16,185,129,.15);padding-left:1.5rem}.dark .mobile-dropdown-item:hover{background:rgba(16,185,129,.1)}.gradient-text-green{background:linear-gradient(135deg,#059669,#10b981,#047857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.dark .gradient-text-green{background:linear-gradient(135deg,#10b981,#059669,#047857)}.gradient-text-security{background:linear-gradient(135deg,#059669,#34d399,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.dark .gradient-text-security{background:linear-gradient(135deg,#10b981,#34d399,#6ee7b7)}.backdrop-blur-cyberpunk{backdrop-filter:blur(15px) saturate(180%);background-color:hsl(var(--background)/.85);border:1px solid hsl(var(--border))}.backdrop-blur-enhanced{backdrop-filter:blur(20px) saturate(200%) brightness(110%);background-color:hsl(var(--background)/.9)}.dark .backdrop-blur-cyberpunk{background-color:hsl(var(--background)/.8)}.dark .backdrop-blur-enhanced{background-color:hsl(var(--background)/.85)}.glass-morphism{background:hsl(var(--card)/.7);backdrop-filter:blur(20px);border:1px solid hsl(var(--border));box-shadow:0 8px 32px 0 rgba(16,185,129,.15)}.dark .glass-morphism{background:hsl(var(--card)/.8);box-shadow:0 8px 32px 0 rgba(16,185,129,.1)}.glass-morphism-enhanced{background:hsl(var(--card)/.8);backdrop-filter:blur(25px) saturate(120%);border:1px solid hsl(var(--border));box-shadow:0 8px 32px 0 rgba(16,185,129,.2),inset 0 1px 0 hsla(0,0%,100%,.15)}.dark .glass-morphism-enhanced{background:hsl(var(--card)/.7);box-shadow:0 8px 32px 0 rgba(16,185,129,.15),inset 0 1px 0 hsla(0,0%,100%,.1)}.cyber-grid{background-image:linear-gradient(rgba(16,185,129,.15) 1px,transparent 0),linear-gradient(90deg,rgba(16,185,129,.15) 1px,transparent 0);background-size:50px 50px}.dark .cyber-grid{background-image:linear-gradient(rgba(16,185,129,.1) 1px,transparent 0),linear-gradient(90deg,rgba(16,185,129,.1) 1px,transparent 0)}.cyber-grid-large{background-image:linear-gradient(rgba(16,185,129,.08) 1px,transparent 0),linear-gradient(90deg,rgba(16,185,129,.08) 1px,transparent 0);background-size:100px 100px}.dark .cyber-grid-large{background-image:linear-gradient(rgba(16,185,129,.05) 1px,transparent 0),linear-gradient(90deg,rgba(16,185,129,.05) 1px,transparent 0)}.cyber-grid-animated{background-image:linear-gradient(rgba(16,185,129,.15) 1px,transparent 0),linear-gradient(90deg,rgba(16,185,129,.15) 1px,transparent 0);background-size:50px 50px;animation:grid-move 20s linear infinite}.dark .cyber-grid-animated{background-image:linear-gradient(rgba(16,185,129,.1) 1px,transparent 0),linear-gradient(90deg,rgba(16,185,129,.1) 1px,transparent 0)}@keyframes grid-move{0%{background-position:0 0}to{background-position:50px 50px}}.glitch{position:relative}.glitch:after,.glitch:before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{animation:glitch-1 .5s linear infinite alternate-reverse;color:red;z-index:-1}.glitch:after{animation:glitch-2 .5s linear infinite alternate-reverse;color:#0ff;z-index:-2}@keyframes glitch-1{0%{transform:translateX(0)}20%{transform:translateX(-2px)}40%{transform:translateX(-2px)}60%{transform:translateX(2px)}80%{transform:translateX(2px)}to{transform:translateX(0)}}@keyframes glitch-2{0%{transform:translateX(0)}20%{transform:translateX(2px)}40%{transform:translateX(2px)}60%{transform:translateX(-2px)}80%{transform:translateX(-2px)}to{transform:translateX(0)}}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(16,185,129,.25)}.dark .hover-lift:hover{box-shadow:0 20px 40px rgba(16,185,129,.2)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 30px rgba(16,185,129,.5);border-color:rgba(16,185,129,.7)}.dark .hover-glow:hover{box-shadow:0 0 30px rgba(16,185,129,.4);border-color:rgba(16,185,129,.6)}.progress-bar{transition:width 1.5s ease-in-out}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px rgba(16,185,129,.2);border-color:rgba(16,185,129,.5)}.dark .card-hover:hover{box-shadow:0 25px 50px rgba(16,185,129,.15);border-color:rgba(16,185,129,.4)}.circular-progress{transition:stroke-dashoffset 2s ease-in-out}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-2,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.form-focus-ring{transition:all .2s ease}.form-focus-ring:focus{box-shadow:0 0 0 2px rgba(16,185,129,.6);outline:2px solid transparent;outline-offset:2px}.dark .form-focus-ring:focus{box-shadow:0 0 0 2px rgba(16,185,129,.5)}.footer-link{position:relative;transition:color .3s ease;color:hsl(var(--muted-foreground))}.footer-link:hover{color:#10b981}.footer-link:after{content:"";position:absolute;width:0;height:1px;bottom:-2px;left:0;background-color:#10b981;transition:width .3s ease}.footer-link:hover:after{width:100%}.newsletter-input{transition:all .3s ease}.newsletter-input:focus{box-shadow:0 0 0 3px rgba(16,185,129,.15);border-color:#10b981}@media (max-width:640px){.text-responsive-lg{font-size:2rem;line-height:2.25rem}.glass-morphism{backdrop-filter:blur(10px)}}@media (min-width:640px){.text-responsive-lg{font-size:2.5rem;line-height:2.75rem}}@media (min-width:1024px){.text-responsive-lg{font-size:3rem;line-height:3.25rem}}@media (min-width:1280px){.text-responsive-lg{font-size:3.5rem;line-height:3.75rem}}.dashboard-card{background:hsl(var(--card)/.7);backdrop-filter:blur(20px);border:1px solid hsl(var(--border));transition:all .3s ease}.dashboard-card:hover{border-color:rgba(16,185,129,.5);background:hsl(var(--card)/.85);transform:translateY(-2px);box-shadow:0 10px 25px rgba(16,185,129,.15)}.dark .dashboard-card{background:hsl(var(--card)/.8)}.dark .dashboard-card:hover{border-color:rgba(16,185,129,.4);background:hsl(var(--card)/.9);box-shadow:0 10px 25px rgba(16,185,129,.1)}.nav-item{transition:all .2s ease;color:hsl(var(--muted-foreground))}.nav-item:hover{background:rgba(16,185,129,.15);transform:translateX(4px);color:hsl(var(--foreground))}.dark .nav-item:hover{background:rgba(16,185,129,.1)}.nav-item.active{background:rgba(16,185,129,.25);border-left:3px solid #10b981;color:hsl(var(--foreground))}.dark .nav-item.active{background:rgba(16,185,129,.2)}.training-card{background:hsl(var(--card)/.7);backdrop-filter:blur(25px);border:1px solid hsl(var(--border));transition:all .5s cubic-bezier(.4,0,.2,1)}.training-card:hover{background:hsl(var(--card)/.85);border-color:rgba(16,185,129,.5);box-shadow:0 20px 40px rgba(16,185,129,.15);transform:translateY(-4px)}.dark .training-card{background:hsl(var(--card)/.8)}.dark .training-card:hover{background:hsl(var(--card)/.9);border-color:rgba(16,185,129,.4);box-shadow:0 20px 40px rgba(16,185,129,.1)}.icon-enhanced{color:hsl(var(--foreground));transition:all .3s ease}.icon-enhanced:hover{color:#10b981;transform:scale(1.05)}.icon-enhanced-green{color:#047857;transition:all .3s ease}.icon-enhanced-green:hover{color:#059669;transform:scale(1.1)}.dark .icon-enhanced-green{color:#10b981}.dark .icon-enhanced-green:hover{color:#34d399}.light .icon-enhanced-green{color:#047857}.light .icon-enhanced-green:hover{color:#059669}.text-enhanced{color:hsl(var(--foreground));font-weight:500}.text-enhanced-muted{color:hsl(var(--muted-foreground));font-weight:500}.light .text-enhanced-muted{color:#3a3e45}.dark .text-enhanced-muted{color:#babdc5}.text-enhanced-green{color:#059669;font-weight:600}.dark .text-enhanced-green{color:#10b981}.menu-item-enhanced{color:hsl(var(--foreground));font-weight:500;transition:all .3s ease}.menu-item-enhanced:hover{color:#10b981;background:rgba(16,185,129,.1)}.submenu-item-enhanced{color:hsl(var(--foreground));font-weight:500;transition:all .3s ease}.submenu-item-enhanced:hover{color:#10b981;background:rgba(16,185,129,.08);transform:translateX(4px)}.dark .submenu-item-enhanced{color:hsl(var(--muted-foreground))}.dark .submenu-item-enhanced:hover{background:rgba(16,185,129,.06);color:#10b981}.submenu-title-enhanced{color:hsl(var(--foreground));font-weight:600}.dark .submenu-title-enhanced{color:#f2f2f2}.light .submenu-title-enhanced{color:#21252b}.submenu-desc-enhanced{color:hsl(var(--muted-foreground));font-weight:400}.dark .submenu-desc-enhanced{color:#acb0b9}.light .submenu-desc-enhanced{color:#464a53}.badge-enhanced{background:rgba(16,185,129,.15);color:#059669;border:1px solid rgba(16,185,129,.3);font-weight:600}.dark .badge-enhanced{background:rgba(16,185,129,.2);color:#10b981;border:1px solid rgba(16,185,129,.4)}html{scroll-behavior:smooth}.loading-shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3) 50%,hsla(0,0%,100%,0));background-size:200% 100%;animation:shimmer 1.5s infinite}.heading-display{font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:.95;letter-spacing:-.05em;background:linear-gradient(135deg,hsl(var(--foreground)),hsl(var(--muted-foreground)));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.heading-display,.heading-hero{font-family:var(--font-heading)}.heading-hero{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.1;letter-spacing:-.04em}.heading-section{font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.03em}.heading-card,.heading-section{font-family:var(--font-heading);font-weight:600}.heading-card{font-size:clamp(1.25rem,2.5vw,1.875rem);line-height:1.25;letter-spacing:-.02em}.text-body-large{font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.7;color:hsl(var(--muted-foreground))}.text-body,.text-body-large{font-family:var(--font-sans);font-weight:400}.text-body{font-size:1rem;line-height:1.6;color:hsl(var(--foreground))}.text-body-small{font-family:var(--font-sans);font-size:.875rem;line-height:1.5;font-weight:400;color:hsl(var(--muted-foreground))}.text-button{font-size:.875rem;text-transform:none}.text-button,.text-button-large{font-family:var(--font-sans);font-weight:600;line-height:1.4;letter-spacing:.025em}.text-button-large{font-size:1rem}.text-nav{font-size:.875rem;font-weight:500;letter-spacing:.01em}.text-caption,.text-nav{font-family:var(--font-sans);line-height:1.4}.text-caption{font-size:.75rem;font-weight:400;color:hsl(var(--muted-foreground))}.text-code{font-family:var(--font-mono);font-size:.875rem;line-height:1.5;font-weight:400}.text-high-contrast{color:hsl(var(--foreground));font-weight:500}.text-medium-contrast{color:hsl(var(--muted-foreground));font-weight:400}.text-responsive-xl{font-size:clamp(1.25rem,3vw,2rem);line-height:1.3}.text-responsive-lg{font-size:clamp(1.125rem,2.5vw,1.5rem);line-height:1.4}.text-responsive-base{font-size:clamp(.875rem,2vw,1rem);line-height:1.5}.btn-primary{font-size:.875rem;padding:.75rem 1.5rem;border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary,.btn-primary-large{font-family:var(--font-sans);font-weight:600;line-height:1.4;letter-spacing:.025em}.btn-primary-large{font-size:1rem;padding:1rem 2rem;border-radius:.875rem}.btn-secondary{font-size:.875rem;line-height:1.4;letter-spacing:.02em;padding:.75rem 1.5rem;border-radius:.75rem}.btn-secondary,.link-enhanced{font-family:var(--font-sans);font-weight:500}.link-enhanced{text-decoration:none;transition:all .2s ease;border-bottom:1px solid transparent}.link-enhanced:hover{border-bottom-color:currentColor}.input-enhanced{font-family:var(--font-sans);font-size:.875rem;line-height:1.5;font-weight:400;transition:all .2s ease}.input-enhanced:focus{font-weight:500}.dark .loading-shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,0));background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce-up{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.animate-bounce-up{animation:bounce-up 2s infinite}.scroll-to-top-enhanced{background:linear-gradient(135deg,#10b981,#059669);backdrop-filter:blur(10px);border:1px solid rgba(16,185,129,.3);box-shadow:0 8px 32px rgba(16,185,129,.3),0 0 0 1px rgba(16,185,129,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.scroll-to-top-enhanced:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px) scale(1.05);box-shadow:0 12px 40px rgba(16,185,129,.4),0 0 0 1px rgba(16,185,129,.2)}@keyframes glitch-404{0%,90%,to{transform:translate(0);opacity:0}91%,93%{transform:translate(2px,-1px);opacity:.7}94%,96%{transform:translate(-1px,1px);opacity:.7}97%,99%{transform:translate(1px,-2px);opacity:.5}}.text-404-glitch{position:relative}.text-404-glitch:before{left:2px;color:rgba(239,68,68,.3);z-index:-1;animation:glitch-404 3s ease-in-out infinite}.text-404-glitch:after,.text-404-glitch:before{content:attr(data-text);position:absolute;top:0}.text-404-glitch:after{left:-2px;color:rgba(59,130,246,.3);z-index:-2;animation:glitch-404 3s ease-in-out infinite reverse}@keyframes float-404{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(1deg)}50%{transform:translateY(-5px) rotate(0deg)}75%{transform:translateY(-15px) rotate(-1deg)}}.animate-float-404{animation:float-404 6s ease-in-out infinite}@keyframes security-pulse{0%,to{box-shadow:0 0 20px rgba(16,185,129,.3);border-color:rgba(16,185,129,.3)}50%{box-shadow:0 0 40px rgba(16,185,129,.6);border-color:rgba(16,185,129,.6)}}.animate-security-pulse{animation:security-pulse 2s ease-in-out infinite}.card-404-hover{transition:all .4s cubic-bezier(.4,0,.2,1)}.card-404-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px rgba(16,185,129,.2),0 0 50px rgba(16,185,129,.1);border-color:rgba(16,185,129,.5)}.dark .card-404-hover:hover{box-shadow:0 25px 50px rgba(16,185,129,.15),0 0 50px rgba(16,185,129,.08);border-color:rgba(16,185,129,.4)}.btn-404-glow{position:relative;overflow:hidden}.btn-404-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.btn-404-glow:hover:before{left:100%}@keyframes error-code-scan{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.error-code-animated{background:linear-gradient(135deg,#10b981,#34d399 25%,#6ee7b7 50%,#34d399 75%,#10b981);background-size:400% 400%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:error-code-scan 3s ease-in-out infinite}@media (max-width:640px){.text-404-mobile{font-size:4rem!important}.card-404-hover{transform:none}.card-404-hover:hover{transform:translateY(-4px) scale(1.01)}}@media (max-width:480px){.text-404-mobile{font-size:3rem!important}}@media (prefers-reduced-motion:reduce){.animate-float-404,.animate-security-pulse,.text-404-glitch:after,.text-404-glitch:before{animation:none}.error-code-animated{animation:none;background:linear-gradient(135deg,#10b981,#34d399);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}}