.services-hub{--ink:#13261d;--muted:#55665d;--paper:#ffffff;--mist:#f2f6f3;--line:#d5e0d9;font-family:var(--font-sora),"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--background);padding:clamp(1.5rem,4vw,3rem) 1rem;box-sizing:border-box}.services-hub *,.services-hub :after,.services-hub :before{box-sizing:inherit}.services-hub .intro{max-width:40rem;margin:0 auto 1.5rem;text-align:center}.services-hub h2{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:700;line-height:1.15;margin:0 0 .75rem;letter-spacing:-.02em}.services-hub .intro p{margin:0;color:var(--muted);line-height:1.6;font-size:1rem}.services-hub .stage{position:relative;width:min(100%,640px);aspect-ratio:1/1;margin:0 auto}.services-hub .wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.services-hub .wires line{stroke:var(--line);stroke-width:.5;stroke-dasharray:1.2 1.2}.services-hub .wires .packet{r:.9}.services-hub .ring{fill:none;stroke:var(--line);stroke-width:.3}.services-hub .node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:center;width:9.5rem}.services-hub .node .disc{width:clamp(3.6rem,13vw,5rem);height:clamp(3.6rem,13vw,5rem);border-radius:50%;background:var(--paper);border:3px solid var(--c);color:var(--c);display:grid;place-items:center;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--c) 60%,transparent);transition:transform .2s ease,background .2s ease,color .2s ease}.services-hub .node svg{width:44%;height:44%}.services-hub .node:focus-visible .disc,.services-hub .node:hover .disc{transform:scale(1.08);background:var(--c);color:#fff}.services-hub .node:focus-visible{outline:none}.services-hub .node:focus-visible .disc{outline:3px solid var(--ink);outline-offset:4px}.services-hub .node .name{font-weight:700;font-size:.95rem}.services-hub .node .tag{font-size:.75rem;color:var(--muted);line-height:1.35}.services-hub .node.hub{width:12rem}.services-hub .node.hub .disc{width:clamp(6.5rem,26vw,9.5rem);height:clamp(6.5rem,26vw,9.5rem);background:var(--c);color:#fff;border:0;box-shadow:0 0 0 10px color-mix(in srgb,var(--c) 14%,transparent),0 14px 30px -12px var(--c)}.services-hub .node.hub .disc span{display:flex;flex-direction:column;align-items:center;gap:.2rem}.services-hub .node.hub .disc svg{width:2.2rem;height:2.2rem}.services-hub .node.hub .hubname{font-weight:700;font-size:clamp(1rem,3.2vw,1.35rem);letter-spacing:.01em}.services-hub .node.hub .hubsub{font-size:.7rem;opacity:.85}.services-hub .node.hub:hover .disc{transform:scale(1.04)}.services-hub .hint{text-align:center;color:var(--muted);font-size:.85rem;margin:1rem 0 0}@media (max-width:520px){.services-hub .node .tag{display:none}.services-hub .node{width:6rem}.services-hub .node .name{font-size:.78rem}}.services-hub dialog{position:fixed;top:50%;left:50%;margin:0;transform:translate(-50%,-50%);border:0;padding:0;border-radius:18px;width:min(92vw,34rem);max-height:88vh;color:var(--ink);background:var(--paper);box-shadow:0 30px 80px -20px rgba(10,30,20,.45);overflow:hidden auto}.services-hub dialog::backdrop{background:rgba(15,35,25,.45);backdrop-filter:blur(3px)}.services-hub dialog[open]{animation:ugd-pop .28s cubic-bezier(.2,.9,.3,1.15)}@keyframes ugd-pop{0%{opacity:0;transform:translate(-50%,-50%) translateY(14px) scale(.96)}to{opacity:1;transform:translate(-50%,-50%)}}.services-hub .m-head{background:var(--c);color:#fff;padding:1.6rem 1.6rem 1.4rem;position:relative}.services-hub .m-head .icon{width:3rem;height:3rem;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;margin-bottom:.9rem}.services-hub .m-head .icon svg{width:1.5rem;height:1.5rem}.services-hub .m-head h3{margin:0;font-size:1.6rem;letter-spacing:-.01em}.services-hub .m-head .sub{margin:.25rem 0 0;opacity:.9;font-size:.95rem}.services-hub .close{position:absolute;top:1rem;right:1rem;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}.services-hub .close:focus-visible,.services-hub .close:hover{background:rgba(255,255,255,.32);outline:none}.services-hub .m-body{padding:1.4rem 1.6rem 1.6rem}.services-hub .status{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;padding:.35rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c)}.services-hub .status:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.services-hub .m-body p{line-height:1.65;margin:1rem 0}.services-hub .m-body h4{font-size:.9rem;margin:1.2rem 0 .5rem;color:var(--muted);font-weight:600}.services-hub .m-body ul{margin:0;padding:0;list-style:none}.services-hub .m-body li{position:relative;padding-left:1.4rem;margin:.45rem 0;line-height:1.5}.services-hub .m-body li:before{content:"";position:absolute;left:0;top:.55em;width:.55rem;height:.55rem;border-radius:2px;background:var(--c);transform:rotate(45deg)}.services-hub .who{background:var(--mist);border-radius:10px;padding:.8rem 1rem;font-size:.9rem;line-height:1.5;margin-top:1.2rem}.services-hub .m-foot{display:flex;justify-content:space-between;gap:.75rem;padding:0 1.6rem 1.5rem}.services-hub .m-foot button{font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;border-radius:999px;padding:.6rem 1rem;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}.services-hub .m-foot button:focus-visible,.services-hub .m-foot button:hover{border-color:var(--c);color:var(--c);outline:none}@media (prefers-reduced-motion:reduce){.services-hub .packet{display:none}.services-hub dialog[open]{animation:none}.services-hub .node .disc{transition:none}}