.intro[data-astro-cid-fmp4ekgg]{flex-direction:column;gap:24px;max-width:405px;display:flex}.intro__top[data-astro-cid-fmp4ekgg]{flex-direction:column;gap:27px;display:flex}.intro__avatar[data-astro-cid-fmp4ekgg]{background:var(--color-surface-alt);border-radius:42px;width:136px;height:136px;overflow:hidden}.intro__avatar[data-astro-cid-fmp4ekgg] img{object-fit:cover;width:100%;height:100%}.intro__name[data-astro-cid-fmp4ekgg]{color:var(--color-text-heading);font-size:40px;font-weight:700;line-height:1.25}.intro__bio[data-astro-cid-fmp4ekgg]{color:var(--color-text-muted);flex-direction:column;gap:18px;font-size:16px;line-height:1.55;display:flex}.intro[data-astro-cid-fmp4ekgg] .intro__link,.intro__strong[data-astro-cid-fmp4ekgg]{color:var(--color-text-heading)}.intro[data-astro-cid-fmp4ekgg] .intro__link--underline{text-underline-offset:3px;text-decoration:underline 1px}.intro[data-astro-cid-fmp4ekgg] a.intro__link{transition:opacity var(--dur-fast) ease}.intro[data-astro-cid-fmp4ekgg] a.intro__link:hover{opacity:.7}@media (width<=767px){.intro[data-astro-cid-fmp4ekgg],.intro__top[data-astro-cid-fmp4ekgg]{gap:20px}.intro__avatar[data-astro-cid-fmp4ekgg]{border-radius:30px;width:96px;height:96px}.intro__name[data-astro-cid-fmp4ekgg]{font-size:32px}.intro__bio[data-astro-cid-fmp4ekgg]{gap:14px}}.chat[data-astro-cid-pmyxn7tj]{background:var(--color-surface);border-radius:var(--radius-panel);width:100%;max-width:405px;overflow:hidden}.chat__grab[data-astro-cid-pmyxn7tj],.chat__close[data-astro-cid-pmyxn7tj]{display:none}.chat__status[data-astro-cid-pmyxn7tj]{border-bottom:1px solid var(--color-border-hairline);justify-content:space-between;align-items:center;height:45px;padding:0 16px;display:flex}.chat__status[data-astro-cid-pmyxn7tj] p[data-astro-cid-pmyxn7tj]{letter-spacing:-.24px;color:var(--status-available);align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:1.12;display:flex}.chat__dot[data-astro-cid-pmyxn7tj]{background:var(--status-available);border-radius:6px;flex:none;width:5px;height:5px;position:relative}.chat__dot[data-astro-cid-pmyxn7tj]:after{content:"";background:var(--status-available);animation:chat-dot-pulse 1.8s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes chat-dot-pulse{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){.chat__dot[data-astro-cid-pmyxn7tj]:after{opacity:0;animation:none}}.chat__log[data-astro-cid-pmyxn7tj]{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:16px;max-height:220px;padding:16px 16px 0 10px;display:flex;overflow-y:auto}.chat__log[data-astro-cid-pmyxn7tj]>*{flex-shrink:0}.chat__in[data-astro-cid-pmyxn7tj]{align-items:flex-end;gap:3px;display:flex}.chat__avatar[data-astro-cid-pmyxn7tj]{background:var(--color-surface-alt);border-radius:23px;flex:none;width:35px;height:35px;margin-bottom:2px;overflow:hidden}.chat__avatar[data-astro-cid-pmyxn7tj] img{object-fit:cover;width:100%;height:100%}.chat__in-col[data-astro-cid-pmyxn7tj]{flex-direction:column;gap:6px;min-width:0;display:flex}.chat__sender[data-astro-cid-pmyxn7tj]{letter-spacing:-.24px;color:var(--color-text-faint);padding-left:21px;font-size:12px;line-height:9px}.chat__bubble-in[data-astro-cid-pmyxn7tj]{background:var(--chat-bubble-in);max-width:316px;color:var(--chat-bubble-in-text);letter-spacing:-.2px;overflow-wrap:anywhere;border-radius:22px 18px 18px 22px;margin-left:5px;padding:9px 11px 9px 16px;font-size:14px;line-height:21px;position:relative}.chat__tail-in[data-astro-cid-pmyxn7tj]{width:24px;height:25px;position:absolute;bottom:0;left:-8px;transform:scaleX(-1)}.chat__tail-in[data-astro-cid-pmyxn7tj] path[data-astro-cid-pmyxn7tj]{fill:var(--chat-bubble-in)}.chat__out[data-astro-cid-pmyxn7tj]{background:var(--chat-bubble-out);color:#fff;letter-spacing:-.2px;overflow-wrap:anywhere;border-radius:18px 18px 4px;align-self:flex-end;max-width:80%;min-height:28px;padding:3.5px 8px 3.5px 15px;font-size:14px;font-weight:400;line-height:21px;position:relative}.chat__out[data-astro-cid-pmyxn7tj] [data-astro-cid-pmyxn7tj][data-text]{white-space:pre-wrap}.chat__tail-out[data-astro-cid-pmyxn7tj]{width:10px;height:20px;position:absolute;bottom:0;right:-6px}.chat__tail-out[data-astro-cid-pmyxn7tj] path[data-astro-cid-pmyxn7tj]{fill:var(--chat-bubble-out)}.chat__in[data-astro-cid-pmyxn7tj]:has(+.chat__in) .chat__tail-in[data-astro-cid-pmyxn7tj],.chat__out[data-astro-cid-pmyxn7tj]:has(+.chat__out) .chat__tail-out[data-astro-cid-pmyxn7tj]{visibility:hidden}.chat__out[data-astro-cid-pmyxn7tj]:has(+.chat__out){border-bottom-right-radius:18px}.chat__in[data-astro-cid-pmyxn7tj]:has(+.chat__in) .chat__avatar[data-astro-cid-pmyxn7tj]{visibility:hidden}.chat__in[data-astro-cid-pmyxn7tj]+.chat__in[data-astro-cid-pmyxn7tj],.chat__out[data-astro-cid-pmyxn7tj]+.chat__out[data-astro-cid-pmyxn7tj]{margin-top:-12px}.chat[data-astro-cid-pmyxn7tj] .chat__meta{color:var(--color-text-faint);align-self:flex-end;margin-top:-12px;font-size:11px;line-height:14px}.chat[data-astro-cid-pmyxn7tj] .chat__meta--error{color:var(--color-error)}.chat[data-astro-cid-pmyxn7tj] .chat__meta button{color:var(--chat-bubble-out);text-underline-offset:2px;font-size:11px;font-weight:500;text-decoration:underline}.chat[data-astro-cid-pmyxn7tj] .chat__typing{padding:12px 16px}.chat[data-astro-cid-pmyxn7tj] .chat__dots{align-items:center;gap:4px;height:21px;display:flex}.chat[data-astro-cid-pmyxn7tj] .chat__dots i{background:var(--color-text-faint);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-typing;display:block}.chat[data-astro-cid-pmyxn7tj] .chat__dots i:nth-child(2){animation-delay:.15s}.chat[data-astro-cid-pmyxn7tj] .chat__dots i:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.chat[data-astro-cid-pmyxn7tj] .chat__dots i{animation-name:chat-typing-fade}@keyframes chat-typing-fade{0%,60%,to{opacity:.35}30%{opacity:1}}}.chat__in--new[data-astro-cid-pmyxn7tj],.chat__out--new[data-astro-cid-pmyxn7tj]{animation:chat-pop .26s var(--ease-out) both}@keyframes chat-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.chat__composer[data-astro-cid-pmyxn7tj]{justify-content:space-between;align-items:center;gap:6px;padding:24px 16px 10px 15px;display:flex}.chat[data-astro-cid-pmyxn7tj] .chat__email{width:46px;height:46px;box-shadow:inset 0 0 0 1px var(--color-border-strong);transition:background-color var(--dur-fast) ease;border-radius:39px;flex:none;place-items:center;display:grid}.chat[data-astro-cid-pmyxn7tj] a.chat__email:hover{background:var(--color-hover-wash)}.chat[data-astro-cid-pmyxn7tj] .chat__email:focus-visible{border-radius:39px}.chat[data-astro-cid-pmyxn7tj] .chat__email path{fill:var(--color-icon)}.chat__field[data-astro-cid-pmyxn7tj]{min-width:0;max-width:322px;height:50px;box-shadow:inset 0 0 0 1px var(--color-border-strong);transition:box-shadow var(--dur-fast) ease;border-radius:45px;flex:1;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.chat__field[data-astro-cid-pmyxn7tj]:focus-within{box-shadow:inset 0 0 0 1px var(--color-focus)}.chat__field[data-astro-cid-pmyxn7tj] input[data-astro-cid-pmyxn7tj]{min-width:0;font:inherit;color:var(--color-text-heading);background:0 0;border:0;outline:0;flex:1;font-size:14px;line-height:22px}.chat__field[data-astro-cid-pmyxn7tj] input[data-astro-cid-pmyxn7tj]::placeholder{color:var(--color-placeholder)}.chat__field[data-astro-cid-pmyxn7tj] input[data-astro-cid-pmyxn7tj]:focus-visible{box-shadow:none}.chat__send[data-astro-cid-pmyxn7tj]{background:var(--chat-send-idle);width:32px;height:32px;transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border-radius:22px;flex:none;place-items:center;display:grid}.chat__send[data-astro-cid-pmyxn7tj] path[data-astro-cid-pmyxn7tj]{stroke:var(--chat-send-icon);transition:stroke var(--dur-fast) ease}.chat__send[data-astro-cid-pmyxn7tj][data-ready]{background:var(--chat-bubble-out)}.chat__send[data-astro-cid-pmyxn7tj][data-ready] path[data-astro-cid-pmyxn7tj]{stroke:#fff}.chat__send[data-astro-cid-pmyxn7tj][data-ready]:active{transform:scale(.9)}.chat__send[data-astro-cid-pmyxn7tj]:focus-visible{border-radius:22px}.chat__trap[data-astro-cid-pmyxn7tj]{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.chat-pill[data-astro-cid-pmyxn7tj],.chat-scrim[data-astro-cid-pmyxn7tj]{display:none}@media (width<=767px){.chat-pill[data-astro-cid-pmyxn7tj]{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;border-radius:var(--radius-pill);background:var(--color-surface-raised);box-shadow:var(--shadow-float);color:var(--color-text-heading);text-align:left;transition:opacity var(--dur-base) ease, transform var(--dur-base) var(--ease-out);align-items:center;gap:10px;padding:8px;display:flex;position:fixed}.chat-pill[data-astro-cid-pmyxn7tj]:active{transform:scale(.98)}.chat-pill[data-astro-cid-pmyxn7tj]:focus-visible{border-radius:var(--radius-pill);box-shadow:var(--shadow-float), var(--focus-ring)}.chat-pill__avatar[data-astro-cid-pmyxn7tj]{background:var(--color-surface-alt);border-radius:50%;flex:none;width:36px;height:36px;overflow:hidden}.chat-pill__avatar[data-astro-cid-pmyxn7tj] img[data-astro-cid-pmyxn7tj]{object-fit:cover;width:100%;height:100%}.chat-pill__text[data-astro-cid-pmyxn7tj]{letter-spacing:-.2px;min-width:0;color:var(--status-available);flex:1;font-size:13px;font-weight:500;line-height:1.25;display:block}.chat-pill__text[data-astro-cid-pmyxn7tj] .chat__dot[data-astro-cid-pmyxn7tj]{vertical-align:middle;margin:-2px 5px 0 0;display:inline-block}.chat-pill__hello[data-astro-cid-pmyxn7tj]{background:var(--chat-bubble-out);color:#fff;border-radius:30px;flex:none;margin-right:4px;padding:5px 14px;font-size:14px;font-weight:400}.chat-scrim[data-astro-cid-pmyxn7tj]{z-index:50;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease;display:block;position:fixed;inset:0}.chat[data-astro-cid-pmyxn7tj]{z-index:51;max-width:none;max-height:calc(100dvh - 48px);padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-float);visibility:hidden;border-radius:24px 24px 0 0;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.chat__grab[data-astro-cid-pmyxn7tj]{background:var(--color-border-strong);border-radius:3px;width:36px;height:5px;margin:8px auto 0;display:block}.chat__close[data-astro-cid-pmyxn7tj]{border-radius:50%;place-items:center;width:28px;height:28px;margin-right:-6px;display:grid}.chat__close[data-astro-cid-pmyxn7tj]:hover{background:var(--color-hover-wash)}.chat__close[data-astro-cid-pmyxn7tj] path[data-astro-cid-pmyxn7tj]{stroke:var(--color-text-muted)}.chat__log[data-astro-cid-pmyxn7tj]{flex:1;min-height:160px;max-height:none}.chat__field[data-astro-cid-pmyxn7tj]{max-width:none}.chat__field[data-astro-cid-pmyxn7tj] input[data-astro-cid-pmyxn7tj]{font-size:16px}.chat-dock[data-astro-cid-pmyxn7tj][data-open] .chat-scrim[data-astro-cid-pmyxn7tj]{opacity:1;pointer-events:auto}.chat-dock[data-astro-cid-pmyxn7tj][data-open] .chat[data-astro-cid-pmyxn7tj]{visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility;transform:none}.chat-dock[data-astro-cid-pmyxn7tj][data-open] .chat-pill[data-astro-cid-pmyxn7tj]{opacity:0;pointer-events:none;transform:translateY(8px)}}.keyed-video[data-astro-cid-vilmzdjo]{position:relative}.keyed-video[data-astro-cid-vilmzdjo] video[data-astro-cid-vilmzdjo]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.keyed-video[data-astro-cid-vilmzdjo] canvas[data-astro-cid-vilmzdjo]{width:100%;height:100%}.card-media[data-astro-cid-hbrd4zdq]{border-radius:var(--radius-card);isolation:isolate;position:relative;overflow:hidden}.card-media[data-astro-cid-hbrd4zdq] picture,.card-media[data-astro-cid-hbrd4zdq] .card-media__img,.card-media__video[data-astro-cid-hbrd4zdq]{width:100%;height:100%;position:absolute;inset:0}.card-media[data-astro-cid-hbrd4zdq] .card-media__img,.card-media__video[data-astro-cid-hbrd4zdq]{object-fit:cover;transition:transform .6s var(--ease-out)}.card-media[data-astro-cid-hbrd4zdq] .card-media__santa-slot{z-index:1;width:68.027%;height:42.495%;position:absolute;top:22.604%;left:15.918%}.card-media[data-astro-cid-hbrd4zdq] .card-media__layer-img{object-fit:cover;width:100%;height:100%}.card-media__ink[data-astro-cid-hbrd4zdq]{mix-blend-mode:multiply;position:absolute}.card-media__ink[data-astro-cid-hbrd4zdq] video{object-fit:fill}.card-media__logo[data-astro-cid-hbrd4zdq]{width:29.66%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cursor-label[data-astro-cid-hbrd4zdq]{z-index:50;border-radius:var(--radius-pill);background:var(--color-text-heading);color:var(--color-bg);white-space:nowrap;pointer-events:none;opacity:0;transform-origin:0 0;transition:opacity var(--dur-fast) ease, transform var(--dur-base) var(--ease-out);padding:8px 14px;font-size:14px;font-weight:500;line-height:18px;position:fixed;top:0;left:0;transform:translate(14px,16px)scale(.85)}.cursor-label[data-astro-cid-hbrd4zdq].is-on{opacity:1;transform:translate(14px,16px)scale(1)}@media (prefers-reduced-motion:reduce){.cursor-label[data-astro-cid-hbrd4zdq],.cursor-label[data-astro-cid-hbrd4zdq].is-on{transform:translate(14px,16px)}}@media (width<=767px){.card-media[data-astro-cid-hbrd4zdq]{border-radius:16px!important}}.project-card[data-astro-cid-y2vllrex]{background:var(--color-surface);border-radius:var(--radius-card);color:inherit;flex-direction:column;gap:24px;padding:20px 20px 16px;scroll-margin-top:16px;display:flex}.project-card--link[data-astro-cid-y2vllrex]:focus-visible{border-radius:var(--radius-card)}.project-card__text[data-astro-cid-y2vllrex]{gap:var(--para-gap,16px);flex-direction:column;padding-right:37px;display:flex}.project-card__head[data-astro-cid-y2vllrex]{flex-direction:column;gap:8px;display:flex}.project-card__title[data-astro-cid-y2vllrex]{color:var(--color-text-strong);font-size:24px;font-weight:600;line-height:28px}.project-card__desc[data-astro-cid-y2vllrex]{color:var(--color-text-muted);font-size:18px;line-height:1.37}.project-card[data-astro-cid-y2vllrex] .project-card__inline-link{color:var(--color-text-heading);text-underline-offset:3px;transition:opacity var(--dur-fast) ease;text-decoration:underline 1px}.project-card[data-astro-cid-y2vllrex] a.project-card__inline-link:hover{opacity:.7}.project-card__actions[data-astro-cid-y2vllrex]{flex-wrap:wrap;gap:8px;margin-top:1px;display:flex}.project-card[data-astro-cid-y2vllrex] .project-card__button{border-radius:var(--radius-button);background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-heading);transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);align-items:center;padding:9px 10px;font-size:16px;font-weight:500;line-height:22px;display:inline-flex}.project-card[data-astro-cid-y2vllrex] a.project-card__button:hover{background:var(--color-surface-alt)}.project-card[data-astro-cid-y2vllrex] a.project-card__button:active{transform:scale(.98)}@media (hover:hover){.project-card--link[data-astro-cid-y2vllrex]:hover .card-media__img,.project-card--link[data-astro-cid-y2vllrex]:hover .card-media__video{transform:scale(1.02)}.project-card--link[data-astro-cid-y2vllrex] .project-card__title[data-astro-cid-y2vllrex]{transition:opacity var(--dur-fast) ease}.project-card--link[data-astro-cid-y2vllrex]:hover .project-card__title[data-astro-cid-y2vllrex]{opacity:.75}}@media (width<=767px){.project-card[data-astro-cid-y2vllrex]{border-radius:20px;gap:16px;padding:16px 16px 12px}.project-card__text[data-astro-cid-y2vllrex]{gap:min(var(--para-gap,16px), 14px);padding-right:0}.project-card__head[data-astro-cid-y2vllrex]{gap:6px}.project-card__title[data-astro-cid-y2vllrex]{font-size:22px;line-height:26px}.project-card__desc[data-astro-cid-y2vllrex]{font-size:16px;line-height:1.4}}.project-tabs[data-astro-cid-wzr2fiwh]{flex-direction:column;gap:24px;display:flex}.project-tabs__track[data-astro-cid-wzr2fiwh]{border-radius:var(--radius-tab-track);background:var(--color-surface);gap:9px;padding:10px;display:flex}.project-tabs__tab[data-astro-cid-wzr2fiwh]{border-radius:var(--radius-tab-inner);white-space:nowrap;min-width:0;color:var(--color-text-secondary);transition:background-color var(--dur-base) var(--ease-out), color var(--dur-fast) ease;flex:1 0 0;padding:10px;font-size:16px;font-weight:500;line-height:22px}.project-tabs__tab[data-astro-cid-wzr2fiwh]:hover{color:var(--color-text)}.project-tabs__tab[data-astro-cid-wzr2fiwh][aria-selected=true]{background:var(--color-surface-raised);color:var(--color-text)}.project-tabs__tab[data-astro-cid-wzr2fiwh]:focus-visible{border-radius:var(--radius-tab-inner)}.project-tabs__panel[data-astro-cid-wzr2fiwh]{flex-direction:column;gap:24px;display:flex}.project-tabs__panel[data-astro-cid-wzr2fiwh][hidden]{display:none}.project-tabs__panel[data-astro-cid-wzr2fiwh]:focus-visible{box-shadow:none}@media (width<=1199px){.project-tabs__track[data-astro-cid-wzr2fiwh]{scrollbar-width:none;overflow-x:auto}.project-tabs__track[data-astro-cid-wzr2fiwh]::-webkit-scrollbar{display:none}.project-tabs__tab[data-astro-cid-wzr2fiwh]{flex:1 0 auto;padding-inline:14px}}@media (width<=767px){.project-tabs[data-astro-cid-wzr2fiwh]{gap:16px}.project-tabs__track[data-astro-cid-wzr2fiwh]{z-index:5;box-shadow:0 0 0 8px var(--color-bg);border-radius:14px;gap:4px;padding:6px;position:sticky;top:8px}.project-tabs__tab[data-astro-cid-wzr2fiwh]{flex:none;padding:9px 14px;font-size:15px}.project-tabs__panel[data-astro-cid-wzr2fiwh]{gap:16px}}.home[data-astro-cid-lcdefpme]{max-width:var(--page-max);grid-template-columns:minmax(0,565fr) minmax(0,875fr);align-items:start;margin:0 auto;display:grid}.home__aside[data-astro-cid-lcdefpme]{top:var(--aside-top,0px);min-height:calc(100dvh - var(--header-h));flex-direction:column;justify-content:space-between;gap:48px;padding:40px clamp(32px,5.556vw,80px) 39px;display:flex;position:sticky}.home__projects[data-astro-cid-lcdefpme]{min-width:0;padding:20px clamp(32px,5.556vw,80px) 72px 20px}@media (width<=1023px){.home[data-astro-cid-lcdefpme]{max-width:720px;display:block}.home__aside[data-astro-cid-lcdefpme]{min-height:0;padding:40px var(--gutter) 0;justify-content:flex-start;gap:40px;position:static}.home__projects[data-astro-cid-lcdefpme]{padding:40px var(--gutter) 64px}}@media (width<=767px){.home__aside[data-astro-cid-lcdefpme]{gap:0;padding-top:28px}.home__projects[data-astro-cid-lcdefpme]{padding:28px var(--gutter) 112px}}
