/* The care network uses real card sockets, with a shared motion origin. */
.ecosystem { background: radial-gradient(ellipse at 50% 52%, #20353555, transparent 48%); }
.ecosystem .intro { align-items: flex-end; }
.ecosystem .intro-aside { padding-top: 0; }
.orbit {
  --sun-size: 306px;
  position: relative;
  height: 672px;
  max-width: 1340px;
  margin: 30px auto 0;
  padding: 0;
}
.network-heading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #ffffff12;
  padding-top: 18px;
  color: var(--muted);
  font-size: 11px;
  z-index: 3;
}
.network-heading > span:first-child { font-size: 10px; letter-spacing: 1.8px; color: #bad1cc; }
.network-heading i { display: inline-block; width: 5px; height: 5px; margin-right: 8px; background: var(--teal); border-radius: 50%; }
.network-focus { display: flex; align-items: center; gap: 8px; border: 0; background: none; padding: 4px 0 4px 12px; color: #b8c9c8; font-size: 11px; }
.network-focus > span { font-size: 19px; }
.network-focus:hover { color: var(--gold); }
#orbit-network, #branches { position: absolute; inset: 0; }
#orbit-network { pointer-events: none; transition: transform .8s cubic-bezier(.22,.8,.15,1), opacity .7s; }
.orbit .orbit-lines { inset: 0; width: 100%; height: 100%; transform: none; overflow: visible; }
.orbit .connection-line { fill: none; stroke: var(--path-color); stroke-width: 1.2; opacity: .42; }
.orbit .connection-glow { fill: none; stroke: var(--path-color); stroke-width: 7; opacity: .025; }
.connection-socket { fill: #15292c; stroke: var(--path-color); stroke-width: 1.2; }
.connection-signal { fill: var(--path-color); opacity: 0; }
.network-link.active .connection-line { opacity: .95; }
.network-link.active .connection-glow { opacity: .09; }
.network-link.active .connection-signal { opacity: 1; }
.network-link path { transition: opacity .22s; }
.orbit .halo-center {
  top: 50%;
  width: var(--sun-size);
  height: var(--sun-size);
  border-color: #d6c29388;
  background: radial-gradient(ellipse at 35% 23%, #2b4848 0, #183033 48%, #14252c 82%);
  box-shadow: inset 0 1px 25px #c3e5c00b, 0 0 70px #91ccb411;
  transition: transform .8s cubic-bezier(.22,.8,.15,1);
  will-change: auto;
}
.halo-center::before {
  content: '';
  position: absolute;
  inset: -21px;
  border: 1px solid #cfbf9240;
  border-radius: 50%;
  pointer-events: none;
}
.halo-center::after {
  content: '';
  position: absolute;
  inset: -11px;
  border: 1px solid #8abcbf14;
  border-radius: 50%;
  pointer-events: none;
}
.hub-orbits { position: absolute; inset: -46px; width: calc(100% + 92px); height: calc(100% + 92px); pointer-events: none; fill: none; }
.hub-orbits circle { stroke: #b4cfc615; stroke-width: .6; stroke-dasharray: 1 7; }
.hub-orbits circle + circle { stroke: #caba9020; stroke-dasharray: none; }
.hub-orbits path { stroke: #b8c6a154; stroke-width: 1.1; }
.hub-orbits .orbit-ticks { stroke: #b8c6a158; stroke-width: 1; }
.orbit .halo-center .hub-overline { font-size: 8px; letter-spacing: 1.6px; margin-bottom: 12px; color: #d8cfb3; }
.orbit .halo-center strong { font-size: 61px; letter-spacing: 7px; font-weight: 450; color: #f8f5e9; line-height: 1.12; }
.orbit .halo-center > span:not(.hub-overline) { font-size: 12px; line-height: 1.55; margin-top: 8px; color: #b5cbc9; }
.orbit .halo-center .brain-label { margin-top: 17px; font-size: 9px!important; letter-spacing: 1.3px; }
.orbit .hub-input { width: 265px; margin-top: 12px; }
.orbit .hub-input input { padding: 14px 29px 14px 15px; font-size: 11px; border-color: #d7c39177; background: #0c2026; box-shadow: inset 0 1px 5px #0002; }
.orbit .hub-input input:hover { border-color: var(--gold); }
.orbit .hub-input > span:last-child { top: 10px; }
.orbit .halo-center .hub-provider { margin-top: 12px; font-size: 9px; color: #9fb6b8; }
.orbit .branch {
  pointer-events: auto;
  --path-color: #96d6c7;
  position: absolute;
  display: grid;
  grid-template-columns: 34px 1fr 16px;
  grid-template-rows: 1fr 24px;
  gap: 10px 12px;
  width: 252px;
  height: 124px;
  padding: 17px 18px 13px;
  border: 1px solid #a5beb92b;
  border-radius: 12px;
  background: linear-gradient(125deg, #1d3036f5, #15262cf5);
  box-shadow: 0 6px 20px #030d1218;
  transform: none;
  transition: border-color .2s, box-shadow .2s;
  align-items: center;
}
.orbit .branch:hover, .orbit .branch:focus-visible { border-color: var(--path-color); box-shadow: 0 6px 25px #030d1240; transform: none; }
.orbit .branch:focus-visible { outline: 2px solid var(--path-color); outline-offset: 4px; }
.orbit .branch-icon { grid-column: 1; grid-row: 1; border: 0; background: none; color: var(--path-color); width: 34px; height: 34px; }
.orbit .branch-icon svg { width: 26px; height: 26px; stroke-width: 1.35; }
.orbit .branch-copy { grid-column: 2 / 4; grid-row: 1; }
.orbit .branch .branch-n { display: block; position: static; color: var(--path-color); font-size: 8px; letter-spacing: 1.5px; margin-bottom: 5px; }
.orbit .branch b { font-family: var(--display); font-size: 15px; font-weight: 550; line-height: 1.35; }
.orbit .branch-copy small { display: none; }
.orbit .branch-value { display: flex; align-items: baseline; gap: 6px; grid-column: 1 / 3; grid-row: 2; color: var(--path-color); border-top: 1px solid #a6bfb617; padding-top: 8px; }
.orbit .branch-value b { font: 550 16px var(--display); letter-spacing: -.2px; }
.orbit .branch-value span { font-size: 10px; color: #a7bfbd; }
.orbit .branch-value img { width: 52px; height: 23px; padding: 1px 4px; object-fit: contain; background: #fff; border-radius: 2px; align-self: center; }
.orbit .branch[data-branch=nutrition] .branch-value { align-items: center; padding-top: 5px; }
.orbit .branch-arrow { grid-column: 3; grid-row: 2; align-self: end; font-size: 16px; color: var(--path-color); transition: transform .2s; }
.orbit .branch:hover .branch-arrow { transform: translate(2px,-2px); }
.branch-socket { position: absolute; height: 8px; width: 8px; border-radius: 50%; border: 1.5px solid var(--path-color); background: #15292e; top: calc(50% - 4px); box-shadow: 0 0 0 4px #14262c; }
.branch[data-side=left] .branch-socket { right: -5px; }
.branch[data-side=right] .branch-socket { left: -5px; }
.orbit .branch[data-branch=phone] { left: 6%; right: auto; top: 64px; }
.orbit .branch[data-branch=record] { --path-color: #96cbd6; right: 6%; left: auto; top: 64px; }
.orbit .branch[data-branch=eligibility] { --path-color: #e5c389; right: 0; left: auto; top: 209px; }
.orbit .branch[data-branch=coordination] { --path-color: #e5c389; right: 0; left: auto; top: 354px; }
.orbit .branch[data-branch=surveillance] { --path-color: #bad1a0; right: 6%; left: auto; top: 499px; }
.orbit .branch[data-branch=billing] { --path-color: #b4c1da; left: 6%; right: auto; top: 499px; }
.orbit .branch[data-branch=telehealth] { --path-color: #96cbd6; left: 0; right: auto; top: 354px; }
.orbit .branch[data-branch=nutrition] { --path-color: #e4b4a0; left: 0; right: auto; top: 209px; }
.network-value { position: absolute; left: 50%; top: 560px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; width: max-content; max-width: 100%; }
.network-value-number { font: 450 39px var(--display); letter-spacing: -2px; color: var(--gold); }
.network-value b { display: block; font-size: 12px; font-weight: 500; }
.network-value small { display: block; color: var(--muted); font-size: 9px; margin-top: 4px; }
.network-value > span:last-child { color: var(--gold); margin-left: 5px; font-size: 20px; }
.network-value:hover b { text-decoration: underline; text-underline-offset: 4px; }
.orbit .orbit-note { bottom: 0; margin: 0; font-size: 11px; color: #91aaa9; }
.network-powered { display: none; }
.partner-ribbon { margin-top: 24px; }
.scenario-note { font-size: 13px; color: var(--muted); line-height: 1.65; margin: -5px 0 24px; }
.brain-open #orbit-network { transform: translateY(var(--brain-shift-y)) scale(.58); opacity: .32; }
.brain-open .orbit .branch { transform: none; opacity: 1; }
.brain-open .orbit .orbit-lines { transform: none; opacity: 1; }
.brain-open .orbit .halo-center { transform: translate(-50%,calc(-50% + var(--brain-shift-y))) scale(.58); box-shadow: inset 0 1px 25px #c3e5c00b, 0 0 70px #91ccb411; }
.brain-open .network-heading, .brain-open .network-value, .brain-open .orbit-note { opacity: .15; }
.brain-shade { backdrop-filter: none; background: #07121ac7; }
.network-focused .site-header, .network-focused .intro, .network-focused main > section:not(.ecosystem), .network-focused .site-footer, .network-focused .ecosystem-footer, .network-focused .partner-ribbon { display: none; }
.network-focused .ecosystem { padding: 16px 4.5%; }
.network-focused .orbit { height: calc(100dvh - 32px); min-height: 620px; max-height: 900px; margin: 0 auto; }
.network-focused .network-heading { border-top: 0; padding-top: 0; }
.network-focused .orbit .halo-center { top: 48%; }
.network-focused .orbit .branch[data-branch=phone], .network-focused .orbit .branch[data-branch=record] { top: 10%; }
.network-focused .orbit .branch[data-branch=nutrition], .network-focused .orbit .branch[data-branch=eligibility] { top: 31%; }
.network-focused .orbit .branch[data-branch=telehealth], .network-focused .orbit .branch[data-branch=coordination] { top: 52%; }
.network-focused .orbit .branch[data-branch=billing], .network-focused .orbit .branch[data-branch=surveillance] { top: 73%; }
.network-focused .network-value { top: calc(100% - 110px); }
.network-focused .orbit-note { display: flex; justify-content: space-between; align-items: center; }
.network-focused .network-powered { display: flex; font-size: 10px; }
.network-focused .network-powered img { width: 22px; height: 22px; }
@media (min-width: 1550px) {
  .ecosystem { padding-top: 34px; }
}
@media (max-width: 1150px) and (min-width: 901px) {
  .orbit { --sun-size: 270px; }
  .orbit .branch { width: 219px; padding: 15px 13px 12px; gap: 9px; }
  .orbit .branch b { font-size: 14px; }
  .orbit .branch[data-branch=phone], .orbit .branch[data-branch=billing] { left: 3%; }
  .orbit .branch[data-branch=record], .orbit .branch[data-branch=surveillance] { right: 3%; }
  .orbit .halo-center strong { font-size: 51px; }
  .orbit .halo-center .hub-overline { font-size: 7px; letter-spacing: 1.2px; margin-bottom: 10px; }
  .orbit .halo-center .brain-label { font-size: 8px!important; margin-top: 13px; }
  .orbit .hub-input { width: 235px; }
  .orbit .hub-input input { font-size: 10px; padding-left: 12px; }
  .network-value { gap: 9px; }
  .network-value small { font-size: 8px; }
  .network-value-number { font-size: 35px; }
}
@media (max-width: 900px) {
  .network-focus { display: none; }
  .site-header nav { display: none; }
  .ecosystem .intro { display: block; }
  .ecosystem .intro-aside { padding-top: 24px; }
  .ecosystem .intro-aside > p { display: none; }
  .orbit { --sun-size: 280px; height: auto; min-height: 0; margin-top: 28px; padding-top: 454px; }
  .network-heading { padding-top: 16px; }
  .network-heading > span:last-child { font-size: 10px; }
  .network-heading > span:first-child { letter-spacing: 1px; font-size: 8px; }
  .orbit .halo-center { top: 208px; }
  .orbit .halo-center strong { font-size: 54px; }
  .orbit .halo-center .hub-overline { font-size: 7px; letter-spacing: 1.3px; }
  .orbit .halo-center .brain-label { font-size: 8px!important; margin-top: 13px; }
  .orbit .hub-input { width: 242px; }
  .orbit .hub-input input { font-size: 10px; }
  .orbit .halo-center .hub-provider { font-size: 8px; }
  #orbit-network { position: static; }
  .orbit .orbit-lines { display: none; }
  #branches { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .orbit .branch:nth-child(n) { position: relative; inset: auto; width: 100%; height: 124px; min-height: 0; grid-template-columns: 28px 1fr 12px; padding: 14px 12px; gap: 8px; }
  .orbit .branch b { font-size: 14px; }
  .orbit .branch-icon { width: 28px; height: 28px; }
  .orbit .branch-icon svg { width: 22px; height: 22px; }
  .orbit .branch .branch-n { font-size: 7px; letter-spacing: 1px; }
  .orbit .branch-value b { font-size: 15px; }
  .orbit .branch-value span { font-size: 9px; }
  .branch-socket { display: none; }
  .network-value { top: 389px; }
  .network-value-number { font-size: 34px; }
  .orbit .orbit-note { position: static; padding: 22px 0 0; }
  .partner-ribbon { margin-top: 22px; }
  .network-focused .orbit { height: auto; max-height: none; min-height: 0; margin-top: 20px; }
  .network-focused .orbit .halo-center { top: 208px; }
  .network-focused .orbit .branch:nth-child(n) { top: auto; left: auto; right: auto; }
  .network-focused .network-value { top: 389px; }
  .network-focused .network-focus { display: flex; }
  .network-focused .orbit-note { display: block; }
  .network-focused .network-powered { justify-content: center; margin-top: 15px; }
}
@media (max-width: 760px) {
  .brain-open #orbit-network { transform: translateY(var(--brain-shift-y)) scale(.5); }
  .brain-open .orbit .halo-center { transform: translate(-50%,calc(-50% + var(--brain-shift-y))) scale(.5); }
}
@media (max-width: 430px) {
  .orbit .branch:nth-child(n) { grid-template-columns: 23px 1fr 10px; gap: 7px; height: 136px; padding: 12px 10px; }
  .orbit .branch b { font-size: 12px; }
  .orbit .branch-icon, .orbit .branch-icon svg { width: 21px; height: 21px; }
  .orbit .branch .branch-n { font-size: 6px; letter-spacing: .6px; }
  .orbit .branch-value { gap: 4px; }
  .orbit .branch-value b { font-size: 15px; }
  .orbit .branch-value span { font-size: 8px; }
  .network-heading > span:last-child { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .connection-signal { display: none; }
}
