/* Illustrated pain-area cards and a labeled, interactive body map. */
body #pain-map.pain-map--redesigned {
  position:relative;isolation:isolate;overflow:hidden;padding:64px 38px 58px;
  background:radial-gradient(ellipse at 20% 35%,#fff 0,#f5faff 55%,#edf6ff 100%);
}
body #pain-map .pain-map__inner {max-width:1480px}
body #pain-map .pain-map__layout {display:grid;grid-template-columns:1.03fr 1fr;gap:34px;align-items:center}
body #pain-map .pain-map__content {position:relative;z-index:2;min-width:0}
body #pain-map .pain-map__header {max-width:none;margin:0 0 28px;text-align:left}
body #pain-map .pain-map__header .pain-map__eyebrow {
  display:flex;align-items:center;gap:17px;margin:0 0 20px;max-width:none;
  color:#bd710a;font-size:11px;font-weight:700;line-height:1.6;letter-spacing:1.8px;text-transform:uppercase;
}
body #pain-map .pain-map__eyebrow::before {content:"";width:42px;height:2px;flex-shrink:0;background:#fe9933}
body #pain-map #pain-map-heading {
  margin:0 0 22px;color:#003366;font-size:clamp(38px,3.8vw,60px);font-weight:700;
  line-height:1.1;letter-spacing:-1.8px;text-transform:none;text-wrap:pretty;
}
body #pain-map .pain-map__header .pain-map__intro {max-width:700px;margin:0;color:#5a6579;font-size:17px;line-height:1.65;text-wrap:pretty}
body #pain-map .pain-map__conditions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;padding:0;list-style:none;border:0;border-radius:0;overflow:visible;background:transparent}
body #pain-map .pain-map__conditions li,
body #pain-map .pain-map__conditions li:nth-child(odd) {min-width:0;margin:0;padding:0;border:0}
body #pain-map .pain-map__conditions a {
  display:flex;justify-content:flex-start;align-items:center;gap:13px;min-height:76px;padding:8px 14px;
  border:1px solid #dce8f5;border-radius:14px;background:rgba(255,255,255,.94);
  box-shadow:0 5px 18px #00336604;color:#003366;font-size:16px;font-weight:700;line-height:1.35;text-align:left;text-decoration:none;
  transition:background-color .18s,border-color .18s,box-shadow .18s;
}
body #pain-map .pain-map__condition-icon {display:flex;flex-shrink:0;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#e8f4ff;color:#07549b}
body #pain-map .pain-map__condition-icon svg {display:block;width:43px;height:43px}
body #pain-map .pain-map__condition-label {min-width:0;flex:1}
body #pain-map .pain-map__condition-arrow {display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d5e5f5;border-radius:50%;color:#07549b}
body #pain-map .pain-map__condition-arrow svg {display:block;width:16px;height:16px}
body #pain-map .pain-map__conditions a:hover,
body #pain-map .pain-map__conditions a:focus-visible {background:#edf6ff;border-color:#98bedf;box-shadow:0 6px 20px #0033660b;color:#003366}
body #pain-map .pain-map__conditions a:focus-visible {outline:2px solid #07549b;outline-offset:3px}
body #pain-map .pain-map__visual {position:relative;isolation:isolate;width:100%;max-width:none;height:820px;margin:0}
body #pain-map .pain-map__person {
  position:absolute;left:50%;bottom:0;z-index:1;display:block;transform:translateX(-50%);
  width:auto;max-width:none;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px #00336608);
}
/* Dotted leaders link body areas to detached circles; the back leader passes behind the photo. */
body #pain-map .pain-map__leaders {
  position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;max-width:none;
  overflow:visible;pointer-events:none;
}
body #pain-map .pain-map__leaders--behind {z-index:0}
body #pain-map .pain-map__leaders line {
  stroke:#07549b;stroke-width:1.8;stroke-dasharray:1 5;stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
