/* Verified accessibility and loading repairs, 5 November 2026. */
html { scroll-padding-top: 90px; }
main { display: block; }
.hero-tagline { opacity:1; font-weight:inherit; }
.hero-tagline .word { opacity:1; transform:none; animation:none; }
/* Content is readable before scripts and when a script fails. */
.fade-in-up { opacity:1; transform:none; }
.footer-links a,.footer-links button { min-height:32px; display:inline-flex; align-items:center; }
.footer-links button,[data-cookie-settings] { font:inherit; color:inherit; background:none; border:0; text-decoration:underline; cursor:pointer; padding:8px; }
.site-header { flex-wrap:wrap; height:auto; min-height:64px; gap:12px; }
.site-header .header-left { min-width:0; }
.site-header .close-btn { flex:none; width:36px; height:36px; }
.site-header .hstep { color:#aaa; }
.site-header.light .hstep,.site-header.light .hstep.done { color:#555; }
.site-header.light .hstep.active { color:#665400; }
.basket-title { margin:0; }
.audit-footer,.nojs-notice { padding:24px; font:14px/1.6 system-ui; color:#eee; background:#111; }
.audit-footer a,.nojs-notice a { color:#ffd700; }
.cookie-panel { position:fixed; z-index:20000; bottom:16px; left:16px; width:min(480px,calc(100% - 32px)); padding:22px; border:1px solid #777; background:#111; color:white; font:15px/1.55 system-ui; box-shadow:0 4px 30px #0008; }
.cookie-panel h2 { font-size:20px; margin:0 0 8px; }
.cookie-panel p { margin:0 0 14px; }
.cookie-panel a { color:#ffd700; text-decoration:underline; }
.cookie-panel .choices { display:flex; flex-wrap:wrap; gap:10px; }
.cookie-panel button { flex:1; padding:12px; border:1px solid #ffd700; border-radius:0; background:#ffd700; color:#111; font:600 14px system-ui; min-height:44px; cursor:pointer; }
.cookie-panel button:focus-visible,a:focus-visible,button:focus-visible { outline:3px solid #ffd700; outline-offset:4px; }
@media(max-width:600px){.site-header .header-steps{order:3;width:100%;justify-content:center}.site-header .header-left{flex:1}.site-header .hstep{padding:4px 6px;letter-spacing:0}.site-header .close-btn{margin-left:auto}.basket-screen{padding-top:130px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-tagline,.hero-tagline .word,.hero-btn,.hero-marker-arrow,.hero-marker-text,.fade-in-up,.screen.active{opacity:1!important;transform:none!important}}

/* Preserve crossfades after first use; do not fetch unseen scene backgrounds. */
.bg-layer:not(.active):not(.loaded){background-image:none}
