/* Kindful motion layer: gentle, scroll-linked, respects reduced motion. Intensity set by body[data-motion] in js/kindful-motion.js */
.js-motion .reveal{opacity:0;transform:translateY(14px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js-motion .reveal.is-in{opacity:1;transform:none}
/* A thin sage thread down the right margin, drawn as you scroll, with a coral dot (the film's sun) riding its tip */
.kh-thread{position:fixed;top:0;right:clamp(4px,1.2vw,18px);width:56px;height:100vh;pointer-events:none;z-index:0;overflow:visible}
.kh-thread path{fill:none;stroke:var(--color-sage-deep);stroke-width:1.4;stroke-linecap:round;opacity:.5}
.kh-thread-dot{fill:var(--color-coral);opacity:.9}
/* Watercolour wash that drifts slower than the page */
.kh-wash-drift{position:fixed;left:-10vw;right:-10vw;top:-10vh;bottom:-10vh;z-index:-2;pointer-events:none;background:url("../img/wc/wash-sage-soft.webp") center/min(90vw,900px) auto no-repeat;opacity:.12;mix-blend-mode:multiply;will-change:transform}
/* Drifting particles, echoing the film */
.kh-dots{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.kh-dots span{position:absolute;bottom:-14px;width:7px;height:7px;border-radius:50%;background:var(--color-forest-300);opacity:0;animation:kh-rise linear infinite}
@keyframes kh-rise{0%{transform:translateY(0);opacity:0}15%{opacity:.45}85%{opacity:.28}100%{transform:translateY(-70vh);opacity:0}}
/* Contour lines, echoing the film's ripples, slowly moving */
.kh-contours{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.24}
.kh-contours svg{position:absolute;top:0;left:0;width:200%;height:100%;animation:kh-drift 80s ease-in-out infinite alternate}
.kh-contour{fill:none;stroke:var(--color-rust);stroke-width:1.1;vector-effect:non-scaling-stroke}
@keyframes kh-drift{from{transform:translateX(0)}to{transform:translateX(-18%)}}
@media (max-width:900px){
  .kh-thread{display:none}
  .kh-dots span{opacity:.3}
}
@media (prefers-reduced-motion:reduce){
  .js-motion .reveal{opacity:1;transform:none;transition:none}
  .kh-dots,.kh-contours,.kh-wash-drift,.kh-thread{display:none}
}
