/* ============================================================
   Parwan — Sitewide creative motion + professional polish · wave182
   Load LAST — animations, micro-interactions, section rhythm
   ============================================================ */

:root {
  --cp-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cp-gold: #C9A86E;
  --cp-gold-deep: #B89558;
  --cp-gold-soft: #F5F0E6;
  --cp-ink: #2D3238;
  --cp-muted: #6B7280;
  --cp-bg: #F0F2F5;
  --cp-white: #ffffff;
  --cp-shadow: 0 12px 40px rgba(45, 50, 56, 0.08);
  --cp-shadow-lg: 0 24px 56px rgba(45, 50, 56, 0.12);
}

/* ---- Scroll progress (all pages) ---- */
.pw-scroll-progress {
  display: block !important;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--cp-gold-deep), var(--cp-gold), #E8DCC4);
  pointer-events: none;
  box-shadow: 0 0 12px rgba(201, 168, 110, 0.45);
}

/* ---- Header scroll state ---- */
.site-header.pw-header-scrolled,
.pw-hm-header.pw-header-scrolled {
  box-shadow: var(--cp-shadow-lg) !important;
  border-color: rgba(201, 168, 110, 0.22) !important;
}

/* ---- Universal reveal ---- */
[data-pw-reveal],
.pw-cp-section {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition:
    opacity 0.85s var(--cp-ease),
    transform 0.85s var(--cp-ease);
  transition-delay: calc(var(--cp-i, 0) * 0.08s);
}

[data-pw-reveal="left"],
.pw-cp-section--left {
  transform: translate3d(-36px, 0, 0);
}

[data-pw-reveal="right"],
.pw-cp-section--right {
  transform: translate3d(36px, 0, 0);
}

[data-pw-reveal="scale"] {
  transform: scale(0.96);
}

.pw-cp-in,
[data-pw-reveal].pw-cp-in,
.pw-cp-section.pw-cp-in {
  opacity: 1;
  transform: none;
}

/* Stagger children */
[data-pw-stagger] > * {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 0.7s var(--cp-ease),
    transform 0.7s var(--cp-ease);
}

[data-pw-stagger].pw-cp-in > * {
  opacity: 1;
  transform: none;
}

[data-pw-stagger].pw-cp-in > *:nth-child(1) { transition-delay: 0.05s; }
[data-pw-stagger].pw-cp-in > *:nth-child(2) { transition-delay: 0.12s; }
[data-pw-stagger].pw-cp-in > *:nth-child(3) { transition-delay: 0.19s; }
[data-pw-stagger].pw-cp-in > *:nth-child(4) { transition-delay: 0.26s; }
[data-pw-stagger].pw-cp-in > *:nth-child(5) { transition-delay: 0.33s; }
[data-pw-stagger].pw-cp-in > *:nth-child(6) { transition-delay: 0.4s; }

/* ---- Section labels — animated gold line ---- */
.pw-sl-label,
.pw-news-pro__label,
.pw-net-pro__kicker {
  position: relative;
}

.pw-sl-label::after,
.pw-news-pro__label::after {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.8s var(--cp-ease);
}

.pw-sl-label.pw-cp-line::after,
.pw-news-pro__label.pw-cp-line::after {
  transform: scaleX(1);
}

.pw-sl-label--center::after {
  transform-origin: center;
}

/* ---- Trust strip icons pulse ---- */
.pw-rehab-trust.is-visible .pw-rehab-trust__icon {
  animation: cpTrustPulse 2.8s ease-in-out infinite;
}

.pw-rehab-trust.is-visible .pw-rehab-trust__item:nth-child(2) .pw-rehab-trust__icon {
  animation-delay: 0.4s;
}

.pw-rehab-trust.is-visible .pw-rehab-trust__item:nth-child(3) .pw-rehab-trust__icon {
  animation-delay: 0.8s;
}

.pw-rehab-trust.is-visible .pw-rehab-trust__item:nth-child(4) .pw-rehab-trust__icon {
  animation-delay: 1.2s;
}

@keyframes cpTrustPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 rgba(201, 168, 110, 0); }
  50% { transform: scale(1.06); box-shadow: 0 0 0 6px rgba(201, 168, 110, 0.12); }
}

/* ---- Hero polish ---- */
.pw-salon-hero__panel.is-active .pw-salon-hero__title {
  animation: cpHeroTitle 1s var(--cp-ease) both;
}

.pw-salon-hero__panel.is-active .pw-salon-hero__lead {
  animation: cpHeroFade 0.9s var(--cp-ease) 0.12s both;
}

.pw-salon-hero__panel.is-active .pw-salon-hero__actions {
  animation: cpHeroFade 0.9s var(--cp-ease) 0.22s both;
}

@keyframes cpHeroTitle {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}

@keyframes cpHeroFade {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

.pw-salon-hero__btn {
  position: relative;
  overflow: hidden;
}

.pw-salon-hero__btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.22) 50%, transparent 60%);
  transform: translateX(-120%);
  transition: transform 0.65s ease;
}

.pw-salon-hero__btn:hover::after {
  transform: translateX(120%);
}

/* ---- About infographic float ---- */
.pw-sl-about.pw-cp-in .pw-sl-about__main img {
  animation: cpAboutFloat 8s ease-in-out infinite;
}

@keyframes cpAboutFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.pw-sl-about__visual {
  position: relative;
}

.pw-sl-about__visual::before {
  content: "";
  position: absolute;
  inset: -8%;
  z-index: -1;
  background: radial-gradient(circle at 30% 40%, rgba(201, 168, 110, 0.14), transparent 55%);
  opacity: 0;
  transition: opacity 1s var(--cp-ease);
}

