/**
 * Jaycess — scroll reveal & motion (respects prefers-reduced-motion).
 */

.jci-motion .jci-reveal,
.jci-motion [data-jci-reveal] {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition:
		opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--reveal-delay, 0s);
	will-change: opacity, transform;
}

.jci-motion .jci-reveal.is-revealed,
.jci-motion [data-jci-reveal].is-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.jci-motion .jci-reveal--fade {
	transform: none;
}

.jci-motion .jci-reveal--scale {
	transform: translate3d(0, 16px, 0) scale(0.96);
}

.jci-motion .jci-reveal--scale.is-revealed {
	transform: translate3d(0, 0, 0) scale(1);
}

.jci-motion .jci-reveal--left {
	transform: translate3d(-24px, 0, 0);
}

.jci-motion .jci-reveal--up {
	transform: translate3d(0, 36px, 0);
}

.jci-motion .jci-reveal-stagger > * {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	transition:
		opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: calc(var(--reveal-i, 0) * 0.07s + var(--reveal-delay, 0s));
}

.jci-motion .jci-reveal-stagger.is-revealed > * {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* Hero slider — content enters on each active slide */
.jci-motion .slide-item.active .slide-title,
.jci-motion .slide-item.active .slide-desc,
.jci-motion .slide-item.active .slide-buttons .button {
	animation: jciHeroContentIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.jci-motion .slide-item.active .slide-desc {
	animation-delay: 0.1s;
}

.jci-motion .slide-item.active .slide-buttons .button:nth-child(1) {
	animation-delay: 0.2s;
}

.jci-motion .slide-item.active .slide-buttons .button:nth-child(2) {
	animation-delay: 0.28s;
}

@keyframes jciHeroContentIn {
	from {
		opacity: 0;
		transform: translate3d(0, 32px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* Page heroes — immediate entrance */
.jci-motion .jci-page-hero .jci-page-hero__eyebrow,
.jci-motion .jci-page-hero .jci-page-hero__title,
.jci-motion .jci-page-hero .jci-page-hero__lead,
.jci-motion .jci-gallery-page-hero__title,
.jci-motion .jci-gallery-page-hero__breadcrumb,
.jci-motion .jci-blog-page-hero__title,
.jci-motion .jci-blog-page-hero__breadcrumb,
.jci-motion .jci-events-page-hero__eyebrow,
.jci-motion .jci-events-page-hero__title,
.jci-motion .jci-events-page-hero__intro,
.jci-motion .jci-events-page-hero__breadcrumb,
.jci-motion .jci-contact-hero__title,
.jci-motion .jci-contact-hero__breadcrumb,
.jci-motion .jci-single-post-hero__category,
.jci-motion .jci-single-post-hero__meta,
.jci-motion .jci-blog-page-hero__eyebrow,
.jci-motion .jci-events-page-hero--compact .jci-events-page-hero__breadcrumb,
.jci-motion .jci-events-page-hero--compact .jci-events-page-hero__title,
.jci-motion .jci-events-page-hero--compact .jci-event-single-meta {
	animation: jciHeroContentIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.jci-motion .jci-page-hero .jci-page-hero__title,
.jci-motion .jci-gallery-page-hero__title,
.jci-motion .jci-blog-page-hero__title,
.jci-motion .jci-events-page-hero__title,
.jci-motion .jci-contact-hero__title {
	animation-delay: 0.06s;
}

.jci-motion .jci-page-hero .jci-page-hero__lead,
.jci-motion .jci-events-page-hero__intro {
	animation-delay: 0.14s;
}

/* Section headers */
.jci-motion .section-badge,
.jci-motion .board-section-subtitle,
.jci-motion .news-section-subtitle,
.jci-motion .pres-letter-section-subtitle,
.jci-motion .jci-gallery-eyebrow {
	display: inline-block;
}

/* Cards lift on reveal */
.jci-motion .pride-card.is-child-revealed,
.jci-motion .direction-card.is-child-revealed,
.jci-motion .event-card.is-child-revealed,
.jci-motion .jci-event-slide.is-child-revealed,
.jci-motion .news-card.is-child-revealed {
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.jci-motion .pride-card.is-child-revealed:hover,
.jci-motion .direction-card.is-child-revealed:hover,
.jci-motion .event-card.is-child-revealed:hover,
.jci-motion .jci-event-slide.is-child-revealed:hover,
.jci-motion .news-card.is-child-revealed:hover {
	transform: translateY(-4px);
}

/* Footer wave subtle fade */
.jci-motion .footer-wave-top {
	animation: jciFadeIn 1s ease 0.2s both;
}

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

/* Section transition ornament */
.jci-motion .jci-section-transition__ornament {
	animation: jciFadeIn 0.8s ease 0.35s both;
}

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

	.jci-motion .slide-item.active .slide-title,
	.jci-motion .slide-item.active .slide-desc,
	.jci-motion .slide-item.active .slide-buttons .button {
		animation: none !important;
	}
}
