/*------------------------------------*\
    AUTHOR BIO
    - Card-like module with image + text + social links.
  \*------------------------------------*/
  .author-bio {
    margin-top: 3rem;
    padding: 2rem;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,.05);
  }

  .author-bio__heading { margin-top: 0; margin-bottom: 1.25rem; text-align: center; }

  .author-bio__main-content {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .author-bio__image-wrapper {
    flex-shrink: 0;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,.1);
  }

  .author-bio__image { width: 100%; height: 100%; object-fit: cover; }

  .author-bio__text-wrapper { flex: 1; }
  .author-bio__name { margin: 0 0 .35rem 0; }

  .author-bio__subtitle {
    margin-top: -.25rem;
    margin-bottom: .75rem;
    font-size: .9rem;
    color: #666;
    font-weight: 500;
  }

  .author-bio__description {
    font-size: .95rem;
    color: #444;
    line-height: 1.7;
    margin-bottom: 1rem;
  }

  .author-bio__social-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .65rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .author-bio__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #8a8a8a;
    background-color: transparent;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.07);
    transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    text-decoration: none;
  }

  .author-bio__social-link svg {
    width: 18px;
    height: 18px;
    fill: none !important;
    stroke: currentColor;
    display: block;
  }

  .author-bio__social-link:hover,
  .author-bio__social-link:focus-visible {
    color: #222;
    border-color: rgba(0,0,0,.18);
    background-color: rgba(0,0,0,.04);
    box-shadow: 0 0 0 3px rgba(0,0,0,.03);
    outline: none;
  }

  .author-bio .author-bio__social-link {
    border-radius: 50% !important;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
  }

  .author-bio .author-bio__social-link::before,
  .author-bio .author-bio__social-link::after { content: none !important; }

  .author-bio__social-link svg,
  .author-bio__social-link svg * {
    fill: none !important;
    stroke: currentColor !important;
  }

  @media (max-width: 900px) {
    .author-bio__main-content {
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 1rem;
    }

    .author-bio__image-wrapper { width: 96px; height: 96px; }

    .author-bio__description {
      margin-bottom: .85rem;
      text-align: left;        /* ensures paragraph is left-aligned */
      margin-left: auto;
      margin-right: auto;
      max-width: 42ch;         /* optional: keeps line length readable */
    }

    .author-bio__social-list { justify-content: center; }
  }

  @media (max-width: 480px) {
    .author-bio { padding: 1.25rem 1rem; }
    .author-bio__image-wrapper { width: 88px; height: 88px; }
  }