/* ============================================================
   Parwan — Rich sitewide animations · wave197
   Load LAST on every page
   ============================================================ */

:root {
  --ar-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ar-gold: #C9A86E;
  --ar-gold-deep: #B89558;
}

/* ---- Re-enable motion blocked by wave191/196 ---- */
.pw-salon-hero__orbs,
.pw-news-pro__spark,
.pw-rehab-trust__particles,
.pw-sl-about__orbs {
  display: block !important;
}

.pw-rehab-trust--pro.is-visible .pw-rehab-trust__icon,
.pw-rehab-trust.is-visible .pw-rehab-trust__icon {
  animation: arTrustPulse 2.6s ease-in-out infinite !important;
}

.pw-rehab-trust__item:nth-child(2) .pw-rehab-trust__icon { animation-delay: 0.35s !important; }
.pw-rehab-trust__item:nth-child(3) .pw-rehab-trust__icon { animation-delay: 0.7s !important; }
.pw-rehab-trust__item:nth-child(4) .pw-rehab-trust__icon { animation-delay: 1.05s !important; }

@keyframes arTrustPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 rgba(201, 168, 110, 0); }
  50% { transform: scale(1.08); box-shadow: 0 0 0 8px rgba(201, 168, 110, 0.14); }
}

.pw-header__cta::before,
.pw-sl-btn::before,
.pw-salon-hero__btn--fill::before {
  display: block !important;
}

.site-footer a:hover {
  transform: translateX(4px) !important;
}

.nav-links > a {
  position: relative;
}

.nav-links > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--ar-gold-deep), var(--ar-gold));
  transition: width 0.35s var(--ar-ease);
}

.nav-links > a:hover::after,
.nav-links > a.active::after {
  width: 100%;
}

/* ---- Floating CTA ---- */
.floating-cta.show a {
  animation: arFloatCta 3s ease-in-out infinite;
}

@keyframes arFloatCta {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.floating-cta a:hover {
  animation: none !important;
  transform: scale(1.08) !important;
}

/* ---- Hero ---- */
.pw-salon-hero__orbs span {
  animation: arOrbDrift 16s ease-in-out infinite;
}

.pw-salon-hero__orbs span:nth-child(2) { animation-delay: -5s; }
.pw-salon-hero__orbs span:nth-child(3) { animation-delay: -10s; }

@keyframes arOrbDrift {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.22; }
  50% { transform: translate(16px, -20px) scale(1.1); opacity: 0.38; }
}

.pw-salon-hero__stat.ar-pulse {
  animation: arStatPop 0.55s var(--ar-ease);
}

@keyframes arStatPop {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); border-color: rgba(201, 168, 110, 0.5); }
}

.pw-salon-hero__scroll svg {
  animation: arScrollBounce 2s ease-in-out infinite;
}

@keyframes arScrollBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

/* ---- Universal scroll reveal ---- */
.ar-in {
  animation: arFadeUp 0.85s var(--ar-ease) both;
  animation-delay: var(--ar-delay, 0ms);
}

@keyframes arFadeUp {
  from { opacity: 0; transform: translateY(36px); }
  to { opacity: 1; transform: none; }
}

.ar-in-left {
  animation: arFadeLeft 0.85s var(--ar-ease) both;
  animation-delay: var(--ar-delay, 0ms);
}

@keyframes arFadeLeft {
  from { opacity: 0; transform: translateX(-36px); }
  to { opacity: 1; transform: none; }
}

.ar-in-right {
  animation: arFadeRight 0.85s var(--ar-ease) both;
  animation-delay: var(--ar-delay, 0ms);
}

@keyframes arFadeRight {
  from { opacity: 0; transform: translateX(36px); }
  to { opacity: 1; transform: none; }
}

.ar-in-scale {
  animation: arScaleIn 0.8s var(--ar-ease) both;
  animation-delay: var(--ar-delay, 0ms);
}

@keyframes arScaleIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: none; }
}

/* ---- Trust strip ---- */
.pw-rehab-trust--pro .pw-rehab-trust__item.ar-in {
  animation: arTrustIn 0.7s var(--ar-ease) both;
}

@keyframes arTrustIn {
  from { opacity: 0; transform: translateY(24px) scale(0.96); }
  to { opacity: 1; transform: none; }
}

.pw-rehab-trust--pro .pw-rehab-trust__track-fill {
  animation: arTrackFill 1.4s var(--ar-ease) 0.2s forwards;
}

@keyframes arTrackFill {
  from { width: 0; }
  to { width: 100%; }
}

/* ---- Program cards ---- */
.pw-pro-program.ar-in {
  animation: arCardIn 0.8s var(--ar-ease) both;
  opacity: 1 !important;
}

.pw-cp-ready [data-prog-grid] .pw-pro-program.ar-in {
  opacity: 1 !important;
  transform: none;
}

@keyframes arCardIn {
  from { opacity: 0; transform: translateY(40px) rotateX(8deg); }
  to { opacity: 1; transform: none; }
}

.pw-pro-program:hover {
  transform: translateY(-8px) !important;
}

.pw-pro-program:hover .pw-pro-program__icon {
  animation: arIconWiggle 0.5s var(--ar-ease);
}

@keyframes arIconWiggle {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-6deg) scale(1.06); }
  75% { transform: rotate(4deg) scale(1.04); }
}

