.bim .bim-sub{max-width:680px;margin-bottom:38px}
.bim-explorer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:48px;align-items:center;margin:0 0 48px;border-top:1px solid #dce2dd;border-bottom:1px solid #dce2dd;padding:32px 0}
.bim-room{position:relative;min-width:0;background:#f5f7f2;overflow:hidden;isolation:isolate}
.bim-room-drawing{display:block;width:100%;height:auto;overflow:hidden;padding-top:40px}
.room-layer{transition:filter .3s,transform .6s;transform-box:fill-box;transform-origin:center}
.room-pin{position:absolute;border:1px solid #2f8d6f;background:#f9fcf8;color:#226b53;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font:500 12px/1 sans-serif;cursor:pointer;box-shadow:0 0 0 6px #ffffff90;transition:background .2s,color .2s,transform .2s}
.room-pin:hover,.room-pin:focus-visible{background:#2f8d6f;color:white;transform:translateY(-3px)}
.pin-floor{left:39%;top:50%}.pin-support{left:43%;top:73%}.pin-climate{left:62%;top:51%}.pin-acoustic{left:70%;top:31%}
.bim-room-legend .room-kicker{font-size:10px;letter-spacing:.18em;color:#65736b;margin:0 0 20px}
.bim-room-legend button{display:grid;grid-template-columns:28px 1fr 22px;align-items:center;gap:14px;padding:22px 0;width:100%;text-align:left;border:0;border-bottom:1px solid #dce2dd;background:transparent;cursor:pointer;color:#202823;font:inherit}
.bim-room-legend strong{display:block;font-size:clamp(18px,1.5vw,23px);font-weight:450;line-height:1.25;letter-spacing:-.02em}
.bim-room-legend small{display:block;font-size:12px;color:#6b756e;margin-top:8px;line-height:1.5}
.room-index{font-size:11px;color:#2f8d6f}.room-arrow{color:#2f8d6f;font-size:24px;transition:transform .25s}
.bim-room-legend button:hover strong{color:#2f8d6f}.bim-room-legend button:hover .room-arrow{transform:translate(3px,-3px)}
.bim-explorer :focus-visible{outline:2px solid #2f8d6f;outline-offset:5px}
.bim-room-legend .room-note{font-size:11px;line-height:1.6;color:#727b74;margin:22px 0 0;max-width:310px}
.bim-explorer:has([data-room-part="floor"]:is(:hover,:focus-visible)) .room-floor{transform:translateY(-12px);filter:drop-shadow(0 8px 5px #2f8d6f30)}
.bim-explorer:has([data-room-part="support"]:is(:hover,:focus-visible)) .room-support,.bim-explorer:has([data-room-part="acoustic"]:is(:hover,:focus-visible)) .room-acoustic{filter:drop-shadow(0 0 4px #2f8d6f99);stroke:#2f8d6f;stroke-width:2}
.room-air{animation:room-airflow 6s linear infinite;opacity:.65}@keyframes room-airflow{to{stroke-dashoffset:-100}}
.bim-catalog>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:18px;padding:12px 0 24px;list-style:none;color:#26352c}.bim-catalog>summary::-webkit-details-marker{display:none}.bim-catalog>summary span{font-size:26px;color:#2f8d6f}.bim-catalog[open]>summary span{transform:rotate(45deg)}
@media(max-width:900px){.bim-explorer{gap:24px;grid-template-columns:1fr}.bim-room{max-width:760px;width:100%;margin:auto}.bim-room-legend{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.bim-room-legend .room-kicker,.bim-room-legend .room-note{grid-column:1/-1}.bim-room-legend .room-note{max-width:none}}
@media(max-width:500px){.bim-explorer{padding:20px 0;margin-bottom:28px}.bim-room-legend{grid-template-columns:1fr}.bim-room-legend button{padding:16px 0}.room-pin{width:38px;height:38px;font-size:10px;box-shadow:0 0 0 3px #ffffff90}.bim-room-drawing{padding-top:24px}.room-pin.pin-floor{left:36%}.room-pin.pin-support{left:40%}.room-pin.pin-climate{left:60%}.room-pin.pin-acoustic{left:69%}}
@media(prefers-reduced-motion:reduce){.bim-explorer *{animation:none!important;transition:none!important}.bim-explorer .room-floor{transform:none!important}}

.bim-modal-inner{overscroll-behavior:contain}.bim-modal-close{z-index:2}
@media(max-width:500px){.bim-modal{padding:12px}.bim-modal-inner{padding:44px 24px 24px;max-height:calc(100dvh - 24px)}.bim-modal-title{padding-right:16px}}
/* Real-time interior viewer */
.bim-explorer{display:block;border-top:0;padding-top:0}
.bim-room{height:650px;max-height:75vh;background:#e9e6df;max-width:none;isolation:isolate;position:relative}
.room-webgl{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px!important;cursor:grab}
.room-webgl:active{cursor:grabbing}
.bim-room .room-pin{transform:translate(-50%,-50%);z-index:2;opacity:0;width:34px;height:34px;box-shadow:0 2px 8px #0002;background:#fffef5e8;font-size:10px;transition:background .2s,color .2s;}
.bim-room.room-rendered .room-pin{opacity:1}
.bim-room .room-pin:hover,.bim-room .room-pin:focus-visible{transform:translate(-50%,-50%);background:#2f8d6f}
.room-toolbar{position:absolute;top:22px;left:24px;right:24px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}
.room-badge{font-size:10px;letter-spacing:.14em;color:#44574b;background:#faf9f0d9;padding:10px 13px;border-radius:2px}
.room-toolbar>div{display:flex;gap:4px;pointer-events:auto;background:#fffef2e6;padding:4px;border-radius:4px;box-shadow:0 3px 20px #292b2110}
.room-toolbar button{border:0;background:transparent;color:#39463c;font:500 13px/1 sans-serif;padding:11px;cursor:pointer;min-width:38px;min-height:38px;border-radius:2px}
.room-toolbar button:hover,.room-toolbar button[aria-pressed=true]{background:#2f8d6f;color:#fff}
.bim-room .room-status{position:absolute;bottom:20px;left:24px;right:24px;z-index:2;margin:0;text-align:center;font-size:11px;letter-spacing:.03em;color:#495a4d;pointer-events:none}
.bim-room:not(.room-rendered) .room-status{top:50%;bottom:auto}
.bim-room-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:26px}
.bim-room-legend .room-kicker{grid-column:1/-1;margin:0}
.bim-room-legend button{grid-template-columns:20px 1fr 18px;gap:10px;padding:10px 0 22px}
.bim-room-legend strong{font-size:19px}.bim-room-legend small{font-size:11px}
.bim-room-legend .room-note{grid-column:1/-1;max-width:none;margin:0}
.room-failed .room-pin,.room-failed .room-toolbar{display:none}
@media(max-width:900px){.bim-room{height:560px;max-height:70vh}.bim-room-legend{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.bim-room{height:430px;max-height:none}.room-toolbar{left:10px;right:10px;top:12px;align-items:flex-start}.room-badge{padding:9px 6px;font-size:8px}.room-toolbar button{padding:9px;min-width:32px;font-size:11px}.room-toolbar>div{gap:0;padding:2px}.bim-room-legend{grid-template-columns:1fr;gap:0}.bim-room-legend .room-kicker{margin-bottom:10px}.bim-room-legend .room-note{margin-top:18px}.bim-room .room-status{left:12px;right:12px;font-size:10px}.bim-room .room-pin{width:32px;height:32px}}

@media(max-width:500px){.room-toolbar{flex-wrap:wrap;gap:7px}.room-toolbar>div{width:100%;justify-content:space-between}.room-toolbar button{font-size:10px;padding:7px;min-width:30px}.room-badge{background:transparent;padding-left:3px}.bim-room-legend strong{font-size:18px}}

@media(max-width:500px){.room-toolbar>div{flex-wrap:wrap;justify-content:center}.room-toolbar button{font-size:9px;padding:6px;min-width:28px}.room-badge{font-size:8px}}
