.my-icon {
  color: red !important;
}

.yellow-arrow-container {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
/**/

.position-relative {
	position: relative;
}

.z-index {
	z-index: 100;
}

.overlap-up {
	transform: translate(0, -100px);
	margin: 10px;
}


/* ==========================================================================
   Animation Utility Classes
   ========================================================================== */

/* Base states - elements are hidden before animation triggers */
.animate-fade-in,
.animate-slide-up,
.animate-slide-down,
.animate-slide-left,
.animate-slide-right,
.animate-scale-in {
	opacity: 0;
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.animate-slide-up {
	transform: translateY(30px);
}

.animate-slide-down {
	transform: translateY(-30px);
}

.animate-slide-left {
	transform: translateX(30px);
}

.animate-slide-right {
	transform: translateX(-30px);
}

.animate-scale-in {
	transform: scale(0.95);
}

/* Visible state - applied when element comes into view */
.animate-fade-in.is-visible,
.animate-slide-up.is-visible,
.animate-slide-down.is-visible,
.animate-slide-left.is-visible,
.animate-slide-right.is-visible,
.animate-scale-in.is-visible {
	opacity: 1;
	transform: translate(0) scale(1);
}

/* ==========================================================================
   Delay Modifiers
   ========================================================================== */

.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-500 { transition-delay: 0.5s; }

/* ==========================================================================
   Duration Modifiers
   ========================================================================== */

.duration-fast { transition-duration: 0.3s; }
.duration-slow { transition-duration: 1s; }

/* ==========================================================================
   Easing Modifiers
   ========================================================================== */

.ease-out { transition-timing-function: ease-out; }
.ease-in-out { transition-timing-function: ease-in-out; }

/* ==========================================================================
   Respect reduced motion preferences
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.animate-fade-in,
	.animate-slide-up,
	.animate-slide-down,
	.animate-slide-left,
	.animate-slide-right,
	.animate-scale-in {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ==========================================================================
   Sticky Header
   ========================================================================== */

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	transition: margin 0.3s ease;
	padding-top: 5px;
}

/* Dark mode background */
.dark-mode .site-header {
	background-color: var(--wp--preset--color--background, #000);
}

/* The pill-shaped nav bar (inner group with border) */
.site-header .has-notion-dark-border-color {
	transition: padding 0.3s ease;
}

/* Logo transition */
.site-header .wp-block-image img {
	transition: width 0.3s ease, height 0.3s ease;
}

/* Scrolled state - remove top margin so it sticks to top */
.site-header.is-scrolled {
	margin-top: 0 !important;
	padding-top: 5px;
}

/* Scrolled state - shrunk nav bar padding */
.site-header.is-scrolled .has-notion-dark-border-color {
	padding-top: var(--wp--preset--spacing--20) !important;
	padding-bottom: var(--wp--preset--spacing--20) !important;
}

