.project-card[data-astro-cid-mspuyifq]{display:flex;flex-direction:column;position:relative}.project-card__media-link[data-astro-cid-mspuyifq]{display:block;text-decoration:none;border-radius:var(--radius-md);overflow:hidden}.project-card__media[data-astro-cid-mspuyifq]{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--color-border);border-radius:var(--radius-md);overflow:hidden}.project-card__media-image[data-astro-cid-mspuyifq]{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.project-card[data-astro-cid-mspuyifq]:not(.project-card--coming-soon):hover .project-card__media-image[data-astro-cid-mspuyifq]{transform:scale(1.04)}html.no-animations .project-card[data-astro-cid-mspuyifq]:not(.project-card--coming-soon):hover .project-card__media-image[data-astro-cid-mspuyifq]{transform:none}.project-card__badge[data-astro-cid-mspuyifq]{position:absolute;top:var(--spacing-04);left:var(--spacing-04);z-index:2;background-color:color-mix(in srgb,var(--color-surface) 90%,transparent);color:var(--color-on-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-02) var(--spacing-04);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;line-height:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-card--coming-soon[data-astro-cid-mspuyifq] .project-card__media-image[data-astro-cid-mspuyifq],.project-card--coming-soon[data-astro-cid-mspuyifq] .project-card__tags[data-astro-cid-mspuyifq],.project-card--coming-soon[data-astro-cid-mspuyifq] .project-card__title[data-astro-cid-mspuyifq],.project-card--coming-soon[data-astro-cid-mspuyifq] .project-card__description[data-astro-cid-mspuyifq]{opacity:.7}.project-card--coming-soon[data-astro-cid-mspuyifq] .project-card__badge[data-astro-cid-mspuyifq]{opacity:1}.project-card__content[data-astro-cid-mspuyifq]{margin-top:var(--spacing-05);display:flex;flex-direction:column;gap:var(--spacing-02)}.project-card__tags[data-astro-cid-mspuyifq]{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:0}.project-card__tag[data-astro-cid-mspuyifq]{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-muted);white-space:nowrap}.project-card__tag[data-astro-cid-mspuyifq]+.project-card__tag[data-astro-cid-mspuyifq]:before{content:" · ";opacity:1}.project-card__title[data-astro-cid-mspuyifq]{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);margin:0;letter-spacing:var(--letter-spacing-heading)}a[data-astro-cid-mspuyifq].project-card__title-link{display:inline-flex;align-items:center;min-height:44px;padding-block:var(--spacing-02);color:var(--color-on-surface);text-decoration:none;transition:color var(--transition-fast)}a[data-astro-cid-mspuyifq].project-card__title-link[href]:hover{color:var(--color-accent)}a[data-astro-cid-mspuyifq].project-card__title-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}a[data-astro-cid-mspuyifq].project-card__title-link[href]:after{content:"";position:absolute;inset:0}.project-card__description[data-astro-cid-mspuyifq]{font-size:var(--font-size-sm);color:var(--color-muted);line-height:var(--line-height-base);margin:0}.hero{position:relative;min-height:calc(100dvh - 76px);display:flex;flex-direction:column;justify-content:center;padding-block:var(--section-gap-sm)}@media(max-width:480px){.hero{min-height:calc(100dvh - 130px)}}.hero__name{font-size:var(--font-size-hero);font-weight:var(--font-weight-bold);line-height:var(--line-height-hero);letter-spacing:var(--letter-spacing-display);margin:0;color:var(--color-on-surface)}.hero__discipline{font-size:var(--font-size-hero-sub);font-weight:var(--font-weight-bold);line-height:var(--line-height-hero);letter-spacing:var(--letter-spacing-display);margin-top:var(--hero-line-gap);color:var(--color-muted)}.hero__discipline-sep{opacity:.5;font-weight:var(--font-weight-regular)}.hero__scroll-indicator{appearance:none;-webkit-appearance:none;background:transparent;border:none;box-shadow:none;padding:var(--spacing-03);min-width:44px;min-height:44px;position:absolute;bottom:var(--spacing-07);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-02);color:var(--color-on-surface);opacity:.6;cursor:pointer;letter-spacing:inherit;word-spacing:inherit;transition:opacity .3s ease,color .2s ease}.hero__scroll-indicator:focus:not(:focus-visible){outline:none;box-shadow:none;background:transparent}.hero__scroll-indicator:hover{color:var(--color-accent);opacity:1}.hero__scroll-indicator:focus-visible{color:var(--color-accent);opacity:1;outline:2px solid var(--color-focus);outline-offset:4px;border-radius:2px}.hero__scroll-indicator.is-hidden{opacity:0;pointer-events:none}.hero__scroll-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:calc(var(--letter-spacing-base) + .06em);text-transform:uppercase;line-height:1}@media(max-width:480px){.hero__scroll-indicator{display:none}}.projects{padding-bottom:var(--section-gap-sm)}.projects__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--section-gap-sm)}@keyframes hero-name-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}html.js-enabled .hero__entrance-name{animation:hero-name-reveal .8s cubic-bezier(.22,1,.36,1) both}html.js-enabled .hero__entrance-sub{opacity:0;animation:hero-fade-up .6s cubic-bezier(.22,1,.36,1) .28s both}@media(prefers-reduced-motion:reduce){html.js-enabled .hero__entrance-name,html.js-enabled .hero__entrance-sub{animation:none;opacity:1;clip-path:none}}html.no-animations .hero__entrance-name,html.no-animations .hero__entrance-sub{animation:none;opacity:1;clip-path:none}html.js-enabled .projects__grid .animate-entry:nth-child(1){transition-delay:0ms}html.js-enabled .projects__grid .animate-entry:nth-child(2){transition-delay:80ms}html.js-enabled .projects__grid .animate-entry:nth-child(3){transition-delay:.16s}html.js-enabled .projects__grid .animate-entry:nth-child(4){transition-delay:.24s}@media(max-width:768px){.projects__grid .animate-entry:nth-child(n){transition-delay:0ms}}@media(max-width:768px){.projects__grid{grid-template-columns:1fr;gap:var(--spacing-09)}}
