/* More visible atmosphere, without strobing; every effect yields to reduced motion. */
.title-sparks{position:absolute;inset:0 40% 0 0;pointer-events:none}.title-sparks .particles{opacity:.8}
.book-cover{display:block;width:min(100%,290px);height:auto;margin:0 auto 28px;box-shadow:8px 12px 30px #0008;border:1px solid #dcc89c55}
.scene-lights{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.scene-lights i{position:absolute;left:var(--gx);top:var(--gy);width:20%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffc05a66,transparent 64%);opacity:.6;animation:lantern-breathe 4.6s var(--delay) infinite ease-in-out}
.scene-lights i.cool{width:34%;background:radial-gradient(ellipse,#6ce8d433,transparent 66%);animation:cap-breathe 8s var(--delay) infinite ease-in-out}
.water-shimmer{position:absolute;left:0;right:0;bottom:3%;height:28%;pointer-events:none;opacity:.1;background:repeating-linear-gradient(174deg,transparent 0 21px,#92ced077 22px 23px,transparent 25px 39px);mask-image:radial-gradient(ellipse,black,transparent 70%);animation:ripples 9s linear infinite}
.particles i{width:3px;height:3px;box-shadow:0 0 9px 3px #d3d68577}.particles i:nth-child(3n){background:#b9e8b6;box-shadow:0 0 12px 3px #7eb3aa66}
.finale-screen{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:flex-end;background:#050a0e;overflow:hidden}
.finale-art{position:absolute;inset:0;width:62%;height:100%;object-fit:cover;object-position:center 65%}
.finale-veil{position:absolute;inset:0;background:linear-gradient(90deg,#05090b11 15%,#080f13aa 45%,#080f13 68%)}
.finale-content{position:relative;width:min(48%,640px);padding:60px 6% 50px 24px}.finale-content h1{font-size:clamp(32px,4vw,58px);margin:22px 0}.finale-content .narration{line-height:1.8}.finale-content .primary{width:100%;margin-top:28px}.finale-controls{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px}.finale-content .eyebrow{font-size:.62rem}
.finale-step-1 .finale-art{animation:fall-away 1.4s ease-out forwards}.finale-step-2 .finale-art{opacity:.035}.finale-step-2 .finale-veil{background:#030608c9}.finale-step-3 .finale-art{animation:empty-alley 3s ease-out both}
.ending-art{background-image:linear-gradient(#060c10d9,#0c1619f2 60%),url('assets/v4-final-alley.webp')}.ending-content h1{font-size:clamp(44px,8vw,86px)}
@keyframes lantern-breathe{0%,100%{opacity:.42}24%{opacity:.76}29%{opacity:.59}52%{opacity:.84}66%{opacity:.54}80%{opacity:.73}}
@keyframes cap-breathe{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.75;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes ripples{to{background-position:35px 39px}}
@keyframes fall-away{to{transform:rotate(-3deg) scale(1.1);filter:blur(5px);opacity:.12}}
@keyframes empty-alley{from{opacity:.12}to{opacity:.85}}
@media(max-width:760px){.cover{height:72svh;object-position:center 25%}.title-content{margin:58svh 24px 36px}.title-shade{background:linear-gradient(0deg,#0d1c1d 0%,#0d1c1d 30%,#0d1c1dcc 45%,transparent 67%)}.title-sparks{inset:0 0 40%}.title-content h1{font-size:46px}.finale-screen{align-items:flex-end}.finale-art{width:100%;height:100%;object-position:center}.finale-veil{background:linear-gradient(#060b1066,#060b10d9 30%,#060b10fa 70%)}.finale-content{width:100%;padding:40px 24px}.finale-content .narration{font-size:1.03rem}.finale-content h1{font-size:35px}.book-cover{width:min(100%,245px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.finale-step-1 .finale-art{opacity:.12}.finale-step-3 .finale-art{opacity:.85}}

.title-music{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.title-music small{color:var(--muted);font-size:.7rem}.title-content h1{font-size:clamp(36px,4.4vw,66px)}.sample-invite{padding:18px 0;color:var(--gold);line-height:1.6;border-top:1px solid var(--line)}
@media(max-width:760px){.title-content h1{font-size:clamp(30px,9vw,46px)}.chapter{max-width:100px}.title-music .quiet{font-size:.8rem;padding:10px 14px}}

.title-music{margin-top:24px;padding-top:10px;border-top:1px solid #c5ab7730;gap:12px}.title-music .text-button{font-size:.72rem;min-height:44px;padding:6px 0;margin:0;text-decoration:none}.title-music small{font-size:.62rem}.book-formats{font-size:.75rem!important;color:var(--gold);letter-spacing:.03em}

.book-sticker{position:absolute;left:28px;top:46%;z-index:3;width:230px;padding:18px 18px 20px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;text-decoration:none;color:#edd8a4;background:linear-gradient(145deg,#293c32f5,#10231ff5);border:1px solid #c3a568;outline:1px solid #c3a56866;outline-offset:-6px;box-shadow:0 8px 26px #0008;transform:rotate(-4deg);border-radius:3px 17px 3px 17px}.book-sticker:hover{background:#30483a;transform:rotate(-2deg)}.sticker-star{font-size:24px;line-height:1}.sticker-kicker{font-size:.54rem;letter-spacing:.16em}.book-sticker strong{font-family:var(--serif);font-size:30px;line-height:1.1}.book-sticker>span:not(.sticker-star):not(.sticker-kicker){font-size:.76rem;line-height:1.6}.book-sticker small{font-size:.54rem;color:#cfccbb}.book-sticker:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:760px){.book-sticker{left:auto;right:18px;top:34svh;width:184px;padding:12px 12px 16px;gap:4px;transform:rotate(-4deg)}.book-sticker strong{font-size:25px}.book-sticker>span:not(.sticker-star):not(.sticker-kicker){font-size:.66rem}.book-sticker small{font-size:.48rem}.sticker-star{font-size:19px}.title-content{margin-top:max(58svh,calc(34svh + 185px))}}
