.article-author-link {
  color: inherit;
  text-decoration: none;
}

.article-author-link:hover,
.article-author-link:focus-visible {
  color: var(--c-gold);
  text-decoration: underline;
}
/* ==========================================================================
   M.I.H. Group — blog.css (index page toolbar + grid)
   ========================================================================== */
 .container-tight {
   width: min(100% - 2 * var(--gutter), 1560px); margin-inline: auto;
 }
 @media (max-width: 900px) { .container-tight { width: calc(100% - 2 * var(--gutter-tight)); } }
 
 .visually-hidden {
   position: absolute; width: 1px; height: 1px; margin: -1px;
   clip-path: inset(50%); overflow: hidden; white-space: nowrap;
 }
 
 .blog-hero { padding-top: calc(var(--nav-h) + clamp(40px, 7vh, 90px)); }
 .blog-hero .lead { margin-top: 10px; }
 
 .blog-toolbar {
   display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
   gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--c-stroke);
 }
 .search-field, .sort-field {
   display: inline-flex; align-items: center; gap: 10px;
   padding: 10px 16px; border-radius: var(--r-pill);
   border: 1px solid var(--c-stroke-strong); background: rgba(255,255,255,.03);
   color: var(--c-text-3);
   transition: border-color var(--dur-hover) ease;
 }
 .search-field:focus-within, .sort-field:focus-within { border-color: var(--c-gold); }
 .search-field input {
   width: min(280px, 56vw); background: none; border: 0; outline: none;
   color: var(--c-text); font-size: 15px;
 }
 .search-field input::placeholder { color: var(--c-text-3); }
 .sort-field select { background: none; border: 0; outline: none; color: var(--c-text-2); font-size: 14px; cursor: pointer; }
 .sort-field select option { background: var(--c-surface); color: var(--c-text); }
 
/* ------------------------------------------------------------- grid ----- */
.cards-grid {
  display: grid !important;
  gap: clamp(16px, 1.5vw, 24px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-content: start !important;
  justify-items: start !important;
  align-items: stretch !important;
  margin: clamp(28px, 4vw, 56px) 0 0 !important;
  padding-inline: var(--gutter-tight) !important;
  width: 100% !important;
  max-width: none !important;
}
 .cards-grid > .course {
   justify-self: start !important;
   align-self: stretch !important;
   width: 100% !important;
   max-width: none !important;
   height: 100%;
 }
 @media (max-width: 900px) { .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; justify-items: start !important; align-items: stretch !important; } }
 @media (max-width: 640px)  {
   .cards-grid {
     grid-template-columns: 1fr !important;
     justify-items: center !important;
     align-items: start !important;
   }
   .cards-grid > .course {
     width: min(100%, 380px);
   }
 }
 
 .empty-state { padding: clamp(48px, 6vw, 96px) 0; text-align: center; }
 .empty-state p + p { margin-top: 8px; }
 
.cta-wrap {
    min-height: 44vh; display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    max-width: min(60vw, 1100px); margin-inline: auto; padding-inline: var(--gutter-tight);
  }
  .cta-title { font-size: clamp(36px, 4vw, 72px); font-weight: 500; text-transform: uppercase; }
  .cta-btn { margin-top: 26px; }

  /* Blog link underlines removed */
  .blog-link { text-decoration: none; }
  .blog-link:hover { text-decoration: none; }