@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-400-normal.BalHKn7d.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-next-latin-ext-400-normal.qxMiU51n.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/atkinson-hyperlegible-next-latin-400-normal.FfmJh7DR.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-next-latin-400-normal.DPp7N0cD.woff)format("woff");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:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-700-normal.CBw-mJf_.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-next-latin-ext-700-normal.292QVhS1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/atkinson-hyperlegible-next-latin-700-normal.Dpiyiu63.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-next-latin-700-normal.C2qZD_Q9.woff)format("woff");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}.v2{--v2-accent:var(--color-brand);font-feature-settings:"ss01"}.v2-container{box-sizing:border-box;max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,5vw,64px)}.v2-section{padding-bottom:clamp(64px,8vw,112px)}.v2 :is(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--v2-accent);outline-offset:3px;border-radius:10px}.v2-skip{z-index:50;background:var(--color-ink);color:#fff;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:500;position:absolute;top:-80px;left:16px}.v2-skip:focus{top:12px}@keyframes v2-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes v2-ping{0%{opacity:.6;transform:scale(1)}80%,to{opacity:0;transform:scale(3)}}.v2-rise{animation:.9s cubic-bezier(.2,.7,.2,1) both v2-rise;animation-delay:calc(var(--d,0) * 90ms)}@supports (animation-timeline:view()){.v2-reveal{animation:linear both v2-rise;animation-timeline:view();animation-range:entry entry 55%}}.v2-ping{position:relative}.v2-ping:after{content:"";background:inherit;border-radius:999px;animation:2s cubic-bezier(0,0,.2,1) infinite v2-ping;position:absolute;inset:0}.v2-lift{transition:translate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}.v2-lift:hover{translate:0 -3px;box-shadow:0 22px 44px -28px #0e0e1066}.v2-arrow{transition:translate .3s cubic-bezier(.2,.7,.2,1)}:is(a,button):hover>.v2-arrow,:is(a,button):hover .v2-arrow{translate:3px -3px}.v2-under{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1)}.v2-under:hover{background-size:100% 1px}[data-tx=only]{display:none}@media (prefers-reduced-motion:reduce){.v2 *,.v2 :before,.v2 :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html[data-a11y-size="1"] body.v2{zoom:1.125;--a11y-zoom:1.125}html[data-a11y-size="2"] body.v2{zoom:1.25;--a11y-zoom:1.25}html[data-a11y-size="3"] body.v2{zoom:1.5;--a11y-zoom:1.5}html.a11y-contrast{--color-ink-2:#0e0e10;--color-ink-3:#1a1a1e;--color-ink-4:#26262b;--color-ink-5:#303036;--color-hairline:#85858c;--color-hairline-2:#9a9aa0;--color-control:#4a4a50;--color-brand:#1d3fd1}html.a11y-contrast .v2 :is(.bg-ink,[class*=bg-ink\/],.v2-contact){--color-brand:#8ea6ff;--v2-accent:#8ea6ff}html.a11y-contrast .v2 :is(main,footer) a:not([class*=bg-]){text-underline-offset:3px;text-decoration:underline}html.a11y-contrast .v2 :is(a,button,summary,input,textarea,select):focus-visible{outline-width:3px}@media (prefers-contrast:more){:root{--color-ink-2:#0e0e10;--color-ink-3:#1a1a1e;--color-ink-4:#26262b;--color-ink-5:#303036;--color-hairline:#85858c;--color-hairline-2:#9a9aa0;--color-control:#4a4a50;--color-brand:#1d3fd1}.v2 :is(main,footer) a:not([class*=bg-]){text-underline-offset:3px;text-decoration:underline}.v2 :is(.bg-ink,[class*=bg-ink\/],.v2-contact){--color-brand:#8ea6ff;--v2-accent:#8ea6ff}}html.a11y-spacing .v2 :is(p,li,dd,dt,summary,blockquote,figcaption,label){letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.9!important}html.a11y-spacing .v2 p+p{margin-top:2em}html.a11y-readable body.v2{font-family:Atkinson Hyperlegible Next,ui-sans-serif,system-ui,sans-serif}html.a11y-underline .v2 a:not([class*=bg-]){text-underline-offset:3px;text-decoration:underline!important}html.a11y-motion .v2 *,html.a11y-motion .v2 :before,html.a11y-motion .v2 :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html.a11y-text .v2 .v2-container{max-width:720px}html.a11y-text .v2 [data-tx=hide],html.a11y-text .v2 [data-tx-extra=hide-phone],html.a11y-text .v2 [data-tx-cap]>:nth-child(n+4){display:none!important}html.a11y-text .v2 [data-tx=only]{display:block}html.a11y-text .v2 [data-tx=flat]{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding-inline:0!important}html.a11y-text .v2 [data-tx=flat],html.a11y-text .v2 [data-tx=flat] :is(p,h3,dt,dd,span,strong):not(:is(a,button)[class*=bg-] *){color:var(--color-ink)!important}html.a11y-text .v2 [data-tx=flat] a:not([class*=bg-]){color:var(--color-brand)!important}html.a11y-text .v2 [class*=grid-cols]{grid-template-columns:minmax(0,1fr)!important}html.a11y-text .v2 [class*=grid-cols]>*{grid-area:auto!important}html.a11y-text .v2 [data-tx-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}html.a11y-text .v2 *,html.a11y-text .v2 :before,html.a11y-text .v2 :after{transition:none!important;animation:none!important}html.a11y-text .v2 p:not(.font-mono){font-size:16px;line-height:1.6}html.a11y-text .v2 h2{font-size:24px!important}html.a11y-text .v2 .v2-contact{border-top:1px solid var(--color-hairline);min-height:0;color:var(--color-ink);background:0 0;border-radius:0;gap:24px;padding:20px 0 0}html.a11y-text .v2 .v2-contact :is(p,dt){color:var(--color-ink-4)}html.a11y-text .v2 .v2-contact h2{max-width:none;font-size:28px!important}html.a11y-text .v2 .v2-contact-email{background:var(--color-ink);color:#fff}html.a11y-text .v2 .v2-contact-resume{border-color:var(--color-control);color:var(--color-ink);background:0 0}.dp-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dp-panel{z-index:40;width:min(380px, calc(100vw / var(--a11y-zoom,1) - 40px));max-height:calc(100dvh / var(--a11y-zoom,1) - 96px);box-sizing:border-box;border:1px solid var(--color-hairline);color:var(--color-ink);text-align:left;background:#fff;border-radius:22px;padding:18px;font-family:inherit;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 30px 70px -30px #0e0e1073}.dp-panel[hidden]{display:none}.dp-panel:not([hidden]){transform-origin:100% 0;animation:.3s cubic-bezier(.2,.7,.2,1) both dp-drop}@keyframes dp-drop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}.dp-seg[aria-pressed=true]{background:var(--color-ink);color:#fff}.dp-track{box-sizing:border-box;background:#85858c;border-radius:999px;flex:none;width:44px;height:26px;padding:3px;transition:background-color .2s;display:flex}.dp-knob{background:#fff;border-radius:999px;width:20px;height:20px;transition:translate .2s cubic-bezier(.2,.7,.2,1);box-shadow:0 1px 3px #0e0e104d}.dp-switch[aria-checked=true] .dp-track{background:var(--color-ink)}.dp-switch[aria-checked=true] .dp-knob{translate:18px}.v2 .dp-panel #display-title{font-size:17px!important}html.a11y-text .v2 .dp-panel [class*=grid-cols]{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v2 .dp-panel p{font-size:12px}@media (width<=640px){.dp-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (forced-colors:active){.v2 :is(a,button,summary,input,textarea,select):focus-visible{outline-color:highlight}.dp-panel{border-color:canvastext}.dp-seg[aria-pressed=true]{outline-offset:-2px;outline:2px solid highlight}.dp-track{forced-color-adjust:none;background:canvas;border:1px solid buttontext}.dp-knob{forced-color-adjust:none;background:buttontext}.dp-switch[aria-checked=true] .dp-track{background:highlight}.dp-switch[aria-checked=true] .dp-knob{background:highlighttext}}html.a11y-text .v2 [data-tx=flat]>*{border-inline-width:0!important}.v2 .dp-panel.dp-floating{z-index:60;max-height:calc(100dvh - 120px);overflow-y:auto;translate:-50%;top:auto!important;left:50%!important;right:auto!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;width:min(400px,100vw - 32px)!important;position:fixed!important}.v2 [data-focus=box]:focus-visible{outline:none}html.tone-night:not(.a11y-contrast),html.tone-night:not(.a11y-contrast) dialog[open]{filter:brightness(.86)sepia(.16)saturate(.9)}@media (prefers-reduced-motion:no-preference){html:not(.a11y-motion){transition:filter .6s}}html:has(body.v2){scrollbar-color:#c9c9c4 var(--color-paper)}html.a11y-contrast:has(body.v2){scrollbar-color:#85858c var(--color-paper)}html:has(body.v2){scrollbar-gutter:stable}.dp-panel.dp-floating:not([hidden]){transform-origin:50% 100%;animation-name:dp-rise}@keyframes dp-rise{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}.dp-panel.dp-closing{pointer-events:none;animation:.18s cubic-bezier(.4,0,1,1) both dp-out!important}.dp-panel.dp-floating.dp-closing{animation-name:dp-out-down!important}@keyframes dp-out{to{opacity:0;transform:translateY(-6px)scale(.98)}}@keyframes dp-out-down{to{opacity:0;transform:translateY(12px)scale(.96)}}html.a11y-motion .dp-panel{animation:none!important}.sp-dialog{--sp-top:max(16px, 12vh / var(--a11y-zoom,1));top:var(--sp-top);width:min(640px, calc(100vw / var(--a11y-zoom,1) - 32px));max-height:min(640px, calc(100dvh / var(--a11y-zoom,1) - var(--sp-top) - 16px));position:absolute;left:50%;translate:-50%}.v2-sheet-handle,.dp-scrim{display:none}@media (width<=640px){.v2-sheet-handle{touch-action:none;cursor:grab;place-items:center;height:28px;margin:-14px 0 2px;display:grid}.v2-sheet-handle:before{content:"";background:var(--color-hairline);border-radius:999px;width:40px;height:5px}.sp-dialog .v2-sheet-handle{flex:none;margin:0 0 -10px}.v2 .dp-panel,.v2 .dp-panel.dp-floating,.sp-dialog{border-width:1px 0 0;border-radius:24px 24px 0 0;translate:none;box-shadow:0 -24px 60px -30px #0e0e1073;width:auto!important;position:fixed!important;inset:auto 0 0!important}.v2 .dp-panel,.v2 .dp-panel.dp-floating{z-index:70;max-height:calc(100dvh / var(--a11y-zoom,1) - 48px);padding-bottom:calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain}.sp-dialog{height:calc(100dvh / var(--a11y-zoom,1) - 40px);max-height:none;padding-bottom:env(safe-area-inset-bottom)}[data-display]:has(>.dp-panel:not([hidden]))>.dp-scrim{z-index:69;touch-action:none;background:#0e0e1066;display:block;position:fixed;inset:0}}@media (prefers-reduced-motion:no-preference){html:not(.a11y-motion) .v2 .sp-scrim{animation:.18s ease-out both v2-fade-in!important}html:not(.a11y-motion) .v2 .sp-dialog{animation:.2s cubic-bezier(.2,.7,.2,1) both sp-in!important}html:not(.a11y-motion) .v2 [data-state=closing] .sp-scrim{animation:.2s ease-in both v2-fade-out!important}html:not(.a11y-motion) .v2 [data-state=closing] .sp-dialog{animation:.16s ease-in both sp-out!important}@media (width<=640px){html:not(.a11y-motion) .v2 .sp-dialog,html:not(.a11y-motion) .v2 .dp-panel:not([hidden]),html:not(.a11y-motion) .v2 .dp-panel.dp-floating:not([hidden]){animation:.34s cubic-bezier(.2,.8,.2,1) both v2-sheet-in!important}html:not(.a11y-motion) .v2 [data-state=closing] .sp-dialog,html:not(.a11y-motion) .v2 .dp-panel.dp-closing,html:not(.a11y-motion) .v2 .dp-panel.dp-floating.dp-closing{animation:.22s cubic-bezier(.4,0,1,1) both v2-sheet-out!important}html:not(.a11y-motion) .v2 [data-display]:has(>.dp-panel:not([hidden]))>.dp-scrim{animation:.25s ease-out both v2-fade-in!important}html:not(.a11y-motion) .v2 [data-display]:has(>.dp-panel.dp-closing)>.dp-scrim{animation:.22s ease-in both v2-fade-out!important}}}@keyframes sp-in{0%{opacity:0;transform:scale(.96)}}@keyframes sp-out{to{opacity:0;transform:scale(.97)}}@keyframes v2-sheet-in{0%{transform:translateY(100%)}}@keyframes v2-sheet-out{to{transform:translateY(100%)}}@keyframes v2-fade-in{0%{opacity:0}}@keyframes v2-fade-out{to{opacity:0}}.v2 .v2-faq{interpolate-size:allow-keywords}.v2 .v2-faq::details-content{opacity:0;height:0;transition:height .35s cubic-bezier(.2, .7, .2, 1), opacity .25s ease, content-visibility .35s allow-discrete;overflow:clip}.v2 .v2-faq[open]::details-content{opacity:1;height:auto}html.a11y-motion .v2 .v2-faq::details-content{transition:none}@media (prefers-reduced-motion:reduce){.v2 .v2-faq::details-content{transition:none}}.v2 [data-focus=line],.v2 [data-focus=line]:focus-visible{border-radius:0}.v2 [data-focus=line]:focus-visible{outline:none;border-bottom-color:var(--color-brand)!important}html.a11y-contrast .v2 [data-focus=line]:focus-visible{border-bottom-color:var(--color-ink)!important}@media (forced-colors:active){.v2 [data-focus=line]:focus-visible{border-bottom-color:highlight!important}}.v2 .fl-root{--fl-paper:var(--color-paper)}
