/* Integrated architecture only: actors and systems connect to one BizOne hub. */
.hr-hub{--hub-ink:#183d53;--hub-blue:#267a9f;--hub-soft:#edf4f8;display:grid;grid-template-columns:210px 90px minmax(0,1fr);grid-template-rows:auto auto;gap:0;position:relative;padding:32px;background:white;border-radius:20px;color:var(--hub-ink)}
.hr-hub svg{width:26px;height:26px;flex-shrink:0;color:var(--hub-blue)}
.hr-hub .hub-label{font-size:15px;font-weight:600;color:#231f20;letter-spacing:0;margin:0 0 18px;line-height:1.5}
.hub-users{grid-column:3;grid-row:1;position:relative;padding-bottom:42px;text-align:center}
.hub-users:after{content:'';position:absolute;width:2px;height:24px;background:#9bbfce;left:50%;bottom:0}
.hub-user-nodes{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;position:relative;padding-bottom:18px}
.hub-user-nodes:after{content:'';position:absolute;bottom:0;left:16%;right:16%;height:2px;background:#9bbfce}
.hub-node{display:flex;align-items:center;gap:12px;border:0;border-radius:10px;background:var(--hub-soft);padding:17px 16px;font-size:16px;line-height:1.5;font-weight:500}
.hub-user-nodes .hub-node{flex-direction:column;gap:10px;position:relative;justify-content:flex-start;font-size:15px;padding:18px 10px}
.hub-user-nodes .hub-node:after{content:'';position:absolute;width:2px;height:18px;bottom:-18px;left:50%;background:#9bbfce}
.hub-systems{grid-column:1;grid-row:2;align-self:center}
.hub-system-nodes{display:flex;flex-direction:column;gap:14px;position:relative}
.hub-system-nodes:after{content:'';position:absolute;right:-22px;top:32px;bottom:32px;width:2px;background:#9bbfce}
.hub-system-nodes .hub-node{position:relative}
.hub-system-nodes .hub-node:after{content:'';position:absolute;right:-22px;top:50%;width:22px;height:2px;background:#9bbfce}
.hr-hub .hub-methods{font-size:13px;line-height:1.7;margin:18px 0 0;color:#625d60}
.hub-link{grid-column:2;grid-row:2;align-self:center;position:relative;margin-left:22px;height:2px;background:#9bbfce}
.hub-link span{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:12px;color:#476476;line-height:1.5}
.hub-core{grid-column:3;grid-row:2;background:#f3f7f9;border-radius:16px;padding:28px;position:relative}
.hub-brand{display:flex;align-items:center;justify-content:center;gap:24px;padding:0 0 24px}
.hub-brand img{width:130px;height:auto}.hub-brand strong{font-size:23px;font-weight:600;line-height:1.4;letter-spacing:-.5px}.hr-hub .hub-brand p{font-size:14px;margin:4px 0 0;color:#476476;line-height:1.5}
.hub-foundation{padding:15px 12px;background:#e1edf2;border-radius:8px;text-align:center;font-size:15px;line-height:1.7}.hub-foundation span{padding:0 10px;color:#8caab9}
.hub-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.hub-modules .hub-node{background:#fff;font-size:17px;padding:20px 16px}
.hub-shared{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0;justify-content:center}.hub-shared .hub-node{background:none;padding:0;font-size:13px;gap:7px}.hub-shared svg{width:19px;height:19px}
.hub-report{display:flex;align-items:center;gap:16px;background:#183d53;color:#fff;padding:18px 22px;border-radius:10px}.hub-report svg{color:#9fdae9;width:30px;height:30px}.hub-report strong{display:block;font-size:17px;font-weight:500}.hub-report span{display:block;font-size:14px;margin-top:3px;color:#d4e7ef}
.hr-hub .hub-scope{text-align:center;font-size:13px;color:#476476;line-height:1.5;margin:18px 0 0}
@media(max-width:1000px){.hr-hub{grid-template-columns:180px 60px minmax(0,1fr);padding:24px}.hub-core{padding:22px}.hub-brand{gap:16px}.hub-brand img{width:105px}.hub-brand strong{font-size:20px}.hub-node{font-size:14px;padding:16px 12px}.hub-modules .hub-node{font-size:15px;padding:18px 12px}.hub-user-nodes .hub-node{font-size:13px}.hub-foundation{font-size:14px}.hub-foundation span{padding:0 5px}.hub-link span{font-size:11px}.hub-report span{font-size:13px}}
@media(max-width:700px){.hr-hub{display:flex;flex-direction:column;padding:22px 16px}.hub-users{padding-bottom:32px;order:0}.hub-user-nodes{gap:7px}.hub-user-nodes .hub-node{padding:14px 6px;font-size:12px;gap:8px}.hr-hub svg{width:23px;height:23px}.hub-users:after{height:14px}.hub-core{order:1;padding:22px 16px;border-radius:12px}.hub-brand{gap:16px;justify-content:flex-start;padding-bottom:20px}.hub-brand img{width:100px}.hub-brand strong{font-size:18px}.hr-hub .hub-brand p{font-size:12px}.hub-foundation{font-size:13px;padding:13px 8px}.hub-foundation span{padding:0 3px}.hub-modules{gap:8px;margin-top:16px}.hub-modules .hub-node{padding:15px 10px;font-size:14px;gap:8px}.hub-shared{justify-content:flex-start;gap:12px;margin:20px 0}.hub-shared .hub-node{font-size:13px}.hub-report{padding:16px;gap:12px}.hub-report strong{font-size:16px}.hub-report span{font-size:12px}.hr-hub .hub-scope{font-size:12px}.hub-link{order:2;width:2px;height:32px;margin:0 auto;align-self:auto}.hub-link span{display:none}.hub-systems{order:3;align-self:stretch;display:flex;flex-direction:column}.hr-hub .hub-systems .hub-label{text-align:center;margin:16px 0}.hub-system-nodes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:18px}.hub-system-nodes:after{width:auto;height:2px;top:0;left:25%;right:25%;bottom:auto}.hub-system-nodes .hub-node{font-size:13px;padding:15px 10px;gap:8px}.hub-system-nodes .hub-node:after{display:none}.hub-system-nodes .hub-node:nth-child(-n+2):before{content:'';position:absolute;left:50%;width:2px;height:18px;top:-18px;background:#9bbfce}.hr-hub .hub-methods{text-align:center;font-size:12px;margin-top:16px}}
/* Anchor each connector to the centre of its node. */
.hub-user-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}
.hub-user-nodes:after{left:16.6667%;right:16.6667%}
.hub-users:after{height:42px}
@media(max-width:700px){.hub-users:after{height:32px}}
/* Symmetric system groups keep the BizOne platform on the diagram centreline. */
.hr-hub{grid-template-columns:minmax(150px,180px) 40px minmax(0,1fr) 40px minmax(150px,180px)}
.hub-systems-right{grid-column:5;grid-row:2}
.hub-link-right{grid-column:4;margin-left:0;margin-right:22px}
.hub-systems-right .hub-system-nodes:after{right:auto;left:-22px}
.hub-systems-right .hub-node:after{right:auto;left:-22px}
.hr-hub .hub-methods-footer{grid-column:1 / -1;grid-row:3;text-align:center;margin:24px 0 0}
.hub-link span{display:none}
.hub-core{padding:24px 20px}
.hub-brand{flex-direction:column;gap:12px;text-align:center}
.hub-brand img{width:130px}
.hub-brand strong{font-size:21px}
.hub-modules .hub-node{font-size:15px;padding:18px 12px;gap:8px}
.hub-foundation{font-size:14px}
.hub-foundation span{padding:0 4px}
@media(min-width:701px) and (max-width:1000px){.hr-hub{grid-template-columns:145px 26px minmax(0,1fr) 26px 145px;padding:20px}.hub-core{padding:20px 14px}.hub-node{padding:14px 9px;font-size:13px;gap:8px}.hub-modules{grid-template-columns:1fr}.hub-user-nodes .hub-node{padding:14px 6px;font-size:12px}.hub-report{padding:16px 12px}.hub-report span{font-size:12px}.hub-system-nodes .hub-node:after{right:-14px;width:14px}.hub-system-nodes:after{right:-14px}.hub-systems-right .hub-node:after{left:-14px}.hub-systems-right .hub-system-nodes:after{left:-14px}.hub-link{margin-left:14px}.hub-link-right{margin-left:0;margin-right:14px}}
@media(max-width:700px){.hr-hub{display:flex}.hub-brand{flex-direction:column;justify-content:center;gap:12px}.hub-brand img{width:120px}.hub-link-right{display:none}.hub-systems-right{order:4;margin-top:22px}.hub-methods-footer{order:5}.hub-systems-right .hub-system-nodes:after{left:25%;right:25%;width:auto}.hub-systems-right .hub-node:after{display:none}}
/* One SVG connector layer uses actual node bounds instead of independent strokes. */
.hr-hub .hub-users:after,.hr-hub .hub-user-nodes:after,.hr-hub .hub-node:after,.hr-hub .hub-node:before,.hr-hub .hub-system-nodes:after{display:none!important}
.hr-hub .hub-link{background:transparent}
.hub-connectors{position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;overflow:visible;z-index:1}
.hr-hub .hub-connectors path{fill:none;stroke:#8db5c7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hr-hub .hub-scope{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin-top:20px;font-size:13px}
.hr-hub .hub-scope>span{display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
.hr-hub .hub-scope svg{width:19px;height:19px}
@media(max-width:700px){.hr-hub .hub-scope{gap:12px 16px;font-size:12px}.hr-hub .hub-scope svg{width:18px;height:18px}}
