html,body{height:100%;overflow:hidden}body{background:#171d1b}#main{height:100dvh}.house-home{position:fixed;inset:0;overflow:hidden;background:#171d1b}.house-home #three-stage{cursor:crosshair}.house-home #three-stage:active{cursor:grabbing}
.ruway-logo{display:flex;align-items:center;min-width:100px;min-height:55px}.ruway-logo img{width:112px;height:58px;object-fit:contain}.tour-top{z-index:8;padding-top:20px}.tour-top .header-actions{display:flex;align-items:center;gap:35px}.tour-top .contact-link{background:transparent}.tour-brand{pointer-events:none}
.intro-shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#101b18ed,#101b1880 45%,#101b1815 80%);opacity:0;transition:opacity .6s}.home-intro .intro-shade{opacity:1}.welcome{position:absolute;z-index:5;left:7%;top:47%;transform:translateY(-44%);max-width:720px;pointer-events:none}.welcome button{pointer-events:auto}.welcome h1{font:400 clamp(90px,9.5vw,154px)/.88 Cormorant,serif;letter-spacing:-.055em;margin:32px 0}.welcome h1 em{color:var(--accent)}.welcome-copy{font-size:15px;line-height:1.85;color:var(--cream)}.welcome-hint{font-size:11px;line-height:1.7;color:var(--muted);margin-top:20px;max-width:46ch}.welcome .enter-button{margin-top:28px}.home-intro #hotspots,.home-intro .touch-controls{visibility:hidden}.home-intro .tour-brand{opacity:0}
.room-caption h2{font-size:56px;margin:12px 0 10px;font-weight:400;line-height:1.05;letter-spacing:-.025em}.room-caption{bottom:135px;max-width:500px}.tour-bottom{z-index:8}.tour-audio .sound-toggle{gap:12px;font-size:11px;min-height:44px}.sound-toggle{background:transparent}.room-nav button{min-height:44px}.small-button{min-height:44px}.touch-controls{z-index:7}.house-failed .tour-bottom .room-nav,.house-failed .touch-controls{display:none}.house-failed .room-caption{display:none}.house-failed .intro-shade{opacity:1}.house-failed .tour-brand{opacity:1}
.tour-loading{z-index:9;pointer-events:none}.tour-unavailable{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);width:min(600px,86%);text-align:center}.tour-unavailable h2{font-size:60px;margin:25px 0}.tour-unavailable p:not(.eyebrow){font-size:16px;line-height:1.7;margin:20px auto;max-width:46ch}.tour-unavailable .text-link{display:block;margin:20px auto}.no-js{position:fixed;inset:0;z-index:30;overflow:auto;background:var(--canvas);padding:8%}.no-js h2{font-size:50px;margin:24px 0}.no-js a{display:block;min-height:44px;text-decoration:underline}
.drawer-contact{display:flex;align-items:center;background:transparent;color:var(--cream);text-align:left;width:100%;min-height:44px}.future-socials{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;min-height:44px;line-height:1.4;color:var(--muted)}.future-socials small{font-size:9px;color:var(--accent);margin-top:4px}.drawer-tour{min-height:48px}.drawer-footer{justify-content:space-between}
.story-text-only{display:block;min-height:0}.story-text-only .story-content{max-width:780px;margin:0 auto;padding:50px 60px}.story-text-only .story-content h2{font-size:68px}.story-text-only .excerpt{max-width:52ch}.story-content details{line-height:1.75}.story-object{min-height:44px}.pending-note{font-size:13px}.player-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px}.player-actions a{min-height:44px;display:flex;align-items:center;margin:0}.player-actions button{color:var(--cream)}
.contact-dialog{width:min(1100px,94vw);max-height:93dvh;overflow-y:auto}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:48px}.contact-copy h2{font-size:59px;line-height:1.03;letter-spacing:-.025em;margin:25px 0}.contact-copy h2 em{color:var(--accent)}.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted)}.contact-email{display:flex;align-items:center;gap:18px;padding:25px 20px;border:1px solid var(--line);border-radius:20px;margin-top:40px;font-size:13px;line-height:1.5}.contact-email>span:first-child{font-size:29px;color:var(--accent)}.contact-email small{display:block;font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.contact-layout form{padding:28px;background:#1c2722;border:1px solid var(--line);border-radius:25px}.contact-layout label{font-size:13px;display:block;margin:0 0 11px}.contact-layout input:not([type=hidden]),.contact-layout textarea{display:block;width:100%;font:400 15px/1.65 Manrope,sans-serif;background:#111c17;border:1px solid #687367;border-radius:25px;color:var(--cream);padding:14px 18px;margin-bottom:24px;min-height:52px}.contact-layout input::placeholder,.contact-layout textarea::placeholder{color:#aab3a5}.contact-layout textarea{border-radius:20px;resize:vertical;min-height:150px}.contact-layout input:focus,.contact-layout textarea:focus{outline:2px solid var(--accent);outline-offset:3px}.contact-submit{border-radius:30px;padding:14px 24px;font-size:13px;background:var(--accent);min-width:190px}.contact-submit:disabled{opacity:.5;cursor:wait}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{font-size:13px;line-height:1.7;color:var(--cream);margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:12px}.form-status:focus{outline:2px solid var(--accent);outline-offset:3px}
.help-dialog{width:min(560px,94vw);max-height:90dvh;overflow:auto;padding:40px}.help-close{position:absolute;right:14px;top:12px}.help-dialog h2{font-size:49px;margin:22px 0}.help-dialog h2 em{color:var(--accent)}.help-dialog ul{padding-left:20px;list-style:disc;margin-bottom:30px}.help-dialog li{font-size:14px;line-height:1.7;margin:15px 0;color:var(--muted)}.help-dialog strong{color:var(--cream);font-weight:500}.help-dialog .solid-button{width:100%}
@media(max-width:1100px){.contact-layout{padding:32px;gap:25px}.contact-copy h2{font-size:49px}.welcome h1{font-size:118px}.tour-top .header-actions{gap:22px}.room-caption{max-width:400px}}
@media(max-width:760px){.tour-top{padding:15px 6%}.ruway-logo img{width:90px;height:47px}.ruway-logo{min-width:90px;min-height:47px}.tour-top .header-actions{gap:20px}.tour-top .contact-link{font-size:11px}.tour-top .menu-button{min-width:44px}.intro-shade{background:linear-gradient(0deg,#101b18ed 8%,#101b1880 65%,#101b1833)}.welcome{left:7%;right:7%;top:auto;bottom:175px;transform:none}.welcome h1{font-size:clamp(78px,21vw,130px);margin:24px 0;line-height:.88}.welcome h1 em{display:block;margin-left:40px}.welcome-copy{font-size:13px;max-width:35ch}.welcome-hint{font-size:10px;line-height:1.7;max-width:31ch;margin-top:15px}.welcome .eyebrow{font-size:8px}.welcome .enter-button{font-size:12px;margin-top:24px;gap:25px}.room-caption{bottom:170px;max-width:calc(100% - 200px)}.room-caption h2{font-size:36px;line-height:1.02}.touch-controls{bottom:170px}.tour-bottom{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.tour-audio .sound-toggle{font-size:10px;gap:8px}.tour-brand{display:none}.contact-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0}.contact-layout{display:flex;flex-direction:column;gap:25px;padding:30px 24px 40px}.contact-copy h2{font-size:48px}.contact-copy>p:not(.eyebrow){font-size:14px}.contact-email{margin-top:22px;padding:16px;font-size:12px}.contact-email small{font-size:12px}.contact-layout form{padding:23px 20px}.contact-layout input:not([type=hidden]),.contact-layout textarea{font-size:16px}.contact-submit{width:100%}.story-text-only .story-content{padding:35px 27px 45px}.story-text-only .story-content h2{font-size:53px}.help-dialog{padding:35px 27px}.help-dialog h2{font-size:43px}.help-dialog li{font-size:13px}.future-socials{font-size:10px}}
@media(max-height:650px){.welcome{top:47%;bottom:auto;transform:translateY(-44%)}.welcome h1{font-size:86px;margin:16px 0}.welcome h1 em{display:inline;margin:0}.welcome .eyebrow{font-size:8px}.welcome-copy{font-size:12px;line-height:1.6}.welcome .enter-button{margin-top:13px}.welcome-hint{display:none}.tour-top{padding-top:8px}.ruway-logo img{height:40px;width:78px}.room-caption{bottom:115px}.room-caption h2{font-size:33px}.room-caption>p:last-child{display:none}.touch-controls{bottom:115px}.tour-bottom{padding-top:6px}}
@media(prefers-reduced-motion:reduce){.intro-shade{transition:none}}
