.muscle-explorer{background:var(--off);color:var(--navy)}
.muscle-explorer h2{margin:12px 0 22px;max-width:920px;text-wrap:balance}
.muscle-explorer .muscle-explorer-intro{max-width:920px}
.muscle-explorer-hint{font-size:.9rem;color:var(--muted);margin:0 0 32px}
.muscle-diagram{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);grid-template-rows:auto;gap:28px 60px;align-items:start;isolation:isolate}
.muscle-phone{grid-column:2;grid-row:1;position:relative;z-index:1;width:100%;filter:drop-shadow(0 16px 24px #172b5214)}
.muscle-phone img{display:block;width:100%;height:auto;filter:url("#muscle-phone-navy")}
.muscle-phone-target{position:absolute;left:7.5%;width:84.8%;height:8.8%;padding:0;border:3px solid transparent;border-radius:999px;background:transparent;cursor:pointer}
.muscle-phone-target:hover,.muscle-phone-target[data-active]{border-color:#172b52;background:#172b520d;box-shadow:0 0 0 5px #172b5215}
.muscle-explorer button:focus-visible{outline:3px solid #172b52;outline-offset:5px}
.muscle-callout{position:relative;z-index:1;min-width:0;background:white;border:1px solid #dce3ec;border-radius:18px;box-shadow:0 8px 24px #172b5208;transition:border-color .18s,box-shadow .18s}
.muscle-callout-stack{display:flex;flex-direction:column;gap:24px;min-width:0;align-self:start}
.muscle-callout-stack-left{grid-column:1;grid-row:1}
.muscle-callout-stack-right{grid-column:3;grid-row:1}
.muscle-callout-stack>.muscle-callout{flex:none}
.muscle-callout h3{margin:0;font-size:inherit;line-height:inherit}
.muscle-question{position:relative;display:block;width:100%;min-height:156px;padding:22px;text-align:left;font:inherit;color:inherit;border:0;border-radius:18px;background:transparent;cursor:pointer}
.muscle-name{display:block;margin:0 22px 12px 0;color:#172b52;font-size:.79rem;line-height:1.45;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.muscle-question-copy{display:block;font-size:1.08rem;line-height:1.45;font-weight:650;text-wrap:pretty}
.muscle-toggle{position:absolute;top:20px;right:19px;display:grid;place-items:center;width:22px;height:22px;color:#172b52;font-weight:500;font-size:1.2rem;line-height:1}
.muscle-detail{padding:0 22px 22px}
.muscle-detail[hidden]{display:none}
.muscle-detail p{padding-top:16px;margin:0;border-top:1px solid #dce3ec;color:#48576c;font-size:.94rem;line-height:1.6}
.muscle-callout[data-expanded]{border-color:#172b52;box-shadow:0 12px 28px #172b5212}
.muscle-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.muscle-connectors path{fill:none;stroke:#93a1b8;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.muscle-connectors circle{fill:white;stroke:#172b52;stroke-width:1.5;vector-effect:non-scaling-stroke}
.muscle-connectors path[data-active]{stroke:#172b52;stroke-width:2.5}
@media(max-width:1100px) and (min-width:761px){.muscle-diagram{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);column-gap:32px}.muscle-question{padding:19px}.muscle-question-copy{font-size:1rem}.muscle-detail{padding:0 19px 19px}}
@media(max-width:760px){
 .muscle-diagram{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:20px;padding:0 24px}
 .muscle-phone{grid-column:1;grid-row:1;width:min(250px,90%);justify-self:center;margin-bottom:16px}
 .muscle-phone-target{min-height:44px}
 .muscle-callout-stack{display:contents}
 .muscle-callout{grid-column:1;grid-row:auto}
 .muscle-question{min-height:0;padding:22px}
 .muscle-question-copy{font-size:1.05rem}
 .muscle-name{font-size:.77rem;letter-spacing:.035em}
 .muscle-connectors path{stroke:#b5bfd0;stroke-width:1.25}
 .muscle-connectors path[data-active]{stroke:#172b52;stroke-width:2}
 .muscle-explorer-hint{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.muscle-callout{transition:none}}
.muscle-connectors{z-index:2}.muscle-callout{z-index:3}
.muscle-phone-target{min-height:44px}

/* Invert only the active pill, preserving the supplied icon and text geometry. */
.muscle-phone-inverse{position:absolute;inset:-3px;border-radius:inherit;overflow:hidden;background:var(--navy);opacity:0;pointer-events:none;transition:opacity .12s}
.muscle-phone-target .muscle-phone-inverse img{position:absolute;max-width:none;width:var(--phone-width);height:auto;left:var(--phone-offset-x);top:var(--phone-offset-y);filter:url("#muscle-phone-reverse")}
.muscle-phone-target:hover .muscle-phone-inverse,.muscle-phone-target:focus-visible .muscle-phone-inverse,.muscle-phone-target[data-active] .muscle-phone-inverse{opacity:1}
.muscle-phone-target:hover,.muscle-phone-target:focus-visible,.muscle-phone-target[data-active]{background:var(--navy)}
@media(prefers-reduced-motion:reduce){.muscle-phone-inverse{transition:none}}
.muscle-phone{align-self:start;margin-top:36px}
@media(max-width:1100px) and (min-width:761px){.muscle-phone{margin-top:84px}}
@media(max-width:760px){.muscle-phone{margin-top:0}}
