/* Progressive enhancement: content stays visible if JavaScript is unavailable. */
.lime-motion-mark {
  background-image: linear-gradient(#c8dccd, #c8dccd);
  background-position: left 94%;
  background-repeat: no-repeat;
  background-size: 100% .15em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.pricing-copy .lime-motion-mark {
  background-image: linear-gradient(#668e79, #668e79);
}
.lime-entering {
  animation: lime-enter var(--lime-duration, 1000ms) cubic-bezier(.42, 0, .3, 1)
    var(--lime-delay, 0ms) both;
}
/* Keep the established before/after photo entrance speed. */
.case > figure.lime-entering { --lime-duration: 680ms; animation-timing-function: cubic-bezier(.22, .75, .25, 1); }
.lime-entering .lime-motion-mark {
  animation: lime-underline 1000ms cubic-bezier(.42, 0, .3, 1)
    calc(var(--lime-delay, 0ms) + 300ms) both;
}
.process-list > li { position: relative; border-top-color: transparent; }
.process-list > li::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--green);
  transform-origin: left center;
}
.process-list > li.lime-entering::before {
  animation: lime-step-line 1000ms cubic-bezier(.42, 0, .3, 1) calc(var(--lime-delay, 0ms) + 100ms) both;
}
.customer-review-rail { scroll-padding-inline: 2px; }
.customer-review-footer { flex-wrap: wrap; }
.customer-review-footer > p { flex: 1 1 180px; }
.customer-review-controls { align-items: center; margin-left: auto; }
.review-position {
  min-width: 48px;
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.customer-review-controls .review-rotation-toggle { font-size: 15px; line-height: 1; }
.customer-review-controls .review-rotation-toggle:disabled { opacity: .45; cursor: default; }
@keyframes lime-enter {
  from { opacity: 0; transform: translate3d(0, var(--lime-distance, 24px), 0); }
  to { opacity: 1; transform: none; }
}
@keyframes lime-underline {
  from { background-size: 0% .15em; }
  to { background-size: 100% .15em; }
}
@keyframes lime-step-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@media (max-width: 760px) {
  .lime-entering { --lime-duration: 1000ms; --lime-distance: 16px; }
  .lime-entering .lime-motion-mark { animation-duration: 1000ms; }
  .case > figure.lime-entering { --lime-duration: 480ms; }
  .customer-review-controls { gap: 7px; }
}
@media (prefers-reduced-motion: reduce), print {
  .lime-entering, .lime-entering .lime-motion-mark,
  .process-list > li.lime-entering::before { animation: none !important; }
}
