/* Scroll hint: quiet, bottom centre, only on the first screen. */
.scroll-hint{position:fixed;z-index:90;left:50%;bottom:30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;color:#fafafa;opacity:.9;transition:opacity .5s ease,transform .5s ease}
.scroll-hint.is-hidden{opacity:0;transform:translate(-50%,10px)}
.scroll-hint-line{position:relative;display:block;width:1.5px;height:52px;background:rgba(250,250,250,.35);overflow:hidden}
.scroll-hint-line i{position:absolute;left:-2.5px;top:-7px;width:6.5px;height:6.5px;border-radius:50%;background:#c7ff4a;animation:scroll-hint-fall 2.2s cubic-bezier(.45,0,.55,1) infinite}
.scroll-hint-word{font-size:15px;font-weight:600;letter-spacing:.01em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
@keyframes scroll-hint-fall{0%{transform:translateY(0);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translateY(60px);opacity:0}}
/* Phones: a shorter hint, lower, so it never crosses the hero paragraph (the copy sits
   above it, timing-v15.css). */
@media(max-width:700px){
  .scroll-hint{bottom:14px;gap:6px}
  .scroll-hint-line{height:26px}
  .scroll-hint-line i{animation-name:scroll-hint-fall-short}
  .scroll-hint-word{font-size:14px}
}
@keyframes scroll-hint-fall-short{0%{transform:translateY(0);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translateY(33px);opacity:0}}
@media(prefers-reduced-motion:reduce){.scroll-hint-line i{animation:none;top:17px}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.scroll-hint-line i{top:9px}}
/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
