*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#141918;color:#fff;font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;min-height:44px}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #d4b783;outline-offset:4px}button[hidden],[hidden]{display:none!important}#tour{width:100%;height:100dvh;position:relative;isolation:isolate;overflow:hidden}#viewer{position:absolute;inset:0;touch-action:none;cursor:grab}#viewer:active{cursor:grabbing}#picture{position:absolute;inset:0;opacity:1;transition:opacity .35s}#scene,#software-scene{display:block;width:100%;height:100%;touch-action:none}#hotspots{position:absolute;inset:0;pointer-events:none}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0e161987,transparent 23%,transparent 60%,#0e16195c 83%,#0e1619a1)}#brandbar{position:absolute;top:0;left:0;right:0;padding:30px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}#brandbar>a,#brandbar>button{pointer-events:auto}.brand{color:#fff;text-decoration:none;font:23px Georgia,serif;letter-spacing:3.5px;text-shadow:0 2px 12px #0004}.brand span{display:block;font:8px Arial;letter-spacing:5px;margin-top:9px;color:#eee3cf}.project{font:16px Georgia;letter-spacing:2px;text-align:center}.project span{display:block;font:8px Arial;letter-spacing:2px;color:#e6ded1;margin-top:8px}.textbutton{display:flex;align-items:center;gap:10px;letter-spacing:1px;font-size:11px;text-transform:uppercase;border:1px solid #ffffff70;padding:8px 17px;background:#121e1c26;backdrop-filter:blur(8px)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}#instructions{position:absolute;top:120px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:1.7px;text-align:center;pointer-events:none;white-space:nowrap;text-shadow:0 2px 5px #0008;animation:quiet 1s 8s forwards}#instructions span{margin:0 10px;color:#dfbf8b}@keyframes quiet{to{opacity:0}}#caption{position:absolute;bottom:124px;left:36px;pointer-events:none;max-width:calc(100% - 145px);text-shadow:0 3px 15px #0004}#roomgroup{font-size:9px;letter-spacing:2.5px;color:#ecdec1}h1{font:clamp(30px,4.2vw,56px)/1.1 Georgia,serif;margin:12px 0 10px;font-weight:400}.quiet{pointer-events:auto;min-height:30px;padding:0;letter-spacing:.2px;font-size:10px;color:#eee6d6}#caption .quiet:hover{text-decoration:underline}.viewcontrols{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px}.viewcontrols button{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;background:#16221e6e;border:1px solid #ffffff65;backdrop-filter:blur(12px)}.viewcontrols button:hover{background:#d6b77e;color:#1b2420}.hotspot{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);width:45px;height:45px;min-height:45px;border:1px solid #fff;background:#fbf4e9e8;border-radius:50%;color:#18312d;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px #ffffff24,0 3px 13px #0004;transition:background .2s}.hotspot:hover{background:#e0bd7f}.hotspot svg{width:23px;height:23px;stroke-width:2}.hotspot>span:not(.name){display:none}.hotspot .name{position:absolute;top:57px;left:50%;transform:translateX(-50%);padding:6px 9px;border:1px solid #ffffff40;border-radius:2px;background:#14231ecc;color:#fff;font-size:10px;white-space:nowrap;letter-spacing:.2px;pointer-events:none}.hotspot:focus-visible .name{background:#1e332be8}#dock{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;max-width:calc(100% - 40px);background:#12251fe0;border:1px solid #ffffff42;border-radius:3px;backdrop-filter:blur(22px);box-shadow:0 8px 25px #0002;padding:6px}#dock button{padding:9px 18px;min-height:42px;white-space:nowrap;font-size:11px;letter-spacing:.8px;border-right:1px solid #ffffff20}#dock button:hover{background:#ffffff12}#dock #back{font-size:21px;padding:8px 16px}#dock #move{color:#edcf98;display:flex;gap:12px;align-items:center}#routecount{font-size:10px;border:1px solid #d9ba8070;border-radius:50%;width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center}#dock .caret{font-size:16px}#dock #allrooms span{margin-left:14px}#dock .infobutton{font:italic 18px Georgia;border-right:0;padding:8px 16px}#routepanel{position:absolute;bottom:104px;left:50%;transform:translateX(-50%);width:min(530px,calc(100% - 40px));padding:15px 18px;background:#12251ff0;border:1px solid #ffffff40;backdrop-filter:blur(22px);box-shadow:0 6px 40px #0003;border-radius:3px;z-index:4}.routehead{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff25;padding-bottom:9px;margin-bottom:6px}.routehead>span{font-size:9px;letter-spacing:1.5px;color:#d7c8ab}.routehead button{min-height:30px;width:30px;font-size:16px}#nextrooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;max-height:34dvh;overflow:auto}#nextrooms button{display:flex;gap:10px;align-items:center;font-size:12px;text-align:left;padding:13px 4px;border-bottom:1px solid #ffffff13}#nextrooms button b{display:none}#nextrooms button:before{content:'↗';color:#d9b679;font-size:17px}#nextrooms button:hover{color:#f0d3a0}.corner-note{position:absolute;bottom:37px;left:36px;font-size:7px;letter-spacing:1.6px;pointer-events:none;color:#f5ebd9a0}.corner-note span{display:block;margin-top:6px;font-size:6px;color:#f5ebd96b}#loadstate{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:18px 25px;border:1px solid #ffffff30;background:#14241ee8;backdrop-filter:blur(12px);font-size:11px;letter-spacing:.6px;text-align:center;max-width:80%;z-index:5}dialog{width:min(850px,94vw);max-height:88dvh;overflow:auto;background:#f6f1e8;color:#25352c;border:0;border-radius:2px;padding:28px;box-shadow:0 24px 100px #0005}dialog::backdrop{background:#08130bb8;backdrop-filter:blur(8px)}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #24382b20;padding-bottom:18px;margin-bottom:20px}.eyebrow{font-size:8px;letter-spacing:2px;color:#9c8256}.dialoghead h2{font:30px Georgia;margin:8px 0 0}.dialoghead button{font-size:22px;flex-shrink:0;width:44px;border:1px solid #25352c30}.dialoghead button:hover{background:#e5dac8}#dialogbody p{font-size:12px;line-height:1.75;color:#617065}.map{position:relative;width:100%;max-width:430px;aspect-ratio:1334/1536;margin:20px auto;background:#fff}.map img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}#mapmarkers{position:absolute;inset:0}.map button{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;min-height:24px;padding:0;border:1px solid #fff;background:#213a30;color:#fff;border-radius:50%;font-size:9px}.map button.active{background:#b48d4c}.planlegend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.planlegend button{text-align:left;color:#25352c;display:flex;gap:10px;padding:9px;border-bottom:1px solid #25352c15;font-size:11px}.planlegend b{color:#a27c43;font-size:10px}.gridrooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.roomcard{padding:0;text-align:left;color:#25352c;border-bottom:1px solid #25352c25}.roomcard img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}.roomcard>span{display:block;font:17px Georgia;padding:11px 0 5px}.roomcard small{display:block;font-size:8px;letter-spacing:.8px;padding-bottom:12px;color:#6a7168}.roomcard:hover{color:#a27c43}.viewsection{margin-top:22px;border-top:1px solid #25352c25;padding-top:18px}.viewsection h3{font:22px Georgia;margin:0 0 12px}.viewlist{display:flex;flex-wrap:wrap;gap:8px}.viewlist button{padding:10px 13px;border:1px solid #25352c30;color:#25352c;font-size:11px}.viewlist button:hover{background:#e9dec9}.referenceimage,.resourceimg{display:block;width:100%;height:auto}video{width:100%;max-height:42dvh;background:#111}.facts{display:flex;gap:24px;padding:10px 0 22px}.facts b{display:block;font:23px Georgia;margin-bottom:7px}.facts span{font-size:10px;color:#687365}a.brochure{display:inline-block;color:#9a7640;font-size:12px;padding:16px 0}#viewer:focus-visible{outline:2px solid #dbba83;outline-offset:-3px}@media(max-width:750px){#brandbar{padding:22px 20px}.brand{font-size:17px;letter-spacing:2.5px}.brand span{font-size:6px;letter-spacing:3.3px;margin-top:7px}.project{display:none}.textbutton{font-size:9px;gap:7px;padding:7px 11px;min-height:39px}.textbutton svg{width:17px;height:17px}#instructions{top:92px;font-size:7px;letter-spacing:1px;max-width:90%}#instructions span{margin:0 7px}#caption{left:20px;bottom:119px;max-width:calc(100% - 50px)}#roomgroup{font-size:8px;letter-spacing:1.8px}h1{font-size:34px;max-width:310px;margin:10px 0 5px}.quiet{font-size:9px}.viewcontrols{right:14px;top:43%;gap:8px}.viewcontrols button{width:37px;height:37px;min-height:37px;font-size:20px}.viewcontrols svg{width:17px;height:17px}.hotspot{width:39px;height:39px;min-height:39px;box-shadow:0 0 0 4px #ffffff24,0 2px 9px #0004}.hotspot .name{font-size:9px;top:48px;max-width:130px;white-space:normal;text-align:center;line-height:1.3}.corner-note{display:none}#dock{bottom:max(24px,env(safe-area-inset-bottom));padding:5px;max-width:calc(100% - 32px);width:calc(100% - 32px);justify-content:space-between}#dock button{font-size:10px;letter-spacing:.2px;padding:9px 12px}#dock #back{padding:8px 12px}#dock #move{gap:7px}#dock #allrooms span{margin-left:6px}#dock .infobutton{padding:8px 11px}#routepanel{bottom:96px;width:calc(100% - 32px);padding:12px 15px}#nextrooms{grid-template-columns:1fr;max-height:42dvh}#nextrooms button{font-size:12px;padding:12px 4px}.routehead>span{font-size:8px;letter-spacing:1px}dialog{padding:20px}.dialoghead h2{font-size:26px}.gridrooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roomcard>span{font-size:16px}.facts b{font-size:20px}}@media(max-height:500px){#brandbar{padding:16px 22px}#instructions{top:75px}#caption{bottom:88px;left:22px}h1{font-size:30px;margin:8px 0 3px}#dock{bottom:16px}.viewcontrols{flex-direction:row;right:20px;top:90px;transform:none}#routepanel{bottom:80px}#roomgroup{font-size:8px}.corner-note{display:none}}@media(prefers-reduced-motion:reduce){#picture{transition:none}#instructions{animation:none}}

