/* Shared generic card and two-column card-grid foundation.
   Loaded only by page families that use the canonical .grid/.card markup. */
.grid{display:grid;border:var(--strong)}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{padding:34px;border-right:var(--soft);border-bottom:var(--soft);background:#fff;position:relative}
.grid.two .card:nth-child(2n){border-right:0}
.grid.two .card:nth-last-child(-n+2){border-bottom:0}
.card.feature{padding:42px}
.card h3{font-size:1.45rem;line-height:1.22;margin:12px 0}
.card p{color:var(--slate)}
.card ul{margin:18px 0 0 20px;color:var(--slate)}
.card li{margin:7px 0}
.card .meta{margin-top:24px;padding-top:18px;border-top:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card .meta span{display:block;color:var(--muted);font-size:.78rem}
.card .meta strong{display:block;margin-top:4px}
.card::before{content:"";position:absolute;left:0;top:0;width:0;height:5px;background:var(--cyan);transition:.2s}
.card:hover::before{width:100%}
@media(max-width:680px){
  .grid.two{grid-template-columns:1fr}
  .grid.two .card{border-right:0;border-bottom:var(--soft)}
  .grid.two .card:last-child{border-bottom:0}
  .card .meta{grid-template-columns:1fr}
}
