/**
 * Scroll Effects - Subtle Parallax & Reveal Animations
 *
 * Refined, professional scroll animations for NexioEducation.
 * Designed to be polished but not over the top.
 *
 * @package NexioEducation
 */

/* ============================================
   Smooth Scrolling
   ============================================ */

html {
	scroll-behavior: smooth;
}

/* ============================================
   Base Animation Utilities
   ============================================ */

/* Reveal animation - elements start invisible and translate up */
.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: opacity, transform;
}

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

/* Reveal from left */
.reveal-left {
	opacity: 0;
	transform: translateX(-24px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: opacity, transform;
}

.reveal-left.is-visible {
	opacity: 1;
	transform: translateX(0);
}

/* Reveal from right */
.reveal-right {
	opacity: 0;
	transform: translateX(24px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: opacity, transform;
}

.reveal-right.is-visible {
	opacity: 1;
	transform: translateX(0);
}

/* Fade only - no transform */
.reveal-fade {
	opacity: 0;
	transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: opacity;
}

.reveal-fade.is-visible {
	opacity: 1;
}

/* Scale reveal - subtle zoom */
.reveal-scale {
	opacity: 0;
	transform: scale(0.96);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: opacity, transform;
}

.reveal-scale.is-visible {
	opacity: 1;
	transform: scale(1);
}

/* ============================================
   Staggered Children Animations
   ============================================ */

/* Stagger container - children animate with delay */
.stagger-children > * {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stagger-children.is-visible > *:nth-child(1) { transition-delay: 0ms; }
.stagger-children.is-visible > *:nth-child(2) { transition-delay: 80ms; }
.stagger-children.is-visible > *:nth-child(3) { transition-delay: 160ms; }
.stagger-children.is-visible > *:nth-child(4) { transition-delay: 240ms; }
.stagger-children.is-visible > *:nth-child(5) { transition-delay: 320ms; }
.stagger-children.is-visible > *:nth-child(6) { transition-delay: 400ms; }
.stagger-children.is-visible > *:nth-child(7) { transition-delay: 480ms; }
.stagger-children.is-visible > *:nth-child(8) { transition-delay: 560ms; }

.stagger-children.is-visible > * {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Parallax Background Effect
   ============================================ */

/* Parallax container */
.parallax-bg {
	position: relative;
	overflow: hidden;
}

.parallax-bg > .wp-block-cover__image-background,
.parallax-bg > img,
.parallax-bg::before {
	will-change: transform;
	transition: transform 0.1s linear;
}

/* ============================================
   Section-Specific Scroll Effects
   ============================================ */

/* Hero section - parallax background */
.hero {
	position: relative;
	overflow: hidden;
}

.hero .wp-block-cover__image-background {
	will-change: transform;
	transform: translateY(var(--parallax-offset, 0));
	transition: transform 0.05s linear;
}

/* Page headers - subtle parallax */
.page-header {
	position: relative;
	overflow: hidden;
}

/* Hero content - fade in on load */
.hero-content,
.hero .wp-block-cover__inner-container {
	animation: heroReveal 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	animation-delay: 0.2s;
	opacity: 0;
}

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

/* ============================================
   Content Section Reveals
   ============================================ */

/* Section headings */
.sat-pricing-heading,
.sat-curriculum-heading,
.sat-intro-title,
.services-grid-title,
.team-featured-title,
.roadmap-title,
.pricing-section-title,
.pricing-tabs-title,
.process-steps-title,
.stats-highlight-title,
.values-cards-dark-title,
.benefits-grid-title,
.benefits-split-title,
.tutoring-academic-title,
.tutoring-test-prep-title,
.cta-banner-title {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.is-visible .sat-pricing-heading,
.is-visible .sat-curriculum-heading,
.is-visible .sat-intro-title,
.is-visible .services-grid-title,
.is-visible .team-featured-title,
.is-visible .roadmap-title,
.is-visible .pricing-section-title,
.is-visible .pricing-tabs-title,
.is-visible .process-steps-title,
.is-visible .stats-highlight-title,
.is-visible .values-cards-dark-title,
.is-visible .benefits-grid-title,
.is-visible .benefits-split-title,
.is-visible .tutoring-academic-title,
.is-visible .tutoring-test-prep-title,
.is-visible .page-header-title,
.is-visible .page-header-quote-text,
.is-visible .cta-banner-title,
.sat-pricing-heading.is-visible,
.sat-curriculum-heading.is-visible,
.sat-intro-title.is-visible,
.services-grid-title.is-visible,
.team-featured-title.is-visible,
.roadmap-title.is-visible,
.pricing-section-title.is-visible,
.pricing-tabs-title.is-visible,
.process-steps-title.is-visible,
.stats-highlight-title.is-visible,
.values-cards-dark-title.is-visible,
.benefits-grid-title.is-visible,
.benefits-split-title.is-visible,
.tutoring-academic-title.is-visible,
.tutoring-test-prep-title.is-visible,
.page-header-title.is-visible,
.page-header-quote-text.is-visible,
.cta-banner-title.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Services grid - animate entire block */
.services-grid {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.services-grid.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Values cards dark - animate entire block */
.values-cards-dark {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.values-cards-dark.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Features staggered - auto-animate on page load (no scroll dependency) */
@keyframes featuresStaggeredReveal {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.features-staggered {
	animation: featuresStaggeredReveal 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}

/* Card grids - staggered reveal */
.sat-pricing-cards,
.pricing-packages-grid,
.pricing-instructor-grid,
.pricing-sat-grid,
.pricing-passion-grid,
.pricing-section-alacarte,
.services-grid-cards,
.services-grid-columns,
.benefits-grid-cards,
.values-cards-dark-grid,
.process-steps-grid {
	opacity: 1;
}

.sat-pricing-card,
.pricing-package-card,
.pricing-instructor-card,
.pricing-sat-card,
.pricing-passion-card,
.pricing-alacarte-card,
.services-grid-card,
.benefits-grid-card,
.process-step {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Staggered delays for cards */
.is-visible .sat-pricing-card:nth-child(1),
.is-visible .pricing-package-card:nth-child(1),
.is-visible .pricing-instructor-card:nth-child(1),
.is-visible .pricing-sat-card:nth-child(1),
.is-visible .pricing-passion-card:nth-child(1),
.is-visible .pricing-alacarte-card:nth-child(1),
.is-visible .services-grid-card:nth-child(1),
.is-visible .benefits-grid-card:nth-child(1),
.is-visible .process-step:nth-child(1) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0ms;
}

.is-visible .sat-pricing-card:nth-child(2),
.is-visible .pricing-package-card:nth-child(2),
.is-visible .pricing-instructor-card:nth-child(2),
.is-visible .pricing-sat-card:nth-child(2),
.is-visible .pricing-passion-card:nth-child(2),
.is-visible .pricing-alacarte-card:nth-child(2),
.is-visible .services-grid-card:nth-child(2),
.is-visible .benefits-grid-card:nth-child(2),
.is-visible .process-step:nth-child(2) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 250ms;
}

.is-visible .sat-pricing-card:nth-child(3),
.is-visible .pricing-package-card:nth-child(3),
.is-visible .pricing-instructor-card:nth-child(3),
.is-visible .pricing-sat-card:nth-child(3),
.is-visible .pricing-passion-card:nth-child(3),
.is-visible .pricing-alacarte-card:nth-child(3),
.is-visible .services-grid-card:nth-child(3),
.is-visible .benefits-grid-card:nth-child(3),
.is-visible .process-step:nth-child(3) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 500ms;
}

.is-visible .sat-pricing-card:nth-child(4),
.is-visible .pricing-package-card:nth-child(4),
.is-visible .pricing-instructor-card:nth-child(4),
.is-visible .pricing-sat-card:nth-child(4),
.is-visible .pricing-passion-card:nth-child(4),
.is-visible .pricing-alacarte-card:nth-child(4),
.is-visible .services-grid-card:nth-child(4),
.is-visible .benefits-grid-card:nth-child(4),
.is-visible .process-step:nth-child(4) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 750ms;
}

/* Timeline/Roadmap items */
.roadmap-step,
.sat-curriculum-item {
	opacity: 0;
	transform: translateX(-16px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.is-visible .roadmap-step,
.is-visible .sat-curriculum-item {
	opacity: 1;
	transform: translateX(0);
}

.is-visible .roadmap-step:nth-child(1),
.is-visible .sat-curriculum-item:nth-child(1) { transition-delay: 0ms; }
.is-visible .roadmap-step:nth-child(2),
.is-visible .sat-curriculum-item:nth-child(2) { transition-delay: 100ms; }
.is-visible .roadmap-step:nth-child(3),
.is-visible .sat-curriculum-item:nth-child(3) { transition-delay: 200ms; }
.is-visible .roadmap-step:nth-child(4),
.is-visible .sat-curriculum-item:nth-child(4) { transition-delay: 300ms; }
.is-visible .roadmap-step:nth-child(5),
.is-visible .sat-curriculum-item:nth-child(5) { transition-delay: 400ms; }

/* Stats - count up feel with scale */
.stats-highlight-stat,
.sat-stats-item,
.stat-item {
	opacity: 0;
	transform: scale(0.95);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.is-visible .stats-highlight-stat,
.is-visible .sat-stats-item,
.is-visible .stat-item {
	opacity: 1;
	transform: scale(1);
}

.is-visible .stats-highlight-stat:nth-child(1),
.is-visible .sat-stats-item:nth-child(1),
.is-visible .stat-item:nth-child(1) { transition-delay: 0ms; }
.is-visible .stats-highlight-stat:nth-child(2),
.is-visible .sat-stats-item:nth-child(2),
.is-visible .stat-item:nth-child(2) { transition-delay: 150ms; }
.is-visible .stats-highlight-stat:nth-child(3),
.is-visible .sat-stats-item:nth-child(3),
.is-visible .stat-item:nth-child(3) { transition-delay: 300ms; }
.is-visible .stats-highlight-stat:nth-child(4),
.is-visible .sat-stats-item:nth-child(4),
.is-visible .stat-item:nth-child(4) { transition-delay: 450ms; }

/* Stat numbers - scale up with slight bounce effect */
.stat-number {
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.is-visible .stat-number {
	opacity: 1;
	transform: scale(1);
}

/* Split sections - left/right reveal */
.benefits-split-content,
.story-split-content,
.sat-intro-content {
	opacity: 0;
	transform: translateX(-20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-split-image,
.story-split-image,
.sat-intro-image {
	opacity: 0;
	transform: translateX(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition-delay: 0.1s;
}

.is-visible .benefits-split-content,
.is-visible .story-split-content,
.is-visible .sat-intro-content,
.is-visible .benefits-split-image,
.is-visible .story-split-image,
.is-visible .sat-intro-image {
	opacity: 1;
	transform: translateX(0);
}

/* Benefits split columns - "What Makes Us Different" left/right animation */
.benefits-split > .wp-block-columns > .wp-block-column:first-child {
	opacity: 0;
	transform: translateX(-30px);
	transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-split > .wp-block-columns > .wp-block-column:last-child {
	opacity: 0;
	transform: translateX(30px);
	transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition-delay: 0.15s;
}

.benefits-split.is-visible > .wp-block-columns > .wp-block-column:first-child,
.benefits-split.is-visible > .wp-block-columns > .wp-block-column:last-child {
	opacity: 1;
	transform: translateX(0);
}

/* Team members */
.team-featured-member,
.team-archive-grid .team-card {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.is-visible .team-featured-member,
.is-visible .team-archive-grid .team-card {
	opacity: 1;
	transform: translateY(0);
}

.is-visible .team-featured-member:nth-child(1),
.is-visible .team-archive-grid .team-card:nth-child(1) { transition-delay: 0ms; }
.is-visible .team-featured-member:nth-child(2),
.is-visible .team-archive-grid .team-card:nth-child(2) { transition-delay: 150ms; }
.is-visible .team-featured-member:nth-child(3),
.is-visible .team-archive-grid .team-card:nth-child(3) { transition-delay: 300ms; }

/* Benefits intro - animate entire block */
.benefits-intro {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-intro.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* CTA Banner */
.cta-banner {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cta-banner.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* FAQ Section */
.faq-section {
	opacity: 1;
}

.faq-title {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition-delay: 0.3s;
}

.faq-section.is-visible .faq-title {
	opacity: 1;
	transform: translateY(0);
}

/* FAQ items - visible by default, animate when section is visible */
.faq-list .faq-item {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.faq-section.is-visible .faq-list .faq-item {
	opacity: 1;
	transform: translateY(0);
}

.faq-section.is-visible .faq-list .faq-item:nth-child(1) { transition-delay: 0.4s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(2) { transition-delay: 0.5s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(3) { transition-delay: 0.6s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(4) { transition-delay: 0.7s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(5) { transition-delay: 0.8s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(6) { transition-delay: 0.9s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(7) { transition-delay: 1s; }
.faq-section.is-visible .faq-list .faq-item:nth-child(8) { transition-delay: 1.1s; }

/* ============================================
   SAT Method Section
   ============================================ */

.sat-method {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.sat-method.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Benefits Statement Section
   ============================================ */

.benefits-statement {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-statement.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Benefits Table Section
   ============================================ */

.benefits-table {
	opacity: 1;
}

.benefits-table-wrapper,
.benefits-table-heading {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-table.is-visible .benefits-table-heading {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0s;
}

.benefits-table.is-visible .benefits-table-wrapper {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.15s;
}

.benefits-table-row {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-table.is-visible .benefits-table-row:nth-child(1) { opacity: 1; transform: translateY(0); transition-delay: 0.2s; }
.benefits-table.is-visible .benefits-table-row:nth-child(2) { opacity: 1; transform: translateY(0); transition-delay: 0.28s; }
.benefits-table.is-visible .benefits-table-row:nth-child(3) { opacity: 1; transform: translateY(0); transition-delay: 0.36s; }
.benefits-table.is-visible .benefits-table-row:nth-child(4) { opacity: 1; transform: translateY(0); transition-delay: 0.44s; }
.benefits-table.is-visible .benefits-table-row:nth-child(5) { opacity: 1; transform: translateY(0); transition-delay: 0.52s; }
.benefits-table.is-visible .benefits-table-row:nth-child(6) { opacity: 1; transform: translateY(0); transition-delay: 0.60s; }
.benefits-table.is-visible .benefits-table-row:nth-child(7) { opacity: 1; transform: translateY(0); transition-delay: 0.68s; }

/* ============================================
   Benefits Cards Section
   ============================================ */

.benefits-cards {
	opacity: 1;
}

.benefits-cards-heading {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-cards.is-visible .benefits-cards-heading {
	opacity: 1;
	transform: translateY(0);
}

.benefits-card {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.benefits-cards.is-visible .wp-block-column:nth-child(1) .benefits-card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.1s;
}

.benefits-cards.is-visible .wp-block-column:nth-child(2) .benefits-card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.2s;
}

.benefits-cards.is-visible .wp-block-column:nth-child(3) .benefits-card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}

/* ============================================
   Pricing Cards Section
   ============================================ */

.pricing-cards {
	opacity: 1;
}

.pricing-cards-title {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pricing-cards.is-visible .pricing-cards-title {
	opacity: 1;
	transform: translateY(0);
}

.pricing-card {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pricing-cards.is-visible .wp-block-column:nth-child(1) .pricing-card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.1s;
}

.pricing-cards.is-visible .wp-block-column:nth-child(2) .pricing-card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.2s;
}

.pricing-cards.is-visible .wp-block-column:nth-child(3) .pricing-card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}

/* ============================================
   Values Zigzag Section - animate entire block
   ============================================ */

.values-zigzag {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.values-zigzag.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Roadmap Section
   ============================================ */

.roadmap {
	opacity: 1;
}

.roadmap-title {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.roadmap.is-visible .roadmap-title {
	opacity: 1;
	transform: translateY(0);
}

.roadmap-phase {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.roadmap.is-visible .roadmap-phase:nth-child(1) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.15s;
}

.roadmap.is-visible .roadmap-phase:nth-child(2) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}

.roadmap.is-visible .roadmap-phase:nth-child(3) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.45s;
}

/* ============================================
   Contact Page Sections
   ============================================ */

.contact-hero {
	opacity: 1;
}

.contact-hero-content {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-hero.is-visible .contact-hero-content {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.2s;
}

.contact-form-section {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-form-section.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.contact-directory {
	opacity: 1;
}

.contact-directory-title {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-directory.is-visible .contact-directory-title {
	opacity: 1;
	transform: translateY(0);
}

.contact-directory-item {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-directory.is-visible .contact-directory-item:nth-child(1) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.1s;
}

.contact-directory.is-visible .contact-directory-item:nth-child(2) {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.2s;
}

/* ============================================
   Page Intro Section
   ============================================ */

.page-intro {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.page-intro.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Dynamic Block Sections (Sliders)
   ============================================ */

.team-slider,
.team-slider-wrapper,
.testimonials-slider,
.testimonials-slider-wrapper,
.logo-slider,
.logo-slider-wrapper {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.team-slider.is-visible,
.team-slider-wrapper.is-visible,
.testimonials-slider.is-visible,
.testimonials-slider-wrapper.is-visible,
.logo-slider.is-visible,
.logo-slider-wrapper.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Team Single Page
   ============================================ */

.team-single {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.team-single.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   Pricing Tab Content Animations
   ============================================ */

.pricing-tab-content {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pricing-tab-content.active,
.pricing-tab-content.is-active {
	opacity: 1;
	transform: translateY(0);
}

/* Re-animate cards when tab becomes active */
.pricing-tab-content.animate-in .pricing-package-card,
.pricing-tab-content.animate-in .pricing-instructor-card,
.pricing-tab-content.animate-in .pricing-sat-card,
.pricing-tab-content.animate-in .pricing-passion-card,
.pricing-tab-content.animate-in .pricing-alacarte-card {
	opacity: 0;
	transform: translateY(30px);
}

.pricing-tab-content.animate-in.is-active .pricing-package-card,
.pricing-tab-content.animate-in.is-active .pricing-instructor-card,
.pricing-tab-content.animate-in.is-active .pricing-sat-card,
.pricing-tab-content.animate-in.is-active .pricing-passion-card,
.pricing-tab-content.animate-in.is-active .pricing-alacarte-card {
	opacity: 1;
	transform: translateY(0);
}

/* Staggered delays for pricing cards on tab switch */
.pricing-tab-content.animate-in.is-active .pricing-packages-grid .pricing-package-card:nth-child(1),
.pricing-tab-content.animate-in.is-active .pricing-instructor-grid .pricing-instructor-card:nth-child(1),
.pricing-tab-content.animate-in.is-active .pricing-sat-grid .pricing-sat-card:nth-child(1),
.pricing-tab-content.animate-in.is-active .pricing-passion-grid .pricing-passion-card:nth-child(1) {
	transition-delay: 0.1s;
}

.pricing-tab-content.animate-in.is-active .pricing-packages-grid .pricing-package-card:nth-child(2),
.pricing-tab-content.animate-in.is-active .pricing-instructor-grid .pricing-instructor-card:nth-child(2),
.pricing-tab-content.animate-in.is-active .pricing-sat-grid .pricing-sat-card:nth-child(2),
.pricing-tab-content.animate-in.is-active .pricing-passion-grid .pricing-passion-card:nth-child(2) {
	transition-delay: 0.2s;
}

.pricing-tab-content.animate-in.is-active .pricing-packages-grid .pricing-package-card:nth-child(3),
.pricing-tab-content.animate-in.is-active .pricing-instructor-grid .pricing-instructor-card:nth-child(3),
.pricing-tab-content.animate-in.is-active .pricing-sat-grid .pricing-sat-card:nth-child(3),
.pricing-tab-content.animate-in.is-active .pricing-passion-grid .pricing-passion-card:nth-child(3) {
	transition-delay: 0.3s;
}

/* A la carte card animation */
.pricing-tab-content.animate-in.is-active .pricing-alacarte-card {
	transition-delay: 0.05s;
}

/* ============================================
   Team Archive Grid Animations
   ============================================ */

.team-archive-grid {
	opacity: 1;
}

.team-archive-grid .team-card {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.team-archive-grid.is-visible .team-card {
	opacity: 1;
	transform: translateY(0);
}

/* Staggered delays for team members - up to 12 members */
.team-archive-grid.is-visible .team-card:nth-child(1) { transition-delay: 0ms; }
.team-archive-grid.is-visible .team-card:nth-child(2) { transition-delay: 100ms; }
.team-archive-grid.is-visible .team-card:nth-child(3) { transition-delay: 200ms; }
.team-archive-grid.is-visible .team-card:nth-child(4) { transition-delay: 300ms; }
.team-archive-grid.is-visible .team-card:nth-child(5) { transition-delay: 400ms; }
.team-archive-grid.is-visible .team-card:nth-child(6) { transition-delay: 500ms; }
.team-archive-grid.is-visible .team-card:nth-child(7) { transition-delay: 600ms; }
.team-archive-grid.is-visible .team-card:nth-child(8) { transition-delay: 700ms; }
.team-archive-grid.is-visible .team-card:nth-child(9) { transition-delay: 800ms; }
.team-archive-grid.is-visible .team-card:nth-child(10) { transition-delay: 900ms; }
.team-archive-grid.is-visible .team-card:nth-child(11) { transition-delay: 1000ms; }
.team-archive-grid.is-visible .team-card:nth-child(12) { transition-delay: 1100ms; }

/* Re-animate team members after filter */
.team-archive-grid.animate-in .team-card {
	opacity: 0;
	transform: translateY(20px);
}

.team-archive-grid.animate-in.is-visible .team-card {
	opacity: 1;
	transform: translateY(0);
}

.team-archive-grid.animate-in .team-card:nth-child(1) { transition-delay: 0ms; }
.team-archive-grid.animate-in .team-card:nth-child(2) { transition-delay: 60ms; }
.team-archive-grid.animate-in .team-card:nth-child(3) { transition-delay: 120ms; }
.team-archive-grid.animate-in .team-card:nth-child(4) { transition-delay: 180ms; }
.team-archive-grid.animate-in .team-card:nth-child(5) { transition-delay: 240ms; }
.team-archive-grid.animate-in .team-card:nth-child(6) { transition-delay: 300ms; }
.team-archive-grid.animate-in .team-card:nth-child(7) { transition-delay: 360ms; }
.team-archive-grid.animate-in .team-card:nth-child(8) { transition-delay: 420ms; }
.team-archive-grid.animate-in .team-card:nth-child(9) { transition-delay: 480ms; }
.team-archive-grid.animate-in .team-card:nth-child(10) { transition-delay: 540ms; }
.team-archive-grid.animate-in .team-card:nth-child(11) { transition-delay: 600ms; }
.team-archive-grid.animate-in .team-card:nth-child(12) { transition-delay: 660ms; }

/* ============================================
   Reduced Motion - Accessibility
   ============================================ */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.reveal,
	.reveal-left,
	.reveal-right,
	.reveal-fade,
	.reveal-scale,
	.stagger-children > *,
	[class*="is-visible"],
	.faq-item,
	.faq-title,
	.faq-list .faq-item,
	.sat-pricing-card,
	.pricing-alacarte-card,
	.services-grid-card,
	.service-card,
	.benefits-grid-card,
	.value-card,
	.stat-item,
	.stat-number,
	.roadmap-step,
	.roadmap-phase,
	.sat-curriculum-item,
	.team-featured-member,
	.cta-banner,
	.stats-highlight-stat,
	.sat-stats-item,
	.benefits-split-content,
	.benefits-split-image,
	.benefits-split > .wp-block-columns > .wp-block-column,
	.sat-intro-content,
	.sat-intro-image,
	.sat-method,
	.benefits-statement,
	.benefits-table-wrapper,
	.benefits-table-heading,
	.benefits-table-row,
	.benefits-cards-heading,
	.benefits-card,
	.pricing-cards-title,
	.pricing-card,
	.values-zigzag,
	.benefits-intro,
	.features-staggered,
	.roadmap-title,
	.contact-hero-content,
	.contact-form-section,
	.contact-directory-title,
	.contact-directory-item,
	.page-intro,
	.team-slider,
	.team-slider-wrapper,
	.testimonials-slider,
	.testimonials-slider-wrapper,
	.logo-slider,
	.logo-slider-wrapper,
	.team-single {
		opacity: 1 !important;
		transform: none !important;
	}

	.features-staggered {
		animation: none !important;
	}

	.hero .wp-block-cover__image-background {
		transform: none !important;
	}
}
