.supplied-office.scene{height:clamp(350px,30vw,465px);background:#edf4fc;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:0}
.supplied-office.scene:after{box-shadow:inset 0 0 25px #d2e3f433;pointer-events:none}
.scene-canvas{position:relative;height:100%;width:auto;aspect-ratio:1318/975;max-width:100%;flex-shrink:1}
.scene-canvas .scene-art{height:100%;width:100%;object-fit:contain}
.office-effects{overflow:visible}
.office-route{fill:none;stroke:var(--route-color);stroke-width:2;stroke-dasharray:5 17;stroke-linecap:round;opacity:.65;animation:office-flow 2.5s linear infinite;animation-delay:var(--route-delay)}
.office-packet{opacity:.9}
.office-core{fill:none;stroke:#7be7ff;stroke-width:2;opacity:.3;animation:core-breathe 4s ease-in-out infinite}
.agent-outline{fill:none;stroke:var(--agent-color);stroke-width:2;stroke-linejoin:round;opacity:0;transition:opacity .45s}

.desk-response{fill:none;stroke:#d6fcff;stroke-width:1.8;opacity:.8;transform-box:fill-box;transform-origin:center;animation:desk-receive 4s ease-out infinite;animation-delay:var(--desk-delay)}
.scene[data-stage="2"] .desk-response{stroke:#fff4ce;stroke-width:2.4}
.scene[data-stage="3"] .office-route{animation-direction:reverse}
.agent-hotspot{position:absolute;z-index:4;background:none;border:0;border-radius:5px;padding:0;cursor:pointer}
.agent-hotspot:focus-visible{outline:2px solid var(--agent-color);outline-offset:4px;background:#ffffff08}
.office-controls{position:absolute;z-index:6;right:8px;bottom:7px;display:flex;align-items:center;gap:7px;padding:5px 7px;background:#ffffffea;border:1px solid #dce7f4;border-radius:6px;box-shadow:0 2px 8px #4e6d9910;color:#879dbb;font-size:8px;backdrop-filter:blur(8px)}
.office-controls>span{color:#a2b1c7;border-right:1px solid #dce5f2;padding-right:8px;font-size:7px}
.office-controls button{font-size:8px;padding:0 2px;color:#7e94b2}
.office-controls .motion-toggle{position:static;border:0;background:none;box-shadow:none;border-radius:0;color:#7e94b2;padding:0 1px}
.office-agent-caption{display:flex;align-items:center;gap:7px;min-height:34px;padding:8px 17px 3px;font-size:9px;color:#a0acbd}
.office-agent-caption i{width:5px;height:5px;border-radius:50%;background:#d7bd76;flex-shrink:0;box-shadow:0 0 6px #e1c97b55}
.office-agent-caption b{font-size:9px;font-weight:500;color:#6d819e;flex-shrink:0}
.office-agent-caption>span{font-size:8px;line-height:1.8}
.office-large-image{width:100%;height:auto;border-radius:8px;display:block}
.motion-paused .office-route,.motion-paused .desk-response,.motion-paused .office-core{animation-play-state:paused}
@keyframes office-flow{to{stroke-dashoffset:-44}}
@keyframes core-breathe{0%,100%{opacity:.2;stroke-width:1.5}50%{opacity:.7;stroke-width:2.4}}
@keyframes desk-receive{0%{transform:scale(.6);opacity:0}15%{opacity:.9}75%,100%{transform:scale(2);opacity:0}}
@media(min-width:1600px){.supplied-office.scene{height:470px}.office-agent-caption{font-size:10px}.office-agent-caption b{font-size:10px}.office-agent-caption>span{font-size:9px}}
@media(max-width:1200px){.supplied-office.scene{height:350px}.office-agent-caption{padding-left:13px;padding-right:13px}}
@media(max-width:1000px){.supplied-office.scene{height:430px}}
@media(max-width:780px){.supplied-office.scene{height:auto;max-height:none;aspect-ratio:1318/975}.scene-canvas{width:100%;height:100%}.office-agent-caption{padding:7px 13px 2px;gap:5px;flex-wrap:wrap}.office-agent-caption b{font-size:9px}.office-agent-caption>span{font-size:8px}.office-controls{font-size:7px;gap:6px;padding:4px 6px}.office-controls>span{font-size:6px}.office-controls button{font-size:7px}.office-controls .motion-toggle{font-size:7px}}
@media(max-width:520px){.office-agent-caption{gap:5px;padding:7px 11px 2px}.office-agent-caption>span{flex-basis:100%;padding-left:10px;font-size:7px}.office-agent-caption b{font-size:8px}.office-controls{right:5px;bottom:5px;padding:3px 5px;gap:5px}.office-controls button,.office-controls .motion-toggle{font-size:6px}.office-controls>span{font-size:5px}}
@media(prefers-reduced-motion:reduce){.office-route,.desk-response,.office-core{animation:none!important}.desk-response{opacity:.25}.office-route{stroke-dasharray:none;opacity:.3}.office-packet{display:none}.agent-outline{transition:none}}

.scene-canvas{aspect-ratio:1448/1086}
.office-life{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0;z-index:1}
.office-life.ready{opacity:1}
.office-effects{z-index:2}
.office-route{stroke-width:3.8;opacity:.9;stroke-dasharray:9 20;filter:drop-shadow(0 0 2px var(--route-color))}
.office-packet{opacity:1}
.agent-outline.active{opacity:.85;stroke-width:2.5}
.desk-response{stroke-width:2.5}
.scene[data-stage="2"] .desk-response{stroke-width:3.2}
.employee-hotspot{position:absolute;z-index:4;background:transparent;border:0;padding:0;border-radius:8px;cursor:pointer}
.employee-hotspot:focus-visible{outline:2px solid var(--agent-color);outline-offset:3px}
.office-speech-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible}
.speech-bubble{position:absolute;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 9px;background:#fffffff2;border:1px solid #cbdcf4;border-radius:9px;box-shadow:0 3px 12px #1e4e9026,0 0 12px color-mix(in srgb,var(--speaker-color),transparent 75%);font-size:10px;font-weight:600;color:#446183;white-space:nowrap;line-height:1.4;transform:translate(-50%,-100%);animation:office-speech 4.6s ease both;backdrop-filter:blur(4px)}
.speech-bubble:after{content:"";position:absolute;top:100%;left:50%;width:7px;height:7px;transform:translate(-50%,-4px) rotate(45deg);background:#fffffff2;border-right:1px solid #cbdcf4;border-bottom:1px solid #cbdcf4}
.speech-bubble i{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--speaker-color);box-shadow:0 0 5px var(--speaker-color)}
.speech-bubble.pinned{animation:none;opacity:1}
.motion-paused .speech-bubble{animation-play-state:paused}
@keyframes office-speech{0%{opacity:0;transform:translate(-50%,calc(-100% + 5px)) scale(.94)}9%,82%{opacity:1;transform:translate(-50%,-100%) scale(1)}96%,100%{opacity:0;transform:translate(-50%,calc(-100% - 3px)) scale(.98)}}
@media(max-width:780px){.supplied-office.scene{aspect-ratio:1448/1086}.speech-bubble{font-size:10px;padding:5px 8px}}
@media(max-width:520px){.speech-bubble{font-size:9px;padding:4px 7px;gap:4px;border-radius:7px}.speech-bubble i{width:4px;height:4px}}
@media(prefers-reduced-motion:reduce){.office-life{display:none}.speech-bubble{display:none}.speech-bubble.pinned{display:flex;animation:none!important}.office-route{filter:none}}
