.bx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;margin-top:1.6rem}
.bx-card{display:flex;flex-direction:column;background:var(--navy-card,#141d4a);border:1px solid var(--border,rgba(255,255,255,.08));border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,border-color .25s,box-shadow .25s}
.bx-card:hover{transform:translateY(-4px);border-color:rgba(237,31,36,.45);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.bx-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b1440}
.bx-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bx-card:hover .bx-img img{transform:scale(1.05)}
.bx-body{padding:.95rem 1.05rem 1.05rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.bx-body .prog-title{font-size:1rem;font-weight:700;line-height:1.25;color:#fff;margin:0}
.bx-body p{font-size:.8rem;line-height:1.45;color:var(--text-secondary,#b8c0dc);margin:0;flex:1}
.bx-go{margin-top:.55rem;font-size:.78rem;font-weight:700;color:var(--red,#ED1F24);display:inline-flex;align-items:center;gap:.3rem}
.bx-card:hover .bx-go{gap:.5rem}
@media(max-width:1024px){.bx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
  #progGrid.bx-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important}
  #progGrid.bx-grid>a{display:flex}
  .bx-body{padding:.7rem .75rem .8rem}
  .bx-body .prog-title{font-size:.88rem}
  .bx-body p{font-size:.72rem}
  .bx-go{font-size:.72rem;margin-top:.35rem}
}
