@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Special+Elite&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{background:#000;color:#fff;font-family:Playfair Display,serif;min-height:100vh}canvas#stars{position:fixed;inset:0;z-index:0}.overlay{position:fixed;inset:0;z-index:100;pointer-events:none}.scanlines{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px)}.vignette{background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.65) 100%)}.scene{filter:grayscale(.8) contrast(1.1);position:relative;min-height:100vh}h1,h2,h3,h4{font-family:Special Elite,Playfair Display,serif;letter-spacing:.1em}a{color:#ffffffb3;text-decoration:none;transition:color .3s ease}a:hover{color:#fff}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes growLine{to{opacity:1;transform:scaleX(1)}}.tz-heading{font-size:clamp(1.3rem,3.5vw,2.5rem);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 30px rgba(255,255,255,.4)}.tz-line{width:50px;height:1px;background:#ffffff59;margin:1.5rem auto}.tz-text{max-width:600px;text-align:center;line-height:1.9;font-size:clamp(.85rem,1.4vw,1.05rem);color:#ffffffb3}.tz-text em{color:#fff}.tz-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#ffffff80;padding:10px 28px;font-family:Playfair Display,serif;font-size:.85rem;letter-spacing:.15em;cursor:pointer;transition:all .3s ease;text-transform:uppercase;text-decoration:none;display:inline-block}.tz-btn:hover{border-color:#fff9;color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#444;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#666}#intro{position:fixed;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;perspective:800px;transition:transform 2.5s cubic-bezier(.4,0,0,1),opacity .5s ease 2s}#intro.zoom{transform:scale(20);opacity:0}.door-container{position:relative;width:240px;height:420px;animation:floatDoor 5s ease-in-out infinite alternate;transform-style:preserve-3d;transform:rotateY(-5deg) rotate(-2deg)}@keyframes floatDoor{0%{translate:0 6px}to{translate:0 -6px}}.door-frame{width:100%;height:100%;background:#222;border:5px solid #555;border-radius:3px;position:relative;box-shadow:0 0 80px #ffffff0f;transform-style:preserve-3d}.door-inside{position:absolute;inset:0;background:radial-gradient(ellipse at center,#fff,#ddd,#aaa);opacity:0;transition:opacity 1.2s ease}.door-inside.show{opacity:1}.door-panel{position:absolute;inset:6px;transform-origin:left center;transition:transform 2s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;z-index:2}.door-panel.open{transform:rotateY(-80deg)}.door-front{position:absolute;inset:0;background:linear-gradient(175deg,#999,#777 40%,#888,#757575)}.door-edge{position:absolute;top:0;left:0;width:10px;height:100%;background:linear-gradient(180deg,#555,#444,#505050);transform:rotateY(-90deg);transform-origin:right center}.panel-inset{position:absolute;left:14%;width:72%;border:3px solid rgba(0,0,0,.15);border-radius:1px;background:linear-gradient(175deg,#ffffff0a,#0000000a)}.panel-inset.top{top:7%;height:26%}.panel-inset.bottom{top:55%;height:26%}.door-knob{position:absolute;right:10%;top:46%;width:18px;height:18px;background:radial-gradient(circle at 35% 35%,#ddd,#777);border-radius:50%;box-shadow:1px 2px 5px #00000080;z-index:3}.title-card{position:fixed;top:8%;left:0;right:0;z-index:2;text-align:center;opacity:0;transition:opacity 1.5s ease;pointer-events:none}.title-card.show{opacity:1}.title-main{font-family:Special Elite,Playfair Display,serif;font-size:clamp(1.4rem,4vw,3rem);letter-spacing:.25em;text-transform:uppercase;text-shadow:0 0 30px rgba(255,255,255,.4)}.title-sub{font-size:clamp(.7rem,1.5vw,1rem);letter-spacing:.4em;margin-top:.5rem;opacity:.6;font-style:italic}#flash{position:fixed;inset:0;background:#fff;z-index:10;opacity:0;pointer-events:none;transition:opacity .3s ease}#flash.on{opacity:1}#nav-page{position:fixed;inset:0;z-index:5;opacity:0;pointer-events:none;transition:opacity 1s ease;overflow-y:auto}#nav-page.show{opacity:1;pointer-events:auto}.nav-inner{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;position:relative;z-index:1}.nav-heading{font-size:clamp(1.3rem,3.5vw,2.5rem);letter-spacing:.15em;opacity:0;transform:translateY(25px)}.nav-heading.anim{animation:rise .8s ease forwards}.nav-line{width:50px;height:1px;background:#ffffff59;margin:1.5rem 0;opacity:0;transform:scaleX(0)}.nav-line.anim{animation:growLine .6s ease forwards;animation-delay:.3s}.nav-tagline{max-width:520px;text-align:center;line-height:1.9;font-size:clamp(.85rem,1.4vw,1.05rem);color:#ffffff80;font-style:italic;margin-bottom:2.5rem;opacity:0;transform:translateY(25px)}.nav-tagline.anim{animation:rise .8s ease forwards;animation-delay:.5s}.nav-links{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;max-width:700px;opacity:0;transform:translateY(25px)}.nav-links.anim{animation:rise .8s ease forwards;animation-delay:.7s}.nav-link{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 2.5rem;border:1px solid rgba(255,255,255,.12);text-decoration:none;color:#fff9;transition:all .4s ease;min-width:180px}.nav-link:hover{border-color:#fff6;color:#fff;transform:translateY(-4px);box-shadow:0 8px 30px #ffffff0f}.nav-link-icon{font-size:1.6rem;filter:grayscale(1);transition:filter .4s ease}.nav-link:hover .nav-link-icon{filter:grayscale(0)}.nav-link-title{font-family:Special Elite,serif;font-size:1rem;letter-spacing:.15em;text-transform:uppercase}.nav-link-desc{font-size:.75rem;color:#ffffff59;letter-spacing:.05em}.replay-btn{margin-top:3rem;background:none;border:1px solid rgba(255,255,255,.15);color:#ffffff59;padding:8px 24px;font-family:Playfair Display,serif;font-size:.75rem;letter-spacing:.15em;cursor:pointer;transition:all .3s ease;text-transform:uppercase;opacity:0;transform:translateY(25px)}.replay-btn.anim{animation:rise .8s ease forwards;animation-delay:1s}.replay-btn:hover{border-color:#fff6;color:#ffffffb3}
