/* v15.84 — The room IS the Front Office. No internal dashboard/menu on entry. */
body.front-office-v1584{background:#020609}
body.front-office-v1584 .fo-immersive-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-height:calc(100vh - 64px);background:#020609}
body.front-office-v1584 .fo-immersive-root{width:100%;min-height:calc(100vh - 64px);margin:0;padding:0}
body.front-office-v1584 .footer{display:none!important}
body.front-office-v1584 .fo-room-loading{min-height:calc(100vh - 70px);display:grid;place-items:center;color:#9dabb1;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;background:#020609}

/* Front Office landing: only the scene. */
body.front-office-v1584 .fo-room-landing{width:100%;min-height:calc(100vh - 64px);display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#11191c 0,#05090b 68%,#020405 100%);overflow:hidden}
body.front-office-v1584 .fo-hq-room{position:relative;width:min(100vw,calc((100vh - 64px) * 1.77683));aspect-ratio:1672/941;max-width:1672px;overflow:hidden;background:#060a0c;box-shadow:0 0 55px rgba(0,0,0,.72);isolation:isolate}
body.front-office-v1584 .fo-hq-room>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
body.front-office-v1584 .fo-hq-room:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.02),transparent 60%,rgba(0,0,0,.08))}

/* Invisible object hotspots. No persistent dots, boxes or labels. */
body.front-office-v1584 .fo-room-object{position:absolute;z-index:5;appearance:none;border:0;padding:0;margin:0;background:transparent;cursor:pointer;border-radius:14px;outline:none;color:#fff}
body.front-office-v1584 .fo-room-object:before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid transparent;background:transparent;box-shadow:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
body.front-office-v1584 .fo-room-object:hover:before,body.front-office-v1584 .fo-room-object:focus-visible:before{border-color:rgba(241,210,144,.34);background:radial-gradient(circle at 50% 50%,rgba(240,205,132,.11),rgba(240,205,132,.025) 48%,transparent 72%);box-shadow:inset 0 0 28px rgba(235,197,119,.08),0 0 22px rgba(235,197,119,.08)}
body.front-office-v1584 .fo-room-object .fo-object-tip{position:absolute;left:50%;top:50%;width:max-content;min-width:160px;max-width:250px;transform:translate(-50%,calc(-50% - 18px));padding:10px 12px;border-radius:9px;background:rgba(4,9,12,.93);border:1px solid rgba(233,201,134,.48);box-shadow:0 12px 30px rgba(0,0,0,.48);backdrop-filter:blur(8px);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:.14s ease;z-index:10}
body.front-office-v1584 .fo-room-object:hover .fo-object-tip,body.front-office-v1584 .fo-room-object:focus-visible .fo-object-tip{opacity:1;visibility:visible;transform:translate(-50%,calc(-50% - 27px))}
body.front-office-v1584 .fo-object-tip b{display:block;font:800 .78rem/1.1 Georgia,serif;color:#fff1c7;letter-spacing:.01em}
body.front-office-v1584 .fo-object-tip small{display:block;margin-top:5px;font-size:.58rem;line-height:1.35;color:#bdc8cd;font-weight:650;white-space:normal}

/* Hotspots match objects in the furnished scene. */
body.front-office-v1584 .fo-room-object.gallery{left:0;top:0;width:22.5%;height:52%}
body.front-office-v1584 .fo-room-object.personnel{left:23.5%;top:4.5%;width:11%;height:27%}
/* Media and Phone are intentionally tight to the physical laptop/desk phone in the temporary point-and-click scene. */
body.front-office-v1584 .fo-room-object.media{left:50.5%;top:40.5%;width:9.5%;height:11.5%}
body.front-office-v1584 .fo-room-object.strategy{left:39%;top:52%;width:37%;height:16%}
body.front-office-v1584 .fo-room-object.phone{left:60.7%;top:41.5%;width:7.5%;height:10.5%}
body.front-office-v1584 .fo-room-object.film{right:0;top:2%;width:9.5%;height:37%}
body.front-office-v1584 .fo-room-object.customize{left:0;bottom:0;width:39%;height:44%}
body.front-office-v1584 .fo-room-object.directory{right:0;top:39%;width:15.5%;height:25%}

/* A feature opens as its own menu, with only a return-to-room control above it. */
body.front-office-v1584.fo-station-mode .fo-immersive-page{background:#081117;padding:0 0 28px!important}
body.front-office-v1584 .fo-station-screen{width:min(1380px,calc(100% - 26px));margin:18px auto 0;background:transparent}
body.front-office-v1584 .fo-station-bar{display:flex;align-items:center;gap:15px;margin:0 0 13px;padding:10px 12px;border:1px solid rgba(182,202,211,.16);border-radius:12px;background:#0a161d;box-shadow:0 12px 30px rgba(0,0,0,.18)}
body.front-office-v1584 .fo-return-room{appearance:none;border:1px solid rgba(232,199,130,.42);border-radius:9px;background:#152028;color:#f2dca8;padding:10px 13px;font-size:.61rem;font-weight:950;letter-spacing:.07em;cursor:pointer;white-space:nowrap}
body.front-office-v1584 .fo-return-room:hover{background:#202d35;border-color:rgba(242,211,145,.7)}
body.front-office-v1584 .fo-station-ident{min-width:0}
body.front-office-v1584 .fo-station-ident small{display:block;color:#d4b66e;font-size:.5rem;font-weight:950;letter-spacing:.1em}
body.front-office-v1584 .fo-station-ident strong{display:block;margin-top:2px;color:#f1f4f5;font:800 1.1rem/1.1 Georgia,serif}
body.front-office-v1584 .fo-station-ident span{display:block;color:#8fa0a8;font-size:.59rem;line-height:1.3;margin-top:3px}
body.front-office-v1584 .fo-station-content{min-height:340px}
body.front-office-v1584 .fo-station-content>.fo-loading{margin-top:20px}

/* Public visits use the same room-first model. */
body.front-office-v1584 .fo-public-room-landing .fo-room-object.strategy,
body.front-office-v1584 .fo-public-room-landing .fo-room-object.film,
body.front-office-v1584 .fo-public-room-landing .fo-room-object.customize{display:none}
body.front-office-v1584 .fo-public-room-landing .fo-room-object.phone .fo-object-tip b{font-size:.74rem}
body.front-office-v1584 .fo-public-corner{position:absolute;z-index:8;left:14px;top:14px;display:flex;gap:7px;align-items:center}
body.front-office-v1584 .fo-public-corner button,body.front-office-v1584 .fo-public-corner a{appearance:none;text-decoration:none;border:1px solid rgba(236,205,139,.36);border-radius:999px;background:rgba(4,10,13,.76);color:#efd99f;padding:7px 10px;font-size:.53rem;font-weight:900;letter-spacing:.06em;backdrop-filter:blur(6px);cursor:pointer}

/* Legacy landing UI must never reappear in the room-first build. */
body.front-office-v1584 .front-office-header,
body.front-office-v1584 .office-object-nav,
body.front-office-v1584 #front-office-context,
body.front-office-v1584 .fo-desk-command,
body.front-office-v1584 .fo-desk-signal-row,
body.front-office-v1584 .fo-desk-secondary,
body.front-office-v1584 .fo-office-scene-head,
body.front-office-v1584 .fo-room-discovery-tip{display:none!important}

@media(max-width:760px){
 body.front-office-v1584 .fo-room-landing{min-height:auto;overflow:auto}
 body.front-office-v1584 .fo-hq-room{width:100vw;min-width:760px}
 body.front-office-v1584 .fo-room-landing{justify-content:start;overflow-x:auto}
 body.front-office-v1584 .fo-station-screen{width:calc(100% - 16px);margin-top:8px}
 body.front-office-v1584 .fo-station-bar{align-items:flex-start}
 body.front-office-v1584 .fo-station-ident span{display:none}
}
