.bento-grid[data-astro-cid-flctkwwg]{display:grid;gap:var(--gap);grid-auto-flow:dense}.bento-grid[data-astro-cid-flctkwwg]{grid-template-columns:1fr}@media(min-width:640px){.bento-grid[data-astro-cid-flctkwwg]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.bento-cols-2[data-astro-cid-flctkwwg]{grid-template-columns:repeat(2,1fr)}.bento-cols-3[data-astro-cid-flctkwwg]{grid-template-columns:repeat(3,1fr)}.bento-cols-4[data-astro-cid-flctkwwg]{grid-template-columns:repeat(4,1fr)}}.bento-grid[data-astro-cid-flctkwwg] .bento-wide{grid-column:span 2}.bento-grid[data-astro-cid-flctkwwg] .bento-tall{grid-row:span 2}.bento-grid[data-astro-cid-flctkwwg] .bento-featured{grid-column:span 2;grid-row:span 2}@media(max-width:639px){.bento-grid[data-astro-cid-flctkwwg] .bento-wide,.bento-grid[data-astro-cid-flctkwwg] .bento-tall,.bento-grid[data-astro-cid-flctkwwg] .bento-featured{grid-column:span 1;grid-row:span 1}}.project-card[data-astro-cid-3lvxrau2]{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;text-decoration:none;transition:all var(--duration-normal) var(--ease-out)}.project-card[data-astro-cid-3lvxrau2]:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-4px)}.card-media[data-astro-cid-3lvxrau2]{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#111}.card-media[data-astro-cid-3lvxrau2]:before{content:"";position:absolute;inset:0;background-image:var(--card-media-image);background-size:cover;background-position:center;filter:blur(18px) saturate(1.1);transform:scale(1.08);opacity:.7;z-index:0}.card-media[data-astro-cid-3lvxrau2]:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#00000014,#0000002e);z-index:1}.card-media[data-astro-cid-3lvxrau2]>img[data-astro-cid-3lvxrau2]{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform var(--duration-slow) var(--ease-out)}.project-card[data-astro-cid-3lvxrau2]:hover .card-media[data-astro-cid-3lvxrau2] img[data-astro-cid-3lvxrau2]{transform:scale(1.05)}.card-overlay[data-astro-cid-3lvxrau2]{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#17171799;opacity:0;transition:opacity var(--duration-normal) var(--ease-out)}.project-card[data-astro-cid-3lvxrau2]:hover .card-overlay[data-astro-cid-3lvxrau2]{opacity:1}.view-project[data-astro-cid-3lvxrau2]{padding:var(--space-3) var(--space-5);background:var(--color-accent);color:var(--color-accent-contrast);border-radius:var(--radius-full);font-weight:500;font-size:var(--text-sm)}.card-content[data-astro-cid-3lvxrau2]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.card-header[data-astro-cid-3lvxrau2]{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.card-title[data-astro-cid-3lvxrau2]{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin:0}.card-tagline[data-astro-cid-3lvxrau2]{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:auto 0 0}.tech-stack[data-astro-cid-3lvxrau2]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.tech-stack[data-astro-cid-3lvxrau2]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bento-featured[data-astro-cid-3lvxrau2] .card-media[data-astro-cid-3lvxrau2]{aspect-ratio:16 / 9}.bento-featured[data-astro-cid-3lvxrau2] .card-title[data-astro-cid-3lvxrau2]{font-size:var(--text-2xl)}.coming-soon[data-astro-cid-3lvxrau2]{pointer-events:none;opacity:.85}.coming-soon[data-astro-cid-3lvxrau2] .card-media[data-astro-cid-3lvxrau2] img[data-astro-cid-3lvxrau2]{filter:grayscale(.3)}.coming-soon-overlay[data-astro-cid-3lvxrau2]{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#17171780;backdrop-filter:blur(2px)}.coming-soon-badge[data-astro-cid-3lvxrau2]{padding:var(--space-3) var(--space-6);background:#ffffff26;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 24px #0003}
