 /* ── GRID ── */
    .articles-section {
      max-width: 1100px;
      margin: 4rem auto 3rem;
      padding: 0 1.5rem;
    }

    .articles-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
      gap: 1.8rem;
    }

    /* ── CARD ── */
    .card {
      background: var(--card-bg);
      border-radius: 12px;
      border: 1px solid var(--border);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: transform 0.2s, box-shadow 0.2s;
      text-decoration: none;
      color: inherit;
    }

    .card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(15,28,46,0.12);
      border-color: #c8d4e0;
    }

    .card-img {
      width: 100%;
      height: 188px;
      object-fit: cover;
      display: block;
      background: #dce4ef;
    }

    .card-body {
      padding: 1.2rem 1.4rem 1.5rem;
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    .card-tag {
      font-size: 0.68rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      color: var(--accent);
      margin-bottom: 0.55rem;
    }

    .card-title {
      font-family: 'Syne', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      color: var(--navy);
      line-height: 1.35;
      margin-bottom: 0.65rem;
    }

    .card-desc {
      font-size: 0.83rem;
      color: var(--muted);
      line-height: 1.55;
      flex: 1;
      margin-bottom: 1rem;
    }

    .card-link {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--accent);
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
    }
    .card:hover .card-link { color: var(--accent-light); }
