@font-face{font-family:Crimson Text;src:url(/assets/CrimsonText-Regular-CBz2dAI_.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Crimson Text;src:url(/assets/CrimsonText-Italic-B3STcA3E.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Crimson Text;src:url(/assets/CrimsonText-SemiBold-XeBAWBr8.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Crimson Text;src:url(/assets/CrimsonText-SemiBoldItalic-BXXvAUIR.ttf)format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Crimson Text;src:url(/assets/CrimsonText-Bold-R7GCBj8K.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Crimson Text;src:url(/assets/CrimsonText-BoldItalic-DY5CCzXv.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Geist Mono Variable;src:url(/assets/GeistMono-VariableFont_wght-BlNDD6KS.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Thin-DBlvx9F4.ttf)format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-ExtraLight-Dl8F7czD.ttf)format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Light-BV5YBWql.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Regular-DLqb_3QR.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Medium-1YrmsSSc.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-SemiBold-BSiHIZ5_.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Bold-CE-vAFtB.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-ExtraBold-D8Lrfb4K.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Black-we-N16nf.ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}body{margin:0;font-family:Crimson,serif;font-weight:400}body #root{flex-direction:column;min-height:100dvh;display:flex}body #root main{flex:1}footer{justify-content:center;display:flex}footer a,footer a:visited,footer a:hover,footer a:active{color:inherit;text-decoration:none}footer a{margin:20px;font-family:Geist Mono}footer a:hover{color:#ff4500}.navbar{z-index:1000;height:0;font-family:Geist Mono,sans-serif;font-weight:500;position:sticky;top:0}.navbar nav{justify-content:center;height:50px;display:flex}.navbar nav a,.navbar nav a:visited,.navbar nav a:hover,.navbar nav a:active{color:inherit;text-decoration:none}.navbar nav a{justify-content:center;align-items:center;width:140px;height:100%;display:flex}.navbar nav a:hover{color:#ff4500}.navbar nav a.active{color:#fff;background-color:#000}.navbar nav .non-transparent{background-color:#fff}.landing-page .banner{background-position:0;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;height:100vh;display:flex}.landing-page .banner .content{aspect-ratio:3/2;grid-template-rows:repeat(12,1fr);grid-template-columns:repeat(12,1fr);align-items:center;gap:2rem;width:min(71vw,1200px);max-height:80vh;display:grid}.landing-page .banner .content .portrait{grid-area:4/1/span 8/span 4;align-self:stretch;align-items:flex-start;width:100%;height:100%;display:flex}.landing-page .banner .content .portrait .portrait-frame{max-width:100%;height:100%;position:relative}.landing-page .banner .content .portrait .portrait-img{object-fit:contain;object-position:top left;border-left:5px solid #ff4500;width:100%;height:100%;display:block}.landing-page .banner .content .portrait .name{white-space:nowrap;color:#ff4500;transform-origin:0 0;font-family:Geist Mono Variable;font-size:32px;line-height:1;position:absolute;top:calc(100% - 280px);left:76px;transform:rotate(90deg)translateY(100%)}.landing-page .banner .content>.contact-links{flex-direction:column-reverse;grid-area:8/1/12/span 4;place-self:end;align-items:center;gap:.75rem;display:flex;transform:translate(70%)}.landing-page .banner .content .headline{text-align:center;color:#ff4500;border-top:5px solid #ff4500;grid-area:1/1/span 3/span 12;width:fit-content;margin-left:32px;font-family:Geist Mono Variable;font-size:128px;font-weight:900}.landing-page .banner .content .subtext{color:#ff4500;border-right:5px solid #ff4500;grid-area:5/6/9/13;align-self:start;margin-left:16px;font-family:Geist Mono Variable;font-size:44px}.landing-page .banner .content .bottom-line{border-bottom:5px solid #ff4500;grid-area:12/7/auto/11;align-self:flex-end}@media (width<=1700px){.landing-page .banner .content{width:min(84vw,1000px)}.landing-page .banner .content .headline{font-size:100px}.landing-page .banner .content .subtext{grid-column:6/13;margin-top:8px;margin-left:0;padding-right:16px;font-size:38px}.landing-page .banner .content .bottom-line{grid-column:6/11;margin-left:16px}.landing-page .banner .content .portrait{grid-area:4/1/span 7/span 4}.landing-page .banner .content .portrait .name{font-size:24px;top:calc(100% - 220px);left:56px}.landing-page .banner .content>.contact-links{grid-area:4/4/span 7;transform:translate(-20%)}}@media (width<=1200px){.landing-page .banner .content{gap:1rem;width:min(84vw,960px)}.landing-page .banner .content .headline{font-size:80px}.landing-page .banner .content .subtext{font-size:32px}.landing-page .banner .content .portrait .name{font-size:16px;top:calc(100% - 145px);left:42px}}@media (width<=1100px){.landing-page .banner .content>.contact-links{transform:translate(0)}}@media (width<=950px){.landing-page .banner .content>.contact-links{transform:translate(20%)}}@media (width<=1000px){.landing-page .banner .content .headline{font-size:64px}.landing-page .banner .content .subtext{font-size:28px}}@media (width<=750px){.landing-page .banner .content{aspect-ratio:2/3}.landing-page .banner .content .headline{grid-row:1/span 2;align-self:baseline}.landing-page .banner .content .portrait{grid-area:4/1/span 5/7;justify-self:center}.landing-page .banner .content .portrait .name{font-size:16px;top:calc(100% - 145px);left:45px}.landing-page .banner .content .subtext{grid-area:5/7/span 4/13;margin:0;font-size:32px}.landing-page .banner .content>.contact-links{flex-direction:row;grid-area:11/1/span 1/13;justify-content:center;place-self:start center;gap:.5rem;width:100%;display:flex;position:static;transform:translate(0)}.landing-page .banner .content .bottom-line{grid-column:3/10}}@media (width<=640px){.landing-page .banner .content .headline{font-size:48px}.landing-page .banner .content .subtext{font-size:24px}}@media (width<=500px){.landing-page .banner .content .headline{font-size:32px}.landing-page .banner .content .subtext{grid-row:4/span 5;font-size:20px}.landing-page .banner .content .portrait .name{font-size:12px;top:calc(100% - 110px);left:35px}}@media (width<=400px){.landing-page .banner .content .subtext{grid-row:4/span 5;font-size:16px}}@media (width<=350px){.landing-page .banner .content .headline{font-size:30px}}.cv{grid-template-columns:120px fit-content(600px);justify-content:center;gap:16px 8px;margin-top:20px;font-family:Geist Mono Variable;display:grid}.cv .cv-entry{display:contents}.cv .time{grid-column:1;align-self:start}.cv .title-where{grid-column:2;align-self:start;display:inline-flex}.cv .title{margin-right:.25rem;font-weight:700}.cv .description{grid-column:2;margin-bottom:16px;font-style:italic}@media (width<=800px){.cv{flex-direction:column;align-items:center;gap:16px;display:flex}.cv .cv-entry{grid-template-rows:auto auto auto;grid-template-columns:100px fit-content(32rem);align-items:start;gap:4px 8px;width:80%;max-width:calc(100vw - 2rem);display:inline-grid}.cv .cv-entry .time{grid-area:1/1/span 3;align-self:start}.cv .cv-entry .title-where{display:contents}.cv .cv-entry .title{grid-area:1/2;margin-right:0}.cv .cv-entry .where{grid-area:2/2}.cv .cv-entry .description{grid-area:3/2;margin-bottom:0}.cv .cv-entry .title,.cv .cv-entry .where,.cv .cv-entry .description{overflow-wrap:anywhere;max-width:min(32rem,100vw - 140px)}}.contact-links .social-link{width:40px;padding-bottom:5px;display:block}.contact-links .social-link img{width:100%;height:auto;display:block}.contact-links .social-link img:hover{transform:scale(1.05)}.research-page{text-align:center;height:100vh}.research-page h1{margin-top:100px;font-family:Geist Mono}.photo-page .grid{grid-template-columns:repeat(2,500px);justify-content:center;gap:120px;margin-top:120px;display:grid}.photo-exhibition{filter:grayscale();background-position:50%;background-size:cover;width:500px;height:500px;position:relative;box-shadow:1px 1px 10px}.photo-exhibition:hover{cursor:pointer;filter:grayscale(0);width:498px;height:498px;margin:1px;box-shadow:0 0 5px}.photo-exhibition h1{-webkit-user-select:none;user-select:none;background-color:#fff;margin:0;padding:0 50px;font-family:Geist Mono;font-weight:700;display:inline-block;position:absolute;top:100px;left:0}.photo-exhibition p{-webkit-user-select:none;user-select:none;background-color:#fff;margin:0;padding:2px 30px;font-family:Geist Mono;display:inline-block;position:absolute;bottom:100px;right:0}.photo{justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex}.photo .photo-frame{flex-direction:column;width:fit-content;display:flex}.photo .photo-frame img{object-fit:contain;border:5px solid}.photo .photo-frame p{text-align:left;align-self:flex-end;margin-top:5px;margin-right:5px;font-family:Geist Mono;font-style:normal}.photo-gallery .header{flex-direction:column;justify-content:center;height:calc(38dvh - 15px);display:flex}.photo-gallery .header h1{text-align:center;text-underline-offset:10px;font-family:Geist Mono;text-decoration:underline;text-decoration-thickness:5px}.photo-gallery .header p{text-align:center;font-style:italic}.photo-gallery .image-feed{width:100%}.photo-gallery .screen-to-narrow{text-align:center;width:100dvw;font-family:Geist Mono;position:absolute;top:32%}.photo-gallery .screen-to-narrow p{margin:80px}.text-page{text-align:left;max-width:60rem;margin:0 auto;padding:2rem 1rem 4rem;line-height:1.6}.text-page h1,.text-page h2,.text-page h3,.text-page h4,.text-page h5,.text-page h6{margin:2rem 0 1rem;line-height:1.2}.text-page p,.text-page ul,.text-page ol,.text-page blockquote,.text-page pre{margin:0 0 1rem}.text-page ul,.text-page ol{padding-left:1.5rem}.text-page a{color:inherit;text-decoration:underline}.text-page code{font-family:Geist Mono,monospace}.text-page pre{overflow-x:auto}
