.section-about{background-color:var(--bg-secondary);padding:4rem 1rem}@media(min-width:769px){.section-about{padding:4rem 2rem}}.section-about .container{max-width:900px;width:100%;margin-left:auto;margin-right:auto}.section-about .container h2{font-size:2rem;line-height:2rem;color:var(--text-primary);font-weight:600}.section-about .container .content{display:grid;justify-items:center;align-items:center;grid-gap:2rem;gap:2rem;margin-top:2rem;margin-bottom:2rem}@media(min-width:769px){.section-about .container .content{grid-template-columns:1fr auto;gap:4rem}}.section-about .container .content .text{order:2;display:flex;flex-direction:column}@media(min-width:769px){.section-about .container .content .text{order:1}}.section-about .container .content .text p{font-size:1rem;font-weight:400;color:var(--text-primary)}.section-about .container .content .text p:not(:last-child){margin-bottom:1rem}.section-about .container .content .text .resalt{font-weight:600;color:var(--color-primary)}.section-about .container .content img{order:1;width:185px;min-width:185px;height:185px;min-height:185px;border-radius:8px;display:block;transform:rotate(3deg);border:2px solid var(--border-color)}@media(min-width:769px){.section-about .container .content img{order:2;width:235px;min-width:235px;height:235px;min-height:235px}}.section-about .container .additional-info{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media(min-width:769px){.section-about .container .additional-info{gap:2rem;grid-template-columns:repeat(3,1fr)}}.section-about .container .additional-info .card{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;padding:2rem 1rem}@media(min-width:769px){.section-about .container .additional-info .card{min-height:190px}}.section-about .container .additional-info .card svg{stroke:var(--color-primary)}.section-about .container .additional-info .card h3{font-size:1.3rem;line-height:1.3rem;font-weight:500;margin-top:.6rem;margin-bottom:.25rem;color:var(--text-primary);display:flex;align-items:center}.section-about .container .additional-info .card p{font-size:.9rem;font-weight:400;color:var(--text-primary)}.section-about .container .additional-info .card span{white-space:nowrap}.checkbox-component .checkbox-element{position:relative;display:flex;align-items:center}.checkbox-component .checkbox-element input[type=checkbox]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);margin:0;font:inherit;width:20px;height:20px;border:1px solid var(--text-placeholder);border-radius:4px;display:grid;align-items:center;justify-content:center}.checkbox-component .checkbox-element input[type=checkbox]:checked,.checkbox-component .checkbox-element input[type=checkbox]:focus{border-color:var(--color-primary)}.checkbox-component .checkbox-element input[type=checkbox]:before{content:"";width:12px;height:12px;border-radius:2px;transform:scale(0);transition:transform .2s;background-color:var(--color-primary)}.checkbox-component .checkbox-element input[type=checkbox]:checked:before{transform:scale(1)}.checkbox-component .checkbox-element label{font-size:.8rem;font-weight:400;color:var(--text-primary);margin-left:.5rem}.checkbox-component .error{display:block;color:#d80000;font-size:.8rem;margin-top:.25rem}.input-component .input-element{position:relative}.input-component .input-element input{width:100%;padding:1rem;height:52px;border-radius:1rem;box-sizing:border-box;font-size:1rem;border:1px solid var(--text-placeholder);outline:none;background-color:rgba(0,0,0,0);color:var(--text-primary);text-transform:none!important}.input-component .input-element input:-webkit-autofill{padding:1rem!important}.input-component .input-element input:focus{border:1px solid var(--color-primary)}.input-component .input-element input:-webkit-autofill,.input-component .input-element input:focus~label,.input-component .input-element input:not(:placeholder-shown)~label{top:0;font-size:.8rem;padding:0 .5rem;color:var(--text-primary);background-color:var(--bg-main)}.input-component .input-element input:focus~label{color:var(--color-primary)}.input-component .input-element label{display:block;margin-bottom:8px;margin-left:20px;font-size:1rem;font-weight:400;color:var(--text-placeholder);position:absolute;top:50%;transform:translateY(-50%);transition:top .2s,font-size .2s,padding .2s;text-transform:none!important}.input-component .error{display:block;color:#d80000;font-size:.8rem;margin-top:.25rem}.modal-component{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;min-width:360px;background-color:rgba(24,24,24,.4);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:99;opacity:1}@media(min-width:769px){.modal-component{align-items:center;padding:1rem}}.modal-component.modal-closing{background-color:rgba(0,0,0,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.modal-component .modal-content{display:grid;grid-template-rows:auto 1fr;background-color:var(--bg-main);box-shadow:0 0 2px 2px rgba(150,150,150,.1);transition:transform .3s;border-radius:16px 16px 0 0;width:100%;height:-moz-fit-content;height:fit-content;max-height:90%;overflow:hidden;animation:growInMobile .3s}.modal-component .modal-content.modal-closing{animation:growOutMobile .3s}@media(min-width:769px){.modal-component .modal-content{max-width:550px;max-height:95%;border-radius:8px;animation:growInDesktop .3s}.modal-component .modal-content.modal-closing{animation:growOutDesktop .3s}}.modal-component .modal-content .modal-header{padding:1rem;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0}@media(min-width:481px){.modal-component .modal-content .modal-header{padding:1.5rem 1.5rem 1rem}}.modal-component .modal-content .modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-component .modal-content .modal-header .modal-close{cursor:pointer;background-color:rgba(0,0,0,0);border:none;display:flex;align-items:center;justify-content:center}.modal-component .modal-content .modal-header .modal-close svg{stroke:var(--icon-stroke)}.modal-component .modal-content .modal-body{padding:0 1rem 1rem;overflow-y:auto;outline:none}@media(min-width:481px){.modal-component .modal-content .modal-body{padding:0 1.5rem 1.5rem}}@keyframes growInMobile{0%{transform:translateY(100%);opacity:0}70%{transform:translateY(-10px)}to{transform:translateY(0);opacity:1}}@keyframes growOutMobile{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes growInDesktop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes growOutDesktop{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.textarea-component{width:100%;position:relative}.textarea-component .textarea-wrapper{position:relative}.textarea-component .textarea-wrapper .textarea-element{padding:1rem;border:1px solid var(--text-placeholder);border-radius:1rem;height:250px;display:grid;grid-template-rows:1fr auto;grid-gap:1rem;gap:1rem}.textarea-component .textarea-wrapper .textarea-element:focus-within{border:1px solid var(--color-primary)}.textarea-component .textarea-wrapper .textarea-element textarea{width:100%;background-color:rgba(0,0,0,0);min-height:100px;font-size:1rem;color:var(--text-primary);border:none;resize:none;outline:none}.textarea-component .textarea-wrapper .textarea-element textarea::placeholder{color:rgba(0,0,0,0)}.textarea-component .textarea-wrapper .textarea-element textarea.has-value~label{color:var(--text-primary)}.textarea-component .textarea-wrapper .textarea-element textarea:focus~label{color:var(--color-primary)}.textarea-component .textarea-wrapper .textarea-element textarea.has-value~label,.textarea-component .textarea-wrapper .textarea-element textarea:focus~label{top:0;font-size:.8rem;padding:0 .5rem;background:var(--bg-main)}.textarea-component .textarea-wrapper .textarea-element .decorator{color:var(--text-placeholder);font-size:.8rem;line-height:.8rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textarea-component .textarea-wrapper .textarea-element label{position:absolute;top:26px;left:20px;transform:translateY(-50%);color:var(--text-placeholder);font-size:1rem;pointer-events:none;transition:top .2s,left .2s,font-size .2s,padding .2s}.textarea-component .error{display:block;color:#d80000;font-size:.8rem;margin-top:.25rem}.section-contact{background-color:var(--bg-main);padding:4rem 1rem}@media(min-width:769px){.section-contact{padding:4rem 2rem}}.section-contact .container{width:100%;max-width:600px;margin-left:auto;margin-right:auto;display:grid;justify-items:center;grid-template-columns:1fr;grid-gap:2rem;gap:2rem}.section-contact .container .title{display:flex;align-items:center;text-align:center}.section-contact .container .title h2{font-size:1.75rem;width:100%;color:var(--text-primary);font-weight:500}.section-contact .container .title span{display:block;font-weight:600;font-size:2rem;font-style:italic;line-height:2rem;color:var(--color-primary)}.section-contact .container .form{display:grid;grid-gap:1rem;gap:1rem;width:100%}.section-contact .container .form .btn-submit{background-color:rgba(0,0,0,0);width:125px;border:none;border-radius:1rem;padding:.75rem 1rem;cursor:pointer;color:var(--color-primary);border:1px solid var(--color-primary);display:flex;align-items:center;justify-content:center}.section-contact .container .form .btn-submit[disabled]{cursor:progress}.section-contact .container .form .btn-submit:hover .arrow-icon{opacity:1;width:16px;margin-left:.25rem}.section-contact .container .form .btn-submit .link-text{font-weight:500;display:inline-block;font-size:1rem}.section-contact .container .form .btn-submit .arrow-icon{opacity:0;width:0;overflow:hidden;transition:all .3s ease;stroke:var(--color-primary)}.section-contact .container .form .btn-terms{cursor:pointer;border:none;background-color:rgba(0,0,0,0);color:var(--text-primary);font-size:.8rem;text-decoration:underline}.section-contact .container .form .btn-terms:hover{color:var(--color-primary)}.section-contact .container .form .captcha{gap:.25rem;font-size:.8rem;text-align:left;color:var(--text-primary)}.section-contact .container .form .captcha a{text-decoration:underline}.section-contact .container .form .captcha a:hover{color:var(--color-primary)}.section-contact__modal-terms h3{font-size:1rem;font-weight:600;color:var(--text-primary)}.section-contact__modal-terms h4{font-size:.8rem;font-weight:500;color:var(--text-primary);margin-bottom:1rem}.section-contact__modal-terms p{font-size:.9rem;font-weight:400;color:var(--text-primary);margin-top:.25rem;margin-bottom:1rem}.grecaptcha-badge{display:none!important;visibility:hidden!important;opacity:0!important}.section-experience{background-color:var(--bg-main);padding:4rem 1rem}@media(min-width:769px){.section-experience{padding:4rem 2rem}}.section-experience .container{max-width:900px;width:100%;margin-left:auto;margin-right:auto}.section-experience .container h2{font-size:2rem;line-height:2rem;color:var(--text-primary);font-weight:600}.section-experience .container .timeline{margin-top:2rem}.section-experience .container .timeline li{list-style:none}.section-experience .container .timeline li:first-child .timeline-item{padding-top:1rem}.section-experience .container .timeline li:first-child .timeline-item .point{top:calc(1rem + 16px)}.section-experience .container .timeline li:first-child .timeline-item .point:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 0 var(--color-primary);animation:pulseShadowCurrentExperience 2s infinite}.section-experience .container .timeline li:last-child .timeline-item:before{height:21px}.section-experience .container .timeline li:not(:last-child) .timeline-item{padding-bottom:4rem}@media(min-width:769px){.section-experience .container .timeline li:not(:last-child) .timeline-item{padding-bottom:2rem}.section-experience .container .timeline li:nth-child(odd) .timeline-item:before{left:50%;transform:translateX(-50%)}.section-experience .container .timeline li:nth-child(odd) .timeline-item .content{grid-column:1/2}.section-experience .container .timeline li:nth-child(odd) .timeline-item .point{left:50%;transform:translateX(-50%)}.section-experience .container .timeline li:nth-child(2n) .timeline-item:before{left:auto;right:50%;transform:translateX(50%)}.section-experience .container .timeline li:nth-child(2n) .timeline-item .content{grid-column:2/3}.section-experience .container .timeline li:nth-child(2n) .timeline-item .point{left:auto;right:50%;transform:translateX(50%)}}.section-experience .container .timeline li .timeline-item{position:relative;display:grid;grid-gap:4rem;gap:4rem;padding-left:3.5rem;padding-right:1rem}.section-experience .container .timeline li .timeline-item:before{content:"";background-color:var(--border-color);width:2px;height:100%;position:absolute;left:1.5rem}@media(min-width:769px){.section-experience .container .timeline li .timeline-item{padding-left:0;padding-right:0;grid-template-columns:1fr 1fr}}.section-experience .container .timeline li .timeline-item .point{display:block;width:12px;height:12px;background:var(--color-primary);border-radius:50%;position:absolute;left:calc(1.5rem - 5px);top:16px}.section-experience .container .timeline li .timeline-item .content{display:flex;flex-direction:column}.section-experience .container .timeline li .timeline-item .content .header{margin-bottom:1.5rem}.section-experience .container .timeline li .timeline-item .content .header .title{font-size:1.25rem;line-height:1.4rem;font-weight:600;color:var(--color-primary)}.section-experience .container .timeline li .timeline-item .content .header .subtitle{color:var(--text-primary);text-decoration:none;font-size:1.1rem;font-weight:500}.section-experience .container .timeline li .timeline-item .content .header .dates{background-color:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);display:block;font-size:.7rem;font-weight:400;margin-top:.25rem;margin-left:-.5rem;padding:.25rem .5rem;width:max-content}.section-experience .container .timeline li .timeline-item .content .body p{font-size:1rem;font-weight:400}@keyframes pulseShadowCurrentExperience{0%{box-shadow:0 0 0 0 var(--color-primary-light)}70%{box-shadow:0 0 0 4px var(--color-primary-light)}to{box-shadow:0 0 0 0 var(--color-primary-light)}}.window-box{width:100%;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.15);border:1px solid var(--border-color);background-color:var(--card-bg)}.window-box .window-header{display:flex;align-items:center;padding:10px 16px;background-color:var(--card-header-bg);border-bottom:1px solid var(--border-color)}.window-box .window-header .window-buttons{display:flex;margin-right:12px}.window-box .window-header .window-buttons .button{width:12px;height:12px;border-radius:50%}.window-box .window-header .window-buttons .button:not(:last-child){margin-right:8px}.window-box .window-header .window-buttons .button.close{background-color:#ff5f56}.window-box .window-header .window-buttons .button.minimize{background-color:#ffbd2e}.window-box .window-header .window-buttons .button.maximize{background-color:#27c93f}.window-box .window-header .window-title{flex-grow:1;font-size:.9rem;color:var(--card-text-muted);font-family:monospace}.window-box .window-content{padding:16px}.window-box .window-content .code-block{line-height:1.5;margin:0;font-size:.9rem}.window-box .window-content .code-block code,.window-box .window-content .code-block span{font-family:monospace}.window-box .window-content .code-block .code-keyword{color:var(--syntax-keyword)}.window-box .window-content .code-block .code-variable{color:var(--syntax-variable)}.window-box .window-content .code-block .code-property{color:var(--syntax-property)}.window-box .window-content .code-block .code-string{color:var(--syntax-string)}.window-box .window-content .code-block .code-boolean{color:var(--syntax-boolean)}@media(min-width:360px){.window-box{max-width:100%;margin-top:1rem}}.section-home{background-color:var(--bg-main);width:100%;margin-left:auto;margin-right:auto;padding:6rem 1rem 4rem;display:flex;align-items:center;justify-content:center}@media(min-width:769px){.section-home{padding:4rem 2rem;height:100vh;min-height:800px;max-height:1200px}}.section-home .container{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem;align-items:center;justify-content:center;width:100%;max-width:900px;position:relative;z-index:91}@media(min-width:769px){.section-home .container{gap:1rem;grid-template-columns:1fr 1fr}}.section-home .container .left{display:flex;flex-direction:column}.section-home .container .left h1{font-size:2.2rem;margin-bottom:1rem}.section-home .container .left h1 span{display:block}.section-home .container .left h1 span:first-child{font-size:2.2rem;color:var(--color-primary);font-weight:600}.section-home .container .left h1 span:nth-child(2){font-size:1.5rem;color:var(--text-primary);font-weight:500}.section-home .container .left .tags{display:flex}.section-home .container .left .tags .available{font-size:.8rem;color:var(--text-primary);font-weight:600;border:1px solid var(--border-color);width:max-content;padding:.25rem .75rem;border-radius:8px;display:flex;align-items:center}.section-home .container .left .tags .available .point{position:relative;background-color:var(--bg-available);font-weight:600;display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem}.section-home .container .left .tags .available .point:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 0 var(--bg-available);animation:pulseShadowAvailable 2s infinite}.section-home .container .left .tags a{font-size:.8rem;color:var(--text-primary);font-weight:400;border:1px solid var(--border-color);width:max-content;padding:.25rem .75rem;margin-left:.5rem;border-radius:8px;display:flex;align-items:center;position:relative}.section-home .container .left .tags a span{display:inline-block}.section-home .container .left .tags a .arrow-icon{opacity:0;width:0;overflow:hidden;transition:width .2s,opacity .2s;stroke:var(--color-primary);margin-left:.25rem}@media(hover:hover){.section-home .container .left .tags a:hover{border:1px solid var(--color-primary)}.section-home .container .left .tags a:hover .arrow-icon{opacity:1;width:16px}.section-home .container .left .tags a:hover span{color:var(--color-primary)}}.section-home .container .right{width:100%}.section-home .background-lines{position:absolute;top:0;left:0;right:0;bottom:50%;width:100%;height:50%;max-height:200px;z-index:90;color:var(--color-line);-webkit-mask-image:linear-gradient(white,transparent);mask-image:linear-gradient(white,transparent)}@media(min-width:769px){.section-home .background-lines{max-height:450px}}@keyframes pulseShadowAvailable{0%{box-shadow:0 0 0 0 var(--bg-available-glow)}70%{box-shadow:0 0 0 3px var(--bg-available-glow)}to{box-shadow:0 0 0 0 var(--bg-available-glow)}}.section-projects{background-color:var(--bg-secondary);padding:4rem 1rem}@media(min-width:769px){.section-projects{padding:4rem 2rem}}.section-projects .container{max-width:900px;width:100%;margin-left:auto;margin-right:auto}.section-projects .container h2{font-size:2rem;line-height:2rem;color:var(--text-primary);font-weight:600}.section-projects .container .content{display:grid;grid-gap:2rem;gap:2rem;margin-top:2rem;grid-template-areas:"project-1" "project-2" "project-3"}@media(min-width:769px){.section-projects .container .content{grid-template-areas:"project-1 project-3" "project-2 project-3"}}.section-projects .container .content .project{border:1px solid var(--border-color);border-radius:12px;height:100%;min-height:400px;overflow:hidden;position:relative;text-decoration:none;cursor:pointer;width:100%}@media(min-width:769px){.section-projects .container .content .project{min-height:300px}}.section-projects .container .content .project:hover img{transform:scale(1.1);transition:all .2s}.section-projects .container .content .project img{width:100%;height:100%;object-fit:cover;object-position:left;border-radius:12px;position:absolute;top:0;left:0;z-index:91;filter:blur(1px)}.section-projects .container .content .project .info{background:var(--bg-project-overlay);position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;z-index:92;width:100%;height:100%;color:#fff}.section-projects .container .content .project .info h3{font-size:1.25rem;font-weight:600}.section-projects .container .content .project .info p{font-size:.9rem;font-weight:400}.section-projects .container .content .project .info .tags{margin-top:.25rem}.section-projects .container .content .project .info .tags span{font-size:.7rem;font-weight:400;background-color:var(--bg-tag);color:var(--text-tag);padding:.25rem .5rem;border-radius:12px;margin-right:.5rem}.section-footer{padding:1rem;background-color:var(--card-header-bg)}.section-footer .container{padding:0 1rem;width:100%;max-width:1200px;display:flex;justify-content:center;align-items:center;font-size:.8rem;margin-left:auto;margin-right:auto}.tooltip-component{z-index:99;overflow:hidden;border-radius:.375rem;border:1px solid var(--border-color);padding:.25rem .5rem;font-size:.75rem;line-height:1.5rem;color:var(--text-primary);background-color:var(--bg-main);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);pointer-events:none}@media(min-width:769px){.tooltip-component{padding:.375rem .75rem;font-size:.875rem}}.dock-component{display:none;flex-direction:column;transform:translateX(-50%);left:50%;position:fixed;z-index:97;bottom:2rem}@media(min-width:769px){.dock-component{display:flex}}.dock-component .content{background-color:var(--bg-nav);padding-left:1rem;padding-right:1rem;padding-bottom:.6rem;margin-left:auto;margin-right:auto;border-radius:1rem;display:flex;align-items:flex-end;height:4rem;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:var(--border-nav);box-shadow:var(--shadow-nav)}.dock-component .content>:not(:first-child){margin-left:1rem}.dock-component .content .section-link{position:relative}.dock-component .content .divider{height:2.5rem;width:2px;background-color:var(--border-color);margin-top:.625rem;border:none}.dock-component .content .section-active{border-color:var(--color-primary)}.dock-component .content .section-active svg{stroke:var(--color-primary);fill:none}@media(min-width:769px){.float-component{display:none}}.float-component__menu{display:flex;position:fixed;bottom:1rem;right:calc(1rem + 1px);width:42px;height:42px;cursor:pointer;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.float-component__menu .icon{display:flex;width:14px;height:10px;position:relative;transform:scale(1.1)}.float-component__menu .icon span{position:absolute;content:"";background:var(--icon-stroke);width:15px;height:1.5px;border-radius:5px;transition:all .3s ease}.float-component__menu .icon span:nth-child(2){top:4px}.float-component__menu .icon span:nth-child(3){top:8px}.float-component__menu.active span:first-child{transform:rotate(140deg);top:4px}.float-component__menu.active span:nth-child(2){opacity:0}.float-component__menu.active span:nth-child(3){transform:rotate(-140deg);top:4px}.float-component .speed-dial{position:fixed;bottom:4.25rem;right:.5rem;z-index:97;flex-direction:column;display:flex;opacity:0;visibility:hidden;transform:translateY(10%);transition:transform .2s,opacity .2s,visibility .2s;background-color:var(--bg-nav);padding:.75rem .5rem;border-radius:1rem;border:var(--border-nav);box-shadow:var(--shadow-nav);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}@media screen and (max-height:472px){.float-component .speed-dial{top:1rem;overflow:auto}}.float-component .speed-dial>:not(:first-child){margin-top:.5rem}.float-component .speed-dial.active{opacity:1;visibility:visible;transform:translateY(0)}.float-component .speed-dial__item{position:relative}.float-component .speed-dial .section-active{border-color:var(--color-primary)}.float-component .speed-dial .section-active svg{stroke:var(--color-primary);fill:none}.float-component .speed-dial .divider{height:0;width:2.5rem;margin-top:.625rem;border:1px solid var(--border-color)}