/* Stable image layers: no opacity resets, clipping reveals or heading replays. */
.scroll-progress{position:absolute;inset:auto 0 0;height:2px;pointer-events:none;background:var(--color-field);transform:scaleX(var(--reading-progress,0));transform-origin:left}
.hero-copy,.hero-greeting,.hero-greeting strong{animation:none}
.hero-photo{transform:translate3d(0,var(--scene-photo-y,0px),0) scale(1.12);backface-visibility:hidden}
.hero-greeting{transform:translate3d(0,var(--scene-greeting-y,0px),0)}
.photo-frame{overflow:hidden;isolation:isolate}
.photo-frame img{transform:translate3d(0,var(--image-y,0px),0) scale(1.1);transition:none;backface-visibility:hidden}
.motion-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;min-height:44px;background:var(--color-clear);border:0;border-bottom:1px solid var(--color-rule);font-size:12px;line-height:1.5;color:var(--color-muted)}
.motion-toggle[hidden]{display:none}
.motion-toggle .icon{width:16px;height:16px}
.motion-toggle:hover{color:var(--color-field);border-color:var(--color-field)}
.motion-toggle:active{transform:translateY(1px)}
.motion-toggle:disabled{opacity:1;border-color:var(--color-clear)}
@media(max-width:600px){.hero-meta{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){
 .scroll-progress{display:none}
 .hero-photo,.hero-greeting,.photo-frame img{transform:none!important}
}
