/* Our group page: moving network picture and brand cards */
.grp-map{margin-top:34px;max-width:1100px}
.grp-svg{display:block;width:100%;height:auto;overflow:visible}
.grp-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 11;opacity:.75;animation:grpflow 2.4s linear infinite;animation-delay:var(--d,0s)}
@keyframes grpflow{to{stroke-dashoffset:-28}}
.grp-node{cursor:pointer;outline:none}
.grp-node circle{transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s;transform-box:fill-box;transform-origin:center}
.grp-ring{fill:none;stroke:var(--c,#BFE6EC);stroke-width:1.5;opacity:.45;animation:grppulse 3.6s ease-in-out infinite}
.hub .grp-ring{stroke:#BFE6EC;animation-duration:3s}
@keyframes grppulse{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.14);opacity:.12}}
.grp-node:hover circle:not(.grp-ring),.grp-node:focus-visible circle:not(.grp-ring){transform:scale(1.12)}
.grp-node:hover .grp-ring,.grp-node:focus-visible .grp-ring{opacity:.9;animation:none;transform:scale(1.1)}
.grp-mono{fill:#fff;font:600 30px/1 var(--font-h);text-anchor:middle;pointer-events:none}.grp-mono.sm{font-size:24px}
.grp-name{fill:#fff;font:600 26px var(--font-h);text-anchor:middle;pointer-events:none}
.grp-sub{fill:#9CC4CB;font:500 12.5px var(--font-u);letter-spacing:.14em;text-transform:uppercase;text-anchor:middle;pointer-events:none}
.hub .grp-name{font-size:30px}
@media(max-width:760px){.grp-map{display:none}}

.grp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grp-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 28px 28px;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .28s,box-shadow .28s}
.grp-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px var(--c)}
.grp-badge{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--c);color:#fff;font:600 21px var(--font-h)}
.grp-sector{font:500 12px var(--font-u);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.grp-card h3{font-size:34px}.grp-card p{color:var(--muted);font-size:16px;flex:1}
.grp-card .btn{align-self:flex-start;margin-top:8px}
@media(max-width:1000px){.grp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grp-grid{grid-template-columns:1fr}}
