@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--color-background)}a{font-weight:500;color:var(--color-links);text-decoration:inherit}a:hover{color:var(--color-links-hover)}a:focus-visible{outline:3px solid var(--color-links, currentColor);outline-offset:2px}.skip-link{position:absolute;top:0;left:0;z-index:10000;padding:.75rem 1.25rem;margin:.5rem;background:var(--color-background, #fff);color:var(--color-font, #111);border:2px solid var(--color-links, currentColor);border-radius:6px;font-weight:600;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus{clip-path:none;width:auto;height:auto;overflow:visible}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}p{color:var(--color-font)}h1,h2{font-size:3.2em;line-height:1.1}h3{font-size:2.2em;line-height:1.1;font-family:var(--font-h3);color:var(--color-headings)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-button);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-button-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}#root{background-color:var(--color-background)}@media (max-width: 500px){#root{max-width:1280px;margin:0 auto;padding:0;line-height:1.6}a{text-decoration:none}body{width:100%;max-width:100%;margin:0 auto;padding:0}img{max-width:100%;height:auto;display:block;margin:0 auto}}@media (min-width: 501px){#root{max-width:1580px;margin:0 auto;padding:0}}@media (min-width: 1024px){#root{padding:2rem}}header{display:none}@media (min-width: 501px){header{display:flex;background-color:var(--color-header-background)}header .header__content{display:flex;flex-direction:row;align-items:center;gap:2rem;padding-right:1.5rem;width:100%}header .header__content .header__picture{order:0;width:auto;margin-top:2rem;margin-left:2rem;position:relative}header .header__content .header__picture img{width:100%;height:auto;display:block;border-radius:50%;position:relative;padding:.8em;z-index:1;width:250px}header .header__content .header__picture:before{content:"";position:absolute;top:0;left:0;width:250px;height:250px;background-color:var(--color-header-picture-bg);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;z-index:0;box-shadow:0 0 30px rgba(var(--color-header-picture-glow-rgb),.8),0 0 60px rgba(var(--color-header-picture-glow-rgb),.6),0 0 90px rgba(var(--color-header-picture-glow-rgb),.4),0 0 120px rgba(var(--color-header-picture-glow-rgb),.2)}header .header__content .header__name{order:0;display:flex;flex-direction:column;align-items:flex-end;width:100%;margin:0;padding-bottom:.5rem}header .header__content .header__name h1{margin:0;color:var(--color-header-h1);font-size:4em;text-align:right}header .header__content .header__name .header__description{margin-top:.25rem;max-width:18ch;text-align:right;padding-right:1.5rem;color:var(--color-header-h2);min-height:1.5em;font-size:1.5em}}@media (min-width: 1024px){header .header__content{gap:3rem;justify-content:center}header .header__content .header__picture img{padding:1em;width:350px}header .header__content .header__picture:before{width:350px;height:350px}header .header__content .header__name{width:auto}header .header__content .header__name h1{font-size:5em;text-align:right}header .header__content .header__name .header__description{padding-right:1.5rem;font-size:2.5em;min-height:1.5em}}@media (min-width: 1200px){header .header__content{gap:13rem;justify-content:center;align-items:center}header .header__content .header__name{width:auto;flex:0 1 auto}}.hero{display:flex;flex-direction:column;padding:0;margin:2rem auto;max-width:95%}.hero .hero__content{display:flex;flex-direction:column;width:100%}.hero .hero__content .header__intro-mobile{display:flex;flex-direction:column;margin-bottom:2rem;position:relative}.hero .hero__content .header__intro-mobile .header__picture-mobile{position:absolute;top:0;left:0;width:100px;height:100px;z-index:1}.hero .hero__content .header__intro-mobile .header__picture-mobile img{width:100%;height:auto;border-radius:50%;position:relative;z-index:1;padding:.5em}.hero .hero__content .header__intro-mobile .header__picture-mobile:before{content:"";position:absolute;top:0;left:0;width:100px;height:100px;background-color:var(--color-header-picture-bg);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;z-index:0;box-shadow:0 0 30px rgba(var(--color-header-picture-glow-rgb),.8),0 0 60px rgba(var(--color-header-picture-glow-rgb),.6),0 0 90px rgba(var(--color-header-picture-glow-rgb),.4),0 0 120px rgba(var(--color-header-picture-glow-rgb),.2)}.hero .hero__content .header__intro-mobile .header__name-mobile{padding-left:130px;display:flex;flex-direction:column;align-items:flex-end}.hero .hero__content .header__intro-mobile .header__name-mobile h1{margin:0;color:var(--color-header-h1);font-size:3em;text-align:right}.hero .hero__content .header__intro-mobile .header__name-mobile .header__description-mobile{margin-top:.25rem;color:var(--color-header-h2);min-height:1.5em;font-size:1.2em;text-align:right}@media (max-width: 430px){.hero .hero__content .header__intro-mobile .header__name-mobile h1{font-size:2em}}.hero .hero__content .hero__description{width:75%;max-width:75%;margin-left:auto;margin-right:auto;text-align:left;position:relative;padding-left:0;margin-top:1rem}.hero .hero__content .hero__description p{margin-bottom:1em;color:var(--color-hero-font)}.hero .hero__content .hero__picture{margin-top:2rem}.hero .hero__content .hero__picture img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:var(--shadow-default)}@media (min-width: 501px){.hero{padding:.5rem;width:90%;max-width:90%;margin-left:auto;margin-right:auto}.hero .hero__content{flex-direction:row}.hero .hero__content .header__intro-mobile{display:none}.hero .hero__content .hero__description{width:100%;max-width:100%;padding:.2rem .6rem;margin-left:auto;margin-right:auto;text-align:left;box-sizing:border-box}.hero .hero__content .hero__picture{width:100%;box-sizing:border-box;margin-top:0}}.techs{display:flex;flex-direction:column;padding:1.5em;height:fit-content;width:95%;margin:0 auto;background-color:var(--color-tech-background);box-shadow:var(--shadow-default);color:var(--color-tech-font);border-radius:8px}.techs .tech-stack{display:flex;flex-direction:column;gap:1rem;width:100%}.techs .tech-stack__group{margin-bottom:.5rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-start}.techs .tech-stack__title{font-weight:700;margin-right:0;flex-basis:100%}.techs .tech-stack__tech{position:relative;padding:.2rem .6rem;border-radius:.5rem;font-size:1rem;white-space:nowrap;box-shadow:var(--shadow-default);color:var(--color-secondary);background-color:var(--color-tech);border:1px solid var(--color-border);margin-bottom:.2rem;display:inline-flex;align-items:center;justify-content:center}.techs .tech-stack__tech .tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.35rem;padding:.25rem .5rem;background:var(--color-tooltip-bg);color:var(--color-tooltip-text);border-radius:4px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:10;box-shadow:var(--shadow-tooltip)}.techs .tech-stack__tech:hover .tooltip{opacity:1;visibility:visible}.techs .tech-stack__tech--icon{padding:.4rem;background-color:transparent;border:none;box-shadow:none}.techs .tech-stack__tech--icon-light .tech-stack__tech-img{filter:brightness(0) invert(1)}.techs .tech-stack__tech-img{width:2rem;height:2rem;display:block;color:var(--color-secondary);object-fit:contain}.techs .tech-stack__tech-label{display:none}.techs .tech-stack__tech--fallback .tech-stack__tech-label{display:inline}@media (min-width: 501px){.techs{width:90%}.techs .tech-stack__group{align-items:center;margin-bottom:0}.techs .tech-stack__title{margin-right:.5rem;flex-basis:auto}.techs .tech-stack__tech{margin-bottom:0}}.carousel{position:relative;width:100%;min-height:420px;display:flex;flex-direction:column;align-items:center;overflow:visible}.carousel__track{position:relative;width:100%;flex:1;min-height:280px;perspective:1000px}.carousel__rotation{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;overflow:visible;transform-style:preserve-3d;transition:transform .5s ease,visibility 0s .5s;transform-origin:center center;backface-visibility:hidden;visibility:hidden}.carousel__rotation--active{transform:rotateY(0);visibility:visible;z-index:2;transition:transform .5s ease,visibility 0s 0s}.carousel__rotation--prev{transform:rotateY(-90deg);z-index:1}.carousel__rotation--next{transform:rotateY(90deg);z-index:1}.carousel__rotation img{width:100%;height:100%;object-fit:contain;display:block;backface-visibility:hidden;border-radius:8px}.carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--color-border);background:#00000080;color:var(--color-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease;z-index:10}.carousel__btn:hover{background:#000000b3;transform:translateY(-50%) scale(1.05)}.carousel__btn--prev{left:.5rem}.carousel__btn--next{right:.5rem}.carousel__dots{display:flex;justify-content:center;gap:.5rem;flex-shrink:0}.carousel__dot{width:.5rem;height:.5rem;border-radius:50%;border:1px solid var(--color-border);background:transparent;cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease}.carousel__dot:hover{background:#ffffff4d}.carousel__dot--active{background:var(--color-project-headings)}@media (min-width: 501px){.carousel__dots{margin-top:.5rem}}@media (min-width: 1024px){.carousel{height:100%;min-height:0;align-items:stretch;overflow:visible}.carousel__track{flex:1 1 0;min-height:0}}.project-card{display:flex;flex-direction:column;width:95%;margin:2rem auto 0;padding:1rem;border:1px solid var(--shadow-project-border);box-shadow:var(--shadow-project);border-radius:8px;background-color:var(--color-project-background)}.project-card .project-card__content{padding:.5em;display:flex;flex-direction:column}.project-card .project-card__content .project-card__title{color:var(--color-project-headings)}.project-card .project-card__content .project-card__descriptions p{margin-top:1em;color:var(--color-project-font)}.project-card .project-card__content .project-card__images{margin-top:1.5rem;margin-bottom:1.5rem}.project-card .project-card__content .project-card__images .project-card__images-wrapper{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;overflow:visible}.project-card .project-card__content .project-card__images .project-card__images-wrapper:has(.carousel){flex-direction:column;width:100%;min-height:420px}.project-card .project-card__content .project-card__images .project-card__images-wrapper:has(.carousel) .carousel{width:100%;flex:1;min-height:0;overflow:visible}.project-card .project-card__content .project-card__images .project-card__images-wrapper:has(.carousel) .project-card__image{width:100%;height:100%;padding:0;max-height:100%;object-fit:contain}.project-card .project-card__content .project-card__images .project-card__image{width:auto;max-width:100%;max-height:70vh;width:100%;height:auto;display:block;border-radius:8px;object-fit:contain;transition:transform .3s ease;flex:0 1 auto;align-self:center;padding:10px}.project-card .project-card__content .project-card__images video.project-card__image{max-height:70vh;object-fit:contain}.project-card .project-card__content .project-card__techs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1em;margin-top:0}.project-card .project-card__content .project-card__techs .project-card__tech{padding:.2rem .6rem;border-radius:.5rem;font-size:1rem;white-space:nowrap;box-shadow:var(--shadow-default);color:var(--color-secondary);background-color:var(--color-tech);border:1px solid var(--color-border);margin-bottom:.2rem;position:relative}.project-card .project-card__content .project-card__techs .project-card__tech .tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.35rem;padding:.25rem .5rem;background:var(--color-tooltip-bg);color:var(--color-tooltip-text);border-radius:4px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:10;box-shadow:var(--shadow-tooltip)}.project-card .project-card__content .project-card__techs .project-card__tech:hover .tooltip{opacity:1;visibility:visible}.project-card .project-card__content .project-card__techs .project-card__tech.project-card__tech--icon{padding:.3rem .5rem;border:none;box-shadow:none;background:transparent;display:inline-flex;align-items:center;gap:.35rem}.project-card .project-card__content .project-card__techs .project-card__tech.project-card__tech--icon-light .project-card__tech-img{filter:brightness(0) invert(1)}.project-card .project-card__content .project-card__techs .project-card__tech-img{width:2rem;height:2rem;display:block;color:var(--color-secondary);object-fit:contain}.project-card .project-card__content .project-card__techs .project-card__tech-label{display:none}.project-card .project-card__content .project-card__techs .project-card__tech--fallback{padding:.2rem .6rem;border-radius:.5rem;font-size:1rem;white-space:nowrap;box-shadow:var(--shadow-default);color:var(--color-secondary);background-color:var(--color-tech);border:1px solid var(--color-border);margin-bottom:.2rem;padding:.4rem .8rem}.project-card .project-card__content .project-card__techs .project-card__tech--fallback .project-card__tech-label{display:inline}.project-card .project-card__content .project-card__links{display:flex;justify-content:center;align-items:center;gap:1em;margin-top:1rem}.project-card .project-card__content .project-card__links a{padding:.5em 1em;border-radius:8px;transition:background-color .3s ease,transform .3s ease;color:var(--color-project-button-font);background-color:var(--color-project-button);border:1px solid var(--color-project-button-border);box-shadow:var(--shadow-project-button-border)}.project-card .project-card__content .project-card__links a:hover{background-color:var(--color-project-button-hover);color:var(--color-project-button-hover-font);transform:scale(1.05)}@media (min-width: 1024px){.project-card{flex-direction:row;width:min(90%,1200px);margin:6rem auto 0;position:relative;overflow:visible}.project-card .project-card__content{padding:1.5em;flex:0 0 calc(50% - 1rem);min-width:0;overflow:visible}.project-card .project-card__content .project-card__images{position:absolute;left:calc(50% + 1rem);top:50%;transform:translateY(-50%);width:calc(50% - 1rem);margin:0;overflow:visible;z-index:1}.project-card .project-card__content .project-card__images .project-card__images-wrapper{flex-direction:column;overflow:visible;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.project-card .project-card__content .project-card__images .project-card__images-wrapper:has(.carousel){align-items:stretch;justify-content:flex-start;min-height:0}.project-card .project-card__content .project-card__images .project-card__images-wrapper .project-card__image{width:auto;height:auto;max-width:100%;max-height:70vh;object-fit:contain;flex:0 1 auto;min-height:0;position:relative;transition:height .3s ease,max-height .3s ease,transform .3s ease;transform-origin:center center;align-self:center;will-change:transform,max-height,height}.project-card .project-card__content .project-card__images .project-card__images-wrapper video.project-card__image{object-fit:contain}.project-card .project-card__image:hover{height:100vh;max-height:100vh;width:auto;z-index:1000;transform:scale(1.5)}.project-card .project-card__images-wrapper .carousel{overflow:visible}.project-card .project-card__images-wrapper .carousel .carousel__rotation img.project-card__image{width:100%;height:100%;min-height:100%;flex:1 1 0;align-self:stretch;object-fit:contain;border-radius:8px}}@media (max-width: 1023px){.project-card{flex-direction:column;position:static;width:95%;margin:2rem auto 0;padding:1rem}.project-card .project-card__content{flex:none;width:100%;padding:.5em}.project-card .project-card__content .project-card__images{position:relative;left:auto;top:auto;width:auto;margin-top:1.5rem;margin-bottom:1.5rem}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;--font-base: system-ui, Avenir, Helvetica, Arial, sans-serif;--font-h3: system-ui, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--color-header-background: #304050;--color-header-picture-bg: #B2421F;--color-header-picture-glow-rgb: 242, 130, 65;--color-header-h1: #B2421F;--color-header-h2: #D87D64;--color-hero-font: #F4B7AB;--color-tech-font: #F4B7AB;--color-tech: #304050;--color-tech-background: #304050;--color-tooltip-bg: #2d2d2d;--color-tooltip-text: #f2e9e4;--shadow-tooltip: 4px 4px 4px 0px #4a4e69;--color-project-headings: #D87D64;--color-project-font: #F4B7AB;--color-project-background: #263747;--shadow-project-border: #B2421F;--shadow-project: 0 2px 12px rgba(178, 66, 31, .7), 0 -4px 8px rgba(178, 66, 31, .5), 0 4px 12px rgba(178, 66, 31, .3), 0 8px 24px rgba(178, 66, 31, .25);--color-project-tech: #304050;--color-project-tech-font: #f2e9e4;--shadow-project-button-border: 4px 4px 4px 0px #F4B7AB;--color-project-button: #BF533B;--color-project-button-font: #ffffff;--color-project-button-border: #BF533B;--color-project-button-hover: #D87D64;--color-project-button-hover-font: #ffffff;--color-footer-background: #304050;--color-footer-font: #F4B7AB;--color-footer-font-hover-color: #D87D64;--color-footer-btn-border: #F4B7AB;--color-footer-btn-color: #F4B7AB;--color-footer-btn-hover-bg: #D87D64;--color-footer-btn-hover-color: #304050;--color-background: #304050;--color-secondary: #f2e9e4;--color-headings: #BF533B;--color-headings-secondary: #bb5823;--color-button: #BF533B;--color-button-hover: #590823;--color-button-light: #f9f9f9;--color-button-font: #ffffff;--color-links: #22223b;--color-links-hover: #f2e9e4;--color-links-rgb: 34, 34, 59;--shadow-default: 4px 4px 4px 0px #B2421F;--color-border: #B2421F;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.footer{width:90%;background-color:var(--color-footer-background);color:var(--color-footer-font);padding:4rem 2rem;text-align:center;position:relative;overflow:hidden;margin:2rem auto 0;border-radius:8px}.footer .footer__top{margin-bottom:3rem}.footer .footer__top .footer__question{font-size:.9rem;text-transform:uppercase;margin-bottom:1rem;color:var(--color-footer-font)}.footer .footer__top .footer__big-text{font-size:4rem;font-weight:900;letter-spacing:2px;color:var(--color-footer-font);margin-bottom:2.5rem;display:inline-block;transition:transform .3s ease,color .3s ease}.footer .footer__top .footer__big-text:hover{color:var(--color-footer-font-hover-color);transform:scale(1.1)}.footer .footer__top .footer__buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1em;gap:1.2rem}.footer .footer__top .footer__buttons .footer__btn{padding:.8rem 1.6rem;border:1px solid var(--color-footer-btn-border);border-radius:50px;font-size:.9rem;text-decoration:none;color:var(--color-footer-btn-color);transition:all .3s ease}.footer .footer__top .footer__buttons .footer__btn:hover{background-color:var(--color-footer-btn-hover-bg);border-color:var(--color-footer-btn-hover-bg);color:var(--color-footer-btn-hover-color)}.footer .footer__top .footer__buttons .footer__btn--reveal{max-width:min(100%,22rem)}.footer .footer__top .footer__buttons .footer__btn--reveal .footer__btn-value{display:none;font-size:.85rem;line-height:1.35;word-break:break-word}.footer .footer__top .footer__buttons .footer__btn--reveal:hover .footer__btn-label,.footer .footer__top .footer__buttons .footer__btn--reveal:focus-visible .footer__btn-label{display:none}.footer .footer__top .footer__buttons .footer__btn--reveal:hover .footer__btn-value,.footer .footer__top .footer__buttons .footer__btn--reveal:focus-visible .footer__btn-value{display:inline}.footer .footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;max-width:1200px;margin:0 auto;font-size:.85rem}.footer .footer__bottom .footer__copy{opacity:.7;color:var(--color-footer-font)}.footer .footer__bottom .footer__backtotop{text-decoration:none;font-weight:700;color:var(--color-footer-font);transition:transform .3s ease}.footer .footer__bottom .footer__backtotop:hover{transform:scale(1.1)}
