@media (prefers-reduced-motion:reduce){[data-demo-run]:not([data-demo-optin]).tp-scene .tp-sweep{animation:none}}.tp{position:relative}.tp[data-tilt]{perspective:1000px}.tp[data-touch=drag]{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tp-card{position:relative}.tp[data-tilt] .tp-card{transform:rotateX(calc(var(--rx, 0) * 1deg)) rotateY(calc(var(--ry, 0) * 1deg)) translateZ(calc(var(--lift, 0) * 28px));transform-style:preserve-3d}.tp-shadow{position:absolute;right:14%;bottom:-8%;left:14%;height:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(2,6,23,.5),rgba(2,6,23,.18) 60%,transparent);opacity:0;pointer-events:none}.tp[data-tilt] .tp-shadow{opacity:calc(var(--lift, 0) * .8);transform:translate(calc(var(--ry, 0) * -1.6px),calc(var(--rx, 0) * .8px)) scale(calc(1 + var(--lift, 0) * .12))}.tp-scene{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}.tp-edge,.tp-face{position:absolute;inset:0;border-radius:var(--tp-radius,4.8%/6.2%)}.tp-edge{background:var(
    --tp-edge,linear-gradient(120deg,rgba(241,245,249,.9),rgba(148,163,184,.75) 50%,rgba(226,232,240,.9))
  );opacity:0;transform:translateZ(calc(var(--d) * -3.5px))}.tp[data-tilt] .tp-edge{opacity:1}.tp-face{overflow:hidden;transform:translateZ(1px)}[data-demo-run].tp-scene .tp-face{-webkit-mask-image:var(--tp-mask-wk,var(--tp-mask,none));mask-image:var(--tp-mask,none);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tp-glare{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.75),rgba(255,255,255,.28) 14%,transparent 34%);opacity:0}.tp[data-tilt] .tp-glare{opacity:var(--lift,0);transform:translate(calc(var(--gx, 0) * 22%),calc(var(--gy, 0) * 22%))}.tp-sweep{position:absolute;top:-10%;bottom:-10%;left:-45%;width:40%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.12) 30%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.12) 70%,transparent);opacity:0}[data-demo-run].tp-scene .tp-sweep{animation:tp-sweep 1.8s cubic-bezier(.65,0,.35,1) .2s 1}@keyframes tp-sweep{10%{opacity:1}80%{opacity:1;transform:translateX(380%)}81%{opacity:0;transform:translateX(380%)}}