:root{--bg:#050505;--text:#f2f0ea;--text-muted:#7d7b76;--text-faint:#4a4a47;--border:#494949a1;--border-strong:#494949a1;--serif-display:"Playfair Display", "Iowan Old Style", Georgia, serif;--serif-body:"Source Serif 4", Georgia, "Times New Roman", serif;--pad:clamp(28px, 4vw, 56px);--pad-left:clamp(18px, 2.4vw, 32px);--pad-top:clamp(48px, 7vw, 96px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font:20px/1.55 var(--serif-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--bg);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}.page{flex-direction:column;flex:1;min-height:100svh;display:flex}img,svg{max-width:100%;display:block}a{color:inherit}::selection{color:var(--text);background:#f2f0ea26}h1,h2,h3{font-family:var(--serif-display);color:var(--text);letter-spacing:-.01em;margin:0;font-weight:500}p{margin:0}a:focus-visible,button:focus-visible{outline:1px solid var(--text);outline-offset:4px}.label{width:fit-content;color:var(--text);border-bottom:1px solid var(--border-strong);margin-bottom:32px;padding-bottom:12px;font-size:17px;font-weight:500;display:inline-block}.meta{font-family:var(--serif-body);color:var(--text-muted);font-size:16px}.project-links{flex-wrap:wrap;gap:8px 24px;display:flex}.arrow-link{color:var(--text-muted);align-items:baseline;gap:6px;font-size:17px;text-decoration:none;transition:color .2s;display:inline-flex}.arrow-link:hover,.arrow-link:focus-visible{color:var(--text)}.arrow-link__glyph{align-items:center;transition:transform .2s;display:inline-flex}.arrow-link:hover .arrow-link__glyph,.arrow-link:focus-visible .arrow-link__glyph{transform:translate(2px,-2px)}.arrow-link--back:hover .arrow-link__glyph,.arrow-link--back:focus-visible .arrow-link__glyph{transform:translate(-2px)}.layout{grid-template-columns:1fr 2.5fr 2.5fr;display:grid}.col-nav{border-right:1px solid var(--border);grid-area:1/1}.col-nav__inner{height:100svh;padding:var(--pad) var(--pad) var(--pad) var(--pad-left);flex-direction:column;justify-content:space-between;display:flex}.hero-main{min-height:100svh;padding:var(--pad-top) var(--pad) var(--pad) var(--pad-left);border-right:1px solid var(--border);flex-direction:column;grid-area:1/2;display:flex}.col-contact{min-height:100svh;padding:var(--pad-top) var(--pad) var(--pad) var(--pad-left);flex-direction:column;grid-area:1/3;justify-content:space-between;display:flex}.nav-spacer{border-right:1px solid var(--border);border-top:1px solid var(--border);grid-column:1}.nav-spacer--about{grid-row:2}.nav-spacer--skills{grid-row:3}.nav-spacer--education{grid-row:4}#about{grid-area:2/2/auto/span 2}#skills{grid-area:3/2/auto/span 2}#education{grid-area:4/2/auto/span 2}@media (width<=980px){.layout{flex-direction:column;display:flex}.col-nav{border-right:none;border-bottom:1px solid var(--border)}.col-nav__inner{flex-direction:row;justify-content:space-between;align-items:center;height:auto}.hero-main{border-right:none;min-height:auto}.col-contact{border-bottom:1px solid var(--border);min-height:auto}.nav-spacer{display:none}}.section-block{padding:clamp(64px, 9vw, 112px) var(--pad) clamp(64px, 9vw, 112px) var(--pad-left);border-top:1px solid var(--border)}.site-footer{border-top:1px solid var(--border);grid-template-columns:1fr 2.5fr 2.5fr;align-items:center;display:grid}.site-footer__brand{padding:22px var(--pad);border-right:1px solid var(--border);align-self:stretch;align-items:center;display:flex}.site-footer__social{padding:22px var(--pad);gap:20px;display:flex}.site-footer__social a{color:var(--text-muted);font-size:16px;text-decoration:none;transition:color .2s}.site-footer__tagline{padding:22px var(--pad);text-align:right}.site-footer__social a:hover,.site-footer__social a:focus-visible{color:var(--text)}@media (width<=640px){.site-footer{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.site-footer__brand,.site-footer__social,.site-footer__tagline{padding:10px var(--pad-left)}.site-footer__social{gap:16px}.site-footer__brand{border-right:none}.site-footer__tagline{text-align:left}}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.sidebar__name{font-family:var(--serif-display);color:var(--text);font-size:18px;font-weight:400;line-height:1.25;text-decoration:none}.sidebar__nav{flex-direction:column;gap:14px;display:flex}.sidebar__nav a{color:var(--text-muted);font-size:15px;text-decoration:none;transition:color .2s}.sidebar__nav a:hover,.sidebar__nav a:focus-visible{color:var(--text)}@media (width<=980px){.sidebar__nav{flex-direction:row;gap:20px}}.intro__text{color:var(--text);margin-bottom:20px;font-size:19px;line-height:1.5}.work{margin-top:56px}.work__list{flex-direction:column;gap:22px;margin:0 0 45px;padding:0;list-style:none;display:flex}.work__item{color:inherit;flex-direction:column;gap:4px;width:fit-content;text-decoration:none;display:inline-flex}.work__title{font-family:var(--serif-display);font-size:clamp(24px,2.4vw,30px);font-weight:500;transition:color .2s}.work__item:hover .work__title,.work__item:focus-visible .work__title{color:var(--text-muted)}.work__year{color:var(--text-faint)}.about__text{flex-direction:column;gap:20px;max-width:62ch;display:flex}.about__text p{color:var(--text);font-size:20px;line-height:1.65}.about__closer{margin-top:4px;font-style:italic;color:var(--text-muted)!important}.skills__grid{grid-template-columns:1fr 1fr;gap:40px 56px;max-width:72ch;display:grid}.skills__name{margin-bottom:10px;font-size:19px;font-weight:600}.skills__items{line-height:1.6}@media (width<=560px){.skills__grid{grid-template-columns:1fr;row-gap:32px}}.education__list{flex-direction:column;gap:28px;display:flex}.education__entry h3{margin-bottom:6px;font-size:21px;font-weight:600}.contact-panel{color:inherit;flex-direction:column;flex:1;justify-content:space-between;text-decoration:none;display:flex}.contact-panel__title{font-size:clamp(40px,4.5vw,64px);line-height:1.08}.contact-panel__foot{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.contact-panel__arrow{color:var(--text);font-size:40px;line-height:1}@media (width<=980px){.contact-panel__foot{align-items:center}}.image-slider{aspect-ratio:16/10;border:1px solid var(--border);background:#121212;border-radius:2px;position:relative;overflow:hidden}.image-slider img{object-fit:contain;width:100%;height:100%}.image-slider--empty{justify-content:center;align-items:center;display:flex}.image-slider__arrow{border:1px solid var(--border-strong);width:40px;height:40px;color:var(--text);cursor:pointer;background:#050505a6;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:border-color .2s,color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-slider__arrow:hover,.image-slider__arrow:focus-visible{border-color:var(--text)}.image-slider__arrow--prev{left:16px}.image-slider__arrow--next{right:16px}.image-slider__dots{justify-content:center;gap:8px;display:flex;position:absolute;bottom:16px;left:0;right:0}.image-slider__dot{background:var(--border-strong);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0}.image-slider__dot--active{background:var(--text)}.project-layout{flex:1;grid-template-columns:1fr 2.5fr 2.5fr;display:grid}.project-nav{border-right:1px solid var(--border);grid-column:1}.project-nav__inner{min-height:100svh;padding:var(--pad) var(--pad) var(--pad) var(--pad-left);flex-direction:column;justify-content:space-between;display:flex;position:sticky;top:0}.project-content{min-width:0;padding:var(--pad-top) var(--pad) clamp(64px, 9vw, 112px) var(--pad-left);grid-column:2/span 2}.project-header{margin-bottom:clamp(40px,5vw,64px)}.project-header__title{align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.project-header__lede{color:var(--text);margin-bottom:32px;font-size:20px;line-height:1.6}.project-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:40px;margin:0 0 28px;padding:24px 0;display:flex}.project-meta dt{margin-bottom:6px}.project-meta dd{color:var(--text);max-width:32ch;margin:0;font-size:17px}.project-sections{flex-direction:column;gap:clamp(40px,5vw,64px);max-width:68ch;margin-top:clamp(56px,7vw,96px);display:flex}.project-section h2{margin-bottom:16px;font-size:26px}.project-section p{color:var(--text);font-size:18px;line-height:1.65}.project-section p+p{margin-top:16px}@media (width<=980px){.project-layout{flex-direction:column;display:flex}.project-nav{border-right:none;border-bottom:1px solid var(--border)}.project-nav__inner{flex-direction:row;justify-content:space-between;align-items:center;min-height:auto;position:static}.project-content{padding:var(--pad-top) var(--pad)}}
