/* ==========================================================================
   PAGE: Services hub
   ========================================================================== */

.svc-index-intro {
  padding-block: var(--section-space) clamp(32px, 4vw, 48px);

  .svc-index-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: clamp(32px, 5vw, 64px);
  }

  h1 {
    font-size: clamp(2rem, 4vw, 3.2rem);
  }

  h2 {
    margin: 0;
    font-size: 1.25rem;
    color: var(--primary-strong);
  }

  p {
    margin: 0;
    font-size: 1.1rem;
    color: var(--text-muted);
  }
}

.svc-index-list {
  padding-block: 0 var(--section-space);

  .svc-cats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .svc-cat {
    display: grid;
    grid-template-rows: 220px 1fr;
    overflow: hidden;
    background: white;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);

    &:first-child {
      grid-row: span 2;
      grid-template-rows: 320px 1fr;
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .svc-cat-body {
    padding: 28px;

    h2 {
      font-size: 1.6rem;
    }

    .link-arrow {
      margin-top: 18px;
    }

    p {
      margin: 0;
      color: var(--text-muted);
    }
  }

  .svc-cat-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 24px;
    margin: 0;
    padding: 0;
    list-style: none;

    a {
      display: flex;
      justify-content: space-between;
      padding: 9px 0;
      font-weight: 500;
      text-decoration: none;
      border-bottom: 1px solid var(--border-color);

      &::after {
        content: "\F285";
        font-family: "bootstrap-icons";
        font-size: 0.75rem;
        color: var(--primary-strong);
      }

      &:hover {
        color: var(--primary-strong);
      }
    }
  }
}

@media (max-width: 900px) {
  .svc-index-intro .svc-index-intro-grid,
  .svc-index-list .svc-cats {
    grid-template-columns: 1fr;
  }

  .svc-index-list .svc-cat:first-child {
    grid-row: auto;
  }
}

@media (max-width: 480px) {
  .svc-index-list .svc-cat-links {
    grid-template-columns: 1fr;
  }
}
