/* Fully scoped: safe beside existing site cards and shared button styles. */
.hp-demo{--hp-navy:#1F1F54;--hp-cyan:#00AEEF;--hp-soft:#F2FAFD;box-sizing:border-box;width:100%;min-width:0;overflow:hidden;position:relative;background:#fff;border:1px solid #1f1f5421;border-radius:18px;color:var(--hp-navy);font-family:inherit;box-shadow:0 16px 44px #1f1f540a;text-align:left}
.hp-demo *{box-sizing:border-box}
.hp-demo__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 15px}
.hp-demo__eyebrow{font-size:14px;font-weight:600;letter-spacing:-.02em}
.hp-demo__step{flex-shrink:0;font-size:11px;font-weight:500;color:#1f1f54b3}
.hp-demo__dialogue{display:grid;align-items:center;min-height:64px;padding:0 22px 12px;border-bottom:1px solid #1f1f5410}
.hp-demo__message{grid-area:1/1;visibility:hidden;display:flex;align-items:baseline;gap:9px;max-width:96%;min-width:0;padding:8px 11px;border-radius:3px 12px 12px;background:#f3f3f8;opacity:0;will-change:opacity,transform}
.hp-demo__message--you{justify-self:end;background:#e9f8fe;border-radius:12px 3px 12px 12px}
.hp-demo__speaker{flex:none;font-size:10px;font-weight:600;color:#1f1f549c}
.hp-demo__message p{margin:0!important;font-size:12px!important;font-weight:400;line-height:1.55!important;letter-spacing:0!important;color:var(--hp-navy)!important}
.hp-demo__drawing{position:relative;padding:9px 12px 15px;background:linear-gradient(180deg,#fff 0%,#f8fcff 100%)}
.hp-demo__svg{display:block;width:100%;height:auto;overflow:visible;max-width:600px;margin:0 auto;font-family:inherit}
.hp-demo__connections path{fill:none;stroke:var(--hp-cyan);stroke-opacity:.5;stroke-width:1.7;stroke-dasharray:4 6;stroke-linecap:round}
.hp-demo__room rect{stroke-width:1.8;fill:#f0f0f8;stroke:#1f1f5461}
.hp-demo__room--cyan rect{fill:#e5f7ff;stroke:var(--hp-cyan)}
.hp-demo__room text{font-family:inherit;fill:var(--hp-navy);font-size:16px;font-weight:500;letter-spacing:-.025em;dominant-baseline:auto}
.hp-demo__room .hp-demo__room-sub{font-size:13px;font-weight:400;fill:#1f1f54ba;letter-spacing:0}
.hp-demo__room[data-room="bath"] text,.hp-demo__room[data-room="bath"] .hp-demo__room-sub{font-size:14px;font-weight:500;fill:var(--hp-navy);letter-spacing:-.025em}.hp-demo__svg--plan .hp-demo__room[data-room="bath"] text,.hp-demo__svg--plan .hp-demo__room[data-room="bath"] .hp-demo__room-sub{font-size:16px}
.hp-demo__room[data-room="hall"] text{font-size:14px}.hp-demo__room[data-room="hall"] .hp-demo__room-sub{font-size:12px}.hp-demo__svg--plan .hp-demo__room[data-room="hall"] text{font-size:14px}
.hp-demo__architecture{fill:none;stroke-linejoin:round;stroke-linecap:round}
.hp-demo__walls{stroke:var(--hp-navy);stroke-width:5}
.hp-demo__doors{stroke:#1f1f5499;stroke-width:1.25}
.hp-demo__window-cut{stroke:#fff;stroke-width:7;stroke-linecap:butt}
.hp-demo__windows{stroke:var(--hp-cyan);stroke-width:2}
.hp-demo__counter{stroke:#00aeef70;stroke-width:8;stroke-linecap:square}
.hp-demo__caption{margin:3px 0 0!important;min-height:20px;text-align:center;font-size:12px!important;font-weight:500;line-height:1.6!important;color:var(--hp-navy)!important}
.hp-demo__bottom{display:flex;align-items:center;justify-content:space-between;gap:8px 15px;flex-wrap:wrap;padding:12px 18px 14px;border-top:1px solid #1f1f5410}
.hp-demo__disclaimer{font-size:10px;line-height:1.55;color:#1f1f54b3;max-width:100%}
.hp-demo__controls{display:flex;align-items:center;gap:5px;margin-left:auto}
.hp-demo__controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:6px;color:var(--hp-navy);background:transparent;font-family:inherit;font-size:11px;font-weight:500;line-height:1.4;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.hp-demo__controls button:hover:not(:disabled){background:#edf9fe;border-color:#00aeef45}
.hp-demo__controls button:focus-visible{outline:2px solid var(--hp-navy);outline-offset:2px}
.hp-demo__controls button:disabled{opacity:.4;cursor:default}
.hp-demo__controls svg{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hp-demo__progress{position:absolute;inset:auto 0 0;height:3px;background:#e9f8fe;pointer-events:none}
.hp-demo__progress>span{display:block;width:100%;height:100%;background:var(--hp-cyan);transform:scaleX(0);transform-origin:left center}
.hp-demo__sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:480px){.hp-demo__top{padding:17px 15px 12px}.hp-demo__eyebrow{font-size:13px}.hp-demo__step{font-size:10px}.hp-demo__dialogue{gap:7px;padding:0 14px 14px}.hp-demo__message{display:block;padding:7px 10px;max-width:96%}.hp-demo__speaker{display:block;font-size:10px;margin-bottom:2px}.hp-demo__message p{font-size:12px!important}.hp-demo__drawing{padding:8px 3px 13px}.hp-demo__room text{font-size:18px}.hp-demo__room .hp-demo__room-sub{font-size:15px}.hp-demo__room[data-room="bath"] text,.hp-demo__room[data-room="bath"] .hp-demo__room-sub{font-size:14px}.hp-demo__svg--plan .hp-demo__room[data-room="bath"] text,.hp-demo__svg--plan .hp-demo__room[data-room="bath"] .hp-demo__room-sub{font-size:18px}.hp-demo__room[data-room="hall"] text{font-size:14px}.hp-demo__room[data-room="hall"] .hp-demo__room-sub{font-size:12px}.hp-demo__svg--plan .hp-demo__room[data-room="hall"] text{font-size:14px}.hp-demo__bottom{padding:11px 14px 13px;gap:4px 10px}.hp-demo__disclaimer{font-size:10px}.hp-demo__controls{margin-left:auto}.hp-demo__controls button{min-height:42px;font-size:12px}.hp-demo__caption{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.hp-demo__message{will-change:auto}.hp-demo__controls button{transition:none}}
