:root{--background:#ffffff;--foreground:#171717}@font-face{font-family:IBMPlexMono-Bold;src:local("IBMPlexMono-Bold"),url(/fonts/IBMPlexMono-Bold.otf) format("woff")}@font-face{font-family:IBMPlexMono-Light;src:local("IBMPlexMono-Light"),url(/fonts/IBMPlexMono-Light.otf) format("woff")}.app.light{--bg-color:#ffffff;--text-color:#000000;--highlight-color:orange}.app.dark{--bg-color:#000000;--text-color:white;--highlight-color:orange}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s;font-family:IBMPlexMono-Light,serif;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header{display:flex;flex-flow:row;justify-content:space-between;border-bottom:3px solid #333333;margin:0 10px}.fixed{position:fixed;width:100%;margin:0;background:orange;top:0;a{color:black}}.header_logo{display:flex;flex-flow:row;justify-content:flex-start;>.little-weave{position:relative;padding-top:2px;margin:0;font-size:var(--font-size-l);text-decoration:none}>.little-weave:hover{text-decoration:none;border-bottom:none}>a:hover{text-decoration:none}}header>div{display:flex;flex-flow:row;justify-content:end;gap:20px}.typo_header{font-family:IBMPlexMono-Light,serif;font-size:var(--font-size-m);color:var(--text-color);font-weight:100;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;a:hover{text-decoration:underline;cursor:pointer}}header>.header__nav{text-align:end;& h1{font-family:IBMPlexMono-Light,serif;text-transform:uppercase;font-size:var(--font-size-m)};}.header__nav-button,.little-weave__button{display:none}@media (max-width:1400px){.reading{display:none}}@media only screen and (max-width:600px){header{border-bottom:2px solid #333333}.header__nav{position:absolute;display:flex;justify-content:center;flex-flow:column;gap:0;height:100vh;width:100svw;text-align:center}.off-screen{transform:translateX(-100%);visibility:hidden}.on-screen{transform:translateX(0);background-color:rgba(255,165,0,.5);top:0;left:0;bottom:0;right:0}.header__nav .typo_header{color:black;font-size:var(--font-size-l);text-align:center;margin:10px 0}.header__nav>.typo_header>a{color:black;font-size:2em}.header__nav-button{display:block;position:absolute;right:20px;top:3px}.little-weave{display:none}.little-weave__button{display:block;margin-top:0;font-size:2.4rem;font-weight:100}.pageSize,.reading{display:none}}.pageSize{>p{margin-bottom:5px;color:black}}.hamburger{display:inline-block;background:transparent;border:none;cursor:pointer}.hamburger span{display:block;width:25px;height:3px;margin:5px auto;background-color:#333;transition:all .3s ease-in-out}.pageSize{position:fixed;right:5px;bottom:0;>p{margin-bottom:5px;color:black}}@font-face{font-family:IBMPlexMono-Bold;src:local("IBMPlexMono-Bold"),url(/fonts/IBMPlexMono-Light.otf) format("otf")}@font-face{font-family:IBMPlexMono-Light;src:local("IBMPlexMono-Light"),url(/fonts/IBMPlexMono-Light.otf) format("otf")}:root{--font-size-s:1rem;--font-size-m:1.2rem;--font-size-l:2rem}@media (max-width:1600px){:root{--font-size-s:1rem;--font-size-m:1.2rem;--font-size-l:2rem}}@media (max-width:600px){:root{--font-size-s:1.2rem;--font-size-m:1.5rem;--font-size-l:1.5rem}}a{color:orange;text-decoration:none}a:hover{border-bottom:1px solid orange}.about>p{font-size:var(--font-size-l);text-transform:uppercase;margin-top:0}.box__half{padding:0 10px;max-width:50%}.pillar__container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-10000}.bio_text{display:none}@media (max-width:600px){body{height:100dvh;max-height:100%;overflow-x:clip}.box__half{display:none}.bio_text{display:block}.about>p{font-weight:300;text-transform:uppercase;margin-top:2px}.pillar__container{display:block}}.resume__container{position:absolute;right:10px;top:60px;left:55svw;& p{margin-top:2px}& .intro{text-transform:uppercase;font-size:2rem}}.off-screen-right{transform:translateX(120%);display:none}.on-screen{transform:translateX(0)}.resume__container-divider{text-align:left;font-size:2.2rem;margin-top:0;margin-bottom:10px}.bio-img{position:relative;float:right;z-index:-1000;opacity:.5;width:50%;margin-left:20px}.experience{display:grid;grid-template-columns:20% 50% 30%;gap:10px;& h1,& p:first-child{color:var(--text-color)}& p{margin-bottom:5px;margin-top:0}& p:last-child{text-align:end;margin-right:20px}}.education{display:grid;grid-template-columns:20% 65% 15%;gap:10px;& p{margin-bottom:5px;margin-top:0}& p:first-child{color:var(--text-color)}& p:last-child{text-align:end;margin-right:20px}}@media (max-width:1600px){.resume__container{top:60px;& .intro{font-size:1.5rem}}.resume__container-divider{font-size:1.5rem}}@media (max-width:600px){.resume__container{left:15px;right:15px;top:80px;height:fit-content;border:none;background-color:transparent}.resume__container-divider{border-top:2px solid orange}.education,.experience{border-bottom:1px solid black}}.projects__container{position:absolute;top:0;right:10px;left:55svw;top:50px}.projects__grid{display:grid;grid-template-columns:50% 50%;& .brief{padding-right:10px;& .type{color:orange;padding-right:3px;font-weight:900;text-transform:uppercase}}& .selected{border-radius:50%;border:3px solid orange}& .index,& .selected{position:relative;float:left;margin-top:5px;margin-bottom:0;margin-right:14px;width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:10px}& .index{border-radius:50%;border:2px solid #000}& .index--image{width:20px;height:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;border:2px solid black;font-size:10px;position:absolute;top:10px;left:10px;color:black}& img{padding-top:10px;width:100%;opacity:.5;text-align:right}& img:hover{filter:invert(75%);cursor:pointer}section{border-bottom:2px solid black}}@media (max-width:1600px){.projects__container{top:50px}}@media (max-width:1200px){.projects__grid{display:flex;flex-flow:column;flex-direction:column-reverse}}@media (max-width:600px){.projects__container{display:block;overflow-x:clip;position:absolute;margin:0 10px;top:70px;right:0;left:0;max-width:100vw;overflow-y:scroll;padding:0 10px;& img{opacity:.7}}p{margin-bottom:20px;font-size:18px;line-height:1.5}section{border-bottom:2px solid black}}@media (max-width:480px){p{font-size:16px;line-height:24px}.about{p{font-size:16px;line-height:1.5}}}