/* Dothouse service-card interaction restore
   Load AFTER site.css and site-layout-repair.css. Does not change layout or content. */
.service-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .32s cubic-bezier(.2,.75,.25,1),
              box-shadow .32s ease,
              border-color .32s ease,
              background-color .32s ease;
}
.service-card::before,
.service-card::after {
  position: absolute;
  z-index: -1;
  display: block;
  color: var(--orange, #f39a35);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(0, 12px, 0) rotate(-18deg) scale(.65);
  transition: opacity .24s ease, transform .4s cubic-bezier(.2,.75,.25,1);
  content: '✦';
}
.service-card::before {
  top: 22px;
  right: 25px;
  font-size: 29px;
}
.service-card::after {
  right: 58px;
  top: 57px;
  font-size: 17px;
  transition-delay: .04s;
}
.service-card:hover,
.service-card:focus-within {
  transform: translateY(-7px);
  border-color: #c5dce5;
  box-shadow: 0 20px 42px rgba(8, 44, 69, .12);
}
.service-card:hover::before,
.service-card:focus-within::before {
  opacity: .95;
  transform: translate3d(0, -3px, 0) rotate(10deg) scale(1);
  animation: dothouse-star-drift 2.4s ease-in-out infinite;
}
.service-card:hover::after,
.service-card:focus-within::after {
  opacity: .75;
  transform: translate3d(0, -7px, 0) rotate(18deg) scale(1);
  animation: dothouse-star-drift-small 2.8s ease-in-out infinite;
}
.service-card .service-icon {
  display: inline-block;
  transform-origin: center;
  transition: transform .35s cubic-bezier(.2,.75,.25,1), text-shadow .35s ease;
}
.service-card:hover .service-icon,
.service-card:focus-within .service-icon {
  transform: translateY(-4px) rotate(12deg) scale(1.12);
  text-shadow: 0 5px 15px rgba(243, 154, 53, .24);
}
.service-card > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: gap .25s ease, color .25s ease;
}
.service-card:hover > a,
.service-card:focus-within > a { gap: 10px; }
.service-card-featured:hover,
.service-card-featured:focus-within {
  border-color: #174b68;
  box-shadow: 0 22px 46px rgba(8, 44, 69, .22);
}
@keyframes dothouse-star-drift {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  50% { translate: 0 -9px; rotate: 12deg; }
}
@keyframes dothouse-star-drift-small {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  50% { translate: 3px -7px; rotate: -12deg; }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .service-card:hover,
  .service-card:focus-within { transform: none; }
  .service-card:hover::before,
  .service-card:hover::after,
  .service-card:focus-within::before,
  .service-card:focus-within::after { animation: none; }
  .service-card,
  .service-card::before,
  .service-card::after,
  .service-card .service-icon,
  .service-card > a { transition-duration: .01ms; }
}
