#tb-ecosystem {color:var(--ink)}
#tb-ecosystem .tb-map {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);grid-template-rows:repeat(3,minmax(92px,auto));column-gap:14px;row-gap:22px;margin:30px 0 18px;padding:12px 0}
#tb-ecosystem .tb-connections {position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#tb-ecosystem .tb-slot {position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;text-align:center;min-width:0}
#tb-ecosystem .tb-slot > span {background:var(--paper)}
#tb-ecosystem [data-slot="0"] {grid-column:1;grid-row:1}
#tb-ecosystem [data-slot="1"] {grid-column:1;grid-row:2}
#tb-ecosystem [data-slot="2"] {grid-column:1;grid-row:3}
#tb-ecosystem [data-slot="3"] {grid-column:3;grid-row:1}
#tb-ecosystem [data-slot="4"] {grid-column:3;grid-row:2}
#tb-ecosystem [data-slot="5"] {grid-column:3;grid-row:3}
#tb-ecosystem .tb-hub {grid-column:2;grid-row:1 / 4;align-self:center;text-align:center;position:relative;background:color-mix(in srgb,var(--paper) 35%,transparent);padding:12px 0}
#tb-ecosystem .tb-hub h3 {margin:8px 0}
#tb-ecosystem .tb-legend {display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
#tb-ecosystem .tb-key {display:inline-block;width:22px;height:0;border-top:2px solid var(--blue)}
#tb-ecosystem .tb-dash {border-top-style:dashed}
#tb-ecosystem .tb-content {margin-top:24px}
#tb-ecosystem .tb-heading {display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
#tb-ecosystem .tb-heading h3 {margin:0}
#tb-ecosystem .tb-summary {margin:10px 0 18px}
#tb-ecosystem .tb-detail-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#tb-ecosystem .tb-detail-grid h3 {margin:0 0 8px}
#tb-ecosystem .tb-detail-grid ul {padding-left:18px;margin:0}
#tb-ecosystem .tb-detail-grid li {margin-bottom:9px}
#tb-ecosystem .tb-links {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
#tb-ecosystem .tb-link {display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
#tb-ecosystem .tb-links-title {margin:22px 0 0}
#tb-ecosystem .tb-source {margin-top:20px}
@media(max-width:600px) {
 #tb-ecosystem .tb-map {grid-template-columns:1fr 1fr;grid-template-rows:auto repeat(3,minmax(92px,auto));column-gap:22px;row-gap:20px;margin-top:20px}
 #tb-ecosystem .tb-hub {grid-column:1 / 3;grid-row:1;max-width:270px;justify-self:center}
 #tb-ecosystem [data-slot="0"] {grid-column:1;grid-row:2} #tb-ecosystem [data-slot="3"] {grid-column:2;grid-row:2}
 #tb-ecosystem [data-slot="1"] {grid-column:1;grid-row:3} #tb-ecosystem [data-slot="4"] {grid-column:2;grid-row:3}
 #tb-ecosystem [data-slot="2"] {grid-column:1;grid-row:4} #tb-ecosystem [data-slot="5"] {grid-column:2;grid-row:4}
 #tb-ecosystem .tb-detail-grid {grid-template-columns:1fr;gap:16px}
 #tb-ecosystem .tb-links {grid-template-columns:1fr}
}

/* Research connections uses the shared site palette and typography. */
.connections-intro{padding-bottom:30px}
.connections-intro .page-lede{max-width:850px;font-size:17px;margin-top:18px}
.connections-section{padding:0 0 72px}
.connections-section>.container{max-width:1000px}
.research-network-link{margin-top:24px}
#tb-ecosystem{--viz-series-1:var(--blue);--border:var(--line)}
#tb-ecosystem h2.map-title{font:500 clamp(25px,3vw,34px)/1.2 Georgia,serif;margin:0 0 10px}
#tb-ecosystem h3{font:500 21px/1.35 Georgia,serif}
#tb-ecosystem .map-muted{color:var(--muted)}
#tb-ecosystem .map-meta{font-size:13px;line-height:1.5}
#tb-ecosystem .map-node,#tb-ecosystem .map-link{font:inherit;cursor:pointer;overflow-wrap:anywhere;white-space:normal;max-width:100%}
#tb-ecosystem .map-node{width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--line);background:var(--white);color:var(--ink);text-align:center;font-weight:600;transition:background .15s ease,border-color .15s ease}
#tb-ecosystem .map-node:hover{border-color:var(--blue)}
#tb-ecosystem .map-node[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--white)}
#tb-ecosystem .map-link{display:inline-flex;min-height:44px;padding:6px 0;border:0;background:transparent;color:var(--blue);text-align:left;text-decoration:underline;text-underline-offset:4px}
#tb-ecosystem .tb-content{padding-top:24px;border-top:1px solid var(--line)}
#tb-ecosystem .tb-detail-grid li,#tb-ecosystem .tb-link>span{color:var(--muted)}
#tb-ecosystem .tb-heading h3{font-size:28px}
#tb-ecosystem .tb-source a{text-decoration:underline;text-underline-offset:3px}
.connections-note{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;color:var(--muted);font-size:14px}
.connections-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.connections-intro{padding-top:40px;padding-bottom:24px}#tb-ecosystem .map-node{padding:10px 8px;font-size:14px}#tb-ecosystem .tb-heading h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){#tb-ecosystem .map-node{transition:none}}
