/* Finite opening celebration; scene and reading controls remain independent. */
.discovery-intro{transition:opacity .8s ease,filter .8s ease;z-index:200}
.discovery-intro.intro-departing{opacity:0;filter:blur(8px);pointer-events:none}
.scroll-confetti{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:4}
.scroll-confetti i{position:absolute;left:50%;top:47%;width:var(--size);height:calc(var(--size)*.55);background:var(--colour);border-radius:2px;opacity:0;transform:translate(-50%,-50%)}
.scroll-confetti i:nth-child(3n){border-radius:100% 0 100% 0;height:var(--size)}
.scroll-confetti i:nth-child(5n){clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%);height:var(--size);border-radius:0}
.intro-revealed .scroll-confetti i{animation:invitation-burst-v12 2.9s var(--delay) cubic-bezier(.12,.56,.32,1) both}
@keyframes invitation-burst-v12{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}8%{opacity:1}55%{opacity:.95}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.8) rotate(var(--spin))}}
/* The gate follows the cottage lane before turning toward the woodland. */
#journey-viewport[data-transit=lane] #scene-camera{animation:cottage-lane-v12 2.65s cubic-bezier(.3,.6,.2,1) both}
@keyframes cottage-lane-v12{0%,22%{transform:translate3d(0,0,-90px)}65%{transform:translate3d(-5vw,8vh,400px) rotateY(-2deg)}100%{transform:translate3d(-19vw,15vh,680px) rotateY(-8deg)}}
#journey-viewport[data-transit=lane] .village-friends{opacity:0;transition:opacity .65s}
#journey-viewport[data-transit=lane] .journey-story{opacity:.45;transition:opacity .6s}
#journey-viewport[data-transit=lane] .village-gate{pointer-events:none!important}
.parents-view{background:#f5e7c5;min-height:100svh;padding-bottom:80px}
.parents-view .view-title{margin-bottom:20px;color:#49264f}
.parents-view .parent-guide-lead,.parents-view .view-toolbar p{color:#654457}
#journey-app[data-motion=still] .scroll-confetti{display:none}
@media(prefers-reduced-motion:reduce){.scroll-confetti{display:none}.discovery-intro{transition:none}#journey-viewport[data-transit=lane] #scene-camera{animation:none}}
