/* Static approved artwork. No animation, image swaps, or script. */
#footer-world{position:relative;width:100%;overflow:hidden;background:#fbfaf9;margin:0;padding:0;line-height:0}
#footer-world img{display:block;width:100%;height:auto;max-width:none;margin:0}


#footer-world::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:#fbfaf9;z-index:1;pointer-events:none}
/* Local camera-framing study. Scroll stays entirely under the reader's control. */
#footer-world img{transform-origin:0 0}
@media(prefers-reduced-motion:reduce){#footer-world img{transform:none!important;will-change:auto}}
.camera-stage{position:relative;transform-origin:0 0}
#footer-world .camera-stage>img:first-child{will-change:auto}
.world-air{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#footer-world .train-edge-plate,#footer-world .train-layer{position:absolute;left:50.130208%;top:10.674462479330977%;width:24.739583%;height:auto;pointer-events:none}
.train-layer{animation:train-pass 18s linear 1 forwards;animation-play-state:paused}
@keyframes train-pass{0%,15%{transform:translate(0,0)}85%,100%{transform:translate(-2.3%,1%)}}
.bird-flight{animation:bird-cross 29s linear infinite;animation-play-state:paused;opacity:0}
.bird-two{animation-delay:-17s;animation-duration:39s}
@keyframes bird-cross{0%,4%{transform:translate(0,0);opacity:0}9%{opacity:.65}62%{opacity:.65}69%,100%{transform:translate(1180px,-45px);opacity:0}}
.water-rings ellipse{fill:none;stroke:#d3e8dc;stroke-width:1.8;transform-box:fill-box;transform-origin:center;animation:water-ring 5s ease-out infinite;animation-play-state:paused;opacity:0}
.water-rings ellipse+ellipse{animation-delay:2s}.ring-two ellipse{animation-delay:-2s}
@keyframes water-ring{0%{transform:scale(.45);opacity:0}20%{opacity:.55}100%{transform:scale(1.7);opacity:0}}
.camera-details-running .train-layer,.camera-details-running .bird-flight,.camera-details-running .water-rings ellipse{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.camera-stage{transform:none!important;will-change:auto}.world-air,.train-layer,.train-edge-plate{display:none}}

#footer-world .wood-boat-edge,#footer-world .wood-boat{position:absolute;left:30.598958%;top:14.980530496872452%;width:9.114583%;height:auto;pointer-events:none}
.wood-boat{animation:woodboat-pass 20s linear 1 forwards;animation-play-state:paused}
@keyframes woodboat-pass{0%,10%{transform:translate(0,0)}90%,100%{transform:translate(-4%, -1.2%)}}
.camera-details-running .wood-boat{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.wood-boat,.wood-boat-edge{display:none}}
#footer-world.camera-enabled{overflow:clip;background:#000}
.camera-enabled .camera-screen{position:sticky;top:0;height:100vh;overflow:hidden;width:100%}
.camera-enabled .camera-stage{position:absolute;top:0;left:0;width:100%}
@media(prefers-reduced-motion:reduce){.camera-screen{position:static;height:auto;overflow:visible}}

#bird path,#bird-b path,#bird-c path{transform-box:fill-box;transform-origin:center;animation:bird-wing .85s ease-in-out infinite alternate;animation-play-state:paused}
@keyframes bird-wing{from{transform:scaleY(1)}to{transform:scaleY(.25)}}
.camera-details-running #bird path,.camera-details-running #bird-b path,.camera-details-running #bird-c path{animation-play-state:running}

@media(prefers-reduced-motion:reduce){#footer-world .train-layer,#footer-world .train-edge-plate,#footer-world .wood-boat,#footer-world .wood-boat-edge{display:none!important}}

#bird-b path{animation-delay:-.3s;animation-duration:.74s}#bird-c path{animation-delay:-.6s;animation-duration:.97s}
/* Blend at the page boundary, outside the zoomed camera's coordinates. */
#footer-world.camera-enabled::before{height:clamp(140px,22vh,200px);background:linear-gradient(to bottom,#fbfaf9 0%,rgba(251,250,249,.96) 12%,rgba(251,250,249,.72) 38%,rgba(251,250,249,.28) 72%,rgba(251,250,249,0) 100%);z-index:3}

/* Effects start on arrival at their own scene, not on page entry. */
.train-layer{animation-duration:4s}
@keyframes train-pass{from{transform:translate(0,0)}to{transform:translate(-2.3%,1%)}}
.bird-flight{animation-duration:11s}
.bird-later{animation-duration:13s}
@keyframes bird-cross{0%{transform:translate(0,0);opacity:.6}75%{opacity:.6}100%{transform:translate(900px,-45px);opacity:0}}
.water-rings ellipse{animation-duration:2.8s;stroke-width:2.3}
@keyframes water-ring{0%{transform:scale(.55);opacity:.6}100%{transform:scale(1.7);opacity:0}}

/* Compact only the mobile transition into the illustrated footer. */
@media(max-width:767px){
 .current-section{padding-bottom:12px}
 .current-section p{margin-bottom:17px}
 footer{margin-top:0;margin-bottom:12px}
 .file-card{padding-bottom:8px}
}

/* seam cover: 1px black below the art bottom edge, covers any junction hairline (white-line report, cause unconfirmed) */
#footer-world{box-shadow:0 1px 0 0 #000}
