.project-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden;transition:border-color .4s var(--ease-luxury),transform .4s var(--ease-luxury);height:100%}.project-card:hover,.project-card:focus-within{border-color:var(--color-accent);transform:translateY(-2px)}.project-card-media{aspect-ratio:16 / 10;overflow:hidden;background:var(--color-bg-tinted);border-bottom:1px solid var(--color-border-light)}.project-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s var(--ease-luxury)}.project-card:hover .project-card-media img,.project-card:focus-within .project-card-media img{transform:scale(1.03)}.project-card-body{display:flex;flex-direction:column;gap:12px;padding:24px;flex:1}.project-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-badge{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--color-border);color:var(--color-text-secondary)}.project-badge-status{display:inline-flex;align-items:center;gap:6px}.project-badge-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-text-tertiary)}.project-status-live{color:var(--color-success);border-color:var(--color-success-subtle)}.project-status-live:before{background:var(--color-success);animation:project-pulse 2s ease-in-out infinite}.project-status-in-sviluppo{color:var(--color-accent);border-color:var(--color-accent-subtle)}.project-status-in-sviluppo:before{background:var(--color-accent)}.project-status-prototipo,.project-status-archiviato{color:var(--color-text-tertiary)}@keyframes project-pulse{0%,to{opacity:1}50%{opacity:.35}}.project-year{margin-left:auto;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--color-text-tertiary)}.project-card-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;line-height:1.25;color:var(--color-text-main)}.project-card-title a{color:inherit;text-decoration:none}.project-card-title a:hover,.project-card-title a:focus-visible{color:var(--color-accent-light)}.project-card-tagline{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.project-card-facts{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--color-border-light)}.project-card-facts dt{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-cta);margin-bottom:2px}.project-card-facts dd{font-size:.85rem;color:var(--color-text-secondary);line-height:1.55}.project-card-stack{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin-top:auto}.project-card-stack li{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.05em;padding:3px 8px;color:var(--color-accent);background:var(--color-accent-subtle)}.project-card-stack li.project-chip-more{color:var(--color-text-tertiary);background:transparent}.project-card-links{display:flex;gap:20px;flex-wrap:wrap;padding-top:8px}.project-link{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-main);text-decoration:none;border-bottom:1px solid transparent;transition:color .3s var(--ease-luxury),border-color .3s var(--ease-luxury)}.project-link:hover,.project-link:focus-visible{color:var(--color-accent-light);border-bottom-color:var(--color-accent-light);outline:none}.project-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}@media(min-width:1024px){.project-card-featured{display:grid;grid-template-columns:3fr 2fr}.project-card-featured .project-card-media{aspect-ratio:auto;min-height:100%;border-bottom:0;border-right:1px solid var(--color-border-light)}.project-card-featured .project-card-body{padding:32px}.project-card-featured .project-card-title{font-size:1.6rem}}.project-tile{position:relative;aspect-ratio:16 / 10;width:100%;height:100%;background:var(--color-surface);overflow:hidden}.project-tile-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(61,168,184,.35) 1px,transparent 1.5px);background-size:22px 22px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}.project-tile-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:28px}.project-tile-name{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--color-text-main);margin-bottom:8px}.project-tile-line{font-family:var(--font-mono);font-size:.7rem;color:var(--color-accent);letter-spacing:.05em}.project-tile-cursor{animation:project-pulse 1.2s steps(2) infinite}.area-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}.area-filter-btn{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px;color:var(--color-text-secondary);border:1px solid var(--color-border);background:transparent;cursor:pointer;transition:color .3s var(--ease-luxury),border-color .3s var(--ease-luxury),background .3s var(--ease-luxury)}.area-filter-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.area-filter-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.area-filter-btn.active{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.area-filter-count{opacity:.7;margin-left:4px}@media(max-width:768px){.project-card-body{padding:20px}.area-filter{margin-bottom:32px}}@media(prefers-reduced-motion:reduce){.project-status-live:before{animation:none}.project-tile-cursor{animation:none}.project-card,.project-card-media img{transition:none}}
