.filters { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:44px; }
.filters button { padding:9px 16px; border:1px solid var(--line); border-radius:999px; font-size:12px; letter-spacing:.1em; transition:all .25s; background:var(--paper); }
.filters button:hover { border-color:var(--accent); color:var(--accent); }
.filters button.active { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.filters .cnt { font-family: var(--latin); font-weight: 600; margin-left:6px; font-size:12px; opacity:.6; }

.works-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media(max-width:900px){ .works-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:540px){ .works-grid{grid-template-columns:1fr} }

.work-card { background:var(--paper); border:1px solid var(--line); overflow:hidden; transition:box-shadow .35s,transform .35s; }
.work-card:hover { box-shadow:0 14px 36px rgba(30,26,23,.1); transform:translateY(-3px); }
.work-card .img { aspect-ratio:4/3; position:relative; overflow:hidden; }
.work-card .img .ph { position:absolute; inset:0; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.work-card:hover .img .ph { transform:scale(1.05); }
.work-card .body { padding:20px 22px 24px; }
.work-card .cat { font-family: var(--latin); font-weight: 600; font-size:12px; letter-spacing:.14em; color:var(--accent); margin-bottom:8px; }
.work-card h3 { font-family:var(--serif); font-size:17px; font-weight:500; margin:0 0 8px; line-height:1.4; }
.work-card .meta { display:flex; gap:16px; font-size:12px; color:var(--ink-soft); margin-bottom:10px; }
.work-card p { font-size:12.5px; color:var(--ink-soft); line-height:1.85; margin:0; }
.work-card .more { display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-family: var(--latin); font-weight: 600; font-size:12px; letter-spacing:.14em; color:var(--accent); }
.work-card .more::after { content:"→"; transition:transform .3s; }
.work-card:hover .more::after { transform:translateX(3px); }
.work-card.hide { display:none; }

/* 準備中カード */
.work-card[href="#"] {
  cursor: default;
  pointer-events: none;
}
.work-card[href="#"] .img {
  position: relative;
}
.work-card[href="#"] .img::after {
  content: "COMING SOON";
  position: absolute;
  inset: 0;
  background: rgba(28, 25, 21, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--latin);
  font-size: 11px;
  letter-spacing: .32em;
  color: rgba(250, 246, 237, 0.92);
}
