/* Onyx — interactivity layer: hover image-zoom, card lift, micro-motion.
   Layered on top of the design CSS; all motion guarded by prefers-reduced-motion. */

@media (prefers-reduced-motion: no-preference) {

	/* ---- Smooth zoom target: the stone texture / photo inside any card ---- */
	.stone-card .thumb .stone-tex,
	.work-card .ph .tex .stone-tex,
	.acard .aimg .tex .stone-tex,
	.t5-item > .stone-tex,
	.anchor > .stone-tex,
	.fimg .stone-tex {
		transition: transform .7s cubic-bezier(.2, .7, .3, 1);
		will-change: transform;
	}

	/* Catalogue stone cards — image zoom (was missing) + stronger lift + copper edge */
	.stone-card { transition: box-shadow .35s ease, transform .35s cubic-bezier(.2,.7,.3,1), border-color .35s ease; }
	.stone-card:hover { transform: translateY(-8px); border-color: var(--copper-soft); box-shadow: 0 26px 60px -22px rgba(60,38,18,.5); }
	.stone-card:hover .thumb .stone-tex { transform: scale(1.09); }
	.stone-card .thumb .badge,
	.stone-card .thumb .view360 { transition: transform .4s ease, opacity .4s ease; }
	.stone-card:hover .thumb .badge { transform: translateY(-2px); }

	/* Designer Work project cards — deeper zoom + lift */
	.work-card { transition: transform .4s cubic-bezier(.2,.7,.3,1); }
	.work-card:hover { transform: translateY(-6px); }
	.work-card:hover .ph .tex .stone-tex { transform: scale(1.09); }

	/* Journal article cards — zoom + lift */
	.acard { transition: transform .4s cubic-bezier(.2,.7,.3,1); }
	.acard:hover { transform: translateY(-6px); }
	.acard:hover .aimg .tex .stone-tex { transform: scale(1.08); }
	.acard .aimg { border-radius: 3px; overflow: hidden; }

	/* Journal featured */
	.featured { transition: transform .45s cubic-bezier(.2,.7,.3,1); }
	.featured:hover { transform: translateY(-4px); }
	.featured:hover .fimg .stone-tex { transform: scale(1.06); }

	/* Home Top-5 — texture zoom + caption rise */
	.t5-item:hover > .stone-tex { transform: scale(1.1); }
	.t5-item .cap { transition: transform .4s ease; }
	.t5-item:hover .cap { transform: translateY(-4px); }

	/* Home anchor cards — zoom + lift */
	.anchor { transition: transform .45s cubic-bezier(.2,.7,.3,1); }
	.anchor:hover { transform: translateY(-6px); }
	.anchor:hover > .stone-tex { transform: scale(1.08); }

	/* About / Trade logo tiles + benefits */
	.dtile .rev .stone-tex { transition: transform .7s cubic-bezier(.2,.7,.3,1); }
	.dtile:hover .rev .stone-tex { transform: scale(1.08); }
	.lg { transition: color .3s ease, border-color .3s ease, transform .3s ease; }
	.logos-grid .lg:hover, .trade .logos .lg:hover { color: var(--copper); transform: translateY(-2px); }

	/* Buttons — lift + soft copper glow */
	.btn-primary { transition: background .25s, transform .25s, box-shadow .25s; }
	.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -10px rgba(167,95,53,.55); }
	.btn-secondary:hover { transform: translateY(-2px); }

	/* Stone-detail thumbnails (gallery / finishes) */
	#stone-thumbs .t, .viewer .thumbs .t { transition: transform .3s ease, box-shadow .3s ease, opacity .3s ease; }
	#stone-thumbs .t:hover, .viewer .thumbs .t:hover { transform: translateY(-3px); box-shadow: 0 8px 18px -8px rgba(40,28,16,.5); }
	.viewer .stage .tex-scale { transition: transform .6s cubic-bezier(.2,.7,.3,1); }
	.viewer .stage:hover .tex-scale { transform: scale(1.05); }

	/* Header nav underline grow */
	.nav-links a, .cat-header .nav-links a { position: relative; }
	.nav-links a::after {
		content: ''; position: absolute; left: 0; right: 100%; bottom: -3px; height: 1.5px;
		background: var(--copper); transition: right .3s cubic-bezier(.2,.7,.3,1); opacity: .85;
	}
	.nav-links a:hover::after { right: 0; }
	.nav-links a.active::after { right: 0; }

	/* Filter chips */
	.chip { transition: background .25s, color .25s, border-color .25s, transform .2s; }
	.chip:hover { transform: translateY(-1px); }

	/* Hero stone — mouse parallax wrapper (JS sets --px/--py) */
	.hero-stone { transition: transform .25s ease-out; }

	/* Reveal cascade: per-item stagger delay set by JS via --d */
	.reveal[style*="--d"] { transition-delay: var(--d); }
}
