.rotating[data-astro-cid-hh3fcrfz]{--slide: 125%;display:inline-block;max-width:100%;color:var(--red)}.rotating__mask[data-astro-cid-hh3fcrfz]{display:inline-grid;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}.rotating__word[data-astro-cid-hh3fcrfz]{grid-area:1 / 1;justify-self:start;white-space:nowrap;visibility:hidden;transform:translateY(var(--slide));opacity:1;transition:none}.rotating__word[data-astro-cid-hh3fcrfz].is-active{visibility:visible;transform:none;transition:transform .8s var(--ease-out)}.rotating__word[data-astro-cid-hh3fcrfz].is-leaving{visibility:visible;transform:translateY(calc(var(--slide) * -1));opacity:0;transition:transform .8s var(--ease-out),opacity .45s var(--ease-out)}.hero3d[data-astro-cid-devz5tyb]{width:min(70vw,420px);margin-inline:auto}.hero3d__tile[data-astro-cid-devz5tyb]{--p: clamp(0, calc((var(--progress) - .6) / .4), 1);position:relative;transform:scale(calc(1 - var(--p) * .15));transform-origin:center;will-change:transform}.hero3d__frame[data-astro-cid-devz5tyb]{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);background:var(--bg-soft);border:1px solid var(--line);overflow:hidden;isolation:isolate}.hero3d__grid[data-astro-cid-devz5tyb]{position:absolute;inset:0;opacity:.55;-webkit-mask-image:radial-gradient(circle at center,black 25%,transparent 72%);mask-image:radial-gradient(circle at center,black 25%,transparent 72%)}.hero3d__fallback[data-astro-cid-devz5tyb],.hero3d__canvas[data-astro-cid-devz5tyb]{position:absolute;inset:0;width:100%;height:100%}.hero3d__fallback[data-astro-cid-devz5tyb]{padding:4%;transition:opacity 1.2s var(--ease-out),visibility 0s linear 1.2s}.hero3d__canvas[data-astro-cid-devz5tyb]{opacity:0;transition:opacity 1.2s var(--ease-out)}.is-live[data-astro-cid-devz5tyb] .hero3d__fallback[data-astro-cid-devz5tyb]{opacity:0;visibility:hidden}.is-live[data-astro-cid-devz5tyb] .hero3d__canvas[data-astro-cid-devz5tyb]{opacity:1}.hero3d__ring[data-astro-cid-devz5tyb]{fill:none;stroke:var(--violet);stroke-width:.35;opacity:.5}.hero3d__dot--0[data-astro-cid-devz5tyb]{fill:var(--sky)}.hero3d__dot--1[data-astro-cid-devz5tyb]{fill:color-mix(in srgb,var(--sky) 80%,var(--red))}.hero3d__dot--2[data-astro-cid-devz5tyb]{fill:color-mix(in srgb,var(--sky) 60%,var(--red))}.hero3d__dot--3[data-astro-cid-devz5tyb]{fill:color-mix(in srgb,var(--sky) 40%,var(--red))}.hero3d__dot--4[data-astro-cid-devz5tyb]{fill:color-mix(in srgb,var(--sky) 20%,var(--red))}.hero3d__dot--5[data-astro-cid-devz5tyb]{fill:var(--red)}.hero3d__float[data-astro-cid-devz5tyb]{position:absolute;z-index:2;display:block;pointer-events:none}.hero3d__float--a[data-astro-cid-devz5tyb]{top:7%;left:12px}.hero3d__float--b[data-astro-cid-devz5tyb]{top:64%;right:12px}.hero3d__float--c[data-astro-cid-devz5tyb]{bottom:11%;left:8%;display:none}.hero3d__pill[data-astro-cid-devz5tyb]{display:inline-flex;background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--line-strong),var(--shadow-md);animation:float 7s var(--ease-in-out) infinite}.hero3d__float--b[data-astro-cid-devz5tyb] .hero3d__pill[data-astro-cid-devz5tyb]{animation-duration:8.5s;animation-delay:-2s}.hero3d__float--c[data-astro-cid-devz5tyb] .hero3d__pill[data-astro-cid-devz5tyb]{animation-duration:6.5s;animation-delay:-4s}.hero3d__dot-live[data-astro-cid-devz5tyb]{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}@media(min-width:1200px){.hero3d__float--c[data-astro-cid-devz5tyb]{display:block}}@media(min-width:900px){.hero3d[data-astro-cid-devz5tyb]{width:100%;margin-inline:0}.hero3d__float--a[data-astro-cid-devz5tyb]{left:-18px}.hero3d__float--b[data-astro-cid-devz5tyb]{right:-22px}}@media(prefers-reduced-motion:reduce){.hero3d__tile[data-astro-cid-devz5tyb]{transform:none}.hero3d__pill[data-astro-cid-devz5tyb]{animation:none}}html.no-js .hero3d__tile[data-astro-cid-devz5tyb]{transform:none}.hero[data-astro-cid-ewxirvlt]{--hero-title-size: clamp(2.75rem, 1rem + 6.5vw, 5rem);--hero-drift: 56px;position:relative;isolation:isolate;display:flex;align-items:center;min-height:calc(100svh - var(--nav-height));padding-block:clamp(var(--space-7),6vw,var(--space-9)) clamp(var(--space-6),4vw,var(--space-8))}.hero__bg[data-astro-cid-ewxirvlt]{position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 35%,transparent 90%);mask-image:linear-gradient(to bottom,black 0%,black 35%,transparent 90%)}.hero__inner[data-astro-cid-ewxirvlt]{display:grid;align-items:center;gap:clamp(var(--space-8),8vw,var(--space-9))}@media(max-width:639.98px){.hero[data-astro-cid-ewxirvlt]{padding-top:var(--space-6)}.hero__inner[data-astro-cid-ewxirvlt]{gap:var(--space-6)}}.hero__copy[data-astro-cid-ewxirvlt]{--p: clamp(0, calc((var(--progress) - .7) / .3), 1);min-width:0;transform:translate3d(0,calc(var(--p) * var(--hero-drift) * -1),0);opacity:calc(1 - var(--p) * .9);will-change:transform,opacity}.hero__pill[data-astro-cid-ewxirvlt]{min-height:34px;padding-inline:.875rem;gap:.625rem;background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);white-space:normal;line-height:1.2}.hero__who[data-astro-cid-ewxirvlt]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}.hero__greeting[data-astro-cid-ewxirvlt]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-2);letter-spacing:-.01em}.hero__title[data-astro-cid-ewxirvlt]{margin-top:var(--space-5);font-size:var(--hero-title-size);line-height:1.02;letter-spacing:var(--tracking-tight);text-wrap:initial}.hero__line[data-astro-cid-ewxirvlt]{display:block}.hero__line--2[data-astro-cid-ewxirvlt] .split__in{transition-delay:calc(var(--split-delay, 0ms) + .18s)}.hero__line--accent[data-astro-cid-ewxirvlt],.hero__line--after[data-astro-cid-ewxirvlt]{display:block}.hero__sub[data-astro-cid-ewxirvlt]{margin-top:var(--space-5);max-width:52ch}.hero__actions[data-astro-cid-ewxirvlt]{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.hero__meta[data-astro-cid-ewxirvlt]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:clamp(var(--space-6),5vw,var(--space-8));font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.hero__location[data-astro-cid-ewxirvlt]{display:inline-flex;align-items:center;gap:var(--space-2)}.hero__location[data-astro-cid-ewxirvlt] .icon{color:var(--red)}.hero__scroll[data-astro-cid-ewxirvlt]{display:none;align-items:center;gap:var(--space-2)}.hero__scroll[data-astro-cid-ewxirvlt] .hero__scroll-arrow{animation:hero-bounce 1.6s var(--ease-in-out) infinite;will-change:transform}@keyframes hero-bounce{0%,to{transform:translateY(-1px)}50%{transform:translateY(4px)}}@media(min-width:900px){.hero[data-astro-cid-ewxirvlt]{--hero-title-size: clamp(3.5rem, 1.2rem + 4.8vw, 5.25rem)}.hero__inner[data-astro-cid-ewxirvlt]{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(var(--space-7),5vw,var(--space-9))}.hero__scroll[data-astro-cid-ewxirvlt]{display:inline-flex}}@media(prefers-reduced-motion:reduce){.hero__copy[data-astro-cid-ewxirvlt]{transform:none;opacity:1}.hero__scroll[data-astro-cid-ewxirvlt] .hero__scroll-arrow{animation:none}}html.no-js .hero__copy[data-astro-cid-ewxirvlt]{transform:none;opacity:1}.ticker[data-astro-cid-5tjaog7s]{--p: var(--progress, .5);position:relative;height:52px;overflow:hidden;border-block:1px solid var(--line);background:var(--bg);-webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}.ticker__skew[data-astro-cid-5tjaog7s]{height:100%;transform:skew(calc((var(--p) - .5) * -2 * var(--ticker-skew)));will-change:transform}.ticker__track[data-astro-cid-5tjaog7s]{display:flex;width:max-content;height:100%;animation:marquee var(--ticker-duration) linear infinite;will-change:transform}.ticker--reverse[data-astro-cid-5tjaog7s] .ticker__track[data-astro-cid-5tjaog7s]{animation-direction:reverse}@media(hover:hover)and (pointer:fine){.ticker[data-astro-cid-5tjaog7s]:hover .ticker__track[data-astro-cid-5tjaog7s]{animation-play-state:paused}}.ticker[data-astro-cid-5tjaog7s].is-held .ticker__track[data-astro-cid-5tjaog7s]{animation-play-state:paused}.ticker__list[data-astro-cid-5tjaog7s]{display:flex;align-items:center;height:100%;margin:0;padding:0}.ticker__item[data-astro-cid-5tjaog7s]{display:inline-flex;align-items:center;gap:var(--space-4);padding-right:var(--space-6);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--ink-2)}.ticker__item[data-astro-cid-5tjaog7s]:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}html.no-js .ticker__skew[data-astro-cid-5tjaog7s]{transform:none}@media(prefers-reduced-motion:reduce){.ticker__skew[data-astro-cid-5tjaog7s]{transform:none}.ticker[data-astro-cid-5tjaog7s]{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-mask-image:none;mask-image:none}.ticker[data-astro-cid-5tjaog7s]::-webkit-scrollbar{display:none}.ticker__track[data-astro-cid-5tjaog7s]{animation:none}.ticker__list[data-astro-cid-5tjaog7s][aria-hidden]{display:none}.ticker__list[data-astro-cid-5tjaog7s]{padding-inline:var(--gutter)}}.manifesto[data-astro-cid-5xaatuj5]{position:relative;min-height:var(--manifesto-height-mobile)}.manifesto__sticky[data-astro-cid-5xaatuj5]{position:sticky;top:var(--manifesto-top);padding-block:var(--space-6)}.manifesto__inner[data-astro-cid-5xaatuj5]{display:grid;justify-items:center;text-align:center}.manifesto__inner[data-astro-cid-5xaatuj5] .eyebrow[data-astro-cid-5xaatuj5]{margin-bottom:var(--space-5)}.manifesto__text[data-astro-cid-5xaatuj5]{max-width:24ch;font-size:var(--text-3xl);font-weight:500;line-height:1.18;letter-spacing:var(--tracking-snug);color:var(--ink);text-wrap:balance}@media(min-width:900px){.manifesto[data-astro-cid-5xaatuj5]{min-height:var(--manifesto-height)}}@media(prefers-reduced-motion:reduce){.manifesto[data-astro-cid-5xaatuj5]{min-height:0;padding-block:clamp(var(--space-8),8vw,var(--space-10))}.manifesto__sticky[data-astro-cid-5xaatuj5]{position:static}}.work__head[data-astro-cid-p35cuy7o]{flex:1 1 20rem;min-width:0}.work__heading[data-astro-cid-p35cuy7o]{max-width:20ch}.work__sub[data-astro-cid-p35cuy7o]{margin-top:var(--space-4)}.work__cta[data-astro-cid-p35cuy7o]{flex:none}.stack[data-astro-cid-p35cuy7o]{--stack-top: calc(var(--nav-height) + 16px);--stack-gap: 8vh;--stack-scale-out: .95;--stack-dim-out: .7;display:grid;gap:var(--space-5)}.stack__item[data-astro-cid-p35cuy7o]{--cover: 0}@media(min-width:900px)and (min-height:640px){.stack[data-astro-cid-p35cuy7o]{display:flow-root;margin-bottom:calc(-1 * var(--stack-gap))}.stack__item[data-astro-cid-p35cuy7o]{position:sticky;top:calc(var(--stack-top) + var(--i) * var(--stack-offset));margin-bottom:var(--stack-gap);transform-origin:50% 0;transform:scale(calc(1 - (1 - var(--stack-scale-out)) * var(--cover)));filter:brightness(calc(1 - (1 - var(--stack-dim-out)) * var(--cover)));will-change:transform,filter}}@media(prefers-reduced-motion:reduce){.stack__item[data-astro-cid-p35cuy7o]{transform:none;filter:none}}svg[data-astro-cid-gd45moyz]{flex:none}.skills__row[data-astro-cid-ih25ooam]{margin-top:clamp(var(--space-7),6vw,var(--space-8))}.skills__row--first[data-astro-cid-ih25ooam]{margin-top:0}.skills__label[data-astro-cid-ih25ooam]{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.skills__label[data-astro-cid-ih25ooam]:after{content:"";flex:1;height:1px;background:var(--line)}.logos[data-astro-cid-ih25ooam]{--chip-height: 52px;--chip-gap: 10px;--marquee-duration: 40s}.logos__set[data-astro-cid-ih25ooam]{display:flex;flex-wrap:wrap;gap:var(--chip-gap);margin:0}.logos__set--copy[data-astro-cid-ih25ooam]{display:none}.chip[data-astro-cid-ih25ooam]{display:inline-flex;align-items:center;gap:10px;height:var(--chip-height);padding:0 1rem 0 .875rem;border-radius:var(--radius-md);background:var(--tone-soft, var(--bg-soft));border:1px solid color-mix(in srgb,var(--tone, var(--line-strong)) 35%,transparent);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chip[data-astro-cid-ih25ooam] .tool-logo{color:var(--tone-ink, var(--ink-2))}@media(hover:hover)and (pointer:fine){.chip[data-astro-cid-ih25ooam]:hover{border-color:var(--tone, var(--line-strong));transform:translateY(-2px)}}@media(hover:hover)and (pointer:fine){.logos[data-astro-cid-ih25ooam]:hover .logos__track[data-astro-cid-ih25ooam]{animation-play-state:paused}}@media(max-width:899.98px){.logos[data-astro-cid-ih25ooam]{overflow:hidden;margin-inline:calc(-1 * var(--gutter));-webkit-mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent);mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent)}.logos__track[data-astro-cid-ih25ooam]{display:flex;width:max-content;animation:marquee var(--marquee-duration) linear infinite reverse}.logos[data-astro-cid-ih25ooam].is-held .logos__track[data-astro-cid-ih25ooam]{animation-play-state:paused}.logos__set[data-astro-cid-ih25ooam],.logos__set--copy[data-astro-cid-ih25ooam]{display:flex;flex-wrap:nowrap;padding-right:var(--chip-gap)}.chip[data-astro-cid-ih25ooam]{flex:none}}@media(prefers-reduced-motion:reduce){.logos[data-astro-cid-ih25ooam]{overflow-x:auto;padding-inline:var(--gutter);-webkit-mask-image:none;mask-image:none}.logos__track[data-astro-cid-ih25ooam]{animation:none}.logos__set--copy[data-astro-cid-ih25ooam]{display:none}}.bento[data-astro-cid-lug7qch3]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.bento[data-astro-cid-lug7qch3]>.card[data-astro-cid-lug7qch3]{padding:clamp(var(--space-5),4vw,var(--space-7))}.about-card[data-astro-cid-lug7qch3]{display:flex;flex-direction:column;gap:var(--space-5)}.about-card[data-astro-cid-lug7qch3] .eyebrow[data-astro-cid-lug7qch3]{margin-bottom:0}.about-card__heading[data-astro-cid-lug7qch3]{max-width:14ch;margin-top:calc(-1 * var(--space-2))}.about-card__body[data-astro-cid-lug7qch3]{display:grid;gap:var(--space-4);max-width:58ch;color:var(--ink-2)}.about-card__facts[data-astro-cid-lug7qch3]{margin-top:var(--space-2)}.about-card__label[data-astro-cid-lug7qch3]{margin-top:var(--space-2);margin-bottom:var(--space-1);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.about-card__cta[data-astro-cid-lug7qch3]{margin-top:auto;padding-top:var(--space-2);align-self:flex-start}.stats[data-astro-cid-lug7qch3]{display:flex;flex-direction:column;overflow:hidden;background:var(--red);border-color:transparent;color:var(--on-accent);--line-strong: color-mix(in srgb, var(--on-accent) 34%, transparent)}.stats__grid[data-astro-cid-lug7qch3]{position:absolute;top:0;right:0;width:60%;height:55%;pointer-events:none;-webkit-mask-image:radial-gradient(circle at top right,black,transparent 72%);mask-image:radial-gradient(circle at top right,black,transparent 72%)}.stats__list[data-astro-cid-lug7qch3]{position:relative;flex:1;display:grid;grid-auto-rows:1fr;margin:0}.stat[data-astro-cid-lug7qch3]{display:flex;flex-direction:column;justify-content:center;gap:var(--space-2);padding-block:var(--space-5);border-top:1px solid color-mix(in srgb,var(--on-accent) 18%,transparent)}.stat[data-astro-cid-lug7qch3]:first-child{padding-top:0;border-top:0}.stat[data-astro-cid-lug7qch3]:last-child{padding-bottom:0}.stat__value[data-astro-cid-lug7qch3]{font-size:var(--text-3xl);font-weight:700;letter-spacing:var(--tracking-snug);line-height:1;font-variant-numeric:tabular-nums}.stat__label[data-astro-cid-lug7qch3]{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bento__edu[data-astro-cid-lug7qch3] .eyebrow[data-astro-cid-lug7qch3]{margin-bottom:var(--space-4)}@media(min-width:640px){.bento[data-astro-cid-lug7qch3]{grid-template-columns:repeat(2,minmax(0,1fr))}.bento__about[data-astro-cid-lug7qch3]{grid-column:span 2}}@media(min-width:900px){.bento[data-astro-cid-lug7qch3]{grid-template-columns:repeat(12,minmax(0,1fr))}.bento__about[data-astro-cid-lug7qch3]{grid-column:span 7;grid-row:span 2}.bento__stats[data-astro-cid-lug7qch3],.bento__edu[data-astro-cid-lug7qch3]{grid-column:span 5}}
