header[data-v-88ecdc77]{background-image:url(/assets/header-1-dark-B50tnO5h.jpg);background-size:cover;border-block-end:1px solid #0004;min-height:100px;margin:0;box-shadow:0 3px 1rem 1rem #0003}header .container[data-v-88ecdc77]{grid-template-columns:auto auto;justify-content:space-between;align-items:center;display:grid}.brand[data-v-88ecdc77]{align-items:center;gap:1em;display:flex}.brand a[data-v-88ecdc77]{margin:0;padding:0;text-decoration:none;transition:transform .15s ease-out}.brand a img[data-v-88ecdc77]{display:block}.brand a h1[data-v-88ecdc77]{margin:0;font-size:1.2rem}.brand a h1.header-text-wide[data-v-88ecdc77]{display:none}.brand a h1.header-text-narrow[data-v-88ecdc77]{display:block}.brand a[data-v-88ecdc77]:hover,.brand a[data-v-88ecdc77]:focus-within{transform:scale(1.1)}#logo-main[data-v-88ecdc77]{aspect-ratio:1;width:clamp(75px,25px + 4vw,125px)}@media (width>=768px){.brand[data-v-88ecdc77]{gap:1.2em}.brand a h1[data-v-88ecdc77]{font-size:revert}.brand a h1.header-text-wide[data-v-88ecdc77]{display:block}.brand a h1.header-text-narrow[data-v-88ecdc77]{display:none}}footer[data-v-81f300e0]{text-align:center;color:var(--lightningcss-light,#1e1e1e)var(--lightningcss-dark,#ccc);background-color:var(--lightningcss-light,#e0e0e5)var(--lightningcss-dark,#1a1a1a);background-image:linear-gradient(#c0c0c410,#c0c0c408);border-block-start:1px solid #fff3;justify-content:center;gap:.5rem;padding:3rem;display:grid;box-shadow:0 -3px 3rem 1rem #ffffff10}.brand a img[data-v-81f300e0]{transition:transform .15s ease-out}.brand a img[data-v-81f300e0]:hover,.brand a img[data-v-81f300e0]:focus-within{transform:scale(1.1)}#logo-main[data-v-81f300e0]{aspect-ratio:1;width:clamp(50px,25px + 3vw,100px)}ul[data-v-f1d8be0c]{flex-direction:column;gap:1em;padding:0;list-style:none;display:flex;position:relative}ul li[data-v-f1d8be0c]{text-transform:uppercase;letter-spacing:var(--letterspace-medium)}ul li a[data-v-f1d8be0c]{align-items:center;gap:.5rem;display:flex}svg[data-v-f1d8be0c]{fill:#fff;width:1em}.project[data-v-53c52a88]{border-radius:var(--border-radius);background-color:var(--lightningcss-light,#fcfcfc)var(--lightningcss-dark,var(--color-bg-light));border:2px solid var(--color-bg);flex-basis:325px;padding:1em}@media (width>=768px){.project[data-v-53c52a88]{flex-basis:450px}}.project h3[data-v-53c52a88]{margin-top:0}.project .image-container[data-v-53c52a88]{z-index:2;border-radius:var(--border-radius);transition:transform .5s ease-in-out,box-shadow .5s ease-in-out;position:relative;overflow:hidden;box-shadow:0 0 var(--lightningcss-light,#0005)var(--lightningcss-dark,#000),0 0 var(--lightningcss-light,#0002)var(--lightningcss-dark,#0008)}.project .image-container img[data-v-53c52a88]{z-index:3;filter:grayscale();width:100%;transition:filter .5s ease-out;display:block}.project .tech[data-v-53c52a88]{z-index:1;justify-content:flex-end;gap:1ch;transition:transform .5s ease-in .25s;display:flex;position:relative;transform:translateY(-160%)}.project:hover .image-container[data-v-53c52a88]{transition:transform 1s ease-in-out,box-shadow 1s ease-in-out;transform:scale(1.05)rotate(.5deg);box-shadow:2px 6px 12px var(--lightningcss-light,#0005)var(--lightningcss-dark,#000),1.5px 3px 6px var(--lightningcss-light,#0002)var(--lightningcss-dark,#0008)}.project:hover .image-container img[data-v-53c52a88]{filter:grayscale(0);transition:filter .15s ease-out}.project:hover .tech[data-v-53c52a88]{transition:transform .25s ease-out;transform:translateY(65%)}main[data-v-2434b4b7]{grid-template-columns:1fr;grid-template-areas:"content""projects""contact""social";gap:1em;display:grid}main #section[data-v-2434b4b7]{grid-area:content}main #contact[data-v-2434b4b7]{grid-area:contact}main aside[data-v-2434b4b7]{grid-area:social}main #projects[data-v-2434b4b7]{grid-area:projects}main .projects[data-v-2434b4b7]{flex-wrap:wrap;justify-content:center;gap:1em;display:flex}@media (width>=768px){main[data-v-2434b4b7]{grid-template-columns:1fr auto;grid-template-areas:"content social""projects projects""contact contact"}}.test-add[data-v-c681c198]{color:var(--v1c7aff04);border-color:oklch(from currentColor l c h / .8);background-color:oklch(from currentColor l c h / .05)}:root{--color-bg-light:#333;--color-brand:#0f0;--color-accent:var(--color-brand);--color-accent-dark:#090;--color-primary:#007be6;--color-primary-dark:#0062cc;--color-primary-semi-opaque:#007be640;--color-primary-transparent:#007be600;--color-primary-shadow:#004c8f;--color-danger:var(--lightningcss-light,#8b0000)var(--lightningcss-dark,#8b0000);--ratio:2.5;--spacing:1ch;--spacing-button:var(--spacing);--spacing-button-x:calc(var(--spacing-button) * var(--ratio));--border-radius:10px;--border-radius-sm:calc(var(--border-radius) / var(--ratio));--border-radius-lg:calc(var(--border-radius) * var(--ratio));--letterspace-narrow:.05em;--letterspace-medium:.075em;--letterspace-wide:.125em;--letterspace-x-wide:.2em;--bs-soft:0 10px 15px -10px #0003, 0 1px 2px #0003}#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}h1{letter-spacing:var(--letterspace-x-wide)}h2{opacity:.9;letter-spacing:var(--letterspace-wide)}h3{opacity:.8;letter-spacing:var(--letterspace-medium);font-weight:500}h4{opacity:.8;letter-spacing:var(--letterspace-narrow)}p{opacity:.75;max-width:70ch;letter-spacing:var(--letterspace-narrow)}p,ul{line-height:1.6}a{color:inherit;-webkit-text-decoration-color:var(--color-primary-dark);text-decoration-color:var(--color-primary-dark);text-underline-offset:2px;transition:text-decoration-color .5s ease-out}a:is(:hover,:focus-within){-webkit-text-decoration-color:var(--color-fg);text-decoration-color:var(--color-fg);transition:text-decoration-color .15s ease-out}button{cursor:pointer;color:inherit;background-color:var(--color-bg);border:1px solid var(--color-bg-light);padding:.6rem 1rem}button:hover,button:focus-visible{border:1px solid var(--color-fg)}.btn{text-transform:uppercase;letter-spacing:var(--letterspace-medium,1px);color:var(--color-fg);border-radius:var(--border-radius-sm);background-color:var(--lightningcss-light,#fcfcfc)var(--lightningcss-dark,#141414);border:1px solid #0000;padding:.6rem 1rem;transition:background-color .2s ease-out,color .2s ease-out,border-color .5s ease-out;display:inline-block}button,.btn{box-shadow:0 3px 3px -3px #0004,inset 0 0 #0004}.btn:hover,.btn:focus-visible{background-color:var(--color-primary);color:var(--color-fg);border-color:var(--color-fg-dark);transition:background-color .1s ease-out,color .1s ease-out,border-color .1s ease-out}button:active,.btn:active,a:active{box-shadow:0 3px 3px -3px #0004,inset 0 0 10px #000}form{width:clamp(300px,50%,600px);box-shadow:var(--bs-soft);background-color:var(--lightningcss-light,#fff4)var(--lightningcss-dark,#0004);outline:1px solid green;gap:1rem;margin-inline:auto;padding:1rem 1.6rem;display:grid}form:focus-within{background-color:var(--lightningcss-light,#fff6)var(--lightningcss-dark,#000)}form .form-group{text-align:left;gap:.5rem;display:grid}input{background-color:var(--color-bg);letter-spacing:.9px;width:100%;color:inherit;border:1px solid var(--lightningcss-light,#ccc)var(--lightningcss-dark,#444);padding:1rem;font-size:large}input::placeholder{color:var(--lightningcss-light,#666)var(--lightningcss-dark,#aaa);font-style:italic}form button[type=submit]{background-color:var(--color-primary);justify-self:right}.container{align-content:start;gap:2.5rem;width:90%;max-width:1280px;margin-inline:auto;padding:3rem .5rem;display:grid}.container--wide{max-width:1400px}.container h2,.container h3{padding:.25em .6em;background-image:linear-gradient(to right, var(--color-primary-semi-opaque), var(--color-primary-transparent));border-inline-start:.25em solid var(--clr-brand,#0f0);border-radius:0 99vw 99vw 0;width:fit-content;padding-inline-end:1em}.primary{background-color:var(--color-primary)}@media (width>=768px){h1,h2,h3,h4{font-size:revert}.big-flex{gap:clamp(2em,.5em + 3vw,4em);display:flex}.big-flex.align-center{align-items:center}}
