*,*:before,*:after{box-sizing:border-box}html{text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentcolor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:root{--accent-color: #ff5050;--light-mode-background: white;--body-color: black;--header-color: black;--footer-color: white;--button-color: white;--button-background-color: var(--accent-color);--hero-background-color: var(--light-mode-background);--project-background-color: var(--light-mode-background);--project-image-border-color: lightgray;--card-color: black;--card-background-color: var(--light-mode-background);--card-border-color: black;--input-background-color: white;--input-border-color: black;--overlay: linear-gradient(to bottom, white 0%, white 65%, gray 100%)}@media (prefers-color-scheme: dark){:root{--dark-mode-background: #292c2e;--body-color: white;--header-color: white;--footer-color: white;--hero-background-color: var(--dark-mode-background);--project-background-color: var(--dark-mode-background);--project-image-border-color: gray;--card-color: white;--card-background-color: var(--dark-mode-background);--card-border-color: gray;--input-background-color: gray;--input-border-color: #35393b;--overlay: linear-gradient( to bottom, rgb(0 0 0 / 60%) 0%, rgb(0 0 0 / 60%) 65%, rgb(0 0 0 / 80%) 82% )}}body{font-family:Avenir,Montserrat,Corbel,URW Gothic,source-sans-pro,sans-serif;color:var(--body-color);background:var(--overlay) no-repeat center top fixed,url(/background.webp) no-repeat center top fixed;background-size:cover;background-blend-mode:multiply;-webkit-font-smoothing:antialiased}.main-wrapper{display:grid;grid-template-rows:4em 1fr 4em;height:100dvb;margin-inline:auto}header{display:flex;align-items:center;justify-content:space-between;padding-inline:1.5em;font-weight:500;color:var(--header-color)}.logo{height:2.5em;width:2.5em}.logo img{aspect-ratio:1 / 1}.nav{display:flex;gap:1em;list-style-type:none}footer{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;padding-inline:1.5em;color:var(--footer-color)}header a,footer a{text-decoration:none}header a:hover,footer a:hover{text-decoration:underline}main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5em}h1{margin-block-end:.75em}h2{margin-block-end:.5em}.hero{padding:1.2em;background-color:var(--hero-background-color);border-radius:4px;opacity:.9}.hero h1{margin-block-end:.5em}.hero h2{font-weight:500;margin-block-end:.75em}.hero p{margin-block-end:2em}.link{color:var(--accent-color)}button,.button{display:inline-block;padding:.5em 1em;font-weight:700;border:none;border-radius:4px;text-decoration:none;color:var(--button-color);background-color:var(--button-background-color);cursor:pointer}.projects-main{align-items:center;justify-content:start;padding-block:.5em}.projects-list-container{height:100%;display:flex;align-items:center}.projects-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2em}.project{display:grid;grid-template-rows:auto 1fr auto;padding:1.2em;border-radius:4px;background-color:var(--project-background-color)}.project p{margin-block-end:1.2em}.project img{border:1px solid var(--project-image-border-color);aspect-ratio:6 / 4}.project-details{display:flex;flex-direction:column;justify-content:space-between}.project-actions{display:flex;margin-block-start:1.2em}.experience-main{align-items:center;justify-content:start;padding-block:.5em}.contact,.message{padding:1.2em;min-width:20em;max-width:40em;background-color:var(--project-background-color);border-radius:4px}.contact label{margin-block-end:.5em}.contact p{margin-block-end:1.2em}.contact-form-field{display:flex;flex-direction:column}input,textarea{background-color:var(--input-background-color);border:1px solid var(--input-border-color);border-radius:4px;padding:.3em}*:focus-visible{outline:1px solid var(--accent-color)}.message-icon{display:flex;align-items:center;justify-content:center}.message-icon svg{height:12em;width:12em;fill:var(--accent-color)}@media screen and (width <= 768px){.hero{width:unset}.projects-list{display:flex;flex-direction:column}.projects-main,.experience-main{padding-block-end:1.5em}}.timeline{position:relative;width:42em;padding-inline:0;list-style-type:none;display:flex;flex-direction:column;align-items:start;gap:1em}.timeline:before{position:absolute;left:50%;top:1em;content:" ";display:block;width:.4em;height:103%;margin-left:-.2em;background:linear-gradient(to bottom,#000 0% 92%,#3c3c3c00);z-index:-1}.card{position:relative;width:300px;color:var(--card-color);border:1px solid var(--card-border-color);background-color:var(--card-background-color)}.card.right{align-self:end}.card-header{border-block-end:1px solid var(--card-border-color);padding:.4em .6em;display:flex;align-items:center;justify-content:space-between;line-height:1em}.card.left .card-header{flex-direction:row-reverse}.card-title{font-weight:700}.card-header:before{position:absolute;right:calc(-3em - 1px);content:" ";display:block;width:1.5em;height:1.5em;background:var(--card-background-color);border-radius:2em;border:4px solid var(--accent-color);z-index:1000}.card.right .card-header:before{left:calc(-3em - 1px)}.card-dates{font-size:.7em}.card-description{padding:.75em;font-size:.8em;text-align:left}.card.left .card-description{text-align:right}@media screen and (width <= 768px){.timeline{width:100%;align-items:center;gap:3.5em}.card{top:2em}.card.right{align-self:center}.card.right .card-header,.card.left .card-header{flex-direction:row}.card.right .card-header:before,.card.left .card-header:before{top:-2em;left:calc(50% - .75em)}.card.right .card-description,.card.left .card-description{text-align:center}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
