/* The supplied portrait stays still. Only independent light layers move. */
.hero-media{isolation:isolate}
.hero-photo{transform:none;filter:none}
.hero-media::after{display:none}
.hero-light{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen;transition:opacity .7s;mask-image:linear-gradient(90deg,#000 0%,#000 34%,transparent 41%,transparent 58%,#000 65%,#000 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 34%,transparent 41%,transparent 58%,#000 65%,#000 100%)}
.hero-light span{position:absolute;display:block;pointer-events:none;animation-play-state:paused}
.light-water{background:url('assets/golden-water-light.svg') center/100% 100% repeat;mask-image:radial-gradient(ellipse at 50% 70%,#000 12%,#000b 50%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at 50% 70%,#000 12%,#000b 50%,transparent 76%);will-change:transform,opacity}
.water-one{inset:51% -18% -23%;opacity:.49;transform:perspective(700px) rotateX(38deg) rotateZ(-4deg);animation:water-glide-one 16s ease-in-out infinite alternate}
.water-two{inset:62% -25% -27%;opacity:.3;background-size:76% 85%;filter:blur(1.2px);transform:perspective(600px) rotateX(48deg) rotateZ(5deg);animation:water-glide-two 21s ease-in-out infinite alternate;animation-delay:-9s}
.light-rays{inset:-14%;opacity:.24;background:linear-gradient(119deg,transparent 37%,#ffe9a326 42%,#fff7da80 45%,transparent 49%),linear-gradient(123deg,transparent 60%,#fff5d1a1 63%,transparent 67%),radial-gradient(ellipse at 91% 27%,#ffe6a25c,transparent 36%);filter:blur(7px);will-change:transform,opacity;animation:golden-breath 13s ease-in-out infinite alternate}
.hero-media[data-lighting="active"] .hero-light span{animation-play-state:running}
.hero-media[data-lighting="off"] .hero-light{opacity:0}
.lighting-toggle{position:absolute;right:3%;bottom:18px;z-index:4;display:flex;align-items:center;gap:6px;border:1px solid #c3ad7c80;border-radius:30px;background:#fff9ece0;backdrop-filter:blur(6px);color:#685435;font:600 11px "Segoe UI","Malgun Gothic","Noto Sans Khmer",sans-serif;padding:9px 13px;cursor:pointer}
.lighting-toggle:hover{background:#fffbf1}.lighting-toggle:focus-visible{outline:2px solid #7d5c27;outline-offset:3px}.lighting-toggle:disabled{cursor:default;opacity:.7}
@keyframes water-glide-one{0%{transform:perspective(700px) rotateX(38deg) rotateZ(-4deg) translate3d(-2.5%,1.5%,0) scale(1.02);opacity:.32}55%{opacity:.56}100%{transform:perspective(700px) rotateX(38deg) rotateZ(-1deg) translate3d(3%,-2%,0) scale(1.07);opacity:.38}}
@keyframes water-glide-two{0%{transform:perspective(600px) rotateX(48deg) rotateZ(5deg) translate3d(4%,2%,0) scale(1.1);opacity:.2}100%{transform:perspective(600px) rotateX(48deg) rotateZ(1deg) translate3d(-4%,-2%,0) scale(1.02);opacity:.38}}
@keyframes golden-breath{0%{transform:translate3d(-1%,-1%,0) rotate(-1deg);opacity:.15}100%{transform:translate3d(1.6%,.6%,0) rotate(1deg);opacity:.33}}
@media(min-width:1021px){.hero{min-height:0;aspect-ratio:1672/941}}
@media(max-width:1020px){.hero-media{aspect-ratio:1672/941;height:auto}.lighting-toggle{right:14px;bottom:12px;font-size:10px;padding:8px 11px}.light-rays{filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.hero-light span{animation:none!important;will-change:auto}.hero-light{opacity:.24;transition:none}}
