/* ===== Work / portfolio page ===== */
.proj-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.proj-card{background:rgba(23,16,41,0.5); backdrop-filter:blur(12px); border:1px solid var(--line-dark); border-radius:var(--radius); overflow:hidden; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.proj-card:hover{border-color:var(--pink); transform:translateY(-4px); box-shadow:0 16px 32px rgba(217,115,139,0.18);}
.proj-thumb{aspect-ratio:16/10; background:linear-gradient(135deg, var(--purple), var(--ink) 80%); display:flex; align-items:center; justify-content:center; color:var(--pink); border-bottom:1px solid var(--line-dark);}
.proj-thumb svg{width:56px; height:56px;}
.proj-body{padding:24px 24px 26px;}
.proj-body .tag{font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:1px; text-transform:uppercase; color:var(--pink); margin-bottom:10px;}
.proj-body h3{font-size:18px; color:var(--white); margin-bottom:8px;}
.proj-body p{font-size:14px; color:var(--ink-text-secondary); margin-bottom:12px;}
.proj-body .meta{font-size:12.5px; color:var(--text-muted);}
.proj-card.reveal:nth-child(2){transition-delay:.08s;}
.proj-card.reveal:nth-child(3){transition-delay:.16s;}
@media (max-width:900px){.proj-grid{grid-template-columns:1fr;}}

.cap-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.cap-card{display:block; padding:26px 22px; border:1px solid var(--line-dark); border-radius:var(--radius); background:rgba(23,16,41,0.4); backdrop-filter:blur(10px); transition:border-color .2s ease, transform .2s ease;}
.cap-card:hover{border-color:var(--pink); transform:translateY(-3px);}
.cap-card .icon{width:40px; height:40px; color:var(--glow); margin-bottom:14px;}
.cap-card .icon svg{width:100%; height:100%;}
.cap-card h4{font-size:16px; color:var(--white); margin-bottom:6px;}
.cap-card p{font-size:13.5px; color:var(--text-muted);}
@media (max-width:1000px){.cap-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.cap-grid{grid-template-columns:1fr;}}

.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:28px;}
.review-card{padding:28px 26px; background:rgba(23,16,41,0.5); backdrop-filter:blur(12px); border:1px solid var(--line-dark); border-radius:var(--radius);}
.review-card .stars{color:var(--pink); letter-spacing:3px; font-size:15px; margin-bottom:14px;}
.review-card blockquote{font-size:15px; color:var(--ink-text-secondary); line-height:1.65; margin-bottom:18px;}
.review-card .who{font-size:14px; color:var(--white); font-weight:600;}
.review-card .src{font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.8px; text-transform:uppercase; color:var(--text-muted); margin-top:3px;}
.review-card.reveal:nth-child(2){transition-delay:.08s;}
.review-card.reveal:nth-child(3){transition-delay:.16s;}
@media (max-width:900px){.review-grid{grid-template-columns:1fr;}}
