/* Cortex Takeover: first-visit cinematic overlay, isolated from site UI. */
html.px-takeover-open{overflow:hidden}
.px-takeover{--cyan:#a9f0f7;--red:#fa5754;position:fixed;inset:0;z-index:2147483600;background:#02080d;color:#e7f1f3;overflow:hidden;isolation:isolate;pointer-events:auto;font-family:'IBM Plex Mono',ui-monospace,Consolas,monospace;letter-spacing:.13em;user-select:none;animation:pxOverture 7.45s linear both}
.px-takeover *{box-sizing:border-box}
.px-takeover-lines{position:absolute;inset:0;z-index:14;pointer-events:none;opacity:.2;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(207,244,255,.09) 4.5px 5px);mix-blend-mode:screen}
.px-takeover-horizon{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 46%,rgba(57,149,160,.19),transparent 58%),repeating-linear-gradient(90deg,transparent 0 119px,rgba(136,220,233,.05) 120px),repeating-linear-gradient(0deg,transparent 0 119px,rgba(136,220,233,.055) 120px);transform:perspective(500px) rotateX(0);animation:pxHorizon 1.5s ease both}
.px-takeover-top,.px-takeover-bottom{position:absolute;left:3.4vw;right:3.4vw;z-index:29;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9ad2dd;font-size:clamp(8px,.65vw,11px);font-weight:700;letter-spacing:.17em;text-shadow:0 1px 4px #010407}
.px-takeover-top{top:26px}.px-takeover-bottom{bottom:24px;color:#789fac}
.px-takeover-top::after{content:"";position:absolute;top:25px;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(158,235,244,.6),rgba(158,235,244,.06))}
.px-takeover-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#88d9d9;box-shadow:0 0 14px #74eff2;animation:pxDot 1.1s ease infinite}
.px-takeover-flash{position:absolute;inset:0;z-index:26;background:#d5fbff;opacity:0;pointer-events:none;animation:pxFlash 7.45s linear both}
.px-takeover-boot{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;animation:pxBootLife 7.45s linear both}
.px-takeover-boot-symbol{position:relative;font-family:Impact,'Arial Narrow',sans-serif;color:var(--cyan);font-size:clamp(56px,13vw,170px);font-weight:900;letter-spacing:-.045em;line-height:1;transform:translateY(20px);animation:pxEmblem .8s cubic-bezier(.13,.8,.21,1) both}
.px-takeover-boot-symbol span{position:absolute;right:-.8em;top:.05em;font-family:ui-monospace,monospace;font-size:.15em;letter-spacing:.12em;color:var(--red)}
.px-takeover-boot-line{width:0;height:2px;background:var(--cyan);box-shadow:0 0 16px rgba(160,255,255,.6);animation:pxWiden .8s ease .18s forwards}
.px-takeover-boot-overline{margin-top:24px;color:#a0d3dc;font-size:clamp(9px,.8vw,13px);animation:pxRevealUp .6s ease .1s both}
.px-takeover-boot-word{margin-top:16px;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(38px,8.2vw,118px);line-height:.86;letter-spacing:.018em;color:#fff;transform:scale(1.13);animation:pxBootWord 1.8s cubic-bezier(.2,.84,.25,1) .48s both}
.px-takeover-boot-word strong{color:var(--red);font-weight:900}
.px-takeover-boot-foot{margin-top:24px;color:#b3d4da;font-size:clamp(8px,.75vw,12px);animation:pxRevealUp .5s ease .8s both}
.px-takeover-monitor{position:absolute;inset:0;z-index:16;opacity:0;animation:pxMonitorAppear 7.45s linear both}
.px-takeover-photo-wrap{position:absolute;inset:0;overflow:hidden;background:#040b10;clip-path:inset(50% 0 50% 0);animation:pxFilmOpening 7.45s cubic-bezier(.12,.66,.23,1) both}
.px-takeover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:contrast(1.17) grayscale(.47) brightness(.64) saturate(.6);transform:scale(1.08);animation:pxFilmZoom 7.45s cubic-bezier(.2,.54,.25,1) both}
.px-takeover-image-tint{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 36%,transparent 20%,rgba(2,8,12,.4) 60%,rgba(1,5,9,.81) 100%),linear-gradient(0deg,rgba(2,8,12,.85),transparent 31%,transparent 83%,rgba(2,8,12,.7));opacity:.8}
.px-takeover-fragment{position:absolute;width:100%;left:0;height:15%;background-image:var(--px-footage);background-size:100% auto;opacity:0;mix-blend-mode:screen;filter:contrast(1.8) brightness(.8) sepia(.3);pointer-events:none;animation:pxSlice 7.45s steps(2,end) both}
.px-takeover-fragment-a{top:23%;background-position:center 24%}.px-takeover-fragment-b{top:66%;background-position:center 67%;animation-delay:.1s}
.px-takeover-blue-beam{position:absolute;inset:0;opacity:0;background:linear-gradient(180deg,transparent 0 30%,rgba(149,235,250,.035) 62%,rgba(117,222,255,.11) 93%,rgba(175,248,255,.6) 99%,transparent 100%);mix-blend-mode:screen;transform:translateY(-110%);animation:pxBlueTakeover 7.45s linear both}
.px-takeover-hud{position:absolute;top:14%;left:4%;right:4%;display:flex;justify-content:space-between;color:#c9e4ea;font-size:clamp(8px,.7vw,12px);font-weight:700;text-shadow:0 1px 8px #010305;animation:pxHud 7.45s linear both}
.px-takeover-hud::after{content:"";position:absolute;top:26px;left:0;right:0;height:1px;background:rgba(180,240,249,.4)}
.px-takeover-target{position:absolute;width:200px;height:200px;z-index:18;transform:translate(-50%,-50%) scale(1.9) rotate(14deg);opacity:0;animation:pxTakeoverLock 7.45s cubic-bezier(.2,.68,.22,1) both}
.px-takeover-target-corners{position:absolute;inset:0;display:block;border:1px solid rgba(250,92,91,.24);filter:drop-shadow(0 0 6px rgba(255,32,36,.37))}
.px-takeover-target-corners:before,.px-takeover-target-corners:after{content:"";position:absolute;top:-2px;width:27px;height:27px;border-top:3px solid var(--red)}
.px-takeover-target-corners:before{left:-2px;border-left:3px solid var(--red)}.px-takeover-target-corners:after{right:-2px;border-right:3px solid var(--red)}
.px-takeover-target::before,.px-takeover-target::after{content:"";position:absolute;bottom:-2px;width:27px;height:27px;border-bottom:3px solid var(--red)}.px-takeover-target::before{left:-2px;border-left:3px solid var(--red)}.px-takeover-target::after{right:-2px;border-right:3px solid var(--red)}
.px-takeover-crosshair{position:absolute;top:50%;left:50%;width:60px;height:60px;border:1px solid rgba(255,104,106,.45);border-radius:50%;transform:translate(-50%,-50%)}
.px-takeover-crosshair::before,.px-takeover-crosshair::after{content:"";position:absolute;background:#ff6c67;top:50%;left:50%;transform:translate(-50%,-50%)}.px-takeover-crosshair::before{width:1px;height:90px}.px-takeover-crosshair::after{width:90px;height:1px}
.px-takeover-target-text{position:absolute;top:calc(100% + 9px);left:0;right:0;text-align:center;font-size:clamp(8px,.65vw,10px);letter-spacing:.05em;color:#fff;background:rgba(6,13,18,.88);padding:7px 2px;border-top:1px solid var(--red);white-space:nowrap}
.px-takeover-target-text b{color:#ff6767}
.px-takeover-signal{position:absolute;bottom:15%;right:6%;font-size:clamp(9px,.7vw,13px);font-weight:700;color:#a0eaf0}.px-takeover-signal b{color:#e55757}
.px-takeover-decree{position:absolute;inset:0;z-index:22;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(1,5,9,.36);opacity:0;animation:pxDecreeStage 7.45s ease both}
.px-takeover-decree-small{font-size:clamp(9px,1vw,17px);color:var(--cyan);font-weight:700;letter-spacing:.4em;margin-bottom:20px;animation:pxDecreeKicker 7.45s ease both}
.px-takeover-decree-head{font:900 clamp(47px,10.7vw,162px)/.84 Impact,'Arial Narrow',sans-serif;letter-spacing:.015em;text-shadow:0 6px 20px #020407;animation:pxDecreeHead 7.45s cubic-bezier(.13,.7,.23,1) both}
.px-takeover-decree-head em{font-style:normal;color:#ff6665}
.px-takeover-decree-sub{font-size:clamp(11px,1.1vw,19px);color:#b3e9ed;font-weight:700;letter-spacing:.29em;margin-top:32px;animation:pxDecreeSub 7.45s ease both}
.px-takeover-door{position:absolute;top:0;bottom:0;width:50.1%;background:repeating-linear-gradient(0deg,rgba(91,185,207,.045) 0 2px,transparent 2px 18px),#010408;z-index:27;pointer-events:none;transform:translateX(0);animation:pxDoors 7.45s cubic-bezier(.17,.71,.25,1) both}
.px-takeover-door-a{left:0;border-right:2px solid rgba(132,229,244,.36)}.px-takeover-door-b{right:0;border-left:2px solid rgba(132,229,244,.36);animation-name:pxDoorsRight}
.px-takeover-skip{position:absolute;z-index:40;right:3.4vw;top:64px;padding:10px 15px;cursor:pointer;border:1px solid rgba(175,236,245,.53);color:#def6f8;background:rgba(2,9,14,.84);font:700 10px/1.1 ui-monospace,monospace;letter-spacing:.17em;transition:background .15s,border-color .15s}.px-takeover-skip:hover,.px-takeover-skip:focus-visible{background:#16353d;border-color:#d3f5ff}
.px-takeover-skip span{color:var(--red);margin-left:8px}
.px-takeover-finished{opacity:0;pointer-events:none;transition:opacity .28s ease}
/* Every percentage uses the same 7.45-second timeline, so no individual effects drift. */
@keyframes pxOverture{0%,88%{opacity:1}100%{opacity:0}}
@keyframes pxHorizon{0%{opacity:0;transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}
@keyframes pxDot{50%{opacity:.4}}
@keyframes pxEmblem{from{opacity:0;transform:translateY(20px) scale(1.23)}to{opacity:1;transform:none}}
@keyframes pxWiden{to{width:min(420px,70vw)}}
@keyframes pxRevealUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes pxBootWord{0%{opacity:0;transform:scale(1.13) translateY(30px)}100%{opacity:1;transform:scale(1)}}
@keyframes pxBootLife{0%,4%{opacity:0}9%,20%{opacity:1}26%,100%{opacity:0}}
@keyframes pxMonitorAppear{0%,21%{opacity:0}26%,76%{opacity:1}87%,100%{opacity:0}}
@keyframes pxFilmOpening{0%,19%{clip-path:inset(50% 0 50% 0)}29%,100%{clip-path:inset(0 0 0 0)}}
@keyframes pxFilmZoom{0%,18%{transform:scale(1.48) translateX(-3%);filter:contrast(1.6) grayscale(1) brightness(.2)}30%{transform:scale(1.2) translateX(-2%);filter:contrast(1.2) grayscale(.45) brightness(.52)}70%{transform:scale(1.08);filter:contrast(1.17) grayscale(.45) brightness(.63)}100%{transform:scale(1.03);filter:contrast(1.16) grayscale(.55) brightness(.58)}}
@keyframes pxSlice{0%,26%,32%,36%,49%,51%,58%,100%{opacity:0;transform:none}28%{opacity:.52;transform:translateX(65px)}34%{opacity:.38;transform:translateX(-38px)}50%{opacity:.55;transform:translateX(24px)}57%{opacity:.18;transform:translateX(-18px)}}
@keyframes pxBlueTakeover{0%,26%{opacity:0;transform:translateY(-110%)}31%{opacity:.75}51%{opacity:.85}63%,100%{opacity:0;transform:translateY(100%)}}
@keyframes pxHud{0%,31%{opacity:0}35%,74%{opacity:1}80%,100%{opacity:0}}
@keyframes pxTakeoverLock{0%,31%{opacity:0;transform:translate(-25%,-72%) scale(1.9) rotate(14deg)}36%{opacity:1;transform:translate(-70%,-35%) scale(1.2) rotate(-7deg)}42%{opacity:1;transform:translate(-50%,-50%) scale(.88) rotate(2deg)}45%{opacity:.35;transform:translate(-50%,-50%) scale(1.05) rotate(0)}47%,67%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}73%,100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
@keyframes pxDecreeStage{0%,58%{opacity:0}64%,91%{opacity:1}100%{opacity:0}}
@keyframes pxDecreeKicker{0%,60%{opacity:0;transform:translateY(-40px)}68%,100%{opacity:1;transform:none}}
@keyframes pxDecreeHead{0%,61%{opacity:0;transform:scale(1.34) translateY(30px);clip-path:inset(0 0 80%)}67%{opacity:1;transform:scale(.94);clip-path:inset(0 0 0)}74%,100%{transform:scale(1)}}
@keyframes pxDecreeSub{0%,68%{opacity:0;transform:translateY(20px)}74%,100%{opacity:1;transform:none}}
@keyframes pxFlash{0%,22%,24%,33%,35%,59%,61%,84%,87%,100%{opacity:0}23%{opacity:.21}34%{opacity:.33}60%{opacity:.18}85%{opacity:.18}}
@keyframes pxDoors{0%,2%{transform:translateX(0)}12%,86%{transform:translateX(-102%)}95%,100%{transform:translateX(-103%)}}
@keyframes pxDoorsRight{0%,2%{transform:translateX(0)}12%,86%{transform:translateX(102%)}95%,100%{transform:translateX(103%)}}
@media(max-width:700px){.px-takeover-top span:last-child,.px-takeover-bottom span:last-child{display:none}.px-takeover-top{top:15px}.px-takeover-skip{top:45px;right:14px}.px-takeover-hud{font-size:8px}.px-takeover-hud span:last-child{display:none}.px-takeover-decree-head{font-size:clamp(50px,12vw,95px)}.px-takeover-decree-small{letter-spacing:.19em}.px-takeover-target{width:125px;height:125px}.px-takeover-target-text{font-size:7px}.px-takeover-target-corners:before,.px-takeover-target-corners:after,.px-takeover-target::before,.px-takeover-target::after{width:17px;height:17px}.px-takeover-photo{object-position:62% 50%}.px-takeover-monitor{background:#010408}}
@media(prefers-reduced-motion:reduce){.px-takeover{display:none!important}.px-takeover-open{overflow:auto}}
