/* The ecosystem map is live text, not a scaled poster. Scoped to this component. */
.ecosystem-map-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:32px}
.ecosystem-map-heading .prose{max-width:700px;min-width:0}
.ecosystem-map-heading .prose h2{margin-bottom:18px}
.ecosystem-map-heading .prose>p:last-child{font-size:16px;line-height:1.7;color:var(--muted)}
.ecosystem-map-download{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:16px 0 14px;border-bottom:1px solid var(--green);color:var(--green);font-size:14px;font-weight:600;line-height:1.5}
.ecosystem-map-download>span{display:flex;justify-content:space-between;gap:24px}
.ecosystem-map-download small{font-size:11px;font-weight:400;color:var(--muted)}
.ecosystem-map-centre{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 28px;background:#e8efec;border:1px solid #cbd9d2;border-top:3px solid var(--green);border-radius:8px;color:var(--ink)}
.ecosystem-map-centre strong{font-size:23px;font-weight:500;line-height:1.3}
.ecosystem-map-centre>span{font-size:14px;line-height:1.6;color:#52635c}
.ecosystem-map-groups{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:28px}
.ecosystem-map-groups:before{content:"";position:absolute;top:0;left:50%;height:28px;border-left:1px solid #b5c8be}
.ecosystem-map-group{min-width:0;position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px 20px}
.ecosystem-map-group:before{content:"";position:absolute;left:20px;right:20px;top:-1px;border-top:2px solid var(--gold)}
.ecosystem-map-group header{min-height:112px;margin-bottom:20px}
.ecosystem-map-number{display:block;margin-bottom:12px;color:var(--green);font-size:11px;letter-spacing:.08em;line-height:1.4}
.ecosystem-map-group h3{font-size:20px;font-weight:500;line-height:1.35;word-break:normal;overflow-wrap:normal;hyphens:manual;margin-bottom:8px}
.ecosystem-map-group header p{font-size:12px;line-height:1.6;color:var(--muted)}
.ecosystem-map-group ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.ecosystem-map-group li{margin:0;padding:16px 0 0;border-top:1px solid var(--line)}
.ecosystem-map-group li>a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;line-height:1.5;color:var(--green);text-decoration:none;word-break:normal;overflow-wrap:normal}
.ecosystem-map-group li>a>span:last-child{font-size:12px;flex:0 0 auto}
.ecosystem-map-group li>a:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}
.ecosystem-map-group li p{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0 0;word-break:normal;overflow-wrap:normal}
.ecosystem-map-purpose{display:flex;align-items:baseline;justify-content:center;gap:22px;text-align:center;padding:22px 24px;margin-top:16px;border:1px solid var(--line);border-radius:8px;background:#edf1ee}
.ecosystem-map-purpose h3{font-size:16px;font-weight:500;line-height:1.5;margin:0}
.ecosystem-map-purpose p{font-size:13px;line-height:1.7;color:var(--muted);margin:0;max-width:610px}
.ecosystem-map-notes{margin-top:22px;font-size:14px;line-height:1.75;color:var(--muted)}
.ecosystem-map-notes summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 0;cursor:pointer;color:var(--green);font-weight:500;border-bottom:1px solid var(--line);list-style:none}
.ecosystem-map-notes summary::-webkit-details-marker{display:none}
.ecosystem-map-notes summary span{font-size:22px;font-weight:400}
.ecosystem-map-notes[open] summary span{transform:rotate(45deg)}
.ecosystem-map-notes ul{margin:18px 0 0;padding-left:20px;max-width:960px}
.ecosystem-map-notes li+li{margin-top:10px}
.ecosystem-map a:focus-visible,.ecosystem-map-download:focus-visible,.ecosystem-map-notes summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}
@media(max-width:1050px){.ecosystem-map-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.ecosystem-map-group header{min-height:0}.ecosystem-map-group{padding:24px}.ecosystem-map-group ul{gap:16px}.ecosystem-map-heading{gap:28px}.ecosystem-map-purpose{align-items:center;flex-direction:column;gap:8px}}
@media(max-width:680px){.ecosystem-map-heading{display:block;margin-bottom:24px}.ecosystem-map-heading .prose>p:last-child{font-size:15px}.ecosystem-map-download{width:fit-content;margin-top:18px;padding:10px 0}.ecosystem-map-centre{flex-direction:column;text-align:center;gap:8px;padding:20px}.ecosystem-map-centre strong{font-size:22px}.ecosystem-map-centre>span{font-size:13px}.ecosystem-map-groups{grid-template-columns:1fr;padding-top:20px;gap:14px}.ecosystem-map-groups:before{height:20px}.ecosystem-map-group{padding:22px}.ecosystem-map-group header{margin-bottom:16px}.ecosystem-map-group h3{font-size:21px}.ecosystem-map-group li>a{font-size:15px}.ecosystem-map-group li p{font-size:14px}.ecosystem-map-purpose{padding:20px}.ecosystem-map-notes{font-size:13px}}
@media print{.ecosystem-map-download,.ecosystem-map-notes{display:none}.ecosystem-map-groups{grid-template-columns:repeat(4,minmax(0,1fr))}.ecosystem-map-group{break-inside:avoid}}
