#bg-canvas[data-astro-cid-stk463g2]{position:fixed;top:0;left:0;width:100%;height:100%;height:100lvh;z-index:-1;display:block}.hero[data-astro-cid-bbe6dxrz]{display:flex;align-items:center;justify-content:center}.hero[data-astro-cid-bbe6dxrz] .container[data-astro-cid-bbe6dxrz]{display:flex;align-items:center}.hero-content[data-astro-cid-bbe6dxrz]{max-width:640px}.hero-eyebrow[data-astro-cid-bbe6dxrz]{font-family:Satoshi,sans-serif;font-size:.7em;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 1.5rem}.hero-name[data-astro-cid-bbe6dxrz]{font-family:Clash Display,sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:600;line-height:1;color:var(--color-content);margin:0 0 .5rem}.hero-title[data-astro-cid-bbe6dxrz]{font-family:Clash Display,sans-serif;font-size:clamp(1.25rem,3vw,2rem);font-weight:400;color:var(--color-muted);margin:0 0 1.5rem}.hero-tagline[data-astro-cid-bbe6dxrz]{font-family:Satoshi,sans-serif;line-height:1.7;color:var(--color-muted);margin:0 0 2.5rem}.hero-cta[data-astro-cid-bbe6dxrz]{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary[data-astro-cid-bbe6dxrz]{display:inline-block;padding:.75rem 1.75rem;background:var(--color-accent);color:var(--color-content);font-family:Satoshi,sans-serif;font-weight:600;font-size:.875em;text-decoration:none;border-radius:2px;transition:opacity .2s}.btn-primary[data-astro-cid-bbe6dxrz]:hover{opacity:.85}.btn-ghost[data-astro-cid-bbe6dxrz]{display:inline-block;padding:.75rem 1.75rem;border:1px solid var(--color-border);color:var(--color-muted);font-family:Satoshi,sans-serif;font-weight:500;font-size:.875em;text-decoration:none;border-radius:2px;transition:border-color .2s,color .2s}.btn-ghost[data-astro-cid-bbe6dxrz]:hover{border-color:#ffffff59;color:var(--color-content)}.btn-play[data-astro-cid-bbe6dxrz]{border-color:var(--color-accent);color:var(--color-accent)}.btn-play[data-astro-cid-bbe6dxrz]:hover{border-color:var(--color-accent);color:var(--color-content)}.play-group[data-astro-cid-bbe6dxrz]{display:inline-flex}.play-group[data-astro-cid-bbe6dxrz] .btn-play[data-astro-cid-bbe6dxrz]{border-top-right-radius:0;border-bottom-right-radius:0}.btn-cycle[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;justify-content:center;padding:0 .85rem;margin-left:-1px;background:none;border:1px solid var(--color-accent);border-radius:0 2px 2px 0;color:var(--color-accent);cursor:pointer;transition:color .2s,background-color .2s}.btn-cycle[data-astro-cid-bbe6dxrz]:hover,.btn-cycle[data-astro-cid-bbe6dxrz]:focus-visible{color:var(--color-content);background-color:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-cycle[data-astro-cid-bbe6dxrz] svg[data-astro-cid-bbe6dxrz]{transition:transform .4s cubic-bezier(.3,.7,.3,1)}.btn-play[data-astro-cid-bbe6dxrz].is-swapping{animation:game-swap .3s ease}@keyframes game-swap{0%{opacity:.2}to{opacity:1}}.card[data-astro-cid-mspuyifq]{display:flex;flex-direction:column;gap:1.5rem;color:var(--color-content);text-decoration:none}.card-media[data-astro-cid-mspuyifq]{position:relative;aspect-ratio:3 / 2;overflow:hidden;border-radius:3px;background:color-mix(in srgb,var(--color-content) 8%,transparent)}.card-media[data-astro-cid-mspuyifq] img[data-astro-cid-mspuyifq],.card-media[data-astro-cid-mspuyifq] video[data-astro-cid-mspuyifq]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.card[data-astro-cid-mspuyifq]:hover .card-media[data-astro-cid-mspuyifq] img[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:hover .card-media[data-astro-cid-mspuyifq] video[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:focus-visible .card-media[data-astro-cid-mspuyifq] img[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:focus-visible .card-media[data-astro-cid-mspuyifq] video[data-astro-cid-mspuyifq]{transform:scale(1.035)}.card-meta[data-astro-cid-mspuyifq]{display:flex;gap:.9rem;margin:0 0 .6rem;font-size:.68em;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.card-number[data-astro-cid-mspuyifq]{color:var(--color-muted);font-variant-numeric:tabular-nums}.card-title[data-astro-cid-mspuyifq]{font-family:Clash Display,sans-serif;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:600;line-height:1.08;margin:0 0 .7rem;transition:color .25s}.card-summary[data-astro-cid-mspuyifq]{font-size:.82em;line-height:1.6;color:var(--color-muted);margin:0 0 1.1rem;max-width:38ch}.card-cta[data-astro-cid-mspuyifq]{display:inline-flex;align-items:center;gap:.5rem;font-size:.72em;font-weight:600;letter-spacing:.04em;border-bottom:1px solid var(--color-border);padding-bottom:.2rem;transition:border-color .25s,color .25s}.card-arrow[data-astro-cid-mspuyifq]{display:inline-block;transition:transform .25s}.card[data-astro-cid-mspuyifq]:hover .card-title[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:hover .card-cta[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:focus-visible .card-title[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:focus-visible .card-cta[data-astro-cid-mspuyifq]{color:var(--color-accent)}.card[data-astro-cid-mspuyifq]:hover .card-cta[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:focus-visible .card-cta[data-astro-cid-mspuyifq]{border-color:var(--color-accent)}.card[data-astro-cid-mspuyifq]:hover .card-arrow[data-astro-cid-mspuyifq],.card[data-astro-cid-mspuyifq]:focus-visible .card-arrow[data-astro-cid-mspuyifq]{transform:translate(.3rem)}.card[data-astro-cid-mspuyifq]:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.card--featured[data-astro-cid-mspuyifq]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem)}.card--featured[data-astro-cid-mspuyifq] .card-media[data-astro-cid-mspuyifq]{aspect-ratio:1 / 1;max-height:78svh}.card--featured[data-astro-cid-mspuyifq] .card-title[data-astro-cid-mspuyifq]{font-size:clamp(2.2rem,4.5vw,4rem);margin-bottom:1.1rem}.card--featured[data-astro-cid-mspuyifq] .card-summary[data-astro-cid-mspuyifq]{font-size:1em;max-width:30ch;margin-bottom:1.75rem}.card--featured[data-astro-cid-mspuyifq] .card-cta[data-astro-cid-mspuyifq]{font-size:.8em}@media(max-width:768px){.card--featured[data-astro-cid-mspuyifq]{grid-template-columns:1fr;gap:1.5rem}.card--featured[data-astro-cid-mspuyifq] .card-media[data-astro-cid-mspuyifq]{aspect-ratio:1 / 1}}#projects[data-astro-cid-amng4zvp]{min-height:unset;padding:clamp(4rem,8vw,8rem) 0}.projects-header[data-astro-cid-amng4zvp]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;margin-bottom:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--color-border)}.section-label[data-astro-cid-amng4zvp]{font-family:Clash Display,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:600;color:var(--color-content);margin:0}.projects-count[data-astro-cid-amng4zvp]{margin:0;font-size:.68em;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.projects-grid[data-astro-cid-amng4zvp]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,4rem);row-gap:clamp(4rem,7vw,6.5rem);margin-top:clamp(5rem,9vw,8rem)}@media(min-width:769px){.projects-grid[data-astro-cid-amng4zvp]>:nth-child(2n){transform:translateY(clamp(3rem,7vw,7rem))}.projects-grid[data-astro-cid-amng4zvp]{padding-bottom:clamp(3rem,7vw,7rem)}}@media(max-width:768px){.projects-grid[data-astro-cid-amng4zvp]{grid-template-columns:1fr}}#experience[data-astro-cid-xpq65ryk]{display:flex;align-items:center;justify-content:center}.experience-inner[data-astro-cid-xpq65ryk]{width:100%}@media(min-width:768px){.experience-inner[data-astro-cid-xpq65ryk]{max-width:640px}}.section-label[data-astro-cid-xpq65ryk]{font-family:Clash Display,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:600;color:var(--color-content);margin:0 0 4rem}.timeline[data-astro-cid-xpq65ryk]{list-style:none;padding:0;margin:0}.timeline-item[data-astro-cid-xpq65ryk]{padding-bottom:3rem;border-bottom:1px solid var(--color-border-subtle);margin-bottom:3rem}.timeline-item[data-astro-cid-xpq65ryk]:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.timeline-title[data-astro-cid-xpq65ryk]{font-family:Clash Display,sans-serif;font-size:1.25rem;font-weight:600;color:var(--color-content);margin:0 0 .25rem}.timeline-company[data-astro-cid-xpq65ryk]{font-family:Satoshi,sans-serif;font-size:.875em;font-weight:500;color:var(--color-muted);display:block;margin-bottom:.75rem}.timeline-description[data-astro-cid-xpq65ryk]{font-family:Satoshi,sans-serif;line-height:1.7;color:var(--color-muted);margin:0}#about[data-astro-cid-v2cbyr3p]{display:flex;align-items:center;justify-content:center}@media(max-width:640px){#about[data-astro-cid-v2cbyr3p]{margin-top:6rem}}.about-inner[data-astro-cid-v2cbyr3p]{width:100%}.section-label[data-astro-cid-v2cbyr3p]{font-family:Clash Display,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:600;color:var(--color-content);margin:0 0 4rem}.about-grid[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:240px 1fr 240px;gap:4rem;align-items:start}.about-portrait[data-astro-cid-v2cbyr3p]{width:240px;height:240px;border-radius:50%;border-color:var(--color-accent);border-width:12px;object-fit:cover;display:block;margin-bottom:2rem}.about-bio[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{font-family:Satoshi,sans-serif;line-height:1.8;color:var(--color-muted);margin:0 0 1.25em}.about-bio[data-astro-cid-v2cbyr3p] .about-currently[data-astro-cid-v2cbyr3p]{color:var(--color-content);font-weight:500}.currently-label[data-astro-cid-v2cbyr3p]{color:var(--color-accent)}.about-bio[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]:last-of-type{margin-bottom:2rem}.about-contact[data-astro-cid-v2cbyr3p]{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.contact-link[data-astro-cid-v2cbyr3p]{font-family:Satoshi,sans-serif;font-weight:600;color:var(--color-content);text-decoration:none;transition:color .2s}.contact-link[data-astro-cid-v2cbyr3p]:hover{color:var(--color-accent)}.skills-heading[data-astro-cid-v2cbyr3p]{font-family:Satoshi,sans-serif;font-size:.75em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 1.25rem}.skills-group[data-astro-cid-v2cbyr3p]+.skills-group[data-astro-cid-v2cbyr3p]{margin-top:2rem}.skills-list[data-astro-cid-v2cbyr3p]{list-style:none;padding:0;margin:0}.skill-item[data-astro-cid-v2cbyr3p]{font-family:Satoshi,sans-serif;color:var(--color-muted);padding:.5rem 0;border-bottom:1px solid var(--color-border-subtle)}.skill-item[data-astro-cid-v2cbyr3p]:first-child{border-top:1px solid var(--color-border-subtle)}@media(max-width:640px){.about-grid[data-astro-cid-v2cbyr3p]{grid-template-columns:1fr;gap:2.5rem}}
