/*
 * Endorsements ("Mission Support") — measured from
 * phoenixgoldnetwork.org/endorsements at 1440 / 810 / 390.
 */

/* ============================================================= band */
.band {
  margin-top: 3px;
  padding: 77px 20px 77px;
  background: #1c1c1c;
  text-align: center;
}
.band h1 {
  font-size: 60px;
  line-height: 84px;
  font-weight: 800;
}
.band p {
  margin-top: 5px;
  font-size: 15px;
  line-height: 30px;
  font-weight: 300;
}

/* ============================================================= grid */
.endorsements {
  display: grid;
  grid-template-columns: repeat(4, 269px);
  gap: 50px 25px;
  justify-content: center;
  margin: 50px auto 0;
  padding-bottom: 210px; /* footer starts 210px under the last avatar */
}
.endorsement {
  margin: 0;
}
/* White speech bubble with a tail pointing at the avatar. */
.bubble {
  position: relative;
  height: 250px;
  margin: 0;
  padding: 45px 10px 0 20px;
  border-radius: 15px;
  background: #ffffff;
  color: #000000;
  box-shadow: 0 8px 40px 3px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s var(--ease-out);
}
.bubble::after {
  content: '';
  position: absolute;
  left: 42px;
  bottom: -14px;
  width: 36px;
  height: 36px;
  border-radius: 7px;
  background: #ffffff;
  transform: rotate(45deg) skew(8deg, 8deg);
}
/* Framer's first bubble has its own text box: narrower on desktop, lower on
   tablet/phone. Kept per-card so the quotes wrap exactly as there. */
.endorsement:first-child .bubble {
  padding-right: 20px;
}
.endorsement:hover .bubble {
  transform: scale(1.04);
}
.bubble p {
  font-size: 14px;
  line-height: 23.8px;
}
.bubble footer {
  margin-top: 16px;
  font-size: 10px;
  line-height: 17px;
  font-weight: 800;
}
.endorsement figcaption {
  margin-top: 34px;
}
.who {
  display: flex;
  align-items: center;
  gap: 15px;
}
.who img {
  width: 60px;
  height: 60px;
  border-radius: 13px;
  object-fit: cover;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}
.who-text {
  display: grid;
  gap: 2px;
}
.who-name {
  font-size: 22px;
  line-height: 24.2px;
  font-weight: 700;
}
.who .li {
  width: 24px;
  height: 24px;
}
a.who:hover .who-name {
  color: var(--gold);
}

/* =========================================================== tablet */
@media (max-width: 1199px) {
  .band {
    padding: 77px 41px;
  }
  .band p {
    margin-top: 20px;
  }
  .endorsements {
    grid-template-columns: repeat(2, 352px);
    gap: 25px;
    padding-bottom: 160px;
  }
  .endorsement:nth-child(n + 2) .bubble {
    padding-left: 61px;
    padding-right: 52px;
  }
  .endorsement:first-child .bubble {
    padding-top: 65px;
  }
  .endorsement:nth-child(5) {
    margin-top: 25px;
  }
}

/* ============================================================ phone */
@media (max-width: 809px) {
  .band {
    padding: 40px 29px;
  }
  .band h1 {
    font-size: 25px;
    line-height: 35px;
  }
  .band p {
    margin-top: 15px;
  }
  .endorsements {
    grid-template-columns: 332px;
    padding-bottom: 125px;
  }
  .endorsement:nth-child(n + 2) .bubble {
    padding-left: 51px;
    padding-right: 42px;
  }
}
