.cases-section{background:var(--surface-sunken);}
.cases{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:980px){.cases{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cases{grid-template-columns:1fr;}}
.case-card{
  --card-tint:var(--surface);
  background:var(--card-tint);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .16s ease;
}
.case-card:hover{border-color:var(--line-strong);}
.case-media{aspect-ratio:4/3;background:var(--card-tint);border-bottom:1px solid var(--line);overflow:hidden;}
.case-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.case-body{padding:20px;display:flex;flex-direction:column;flex-grow:1;}
.case-tag{font-size:0.68rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px;}
.case-card h3{font-family:var(--font-body);font-size:1.02rem;font-weight:500;color:var(--ink);line-height:1.3;letter-spacing:var(--track-body);margin-bottom:8px;}
.case-card p{font-size:0.87rem;color:var(--ink-soft);line-height:1.55;margin-bottom:16px;}
.case-req{
  margin-top:auto;
  font-size:0.72rem;color:var(--ink-muted);line-height:1.45;
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-xs);padding:9px 11px;
}
.case-card:nth-child(1){--card-tint:var(--card-azul);}
.case-card:nth-child(2){--card-tint:var(--card-pessego);}
.case-card:nth-child(3){--card-tint:var(--card-manteiga);}
.case-card:nth-child(4){--card-tint:var(--card-menta);}
.case-link{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:40px;
  font-size:0.78rem;color:var(--green-deep);text-decoration:none;
  transition:border-color .16s var(--ease), background-color .16s var(--ease);
}
.case-link svg{width:14px;height:14px;flex-shrink:0;transition:transform .16s var(--ease);}
.case-link:hover{border-color:var(--green-deep);}
.case-link:hover svg{transform:translateX(3px);}
@media(max-width:900px){.case-link{min-height:44px;}}