.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.visually-hidden[data-astro-cid-uljfmz64]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.glass-nav[data-astro-cid-uljfmz64]{z-index:60;width:205px;transition:width .7s var(--ease-nav);background:var(--nav-glass);backdrop-filter:blur(28px)saturate(1.6);border-radius:24px;position:fixed;top:16px;left:50%;overflow:hidden;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(1px))) and (not (backdrop-filter:blur(1px))){.glass-nav[data-astro-cid-uljfmz64]{-webkit-backdrop-filter:blur(28px)saturate(1.6)}}@supports not (backdrop-filter:blur(1px)){.glass-nav[data-astro-cid-uljfmz64]{background:var(--nav-solid)}}@media (prefers-contrast:more){.glass-nav[data-astro-cid-uljfmz64]{background:var(--nav-solid)}}@media (prefers-reduced-motion:reduce){.glass-nav[data-astro-cid-uljfmz64],.nav-panel[data-astro-cid-uljfmz64]{transition-duration:.01ms!important}}.glass-nav[data-astro-cid-uljfmz64] [data-astro-cid-uljfmz64]:is(a,button):focus-visible{outline:2px solid var(--nav-focus);outline-offset:3px;border-radius:6px}.light[data-astro-cid-uljfmz64]{--nav-focus:#17170f}.dark[data-astro-cid-uljfmz64]{--nav-focus:#fff}.nav-row[data-astro-cid-uljfmz64]{justify-content:space-between;align-items:center;gap:16px;padding:9px 9px 9px 22px;display:flex}.nav-logo[data-astro-cid-uljfmz64]{letter-spacing:1px;white-space:nowrap;font-size:13px;font-weight:700;text-decoration:none}.nav-toggle[data-astro-cid-uljfmz64]{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-size:10px;font-weight:600;transition:transform .3s}.nav-toggle[data-astro-cid-uljfmz64]:hover{transform:scale(1.05)}.nav-panel[data-astro-cid-uljfmz64]{opacity:0;visibility:hidden;max-height:0;transition:max-height .7s var(--ease-nav), opacity .5s ease, visibility 0s linear .7s;overflow:hidden}.glass-nav[data-astro-cid-uljfmz64].open .nav-panel[data-astro-cid-uljfmz64]{visibility:visible;transition:max-height .7s var(--ease-nav), opacity .5s ease, visibility 0s}.nav-links[data-astro-cid-uljfmz64]{grid-template-columns:1fr 1fr;display:grid}.nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]{justify-content:center;align-items:center;padding:18px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .3s,color .18s;display:flex}.nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64][aria-current=page]{text-underline-offset:4px;font-weight:700;text-decoration:underline}.nav-footer[data-astro-cid-uljfmz64]{justify-content:space-between;align-items:flex-end;gap:24px;padding:18px 22px 20px;display:flex}.nav-contact[data-astro-cid-uljfmz64]{flex-direction:column;gap:5px;display:flex}.nav-contact-label[data-astro-cid-uljfmz64]{letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:600}.email-wrap[data-astro-cid-uljfmz64]{align-items:center;display:flex;position:relative}.email-link[data-astro-cid-uljfmz64],.resume-link[data-astro-cid-uljfmz64]{cursor:pointer;white-space:nowrap;padding:6px 0;font-size:13px;font-weight:500;text-decoration:none;transition:color .18s}.email-tip[data-astro-cid-uljfmz64]{white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:500;transition:opacity .18s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.light[data-astro-cid-uljfmz64] .nav-logo[data-astro-cid-uljfmz64]{color:#17170f}.light[data-astro-cid-uljfmz64] .nav-toggle[data-astro-cid-uljfmz64]{color:#faf9f6;background:#17170f}.light[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64]{border-top:1px solid #17170f2e}.light[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]{color:#333;border-bottom:1px solid #17170f2e}.light[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]:nth-child(odd){border-right:1px solid #17170f2e}.light[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]:hover{color:#000;background:#17170f0f}.light[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]:active{background:#17170f1f}.light[data-astro-cid-uljfmz64] .nav-contact-label[data-astro-cid-uljfmz64]{color:#55534c}.light[data-astro-cid-uljfmz64] .email-link[data-astro-cid-uljfmz64],.light[data-astro-cid-uljfmz64] .resume-link[data-astro-cid-uljfmz64]{color:#333}.light[data-astro-cid-uljfmz64] .email-link[data-astro-cid-uljfmz64]:hover,.light[data-astro-cid-uljfmz64] .resume-link[data-astro-cid-uljfmz64]:hover{color:#000;text-decoration:underline}.light[data-astro-cid-uljfmz64] .email-tip[data-astro-cid-uljfmz64]{color:#faf9f6;background:#17170f}.dark[data-astro-cid-uljfmz64] .nav-logo[data-astro-cid-uljfmz64]{color:#f0efe9}.dark[data-astro-cid-uljfmz64] .nav-toggle[data-astro-cid-uljfmz64]{color:#101010;background:#f0efe9}.dark[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64]{border-top:1px solid #f0efe940}.dark[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]{color:#c9c7c0;border-bottom:1px solid #f0efe940}.dark[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]:nth-child(odd){border-right:1px solid #f0efe940}.dark[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]:hover{color:#fff;background:#f0efe91f}.dark[data-astro-cid-uljfmz64] .nav-links[data-astro-cid-uljfmz64] a[data-astro-cid-uljfmz64]:active{background:#f0efe933}.dark[data-astro-cid-uljfmz64] .nav-contact-label[data-astro-cid-uljfmz64]{color:#b5b3ab}.dark[data-astro-cid-uljfmz64] .email-link[data-astro-cid-uljfmz64],.dark[data-astro-cid-uljfmz64] .resume-link[data-astro-cid-uljfmz64]{color:#c9c7c0}.dark[data-astro-cid-uljfmz64] .email-link[data-astro-cid-uljfmz64]:hover,.dark[data-astro-cid-uljfmz64] .resume-link[data-astro-cid-uljfmz64]:hover{color:#fff;text-decoration:underline}.dark[data-astro-cid-uljfmz64] .email-tip[data-astro-cid-uljfmz64]{color:#101010;background:#f0efe9}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-latin-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Instrument Sans", Helvetica, sans-serif;--light-bg:#faf9f6;--light-ink:#17170f;--light-body:#55534c;--light-muted:#8a877e;--light-line:#e5e2da;--dark-bg:#101010;--dark-bg-about:#1b1b19;--dark-ink:#f0efe9;--dark-body:#b5b3ab;--dark-muted:#9b9992;--dark-soft:#c9c7c0;--dark-card:#191917;--dark-line:#f0efe91f;--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-nav:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}img,video{max-width:100%}@keyframes jhk-fadeup{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes jhk-blink{0%,49%{opacity:1}50%,to{opacity:0}}.jhk-rail{display:none!important}@media (width>=1380px){.jhk-rail{display:flex!important}}.carousel{position:relative}.jhk-carousel-track{scroll-behavior:smooth;scrollbar-width:none;border-radius:10px;gap:16px;display:flex;overflow-x:auto}.jhk-carousel-track::-webkit-scrollbar{display:none}.jhk-carousel-track img{object-fit:cover;border-radius:10px;flex:none;width:auto;max-width:90vw;height:420px;display:block}.carousel button{color:#faf9f6;cursor:pointer;opacity:0;backdrop-filter:blur(6px);background:#17170f8c;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:opacity .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel button[data-carousel-prev]{left:12px}.carousel button[data-carousel-next]{right:12px}.carousel:hover button,.carousel:focus-within button{opacity:1}@media (hover:none){.carousel button{opacity:1}}.skip-link{z-index:70;color:#faf9f6;background:#17170f;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}#content:focus{outline:none}:where(a,button,[tabindex]):focus-visible{outline-offset:3px;outline:2px solid}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}[data-theme=light]{background:var(--light-bg);color:var(--light-ink)}[data-theme=light] ::selection{color:#faf9f6;background:#17170f}[data-theme=dark]{background:var(--dark-bg);color:var(--dark-ink)}[data-theme=dark] ::selection{color:#101010;background:#f0efe9}html:not(.unlocked) body[data-gated] #content{filter:blur(28px);pointer-events:none;user-select:none}.lock{backdrop-filter:blur(28px)saturate(1.6);border:0;border-radius:24px;width:min(460px,100% - 32px);max-width:none;padding:0;box-shadow:0 2px 8px #17170f14,0 24px 64px #17170f2e}@supports ((-webkit-backdrop-filter:blur(1px))) and (not (backdrop-filter:blur(1px))){.lock{-webkit-backdrop-filter:blur(28px)saturate(1.6)}}[data-theme=light] .lock{color:#17170f;background:#faf9f6a6}[data-theme=dark] .lock{color:#f0efe9;background:#101010bd;box-shadow:0 0 0 1px #f0efe91a,0 24px 64px #00000073}.lock::backdrop{background:#10100c2e}.lock[open]{animation:.35s cubic-bezier(.22,1,.36,1) lock-in}.lock[open]::backdrop{animation:.35s lock-fade}@keyframes lock-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes lock-fade{0%{opacity:0}to{opacity:1}}.lock.is-closing{animation:.22s cubic-bezier(.4,0,1,1) forwards lock-out}.lock.is-closing::backdrop{animation:.22s ease-in forwards lock-fade-out}@keyframes lock-out{to{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes lock-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.lock[open],.lock[open]::backdrop{animation-duration:.01ms}}.lock-form{flex-direction:column;padding:32px;display:flex;position:relative}.lock-close{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .15s;display:grid;position:absolute;top:21px;right:21px}.lock-close:hover{background:#7f7f7f26}.lock-close svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:14px;height:14px}.lock-eyebrow{letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin:0 40px 12px 0;font-size:12px;font-weight:600;line-height:14px}.lock-title{letter-spacing:-.02em;text-wrap:balance;margin:0 0 24px;font-size:clamp(24px,2.6vw,30px);font-weight:600;line-height:1.15}.lock-row{position:relative}.lock-input{width:100%;height:48px;color:inherit;font:inherit;background:#faf9f6b8;border:1px solid #7f7f7f59;border-radius:999px;padding:0 54px 0 20px;font-size:16px;transition:background-color .15s,border-color .15s,box-shadow .15s}.lock-input:focus{background:#ffffffeb;border-color:#17170f47;outline:none;box-shadow:0 0 0 4px #17170f14}[data-theme=dark] .lock-input:focus{background:#101010bf;border-color:#f0efe961;box-shadow:0 0 0 4px #f0efe91a}.lock-input[aria-invalid=true]{border-color:#c4312b}.lock-input[aria-invalid=true]:focus{box-shadow:0 0 0 4px #c4312b1f}.lock-input::placeholder{color:#6f6d66;opacity:1}[data-theme=dark] .lock-input{background:#1010108c;border-color:#f0efe933}[data-theme=dark] .lock-input::placeholder{color:#9b9992}.lock-submit{cursor:pointer;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;transition:transform .15s,opacity .15s;display:grid;position:absolute;top:6px;right:6px}.lock-submit:hover{transform:translate(2px)}.lock-submit:active{transform:scale(.94)}.lock-submit svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}[data-theme=light] .lock-submit{color:#faf9f6;background:#17170f}[data-theme=dark] .lock-submit{color:#101010;background:#f0efe9}[data-theme=light] .lock-submit:focus-visible{outline-offset:2px;outline:2px solid #17170f}[data-theme=dark] .lock-submit:focus-visible{outline-offset:2px;outline:2px solid #f0efe9}.lock-row.is-wrong{animation:.42s cubic-bezier(.36,.07,.19,.97) lock-shake}@keyframes lock-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.lock-row.is-wrong{animation:none}}.lock-error{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--bodyBg)}
