:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5f4f1;--ink-muted:#f5f4f1ad;--ink-faint:#f5f4f16b;--surface:#0b0b0bd1;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0)}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#080808;margin:0;font-family:museo-sans,sans-serif}body{isolation:isolate;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;position:relative;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}.background-shader{z-index:0;pointer-events:none;opacity:0;transition:opacity .9s var(--ease-out);position:fixed;inset:0}.background-shader.is-ready{opacity:.94}.background-shader canvas{width:100%;height:100%;display:block}.profile{z-index:1;place-items:center;min-height:100dvh;padding:clamp(1.25rem,4vw,3rem);display:grid;position:relative}.logo-trigger{aspect-ratio:1;width:clamp(9.5rem,24vw,13rem);color:inherit;cursor:pointer;opacity:1;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);background:0 0;border:0;border-radius:50%;padding:0;position:absolute;transform:scale(1)}.logo-trigger.is-loading{pointer-events:none;opacity:0;transform:scale(.95)}.logo-trigger.is-visible{opacity:1;transform:scale(1)}.logo-trigger:hover{transform:scale(.94)}.logo-trigger:active{transform:scale(.9)}.logo-trigger:focus-visible{outline:none}.logo-trigger.is-exiting{pointer-events:none;opacity:0;transition:opacity .2s var(--ease-out), transform .25s var(--ease-out);transition-timing-function:var(--ease-in);transform:scale(.1)}.logo-shader{display:block;position:absolute;inset:0;overflow:hidden}.logo-shader canvas,.logo-fallback{width:100%;height:100%;display:block;position:absolute;inset:0}.logo-shader canvas{opacity:0;transition:opacity .3s}.logo-shader.is-ready canvas{opacity:1}.logo-fallback{object-fit:contain;opacity:1;filter:brightness(0)invert();transition:opacity .5s var(--ease-out);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.logo-trigger.is-loading .logo-fallback,.logo-shader.is-ready .logo-fallback{opacity:0}.logo-shader.is-fallback .logo-fallback{opacity:1}.about{background:var(--surface);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);opacity:0;visibility:hidden;width:min(100%,43rem);transition:opacity .62s var(--ease-out), transform .62s var(--ease-out), visibility 0s linear .62s;border-radius:.5rem;padding:clamp(2rem,5vw,4.5rem);position:relative;transform:scale(.94);box-shadow:0 1rem 2rem #0000003b}.about.is-visible{opacity:1;visibility:visible;transition-delay:.24s;transform:scale(1)}.about:focus{outline:none}.about p a{color:var(--ink-muted);text-decoration:none;transition:color .24s}.about p a:hover{color:var(--ink)}.about p a:focus-visible{outline-offset:.25rem;outline:1px solid}h1{letter-spacing:-.035em;text-wrap:balance;white-space:nowrap;max-width:none;margin:0 0 clamp(1.75rem,4vw,2.75rem);font-size:clamp(2.3rem,5vw,3.4rem);font-weight:700;line-height:.92}.about>p:not(.about-label){max-width:60ch;color:var(--ink-muted);margin:0;font-size:clamp(1rem,1.8vw,1.15rem);font-weight:300;line-height:1.65}.links{justify-items:start;gap:1.5rem;width:100%;margin-top:2.5rem;display:grid}.contact-action{color:var(--ink);align-items:center;text-decoration:none;transition:color .24s;display:grid;position:relative}.contact-primary{grid-template-columns:minmax(0,max-content) 2.25rem;justify-self:start;gap:.25rem .35rem;width:max-content;max-width:100%;display:inline-grid}.contact-kicker{color:var(--ink-faint);letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;font-size:.72rem;font-weight:600;line-height:1.4}.contact-value{min-width:0;color:var(--ink-muted);overflow-wrap:anywhere;letter-spacing:-.015em;font-weight:500;line-height:1.2;text-decoration:none;transition:color .24s}.contact-primary .contact-value{font-size:clamp(1.25rem,3.2vw,1.65rem)}.contact-secondary .contact-value{font-size:.9rem}.contact-secondary{grid-template-columns:auto auto;gap:.55rem;padding-block:.35rem}.linkedin-icon{width:1rem;height:1rem;color:var(--ink-muted);transition:color .24s}.contact-copy{width:2.25rem;height:2.25rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;transition:background-color .24s,color .24s;position:relative}.contact-copy svg{width:1.1rem;height:1.1rem;transition:opacity .2s ease, transform .28s var(--ease-out);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-copy-success{opacity:0;transform:translate(-50%,-50%)scale(.75)}.contact-copy:hover,.contact-copy:focus-visible{color:var(--ink);background:#f5f4f114}.contact-copy:focus-visible,.contact-primary .contact-value:focus-visible{outline-offset:.25rem;outline:1px solid}.contact-copy.is-copied .contact-copy-icon{opacity:0;transform:translate(-50%,-50%)scale(.75)}.contact-copy.is-copied .contact-copy-success{opacity:1;transform:translate(-50%,-50%)scale(1)}.contact-action:hover .contact-value,.contact-action:hover .linkedin-icon,.contact-action:focus-visible .contact-value,.contact-action:focus-visible .linkedin-icon{color:var(--ink)}.contact-secondary:active{color:var(--ink-muted)}.contact-action:focus-visible{outline-offset:.35rem;outline:1px solid}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.info{margin-top:2.5rem}.info p{color:var(--ink-faint);letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:500}.about-close{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;transition:background-color .22s ease, transform .32s var(--ease-out);background:0 0;border:0;border-radius:50%;padding:0;position:absolute;top:1.25rem;right:1.25rem}.about-close span:before,.about-close span:after{content:"";background:currentColor;width:1rem;height:1px;position:absolute;top:50%;left:50%}.about-close span:before{transform:translate(-50%,-50%)rotate(45deg)}.about-close span:after{transform:translate(-50%,-50%)rotate(-45deg)}.about-close:hover{background:#ffffff14;transform:rotate(180deg)}.about-close:focus-visible{outline-offset:.2rem;outline:1px solid}@media (width<=560px){.about{padding:3.5rem 1.5rem 2rem}.about-label{max-width:22ch}h1{white-space:normal}h1 span{display:block}h1 span:last-child{white-space:nowrap}}@media (prefers-reduced-motion:reduce){.background-shader,.logo-trigger,.logo-shader canvas,.logo-fallback,.about,.contact-action,.contact-value,.linkedin-icon,.contact-copy,.contact-copy svg,.about-close{transition-duration:1ms;transition-delay:0s}}
