/* Scroll cue · a small blinking invitation to scroll, bottom-centre of the first screen.
   Appears after the opening, fades away as soon as the visitor scrolls, static under reduced motion. */
.scroll-cue{position:absolute;z-index:12;left:50%;bottom:20px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:8px 14px;min-width:44px;min-height:44px;background:none;border:0;border-radius:12px;color:#F6F2EA;font:600 10px/1 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .7s cubic-bezier(.2,.7,.2,1),visibility 0s linear .7s;-webkit-tap-highlight-color:transparent}
.scroll-cue.is-ready{opacity:.95;visibility:visible;transition:opacity .9s cubic-bezier(.2,.7,.2,1),visibility 0s}
.scroll-cue.is-ready.is-gone{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}
.scroll-cue--light{color:#F6F2EA;text-shadow:0 1px 8px rgba(9,20,34,.8);background:radial-gradient(closest-side,rgba(12,22,38,.5),rgba(12,22,38,0))}
.scroll-cue--dark{color:#15213A;text-shadow:0 0 10px #F6F2EA,0 0 4px #F6F2EA}
.scroll-cue:hover .scroll-cue-label{text-decoration:underline;text-underline-offset:4px}
.scroll-cue:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.scroll-cue-mouse{position:relative;display:block;width:20px;height:31px;border:1.5px solid currentColor;border-radius:11px;box-sizing:border-box}
.scroll-cue-mouse i{position:absolute;left:50%;top:6px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:currentColor;animation:scrollCueDot 1.9s cubic-bezier(.45,0,.3,1) infinite}
.scroll-cue-chev{display:none;width:16px;height:16px;animation:scrollCueBlink 1.9s ease-in-out infinite}
.scroll-cue-chev path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.scroll-cue-label{display:block;padding-left:.24em}
@media (hover:none) and (pointer:coarse){.scroll-cue-mouse{display:none}.scroll-cue-chev{display:block;order:2}}
@keyframes scrollCueDot{0%{opacity:0;transform:translateY(-2px)}25%{opacity:1}70%{opacity:1;transform:translateY(9px)}100%{opacity:0;transform:translateY(11px)}}
@keyframes scrollCueBlink{0%,100%{opacity:.3;transform:translateY(-2px)}50%{opacity:1;transform:translateY(3px)}}
@media (prefers-reduced-motion:reduce){.scroll-cue,.scroll-cue.is-ready,.scroll-cue.is-ready.is-gone{transition:none}.scroll-cue-mouse i,.scroll-cue-chev{animation:none;opacity:1;transform:none}}
