html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}@media(prefers-color-scheme: dark){:root{--background: #191214}}@media(prefers-color-scheme: dark){:root{--title-text: #fbbbce}}@media(prefers-color-scheme: dark){:root{--subtitle-text: #c4aab8}}@media(prefers-color-scheme: dark){:root{--body-text: #b98ea2}}@media(prefers-color-scheme: dark){:root{--link-text: #cea1af}}@media(prefers-color-scheme: dark){:root{--primary: #ff487f}}@media(prefers-color-scheme: dark){:root{--on-primary: #ffffff}}@media(prefers-color-scheme: dark){:root{--primary-overlay-strong: rgba(255, 72, 127, 0.2)}}@media(prefers-color-scheme: dark){:root{--primary-overlay-weak: rgba(255, 72, 127, 0.1)}}@media(prefers-color-scheme: dark){:root{--card-background: rgba(255, 196, 214, 0.1)}}@media(prefers-color-scheme: dark){:root{--outline: rgba(255, 196, 214, 0.4)}}@media(prefers-color-scheme: dark){:root{--progress-background: rgba(0, 0, 0, 0.5)}}@media(prefers-color-scheme: dark){:root{--progress-foreground: #ff487f}}@media(prefers-color-scheme: dark){:root{--text-field-background: rgba(0, 0, 0, 0.75)}}@media(prefers-color-scheme: light){:root{--background: #f5e0e6}}@media(prefers-color-scheme: light){:root{--title-text: #512234}}@media(prefers-color-scheme: light){:root{--subtitle-text: #5c3a47}}@media(prefers-color-scheme: light){:root{--body-text: #49192c}}@media(prefers-color-scheme: light){:root{--link-text: #884257}}@media(prefers-color-scheme: light){:root{--primary: #ff487f}}@media(prefers-color-scheme: light){:root{--on-primary: #ffffff}}@media(prefers-color-scheme: light){:root{--primary-overlay-strong: rgba(255, 72, 127, 0.2)}}@media(prefers-color-scheme: light){:root{--primary-overlay-weak: rgba(255, 72, 127, 0.1)}}@media(prefers-color-scheme: light){:root{--card-background: rgba(255, 255, 255, 0.25)}}@media(prefers-color-scheme: light){:root{--outline: rgba(255, 255, 255, 0.8)}}@media(prefers-color-scheme: light){:root{--progress-background: rgba(255, 255, 255, 0.2)}}@media(prefers-color-scheme: light){:root{--progress-foreground: #ff487f}}@media(prefers-color-scheme: light){:root{--text-field-background: rgba(255, 255, 255, 0.75)}}@font-face{font-family:"Nohemi";src:url("../font/Nohemi-VF.ttf")}h1{font-size:3rem;font-weight:700;color:var(--title-text);font-family:"Nohemi"}h2{font-size:2rem;font-weight:500;color:var(--subtitle-text);font-family:"Nohemi"}h3{font-size:1.25rem;font-weight:600;color:var(--subtitle-text);font-family:"Sora",sans-serif}p,span,li{font-weight:400;color:var(--body-text);font-family:"Sora",sans-serif;line-height:2rem}p{margin-bottom:1.6rem}a{color:var(--link-text);text-decoration:none}input,textarea,a.button{font-family:"Inter",sans-serif;color:var(--body-text);font-size:1rem}label{font-weight:500;color:var(--body-text);font-family:"Inter",sans-serif}.project-card{width:100%;max-width:100%;display:flex;align-items:center;justify-content:start;max-width:100%;padding:2rem;margin:0 -2rem;box-sizing:content-box;border-radius:8px;border-top:1px solid rgba(0,0,0,0);transition:background-color 1s cubic-bezier(0.075, 0.82, 0.165, 1),border-top 1s cubic-bezier(0.075, 0.82, 0.165, 1)}.project-card.main-highlighted{background-color:var(--card-background);border-top:1px solid var(--outline)}.project-card.main-highlighted .content .expanded{height:25rem;opacity:1}.project-card.main-highlighted .content .main .info .extra{height:auto;opacity:1;margin-bottom:1.6rem}.project-card .content{max-width:100%;display:flex;flex-direction:column;gap:2rem;flex-grow:1}.project-card .content .main{display:flex;flex-direction:row;gap:2rem}.project-card .content .main .thumbnail{flex:1 0 auto;width:8rem;height:8rem;border-radius:4px}.project-card .content .main div.thumbnail{background-color:var(--primary);font-family:"Nohemi",sans-serif;font-weight:700;font-size:30pt;color:var(--on-primary);text-align:center;line-height:8rem;text-shadow:0px 3.4px 2.7px rgba(0,0,0,.052),0px 8.7px 6.9px rgba(0,0,0,.094),0px 17.7px 14.2px rgba(0,0,0,.125),0px 36.5px 29.2px rgba(0,0,0,.145),0px 100px 80px rgba(0,0,0,.22)}.project-card .content .main .info{flex:1 1 auto}.project-card .content .main .info .title{margin-bottom:1rem}.project-card .content .main .info .title h3{display:inline;margin-right:.5rem}.project-card .content .main .info .tags{display:flex;flex-wrap:wrap;flex-direction:row;gap:1rem}.project-card .content .main .info .extra{height:0;opacity:0;margin-bottom:0;transition:height 1s cubic-bezier(0.075, 0.82, 0.165, 1),opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1)}.project-card .content .main .info .links{display:flex;flex-direction:column;gap:.5rem}.project-card .content .expanded{display:flex;flex-wrap:nowrap;overflow:auto hidden;gap:1rem;scroll-snap-type:x mandatory;justify-content:flex-start;width:100%;max-width:100%;min-width:100%;height:0;opacity:0;border-radius:4px;transition:height 1s cubic-bezier(0.075, 0.82, 0.165, 1),opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1)}.project-card .content .expanded img,.project-card .content .expanded picture{overflow:hidden;display:inline-block;flex-shrink:0;flex-grow:0;scroll-snap-align:center;height:25rem;background-color:#d3d3d3;border-radius:4px}@media only screen and (max-width: 1024px){.project-card .content .main{flex-direction:column}.project-card .content .main .thumbnail{width:4rem;height:4rem}.project-card .content .main div.thumbnail{font-size:20pt;line-height:4rem}}.tag{background-color:var(--primary-overlay-strong);color:var(--primary);padding:.25rem 1rem;border-radius:50rem;white-space:nowrap}.skillset-card{width:100%;max-width:100%;display:flex;align-items:center;justify-content:start;max-width:100%;padding:2rem;margin:0 -2rem;box-sizing:content-box;border-radius:8px;border-top:1px solid rgba(0,0,0,0);transition:background-color 1s cubic-bezier(0.075, 0.82, 0.165, 1),border-top 1s cubic-bezier(0.075, 0.82, 0.165, 1)}.skillset-card.main-highlighted{background-color:var(--card-background);border-top:1px solid var(--outline)}.skillset-card .content{max-width:100%;display:flex;flex-direction:column;gap:2rem;flex-grow:1}.skillset-card .content .main{display:flex;flex-direction:row;gap:2rem}.skillset-card .content .main .thumbnail{flex:1 0 auto;width:8rem;height:8rem;border-radius:4px;flex-grow:0}.skillset-card .content .main .thumbnail.icon{background-color:var(--primary);font-size:48pt;color:var(--on-primary);text-align:center;line-height:9rem;text-shadow:0px 3.4px 2.7px rgba(0,0,0,.052),0px 8.7px 6.9px rgba(0,0,0,.094),0px 17.7px 14.2px rgba(0,0,0,.125),0px 36.5px 29.2px rgba(0,0,0,.145),0px 100px 80px rgba(0,0,0,.22)}.skillset-card .content .main .info{flex:1 1 auto}.skillset-card .content .main .info .title{margin-bottom:1rem}.skillset-card .content .main .info .title h3{display:inline;margin-right:.5rem}.skillset-card .content .main .info .skills{display:flex;flex-direction:column;gap:1rem}@media only screen and (max-width: 1024px){.skillset-card .content .main{flex-direction:column}.skillset-card .content .main .thumbnail{width:4rem;height:4rem}.skillset-card .content .main div.thumbnail{font-size:20pt;line-height:4rem}.skillset-card .content .main .thumbnail.icon{font-size:24pt;line-height:4rem}}.skill{display:flex;flex-direction:row;align-items:center;gap:2rem}.skill .bar{position:relative;flex-grow:1;height:4px}.skill .bar .background,.skill .bar .foreground{position:absolute;inset:0 0 0 0;border-radius:4px}.skill .bar .background{background-color:var(--progress-background)}.skill .bar .foreground{background-color:var(--progress-foreground)}.skill .level{flex-grow:0}input[type=text],input[type=email],textarea{width:100%;border:1px solid var(--outline);background-color:var(--text-field-background);border-radius:4px;padding:1rem}input[type=text]:focus,input[type=email]:focus,textarea:focus{outline:none;border-color:var(--primary)}input[type=submit],a.button{background-color:var(--primary);color:var(--on-primary);border:1px solid var(--outline);border-radius:4px;padding:1rem;cursor:pointer;transition:background-color .5s cubic-bezier(0.075, 0.82, 0.165, 1),color .5s cubic-bezier(0.075, 0.82, 0.165, 1),border .5s cubic-bezier(0.075, 0.82, 0.165, 1)}input[type=submit]:hover,a.button:hover{background-color:var(--text-field-background);color:var(--primary);border:1px solid var(--primary)}body{display:flex;align-items:stretch;overflow-y:hidden;background-color:var(--background)}#site-loader{position:absolute;inset:0 0 0 0;z-index:1000;pointer-events:none;background-color:var(--background);opacity:1;transition:1s opacity ease-in-out}#site-loader.loaded{opacity:0}#main-container{display:flex;height:100vh;width:100vw}@keyframes circle-bounce{0%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-3rem) scale(0.75);opacity:.75}100%{transform:translateY(0) scale(1);opacity:1}}#panel{height:100vh;width:auto;z-index:100;pointer-events:none;overflow-y:visible}#panel>.content{display:flex;flex-direction:column;gap:1rem;justify-content:center;margin-top:10rem;margin-bottom:10rem;margin-left:var(--side-padding)}#panel>.content a{pointer-events:auto}#panel>.content .title{position:relative;white-space:nowrap;display:flex;flex-direction:column;align-items:start}#panel>.content .title a{text-decoration:none;color:var(--title-text)}#panel>.content .title #hero-glow{position:absolute;top:-45rem;left:-35rem;width:100rem;height:100rem;z-index:-1;transform-origin:30% 45%;filter:blur(100px);opacity:.5}#panel>.content .title #hero-glow #hero-glow-circle-one{transform-origin:45% 65%;fill-opacity:1;animation:circle-bounce 5s infinite ease-in-out}#panel>.content .title #hero-glow #hero-glow-circle-two{transform-origin:65% 65%;fill-opacity:.6;animation:circle-bounce 5s infinite ease-in-out 2s}#panel>.content .nav{display:flex;flex-direction:column;gap:1rem}#panel>.content .nav a::before{content:"";display:inline-block;vertical-align:middle;height:.5rem;width:.5rem;margin-right:1rem;border-radius:1rem;background-color:var(--link-text);transition:background-color .5s cubic-bezier(0.075, 0.82, 0.165, 1),height .5s cubic-bezier(0.075, 0.82, 0.165, 1)}#panel>.content .nav a.highlighted{color:var(--primary)}#panel>.content .nav a.highlighted::before{background-color:var(--primary);height:1.5rem}#panel>.content .links{display:flex;flex-direction:row;gap:1rem}#panel>.content .links li.divider{height:1.5rem;width:1px;background-color:var(--outline)}#panel>.content .links li{position:relative}#panel>.content .links li a{font-size:18pt;transition:color .5s cubic-bezier(0.075, 0.82, 0.165, 1)}#panel>.content .links li a svg{width:16pt;height:16pt;fill:var(--link-text);transition:fill .5s cubic-bezier(0.075, 0.82, 0.165, 1)}#panel>.content .links li a svg:hover{fill:var(--primary)}#panel>.content .links li a:hover{color:var(--primary)}#panel>.content .links li .expanded{opacity:0;position:absolute;bottom:-2rem;left:0;right:auto;width:-moz-fit-content;width:fit-content;white-space:nowrap;transition:opacity .5s cubic-bezier(0.075, 0.82, 0.165, 1)}#panel>.content .links li:hover .expanded{opacity:1}#panel>.content .fade{transition:max-height 1s cubic-bezier(0.075, 0.82, 0.165, 1)}#main-content{width:100%;min-height:100vh;z-index:10;position:absolute;inset:0 0 0 0;overflow-y:auto;overflow-x:hidden}section:not(#panel),footer:not(#panel){width:100%}section:not(#panel)>.content,footer:not(#panel)>.content{width:100%;margin-left:10rem;margin-right:var(--side-padding);max-width:calc(100% - var(--side-padding) - 10rem)}section:not(#panel):not(#hero),footer:not(#panel):not(#hero){padding-top:10rem}section#about strong{font-size:1.1rem}section#hero{height:100vh;display:flex;align-items:center}section#hero>.content{display:flex;flex-direction:column}section#hero>.content img{width:25rem;height:25rem;align-self:flex-end;border-radius:25rem}section#projects>.content{display:flex;flex-direction:column;align-items:flex-start}section#skills>.content{display:flex;flex-direction:column;align-items:flex}section#contact>.content{display:flex;flex-direction:column;align-items:flex-start}section#contact>.content form{width:100%;display:flex;flex-direction:column;gap:2rem;margin-top:3rem;margin-bottom:4rem}section#contact>.content form .details{width:100%;display:flex;flex-direction:row;gap:1rem}section#contact>.content form .field{width:100%}section#contact>.content form .field label{display:inline-block;margin-bottom:1rem}section#contact>.content form textarea{width:100%;max-width:100%;min-width:100%;height:10rem;min-height:10rem;max-height:30rem}footer{margin-bottom:10rem}footer p:last-child{margin-bottom:0}@media only screen and (max-width: 1024px){body{overflow-y:auto}#main-container{display:block;flex-direction:column;height:-moz-fit-content;height:fit-content;overflow-y:scroll}#panel{height:auto;width:100vw;overflow-x:hidden}#panel>.content{margin:5rem 1rem}#panel>.content .title{white-space:normal}#panel>.content .nav{display:none}#main-content{position:relative;height:-moz-fit-content;height:fit-content}section:not(#panel)>.content,footer:not(#panel)>.content{margin-left:1rem;margin-right:1rem;max-width:calc(100% - var(--side-padding) - 1rem)}section#hero{display:flex;height:auto}section#hero>.content img{width:15rem;height:15rem;align-self:center;border-radius:15rem}section#projects>.content{align-items:center}section#skills>.content{align-items:center}section#contact>.content form .details{flex-direction:column}footer{margin-bottom:5rem}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}::-moz-selection{background-color:var(--primary);color:var(--on-primary)}::selection{background-color:var(--primary);color:var(--on-primary)}a{transition:color .5s cubic-bezier(0.075, 0.82, 0.165, 1)}a:hover{color:var(--primary)}section,footer{display:flex;justify-content:center}section>.content,footer>.content{width:100%;max-width:1280px}