/* IPAS V1.1.24 — lightweight interaction enhancements on public pages. */
:root{scroll-padding-top:106px}
html{scroll-behavior:smooth}
main [id]{scroll-margin-top:106px}
/* A comfortable transition across the gap between menu trigger and flyout. */
@media (min-width:1121px) and (hover:hover) and (pointer:fine){
  #site-nav .nav-dropdown-menu{top:calc(100% + 10px)}
  #site-nav .nav-dropdown-menu::after{content:"";position:absolute;left:0;right:0;top:-13px;height:13px;z-index:-1}
  #site-nav .nav-dropdown[open] > .nav-dropdown-menu{animation:ipas-dropdown-in .19s cubic-bezier(.2,.75,.25,1) both}
}
@keyframes ipas-dropdown-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* One-pixel reading progress bar, unobtrusive and pointer-safe. */
#ipas-scroll-progress{position:fixed;z-index:201;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#B58941 0%,#1E5D53 100%);transform:scaleX(0);transform-origin:left center;pointer-events:none;will-change:transform}
/* Floating back-to-top, consistent across every public page. */
#ipas-back-to-top{position:fixed;z-index:90;right:max(20px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#1E5D53;color:#fff;font:700 25px/1 Inter,system-ui,sans-serif;box-shadow:0 10px 32px rgba(12,39,45,.24);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background .2s ease;touch-action:manipulation}
#ipas-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
#ipas-back-to-top:hover{background:#174b43;transform:translateY(-3px)}
#ipas-back-to-top:focus-visible{outline:3px solid #B58941;outline-offset:4px}
/* Progressive enhancement: only JS-selected, below-fold content animates. */
.ipas-reveal{opacity:0;transform:translate3d(0,20px,0);transition:opacity .62s cubic-bezier(.2,.65,.25,1),transform .62s cubic-bezier(.2,.65,.25,1)}
.ipas-reveal.is-inview{opacity:1;transform:translate3d(0,0,0)}
@media(max-width:640px){:root{scroll-padding-top:78px}main [id]{scroll-margin-top:78px}#ipas-back-to-top{right:16px;bottom:20px;width:46px;height:46px;border-radius:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.ipas-reveal{opacity:1!important;transform:none!important;transition:none!important}#ipas-back-to-top{transition:none!important}#site-nav .nav-dropdown[open]>.nav-dropdown-menu{animation:none!important}}
