/* The same natural-color light/material direction across every active photograph. */
.hero-image, .hero-feature > img, .featured-photo img, .texture-visual img, .story-image img, .scene-object img { filter: none; }
.product-stage { background: radial-gradient(ellipse at 65% 38%, #626357 0%, #2e3029 43%, #101110 78%); }
.stage-ground { background: linear-gradient(#74736755, #1d1e1b); }
.ritual-art .product-stage { background: transparent; }
.ritual-art .product-stage::before { background: radial-gradient(ellipse 50% 48% at 52% 49%, #66695b 0%, #35382f 44%, transparent 100%); }
.portrait-interactive { display: block; width: 100%; text-align: start; white-space: normal; user-select: none; -webkit-user-select: none; }
.portrait-canvas { display: block; width: 100%; height: 100%; }
.portrait-eyes { opacity: 0; transition: opacity 460ms cubic-bezier(.22,.75,.25,1); }
.portrait-interactive[data-eyes=open] .portrait-eyes { opacity: 1; }
.portrait-interactive:focus-visible { outline: 2px solid #f5f1e5; outline-offset: -6px; }
.portrait-hint { position: absolute; top: 25px; inset-inline-start: 25px; display: flex; align-items: center; gap: 9px; padding: 10px 13px; background: #191c17b8; color: #fff; font-size: 9px; letter-spacing: .04em; pointer-events: none; }
.portrait-hint .icon { width: 18px; height: 18px; }
.portrait-interactive .story-image-note { text-shadow: 0 1px 10px #000a; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .portrait-eyes { transition: none !important; } }
html[data-motion=reduce] .portrait-eyes { transition: none !important; }
