/* OUR SCOPE — remove arrow, add hover icon */
.cap-item-arrow{ display: none !important; }

/* Continuous wave on each card; hover stops the wave and "opens" the card */
.scope-wave-defs{ position: absolute; width: 0; height: 0; }
.cap-item{
  filter: url(#scope-wave);
  will-change: filter;
}
.cap-item:hover,
.cap-item:focus-visible{
  filter: none;
}
@media (prefers-reduced-motion: reduce){
  .cap-item{ filter: none; }
}

.cap-item-body{
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.cap-item-icon{
  flex-shrink: 0;
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--vermillion);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .5s ease .1s, transform .5s cubic-bezier(.19,1,.22,1) .1s;
}
.cap-item-icon svg{ width: 28px; height: 28px; display: block; }
.cap-item:hover .cap-item-icon,
.cap-item:focus-visible .cap-item-icon{
  opacity: 1;
  transform: translateY(0);
}
.cap-item-body-text{ flex: 1; min-width: 0; }

/* JP label beside EN, same baseline, revealed on hover/open */
.cap-item{
  grid-template-columns: 64px auto 1fr !important;
  align-items: baseline !important;
}
.cap-item-jp{
  text-align: left !important;
  align-self: baseline !important;
  padding-left: clamp(14px, 1.2vw, 22px);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .45s ease .05s, transform .5s cubic-bezier(.19,1,.22,1) .05s, color .35s ease;
}
.cap-item:hover .cap-item-jp,
.cap-item:focus-visible .cap-item-jp{
  opacity: 1;
  transform: translateX(0);
}
@media (max-width: 720px){
  .cap-item{ grid-template-columns: 48px auto 1fr !important; }
}
