@font-face{font-family:Unbounded;src:url(/fonts/unbounded/Unbounded-SemiBold.woff2) format("woff2"),url(/fonts/unbounded/Unbounded-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Unbounded;src:url(/fonts/unbounded/Unbounded-Bold.woff2) format("woff2"),url(/fonts/unbounded/Unbounded-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Unbounded;src:url(/fonts/unbounded/Unbounded-ExtraBold.woff2) format("woff2"),url(/fonts/unbounded/Unbounded-ExtraBold.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Unbounded;src:url(/fonts/unbounded/Unbounded-Black.woff2) format("woff2"),url(/fonts/unbounded/Unbounded-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Extralight.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Extralight.woff) format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-ExtralightItalic.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-ExtralightItalic.woff) format("woff");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Light.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-LightItalic.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-LightItalic.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Regular.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Italic.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Medium.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-MediumItalic.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-MediumItalic.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Semibold.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Semibold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-SemiboldItalic.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-SemiboldItalic.woff) format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Bold.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-BoldItalic.woff2) format("woff2"),url(/fonts/general-sans/GeneralSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}html,body{background:#c5bdb1;margin:0;padding:0;overscroll-behavior:none;overflow:hidden}#root{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh}#root>*{height:100%}body{color:#340c38;font-family:General Sans,sans-serif}button,a{-webkit-tap-highlight-color:transparent}h1{color:#511457;margin:20px 0;font-size:4rem;font-weight:800;font-family:Unbounded,sans-serif;letter-spacing:.1rem;line-height:1.1;text-transform:uppercase}h1.content-title{font-family:General Sans,sans-serif;font-weight:600;font-size:1.6rem;line-height:1;margin:0;text-transform:none;color:inherit}h2{color:#511457;margin:0;font-size:1.2rem;text-transform:uppercase;font-family:inherit;font-weight:600;letter-spacing:.15rem}a{font-weight:500;color:inherit;text-decoration:none;padding:4px 2px;border-radius:0}ul{margin:0;padding:0;list-style-type:none}li{margin:8px 0;padding:0;text-transform:lowercase}nav{pointer-events:none;padding:24px 32px;position:absolute;z-index:1;top:0;left:0}p{font-size:1rem;font-weight:400;line-height:1.8rem}video{aspect-ratio:16 / 9}.index-button-item{opacity:0;height:0;margin:0;overflow:hidden}.nav-button{pointer-events:auto;padding:4px 8px;font-size:1rem;color:inherit;border:0;font-weight:500;font-style:italic;font-family:inherit;letter-spacing:.1rem;text-decoration:none;background:transparent;text-transform:lowercase;cursor:pointer;display:flex;align-items:center;gap:8px;height:30px}.nav-button-selected{opacity:.7}.nav-detail{opacity:.7;width:20px;display:flex;align-items:flex-end;justify-content:flex-start}.about-button{margin-top:6px;position:absolute;z-index:1;top:24px;right:32px;pointer-events:auto;padding:4px 8px;font-size:1.2rem;color:#511457;border:0;border-radius:0;font-weight:600;font-family:inherit;letter-spacing:.12rem;text-decoration:none;text-transform:uppercase;background:transparent;cursor:pointer}.content-title-link{width:100%;display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px}.content-link-bracket{margin-bottom:2px;font-weight:400}.content-link{pointer-events:auto;display:flex;gap:6px;align-items:center;font-weight:500;text-transform:uppercase;font-size:.9rem;color:inherit;letter-spacing:.05rem;text-decoration:none;padding:4px 2px;border-radius:0}a:focus,.content-link:focus,.about-button:focus,.nav-button:focus{outline:none}a:focus-visible,.content-link:focus-visible,.about-button:focus-visible,.nav-button:focus-visible{background:#f2ff91}a:hover,.content-link:hover,.about-button:hover,.nav-button:hover{color:#f2ff91}.title-container{position:fixed;top:0;left:0;width:100vw;z-index:2;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;box-sizing:border-box}.title-content{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:25vh;pointer-events:none}.main-container{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:4;display:flex;flex-direction:column;gap:24px;justify-content:flex-start;align-items:flex-start;overflow-y:auto;pointer-events:none;box-sizing:border-box;padding:120px 40px 40px 240px}.project-content{opacity:0}.project-content:empty{pointer-events:none}.about-image,.project-image{width:100%;max-width:min(1664px,50vw);min-width:240px;margin:0}.project-image{margin-bottom:32px;aspect-ratio:16 / 9}.about-image{aspect-ratio:4 / 3}.about-image-description{margin:16px 0}.content-desktop{display:flex;gap:40px}.content-info{flex:1 1 0;min-width:420px}.content-image-container{flex:1 1 0;min-width:0}.about-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:24px;justify-content:flex-start;align-items:flex-start;overflow:hidden;pointer-events:none;box-sizing:border-box;z-index:1}.about-container.about-open{position:static;align-self:stretch;width:100%;padding:0;overflow:visible;pointer-events:auto}.contact-info{margin-top:32px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.github-linkedin-wrapper{display:flex;justify-content:flex-end;gap:16px}.about-content{opacity:0}.about-content a{pointer-events:auto}.soft-overlay{background:linear-gradient(180deg,#c5bdb1b3,#c5bdb100,#c5bdb100);position:absolute;top:0;left:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:1}.page-menu{position:absolute;top:0;left:0;padding:32px;z-index:2;box-sizing:border-box;margin:0}.page-menu .about-button{left:16px;right:auto;top:260px}.menu-open{padding-top:24px;z-index:3;top:-100%;overflow:hidden}.menu-open .nav-button.close-button{flex-shrink:0;padding:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center}.close-button svg{flex-shrink:0;width:32px;height:32px}.menu-closed{background:transparent}.page-nav-content{opacity:0;display:flex;justify-content:space-between;align-items:flex-start;visibility:hidden}.menu-toggle{display:flex;align-items:center;gap:8px}@media(max-aspect-ratio:.999)and (max-width:2000px),(max-width:1100px){h1{font-size:2.4rem}header{padding:0 20px 40px}nav{padding:20px 16px 40px}p{margin:0 0 40px}p.about{margin-bottom:20px}a:hover,.content-link:hover,.about-button:hover,.nav-button:hover{color:unset}.content-title-link{justify-content:flex-start;align-items:flex-start;margin:40px 0 32px;flex-direction:column;gap:16px}.page-menu{height:100vh;height:100dvh;padding:28px 16px}.menu-open{padding-top:20px;position:fixed;width:100vw;top:-100vh;background:#c5bdb1}.menu-open ul{margin:16vh 0}.menu-open .nav-button{height:56px;font-size:1.2rem;gap:16px;padding:8px 24px}.title-container{padding:0 24px}.title-content{width:300px;align-items:stretch}.title-heading h1{width:100%;display:flex;flex-direction:column;align-items:center}.subtitle-heading{align-self:center}.about-button{right:16px;margin-top:4px;font-size:1rem;letter-spacing:.1rem}.main-container{padding:80px 20px 40px}.about-image{margin-top:20px}.about-image,.project-image{max-width:1664px;min-width:unset}.contact-info{margin-bottom:32px}}@media(max-width:360px){h1{font-size:2rem}.menu-open .nav-button{height:unset;font-size:1rem;gap:16px;padding:8px 4px}.menu-open .nav-button.close-button{margin-top:-16px;margin-right:-12px}}@media(min-width:2001px){.content-info{flex:1 1 0;min-width:420px}.content-image-container{flex:1.5 1 0;max-width:1664px}}@media(min-width:3000px){.page-menu,.index-nav{left:calc((100vw - 2280px)/2)}.about-button{right:calc((100vw - 2280px)/2 + 32px)}.main-container{padding:120px calc((100vw - 2280px)/2 + 40px) 40px calc((100vw - 2280px)/2 + 240px)}.content-desktop{max-width:2000px}}