body #pain-map .pain-map__leaders circle {fill:#e9a13c;stroke:#fff;stroke-width:1.5}
body #pain-map .pain-map__point {
  position:absolute;left:var(--x);top:var(--y);z-index:3;display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);
  color:#fff;text-decoration:none;pointer-events:auto;
}
body #pain-map .pain-map__point::before,
body #pain-map .pain-map__point::after {content:"";position:absolute;width:72px;height:72px;border:1px solid #e7b76c;border-radius:50%;background:transparent;opacity:.65;animation:none;pointer-events:none}
body #pain-map .pain-map__point::after {width:88px;height:88px;opacity:.35}
body #pain-map .pain-map__marker {
  position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;
  border:3px solid #fff;border-radius:50%;background:linear-gradient(135deg,#1f527b,#003366);
  box-shadow:0 4px 12px #00336623;color:#fff;transition:background-color .18s,transform .18s;
}
body #pain-map .pain-map__point svg {display:block;width:35px;height:35px}
body #pain-map .pain-map__point .pain-icon__target {display:none}
body #pain-map .pain-map__tag {
  position:absolute;top:50%;left:calc(100% + var(--leader,28px));display:block;transform:translateY(-50%);
  padding:5px 14px;border:1px solid #e0ecf8;border-radius:20px;background:rgba(255,255,255,.94);
  color:#003366;font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap;pointer-events:none;
}
body #pain-map .pain-map__tag::before {content:"";position:absolute;right:100%;top:50%;width:calc(var(--leader,28px) + 1px);border-top:2px dotted #07549b;filter:drop-shadow(0 0 1px #fff)}
body #pain-map .pain-map__tag::after {content:"";position:absolute;right:calc(100% + var(--leader,28px) - 2px);top:calc(50% - 3px);width:6px;height:6px;border:1px solid #fff;border-radius:50%;background:#e9a13c}
body #pain-map .pain-map__point--left .pain-map__tag {left:auto;right:calc(100% + var(--leader,28px))}
body #pain-map .pain-map__point--left .pain-map__tag::before {right:auto;left:100%}
body #pain-map .pain-map__point--left .pain-map__tag::after {right:auto;left:calc(100% + var(--leader,28px) - 2px)}
body #pain-map .pain-map__point:is(:hover,:focus-visible,.is-open,.is-linked) {z-index:6}
body #pain-map .pain-map__point:is(:hover,:focus-visible,.is-open,.is-linked) .pain-map__marker {background:#07549b;transform:scale(1.08)}
body #pain-map .pain-map__point:is(:hover,:focus-visible,.is-open,.is-linked)::before {opacity:1;animation:none}
body #pain-map .pain-map__point:focus-visible {outline:3px solid #07549b;outline-offset:10px}
@media(min-width:1600px){
  body #pain-map .pain-map__conditions a {font-size:17px;min-height:78px}
  body #pain-map .pain-map__condition-icon {width:58px;height:58px}
}
@media(max-width:1250px) and (min-width:1101px){
  body #pain-map.pain-map--redesigned {padding-inline:28px}
  body #pain-map .pain-map__layout {gap:22px}
  body #pain-map .pain-map__conditions a {padding:9px 10px;gap:8px;font-size:14px}
  body #pain-map .pain-map__condition-icon {width:45px;height:45px}
  body #pain-map .pain-map__condition-icon svg {width:36px;height:36px}
  body #pain-map .pain-map__condition-arrow {width:24px;height:24px}
  body #pain-map .pain-map__visual {height:740px}
  body #pain-map .pain-map__tag {font-size:11px;padding-inline:10px;left:calc(100% + 15px)}
  body #pain-map .pain-map__point--left .pain-map__tag {right:calc(100% + 15px)}
  body #pain-map .pain-map__tag::before {width:16px}
  body #pain-map .pain-map__tag::after {right:calc(100% + 13px)}
  body #pain-map .pain-map__point--left .pain-map__tag::after {left:calc(100% + 13px)}
}
@media(max-width:1100px){
  body #pain-map.pain-map--redesigned {padding:58px 28px}
  body #pain-map .pain-map__layout {grid-template-columns:minmax(0,1fr);gap:36px}
  body #pain-map .pain-map__content {max-width:860px;margin:0 auto}
  body #pain-map .pain-map__header {max-width:850px;margin:0 auto 28px}
  body #pain-map #pain-map-heading {font-size:clamp(36px,5vw,52px)}
  body #pain-map .pain-map__header .pain-map__intro {max-width:none}
  body #pain-map .pain-map__visual {max-width:680px;height:auto;aspect-ratio:700/820;margin:0 auto}
}
@media(max-width:620px){
  body #pain-map.pain-map--redesigned {padding:48px 20px 42px}
  body #pain-map .pain-map__header .pain-map__eyebrow {font-size:9px;letter-spacing:1.1px;gap:10px;margin-bottom:17px}
  body #pain-map .pain-map__eyebrow::before {width:26px}
  body #pain-map #pain-map-heading {font-size:34px;line-height:1.12;letter-spacing:-1.2px;margin-bottom:20px}
  body #pain-map .pain-map__header .pain-map__intro {font-size:15px;line-height:1.7}
  body #pain-map .pain-map__conditions {gap:10px}
  body #pain-map .pain-map__conditions a {min-height:70px;padding:9px 10px;gap:8px;font-size:13px;border-radius:12px}
  body #pain-map .pain-map__condition-icon {width:39px;height:39px}
  body #pain-map .pain-map__condition-icon svg {width:31px;height:31px}
  body #pain-map .pain-map__condition-arrow {display:none}
  body #pain-map .pain-map__visual {max-width:420px}
  body #pain-map .pain-map__point {width:34px;height:34px}
  body #pain-map .pain-map__marker {width:34px;height:34px;border-width:2px}
  body #pain-map .pain-map__point svg {width:23px;height:23px}
  body #pain-map .pain-map__point::before {width:44px;height:44px}
  body #pain-map .pain-map__point::after {width:52px;height:52px}
  body #pain-map .pain-map__point .pain-map__tag,
  body #pain-map .pain-map__point--left .pain-map__tag {
    top:auto;bottom:calc(100% + 12px);left:50%;right:auto;transform:translateX(-50%);
    padding:6px 10px;opacity:0;visibility:hidden;font-size:11px;transition:opacity .15s;
  }
  body #pain-map .pain-map__tag::before,
  body #pain-map .pain-map__tag::after {display:none}
  body #pain-map .pain-map__point:is(:hover,:focus-visible,.is-open):not(.is-dismissed) .pain-map__tag {opacity:1;visibility:visible}
  body #pain-map .pain-map__point:focus-visible {outline-offset:7px}
}
@media(max-width:359px){
  body #pain-map #pain-map-heading {font-size:31px}
  body #pain-map .pain-map__conditions {grid-template-columns:minmax(0,1fr)}
  body #pain-map .pain-map__conditions a {font-size:16px;min-height:66px;padding-inline:14px;gap:12px}
  body #pain-map .pain-map__condition-icon {width:44px;height:44px}
  body #pain-map .pain-map__condition-arrow {display:flex;width:26px;height:26px}
}
@media(prefers-reduced-motion:reduce){
  body #pain-map .pain-map__conditions a,
  body #pain-map .pain-map__marker,
  body #pain-map .pain-map__tag {transition:none}
}
