*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Archivo,-apple-system,sans-serif;background-color:#000;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vault{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.vault__content{display:flex;flex-direction:column;align-items:center;text-align:center;animation:reveal 2s ease forwards;opacity:0}@keyframes reveal{0%{opacity:0;letter-spacing:.8em}to{opacity:1;letter-spacing:.35em}}.vault__logo{font-size:clamp(1.5rem,5vw,3.5rem);font-weight:200;letter-spacing:.35em;text-transform:uppercase;margin-right:-.35em;margin-bottom:3rem}.vault__tagline{display:flex;flex-direction:column;gap:.5rem;font-size:clamp(.7rem,1.2vw,.9rem);font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:#ffffffb3;margin-bottom:5rem;animation:fadeIn 1.5s ease forwards;animation-delay:1.2s;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.vault__gate{display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:fadeIn 1.5s ease forwards;animation-delay:1.8s;opacity:0}.vault__gate.is-hidden{display:none}.vault__code{position:relative}.vault__input{width:140px;background:transparent;border:none;outline:none;font-family:Archivo,sans-serif;font-size:1.5rem;font-weight:200;letter-spacing:.5em;text-align:center;color:#fff;padding:.5rem 0;caret-color:#ffffff4d}.vault__input::placeholder{color:#fff3;letter-spacing:.3em}.vault__line{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:1px;background:#fff3;transition:all .4s ease}.vault__input:focus~.vault__line{width:100%;background:#fff6}.vault__hint{font-size:.6rem;font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:#ffffff4d;transition:all .4s ease}.vault__gate.is-error .vault__line{background:#ff505099;animation:pulse .6s ease}.vault__gate.is-error .vault__input{animation:shake .5s ease}.vault__gate.is-error .vault__hint{color:#ff505080}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.vault__access{display:none;flex-direction:column;align-items:center;gap:1rem;opacity:0}.vault__access.is-visible{display:flex;animation:unlockReveal 1.2s ease forwards}@keyframes unlockReveal{0%{opacity:0;transform:translateY(20px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.vault__label{font-size:.6rem;font-weight:200;letter-spacing:.4em;text-transform:uppercase;color:#fff6}.vault__phone{font-size:clamp(1.2rem,3vw,2rem);font-weight:200;letter-spacing:.15em;color:#fff;text-decoration:none;transition:all .4s ease}.vault__phone:hover{letter-spacing:.25em;text-shadow:0 0 30px rgba(255,255,255,.3)}@media (max-width: 600px){.vault__logo{letter-spacing:.25em;margin-right:-.25em}.vault__tagline{letter-spacing:.15em;padding:0 2rem}}
