/* The navigation returns on upward scroll without staying over the page. */
.site-header.scroll-nav-fixed { position:fixed; top:0; left:0; z-index:100; background:rgba(4,23,38,.96); border-bottom:1px solid rgba(152,215,237,.22); box-shadow:0 8px 28px rgba(0,12,25,.2); transform:translateY(-110%); transition:transform .25s ease,background .25s ease; }
.site-header.scroll-nav-fixed.is-revealed { transform:translateY(0); }
.site-header.scroll-nav-fixed .nav-wrap { height:76px; border-bottom:0; }
.back-to-top { position:fixed; z-index:80; right:clamp(14px,2.5vw,32px); bottom:calc(20px + env(safe-area-inset-bottom,0px)); display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:48px; padding:0 14px; border:1px solid #9bd7e9; border-radius:999px; color:#f3fcff; background:rgba(7,38,54,.96); box-shadow:0 8px 24px rgba(0,15,29,.22); font-size:.88rem; font-weight:800; text-decoration:none; opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; transition:opacity .2s,transform .2s,visibility .2s; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.back-to-top span { color:#a9e8fa; font-size:1.25rem; line-height:1; }
.back-to-top:hover { background:#15546b; }
.back-to-top:focus-visible { outline:3px solid #f2c178; outline-offset:3px; }
@media(max-width:1100px) { .site-header.scroll-nav-fixed nav { max-height:calc(100vh - 5rem); max-height:calc(100dvh - 5rem); overflow-y:auto; overscroll-behavior:contain; } }
@media(max-width:620px) { .site-header.scroll-nav-fixed .nav-wrap { height:68px; }.site-header.scroll-nav-fixed nav { top:100%; } body.has-mobile-dock .back-to-top { bottom:calc(92px + env(safe-area-inset-bottom,0px)); } }
@media(prefers-reduced-motion:reduce) { .site-header.scroll-nav-fixed,.back-to-top { transition:none; } }
