.case-studies__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-sm)}.case-study-card{display:flex;flex-direction:column}.case-study-card--linked,a.case-study-card{cursor:pointer;text-decoration:none;color:inherit}.case-study-card__type{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--primary);margin-bottom:var(--sp-xs)}.case-study-card__title{font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-snug);margin-bottom:var(--sp-2xs)}.case-study-card__summary{font-size:var(--fs-sm);color:var(--text-dim);line-height:var(--lh-relaxed);flex:1}.case-study-card__metric-inline{display:inline-block;margin-top:var(--sp-xs);padding:.3em .8em;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--primary);background:var(--accent-dim);border:1px solid var(--border);align-self:flex-start}.case-study-card__cta{display:inline-flex;align-items:center;gap:.35em;margin-top:var(--sp-sm);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--primary);opacity:0;transform:translateX(-8px);transition:opacity var(--duration-sm),transform var(--duration-sm)}.case-study-card:hover .case-study-card__cta{opacity:1;transform:translateX(0)}.case-study-card__tech{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--sp-xs)}.case-study-card__tech span{padding:.15em .5em;font-size:var(--fs-2xs);color:var(--text-muted);background:var(--bg-alt);border:1px solid var(--border)}@media (max-width:1024px){.case-studies__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.case-studies__grid{grid-template-columns:1fr}}