.pw-pro-program:hover .pw-pro-program__arrow {
  animation: arArrowNudge 0.6s ease infinite;
}

@keyframes arArrowNudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(5px); }
}

/* ---- News / resources ---- */
.pw-news-pro__spark span {
  animation: arSpark 7s ease-in-out infinite;
}

.pw-news-pro__spark span:nth-child(2) { animation-delay: -2.3s; }
.pw-news-pro__spark span:nth-child(3) { animation-delay: -4.6s; }

@keyframes arSpark {
  0%, 100% { transform: translateY(0); opacity: 0.35; }
  50% { transform: translateY(-16px) scale(1.2); opacity: 0.85; }
}

.pw-news-pro__card.ar-in {
  animation: arNewsIn 0.85s var(--ar-ease) both;
  opacity: 1 !important;
}

@keyframes arNewsIn {
  from { opacity: 0; transform: translateY(48px); }
  to { opacity: 1; transform: none; }
}

.pw-news-pro__grid.is-alive .pw-news-pro__media {
  animation: arMediaFloat 7s ease-in-out infinite;
}

.pw-news-pro__card:nth-child(2) .pw-news-pro__media { animation-delay: -2.3s; }
.pw-news-pro__card:nth-child(3) .pw-news-pro__media { animation-delay: -4.6s; }

@keyframes arMediaFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.pw-news-pro__card:hover .pw-news-pro__media {
  animation: none;
}

.pw-news-pro__card:hover .pw-news-pro__media img {
  transform: scale(1.07) !important;
}

.pw-news-pro__card:hover .pw-news-pro__date {
  animation: arBadgePop 0.45s var(--ar-ease);
}

@keyframes arBadgePop {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

/* ---- About ---- */
.pw-sl-about--pro.ar-section-in .pw-sl-about__main img {
  animation: arAboutFloat 7s ease-in-out infinite;
}

@keyframes arAboutFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.pw-sl-about__badge {
  animation: arBadgeGlow 2.5s ease-in-out infinite;
}

@keyframes arBadgeGlow {
  0%, 100% { box-shadow: 0 4px 16px rgba(201, 168, 110, 0.25); }
  50% { box-shadow: 0 8px 28px rgba(201, 168, 110, 0.45); }
}

/* ---- Network photos parallax ---- */
.pw-net-pro__photo.ar-parallax {
  transition: transform 0.15s ease-out;
  will-change: transform;
}

/* ---- Founder ---- */
.pw-sl-founder__card.ar-in {
  animation: arScaleIn 0.9s var(--ar-ease) both;
}

.pw-sl-founder__card:hover {
  transform: translateY(-6px) scale(1.01);
  transition: transform 0.4s var(--ar-ease);
}

/* ---- Testimonials ---- */
.pw-sl-testimonials__slide.is-active blockquote {
  animation: arQuoteIn 0.7s var(--ar-ease);
}

@keyframes arQuoteIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

/* ---- Banner ---- */
.pw-sl-banner__frame.ar-in {
  animation: arBannerIn 1s var(--ar-ease) both;
}

@keyframes arBannerIn {
  from { opacity: 0; transform: scale(0.94); }
  to { opacity: 1; transform: none; }
}

.pw-sl-banner__btn {
  transition: transform 0.3s var(--ar-ease), box-shadow 0.3s ease;
}

.pw-sl-banner__btn:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 12px 32px rgba(201, 168, 110, 0.35);
}

/* ---- Contact form ---- */
.pw-sl-contact__form input,
.pw-sl-contact__form textarea {
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.pw-sl-contact__form input:focus,
.pw-sl-contact__form textarea:focus {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201, 168, 110, 0.12);
}

.pw-sl-contact__form button {
  transition: transform 0.3s var(--ar-ease), box-shadow 0.3s ease;
}

.pw-sl-contact__form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(184, 149, 88, 0.35);
}

/* ---- Inner pages ---- */
.page-inner .card,
.page-inner .story-card,
.page-inner .svc-card,
.page-inner .pw-awareness__cell {
  transition: transform 0.4s var(--ar-ease), box-shadow 0.4s ease;
}

.page-inner .card.ar-in:hover,
.page-inner .story-card.ar-in:hover,
.page-inner .svc-card.ar-in:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(45, 50, 56, 0.1);
}

.page-inner .pj-journal-hero__title.ar-in {
  animation: arFadeUp 1s var(--ar-ease) both;
}

/* ---- Footer reveal ---- */
.pw-footer-pro.ar-in .footer-about {
  animation: arFadeUp 0.8s var(--ar-ease) both;
}

.pw-footer-pro.ar-in .footer-col {
  animation: arFadeUp 0.8s var(--ar-ease) both;
  animation-delay: calc(var(--ar-i, 0) * 0.1s);
}

/* ---- Header logo on scroll ---- */
.pw-header-scrolled .brand img {
  animation: arLogoSettle 0.5s var(--ar-ease) both;
}

@keyframes arLogoSettle {
  from { transform: scale(1.04); }
  to { transform: scale(1); }
}

/* ---- Gold shimmer on labels ---- */
.pw-sl-label.ar-shimmer,
.pw-news-pro__label.ar-shimmer {
  background: linear-gradient(90deg, var(--ar-gold-deep), #E8DCC4, var(--ar-gold-deep));
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: arShimmer 4s linear infinite;
}

@keyframes arShimmer {
  to { background-position: 200% center; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
