/* ============================================================
   ailia VTO — 導入事例ページ（/vto/works/）
   ベースのトークン・ボタン・CTAは /vto/css/vto.css を使用
   ============================================================ */

/* ---------- page head ---------- */
.wk-head{padding:72px 0 56px}
.wk-head .sec-head{margin-bottom:0}
.wk-head h1{font-size:clamp(28px,3.6vw,40px);font-weight:500;line-height:1.5;margin:16px 0 20px}
.wk-head .sec-head p{color:#4E4245;font-size:15.5px}
.wk-crumb{font-size:13px;color:#8A7C76;margin-bottom:40px;display:flex;gap:10px;align-items:center}
.wk-crumb a{text-decoration:none;color:var(--gold-deep)}
.wk-crumb a:hover{text-decoration:underline}

.wk-list-sec{padding-top:64px}

/* ---------- filter ---------- */
.wk-filter{background:var(--porcelain);border:1px solid var(--line);border-radius:18px;padding:28px 32px;margin-bottom:44px}
.wk-filter-groups{display:flex;flex-direction:column;gap:18px}
.wk-group{display:grid;grid-template-columns:240px minmax(0,1fr);gap:10px 20px;align-items:start}
.wk-group + .wk-group{padding-top:18px;border-top:1px dashed var(--line)}
.wk-group-items{display:flex;flex-wrap:wrap;gap:8px}

.wk-chip{position:relative;display:inline-flex;cursor:pointer;user-select:none}
.wk-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.wk-chip span{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13.5px;line-height:1.4;color:var(--charcoal);transition:background .15s,border-color .15s,color .15s}
.wk-chip:hover span{border-color:var(--gold-deep)}
.wk-chip input:checked + span{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.wk-chip input:focus-visible + span{outline:3px solid var(--rose);outline-offset:2px}
.wk-chip.is-group span{font-weight:600;border-color:var(--gold);color:var(--gold-deep)}
.wk-chip.is-group input:checked + span{color:#fff}
.wk-n{font-style:normal;font-size:11.5px;opacity:.65}
.wk-n:not(:empty)::before{content:"("}
.wk-n:not(:empty)::after{content:")"}

.wk-filter-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.wk-result{font-size:14px;color:#4E4245}
.wk-result b{font-size:22px;font-weight:600;color:var(--charcoal);margin-right:2px}
.wk-result #wkCountNote{margin-left:6px;font-size:12.5px;color:#8A7C76}
.wk-reset{font:inherit;font-size:13.5px;font-weight:500;color:var(--gold-deep);background:#fff;border:1.5px solid var(--gold-deep);border-radius:999px;padding:8px 22px;cursor:pointer;transition:opacity .15s}
.wk-reset:hover{opacity:.75}
.wk-reset:disabled{opacity:.4;cursor:default}

/* ---------- cards ---------- */
.wk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.wk-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.wk-card:hover{box-shadow:0 8px 24px rgba(42,36,38,.08);transform:translateY(-2px)}
.wk-card[hidden]{display:none}
.wk-thumb{aspect-ratio:320/214;background:var(--blush);overflow:hidden;border-bottom:1px solid var(--line)}
.wk-thumb img{width:100%;height:100%;object-fit:cover}
.wk-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.wk-usage{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--rose);margin-bottom:8px}
.wk-title{display:flex;gap:8px;align-items:flex-start;font-family:var(--sans);font-size:16.5px;font-weight:700;line-height:1.55;letter-spacing:.02em}
.wk-flag{flex:none;width:20px;height:14px;object-fit:cover;margin-top:6px;border:1px solid var(--line)}
.wk-client{font-size:13px;color:#6B5D60;margin-top:6px;line-height:1.6}
.wk-detail{font-size:14px;font-weight:300;color:#4E4245;line-height:1.8;margin-top:12px}
.wk-meta{margin-top:auto;padding-top:16px;font-size:12.5px;line-height:1.6}
.wk-meta div{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.wk-meta dt{color:#8A7C76}
.wk-meta dd{color:var(--charcoal)}
.wk-url{align-self:flex-start;margin-top:12px;font-size:13px;font-weight:500;color:var(--rose);text-decoration:none}
.wk-url:hover{color:var(--gold-deep);text-decoration:underline}

.wk-empty{text-align:center;padding:60px 0;color:#8A7C76}
.wk-list-sec .works-note{margin-top:36px}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .wk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .wk-group{grid-template-columns:1fr}
  .wk-filter{padding:22px 18px}
}
@media(max-width:600px){
  .wk-head{padding:48px 0 40px}
  .wk-crumb{margin-bottom:28px}
  .wk-list-sec{padding-top:40px}
  .wk-grid{grid-template-columns:1fr;gap:18px}
  .wk-chip span{font-size:12.5px;padding:6px 12px}
}
.wk-filter{scroll-margin-top:calc(var(--header-h) * 2 + 20px)}
