/* CSTS Sports — effects layer (reveal, nav shrink, mobile drawer, to-top) */
html.csts-js body { opacity: 0; animation: csts-page-in .55s ease-out .05s forwards; }
@keyframes csts-page-in { to { opacity: 1; } }

.csts-pre { opacity: 0; transform: translateY(22px); }
.csts-pre.csts-in { opacity: 1; transform: none; transition: opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1); }

@media (prefers-reduced-motion: reduce) {
  html.csts-js body { animation: none; opacity: 1; }
  .csts-pre { opacity: 1; transform: none; }
}

/* nav shrink */
header.fixed.csts-nav-shrunk { box-shadow: 0 6px 24px rgba(0,0,0,.45); }
header.fixed.csts-nav-shrunk > div:last-of-type, header.fixed.csts-nav-shrunk .h-20 { height: 4.5rem; }
header.fixed.csts-nav-shrunk { background: rgba(6,40,31,.98); }

/* mobile drawer */
#csts-mobile-nav { transform: translateX(100%); transition: transform .3s ease; visibility: hidden; }
#csts-mobile-nav.csts-open { transform: translateX(0); visibility: visible; }
.csts-no-scroll { overflow: hidden; }
#csts-menu-btn .csts-burger { transition: transform .25s ease, opacity .25s ease; }
#csts-menu-btn[aria-expanded="true"] .csts-burger.top { transform: translateY(7px) rotate(45deg); }
#csts-menu-btn[aria-expanded="true"] .csts-burger.mid { opacity: 0; }
#csts-menu-btn[aria-expanded="true"] .csts-burger.bot { transform: translateY(-7px) rotate(-45deg); }

/* back to top */
#csts-top-btn { opacity: 0; pointer-events: none; transition: opacity .3s ease, transform .3s ease; transform: translateY(8px); }
#csts-top-btn.csts-show { opacity: 1; pointer-events: auto; transform: none; }
