/* ==========================================================================
   PAGE: General (support pages such as Our Team)
   ========================================================================== */

/* ----- GeneralHero: light band with a big title ----- */
.gen-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--primary-color);

  &::after {
    content: "";
    position: absolute;
    right: -2%;
    bottom: -40%;
    width: 34%;
    aspect-ratio: 1;
    background: color-mix(in srgb, var(--primary-color) 70%, white);
    clip-path: polygon(0 0, 100% 0, 50% 86%);
  }

  .gen-hero-inner {
    position: relative;
    z-index: 1;
  }

  .eyebrow {
    color: var(--secondary-color);
  }

  .gen-hero-title {
    max-width: 18ch;
    margin: 0;
    font-size: clamp(2.4rem, 5.4vw, 4.2rem);
    font-weight: 800;
    letter-spacing: -0.035em;
  }
}

/* ----- GeneralContent1 ----- */
.gen-intro {
  padding-block: var(--section-space);

  .gen-intro-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: clamp(40px, 6vw, 80px);
  }

  h1 {
    font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  }

  .gen-lead {
    font-size: 1.15rem;
    font-weight: 500;
  }

  .gen-intro-copy p:not(.gen-lead) {
    color: var(--text-muted);
  }

  .gen-intro-media {
    margin: 0;

    img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: var(--radius-lg);
      box-shadow: 18px 18px 0 var(--primary-color);
    }
  }
}

/* ----- GeneralContent2: two-column details ----- */
.gen-details {
  padding-block: var(--section-space);
  background: white;

  h2 {
    max-width: 24ch;
    font-size: clamp(1.7rem, 3vw, 2.3rem);
  }

  .gen-details-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;

    p {
      margin: 0;
      padding-top: 18px;
      color: var(--text-muted);
      border-top: 3px solid var(--primary-color);
    }
  }
}

/* ----- GeneralContent3: guidance + list card ----- */
.gen-guidance {
  padding-block: var(--section-space);

  .gen-guidance-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: clamp(32px, 5vw, 64px);
  }

  h2 {
    font-size: clamp(1.7rem, 3vw, 2.3rem);
  }

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

  .gen-guidance-list {
    margin: 0;
    padding: 30px 30px 30px 54px;
    color: var(--text-on-dark);
    background: var(--secondary-color);
    border-radius: var(--radius-lg);

    li {
      padding: 8px 0;

      &::marker {
        color: var(--primary-color);
      }
    }
  }
}

@media (max-width: 900px) {
  .gen-intro .gen-intro-grid,
  .gen-details .gen-details-cols,
  .gen-guidance .gen-guidance-grid {
    grid-template-columns: 1fr;
  }
}
