.fm-visitor{--fm-green:#803b36;--fm-cream:#f6f2ed;--fm-ink:#352e29;--fm-muted:#75645b;--fm-line:#e0d5cb;--fm-hover:#ede5dc;--fm-font:Muli,system-ui,sans-serif;--fm-heading:"Playfair Display",Georgia,serif}
/* Approved First & Main visitor layout, with property-specific brand tokens. */

.fm-visitor #sc-stats,.fm-visitor #inside-controls,.fm-visitor #sc-title,.fm-visitor #sc-panel,.fm-visitor #sc-legend,.fm-visitor #tour-panel,.fm-visitor #tour-sheet,.fm-visitor #tour-hint,.fm-visitor #tour-walkbar,.fm-visitor>header,.fm-visitor #badge{display:none!important}
#fm-interface{font:400 13px/1.5 var(--fm-font);color:var(--fm-ink)}
#fm-interface *{box-sizing:border-box}
#fm-interface [hidden]{display:none!important}
#fm-interface button,#fm-interface select{font:500 12px/1.4 var(--fm-font);color:var(--fm-ink);border:1px solid var(--fm-line);background:var(--fm-cream);border-radius:6px;cursor:pointer;min-height:44px}
#fm-interface button:focus-visible,#fm-interface select:focus-visible,#fm-interface a:focus-visible,#fm-interface summary:focus-visible{outline:3px solid #a77348;outline-offset:3px}
#fm-interface button:hover:not(:disabled){background:#e9eee5}
#fm-interface button:disabled{cursor:not-allowed;opacity:.5}
.fm-brand{position:fixed;z-index:22;left:28px;top:24px;display:flex;align-items:center;gap:20px;background:var(--fm-cream);padding:14px 22px;border-radius:8px;box-shadow:0 4px 24px #1d382014}
.fm-brand img{width:150px;height:80px;object-fit:contain}
.fm-brand>span{padding-left:20px;border-left:1px solid var(--fm-line);font-size:9px;letter-spacing:.16em;line-height:1.8}
.fm-brand b{font:400 17px/1.6 var(--fm-heading);letter-spacing:0}
.fm-embed .fm-brand{display:none}
.fm-tools{position:fixed;z-index:22;right:28px;top:24px;display:flex;gap:8px}
#fm-interface .fm-tools button{padding:10px 14px;box-shadow:0 3px 16px #1d382014}
#fm-panel{position:fixed;z-index:20;right:28px;top:148px;width:344px;background:var(--fm-cream);border:1px solid #ffffff80;border-radius:10px;box-shadow:0 12px 40px #173e2e24;overflow:hidden}
.fm-tabs{display:flex;padding:6px;gap:2px;border-bottom:1px solid var(--fm-line)}
#fm-interface .fm-tabs button{flex:1;border:0;background:transparent;white-space:nowrap;padding:10px 5px;font-size:11px}
#fm-interface .fm-tabs button[aria-selected="true"]{background:var(--fm-green);color:var(--fm-cream)}
#fm-sheet{padding:25px 24px 16px;max-height:calc(100dvh - 224px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#fm-panel.is-closed #fm-sheet{display:none}
#fm-close{display:none}
.fm-eyebrow{margin:0 0 10px;font-size:8px;font-weight:600;letter-spacing:.17em;color:var(--fm-green)}
#fm-interface h2{font:400 29px/1.16 var(--fm-heading);margin:0 0 10px;letter-spacing:-.02em}
.fm-intro{font-size:12px;color:var(--fm-muted);margin:0 0 18px;line-height:1.6}
.fm-destinations{border-top:1px solid var(--fm-line)}
#fm-interface .fm-destinations button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:14px 0;border:0;border-radius:0;border-bottom:1px solid var(--fm-line);background:transparent;font-weight:600}
.fm-destinations small{display:block;font-size:10px;font-weight:400;color:var(--fm-muted);margin-top:4px}
#fm-interface .fm-destinations button[aria-pressed="true"]>span:last-child{color:var(--fm-cream);background:var(--fm-green);border-radius:50%;width:26px;height:26px;text-align:center;padding-top:2px}
#fm-interface summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font:500 11px/1.5 var(--fm-font);min-height:44px}
#fm-interface summary::-webkit-details-marker{display:none}
#fm-interface summary::after{content:'+';font-size:17px;font-weight:400}
#fm-interface details[open]>summary::after{content:'−'}
#fm-interface details{margin:0;border:0}
#fm-more-places{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-bottom:12px}
#fm-interface #fm-more-places button{font-size:10px;padding:7px}
.fm-settings,#fm-model-info{border-top:1px solid var(--fm-line)!important}
#fm-lighting{display:flex;gap:8px;padding-bottom:12px}
#fm-interface #fm-lighting button{flex:1}
#fm-interface #fm-lighting button[aria-pressed="true"]{background:var(--fm-green);color:var(--fm-cream)}
#fm-interface label{display:block;font-size:11px;font-weight:600;margin:14px 0 8px}
#fm-interface select{width:100%;font-size:13px;padding:12px 9px;background:#fff}
#fm-interface select option,#fm-interface select optgroup{background:#fff;color:var(--fm-ink)}
#fm-interface #fm-enter{width:100%;margin:12px 0 6px!important;background:var(--fm-green);color:var(--fm-cream);border:0}
#fm-interface #fm-enter:hover:not(:disabled){background:#153e35}
#fm-interface a{color:var(--fm-green);font-size:11px;text-underline-offset:3px}
#fm-interface #panoLink{display:block;margin:9px 0!important;font-weight:500!important}
#fm-interface #shareUnit{padding:0;min-height:32px;background:none;border:0;text-decoration:underline;font-size:11px}
#fm-exit-inline{display:none}
.fm-photo-link{display:block;margin:16px 0}
#fm-interface #fm-floor-buttons{display:flex;gap:6px;margin:16px 0 12px}
#fm-interface #fm-floor-buttons button{flex:1;padding:9px 4px;font-size:11px}
#fm-interface #fm-floor-buttons [data-mode="whole"]{display:none}
#fm-interface #fm-floor-buttons button.active,#fm-interface #fm-labels.active{background:var(--fm-green);color:var(--fm-cream)}
#fm-interface #fm-labels{font-size:11px;padding:9px;width:100%}
#fm-status{font-size:10px;color:var(--fm-muted);margin:14px 0;line-height:1.6}
#fm-status:empty{display:none}
#fm-model-info p,#fm-interface #info{font-size:10px;line-height:1.6;color:var(--fm-muted);margin:0 0 10px}
#fm-view-caption{position:fixed;left:28px;bottom:68px;color:#fff;text-shadow:0 2px 12px #000;pointer-events:none}
#fm-view-caption span{display:block;font-size:8px;letter-spacing:.18em;margin-bottom:5px}
#fm-view-caption b{font:400 25px var(--fm-heading)}
#fm-help{position:fixed;left:28px;bottom:25px;padding:8px 12px;border-radius:5px;color:var(--fm-cream);background:#17362fdc;font-size:10px}
#fm-help span{padding:0 8px}
#fm-interface #fm-exit{position:fixed;left:28px;bottom:25px;background:var(--fm-green);color:var(--fm-cream);padding:10px 18px;z-index:23}
.fm-visitor #walkPad{background:var(--fm-cream);color:var(--fm-ink);border:1px solid var(--fm-line);backdrop-filter:none;box-shadow:0 8px 24px #173e2e20;bottom:24px;max-width:280px}
.fm-visitor #walkPad #walkStatus,.fm-visitor #walkPad>label,.fm-visitor #walkHelp{display:none}
.fm-visitor #walkPad button{background:var(--fm-green);color:var(--fm-cream);border:0;font:500 15px var(--fm-font);min-height:44px;min-width:50px}
@media(max-width:1100px) and (min-width:769px){.fm-brand>span{display:none}.fm-brand{padding:10px 18px}.fm-brand img{width:130px;height:65px}#fm-panel{right:20px;top:126px;width:320px}.fm-tools{right:20px}}
@media(max-width:768px){
 .fm-brand{left:14px;top:14px;padding:7px 13px;border-radius:6px}.fm-brand img{width:113px;height:59px}.fm-brand>span{display:none}
 .fm-tools{right:14px;top:14px;gap:5px}#fm-interface .fm-tools button{padding:8px 11px;font-size:20px;min-width:44px} .fm-tools span{display:none}
 #fm-panel{left:10px;right:10px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;display:flex;flex-direction:column-reverse;border-radius:12px;box-shadow:0 6px 30px #173e2e2b}
 .fm-tabs{padding:7px;border-top:1px solid var(--fm-line);border-bottom:0;flex-shrink:0}#fm-interface .fm-tabs button{font-size:11px;min-height:46px}
 #fm-sheet{padding:22px 20px 10px;max-height:min(52dvh,450px);position:relative}
 #fm-close{display:block;position:absolute;right:7px;top:7px;min-height:32px!important;width:32px;border:0!important;background:none!important;font-size:24px!important;padding:0!important}
 .fm-eyebrow{font-size:8px;padding-right:22px}#fm-interface h2{font-size:25px;margin-bottom:7px}.fm-intro{font-size:11px;margin-bottom:11px}
 #fm-interface .fm-destinations button{padding:10px 0;min-height:51px}.fm-destinations small{font-size:9px;margin-top:2px}
 #fm-interface select{font-size:16px}#fm-interface #fm-enter{min-height:46px}
 #fm-view-caption{left:20px;bottom:101px}#fm-view-caption b{font-size:20px}#fm-view-caption span{font-size:7px}
 #fm-panel:not(.is-closed)~#fm-view-caption,#fm-panel:not(.is-closed)~#fm-help{display:none}
 #fm-help{display:none}#fm-interface #fm-exit{left:14px;bottom:91px;font-size:11px;padding:8px 12px;min-height:40px}
 .fm-visitor #walkPad{bottom:143px;width:244px;padding:8px}.fm-visitor #walkPad button{min-width:48px}
 body:has(#fm-panel:not(.is-closed)) #walkPad{display:none}
 #fm-interface #fm-exit-inline{display:block;width:100%;margin-top:12px;background:var(--fm-green);color:var(--fm-cream)}
 #fm-panel:not(.is-closed)~#fm-exit{display:none}
}
@media(prefers-reduced-motion:reduce){#fm-interface *{scroll-behavior:auto!important;transition:none!important}}

#fm-interface #fm-floor-buttons button[aria-pressed="true"],#fm-interface #fm-labels[aria-pressed="true"]{background:var(--fm-green);color:var(--fm-cream)}
#fm-interface button:hover:not(:disabled){filter:brightness(.97)}
#fm-interface .fm-tabs button[aria-selected="true"]{background:var(--fm-green);color:var(--fm-cream)}
#fm-help{background:var(--fm-green)}
#fm-interface #fm-enter:hover:not(:disabled){background:var(--fm-green)}
.fm-visitor #walking{background:var(--fm-cream);color:var(--fm-ink);border:1px solid var(--fm-line);box-shadow:0 8px 24px #34261b20;bottom:24px;max-width:310px;font-family:var(--fm-font)}
.fm-visitor #walking #walk-status{display:none}
.fm-visitor #walking button{background:var(--fm-green);color:var(--fm-cream);border:0;font:500 15px var(--fm-font);min-height:44px;min-width:44px}
.fm-visitor #walking #walk-exit{display:none}
@media(max-width:768px){.fm-visitor #walking{bottom:148px;left:50%;transform:translateX(-50%);max-width:270px}body:has(#fm-panel:not(.is-closed)) #walking{display:none}}
