﻿.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;text-decoration:none;outline:none}@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-BoldItalic.otf") format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"Sora";src:url("/assets/fonts/Sora-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Sora";src:url("/assets/fonts/Sora-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}.no-scroll{overflow:hidden;height:100%}.popover-overlay{z-index:99;position:fixed;inset:0;backdrop-filter:blur(5px);background-color:rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;opacity:0;animation:hide-pop .3s ease forwards}.popover-overlay.show{animation:show-pop .3s ease forwards}.popover-wrapper{overflow-y:auto;position:relative;overscroll-behavior:none;background:#f5f0e9}.dark-theme .popover-wrapper{background:#1c110a}.popover-wrapper{color:#281e14}.dark-theme .popover-wrapper{color:#e4d6a7}.popover-wrapper{box-shadow:0 2px 2px rgba(40,30,20,.2)}.dark-theme .popover-wrapper{box-shadow:0 2px 2px rgba(228,214,167,.2)}.popover-wrapper{border-radius:1rem;width:90%;height:90%;transform:scale(0.95);opacity:0;transition:opacity .3s ease,transform .3s ease;-moz-transition:opacity .3s ease,-moz-transform .3s ease;-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;-o-transition:opacity .3s ease,-o-transform .3s ease}.popover-wrapper.show{transform:scale(1);-moz-transform:scale(1);-webkit-transform:scale(1);-o-transform:scale(1);opacity:1}.popover-content{position:relative;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.popover-close-button{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 1rem;color:#281e14}.dark-theme .popover-close-button{color:#e4d6a7}.popover-close-button:focus-visible{outline:2px solid #c84632}.dark-theme .popover-close-button:focus-visible{outline:2px solid #e4d6a7}.popover-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.popover-buttons button{background-color:inherit;transition:ease-in-out .3s;padding:.5rem 1rem;font-size:1rem;cursor:pointer}.popover-buttons button:hover{background-color:rgba(200,70,50,.7);color:#f5f0e9}@keyframes show-pop{from{opacity:0}to{opacity:1}}@keyframes hide-pop{from{opacity:1}to{opacity:0}}.app-snackbar{position:fixed;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;background:#999;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;box-shadow:0 2px 6px rgba(0,0,0,.3);gap:1rem;animation:fade-in .3s ease}@media(max-width: 815px){.app-snackbar{min-width:80%}}.app-snackbar--bottom{bottom:1rem}.app-snackbar--top{top:1rem}.app-snackbar--success{background:#4caf50}.app-snackbar--error{background:#f44336}.app-snackbar--info{background:#c88c28}.dark-theme .app-snackbar--info{background:#e9b44c}.app-snackbar--info{color:#f5f0e9}.dark-theme .app-snackbar--info{color:#1c110a}.app-snackbar button{background:rgba(0,0,0,0);border:none;color:#fff;font-weight:bold;cursor:pointer}@keyframes fade-in{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.u-font-smallest{font-size:.75rem}.u-font-small{font-size:.875rem}.u-font-medium{font-size:1rem}.u-font-large{font-size:1.5rem}.u-font-largest{font-size:2rem}.u-padd-x-smallest{padding-left:.25rem;padding-right:.25rem}.u-padd-x-small{padding-left:.5rem;padding-right:.5rem}.u-padd-x-medium{padding-left:1rem;padding-right:1rem}.u-padd-x-large{padding-left:1.5rem;padding-right:1.5rem}.u-padd-x-largest{padding-left:2rem;padding-right:2rem}.u-padd-y-smallest{padding-top:.25rem;padding-bottom:.25rem}.u-padd-y-small{padding-top:.5rem;padding-bottom:.5rem}.u-padd-y-medium{padding-top:1rem;padding-bottom:1rem}.u-padd-y-large{padding-top:1.5rem;padding-bottom:1.5rem}.u-padd-y-largest{padding-top:2rem;padding-bottom:2rem}.u-marg-x-smallest{margin-left:.25rem;margin-right:.25rem}.u-marg-x-small{margin-left:.5rem;margin-right:.5rem}.u-marg-x-medium{margin-left:1rem;margin-right:1rem}.u-marg-x-large{margin-left:1.5rem;margin-right:1.5rem}.u-marg-x-largest{margin-left:2rem;margin-right:2rem}.u-marg-y-smallest{margin-top:.25rem;margin-bottom:.25rem}.u-marg-y-small{margin-top:.5rem;margin-bottom:.5rem}.u-marg-y-medium{margin-top:1rem;margin-bottom:1rem}.u-marg-y-large{margin-top:1.5rem;margin-bottom:1.5rem}.u-marg-y-largest{margin-top:2rem;margin-bottom:2rem}.u-rounded-small{border-radius:2px}.u-rounded-medium{border-radius:4px}.u-rounded-large{border-radius:8px}.u-rounded-pill{border-radius:9999px}.u-shadow-small{box-shadow:0 1px 2px rgba(200,140,40,.05)}.u-shadow-medium{box-shadow:0 4px 6px rgba(200,140,40,.1)}.u-shadow-large{box-shadow:0 10px 15px rgba(200,140,40,.15)}.u-transition-fast{transition:.2s}.u-transition-normal{transition:.3s}.u-transition-slow{transition:.5s}.u-color-base{color:#281e14}.u-color-prim{color:#c88c28}.u-color-sec{color:#c84632}.u-color-bg{color:#f5f0e9}.u-italic{font-style:italic}.u-bold{font-weight:bold}.u-font-secondary{font-family:Sora,Arial,sans-serif}.u-font-primary{font-family:Inter,Arial,sans-serif}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-text-left{text-align:left}.u-flex-center{display:flex;justify-content:center;align-items:center}.u-flex-column{display:flex;flex-direction:column}.u-flex-row{display:flex;flex-direction:row}.u-flex-between{display:flex;justify-content:space-between;align-items:center}.u-flex-around{display:flex;justify-content:space-around;align-items:center}.u-flex-wrap{display:flex;flex-wrap:wrap}.u-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.u-absolute-center{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.u-fixed-full{position:fixed;top:0;right:0;bottom:0;left:0}.u-bg-base{background-color:#f5f0e9}.u-bg-inherit{background-color:inherit}.u-bg-primary{background-color:#c88c28}.u-bg-secondary{background-color:#c84632}.u-bg-gradient-right{background:linear-gradient(to right, rgba(200, 140, 40, 0.7), rgba(200, 70, 50, 0.7))}.u-bg-gradient-left{background:linear-gradient(to left, rgba(200, 140, 40, 0.7), rgba(200, 70, 50, 0.7))}.u-bg-gradient-top{background:linear-gradient(to top, rgba(200, 140, 40, 0.7), rgba(200, 70, 50, 0.7))}.u-bg-gradient-bottom{background:linear-gradient(to bottom, rgba(200, 140, 40, 0.7), rgba(200, 70, 50, 0.7))}.u-bg-cover{background-size:cover;background-position:center;background-repeat:no-repeat}.u-img-cover{-webkit-background-size:100vw 100vh;-moz-background-size:100vw 100vh;-o-background-size:100vw 100vh;background-size:100vw 100vh;background-attachment:fixed}.u-transition{transition:all .3s ease}.u-hover-scale{transition:transform .2s}.u-hover-scale:hover{transform:scale(1.05)}.u-border{border:1px solid #c88c28}.u-border-none{border:0px solid #fff}.u-rounded{border-radius:4px}.u-btn-disabled button:disabled{pointer-events:none !important;cursor:not-allowed !important;opacity:.6 !important}.u-btn-disabled button:disabled a{cursor:not-allowed !important}.u-hide{display:none !important}.u-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;text-decoration:none;outline:none}.u-clearfix::after{content:"";display:table;clear:both}.u-pointer{cursor:pointer}.u-pre-wrap{white-space:pre-wrap;overflow-wrap:break-word}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button,input,textarea{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}*,*::before,*::after{box-sizing:border-box}:root{font-size:18px}:root body{background-color:#f5f0e9;color:#281e14;min-height:100vh;width:100%;cursor:default;line-height:1.6;font-family:Inter,Arial,sans-serif;display:flex;flex-direction:column;scrollbar-gutter:stable}:root main{flex:1;margin-top:5%}@media(max-width: 815px){:root main{margin-top:25%}}:root body.dark-theme{background-color:#1c110a;color:#e4d6a7}:root h1{font-family:Sora,Arial,sans-serif;font-size:4rem}@media(max-width: 815px){:root h1{font-size:2.5rem}}:root p{max-width:80ch}:root a,:root button{cursor:pointer}:root a{text-decoration:none;color:inherit}:root a [href^=http]::after{content:"";display:inline-block;width:1rem;height:1rem;background-color:currentColor;mask-image:url(/assets/images/external-link.svg);mask-size:contain;mask-repeat:no-repeat}:root a:hover,:root a:focus-visible{text-decoration:underline}@media(hover: none){:root a:hover{text-decoration:none}:root button:hover{text-decoration:none;background-color:inherit;color:inherit}}:root .theme-transition{transition:background-color ease-in-out .2s,border ease-in-out .2s;-moz-transition:background-color ease-in-out .2s,border ease-in-out .2s;-webkit-transition:background-color ease-in-out .2s,border ease-in-out .2s;-o-transition:background-color ease-in-out .2s,border ease-in-out .2s}:root [tabindex="-1"]:focus{outline:none}.c-external-link [href^=http]::after{content:"";display:inline-block;width:1rem;height:1rem;background-color:currentColor;mask-image:url(/assets/images/svgs/external/external-link.svg);mask-size:contain;mask-repeat:no-repeat}.c-download-link [href]::after{content:"";display:inline-block;margin-left:.1rem;width:1rem;height:1rem;background-color:currentColor;mask-image:url(/assets/images/svgs/download.svg);mask-size:contain;mask-repeat:no-repeat}.navbar__container{transition:all ease-in-out .3s allow-discrete;position:fixed;top:0;width:100%;z-index:2}@media(max-width: 815px){.navbar__container{min-width:auto;right:0;text-wrap:nowrap}}.navbar__container.hidden{opacity:0;transform:translate(0, -50%);pointer-events:none}.navbar__anchors{width:100%;display:flex;justify-content:space-between;gap:1.5rem}@media(max-width: 815px){.navbar__anchors{transition:opacity 1s,display 1s allow-discrete;opacity:0;gap:.5rem;display:none;flex-direction:column;align-items:flex-end;position:absolute;top:3rem;left:50%;transform:translateX(-50%);background-color:inherit;backdrop-filter:blur(10px);padding:1rem 1.5rem;border-radius:1.5rem;box-shadow:0 8px 20px rgba(200,140,40,.2)}.dark-theme .navbar__anchors{box-shadow:0 8px 20px rgba(233,180,76,.2)}}.navbar__anchors.open{display:flex;opacity:1;animation:fade-in 1s}.navbar__anchors .navbar__anchor{text-wrap:nowrap}.navbar__anchors .navbar__anchor a{text-decoration:none;font-weight:bold;color:inherit;padding:.2rem .4rem;border-radius:.3rem;transition:color .2s,background .2s}.navbar__anchors .navbar__anchor a.active{box-shadow:1px .2rem .2rem rgba(200,140,40,.5)}.dark-theme .navbar__anchors .navbar__anchor a.active{box-shadow:1px .2rem .2rem rgba(233,180,76,.5)}.navbar__anchors .navbar__anchor a.active{background-color:#f5f0e9}.dark-theme .navbar__anchors .navbar__anchor a.active{background-color:#e9b44c}.navbar__anchors .navbar__anchor a.active{color:#c88c28}.dark-theme .navbar__anchors .navbar__anchor a.active{color:#1c110a}.navbar__anchors .navbar__anchor a.active:focus-visible{outline:2px solid rgba(200,140,40,.5)}.dark-theme .navbar__anchors .navbar__anchor a.active:focus-visible{outline:2px solid rgba(233,180,76,.5)}.navbar__anchors .navbar__anchor a:not(.active):hover{color:#c84632}.dark-theme .navbar__anchors .navbar__anchor a:not(.active):hover{color:#1c110a}.navbar__anchors .navbar__anchor a:not(.active):hover{background-color:#f5f0e9}.dark-theme .navbar__anchors .navbar__anchor a:not(.active):hover{background-color:#e4d6a7}.navbar__anchors .navbar__anchor a:not(.active):focus-visible{outline:2px solid #c84632}.dark-theme .navbar__anchors .navbar__anchor a:not(.active):focus-visible{outline:2px solid #e4d6a7}@media(hover: none){.navbar__anchors .navbar__anchor a:hover{box-shadow:0}}.navbar__home-anchor{justify-self:flex-start}.navbar__toggle-navbar{display:none;font-size:2rem;background:none;border:none;cursor:pointer;transition:all ease 1s;color:#281e14}.dark-theme .navbar__toggle-navbar{color:#e4d6a7}@media(max-width: 815px){.navbar__toggle-navbar{display:block}}.navbar__toggle-navbar.open{rotate:-90deg}.navbar__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#f5f0e9}.dark-theme .navbar__inner{background:#1c110a}.navbar__inner{backdrop-filter:blur(10px);padding:.5rem 1.5rem;border-radius:.5rem;box-shadow:0 6px 20px rgba(200,140,40,.17)}.dark-theme .navbar__inner{box-shadow:0 6px 20px rgba(233,180,76,.17)}.navbar__inner{transition:opacity .25s ease,transform .25s ease}@media(max-width: 815px){.navbar__inner{flex-direction:row-reverse}}.navbar__togglers-container{display:flex;justify-content:flex-end;flex-basis:25%}@media(max-width: 815px){.navbar__togglers-container{justify-content:flex-start}}.navbar__toggler{background-color:inherit;padding:0 .5rem;border-radius:4px}.navbar__toggler:hover,.navbar__toggler:focus-visible{color:#c88c28}.dark-theme .navbar__toggler:hover,.dark-theme .navbar__toggler:focus-visible{color:#e9b44c}.navbar__toggler:focus-visible{outline:2px solid #c88c28}.dark-theme .navbar__toggler:focus-visible{outline:2px solid #e9b44c}@media(hover: none){.navbar__toggler:hover{color:inherit}}.lang-toggler{text-wrap:nowrap;color:inherit}.theme-toggler::before{content:"🌙"}#theme-toggle:checked+label .theme-toggler::before{content:"🔅"}.navbar__toggle-navbar::before{content:"☰"}@keyframes fade-in{from{opacity:0}to{opacity:1}}.footer__container{position:sticky;bottom:0;padding:1rem;width:100%;border-radius:4px}.footer__body{font-family:Sora,Arial,sans-serif;padding:0 1.5rem;font-size:.875rem;color:#201810}.dark-theme .footer__body{color:rgb(209.452173913,185.8347826087,106.547826087)}@media(max-width: 815px){.footer__body{display:block;text-align:center}}.svgs__container{display:flex;justify-content:center;align-items:center;gap:2rem}@media(max-width: 815px){.svgs__container{justify-content:flex-start}}.base-svg::after{padding:1rem;content:"";display:inline-block;vertical-align:middle;width:1em;height:1em;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:8px;transition:scale ease .3s;box-shadow:0 4px 4px -3px rgba(200,140,40,.5)}.dark-theme .base-svg::after{box-shadow:0 4px 4px -3px rgba(233,180,76,.5)}.svg-live::after{background-image:url("/assets/images/svgs/external/live.svg")}.svg-github::after{background-image:url("/assets/images/svgs/external/github.svg")}.svg-npm::after{background-image:url("/assets/images/svgs/external/npm.svg")}.svg-linkedin::after{background-image:url("/assets/images/svgs/external/linkedin.svg")}.dark-theme .svg-github::after{filter:invert(1)}.svg-external::after{box-shadow:0 4px 4px -3px rgba(60,130,135,.5)}.dark-theme .svg-external::after{box-shadow:0 4px 4px -3px rgba(80,162,167,.5)}.svg-external:hover::after{cursor:pointer;scale:1.3}.svg-external:focus-visible{outline:2px solid #c88c28}.dark-theme .svg-external:focus-visible{outline:2px solid #e9b44c}.svg-external:focus-visible{padding-bottom:.5rem;border-radius:4px}@media(hover: none){.svg-external:hover{scale:1}}.svg-angular::after{background-image:url("/assets/images/svgs/tech-badges/angular.svg")}.svg-bash::after{background-image:url("/assets/images/svgs/tech-badges/bash.svg")}.svg-docker::after{background-image:url("/assets/images/svgs/tech-badges/docker.svg")}.svg-linux::after{background-image:url("/assets/images/svgs/tech-badges/linux.svg")}.svg-nestjs::after{background-image:url("/assets/images/svgs/tech-badges/nestjs.svg")}.svg-vuejs::after{background-image:url("/assets/images/svgs/tech-badges/vuejs.svg")}.svg-rails::after{background-image:url("/assets/images/svgs/tech-badges/rails.svg")}.svg-csharp::after{background-image:url("/assets/images/svgs/tech-badges/csharp.svg")}.svg-golang::after{background-image:url("/assets/images/svgs/tech-badges/golang.svg")}.svg-ruby::after{background-image:url("/assets/images/svgs/tech-badges/ruby.svg")}.svg-nodejs::after{background-image:url("/assets/images/svgs/tech-badges/nodejs.svg")}.svg-nx::after{background-image:url("/assets/images/svgs/tech-badges/nx.svg")}.svg-nginx::after{background-image:url("/assets/images/svgs/tech-badges/nginx.svg")}.svg-git::after{background-image:url("/assets/images/svgs/tech-badges/git.svg")}.svg-jest::after{background-image:url("/assets/images/svgs/tech-badges/jest.svg")}.svg-postgresql::after{background-image:url("/assets/images/svgs/tech-badges/postgresql.svg")}.svg-sass::after{background-image:url("/assets/images/svgs/tech-badges/sass.svg")}.svg-traefik::after{background-image:url("/assets/images/svgs/tech-badges/traefik.svg")}.svg-typescript::after{background-image:url("/assets/images/svgs/tech-badges/typescript.svg")}.svg-handlebars::after{background-image:url("/assets/images/svgs/tech-badges/handlebars.svg")}.svg-html::after{background-image:url("/assets/images/svgs/tech-badges/html.svg")}.svg-typeorm::after{background-image:url("/assets/images/svgs/tech-badges/typeorm.svg")}.svg-mysql::after{background-image:url("/assets/images/svgs/tech-badges/mysql.svg")}.svg-express::after{background-image:url("/assets/images/svgs/tech-badges/express.svg")}.dark-theme .svg-nx::after,.dark-theme .svg-handlebars::after,.dark-theme .svg-express::after{filter:invert(1)}.svg-tech-item{display:flex;flex-direction:column;align-items:center}.bullet-point__container{padding-left:1rem;line-height:2rem}@media(max-width: 815px){.bullet-point__container{padding-left:.5rem}}.project-card__wrapper{display:flex;justify-content:center;width:100%;padding:1rem}@media(max-width: 815px){.project-card__wrapper{padding:0}}.project-card__wrapper.project-card__standalone{justify-content:center}.project-card__wrapper.align-left{justify-content:flex-start}.project-card__wrapper.align-right{justify-content:flex-end}.project-card__container{width:80%;border-radius:1rem;padding:0 1rem;box-shadow:0 10px 15px rgba(200,140,40,.1)}.dark-theme .project-card__container{box-shadow:0 10px 15px rgba(233,180,76,.1)}@media(max-width: 815px){.project-card__container{width:100%}}.project-card__container{text-align:left;gap:2rem}.project-card__container.project-card__standalone{width:100%;border-radius:1rem;padding:0 1rem;box-shadow:0 10px 15px rgba(200,70,50,.1)}.dark-theme .project-card__container.project-card__standalone{box-shadow:0 10px 15px rgba(155,41,21,.1)}@media(max-width: 815px){.project-card__container.project-card__standalone{width:100%}}.project-card__container.project-card__standalone{min-width:40%;line-height:2rem;text-align:left;max-width:auto}.project-card__container.project-card__standalone h2{font-family:Sora,Arial,sans-serif;font-weight:bold;color:#c88c28}.dark-theme .project-card__container.project-card__standalone h2{color:#e9b44c}.project-card__container.project-card__standalone h2{border-bottom:3px solid rgba(200,70,50,.5)}.dark-theme .project-card__container.project-card__standalone h2{border-bottom:3px solid rgba(155,41,21,.5)}.project-card__container.project-card__standalone h2{font-size:2rem}@media(max-width: 815px){.project-card__container{display:block}.project-card__container .project-header__svgs{display:none}}.project-card__content{padding:0 1rem}@media(max-width: 815px){.project-card__content{padding:0}}.project-card__links{display:flex;padding:1rem;gap:2rem;flex-wrap:nowrap}@media(max-width: 815px){.project-card__links{padding:1rem 0;justify-content:space-between}}.project-card__view-more{font-family:Sora,Arial,sans-serif;font-size:1.1rem;padding:.25rem .5rem;background:linear-gradient(180deg, rgb(245, 240, 233), 90%, rgba(60, 130, 135, 0.7))}.dark-theme .project-card__view-more{background:linear-gradient(180deg, rgb(28, 17, 10), 90%, rgba(80, 162, 167, 0.7))}.project-card__view-more{color:#30686c}.dark-theme .project-card__view-more{color:rgb(94.9639676113,173.544534413,178.3360323887)}.project-card__view-more{border-radius:9999px;text-wrap:nowrap}.project-card__view-more:hover,.project-card__view-more:focus-visible{cursor:pointer;background:linear-gradient(180deg, rgb(245, 240, 233), 80%, rgba(60, 130, 135, 0.7))}.dark-theme .project-card__view-more:hover,.dark-theme .project-card__view-more:focus-visible{background:linear-gradient(180deg, rgb(28, 17, 10), 60%, rgba(80, 162, 167, 0.7))}.project-card__view-more:focus-visible{outline:2px solid #3c8287}.dark-theme .project-card__view-more:focus-visible{outline:2px solid #50a2a7}@media(hover: none){.project-card__view-more:hover{background:linear-gradient(180deg, rgb(245, 240, 233), 90%, rgba(60, 130, 135, 0.7))}.dark-theme .project-card__view-more:hover{background:linear-gradient(180deg, rgb(28, 17, 10), 90%, rgba(80, 162, 167, 0.7))}}.project-popover__container{display:flex;padding:1rem;opacity:1;color:#281e14}.dark-theme .project-popover__container{color:#e4d6a7}.project-popover__container{height:100%;width:100%}@media(max-width: 815px){.project-popover__container{padding:1rem 0}}.project-popover__content{justify-content:flex-start;align-items:center;text-align:left;min-width:100%;padding-left:1rem}.project-popover__content h4{font-family:Sora,Arial,sans-serif;font-size:1.05rem;font-weight:bold;padding:.5rem 0}.project-popover__links{display:flex;padding:1rem;gap:2rem;flex-wrap:nowrap}.project-popover__links .svgs__container{padding-top:1rem;padding-left:1rem}.project-popover__links .svgs__container .base-svg::after{padding:1.5rem}.project-popover__links .svgs__container .svg-external:focus-visible{padding-top:.5rem;padding-bottom:1rem}@media(max-width: 815px){.project-popover__links{padding:1rem 0;justify-content:space-between}}.project-section__container{line-height:1.5rem;padding-left:1.5rem;padding-bottom:1rem}.project-section__container h5{font-weight:bold;padding:.5rem 0}.project-section__container h6{font-weight:bold;padding:.5rem 0}@media(max-width: 815px){.project-section__container{padding-left:0}}.project-section__main-content{padding:.25rem 0}.project-section__key-points{padding-bottom:.5rem}.project-issues__container{line-height:1.5rem;padding-left:1.5rem;padding-bottom:.5rem}@media(max-width: 815px){.project-issues__container{padding-left:0}}.project-header__container{width:100%;min-width:40%;line-height:2rem;text-align:left;max-width:auto}.project-header__container h2{font-family:Sora,Arial,sans-serif;font-weight:bold;color:#c88c28}.dark-theme .project-header__container h2{color:#e9b44c}.project-header__container h2{border-bottom:3px solid rgba(200,140,40,.5)}.dark-theme .project-header__container h2{border-bottom:3px solid rgba(233,180,76,.5)}.project-header__container{display:flex;flex-direction:column;padding:1.5rem 1.5rem}.project-header__container h2{font-size:1.5rem}@media(max-width: 815px){.project-header__container{padding-left:0}}.project-header__images{display:flex;justify-content:space-between}.project-header__images .project-header__svgs{padding-left:1.5rem}@media(max-width: 815px){.project-header__images{display:flex;justify-content:center;align-items:center;flex-direction:column;padding-bottom:1.5rem}.project-header__images .project-header__svgs{padding-left:0}}.project-header__tagline{font-family:Sora,Arial,sans-serif;padding-left:1rem;font-size:1.1rem;font-style:italic}@media(max-width: 815px){.project-header__tagline{padding-left:0}}.project-header__screen-mock{position:relative;width:24rem;aspect-ratio:16/9;margin:2rem 0;background:rgba(0,0,0,0)}@media(max-width: 815px){.project-header__screen-mock{width:100%}}.project-header__screen-mock::before{content:"";position:absolute;top:0;left:0;width:100%;height:85%;background:#f5f0e9}.dark-theme .project-header__screen-mock::before{background:#1c110a}.project-header__screen-mock::before{border:2px solid rgba(40,30,20,.3)}.dark-theme .project-header__screen-mock::before{border:2px solid rgba(228,214,167,.3)}.project-header__screen-mock::before{border-radius:4px;box-shadow:0 2px 8px rgba(40,30,20,.05)}.dark-theme .project-header__screen-mock::before{box-shadow:0 2px 8px rgba(228,214,167,.05)}.project-header__screen-mock::before{box-shadow:inset 0 1px 0 rgba(245,240,233,.8)}.dark-theme .project-header__screen-mock::before{box-shadow:inset 0 1px 0 rgba(28,17,10,.8)}.project-header__screen-mock::before{overflow:hidden}.project-header__screen-mock::after{content:"";position:absolute;bottom:5%;left:40%;width:20%;height:10%;background:rgba(40,30,20,.2)}.dark-theme .project-header__screen-mock::after{background:rgba(228,214,167,.3)}.project-header__screen-mock::after{clip-path:polygon(0 0, 100% 0, 70% 100%, 30% 100%)}.project-header__screen-mock-content{position:absolute;top:.4rem;left:.4rem;width:calc(100% - .8rem);height:calc(85% - .8rem);border-radius:2px;overflow:hidden;background:rgba(40,30,20,.1)}.dark-theme .project-header__screen-mock-content{background:rgba(228,214,167,.1)}.project-header__screen-mock-content{border:1px solid rgba(40,30,20,.2)}.dark-theme .project-header__screen-mock-content{border:1px solid rgba(228,214,167,.2)}.project-header__screen-mock-stand{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100%;height:15%}.project-header__screen-mock-stand::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:2px;height:60%;background:rgba(40,30,20,.2)}.dark-theme .project-header__screen-mock-stand::before{background:rgba(228,214,167,.2)}.project-header__screen-mock-stand::after{content:"";position:absolute;bottom:0;left:20%;width:60%;height:2px;background:rgba(40,30,20,.2)}.dark-theme .project-header__screen-mock-stand::after{background:rgba(228,214,167,.2)}.project-header__screen-mock-content img{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.project__links{width:100%;font-size:1.2rem;display:flex;flex-wrap:nowrap;gap:2rem}.project__links a:focus-visible{outline:2px solid #c88c28}.dark-theme .project__links a:focus-visible{outline:2px solid #e9b44c}@media(max-width: 815px){.project__links{font-size:1rem}}.hero__wrapper{display:flex;justify-content:center;width:100%;padding:1rem}@media(max-width: 815px){.hero__wrapper{padding:0}}.hero__wrapper{min-height:90vh}.hero__container{width:100%;border-radius:1rem;padding:0 1rem}@media(max-width: 815px){.hero__container{width:100%}}.hero__container{display:flex;justify-content:space-between;align-items:center;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding-bottom:1.5rem}.hero__title{padding-top:.5rem}@media(max-width: 815px){.hero__title{padding-top:0}}.hero__value-prop{padding-left:2rem;padding-bottom:2rem;font-size:2rem;max-width:50ch;color:#3c8287}.dark-theme .hero__value-prop{color:#50a2a7}@media(max-width: 815px){.hero__value-prop{font-size:1.5rem;padding-left:0;padding-bottom:.25rem}}.hero__main-stack{padding-left:2rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero__main-stack .svgs__container{padding-left:1.5rem}@media(max-width: 815px){.hero__main-stack{padding-left:0}.hero__main-stack .svgs__container{padding-left:.5rem}}.hero__main-stack-title{font-family:Sora,Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.15rem;opacity:.75;border-radius:.5rem;box-shadow:0 4px 4px -4px rgba(60,130,135,.3)}.dark-theme .hero__main-stack-title{box-shadow:0 4px 4px -4px rgba(80,162,167,.3)}.hero__main-stack-icons{padding-top:1rem}.hero__main-stack-icons:hover{cursor:pointer}.hero__cta-container{padding-left:2rem}@media(max-width: 815px){.hero__cta-container{padding:0}}.hero__cta{width:fit-content;background-color:#3c8287}.dark-theme .hero__cta{background-color:#50a2a7}.hero__cta{color:#f5f0e9}.dark-theme .hero__cta{color:#1c110a}.hero__cta{transition:background-color ease-in-out .3s;margin-top:2rem;padding:.5rem 1.5rem;font-size:1.5rem;text-align:left;border-radius:9999px}.hero__cta:hover{background-color:#30686c}.dark-theme .hero__cta:hover{background-color:rgb(64,129.6,133.6)}.hero__cta:hover{cursor:pointer}.hero__cta:hover a{text-decoration:none}.hero__cta a:focus-visible{outline:none;text-decoration:none;color:#281e14}.dark-theme .hero__cta a:focus-visible{color:#e9b44c}.hero__cta a:focus-visible{font-style:italic}@media(hover: none){.hero__cta:hover{background-color:#3c8287}.dark-theme .hero__cta:hover{background-color:#50a2a7}}.about__wrapper{display:flex;justify-content:center;width:100%;padding:1rem}@media(max-width: 815px){.about__wrapper{padding:0}}.about__wrapper{padding-top:2rem;padding-left:1.5rem;padding-bottom:0}@media(max-width: 815px){.about__wrapper{padding-left:0}}.about__container{width:100%;border-radius:1rem;padding:0 1rem}@media(max-width: 815px){.about__container{width:100%}}.about__container{text-align:center;padding-bottom:0}.about__header{min-width:40%;line-height:2rem;text-align:left;max-width:auto}.about__header h2{font-family:Sora,Arial,sans-serif;font-weight:bold;color:#c88c28}.dark-theme .about__header h2{color:#e9b44c}.about__header{flex-direction:column;align-items:center}.about__header h2{font-size:2rem}.about__section h3{font-weight:bold}.about__section p{line-height:1.8rem;max-width:80ch;padding-top:.5rem;padding-bottom:1rem;padding-left:.5rem}@media(max-width: 815px){.about__section p{line-height:1.5rem}}.about__content{padding-top:2rem;text-align:left}@media(max-width: 815px){.about__content{padding-top:1.5rem}}.about__projects-disclaimer{padding-top:2rem;padding-left:4rem}.about__projects-disclaimer p{min-width:100ch;font-size:.875rem;font-style:italic}@media(max-width: 815px){.about__projects-disclaimer{padding-left:1rem}.about__projects-disclaimer p{min-width:auto}}.contact__wrapper{display:flex;justify-content:center;width:100%;padding:1rem}@media(max-width: 815px){.contact__wrapper{padding:0}}.contact__wrapper{padding-bottom:6rem;padding-top:2rem}@media(max-width: 815px){.contact__wrapper{padding-top:3rem}}.contact__container{width:100%;border-radius:1rem;padding:0 1rem}@media(max-width: 815px){.contact__container{width:100%}}.contact__container{text-align:left}.contact__header{min-width:40%;line-height:2rem;text-align:left;max-width:auto}.contact__header h2{font-family:Sora,Arial,sans-serif;font-weight:bold;color:#c88c28}.dark-theme .contact__header h2{color:#e9b44c}.contact__header{flex-direction:column;align-items:center}.contact__header h2{font-size:2rem}.contact__links{padding:1.5rem 0;text-align:left;vertical-align:center}.contact__links p{padding:.5rem 0}.contact__links a:focus-visible{padding-top:.25rem;border-radius:2px;outline:2px solid #c88c28}.dark-theme .contact__links a:focus-visible{outline:2px solid #e9b44c}.contact__icon{font-size:1.5rem}.contact__infos{font-style:italic;padding:1.5rem 0}.tech-stack__wrapper{display:flex;justify-content:center;width:100%;padding:1rem}@media(max-width: 815px){.tech-stack__wrapper{padding:0}}.tech-stack__wrapper{margin:.5rem 0}.tech-stack__container{width:70%;border-radius:1rem;padding:0 1rem;box-shadow:0 10px 15px rgba(60,130,135,.1)}.dark-theme .tech-stack__container{box-shadow:0 10px 15px rgba(80,162,167,.1)}@media(max-width: 815px){.tech-stack__container{width:100%}}.tech-stack__header{min-width:40%;line-height:2rem;text-align:left;max-width:auto}.tech-stack__header h2{font-family:Sora,Arial,sans-serif;font-weight:bold;color:#c88c28}.dark-theme .tech-stack__header h2{color:#e9b44c}.tech-stack__header h2{border-bottom:3px solid rgba(60,130,135,.5)}.dark-theme .tech-stack__header h2{border-bottom:3px solid rgba(80,162,167,.5)}.tech-stack__header{display:flex;justify-content:center;align-items:center;justify-content:space-around;padding-top:1.5rem;padding-bottom:1rem}.tech-stack__header h2{font-size:2rem}@media(max-width: 815px){.tech-stack__header{padding-bottom:.25rem}}.tech-stack__badges{gap:1rem;text-wrap:nowrap;padding-bottom:.5rem;font-size:1.1rem}.tech-stack__badges.underline{box-shadow:0 4px 4px -4px rgba(60,130,135,.3)}.dark-theme .tech-stack__badges.underline{box-shadow:0 4px 4px -4px rgba(80,162,167,.3)}.tech-stack__badges{display:flex;justify-content:center;align-items:center;display:flex;flex-direction:column}@media(max-width: 815px){.tech-stack__badges{padding-top:1.5rem;padding-bottom:1rem}}[class*=tech-stack__badges-title]{font-family:Sora,Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.15rem;opacity:.75;border-radius:.5rem;box-shadow:0 4px 4px -4px rgba(60,130,135,.3)}.dark-theme [class*=tech-stack__badges-title]{box-shadow:0 4px 4px -4px rgba(80,162,167,.3)}[class*=tech-stack__badges-title]{min-width:40%;flex-basis:100%;display:flex;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;padding:0 .5rem;padding-top:.5rem}.tech-stack__badges-title-main{font-size:1rem}.tech-stack__badges-title-tools{font-size:.75rem;letter-spacing:.125rem}.tech-stack__icon{font-size:1.4rem}[class*=tech-stack__badge-catalog]{display:flex;justify-self:flex-start}[class*=tech-stack__badge-catalog] .svg-tech-label{font-weight:700;letter-spacing:.15em;opacity:.75;font-style:normal}@media(max-width: 815px){[class*=tech-stack__badge-catalog]>*{flex:1}}@media(max-width: 815px){[class*=tech-stack__badge-catalog]{width:90vw;display:flex;flex-wrap:wrap}}.tech-stack__badge-catalog>*{width:3rem}.tech-stack__badge-catalog .svg-tech-label{font-size:.8rem}.tech-stack__badge-catalog .base-svg::after{padding:1rem}.tech-stack__badge-catalog-tools{padding-bottom:.5rem}.tech-stack__badge-catalog-tools>*{width:3rem}@media(max-width: 815px){.tech-stack__badge-catalog-tools>*{flex-basis:20%}}.tech-stack__badge-catalog-tools .svg-tech-label{font-size:.7rem}.tech-stack__badge-catalog-tools .base-svg::after{padding:.8rem}.not-found__container{display:flex;justify-content:center;align-items:center;display:flex;flex-direction:column}.not-found__content{text-align:center;font-family:Sora,Arial,sans-serif;color:#c84632}.dark-theme .not-found__content{color:#9b2915}.not-found__content{font-size:2rem;font-weight:bold;padding:2rem 0}.not-found__image-container{padding:1.5rem 0}.not-found__image-container img{border-radius:1.5rem;box-shadow:0 4px 6px #281e14}.dark-theme .not-found__image-container img{box-shadow:0 4px 6px #f5f0e9}.not-found__back-btn{background-color:inherit;color:#281e14}.dark-theme .not-found__back-btn{color:#e4d6a7}.not-found__back-btn{font-size:1.5rem;font-style:italic;border-radius:2rem;text-decoration:underline;padding:.5rem 1.5rem;transition:font-size ease .3s}.not-found__back-btn:hover{color:#c84632}.dark-theme .not-found__back-btn:hover{color:#9b2915}.not-found__back-btn:hover{font-size:1.7rem}@media(hover: none){.not-found__back-btn:hover{color:inherit;font-size:1.5rem}}.not-found__back-btn-container{margin-top:2rem;color:#c88c28}.dark-theme .not-found__back-btn-container{color:#e9b44c}