*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}html,body{height:100%}html{color-scheme:light dark}html.dark{color-scheme:dark light}@media (max-width: 800px){body{height:auto}}a{color:#0501b1;text-decoration:none}a:hover{text-decoration:underline}body{background-color:#d7d2d2;color:#000;font-family:system-ui,sans-serif;transition:background-color .3s ease,color .3s ease}::selection{color:#d7d2d2;background-color:#000}a:focus-visible{background-color:#000;color:#d7d2d2;outline:none}.container{padding-block:30px;width:min(1440px,92vw);margin-inline:auto;height:100%}html.dark body{background-color:#252424;color:#d7d2d2}html.dark a{color:#918af0}html.dark ::selection{color:#252424;background-color:#d7d2d2}html.dark a:focus-visible{background-color:#d7d2d2;color:#252424}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.theme-toggle-btn{position:relative;border:none;width:1rem;height:1rem;background:none;cursor:pointer;color:currentColor;display:inline-flex;align-items:center;justify-content:center}.theme-toggle-btn:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:50%}.theme-toggle-btn .theme-icon{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .5s ease,opacity .5s ease}.theme-toggle-btn .sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle-btn .moon{opacity:0;transform:rotate(-45deg) scale(.5)}html.dark .theme-button-wrapper .theme-toggle-btn .sun{opacity:0;transform:rotate(45deg) scale(.5)}html.dark .theme-button-wrapper .theme-toggle-btn .moon{opacity:1;transform:rotate(0) scale(1)}@font-face{font-family:PP Neue Montreal;src:local("PP Neue Montreal"),url(/assets/fonts/ppneuemontreal-book.otf)}body{font-family:PP Neue Montreal,system-ui,sans-serif}h1,h2,h3,h4,h5{line-height:1;font-weight:400}.grain-bg-wrapper{position:fixed;inset:0;height:100lvh;width:100vw;z-index:-1}@media (max-width: 650px){.grain-bg-wrapper{display:none}}.grain{opacity:.55;height:100%;width:100%}h1{font-size:2.5em;line-height:1;margin-bottom:1rem}p{text-wrap:pretty}h3{font-weight:500}h3.heading{margin-bottom:1rem}.content{display:grid;grid-template-columns:300px 450px 1fr;height:100%;gap:5rem;position:relative}@media (max-width: 1200px){.content{grid-template-columns:300px 1fr}}@media (max-width: 800px){.content{grid-template-columns:1fr;gap:3rem}}.projects-and-contact{height:100%;display:flex;flex-direction:column;justify-content:space-between}@media (800px <= width <= 1200px){.projects-and-contact{grid-column:2/2;grid-row:1/3}}.projects{margin-bottom:2rem}.projects ul{list-style:none;padding:0}.projects ul li{color:inherit;margin-bottom:1rem}.project{text-decoration:none;color:inherit!important;position:relative;isolation:isolate;display:block;padding-block:.2rem;height:fit-content}.project:hover{color:#0501b1}.project h4{text-decoration:underline}.project img{width:200px;position:absolute;inset:0;left:20%;top:50%;transform:translateY(-100%) scaleY(0);object-fit:cover;transition:.15s;transform-origin:bottom;opacity:0;z-index:-2}@supports (aspect-ratio: 16/9){.project img{aspect-ratio:16/9}}@supports not (aspect-ratio: 16/9){.project img{height:180px}}@media (max-width: 800px){.project img{display:none}}.project p{display:none}@media (max-width: 800px){.project p{display:block}}.project:hover,.project:focus-visible{outline:none;color:#0501b1!important;background-color:transparent!important;border-radius:4px}.project:hover p,.project:focus-visible p{display:initial}.project:hover img,.project:focus-visible img{opacity:1;transform:translateY(-100%) scaleY(1)}.socials{align-self:end}.socials a{display:inline-block;margin-right:.5rem}.theme-button-wrapper{position:absolute;right:0}@media (width >= 1200px){.theme-button-wrapper{bottom:0}}
