.portfolio-section{padding:var(--space-20) 0 var(--space-24);background:var(--color-bg)}.portfolio-category{margin-bottom:var(--space-16)}.portfolio-category:last-child{margin-bottom:0}.category-heading{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-3)}.category-heading:before{content:"";display:inline-block;width:4px;height:1.2em;background:var(--gradient-accent);border-radius:var(--radius-sm);flex-shrink:0}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 640px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.portfolio-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:opacity .6s ease-out,transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.portfolio-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),0 0 24px #00d4ff1f;border-color:#00d4ff59}.portfolio-card.is-coming-soon{cursor:default}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.card-category{font-size:var(--text-xs);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em}.badge-coming-soon{display:inline-flex;align-items:center;padding:2px var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);background:#00d4ff0a;white-space:nowrap;flex-shrink:0}.card-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text);line-height:1.4;margin:0}.card-description{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;margin:0;flex:1}.card-footer{margin-top:auto;padding-top:var(--space-2)}.card-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast)}.card-link:hover{color:var(--color-accent-light);gap:var(--space-3)}.card-status-text{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}
