/* Key cursor (computers only) */
@media (hover:hover) and (pointer:fine){
  html,body{cursor:url(cursor-key.png) 3 3,auto}
  a,button,summary,select,.svc-row,[role=button]{cursor:url(cursor-key-hover.png) 3 3,pointer!important}
  input,textarea{cursor:text}
}
/* Door transition */
.door-fx{position:fixed;inset:0;z-index:300;perspective:1800px;visibility:hidden;pointer-events:none}
.door-fx.on{visibility:visible;pointer-events:all}
.door{position:absolute;top:0;bottom:0;width:50.2%;background:
  linear-gradient(90deg,#ffffff08,transparent 30%,transparent 70%,#ffffff05),
  linear-gradient(#0d0d0d,#060606);
  box-shadow:inset 0 0 0 1px #ffffff10;backface-visibility:hidden;will-change:transform}
.door:before,.door:after{content:"";position:absolute;left:12%;right:12%;border:1px solid #ffffff14;border-radius:6px}
.door:before{top:8%;height:38%}.door:after{bottom:8%;height:38%}
.door.l{left:0;transform-origin:left center;border-right:2px solid #f04e2266}
.door.r{right:0;transform-origin:right center;border-left:2px solid #f04e2266}
.door-fx .door.l{transform:rotateY(100deg)}.door-fx .door.r{transform:rotateY(-100deg)}
.door-fx.shut .door{transform:rotateY(0)!important;transition:transform .32s cubic-bezier(.5,0,.75,0)}
.door-fx.open .door.l{transform:rotateY(105deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.door-fx.open .door.r{transform:rotateY(-105deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.door-lock{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#111;box-shadow:0 0 0 2px #f04e23,0 0 40px #f04e2380;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s}
.door-fx.shut .door-lock{opacity:1;transform:scale(1)}
.door-fx.open .door-lock{opacity:0;transform:scale(1.4);transition:opacity .25s,transform .35s}
.door-lock img{width:46px;height:46px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.door-fx.turn .door-lock img{transform:rotate(90deg)}
@media (prefers-reduced-motion:reduce){.door-fx{display:none}}
