.holding-room{--px:50vw;--py:34vh;min-height:100svh;padding:max(clamp(1.5rem, 6vh, 4rem), env(safe-area-inset-top)) max(clamp(1rem, 5vw, 4rem), env(safe-area-inset-right)) max(clamp(1.5rem, 6vh, 4rem), env(safe-area-inset-bottom)) max(clamp(1rem, 5vw, 4rem), env(safe-area-inset-left));place-items:center;display:grid;position:relative;overflow-x:clip}.holding-room.is-resting *,.holding-room.is-resting:before,.holding-room.is-resting:after{animation-play-state:paused!important}.holding-stage{z-index:0;pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}.holding-wall{animation:holding-wake .8s var(--ease-settle) both;background-image:linear-gradient(#0000009e 0%,#0000001a 26%,#0000002e 62%,#070503d9 100%),repeating-linear-gradient(90deg,#0000 0 190px,#00000061 190px 198px);position:absolute;inset:0}.holding-glow{width:min(1500px,140vw);height:46vh;animation:holding-wake 1.4s var(--ease-settle) .3s both, holding-node 14s ease-in-out 1.7s infinite;background:radial-gradient(closest-side,#67f08a1a,#67f08a00 72%);margin-left:min(-750px,-70vw);position:absolute;bottom:-22vh;left:50%}.holding-candle{width:66vmax;height:66vmax;transform:translate3d(var(--px), var(--py), 0) translate(-50%, -50%);animation:holding-wake 1.6s var(--ease-settle) .45s both, holding-flicker 8.5s ease-in-out 2s infinite;background:radial-gradient(closest-side,#d4af5e21,#d4af5e00 72%);position:absolute;top:0;left:0}.holding-vignette{background:radial-gradient(122% 92% at 50% 42%,#0000 30%,#000000d1 100%);position:absolute;inset:0}.holding-doorway{border:clamp(10px, 1.5vw, 20px) solid var(--walnut-deep);width:min(860px,92vw);height:min(880px,92svh);box-shadow:inset 0 0 0 3px var(--gold-deep), inset 0 0 90px #000000e6, 0 -30px 100px #000000b3;animation:holding-settle 1s var(--ease-settle) .2s both;background:#0e0a06;border-bottom:0;border-radius:10px 10px 0 0;position:relative}.holding-transom{background:repeating-linear-gradient(90deg, transparent 0 calc(16.666% - 3px), var(--walnut-deep) calc(16.666% - 3px) 16.666%), linear-gradient(180deg, #ecc87a66, #966e2e29);border-bottom:5px solid var(--walnut-deep);height:clamp(42px,8.5%,84px);position:absolute;top:0;left:0;right:0;box-shadow:inset 0 -14px 22px #00000080}.holding-doors{grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:clamp(42px,8.5%,84px) 0 0}.holding-door{background-image:linear-gradient(96deg,#17100a 0%,#2e2116 36%,#3d2c1e 56%,#1c140c 100%);background-color:var(--walnut);position:relative;box-shadow:inset 0 1px #d4af5e1a}.holding-door-right{background-image:linear-gradient(-96deg,#17100a 0%,#2e2116 36%,#3d2c1e 56%,#1c140c 100%)}.holding-carve{background:linear-gradient(#571f246b,#24101280);border-radius:3px;position:absolute;left:13%;right:13%;box-shadow:inset 0 0 0 1px #b98d432e,inset 0 3px 8px #000000b3,0 1px #d4af5e14}.holding-carve-top{height:39%;top:7%}.holding-carve-bottom{height:36%;top:52%}.holding-handle{background:linear-gradient(180deg, var(--gold-2), var(--gold-deep));border-radius:5px;width:10px;height:clamp(46px,8%,76px);margin-top:clamp(-38px,-4%,-23px);position:absolute;top:72%;box-shadow:0 2px 7px #000000bf}.holding-door-left .holding-handle{right:14px}.holding-door-right .holding-handle{left:14px}.holding-seam{background:linear-gradient(#d4af5e2e,#f4ecd8d9 18%,#f4ecd8eb 74%,#d4af5e38);width:3px;margin-left:-1.5px;animation:47s ease-in-out 3s infinite holding-kitchen;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 14px 3px #d4af5e57,0 0 52px 14px #d4af5e1f}.holding-sill{background:linear-gradient(180deg, var(--gold-2), var(--gold-deep) 55%, #120c07);height:11px;position:absolute;bottom:0;left:-2.5%;right:-2.5%;box-shadow:0 8px 44px #d4af5e33}.holding-mote{opacity:0;background:#f4ecd880;border-radius:50%;width:3px;height:3px;position:absolute;bottom:14%}.holding-mote-1{animation:27s linear 4s infinite holding-drift;left:34%}.holding-mote-2{animation:34s linear 12s infinite holding-drift;left:61%}.holding-mote-3{animation:31s linear 21s infinite holding-drift;left:47%}.holding-front{z-index:1;text-align:center;justify-items:center;gap:clamp(1rem,2.6vw,2rem);width:min(720px,100%);display:grid;position:relative}.holding-room.has-pointer .holding-front{transform:translate3d(calc((var(--px) - 50vw) * .014), calc((var(--py) - 50vh) * .01), 0);transition:transform .5s var(--ease-settle)}.holding-identity{animation:holding-settle .7s var(--ease-settle) .3s both;justify-items:center;gap:.6rem;margin:0;display:grid}.holding-crest{filter:drop-shadow(0 8px 22px #000c);display:block}.holding-crest svg{display:block}.holding-wordmark{font-family:var(--display);letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:var(--gold-2);text-shadow:0 2px 6px #000000e6;font-size:clamp(.66rem,1.5vw,.85rem);font-weight:700}.holding-plaque{width:100%;animation:holding-settle .8s var(--ease-settle) .42s both;padding-top:clamp(1.4rem,3.4vw,2.4rem);position:relative}.holding-chain{background:linear-gradient(180deg, #d4af5e1a, var(--gold) 70%);width:2px;height:clamp(1.4rem,3.4vw,2.4rem);position:absolute;top:0}.holding-chain-left{left:16%}.holding-chain-right{right:16%}.holding-brass{border:2px solid var(--gold-deep);transform-origin:50% -1.9rem;background:linear-gradient(166deg,#d9bd84 0%,#c0a05f 30%,#ac8d4e 56%,#cdb073 82%,#b59457 100%);border-radius:5px;padding:clamp(1.15rem,3vw,2.1rem) clamp(.9rem,3vw,2.3rem);animation:12s ease-in-out 1.3s infinite holding-hang;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #3a280c80,inset 0 0 0 8px #fff8de1a,inset 0 2px #fffae280,inset 0 -3px #00000061,0 24px 58px #000000b8}.holding-sheen{background:linear-gradient(104deg,#fffae400 0%,#fffae466 50%,#fffae400 100%);width:55%;animation:9.5s cubic-bezier(.42,0,.2,1) 1.15s infinite holding-sheen;position:absolute;top:-50%;bottom:-50%;left:0;transform:translate(-160%)}.holding-message{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;color:#2d1e0c;text-shadow:0 1px #fff9e09e,0 -1px #0000004d;overflow-wrap:break-word;margin:0;font-size:clamp(1.28rem,4.5vw,2.95rem);font-weight:900;line-height:1.1;position:relative}.holding-word{animation:holding-letterpress .42s var(--ease-settle) calc(.5s + var(--word) * 45ms) both;display:inline-block}@keyframes holding-wake{0%{opacity:0}to{opacity:1}}@keyframes holding-settle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}@keyframes holding-letterpress{0%{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:translate(0,0)}}@keyframes holding-node{0%,to{opacity:.6}50%{opacity:1}}@keyframes holding-flicker{0%,to{opacity:.88}41%{opacity:1}68%{opacity:.92}}@keyframes holding-kitchen{0%,88%,to{opacity:.58}92%{opacity:1}96%{opacity:.74}}@keyframes holding-hang{0%,to{transform:rotate(-.2deg)}50%{transform:rotate(.2deg)}}@keyframes holding-sheen{0%{transform:translate(-160%)}28%,to{transform:translate(320%)}}@keyframes holding-drift{0%{opacity:0;transform:translate(0,0)}12%{opacity:.45}84%{opacity:.3}to{opacity:0;transform:translate(-26px,-38vh)}}@media (max-width:400px){.holding-message{font-size:clamp(1.2rem,6.4vw,1.85rem)}.holding-chain-left{left:12%}.holding-chain-right{right:12%}.holding-crest svg{width:48px;height:48px}}@media (max-height:500px){.holding-front{gap:.7rem}.holding-crest svg{width:38px;height:38px}.holding-message{font-size:clamp(1.1rem,2.9vw,1.9rem)}.holding-plaque{padding-top:.9rem}.holding-chain{height:.9rem}.holding-brass{transform-origin:50% -.9rem;padding:.85rem 1.1rem}}@media (prefers-reduced-motion:reduce){.holding-room *,.holding-room:before,.holding-room:after{transition:none!important;animation:none!important}.holding-wall,.holding-glow,.holding-candle,.holding-doorway,.holding-identity,.holding-plaque,.holding-word{opacity:1!important;transform:none!important}.holding-candle{transform:translate(50vw,34vh)translate(-50%,-50%)!important}.holding-mote{opacity:.28!important}}@media (forced-colors:active){.holding-stage{display:none}.holding-brass{box-shadow:none;background:canvas;border-color:canvastext}.holding-sheen{display:none}.holding-message{color:canvastext;text-shadow:none}.holding-wordmark{color:canvastext}}
