/*
 * J4T shared soft motion system.
 * Purposefully subtle: short distance, gentle easing, small stagger.
 * No external animation library and respects prefers-reduced-motion.
 */
:root{
  --j4t-motion-distance:22px;
  --j4t-motion-duration:.68s;
  --j4t-motion-ease:cubic-bezier(.22,.61,.36,1);
}

@keyframes j4tHeroDrop{
  0%{opacity:0;transform:translate3d(0,-72px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes j4tSoftUp{
  0%{opacity:0;transform:translate3d(0,var(--j4t-motion-distance),0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes j4tSoftLeft{
  0%{opacity:0;transform:translate3d(calc(var(--j4t-motion-distance) * -1),0,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes j4tSoftRight{
  0%{opacity:0;transform:translate3d(var(--j4t-motion-distance),0,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes j4tSoftScale{
  0%{opacity:0;transform:scale(.975) translate3d(0,10px,0)}
  100%{opacity:1;transform:scale(1) translate3d(0,0,0)}
}

@media (prefers-reduced-motion:no-preference){
  /* Keep initial content hidden only after JS has initialized the section. */
  .j4t-motion-pending :is(
    .j4t-hero__copy,.j4t-hero__visual,
    .j4t-services__head,.j4t-service-card,.j4t-service-call,
    .j4t-about__visual,.j4t-about__copy,
    .j4t-experience__visual,.j4t-experience__copy,
    .j4t-gallery__head,.j4t-gallery__item,
    .j4t-reviews__map,.j4t-reviews__content,
    .j4t-areas__title,.j4t-areas__item,
    .j4t-contact__media,.j4t-contact__form,
    .j4t-pricing__copy,.j4t-pricing__card,.j4t-pricing__note,
    .j4t-faq__copy,.j4t-faq__media,
    .j4t-page-hero__copy,.j4t-page-hero__visual,
    .j4t-service-offer__head,.j4t-offer-card,
    .j4t-process__head,.j4t-process__card,.j4t-process__cta,
    .j4t-service-steps__head,.j4t-service-steps__card,.j4t-service-steps__cta,
    .j4t-about-detail__copy,.j4t-about-detail__visual,
    .j4t-contact-info-map__card,.j4t-contact-info-map__map-wrap,
    .j4t-service-intro__copy,.j4t-service-intro__visual
  ){
    opacity:0;
  }

  /* ---------- 01 Hero ---------- */
  .j4t-motion-in .j4t-hero__title{animation:j4tHeroDrop .82s var(--j4t-motion-ease) .20s both}
  .j4t-motion-in .j4t-hero__description{animation:j4tHeroDrop .82s var(--j4t-motion-ease) .38s both}
  .j4t-motion-in .j4t-hero__actions{animation:j4tHeroDrop .74s var(--j4t-motion-ease) .56s both}

  /* ---------- 02 Services ---------- */
  .j4t-motion-in .j4t-services__head{animation:j4tSoftUp .64s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-services__title{animation:j4tSoftUp .58s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-services__subheading{animation:j4tSoftUp .56s var(--j4t-motion-ease) .10s both}
  .j4t-motion-in .j4t-services__button{animation:j4tSoftScale .56s var(--j4t-motion-ease) .14s both}
  .j4t-motion-in .j4t-service-card{animation:j4tSoftUp .62s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-service-card:nth-child(1){animation-delay:.06s}
  .j4t-motion-in .j4t-service-card:nth-child(2){animation-delay:.12s}
  .j4t-motion-in .j4t-service-card:nth-child(3){animation-delay:.18s}
  .j4t-motion-in .j4t-service-card:nth-child(4){animation-delay:.24s}
  .j4t-motion-in .j4t-service-card:nth-child(5){animation-delay:.30s}
  .j4t-motion-in .j4t-service-call{animation:j4tSoftUp .64s var(--j4t-motion-ease) .20s both}

  /* ---------- 03 About ---------- */
  .j4t-motion-in .j4t-about__visual{animation:j4tSoftLeft .72s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-about__copy{animation:j4tSoftRight .70s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-about__large{animation:j4tSoftScale .70s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-about__small{animation:j4tSoftScale .66s var(--j4t-motion-ease) .18s both}
  .j4t-motion-in .j4t-about__support{animation:j4tSoftUp .58s var(--j4t-motion-ease) .27s both}
  .j4t-motion-in .j4t-about__eyebrow{animation:j4tSoftUp .54s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-about__title{animation:j4tSoftUp .60s var(--j4t-motion-ease) .10s both}
  .j4t-motion-in .j4t-about__description{animation:j4tSoftUp .60s var(--j4t-motion-ease) .16s both}
  .j4t-motion-in .j4t-about__check{animation:j4tSoftUp .52s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-about__check:nth-child(1){animation-delay:.20s}
  .j4t-motion-in .j4t-about__check:nth-child(2){animation-delay:.25s}
  .j4t-motion-in .j4t-about__check:nth-child(3){animation-delay:.30s}
  .j4t-motion-in .j4t-about__check:nth-child(4){animation-delay:.35s}
  .j4t-motion-in .j4t-about__button{animation:j4tSoftScale .54s var(--j4t-motion-ease) .38s both}

  /* ---------- 04 Experience ---------- */
  .j4t-motion-in .j4t-experience__visual{animation:j4tSoftLeft .72s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-experience__copy{animation:j4tSoftRight .70s var(--j4t-motion-ease) .03s both}
  .j4t-motion-in .j4t-experience__photo--main{animation:j4tSoftScale .68s var(--j4t-motion-ease) .07s both}
  .j4t-motion-in .j4t-experience__photo--small{animation:j4tSoftScale .64s var(--j4t-motion-ease) .19s both}
  .j4t-motion-in .j4t-experience__title{animation:j4tSoftUp .60s var(--j4t-motion-ease) .06s both}
  .j4t-motion-in .j4t-experience__description{animation:j4tSoftUp .58s var(--j4t-motion-ease) .12s both}
  .j4t-motion-in .j4t-experience__item{animation:j4tSoftUp .58s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-experience__item:nth-child(1){animation-delay:.17s}
  .j4t-motion-in .j4t-experience__item:nth-child(2){animation-delay:.23s}
  .j4t-motion-in .j4t-experience__item:nth-child(3){animation-delay:.29s}
  .j4t-motion-in .j4t-experience__item:nth-child(4){animation-delay:.35s}

  /* ---------- 05 Gallery ---------- */
  .j4t-motion-in .j4t-gallery__head{animation:j4tSoftUp .64s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-gallery__title{animation:j4tSoftUp .56s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-gallery__description{animation:j4tSoftUp .58s var(--j4t-motion-ease) .11s both}
  .j4t-motion-in .j4t-gallery__item{animation:j4tSoftScale .62s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-gallery__item:nth-child(1){animation-delay:.08s}
  .j4t-motion-in .j4t-gallery__item:nth-child(2){animation-delay:.14s}
  .j4t-motion-in .j4t-gallery__item:nth-child(3){animation-delay:.20s}
  .j4t-motion-in .j4t-gallery__item:nth-child(4){animation-delay:.26s}
  .j4t-motion-in .j4t-gallery__item:nth-child(5){animation-delay:.32s}

  /* ---------- 06 Reviews ---------- */
  .j4t-motion-in .j4t-reviews__map{animation:j4tSoftLeft .72s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-reviews__content{animation:j4tSoftRight .72s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-reviews__title{animation:j4tSoftUp .58s var(--j4t-motion-ease) .10s both}
  .j4t-motion-in .j4t-reviews__stage{animation:j4tSoftUp .60s var(--j4t-motion-ease) .17s both}
  .j4t-motion-in .j4t-reviews__controls{animation:j4tSoftUp .54s var(--j4t-motion-ease) .25s both}

  /* ---------- 07 Areas ---------- */
  .j4t-motion-in .j4t-areas__title{animation:j4tSoftUp .62s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-areas__item{animation:j4tSoftUp .50s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-areas__item:nth-child(1){animation-delay:.05s}
  .j4t-motion-in .j4t-areas__item:nth-child(2){animation-delay:.08s}
  .j4t-motion-in .j4t-areas__item:nth-child(3){animation-delay:.11s}
  .j4t-motion-in .j4t-areas__item:nth-child(4){animation-delay:.14s}
  .j4t-motion-in .j4t-areas__item:nth-child(5){animation-delay:.17s}
  .j4t-motion-in .j4t-areas__item:nth-child(6){animation-delay:.20s}
  .j4t-motion-in .j4t-areas__item:nth-child(7){animation-delay:.23s}
  .j4t-motion-in .j4t-areas__item:nth-child(8){animation-delay:.26s}
  .j4t-motion-in .j4t-areas__item:nth-child(n+9){animation-delay:.29s}

  /* ---------- 08 Contact ---------- */
  .j4t-motion-in .j4t-contact__media{animation:j4tSoftLeft .74s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-contact__form{animation:j4tSoftRight .72s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-contact__title{animation:j4tSoftUp .58s var(--j4t-motion-ease) .08s both}
  .j4t-motion-in .j4t-contact__description{animation:j4tSoftUp .56s var(--j4t-motion-ease) .14s both}
  .j4t-motion-in .j4t-contact__label{animation:j4tSoftUp .50s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-contact__label:nth-child(1){animation-delay:.18s}
  .j4t-motion-in .j4t-contact__label:nth-child(2){animation-delay:.22s}
  .j4t-motion-in .j4t-contact__label:nth-child(3){animation-delay:.26s}
  .j4t-motion-in .j4t-contact__label:nth-child(4){animation-delay:.30s}
  .j4t-motion-in .j4t-contact__label:nth-child(5){animation-delay:.34s}
  .j4t-motion-in .j4t-contact__submit{animation:j4tSoftScale .52s var(--j4t-motion-ease) .39s both}

  /* ---------- 09 Pricing ---------- */
  .j4t-motion-in .j4t-pricing__copy{animation:j4tSoftLeft .68s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-pricing__title{animation:j4tSoftUp .56s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-pricing__description{animation:j4tSoftUp .56s var(--j4t-motion-ease) .11s both}
  .j4t-motion-in .j4t-pricing__card{animation:j4tSoftUp .58s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-pricing__card:nth-child(1){animation-delay:.08s}
  .j4t-motion-in .j4t-pricing__card:nth-child(2){animation-delay:.14s}
  .j4t-motion-in .j4t-pricing__card:nth-child(3){animation-delay:.20s}
  .j4t-motion-in .j4t-pricing__card:nth-child(4){animation-delay:.26s}
  .j4t-motion-in .j4t-pricing__note{animation:j4tSoftUp .54s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-pricing__note:nth-child(1){animation-delay:.20s}
  .j4t-motion-in .j4t-pricing__note:nth-child(2){animation-delay:.26s}
  .j4t-motion-in .j4t-pricing__note:nth-child(3){animation-delay:.32s}

  /* ---------- 10 FAQ ---------- */
  .j4t-motion-in .j4t-faq__copy{animation:j4tSoftLeft .70s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-faq__media{animation:j4tSoftRight .72s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-faq__eyebrow{animation:j4tSoftUp .52s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-faq__title{animation:j4tSoftUp .58s var(--j4t-motion-ease) .11s both}
  .j4t-motion-in .j4t-faq__item{animation:j4tSoftUp .52s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-faq__item:nth-child(1){animation-delay:.16s}
  .j4t-motion-in .j4t-faq__item:nth-child(2){animation-delay:.21s}
  .j4t-motion-in .j4t-faq__item:nth-child(3){animation-delay:.26s}
  .j4t-motion-in .j4t-faq__item:nth-child(4){animation-delay:.31s}
  .j4t-motion-in .j4t-faq__item:nth-child(5){animation-delay:.36s}

  /* ---------- 11 Page Hero ---------- */
  .j4t-motion-in .j4t-page-hero__copy{animation:j4tSoftLeft .70s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-page-hero__visual{animation:j4tSoftRight .76s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-page-hero__eyebrow{animation:j4tSoftUp .52s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-page-hero__title{animation:j4tSoftUp .60s var(--j4t-motion-ease) .10s both}
  .j4t-motion-in .j4t-page-hero__description{animation:j4tSoftUp .58s var(--j4t-motion-ease) .16s both}
  .j4t-motion-in .j4t-page-hero__button{animation:j4tSoftScale .54s var(--j4t-motion-ease) .22s both}
  .j4t-motion-in .j4t-page-hero__image-wrap{animation:j4tSoftScale .72s var(--j4t-motion-ease) .11s both}
  .j4t-motion-in .j4t-page-hero__badge{animation:j4tSoftUp .58s var(--j4t-motion-ease) .26s both}

  /* ---------- 12 Service Offer Grid ---------- */
  .j4t-motion-in .j4t-service-offer__head{animation:j4tSoftUp .62s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-offer-card{animation:j4tSoftUp .60s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-offer-card:nth-child(1){animation-delay:.06s}
  .j4t-motion-in .j4t-offer-card:nth-child(2){animation-delay:.12s}
  .j4t-motion-in .j4t-offer-card:nth-child(3){animation-delay:.18s}
  .j4t-motion-in .j4t-offer-card:nth-child(4){animation-delay:.12s}
  .j4t-motion-in .j4t-offer-card:nth-child(5){animation-delay:.18s}

  /* ---------- 13 Three Step Process ---------- */
  .j4t-motion-in .j4t-process__head{animation:j4tSoftUp .64s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-process__card{animation:j4tSoftUp .60s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-process__card:nth-child(1){animation-delay:.08s}
  .j4t-motion-in .j4t-process__card:nth-child(2){animation-delay:.16s}
  .j4t-motion-in .j4t-process__card:nth-child(3){animation-delay:.24s}
  .j4t-motion-in .j4t-process__cta{animation:j4tSoftScale .54s var(--j4t-motion-ease) .28s both}

  /* ---------- 16 Shared Service Three Steps ---------- */
  .j4t-motion-in .j4t-service-steps__head{animation:j4tSoftUp .64s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-service-steps__card{animation:j4tSoftUp .60s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-service-steps__card:nth-child(1){animation-delay:.08s}
  .j4t-motion-in .j4t-service-steps__card:nth-child(2){animation-delay:.16s}
  .j4t-motion-in .j4t-service-steps__card:nth-child(3){animation-delay:.24s}
  .j4t-motion-in .j4t-service-steps__cta{animation:j4tSoftScale .54s var(--j4t-motion-ease) .28s both}

  /* ---------- 17 About Detail ---------- */
  .j4t-motion-in .j4t-about-detail__copy{animation:j4tSoftLeft .70s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-about-detail__visual{animation:j4tSoftRight .74s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-about-detail__eyebrow{animation:j4tSoftUp .52s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-about-detail__title{animation:j4tSoftUp .60s var(--j4t-motion-ease) .10s both}
  .j4t-motion-in .j4t-about-detail__description{animation:j4tSoftUp .58s var(--j4t-motion-ease) .16s both}
  .j4t-motion-in .j4t-about-detail__highlight{animation:j4tSoftUp .52s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-about-detail__highlight:nth-child(1){animation-delay:.20s}
  .j4t-motion-in .j4t-about-detail__highlight:nth-child(2){animation-delay:.25s}
  .j4t-motion-in .j4t-about-detail__highlight:nth-child(3){animation-delay:.30s}
  .j4t-motion-in .j4t-about-detail__highlight:nth-child(4){animation-delay:.35s}
  .j4t-motion-in .j4t-about-detail__button{animation:j4tSoftScale .54s var(--j4t-motion-ease) .38s both}
  .j4t-motion-in .j4t-about-detail__image-main{animation:j4tSoftScale .70s var(--j4t-motion-ease) .08s both}
  .j4t-motion-in .j4t-about-detail__image-secondary{animation:j4tSoftScale .66s var(--j4t-motion-ease) .20s both}
  .j4t-motion-in .j4t-about-detail__support{animation:j4tSoftUp .56s var(--j4t-motion-ease) .29s both}

  /* ---------- 18 Contact Info & Map ---------- */
  .j4t-motion-in .j4t-contact-info-map__card{animation:j4tSoftUp .58s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-contact-info-map__card:nth-child(1){animation-delay:.05s}
  .j4t-motion-in .j4t-contact-info-map__card:nth-child(2){animation-delay:.12s}
  .j4t-motion-in .j4t-contact-info-map__card:nth-child(3){animation-delay:.19s}
  .j4t-motion-in .j4t-contact-info-map__card:nth-child(n+4){animation-delay:.24s}
  .j4t-motion-in .j4t-contact-info-map__map-wrap{animation:j4tSoftUp .66s var(--j4t-motion-ease) .18s both}

  /* ---------- 33 Service Intro / Collage ---------- */
  .j4t-motion-in .j4t-service-intro__copy{animation:j4tSoftLeft .70s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-service-intro__visual{animation:j4tSoftRight .74s var(--j4t-motion-ease) .05s both}
  .j4t-motion-in .j4t-service-intro__eyebrow{animation:j4tSoftUp .52s var(--j4t-motion-ease) .04s both}
  .j4t-motion-in .j4t-service-intro__title{animation:j4tSoftUp .60s var(--j4t-motion-ease) .10s both}
  .j4t-motion-in .j4t-service-intro__description{animation:j4tSoftUp .58s var(--j4t-motion-ease) .16s both}
  .j4t-motion-in .j4t-service-intro__notice{animation:j4tSoftUp .56s var(--j4t-motion-ease) .22s both}
  .j4t-motion-in .j4t-service-intro__button{animation:j4tSoftScale .54s var(--j4t-motion-ease) .28s both}
  .j4t-motion-in .j4t-service-intro__photo--main{animation:j4tSoftScale .68s var(--j4t-motion-ease) .08s both}
  .j4t-motion-in .j4t-service-intro__photo--bottom{animation:j4tSoftScale .62s var(--j4t-motion-ease) .18s both}
  .j4t-motion-in .j4t-service-intro__badge{animation:j4tSoftUp .54s var(--j4t-motion-ease) .30s both}

  /* ---------- Micro interactions ---------- */
  .j4t-hero__button,.j4t-services__button,.j4t-about__button,.j4t-about-detail__button,.j4t-contact__submit,
  .j4t-reviews__arrow,.j4t-gallery__arrow{
    will-change:transform;
  }
  .j4t-hero__button:hover,.j4t-services__button:hover,.j4t-about__button:hover,.j4t-about-detail__button:hover,.j4t-contact__submit:hover{
    transform:translateY(-2px);
  }
  .j4t-hero__service-card,.j4t-about__support,.j4t-experience__item,.j4t-pricing__card,.j4t-service-call{
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
  }
  .j4t-hero__service-card:hover,.j4t-about__support:hover,.j4t-experience__item:hover,.j4t-pricing__card:hover{
    transform:translateY(-4px);
  }
  .j4t-service-card{transition:transform .28s ease,box-shadow .28s ease}
  .j4t-service-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(16,34,77,.13)}
  .j4t-gallery__item{transition:box-shadow .28s ease}
  .j4t-gallery__item:hover{box-shadow:0 18px 38px rgba(16,34,77,.12)}
  .j4t-faq__item{transition:background-color .22s ease,border-color .22s ease,transform .22s ease}
  .j4t-faq__item:hover{transform:translateY(-1px)}
}

/* Tablet / mobile: all entrances become vertical to prevent horizontal overflow. */
@media (max-width:1024px) and (prefers-reduced-motion:no-preference){
  :root{--j4t-motion-distance:16px;--j4t-motion-duration:.60s}
  .j4t-motion-in :is(
    .j4t-hero__copy,.j4t-hero__visual,
    .j4t-about__visual,.j4t-about__copy,
    .j4t-experience__visual,.j4t-experience__copy,
    .j4t-reviews__map,.j4t-reviews__content,
    .j4t-contact__media,.j4t-contact__form,
    .j4t-pricing__copy,
    .j4t-faq__copy,.j4t-faq__media,
    .j4t-page-hero__copy,.j4t-page-hero__visual,
    .j4t-service-offer__head,.j4t-offer-card,
    .j4t-process__head,.j4t-process__card,.j4t-process__cta,
    .j4t-service-steps__head,.j4t-service-steps__card,.j4t-service-steps__cta,
    .j4t-about-detail__copy,.j4t-about-detail__visual,
    .j4t-contact-info-map__card,.j4t-contact-info-map__map-wrap,
    .j4t-service-intro__copy,.j4t-service-intro__visual
  ){
    animation-name:j4tSoftUp;
  }
}

@media (max-width:767px) and (prefers-reduced-motion:no-preference){
  :root{--j4t-motion-distance:13px;--j4t-motion-duration:.54s}
  /* Keep mobile stagger restrained so the page never feels slow. */
  .j4t-motion-in .j4t-service-card:nth-child(n),
  .j4t-motion-in .j4t-gallery__item:nth-child(n),
  .j4t-motion-in .j4t-areas__item:nth-child(n),
  .j4t-motion-in .j4t-faq__item:nth-child(n),
  .j4t-motion-in .j4t-offer-card:nth-child(n),
  .j4t-motion-in .j4t-process__card:nth-child(n),
  .j4t-motion-in .j4t-service-steps__card:nth-child(n){animation-delay:.08s}

}

@media (prefers-reduced-motion:reduce){
  .j4t-hero *, .j4t-services *, .j4t-about *, .j4t-experience *, .j4t-gallery *,
  .j4t-reviews *, .j4t-areas *, .j4t-contact *, .j4t-pricing *, .j4t-faq *,
  .j4t-page-hero *, .j4t-service-offer *, .j4t-process *, .j4t-service-steps *, .j4t-service-intro *{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* ---------- 20–22 Homepage expansion widgets ---------- */
@media (prefers-reduced-motion:no-preference){
  .j4t-motion-pending :is(.j4t-take__head,.j4t-take__card,.j4t-directory__head,.j4t-directory__group,.j4t-sameday__copy,.j4t-sameday__actions){opacity:0}
  .j4t-motion-in .j4t-take__head,.j4t-motion-in .j4t-directory__head,.j4t-motion-in .j4t-sameday__copy{animation:j4tSoftUp .62s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-take__card{animation:j4tSoftUp .58s var(--j4t-motion-ease) both}
  .j4t-motion-in .j4t-take__card:nth-child(2){animation-delay:.05s}.j4t-motion-in .j4t-take__card:nth-child(3){animation-delay:.10s}.j4t-motion-in .j4t-take__card:nth-child(4){animation-delay:.15s}.j4t-motion-in .j4t-take__card:nth-child(5){animation-delay:.20s}.j4t-motion-in .j4t-take__card:nth-child(6){animation-delay:.25s}.j4t-motion-in .j4t-take__card:nth-child(7){animation-delay:.30s}.j4t-motion-in .j4t-take__card:nth-child(8){animation-delay:.35s}
  .j4t-motion-in .j4t-directory__group{animation:j4tSoftUp .62s var(--j4t-motion-ease) both}.j4t-motion-in .j4t-directory__group:nth-child(2){animation-delay:.10s}
  .j4t-motion-in .j4t-sameday__actions{animation:j4tSoftRight .62s var(--j4t-motion-ease) .08s both}
}


/* ---------- 34–36 Service page premium entrance motion ---------- */
/*
 * These three widgets sit together on the new service-page template, so their
 * entrances are coordinated: the process cards arrive in a soft wave, the
 * insight block reveals image + copy from opposite sides, and the reasons
 * cards rise in a restrained cascade.  `backwards` fill keeps hover transforms
 * available once the entrance has finished.
 */
@keyframes j4tProcessHeadIn{
  0%{opacity:0;transform:translate3d(0,26px,0);filter:blur(3px)}
  100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes j4tProcessCardIn{
  0%{opacity:0;transform:translate3d(0,34px,0) scale(.965)}
  68%{opacity:1;transform:translate3d(0,-3px,0) scale(1.006)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes j4tProcessIconPop{
  0%{opacity:0;transform:scale(.68) rotate(-7deg)}
  72%{opacity:1;transform:scale(1.07) rotate(1deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes j4tProcessLineGrow{
  0%{opacity:0;transform:scaleX(0)}
  100%{opacity:1;transform:scaleX(1)}
}
@keyframes j4tProcessNumberIn{
  0%{opacity:0;transform:translate3d(12px,-8px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes j4tInsightVisualLeft{
  0%{opacity:0;transform:translate3d(-38px,18px,0) scale(.965)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes j4tInsightVisualRight{
  0%{opacity:0;transform:translate3d(38px,18px,0) scale(.965)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes j4tInsightCopyLeft{
  0%{opacity:0;transform:translate3d(-30px,10px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes j4tInsightCopyRight{
  0%{opacity:0;transform:translate3d(30px,10px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes j4tInsightAccentIn{
  0%{opacity:0;transform:translate3d(-10px,18px,0) scale(.78)}
  100%{opacity:.95;transform:translate3d(0,0,0) scale(1)}
}
@keyframes j4tInsightMediaIn{
  0%{opacity:0;transform:scale(.94);clip-path:inset(7% 7% 7% 7% round 26px)}
  100%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0 round 22px)}
}
@keyframes j4tInsightBadgeIn{
  0%{opacity:0;transform:translate3d(0,18px,0) scale(.86)}
  72%{opacity:1;transform:translate3d(0,-3px,0) scale(1.025)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes j4tInsightSmallUp{
  0%{opacity:0;transform:translate3d(0,18px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes j4tReasonsHeadIn{
  0%{opacity:0;transform:translate3d(0,25px,0);filter:blur(2.5px)}
  100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes j4tReasonCardIn{
  0%{opacity:0;transform:translate3d(0,32px,0) scale(.972)}
  72%{opacity:1;transform:translate3d(0,-3px,0) scale(1.004)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes j4tReasonIconIn{
  0%{opacity:0;transform:translate3d(-8px,6px,0) scale(.72) rotate(-6deg)}
  75%{opacity:1;transform:translate3d(0,0,0) scale(1.06) rotate(1deg)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}
}
@keyframes j4tReasonCheckIn{
  0%{opacity:0;transform:scale(.45) rotate(-35deg)}
  75%{opacity:1;transform:scale(1.12) rotate(4deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes j4tReasonLineIn{
  0%{opacity:0;transform:scaleX(0)}
  100%{opacity:1;transform:scaleX(1)}
}

@media (prefers-reduced-motion:no-preference){
  /* Keep only the main groups hidden before IntersectionObserver reveals them. */
  .j4t-icon-process.j4t-motion-pending .j4t-icon-process__head,
  .j4t-icon-process.j4t-motion-pending .j4t-icon-process__card,
  .j4t-service-insight.j4t-motion-pending .j4t-service-insight__visual,
  .j4t-service-insight.j4t-motion-pending .j4t-service-insight__content,
  .j4t-service-reasons.j4t-motion-pending .j4t-service-reasons__head,
  .j4t-service-reasons.j4t-motion-pending .j4t-service-reasons__card{
    opacity:0;
  }

  /* 34 — Icon Process: header first, then a clean four-card wave. */
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__head{
    animation:j4tProcessHeadIn .70s cubic-bezier(.2,.74,.25,1) .02s backwards;
  }
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__card{
    animation:j4tProcessCardIn .76s cubic-bezier(.2,.78,.25,1) backwards;
    animation-delay:calc(.10s + var(--j4t-process-delay,0ms));
  }
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__icon-wrap{
    animation:j4tProcessIconPop .62s cubic-bezier(.2,.86,.28,1.18) backwards;
    animation-delay:calc(.22s + var(--j4t-process-delay,0ms));
  }
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__number{
    animation:j4tProcessNumberIn .56s ease-out backwards;
    animation-delay:calc(.18s + var(--j4t-process-delay,0ms));
  }
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__mini-line{
    transform-origin:left center;
    animation:j4tProcessLineGrow .48s ease-out backwards;
    animation-delay:calc(.30s + var(--j4t-process-delay,0ms));
  }

  /* 35 — Service Insight: visual and copy meet in the middle. */
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__visual{
    animation:j4tInsightVisualLeft .82s cubic-bezier(.2,.75,.25,1) .03s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__content{
    animation:j4tInsightCopyRight .76s cubic-bezier(.2,.75,.25,1) .08s backwards;
  }
  .j4t-service-insight--image-right.j4t-motion-in .j4t-service-insight__visual{
    animation-name:j4tInsightVisualRight;
  }
  .j4t-service-insight--image-right.j4t-motion-in .j4t-service-insight__content{
    animation-name:j4tInsightCopyLeft;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__accent{
    transform-origin:left bottom;
    animation:j4tInsightAccentIn .72s cubic-bezier(.2,.78,.28,1) .08s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__media{
    animation:j4tInsightMediaIn .82s cubic-bezier(.2,.76,.24,1) .12s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__badge{
    animation:j4tInsightBadgeIn .66s cubic-bezier(.2,.86,.28,1.14) .42s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__eyebrow{
    animation:j4tInsightSmallUp .52s ease-out .18s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__title{
    animation:j4tInsightSmallUp .60s cubic-bezier(.2,.72,.3,1) .23s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__description{
    animation:j4tInsightSmallUp .58s ease-out .30s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__callout{
    animation:j4tInsightSmallUp .54s ease-out .37s backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__proof{
    animation:j4tInsightSmallUp .54s ease-out backwards;
  }
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__proof:nth-child(1){animation-delay:.43s}
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__proof:nth-child(2){animation-delay:.50s}
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__proof:nth-child(n+3){animation-delay:.56s}

  /* 36 — Service Reasons: premium cascade across both rows. */
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__head{
    animation:j4tReasonsHeadIn .68s cubic-bezier(.2,.74,.25,1) .02s backwards;
  }
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__card{
    animation:j4tReasonCardIn .74s cubic-bezier(.2,.78,.25,1) backwards;
    animation-delay:calc(.10s + var(--j4t-reasons-delay,0ms));
  }
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__icon{
    animation:j4tReasonIconIn .60s cubic-bezier(.2,.86,.28,1.14) backwards;
    animation-delay:calc(.23s + var(--j4t-reasons-delay,0ms));
  }
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__check{
    animation:j4tReasonCheckIn .48s cubic-bezier(.2,.9,.32,1.18) backwards;
    animation-delay:calc(.30s + var(--j4t-reasons-delay,0ms));
  }
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__line{
    transform-origin:left bottom;
    animation:j4tReasonLineIn .50s ease-out backwards;
    animation-delay:calc(.34s + var(--j4t-reasons-delay,0ms));
  }

  .j4t-icon-process__head,.j4t-icon-process__card,.j4t-icon-process__icon-wrap,
  .j4t-service-insight__visual,.j4t-service-insight__content,.j4t-service-insight__media,.j4t-service-insight__badge,
  .j4t-service-reasons__head,.j4t-service-reasons__card,.j4t-service-reasons__icon{
    will-change:transform,opacity;
  }
}

/* On smaller screens keep the movement vertical and the stagger quick. */
@media (max-width:1024px) and (prefers-reduced-motion:no-preference){
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__visual,
  .j4t-service-insight--image-right.j4t-motion-in .j4t-service-insight__visual,
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__content,
  .j4t-service-insight--image-right.j4t-motion-in .j4t-service-insight__content{
    animation-name:j4tProcessCardIn;
  }
}
@media (max-width:767px) and (prefers-reduced-motion:no-preference){
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__card,
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__card{
    animation-delay:.08s;
  }
  .j4t-icon-process.j4t-motion-in .j4t-icon-process__icon-wrap,
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__icon{
    animation-delay:.18s;
  }
  .j4t-service-reasons.j4t-motion-in .j4t-service-reasons__check{animation-delay:.24s}
  .j4t-service-insight.j4t-motion-in .j4t-service-insight__badge{animation-delay:.30s}
}
