.patient-connections{padding-block:80px 75px;scroll-margin-top:24px}
.connections-intro{max-width:1080px;margin:0 auto 35px;text-align:center}
.connections-intro .eyebrow{max-width:600px;margin-inline:auto;font-size:13px;letter-spacing:1.2px;line-height:1.6;text-wrap:balance}
.connections-intro h2{font-size:clamp(28px,3.4vw,46px);font-weight:500;letter-spacing:-.8px;line-height:1.22;text-wrap:balance;margin-bottom:20px}
.connections-intro h2 span{color:var(--primary);font-size:.8em;font-style:italic;font-weight:400}
.connections-intro>p:last-child{max-width:580px;margin:0 auto;color:var(--ink-muted);font-size:16px}
.connections-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.45fr);gap:65px;align-items:center}
.connections-story>.eyebrow{font-size:10px;margin-bottom:16px}
.connections-story>h3{font-size:30px;font-weight:500;letter-spacing:-.7px;line-height:1.2;margin-bottom:20px}
.connections-story>p:not(.eyebrow){font-size:14px;color:var(--ink-muted);line-height:1.85}
.connections-benefits{list-style:none;margin:26px 0;padding:0}
.connections-benefits li{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line-soft)}
.connections-benefits li>svg{width:21px;height:21px;margin-top:3px;color:var(--sage-deep)}
.connections-benefits strong{display:block;font-size:13px;line-height:1.5;font-weight:600;color:var(--ink-strong)}
.connections-benefits p{font-size:12px;line-height:1.8;color:var(--ink-muted);margin:5px 0 0}
.connections-story>.text-link{min-height:44px;font-size:12px}
.connections-figure{margin:0;min-width:0}
.connections-map{position:relative;width:100%;min-height:350px;aspect-ratio:4/3;isolation:isolate;background:radial-gradient(ellipse at center,var(--blue-soft),transparent 67%)}
.connections-symbols{position:absolute;width:0;height:0;overflow:hidden}
.connections-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1}
.connection-path{stroke:var(--primary);stroke-width:1.5;opacity:.65;fill:none;stroke-dasharray:1;stroke-dashoffset:0;vector-effect:non-scaling-stroke}
.connection-path.connection-family,.connection-path.connection-team-link{stroke:var(--sage-deep)}
.connection-junction{fill:none;stroke:var(--blue-line);stroke-width:1;stroke-dasharray:3 8;vector-effect:non-scaling-stroke}
.connection-node{position:absolute;transform:translate(-50%,-33px);width:42%;text-align:center}
.connection-node-inner{display:flex;flex-direction:column;align-items:center}
.connection-node strong{display:block;font-size:14px;line-height:1.4;font-weight:600;color:var(--ink-strong);margin-top:10px;padding:0 4px}
.connection-node-inner>span{font-size:11px;line-height:1.5;color:var(--ink-muted);padding:2px 4px}
.connection-avatar{display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--blue-line);border-radius:50%;background:var(--sunken);color:var(--primary)}
.connection-avatar svg{width:38px;height:38px;stroke-width:1.6}
.connection-patient{left:50%;top:47.0833%;z-index:1;transform:translate(-50%,-41px)}
.connection-patient .connection-avatar{width:82px;height:82px;background:var(--blue-fill);border:1px solid var(--primary);color:var(--on-fill);box-shadow:0 0 0 8px var(--paper)}
.connection-patient .connection-avatar svg{width:48px;height:48px}
.connection-patient strong{font-size:25px;letter-spacing:-.5px;margin-top:12px}
.connection-gp{left:20%;top:20%}.connection-specialist{left:80%;top:20%}
.connection-spouse{left:20%;top:70%}.connection-children{left:80%;top:70%}
.connection-family-node .connection-avatar{color:var(--sage-deep);border-color:var(--green-line);background:var(--green-soft)}
.connection-children svg{width:47px}
.connections-team{position:relative;border:1px solid var(--green-line);background:var(--surface);padding:23px}
.connections-team-heading{display:flex;align-items:center;gap:12px}
.connections-team-heading>svg{color:var(--sage-deep);width:25px;height:25px}
.connections-team-heading h3{font-size:18px;font-weight:550;letter-spacing:-.2px;margin:0 0 5px}
.connections-team-heading p{font-size:11px;color:var(--ink-muted);margin:0}
.connections-roster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;padding:21px 0;margin:0}
.connections-roster li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;color:var(--ink)}
.connections-roster li>span{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--blue-soft);border:1px solid var(--blue-line);color:var(--primary)}
.connections-roster svg{width:25px;height:25px;stroke-width:1.5}
.connections-roster .roster-patient>span{background:var(--blue-fill);color:var(--on-fill)}
.connections-roster .roster-family>span{background:var(--green-soft);border-color:var(--green-line);color:var(--sage-deep)}
.connections-team-tools{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:center;gap:28px;color:var(--sage-deep);font-size:11px}
.connections-team-tools>span{display:flex;align-items:center;gap:8px}
.connections-team-tools svg{width:17px;height:17px}
.connections-figure figcaption{margin:15px auto 0;max-width:440px;color:var(--ink-muted);font-size:10px;text-align:center;line-height:1.8}

