/* Wirkung: uses the existing site's colours, type and layout tokens. */
.wirkung-page .impact-hero .page-hero-grid{min-height:610px;gap:60px;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}
.wirkung-page .impact-hero h1{font-size:clamp(48px,5.5vw,78px)}
.impact-signal{border:1px solid var(--line-light);background:linear-gradient(145deg,rgba(75,215,232,.08),rgba(255,255,255,.025));border-radius:var(--radius);overflow:hidden;transform:rotate(2deg)}
.impact-signal-top,.impact-signal-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 23px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.impact-signal-top{border-bottom:1px solid var(--line-light);color:var(--cyan)}
.impact-signal-top span{display:flex;align-items:center;gap:9px}.impact-signal-top i{width:6px;height:6px;background:var(--cyan);border-radius:50%}.impact-signal-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.impact-signal-bottom{border-top:1px solid var(--line-light);color:#afbac4;font-size:9px;letter-spacing:0}.impact-signal-bottom strong{color:var(--yellow);white-space:nowrap}
.impact-orbit{height:290px;position:relative;display:grid;place-items:center;overflow:hidden}
.impact-orbit>i{position:absolute;width:230px;height:230px;border-radius:50%;border:1px solid #4bd7e82e}.impact-orbit>i:nth-child(2){width:170px;height:170px}.impact-orbit>i:nth-child(3){width:310px;height:310px;border-style:dashed}
.impact-orbit>div{position:relative;text-align:center}.impact-orbit strong{display:block;font-size:92px;letter-spacing:-.07em;line-height:1.1;color:var(--cyan)}.impact-orbit span{display:block;font-size:11px;font-weight:700;margin-top:12px;color:#c4ced7}
.orbit-dot{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);box-shadow:0 0 0 5px #ffd34e14}.dot-a{top:54px;left:24%}.dot-b{bottom:55px;right:22%;background:var(--cyan)}.dot-c{top:87px;right:18%;width:10px;height:10px;background:var(--pink)}
.impact-section{scroll-margin-top:100px;padding-top:85px;padding-bottom:85px}.impact-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:end;margin-bottom:34px}.impact-heading h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-.05em;line-height:1.08;margin:0}.impact-heading h2 span{color:var(--cyan-deep)}.impact-heading>p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.impact-map{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--paper);color:var(--ink)}
.impact-layout{display:grid;grid-template-columns:300px minmax(0,1fr);height:650px}
.impact-map aside{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}
.impact-map .filters{padding:23px 22px 17px;border-bottom:1px solid var(--line)}
.impact-map label{font-size:11px;font-weight:800;display:block;margin:0 0 6px;letter-spacing:.02em}
.impact-map input,.impact-map select{border:1px solid #c7ced1;border-radius:var(--radius-sm);background:white;width:100%;font:inherit;font-size:14px;color:inherit;padding:11px 12px;margin-bottom:14px}
.impact-map :is(input,select,button,a):focus-visible{outline:3px solid var(--cyan-deep);outline-offset:2px}
.impact-map #count{font-size:12px;color:var(--muted)}
.impact-map #list{overflow:auto;flex:1;overscroll-behavior:contain;margin:0;padding:0;list-style:none}
.impact-map #list li{border-bottom:1px solid var(--line)}
.impact-map #list button{width:100%;text-align:left;background:none;border:0;color:inherit;padding:18px 22px;font:inherit;cursor:pointer}
.impact-map #list button:hover,.impact-map #list button:focus-visible{background:#eaf6f5}
.impact-map #list strong{display:block;font-size:13px;line-height:1.4}
.impact-map #list small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}
.impact-map .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}
.impact-map #map{height:100%;background:#e5eae7;isolation:isolate;scroll-margin-top:100px}
.impact-map .mapwrap{position:relative;min-width:0}
.impact-map .key{position:absolute;z-index:500;bottom:30px;left:14px;right:14px;max-width:550px;background:#fffdf8f2;border:1px solid #08111c12;border-radius:12px;padding:11px 14px;font-size:10px;box-shadow:0 2px 16px #08111c16;pointer-events:none;line-height:1.8}
.impact-map .key p{margin:5px 0 0;color:var(--muted);font-size:11px}.impact-map .key span{display:inline-block;margin-right:12px;white-space:nowrap}
.impact-map #error{margin:0;padding:12px;background:#fff3cf;color:#70501a}
.impact-map .empty{padding:24px;font-size:14px}



.impact-map .cooperation-marker{display:grid;place-items:center;background:none;border:0}
.impact-map .cooperation-marker span{display:block;width:17px;height:17px;border-radius:50%;border:2px solid var(--paper);box-shadow:0 2px 6px #08111c40}
.impact-map .cooperation-marker:focus-visible{outline:3px solid var(--cyan-deep);outline-offset:3px}
.impact-map .popup-brand{height:82px;padding:8px 0 14px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:3px;border-bottom:1px solid var(--line);margin-bottom:14px}
.impact-map .popup-brand img{object-fit:contain;object-position:left center;max-height:50px;max-width:100%;width:auto;height:auto}
.impact-map .popup-brand small{color:var(--muted);font-size:10px}
.impact-map .popup-item h2{font-size:18px;line-height:1.25;font-weight:800;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink)}
.impact-map .popup-category{display:inline-block;font-size:11px;font-weight:700;line-height:1.5;background:#e5f5f5;color:#15727d;border-radius:4px;padding:3px 7px}
.impact-map .popup-item .popup-relation{font-size:14px;margin:12px 0;line-height:1.5}
.impact-map .popup-item dl{margin:14px 0}.impact-map .popup-item dt{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-top:10px}.impact-map .popup-item dd{margin:3px 0;font-size:12px;line-height:1.45}
.impact-map .popup-website{font-size:12px;line-height:1.5;font-weight:700;color:#15727d;text-decoration:underline;text-underline-offset:3px}
.impact-map .leaflet-popup-content-wrapper{border-radius:12px}.impact-map .leaflet-popup-content{margin:20px;line-height:1.5}.impact-map .leaflet-popup-close-button{padding:4px!important}
.impact-map #overview{position:absolute;z-index:500;right:16px;top:15px;border:1px solid #cbd1d6;border-radius:9px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:700;padding:11px 14px;cursor:pointer;box-shadow:0 2px 8px #08111c15}
.impact-map .leaflet-container{font-family:inherit}.impact-map .mapwrap.popup-open #overview,.impact-map .mapwrap.popup-open .key{display:none}
.impact-note{font-size:11px;color:var(--muted);margin:19px 0 23px;line-height:1.6}.impact-case-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:800}.impact-case-link svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.impact-case-link:hover{color:var(--cyan-deep)}
@media(max-width:940px){.wirkung-page .impact-hero .page-hero-grid{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.impact-signal{max-width:480px;width:100%;transform:none}.impact-orbit{height:230px}.impact-heading{gap:30px}.impact-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){.impact-section{padding-top:52px;padding-bottom:52px}.impact-heading{grid-template-columns:1fr;gap:22px;margin-bottom:25px}.impact-layout{display:flex;flex-direction:column-reverse;height:auto}.impact-map .mapwrap{height:470px;min-height:470px}.impact-map aside{max-height:530px;border-right:0}.impact-map .filters{padding:20px 20px 12px}.impact-map #list{max-height:260px}.impact-map .key{font-size:10px;left:10px;right:10px;padding:9px 11px;bottom:28px}.impact-map .key span{margin-right:8px}.impact-map #overview{right:12px;top:12px;padding:10px;font-size:11px}.impact-signal-bottom{padding:16px}.impact-signal-top{padding:17px}.impact-orbit strong{font-size:76px}.impact-note{font-size:10px}}

.impact-map .leaflet-control-attribution{font-size:9px;line-height:1.4;max-width:100%;white-space:normal}.impact-map .leaflet-bottom.leaflet-right{max-width:100%}

/* Consistent cooperation label in list and popup. */
.impact-map .popup-stage,.impact-map .list-stage{display:inline-block;margin-top:7px;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:750;line-height:1.4}
.impact-map .cooperation-badge{color:#176057;background:#e3f4ed}
.impact-map .popup-stage{display:table;margin:7px 0 0}.impact-map .popup-context{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 10px}
.impact-map .filters{padding-top:18px;padding-bottom:14px}.impact-map input,.impact-map select{margin-bottom:10px}.impact-map #list small{margin-top:4px}
@media(max-width:760px){.impact-map aside{max-height:570px}.impact-map .filters{padding-top:18px;padding-bottom:12px}.impact-map #list{min-height:150px}}
