/* The site's one scroll prompt; markup from /site/scroll-cue.js. Glass and
   mono like the rails and the top bar; the colour follows the page's accent
   (--accent on team and services, the engine's --sc-accent elsewhere). A
   fixed strip down the right edge, there for the whole scroll; it hides only
   at the bottom of the page. */
.scroll-cue{--cue:var(--accent,var(--sc-accent,#9be5ff));--cue-p:0;display:flex;align-items:center;gap:10px;color:var(--cue);pointer-events:none;user-select:none;transition:opacity .25s linear}
.scroll-cue.is-gone{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s .25s}
.scroll-cue svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scroll-cue__icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:52px;border-radius:23px;background:#07111ecc;border:1px solid #758ca43b;box-shadow:0 0 0 1px #ffffff08 inset,0 6px 18px #0006,0 0 22px color-mix(in srgb,var(--cue) 28%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.scroll-cue__icon>svg{grid-area:1/1}
.scroll-cue__icon>.scroll-cue__hand,.scroll-cue.is-touch .scroll-cue__icon>.scroll-cue__mouse{display:none}
.scroll-cue.is-touch .scroll-cue__icon>.scroll-cue__hand{display:block}
.scroll-cue__dot{fill:currentColor;stroke:none;animation:scroll-cue-dot 1.6s cubic-bezier(.45,0,.3,1) infinite}
.scroll-cue__swipe{animation:scroll-cue-swipe 1.6s ease-in-out infinite}
.scroll-cue.is-touch .scroll-cue__hand>path:not(.scroll-cue__swipe){animation:scroll-cue-handlift 1.6s ease-in-out infinite}
.scroll-cue__chevrons{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:1px}
.scroll-cue__chevrons i{display:block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.35;animation:scroll-cue-chev 1.6s ease-in-out infinite}
.scroll-cue__chevrons i+i{animation-delay:.2s;margin-top:-4px}
.scroll-cue__label{flex:0 0 auto;font:600 9px/1 "JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;letter-spacing:.26em;text-transform:uppercase;color:#dfe8f5;text-shadow:0 1px 8px #000c}

/* The strip: down the right edge, between the top bar (plus anything the page
   keeps under it) and the bottom rail. A page can push the top down with
   --bbb-cue-top (team phones: below the copy) or cap the height with
   --bbb-cue-max-h (services phones: inside the fixed band, above the blocks). */
.scroll-cue--strip{position:fixed;z-index:66;right:3.2vw;top:max(calc(var(--bbb-nav-h,72px) + var(--bbb-cue-avoid,0px) + 22px),var(--bbb-cue-top,0px));bottom:calc(var(--bbb-rail-h,52px) + 36px);max-height:var(--bbb-cue-max-h,none);width:46px;flex-direction:column;justify-content:flex-start;gap:8px}
.scroll-cue--strip .scroll-cue__label{writing-mode:vertical-rl;letter-spacing:.3em;margin-top:2px}
.scroll-cue__line{position:relative;flex:1 1 auto;width:2px;min-height:40px;margin-top:6px;border-radius:2px;background:#a6bcdb2e}
.scroll-cue__line i{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:2px;background:var(--cue);box-shadow:0 0 10px color-mix(in srgb,var(--cue) 60%,transparent);transform:scaleY(var(--cue-p));transform-origin:top}
body:not(.is-motion) .scroll-cue--strip{display:none}

@keyframes scroll-cue-dot{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}71%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes scroll-cue-chev{0%,100%{opacity:.25;transform:rotate(45deg) translate(0,0)}50%{opacity:1;transform:rotate(45deg) translate(2px,2px)}}
@keyframes scroll-cue-swipe{0%,100%{opacity:0;transform:translateY(4px)}40%{opacity:1;transform:translateY(0)}80%{opacity:0;transform:translateY(-5px)}}
@keyframes scroll-cue-handlift{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:700px){
  .scroll-cue--strip{right:14px;top:max(calc(var(--bbb-nav-h,63px) + 22px),var(--bbb-cue-top,0px));bottom:calc(var(--bbb-rail-h,46px) + 34px);width:42px}
  .scroll-cue__icon{width:40px;height:46px;border-radius:20px}
  .scroll-cue--strip .scroll-cue__label{font-size:8px}
}
@media(max-width:700px) and (max-height:720px){.scroll-cue__line{min-height:24px}}
@media(max-height:650px){.scroll-cue--strip{top:max(calc(var(--bbb-nav-h,72px) + var(--bbb-cue-avoid,0px) + 12px),var(--bbb-cue-top,0px))}}
/* Static when the site's motion rule (html[data-motion], /site/motion.js) is not "on". */
html:not([data-motion=on]) .scroll-cue *{animation:none!important}
html:not([data-motion=on]) .scroll-cue__chevrons i{opacity:.8}
html:not([data-motion=on]) .scroll-cue__swipe{opacity:1}
