/* A restrained sense of depth for the home page photography and service cards. */
.lm-theme .home-hero .hero-photo {
  box-shadow: 8px 11px 0 -3px rgba(194, 163, 101, .22),
    0 25px 55px rgba(3, 11, 19, .28);
}

.lm-theme .home-hero .hero-photo .project-slideshow {
  transform: perspective(1400px) rotateX(0) rotateY(0) translateZ(0);
  transform-origin: center;
  transition: transform 650ms cubic-bezier(.22, 1, .36, 1),
    box-shadow 650ms cubic-bezier(.22, 1, .36, 1);
  backface-visibility: hidden;
}

.lm-theme .services .service-card {
  transform: perspective(1100px) rotateX(0) rotateY(0) translateZ(0);
  transform-style: preserve-3d;
  transition: transform 600ms cubic-bezier(.22, 1, .36, 1),
    border-color 300ms ease, box-shadow 600ms cubic-bezier(.22, 1, .36, 1);
  backface-visibility: hidden;
}

.lm-theme .services .service-card > img {
  transform: translateZ(0);
  transition: transform 750ms cubic-bezier(.22, 1, .36, 1),
    opacity 750ms ease, border-color 300ms ease;
  backface-visibility: hidden;
}

/* Image-only entrance leaves the content readable throughout the reveal. */
.lm-depth-ready .lm-theme .services .service-card:not(.lm-depth-visible) > img {
  opacity: .9;
  transform: perspective(900px) rotateX(4deg) translate3d(0, 9px, -20px) scale(.96);
}

@media (hover: hover) and (pointer: fine) {
  .lm-theme .home-hero .hero-photo:is(:hover, :focus-within) .project-slideshow {
    transform: perspective(1400px) rotateX(.7deg) rotateY(-1.3deg) translate3d(0, -2px, 7px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .22);
  }

  .lm-theme .services .service-card:is(:hover, :focus-within) {
    transform: perspective(1100px) rotateX(1.1deg) rotateY(-1deg) translate3d(0, -4px, 0);
    border-color: #b89959;
    box-shadow: 0 18px 38px rgba(11, 23, 34, .12);
  }

  .lm-theme .services .service-card:is(:hover, :focus-within) > img {
    transform: translateZ(18px) scale(1.025);
  }
}

@media (hover: none), (pointer: coarse) {
  .lm-theme .services .service-card:active {
    transform: perspective(1100px) rotateX(.7deg) translate3d(0, 1px, 0);
  }
}

@media (max-width: 760px) {
  .lm-theme .home-hero .hero-photo {
    box-shadow: 6px 8px 0 -3px rgba(194, 163, 101, .25),
      0 18px 38px rgba(3, 11, 19, .24);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lm-theme .home-hero .hero-photo .project-slideshow,
  .lm-theme .home-hero .hero-photo:is(:hover, :focus-within) .project-slideshow,
  .lm-theme .services .service-card,
  .lm-theme .services .service-card:is(:hover, :focus-within, :active),
  .lm-theme .services .service-card > img,
  .lm-theme .services .service-card:is(:hover, :focus-within) > img {
    transform: none;
    transition: none;
  }
}
