/* Franklin McKay Music — roster one-pager dynamic layer
   Scroll reveals, auto-built sticky section nav, smooth anchors, subtle motion.
   Keep it clean: motion is restrained, and prefers-reduced-motion disables it. */

html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  .page-nav{display:none !important;}
}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.22,.8,.3,1);}
.reveal.is-visible{opacity:1;transform:none;}
.reveal-d1{transition-delay:.08s;}
.reveal-d2{transition-delay:.16s;}
.reveal-d3{transition-delay:.24s;}

/* ---------- Sticky section nav ---------- */
.page-nav{position:sticky;top:0;z-index:60;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:rgba(10,6,16,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
  opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;}
.page-nav.is-stuck{opacity:1;transform:none;pointer-events:auto;}
.page-nav .wrap{display:flex;align-items:center;gap:6px;overflow-x:auto;
  padding:0 20px;scrollbar-width:none;}
.page-nav .wrap::-webkit-scrollbar{display:none;}
.page-nav a{flex:0 0 auto;padding:15px 16px;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;color:#a99bc4;text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.page-nav a:hover{color:#fff;}
.page-nav a.is-active{color:#fff;border-bottom-color:currentColor;}
.page-nav .nav-top{margin-left:auto;color:#7a6a99;}

/* ---------- Card lift ---------- */
.lift{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.lift:hover{transform:translateY(-6px);}

/* ---------- Hero content drift (subtle parallax) ---------- */
.drift{will-change:transform;}

/* ---------- Minimal footer (franklinmckay.com format) ---------- */
.footer-simple{display:flex;align-items:center;justify-content:center;gap:10px;
  padding:26px 20px;text-align:center;font-size:13.5px;color:#8f8a9e;flex-wrap:wrap;}
.footer-simple a{color:#b9b3c9;text-decoration:none;}
.footer-simple a:hover{color:#fff;}
.footer-dot{opacity:.5;}
