  /* PROMO CARDS — make logo column big and TALL */
  .card.promo-item{
    display:grid;
    grid-template-columns: minmax(220px, 30%) 1fr;
    gap:1rem;
    align-items:stretch;
    min-height: 180px;
  }
  .promo-logo{
    width:100%;
    height:100%;
    padding:0;
    border:1px solid #232636;
    border-radius:.75rem;
    overflow:hidden;
    background:rgba(255,255,255,.02);
    display:block;
  }
  .promo-logo > a,
  .promo-logo picture,
  .promo-logo img{
    width:100% !important;
    height:100% !important;
  }
  .promo-logo img{
    max-width:220px !important;
    max-height:none !important;
  }

  .table td a{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
  }
  .table td a img{
    height:44px;
    width:auto;
  }

  .promo-actions{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
  .tiny-link{ font-size:.78rem; line-height:1; opacity:.85; text-decoration:underline; }
  .tiny-link:hover{ opacity:1; }
  .byline{ margin-top:.15rem; font-size:.85rem; color:var(--muted); }
  .byline a{ color:inherit; text-decoration:underline; }
  .byline a:hover{ text-decoration:none; }

  /* Optional prose styling inside the card */
  .prose { line-height:1.6; }
  .prose ul { margin: .5rem 0 0 1.2rem; }
  .prose li + li { margin-top:.25rem; }

  
  @media (max-width: 640px){
    .card.promo-item{
      display:grid;
      grid-template-columns: 200px 1fr;
      align-items:center;
      gap:1rem;
    }
    .promo-logo{
      width:100%;
      aspect-ratio: 20/ 2;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.02);
      border:1px solid #232636;
      border-radius:.75rem;
      padding:.9rem;
    }
    .promo-logo img{
      width:40%;
      height:100%;
      object-fit:contain;
    }
  }