/* ══ CAPABILITY CARDS — photo cards, three per row (About and Capabilities pages)
   (was a plain text list; client asked for images, Oct 2026) ══ */
.cap-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:48px 28px;
  margin-top:56px;}
.cap-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;}
.cap-card__media{
  display:block;position:relative;overflow:hidden;
  aspect-ratio:4/3;border-radius:6px;background:var(--bg-sand);
  margin-bottom:22px;}
.cap-card__media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--ease);}
.cap-card:hover .cap-card__media img{transform:scale(1.05);}
.cap-card__n{
  font-size:11px;letter-spacing:.18em;color:var(--color-secondary);
  padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--rul);}
.cap-card__name{
  font-family:var(--serif);font-size:clamp(22px,2.1vw,28px);
  font-weight:300;line-height:1.15;color:var(--ink);
  display:inline-flex;align-items:center;gap:10px;
  transition:color .3s;}
.cap-card__name svg{width:14px;height:14px;flex-shrink:0;transition:transform .3s var(--ease);}
.cap-card:hover .cap-card__name{color:var(--color-secondary);}
.cap-card:hover .cap-card__name svg{transform:translateX(5px);}
.cap-card__detail{margin-top:10px;font-size:var(--fs-body);color:var(--mid);line-height:1.65;max-width:340px;}

@media(max-width:960px){
  .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:580px){
  .cap-grid{grid-template-columns:1fr;gap:40px;}
}