/* Directional locators keep every exit visible when its doorway is outside the lens. */
.hotspot.locator{width:28px;height:28px;min-height:28px;background:#172d25cc;color:#fff;border-color:#ffffff85;box-shadow:0 2px 10px #0002}
.hotspot.locator svg{width:16px;height:16px}.hotspot.locator.left svg{transform:rotate(-90deg)}.hotspot.locator.right svg{transform:rotate(90deg)}
.hotspot.locator .name{top:50%;transform:translateY(-50%);font-size:9px;max-width:130px;white-space:normal;line-height:1.35;text-align:left;min-width:75px;background:#172d25cc}
.hotspot.locator.left .name{left:38px}.hotspot.locator.right .name{left:auto;right:38px;text-align:right}
@media(max-width:750px){#caption{bottom:95px}h1{font-size:27px;max-width:290px}.viewcontrols{top:auto;bottom:105px;transform:none;flex-direction:row;right:17px;gap:6px}.viewcontrols button{width:30px;height:30px;min-height:30px}#caption{max-width:calc(100% - 48px)}#caption .quiet{display:none}.viewcontrols{bottom:80px}#dock{bottom:max(18px,env(safe-area-inset-bottom))}#routepanel{bottom:83px}}
@media(max-height:550px){.hotspot.locator .name{font-size:8px}#caption{bottom:85px}h1{font-size:22px}#roomgroup{font-size:7px}}

@media(max-width:750px){#caption{bottom:126px;max-width:calc(100% - 44px)}.viewcontrols{bottom:84px}.hotspot.locator .name{max-width:112px}.hotspot .name{max-width:125px}}
