/* Animated infographic: Medical Camp Report (26 April 2026). Rebuilt element-by-element from the hospital's report image. */
.ig{--g:#0d5b2f;--g2:#16803f;--r:#cf151c;--purple:#6a3aa2;--blue:#1c3d9e;--teal:#12908c;--orange:#f07a1a;--line:#d9e3dc;
  max-width:1040px;margin:0 auto;background:#fff;border:2px solid var(--g);border-radius:26px;padding:34px 34px 0;overflow:hidden;box-shadow:0 24px 60px rgba(13,91,47,.14);position:relative}
.ig::after{content:"";display:block;height:14px;background:var(--g);margin:30px -34px 0}
.ig svg{display:block}
.ig .ic{display:block}
.ig-ico{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* header */
.ig-head{text-align:center}
.ig-logo{width:min(440px,78%);margin:0 auto 6px;height:auto}
.ig-address{display:flex;justify-content:center;align-items:center;gap:14px;margin:6px 0 4px;color:#222;font-size:1rem}
.ig-address::before,.ig-address::after{content:"";height:2px;width:56px;background:var(--g);opacity:.8}
.ig-title{margin:14px 0 14px;font-size:clamp(2rem,6.4vw,4.1rem);line-height:1;font-weight:900;letter-spacing:.01em;color:var(--g)}
.ig-date{display:inline-flex;align-items:center;gap:12px;background:var(--r);color:#fff;font-weight:900;font-size:clamp(1rem,2.6vw,1.5rem);letter-spacing:.04em;padding:10px 38px 10px 24px;margin:0;clip-path:polygon(0 0,100% 0,calc(100% - 22px) 50%,100% 100%,0 100%,22px 50%);padding-left:42px}
.ig-date .ic{width:30px;height:30px;color:#fff}
.ig-date sup{font-size:.55em;line-height:0}
.ig-loc{display:flex;justify-content:center;align-items:center;gap:8px;margin:14px 0 24px;font-size:1.0625rem;color:#222}
.ig-loc .ic{width:24px;height:24px;color:var(--g)}
/* boxes */
.ig-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:20px;border:1.5px solid var(--line);border-radius:18px;padding:18px;margin-bottom:22px}
.ig-total{display:flex;align-items:center;gap:16px}
.ig-total-label{flex:0 0 150px;background:var(--g);color:#fff;border-radius:16px;padding:20px 12px;text-align:center;font-weight:900;font-size:1.0625rem;line-height:1.15}
.ig-total-label .ic{width:54px;height:54px;margin:0 auto 10px;color:#fff}
.ig-total-num{flex:1;text-align:center}
.ig-total-num strong{display:block;background:var(--r);color:#fff;border-radius:16px;font-size:clamp(3rem,7vw,5.2rem);line-height:1.05;font-weight:900;padding:6px 8px;font-variant-numeric:tabular-nums}
.ig-total-num span{display:block;margin-top:8px;font-size:1.25rem;color:#222}
.ig-box{border:1.5px solid var(--bc,var(--g));border-radius:16px;overflow:hidden;background:#fff}
.ig-box>h3{margin:0;background:var(--bc,var(--g));color:#fff;text-align:center;font-size:1.0625rem;font-weight:900;letter-spacing:.02em;padding:11px 12px}
.ig-box.red{--bc:var(--r)}
.ig-top .ig-box{align-self:stretch;display:flex;flex-direction:column}
.ig-sum{list-style:none;margin:0;padding:12px 6px;display:grid;grid-template-columns:repeat(5,1fr);flex:1;align-items:center}
.ig-sum li{text-align:center;padding:4px 6px;border-left:1.5px solid var(--line)}
.ig-sum li:first-child{border-left:0}
.ig-sum .ic{width:52px;height:52px;margin:0 auto 6px;color:var(--c)}
.ig-sum b{display:block;font-size:1.125rem;font-weight:900;color:#222}
.ig-sum strong{display:block;font-size:2.4rem;line-height:1.1;font-weight:900;color:var(--c);font-variant-numeric:tabular-nums}
.ig-cols{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}
/* department rows */
.ig-dept{width:100%;border-collapse:collapse}
.ig-dept th{font-size:.9375rem;color:var(--r);font-weight:800;text-align:left;padding:12px 14px 6px}
.ig-dept th:nth-child(n+2){text-align:center}
.ig-dept td{padding:9px 14px;border-top:1px solid #eef1ee;vertical-align:middle}
.ig-dept .dn{display:flex;align-items:center;gap:12px}
.ig-dept .dot{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--c);color:#fff;padding:7px}
.ig-dept .dn div{flex:1;min-width:0}
.ig-dept .dn b{display:block;font-size:1.0625rem;font-weight:600;color:#222}
.ig-dept .bar{display:block;height:6px;background:#eef1ee;border-radius:99px;margin-top:6px;overflow:hidden}
.ig-dept .bar u{display:block;height:100%;width:var(--w);background:var(--c);border-radius:99px}
.ig-dept .pt,.ig-dept .pc{text-align:center;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.ig-dept .pt{font-size:1.5rem;color:var(--r)}
.ig-dept .pc{font-size:1rem;color:#444;font-weight:500}
.ig-dept tfoot td{border-top:2px solid var(--line);font-weight:900;color:var(--r);font-size:1.0625rem;padding:12px 14px}
.ig-dept tfoot td:nth-child(n+2){text-align:center}
/* investigations performed */
.ig-inv{list-style:none;margin:0;padding:6px 16px 8px}
.ig-inv li{display:grid;grid-template-columns:62px 80px 1fr;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e6ece8}
.ig-inv li:first-child{border-top:0}
.ig-inv .ic{width:56px;height:56px;border-radius:50%;border:2.5px solid var(--c);color:var(--c);padding:9px}
.ig-inv .lbl{font-weight:900;font-size:1.0625rem;color:var(--c);line-height:1.1}
.ig-inv .lbl strong{display:block;font-size:2.1rem;line-height:1.05;font-variant-numeric:tabular-nums}
.ig-inv .desc{color:#333;font-size:1rem;border-left:1.5px solid #dde5df;padding-left:14px}
/* footer */
.ig-foot{display:flex;align-items:center;gap:18px;border:1.5px solid var(--line);border-radius:16px;padding:16px 22px;margin-top:22px;background:#fafcfa}
.ig-foot .ic{flex:0 0 64px;width:64px;height:64px;color:var(--g)}
.ig-foot p{flex:1;margin:0;text-align:center;color:#222;font-size:1.1875rem;line-height:1.35}
.ig-foot em{display:block;color:var(--g);margin-top:4px;font-size:1.0625rem}
/* animation: only active once JS adds .js-anim; without JS everything shows its final state.
   Slow, staggered reveal (delay = --d x 120ms, matches STEP in camp-report.js). Counters and bars are driven from JS. */
.ig.js-anim:not(.in) [data-r]{opacity:0;transform:translateY(26px)}
.ig [data-r]{transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d,0)*120ms)}
.ig.js-anim:not(.in) .ic{transform:scale(.3);opacity:0}
.ig .ic{transition:transform .9s cubic-bezier(.2,1.5,.4,1),opacity .6s ease;transition-delay:calc(var(--d,0)*120ms + 300ms)}
.ig .bar u{will-change:width}
.ig.in .ig-total-num strong{animation:igpulse 3.2s ease-in-out 2.4s 2}
@keyframes igpulse{0%,100%{box-shadow:0 0 0 0 rgba(207,21,28,.45)}50%{box-shadow:0 0 0 18px rgba(207,21,28,0)}}
/* hover / focus: each key figure lifts, its icon bounces and (via JS) the number re-counts and the bar re-grows */
.ig.ig-done [data-r]{transition:transform .4s cubic-bezier(.2,1.4,.4,1),box-shadow .35s ease,background-color .3s ease,opacity .3s;transition-delay:0s}
.ig.ig-done .ic{transition:transform .4s cubic-bezier(.2,1.4,.4,1);transition-delay:0s}
[data-hover]{cursor:pointer;outline:none}
[data-hover]:focus-visible{outline:3px solid rgba(13,91,47,.45);outline-offset:3px;border-radius:12px}
.ig-total-num strong{transition:transform .4s cubic-bezier(.2,1.4,.4,1),box-shadow .35s}
.ig-total-num:hover strong,.ig-total-num:focus-visible strong{transform:scale(1.08);box-shadow:0 14px 30px rgba(207,21,28,.35)}
.ig-total-num:hover span{color:var(--r)}
.ig-sum li{transition:transform .4s cubic-bezier(.2,1.4,.4,1),box-shadow .35s,background-color .3s}
.ig.ig-done .ig-sum li:hover,.ig.ig-done .ig-sum li:focus-visible{border-radius:14px;transform:translateY(-8px) scale(1.07);background:#f4faf6;box-shadow:0 14px 28px rgba(13,91,47,.18)}
.ig-sum li:hover .ic,.ig-sum li:focus-visible .ic{animation:igbounce .7s ease}
.ig-sum li:hover strong{transform:scale(1.12);transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.ig-dept tbody tr{transition:background-color .3s}
.ig-dept tbody tr:hover,.ig-dept tbody tr:focus-visible{background:linear-gradient(90deg,rgba(207,21,28,.07),rgba(207,21,28,.02))}
.ig-dept tbody tr:hover .dot,.ig-dept tbody tr:focus-visible .dot{animation:igbounce .7s ease}
.ig-dept tbody tr:hover .pt,.ig-dept tbody tr:focus-visible .pt{transform:scale(1.25);transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.ig-dept .pt,.ig-dept .pc{transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.ig-dept tbody tr:hover .pc{transform:scale(1.12);color:var(--r);font-weight:700}
.ig-dept .bar{transition:height .3s ease}
.ig-dept tbody tr:hover .bar{height:11px}
.ig-inv li{transition:transform .4s cubic-bezier(.2,1.4,.4,1),background-color .3s,box-shadow .35s}
.ig.ig-done .ig-inv li:hover,.ig.ig-done .ig-inv li:focus-visible{border-radius:14px;border-color:transparent;transform:translateX(8px);background:#f4faf6;box-shadow:0 8px 22px rgba(13,91,47,.14)}
.ig-inv li:hover .ic,.ig-inv li:focus-visible .ic{animation:igbounce .7s ease;background:var(--c);color:#fff}
.ig-inv li:hover .lbl strong{transform:scale(1.15);transform-origin:left center;transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
@keyframes igbounce{0%{transform:scale(1)}35%{transform:scale(1.28) rotate(-10deg)}65%{transform:scale(.94) rotate(6deg)}100%{transform:scale(1.08)}}
.ig-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 26px}
@media(prefers-reduced-motion:reduce){.ig *,.ig *::before{animation:none!important}.ig [data-r],.ig .ic,.ig .bar u{transition:none!important;opacity:1!important;transform:none!important}.ig.js-anim:not(.in) .bar u{width:var(--w)}.ig.in .ig-total-num strong{animation:none}}
/* layout on smaller screens */
@media(max-width:900px){.ig{padding:22px 16px 0;border-radius:20px}.ig::after{margin:24px -16px 0}.ig-top,.ig-cols{grid-template-columns:1fr}.ig-sum{grid-template-columns:repeat(3,1fr);row-gap:14px}.ig-sum li:nth-child(4){border-left:0}}
@media(max-width:560px){.ig-dept{table-layout:fixed}.ig-dept th:nth-child(2),.ig-dept td:nth-child(2){width:54px}.ig-dept th:nth-child(3),.ig-dept td:nth-child(3){width:74px}.ig-dept th{font-size:.75rem;padding-top:10px}.ig-dept .dn{gap:8px}.ig-dept .dot{flex:0 0 30px;width:30px;height:30px;padding:6px}.ig-dept .dn b{font-size:.9375rem}.ig-dept .pt{font-size:1.25rem}.ig-dept .pc{font-size:.8125rem}.ig-total-label .ic{width:44px;height:44px}.ig-sum .ic{width:44px;height:44px}.ig-total{flex-direction:column;align-items:stretch}.ig-total-label{flex:none}.ig-sum{grid-template-columns:repeat(2,1fr)}.ig-sum li{border-left:0}.ig-inv li{grid-template-columns:48px 70px 1fr;gap:8px}.ig-inv .ic{width:46px;height:46px;padding:7px}.ig-dept td,.ig-dept th{padding-left:8px;padding-right:8px}.ig-foot{flex-direction:column;text-align:center}.ig-address::before,.ig-address::after{width:22px}}
.camp-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:0 auto}
.camp-gallery figure{margin:0}
.camp-gallery img{width:100%;height:auto;border-radius:18px;aspect-ratio:4/5;object-fit:cover}
.camp-gallery figcaption{font-size:.875rem;color:var(--muted);margin-top:8px}
@media(max-width:560px){.camp-gallery{grid-template-columns:1fr}}
@media print{.ig{box-shadow:none}.ig.js-anim:not(.in) [data-r],.ig.js-anim:not(.in) .ic{opacity:1;transform:none}}
