/* JMR subtle premium layer
   Purpose: small refinements only. No redesign.
*/

:root{
  --jmr-premium-shadow:0 16px 34px rgba(15,23,42,.10);
  --jmr-premium-shadow-soft:0 10px 24px rgba(15,23,42,.075);
  --jmr-premium-ease:cubic-bezier(.22,.61,.36,1);
}

/* Slightly richer hero overlay */
.hero-media{
  isolation:isolate;
}

.hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%, rgba(36,176,64,.18), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(31,95,139,.18), transparent 30%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.18));
  opacity:.78;
}

.hero-media .section-inner{
  position:relative;
  z-index:2;
}

.hero-media-bg{
  transform:translate3d(0,var(--jmr-hero-parallax,0px),0) scale(1.018);
  transition:transform .18s linear;
  will-change:transform;
}

/* Premium hover depth */
.card,
.reason-card,
.review-card,
.yard-strip-item,
.contact-block,
.live-helper-panel{
  transition:
    transform .28s var(--jmr-premium-ease),
    box-shadow .28s var(--jmr-premium-ease),
    border-color .28s var(--jmr-premium-ease);
}

.card:hover,
.reason-card:hover,
.review-card:hover,
.yard-strip-item:hover{
  transform:translateY(-3px);
  box-shadow:var(--jmr-premium-shadow);
  border-color:rgba(36,176,64,.16);
}

.live-helper-panel:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(15,23,42,.105);
}

/* Buttons feel slightly more physical */
.btn,
.nav-cta,
.mobile-call-btn{
  transition:
    transform .22s var(--jmr-premium-ease),
    box-shadow .22s var(--jmr-premium-ease),
    filter .22s var(--jmr-premium-ease);
}

.btn:hover,
.nav-cta:hover,
.mobile-call-btn:hover{
  transform:translateY(-1px);
  filter:saturate(1.04);
}

/* Image transitions: premium but not flashy */
.card-media,
.reason-photo,
.review-photo,
.yard-strip-item{
  overflow:hidden;
}

.card-media img,
.card-media video,
.reason-photo img,
.review-photo img,
.yard-strip-item img{
  transition:
    transform .75s var(--jmr-premium-ease),
    filter .75s var(--jmr-premium-ease);
  will-change:transform;
}

.card:hover .card-media img,
.card:hover .card-media video,
.reason-card:hover .reason-photo img,
.review-photo:hover img,
.yard-strip-item:hover img{
  transform:scale(1.035);
  filter:saturate(1.04) contrast(1.02);
}

/* Soft reveal system */
.jmr-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:
    opacity .62s var(--jmr-premium-ease),
    transform .62s var(--jmr-premium-ease);
}

.jmr-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.jmr-reveal-delay-1{transition-delay:.06s}
.jmr-reveal-delay-2{transition-delay:.11s}
.jmr-reveal-delay-3{transition-delay:.16s}
.jmr-reveal-delay-4{transition-delay:.21s}

/* Subtle number refinement while animated */
.reviews-score.is-counting{
  font-variant-numeric:tabular-nums;
}

/* Reduce visual intensity on mobile and for reduced motion */
@media (max-width:760px){
  .hero-media-bg{
    transform:none !important;
  }

  .card:hover,
  .reason-card:hover,
  .review-card:hover,
  .yard-strip-item:hover,
  .live-helper-panel:hover{
    transform:none;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }

  .jmr-reveal{
    opacity:1 !important;
    transform:none !important;
  }

  .hero-media-bg{
    transform:none !important;
  }
}
