body[data-teaser=true]{overflow:hidden}body[data-teaser=true] #journey{height:100svh}body[data-teaser=true] #shop,body[data-teaser=true] .room-nav,body[data-teaser=true] .floating-bag,body[data-teaser=true] .journey-progress,body[data-teaser=true] .scroll-note,body[data-teaser=true] .entrance-foot,body[data-teaser=true] .door-cue{display:none!important}
body[data-teaser=true] .entry-layer .door-left{rotate:y calc(-1deg * var(--lock-angle,0))!important}body[data-teaser=true] .entry-layer .door-right{rotate:y calc(1deg * var(--lock-angle,0))!important}body[data-teaser=true] .entry-layer .door-leaf{transition:none}
/* Crossed glossy tape attached beyond the door frame. */
.door-tapes{position:absolute;inset:0;z-index:12;pointer-events:none;--tape-pull:0;transition:opacity .5s,filter .5s;perspective:900px}
.barrier-tape{position:absolute;left:-19%;width:138%;aspect-ratio:6;height:auto;padding:0;border:0;border-radius:0;overflow:visible;pointer-events:auto;cursor:pointer;background:transparent;transform-origin:50% 50%;-webkit-tap-highlight-color:transparent}
.barrier-tape svg{display:block;width:100%;height:auto;overflow:visible;font-family:'Arial Narrow','Space Grotesk',Arial,sans-serif}
.tape-shape{filter:drop-shadow(0 2px 1.6px #25271925)}
.tape-0{top:41%;transform:rotate(-24deg)}.tape-1{top:56%;transform:rotate(20deg)}.tape-2{top:63%;transform:rotate(-7deg)}
.barrier-tape:focus-visible{outline:2px solid #35442c;outline-offset:5px}body[data-teaser=false] .door-tapes{opacity:0;pointer-events:none;filter:blur(3px)}body[data-teaser=false] .barrier-tape{pointer-events:none}
.teaser-invite{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);z-index:35;display:flex;align-items:center;gap:24px;border:1px solid #bbc5b27a;border-radius:28px;background:#f2f4eceb;backdrop-filter:blur(18px);padding:10px 12px 10px 23px;color:#465239;box-shadow:0 8px 30px #3f493211}.teaser-invite span{font-size:12px;white-space:nowrap}.teaser-invite button{border:0;border-radius:22px;padding:13px 20px;background:#d3ddc7;color:#35432a;white-space:nowrap;cursor:pointer}.teaser-invite[hidden]{display:none}#signup-dialog{width:min(460px,calc(100vw - 32px));border:1px solid #bac7ab;border-radius:26px;background:#f0f3e9;padding:30px;color:#3a4830}#signup-dialog::backdrop{background:#17201170;backdrop-filter:blur(8px)}#signup-dialog h2{font-size:39px;letter-spacing:-1.5px;margin:20px 0 14px}#signup-dialog p{font-size:13px;line-height:1.7;color:#69765f}#signup-dialog .signup-head{display:flex;justify-content:space-between;align-items:center}#signup-dialog .signup-head img{width:145px}#signup-dialog button.close{position:static;border:0;background:none;font-size:25px;cursor:pointer}#signup-dialog label{display:block;font-size:12px;margin:16px 0;color:#59694e}#signup-dialog input:not([type=checkbox]),#signup-dialog select{width:100%;padding:13px;border:1px solid #b8c6aa;border-radius:12px;background:#ffffff75;color:#35442c;margin-top:8px;font:inherit}#signup-dialog .consent{display:flex;gap:10px;align-items:flex-start;line-height:1.5}#signup-dialog .consent input{margin-top:3px;accent-color:#61754e}#signup-dialog .signup-submit{width:100%;padding:15px;background:#35442c;color:#f1f5ea;border:0;border-radius:22px;cursor:pointer}#signup-dialog .signup-submit:disabled{opacity:.5}.signup-trap{display:none!important}.signup-link{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.doorway:focus-visible{outline-offset:10px}
@media(max-width:700px){.teaser-invite{bottom:18px;gap:12px;padding:8px 9px 8px 17px}.teaser-invite span{font-size:10px}.teaser-invite button{font-size:11px;padding:12px 15px}.barrier-tape{left:-8%;width:116%;height:auto}}
@media(prefers-reduced-motion:reduce){.door-tapes{transition:none}.barrier-tape{will-change:auto}}

/* Quiet, fixed-width countdown above the locked entrance. */
.opening-countdown{display:flex;justify-content:center;gap:clamp(14px,2vw,25px);margin-top:12px;color:#59604f}.opening-countdown[hidden]{display:none}.opening-countdown span{display:grid;gap:4px;min-width:36px}.opening-countdown b{font-family:Arial,sans-serif;font-size:clamp(17px,2vw,23px);font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.opening-countdown small{font-size:8px;letter-spacing:1px;text-transform:uppercase}body[data-teaser=true] .entry-layer .intro{top:11%}body[data-teaser=true] .entry-layer .intro h1{font-size:clamp(32px,4vw,52px)}
@media(max-width:600px){body[data-teaser=true] .entry-layer .intro{top:9%}.opening-countdown{margin-top:10px;gap:16px}.opening-countdown small{font-size:7px}}

/* The drop-room palette carried into first access. */
.teaser-invite{background:linear-gradient(125deg,#283024f5,#151b15f2);color:#edf1e6;border-color:#b6c49e30;box-shadow:0 12px 40px #10180f33,inset 0 1px #e5efd310;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:24px;padding:9px 10px 9px 22px;gap:26px;bottom:max(20px,env(safe-area-inset-bottom))}.teaser-invite .invite-copy{display:grid;gap:5px}.invite-copy strong{font-weight:500;font-size:12px}.invite-copy small{color:#aab69c;font-size:9px;letter-spacing:.6px}.teaser-invite button{background:#cbd9b8;color:#1c2818;border-radius:17px;min-height:46px;font-size:12px;transition:background .2s,transform .2s}.teaser-invite button:hover{background:#e0eccd;transform:translateY(-1px)}
#signup-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow-y:auto;background:radial-gradient(ellipse at 100% 0,#35402d70,transparent 60%),#191f19;color:#edf0e5;border:1px solid #a4b58d40;border-radius:28px;padding:28px 32px;box-shadow:0 30px 100px #0007,inset 0 1px #d7e5bd12;color-scheme:dark}#signup-dialog::backdrop{background:#0b100bb0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#signup-dialog .signup-head img{width:130px;filter:invert(1);opacity:.92}#signup-dialog button.close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b5c59d30;border-radius:50%;background:#ffffff05;color:#e5ebdb;line-height:1;font-size:25px}#signup-dialog button.close:hover{background:#ffffff10}.signup-chapter{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #b5c59d25}.signup-chapter svg{width:37px;height:25px;fill:none;stroke:#cbd9b8;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;rotate:-9deg}.signup-chapter span{font-size:9px;letter-spacing:1.6px;color:#aabb98}#signup-dialog h2{font-size:42px;line-height:1.04;letter-spacing:-1.6px;margin:20px 0 12px;color:#eef2e6}#signup-dialog p{color:#aeb9a4;font-size:12px;line-height:1.65}#signup-dialog label{color:#dfe6d5;margin:14px 0;font-size:12px}#signup-dialog label small{color:#91a085;font-size:10px}#signup-dialog input:not([type=checkbox]),#signup-dialog select{box-sizing:border-box;background:#ffffff05;border:1px solid #b5c59d30;color:#eff3e8;border-radius:12px;margin-top:7px;min-height:46px;font-size:16px;padding:11px 13px;transition:border-color .2s,background .2s}#signup-dialog select option{background:#20281e}#signup-dialog input:focus,#signup-dialog select:focus{outline:2px solid #c4d5a9;outline-offset:2px;background:#ffffff09}#signup-dialog .consent{font-size:11px;color:#bac6ad;gap:12px}#signup-dialog .consent input{width:18px;height:18px;flex-shrink:0;accent-color:#cbd9b8}#signup-dialog form>p:not(#signup-result){font-size:10px;line-height:1.6;color:#96a28c;margin:12px 0 18px}#signup-dialog .signup-submit{border-radius:14px;min-height:48px;background:#cbd9b8;color:#1b2717;font-size:13px;font-weight:600;transition:background .2s}#signup-dialog .signup-submit:hover{background:#e0eccd}#signup-dialog #signup-result{margin:12px 0 0;color:#d3e6b8}#signup-dialog #signup-result:empty{display:none}.teaser-invite button:focus-visible,#signup-dialog button:focus-visible{outline:2px solid #d9e7c2;outline-offset:4px}
@media(max-width:700px){.teaser-invite{width:max-content;max-width:calc(100vw - 24px);box-sizing:border-box;padding:8px 8px 8px 17px;gap:18px}.invite-copy strong{font-size:11px}.invite-copy small{font-size:8px}.teaser-invite button{padding:12px 14px;font-size:11px}#signup-dialog{padding:22px;border-radius:24px}#signup-dialog h2{font-size:36px}.signup-chapter{margin-top:15px;padding-top:15px}#signup-dialog label{margin:12px 0}}

/* Countdown: bold condensed numerals (Anton), Space Grotesk labels, a soft tick on each change. */
.opening-countdown{align-items:flex-start;gap:clamp(8px,1.3vw,16px);margin-top:12px;color:#20221f}
.opening-countdown span{display:grid;justify-items:center;gap:7px;min-width:0}
.opening-countdown b{display:block;min-width:1.06em;font:400 clamp(42px,4.4vw,58px)/.88 'Anton',Impact,'Arial Narrow',sans-serif;letter-spacing:.012em;text-align:center;font-variant-numeric:tabular-nums}
.opening-countdown b.tick{animation:count-tick .42s cubic-bezier(.2,.7,.2,1)}
.opening-countdown small{font:600 9px/1 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#7c7465;padding-left:.24em}
.opening-countdown i{font:400 clamp(30px,3.2vw,44px)/1 'Anton',Impact,sans-serif;font-style:normal;color:#cdc3b1;padding-top:.08em}
@keyframes count-tick{from{transform:translateY(-.14em);opacity:.3}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.opening-countdown b.tick{animation:none}}
@media(max-width:700px){.opening-countdown{gap:6px;margin-top:12px}.opening-countdown b{font-size:42px}.opening-countdown small{font-size:8px;letter-spacing:.18em}.opening-countdown i{font-size:28px}body[data-teaser=true] .entry-layer .threshold{margin-top:clamp(18px,4svh,40px);width:min(76vw,32svh)}}
/* While locked on wider screens, give the countdown room above the doors. */
@media(min-width:701px){body[data-teaser=true] .entry-layer .threshold{margin-top:clamp(30px,5.5svh,60px);width:min(32svh,310px)}}

/* Torn tapes (teaser.js ripTapes): two clipped halves per strip, above the doors, plus small shreds. */
.tape-rip{pointer-events:none;transition:none;filter:none!important;opacity:1!important;perspective:700px}
.tape-rip .barrier-tape{pointer-events:none;cursor:default}
.tape-rip svg{will-change:transform}
.tape-shred{position:absolute;width:9px;height:6px;margin:-3px 0 0 -4px;background:#f4de19;clip-path:polygon(0 20%,40% 0,100% 30%,85% 100%,30% 80%);box-shadow:inset 0 -2px #dac317}
