/* Desktop service card CTA. The badge can pulse while the existing hover
   vibration continues on its separate translate animation. */
@keyframes svc282-view-blink {
  0%,100% { opacity:1 }
  50% { opacity:.22 }
}
@keyframes svc282-pointer-blink {
  0%,100% { opacity:1 }
  50% { opacity:.18 }
}
.svc282-view-arrow { display:none }
@media (min-width:1181px) {
  .svc151-plane.is-finished .svc151-card .svc151-view {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
  }
  .svc151-plane.is-finished .svc151-card .svc282-view-arrow {
    display:inline-block;
    font-weight:700;
    line-height:1;
  }
}
@media (min-width:1181px) and (hover:hover) and (pointer:fine) {
  .svc151-plane.is-finished .svc151-card .svc151-view {
    color:#fff;
    border-color:rgba(255,255,255,.75);
    animation:svc282-view-blink 1.05s ease-in-out infinite;
  }
  .svc151-plane.is-finished .svc151-card.is-vibrating .svc151-view {
    animation:svc153-view-shake .36s ease-in-out 1,
              svc282-view-blink 1.05s ease-in-out infinite;
  }
}
.svc282-pointer-click {
  display:none;
  position:fixed;
  top:0;
  left:0;
  z-index:2147483647;
  pointer-events:none;
  visibility:hidden;
  opacity:0;
  padding:6px 9px;
  border:1px solid rgba(0,255,186,.7);
  background:rgba(0,0,0,.88);
  color:#00ffba;
  font:700 13px/1 "Pretendard Variable",sans-serif;
  letter-spacing:.04em;
  white-space:nowrap;
  transform:translate3d(-100px,-100px,0);
}
@media (min-width:1181px) and (hover:hover) and (pointer:fine) {
  .svc282-pointer-click { display:block }
  .svc282-pointer-click.is-visible {
    visibility:visible;
    animation:svc282-pointer-blink .88s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion:reduce) {
  .svc151-plane.is-finished .svc151-card .svc151-view,
  .svc151-plane.is-finished .svc151-card.is-vibrating .svc151-view,
  .svc282-pointer-click.is-visible { animation:none!important }
  .svc282-pointer-click.is-visible { opacity:1 }
}
