@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes fadeout{0%{opacity:1}to{opacity:0}}.animate-typewriter{display:inline-block;overflow:hidden;border-right:.15em solid #3b82f6;white-space:nowrap;margin:0;letter-spacing:.05em;will-change:width;animation:typewriter 2s steps(40),blink .7s infinite}.animate-fadeout{will-change:opacity;animation:fadeout 1s forwards}.animate-blink{will-change:opacity;animation:blink .7s infinite}.bg-gradient-hero{background:linear-gradient(180deg,#111827,#1e3a8a,#000000)}.bg-hero-frontpage{background-color:#000000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2000' height='2000' viewBox='0 0 800 800'%3E%3Cg fill='none' %3E%3Cg stroke='%23002F8C' stroke-width='17'%3E%3Cline x1='-8' y1='-8' x2='808' y2='808'/%3E%3Cline x1='-8' y1='792' x2='808' y2='1608'/%3E%3Cline x1='-8' y1='-808' x2='808' y2='8'/%3E%3C/g%3E%3Cg stroke='%23182e89' stroke-width='16'%3E%3Cline x1='-8' y1='767' x2='808' y2='1583'/%3E%3Cline x1='-8' y1='17' x2='808' y2='833'/%3E%3Cline x1='-8' y1='-33' x2='808' y2='783'/%3E%3Cline x1='-8' y1='-783' x2='808' y2='33'/%3E%3C/g%3E%3Cg stroke='%23242c85' stroke-width='15'%3E%3Cline x1='-8' y1='742' x2='808' y2='1558'/%3E%3Cline x1='-8' y1='42' x2='808' y2='858'/%3E%3Cline x1='-8' y1='-58' x2='808' y2='758'/%3E%3Cline x1='-8' y1='-758' x2='808' y2='58'/%3E%3C/g%3E%3Cg stroke='%232c2b82' stroke-width='14'%3E%3Cline x1='-8' y1='67' x2='808' y2='883'/%3E%3Cline x1='-8' y1='717' x2='808' y2='1533'/%3E%3Cline x1='-8' y1='-733' x2='808' y2='83'/%3E%3Cline x1='-8' y1='-83' x2='808' y2='733'/%3E%3C/g%3E%3Cg stroke='%23332a7f' stroke-width='13'%3E%3Cline x1='-8' y1='92' x2='808' y2='908'/%3E%3Cline x1='-8' y1='692' x2='808' y2='1508'/%3E%3Cline x1='-8' y1='-108' x2='808' y2='708'/%3E%3Cline x1='-8' y1='-708' x2='808' y2='108'/%3E%3C/g%3E%3Cg stroke='%2338287c' stroke-width='12'%3E%3Cline x1='-8' y1='667' x2='808' y2='1483'/%3E%3Cline x1='-8' y1='117' x2='808' y2='933'/%3E%3Cline x1='-8' y1='-133' x2='808' y2='683'/%3E%3Cline x1='-8' y1='-683' x2='808' y2='133'/%3E%3C/g%3E%3Cg stroke='%233d2778' stroke-width='11'%3E%3Cline x1='-8' y1='642' x2='808' y2='1458'/%3E%3Cline x1='-8' y1='142' x2='808' y2='958'/%3E%3Cline x1='-8' y1='-158' x2='808' y2='658'/%3E%3Cline x1='-8' y1='-658' x2='808' y2='158'/%3E%3C/g%3E%3Cg stroke='%23412675' stroke-width='10'%3E%3Cline x1='-8' y1='167' x2='808' y2='983'/%3E%3Cline x1='-8' y1='617' x2='808' y2='1433'/%3E%3Cline x1='-8' y1='-633' x2='808' y2='183'/%3E%3Cline x1='-8' y1='-183' x2='808' y2='633'/%3E%3C/g%3E%3Cg stroke='%23442572' stroke-width='9'%3E%3Cline x1='-8' y1='592' x2='808' y2='1408'/%3E%3Cline x1='-8' y1='192' x2='808' y2='1008'/%3E%3Cline x1='-8' y1='-608' x2='808' y2='208'/%3E%3Cline x1='-8' y1='-208' x2='808' y2='608'/%3E%3C/g%3E%3Cg stroke='%2347246f' stroke-width='8'%3E%3Cline x1='-8' y1='567' x2='808' y2='1383'/%3E%3Cline x1='-8' y1='217' x2='808' y2='1033'/%3E%3Cline x1='-8' y1='-233' x2='808' y2='583'/%3E%3Cline x1='-8' y1='-583' x2='808' y2='233'/%3E%3C/g%3E%3Cg stroke='%234a246c' stroke-width='7'%3E%3Cline x1='-8' y1='242' x2='808' y2='1058'/%3E%3Cline x1='-8' y1='542' x2='808' y2='1358'/%3E%3Cline x1='-8' y1='-558' x2='808' y2='258'/%3E%3Cline x1='-8' y1='-258' x2='808' y2='558'/%3E%3C/g%3E%3Cg stroke='%234c2369' stroke-width='6'%3E%3Cline x1='-8' y1='267' x2='808' y2='1083'/%3E%3Cline x1='-8' y1='517' x2='808' y2='1333'/%3E%3Cline x1='-8' y1='-533' x2='808' y2='283'/%3E%3Cline x1='-8' y1='-283' x2='808' y2='533'/%3E%3C/g%3E%3Cg stroke='%234e2266' stroke-width='5'%3E%3Cline x1='-8' y1='292' x2='808' y2='1108'/%3E%3Cline x1='-8' y1='492' x2='808' y2='1308'/%3E%3Cline x1='-8' y1='-308' x2='808' y2='508'/%3E%3Cline x1='-8' y1='-508' x2='808' y2='308'/%3E%3C/g%3E%3Cg stroke='%23502263' stroke-width='4'%3E%3Cline x1='-8' y1='467' x2='808' y2='1283'/%3E%3Cline x1='-8' y1='317' x2='808' y2='1133'/%3E%3Cline x1='-8' y1='-333' x2='808' y2='483'/%3E%3Cline x1='-8' y1='-483' x2='808' y2='333'/%3E%3C/g%3E%3Cg stroke='%23512160' stroke-width='3'%3E%3Cline x1='-8' y1='342' x2='808' y2='1158'/%3E%3Cline x1='-8' y1='442' x2='808' y2='1258'/%3E%3Cline x1='-8' y1='-458' x2='808' y2='358'/%3E%3Cline x1='-8' y1='-358' x2='808' y2='458'/%3E%3C/g%3E%3Cg stroke='%2352215d' stroke-width='2'%3E%3Cline x1='-8' y1='367' x2='808' y2='1183'/%3E%3Cline x1='-8' y1='417' x2='808' y2='1233'/%3E%3Cline x1='-8' y1='-433' x2='808' y2='383'/%3E%3Cline x1='-8' y1='-383' x2='808' y2='433'/%3E%3C/g%3E%3Cg stroke='%2353215A' stroke-width='1'%3E%3Cline x1='-8' y1='392' x2='808' y2='1208'/%3E%3Cline x1='-8' y1='-408' x2='808' y2='408'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-attachment:fixed}@media (max-width:767px){.bg-hero-frontpage{background-attachment:scroll!important;background-position:top!important;background-repeat:repeat!important}}@media (hover:none) and (pointer:coarse){.bg-hero-frontpage{background-attachment:scroll!important;background-position:top!important;background-repeat:repeat!important}}.bg-gradient-subtle{background:radial-gradient(circle at center,rgba(79,70,229,.15) 0,rgba(79,70,229,.1) 20%,rgba(79,70,229,.05) 40%,rgba(0,0,0,.8) 60%,black 100%)}.bg-gradient-primary{background:linear-gradient(90deg,#3b82f6,#9333ea)}.bg-gradient-primary-hover{background:linear-gradient(90deg,#2563eb,#7e22ce)}.text-gradient-primary{background:linear-gradient(90deg,#3b82f6,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent}.glow-gradient{background:linear-gradient(90deg,#3b82f6,#9333ea);filter:blur(15px);opacity:.5}.shimmer-gradient{background:linear-gradient(120deg,transparent,rgba(255,255,255,.3),transparent)}.water-button{position:relative;overflow:hidden;z-index:1;transition:color .5s ease;background:transparent;border:2px solid transparent;cursor:pointer;border-radius:9999px}.water-button:before{content:"";position:absolute;top:100%;left:0;width:100%;height:100%;background:linear-gradient(90deg,#3b82f6,#9333ea);z-index:-1;transition:top .5s ease;border-radius:9999px}.water-button:hover:before{top:0}.water-button:hover span{color:white}.water-button span{background:linear-gradient(90deg,#3b82f6,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent;transition:color .3s ease-out}.water-button:after{inset:0;border-radius:9999px;padding:2px;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;pointer-events:none}.glow-effect:before,.water-button:after{content:"";position:absolute;background:linear-gradient(90deg,#3b82f6,#9333ea)}.glow-effect:before{inset:-2px;filter:blur(15px);opacity:.5}.glow-effect:after,.glow-effect:before{border-radius:16px;transition:opacity .3s ease}.glow-effect:after{content:"";position:absolute;inset:-1px;background:linear-gradient(90deg,#3b82f6,#9333ea);opacity:.2}.glow-effect>*,.hero-button{position:relative;z-index:1}.hero-button{overflow:hidden;transition:color .5s ease;background:transparent;border:2px solid transparent;cursor:pointer;border-radius:9999px}.hero-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#3b82f6,#9333ea);z-index:-1;transition:left .5s ease}.hero-button:hover:before{left:0}.hero-button span{background:linear-gradient(90deg,#3b82f6,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent;transition:color .3s ease-out}.hero-button:hover span{color:white}.hero-button:after{content:"";position:absolute;inset:0;border-radius:9999px;padding:2px;background:linear-gradient(90deg,#3b82f6,#9333ea);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;pointer-events:none}.hero-cta-hover-outline{border:2px solid transparent;transition:border-color .3s ease;position:relative}.hero-cta-hover-outline>span:nth-child(2){border-radius:inherit}.hero-cta-hover-outline:hover{border-color:transparent}.hero-cta-hover-outline:after{content:"";position:absolute;inset:0;border-radius:9999px;padding:2px;background:linear-gradient(90deg,#3b82f6,#9333ea);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .3s ease}.hero-cta-hover-outline:hover:after{opacity:1}