@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;700&display=swap";@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.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}:root{--color-fg:#111;--color-bg:#fff;--color-muted-border:#ccc;--color-well:#e8e8e8;--color-soft:#f5f5f5;--measure:900px;--space-inline:3rem;--underline-offset:.2em;color-scheme:light}html[data-theme=dark]{--color-fg:#f5f5f5;--color-bg:#111;--color-muted-border:#444;--color-well:#1c1c1c;--color-soft:#1a1a1a;color-scheme:dark}html[data-theme=dark] img.mono-icon{filter:invert()}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;font-family:Geist,sans-serif;font-size:18px;font-weight:400;line-height:1.5;overflow-x:clip}body{min-height:100vh;color:var(--color-fg);background:var(--color-bg);max-width:var(--measure);margin:0;padding-inline:var(--space-inline);flex-direction:column;margin-inline:auto;padding-block:6rem;display:flex}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}main[data-page-body]{flex:1}body.chat-open{height:100dvh;min-height:100dvh;overflow:hidden}body.chat-open [data-page-body],body.chat-open .site-footer{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}html:not(.is-client-nav) .hero,html:not(.is-client-nav) .cv-section,html:not(.is-client-nav) .cv-detail,html:not(.is-client-nav) .site-footer,html.is-client-nav .cv-detail{animation:.45s ease-out both fade-in}html:not(.is-client-nav) .cv-section:first-child{animation-delay:80ms}html:not(.is-client-nav) .cv-section:nth-child(2){animation-delay:.16s}html:not(.is-client-nav) .cv-section:nth-child(3){animation-delay:.24s}html:not(.is-client-nav) .cv-section:nth-child(4){animation-delay:.32s}html:not(.is-client-nav) .cv-section:nth-child(5){animation-delay:.4s}html:not(.is-client-nav) .cv-section:nth-child(6),html:not(.is-client-nav) .site-footer{animation-delay:.48s}body.chat-open .chat-widget,body.chat-reveal .cv-section,body.chat-reveal .cv-detail,body.chat-reveal .site-footer{animation:.45s ease-out both fade-in}body.chat-reveal .cv-section:first-child{animation-delay:0s}body.chat-reveal .cv-section:nth-child(2){animation-delay:80ms}body.chat-reveal .cv-section:nth-child(3){animation-delay:.16s}body.chat-reveal .cv-section:nth-child(4){animation-delay:.24s}body.chat-reveal .cv-section:nth-child(5){animation-delay:.32s}body.chat-reveal .cv-section:nth-child(6),body.chat-reveal .site-footer{animation-delay:.4s}.chat-bubble{animation:.3s ease-out backwards fade-in}@media (prefers-reduced-motion:reduce){html:not(.is-client-nav) .hero,html:not(.is-client-nav) .cv-section,html:not(.is-client-nav) .cv-detail,html:not(.is-client-nav) .site-footer,html.is-client-nav .cv-detail,body.chat-open .chat-widget,body.chat-reveal .cv-section,body.chat-reveal .cv-detail,body.chat-reveal .site-footer,.chat-bubble{animation:none}}@media (width<=640px){:root{--space-inline:1.25rem}body{padding-block:2.5rem}}.hero[data-astro-cid-ge2uvauf]{align-items:stretch;gap:2rem;margin-bottom:2.5rem;font-family:Geist,sans-serif;display:flex}.hero-content[data-astro-cid-ge2uvauf]{flex:1;min-width:0}.hero-header[data-astro-cid-ge2uvauf]{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:.85rem;display:flex}.hero-name-row[data-astro-cid-ge2uvauf]{align-items:center;gap:.5rem;min-width:0;display:flex}.hero-name[data-astro-cid-ge2uvauf]{margin:0;font-family:Geist,sans-serif;font-size:1.5rem;font-weight:500;line-height:1}.hero-chat[data-astro-cid-ge2uvauf]{cursor:pointer;color:inherit;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;font-family:inherit}.hero-chat[data-astro-cid-ge2uvauf]:focus-visible{outline:none}.hero-chat-label[data-astro-cid-ge2uvauf]{grid-template-columns:0fr;transition:grid-template-columns .25s;display:grid}.hero-chat[data-astro-cid-ge2uvauf]:hover .hero-chat-label[data-astro-cid-ge2uvauf],.hero-chat[data-astro-cid-ge2uvauf]:focus-visible .hero-chat-label[data-astro-cid-ge2uvauf]{grid-template-columns:1fr}.hero-chat-label[data-astro-cid-ge2uvauf]>span[data-astro-cid-ge2uvauf]{white-space:nowrap;color:#888;min-width:0;font-size:1rem;line-height:1;display:block;overflow:hidden}.hero-chat-label[data-astro-cid-ge2uvauf]>span[data-astro-cid-ge2uvauf]:before{content:"";width:.35rem;display:inline-block}.hero-socials[data-astro-cid-ge2uvauf]{flex-shrink:0;display:flex}.hero-chat[data-astro-cid-ge2uvauf],.hero-socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]{display:flex;position:relative}.hero-chat[data-astro-cid-ge2uvauf] img[data-astro-cid-ge2uvauf],.hero-socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf] img[data-astro-cid-ge2uvauf]{opacity:.85}.hero-socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:hover img[data-astro-cid-ge2uvauf]{opacity:.55}.hero-socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:after{content:attr(aria-label);white-space:nowrap;color:var(--color-bg);background:var(--color-fg);opacity:0;pointer-events:none;z-index:1;border-radius:.35rem;padding:.2rem .45rem;font-size:.7rem;line-height:1.2;transition:opacity .15s;position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%)}.hero-socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:hover:after,.hero-socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:focus-visible:after{opacity:1}@media (prefers-reduced-motion:reduce){.hero-chat-label[data-astro-cid-ge2uvauf]{transition:none}}.hero-facts[data-astro-cid-ge2uvauf]{grid-template-columns:max-content 1fr;gap:.35rem 1.5rem;margin:0;font-family:Geist,sans-serif;font-size:.9rem;line-height:1.5;display:grid}.hero-fact[data-astro-cid-ge2uvauf]{display:contents}.hero-facts[data-astro-cid-ge2uvauf] dt[data-astro-cid-ge2uvauf]{opacity:.5;margin:0;font-weight:400}.hero-facts[data-astro-cid-ge2uvauf] dd[data-astro-cid-ge2uvauf]{margin:0;font-weight:400}.hero-email[data-astro-cid-ge2uvauf]{color:#888;text-underline-offset:var(--underline-offset);text-decoration:underline}.hero-email[data-astro-cid-ge2uvauf]:hover{color:var(--color-fg)}@media (width<=640px){.hero[data-astro-cid-ge2uvauf]{flex-direction:column;align-items:center;gap:1.5rem}.hero-content[data-astro-cid-ge2uvauf]{width:100%}.hero-header[data-astro-cid-ge2uvauf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem}.hero-name-row[data-astro-cid-ge2uvauf]{justify-content:center;width:100%}.hero-socials[data-astro-cid-ge2uvauf]{justify-content:center}.hero-facts[data-astro-cid-ge2uvauf]{grid-template-columns:max-content 1fr;justify-content:center}}.site-footer[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:4rem;font-size:.875rem;display:flex}.footer-start[data-astro-cid-jo6i4kqk]{align-items:center;gap:.75rem;min-width:0;display:flex}.footer-contact[data-astro-cid-jo6i4kqk]{margin:0}.theme-switch[data-astro-cid-jo6i4kqk]{border-radius:999px;flex-shrink:0;align-items:center;gap:.15rem;padding:.15rem;display:flex;position:relative}.theme-thumb[data-astro-cid-jo6i4kqk]{background:var(--color-soft);pointer-events:none;border-radius:50%;width:26px;height:26px;transition:transform .28s;position:absolute;top:.15rem;left:.15rem}html[data-theme=dark] .theme-thumb[data-astro-cid-jo6i4kqk]{transform:translate(calc(26px + .15rem))}.theme-option[data-astro-cid-jo6i4kqk]{z-index:1;width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}.theme-option[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{opacity:.4;transition:opacity .28s}html[data-theme=light] .theme-option[data-astro-cid-jo6i4kqk][data-theme-set=light] img[data-astro-cid-jo6i4kqk],html[data-theme=dark] .theme-option[data-astro-cid-jo6i4kqk][data-theme-set=dark] img[data-astro-cid-jo6i4kqk]{opacity:.85}.theme-option[data-astro-cid-jo6i4kqk]:hover img[data-astro-cid-jo6i4kqk],.theme-option[data-astro-cid-jo6i4kqk]:focus-visible img[data-astro-cid-jo6i4kqk]{opacity:.55}.theme-option[data-astro-cid-jo6i4kqk]:focus-visible{outline:none}.theme-option[data-astro-cid-jo6i4kqk]:after{content:attr(aria-label);white-space:nowrap;color:var(--color-bg);background:var(--color-fg);opacity:0;pointer-events:none;z-index:1;border-radius:.35rem;padding:.2rem .45rem;font-size:.7rem;line-height:1.2;transition:opacity .15s;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)}.theme-option[data-astro-cid-jo6i4kqk]:hover:after,.theme-option[data-astro-cid-jo6i4kqk]:focus-visible:after{opacity:1}@media (prefers-reduced-motion:reduce){.theme-thumb[data-astro-cid-jo6i4kqk],.theme-option[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{transition:none}}@media (width<=640px){.site-footer[data-astro-cid-jo6i4kqk]{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding-top:2.5rem}}.chat-widget[data-astro-cid-pmyxn7tj]{flex-direction:column;flex:1;width:100%;min-height:0;margin-top:2rem;display:none}body.chat-open .chat-widget[data-astro-cid-pmyxn7tj]{display:flex}.chat-panel[data-astro-cid-pmyxn7tj]{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.chat-panel[data-astro-cid-pmyxn7tj][hidden]{display:none}.chat-panel-header[data-astro-cid-pmyxn7tj]{align-items:center;margin-bottom:1.5rem;display:flex}.chat-panel-close[data-astro-cid-pmyxn7tj]{font:inherit;color:inherit;background:var(--color-bg);border:1px solid var(--color-muted-border);cursor:pointer;border-radius:999px;padding:.3rem .85rem;font-size:.9rem}.chat-panel-close[data-astro-cid-pmyxn7tj]:hover{background:var(--color-soft)}.chat-messages[data-astro-cid-pmyxn7tj]{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:.75rem;padding-right:.75rem;display:flex;overflow-y:auto}.chat-messages[data-astro-cid-pmyxn7tj] .chat-bubble{border-radius:1.15rem;max-width:85%;margin:0;padding:.6rem .9rem;font-size:.9rem;line-height:1.5}.chat-messages[data-astro-cid-pmyxn7tj] .chat-bubble--assistant{background:var(--color-soft);border-bottom-left-radius:.35rem;align-self:flex-start}.chat-messages[data-astro-cid-pmyxn7tj] .chat-bubble--user{background:var(--color-well);border-bottom-right-radius:.35rem;align-self:flex-end}.chat-messages[data-astro-cid-pmyxn7tj] .chat-bubble--loading{opacity:.55;font-style:italic}.chat-messages[data-astro-cid-pmyxn7tj] .chat-bubble--error{opacity:.65}.chat-form[data-astro-cid-pmyxn7tj]{border:1px solid var(--color-muted-border);background:var(--color-bg);box-shadow:0 1px 6px color-mix(in srgb, var(--color-fg) 8%, transparent);border-radius:999px;align-items:center;gap:.35rem;margin-top:1rem;padding:.3rem .3rem .3rem 1rem;display:flex}.chat-note[data-astro-cid-pmyxn7tj]{color:color-mix(in srgb, var(--color-fg) 45%, transparent);margin:.65rem .35rem 0;font-size:.75rem;line-height:1.4}.chat-input[data-astro-cid-pmyxn7tj]{min-width:0;font:inherit;color:var(--color-fg);background:0 0;border:none;flex:1;padding:.35rem .5rem .35rem 0;font-size:.9rem}.chat-input[data-astro-cid-pmyxn7tj]:focus{outline:none}.chat-input[data-astro-cid-pmyxn7tj]:disabled{opacity:.6;cursor:not-allowed}.chat-send[data-astro-cid-pmyxn7tj]{width:2rem;height:2rem;color:var(--color-fg);background:var(--color-soft);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.chat-send[data-astro-cid-pmyxn7tj] svg[data-astro-cid-pmyxn7tj]{display:block}.chat-send[data-astro-cid-pmyxn7tj]:hover:not(:disabled){opacity:.7}.chat-send[data-astro-cid-pmyxn7tj]:disabled{opacity:.5;cursor:not-allowed}
