@charset "UTF-8";@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}*,*:before,*:after{margin:0;padding:0;border:0;box-sizing:border-box;vertical-align:baseline}*:before,*:after{display:block}img,picture{max-width:100%;width:100%;height:auto;display:block;object-fit:cover;object-position:center center}a{display:block;text-decoration:none;color:inherit;font-size:inherit}p a{display:inline}li{list-style-type:none}h1,h2,h3,h4,p,span,a,strong{font-size:inherit;font-weight:inherit;font-style:inherit;text-decoration:none;color:inherit}q:before,q:after{content:"";content:none}form,input,textarea,button,label{font-family:inherit;font-size:inherit;-webkit-hyphens:auto;hyphens:auto;background-color:transparent;color:inherit;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none}table,tr,td{border-collapse:collapse;border-spacing:0}svg{width:100%;display:block;fill:currentColor}body{min-height:100vh;font-smooth:always;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-primary-400{color:#00bceb}.bg-secondary-400{background-color:#00344d}.text-neutral-400{color:#555b5e}.text-accent-400{color:#ebeb00}@font-face{font-family:Source Sans Pro;src:local("Helvetica"),local("Source Sans Pro");src:url(/assets/SourceSansPro-Light-Dh0jQCTv.woff) format("woff");font-weight:300;font-display:swap}@font-face{font-family:Source Sans Pro;src:local("Helvetica"),local("Source Sans Pro");src:url(/assets/SourceSansPro-Regular-BkyuKgOE.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Source Sans Pro;src:local("Helvetica"),local("Source Sans Pro");src:url(/assets/SourceSansPro-SemiBold-BcalJDLX.woff) format("woff");font-weight:600;font-display:swap}@font-face{font-family:Source Sans Pro;src:local("Helvetica"),local("Source Sans Pro");src:url(/assets/SourceSansPro-Bold-CdLxOoue.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:Source Sans Pro;src:local("Helvetica"),local("Source Sans Pro");src:url(/assets/SourceSansPro-Black-Cf0nmUAE.woff) format("woff");font-weight:900;font-display:swap}.fs-200{font-size:.925rem}.fs-300{font-size:1rem}.fs-400{font-size:1.25rem}@media (min-width: 40em){.fs-200{font-size:1.125rem}.fs-300{font-size:1.175rem}.fs-400{font-size:1.25rem}}.fw-regular{font-weight:400}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}:root{--clr-primary-100: hsla(192, 100%, 46%, .2);--clr-primary-200: hsla(192, 100%, 46%, .5);--clr-primary-300: hsla(192, 100%, 46%, .95);--clr-primary-400: hsl(192, 100%, 46%);--clr-primary-600: hsl(192, 100%, 27%);--clr-primary-800: hsl(192, 100%, 16%);--clr-primary-900: hsl(192, 100%, 8%);--clr-secondary-400: hsl(199, 100%, 15%);--clr-secondary-500: hsla(199, 100%, 6%, .5);--clr-secondary-900: hsla(199, 100%, 6%, .75);--clr-secondary-950: hsla(199, 100%, 6%, .9);--clr-neutral-100: hsl(199, 5%, 95%);--clr-neutral-150: hsl(199, 5%, 90%);--clr-neutral-200: hsl(199, 5%, 83%);--clr-neutral-300: hsl(199, 5%, 50%);--clr-neutral-400: hsl(199, 5%, 35%);--clr-neutral-600: hsl(199, 5%, 17%);--clr-neutral-900: hsl(199, 5%, 10%);--clr-accent-100: hsla(60, 100%, 46%, .2);--clr-accent-200: hsla(60, 100%, 46%, .5);--clr-accent-300: hsla(60, 100%, 46%, .95);--clr-accent-400: hsl(60, 100%, 46%);--clr-accent-600: hsl(60, 100%, 27%);--clr-accent-800: hsl(60, 100%, 16%);--clr-accent-900: hsl(60, 100%, 8%);--fw-light: 300;--fw-regular: 400;--fw-semibold: 600;--fw-bold: 700;--fw-bolder: 900;--font-family: Source Sans Pro, sans-serif;--ff-body: var(--font-family);--ff-heading: var(--font-family);--fs-100: .875rem;--fs-200: .925rem;--fs-300: 1rem;--fs-400: 1.25rem;--fs-500: 1.5rem;--fs-600: 1.75rem;--fs-800: 3rem}@media (min-width: 40em){:root{--fs-100: 1rem;--fs-200: 1.125rem;--fs-300: 1.175rem;--fs-400: 1.25rem;--fs-500: 1.875rem;--fs-600: 2.5rem;--fs-800: 5rem}}body{height:100vh;overflow:hidden;margin:0;font-family:var(--ff-body);font-weight:var(--fw-light);font-size:var(--fs-300);color:var(--clr-neutral-100);background:var(--clr-secondary-400);-webkit-text-size-adjust:100%}#app{height:100vh}.app{height:100%;position:relative;overflow-x:hidden;overflow-y:auto;scroll-padding-top:40px;scroll-behavior:smooth}.app.menu-open{position:fixed;overflow:hidden}::selection{background-color:var(--clr-primary-400);color:var(--clr-neutral-200)}h1{font-weight:var(--fw-bolder);line-height:1;width:fit-content;font-size:var(--fs-800);background-image:linear-gradient(170deg,var(--clr-accent-400) 0%,var(--clr-primary-400) 70%);background-clip:text;-webkit-background-clip:text;color:transparent}h2{font-size:var(--fs-600);color:var(--clr-neutral-100);font-weight:var(--fw-bolder);line-height:1}h3{font-size:var(--fs-500);color:var(--clr-neutral-100);font-weight:var(--fw-bolder);line-height:1}h4{font-size:var(--fs-400);color:var(--clr-neutral-100);font-weight:var(--fw-bolder);line-height:1}strong{font-weight:600}ul{list-style:none}.bg-motive{position:absolute;z-index:-1;width:90%;max-width:18.5rem}.bg-motive.first{left:50%;top:0;width:90%}@media (min-width: 40em){.bg-motive.first{left:50%;max-width:27.75rem}}@media (min-width: 65em){.bg-motive.first{left:calc(50% + 21rem);max-width:30rem}}@media (min-width: 90em){.bg-motive.first{left:calc(50% + 23.1796875rem + 1rem);max-width:34.76953125rem}}.bg-motive.second{transform:scale(-1) translate(100%);top:150%;left:50%}@media (min-width: 40em){.bg-motive.second{top:100%;left:50%;max-width:27.75rem}}@media (min-width: 65em){.bg-motive.second{left:calc(50% - 21rem);max-width:30rem}}@media (min-width: 90em){.bg-motive.second{left:calc(50% - 23.1796875rem - 1rem);max-width:34.76953125rem}}section{margin-block:2rem}.header{--animation-time: .25s;--animation-after: .45s;--animation-easing: cubic-bezier(.53, 0, .13, .99);display:flex;align-items:center;position:sticky;top:-1px;z-index:99;padding-inline:1rem;isolation:isolate;height:45px;padding-top:1rem;transition:all var(--animation-time) var(--animation-easing)}.header__brand{font-size:var(--fs-400);transition:all var(--animation-time) var(--animation-easing)}.header__brand img{transition:all var(--animation-time) var(--animation-easing);width:clamp(30px,5vw,38px);height:auto}.header.sticky{padding-top:0}.header.sticky:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--clr-secondary-900);z-index:-1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.header.sticky .header__brand{font-size:1rem}.header.sticky .header__brand img{width:28px;height:auto}@media (min-width: 40em){.header.sticky .header__nav{font-size:1rem}}@media (min-width: 40em){.header.sticky .social-links svg{max-width:20px}}.header.sticky .menu-btn svg{width:26px}.header__nav{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:3rem;font-weight:var(--fw-regular);font-size:var(--fs-200);transition:font-size .3s ease-in-out}.header__nav .social-links{color:var(--clr-neutral-100)}.header__nav .social-links svg{transition:all var(--animation-time) var(--animation-easing);max-width:25px}@media (max-width: 39.9375em){.header__nav{translate:-100% 0;transition:all var(--animation-time) var(--animation-easing);position:absolute;top:0;right:0;bottom:0;left:0;max-width:75%;min-height:100vh;background:var(--clr-primary-200);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;font-size:1.75rem;font-weight:var(--fw-regular);display:flex;justify-content:center;flex-direction:column;gap:3rem;clip-path:polygon(0 0,75% 0,100% 10%,100% 100%,0 100%,0 100%)}.header__nav .nav-link,.header__nav .social-links{transition:all var(--animation-after) var(--animation-easing);translate:-100% 0}.header__nav.open{translate:0 0}.header__nav.open .nav-link,.header__nav.open .social-links{translate:10% 0}}.header .actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem}.header .menu-btn{--button-color: var(--clr-primary-400);display:none;padding:0;cursor:pointer;background:transparent;border:1px solid var(--button-color, #fff)}@media (max-width: 39.9375em){.header .menu-btn{display:block}}.header .menu-btn svg{fill:var(--button-color, #fff);width:30px;aspect-ratio:1}.header .menu-btn .line{transition:y var(--animation-time) var(--animation-easing) var(--animation-time),rotate var(--animation-time) var(--animation-easing),opacity 0ms var(--animation-time);transform-origin:center}.container{width:100%;max-width:100%;margin-inline:auto}@media (min-width: 40em){.container{max-width:37rem}}@media (min-width: 65em){.container{max-width:57.5rem}}@media (min-width: 90em){.container{max-width:75rem}}.inner-container{max-width:100%;margin-inline:auto}@media (min-width: 40em){.inner-container{max-width:37rem}}@media (min-width: 65em){.inner-container{max-width:40rem}}@media (min-width: 90em){.inner-container{max-width:46.359375rem}}.hero{position:relative;padding-block:4rem;display:grid;place-items:center}.hero__title{font-size:var(--fs-800);line-height:1;font-weight:var(--fw-bolder);position:relative}.hero__title:before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:red;z-index:-1}.hero__subtitle{line-height:1;font-size:var(--fs-500);color:var(--clr-neutral-100)}.hero__desc{text-wrap:balance}.hero .shifter-container{position:relative;min-height:4em;min-width:5vw;z-index:-1;overflow:hidden}.hero .shifter-container .shifter{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end}.btn{--h1: 58;--s1: 60%;--l1: 46%;--a1: 1;--h2: 192;--s2: 100%;--l2: 46%;--a2: 1;--clr-h: 261;--clr-s: 80%;--clr-l: 57%;--clr-a: 1;--border: 2px;--border-radius: 0;--grad: linear-gradient( to right bottom, hsla(var(--h1), var(--s1), var(--l1), var(--a1)), hsla(var(--h2), var(--s2), var(--l2), var(--a2)) );--clr: hsla(var(--clr-h), var(--clr-s), var(--clr-l), var(--clr-a));display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:1em 1.5em;font-family:inherit;font-size:1rem;position:relative;border:none;border-radius:var(--border-radius);cursor:pointer}.btn:focus-visible{outline:none}.btn{--full: linear-gradient(red 0 0);--border: 3px;position:relative;display:inline-flex;background:var(--grad) border-box;color:transparent;border:var(--border) solid transparent;-webkit-background-clip:text;background-clip:text;box-shadow:0 0 15px #ffffff4d;transition:all .15s ease-in;z-index:1;white-space:nowrap}.btn:after{position:absolute;inset:calc(var(--border) * -1);border:inherit;border-radius:inherit;background:inherit;background-clip:border-box;-webkit-mask:var(--full) padding-box,var(--full);-webkit-mask-composite:xor;mask-composite:xor;mask:var(--full) padding-box exclude,var(--full);content:""}.btn:hover,.btn:focus-visible{color:#fff;outline:none}.btn:before{content:"";position:absolute;inset:calc(var(--border) * -1);background:var(--grad) border-box;border-radius:var(--border-radius);z-index:-1;clip-path:circle(10%);transition:all .15s ease-out;opacity:0}.btn:hover:before,.btn:focus-visible:before{opacity:1;clip-path:circle(100%)}.btn-big{padding-inline:20px;padding-block:10px;font-size:var(--fs-200);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:1px;cursor:pointer}.btn-small{--border: 2px;padding-inline:10px;padding-block:3px;font-size:var(--fs-100);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:1px;cursor:pointer}.about-me>.inner-container{display:grid}@media (min-width: 65em){.about-me>.inner-container{grid-template-columns:5fr 3fr;grid-template-rows:auto 1fr;align-items:top;gap:1rem}}.about-me__title{grid-column:1/-1}.about-me__image-wrapper{aspect-ratio:1.0397;max-width:277px;align-self:top;margin-inline:auto}.experience{--size: clamp(1.5rem, 5vw, 3rem);--fx: 1.2;--top-fix: 6px}.experience__timeline-wrapper{border:1px solid var(--clr-primary-400);padding-inline:calc(var(--size) * .5)}.experience__list{padding-inline-start:calc(var(--size) * var(--fx))}.experience__item{position:relative;display:grid;align-items:center;gap:1rem;padding-block-end:3rem}.experience__item:first-child:before{background-color:var(--clr-primary-200);box-shadow:0 0 4px var(--clr-primary-200)}.experience__item:after,.experience__item:before{content:"";position:absolute;left:0}.experience__item:before{top:var(--top-fix);border-radius:100vw;border:1px solid var(--clr-primary-400);height:calc(var(--size) / 2);aspect-ratio:1;transform:translate(calc(var(--size) * var(--fx) * -1))}.experience__item:after{top:calc(var(--size) / 2 + var(--top-fix));bottom:calc(var(--top-fix) * -1);background-color:var(--clr-primary-400);width:1px;transform:translate(calc(var(--size) * var(--fx) * -1 + var(--size) / 4))}.experience__item:last-child:after{bottom:0}.experience__item h4{font-size:clamp(1.25rem,10vw,1.375rem);font-weight:900;color:var(--clr-accent-300)}.experience__item .subtitle{font-style:italic;font-size:clamp(1rem,6vw,1.125rem);font-weight:400;opacity:.7}.experience__item .date{font-size:clamp(1rem,6vw,1.3rem);text-align:right}.experience__item .desc{grid-column:1/3;-webkit-hyphens:none;hyphens:none}@media (min-width: 40em){.experience__item{grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:calc(var(--size) / 2)}.experience__item .head{grid-column:1/2}.experience__item .date{font-weight:400;grid-column:2/3}.experience__item .desc{grid-column:1/2}}.projects__item{display:grid;column-gap:1.25rem}.projects__item .img-container{grid-row:3/4}.projects__item .subtitle{font-style:italic}@media (min-width: 65em){.projects__item{grid-template-columns:minmax(150px,1fr) 1fr;grid-template-rows:repeat(3,auto)}}@media (min-width: 65em){.projects__item:nth-of-type(1){grid-template-columns:minmax(150px,270px) 1fr}.projects__item:nth-of-type(1) .img-container{grid-row:1/4}}@media (min-width: 65em){.projects__item:nth-of-type(2){grid-template-columns:1fr minmax(150px,270px)}.projects__item:nth-of-type(2) .img-container{grid-column:2/3;grid-row:1/4}}@media (min-width: 65em){.projects__item:nth-of-type(3){grid-template-columns:minmax(150px,270px) 1fr}.projects__item:nth-of-type(3) .img-container{grid-row:1/4}}.other-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:minmax(200px,auto);gap:1rem}.other-projects .project{isolation:isolate;width:100%;display:flex;flex-direction:column}.other-projects .img-container{position:relative;flex:1 1 auto;display:flex;width:100%;aspect-ratio:1/1}.other-projects .img-container img{width:100%;height:100%;object-fit:cover;object-position:top center}.other-projects .project-info{flex:1 1 auto;background:#00344d;background:linear-gradient(180deg,var(--clr-secondary-500) 0%,var(--clr-secondary-950) 100%);padding:1rem;transition:transform .3s ease-in-out}.other-projects .project-info svg{width:auto}.other-projects .project-info .subtitle{font-style:italic}.other-projects .project-info a{color:var(--clr-primary-400)}.floating-cta{--right: 0px;--bottom: 0px;position:fixed;bottom:var(--bottom);left:var(--right);transform:translate(-100%);background-color:var(--clr-secondary-400)}@media (min-width: 40em){.floating-cta .hero__cta{background-color:transparent}}.floating-cta.is-mobile{bottom:unset;left:unset;position:relative;transform:translate(0)}footer{min-height:6rem;background-color:var(--clr-primary-900);display:flex}.d-flex{display:flex}.flex-column{flex-direction:column}.justify-center{justify-content:center}.justify-space-between{justify-content:space-between}.align-center{align-items:center}@media (min-width: 40em){.flex-s-row{flex-direction:row}}.order-0{order:0}@media (min-width: 65em){.order-m-0{order:0}}.order-1{order:1}@media (min-width: 65em){.order-m-1{order:1}}.gap-2{gap:.5rem}.gap-4{gap:1rem}@media (min-width: 40em){.gap-s-4{gap:1rem}}.gap-8{gap:2rem}@media (min-width: 65em){.mb-m-0{margin-bottom:0rem}}@media (min-width: 40em){.px-s-0{padding-left:0rem;padding-right:0rem}}.mt-2{margin-top:.5rem}.pa-4{padding:1rem}.mb-4{margin-bottom:1rem}@media (min-width: 65em){.mr-m-4{margin-right:1rem}}.mt-5{margin-top:1.25rem}.pt-5{padding-top:1.25rem}.mb-5{margin-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}@media (min-width: 65em){.mb-m-8{margin-bottom:2rem}}@media (min-width: 40em){.mb-s-8{margin-bottom:2rem}}.mb-10{margin-bottom:2.5rem}@media (min-width: 40em){.mb-s-10{margin-bottom:2.5rem}}@media (min-width: 90em){.mb-l-12{margin-bottom:3rem}}.mt-20{margin-top:5rem}.py-20{padding-top:5rem;padding-bottom:5rem}@media (min-width: 65em){.mb-m-20{margin-bottom:5rem}}@media (min-width: 40em){.mb-s-20{margin-bottom:5rem}}@media (min-width: 40em){.py-s-30{padding-top:7.5rem;padding-bottom:7.5rem}}
