.impact{
    --imp-bg:#e5e7eb; --imp-ink:#1f2a37; --imp-muted:#9aa0a6; --imp-warm-2:#ff4d6d; --imp-dot:#ffffff;
    font-family:"Hanken Grotesk",sans-serif; color:var(--imp-ink); background:var(--imp-bg);
    padding:clamp(38px,6vh,68px) clamp(20px,4vw,56px);
  }
  .impact *{box-sizing:border-box}
  .impact .wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,4vw,64px);align-items:center}
  .impact .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
  .impact .reveal.in{opacity:1;transform:none}
  .impact .d1{transition-delay:.1s} .impact .d2{transition-delay:.2s}
  .impact h2{font-family:"Bricolage Grotesque";font-weight:700;font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.02em;margin:0}
  .impact h2 .muted{color:var(--imp-muted)}
  .impact .sub{margin:22px 0 0;font-size:clamp(20px,2.2vw,27px);line-height:1.25;font-weight:600;max-width:18ch}
  .impact .sub .muted{color:var(--imp-muted)}
  .impact .btn{margin-top:32px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;background:#fff;color:var(--imp-ink);font-weight:600;font-size:15px;padding:14px 26px;border-radius:100px;border:none;box-shadow:0 10px 30px -16px rgba(31,42,55,.5);transition:transform .3s,box-shadow .3s,color .3s}
  .impact .btn:hover{transform:translateY(-3px);color:var(--imp-warm-2)}
  .impact .map-col{display:flex;flex-direction:column;align-items:center;gap:22px}
  #imp-stage{width:100%;max-width:400px;position:relative}
  #imp-stage svg{width:100%;height:auto;display:block;cursor:crosshair;overflow:visible}
  #imp-stage svg path{fill:var(--imp-dot)}
  .impact .dot-tip{position:absolute;left:0;top:0;transform:translate(-50%,calc(-100% - 14px));background:linear-gradient(96deg,#ff6a2c,#ff4d6d);color:#fff;font-weight:600;font-size:14px;padding:10px 16px;border-radius:12px;white-space:nowrap;pointer-events:none;box-shadow:0 14px 30px -12px rgba(255,77,109,.55);opacity:0;transition:opacity .14s ease;z-index:5}
  .impact .dot-tip.show{opacity:1}
  .impact .dot-tip::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:#ff4d6d;border-radius:2px}
  .impact .filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:440px}
  .impact .filter{display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:none;background:#fff;color:var(--imp-ink);font-family:inherit;font-weight:600;font-size:14px;padding:11px 18px;border-radius:11px;box-shadow:0 8px 22px -16px rgba(31,42,55,.5);transition:transform .25s,box-shadow .25s,background .25s,color .25s}
  .impact .filter:hover{transform:translateY(-2px)}
  .impact .filter .sw{width:11px;height:11px;border-radius:50%;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
  .impact .filter.active{color:#fff;box-shadow:0 12px 26px -14px rgba(31,42,55,.5)}
  .impact .filter.active .sw{background:#fff!important;box-shadow:none}
  @media(max-width:900px){ .impact .wrap{grid-template-columns:1fr;gap:38px} .impact .map-col{order:2} }
  @media(prefers-reduced-motion:reduce){ .impact .reveal{opacity:1;transform:none} #imp-stage svg{cursor:default} }