body.sealed{overflow:hidden}
.gateway{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#020203;perspective:1400px;overflow:hidden}
.door{position:absolute;top:0;bottom:0;width:50.2%;background:linear-gradient(90deg,#030304,#0a0809 72%,#14090b);transition:transform 1.55s cubic-bezier(.72,.02,.18,1);box-shadow:inset 0 0 90px #000}
.door:before{content:"";position:absolute;inset:22px;border:1px solid #251a1c;background:repeating-linear-gradient(135deg,transparent 0 42px,rgba(93,15,23,.04) 43px 44px)}
.door:after{content:"";position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(transparent,#6e111a 18%,#b51b27 50%,#6e111a 82%,transparent);box-shadow:0 0 18px rgba(207,24,39,.35)}
.door-left{left:0;transform-origin:left center}.door-left:after{right:-1px}
.door-right{right:0;transform-origin:right center;background:linear-gradient(-90deg,#030304,#0a0809 72%,#14090b)}.door-right:after{left:-1px}
.door-runes{position:absolute;top:50%;transform:translateY(-50%);font-family:Cinzel;color:#401016;font-size:1.1rem;line-height:2.8;text-align:center;text-shadow:0 0 12px #7d1019}
.door-left .door-runes{right:16%}.door-right .door-runes{left:16%}
.gateway-glow{position:absolute;left:50%;top:0;bottom:0;width:6px;transform:translateX(-50%);background:#b00d1d;filter:blur(8px);opacity:.45;transition:opacity .6s}
.threshold{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;transition:opacity .4s,transform .7s}
.threshold-kicker{font-family:"Saira Condensed";font-size:.7rem;letter-spacing:.34em;color:#716668;margin-bottom:38px}
.threshold-seal{position:relative;width:128px;height:128px;border-radius:50%;border:1px solid #6e1820;background:radial-gradient(circle,#21080c,#080708 64%,#030304);display:grid;place-items:center;color:#b82732;cursor:pointer;box-shadow:0 0 0 8px rgba(67,10,16,.17),0 0 48px rgba(155,12,25,.2);transition:transform .35s,box-shadow .35s}
.threshold-seal:hover{transform:scale(1.06);box-shadow:0 0 0 8px rgba(100,12,20,.22),0 0 70px rgba(191,16,32,.34)}
.outer-ring{position:absolute;inset:13px;border:1px dashed #6c2026;border-radius:50%;animation:turn 16s linear infinite}
.inner-rune{font-family:Cinzel;font-size:3rem;text-shadow:0 0 20px #bc1c29}
.threshold h1{font-size:clamp(2.3rem,5vw,4.5rem);margin:34px 0 8px;line-height:1}
.threshold p{color:#776d6e;font-style:italic;font-size:1.08rem;margin:0}
.enter-hint{font-family:"Saira Condensed";font-size:.63rem;letter-spacing:.25em;color:#5a4f50;margin-top:28px;animation:breathe 2.2s ease-in-out infinite}
.gateway.opening .door-left{transform:translateX(-100%) rotateY(15deg)}.gateway.opening .door-right{transform:translateX(100%) rotateY(-15deg)}
.gateway.opening .threshold{opacity:0;transform:scale(1.12)}.gateway.opening .gateway-glow{opacity:0}
.gateway.opening{pointer-events:none;animation:gatewayFade .45s 1.45s forwards}
.entry-title small:before{content:"ENTRÉE · ";color:#514749}
@keyframes turn{to{transform:rotate(360deg)}}@keyframes breathe{50%{color:#9a6b6f;text-shadow:0 0 9px #541018}}@keyframes gatewayFade{to{opacity:0;visibility:hidden}}
@media(max-width:680px){.threshold-seal{width:106px;height:106px}.threshold-kicker{margin-bottom:30px}.door:before{inset:10px}.door-runes{display:none}}
@media(prefers-reduced-motion:reduce){.outer-ring,.enter-hint{animation:none}.door{transition-duration:.25s}.gateway.opening{animation-duration:.2s;animation-delay:.2s}.gateway.opening .threshold{transition-duration:.2s}}
