@font-face{font-family:Manrope;src:url(/build/fonts/Manrope.4afb283b.ttf) format("truetype")}@font-face{font-family:Archivo Black;src:url(/build/fonts/ArchivoBlack-Regular.e35d3865.ttf) format("truetype")}@font-face{font-family:Oswald;src:url(/build/fonts/Oswald.7cecd0da.ttf) format("truetype")}body .navbar-overlay{background-color:rgba(0,0,0,.5);display:none;height:110%;left:0;position:absolute;top:-100px;width:100%;z-index:50}@media only screen and (width < 1000px){body .navbar-overlay.active{display:block}}body .nav-wrapper{position:fixed;top:0;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;width:100%;z-index:99}body .nav-wrapper.nav-hidden{opacity:0;visibility:hidden}body .nav-blur{backdrop-filter:blur(4px);height:100px;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:48}@media only screen and (width < 1000px){body .nav-blur{height:60px}}body .nav{box-shadow:0 5px 10px hsla(0,0%,100%,.071);box-sizing:border-box;height:100px;left:0;margin:24px 10% 0;padding:24px;position:fixed;top:0;width:80%;z-index:99;--start-angle:0deg}body .nav,body .nav .mobile-hidden{align-items:center;border-radius:24px;display:flex;justify-content:center}body .nav:after,body .nav:before{animation:spin 3s linear infinite;background-image:conic-gradient(from var(--start-angle),transparent 90%,#2ff093);border-radius:inherit;content:"";display:none;height:calc(100% + 2px);left:50%;padding:10px;position:absolute;top:50%;translate:-50% -50%;width:calc(100% + 2px);z-index:0}body .nav:after{display:block}@media only screen and (width > 1000px){body .nav:before{display:block;filter:blur(1.5rem);height:100%;opacity:.5;width:100%}}body .nav .nav-background{background-color:#1d1c22;border-radius:inherit;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}body .nav .nav-list{margin:0}body .nav .btn,body .nav .nav-float,body .nav .nav-list,body .nav .nav-logo{position:relative;z-index:1}body .nav-pipe{margin:0 24px}body .nav-logo{align-items:center;display:flex}body .nav-logo img{height:14px}body .nav-list{display:flex;gap:1rem;list-style:none;padding:0}body .nav-list .link{font-weight:bolder}body .nav-list .link:hover{color:#fff}body .nav-list .link.active{color:#2ff093;position:relative}body .nav .nav-float{align-items:center;display:flex;justify-content:center;position:absolute}body .nav .nav-float.right{right:24px}body .nav .nav-float.left{left:24px}body .nav .mobile-menu-btn{background:none;border:none;color:#919295;cursor:pointer;display:none;padding:12px;z-index:100}body .nav .mobile-nav-logo{display:none}@media only screen and (width < 1000px){body .nav{height:60px}body .nav.active .mobile-hidden{display:flex}body .nav .mobile-hidden{align-items:center;background-color:#1d1c22;display:none;flex-direction:column;gap:2rem;height:70vh;justify-content:center;padding:24px;position:absolute;top:0;width:90%}body .nav .mobile-hidden .nav-float:has(>.nav-color-switch){position:static}body .nav .mobile-hidden .nav-logo,body .nav .mobile-hidden .nav-pipe{display:none}body .nav .mobile-hidden .nav-list{align-items:center;flex-direction:column;gap:1rem;justify-content:center}body .nav .mobile-nav-logo{align-items:center;display:flex}body .nav .mobile-nav-logo img{height:12px}body .nav .mobile-menu-btn{display:block}body .nav .mobile-menu-btn.active+.mobile-hidden{display:flex}}body.light .nav{box-shadow:0 5px 10px rgba(29,28,34,.071)}body.light .nav .nav-background{background-color:#fff}body.light .nav .link.active:hover{color:#2ff093}body.light .nav .link:hover{color:#29282d}body .nav-color-switch{align-items:center;background:none;border:none;color:#919295;cursor:pointer;display:flex}body .nav-color-switch img.active{display:block}body .nav-color-switch img{display:none;height:30px;width:30px}@media only screen and (width < 1000px){body .nav-lang .nav-locale-name{display:none}}body .nav-lang .fi-lang{border:1px solid #919295;border-radius:6px;height:16px;width:16px}body .nav-lang .link{font-size:16px}body .nav-lang button{background:none;border:none;border-radius:12px;cursor:pointer;padding:12px;text-align:right}body .nav-lang button:hover{color:#fff}body .nav-lang .flag-dropdown.active{display:flex}body .nav-lang .flag-dropdown{background-color:#1d1c22;border-radius:12px;display:none;flex-direction:column;gap:1rem;list-style:none;min-width:200px;padding:12px 36px;position:absolute;right:-24px;text-align:right;width:100%;z-index:99}body .nav-lang .flag-dropdown .link{align-items:center;display:flex;flex-grow:1;flex-wrap:nowrap;gap:1rem;justify-content:flex-end}body .nav-lang .flag-dropdown .link:hover{color:#fff}body.light .flag-dropdown{background-color:#fff}body.light .flag-dropdown .link:hover{color:#29282d}body.light .mobile-hidden{background-color:#fff}.alert{background-color:#1d1c22;border-radius:.25rem;bottom:0;box-shadow:0 5px 10px rgba(29,28,34,.071);color:#919295;left:50%;margin-bottom:1rem;max-width:80%;opacity:1;padding:1rem 2.5rem 1rem 1rem;position:fixed;text-align:center;transform:translateX(-50%);transition:opacity .5s ease-in-out;z-index:100}.alert:before{animation:shrink 10s linear forwards;background-color:#ecf0f3;border-radius:.5rem;bottom:2px;content:"";display:block;height:4px;left:2px;position:absolute;width:calc(100% - 4px)}.alert-success{background-color:green;border-color:green;color:#fff}.alert-error{background-color:red;border-color:red;color:#fff}.alert-dismissible .btn-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;line-height:1;opacity:1;padding:.75rem 1rem;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:.1s ease-in-out;z-index:101}.alert-dismissible .btn-close:hover{opacity:.7}.alert.fade{opacity:0}.alert.show{opacity:1}@keyframes shrink{0%{width:100%}to{width:0}}.error-page{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center}.error-page img{max-height:600px}.home-grid-container{gap:20px;padding:24px}.home-grid-container .main-header{max-width:750px}.home-grid-container .box{border-radius:12px;padding:24px;transition:transform .2s ease-in-out}.home-grid-container .box.profile{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center}.home-grid-container .box.profile .logo img{width:100%}.home-grid-container .box .service-icons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-around}.home-grid-container .box .service-icons .icon-link{height:50px;width:50px}.home-grid-container .box .offer-icons{display:flex;flex-wrap:wrap;gap:1.5rem}.home-grid-container .box .offer-icons .offer-element{align-items:center;display:flex;flex-wrap:nowrap;gap:.5rem}.home-grid-container .box .offer-icons svg{height:50px;width:50px;fill:#2ff093}.home-grid-container .box .statistics{background-color:#2ff093}.home-grid-container .box .statistics .stats-container{display:flex;flex-wrap:wrap}.home-grid-container .box.approach{background-image:url(/build/images/approach-background.70742545.png);background-position:50%;background-repeat:no-repeat;background-size:cover}.home-grid-container .box.approach h2{color:#fff}.home-grid-container .box-link{text-decoration:none}.home-grid-container .box-link:hover .box{transform:translateY(-6px)}body.light .home-grid-container svg{fill:#2ff093}.about-me-page{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.about-section{margin-bottom:40px;text-align:center}.about-header{font-size:2em;margin-bottom:10px}.about-description{font-size:1em;max-width:800px;text-align:justify}@media only screen and (max-width:1000px){.about-description{font-size:.9em}}.approach-section{margin-top:40px;max-width:800px}.approach-section h2{font-size:1.8em;margin-bottom:20px;text-align:center}.approach-section p{color:#919295;font-size:1em;line-height:1.6;margin:0 auto 20px;max-width:800px;text-align:justify}.approach-section .steps-list{margin-top:20px}.approach-section .steps-list h3{color:#919295;font-size:1.5em;margin-bottom:15px;text-align:center}.approach-section .steps-list ul{list-style-type:none;margin:0;padding:0}.approach-section .steps-list ul li{font-size:1em;line-height:1.8;margin-bottom:10px;padding-left:20px;position:relative}.approach-section .steps-list ul li:before{background-color:#2ff093;border-radius:50%;content:"";height:8px;left:0;position:absolute;top:8px;width:8px}.approach-section .steps-list ul li .title{color:#fff;font-weight:bolder}body.light .approach-section .steps-list ul li .title{color:#29282d}.approach-section .steps-list ul li .description{color:#919295}.approach-section .cta{margin-top:30px;text-align:center}.approach-section .cta h3{color:#2ff093;font-size:1.5em;margin-bottom:10px}.approach-section .cta p{border:2px solid #2ff093;border-radius:12px;color:#919295;font-size:1em;font-weight:bolder;line-height:1.6;padding:24px;text-align:center}.approach-section .cta a.btn{background-color:#2ff093;border-radius:4px;color:#fff;display:inline-block;font-size:1em;margin-top:15px;padding:10px 20px;text-decoration:none;transition:background-color .3s}.approach-section .cta a.btn:hover{background-color:#10dc7a}.timeline-section{position:relative}.timeline-header{font-size:1.8em;margin-bottom:30px;text-align:center}.timeline{align-items:center;display:flex;flex-direction:column;justify-content:center;padding-left:0;position:relative;width:100%}.timeline-item-header{margin-top:1rem}.timeline-item{border-left:2px solid #2ff093;display:flex;flex-direction:column;margin-left:0;max-width:800px;padding-left:20px;position:relative}.timeline-item:before{background-color:#2ff093;border-radius:50%;content:"";height:10px;left:-6px;position:absolute;top:35px;width:10px}.timeline-item-title{font-size:1.3em;font-weight:700;margin-bottom:5px}.timeline-item-description{font-size:1em;margin-top:5px;text-align:justify}@media only screen and (max-width:1000px){.timeline-item-description{font-size:.9em}}.stack-page{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.stack-intro{margin-bottom:40px;text-align:center}.stack-header{font-size:2em;margin-bottom:10px}.stack-explanation{font-size:1em;max-width:800px;text-align:justify}@media only screen and (max-width:1000px){.stack-explanation{font-size:.9em}}.stack-experience{align-items:center;display:flex;flex-direction:column;width:100%}.experience-header{font-size:1.8em;margin-bottom:20px}.experience-list{display:flex;flex-direction:column;gap:20px;max-width:800px;width:100%}.experience-item{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.experience-info{align-items:center;display:flex;gap:10px;width:200px}.experience-icon{height:24px;width:24px}.experience-name{color:#919295;font-size:1.1em}body.light .experience-bar-container{background-color:#ecf0f3}.experience-bar-container{align-items:center;background-color:#252525;border-radius:5px;box-sizing:border-box;display:flex;height:12px;margin:0;overflow:hidden;padding:2px;position:relative;width:100%}.experience-bar-container .experience-bar{background-color:#2ff093;border-radius:5px;height:60%;transition:width .4s ease-in-out;width:calc(100% - 6px)}.experience-level{color:#2ff093;font-size:.9em;font-weight:bolder;margin-left:auto}.work-approach-page{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.work-approach-page .list-section-container,.work-approach-page .philosophy-section,.work-approach-page .summary-section,.work-approach-page .work-approach-section{margin:0 auto;max-width:800px;text-align:center}.work-approach-page .section-header{font-size:2em;line-height:normal;margin-bottom:10px}.work-approach-page .quote{color:hsla(225,2%,58%,.65);font-size:.9em;font-style:italic;margin:10px 0;text-align:left}@media only screen and (max-width:1000px){.work-approach-page .quote{font-size:.7em}}.work-approach-page .section-description,.work-approach-page .summary-description,.work-approach-page .work-approach-description{color:#919295;font-size:1em;text-align:justify}@media only screen and (max-width:1000px){.work-approach-page .section-description,.work-approach-page .summary-description,.work-approach-page .work-approach-description{font-size:.8em}}.work-approach-page .motivation-list,.work-approach-page .strengths-list{margin:0 auto;padding:0;text-align:left}.work-approach-page .motivation-list li,.work-approach-page .strengths-list li{color:#919295;font-size:1em;margin:5px 0}@media only screen and (max-width:1000px){.work-approach-page .motivation-list li,.work-approach-page .strengths-list li{font-size:.8em}}.work-approach-page .motivation-list strong,.work-approach-page .strengths-list strong{color:#2ff093}.contact-page{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px;width:100%}.contact-page .contact-section{margin:0 auto;max-width:800px;padding:20px;text-align:center}.contact-page .contact-section .section-header{font-size:2em;line-height:normal;margin-bottom:10px}.contact-page .contact-section .contact-form{align-items:center;display:flex;flex-direction:column;width:100%}.contact-page .contact-section .contact-form input,.contact-page .contact-section .contact-form textarea{background:none;border:1px solid #919295;border-radius:6px;box-sizing:border-box;color:#919295;font-size:1em;margin-bottom:12px;max-width:100%;padding:10px;width:100%}.contact-page .contact-section .contact-form input:focus,.contact-page .contact-section .contact-form textarea:focus{border:1px solid #2ff093;outline:none}.contact-page .contact-section .contact-form textarea::-webkit-scrollbar{width:6px}.contact-page .contact-section .contact-form textarea::-webkit-scrollbar-thumb{background-color:#2ff093;border-radius:4px}.contact-page .contact-section .contact-form textarea::-webkit-scrollbar-track{background-color:#252525;border-radius:4px}.contact-page .contact-section .contact-form button{max-width:100%;width:100%}@media(max-width:768px){.contact-page .contact-section{max-width:90%;padding:15px}.contact-page .contact-section .section-header{font-size:1.8em}}@media(max-width:480px){.contact-page .contact-section{max-width:100%;padding:10px}.contact-page .contact-section .section-header{font-size:1.5em}.contact-page .contact-section .contact-form input,.contact-page .contact-section .contact-form textarea{font-size:.9em;padding:8px}}body{background-color:#252525;box-sizing:border-box;color:#919295;font-family:FreeSans,sans-serif;margin:0;padding:0;position:relative}body .box{background-color:#1d1c22}body .box-colored{background-color:#2ff093}body .box,body .box-colored{border-radius:24px;padding:24px}body .header{color:#fff}body.light{background-color:#ecf0f3}body.light .box{background-color:#fff}body.light .header,body.light h1,body.light h2,body.light h3,body.light h4,body.light h5,body.light h6{color:#29282d}body.light .box-colored .header,body.light .box-colored h2{color:#fff}body.no-scroll{overflow:hidden}.oswald-font{font-family:Oswald,sans-serif;font-optical-sizing:auto;font-style:normal}.oswald-font.bold{font-weight:700}.oswald-font.bolder{font-weight:bolder}.link{color:#919295;text-decoration:none;transition:all .2s ease-in-out}.link:hover{color:#2ff093}.btn{border:1px solid #919295;border-radius:6px;color:#919295;font-weight:bolder;overflow:hidden;padding:6px 12px;position:relative;text-decoration:none;transition:all .2s ease-in-out}.btn.wide{width:100%}.btn:hover{border:1px solid #2ff093;color:#fff}.btn:after{background-color:#2ff093;content:"";height:100%;left:0;position:absolute;top:0;transition:all .2s ease-in-out;width:0;z-index:1}.btn:hover:after{width:100%}.btn span{position:relative;z-index:2}.main-content{box-sizing:border-box;overflow:visible;padding:0 10%;position:relative;width:100%}.page{margin-top:124px}@media only screen and (max-width:1000px){.page{margin-top:84px}}p{color:#919295;font-family:Manrope,serif;line-height:24px}h1,h2,h3,h4,h5,h6{color:#fff;font-family:Oswald,serif;margin:0 0 12px}h1{font-size:clamp(24px,5vw,64px);line-height:clamp(24px,5vw,64px)}h3{font-size:clamp(24px,3vw,48px);line-height:clamp(24px,3vw,48px)}h5{font-size:clamp(18px,3vw,24px);line-height:clamp(18px,3vw,24px)}.main-color{color:#2ff093}.company-info{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;justify-content:center}.company-info .info-elem{margin-right:6px}.company-info .info-elem:not(:last-child):after{color:#919295;content:"•";font-weight:700;margin-left:6px}@media only screen and (width < 1000px){.home-grid-container .company-info{display:none}}footer{align-items:center;display:flex;flex-direction:column;justify-content:center}.footer-logo{max-width:150px;min-width:150px;width:50%}.footer-watermark{font-size:12px}.svg-picture{max-width:500px}.svg-picture.small{max-width:350px}.social{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:12px 0;max-width:200px}.social a{display:inline-block;position:relative}.social a svg{height:30px;width:30px;fill:#919295;transition:all .2s ease-in-out}.social a:hover svg{fill:#2ff093}