/* ============================================================
   PJ KAPTEIN WOONSUPPORT - cinematic intro loader (first visit)
   ============================================================ */
#pjintro{position:fixed;inset:0;z-index:99999;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;overflow:hidden;animation:pjiOut .6s cubic-bezier(.6,0,.2,1) 3.8s forwards}
@keyframes pjiOut{to{opacity:0;visibility:hidden}}
#pjintro .pji-tex{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#pjintro .pji-bg{position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 38%,#161616,#050505 70%);opacity:0;animation:pjiFade 1s ease 1.5s forwards}
@keyframes pjiFade{to{opacity:1}}
#pjintro .pji-border{position:absolute;inset:0;width:100%;height:100%;z-index:1}
#pjintro .pji-border rect{fill:none;stroke:#39FF14;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 5px rgba(57,255,20,.7));animation:pjiDraw 1.5s cubic-bezier(.7,0,.2,1) .15s forwards}
@keyframes pjiDraw{to{stroke-dashoffset:0}}
#pjintro .pji-c{position:relative;z-index:2}
.pji-label{font-family:"Inter",system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9da09a;margin-bottom:26px;opacity:0;animation:pjiUp .9s cubic-bezier(.22,.61,.36,1) 1.6s forwards}
.pji-h{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:clamp(48px,10vw,128px);line-height:.88;letter-spacing:.012em;text-transform:uppercase;color:#fff}
.pji-h .ln{display:block;overflow:hidden}
.pji-h .ln>span{display:block;transform:translateY(110%);animation:pjiRise .85s cubic-bezier(.22,.61,.36,1) forwards}
.pji-h .ln:nth-child(1)>span{animation-delay:2.5s}
.pji-h .ln:nth-child(2)>span{animation-delay:2.62s}
.pji-h .ln:nth-child(3)>span{animation-delay:2.74s}
.pji-h em{font-style:normal;color:#39FF14;text-shadow:0 0 46px rgba(57,255,20,.4)}
@keyframes pjiRise{to{transform:translateY(0)}}
.pji-line{width:0;height:2px;background:#39FF14;box-shadow:0 0 12px #39FF14;margin:30px auto 0;animation:pjiLine .7s cubic-bezier(.22,.61,.36,1) 3.2s forwards}
@keyframes pjiLine{to{width:92px}}
.pji-sub{max-width:46ch;margin:22px auto 0;font-family:"Inter",system-ui,sans-serif;font-size:clamp(14px,1.5vw,18px);line-height:1.6;color:#CFD2CC;opacity:0;animation:pjiUp .85s cubic-bezier(.22,.61,.36,1) 3.45s forwards}
@keyframes pjiUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.pji-sweep{position:absolute;top:0;bottom:0;left:0;width:45%;z-index:3;background:linear-gradient(90deg,transparent,rgba(57,255,20,.22),#39FF14);opacity:0;transform:translateX(-130%);animation:pjiSweep .62s cubic-bezier(.7,0,.3,1) 3.68s forwards}
@keyframes pjiSweep{0%{opacity:1;transform:translateX(-130%)}100%{opacity:0;transform:translateX(300%)}}
