body.home #main .erp-hero { padding:36px 0 48px; background:#f6f9fd; }
.erp-hero-layout { display:grid; gap:28px; max-width:1280px; }
.erp-hero-copy { align-self:center; }
body.home #main .erp-hero-copy h1 { font-size:clamp(28px,3.2vw,42px); max-width:22ch; line-height:1.25; margin:16px 0 20px; }
.erp-hero-copy>p:not(.eyebrow) { max-width:55ch; line-height:1.75; color:#53667e; }
.erp-map { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.erp-core { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; text-align:center; color:#102a43; text-decoration:none; padding-bottom:20px; }
.erp-core img { width:240px; height:200px; object-fit:contain; }
.erp-core strong { font-size:24px; color:#175cff; }
.erp-core>span { font-size:12px; margin-top:4px; }
body.home #main .erp-node { display:flex; align-items:center; gap:8px; position:relative; padding:12px; min-height:64px; border:1px solid #dce6f3; border-radius:8px; background:#fff; text-decoration:none; color:#102a43; font-size:13px; font-weight:600; line-height:1.4; }
.erp-node .ui-icon { width:28px; height:28px; flex:none; }
.erp-node-arrow { margin-left:auto; color:#175cff; }
.erp-connections { display:none; }
.erp-map a:focus-visible { outline:3px solid #175cff; outline-offset:4px; }
body.home #main .erp-node { flex-direction:column; justify-content:center; text-align:center; min-height:168px; padding:12px 8px; gap:6px; background:transparent; border-color:transparent; border-radius:16px; transition:border-color .25s,box-shadow .25s,background .25s; }
.erp-node-image { display:block; width:112px; height:112px; object-fit:contain; flex:none; }
.erp-node-arrow { display:none; }
body.home #main .erp-node:is(:hover,:focus-visible) { border-color:#4785ff; background:#ffffff80; box-shadow:0 0 0 1px #4785ff33,0 0 22px #175cff30; color:#175cff; }
.erp-node:is(:hover,:focus-visible) .erp-node-image { filter:drop-shadow(0 0 8px #4088ff66); }
@media(min-width:1100px) {
 .erp-hero-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; }
 .erp-map { display:block; height:680px; }
 .erp-connections { display:block; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
 .erp-connections path { fill:none; stroke:#a9c6f3; stroke-width:1.3; stroke-dasharray:5 7; }
 .erp-core { position:absolute; width:45%; left:27.5%; top:26%; padding:0; }
 .erp-core img { width:100%; height:220px; }
 body.home #main .erp-node { position:absolute; width:25%; box-sizing:border-box; min-height:150px; height:150px; flex-wrap:nowrap; justify-content:center; text-align:center; padding:8px; }
 .erp-node-image { width:108px; height:108px; }
 .erp-node-arrow { display:none; }
 .erp-node--0 { left:2%; top:0; }.erp-node--1 { left:37.5%; top:0; }.erp-node--2 { right:2%; top:0; }
 .erp-node--3 { left:0; top:25%; }.erp-node--4 { right:0; top:25%; }
 .erp-node--5 { left:0; top:51%; }.erp-node--6 { right:0; top:51%; }
 body.home #main .erp-node--7,body.home #main .erp-node--8,body.home #main .erp-node--9,body.home #main .erp-node--10 { width:23%; top:75%; height:150px; flex-direction:column; flex-wrap:nowrap; }
 .erp-node--7{left:0}.erp-node--8{left:25.6%}.erp-node--9{left:51.2%}.erp-node--10{right:0}
}
@media(prefers-reduced-motion:no-preference) {
 .erp-node-image,.erp-core img { animation:erp-float 4.8s ease-in-out infinite; animation-delay:var(--erp-delay,0s); }
 @keyframes erp-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
 .erp-connections path { animation:erp-flow 6s linear infinite; }
 @keyframes erp-flow { to { stroke-dashoffset:-48; } }
}
