.case-catalog{padding:60px 0 64px}
.case-intro{padding-bottom:32px}
.case-intro .kicker{margin-bottom:18px}
.case-intro h1{font-size:clamp(34px,4.5vw,52px)}
.case-intro .standfirst{max-width:590px;font-size:18px}
.case-filter{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-filter[hidden],.case-tile[hidden]{display:none}
.case-filter button{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:transparent;font:600 12px Manrope,Arial,sans-serif;color:var(--soft);cursor:pointer;transition:background .2s,color .2s}
.case-filter button span{font-size:10px;opacity:.65;font-variant-numeric:tabular-nums}
.case-filter button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.case-filter button:hover{border-color:var(--red)}
.case-count{font-size:11px;color:var(--muted);margin:14px 0 22px}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.case-tile{display:flex;flex-direction:column;padding:26px 24px 22px;border:1px solid var(--line);border-radius:18px;background:#f1ebe2;scroll-margin-top:24px;animation:case-enter .4s ease both}
.case-tile:nth-child(4n){background:#faf7f2}
.case-tile:target{outline:2px solid var(--red);outline-offset:4px}
.case-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:600;color:var(--soft);margin-bottom:22px}
.case-index{color:var(--red-deep);font-variant-numeric:tabular-nums}
.case-tile h2{font-size:24px;line-height:1.2;letter-spacing:-.035em;text-transform:none;color:var(--ink);border:0;padding:0;font-weight:800;overflow-wrap:anywhere}
.case-tile h2 a:hover{color:var(--red-deep)}
.case-summary{font-size:14px;line-height:1.65;color:var(--soft);margin-top:17px;margin-bottom:24px}
.case-bottom{margin-top:auto;padding-top:17px;border-top:1px solid #d9d0c3}
.case-role{font-size:11px;color:var(--soft);line-height:1.5}
.case-open{display:inline-block;font-size:12px;font-weight:600;color:var(--red-deep);margin-top:12px;text-decoration:underline;text-underline-offset:4px}
.case-number{margin-top:24px}
.case-number strong{display:block;font-size:clamp(30px,3.5vw,42px);font-weight:800;letter-spacing:-.05em;line-height:1.12;color:var(--red-deep)}
.case-number span{display:block;font-size:12px;line-height:1.6;margin-top:8px;color:var(--soft)}
.case-featured{background:var(--ink);border-color:var(--ink)}
.case-featured:nth-child(2){background:#e6e9df;border-color:#d9dfd0}
.case-featured:first-child h2,.case-featured:first-child h2 a:hover{color:var(--paper)}
.case-featured:first-child .case-top,.case-featured:first-child .case-summary,.case-featured:first-child .case-role{color:#d0c7ba}
.case-featured:first-child .case-index,.case-featured:first-child .case-open{color:#efad93}
.case-featured:first-child .case-bottom{border-color:#ffffff25}
.case-featured:first-child .case-number strong{color:#efad93}
.case-featured:first-child .case-number span{color:#d0c7ba}
.case-contact{margin-top:45px;padding:28px;border:1px solid var(--line);border-radius:16px}
.case-contact h2{font-size:23px;text-transform:none;letter-spacing:-.03em;color:var(--ink);border:0;padding:0}
.case-contact p{font-size:15px;color:var(--soft);margin:12px 0 22px}
.case-contact .button{display:inline-block}
.case-detail-role{font-size:13px;color:var(--red-deep);margin-top:18px}
.case-detail-result{margin-top:32px;padding:26px;border-radius:16px;background:#efe9df}
.case-detail-result>strong{font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1.15;letter-spacing:-.04em;color:var(--red-deep)}
.case-detail-result p{font-size:17px;line-height:1.55;margin-top:12px}
.case-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.case-detail-metrics strong{display:block;font-size:26px;font-weight:800}
.case-detail-metrics span{display:block;font-size:12px;color:var(--soft);margin-top:5px}
@keyframes case-enter{from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:600px){.case-catalog{padding-top:36px}.case-grid{grid-template-columns:1fr}.case-tile{padding:24px}.case-intro h1{font-size:36px}.case-filter button{padding:9px 11px}.case-intro .standfirst{font-size:17px}}
@media(prefers-reduced-motion:reduce){.case-catalog *{animation:none!important;transition:none!important}}
