/* Depth follows actual scrolling; no permanent decorative animation loops. */
.chapter-index{perspective:1200px}
.chapter-strip{perspective:1000px}
.chapter-card{rotate:y var(--card-angle,0deg);translate:0 var(--card-rise,0px)}
.chapter-art{translate:0 var(--scene-y,0px)}
.film-frame{transform:perspective(1000px) translateY(var(--scene-y,0px)) rotateX(var(--scene-angle,0deg)) rotate(-2deg);transform-origin:center 75%}
.film-note .handwritten{display:block;translate:0 calc(var(--scene-y,0px)*-.4)}
.memory-card{translate:0 calc(var(--scene-y,0px)*.5);rotate:x var(--scene-angle,0deg)}
.memory-card:nth-child(even){translate:0 calc(var(--scene-y,0px)*-.5)}
.keepsake svg{translate:0 calc(var(--scene-y,0px)*.35);rotate:var(--scene-angle,0deg)}
.keepsake:nth-child(even) svg{rotate:calc(var(--scene-angle,0deg)*-1)}
.open-note{translate:0 var(--scene-y,0px);rotate:y var(--scene-angle,0deg);transform-origin:bottom center}
.open-note:nth-child(2){translate:0 calc(var(--scene-y,0px)*-.5);rotate:y calc(var(--scene-angle,0deg)*-1)}
.future-ticket{translate:0 calc(var(--scene-y,0px)*.7);rotate:y var(--scene-angle,0deg)}
.future-ticket:nth-child(2){translate:0 calc(var(--scene-y,0px)*-.7);rotate:y calc(var(--scene-angle,0deg)*-1)}
.envelope{rotate:x var(--scene-angle,0deg)}
.ending-doodle{translate:0 calc(var(--scene-y,0px)*1.2);rotate:var(--scene-angle,0deg)}
.ending:before{transform:translateY(var(--scene-y,0px))}.ending:after{transform:translateY(calc(var(--scene-y,0px)*-.65))}
.scene-sketch{position:absolute;width:70px;height:70px;right:5%;top:30px;fill:none;stroke:var(--wine);stroke-width:1.1;pointer-events:none;opacity:.55;translate:0 var(--scene-y,0px);rotate:var(--scene-angle,0deg)}
.scene-sketch path{stroke-dasharray:100;stroke-dashoffset:var(--ink,100)}
.future-section .scene-sketch{stroke:#e3cc99}.open-when-section .scene-sketch{right:auto;left:4%;top:55px;width:55px}
.flying-hearts{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:95;contain:strict}
.flying-heart{position:absolute;display:block;font-family:Georgia,serif;font-weight:400;line-height:1;will-change:transform,opacity;user-select:none}
@media(max-width:700px){.scene-sketch{width:40px;height:40px;top:15px;right:20px}.open-when-section .scene-sketch{width:35px;top:20px;left:15px}.open-note,.future-ticket{rotate:none}}
@media(prefers-reduced-motion:reduce){.chapter-card,.chapter-art,.film-frame,.film-note .handwritten,.memory-card,.keepsake svg,.open-note,.future-ticket,.envelope,.ending-doodle,.scene-sketch{translate:none;rotate:none}.film-frame{transform:rotate(-2deg)}.scene-sketch path{stroke-dashoffset:0}.ending:before,.ending:after{transform:none}}
