.hero[data-astro-cid-ge2uvauf]{isolation:isolate;position:relative;overflow:clip}.hero__inner[data-astro-cid-ge2uvauf]{gap:var(--space-xl);min-height:calc(100svh - 4.7rem);padding-block:var(--space-lg) var(--space-2xl);flex-direction:column;display:flex}.hero__meta[data-astro-cid-ge2uvauf]{align-items:center;gap:var(--space-md);color:var(--color-text-muted);display:flex}.hero__meta-line[data-astro-cid-ge2uvauf]{height:var(--line-width);background:var(--color-line-strong);transform-origin:0;animation:rule-draw 1.4s var(--ease-dramatic) .26s both;flex:1}@keyframes rule-draw{0%{scale:0 1}to{scale:1}}.hero__body[data-astro-cid-ge2uvauf]{flex-direction:column;flex:1;justify-content:center;gap:clamp(2rem,6vh,6rem);padding-block:clamp(1rem,4vh,4rem);display:flex}.hero__name[data-astro-cid-ge2uvauf]{z-index:2;width:100%;font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.075em;font-weight:700;line-height:.76;position:relative}.hero__name-words[data-astro-cid-ge2uvauf]{flex-wrap:wrap;column-gap:.16em;display:flex}.hero__word[data-astro-cid-ge2uvauf]{display:inline-flex}.hero__char[data-astro-cid-ge2uvauf]{animation:char-in 1.25s var(--ease-dramatic) both;animation-delay:calc(90ms + (var(--char-index) * 62ms));display:inline-block}.hero__lower[data-astro-cid-ge2uvauf]{gap:var(--space-2xl);border-top:var(--line-width) solid var(--color-line-strong);padding-top:var(--space-xl);animation:fade-in .9s var(--ease-out) .5s both;grid-template-columns:minmax(12rem,.8fr) minmax(18rem,1.2fr);align-items:end;display:grid}.hero__actions[data-astro-cid-ge2uvauf]{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.hero__primary[data-astro-cid-ge2uvauf],.hero__secondary[data-astro-cid-ge2uvauf]{align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:background-color var(--dur-fast) var(--ease-in-out), color var(--dur-fast) var(--ease-in-out), translate var(--dur-fast) var(--ease-in-out);font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.hero__primary[data-astro-cid-ge2uvauf]{border:var(--line-width) solid var(--color-invert-bg);background:var(--color-invert-bg);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--color-accent);color:var(--color-invert-text);padding:1rem 1.15rem}.hero__primary[data-astro-cid-ge2uvauf]:hover,.hero__primary[data-astro-cid-ge2uvauf]:focus-visible{translate:var(--shadow-offset) var(--shadow-offset);box-shadow:0 0 0 var(--color-accent)}.hero__secondary[data-astro-cid-ge2uvauf]{border-bottom:var(--line-width) solid var(--color-line-strong);padding-block:.4rem}.hero__secondary[data-astro-cid-ge2uvauf]:hover,.hero__secondary[data-astro-cid-ge2uvauf]:focus-visible{border-color:var(--color-accent-2);color:var(--color-accent-2);translate:0 -.2rem}.hero__tagline[data-astro-cid-ge2uvauf]{max-width:22ch;font-family:var(--font-display);font-size:var(--text-tagline);letter-spacing:var(--tracking-snug);font-weight:500;line-height:var(--leading-snug);text-wrap:balance;justify-self:end}.hero__tagline-word[data-astro-cid-ge2uvauf]{vertical-align:bottom;margin-block:-.06em -.16em;padding-block:.06em .16em;display:inline-block;overflow:clip}.hero__tagline-inner[data-astro-cid-ge2uvauf]{animation:word-rise 1.05s var(--ease-dramatic) both;animation-delay:calc(.52s + (var(--word-index) * 52ms));display:inline-block}@keyframes word-rise{0%{translate:0 118%;rotate:4deg}to{translate:0;rotate:0deg}}.hero__shape[data-astro-cid-ge2uvauf]{z-index:0;pointer-events:none;position:absolute}.hero__shape--outline[data-astro-cid-ge2uvauf]{aspect-ratio:1;border:clamp(.3rem, .7vw, .7rem) solid var(--color-accent-2);width:clamp(6rem,16vw,15rem);animation:26s linear infinite slow-spin;top:18%;right:-2.5rem;rotate:12deg}.hero__shape--block[data-astro-cid-ge2uvauf]{aspect-ratio:1;background:var(--color-accent-3-soft);border:var(--line-width) solid var(--color-accent-3);width:clamp(4rem,10vw,9rem);animation:bob 8s var(--ease-in-out) infinite alternate;bottom:8%;right:12%;rotate:45deg}.hero__shape--bar[data-astro-cid-ge2uvauf]{background:var(--color-accent);width:clamp(10rem,28vw,26rem);height:clamp(.6rem,1.2vw,1.2rem);animation:slide 12s var(--ease-in-out) infinite alternate;bottom:23%;left:-4rem;rotate:-8deg}@supports (animation-timeline:scroll()){.hero__shape--outline[data-astro-cid-ge2uvauf]{animation:26s linear infinite slow-spin,linear both parallax-rise scroll(root);animation-range:normal,0 100vh}.hero__shape--block[data-astro-cid-ge2uvauf]{animation:bob 8s var(--ease-in-out) infinite alternate, parallax-fall linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}.hero__shape--bar[data-astro-cid-ge2uvauf]{animation:slide 12s var(--ease-in-out) infinite alternate, parallax-fall linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}}@keyframes char-in{0%{opacity:0;filter:blur(14px);translate:0 .72em;rotate:-16deg;scale:.82}55%{opacity:1;filter:blur()}to{opacity:1;filter:blur();translate:0;rotate:0deg;scale:1}}@keyframes fade-in{0%{opacity:0;translate:0 1.5rem}to{opacity:1;translate:0}}@keyframes slow-spin{to{rotate:372deg}}@keyframes bob{0%{rotate:45deg;scale:1}to{rotate:84deg;scale:1.14}}@keyframes slide{0%{rotate:-8deg}to{rotate:-2deg}}@keyframes parallax-fall{0%{translate:0 -4rem}to{translate:0 18rem}}@keyframes parallax-rise{0%{translate:0 6rem}to{translate:0 -14rem}}@media (width<=64rem){.hero__lower[data-astro-cid-ge2uvauf]{gap:var(--space-xl);grid-template-columns:1fr}.hero__tagline[data-astro-cid-ge2uvauf]{justify-self:start;max-width:24ch}}@media (width<=44rem){.hero__inner[data-astro-cid-ge2uvauf]{min-height:calc(100svh - 6.2rem);padding-block:var(--space-md) var(--space-2xl)}.hero__name[data-astro-cid-ge2uvauf]{letter-spacing:-.065em}.hero__shape--outline[data-astro-cid-ge2uvauf]{opacity:.7;top:13%;right:-4rem}.hero__shape--block[data-astro-cid-ge2uvauf]{bottom:4%;right:4%}}@media (prefers-reduced-motion:reduce){.hero__char[data-astro-cid-ge2uvauf],.hero__lower[data-astro-cid-ge2uvauf],.hero__shape[data-astro-cid-ge2uvauf],.hero__meta-line[data-astro-cid-ge2uvauf],.hero__tagline-inner[data-astro-cid-ge2uvauf]{animation:none}}.marquee[data-astro-cid-543bmuqs]{border-block:var(--line-width) solid var(--color-line-strong);background:var(--color-surface);overflow:hidden}.marquee__track[data-astro-cid-543bmuqs]{width:max-content;animation:marquee var(--marquee-duration) linear infinite;display:flex}.marquee[data-astro-cid-543bmuqs]:hover .marquee__track[data-astro-cid-543bmuqs]{animation-play-state:paused}.marquee__group[data-astro-cid-543bmuqs]{flex:none;align-items:center;gap:clamp(1.5rem,4vw,4rem);padding:clamp(.8rem,1.6vw,1.3rem) clamp(.75rem,2vw,2rem) clamp(.8rem,1.6vw,1.3rem) clamp(1.5rem,4vw,4rem);display:flex}.marquee__item[data-astro-cid-543bmuqs]{font-family:var(--font-display);letter-spacing:var(--tracking-snug);white-space:nowrap;text-transform:uppercase;align-items:center;gap:clamp(1.5rem,4vw,4rem);font-size:clamp(1.15rem,2.4vw,2.4rem);font-weight:600;line-height:1;display:flex}.marquee__item[data-astro-cid-543bmuqs]:after{background:var(--color-accent);content:"";flex:none;width:.55em;height:.55em;rotate:45deg}@keyframes marquee{to{translate:-50%}}@media (prefers-reduced-motion:reduce){.marquee__track[data-astro-cid-543bmuqs]{animation:none}}.project[data-astro-cid-y2vllrex]{border-top:var(--line-width) solid var(--color-line-strong);grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2rem,5vw,6rem);padding-block:clamp(2.5rem,6vw,6rem);display:grid}.project__visual[data-astro-cid-y2vllrex]{aspect-ratio:1;border:var(--line-width) solid var(--project-accent);background:var(--project-stage);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--project-accent);color:var(--project-ink);transition:box-shadow var(--dur-mid) var(--ease-out), translate var(--dur-mid) var(--ease-out);grid-column:1/span 5;place-items:center;display:grid;position:relative;overflow:clip}.project--flip[data-astro-cid-y2vllrex] .project__visual[data-astro-cid-y2vllrex]{grid-column:8/-1}.project[data-astro-cid-y2vllrex]:hover .project__visual[data-astro-cid-y2vllrex]{translate:calc(var(--shadow-offset) * -.5) calc(var(--shadow-offset) * -.5);box-shadow:calc(var(--shadow-offset) * 1.5) calc(var(--shadow-offset) * 1.5) 0 var(--project-accent)}.project__visual[data-astro-cid-y2vllrex][data-tone=gold]{--project-stage:var(--tone-gold-stage);--project-ink:var(--tone-gold-ink);--project-accent:var(--tone-gold-accent)}.project__visual[data-astro-cid-y2vllrex][data-tone=violet]{--project-stage:var(--tone-violet-stage);--project-ink:var(--tone-violet-ink);--project-accent:var(--tone-violet-accent)}.project__visual[data-astro-cid-y2vllrex][data-tone=green]{--project-stage:var(--tone-green-stage);--project-ink:var(--tone-green-ink);--project-accent:var(--tone-green-accent)}.project__visual-grid[data-astro-cid-y2vllrex]{background-image:linear-gradient(var(--project-accent) var(--line-width), transparent var(--line-width)), linear-gradient(90deg, var(--project-accent) var(--line-width), transparent var(--line-width));opacity:.14;transition:opacity var(--dur-slow) var(--ease-out), background-position 1.1s var(--ease-dramatic), scale 1.1s var(--ease-dramatic);background-size:13.33% 13.33%;position:absolute;inset:0}.project[data-astro-cid-y2vllrex]:hover .project__visual-grid[data-astro-cid-y2vllrex]{opacity:.28;background-position:1.6rem 1.6rem;scale:1.1}.project__visual-index[data-astro-cid-y2vllrex]{color:#0000;font-family:var(--font-display);letter-spacing:-.08em;font-size:clamp(8rem,20vw,22rem);font-weight:700;line-height:var(--leading-none);opacity:.3;transition:translate 1.1s var(--ease-dramatic), opacity var(--dur-slow) var(--ease-out);-webkit-text-stroke:var(--line-width) var(--project-accent);position:absolute;bottom:-.17em;right:.06em}.project[data-astro-cid-y2vllrex]:hover .project__visual-index[data-astro-cid-y2vllrex]{opacity:.55;translate:-.5rem -1.2rem}.project__logo-wrap[data-astro-cid-y2vllrex]{z-index:1;width:min(76%,28rem);transition:rotate var(--dur-slow) var(--ease-out), scale var(--dur-slow) var(--ease-out), translate var(--dur-slow) var(--ease-out);position:relative;rotate:-3deg}.project--flip[data-astro-cid-y2vllrex] .project__logo-wrap[data-astro-cid-y2vllrex]{rotate:3deg}.project[data-astro-cid-y2vllrex]:hover .project__logo-wrap[data-astro-cid-y2vllrex]{translate:0 -.6rem;rotate:0deg;scale:1.04}.project__logo-wrap[data-astro-cid-y2vllrex] img[data-astro-cid-y2vllrex]{object-fit:contain;width:100%;height:auto}.project__badge[data-astro-cid-y2vllrex]{top:var(--space-md);left:var(--space-md);z-index:2;border:var(--line-width) solid var(--color-bg);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:.45rem .55rem;font-weight:500;line-height:1;position:absolute;rotate:-3deg}.project[data-astro-cid-y2vllrex]:hover .project__badge[data-astro-cid-y2vllrex]{animation:badge-pulse 1.6s var(--ease-in-out) infinite alternate}@keyframes badge-pulse{0%{rotate:-3deg;scale:1}to{rotate:2deg;scale:1.08}}.project__content[data-astro-cid-y2vllrex]{align-self:center;gap:var(--space-lg);flex-direction:column;grid-column:7/-1;display:flex}.project--flip[data-astro-cid-y2vllrex] .project__content[data-astro-cid-y2vllrex]{grid-area:1/1/auto/span 6}.project__eyebrow[data-astro-cid-y2vllrex]{align-items:center;gap:var(--space-md);color:var(--color-accent);display:flex}.project__eyebrow-line[data-astro-cid-y2vllrex]{width:2.8rem;height:var(--line-width);background:currentColor}.project__title[data-astro-cid-y2vllrex]{font-size:var(--text-project);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-none)}.project__summary[data-astro-cid-y2vllrex]{max-width:40rem;font-size:var(--text-lead);line-height:var(--leading-snug);text-wrap:pretty}.project__details[data-astro-cid-y2vllrex]{gap:var(--space-xl);padding-top:var(--space-lg);border-top:var(--line-width) solid var(--color-line);grid-template-columns:minmax(0,1.2fr) minmax(12rem,.8fr);display:grid}.project__detail-label[data-astro-cid-y2vllrex]{margin-bottom:var(--space-sm);color:var(--color-text-muted)}.project__why[data-astro-cid-y2vllrex]{max-width:30rem;color:var(--color-text-muted)}.project__tech[data-astro-cid-y2vllrex]{gap:var(--space-xs);flex-wrap:wrap;display:flex}.project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]{border:var(--line-width) solid var(--color-line-strong);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.04em;text-transform:uppercase;transition:translate var(--dur-mid) var(--ease-spring), border-color var(--dur-mid) var(--ease-in-out), background-color var(--dur-mid) var(--ease-in-out);padding:.35rem .45rem;font-weight:500;line-height:1}.project[data-astro-cid-y2vllrex]:hover .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex],.project[data-astro-cid-y2vllrex]:focus-within .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]{border-color:var(--color-accent);translate:0 -.22rem}.project[data-astro-cid-y2vllrex]:hover .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(2),.project[data-astro-cid-y2vllrex]:focus-within .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(2){transition-delay:45ms}.project[data-astro-cid-y2vllrex]:hover .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(3),.project[data-astro-cid-y2vllrex]:focus-within .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(3){transition-delay:90ms}.project[data-astro-cid-y2vllrex]:hover .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(4),.project[data-astro-cid-y2vllrex]:focus-within .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(4){transition-delay:.135s}.project[data-astro-cid-y2vllrex]:hover .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(5),.project[data-astro-cid-y2vllrex]:focus-within .project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex]:nth-child(5){transition-delay:.18s}.project__links[data-astro-cid-y2vllrex]{gap:var(--space-sm);padding-top:var(--space-md);flex-wrap:wrap;display:flex}.project__link[data-astro-cid-y2vllrex]{align-items:center;gap:var(--space-sm);border:var(--line-width) solid var(--color-line-strong);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:background-color var(--dur-fast) var(--ease-in-out), border-color var(--dur-fast) var(--ease-in-out), color var(--dur-fast) var(--ease-in-out), translate var(--dur-fast) var(--ease-in-out);padding:.75rem .85rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.project__link--release[data-astro-cid-y2vllrex]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.project__link[data-astro-cid-y2vllrex]:hover,.project__link[data-astro-cid-y2vllrex]:focus-visible{border-color:var(--color-invert-bg);background:var(--color-invert-bg);color:var(--color-invert-text);translate:0 -.2rem}.project__link[data-astro-cid-y2vllrex] svg{transition:translate var(--dur-fast) var(--ease-out)}.project__link[data-astro-cid-y2vllrex]:hover svg,.project__link[data-astro-cid-y2vllrex]:focus-visible svg{translate:.2rem -.2rem}@media (prefers-reduced-motion:no-preference){:root.js .project__eyebrow[data-astro-cid-y2vllrex],:root.js .project__title[data-astro-cid-y2vllrex],:root.js .project__summary[data-astro-cid-y2vllrex],:root.js .project__details[data-astro-cid-y2vllrex],:root.js .project__links[data-astro-cid-y2vllrex]{opacity:0;transition:opacity .78s var(--ease-dramatic), translate .98s var(--ease-dramatic);translate:0 1.8rem}:root.js .project[data-astro-cid-y2vllrex].is-revealed .project__eyebrow[data-astro-cid-y2vllrex]{opacity:1;transition-delay:.2s;translate:0}:root.js .project[data-astro-cid-y2vllrex].is-revealed .project__title[data-astro-cid-y2vllrex]{opacity:1;transition-delay:.29s;translate:0}:root.js .project[data-astro-cid-y2vllrex].is-revealed .project__summary[data-astro-cid-y2vllrex]{opacity:1;transition-delay:.38s;translate:0}:root.js .project[data-astro-cid-y2vllrex].is-revealed .project__details[data-astro-cid-y2vllrex]{opacity:1;transition-delay:.47s;translate:0}:root.js .project[data-astro-cid-y2vllrex].is-revealed .project__links[data-astro-cid-y2vllrex]{opacity:1;transition-delay:.56s;translate:0}}@media (width<=64rem){.project[data-astro-cid-y2vllrex]{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr)}.project__visual[data-astro-cid-y2vllrex],.project--flip[data-astro-cid-y2vllrex] .project__visual[data-astro-cid-y2vllrex]{grid-column:1;width:min(100%,38rem)}.project__content[data-astro-cid-y2vllrex],.project--flip[data-astro-cid-y2vllrex] .project__content[data-astro-cid-y2vllrex]{grid-area:auto/1}.project--flip[data-astro-cid-y2vllrex] .project__visual[data-astro-cid-y2vllrex]{justify-self:end}}@media (width<=44rem){.project__visual[data-astro-cid-y2vllrex],.project--flip[data-astro-cid-y2vllrex] .project__visual[data-astro-cid-y2vllrex]{width:100%}.project__details[data-astro-cid-y2vllrex]{grid-template-columns:1fr}.project__link[data-astro-cid-y2vllrex]{flex:auto;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.project__visual[data-astro-cid-y2vllrex],.project__logo-wrap[data-astro-cid-y2vllrex],.project__link[data-astro-cid-y2vllrex],.project__visual-grid[data-astro-cid-y2vllrex],.project__visual-index[data-astro-cid-y2vllrex],.project__tech[data-astro-cid-y2vllrex] li[data-astro-cid-y2vllrex],.project__link[data-astro-cid-y2vllrex] svg{transition:none}.project[data-astro-cid-y2vllrex]:hover .project__badge[data-astro-cid-y2vllrex]{animation:none}}.projects__list[data-astro-cid-6iojtk56]{border-bottom:var(--line-width) solid var(--color-line-strong)}
