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

/* Parallax frames */
.ss-parallax-frame { isolation: isolate; }
.ss-parallax-frame .ss-parallax-img { will-change: transform; max-width: none; }
.ss-parallax-frame .ss-overlay {
	background-image: linear-gradient(180deg, rgba(20, 32, 24, .28) 0%, rgba(20, 32, 24, .12) 40%, rgba(20, 32, 24, .58) 100%);
	pointer-events: none;
}
.ss-on-dark h1, .ss-on-dark h2 { text-shadow: 0 2px 40px rgba(10, 20, 14, .35); }
.ss-on-dark em { font-style: italic; color: #F2B48C; }

/* Scroll cue */
.ss-cue::after {
	content: '';
	display: block;
	width: 1px;
	height: 44px;
	margin: 12px auto 0;
	background: linear-gradient(180deg, rgba(243, 238, 226, .9), rgba(243, 238, 226, 0));
	transform-origin: top;
	animation: ssCue 2.6s cubic-bezier(.6, 0, .2, 1) infinite;
}
@keyframes ssCue {
	0% { transform: scaleY(0); opacity: 1; }
	60% { transform: scaleY(1); opacity: 1; }
	100% { transform: scaleY(1); opacity: 0; }
}

/* Gentle image hover on collection tiles */
a.ss-tile img, .ss-tile img, a[class*="e-div-block"] > img {
	transition: transform 1.4s cubic-bezier(.2, .7, .2, 1), filter .6s ease;
}
a[class*="e-div-block"]:hover > img { transform: scale(1.025); filter: saturate(1.06); }

/* Refined links and focus */
.elementor a:focus-visible, .ss-header a:focus-visible, .ss-button:focus-visible { outline: 1px solid var(--ss-c-orange); outline-offset: 4px; }
