.work-card[data-astro-cid-ryuh4v2g]{position:relative}.work-link[data-astro-cid-ryuh4v2g]{color:inherit;text-decoration:none;display:block}.work-visual[data-astro-cid-ryuh4v2g]{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-subtle);position:relative;overflow:hidden}.is-large[data-astro-cid-ryuh4v2g] .work-visual[data-astro-cid-ryuh4v2g]{aspect-ratio:3/4}.work-visual[data-astro-cid-ryuh4v2g] img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.work-link[data-astro-cid-ryuh4v2g]:hover .work-visual[data-astro-cid-ryuh4v2g] img{transform:scale(1.04)}.work-visual[data-astro-cid-ryuh4v2g]:after{content:"";background:linear-gradient(to top, color-mix(in srgb, var(--color-brand) 38%, transparent), transparent 55%);opacity:0;transition:opacity var(--transition-base);pointer-events:none;position:absolute;inset:0}.work-link[data-astro-cid-ryuh4v2g]:hover .work-visual[data-astro-cid-ryuh4v2g]:after{opacity:1}.work-visual-empty[data-astro-cid-ryuh4v2g]{width:100%;height:100%;font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-muted);justify-content:center;align-items:center;display:flex}.work-num[data-astro-cid-ryuh4v2g]{top:var(--spacing-4);left:var(--spacing-4);z-index:1;padding:4px var(--spacing-3);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);border-radius:999px;position:absolute}.work-body[data-astro-cid-ryuh4v2g]{padding-top:var(--spacing-5)}.work-meta[data-astro-cid-ryuh4v2g]{align-items:center;gap:var(--spacing-3);font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);display:flex}.work-type[data-astro-cid-ryuh4v2g]{color:var(--color-brand)}.work-year[data-astro-cid-ryuh4v2g]{color:var(--color-muted);font-variant-numeric:tabular-nums}.work-year[data-astro-cid-ryuh4v2g]:before{content:"/";color:var(--color-border);margin-inline-end:var(--spacing-3)}.work-title[data-astro-cid-ryuh4v2g]{margin-top:var(--spacing-3);font-size:var(--font-size-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);color:var(--color-text);transition:color var(--transition-fast)}.is-large[data-astro-cid-ryuh4v2g] .work-title[data-astro-cid-ryuh4v2g]{font-size:var(--font-size-3xl)}.work-link[data-astro-cid-ryuh4v2g]:hover .work-title[data-astro-cid-ryuh4v2g]{color:var(--color-brand)}.work-summary[data-astro-cid-ryuh4v2g]{margin-top:var(--spacing-3);font-size:var(--font-size-sm);line-height:var(--leading-relaxed);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.is-large[data-astro-cid-ryuh4v2g] .work-summary[data-astro-cid-ryuh4v2g]{font-size:var(--font-size-base);-webkit-line-clamp:3;line-clamp:3}.work-cta[data-astro-cid-ryuh4v2g]{align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-4);font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-muted);transition:color var(--transition-fast);display:inline-flex}.work-cta[data-astro-cid-ryuh4v2g] svg[data-astro-cid-ryuh4v2g]{transition:transform var(--transition-base)}.work-link[data-astro-cid-ryuh4v2g]:hover .work-cta[data-astro-cid-ryuh4v2g]{color:var(--color-brand)}.work-link[data-astro-cid-ryuh4v2g]:hover .work-cta[data-astro-cid-ryuh4v2g] svg[data-astro-cid-ryuh4v2g]{transform:translate(4px)}@media (prefers-reduced-motion:reduce){.work-visual[data-astro-cid-ryuh4v2g] img,.work-cta[data-astro-cid-ryuh4v2g] svg[data-astro-cid-ryuh4v2g]{transition:none}.work-link[data-astro-cid-ryuh4v2g]:hover .work-visual[data-astro-cid-ryuh4v2g] img{transform:none}}@media (width<=640px){.is-large[data-astro-cid-ryuh4v2g] .work-title[data-astro-cid-ryuh4v2g]{font-size:var(--font-size-2xl)}}
