.vault-stage-room{width:min(1040px,calc(100% - 64px));margin:38px auto 0;padding:28px 32px 20px;background:radial-gradient(ellipse at 50% 0,#30282166,transparent 65%),#101512;border:1px solid #967d4d66;box-shadow:inset 0 0 0 5px #0a100d,inset 0 0 0 6px #89704330}
.vault-stage-heading{text-align:center;margin-bottom:24px}.vault-stage-heading .eyebrow{font-size:10px;letter-spacing:.25em;color:#b7a17d}.vault-stage-heading h2{font:40px/1.15 Fell,Georgia,serif;color:#e7d7b6;margin:10px 0}.vault-stage-heading p:last-child{font:12px/1.6 Arial,sans-serif;color:#b7baab}
.vault-mini-stage{position:relative;background:#030403;padding:32px 34px 18px;border:9px solid #201a13;border-top:15px solid #282016;box-shadow:0 15px 28px #0008,inset 0 0 0 2px #675436;border-radius:3px;overflow:hidden;isolation:isolate}
.vault-stage-screen{position:relative;background:#020303;aspect-ratio:16/9;z-index:1;box-shadow:0 0 28px #000}
.vault-stage-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.vault-stage-valance{position:absolute;z-index:4;left:0;right:0;top:0;height:36px;background:repeating-linear-gradient(90deg,#020202 0,#141414 22px,#080808 38px,#000 51px);box-shadow:0 9px 15px #000a;border-bottom:2px solid #383027;border-radius:0 0 42% 42%/0 0 18% 18%;pointer-events:none}
.vault-black-curtains{position:absolute;inset:12px 9px 22px;z-index:3;pointer-events:none;overflow:hidden;display:none}
.js .vault-black-curtains{display:block}
.vault-black-curtains>span{position:absolute;top:0;bottom:0;width:50.7%;background:linear-gradient(180deg,#0005,transparent 10%,#0003 88%,#000a),repeating-linear-gradient(90deg,#020202 0%,#090909 3%,#2c2b2a 7%,#161514 10%,#030303 13%);box-shadow:inset -13px 0 16px #0009,0 5px 7px #000;border-bottom:4px solid #25211c;transition:transform 5.2s cubic-bezier(.42,0,.25,1);will-change:transform}
.vault-black-curtains .left{left:0;transform-origin:left center;border-radius:0 0 5% 0}.vault-black-curtains .right{right:0;transform-origin:right center;border-radius:0 0 0 5%;transition-delay:.12s}
.curtains-open .vault-black-curtains .left{transform:translateX(-84%) scaleX(.92)}.curtains-open .vault-black-curtains .right{transform:translateX(84%) scaleX(.92)}
.vault-stage-floor{position:absolute;bottom:0;left:0;right:0;height:23px;z-index:5;background:repeating-linear-gradient(90deg,#1b130d 0,#443120 1px,#2c2016 80px,#17100b 82px);box-shadow:0 -7px 15px #000a;border-top:2px solid #6b5030;pointer-events:none}
.vault-stage-floor:after{content:'';position:absolute;bottom:4px;left:10%;right:10%;height:3px;background:radial-gradient(circle,#cfb77f 0 1px,#59452a 2px,transparent 5px) 0 0/20% 3px}
.vault-stage-invite{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:max-content;max-width:80%;padding:15px 22px;border:1px solid #8c7753;border-radius:2px;background:#0b0b0bea;box-shadow:0 5px 25px #000a;color:#e1d2b8;font:21px/1.4 Fell,Georgia,serif;cursor:pointer;display:none}.js .vault-stage-invite{display:block}.vault-stage-invite[hidden]{display:none}.vault-stage-invite small{display:block;margin-top:5px;font:10px/1.4 Arial,sans-serif;color:#aaa594}
.vault-stage-controls{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:20px}.vault-stage-controls p{font:11px/1.6 Arial,sans-serif;color:#a9b0a1;flex:1;min-width:180px;margin:0}.vault-stage-controls button{min-height:44px}
.vault-tape-card{margin-top:22px}.vault-original{display:inline-block;font:11px/1.6 Arial,sans-serif;color:#b7b19b;margin-top:8px;text-decoration:underline;text-underline-offset:3px}.vault-playback .audio-dock{padding-top:0}.vault-playback .audio-status:empty{display:none}
@media(max-width:700px){.vault-stage-room{width:calc(100% - 24px);padding:22px 10px 15px;margin-top:24px}.vault-stage-heading{margin-bottom:20px}.vault-stage-heading h2{font-size:34px}.vault-mini-stage{padding:21px 12px 15px;border-width:6px;border-top-width:10px}.vault-stage-valance{height:24px}.vault-black-curtains{inset:9px 4px 18px}.vault-stage-floor{height:17px}.vault-stage-invite{padding:10px 13px;font-size:18px}.vault-stage-controls{padding-inline:8px;gap:10px}.vault-stage-controls p{flex-basis:100%;font-size:11px}.vault-stage-heading p:last-child{padding:0 12px}}
@media(prefers-reduced-motion:reduce){.vault-black-curtains>span{transition:none!important}}

/* A stage-first room: playback at the center, the woodland exit at the wing. */
body[data-room=vault]{background:#080b0b}
.vault-room-v2{background:radial-gradient(ellipse at 50% 20%,#38352d55,transparent 67%),linear-gradient(#111714,#070b0b);padding-bottom:42px}
.vault-room-v2 .vault-stage-room{position:relative;width:min(1340px,100%);margin:0 auto;padding:25px clamp(12px,3vw,48px) 0;border:0;box-shadow:none;background:none;min-height:calc(100svh - var(--header));isolation:isolate}
.vault-room-v2 .vault-stage-room:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(#0b100fe8,#0b100fdd),url('/assets/vault-room-v9.jpg') center/cover;opacity:.65}
.vault-room-v2 .vault-stage-heading{margin:0 0 18px;text-align:center}
.vault-room-v2 .vault-stage-heading .eyebrow{font-size:9px;letter-spacing:.28em;color:#b8a680}
.vault-room-v2 .vault-stage-heading h1{font:clamp(32px,4vw,48px)/1.1 Fell,Georgia,serif;color:#f1e2c2;margin:6px 0 0}
.vault-auditorium{position:relative;max-width:1240px;margin:auto;padding:0 105px 155px 30px}
.vault-room-v2 .vault-mini-stage{max-width:1050px;margin:auto;padding:26px 32px 22px;border:9px solid #292116;border-top:13px solid #382d1f;background:#080808;box-shadow:0 4px 0 #71563355,0 25px 45px #0009,inset 0 0 0 2px #6f5736;border-radius:7px 7px 2px 2px}
.vault-room-v2 .vault-stage-screen{aspect-ratio:16/9;max-height:56svh}
.vault-room-v2 .vault-stage-screen video{object-fit:contain}
.vault-room-v2 .vault-black-curtains{inset:10px 7px 20px}
.vault-room-v2 .vault-black-curtains>span{background:linear-gradient(#0005,transparent 12%,#0002 82%,#000b),repeating-linear-gradient(90deg,#030303 0%,#101011 4%,#373738 8%,#151516 12%,#030303 16%);transition:transform 5.2s cubic-bezier(.42,0,.25,1),filter 5.2s cubic-bezier(.42,0,.25,1)}
.vault-room-v2 .curtains-open .vault-black-curtains .left{transform:translateX(-80%) scaleX(.76);filter:brightness(.7)}
.vault-room-v2 .curtains-open .vault-black-curtains .right{transform:translateX(80%) scaleX(.76);filter:brightness(.7)}
.vault-room-v2 .vault-stage-invite{background:transparent;border:0;box-shadow:none;pointer-events:none;font:22px/1.3 Fell,Georgia,serif;text-align:center;padding:0;color:#dfd0ac;text-shadow:0 2px 8px #000;letter-spacing:.04em}
.vault-room-v2 .vault-stage-invite small{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#b9b09e;margin-top:12px}
.vault-apron{position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(#49352199,#20191170 26%,#0b0e0f 96%),repeating-linear-gradient(90deg,#16120e 0,#513d2a 1px,#261d16 87px,#100d0b 89px);clip-path:polygon(4% 0,94% 0,100% 100%,0 100%);z-index:-1}
.vault-recorder{position:absolute;width:226px;height:125px;left:calc(50% - 37px);bottom:20px;transform:translateX(-50%);z-index:4;filter:drop-shadow(0 8px 8px #000)}
.vault-recorder svg{width:100%;height:100%;display:block}
.vault-recorder-button{position:absolute;inset:0;width:100%;border:0;background:transparent;padding:92px 8px 3px;line-height:20px;font:11px/1.3 Arial,sans-serif;letter-spacing:.04em;text-align:center;color:#f1e5c8;border-radius:8px}
.vault-recorder-button:hover{background:#dec2870c}
.vault-recorder-button:focus-visible{outline:3px solid #efc37d;outline-offset:6px}
body.playing .vault-recorder .reel-a{transform-origin:65px 43px;animation:vault-reel 6s linear infinite}
body.playing .vault-recorder .reel-b{transform-origin:159px 43px;animation:vault-reel 6s linear infinite}
@keyframes vault-reel{to{transform:rotate(360deg)}}
.vault-theater-exit{position:absolute;right:6px;bottom:55px;width:74px;height:165px;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;gap:8px;padding-top:8px;color:#a7bdab;text-align:center;z-index:2}
.vault-exit-sign{font:bold 16px/1 Arial,sans-serif;letter-spacing:.10em;background:#122b1d;border:1px solid #719379;padding:5px 7px;color:#c6e5c7;box-shadow:0 0 15px #55936932;text-shadow:0 0 6px #92cd9566}
.vault-exit-hall{position:relative;width:61px;flex:1;border:5px solid #292d26;border-bottom:0;background:linear-gradient(90deg,#171e1a,#070c0a 30% 72%,#293127);box-shadow:3px -2px 0 #51493466,inset 0 0 20px #000;perspective:100px}
.vault-exit-hall:before{content:'';position:absolute;inset:20% 20% 25%;background:linear-gradient(#20322d,#45605755),url('/assets/vault-room-v9.jpg') 55% 50%/350px auto;border:1px solid #aabca333;box-shadow:0 0 9px #4a6a4c22}
.vault-exit-hall:after{content:'';position:absolute;bottom:0;left:-10px;right:-10px;height:35%;background:repeating-linear-gradient(#353d2b 0 4px,#0c120f 5px 11px);clip-path:polygon(36% 0,66% 0,100% 100%,0 100%)}
.vault-exit-label{font:10px/1.3 Arial,sans-serif;color:#b2baaa}
.vault-theater-exit:hover .vault-exit-sign{color:#e8ffe9;box-shadow:0 0 18px #7ead7955}
.vault-room-v2 .vault-stage-controls{margin:0 auto;padding:0 0 20px;max-width:980px;justify-content:center;text-align:center;min-height:55px}
.vault-room-v2 .vault-stage-controls p{flex:0 1 auto;font-size:11px}
.vault-room-v2 .vault-stage-controls button{font-size:10px;min-height:44px;padding:9px 13px;background:#111511;border-color:#60583d;color:#d8c9a9}
.vault-room-v2 .vault-stage-controls button[hidden]{display:none}
.vault-room-v2 .audio-dock{position:static;inset:auto;min-height:0;padding:0;background:transparent;border:0;display:block}
.vault-room-v2 .audio-status{margin:0;text-align:center;max-width:100%;font-size:11px;color:#d4c394}
.vault-room-v2 .audio-status:empty{display:none}
.vault-film-notes{max-width:900px;margin:10px auto 0;padding:24px;text-align:center;border-top:1px solid #7b694333;font:12px/1.7 Arial,sans-serif;color:#929c91}
.vault-film-notes a{display:inline-block;margin:7px 12px;text-decoration:underline;text-underline-offset:4px;color:#b9baa7;min-height:32px}
body[data-room=vault] .review-footer{padding-bottom:70px}
@media(max-width:700px){
 body[data-room=vault] .site-header{height:88px;padding:15px 15px 10px;gap:10px}
 body[data-room=vault] .site-header .brand{max-width:205px}
 body[data-room=vault] .site-header nav{gap:19px;font-size:10px}
 body[data-room=vault] .site-header nav a{padding:6px 0}
 .vault-room-v2 .vault-stage-room{padding:23px 10px 0;min-height:calc(100svh - 88px)}
 .vault-room-v2 .vault-stage-heading{margin-bottom:20px}
 .vault-room-v2 .vault-stage-heading h1{font-size:37px}
 .vault-auditorium{padding:0 0 164px}
 .vault-room-v2 .vault-mini-stage{padding:22px 14px 18px;border-width:6px;border-top-width:10px}
 .vault-room-v2 .vault-stage-screen{max-height:none;aspect-ratio:16/9}
 .vault-room-v2 .vault-stage-invite{font-size:20px;width:85%;max-width:85%}
 .vault-room-v2 .vault-stage-invite small{font-size:8px;letter-spacing:.10em}
 .vault-recorder{left:45%;bottom:28px;width:205px;height:114px}
 .vault-recorder-button{padding-top:84px;font-size:10px}
 .vault-theater-exit{right:1px;bottom:30px;width:61px;height:132px;padding-top:3px;gap:5px}
 .vault-exit-sign{font-size:12px;padding:4px 5px}
 .vault-exit-hall{width:46px;border-width:4px}
 .vault-exit-label{font-size:9px}
 .vault-apron{height:178px;clip-path:polygon(1% 0,99% 0,100% 100%,0 100%)}
 .vault-room-v2 .vault-stage-controls{padding:0 10px 18px;gap:8px;min-height:48px}
 .vault-room-v2 .vault-stage-controls p{flex-basis:100%;font-size:11px}
 .vault-film-notes{padding:24px 18px 32px;margin-top:8px}
 body[data-room=vault] .spooky-widget{transform:scale(.85);transform-origin:right bottom}
}
@media(max-width:360px){.vault-recorder{width:180px;height:101px;left:42%}.vault-recorder-button{padding-top:74px;font-size:9px}.vault-room-v2 .vault-stage-heading h1{font-size:32px}.vault-theater-exit{width:52px}.vault-stage-invite small{display:none}}
@media(prefers-reduced-motion:reduce){.vault-room-v2 .vault-black-curtains>span{transition:none!important}.vault-recorder .reel-a,.vault-recorder .reel-b{animation:none!important}}

/* A low amber front wash catches the folds, leaving the seam and wings dark.
   Light is part of each cloth panel, so it clears the screen with the curtain. */
.vault-room-v2 .vault-black-curtains>span{
 background:
  radial-gradient(ellipse at 40% 17%,rgba(215,165,96,.20),rgba(159,113,60,.09) 42%,transparent 76%),
  linear-gradient(#0005,transparent 12%,#0002 82%,#000b),
  repeating-linear-gradient(90deg,#050504 0%,#171613 4%,#49453d 8%,#1e1c18 12%,#050504 16%);
}
.vault-room-v2 .vault-black-curtains .right{
 background:
  radial-gradient(ellipse at 60% 17%,rgba(215,165,96,.20),rgba(159,113,60,.09) 42%,transparent 76%),
  linear-gradient(#0005,transparent 12%,#0002 82%,#000b),
  repeating-linear-gradient(90deg,#050504 0%,#171613 4%,#49453d 8%,#1e1c18 12%,#050504 16%);
}
.vault-room-v2 .vault-stage-valance{
 background:
  radial-gradient(ellipse at 24% 100%,#b98b4c23,transparent 36%),
  radial-gradient(ellipse at 76% 100%,#b98b4c23,transparent 36%),
  repeating-linear-gradient(90deg,#040403 0,#211f1a 22px,#0e0d0b 38px,#020202 51px);
}
