/* ManageHub interaction layer — motion respects reduced-motion */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
  /* hero entrance */
  .hero .eyebrow,.hero h1,.hero .sub,.hero .hero-cta,.hero .sub+*, .hero .ticks,.hero .tickcap,.hero .fit-line,.hero .hf{opacity:0;transform:translateY(18px);animation:heroIn .8s cubic-bezier(.22,.61,.36,1) forwards;}
  .hero h1{animation-delay:.10s}.hero .sub{animation-delay:.22s}.hero .hero-cta{animation-delay:.34s}
  .hero .ticks{animation-delay:.34s}.hero .tickcap{animation-delay:.42s}.hero .fit-line{animation-delay:.46s}.hero .hf{animation-delay:.5s}
  @keyframes heroIn{to{opacity:1;transform:none}}
  /* benchmark ticks light up in sequence */
  .hero .tick.on{animation:tickPop .5s ease both;}
  @keyframes tickPop{from{opacity:.25;transform:scaleY(.4)}to{opacity:1;transform:none}}
}
/* hover micro-interactions (safe for all) */
.btn{transition:transform .15s ease,background .15s ease,box-shadow .15s ease;}
.btn:hover{box-shadow:0 8px 22px rgba(201,151,31,.28);}
.vcard,.tool,.card,.cred,.medal,.g,.cat,.step,.hstep,.phase,.mcol{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.vcard:hover,.tool:hover,.cred:hover,.g:hover,.step:hover,.hstep:hover,.phase:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(12,26,53,.13);}
.vthumb .play{transition:transform .2s ease;}
.vcard:hover .vthumb .play{transform:scale(1.12);}
.nav-links a:not(.btn){position:relative;}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gold);transition:width .22s ease;}
.nav-links a:not(.btn):hover::after{width:100%;}
/* mobile menu */
.menu-btn{display:none;background:none;border:none;cursor:pointer;width:30px;height:30px;position:relative;}
.menu-btn span{position:absolute;left:3px;right:3px;height:2.5px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
.menu-btn span:nth-child(1){top:7px}.menu-btn span:nth-child(2){top:14px}.menu-btn span:nth-child(3){top:21px}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:920px){
  .menu-btn{display:block;}
  .nav-links{position:fixed;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;max-height:calc(100vh - 68px);overflow-y:auto;box-shadow:0 20px 40px rgba(12,26,53,.16);}
  .nav-links.open{transform:none;opacity:1;pointer-events:auto;}
  .nav-links a:not(.btn){display:block!important;padding:14px 28px;color:var(--ink);font-size:16px;}
  .nav-links .btn.small{margin:12px 28px 0;text-align:center;}
  .nav-links .dd{padding:0;}
  .nav-links .dd>a{display:block;padding:14px 28px;}
  .nav-links .dd .dd-menu{display:none;position:static;box-shadow:none;border:none;border-radius:0;padding:0 0 0 14px;min-width:auto;background:transparent;}
  .nav-links .dd.open .dd-menu{display:block;}
  .nav-links .dd .dd-menu a{padding:11px 28px;font-size:14.5px;}
}
