/* Nội dung luôn hiển thị nếu trình duyệt tắt JavaScript hoặc giảm chuyển động. */
@media (prefers-reduced-motion: no-preference) {
  .hero__content > .brand,
  .hero__content > .brand-image,
  .hero__content > h1,
  .hero__subtitle,
  .hero-benefits,
  .hero__signature {
    animation: kacirin-intro .75s ease-out both;
  }
  .hero__content > h1 { animation-delay: .1s; }
  .hero__subtitle { animation-delay: .2s; }
  .hero-benefits { animation-delay: .3s; }
  .hero__signature { animation-delay: .4s; }

  .motion-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .6s ease-out, transform .6s ease-out;
    transition-delay: var(--reveal-delay, 0ms);
  }
  .motion-reveal.is-visible {
    opacity: 1;
    transform: none;
  }

  .contact-bar .contact-label,
  .contact-bar .hotline,
  .quick-fields input[type="submit"],
  .quote-submit input[type="submit"] {
    animation: kacirin-button-pulse 1s ease infinite;
  }

  /* Phóng cả nút từ mép phải, giữ nguyên điểm neo khi cuộn. */
  .floating-call {
    transform-origin: right center;
    animation: kacirin-call-pulse 1s ease infinite;
  }
  .floating-call__icon::before {
    content: '';
    position: absolute;
    inset: -2px;
    border: 2px solid #b40000;
    border-radius: 50%;
    pointer-events: none;
    animation: kacirin-call-ring 2.6s ease-out infinite;
  }

  .contact-bar:focus-within .contact-label,
  .contact-bar:focus-within .hotline,
  .contact-bar:focus-within input[type="submit"],
  .quote-card:focus-within input[type="submit"],
  .wpcf7 form.submitting input[type="submit"],
  .floating-call:focus-visible,
  .floating-call:focus-visible .floating-call__icon::before {
    animation-play-state: paused;
  }
}

@keyframes kacirin-intro {
  from { opacity: 0; translate: 0 16px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes kacirin-button-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}
@keyframes kacirin-call-pulse {
  0%, 100% { transform: translateY(-50%) scale(1); }
  50% { transform: translateY(-50%) scale(1.1); }
}
@keyframes kacirin-call-ring {
  0%, 20% { transform: scale(1); opacity: .45; }
  80%, 100% { transform: scale(1.35); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-reveal { opacity: 1; transform: none; transition: none; }
}

/* Chừa khoảng cho nút phóng lớn, tránh chạm nút bên cạnh. */
.contact-bar--bottom .contact-bar__inner { column-gap: 24px; }
.contact-bar--bottom .quick-fields { padding-inline: 12px; }
@media (max-width: 700px) {
  .contact-bar--bottom .contact-bar__inner { column-gap: 20px; row-gap: 10px; }
  .contact-bar--bottom .quick-fields { gap: 10px; }
}
