/* Mechanical page-load preloader */
.mechanical-intro{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#0a1c38 0%,#050b17 42%,#020307 100%);color:#eaf4ff;opacity:1;visibility:visible;transition:opacity .48s ease,visibility .48s ease}
.mechanical-intro.is-exiting{opacity:0;visibility:hidden;pointer-events:none}
.intro-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(75,143,231,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(75,143,231,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse at center,#000 0%,transparent 72%);opacity:.55}
.intro-corner{position:absolute;width:clamp(42px,9vw,110px);height:clamp(42px,9vw,110px);border-color:#397ed0;opacity:.75}
.intro-corner-tl{top:26px;left:26px;border-top:1px solid;border-left:1px solid}.intro-corner-br{right:26px;bottom:26px;border-right:1px solid;border-bottom:1px solid}
.intro-machine{position:relative;width:clamp(170px,32vw,238px);height:clamp(170px,32vw,238px);display:grid;place-items:center;margin-bottom:27px;filter:drop-shadow(0 0 25px rgba(25,112,255,.22));animation:introMachineEnter .75s cubic-bezier(.16,1,.3,1) both}
.intro-orbit{position:absolute;border:1px solid rgba(81,158,255,.34);border-radius:50%;inset:2%;box-shadow:inset 0 0 20px rgba(35,113,221,.08),0 0 18px rgba(35,113,221,.08)}
.intro-orbit-one{transform:rotateX(64deg);animation:introOrbitSpin 5s linear infinite}.intro-orbit-two{inset:12%;transform:rotateY(64deg);border-style:dashed;animation:introOrbitReverse 9s linear infinite}
.intro-gear{position:absolute;border-radius:50%;display:grid;place-items:center;border:2px solid #438de9;background:radial-gradient(circle,#0d2548 0 44%,#071326 45% 66%,#1b5db0 67% 70%,#071326 71%);box-shadow:0 0 0 5px rgba(38,113,207,.09),0 0 22px rgba(30,120,255,.2),inset 0 0 18px rgba(76,156,255,.18)}
.intro-gear:before{content:"";position:absolute;inset:-9px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#3479ca 0deg 8deg,transparent 8deg 15deg);mask:radial-gradient(circle,transparent 0 68%,#000 69% 78%,transparent 79%)}
.intro-gear-large{width:66%;height:66%;animation:introGearSpin 8s linear infinite}.intro-gear-small{width:31%;height:31%;right:9%;bottom:13%;border-color:#7bb9ff;animation:introGearReverse 5s linear infinite}
.intro-gear span{width:30%;height:30%;border:1px solid #80bfff;border-radius:50%;box-shadow:0 0 14px #2478d9,inset 0 0 10px #2478d9}
.intro-gear i{position:absolute;width:1px;height:20%;background:#75b6ff;top:12%;left:50%;transform-origin:50% 190%}
.intro-gear i:nth-of-type(2){transform:rotate(45deg)}.intro-gear i:nth-of-type(3){transform:rotate(90deg)}.intro-gear i:nth-of-type(4){transform:rotate(135deg)}.intro-gear i:nth-of-type(5){transform:rotate(180deg)}.intro-gear i:nth-of-type(6){transform:rotate(225deg)}.intro-gear i:nth-of-type(7){transform:rotate(270deg)}.intro-gear i:nth-of-type(8){transform:rotate(315deg)}.intro-gear-small i{height:18%;background:#c4e1ff}
.intro-core{position:absolute;width:27%;height:27%;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#163f73,#071326);border:1px solid #b7dcff;box-shadow:0 0 28px rgba(67,155,255,.45),inset 0 0 14px rgba(118,188,255,.3)}
.intro-core b{font-size:clamp(26px,5vw,39px);font-weight:800;letter-spacing:-4px;color:#eff7ff;text-shadow:0 0 15px #5ba8ff}.intro-core span{position:absolute;inset:-12px;border:1px solid rgba(143,199,255,.65);border-radius:50%;animation:introCorePulse 1.3s ease-in-out infinite}
.intro-scanline{position:absolute;width:120%;height:1px;background:linear-gradient(90deg,transparent,#8bcaff,transparent);box-shadow:0 0 12px #4d9eff;animation:introScan 1.8s ease-in-out infinite}
.intro-brand{font-size:clamp(21px,4vw,30px);font-weight:800;letter-spacing:.42em;padding-left:.42em;text-shadow:0 0 20px rgba(77,155,255,.55);animation:introTextIn .8s .2s both}
.intro-subtitle{margin-top:11px;font-size:9px;letter-spacing:.25em;color:#8db8e9;animation:introTextIn .8s .35s both}
.intro-progress{width:min(230px,58vw);height:2px;background:rgba(121,174,238,.2);margin-top:35px;overflow:hidden}
.intro-progress span{display:block;height:100%;background:linear-gradient(90deg,#2365bc,#8fd2ff,#fff);box-shadow:0 0 12px #4e9fff;transition:width .22s ease}
.intro-status{width:min(230px,58vw);display:flex;justify-content:space-between;margin-top:10px;font-size:8px;letter-spacing:.16em;color:#7298c4}.intro-status strong{color:#d9ecff;font-weight:600}
@keyframes introGearSpin{to{transform:rotate(360deg)}}@keyframes introGearReverse{to{transform:rotate(-360deg)}}@keyframes introOrbitSpin{to{transform:rotateX(64deg) rotateZ(360deg)}}@keyframes introOrbitReverse{to{transform:rotateY(64deg) rotateZ(-360deg)}}@keyframes introCorePulse{0%,100%{transform:scale(.88);opacity:.35}50%{transform:scale(1.18);opacity:1}}@keyframes introScan{0%,100%{transform:translateY(-70px);opacity:0}35%,70%{opacity:.8}50%{transform:translateY(70px)}}@keyframes introMachineEnter{from{opacity:0;transform:scale(.65) rotate(-24deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes introTextIn{from{opacity:0;transform:translateY(12px);letter-spacing:.7em}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){.intro-corner-tl{top:16px;left:16px}.intro-corner-br{right:16px;bottom:16px}.intro-machine{margin-bottom:22px}.intro-brand{letter-spacing:.3em;padding-left:.3em}}
@media(prefers-reduced-motion:reduce){.mechanical-intro{display:none!important}}


/* Four mechanical arms converge over a deliberate seven-second intro */
.intro-arm{position:absolute;z-index:4;left:50%;top:50%;width:49%;height:18px;transform-origin:left center;pointer-events:none;filter:drop-shadow(0 0 7px rgba(70,155,255,.55));animation:armConverge 7s cubic-bezier(.16,.82,.28,1) both}
.intro-arm-top{--arm-angle:-90deg;animation-delay:0s}
.intro-arm-right{--arm-angle:0deg;animation-delay:.12s}
.intro-arm-bottom{--arm-angle:90deg;animation-delay:.24s}
.intro-arm-left{--arm-angle:180deg;animation-delay:.36s}
.intro-arm:before{content:"";position:absolute;left:0;top:5px;width:100%;height:8px;border:1px solid #6eb8ff;border-radius:3px;background:linear-gradient(180deg,#a5d9ff,#2868ad 42%,#0a1c35 75%);box-shadow:0 0 10px rgba(70,157,255,.55),inset 0 1px 2px rgba(255,255,255,.55)}
.intro-arm:after{content:"";position:absolute;left:47%;top:1px;width:22px;height:16px;border:2px solid #8bcaff;border-radius:4px;background:linear-gradient(135deg,#194d84,#07172b);box-shadow:0 0 9px #398ce0}
.intro-arm i{position:absolute;z-index:1;left:10%;top:0;width:13px;height:18px;border:2px solid #a4d7ff;border-radius:3px;background:linear-gradient(90deg,#17395f,#6ba9e9,#102847)}
.intro-arm b{position:absolute;right:-2px;top:1px;width:18px;height:16px;border:2px solid #a7d8ff;border-left:0;border-radius:0 8px 8px 0;background:linear-gradient(90deg,#2866a5,#0a1d35);box-shadow:0 0 10px rgba(94,174,255,.65)}
@keyframes armConverge{0%{opacity:0;transform:rotate(var(--arm-angle)) translateX(-168%) scale(.72)}55%{opacity:1}78%{transform:rotate(var(--arm-angle)) translateX(-94%) scale(1.04)}100%{opacity:1;transform:rotate(var(--arm-angle)) translateX(-100%) scale(1)}}
.intro-core{z-index:5}
@media(prefers-reduced-motion:reduce){.intro-arm{animation:none;opacity:1;transform:rotate(var(--arm-angle)) translateX(-100%)}}

.intro-core img{display:block;width:72%;height:72%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 8px rgba(91,168,255,.55))}
