  /* ---- cases page ---- */
  .cases-hero{padding:48px 0 6px}
  .cases-hero .eyebrow{margin-bottom:18px}
  .cases-hero h1{font-size:54px;font-weight:800;letter-spacing:-1.6px;line-height:1.02}
  .cases-hero .lead{margin-top:20px;font-size:18px;color:var(--slate);max-width:560px;line-height:1.55}
  .cases-stats{display:flex;flex-wrap:wrap;gap:38px;margin-top:30px}
  .cases-stats .cs b{font-size:30px;font-weight:800;letter-spacing:-.6px;line-height:1;display:block}
  .cases-stats .cs span{font-size:13px;color:var(--slate);font-weight:500;margin-top:6px;display:block}

  .filters{display:flex;flex-wrap:wrap;gap:10px;margin:38px 0 28px}
  .filter{font-family:inherit;font-size:14px;font-weight:700;color:var(--slate);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;cursor:pointer;transition:.16s}
  .filter:hover{border-color:#d7dee6;color:var(--ink)}
  .filter.active{background:var(--ink);border-color:var(--ink);color:#fff}
  .filter .n{opacity:.5;margin-left:5px;font-weight:600}

  .cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:8px}
  .case{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .22s,border-color .2s}
  .case:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:#dfe7ee}
  .case-link{position:absolute;inset:0;z-index:4}
  .case-shot{height:200px;position:relative;overflow:hidden}
  .case-cat{position:absolute;top:14px;left:14px;z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);font-size:11.5px;font-weight:700;color:var(--ink-2);padding:6px 12px;border-radius:999px;box-shadow:var(--shadow-sm)}
  .case-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
  .case-body h3{font-size:21px;font-weight:800;letter-spacing:-.4px;line-height:1.12}
  .case-body .desc{font-size:14px;color:var(--slate);margin-top:10px;line-height:1.5;flex:1}
  .case-foot{display:flex;align-items:center;gap:8px;margin-top:18px;flex-wrap:wrap}
  .case .go{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-left:auto;color:var(--slate);transition:.16s}
  .case:hover .go{background:var(--green);border-color:var(--green);color:#fff}
  .case.hide{display:none}
  .empty{display:none;text-align:center;color:var(--slate);padding:50px 0;font-size:15px}

  @media(max-width:980px){
    .cases-grid{grid-template-columns:repeat(2,1fr)}
    .cases-hero h1{font-size:44px}
  }
  @media(max-width:880px){
    .cases-hero{padding-top:30px}
  }
  @media(max-width:640px){
    .cases-hero h1{font-size:33px;letter-spacing:-.8px}
    .cases-hero .lead{font-size:15.5px}
    .cases-stats{gap:26px}
    .cases-grid{grid-template-columns:1fr}
    .filters{margin:28px 0 22px}
    .filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}
    .filter{flex:none}
  }
