.orbit-visual{width:100%;max-width:480px;justify-self:center;text-align:center;position:relative;padding:15px 0;color:#202923}.orbit-source{display:inline-flex;gap:12px;align-items:center;text-align:left}.orbit-source>span{font-size:30px;color:#55765a}.orbit-source strong{font-size:17px;display:block}.orbit-source small{display:block;font-size:11px;font-weight:600;margin-top:5px}.orbit-stage{position:relative;width:100%;aspect-ratio:440/330;background:radial-gradient(ellipse,#f4c5b33d 0%,#dbe6d33b 45%,transparent 70%)}.orbit-wires{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#bac9b3;stroke-width:1}.orbit-wires ellipse{stroke-dasharray:3 7}.orbit-inner{opacity:.45}.orbit-path{stroke:url(#wire);stroke-width:1.7}.orbit-pulse{fill:#fa7460;stroke:#fff;stroke-width:2}.orbit-core{position:absolute;left:50%;top:51.5%;transform:translate(-50%,-50%);width:126px;height:126px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 22%,#ffb39c,#ff7561 65%,#e45d4f);box-shadow:0 0 0 9px #ff8e6b10,0 0 0 10px #e8bca650,0 16px 35px #a75c3420}.orbit-core>span{font-size:32px;line-height:1}.orbit-core strong{font-size:20px;margin-top:5px}.orbit-core small{font-size:9px;margin-top:5px;font-weight:600}.orbit-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px}.orbit-node>span{display:grid;place-items:center;border-radius:50%;width:43px;height:43px;background:#fff;box-shadow:0 4px 16px #29462514;border:1px solid #d9dfd2;font-size:26px;color:#54765a}.orbit-node strong{font-size:11px;background:#f8f8f2;padding:3px 6px;border-radius:5px}.research{left:15%;top:32%}.strategy{left:85%;top:32%}.creative{left:50%;top:85%}.orbit-campaign{font-size:12px;font-weight:650;display:flex;justify-content:center;gap:10px;color:#3d6448}.orbit-fan{height:55px;width:100%;fill:none;stroke:#87a17d;stroke-width:1.3;stroke-dasharray:3 4}.orbit-caption{font-size:14px;line-height:1.6;margin-top:20px}.orbit-visual .gv-people .portrait-frame{width:clamp(32px,4vw,52px);height:auto;aspect-ratio:1;flex:0 1 52px}.orbit-visual .gv-people .photo-face{width:116%!important;height:116%!important;inset:-8%}@media(max-width:500px){.orbit-visual{max-width:360px}.orbit-core{width:108px;height:108px}.orbit-core strong{font-size:18px}.orbit-node strong{font-size:10px}.orbit-node>span{width:35px;height:35px}}@media(prefers-reduced-motion:reduce){.orbit-pulse{display:none}}
/* Continuous title-to-people network */
.orbit-source{display:block;text-align:center}.orbit-source strong{font-size:18px}.orbit-node{gap:0}.orbit-node strong{font-size:12px;font-weight:650;background:#f7f7f2;padding:6px 9px}.creative{top:85%}.orbit-fan{display:block;margin-top:0;stroke-width:1.7;stroke-dasharray:none}.orbit-visual .gv-people{display:grid;grid-template-columns:repeat(6,1fr);gap:0;align-items:center;justify-items:center}.orbit-visual .gv-people .portrait-frame{width:48px;height:48px;aspect-ratio:auto;border:1px solid #c4d1bd}.orbit-visual .gv-people .portrait-frame .photo-face{width:48px!important;height:48px!important;inset:0;background-size:300% 200%;image-rendering:auto;transform:none;filter:none}.orbit-path{stroke:#8fa084}.orbit-pulse{fill:#ec806c}.orbit-core small{display:none}@media(max-width:500px){.orbit-node strong{font-size:10px;padding:5px}.orbit-visual .gv-people .portrait-frame{width:40px;height:40px}.orbit-visual .gv-people .portrait-frame .photo-face{width:40px!important;height:40px!important}}
/* Labels clear of the moving signal and transparent over the orbit. */
.orbit-node strong{background:transparent;border-radius:0;padding:0}.research{top:21%;left:15%}.strategy{top:21%;left:85%}.creative{top:92%;left:50%}.orbit-core{gap:7px}.orbit-core strong{margin:0;font-size:22px}.orbit-core small{display:block;font-weight:700;font-size:10px;line-height:1.4;max-width:105px;margin:0}.creative strong{transform:translateX(38px)}@media(max-width:500px){.orbit-core strong{font-size:20px}.orbit-core small{font-size:9px;max-width:90px}.creative strong{transform:translateX(34px)}}
/* Label positions with an actual break in the lower connector. */
.orbit-source{transform:translateY(-8px)}.research{left:12%;top:23%}.strategy{left:88%;top:23%}.creative{left:50%;top:91.5%}.creative strong{transform:none}@media(max-width:500px){.creative strong{transform:none}.research{left:12%;top:23%}.strategy{left:88%;top:23%}}

/* Consistent breathing room above the curved connections. */
.orbit-node.research,.orbit-node.strategy{top:20%}

/* Quiet upper orbit, leaving the labels between the dotted and solid paths. */
.orbit-upper{stroke:#91a687;stroke-width:1.35;stroke-dasharray:1 6;stroke-linecap:round;opacity:.8}

/* Three equally weighted labels sit inside the oval, without a crossing at its crown. */
.orbit-wires{overflow:visible}
.orbit-source{transform:translateY(-8px);line-height:22px}
.orbit-source strong,.orbit-node.research strong,.orbit-node.strategy strong{font-size:18px;font-weight:700;line-height:22px;white-space:nowrap}
.orbit-node.research{left:15.91%}.orbit-node.strategy{left:84.09%}
.orbit-upper{stroke:#8fa084;stroke-width:1.5;opacity:1}
.orbit-upper{stroke:#bac9b3;stroke-width:1;stroke-dasharray:3 7;stroke-linecap:butt}
@media(max-width:500px){.orbit-source strong,.orbit-node.research strong,.orbit-node.strategy strong{font-size:16px}}

