*{margin:0;padding:0;box-sizing:border-box}html{font-family:Orbitron}@font-face{font-family:Finlandica;src:url(../fonts/Finlandica/Finlandica-VariableFont_wght.ttf)}@font-face{font-family:Gruppo;src:url(../fonts/Gruppo/Gruppo-Regular.ttf)}@font-face{font-family:Hubot Sans;src:url(../fonts/Hubot_Sans/HubotSans-VariableFont_wdthwght.ttf)}@font-face{font-family:Jura;src:url(../fonts/Jura/Jura-VariableFont_wght.ttf)}@font-face{font-family:Montserrat;src:url(../fonts/Montserrat_Alternates/MontserratAlternates-Regular.ttf)}@font-face{font-family:Orbitron;src:url(../fonts/Orbitron/Orbitron-VariableFont_wght.ttf)}@font-face{font-family:Poiret One;src:url(../fonts/Poiret_One/PoiretOne-Regular.ttf)}@font-face{font-family:Prompt;src:url(../fonts/Prompt/Prompt-Regular.ttf)}@font-face{font-family:Urbanist;src:url(../fonts/Urbanist/Urbanist-VariableFont_wght.ttf)}.stars{position:fixed;width:100vw;height:100vh;z-index:1}.canvas{height:100vh}.earthcanvas{height:100vh;position:fixed;width:100vw}::-webkit-scrollbar{display:none}.scene{height:100vh}html{background-color:#000}.go-back-btn{position:absolute;top:2%;left:2%;cursor:pointer;z-index:50}.message{opacity:1;transition:opacity 1s ease-in-out;position:absolute;top:80%;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:10px 20px;border-radius:12px;z-index:1000}.fade-out{opacity:0}.front{z-index:50;height:100vh;position:relative;display:flex;justify-content:center;flex-direction:column;align-items:center;scroll-snap-type:y mandatory;overflow:scroll}.welcome{height:100vh;width:100vw;position:absolute;display:flex;justify-content:center;align-items:center;flex-direction:column;scroll-snap-align:start}h2{font-family:Orbitron;font-size:120px;color:#fff;margin-bottom:30px}.button{border-top:1px white solid;border-bottom:1px solid white;padding:10px 15px;cursor:pointer;transition:.5s ease-in-out;letter-spacing:1px}.button a{display:flex;align-items:center}a{font-family:Orbitron;padding-left:8px;text-decoration:none;color:#fff}.button:hover{letter-spacing:2.5px}.about{position:absolute;top:100vh;height:100vh;width:100vw;scroll-snap-align:start;display:flex;justify-content:center;align-items:center;flex-direction:column}.about p,.techstack p{font-family:Jura;color:#fff;text-align:center;width:55vw;line-height:45px;font-size:30px;margin-bottom:30px}.techstack{position:absolute;top:200vh;height:100vh;width:100vw;scroll-snap-align:start;display:flex;justify-content:center;align-items:center;flex-direction:column}.slideshow-section{position:absolute;top:300vh;height:100vh;width:100vw;scroll-snap-align:start;display:flex;justify-content:center;align-items:center;flex-direction:column}.container{cursor:pointer}.arrow{opacity:0;position:absolute;left:50%;top:95%;transform:translate3d(-90%,-90%,0)}.arrow-first{animation:arrow-movement 2s ease-in-out infinite}.arrow-second{animation:arrow-movement 2s 1s ease-in-out infinite}@keyframes arrow-movement{0%{opacity:0;top:93.5%}70%{opacity:1}to{opacity:0}}nav{z-index:50;display:flex;align-items:center;justify-content:space-between;width:100vw;position:absolute;top:0;padding:15px 30px;position:fixed}nav ul{list-style-type:none;display:flex;align-items:center;justify-content:space-evenly;width:40vw}nav li{font-size:16px;transition:.5s ease-in-out;cursor:pointer;text-transform:uppercase}.logo-container{cursor:pointer;margin-top:5px}.logo{font-family:Finlandica;cursor:pointer;display:block;font-size:30px;color:#fff;text-align:center;border:1px white solid;border-radius:50%;outline:2px solid rgb(255,255,255);outline-offset:3px;width:40px;height:40px;padding:0 3px 0 0;letter-spacing:-5px}nav ul li:hover{letter-spacing:3px}.techstack-text{animation:fade .3s ease-in-out;color:#fff}@keyframes fade{0%{opacity:0}to{opacity:1}}.slideshow{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80vw;height:100vh;position:absolute;top:1%;left:10%}.slider{width:100%;height:100%;position:relative}.slider-wrap{width:100%;height:100%;overflow:hidden;position:relative}.image-strip{display:flex;width:100%;height:100%;transition:transform .3s ease-in-out}.image-strip img{width:100%;height:100%;object-fit:contain;flex-shrink:0}.slider-button{position:absolute;top:50%;transform:translateY(-50%);padding:.8rem 1rem;background:#fffc;color:#333;border:none;font-weight:700;cursor:pointer;z-index:10;border-radius:6px;box-shadow:0 2px 6px #0003;transition:background .2s ease}.slider-button:hover{background:#fff}.right-btn{right:10px}.left-btn{left:10px}.index-img{display:flex;justify-content:center;align-items:center;gap:30px}.mini-img{cursor:pointer;width:70px;height:70px;object-fit:contain;padding:2px;border-radius:10px;border:1px white solid;transition:scale .3s ease-in-out;-webkit-user-select:none;user-select:none}.active{scale:1.3}.project-img:hover{cursor:pointer}.project-slide{display:flex;flex-shrink:0;width:100%;justify-content:center;gap:1rem;padding:10px}.project-img img{max-width:100%;transition:all .5s ease-in-out;filter:grayscale(100%)}.project-img img:hover{filter:grayscale(0%)}.title{font-size:35px;color:#fff;position:fixed;top:2%;left:45%;z-index:1;display:flex;gap:10px}.slide-in{animation:slideTop .5s forwards}@keyframes slideTop{0%{transform:translateY(-200px);opacity:0}to{transform:translateY(0);opacity:1}}.zoom{position:fixed;z-index:20;top:5%;left:40%;height:300px}.zoom img{height:80vh;position:relative}.close-btn{cursor:pointer;z-index:50;position:absolute;top:3%;right:3%;scale:1.5}.close-btn svg:hover{transform:rotate(90deg);transition:all .2s ease-in-out}.blur{transition:filter 1s ease-in-out;filter:blur(5px)}.zoomed-img{animation:zoomInPic .5s ease-in-out}@keyframes zoomInPic{0%{transform:scale(0)}to{transform:scale(1)}}.projects-slider{position:relative;width:100%;height:85vh;overflow:hidden;display:flex;justify-content:center;align-items:center}.item{position:absolute;width:350px;height:auto;text-align:center;background-color:#fff;border:1px solid white;border-radius:10px;transition:.5s;overflow:scroll;cursor:pointer}.item img{max-width:100%}.image-back{width:60vw;height:75vh;z-index:30;padding:40px;background:#040303e6;border-radius:16px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.3);cursor:pointer;animation:scaleUp .3s ease-out}.invisible{display:none}.info-card-title{display:flex;align-items:center;gap:20px}.info-card-title svg{scale:2}.info-card{color:#fff;font-family:Jura;display:flex;gap:20px;align-items:center;flex-direction:column;line-height:25px}.info-card h3{font-size:40px}.info-card h4{font-size:24px;text-align:center}.info-card p{font-size:18px;text-align:center;margin-bottom:20px}.bulletpoints{color:#fff;display:flex;flex-direction:column;align-items:start;list-style-type:disc}.bulletpoints li{font-size:18px;margin-left:20px}.info-card h5{font-size:20px}.techstack-info{display:flex;align-items:center;justify-content:center}.techstack-info li{list-style-type:none}.features{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto 1fr 1fr;gap:10px;padding:20px}.features-header{grid-column:1 / -1;text-align:center;margin-bottom:10px}.feature-box{border:1px solid #ddd;border-radius:8px;padding:15px}.feature-box h5{margin-top:0;margin-bottom:10px;color:#fff}.feature-box ul{margin:0;padding-left:20px}.feature-box li{margin-bottom:5px}.slide-arrows{cursor:pointer}.next,.prev{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer}.prev{left:10px}.next{right:10px}.prev-first{animation:prev-movement 2s ease-in-out infinite}.prev-second{animation:prev-movement 2s 1s ease-in-out infinite}.next-first{animation:next-movement 2s ease-in-out infinite}.next-second{animation:next-movement 2s 1s ease-in-out infinite}@keyframes prev-movement{0%{opacity:0;transform:translateY(-50%) translate(15px)}50%{opacity:1}to{opacity:0;transform:translateY(-50%) translate(0)}}@keyframes next-movement{0%{opacity:0;transform:translateY(-50%) translate(-15px)}50%{opacity:1}to{opacity:0;transform:translateY(-50%) translate(0)}}@keyframes scaleUp{0%{transform:scale(.3);opacity:0}50%{opacity:.8}to{transform:scale(1);opacity:1}}
