    .portal-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.75rem;
    }

    .portal-card {
      background: var(--white);
      border: 1px solid var(--gray-200);
      border-top: 4px solid var(--gold);
      border-radius: var(--radius-lg);
      padding: 2rem 1.5rem;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
      transition: box-shadow var(--t), transform var(--t);
    }
    .portal-card:hover {
      box-shadow: var(--shadow-lg);
      transform: translateY(-5px);
    }

    .portal-card-img {
      width: 110px;
      height: 110px;
      object-fit: contain;
    }

    .portal-card h3 {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 1.1rem;
      color: var(--navy);
      margin: 0;
    }

    .portal-card p {
      color: var(--gray-500);
      font-size: .85rem;
      line-height: 1.65;
      flex: 1;
      margin: 0;
    }

    .portal-card-actions {
      display: flex;
      flex-direction: column;
      gap: .6rem;
      width: 100%;
    }

    @media (max-width: 1024px) {
      .portal-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 600px) {
      .portal-grid { grid-template-columns: 1fr; }
    }
