.bts-section { background: #fdf8f1; }

.bts-photo {
  position: relative;
  aspect-ratio: 3 / 4;          /* iPhone portrait */
  overflow: hidden;
  border-radius: 14px;
  background: #e9e2d6;
  margin: 0;
}
.bts-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;  /* keeps faces in frame */
  display: block;
  transition: transform .5s ease;
}
.bts-photo a:hover img { transform: scale(1.04); }
.bts-photo figcaption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 2.2rem 1rem .9rem;
  color: #fff;
  font-size: .92rem;
  background: linear-gradient(to top, rgba(0,0,0,.72), transparent);
}

.bts-badge {
  display: inline-block;
  background: #f4a261;
  color: #3a2100;
  font-weight: 600;
  font-size: .85rem;
  padding: .35rem .9rem;
  border-radius: 50px;
  margin-bottom: 1rem;
}
.bts-text h3 { font-weight: 700; color: #0b6e4f; margin-bottom: 1rem; }
.bts-text p  { line-height: 1.75; max-width: 62ch; }

.bts-given { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: .9rem; }
.bts-given li { display: flex; gap: .9rem; align-items: flex-start; }
.bts-given i {
  flex: 0 0 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: #0b6e4f; color: #fff; border-radius: 50%; font-size: 1.15rem;
}
.bts-given h5 { margin: 0 0 .15rem; font-size: 1.05rem; font-weight: 600; }
.bts-given p  { margin: 0; font-size: .95rem; }

.bts-thanks {
  border-left: 4px solid #f4a261;
  background: #fff;
  padding: 1.1rem 1.3rem;
  border-radius: 0 12px 12px 0;
  margin-top: 1.5rem;
}
.bts-thanks p { margin: 0; }

@media (max-width: 575px) {
  .bts-photo { border-radius: 10px; }
}