/* Decorative motion and tactile feedback. Core actions never depend on it. */
.button,
.price-card,
.steps article,
.faq details {
  transition: transform .22s ease, border-color .22s ease,
    background-color .22s ease, box-shadow .22s ease;
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px #22d3b62c;
}

.price-card:hover {
  transform: translateY(-7px);
  border-color: #3f7469;
  box-shadow: 0 22px 55px #0005;
}

.price-card.featured:hover { transform: translateY(-17px); }

.plan-icon {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 4px;
  border: 1px solid #31675c;
  border-radius: 15px;
  background: #15372f;
  box-shadow: inset 0 1px #ffffff12;
  font-size: 24px;
}

.orb-card { animation: reveal-up .7s ease-out both; }
.shield { animation: shield-float 4.2s ease-in-out infinite; }
.signal { animation: signal-pulse 3.4s ease-out infinite; }
.price-card { animation: reveal-up .55s ease-out both; }
.price-card:nth-child(2) { animation-delay: .06s; }
.price-card:nth-child(3) { animation-delay: .12s; }
.price-card:nth-child(4) { animation-delay: .18s; }
.price-card:nth-child(5) { animation-delay: .24s; }

@keyframes reveal-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes shield-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

@keyframes signal-pulse {
  0% { opacity: .8; transform: scale(.82); }
  75%, 100% { opacity: 0; transform: scale(1.13); }
}

@media (max-width: 760px) {
  .price-card.featured:hover { transform: translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .orb-card, .shield, .signal, .price-card { animation: none; }
  .button, .price-card, .steps article, .faq details { transition: none; }
}

textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #071713;
  color: var(--ink);
  padding: 11px 12px;
  font: inherit;
}