.pw-sl-about.pw-cp-in .pw-sl-about__visual::before {
  opacity: 1;
}

/* ---- Program cards — premium hover ---- */
.pw-cp-ready [data-prog-grid] .pw-pro-program:not(.pw-cp-in) {
  opacity: 0;
  transform: translateY(32px) scale(0.97);
}

.pw-pro-program {
  position: relative;
  transition:
    transform 0.45s var(--cp-ease),
    box-shadow 0.45s var(--cp-ease),
    border-color 0.35s ease !important;
}

.pw-pro-program::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, transparent, rgba(201, 168, 110, 0.45), transparent);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.pw-pro-program:hover::before,
.pw-pro-program.pw-cp-in:hover::before {
  opacity: 1;
}

.pw-pro-program.pw-cp-in {
  animation: cpCardIn 0.75s var(--cp-ease) both;
  animation-delay: var(--prog-delay, 0ms);
}

@keyframes cpCardIn {
  from { opacity: 0; transform: translateY(32px) scale(0.97); }
  to { opacity: 1; transform: none; }
}

.pw-pro-program__arrow {
  transition: transform 0.35s var(--cp-ease);
}

.pw-pro-program:hover .pw-pro-program__arrow {
  transform: translateX(6px);
}

/* ---- Founder card shine ---- */
.pw-sl-founder__card {
  transition: transform 0.5s var(--cp-ease), box-shadow 0.5s var(--cp-ease);
}

.pw-sl-founder__card:hover {
  transform: translateY(-6px);
  box-shadow: var(--cp-shadow-lg);
}

.pw-sl-founder__photo img {
  transition: transform 0.8s var(--cp-ease);
}

.pw-sl-founder__card:hover .pw-sl-founder__photo img {
  transform: scale(1.03);
}

/* ---- Testimonials crossfade polish ---- */
.pw-sl-testimonials__slide {
  transition: opacity 0.6s var(--cp-ease), transform 0.6s var(--cp-ease);
}

.pw-sl-testimonials__slide:not(.is-active) {
  transform: translateY(12px);
}

/* ---- Contact form micro-interactions ---- */
.pw-sl-contact__form input,
.pw-sl-contact__form textarea {
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s var(--cp-ease) !important;
}

.pw-sl-contact__form input:focus,
.pw-sl-contact__form textarea:focus {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(184, 149, 88, 0.12) !important;
  border-color: var(--cp-gold) !important;
}

.pw-sl-contact__form button {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s var(--cp-ease), box-shadow 0.3s ease !important;
}

.pw-sl-contact__form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(184, 149, 88, 0.32) !important;
}

/* ---- Image zoom wrapper (auto-added) ---- */
.pw-cp-zoom {
  overflow: hidden;
  border-radius: inherit;
}

.pw-cp-zoom > img {
  transition: transform 0.75s var(--cp-ease);
}

.pw-cp-zoom:hover > img {
  transform: scale(1.05);
}

/* ---- Inner pages ---- */
.page-inner .pj-journal-hero {
  position: relative;
  overflow: hidden;
}

.page-inner .pj-journal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 90% 20%, rgba(201, 168, 110, 0.1), transparent 50%),
    radial-gradient(ellipse 40% 60% at 10% 80%, rgba(201, 168, 110, 0.06), transparent 45%);
  pointer-events: none;
}

.page-inner .wave-below > section {
  position: relative;
}

.page-inner .card,
.page-inner .story-card,
.page-inner .svc-card,
.page-inner .pw-awareness__cell {
  transition:
    transform 0.45s var(--cp-ease),
    box-shadow 0.45s var(--cp-ease) !important;
}

.page-inner .card:hover,
.page-inner .story-card:hover,
.page-inner .svc-card:hover,
.page-inner .pw-awareness__cell:hover {
  transform: translateY(-6px);
  box-shadow: var(--cp-shadow-lg) !important;
}

.page-inner .btn,
.page-inner .pw-btn,
.page-inner .pw-sl-btn,
.pw-header__cta,
.pw-hm-header .pw-header__cta {
  transition: transform 0.3s var(--cp-ease), box-shadow 0.3s ease !important;
}

.page-inner .btn:hover,
.page-inner .pw-btn:hover {
  transform: translateY(-2px);
}

/* Footer links slide */
.site-footer a {
  display: inline-block;
  transition: transform 0.25s var(--cp-ease), color 0.25s ease !important;
}

.site-footer a:hover {
  transform: translateX(4px);
}

/* Back to top */
.back-top {
  transition: transform 0.35s var(--cp-ease), opacity 0.35s ease, box-shadow 0.35s ease !important;
}

.back-top:hover {
  transform: translateY(-4px);
}

.back-top.is-visible {
  animation: cpBounceIn 0.5s var(--cp-ease) both;
}

@keyframes cpBounceIn {
  from { opacity: 0; transform: translateY(12px) scale(0.9); }
  to { opacity: 1; transform: none; }
}

/* Section divider accent on home */
.page-home .pw-sl-main > section::after {
  display: none;
}

/* ---- wave191: calm footer — no reveal fade ---- */
.pw-footer-pro {
  opacity: 1 !important;
  transform: none !important;
}

/* Trust pulse — see site-animations-rich.css */

@media (prefers-reduced-motion: reduce) {
  [data-pw-reveal],
  .pw-cp-section,
  [data-pw-stagger] > *,
  .pw-pro-program.pw-cp-in {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .pw-salon-hero__panel.is-active .pw-salon-hero__title,
  .pw-salon-hero__panel.is-active .pw-salon-hero__lead,
  .pw-salon-hero__panel.is-active .pw-salon-hero__actions {
    animation: none !important;
  }

  .pw-footer-pro[data-pw-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
