.vault-entry[hidden]{display:none!important}.vault-entry{position:fixed;inset:0;z-index:9999;display:block;background:#020509;overflow:hidden;perspective:1300px;isolation:isolate;opacity:1;visibility:visible;transition:opacity .7s,visibility .7s}.vault-ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#28414c,#0c171f 37%,#020509 76%)}.vault-ambient:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 79px,#a4b9c509 80px),repeating-linear-gradient(90deg,transparent 0 139px,#a4b9c509 140px)}.vault-chamber{position:absolute;top:39%;left:50%;width:min(74vw,60vh,620px);aspect-ratio:1;transform:translate(-50%,-50%);border:18px solid #26343f;border-radius:50%;background:radial-gradient(circle,#00d9ed,#16424f 12%,#08131d 45%,#000 70%);box-shadow:0 0 0 4px #7c8c97,0 0 0 11px #0a1017,0 0 0 14px #3c505c,0 0 100px #00c9e738,inset 0 0 90px #000}.vault-chamber:after{content:'PASS';position:absolute;inset:0;display:grid;place-items:center;color:#e9fcff;font:900 clamp(36px,8vw,76px)/1 'Segoe UI',Arial,sans-serif;letter-spacing:.1em;text-shadow:0 0 50px #00d4e7}.vault-entry .vault-door{position:absolute;inset:0;width:auto;border-radius:50%;border:8px solid #8c9ba5;background:repeating-conic-gradient(from 15deg,#657781 0deg,#24313a 18deg,#a7b7bf 44deg,#3c4a54 70deg,#697983 90deg);box-shadow:inset 0 0 0 5px #17252e,inset 0 0 0 14px #74858d,inset 0 0 0 17px #1c2932,inset 0 0 60px #0009,14px 20px 35px #000b;transform-origin:4% 50%;transform:rotateY(0);transition:transform 1.65s cubic-bezier(.25,.75,.2,1),filter 1.5s;z-index:2;opacity:1}.vault-face{position:absolute;inset:14%;border-radius:50%;border:3px solid #1d2c36;background:radial-gradient(circle at 35% 25%,#82949e,#42545f 30%,#1c2c37 68%,#5e737e);box-shadow:0 0 0 3px #a0b0b8,inset 0 0 0 8px #2a3c48,inset 0 0 55px #0008}.vault-bolt{position:absolute;left:calc(50% - 7px);top:calc(50% - 7px);width:14px;height:14px;border-radius:4px;background:linear-gradient(125deg,#d0d9dd,#536874 50%,#15222b);border:1px solid #a9b9c2;box-shadow:2px 3px 4px #0008;transform:rotate(var(--angle)) translateY(calc(min(74vw,60vh,620px) * -.43))}.vault-wheel{position:absolute;inset:30%;border:9px solid #9caeb7;border-radius:50%;background:radial-gradient(circle,#6f8997 0 19%,#12222e 20% 32%,transparent 33%);box-shadow:0 0 0 3px #20323e,inset 0 0 0 3px #324a59,6px 8px 12px #0009;transition:transform 1.3s cubic-bezier(.4,0,.2,1)}.vault-wheel i{position:absolute;top:calc(50% - 5px);left:3%;height:10px;width:94%;border-radius:5px;background:linear-gradient(#deecf1,#6a838f 45%,#273d4a);transform:rotate(var(--angle));box-shadow:1px 2px 3px #0009}.vault-hub{position:absolute;inset:35%;border:3px solid #a5bbc6;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f2fafc,#708d9b 50%,#253c49);box-shadow:3px 4px 9px #0009}.vault-hinge{position:absolute;left:-24px;width:28px;height:19%;background:linear-gradient(90deg,#14232c,#a6b7bf 50%,#273b49);border:2px solid #718b9b;border-radius:7px;z-index:3}.vault-hinge.top{top:20%}.vault-hinge.bottom{bottom:20%}.vault-entry .vault-copy{position:absolute;inset:auto 20px 5%;width:auto;text-align:center;z-index:4;transform:none}.vault-copy .vault-overline{display:block;font:750 10px/1.7 'Segoe UI',Arial,sans-serif;letter-spacing:.26em;color:#5ae5ef}.vault-entry .vault-copy h2{font:850 clamp(23px,4vw,40px)/1.15 'Segoe UI',Arial,sans-serif;color:#fff;letter-spacing:.02em;margin:10px 0}.vault-copy p{color:#a7c2ce;font:12px/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:.12em;margin:10px 0 16px}.vault-enter,.vault-skip{font:700 12px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer;min-height:44px}.vault-entry .vault-enter{background:#09313d;color:#e9fcff;border:1px solid #00c7dc;border-radius:6px;padding:12px 25px;box-shadow:0 0 25px #00b7d822}.vault-entry .vault-skip{display:inline-block;margin-left:12px;color:#c4d5de;background:transparent;border:0;text-decoration:underline;padding:12px}.vault-entry.unlocking .vault-wheel{transform:rotate(210deg)}.vault-entry.opening .vault-door{transform:rotateY(-108deg);filter:brightness(.65);opacity:1}.vault-entry.is-open{opacity:0;visibility:hidden;pointer-events:none}.vault-entry button:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:600px){.vault-chamber{top:36%;border-width:14px}.vault-entry .vault-copy{bottom:7%}.vault-entry .vault-copy h2{font-size:25px}.vault-wheel{border-width:7px}}@media(prefers-reduced-motion:reduce){.vault-entry,.vault-entry *{animation:none!important;transition:none!important}}
.vault-chamber{perspective:1000px;transform-style:preserve-3d}.vault-bolt.bolt-0{--angle:0deg}.vault-bolt.bolt-1{--angle:30deg}.vault-bolt.bolt-2{--angle:60deg}.vault-bolt.bolt-3{--angle:90deg}.vault-bolt.bolt-4{--angle:120deg}.vault-bolt.bolt-5{--angle:150deg}.vault-bolt.bolt-6{--angle:180deg}.vault-bolt.bolt-7{--angle:210deg}.vault-bolt.bolt-8{--angle:240deg}.vault-bolt.bolt-9{--angle:270deg}.vault-bolt.bolt-10{--angle:300deg}.vault-bolt.bolt-11{--angle:330deg}.vault-wheel .wheel-spoke-0{--angle:0deg}.vault-wheel .wheel-spoke-1{--angle:60deg}.vault-wheel .wheel-spoke-2{--angle:120deg}
/* Cinematic timing: unlock, swing open, then reveal the website. */
.vault-entry{transition:opacity 1.1s ease,visibility 1.1s ease}.vault-wheel{transition:transform 2.1s cubic-bezier(.4,0,.2,1)}.vault-entry .vault-door{transition:transform 2.65s cubic-bezier(.25,.75,.2,1),filter 2.4s}@media(prefers-reduced-motion:reduce){.vault-entry,.vault-entry *{transition:none!important}}

/* Camera push through the PASS vault into the website. */
.vault-chamber{transition:transform 1.8s cubic-bezier(.45,0,.15,1),filter 1.6s}.vault-entry.zoom-through .vault-chamber{transform:translate(-50%,-50%) scale(3.4);filter:brightness(1.25)}.vault-entry .vault-copy{transition:opacity .65s,transform .8s}.vault-entry.zoom-through .vault-copy{opacity:0;transform:translateY(22px)}body.vault-revealing>main{animation:pass-camera-arrival 1.9s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 25%}@keyframes pass-camera-arrival{from{transform:scale(1.07);filter:brightness(.65)}to{transform:scale(1);filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.vault-chamber,.vault-copy{transition:none!important}body.vault-revealing>main{animation:none!important}}
