/* ============================================================
   CGC premium finishes — scroll reveals, count-ups, nav depth,
   reading progress. Pure progressive enhancement: nothing here
   hides content unless finishes.js is running.
   ============================================================ */

/* scroll reveal (class added by JS only) */
.fx-reveal{opacity:0;transform:translateY(22px);
  transition:opacity .7s cubic-bezier(.2,0,0,1),transform .7s cubic-bezier(.2,0,0,1);
  transition-delay:var(--fx-d,0ms);will-change:opacity,transform;}
.fx-reveal.fx-in{opacity:1;transform:none;}
.fx-instant{transition:none !important;}

/* sticky nav gains depth once the page scrolls */
.nav{transition:box-shadow .3s ease;}
.nav.fx-scrolled{box-shadow:0 8px 28px rgba(11,16,18,.35);}

/* reading progress bar (blog posts) */
.fx-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:90;
  background:linear-gradient(90deg,#FFDE59,#E5C033);pointer-events:none;
  box-shadow:0 0 8px rgba(255,222,89,.5);}

/* gentle lift for buttons — a touch more life on hover */
.btn-primary,.kit-btn,.ct-submit,.feat-cta{transition:transform .18s ease,background .2s,border-color .2s,box-shadow .18s ease;}
.btn-primary:hover,.kit-btn:hover,.ct-submit:hover,.feat-cta:hover{transform:translateY(-1px);}

@media (prefers-reduced-motion: reduce){
  .fx-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  .fx-progress{display:none;}
}
