/* 實績案例列表 /cases/ */
.cs-crumb{padding-top:32px}
.cs-head{padding:40px 0 48px;align-items:end}
.cs-head__lead{grid-column:8/span 5;font-size:16px;line-height:1.8}

.cs-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:64px;border-top:1px solid var(--c-ink);padding-bottom:var(--section-y)}
.cs-side{padding-top:32px;display:flex;flex-direction:column;gap:4px}
.cs-filters .filter-group{gap:12px;margin-bottom:32px}
.cs-filters .filter-group legend{margin-bottom:2px}
.cs-clear{background:none;border:0;padding:0;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--c-accent);text-align:left;width:max-content}
.cs-clear:hover{color:var(--c-ink)}
.cs-clear:disabled{color:var(--c-ink-2);opacity:.5;cursor:default}

.cs-main{padding-top:32px;min-width:0}
.cs-bar{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--c-line);scroll-margin-top:calc(var(--header-h-compact) + 16px)}
.cs-count{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;color:var(--c-ink-2)}
.cs-count strong{font-weight:400;color:var(--c-ink);font-variant-numeric:tabular-nums}
.cs-sort{display:flex;gap:24px;align-items:baseline;font-size:14px}
.cs-sort__k{color:var(--c-ink-2)}
.cs-sort__btn{background:none;border:0;padding:0 0 2px;font-size:14px;color:var(--c-ink-2);border-bottom:1px solid transparent;line-height:1.5}
.cs-sort__btn:hover{color:var(--c-ink)}
.cs-sort__btn[aria-pressed="true"]{color:var(--c-ink);border-bottom-color:var(--c-ink)}
.cs-open{display:none}

.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;padding-top:32px}
.cs-grid .case-card__title{font-size:18px}
.cs-empty{grid-column:1/-1;border-top:1px solid var(--c-ink);padding:40px 0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cs-empty .text-link{background:none;border-width:0 0 1px;margin-top:8px}

.cs-pages{justify-content:center;padding-top:80px;font-size:12px;letter-spacing:.1em}
.cs-pages:empty{display:none}
.cs-pages button:hover{color:var(--c-ink)}

/* 抽屜（僅手機） */
.cs-drawer{position:fixed;inset:0;z-index:90;background:var(--c-bg);display:flex;flex-direction:column}
.cs-drawer[hidden]{display:none}
.cs-drawer__head{height:60px;padding:0 var(--page-x);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--c-line);flex:none}
.cs-drawer__title{font-family:var(--f-serif);font-size:18px;font-weight:600}
.cs-drawer__x{background:none;border:0;font-family:var(--f-mono);font-size:20px;line-height:1;padding:8px 0 8px 16px;color:var(--c-ink)}
.cs-drawer__body{flex:1;overflow-y:auto;padding:24px var(--page-x);display:flex;flex-direction:column;gap:32px}
.cs-drawer__group{display:flex;flex-direction:column;gap:14px}
.cs-drawer__legend{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-2);padding-bottom:10px;border-bottom:1px solid var(--c-line);line-height:1.6}
.cs-drawer .chip{padding:8px 14px;color:var(--c-ink-2)}
.cs-drawer .chip[aria-pressed="true"]{color:var(--c-bg)}
.cs-drawer__foot{flex:none;padding:16px var(--page-x) 32px;border-top:1px solid var(--c-line);display:grid;grid-template-columns:1fr 2fr;gap:12px}
.cs-drawer__foot .btn{padding:16px 12px}
.cs-drawer__foot .btn:disabled{opacity:.5;cursor:default}

@media (max-width:1100px){
  .cs-layout{grid-template-columns:180px minmax(0,1fr);gap:40px}
  .cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-sort{gap:16px}
}
@media (max-width:767px){
  .cs-crumb{padding-top:20px}
  .cs-head{padding:20px 0 0;gap:12px}
  .cs-head .stack{gap:12px!important}
  .cs-head__lead{display:none}
  .cs-layout{display:block;margin-top:24px}
  .cs-side{display:none}
  .cs-main{padding-top:0}
  .cs-bar{flex-wrap:wrap;align-items:center;padding:14px 0;row-gap:12px}
  .cs-count{font-size:10.5px}
  .cs-open{display:inline-block;background:none;border:1px solid var(--c-ink);padding:8px 14px;font-size:14px;color:var(--c-ink);line-height:1.4}
  .cs-sort{order:3;width:100%;gap:16px;font-size:13px;border-top:1px solid var(--c-line);padding-top:12px}
  .cs-sort__btn{font-size:13px}
  .cs-grid{grid-template-columns:1fr;gap:36px;padding-top:24px}
  .cs-grid .case-card{gap:10px}
  .cs-grid .spec-line--sm{font-size:10px}
  .cs-pages{padding-top:48px}
}
