/* ==========================================================================
	Front page animations
========================================================================== */
@keyframes slideUpFade {
	from {
		transform: translateY(40px);
	}
	to {
		transform: translateY(0);
	}
}

/* Expertise section slide-in */
.recent-section.has-white-background-color .alignwide.wp-block-group,
.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column {
	transform: translateY(0);
}

.recent-section.has-white-background-color .alignwide.wp-block-group.is-pending-reveal,
.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column.is-pending-reveal {
	transform: translateY(40px);
}

.recent-section.has-white-background-color .alignwide.wp-block-group.is-visible,
.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column.is-visible {
	animation: slideUpFade 0.75s ease-out both;
}

.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column:nth-child(1) {
	animation-delay: 0.05s;
}

.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column:nth-child(2) {
	animation-delay: 0.12s;
}

.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column:nth-child(3) {
	animation-delay: 0.19s;
}

.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column:nth-child(4) {
	animation-delay: 0.26s;
}

.recent-section.has-white-background-color .wp-block-columns.alignwide > .wp-block-column:nth-child(5) {
	animation-delay: 0.33s;
}


/* Footer slide-up animations */
.site-footer .footer-navigation > .wp-block-column {
	transform: translateY(0);
}

.site-footer .footer-navigation > .wp-block-column.is-pending-reveal {
	transform: translateY(40px);
}

.site-footer .footer-navigation > .wp-block-column.is-visible {
	animation: slideUp 0.8s ease-out both;
}

.site-footer .footer-navigation > .wp-block-column:nth-child(1) {
	animation-delay: 0.05s;
}

.site-footer .footer-navigation > .wp-block-column:nth-child(2) {
	animation-delay: 0.14s;
}

.site-footer .footer-navigation > .wp-block-column:nth-child(3) {
	animation-delay: 0.23s;
}

@keyframes slideUp {
	from {
		transform: translateY(40px);
	}
	to {
		transform: translateY(0);
	}
}

/* ==========================================================================
	View Transitions API - Modern Page Transitions
========================================================================== */

/* Enable smooth cross-document view transitions */
@view-transition {
	navigation: auto;
}

/* Customize the default fade transition */
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 0.4s;
	animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Slide fade for outgoing page */
::view-transition-old(root) {
	animation-name: slide-fade-out;
}

/* Slide fade for incoming page */
::view-transition-new(root) {
	animation-name: slide-fade-in;
}

@keyframes slide-fade-out {
	to {
		opacity: 0;
		transform: translateY(-20px);
	}
}

@keyframes slide-fade-in {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
}

/* Smooth header transition - keep it stable during page changes */
.site-header {
	view-transition-name: site-header;
}

::view-transition-old(site-header),
::view-transition-new(site-header) {
	animation-duration: 0.3s;
	height: auto;
}

/* Keep footer stable during transitions */
.site-footer {
	view-transition-name: site-footer;
}

::view-transition-old(site-footer),
::view-transition-new(site-footer) {
	animation-duration: 0.3s;
	height: auto;
}

/* Featured images get special treatment */
.wp-block-post-featured-image {
	contain: paint;
}