/* The observer only adds a class. CSS performs one entrance on scroll, with a complete static fallback. */
[data-connections][data-motion="ready"] .connection-node-inner,
[data-connections][data-motion="ready"] .connection-junction,
[data-connections][data-motion="ready"] .connections-team{opacity:0}
[data-connections][data-motion="ready"] .connection-path{stroke-dashoffset:1;opacity:0}
[data-connections][data-motion="ready"].is-visible .connection-node-inner{animation:connection-arrive .65s cubic-bezier(.2,.7,.3,1) both}
[data-connections][data-motion="ready"].is-visible .connection-gp .connection-node-inner{animation-delay:.16s}
[data-connections][data-motion="ready"].is-visible .connection-specialist .connection-node-inner{animation-delay:.32s}
[data-connections][data-motion="ready"].is-visible .connection-spouse .connection-node-inner{animation-delay:.48s}
[data-connections][data-motion="ready"].is-visible .connection-children .connection-node-inner{animation-delay:.64s}
[data-connections][data-motion="ready"].is-visible .connection-path{animation:connection-draw .85s ease .65s both}
[data-connections][data-motion="ready"].is-visible .connection-junction{animation:connection-arrive .65s ease .1s both;transform-origin:center}
[data-connections][data-motion="ready"].is-visible .connection-team-link{animation-delay:1.1s}
[data-connections][data-motion="ready"].is-visible .connections-team{animation:connection-arrive .65s ease 1.35s both}
@keyframes connection-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes connection-draw{from{opacity:0;stroke-dashoffset:1}to{opacity:.65;stroke-dashoffset:0}}

@media(max-width:1000px){
  .connections-layout{gap:30px;grid-template-columns:minmax(240px,.85fr) minmax(0,1.45fr)}
  .connection-avatar{width:55px;height:55px}.connection-node{transform:translate(-50%,-27.5px)}
  .connection-patient{transform:translate(-50%,-35px)}.connection-patient .connection-avatar{width:70px;height:70px}
  .connection-node strong{font-size:12px}.connection-patient strong{font-size:23px}.connection-node-inner>span{font-size:10px}
  .connections-team{padding:18px}.connections-team-heading h3{font-size:16px}.connections-team-tools{gap:15px}
}
@media(max-width:760px){
  .patient-connections{padding-block:55px}.connections-intro{margin-bottom:26px}
  .connections-intro .eyebrow{max-width:300px;font-size:11px;letter-spacing:1px}.connections-intro h2{font-size:28px;letter-spacing:-.5px;line-height:1.28}.connections-intro>p:last-child{font-size:14px}
  .connections-layout{display:flex;flex-direction:column;gap:35px}.connections-figure{width:100%;max-width:540px;order:-1}
  .connections-map{aspect-ratio:1;min-height:365px}.connections-story{width:100%}
  .connections-story>h3{font-size:28px}.connections-benefits{margin-bottom:15px}
  .connections-team{padding:18px 13px}.connections-team-heading{gap:9px}.connections-team-heading h3{font-size:17px}
  .connections-roster{gap:4px}.connections-team-tools{gap:22px}.connections-figure figcaption{max-width:310px}
}
@media(max-width:380px){
  .connection-avatar{width:48px;height:48px}.connection-avatar svg{width:30px;height:30px}
  .connection-children svg{width:38px}.connection-node{transform:translate(-50%,-24px)}
  .connection-patient{transform:translate(-50%,-31.5px)}.connection-patient .connection-avatar{width:63px;height:63px}.connection-patient .connection-avatar svg{width:38px;height:38px}
  .connection-node strong{font-size:11px}.connection-patient strong{font-size:21px}.connection-node-inner>span{font-size:9px}
  .connections-roster li{font-size:10px}.connections-team-heading h3{font-size:15px}.connections-team-heading p{font-size:10px}
  .connections-team-tools{gap:15px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  [data-connections] .connection-node-inner,[data-connections] .connection-junction,[data-connections] .connections-team{opacity:1!important;animation:none!important}
  [data-connections] .connection-path{opacity:.65!important;stroke-dashoffset:0!important;animation:none!important}
}
