/* Base hidden state */
.aos-fade-up,
.aos-fade-in,
.aos-fade-left,
.aos-fade-right,
.aos-zoom-in,
.aos-slide-up {
	opacity: 0;
	transition: opacity 0.6s ease, transform 0.6s ease;
	will-change: opacity, transform;
	transition-delay: var(--delay, 0s);
}

/* Initial transform offsets */
.aos-fade-up    { transform: translateY(40px); }
.aos-fade-left  { transform: translateX(-40px); }
.aos-fade-right { transform: translateX(40px); }
.aos-zoom-in    { transform: scale(0.9); }
.aos-slide-up   { transform: translateY(80px); }
/* aos-fade-in has no transform — opacity only */

/* Animated state */
.aos-animated {
	opacity: 1 !important;
	transform: none !important;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.aos-fade-up,
	.aos-fade-in,
	.aos-fade-left,
	.aos-fade-right,
	.aos-zoom-in,
	.aos-slide-up {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.linked-group {
  position: relative;
  overflow: hidden;
  transition: transform .2s;

  &:hover {
    transform: translateY(-5px);
  }

  a::after {
    content: '';
    position: absolute;
    inset: -500px 0;
    z-index: 1;
  }
}

.site-header:has(.is-sticky) {
    position: sticky;
    top: 0;
    z-index: 10;
    box-shadow: 0 0 9px #0001;
}

.admin-bar .site-header:has(.is-sticky) {
    top: 40px;
}

@media (min-width: 782px) {
    .admin-bar .site-header:has(.is-sticky) {
        top: 32px;
    }
}

.has-modal-open :is(.site-header, .site-header__inner) {
    -webkit-backdrop-filter: unset !important;
    backdrop-filter: unset !important;
}

.site-header__inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  transition: color .2s ease, background .2s ease;
}

.site-header:not(.is-compact) .site-header__inner {
	background: linear-gradient(
		to bottom,
		hsl(0, 0%, 0%) 0%,
		hsla(0, 0%, 0%, 0.987) 4.2%,
		hsla(0, 0%, 0%, 0.951) 9.6%,
		hsla(0, 0%, 0%, 0.896) 15.9%,
		hsla(0, 0%, 0%, 0.825) 22.9%,
		hsla(0, 0%, 0%, 0.741) 30.6%,
		hsla(0, 0%, 0%, 0.648) 38.7%,
		hsla(0, 0%, 0%, 0.55) 46.9%,
		hsla(0, 0%, 0%, 0.45) 55.3%,
		hsla(0, 0%, 0%, 0.352) 63.5%,
		hsla(0, 0%, 0%, 0.259) 71.4%,
		hsla(0, 0%, 0%, 0.175) 78.8%,
		hsla(0, 0%, 0%, 0.104) 85.6%,
		hsla(0, 0%, 0%, 0.049) 91.5%,
		hsla(0, 0%, 0%, 0.013) 96.3%,
		hsla(0, 0%, 0%, 0) 100%
	) !important;
}

.admin-bar .site-header__inner {
  top: 44px;

  @media (min-width: 783px) {
    top: 32px;
  }
}

/* Lightbox */
.simple-lightbox-overlay {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.85);
	z-index: 9999;
}

.simple-lightbox-overlay.is-active {
	display: flex;
}

.simple-lightbox-stage {
	max-width: 90vw;
	max-height: 90vh;
	overflow: hidden;
}

.simple-lightbox-image {
	display: block;
	max-width: 90vw;
	max-height: 90vh;
	transition: transform 0.1s ease-out;
	user-select: none;
}

.simple-lightbox-controls {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
}

.simple-lightbox-btn {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 4px;
	padding: 6px 12px;
	font-size: 14px;
	cursor: pointer;
}

.simple-lightbox-btn:hover {
	background: rgba(255, 255, 255, 0.3);
}

.simple-lightbox-close {
	position: absolute;
	top: 16px;
	right: 20px;
	font-size: 28px;
	line-height: 1;
	background: transparent;
	border: none;
}

body.simple-lightbox-locked {
	overflow: hidden;
}