:root{font-family:Arial,Helvetica,sans-serif;color:#20382f;background:#efeee8;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select,a{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b5864f;outline-offset:4px}[hidden]{display:none!important}svg{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.header{height:88px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fcfbf7;border-bottom:1px solid #dedfd5}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}.brand-mark{display:flex;align-items:baseline;font:38px Georgia,serif;letter-spacing:-6px;border-right:1px solid #d4d9d0;padding-right:23px}.brand-mark span{font-size:20px;letter-spacing:-3px}.brand-copy{display:flex;flex-direction:column;gap:7px}.brand-copy strong{font:26px Georgia,serif;letter-spacing:-.4px;font-weight:400}.brand-copy small{font-size:9px;letter-spacing:2.8px;color:#69786a}.header-actions{display:flex;gap:8px}.button{border:1px solid #d6dcd1;display:flex;align-items:center;gap:8px;background:#fcfbf7;border-radius:6px;color:inherit;padding:11px 15px;font-size:13px}.button:hover,.button.active{background:#e8ede4;border-color:#c7d0c1}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,31%);height:calc(100dvh - 88px);min-height:480px}.workspace.plan-hidden{grid-template-columns:1fr}.tour-region{position:relative;background:#17251e;min-height:0;overflow:hidden;isolation:isolate}#panorama{position:absolute;inset:0}.scene-heading{position:absolute;left:30px;top:27px;color:white;pointer-events:none;text-shadow:0 1px 12px #0008;z-index:4}.scene-heading>span{font-size:9px;letter-spacing:2px;background:#1c2a2370;display:inline-block;padding:6px 9px;border:1px solid #ffffff35;border-radius:3px;backdrop-filter:blur(7px)}.scene-heading h1{font:35px Georgia,serif;font-weight:400;line-height:1.15;margin:10px 0;max-width:470px}.viewer-tools{position:absolute;right:22px;top:25px;display:flex;flex-direction:column;gap:7px;z-index:5}.viewer-tools button{background:#fcfbf7f2;border:0;box-shadow:0 2px 12px #15231b20;border-radius:5px;height:42px;width:42px;display:grid;place-items:center;font-size:25px;color:#20382f}.viewer-tools button:hover{background:white}.viewer-tools button svg{width:20px;height:20px}.gesture-hint{position:absolute;bottom:99px;left:50%;transform:translateX(-50%);margin:0;padding:10px 15px;border-radius:30px;background:#18261de0;color:#fff;display:flex;align-items:center;gap:9px;font-size:11px;white-space:nowrap;z-index:4;pointer-events:none;transition:opacity .25s}.gesture-hint.faded{opacity:0}.gesture-hint svg{height:17px;width:20px}.notice{position:absolute;bottom:calc(var(--nearby-height) + 14px);left:18px;right:18px;margin:auto;width:fit-content;max-width:calc(100% - 36px);background:#fff9e9f5;color:#58472a;padding:11px 16px;border-radius:5px;box-shadow:0 2px 10px #0002;font-size:12px;z-index:7}.error-panel{position:absolute;z-index:8;top:50%;left:50%;transform:translate(-50%,-60%);width:min(420px,calc(100% - 36px));background:#fcfbf7;border-radius:12px;padding:26px;box-shadow:0 14px 60px #0005}.error-panel h2{font:25px Georgia,serif;margin:0 0 12px}.error-panel p{font-size:13px;line-height:1.6;color:#677263}.error-panel button{background:#20382f;color:white;border:0;border-radius:5px;padding:11px 13px;margin:10px 6px 0 0;font-size:12px}.plan-panel{border-left:1px solid #dce0d5;background:#f8f7f1;display:flex;flex-direction:column;min-height:0}.panel-header{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:27px 23px 13px}.eyebrow{display:block;color:#7d806b;font-size:8px;letter-spacing:2px;margin-bottom:8px}.panel-header h2,.gallery-header h2{font:25px Georgia,serif;font-weight:400;margin:0;color:#20382f}.icon-button{background:transparent;border:0;color:#697965;height:32px;width:32px;border-radius:50%;font-size:28px;font-weight:300;display:grid;place-items:center;line-height:1}.icon-button:hover{background:#e7ebdf}.plan-image-link{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;margin:0 18px;overflow:hidden;background:white;border:1px solid #e6e6dc;border-radius:3px}.plan-image{width:100%;height:100%;object-fit:contain;display:block}.plan-footer{padding:16px 23px 19px;display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-footer p{font-size:9px;line-height:1.5;color:#7a806e;margin:0}.download-plan{display:flex;gap:6px;align-items:center;color:#365540;text-decoration:none;font-size:10px;white-space:nowrap;border-bottom:1px solid #a5b49a;padding-bottom:3px}.download-plan svg{width:15px;height:15px}.gallery-dialog{border:0;border-radius:12px;padding:27px 28px 18px;width:min(920px,calc(100vw - 36px));max-height:86dvh;background:#fcfbf7;color:#20382f;box-shadow:0 25px 110px #0004}.gallery-dialog::backdrop{background:#0b1b13a6;backdrop-filter:blur(4px)}.gallery-header{display:flex;align-items:start;justify-content:space-between;gap:15px}.gallery-header h2{font-size:31px}.gallery-header p{color:#75816e;font-size:12px;margin:10px 0 0}.filter-label{display:flex;gap:15px;align-items:center;font-size:11px;color:#697965;margin:20px 0 15px}.filter-label select{border:1px solid #d5dccf;background:white;border-radius:5px;color:#304c39;padding:9px 30px 9px 11px;max-width:100%;font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.gallery-card{padding:0;text-align:left;background:white;border:1px solid #e0e5da;border-radius:7px;color:inherit;overflow:hidden;transition:border-color .15s,box-shadow .15s}.gallery-card:hover{border-color:#7e9475;box-shadow:0 3px 12px #213b2b12}.gallery-card.active{border-color:#446a4a;box-shadow:0 0 0 2px #446a4a}.gallery-card img{width:100%;height:85px;display:block;object-fit:cover}.gallery-card strong{display:block;font-size:11px;font-weight:400;padding:10px 10px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-card small{display:block;font-size:9px;color:#7d8975;padding:0 10px 10px}.gallery-note{font-size:10px;line-height:1.6;color:#7d8576;margin:20px 0 0}.pnlm-load-box{border-radius:8px;background:#17251ed9!important}.pnlm-title-box{display:none!important}.pnlm-about-msg{z-index:30}.noscript{position:fixed;z-index:100;top:90px;left:15px;right:15px;padding:20px;background:white;color:#20382f}#tourRegion:fullscreen{height:100dvh;width:100vw}.tour-region:fullscreen .scene-heading{top:30px}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) minmax(295px,33%)}.plan-footer{flex-direction:column;align-items:start;gap:12px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-heading h1{font-size:31px;max-width:340px}}
@media(max-width:760px){.header{height:75px;padding:0 16px;gap:10px}.brand{gap:11px}.brand-mark{font-size:31px;padding-right:17px}.brand-mark span{font-size:16px}.brand-copy{gap:5px}.brand-copy strong{font-size:21px}.brand-copy small{font-size:7px;letter-spacing:1.6px}.header-actions{gap:5px}.button{padding:9px;gap:5px;font-size:10px}.button svg{width:17px;height:17px}.workspace,.workspace.plan-hidden{height:calc(100dvh - 75px);min-height:410px;display:block}.tour-region{height:100%}.scene-heading{left:20px;top:21px}.scene-heading h1{font-size:30px;max-width:calc(100vw - 105px)}.viewer-tools{top:20px;right:15px}.viewer-tools button{height:38px;width:38px}.gesture-hint{bottom:96px;font-size:10px;padding:10px 13px}.plan-panel{position:fixed;inset:75px 0 0;z-index:20;border:0;height:calc(100dvh - 75px);background:#faf9f4;padding-bottom:env(safe-area-inset-bottom)}.panel-header{padding:23px 22px 16px}.panel-header h2{font-size:27px}.plan-image-link{margin:0 20px}.plan-footer{flex-direction:row;align-items:center;padding:18px 22px 24px}.plan-footer p{font-size:10px}.download-plan{font-size:11px}.gallery-dialog{padding:23px 20px 18px;width:calc(100vw - 24px);max-height:88dvh;border-radius:10px}.gallery-header h2{font-size:28px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.gallery-card img{height:79px}.gallery-card strong{font-size:10px}.gallery-note{font-size:9px}}
@media(max-width:380px){.button span{display:none}.button{padding:9px}.brand-copy strong{font-size:20px}.brand-mark{padding-right:13px}.scene-heading h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.plan-hint{font-size:10px;line-height:1.5;color:#7a806e;margin:9px 0 0}.plan-visual{position:relative;width:100%;height:100%;max-width:100%;display:grid;place-items:center}.plan-visual .plan-image{position:absolute;inset:0;object-fit:contain}.plan-zones{position:absolute;width:100%;height:100%;inset:0;stroke:none}.room-zone{cursor:pointer;outline:none}.room-zone polygon{fill:transparent;stroke:transparent;stroke-width:2;transition:fill .2s,stroke .2s}.room-zone:hover polygon,.room-zone:focus-visible polygon{fill:#839c6630;stroke:#6c8152}.room-zone.active polygon{fill:#a7b98722;stroke:#819a6450}
/* Directional anchors use only the provided navigation links. */
.walk-hotspot{width:58px;height:52px;background:none;border:0;z-index:6}.walk-anchor{position:relative;width:58px;height:52px;display:grid;place-items:center;border:0;padding:0;background:transparent;color:#fff;cursor:pointer;filter:drop-shadow(0 2px 3px #0008);touch-action:manipulation}.walk-disc{width:54px;height:34px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#ffffff38;box-shadow:0 0 0 6px #ffffff24,0 0 0 12px #ffffff0c;transition:background .18s,box-shadow .18s}.walk-disc svg{width:29px;height:22px;stroke:white;stroke-width:3}.walk-anchor:hover .walk-disc,.walk-anchor:focus-visible .walk-disc{background:#547e5cca;box-shadow:0 0 0 7px #ffffff60}.walk-anchor:focus-visible{outline:3px solid #e4bb73;outline-offset:7px;border-radius:50%}.walk-label{position:absolute;top:54px;left:50%;transform:translateX(-50%);background:#1b3028ed;padding:6px 9px;border-radius:5px;font-size:10px;line-height:1.25;white-space:nowrap;color:white;font-weight:400;box-shadow:0 2px 8px #0003;pointer-events:none}.walk-count{position:absolute;right:-3px;top:-3px;border-radius:20px;background:#244b36;color:white;border:2px solid white;padding:3px 6px;font-size:10px}.nearby-panel{position:absolute;left:18px;right:18px;bottom:0;z-index:6;background:#173025e8;color:white;border:1px solid #ffffff25;border-radius:8px;padding:9px 10px;max-width:680px;margin:auto;backdrop-filter:blur(8px)}.nearby-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:7px}.nearby-head>span{font-size:10px;letter-spacing:.2px}.nearby-head small{font-size:8px;color:#cbd4c5}.nearby-steps{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:1px 1px 3px}.nearby-step{background:#ffffff12;color:white;border:1px solid #ffffff5a;border-radius:4px;padding:8px 10px;font-size:10px;white-space:nowrap;min-height:34px}.nearby-step::before{content:'↗';margin-right:5px}.nearby-step:hover,.nearby-step:focus-visible{background:#ffffff30}.gesture-hint{bottom:183px}.route-picker{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100% - 36px));border-radius:10px;background:#fcfbf7;color:#20382f;box-shadow:0 10px 60px #0006;padding:18px}.route-picker-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}.route-picker-head strong{font:21px Georgia,serif;font-weight:400}.route-picker-head button{border:0;background:none;color:#435d4b;font-size:24px;padding:0 4px}.route-choice{display:block;width:100%;padding:12px;background:#edf0e6;color:#20382f;border:1px solid #d8dece;border-radius:5px;margin-top:7px;text-align:left;font-size:12px}.route-choice:hover{background:#dce6d2}.travelling #panorama{pointer-events:none}.travelling .nearby-step{opacity:.6;pointer-events:none}@media(max-width:760px){.nearby-panel{left:12px;right:12px;bottom:0;padding:8px 9px}.nearby-head{margin-bottom:6px}.nearby-step{font-size:9px;min-height:36px;padding:8px}.gesture-hint{bottom:180px;max-width:calc(100% - 25px);font-size:9px;white-space:normal;line-height:1.5;text-align:center}.walk-label{font-size:9px;max-width:165px;white-space:normal;text-align:center;width:max-content}.walk-disc{width:52px;height:33px}.walk-anchor{width:58px;height:52px}}
/* Keep the opening hint away from the first floor anchor and its label. */
.gesture-hint{top:116px;bottom:auto;left:30px;transform:none;white-space:normal;max-width:calc(100% - 110px);text-align:left;border-radius:7px;font-size:10px;line-height:1.5}.gesture-hint svg{flex-shrink:0}@media(max-width:760px){.gesture-hint{top:112px;left:20px;bottom:auto;max-width:calc(100% - 90px);padding:8px 10px;font-size:9px}}
/* Explicit height overrides Pannellum's height:100%; clip avoids a focus-scroll
   container when a projected anchor button receives focus near the edge. */
#panorama{overflow:clip}#panorama .pnlm-ui,#panorama .pnlm-render-container{inset:0;height:100%}
/* Compact navigation strip stays outside the panorama and keeps every destination. */
#tourRegion{--nearby-height:48px}
#tourRegion #panorama,#tourRegion:fullscreen #panorama{inset:0 0 var(--nearby-height);height:calc(100% - var(--nearby-height));overflow:clip}
#tourRegion .nearby-panel{left:0;right:0;bottom:0;height:var(--nearby-height);max-width:none;margin:0;border-radius:0;border:0;border-top:1px solid #dfe4da;padding:7px 14px;background:#f1f3ed;color:#465d4c;backdrop-filter:none;display:flex;align-items:center;gap:12px}
#tourRegion .nearby-head{flex:0 0 auto;margin:0;gap:0}
#tourRegion .nearby-head>span{font-size:10px;letter-spacing:0;color:#73816e;white-space:nowrap}
#tourRegion .nearby-head small{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#tourRegion .nearby-steps{flex:1;min-width:0;gap:5px;padding:1px 0;scrollbar-width:thin;scrollbar-color:#bdc8b7 transparent;overscroll-behavior-x:contain}
#tourRegion .nearby-step{flex:0 0 auto;min-height:30px;padding:5px 9px;font-size:10px;line-height:18px;color:#465d4c;background:#fbfcf8;border:1px solid #d5ddcf;border-radius:15px}
#tourRegion .nearby-step::before{margin-right:4px;color:#84917d}
#tourRegion .nearby-step:hover{background:#e4eadc;border-color:#acbda2}
#tourRegion .nearby-step:focus-visible{background:#e4eadc;outline:2px solid #8e7045;outline-offset:-3px}
.walk-label{top:auto;bottom:55px}.gesture-hint{top:116px;bottom:auto}
@media(max-width:1100px){#tourRegion .nearby-head>span{display:none}#tourRegion .nearby-panel{gap:0;padding-left:12px;padding-right:12px}}
@media(max-width:760px),(pointer:coarse){#tourRegion{--nearby-height:52px}#tourRegion .nearby-panel{padding-top:3px;padding-bottom:3px}#tourRegion .nearby-step{min-height:44px;padding:11px 9px}#tourRegion .nearby-head>span{display:none}#tourRegion .nearby-panel{gap:0}}
@media(max-width:760px){.walk-label{top:auto;bottom:55px}.gesture-hint{top:112px;bottom:auto}}

/* Marzipano positions the anchor; the child centers its hit area. */
.walk-hotspot .walk-anchor{transform:translate(-50%,-50%)}
