.filter-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;padding:8px;background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(15,58,44,.06)}
.filter-btn{border:1px solid rgba(26,92,68,.15);background:#fff;padding:9px 20px;border-radius:999px;color:var(--text-regular);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}
.filter-btn:hover{color:var(--primary-dark);border-color:var(--primary-light);background:#f4faf6}
.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(26,92,68,.25)}

.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.case-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid rgba(26,92,68,.08);box-shadow:0 4px 18px rgba(15,58,44,.05);transition:all .35s ease;display:none}
.case-card.show{display:block;animation:fadeUp .45s ease both}
.case-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(15,58,44,.14);border-color:var(--primary-light)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.case-media{width:100%;aspect-ratio:1/1;overflow:hidden;position:relative;display:block}
.case-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.case-card:hover .case-media img{transform:scale(1.06)}
.case-body{padding:24px 26px 28px}
.case-tags{margin-bottom:14px}
.case-tags span{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(26,92,68,.08);color:var(--primary-dark);font-size:12px;font-weight:700;margin-right:6px}
.case-body h3{font-size:18px;color:var(--dark);font-weight:700;margin-bottom:10px;line-height:1.5}
.case-body h3 a{color:inherit;text-decoration:none}
.case-body h3 a:hover{color:var(--primary-dark)}
.case-body>p{font-size:14px;color:var(--text-muted);line-height:1.8;margin-bottom:18px}
.case-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px dashed #dfe9e3}
.case-foot span{font-size:13px;color:var(--text-muted);font-weight:500}

.case-empty{text-align:center;padding:60px 20px;font-size:15px;color:var(--text-muted)}
.case-empty a{color:var(--primary);font-weight:700;text-decoration:none}
.case-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:40px;flex-wrap:wrap}
.page-btn{min-width:38px;height:38px;padding:0 12px;border:1px solid rgba(26,92,68,.18);background:#fff;border-radius:10px;color:var(--text-regular);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}
.page-btn:hover:not(:disabled){color:var(--primary-dark);border-color:var(--primary);background:#f4faf6}
.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(26,92,68,.22)}
.page-btn:disabled{opacity:.5;cursor:not-allowed}

.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.review-card{background:#fff;border-radius:18px;padding:30px 28px;position:relative;box-shadow:0 6px 20px rgba(15,58,44,.05);border:1px solid rgba(26,92,68,.06)}
.review-card::before{content:"\201C";position:absolute;top:16px;right:24px;font-size:72px;line-height:1;color:var(--primary-light);font-family:Georgia,serif;opacity:.4}
.review-stars{font-size:15px;letter-spacing:2px;margin-bottom:16px}
.review-card>p{font-size:14.5px;color:var(--text-regular);line-height:1.95;margin:0 0 22px}
.review-who{display:flex;align-items:center;gap:14px}
.who-initial{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.review-who strong{display:block;font-size:14px;color:var(--dark);font-weight:700;margin-bottom:2px}
.review-who em{font-style:normal;font-size:12px;color:var(--text-muted)}

@media(max-width:1199px){
  .case-grid{grid-template-columns:repeat(2,1fr)}
  .review-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .filter-row{padding:6px;gap:6px;margin-bottom:28px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
  .filter-btn{padding:7px 14px;font-size:12px;flex:0 0 auto}
  .case-grid{grid-template-columns:1fr;gap:20px}
  .case-body{padding:18px 20px 22px}
  .case-body h3{font-size:16px}
  .review-grid{grid-template-columns:1fr;gap:18px}
  .review-card{padding:22px 20px}
}
