@media (max-width: 990px) {
	#amour-elementor-site .page-item.services.onload g.service{
		animation: none !important;
	}

	#amour-elementor-site .page-item.services .scroll-headline-inner{
		height: 200px;
	}

	#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line .anim-contain.onload-anim{
		animation: none !important;
	}
}

/* Hero Section */

@keyframes heroLoadAnim {
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}

#amour-elementor-site #hero.onload{
	animation: heroLoadAnim 1s;
}

#amour-elementor-site .page-item.hero.onload .hero-img-contain{
	transform-origin: 100% 50%;
}

#amour-elementor-site .page-item.hero.onload .text-contain{
	transform-origin: 100% 50%;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.hero.onload #booking-btn{
	animation: hero-booking-cta-fade 0.6s ease 450ms both;
}

@keyframes hero-booking-cta-fade {
	from{
		opacity: 0;
	}

	to{
		opacity: 1;
	}
}

/* Gallery */

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

#amour-elementor-site .home-gallery{
	opacity: 0;
}

#amour-elementor-site .home-gallery.onload{
	opacity: 1;
}

#amour-elementor-site .home-gallery.onload .main-li,
#amour-elementor-site .home-gallery.onload .home-gallery__description{
	animation: homeGalleryHeaderLoad 0.5s ease !important;
	animation-fill-mode: forwards;
}

#amour-elementor-site .home-gallery .home-gallery__description{
	opacity: 0;
}

#amour-elementor-site .home-gallery.onload .home-gallery__description{
	animation-delay: 200ms !important; 
	animation-fill-mode: forwards !important;
}

#amour-elementor-site .home-gallery .home-gallery__grid{
	opacity: 0;
}

#amour-elementor-site .home-gallery.onload .home-gallery__grid{
	animation: homeGalleryHeaderLoad 0.5s ease !important;
	animation-fill-mode: forwards !Important;
	animation-delay: 350ms !important;
}

/* Testimonials */
#amour-elementor-site .testimonials .testimonials-heading-wrap{
	opacity: 0;
}

#amour-elementor-site .testimonials.onload .testimonials-heading-wrap{
	animation: homeGalleryHeaderLoad 0.5s ease !important;
	animation-fill-mode: forwards !important;
}

#amour-elementor-site .testimonials .testimonial-pagination{
	opacity: 0;
}

#amour-elementor-site .testimonials.onload .testimonial-pagination{
	animation: homeGalleryHeaderLoad 0.5s ease !important;
	animation-fill-mode: forwards !important;
	animation-delay: 300ms !important;
}

/* Services  */

#amour-elementor-site .page-item.services.onload #show-more-serv{
	animation: services-desc-reveal 0.6s 330ms both;
}

@keyframes show-more-serv-fade {
	from{
		opacity: 0;
	}

	to{
		opacity: 1;
	}
}

#amour-elementor-site .page-item.services.post-load .headline-contain{
	opacity: 1 !important;
}

#amour-elementor-site .page-item.services.post-load .services-img-contain{
	opacity: 1 !important;
}

#amour-elementor-site .page-item.services.post-load .scroll-headline-inner 
	.service{
		opacity: 1 !important;
}

