:root{--bg:oklch(96.7% .001 286.375);--light:#fcfcfc;--accent-3:#0466c8;--dark:#181c14;--text:#020204;--text-on-dark:#efe9e3;--text-muted:#787b7d;--half-muted:oklch(39.1% 0 none);--highlight:color-mix(in srgb, var(--dark) 6%, transparent);--font-h1:2rem;--font-h1-mobile:1.75rem;--font-h2:1.25rem;--font-h2-mobile:1.1rem;--font-text:1rem;--font-caption:.85rem;--space-1:.25rem;--space-2:.5rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--page-pad:clamp(1.25rem, 4vw, 4rem);--space-section:clamp(6rem, 11vw, 12rem);--dur-fast:.15s;--dur-base:.3s;--ease-out:cubic-bezier(.22, 1, .36, 1);--nav-width:17.5rem;--content-width:72rem;--radius-tag:.25rem;--radius-control:.5rem;--tiles:1rem;--full-round:50rem}@media (width<=40em){:root{--font-h1:var(--font-h1-mobile);--font-h2:var(--font-h2-mobile)}}*,:before,:after{box-sizing:border-box;margin:0}html{scrollbar-gutter:stable}body{min-height:100dvh;font-family:Nacelle,system-ui,sans-serif;font-size:var(--font-text);color:var(--text);background-color:var(--bg);font-weight:400;line-height:1.4}body:has(dialog[open]){overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}img,svg,video{max-width:100%;display:block}.container{width:min(100% - 2 * var(--page-pad), 64rem);margin-inline:auto}section+section{margin-top:var(--space-section)}.head{padding-top:20vh}.head__contacts{gap:var(--space-1) var(--space-4);padding:var(--space-6) 0;flex-wrap:wrap;list-style:none;display:flex}.head__title{font-size:var(--font-h2);font-weight:600;line-height:1.2}.highlight__education{background-color:var(--highlight);padding:var(--space-1) var(--space-2);border-radius:var(--full-round);-webkit-box-decoration-break:clone;box-decoration-break:clone}.head__role{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--font-h2);font-weight:400}.head__tagline{font-size:var(--font-text);margin-top:var(--space-4);text-wrap:balance;font-weight:400;line-height:1.15}.head__about{gap:var(--space-4);margin-top:var(--space-4);max-width:60ch;font-size:var(--font-text);text-wrap:pretty;display:grid}.head__about a{color:inherit;text-decoration:none;transition:color .1s linear}.head__about a:hover{color:var(--text)}.head__tagline,.head__about{color:var(--half-muted)}@media (width<=40em){.head__role,.head__tagline{font-size:var(--font-h2-mobile)}.head__about{font-size:var(--font-text)}.head__tagline{text-wrap:pretty}}.btn{--btn-pad:.875rem 1.5rem;--btn-gap:var(--space-6);--btn-font:inherit;--btn-box:2.75rem;color:inherit;font:inherit;cursor:pointer;border-radius:var(--full-round);background:0 0;border:0;align-items:center;text-decoration:none;display:inline-flex}.btn[data-size=sm]{--btn-pad:var(--space-2) 1.25rem;--btn-gap:var(--space-4);--btn-font:.875rem;--btn-box:2rem}.btn:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}.btn[data-variant=solid]{gap:var(--btn-gap);padding:var(--btn-pad);font-size:var(--btn-font);background:var(--dark);color:var(--text-on-dark);transition:background-color var(--dur-base) var(--ease-out)}.btn[data-variant=solid]:hover,.btn[data-variant=solid]:focus-visible{background:var(--light);color:var(--dark)}.btn[data-variant=text]{gap:var(--space-2);font-size:var(--btn-font);color:var(--accent-3)}.btn[data-variant=text]:hover{text-decoration:underline}.btn[data-variant=icon]{width:var(--btn-box);height:var(--btn-box);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color var(--dur-fast) var(--ease-out);justify-content:center}.btn[data-variant=icon]:hover{background:var(--bg)}.projects{padding-left:calc(max(var(--page-pad), (100% - 64rem) / 2) - 8px);margin-top:10dvh}.projects__list{align-items:start;gap:var(--space-6);padding:var(--space-2) var(--page-pad) var(--space-4) 8px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:8px var(--page-pad);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--dark) 22%, transparent) transparent;-webkit-overflow-scrolling:touch;margin:0;list-style:none;display:flex;overflow-x:auto}.projects__list::-webkit-scrollbar{height:6px}.projects__list::-webkit-scrollbar-track{background:0 0}.projects__list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--dark) 22%, transparent);border-radius:var(--full-round)}.project-card{scroll-snap-align:start;flex:0 0 min(78vw,24rem);min-width:0}.project-card__tile{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.project-card__tile:focus-visible{outline:2px solid var(--accent-3);outline-offset:4px}.project-card__media{aspect-ratio:1;border-radius:var(--tiles);background:color-mix(in srgb, var(--dark) 5%, var(--bg));isolation:isolate;place-items:center;padding:clamp(1.5rem,7%,3rem);display:grid;overflow:hidden}.project-card__image{object-fit:contain;filter:drop-shadow(0 14px 28px #181c1429);width:100%;height:100%}.project-card__caption{gap:var(--space-1);padding:var(--space-4) 0;display:grid}.project-card__title{font-size:var(--font-text);font-weight:400;line-height:1.2}.project-card__summary{color:var(--text-muted);font-size:var(--font-caption);max-width:40ch}@media (width<=56em){.projects{padding-inline:var(--page-pad)}.projects__list{gap:var(--space-8);scroll-snap-type:none;grid-template-columns:minmax(0,1fr);width:100%;max-width:32rem;margin-inline:auto;padding:0;display:grid;overflow:visible}.project-card{width:100%}}.project-modal{background-color:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);overscroll-behavior:contain;scrollbar-gutter:stable;opacity:0;transition:opacity var(--dur-base) var(--ease-out);border:0;margin:auto;padding:0;overflow-y:auto}.project-modal[open]{opacity:1}.project-modal[open].is-closing{opacity:0}@starting-style{.project-modal[open]{opacity:0}}.project-modal__inner{min-height:100%;padding-bottom:var(--space-section)}.project-modal__bar{z-index:2;height:0;padding:0 var(--page-pad);justify-content:flex-end;display:flex;position:sticky;top:0}.project-modal__close{margin-top:var(--space-4);cursor:pointer;border-radius:50rem}.project-modal__article{width:min(100% - 2 * var(--page-pad), 46rem);gap:var(--space-8);margin-inline:auto;padding-top:clamp(4rem,9vw,7rem);display:grid}.project-modal__header{gap:var(--space-2);display:grid}.project-modal__eyebrow{color:var(--text-muted);font-size:var(--font-caption)}.project-modal__title{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(2.25rem,1.4rem + 2.8vw,3.5rem);font-weight:400;line-height:1.05}.project-modal__summary{max-width:48ch;color:var(--text-muted);text-wrap:pretty;font-size:1.0625rem;line-height:1.5}.project-modal__cover{background:color-mix(in srgb, var(--dark) 4%, var(--bg));aspect-ratio:16/9;border-radius:1.25rem;margin:0;overflow:hidden}.project-modal__media{object-fit:cover;width:100%;height:100%}.project-modal__prose{text-wrap:pretty;max-width:62ch;font-size:1.0625rem;line-height:1.65}.project-modal__prose p+p{margin-top:var(--space-4)}.project-modal__prose h3{margin-top:var(--space-8);margin-bottom:var(--space-2);font-size:1.25rem;font-weight:600;line-height:1.2}.project-modal__facts{gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid color-mix(in srgb, var(--dark) 12%, transparent);display:grid}.project-modal__fact{gap:var(--space-2);display:grid}.project-modal__fact h3{letter-spacing:-.01em;font-size:1.5rem;font-weight:600;line-height:1.2}.project-modal__muted{color:var(--text-muted)}.project-modal__inline-list{gap:var(--space-1) var(--space-2);color:var(--text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.project-modal__inline-list li:not(:last-child):after{content:"·";margin-left:var(--space-2);color:color-mix(in srgb, var(--text-muted) 55%, transparent)}.project-modal__inline-list a{color:inherit;text-decoration:none}.project-modal__inline-list a:hover{color:var(--text);text-decoration:underline}.toolkit{gap:var(--space-4) var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.toolkit__item{justify-items:center;gap:var(--space-2);width:4.5rem;display:grid}.toolkit__icon{border:1px solid color-mix(in srgb, var(--dark) 8%, transparent);background:var(--light);width:3.5rem;height:3.5rem;box-shadow:0 1px 2px color-mix(in srgb, var(--dark) 8%, transparent), 0 10px 22px -16px color-mix(in srgb, var(--dark) 55%, transparent);border-radius:.9rem;place-items:center;display:grid;overflow:hidden}.toolkit__icon img{object-fit:contain;width:1.75rem;height:1.75rem}.toolkit__monogram{color:var(--text-muted);font-size:1.125rem;font-weight:600}.toolkit__name{color:var(--text-muted);text-align:center;text-wrap:balance;font-size:.75rem;line-height:1.2}.project-modal__cta{justify-self:start}@media (width<=40em){.project-modal__article{gap:var(--space-6);padding-top:4.5rem}.project-modal__cover{border-radius:1rem}.project-modal__facts{gap:var(--space-6);padding-top:var(--space-6)}.toolkit{gap:var(--space-4)}.toolkit__item{width:4rem}.toolkit__icon{border-radius:.8rem;width:3.25rem;height:3.25rem}}.footer{padding-top:var(--space-12);padding-bottom:var(--space-8);justify-content:space-between;align-items:center;display:flex}.footer__name{font-size:var(--font-caption)}.footer__updated{font-size:var(--font-caption);color:var(--text-on-light)}.footer__link{font-size:var(--font-caption);color:var(--text)}@media (width<=40em){.footer{align-items:flex-start;gap:var(--space-2);flex-direction:column}}.legal{padding-top:20vh;padding-bottom:var(--space-section);max-width:44rem}.legal h2{font-size:var(--font-h2);margin-top:var(--space-8);margin-bottom:var(--space-2);font-weight:600}.legal p{text-wrap:pretty}.legal a{color:var(--accent-3)}.legal__back{margin-top:var(--space-12)}@font-face{font-family:Nacelle;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/nacelle-bold-B_dSraCx.woff2)format("woff2"),url(/assets/nacelle-bold-CV-a0v0N.woff)format("woff")}@font-face{font-family:Nacelle;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/nacelle-bolditalic-C_TlfSxa.woff2)format("woff2"),url(/assets/nacelle-bolditalic-Doi57SvE.woff)format("woff")}@font-face{font-family:Nacelle;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/nacelle-heavy-DKj-ckaQ.woff2)format("woff2"),url(/assets/nacelle-heavy-0xIxL0WO.woff)format("woff")}@font-face{font-family:Nacelle;font-style:italic;font-weight:800;font-display:swap;src:url(/assets/nacelle-heavyitalic-B1sOLRvH.woff2)format("woff2"),url(/assets/nacelle-heavyitalic-BHkWhSxG.woff)format("woff")}@font-face{font-family:Nacelle;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/nacelle-italic-Cwf086va.woff2)format("woff2"),url(/assets/nacelle-italic-CbqioUM1.woff)format("woff")}@font-face{font-family:Nacelle;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/nacelle-light-5m8B0XNE.woff2)format("woff2"),url(/assets/nacelle-light-B0PmnSU_.woff)format("woff")}@font-face{font-family:Nacelle;font-style:italic;font-weight:300;font-display:swap;src:url(/assets/nacelle-lightitalic-DZNI7O18.woff2)format("woff2"),url(/assets/nacelle-lightitalic-Dmtu4nPS.woff)format("woff")}@font-face{font-family:Nacelle;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/nacelle-regular-LAWy1SdL.woff2)format("woff2"),url(/assets/nacelle-regular-CCaU6QAm.woff)format("woff")}@font-face{font-family:Nacelle;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/nacelle-semibold-B5x_slU1.woff2)format("woff2"),url(/assets/nacelle-semibold-BEtimh-P.woff)format("woff")}@font-face{font-family:Nacelle;font-style:italic;font-weight:600;font-display:swap;src:url(/assets/nacelle-semibolditalic-CRnqrdJX.woff2)format("woff2"),url(/assets/nacelle-semibolditalic-B0-aSZtG.woff)format("woff")}
