/* Photography is a new layer inside the approved cards; their geometry and
   scroll targets remain owned by Webflow and service-stack.js. */
.service_item .service-card-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0,0,0,.8) 44%, transparent 76%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0,0,0,.8) 44%, transparent 76%);
}
.service-card-photo .service-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}
/* Preserve natural skin and fabric textures in the generated photography.
   Its art direction already uses the site's navy, white and gold palette. */
img.service-photo { filter: none !important; }
.service_item:has(.service-card-photo) > .service_item-dots { z-index: 1; opacity: .25; }
.service_item:has(.service-card-photo) > .service_content,
.service_item:has(.service-card-photo) > .service_tag { position: relative; z-index: 2; }
.service_item:has(.service-card-photo) > .service_tag { background: var(--boost-surface); color: #fff; border-color: rgba(255,255,255,.75); }
.service_item:has(.service-card-photo) .service_btn_text { position: relative; z-index: 1; transform: translateZ(0); }
.service_item.is-ecom:has(.service-card-photo) > .service_tag { background: #fff; color: var(--boost-background); border-color: var(--boost-background); }
.service_item.is-search:has(.service-card-photo) > .service_tag { background: #f6dea3; color: var(--boost-background); border-color: var(--boost-background); }
.service_title-img.service-photo { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; object-position: center; border-radius: 1.25rem; }
@media (max-width: 767px) {
  .service_item .service-card-photo {
    height: 58%;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%);
  }
  .service-card-photo .service-photo { object-position: center 30%; }
  .service_title-img.service-photo { aspect-ratio: 16 / 10; border-radius: .875rem; }
}
