@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-ext.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-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}:root{color-scheme:light;--bg:#fff;--surface:#fff;--soft:#f4f4f2;--tile:#ecece8;--ink:#1f2328;--ink-2:#5e646c;--ink-hover:#000;--line:#e2e2dd;--dark:#17181b;--nav-bg:#ffffffdb;--chip-bg:#ffffffe6;--accent:var(--ink);--font-display:"Archivo", var(--font);--font:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-display:clamp(2.75rem, 6vw, 5rem);--fs-h1:clamp(2.25rem, 4vw, 3.5rem);--fs-h2:clamp(1.5rem, 2.4vw, 2rem);--fs-h3:1.25rem;--fs-body:1.0625rem;--fs-small:.875rem;--fs-eyebrow:.75rem;--max:1200px;--read:720px;--gutter:clamp(16px, 4vw, 32px);--radius-sm:10px;--radius:16px;--radius-lg:28px;--pill:999px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;--s8:64px;--s12:96px;--s16:128px;--section:clamp(var(--s12), 12vw, var(--s16));--ease:cubic-bezier(.2, .7, .2, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--shadow:0 1px 2px #17181b0a, 0 4px 16px #17181b0d;--shadow-strong:0 1px 2px #17181b0f, 0 8px 28px #17181b1a;--ring:#17181b0f}:root[data-theme=dark]{color-scheme:dark;--bg:#111214;--surface:#111214;--soft:#1b1c1f;--tile:#1f2024;--ink:#ecece9;--ink-2:#a2a6ac;--ink-hover:#fff;--line:#2b2c30;--dark:#0a0b0c;--nav-bg:#1e1f22d1;--chip-bg:#111214d9;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000059;--shadow-strong:0 1px 2px #0006, 0 8px 28px #00000080;--ring:#ffffff14}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color .3s var(--ease), color .3s var(--ease);margin:0;font-weight:400;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:700;line-height:1.15}p{text-wrap:pretty;margin:0}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.skip-link{left:var(--s2);z-index:100;background:var(--ink);color:var(--surface);border-radius:var(--pill);font-size:var(--fs-small);padding:12px 18px;font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:var(--s2)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.container{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600}.muted{color:var(--ink-2)}.link{transition:background-size .3s var(--ease-out), color .2s;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.link:hover{color:var(--accent);background-size:100% 1px}.btn{align-items:center;gap:var(--s1);border-radius:var(--pill);background:var(--ink);min-height:44px;color:var(--surface);font-size:var(--fs-small);cursor:pointer;transition:background-color .2s, transform .2s var(--ease-out);padding:0 20px;font-weight:600;display:inline-flex}.btn:hover{background:var(--ink-hover)}.btn:active{transform:scale(.98)}.btn--ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn--ghost:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--ink)}.section{padding-block:var(--section) 0}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s2);margin-bottom:var(--s6);display:flex}.section-head h2{font-size:var(--fs-h2)}.js .reveal{opacity:0;filter:blur(8px);transition:opacity .6s var(--ease), filter .6s var(--ease), transform .6s var(--ease);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(12px)}.js .reveal.is-in{opacity:1;filter:none;transform:none}.split .word{display:inline-block}.js .split .word>span{opacity:0;filter:blur(10px);transition:opacity .7s var(--ease), filter .7s var(--ease), transform .7s var(--ease-out);transition-delay:calc(var(--d,0s) + var(--w,0) * 60ms);display:inline-block;transform:translateY(.35em)}.js .split.is-in .word>span{opacity:1;filter:none;transform:none}.js .unveil{clip-path:inset(5% 5% 5% 5% round var(--radius));transition:clip-path .9s var(--ease-out)}.js .unveil img{transition:scale 1.2s var(--ease-out), transform .5s var(--ease-out);scale:1.08}.js .unveil.is-in{clip-path:inset(0 0 0 0 round var(--radius))}.js .unveil.is-in img{scale:1}.roll{white-space:nowrap;display:inline-block}.roll__chars{display:inline-flex}.roll__c{margin-block:-.08em;padding-block:.08em;display:inline-grid;overflow:hidden}.roll__c>span{transition:transform .5s var(--ease-out);transition-delay:calc(var(--c,0) * 14ms);grid-area:1/1}.roll__c>span+span{transform:translateY(110%)}:is(a,button):is(:hover,:focus-visible) .roll__c>span:first-child{transform:translateY(-110%)}:is(a,button):is(:hover,:focus-visible) .roll__c>span+span{transform:translateY(0)}.fill .fw{opacity:var(--o,1);transition:opacity .2s linear}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .split .word>span{filter:none;transition:none;transform:none}.js .unveil,.js .unveil.is-in{clip-path:none}.js .unveil img{scale:1}.roll__c>span+span{display:none}:is(a,button):is(:hover,:focus-visible) .roll__c>span:first-child{transform:none}.fill .fw{opacity:1!important}*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.tile{border-radius:var(--radius);background:var(--tile);isolation:isolate;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out), scale 1.2s var(--ease-out);transform:scale(1.001)}.tile__cta{z-index:1;border-radius:var(--pill);background:var(--ink);color:var(--surface);font-size:var(--fs-small);opacity:0;transition:opacity .4s var(--ease-out), transform .5s var(--ease-out);align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:16px;left:16px;transform:translateY(10px)}.card-arrow{transition:transform .4s var(--ease-out), opacity .4s var(--ease-out);flex:none}.card-title{transition:transform .5s var(--ease-out)}a:is(:hover,:focus-visible) .tile img{transform:scale(1.04)}a:is(:hover,:focus-visible) .tile__cta{opacity:1;transform:none}@media (hover:hover){.card-arrow{opacity:0;transform:translate(-4px,4px)}a:is(:hover,:focus-visible) .card-arrow{opacity:1;transform:translate(0)}a:is(:hover,:focus-visible) .card-title{transform:translate(4px)}}@media (hover:none){.tile__cta{display:none}}@media (prefers-reduced-motion:reduce){a:is(:hover,:focus-visible) .tile img,a:is(:hover,:focus-visible) .card-title{transform:none}}.btn svg{transition:transform .4s var(--ease-out)}.btn:hover svg.nudge-x{transform:translate(3px)}.btn:hover svg.nudge-y{transform:translateY(2px)}.btn:hover svg.nudge-up{transform:translate(2px,-2px)}.nav-wrap[data-astro-cid-wpvy4v7s]{top:var(--s2);z-index:50;justify-content:center;align-items:center;gap:var(--s1);padding-inline:var(--s2);margin-top:var(--s2);pointer-events:none;display:flex;position:sticky}.nav[data-astro-cid-wpvy4v7s]{pointer-events:auto;align-items:center;gap:var(--s1);background:var(--nav-bg);backdrop-filter:saturate(1.4)blur(12px);border-radius:var(--pill);box-shadow:var(--shadow), inset 0 0 0 1px var(--ring);transition:box-shadow .3s var(--ease);font-size:var(--fs-small);max-width:100%;padding:4px 4px 4px 20px;font-weight:500;display:flex}.nav[data-astro-cid-wpvy4v7s].is-scrolled{box-shadow:var(--shadow-strong), inset 0 0 0 1px var(--ring)}.nav__name[data-astro-cid-wpvy4v7s]{letter-spacing:-.01em;white-space:nowrap;margin-right:var(--s3);font-size:1rem;font-weight:700}.nav__links[data-astro-cid-wpvy4v7s]{align-items:center;list-style:none;display:flex}.nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{border-radius:var(--pill);align-items:center;min-height:44px;display:inline-flex}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:not(.nav__cta){color:var(--ink-2);padding:0 14px;transition:color .2s;position:relative}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:not(.nav__cta):after{content:"";opacity:0;width:4px;height:4px;transition:opacity .3s var(--ease-out), transform .4s var(--ease-out);background:currentColor;border-radius:50%;margin-left:-2px;position:absolute;bottom:6px;left:50%;transform:scale(0)}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:not(.nav__cta):hover,.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:not(.nav__cta)[aria-current]{color:var(--ink)}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:not(.nav__cta)[aria-current]:after{opacity:1;transform:scale(1)}.nav__cta[data-astro-cid-wpvy4v7s]{background:var(--ink);color:var(--surface);white-space:nowrap;margin-left:4px;padding:0 18px;font-weight:600;transition:background-color .2s}.nav__cta[data-astro-cid-wpvy4v7s]:hover{background:var(--ink-hover)}.nav__cta-short[data-astro-cid-wpvy4v7s]{display:none}.nav__theme[data-astro-cid-wpvy4v7s]{pointer-events:auto;border-radius:var(--pill);background:var(--nav-bg);backdrop-filter:saturate(1.4)blur(12px);width:52px;height:52px;box-shadow:var(--shadow), inset 0 0 0 1px var(--ring);color:var(--ink-2);cursor:pointer;transition:color .2s, box-shadow .3s var(--ease);border:0;flex:none;place-items:center;padding:0;display:grid}.nav__theme[data-astro-cid-wpvy4v7s]:hover{color:var(--ink);box-shadow:var(--shadow-strong), inset 0 0 0 1px var(--ring)}.nav__theme[data-astro-cid-wpvy4v7s] svg[data-astro-cid-wpvy4v7s]{transition:transform .5s var(--ease-out), opacity .3s;grid-area:1/1}.i-sun[data-astro-cid-wpvy4v7s]{opacity:0;transform:rotate(-90deg)scale(.6)}[data-theme=dark] .i-sun[data-astro-cid-wpvy4v7s]{opacity:1;transform:none}[data-theme=dark] .i-moon[data-astro-cid-wpvy4v7s]{opacity:0;transform:rotate(90deg)scale(.6)}@media (width<=560px){.nav-wrap[data-astro-cid-wpvy4v7s]{padding-inline:var(--s1);gap:6px}.nav[data-astro-cid-wpvy4v7s]{gap:0;padding-left:14px}.nav__name[data-astro-cid-wpvy4v7s]{margin-right:2px}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:not(.nav__cta){padding:0 6px}.nav__cta[data-astro-cid-wpvy4v7s]{padding:0 12px}.nav__cta-long[data-astro-cid-wpvy4v7s]{display:none}.nav__cta-short[data-astro-cid-wpvy4v7s]{display:inline}.nav__theme[data-astro-cid-wpvy4v7s]{width:44px;height:44px}}@media (width<=420px){.nav__resume[data-astro-cid-wpvy4v7s]{display:none}}.footer[data-astro-cid-jo6i4kqk]{padding-top:var(--section);padding-bottom:var(--s4)}.footer__card[data-astro-cid-jo6i4kqk]{text-align:center;align-items:center;gap:var(--s3);padding:clamp(var(--s8), 10vw, var(--s16)) var(--s3);background:var(--soft);border-radius:var(--radius-lg);flex-direction:column;display:flex}.footer__card[data-astro-cid-jo6i4kqk] .footer__line{font-size:var(--fs-display);letter-spacing:-.02em;line-height:1.05}.footer__email[data-astro-cid-jo6i4kqk]{letter-spacing:-.01em;max-width:100%;padding-block:4px;font-size:clamp(1.25rem,3vw,2rem);font-weight:600}.footer__links[data-astro-cid-jo6i4kqk]{justify-content:center;gap:var(--s1) var(--s4);font-size:var(--fs-small);color:var(--ink-2);flex-wrap:wrap;font-weight:500;list-style:none;display:flex}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{align-items:center;min-height:44px;display:inline-flex}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}.footer__base[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--s1) var(--s3);padding-top:var(--s4);font-size:var(--fs-small);color:var(--ink-2);flex-wrap:wrap;display:flex}
