/* Shared motion engine — Harshal Dasani (v3: slower, silkier) */
:root{ --hd-ease:cubic-bezier(.22,1,.36,1); --hd-dur:.95s; }
html.motion-ready [data-reveal]{opacity:0;transform:translateY(24px);filter:blur(6px);
  transition-property:opacity,transform,filter!important;transition-duration:var(--hd-dur)!important;
  transition-timing-function:var(--hd-ease)!important;transition-delay:var(--rd,0s)!important;}
html.motion-ready [data-reveal].in{opacity:1!important;transform:none!important;filter:none!important;}
html.motion-ready [data-reveal="fade"]{transform:none;}
html.motion-ready [data-bar]{transform:scaleY(0);transform-origin:bottom;
  transition:transform 1.15s var(--hd-ease)!important;transition-delay:var(--rd,0s)!important;}
html.motion-ready [data-bar].in{transform:scaleY(1)!important;}
html.motion-ready [data-fill]{transform:scaleX(0);transform-origin:left;
  transition:transform 1.2s var(--hd-ease)!important;transition-delay:var(--rd,0s)!important;}
html.motion-ready [data-fill].in{transform:scaleX(1)!important;}
html.motion-ready [data-draw]{stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 1.7s var(--hd-ease)!important;transition-delay:var(--rd,0s)!important;}
html.motion-ready [data-draw].in{stroke-dashoffset:0!important;}
[data-count]{font-variant-numeric:tabular-nums;}

/* v4: cursor 3D tilt + gold gloss, and magnetic buttons (fine-pointer devices only) */
@media (hover:hover) and (pointer:fine){
  html.motion-ready .hd-tilt{position:relative;transform-style:preserve-3d;box-shadow:inset 0 0 0 1px rgba(212,166,74,.22);
    transition:opacity var(--hd-dur) var(--hd-ease),transform .45s var(--hd-ease),box-shadow .35s var(--hd-ease),filter var(--hd-dur) var(--hd-ease)!important;}
  html.motion-ready .hd-tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;
    background:radial-gradient(180px circle at var(--gx,50%) var(--gy,50%),rgba(240,210,138,.28),transparent 60%);
    opacity:var(--gloss,0);transition:opacity .35s var(--hd-ease);}
  html.motion-ready .hd-magnetic{transition:transform .45s var(--hd-ease),background-color .3s ease,color .3s ease,border-color .3s ease!important;}
}
@media (hover:hover) and (pointer:fine){
  html.motion-ready .hd-tilt:hover{box-shadow:inset 0 0 0 1px rgba(212,166,74,.55),0 18px 44px -14px rgba(212,166,74,.45)!important;}
}
