html:has(#front-door){overflow:hidden}html[data-door=open] #front-door{display:none}html[data-door=open]:has(#front-door){overflow:auto}.front-door{--mx:0;--my:0;z-index:80;isolation:isolate;background:var(--ink);outline:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(28px,5vh,56px);padding:24px 16px 32px;display:flex;position:fixed;inset:0;overflow:hidden}.front-ground{z-index:-1;opacity:.32;background-image:radial-gradient(var(--bone-4) .8px, transparent .8px);transform:translate3d(calc(var(--mx) * -6px), calc(var(--my) * -6px), 0);transition:transform .8s var(--ease-out);background-size:20px 20px;position:absolute;inset:-20px;-webkit-mask-image:radial-gradient(#000 20%,#0000 75%);mask-image:radial-gradient(#000 20%,#0000 75%)}.front-logo{animation:front-in .9s var(--ease-out) both;flex-direction:column;align-items:center;gap:18px;display:flex}.front-mark{filter:drop-shadow(0 10px 40px #ffffff14);width:auto;height:112px;display:block}.front-wordmark{width:auto;height:20px;display:block}.front-doors{grid-template-columns:1fr 1fr;gap:clamp(16px,6vw,96px);width:100%;max-width:860px;display:grid}.front-choice{text-align:center;outline-offset:8px;transition:opacity .6s, transform .9s var(--ease-out);animation:front-in .9s var(--ease-out) both;flex-direction:column;align-items:center;padding:8px 4px;display:flex;position:relative}.front-choice:nth-child(2){animation-delay:.12s}.front-portal{perspective:640px;width:168px;height:240px;transform-style:preserve-3d;border:1px solid var(--bone-4);background:#000;display:block;position:relative;box-shadow:inset 0 0 40px #000000e6}.front-portal-far,.front-portal-depth{transform-origin:50%;position:absolute;inset:-12px;-webkit-mask-image:radial-gradient(#000,#0000 78%);mask-image:radial-gradient(#000,#0000 78%)}.front-portal-far{background-image:radial-gradient(ellipse at 50% 60%, #ffffff29, transparent 62%), radial-gradient(var(--bone-3) .7px, transparent .7px);opacity:.35;transform:translate3d(calc(var(--mx) * 3px), calc(var(--my) * 3px), -2px);transition:transform .8s var(--ease-out), opacity .6s;background-size:100% 100%,6px 6px}.front-portal-depth{background-image:radial-gradient(var(--bone) 1px, transparent 1px);opacity:.45;transform:translate3d(calc(var(--mx) * 9px), calc(var(--my) * 9px), -1px);transition:transform .9s var(--ease-out), opacity .6s;background-size:11px 11px;animation:4s ease-in-out infinite front-breathe}.front-gap{pointer-events:none;opacity:.55;width:2px;transition:opacity .6s, transform .9s var(--ease-out);background:linear-gradient(#0000,#fffffff2 18% 82%,#0000);animation:3.2s ease-in-out infinite front-leak;position:absolute;top:2px;bottom:2px;right:1px;box-shadow:0 0 18px 4px #ffffff59}.front-door-leaf{transform-origin:0;transform-style:preserve-3d;border:1px solid var(--bone-3);background-color:var(--ink-2);background-image:linear-gradient(100deg, #ffffff0f, transparent 45%), radial-gradient(var(--bone-3) .9px, transparent .9px);background-size:auto,8px 8px;transition:transform 1s cubic-bezier(.2,.8,.2,1);display:block;position:absolute;inset:0;transform:translateZ(1px)}.front-leaf-edge{transform-origin:100%;background:linear-gradient(to right, var(--bone-4), var(--ink-2));width:10px;height:100%;position:absolute;top:0;right:0;transform:rotateY(-90deg)}.front-handle{background:var(--bone);width:4px;height:26px;position:absolute;top:50%;right:16px;transform:translateZ(1px);box-shadow:0 0 12px #fff9}.front-threshold{border:1px dotted var(--bone-4);width:calc(100% + 60px);height:28px;position:absolute;bottom:-16px;left:-30px;transform:rotateX(60deg)}.front-spill{pointer-events:none;transform-origin:top;opacity:0;width:180%;height:70px;transition:opacity .7s, transform .9s var(--ease-out);background:radial-gradient(at top,#ffffff47,#fff0 70%);margin-left:-90%;position:absolute;top:100%;left:50%;transform:scaleX(.6)}.front-choice:hover .front-door-leaf,.front-choice:focus-visible .front-door-leaf{transform:translateZ(1px)rotateY(-34deg)}.front-choice:hover .front-portal-depth,.front-choice:focus-visible .front-portal-depth{opacity:.9;transform:translate3d(calc(var(--mx) * 14px), calc(var(--my) * 14px), -1px) scale(1.18)}.front-choice:hover .front-portal-far,.front-choice:focus-visible .front-portal-far{opacity:.7}.front-choice:hover .front-gap,.front-choice:focus-visible .front-gap{opacity:0}.front-choice:hover .front-spill,.front-choice:focus-visible .front-spill{opacity:.8;transform:scaleX(1)}.front-door-copy{flex-direction:column;align-items:center;gap:10px;margin-top:36px;display:flex}.front-door-copy .headline{font-size:clamp(24px,2.8vw,38px);line-height:1.1}.front-door-copy>span:nth-child(3){color:var(--bone-2);max-width:28ch;font-size:14px}.front-enter{color:var(--bone);margin-top:6px}.front-flash{z-index:2;pointer-events:none;opacity:0;background:radial-gradient(#ffffffe6,#fff0 70%);position:absolute;inset:0}.front-door[data-entering]{pointer-events:none}.front-door[data-entering] .front-portal-depth,.front-door[data-entering] .front-gap{animation:none}@keyframes front-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes front-breathe{0%,to{opacity:.35}50%{opacity:.6}}@keyframes front-leak{0%,to{opacity:.35}50%{opacity:.75}}@media (max-width:600px){.front-door{gap:34px}.front-logo{gap:12px}.front-mark{height:68px}.front-wordmark{height:14px}.front-doors{gap:12px}.front-portal{width:112px;height:176px}.front-threshold{width:calc(100% + 36px);left:-18px}.front-door-copy{gap:8px;margin-top:30px}.front-door-copy .headline{min-height:52px;font-size:23px}.front-door-copy>span:nth-child(3){min-height:56px;font-size:12px;line-height:1.55}.front-enter{font-size:9px}}@media (max-height:700px) and (min-width:601px){.front-mark{height:76px}.front-portal{height:200px}}@media (max-height:640px) and (max-width:600px){.front-door{gap:22px;padding-top:28px}.front-mark{height:52px}.front-portal{height:140px}}@media (prefers-reduced-motion:reduce){.front-door *,.front-door :before,.front-door :after{transition:none!important;animation:none!important}.front-choice:hover .front-door-leaf,.front-choice:focus-visible .front-door-leaf{transform:none}}
