/* ==========================================================================
   Pulse Moments — 3D Interactive layer
   Premium tilt / scroll-reveal / parallax. Lightweight, no libraries.
   ========================================================================== */

:root {
  --pm-navy: #1c2333;
  --pm-gold: #c9a24b;
  --pm-cream: #f5efe0;
}

/* ----- Keyframes (from brand motion kit) ----- */
@keyframes pm-hue {
  0%, 100% { filter: hue-rotate(0deg); }
  50%      { filter: hue-rotate(40deg); }
}
@keyframes pm-text-glow {
  0%, 100% { text-shadow: 0 0 6px rgba(201,162,75,0.25); }
  50%      { text-shadow: 0 0 22px rgba(201,162,75,0.6); }
}
@keyframes pm-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

/* ----- Scroll reveal ----- */
.pm-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
.pm-reveal.pm-in {
  opacity: 1;
  transform: translateY(0);
}

/* ----- 3D tilt cards ----- */
.pm-tilt {
  transform-style: preserve-3d;
  transition: transform .25s ease, box-shadow .25s ease;
  will-change: transform;
}
.pm-tilt:hover {
  box-shadow: 0 22px 50px -20px rgba(28,35,51,.45);
}
.pm-tilt .wp-block-heading,
.pm-tilt h3 {
  transform: translateZ(28px);
  transition: color .25s ease;
}
.pm-tilt:hover .wp-block-heading a,
.pm-tilt:hover h3 a {
  color: var(--pm-gold) !important;
}

/* ----- Hero parallax + glow ----- */
.wp-block-cover.alignfull {
  overflow: hidden;
  perspective: 1200px;
}
.wp-block-cover.alignfull .wp-block-cover__image-background,
.wp-block-cover.alignfull > .wp-block-cover__background {
  animation: pm-hue 14s ease-in-out infinite;
}
.wp-block-cover.alignfull h1 {
  animation: pm-text-glow 4.5s ease-in-out infinite;
}
.wp-block-cover.alignfull .wp-block-image {
  animation: pm-float 6s ease-in-out infinite;
}
.pm-parallax { transition: transform .15s linear; will-change: transform; }

/* ----- Button micro-interaction ----- */
.wp-block-button__link {
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
.wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px -10px rgba(201,162,75,.6);
}

/* ----- Blog / latest-posts cards lift ----- */
.wp-block-latest-posts.is-grid > li,
.entry.loop-entry,
article.entry {
  transition: transform .3s ease, box-shadow .3s ease;
}
.wp-block-latest-posts.is-grid > li:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px -22px rgba(28,35,51,.4);
}

/* Respect reduced-motion preference (accessibility) */
@media (prefers-reduced-motion: reduce) {
  .pm-reveal { opacity: 1; transform: none; transition: none; }
  .pm-tilt, .wp-block-cover.alignfull h1,
  .wp-block-cover.alignfull .wp-block-image,
  .wp-block-cover.alignfull > .wp-block-cover__background { animation: none !important; }
}
