/* A little movement, with native scrolling and immediate shopping controls. */
html[data-motion=on] .opening-image{height:calc(100% + 40px);top:-20px;translate:0 var(--scene-shift,0px)}
html[data-motion=off] .opening-image{translate:none}
.ritual-tabs,.wp-moment-nav{position:relative}
.moment-indicator{position:absolute;top:0;left:0;height:3px;background:var(--cream);transform:translateX(var(--tab-x,0));pointer-events:none}
.ritual-tabs:has(.moment-indicator) button[aria-selected=true],.wp-moment-nav:has(.moment-indicator) a[aria-selected=true]{border-top-color:transparent}
html[data-motion=on] dialog[open]::backdrop{animation:oneness-backdrop-in .38s ease-out both}
@keyframes oneness-backdrop-in{from{background:rgba(24,19,14,.15)}to{background:rgba(24,19,14,.5)}}
html[data-motion=on] .btn{transition:background .25s,color .25s,box-shadow .3s,transform .3s cubic-bezier(.22,1,.36,1)}
html[data-motion=on] .btn:active{transform:scale(.985)}
html[data-motion=on] .text-link{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:left bottom;border-bottom-color:color-mix(in srgb,currentColor 35%,transparent);transition:background-size .5s cubic-bezier(.22,1,.36,1),border-color .3s}
html[data-motion=on] .text-link:hover,html[data-motion=on] .text-link:focus-visible{background-size:100% 1px;border-bottom-color:transparent}
html[data-motion=on] .header-side>a,html[data-motion=on] .header-side>button,html[data-motion=on] .category-nav>a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:left calc(100% - 5px);transition:background-size .4s cubic-bezier(.22,1,.36,1)}
html[data-motion=on] .header-side>a:hover,html[data-motion=on] .header-side>button:hover,html[data-motion=on] .category-nav>a:hover{background-size:100% 1px}
@media(hover:hover) and (pointer:fine){
 html[data-motion=on] .cv-card .photo img{transition:transform 1s cubic-bezier(.22,1,.36,1),filter .7s}
 html[data-motion=on] .cv-card .photo:hover img{transform:scale(1.065);filter:brightness(1.035)}
 html[data-motion=on] .cv-card .save-btn{transition:background .25s,color .25s,transform .35s}
 html[data-motion=on] .cv-card .save-btn:hover{transform:translateY(-2px)}
 html[data-motion=on] .btn:hover{transform:translateY(-2px);box-shadow:0 5px 16px #2f241c12}
 html[data-motion=on] .btn:active{transform:translateY(0) scale(.985)}
 html[data-motion=on] .moment-piece img{transition:transform .65s cubic-bezier(.22,1,.36,1)}
 html[data-motion=on] .moment-piece:hover img{transform:translateY(-4px)}
 html[data-motion=on] .category-row{transition:padding .55s cubic-bezier(.22,1,.36,1),background .4s}
 html[data-motion=on] .category-row img{transition:transform .7s cubic-bezier(.22,1,.36,1)}
 html[data-motion=on] .category-row:hover img{transform:scale(1.065)}
}
@media(prefers-reduced-motion:reduce){.opening-image{translate:none!important}dialog[open]::backdrop{animation:none!important}}
html[data-motion=off] .moment-piece img,html[data-motion=off] .btn,html[data-motion=off] .text-link{transition:none;transform:none}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after,html[data-motion=off] dialog::backdrop{animation:none!important;transition:none!important}
