.building-title{display:grid;grid-template-columns:1fr minmax(210px,290px) auto;gap:22px;align-items:end}.model-group-label,.ahu-group-label{display:grid;gap:7px;color:#617781;font-size:12px}.model-group-label select,.ahu-group-label select{font:inherit;font-size:14px;font-weight:400;color:#254550;background:white;border:1px solid #cbd9dd;border-radius:4px;padding:10px 30px 10px 12px;width:100%;max-width:100%}.model-view-actions{display:flex;align-items:center;max-width:250px}.building-viewport{background:radial-gradient(ellipse at 50% 25%,#fff,#e8eef0 95%)}.building-viewport canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.building-viewport canvas:active{cursor:grabbing}.building-viewport canvas:focus-visible{outline:2px solid #0d87aa;outline-offset:-4px}.model-drag-guide{position:absolute;top:18px;left:22px;font-size:12px;color:#607b85;pointer-events:none}.component-name{position:absolute;bottom:18px;left:22px;max-width:70%;padding:10px 14px;background:#ffffffed;border:1px solid #d2dfe3;color:#24556a;font-size:14px;border-radius:4px;pointer-events:none}.building-zoom{z-index:5}.building-viewport:not(.live-model) #building-labels{display:none}.building-title h2{font-size:24px;margin:5px 0 0}.building-parts button{font-size:14px;min-height:44px}.building-description p{font-size:14px}.ahu-heading{display:grid;grid-template-columns:1fr auto minmax(200px,260px);align-items:center}.pin-damper{left:9%;top:37%}.ahu-group-label{min-width:0}.system-selector strong{font-size:14px}.request-dialog .button,.component-dialog .button{background:#087eae;color:white;border:0;cursor:pointer}.building-foot p{font-size:12px}
@media(max-width:1000px){.building-title{grid-template-columns:1fr 260px}.model-view-actions{grid-column:1/-1;margin:0}.ahu-heading{grid-template-columns:1fr auto}.ahu-group-label{grid-column:1/-1;grid-template-columns:140px 1fr;align-items:center}.system-selector strong{font-size:13px}}
@media(max-width:620px){.building-title{display:flex;flex-wrap:wrap;padding:18px;gap:16px}.building-title>div:first-child{width:100%}.model-group-label{flex:1;min-width:200px}.model-view-actions{max-width:none;gap:5px}.model-drag-guide{font-size:11px;left:14px;top:12px;max-width:75%}.component-name{font-size:12px;left:14px;bottom:14px}.ahu-heading{display:flex;flex-wrap:wrap;gap:14px}.ahu-group-label{width:100%;display:grid;grid-template-columns:1fr}.system-selector button{min-height:100px}.system-selector strong{line-height:1.3}.building-viewport{height:100vw!important;min-height:370px}.building-parts{display:block}.building-parts button{width:100%}}
.journey-world{overflow:hidden;background:#f6f7f5;border:1px solid #d7e0e1}.journey-stage-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 26px;background:#fff;border-bottom:1px solid #dde4e4;font-size:11px;letter-spacing:.13em;color:#59727b}.journey-stage-head>div{display:flex;align-items:center;gap:10px}.journey-live-dot{width:7px;height:7px;background:#1787a8;border-radius:50%}.journey-stage-head button{border:0;background:transparent;font:inherit;font-size:12px;letter-spacing:0;color:#1e5669;cursor:pointer}.journey-stage-head button span{margin-left:12px}.journey-world .journey-picture{height:580px;aspect-ratio:auto;background:radial-gradient(ellipse at 55% 30%,#fdfdfa,#e3e9e7);overflow:hidden;position:relative}.journey-world canvas{display:block;width:100%;height:100%;position:absolute;inset:0;cursor:grab;touch-action:none}.journey-world canvas:active{cursor:grabbing}.journey-scene-label{position:absolute;left:26px;top:24px;display:flex;align-items:center;gap:16px;pointer-events:none}.journey-scene-label>span{font-size:42px;line-height:1;font-weight:300;color:#8aa3a9}.journey-scene-label small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7a8e94;margin-bottom:5px}.journey-scene-label strong{font-size:17px;font-weight:400;color:#304b56}.journey-view-controls{position:absolute;right:20px;bottom:18px;display:flex;gap:5px}.journey-view-controls button{border:1px solid #c7d7d9;background:#fffffff0;color:#3d606c;font:inherit;font-size:12px;min-width:32px;height:34px;padding:0 10px;cursor:pointer}.journey-view-controls button:hover{border-color:#1e7d9a;color:#1e7d9a}.journey-drag-note{position:absolute;left:24px;bottom:24px;font-size:11px;color:#6f858e;pointer-events:none}.journey-world .journey-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:white}.journey-world .journey-steps button{font:inherit;font-size:13px;font-weight:400;text-align:left;padding:14px 16px;min-height:56px;border:0;border-top:1px solid #d7e1e3;border-right:1px solid #d7e1e3;background:white;color:#506670;cursor:pointer}.journey-world .journey-steps button small{font-size:10px;color:#94a4ab;margin-right:8px}.journey-world .journey-steps button[aria-selected=true]{background:#e8f2f5;color:#145c73;box-shadow:inset 0 -2px #1b87a5}.journey-world .journey-detail{background:#fff;padding:26px;grid-template-columns:65px 1.6fr 1fr;gap:28px;align-items:start}.journey-world .journey-detail h3{font-size:24px;line-height:1.15;font-weight:400;margin:0 0 12px}.journey-world .journey-detail p{font-size:14px;line-height:1.7;margin:0}.journey-world .journey-result{border-left:1px solid #dce4e7;padding-left:28px}.journey-world .journey-result small{display:block;font-size:10px;letter-spacing:.11em;color:#628390;margin-bottom:12px}
@media(max-width:900px){.journey-world .journey-picture{height:480px}.journey-world .journey-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.journey-world .journey-detail{grid-template-columns:1fr 1fr}.journey-world #journey-number{display:none}.journey-world .journey-steps button{padding:12px;font-size:12px}}
@media(max-width:600px){.journey-stage-head{padding:16px;font-size:9px;letter-spacing:.06em}.journey-stage-head button{font-size:11px}.journey-world .journey-picture{height:420px}.journey-scene-label{left:16px;top:18px;gap:10px}.journey-scene-label>span{font-size:34px}.journey-scene-label strong{font-size:14px}.journey-scene-label small{font-size:9px}.journey-drag-note{left:16px;bottom:62px;font-size:10px}.journey-view-controls{left:16px;right:auto;bottom:16px}.journey-world .journey-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-world .journey-steps button{font-size:11px;min-height:50px;padding:10px}.journey-world .journey-steps button small{margin-right:4px}.journey-world .journey-detail{display:block;padding:22px 18px}.journey-world .journey-result{margin-top:22px;border-left:0;border-top:1px solid #dce4e7;padding:18px 0 0}.journey-world .journey-detail h3{font-size:22px}}
@media(min-width:1000px){.building-viewport{height:640px!important;min-height:520px}}
@media(max-width:700px){.ahu-photo{width:100%;left:0;object-fit:contain}.ahu-airflow{width:100%;left:0}.pin-damper{left:5%;top:36%}}
#ahu-experience{scroll-margin-top:86px}.pin-damper{left:7.5%;top:21%}
@media(max-width:700px){.pin-damper{left:7.5%;top:36%}}
@media(max-width:700px){.building-zoom{top:42px;bottom:auto;right:12px}.project-request{min-width:48px;width:48px;height:48px;justify-content:center;padding:0!important}.project-request span,.project-request b{display:none}}
@media(max-width:700px){.pin-damper{top:28%}.pin-filter{left:27%;top:59%}.pin-rotor{left:44%;top:42%}.pin-coil{left:56%;top:60%}.pin-fan{left:72%;top:62%}}
.journey-world .journey-picture{height:560px!important}
@media(max-width:900px){.journey-world .journey-picture{height:460px!important}}
@media(max-width:600px){.journey-world .journey-picture{height:400px!important}.journey-scene-label{max-width:calc(100% - 32px)}.journey-scene-label strong{line-height:1.3}}
#ahu-experience{scroll-margin-top:0}

/* V8: component callout follows the right-hand valves. */
.pin-damper{left:86%;top:24%}
@media(max-width:600px){.pin-damper{left:80%;top:29%}}
.journey-email-status{position:absolute;bottom:55px;left:28px;background:#fff;color:#23515f;padding:12px 18px;border:1px solid #b8d1cc;box-shadow:0 4px 22px #294f6012;font-size:14px}
.journey-email-status[hidden]{display:none}

/* V8: readable scene caption; geometry remains directly draggable. */
.journey-scene-label{background:rgba(255,255,255,.88);padding:10px 14px;backdrop-filter:blur(5px)}
#building-canvas,#journey-world{user-select:none;-webkit-user-select:none}