#amour-elementor-site .page-item.services.post-load .tr-anim-contain path.ol{
		opacity: 0 !important;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service g.anim-contain{
	
	width: 10px;
	overflow: hidden;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service{
		opacity: 0;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service.ol{
	opacity: 1 !important;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner{
	animation: services-hl-contain-anim 0.7s ease-out;
}	

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line .anim-contain.onload-anim{
	animation: services-hl-anim 0.7s ease;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line .anim-contain .ol{
	opacity: 0;
	transition: 0.5s;
	z-index: -1;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line .anim-contain.onload-anim .ol{
	opacity: 1 !important;
	transition: 0s;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line:nth-of-type(2) .anim-contain.onload-anim{
	animation-delay: 100ms;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line .ol{
	fill: none;
	stroke: grey;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner 
	.service .line .anim-contain.onload-anim .ol{
	stroke-dasharray: 0px;
	stroke-dashoffset: 0px;

	animation: 
		services-hl-anim-ol 0.8s ease;
	animation-fill-mode: forwards;
}	

#amour-elementor-site .page-item.services.onload .spaced-label{
	animation: services-spaced-label 0.5s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.onload .scroll-headline-inner
	.service.ol .line:nth-of-type(2) .anim-contain.onload-anim .ol{
	stroke-dasharray: 860px;
	stroke-dashoffset: 860px;

	animation-delay: 100ms;
}	

#amour-elementor-site .page-item.services.onload .headline-contain{
	opacity: 1;
}

#amour-elementor-site .page-item.services.onload .subject-line-contain{
	opacity: 0;
	animation: services-desc-reveal 0.6s 330ms;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.onload .subject-line > .service-copy.c1{
	opacity: 1 !important;
}

#amour-elementor-site .page-item.services.onload .services-img-contain{
	opacity: 0;
	animation: services-img-reveal 0.6s 150ms;
	animation-fill-mode: forwards;
}

/* About */

#amour-elementor-site .page-item.about .about-img,
#amour-elementor-site .page-item.about .headline-contain > .headline,
#amour-elementor-site .page-item.about .subject-line{
	opacity: 0;
}

#amour-elementor-site .page-item.about.onload .about-img{
	animation: about-img-onload 0.5s;
	animation-fill-mode: forwards;
	margin-left: -50px;
}

#amour-elementor-site .page-item.about.onload .headline-contain > .headline:not(.scroll-headline){
	animation: about-text-onload 0.5s;
	animation-delay: 80ms;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.about.onload .scroll-headline{
	animation: about-headline-onload 0.7s;
	animation-delay: 250ms;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.about.onload .subject-line{
	animation: about-subject-onload 0.5s;
	animation-delay: 190ms;
	animation-fill-mode: forwards;
}

@keyframes about-headline-onload {
	from{
		transform: translateX(82px) translateY(60px) scale(1);
		opacity: 0;
	}

	to{
		transform: translateX(-82px) translateY(60px) scale(1);
		opacity: 0.2;
	}
}

@keyframes about-subject-onload {
	from{
		opacity: 0;
		transform: translateX(12px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes about-text-onload {
	from{
		opacity: 0;
		transform: translateX(20px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes about-img-onload {
	from{
		opacity: 0;
		transform: translateX(-20px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

/* Service Body Default */
#amour-elementor-site .page-item.services .subject-line{
	position: relative;
}

#amour-elementor-site .page-item.services .subject-line > div{
	position: absolute !important;
	top: 0 !important;
	opacity: 0;
}

/* Service Body #2 */
#amour-elementor-site .page-item.services.c2 .subject-line .c1{
	animation: services-body-left 0.4s;
	animation-fill-mode: forwards;
}

/* ON ENTER BACK */
#amour-elementor-site .page-item.services.c1.oe .subject-line .c2{
	animation: services-body-left 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c1.oe .subject-line .c1{
	animation: services-body-right 0.4s;
	animation-fill-mode: forwards;
}

/* Service Body #3 */
#amour-elementor-site .page-item.services.c2 .subject-line .c2{
	animation: services-body-right 0.4s;
	animation-fill-mode: forwards;
}

/* ON ENTER BACK */
#amour-elementor-site .page-item.services.c2.oe .subject-line .c3{
	animation: services-body-left 0.4s !important;
	animation-fill-mode: forwards;
}

/* Service Body #4 */
#amour-elementor-site .page-item.services.c3 .subject-line .c2{
	animation: services-body-left 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c3 .subject-line .c3{
	animation: services-body-right 0.4s;
	animation-fill-mode: forwards;
}
/* ON ENTER BACK */
#amour-elementor-site .page-item.services.c3.oe .subject-line .c2{
	animation: services-body-right 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c3.oe .subject-line .c3{
	animation: services-body-left 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c2.oe .subject-line .c1{
	opacity: 0 !important;
}


/* Service Headline Default */
#amour-elementor-site .page-item.services .line .anim-contain.c2 .tr-anim-contain{
	transform: translateY(-108px);
	animation-fill-mode: forwards;
}

/* Service Headline #2 */
#amour-elementor-site .page-item.services.c2 .line .anim-contain.c1 .tr-anim-contain{
	animation: services-h1-down 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c2 .line .anim-contain.c2 .tr-anim-contain{
	animation: services-h1-up 0.4s;
	animation-fill-mode: forwards;
}

/* Service Headline #3 */
#amour-elementor-site .page-item.services .line .anim-contain.c3 .tr-anim-contain{
	transform: translateY(-108px);
}

#amour-elementor-site .page-item.services.c3 .line .anim-contain.c1 .tr-anim-contain{
	opacity: 0;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c3 .line .anim-contain.c2 .tr-anim-contain{
	animation: services-h1-down 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c3 .line .anim-contain.c3 .tr-anim-contain{
	animation: services-h1-up 0.4s;
	animation-fill-mode: forwards;
}

/* ON ENTER BACK */
#amour-elementor-site .page-item.services.c1.oe .line .anim-contain.c1 .tr-anim-contain{
	animation: services-h1-up 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c1.oe .line .anim-contain.c2 .tr-anim-contain{
	animation: services-h1-down 0.4s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.services.c2.oe .line .anim-contain.c1 .tr-anim-contain{
	opacity: 0 !important;
}

#amour-elementor-site .page-item.services.c2.oe .line .anim-contain.c3 .tr-anim-contain{
	animation: services-h1-down 0.4s;
	animation-fill-mode: forwards;
}


/* Contact */
#amour-elementor-site .page-item.contact .headline-contain,
#amour-elementor-site .page-item.contact .subject-line,
#amour-elementor-site .page-item.contact .sub-headline,
#amour-elementor-site .page-item.contact .links,
#amour-elementor-site .page-item.contact .contact-form{
	opacity: 0;
}

#amour-elementor-site .page-item.contact.onload .headline-contain{
	animation: contact-tc-onload 0.5s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.contact.onload .subject-line{
	animation: contact-subject-onload 0.5s;
	animation-fill-mode: forwards;
	animation-delay: 190ms;
}

#amour-elementor-site .page-item.contact.onload .sub-headline{
	animation: contact-subhead-onload 0.5s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.contact.onload .links{
	animation: contact-socials-onload 0.5s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.contact.onload .contact-form{
	animation: contact-form-onload 0.5s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.contact .contact-form.form-finish{
	animation: contact-form-finish 0.5s ease;
	pointer-events: none;
	opacity: 0;
}

#amour-elementor-site .page-item.contact .contact-form-inner .form-finish-message{
	animation-fill-mode: forwards;
	opacity: 0;
	pointer-events: visible;
}

#amour-elementor-site .page-item.contact .contact-form-inner .form-finish-message.form-finish{
	animation: contact-form-finish-b 0.5s ease;
	animation-fill-mode: forwards;
	pointer-events: visible !important;
}

@keyframes contact-form-finish {
	from{
		transform: translateX(0px);
		opacity: 1;
	}
	to{
		transform: translateX(-20px);
		opacity: 0;
	}
}

@keyframes contact-form-finish-b {
	from{
		transform: translateX(20px);
		opacity: 0;
	}
	to{
		transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes contact-form-onload {
	from{
		transform: translateX(20px);
		opacity: 0;
	}
	to{
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes contact-socials-onload {
	from{
		opacity: 0;
		transform: translateX(-10px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes contact-subhead-onload {
	from{
		opacity: 0;
		transform: translateX(-12px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes contact-subject-onload {
	from{
		opacity: 0;
		transform: translateX(-12px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes contact-tc-onload {
	from{
		transform: translateX(-20px);
		opacity: 0;
	}
	to{
		transform: translateX(0);
		opacity: 1;
	}
}

/* Testimonials */
#amour-elementor-site .page-item.testimonials .headline-contain,
#amour-elementor-site .page-item.testimonials .subject-line,
#amour-elementor-site .page-item.testimonials .reviews{
	opacity: 0;
}

#amour-elementor-site .page-item.testimonials.onload .headline-contain{
	animation: testimonials-text-onload 0.6s;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.testimonials.onload .subject-line{
	animation: testimonials-text-onload 0.6s;
	animation-fill-mode: forwards;
	animation-delay: 100ms;
}

#amour-elementor-site .page-item.testimonials.onload .reviews{
	animation: testimonials-reviews-onload 0.5s;
	animation-fill-mode: forwards;
	animation-delay: 250ms;
}

@keyframes testimonials-reviews-onload {
	from{
		transform: translateY(25px);
		opacity: 0;
	}

	to{
		transform: translateY(0px);
		opacity: 1;
	}
}

@keyframes testimonials-text-onload {
	from{
		transform: translateY(35px);
		opacity: 0;
	}

	to{
		transform: translateY(0px);
		opacity: 1;
	}
}

#amour-elementor-site .page-item.testimonials .reviews .reviews-chunk.left{
	animation: get_off 0.5s ease;
	animation-fill-mode: forwards;
}

#amour-elementor-site .page-item.testimonials .reviews .reviews-chunk.cur.right{
	animation: come_here 0.5s ease;
	animation-fill-mode: forwards;
}

@keyframes come_here {
	from{
		transform: translateX(1080px);
	}

	to{
		transform: translateX(0px);
	}
}

@keyframes get_off {
	from{
		transform: translateX(0px);
		opacity: 1;
	}

	to{
		transform: translateX(-1080px);
		opacity: 1;
	}
}

@keyframes services-body-left {
	from{
		transform: translateX(0px);
		opacity: 1;
	}

	to{
		transform: translateX(-15px);
		opacity: 0;
	}
}

@keyframes services-body-right {
	from{
		transform: translateX(15px);
		opacity: 0;
	}

	to{
		transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes services-h1-up {
	from{
		transform: translateY(-108px);
	}

	to{
		transform: translateY(0px);
	}
}

@keyframes services-h1-down {
	from{
		transform: translateY(0px);
		opacity: 1;
	}

	to{
		transform: translateY(108px);
		opacity: 0;
	}
}

@keyframes services-spaced-label {
	from{
		opacity: 0;
		transform: translateX(-10px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes services-desc-reveal {
	from{
		opacity: 0;
		transform: translateX(-30px);
	}

	to{
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes services-img-reveal {
	from{
		opacity: 0;
		transform: translateX(50px) translateY(50px);
	}

	to{
		opacity: 1;
		transform: none;
	}
}

@keyframes services-hl-reveal {
	from{
		width: 0;
	}

	to{
		width: 100px;
	}
}

@keyframes services-hl-anim-ol {
	0%{
		stroke-dasharray: 860px;
		stroke-dashoffset: 860px;
	}

	98%{
		stroke-dasharray: 860px;
		stroke-dashoffset: 0px;
	}

	100%{
		stroke-dasharray: 860px;
		stroke-dashoffset: 0px;
	}
}

@keyframes services-hl-anim {
	0%{
		transform: translateX(0px);
	}

	98%{
		transform: translateX(68px);
	}

	100%{
		transform: translateX(68px);
	}
}

@keyframes services-hl-contain-anim-mobile {
	from{
		transform: translateX(-75.9px) scale(0.94);
	}

	to{
		transform: translateX(-75.9px) scale(0.94);
	}
}

@keyframes services-hl-contain-anim {
	from{
		transform: translateX(-90px) scale(1.28);
	}

	to{
		transform: translateX(-90px) scale(1.28);
	}
}

#amour-elementor-site .form-submit.loading{
    cursor: wait;
    pointer-events: none;
}

#amour-elementor-site .submit-loading{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

#amour-elementor-site .loading-spinner{
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: submit-spin 0.7s linear infinite;
}

@keyframes submit-spin {
    to{
        transform: rotate(360deg);
    }
}

/* =========================================================
   FEATURED SERVICES — SCROLL STATE OVERRIDE
   ---------------------------------------------------------
   style.css owns the post-intro c1-c4 controller through
   .service-switch-ready + .is-active/.is-before/.is-after.

   anim.css is loaded after style.css and its older #amour-
   elementor-site service rules have enough specificity to keep
   c2/c3 at translateY(-108px). These rules explicitly hand the
   headline transforms back to the scroll-state controller after
   the one-time intro has finished.
   ========================================================= */

#amour-elementor-site .page-item.services.service-switch-ready
.headline.scroll-headline
.service
.anim-contain
.tr-anim-contain {
    animation: none !important;
    opacity: 0 !important;
    transform: translateY(-108px) !important;
    will-change: transform, opacity;
    transition:
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.4s ease;
}

#amour-elementor-site .page-item.services.service-switch-ready
.headline.scroll-headline
.service
.anim-contain.is-active
.tr-anim-contain {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

#amour-elementor-site .page-item.services.service-switch-ready
.headline.scroll-headline
.service
.anim-contain.is-before
.tr-anim-contain {
    opacity: 0 !important;
    transform: translateY(108px) !important;
}

#amour-elementor-site .page-item.services.service-switch-ready
.headline.scroll-headline
.service
.anim-contain.is-after
.tr-anim-contain {
    opacity: 0 !important;
    transform: translateY(-108px) !important;
}

#amour-elementor-site .page-item.services.service-switch-ready
.headline.scroll-headline
.service
.anim-contain.no-service-transition
.tr-anim-contain {
    transition: none !important;
}

