/* PJF.tech – camada de modernização (carregar depois de style.css) */
#scroll-bar{position:fixed;top:0;left:0;height:3px;width:100%;z-index:60;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#6366f1,#8b5cf6,#3b82f6)}
#cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:0;opacity:0;transition:opacity .4s;background:radial-gradient(circle,rgba(99,102,241,.14),transparent 60%)}
header.is-scrolled{background:rgba(9,13,22,.9);box-shadow:0 10px 30px rgba(0,0,0,.35)}
#inicio::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 75%)}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#inicio>.max-w-7xl{position:relative;z-index:1}
@media(max-width:1023px){#hero-canvas{opacity:.4}}
h1 .bg-clip-text{background-size:220% auto;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:220% center}}
.hero-visual{transition:transform .25s ease-out;will-change:transform}
a.bg-gradient-to-r{position:relative;overflow:hidden}
a.bg-gradient-to-r::after{content:"";position:absolute;inset:0;transform:translateX(-120%) skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .7s}
a.bg-gradient-to-r:hover::after{transform:translateX(120%) skewX(-20deg)}
.reveal{opacity:0;translate:0 30px;scale:.98;transition:opacity .8s cubic-bezier(.2,.7,.2,1),translate .8s cubic-bezier(.2,.7,.2,1),scale .8s;transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;translate:0 0;scale:1}
.tilt{position:relative;transform-style:preserve-3d;transition:transform .2s ease-out,border-color .25s,box-shadow .25s}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(129,140,248,.18),transparent 45%)}
.tilt:hover::after{opacity:1}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;translate:none;scale:1}}
