/* Consumer service cards with verified in-store photography. */
.service-card {
  --card-color: #e8c49d;
  --photo-scale: 1.58;
  --photo-focus-x: 50%;
  --photo-focus-y: 58%;
  --photo-object-x: 50%;
  --photo-object-y: 48%;
  --photo-shift-x: 0%;
  --photo-shift-y: 0%;
  min-height: 520px;
  padding: 0 26px 28px;
  height: 100%;
}

.service-card.charge {
  --card-color: #28364b;
  --photo-scale: 1;
  --photo-focus-x: 50%;
  --photo-focus-y: 50%;
  --photo-object-y: 50%;
  --photo-shift-x: 0%;
  --photo-shift-y: 0%;
}

.service-card.protect {
  --card-color: #a44b2f;
  --photo-scale: 1.04;
  --photo-focus-x: 50%;
  --photo-focus-y: 52%;
  --photo-object-y: 50%;
  --photo-shift-x: 0%;
  --photo-shift-y: 0%;
}

.service-grid { grid-auto-rows: 1fr; }

.service-photo-frame {
  position: relative;
  flex: none;
  width: calc(100% + 52px);
  aspect-ratio: 8 / 5;
  margin: 0 -26px;
  overflow: hidden;
  background: #d7b48f;
}

.service-photo-frame::after {
  content: '';
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 28%;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, transparent 10%, var(--card-color) 100%);
}

.charge .service-photo-frame {
  aspect-ratio: 1107 / 653;
}

.charge .service-photo-frame::after {
  height: 44px;
  background: linear-gradient(to bottom, transparent 0%, transparent 78%, #28364b 100%);
}

.service-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--photo-object-x) var(--photo-object-y);
  transform: translate(var(--photo-shift-x), var(--photo-shift-y)) scale(var(--photo-scale));
  transform-origin: var(--photo-focus-x) var(--photo-focus-y);
}

.protect .service-photo {
  filter: brightness(1.04) saturate(.84) contrast(.98) sepia(.05);
}

.service-card > span {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  padding: 7px 9px;
  color: #fff;
  background: rgba(27, 27, 26, .82);
  border-radius: 2px;
}

.service-card > div {
  margin-top: 0;
  padding-top: 24px;
}

@media (min-width: 851px) {
  .service-card.charge > div {
    padding-top: calc(25.83px + 3.515%);
  }
}

.service-card::before,
.service-card::after { display: none; }

.partner-copy h2 {
  font-size: clamp(32px, 3vw, 46px);
  word-break: normal;
  overflow-wrap: break-word;
  line-break: strict;
}

@media (max-width: 850px) {
  .service-card {
    min-height: 0;
    padding-bottom: 28px;
  }

  .service-card {
    --photo-focus-y: 45%;
    --photo-object-y: 35%;
  }

  .service-card.protect {
    --photo-focus-y: 52%;
  }

  .partner-copy h2 {
    font-size: clamp(25px, 7.5vw, 38px);
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    line-break: strict;
  }
}
