/* Boot preserves the first frame's layout while the controller module loads.
   No-JavaScript and motion-reduced pages never acquire these classes. */
.site-boot{scroll-behavior:auto!important}
html.site-boot .site-header{position:fixed}
html.site-boot .scroll-journey{padding-top:0}
.site-boot .scene-copy{opacity:0!important;transition:none!important}
.site-boot[data-boot-scene="0"] .scene-0,
.site-boot[data-boot-scene="1"] .scene-1,
.site-boot[data-boot-scene="2"] .scene-2,
.site-boot[data-boot-scene="3"] .scene-3{opacity:1!important;transform:none!important}
.site-boot .instrument-world,.site-boot .card-library,.site-boot .event-showcase,.site-boot .route-visual{opacity:0!important;transition:none!important}
.site-boot[data-boot-scene="0"] .instrument-world,
.site-boot[data-boot-scene="1"] .card-library,
.site-boot[data-boot-scene="2"] .event-showcase{opacity:1!important;transform:var(--boot-translate) scale(var(--visual-scale))!important}
.site-boot[data-boot-scene="3"] .route-visual{opacity:1!important;transform:var(--boot-translate) scale(var(--route-scale))!important}
/* Direct links reveal only after their real scroll destination is known.
   The boot watchdog removes this bounded concealment after 1.2 seconds. */
.site-boot[data-boot-destination="anchor"] main{visibility:hidden}
html:not(.scroll-ready) .card-row{transform:none!important}

