:root{font-family:Arial,sans-serif;color:#211b17;background:#171411;font-synthesis:none;--ink: #211b17;--sand: #e4d8c8;--paper: #f4eee5;--red: #861d20;--red-dark: #681317;--gold: #9e7652;--line: #c9b7a4}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b37935;outline-offset:3px}button:disabled{opacity:.42;cursor:not-allowed}p{line-height:1.55}.landing-shell{min-height:100svh;display:grid;place-items:center;padding:clamp(12px,4vw,60px);overflow:hidden}.landing{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;width:min(100%,1440px);min-height:min(850px,calc(100svh - 8vw));background:var(--sand)}.landing-header,.tour-header{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:20px}.landing-header{padding:25px 3.5%}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:bold clamp(16px,2vw,25px)/1 Georgia,serif;white-space:nowrap}.brand img{width:42px;height:34px;filter:brightness(0) saturate(100%) invert(15%) sepia(31%) saturate(3576%) hue-rotate(337deg) brightness(87%)}.header-label,.landing-kicker,.section-kicker,.landing-footer>span,.tour-caption,.map-heading>div>span,.map-caption{font:10px/1.4 Arial,sans-serif;letter-spacing:.15em}.header-label{color:#6b5142}.landing-content{position:relative;flex:1;min-height:550px;padding:26px 3.5% 24px;display:flex;flex-direction:column;justify-content:center}.landing-kicker{position:absolute;z-index:3;top:8%;left:3.5%;margin:0;color:#6b5142}.landing-art{position:absolute;z-index:1;top:-70px;right:0;bottom:-80px;left:0;display:flex;align-items:flex-start;justify-content:center;pointer-events:none}.landing-art img{height:128%;max-width:52%;object-fit:contain;object-position:top;filter:drop-shadow(0 12px 20px #5a403c42)}.landing-title{position:relative;z-index:2;width:100%;margin:0;color:#16120f;font:400 clamp(56px,9.7vw,142px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.055em;pointer-events:none}.landing-title span{display:block}.landing-title span:nth-child(2){text-align:right}.landing-title span:nth-child(3){text-align:center}.landing-ornament{position:absolute;width:clamp(65px,10vw,132px);opacity:.85}.ornament-left{left:4%;top:44%}.ornament-right{right:4%;bottom:20%}.landing-intro{position:absolute;z-index:3;bottom:7%;left:3.5%;width:min(230px,21%);margin:0;color:#5b493e;font-size:13px}.landing-footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:104px;padding:20px 3.5%;color:#fff8ee;background:var(--red)}.landing-footer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(../media/hero/ornament-border.svg) repeat-x center / 128px 48px;opacity:.6;pointer-events:none}.landing-footer>span,.landing-cta{position:relative;background:var(--red)}.landing-footer>span{padding:10px}.landing-cta{display:flex;justify-content:space-between;align-items:center;gap:45px;min-height:48px;padding:13px 18px;border:1px solid #f1dfd1;color:#fff;font-size:11px;letter-spacing:.1em}.landing-cta span{font-size:19px}.landing-cta:hover{background:#f6eee4;color:var(--red)}.tour-shell{width:min(1500px,100%);min-height:100svh;margin:auto;background:var(--paper)}.tour-header{padding:18px clamp(20px,4vw,58px);border-bottom:1px solid var(--line)}.brand-button{padding:0;border:0;background:none}.back-button{padding:12px 0 12px 15px;border:0;background:none;color:var(--red);font-size:11px;letter-spacing:.1em}.back-button span{margin-right:8px;font-size:18px}.viewer-section{padding:clamp(24px,3.2vw,46px) clamp(20px,4vw,58px) 24px}.viewer-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}.section-kicker{margin:0 0 9px;color:var(--red);font-weight:700}.section-kicker span{padding:0 5px;color:var(--gold)}.viewer-heading h1,.dialog h2{margin:0;font:400 clamp(35px,4vw,58px)/1.05 Georgia,serif;letter-spacing:-.035em}.viewer-heading h1:focus-visible{outline:3px solid #b37935;outline-offset:3px}.hint{max-width:430px;margin:0;color:#6a5a4e;font-size:13px}.hint strong{color:var(--red);font-family:Georgia,serif}.viewer-frame{position:relative;height:min(66vh,700px);min-height:400px;overflow:hidden;background:#2b2623}.panorama{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none}.viewer-error{position:absolute;z-index:5;top:15px;left:15px;max-width:400px;padding:12px 16px;color:var(--ink);background:var(--paper)}.zoom-controls{position:absolute;z-index:2;right:16px;bottom:16px;display:flex;gap:5px}.zoom-controls button,.model-controls button{min-width:44px;min-height:44px;padding:7px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.zoom-controls button{border:0;font:26px/1 Georgia,serif}.zoom-controls button:hover,.model-controls button:hover:not(:disabled){background:var(--red);color:#fff}.hotspot{width:36px;height:36px;padding:0;border:2px solid #f8eee0;border-radius:50%;background:var(--red);color:#fff;font:700 18px Georgia,serif;box-shadow:0 2px 7px #0008}.navigation-hotspot{min-width:44px;min-height:40px;padding:5px 9px;border:1px solid #fff4df;border-radius:22px;background:#211b17d9;color:#fff;font-weight:700;white-space:nowrap}.hotspot:hover,.navigation-hotspot:hover{background:#ad3434}.map-overlay{position:absolute;left:16px;bottom:16px;z-index:2;width:min(390px,46%)}.map-toggle{display:flex;align-items:center;gap:14px;min-height:42px;padding:10px 14px;border:0;background:var(--red);color:#fff;font-size:12px;letter-spacing:.025em}.map-toggle span:first-child{font-size:20px;line-height:0}.map-toggle span:last-child{margin-left:auto;font-size:18px;line-height:0}.map-toggle:hover{background:var(--red-dark)}.floorplan{padding:16px 16px 12px;background:#f5eee4f5;box-shadow:0 5px 25px #0003}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.map-heading>div>span{color:var(--red);font-size:9px;font-weight:700}.map-heading h2{margin:3px 0 0;font:23px/1 Georgia,serif}.map-current{color:#806c5b;font:12px Georgia,serif}.map-image{position:relative;width:100%}.map-image img{display:block;width:100%;height:auto}.map-point{position:absolute;transform:translate(-50%,-50%);width:27px;height:27px;padding:0;border:2px solid #f8f1e7;border-radius:50%;background:#9d4140;color:#fff;font-size:11px;font-weight:700;box-shadow:0 1px 4px #0004}.map-point:hover{background:#621318}.map-point.active{background:var(--red-dark);outline:2px solid var(--ink);outline-offset:1px}.map-choices{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:10px;font-size:12px}.map-choices button{min-width:36px;min-height:36px;border:1px solid var(--line);background:#fff;color:var(--red)}.map-caption{margin:10px 0 0;color:#78685c;font-size:9px;letter-spacing:.08em}.tour-caption{display:flex;justify-content:space-between;gap:15px;padding-top:15px;color:#887468;font-size:9px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:16px;background:#1a1512cf}.dialog{width:min(850px,100%);max-height:92dvh;overflow:auto;padding:clamp(20px,3vw,36px);background:var(--paper);box-shadow:0 20px 80px #0007}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}.dialog h2{font-size:clamp(29px,3vw,43px)}.dialog p{color:#5c4c42;font-size:14px}.dialog button{min-height:42px;padding:10px 14px;border:1px solid #a58d79;background:transparent;color:var(--ink)}.dialog button:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}.close-button{white-space:nowrap}.close-button span{margin-left:8px;font-size:19px}.exhibit-image{display:block;width:100%;max-height:55vh;object-fit:contain;background:#e8ded2}.photo-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:14px;font-size:12px}.model-canvas{width:100%;height:min(50vh,420px);min-height:220px;background:#e8ded2}.model-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.model-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}@media(max-width:700px){.landing-shell{display:block;padding:0}.landing{min-height:100svh}.landing-header{padding:20px}.brand{font-size:16px}.brand img{width:32px;height:26px}.header-label{max-width:95px;text-align:right;font-size:8px}.landing-content{min-height:530px;padding:20px}.landing-kicker{top:5%;left:20px;max-width:175px;font-size:9px}.landing-art{top:-15px;right:0;bottom:-30px;left:0}.landing-art img{height:116%;max-width:82%}.landing-title{font-size:clamp(48px,11.4vw,78px);line-height:1.14}.ornament-left{left:4%;top:31%}.ornament-right{right:4%;bottom:21%}.landing-intro{bottom:4%;left:20px;width:46%;font-size:11px;text-shadow:0 0 5px var(--sand),0 0 10px var(--sand)}.landing-footer{min-height:86px;padding:16px 20px}.landing-footer>span{display:none}.landing-cta{width:100%}.tour-header{gap:8px;padding:15px 18px}.tour-header .brand{font-size:14px;gap:5px}.back-button{font-size:9px}.viewer-section{padding:24px 14px}.viewer-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:17px}.hint{font-size:12px}.viewer-frame{height:62svh;min-height:430px}.map-overlay{left:10px;bottom:10px;width:min(310px,calc(100% - 76px))}.floorplan{padding:12px}.map-heading h2{font-size:19px}.map-point{width:25px;height:25px}.zoom-controls{right:10px;bottom:10px;flex-direction:column}.tour-caption span:last-child{display:none}.dialog{max-height:94dvh}.close-button{font-size:0}.close-button span{margin:0;font-size:22px}}
