PageSourceSearch

https://investinopen.org/about/our-impact/

html investinopen.org collected 2026-10-02 05:02:08 UTC 96,648 bytes, 2,868 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3	<head>
4		<meta charset="utf-8">
5		<meta http-equiv="X-UA-Compatible" content="IE=edge">
6		<title>How We&#x27;re Shaping the Future of Open Infrastructure</title>
7		<meta name="HandheldFriendly" content="True">
8		<meta name="viewport" content="width=device-width, initial-scale=1">
9		<link rel="stylesheet" type="text/css" href="https://investinopen.org/assets/redesign/style.css?v=9PCgukrnDhWRZPkP">
10		<link rel="preconnect" href="https://ghostbridge-l3ltf7d2wq-uc.a.run.app" crossorigin>
11		
11<script>
12			window.ioiGhostBridgeUrl = 'https://ghostbridge-l3ltf7d2wq-uc.a.run.app';
13			window.ioiGhostBridgeCacheEnabled = true;
14			window.ioiGhostBridgeCacheTtl = 15 * 60 * 1000;
15			window.ioiGhostBridgePreloadTabs = [
16				'primary-navigation',
17				'footer-navigation'
18			];
19		</script>
19
20		
20<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
20
21		
21<script src="https://investinopen.org/assets/js/ghost-bridge-nav.js?v=fk6M-6-ph28u28XF" defer></script>
21
22		<meta name="description" content="Open infrastructure is essential to how research is created, shared, and sustained. Yet the systems that support it are often underfunded, fragmented, and difficult to navigate.">
23    <link rel="icon" href="https://storage.ghost.io/c/e3/0f/e30f355d-2d35-423e-a82d-26c811a07bf5/content/images/size/w256h256/2024/03/IOI-Icon-light-backgrounds-extra-bleed.png" type="image/png">
24    <link rel="canonical" href="https://investinopen.org/about/our-impact/">
25    <meta name="referrer" content="no-referrer-when-downgrade">
26    
27    <meta property="og:site_name" content="Invest in Open Infrastructure">
28    <meta property="og:type" content="website">
29    <meta property="og:title" content="How We&#x27;re Shaping the Future of Open Infrastructure">
30    <meta property="og:description" content="Open infrastructure is essential to how research is created, shared, and sustained. Yet the systems that support it are often underfunded, fragmented, and difficult to navigate.">
31    <meta property="og:url" content="https://investinopen.org/about/our-impact/">
32    <meta property="og:image" content="https://storage.ghost.io/c/e3/0f/e30f355d-2d35-423e-a82d-26c811a07bf5/content/images/2024/05/investinopen.org-og_image-1.png">
33    <meta property="article:modified_time" content="2026-07-01T00:18:25.000Z">
34    <meta name="twitter:card" content="summary_large_image">
35    <meta name="twitter:title" content="How We&#x27;re Shaping the Future of Open Infrastructure">
36    <meta name="twitter:description" content="Open infrastructure is essential to how research is created, shared, and sustained. Yet the systems that support it are often underfunded, fragmented, and difficult to navigate.">
37    <meta name="twitter:url" content="https://investinopen.org/about/our-impact/">
38    <meta name="twitter:image" content="https://storage.ghost.io/c/e3/0f/e30f355d-2d35-423e-a82d-26c811a07bf5/content/images/2024/05/investinopen.org-og_image-1.png">
39    <meta name="twitter:label1" content="Written by">
40    <meta name="twitter:data1" content="Kaitlin Thaney">
41    <meta property="og:image:width" content="1200">
42    <meta property="og:image:height" content="630">
43    
44    
44<script type="application/ld+json">
45{
46    "@context": "https://schema.org",
47    "@type": "Article",
48    "publisher": {
49        "@type": "Organization",
50        "name": "Invest in Open Infrastructure",
51        "url": "https://investinopen.org/",
52        "logo": {
53            "@type": "ImageObject",
54            "url": "https://storage.ghost.io/c/e3/0f/e30f355d-2d35-423e-a82d-26c811a07bf5/content/images/2024/03/IOI-logo-website-banner-light-background.png"
55        }
56    },
57    "author": {
58        "@type": "Person",
59        "name": "Kaitlin Thaney",
60        "image": {
61            "@type": "ImageObject",
62            "url": "https://storage.ghost.io/c/e3/0f/e30f355d-2d35-423e-a82d-26c811a07bf5/content/images/2026/06/KaitlinThaney.png",
63            "width": 1080,
64            "height": 1080
65        },
66        "sameAs": [
67            "https://indieweb.social/@kaythaney",
68            "https://www.linkedin.com/in/kaythaney"
69        ]
70    },
71    "headline": "How We're Shaping the Future of Open Infrastructure",
72    "url": "https://investinopen.org/about/our-impact/",
73    "dateModified": "2026-07-01T00:18:25.000Z",
74    "description": "Open infrastructure is essential to how research is created, shared, and sustained. Yet the systems that support it are often underfunded, fragmented, and difficult to navigate.",
75    "mainEntityOfPage": "https://investinopen.org/about/our-impact/"
76}
77    </script>
77
78
79    <meta name="generator" content="Ghost 6.68">
80    <link rel="alternate" type="application/rss+xml" title="Invest in Open Infrastructure" href="https://investinopen.org/rss/">
81    
81<script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.71/umd/portal.min.js" data-i18n="true" data-ghost="https://investinopen.org/" data-key="f16dc24abf34afd3272e082dcb" data-api="https://investinopeninfrastructure.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script>
81<style id="gh-members-styles">.gh-post-upgrade-cta-content,
82.gh-post-upgrade-cta {
83    display: flex;
84    flex-direction: column;
85    align-items: center;
86    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
87    text-align: center;
88    width: 100%;
89    color: #ffffff;
90    font-size: 16px;
91}
92
93.gh-post-upgrade-cta-content {
94    border-radius: 8px;
95    padding: 40px 4vw;
96}
97
98.gh-post-upgrade-cta h2 {
99    color: #ffffff;
100    font-size: 28px;
101    letter-spacing: -0.2px;
102    margin: 0;
103    padding: 0;
104}
105
106.gh-post-upgrade-cta p {
107    margin: 20px 0 0;
108    padding: 0;
109}
110
111.gh-post-upgrade-cta small {
112    font-size: 16px;
113    letter-spacing: -0.2px;
114}
115
116.gh-post-upgrade-cta a {
117    color: #ffffff;
118    cursor: pointer;
119    font-weight: 500;
120    box-shadow: none;
121    text-decoration: underline;
122}
123
124.gh-post-upgrade-cta a:hover {
125    color: #ffffff;
126    opacity: 0.8;
127    box-shadow: none;
128    text-decoration: underline;
129}
130
131.gh-post-upgrade-cta a.gh-btn {
132    display: block;
133    background: #ffffff;
134    text-decoration: none;
135    margin: 28px 0 0;
136    padding: 8px 18px;
137    border-radius: 4px;
138    font-size: 16px;
139    font-weight: 600;
140}
141
142.gh-post-upgrade-cta a.gh-btn:hover {
143    opacity: 0.92;
144}</style>
145    
145<script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/sodo-search.min.js" data-key="f16dc24abf34afd3272e082dcb" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/main.css" data-sodo-search="https://investinopeninfrastructure.ghost.io/" data-locale="en" crossorigin="anonymous"></script>
145
146    
146<script defer src="https://cdn.jsdelivr.net/ghost/announcement-bar@~1.1/umd/announcement-bar.min.js" data-announcement-bar="https://investinopen.org/" data-api-url="https://investinopen.org/members/api/announcement/" crossorigin="anonymous"></script>
146
147    <link href="https://investinopen.org/webmentions/receive/" rel="webmention">
148    
148<script defer src="/public/cards.min.js?v=ShRHxgy4po8zN-Wf"></script>
148
149    <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=WwnU9jw5ancNC8Gc">
150    
150<script defer src="/public/member-attribution.min.js?v=AKG4hWena9j3yX3I"></script>
150
151    
151<script defer src="/public/ghost-stats.min.js?v=vFcCUf6ZQ0Hyhc8h" data-stringify-payload="false" data-datasource="analytics_events" data-storage="localStorage" data-host="https://investinopen.org/.ghost/analytics/api/v1/page_hit"  tb_site_uuid="e30f355d-2d35-423e-a82d-26c811a07bf5" tb_post_uuid="8e6ea278-8981-4998-b8af-0fe9b924b989" tb_post_type="page" tb_member_uuid="undefined" tb_member_status="undefined" tb_gift_link=""></script>
151<style>:root {--ghost-accent-color: #15171A;}</style>
152    <!-- Matomo -->
153<script>
154  var _paq = window._paq = window._paq || [];
155  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
156  _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
157  _paq.push(["setCookieDomain", "*.investinopen.org"]);
158  _paq.push(["setDomains", ["*.investinopen.org"]]);
159  _paq.push(['trackPageView']);
160  _paq.push(['enableHeartBeatTimer']);
161  _paq.push(['enableLinkTracking']);
162  (function() {
163    var u="https://investinopen.matomo.cloud/";
164    _paq.push(['setTrackerUrl', u+'matomo.php']);
165    _paq.push(['setSiteId', '1']);
166    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
167    g.async=true; g.src='https://cdn.matomo.cloud/investinopen.matomo.cloud/matomo.js'; s.parentNode.insertBefore(g,s);
168  })();
169</script>
169
170<!-- End Matomo Code -->
171
172<!-- Start cookieyes banner -->
173<script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/2e2920022c2f2c3a3fef2ea0/script.js"></script>
173
174<!-- End cookieyes banner -->
175
176<!-- Matomo Tag Manager -->
177<script>
178  var _mtm = window._mtm = window._mtm || [];
179  _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
180  (function() {
181    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
182    g.async=true; g.src='https://cdn.matomo.cloud/investinopen.matomo.cloud/container_5xAfbfet.js'; s.parentNode.insertBefore(g,s);
183  })();
184</script>
184
185<!-- End Matomo Tag Manager -->
186		
186<script>
187			function getPageID(el){
188				for (var i=0, l=el.classList.length; i<l; ++i) {
189					if(/np-.*/.test(el.classList[i])) {
190						return el.classList[i];
191						break;
192					}
193				}
194			}
195
196			document.addEventListener("DOMContentLoaded",function(){
197				const path = window.location.pathname;
198				let count = path.split("/").length - 2;
199				let slug = window.location.pathname.substring(1).split('/')[0];
200				while (count > 1) {
201					slug = path.substring(0, path.lastIndexOf('/')).split('/')[count];
202					count--;
203				}
204
205				console.log("slug: ", slug);
206				const body = document.querySelector('body');
207
208				body.classList.add(`np-${slug}`);
209
210				const current_page = getPageID(body);
211				const page_class = '.' + current_page;
212				console.log(current_page);
213
214				const menus = document.querySelectorAll('.header-nav-dropdown');
215				[...menus].forEach((menu) => {
216					const match = menu.querySelector(page_class);
217					if (match){
218						menu.classList.add(current_page);
219					}
220				});
221
222				const selections = body.querySelectorAll(page_class);
223				[...selections].forEach((selection) => {
224					selection.classList.add('active');
225				});
226
227				if (path.includes('/blog/')){
228					const news_menu = document.querySelector('#primary-nav a[href="/blog"]');
229					if (news_menu) {
230						news_menu.closest('li').classList.add('active');
231					}
232				} else if (path.includes('/about/our-impact/')) {
233					const impact_menu = document.querySelector('#primary-nav a[href="/about/our-impact"]');
234					if (impact_menu) {
235						impact_menu.closest('li').classList.add('active');
236					}
237				}
238
239				const el = document.querySelector('#primary-nav>ul');
240				document.addEventListener('click', event => {
241					const is_click_inside = el.contains(event.target);
242					const button = event.target.closest('.header-toggle');
243					const checked = document.querySelector('.header-checkbox:checked');
244
245					if (!is_click_inside && !button && checked) {
246						checked.click();
247					} else if (button && !checked){
248						document.querySelector('.header-checkbox').click();
249						event.preventDefault();
250					}
251				})
252				window.addEventListener('resize', event => {
253					const checked = document.querySelector('.header-checkbox:checked');
254					if (checked) {
255						checked.click();
256					}
257				});
258			});
259
260
261			
262
263			
264		</script>
264
265	</head>
266		<body class="page-template page-our-impact global-hash-chrys global-hash-expertise global-hash-gail global-hash-impact-report global-hash-sarah global-hash-status global-hash-topic global-hash-type ">
267		<div class="header-sticky-sentinel" aria-hidden="true"></div>
268<header class="header-section">
269	<div class="header-nav-bar">
270		<div class="container">
271			<div class="header-nav">
272				<nav id="primary-nav">
273					
274<a href="https://investinopen.org" id="home-link" class="is-image"><img
275		src="https://investinopen.org/assets/redesign/ioi-logo-dark.svg?v=XXK5z-6REdwdyklA"
276		alt="Invest in Open Infrastructure" />
277</a>
278<input id="toggle" class="header-checkbox" type="checkbox">
279<label class="header-toggle" for="toggle" tabindex="0">
280	<span>
281		<span class="bar"></span>
282		<span class="bar"></span>
283		<span class="bar"></span>
284	</span>
285</label>
286<ul data-primary-nav data-primary-nav-ready aria-label="Primary navigation">
287	<li data-primary-nav-item data-nav-label="Our Approach" data-nav-url="https://investinopen.org/">
288		<span class="spacer">Our Approach</span>
289		<a href="https://investinopen.org/">Our Approach</a>
290	</li>
291	<li data-primary-nav-item data-nav-label="Our Work" data-nav-url="https://investinopen.org/">
292		<span class="spacer">Our Work</span>
293		<a href="https://investinopen.org/">Our Work</a>
294	</li>
295	<li data-primary-nav-item data-nav-label="News and Updates" data-nav-url="https://investinopen.org/">
296		<span class="spacer">News and Updates</span>
297		<a href="https://investinopen.org/">News and Updates</a>
298	</li>
299	<li data-primary-nav-item data-nav-label="About IOI" data-nav-url="https://investinopen.org/">
300		<span class="spacer">About IOI</span>
301		<a href="https://investinopen.org/">About IOI</a>
302	</li>
303</ul>
304 
305				</nav>
306				<div class="home-redesign-header-actions">
307					<a id="search-open" class="home-redesign-search" href="#/search" aria-label="Search">
308						<span aria-hidden="true"></span>
309					</a>
310					<a class="home-redesign-contact" href="/contact-us">Get In Touch</a>
311				</div>
312			</div>
313		</div>
314	</div>
315</header>
316		<div class="global-wrap">
317			<div class="global-content">
318				<main class="global-main">
319					
319<script>
320    document.body.classList.add('template-impact', 'bg-green');
321</script>
321
322<style>
323    .template-impact .impact-content-layout {
324        position: relative;
325        display: block;
326        overflow: hidden;
327        padding: clamp(1rem, 4vw, 3rem) var(--body-padding) clamp(1rem, 7vw, 6rem);
328        color: var(--black);
329    }
330
331    .template-impact .impact-content-layout::before {
332        content: '';
333        position: absolute;
334        top: clamp(1rem, 7vw, 5rem);
335        left: max(-7rem, -7vw);
336        width: clamp(12rem, 20vw, 20rem);
337        aspect-ratio: 1 / 1.4;
338        background: url('https://investinopen.org/assets/images/arrows-yellow.svg?v=QGczq_FXjxyXYivF') left center / contain no-repeat;
339        pointer-events: none;
340    }
341
342    .template-impact .impact-content-layout > div {
343        display: flex;
344        align-items: flex-start;
345        width: min(100%, 1000px);
346        max-width: 1000px;
347        gap: clamp(3rem, 7vw, 6rem);
348        justify-content: center;
349        margin: 0 auto;
350    }
351    
352    .template-impact .impact-content-layout > div > * {
353        position: relative;
354        z-index: 1;
355    }
356
357    .template-impact .impact-content-layout .page-content {
358        flex: 0 1 52rem;
359        padding: 0;
360        background: transparent;
361    }
362
363    .template-impact .impact-content-layout .page-content .container {
364        max-width: 52rem;
365        margin: 0;
366    }
367
368    .template-impact .impact-content-layout .impact-stat-sidebar {
369        width: min(100%, 16rem);
370        flex: 0 0 16rem;
371        margin-top: clamp(1rem, 12vw, 11rem);
372    }
373
374    @media (max-width: 900px) {
375        .template-impact .impact-content-layout {
376            padding-right: var(--body-padding-mobile);
377            padding-left: var(--body-padding-mobile);
378        }
379
380        .template-impact .impact-content-layout .impact-stat-sidebar {
381            width: 100%;
382            flex: 1 1 auto;
383            margin-top: 0;
384        }
385
386        .template-impact .impact-content-layout > div {
387            width: 100%;
388            flex-wrap:wrap;
389        }
390
391        .template-impact .impact-content-layout > div > * {
392            width:100%;
393        }
394
395        .template-impact .impact-content-layout .page-content,
396        .template-impact .impact-content-layout .page-content .container {
397            width: 100%;
398        }
399
400        .template-impact .impact-content-layout::before {
401            top: 1rem;
402            left: -6rem;
403            width: 13rem;
404            opacity: 0.9;
405        }
406    }
407</style>
408<style>
409    /* Component: breadcrumbs.hbs */
410    .breadcrumbs {
411        position: relative;
412        z-index: 2;
413        padding: clamp(1rem, 4vw, 4rem) var(--body-padding) 1.25rem;
414        color: currentColor;
415    }
416
417    .breadcrumbs .container {
418        width: 100%;
419        max-width: var(--container-max);
420        margin: 0 auto;
421    }
422
423    .breadcrumbs__list {
424        display: flex;
425        flex-wrap: wrap;
426        gap: 0.625rem;
427        align-items: center;
428        margin: 0;
429        padding: 0;
430        list-style: none;
431        font-size: 0.9375rem;
432        line-height: 1.4;
433    }
434
435    .breadcrumbs__item {
436        display: inline-flex;
437        align-items: center;
438    }
439
440    .breadcrumbs__item + .breadcrumbs__item::before {
441        content: '/';
442        margin-right: 0.625rem;
443        color: currentColor;
444        opacity: 0.45;
445    }
446
447    .breadcrumbs a {
448        color: currentColor;
449        font-weight: 600;
450        text-decoration: none;
451    }
452
453    .breadcrumbs a:hover,
454    .breadcrumbs a:focus-visible {
455        text-decoration: underline;
456        text-underline-offset: 0.2em;
457    }
458
459    .breadcrumbs__item--current {
460        opacity: 0.58;
461    }
462
463    @media (max-width: 680px) {
464        .breadcrumbs {
465            padding-right: var(--body-padding-mobile);
466            padding-left: var(--body-padding-mobile);
467        }
468    }
469</style>
470<nav aria-label="Breadcrumb" class="breadcrumbs">
471    <div class="container">
472        <ol class="breadcrumbs__list">
473            <li class="breadcrumbs__item"><a href="https://investinopen.org">Home</a></li>
474            <li class="breadcrumbs__item"><a href="/about/">About IOI</a></li>
475            <li class="breadcrumbs__item breadcrumbs__item--current" aria-current="page">How We&#x27;
475re Shaping the Future of Open Infrastructure</li>
476        </ol>
477    </div>
478</nav>
479<style>
480    /* Component: page-header.hbs */
481    .page-header {
482        position: relative;
483        overflow: hidden;
484        padding: clamp(1rem, 6vw, 5rem) var(--body-padding);
485        background: transparent;
486        color: currentColor;
487    }
488
489    .page-header::after {
490        content: '';
491        position: absolute;
492        top: 50%;
493        right: -8rem;
494        width: clamp(24rem, 46vw, 48rem);
495        height: clamp(12rem, 24vw, 24rem);
496        background: url('https://investinopen.org/assets/images/BG_Pattern.png?v=oRve5IxVsXfKh4F0') center / cover no-repeat;
497        mix-blend-mode: multiply;
498        opacity: 0.077;
499        pointer-events: none;
500        transform: translateY(-50%);
501    }
502
503    body.template-impact .page-header::after,
504    body.template-strategic-plan .page-header::after {
505        display: none;
506    }
507
508    .page-header .container {
509        position: relative;
510        z-index: 1;
511        display: flex;
512        width: 100%;
513        max-width: var(--container-max);
514        align-items: baseline;
515        justify-content: space-between;
516        gap: 2rem;
517        margin: 0 auto;
518    }
519
520    .page-header__content {
521        min-width: 0;
522    }
523
524    .page-header__title {
525        margin: 0;
526        color: currentColor;
527        font-family: var(--font2);
528        font-size: clamp(3.25rem, 6vw, 4.5rem);
529        font-weight: 700;
530        line-height: 1.1;
531        overflow-wrap: anywhere;
532    }
533
534    .page-header__excerpt {
535        max-width: 44rem;
536        margin: 1.25rem 0 0;
537        color: currentColor;
538        font-size: clamp(1rem, 1.35vw, 1.2rem);
539        line-height: 1.45;
540        opacity: 0.82;
541    }
542
543    .page-header__cta {
544        display: none;
545        flex: 0 0 auto;
546    }
547
548    .page-header--news .page-header__cta {
549        display: block;
550    }
551
552    .page-header__button {
553        display: inline-flex;
554        min-height: 3.75rem;
555        align-items: center;
556        justify-content: center;
557        gap: 0.75rem;
558        padding: 0.875rem 1.75rem;
559        border: 1px solid rgba(255, 255, 255, 0.12);
560        border-radius: 999px;
561        background: rgba(255, 255, 255, 0.12);
562        color: currentColor;
563        font-weight: 800;
564        line-height: 1;
565        text-decoration: none;
566        backdrop-filter: blur(10px);
567        transition: background 0.2s ease, color 0.2s ease;
568    }
569
570    .page-header__button::after {
571        content: '\2709';
572        display: inline-flex;
573        width: 1.5rem;
574        height: 1.5rem;
575        align-items: center;
576        justify-content: center;
577        border-radius: 50%;
578        background: var(--yellow);
579        color: var(--black);
580        font-size: 0.8rem;
581    }
582
583    .page-header__button:hover,
584    .page-header__button:focus-visible {
585        background: var(--yellow);
586        color: var(--black);
587    }
588
589    body.bg-yellow .page-header__button,
590    body.bg-blue .page-header__button,
591    body.bg-green .page-header__button {
592        border-color: rgba(0, 0, 0, 0.2);
593        background: rgba(0, 0, 0, 0.08);
594    }
595
596    @media (max-width: 680px) {
597        .page-header {
598            padding-right: var(--body-padding-mobile);
599            padding-left: var(--body-padding-mobile);
600        }
601
602        .page-header::after {
603            right: -13rem;
604            opacity: 0.049;
605        }
606
607        .page-header .container {
608            align-items: flex-start;
609            flex-direction: column;
610        }
611
612        .page-header__title {
613            font-size: clamp(1.9rem, 13vw, 4rem);
614        }
615
616        .page-header__cta,
617        .page-header__button {
618            width: 100%;
619        }
620    }
621</style>
622
623<header class="page-header ">
624    <div class="container">
625        <div class="page-header__content">
626            <h1 class="page-header__title">How We&#x27;re Shaping the Future of Open Infrastructure</h1>
627            <p class="page-header__excerpt">Open infrastructure is essential to how research is created, shared, and sustained. Yet the systems that support it are often underfunded, fragmented, and difficult to navigate.</p>
628        </div>
629        <div class="page-header__cta">
630            <a class="page-header__button" href="https://share.investinopen.org/newsletter">Get Our Newsletter</a>
631        </div>
632    </div>
633</header>
634<section class="impact-content-layout">
635    <div>
636        <style>
637    /* Component: page-content.hbs */
638    .page-content {
639        padding: clamp(1rem, 4vw, 3rem) var(--body-padding);
640        background: var(--white);
641        color: var(--black);
642    }
643
644    .page-content .container {
645        width: 100%;
646        max-width: 76rem;
647        margin: 0 auto;
648    }
649
650    body.template-page .page-content .container,
651    body.template-standard .page-content .container,
652    body.template-governance .page-content .container,
653    body.template-impact .page-content .container,
654    body.template-funding .page-content .container {
655        max-width: 52rem;
656    }
657
658    .page-content__body {
659        font-size: clamp(1.05rem, 1.5vw, 1.25rem);
660        line-height: 1.65;
661    }
662
663    .page-content__body > :first-child {
664        margin-top: 0;
665    }
666
667    .page-content__body > :last-child {
668        margin-bottom: 0;
669    }
670
671    .page-content__body h2 {
672        font-family: var(--font2);
673        font-size: clamp(2rem, 4vw, 3.75rem);
674        line-height: 1.05;
675    }
676
677    .page-content__body h3 {
678        margin: 2em 0 0.6em;
679        font-size: clamp(1.35rem, 2vw, 1.5rem);
680        line-height: 1.15;
681    }
682
683    .page-content__body a {
684        color: inherit;
685        text-decoration-color: var(--yellow);
686        text-decoration-thickness: 0.18em;
687        text-underline-offset: 0.12em;
688    }
689
690    body.template-impact .page-content {
691        background: transparent;
692        color: var(--black);
693    }
694
695    body.template-impact .page-content__body {
696        font-size: clamp(1.05rem, 1.5vw, 1.25rem);
697        line-height: 1.65;
698    }
699
700    body.template-strategic-plan .page-content {
701        background: transparent;
702        background-image: url('https://investinopen.org/assets/images/arrows-yellow.svg?v=QGczq_FXjxyXYivF');
703        background-position: left center;
704        background-repeat: no-repeat;
705        background-size: clamp(14rem, 22vw, 22rem) auto;
706        padding-top: clamp(1rem, 5vw, 4.5rem);
707        padding-bottom: clamp(1rem, 7vw, 6rem);
708    }
709
710    body.template-strategic-plan .page-content .container {
711        max-width: 48rem;
712    }
713
714    body.template-strategic-plan .page-content__body {
715        font-size: clamp(0.98rem, 1.15vw, 1.12rem);
716        line-height: 1.45;
717    }
718
719    body.template-strategic-plan .page-content__body > * {
720        margin-right: 0;
721        margin-left: 0;
722    }
723
724    body.template-strategic-plan .page-content__body h1,
725    body.template-strategic-plan .page-content__body h2,
726    body.template-strategic-plan .page-content__body h3 {
727        display: block;
728        box-sizing: border-box;
729        width: 100%;
730        margin: 0;
731        font-family: var(--font2);
732        font-size: clamp(2.1rem, 4vw, 3.25rem);
733        font-weight: 800;
734        line-height: 1.05;
735        text-wrap: balance;
736    }
737
738    body.template-strategic-plan .page-content__body > :first-child {
739        margin-bottom: 0.85rem;
740        font-family: var(--font1);
741        font-size: 0.68rem;
742        font-weight: 800;
743        letter-spacing: 0.14em;
744        line-height: 1.2;
745        text-transform: uppercase;
746    }
747
748    body.template-strategic-plan .page-content__body h1:not(:first-child),
749    body.template-strategic-plan .page-content__body h2:not(:first-child),
750    body.template-strategic-plan .page-content__body h3:not(:first-child) {
751        padding-top: 0.85rem;
752        border-top: 1px solid rgba(0, 0, 0, 0.6);
753    }
754
755    body.template-strategic-plan .page-content__body h1:not(:first-child) + p,
756    body.template-strategic-plan .page-content__body h2:not(:first-child) + p,
757    body.template-strategic-plan .page-content__body h3:not(:first-child) + p {
758        max-width: 39rem;
759        margin-top: 0.55rem;
760    }
761
762    body.template-strategic-plan .page-content__body p {
763        max-width: 43rem;
764        margin-top: 1.25rem;
765    }
766
767    body.template-strategic-plan .page-content__body p + h1,
768    body.template-strategic-plan .page-content__body p + h2,
769    body.template-strategic-plan .page-content__body p + h3 {
770        margin-top: clamp(1rem, 2.4vw, 1.9rem);
771    }
772
773    body.template-strategic-plan .page-content__body .kg-button-card {
774        display: flex;
775        max-width: 43rem;
776        justify-content: center;
777        margin-top: 1.25rem;
778    }
779
780    body.template-strategic-plan .page-content__body .kg-button-card .kg-btn {
781        display: inline-flex;
782        min-height: 3rem;
783        align-items: center;
784        justify-content: center;
785        padding: 1rem 2.25rem;
786        border: 0;
787        border-radius: 999px;
788        background: var(--black);
789        color: var(--white);
790        font-weight: 800;
791        line-height: 1;
792        text-decoration: none;
793        transition: background 0.2s ease, color 0.2s ease;
794    }
795
796    body.template-strategic-plan .page-content__body .kg-button-card .kg-btn:hover,
797    body.template-strategic-plan .page-content__body .kg-button-card .kg-btn:focus-visible {
798        background: var(--yellow);
799        color: var(--black);
800    }
801
802    body.template-funding .page-content {
803        background-color: var(--black);
804        background-image: url('https://investinopen.org/assets/images/arrows-yellow.svg?v=QGczq_FXjxyXYivF');
805        background-position: left center;
806        background-repeat: no-repeat;
807        background-size: clamp(20rem, 32vw, 30rem) auto;
808        color: var(--white);
809    }
810
811    body.template-funding .page-content .container {
812        width: auto;
813        max-width: 64rem;
814        margin-right: auto;
815        margin-left: clamp(1rem, 19vw, 22rem);
816    }
817
818    body.template-funding .page-content__body {
819        font-size: clamp(1rem, 1.35vw, 1.18rem);
820        line-height: 1.45;
821    }
822
823    body.template-funding .page-content__body > p {
824        margin: 1.45em 0 0;
825    }
826
827    body.template-funding .page-content__body > p:first-child {
828        margin-top: 0;
829        font-size: clamp(1.35rem, 1.9vw, 1.68rem);
830        line-height: 1.35;
831    }
832
833    body.template-funding .page-content__body a {
834        color: var(--yellow);
835        text-decoration-line: underline;
836        text-decoration-color: currentColor;
837        text-decoration-thickness: 1px;
838        text-underline-offset: 0.16em;
839    }
840
841    body.template-funding .page-content__body a:hover,
842    body.template-funding .page-content__body a:focus-visible {
843        text-decoration-line: none;
844    }
845
846    @media (max-width: 680px) {
847        .page-content {
848            padding-right: var(--body-padding-mobile);
849            padding-left: var(--body-padding-mobile);
850        }
851
852        body.template-strategic-plan .page-content {
853            background-image: none;
854        }
855    }
856
857    @media (max-width: 900px) {
858        html:has(body.template-funding),
859        body.template-funding {
860            overflow-x: hidden;
861        }
862
863        body.template-funding .global-wrap,
864        body.template-funding .global-content,
865        body.template-funding .global-main {
866            max-width: 100vw;
867            overflow-x: hidden;
868        }
869
870        body.template-funding .page-header__title {
871            font-size: clamp(1.9rem, 13vw, 4rem);
872        }
873
874        body.template-funding .page-content {
875            background-image: none;
876        }
877
878        body.template-funding .page-content .container {
879            box-sizing: border-box;
880            width: 100%;
881            max-width: min(64rem, 100%);
882            margin-right: auto;
883            margin-left: auto;
884        }
885
886        body.template-funding .page-content__body {
887            overflow-wrap: break-word;
888        }
889    }
890</style>
891
892<section class="page-content">
893    <div class="container">
894        <div class="gh-content page-content__body">
895            <p>At Invest in Open Infrastructure, we believe a more resilient future is possible-one where infrastru
895cture is community-led, sustainably funded, and supported by a coordinated ecosystem of funders, institutions, and partners.</p><p>Our work is focused on helping make that future real.</p><p>We collaborate with organizations across the ecosystem to better understand the challenges they face and to identify practical, strategic paths forward. Whether through research, advisory support, or convening stakeholders, our goal is to bring clarity to complex decision and help organizations act with confidence.</p><p>The impact of this work is not always captured in simple metrics. It shows up in stronger funding strategies, more informed investments, and deeper collaboration across the communities that rely on open infrastructure every day.</p><p>We see our role as both a partner and a guide-supporting those working to build systems that are not only open, but sustainable and equitable over the long term.</p><p>Thank you for being part of this work.</p><p><em>— Kaitlin Thaney, IOI Executive Director</em></p>
896        </div>
897    </div>
898</section>
899        <style>
900    /* Component: impact-stat-sidebar.hbs */
901    .impact-stat-sidebar {
902        position: relative;
903        overflow: hidden;
904        color: var(--black);
905    }
906
907    .impact-stat-sidebar[hidden] {
908        display: none;
909    }
910
911    .impact-stat-sidebar__stats {
912        position: relative;
913        z-index: 1;
914        display: grid;
915        gap: 0;
916    }
917
918    .impact-stat-sidebar__stat {
919        padding: 0 0 1.15rem;
920        border-bottom: 1.5px solid rgba(0, 0, 0, 0.72);
921    }
922
923    .impact-stat-sidebar__stat + .impact-stat-sidebar__stat {
924        padding-top: 1.05rem;
925    }
926
927    .impact-stat-sidebar__stat:last-child {
928        border-bottom: 0;
929        padding-bottom: 0.5rem;
930    }
931
932    .impact-stat-sidebar__number {
933        display: block;
934        font-family: var(--font1);
935        font-size: clamp(1.75rem, 3vw, 2.5rem);
936        font-weight: 800;
937        line-height: 1;
938    }
939
940    .impact-stat-sidebar__label {
941        display: block;
942        margin-top: 0.45rem;
943        font-size: clamp(0.78rem, 0.95vw, 0.92rem);
944        line-height: 1.35;
945    }
946
947    .impact-stat-sidebar__button {
948        position: relative;
949        z-index: 1;
950        display: inline-flex;
951        min-height: 3.1rem;
952        align-items: center;
953        justify-content: center;
954        gap: 0.65rem;
955        margin-top: 1rem;
956        padding: 0.78rem 1rem 0.78rem 1.25rem;
957        border-radius: 999px;
958        background: var(--yellow);
959        color: var(--black);
960        font-size: 0.88rem;
961        font-weight: 800;
962        line-height: 1;
963        text-decoration: none;
964        transition: background-color 0.18s ease, color 0.18s ease;
965    }
966
967    .impact-stat-sidebar__button::after {
968        content: '';
969        display: block;
970        width: 1.75rem;
971        height: 1.75rem;
972        flex: 0 0 1.75rem;
973        border-radius: 50%;
974        background-color: var(--black);
975        background-image: url('https://investinopen.org/assets/redesign/icons/button-arrow-reverse.svg?v=b0KXAH4eXGWTyy2_');
976        background-position: center;
977        background-repeat: no-repeat;
978        background-size: 1.05rem 1.05rem;
979    }
980
981    .impact-stat-sidebar__button:hover,
982    .impact-stat-sidebar__button:focus-visible {
983        background: var(--black);
984        color: var(--white);
985    }
986
987    .impact-stat-sidebar__button:hover::after,
988    .impact-stat-sidebar__button:focus-visible::after {
989        background-color: var(--yellow);
990        background-image: url('https://investinopen.org/assets/redesign/icons/button-arrow.svg?v=3ylPM9vyz-0uq8Xa');
991    }
992
993    @media (max-width: 780px) {
994        .impact-stat-sidebar {
995            width: 100%;
996        }
997
998        .impact-stat-sidebar__button {
999            width: 100%;
1000        }
1001    }
1002</style>
1003
1004<aside class="impact-stat-sidebar" data-bridge-component="impact-stat-sidebar" aria-label="Impact statistics">
1005    <div class="impact-stat-sidebar__stats" data-bridge-list="stats">
1006        <div class="impact-stat-sidebar__stat">
1007            <span class="impact-stat-sidebar__number">50+</span>
1008            <span class="impact-stat-sidebar__label">Networks engaged globally</span>
1009        </div>
1010        <div class="impact-stat-sidebar__stat">
1011            <span class="impact-stat-sidebar__number">5.3 mil</span>
1012            <span class="impact-stat-sidebar__label">Total audience reached</span>
1013        </div>
1014        <div class="impact-stat-sidebar__stat">
1015            <span class="impact-stat-sidebar__number">20+</span>
1016            <span class="impact-stat-sidebar__label">Open infrastructures directly supported</span>
1017        </div>
1018    </div>
1019            <a class="impact-stat-sidebar__button" href="/blog/what-we-achieved-together-in-2025-iois-year-in-review/">Get the Impact Report</a>
1020</aside>
1021<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 1021
1021
1022<script src="https://investinopen.org/assets/js/components/impact-stat-sidebar.js?v=ylUCeP9knVXL8A2X" defer></script>
1022
1023    </div>
1024</section>
1025<style>
1026/* Component: partners.hbs */
1027.partners {
1028    --partners-gap: clamp(2.5rem, 6vw, 6rem);
1029    position: relative;
1030    z-index: 2;
1031    width: 100%;
1032    margin: 0 auto;
1033    padding-bottom: 2rem;
1034    background: var(--partners-background, transparent);
1035    text-align: center;
1036}
1037
1038.partners p {
1039    margin: 0 0 1.5rem;
1040    color: rgba(255, 255, 255, .82);
1041    font-size: .75rem;
1042    font-weight: 800;
1043    letter-spacing: .24em;
1044    text-transform: uppercase;
1045}
1046
1047.partners__viewport {
1048    width: 100%;
1049    overflow: hidden;
1050    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
1051    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
1052}
1053
1054.partners__track {
1055    display: flex;
1056    gap: var(--partners-gap);
1057    align-items: center;
1058    width: max-content;
1059    animation: partners-marquee var(--partners-duration, 42s) linear infinite;
1060    will-change: transform;
1061}
1062
1063.partners__group {
1064    display: flex;
1065    flex: none;
1066    gap: var(--partners-gap);
1067    align-items: center;
1068    padding: 0;
1069    margin: 0;
1070    list-style: none;
1071}
1072
1073.partners__group li {
1074    display: grid;
1075    flex: 0 0 clamp(8rem, 13vw, 12rem);
1076    width: clamp(8rem, 13vw, 12rem);
1077    height: clamp(3rem, 6vw, 5rem);
1078    place-items: center;
1079    color: var(--white);
1080    font-family: var(--font2);
1081    font-size: clamp(.85rem, 1.4vw, 1.25rem);
1082    font-weight: 700;
1083    letter-spacing: .04em;
1084    line-height: 1;
1085    text-transform: uppercase;
1086}
1087
1088.partners__group img {
1089    display: block;
1090    width: 100%;
1091    max-width: 10rem;
1092    max-height: 4.5rem;
1093    filter: brightness(0) invert(1);
1094    object-fit: contain;
1095}
1096
1097.partners--reverse p {
1098    color: rgba(0, 0, 0, .72);
1099}
1100
1101.partners--reverse .partners__group li {
1102    color: var(--black);
1103}
1104
1105.partners--reverse .partners__group img {
1106    filter: brightness(0);
1107}
1108
1109@keyframes partners-marquee {
1110    to {
1111        transform: translateX(calc(-50% - (var(--partners-gap) / 2)));
1112    }
1113}
1114
1115@media (prefers-reduced-motion: reduce) {
1116    .partners__viewport {
1117        overflow: visible;
1118        -webkit-mask-image: none;
1119        mask-image: none;
1120    }
1121
1122    .partners__track {
1123        display: block;
1124        width: 100%;
1125        animation: none;
1126        transform: none;
1127    }
1128
1129    .partners__group {
1130        flex-wrap: wrap;
1131        justify-content: center;
1132    }
1133
1134    .partners__group[aria-hidden="true"] {
1135        display: none;
1136    }
1137}
1138
1139</style>
1140<div class="partners partners--reverse" aria-label="Trusted by" data-bridge-component="partners">
1141	<p>Trusted By</p>
1142	<div class="partners__viewport">
1143		<div class="partners__track">
1144			<ul class="partners__group" data-bridge-list="partners">
1145				<li><img src="https://investinopen.org/assets/images/partners/arcadia.png?v=XsGHPAaBzRtO4myK" alt="Arcadia" /></li>
1146				<li><img src="https://investinopen.org/assets/images/partners/mellon-foundation.png?v=j6VWhzr7ZisZnyG2" alt="Mellon Foundation" /></li>
1147				<li><img src="https://investinopen.org/assets/images/partners/ghent-university.png?v=znk-zfdfWkDoQpGu" alt="Ghent University" /></li>
1148				<li><img src="https://investinopen.org/assets/images/partners/alfred-p-sloan-foundation.png?v=BzWkTgGY8NtPwd3t" alt="Alfred P. Sloan Foundation" /></li>
1149				<li><img src="https://investinopen.org/assets/images/partners/open-society-foundations.png?v=864iOUBR-jP247XM" alt="Open Society Foundations" /></li>
1150				<li><img src="https://investinopen.org/assets/images/partners/wellcome-trust.png?v=bXGa0Xs5Djlaf5tA" alt="Wellcome Trust" /></li>
1151			</ul>
1152		</div>
1153	</div>
1154</div>
1155<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 1155
1155
1156<script src="https://investinopen.org/assets/js/components/partners.js?v=3KHw7Cxbg4yDwk8B" defer></script>
1156
1157<style>
1158    /* Component: impact-reports.hbs */
1159    .impact-reports {
1160        --impact-reports-gap: clamp(1rem, 2vw, 1.8rem);
1161        padding: clamp(1rem, 8vw, 7rem) var(--body-padding) clamp(1rem, 4vw, 3.75rem);
1162        background: var(--white);
1163        color: var(--black);
1164    }
1165
1166    .impact-reports[hidden] {
1167        display: none;
1168    }
1169
1170    .impact-reports__intro {
1171        max-width: 52rem;
1172        margin: 0 auto clamp(1rem, 6vw, 5rem);
1173        text-align: center;
1174    }
1175
1176    .impact-reports__title {
1177        margin: 0;
1178        font-family: var(--font2);
1179        font-size: clamp(2.8rem, 5vw, 4.4rem);
1180        font-weight: 700;
1181        line-height: 1.04;
1182        text-wrap: balance;
1183    }
1184
1185    .impact-reports__text {
1186        max-width: 45rem;
1187        margin: 1rem auto 0;
1188        font-size: clamp(1rem, 1.25vw, 1.16rem);
1189        line-height: 1.45;
1190    }
1191
1192    .impact-reports .container {
1193        container: impact-reports-carousel / inline-size;
1194        max-width: var(--container-max);
1195        margin: 0 auto;
1196    }
1197
1198    .impact-reports__viewport {
1199        overflow-x: scroll;
1200        scrollbar-width: none;
1201        -ms-overflow-style: none;
1202    }
1203
1204    .impact-reports__viewport::-webkit-scrollbar {
1205        display: none;
1206    }
1207
1208    .impact-reports__track {
1209        display: flex;
1210        flex-wrap: nowrap;
1211        gap: var(--impact-reports-gap);
1212    }
1213
1214    .impact-report-card {
1215        position: relative;
1216        display: flex;
1217        flex: 0 0 calc(50% - 0.9rem);
1218        min-width: 0;
1219        aspect-ratio: 1.55 / 1;
1220        flex-direction: column;
1221        justify-content: flex-end;
1222        overflow: hidden;
1223        border-radius: clamp(1.1rem, 1.8vw, 1.7rem);
1224        background: var(--black);
1225        color: var(--white);
1226    }
1227
1228    .impact-report-card__image,
1229    .impact-report-card__image img {
1230        position: absolute;
1231        inset: 0;
1232        width: 100%;
1233        height: 100%;
1234    }
1235
1236    .impact-report-card__image img {
1237        display: block;
1238        filter: grayscale(1) brightness(0.72);
1239        object-fit: cover;
1240    }
1241
1242    .impact-report-card::after {
1243        content: '';
1244        position: absolute;
1245        inset: 0;
1246        background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.28) 45%, transparent 82%);
1247        pointer-events: none;
1248    }
1249
1250    .impact-report-card__title {
1251        position: relative;
1252        z-index: 1;
1253        margin: 0;
1254        padding: 0 clamp(1rem, 7vw, 6rem) clamp(1rem, 2.2vw, 2rem) clamp(1rem, 2.2vw, 2rem);
1255        font-family: var(--font2);
1256        font-size: clamp(1.75rem, 3vw, 3rem);
1257        font-weight: 700;
1258        line-height: 1.08;
1259    }
1260
1261    .impact-report-card__title a {
1262        color: inherit;
1263        text-decoration: none;
1264        transition: color 0.18s ease;
1265    }
1266
1267    .impact-report-card:hover:not(:has(.impact-report-card__arrow:hover, .impact-report-card__arrow:focus-visible)) .impact-report-card__title a,
1268    .impact-report-card__title a:hover,
1269    .impact-report-card__title a:focus-visible {
1270        color: var(--yellow);
1271        text-decoration: none;
1272    }
1273
1274    .impact-report-card__arrow {
1275        position: absolute;
1276        right: clamp(1.25rem, 2vw, 1.8rem);
1277        bottom: clamp(1.25rem, 2vw, 1.8rem);
1278        z-index: 2;
1279        display: inline-flex;
1280        width: 3.25rem;
1281        height: 3.25rem;
1282        place-items: center;
1283        align-items: center;
1284        justify-content: center;
1285        flex: 0 0 3.25rem;
1286        border-radius: 50%;
1287        background: var(--yellow);
1288        color: transparent;
1289        font-size: 0;
1290        line-height: 0;
1291        text-decoration: none;
1292        transition: background-color 0.18s ease, transform 0.18s ease;
1293    }
1294
1295    .impact-report-card__arrow::after {
1296        content: '';
1297        width: 3rem;
1298        height: 3rem;
1299        margin: 0.125rem;
1300        background: var(--black);
1301        -webkit-mask: var(--button-arrow-mask) center / contain no-repeat;
1302        mask: var(--button-arrow-mask) center / contain no-repeat;
1303    }
1304
1305    .impact-report-card__arrow:hover,
1306    .impact-report-card__arrow:focus-visible {
1307        background: var(--green);
1308        transform: scale(1.08);
1309    }
1310
1311    .impact-reports__dots {
1312        display: flex;
1313        align-items: center;
1314        justify-content: center;
1315        gap: 0.55rem;
1316        margin-top: 1.35rem;
1317    }
1318
1319    .impact-reports__dot {
1320        width: 0.55rem;
1321        height: 0.55rem;
1322        padding: 0;
1323        border: 0;
1324        border-radius: 50%;
1325        background: var(--color-shade-20);
1326        cursor: pointer;
1327        transition: background-color 0.18s ease, transform 0.18s ease;
1328    }
1329
1330    .impact-reports__dot[aria-current="true"] {
1331        background: var(--green);
1332        transform: scale(1.18);
1333    }
1334
1335    @media (max-width: 680px) {
1336        .impact-reports {
1337            padding-right: var(--body-padding-mobile);
1338            padding-left: var(--body-padding-mobile);
1339        }
1340    }
1341
1342    @container impact-reports-carousel (max-width: 680px) {
1343        .impact-report-card {
1344            flex: 0 0 86cqw;
1345            aspect-ratio: auto;
1346            height: min(clamp(24rem, 105cqw, 34rem), 82vh);
1347        }
1348    }
1349
1350    @container impact-reports-carousel (max-width: 500px) {
1351        .impact-report-card__title {
1352            padding-right: 4.6rem;
1353            font-size: clamp(1.45rem, 7vw, 2rem);
1354        }
1355    }
1356</style>
1357
1358<section class="impact-reports" id="impact-reports" data-bridge-component="impact-reports">
1359    <div class="impact-reports__intro">
1360        <h2 class="impact-reports__title" data-bridge-key="title">Impact Reports</h2>
1361        <p class="impact-reports__text" data-bridge-key="text">
1361We work with funders, institutions, and infrastructure providers to make informed, strategic decisions in a complex and evolving landscape. Through research, advisory, and ecosystem insight, we provide the clarity needed to act with confidence.</p>
1362    </div>
1363    <div class="container">
1364        <div class="impact-reports__viewport">
1365            <div class="impact-reports__track">
1366                <article class="impact-report-card" data-impact-report-card data-card-index="0">
1367                    <a class="impact-report-card__image" href="/blog/what-we-achieved-together-in-2025-iois-year-in-review/" aria-hidden="true" tabindex="-1">
1368                        <img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" alt="" loading="lazy" decoding="async" data-random-impact-report-image>
1369                    </a>
1370                    <h3 class="impact-report-card__title"><a href="/blog/what-we-achieved-together-in-2025-iois-year-in-review/">What we achieved together in 2025: IOI’s year in review</a></h3>
1371                    <a class="impact-report-card__arrow" href="/blog/what-we-achieved-together-in-2025-iois-year-in-review/" aria-label="Read What we achieved together in 2025: IOI’s year in review">Read report</a>
1372                </article>
1373                <article class="impact-report-card" data-impact-report-card data-card-index="1">
1374                    <a class="impact-report-card__image" href="/blog/unveiling-iois-2024-impact-report/" aria-hidden="true" tabindex="-1">
1375                        <img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" alt="" loading="lazy" decoding="async" data-random-impact-report-image>
1376                    </a>
1377                    <h3 class="impact-report-card__title"><a href="/blog/unveiling-iois-2024-impact-report/">Unveiling IOI’s 2024 Impact Report</a></h3>
1378                    <a class="impact-report-card__arrow" href="/blog/unveiling-iois-2024-impact-report/" aria-label="Read Unveiling IOI’s 2024 Impact Report">Read report</a>
1379                </article>
1380            </div>
1381        </div>
1382        <div class="impact-reports__dots" role="tablist" aria-label="Impact report carousel navigation"></div>
1383    </div>
1384</section>
1385<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 1385
1385
1386<script src="https://investinopen.org/assets/js/components/impact-reports.js?v=JL5VJrFPxHKENXV0" defer></script>
1386
1387<style>
1388    /* Component: expertise-row.hbs */
1389    .expertise-row {
1390        padding: 2.5rem 0 2rem;
1391        overflow: hidden;
1392    }
1393
1394    .expertise-row .container {
1395        max-width: none;
1396    }
1397
1398    .expertise-row__eyebrow {
1399        margin: 0;
1400        font-family: var(--font1);
1401        font-size: 0.875rem;
1402        font-weight: 500;
1403        letter-spacing: 0;
1404        line-height: 1.2;
1405        text-align: center;
1406        text-transform: uppercase;
1407    }
1408
1409    .expertise-row__viewport {
1410        position: relative;
1411        margin-top: 1.25rem;
1412        overflow-x: auto;
1413        padding: 0 2rem;
1414        -webkit-mask-image: linear-gradient(to right, transparent 0, #000 1rem, #000 calc(100% - 1rem), transparent 100%);
1415        mask-image: linear-gradient(to right, transparent 0, #000 1rem, #000 calc(100% - 1rem), transparent 100%);
1416        scrollbar-width: none;
1417        -ms-overflow-style: none;
1418        cursor: grab;
1419        touch-action: auto;
1420        user-select: none;
1421    }
1422
1423    .expertise-row__viewport::-webkit-scrollbar {
1424        display: none;
1425    }
1426
1427    .expertise-row__viewport.is-dragging {
1428        cursor: grabbing;
1429    }
1430
1431    .expertise-row__tags {
1432        display: flex;
1433        flex-wrap: nowrap;
1434        gap: 1rem;
1435        min-width: max-content;
1436        padding: 0.125rem 0.125rem;
1437    }
1438
1439    .expertise-row__tag {
1440        display: inline-flex;
1441        align-items: center;
1442        justify-content: center;
1443        min-height: 3.5rem;
1444        padding: 0.875rem 1.875rem;
1445        border: 1.5px solid currentColor;
1446        border-radius: 999px;
1447        color: currentColor;
1448        font-size: 1rem;
1449        font-weight: 700;
1450        line-height: 1.15;
1451        text-decoration: none;
1452        white-space: nowrap;
1453    }
1454
1455    a.expertise-row__tag {
1456        transition: background 0.2s ease, color 0.2s ease;
1457    }
1458
1459    .expertise-row--light a.expertise-row__tag:hover,
1460    .expertise-row--light a.expertise-row__tag:focus-visible {
1461        background: var(--black);
1462        color: var(--white);
1463    }
1464
1465    .expertise-row--dark a.expertise-row__tag:hover,
1466    .expertise-row--dark a.expertise-row__tag:focus-visible {
1467        background: var(--white);
1468        color: var(--black);
1469    }
1470
1471    @media (max-width: 680px) {
1472        .expertise-row {
1473            padding: 2rem 0 1.75rem;
1474        }
1475
1476        .expertise-row__eyebrow {
1477            font-size: 0.75rem;
1478            letter-spacing: 0;
1479        }
1480
1481        .expertise-row__viewport {
1482            margin-top: 1rem;
1483        }
1484
1485        .expertise-row__tags {
1486            gap: 0.75rem;
1487        }
1488
1489        .expertise-row__tag {
1490            min-height: 3rem;
1491            padding: 0.75rem 1.375rem;
1492            font-size: 0.9375rem;
1493        }
1494    }
1495</style>
1496
1497<section class="expertise-row expertise-row--light bg-white text-black" data-bridge-component="expertise">
1498    <div class="container">
1499        <p class="expertise-row__eyebrow">Areas of Expertise</p>
1500        <div class="expertise-row__viewport">
1501            <div class="expertise-row__tags" data-bridge-list="expertise">
1502                <a class="expertise-row__tag" href="/our-work/?expertise=business-development#work-list">Business Development Advisory</a>
1503                <a class="expertise-row__tag" href="/our-work/?expertise=capacity-building#work-list">Capacity Building</a>
1504                <a class="expertise-row__tag" href="/our-work/?expertise=collective-funding#work-list">Collective Funding</a>
1505                <a class="expertise-row__tag" href="/our-work/?expertise=convening-facilitation#work-list">Convening / Facilitation</a>
1506                <a class="expertise-row__tag" href="/our-work/?expertise=ecosystem-intelligence#work-list">Ecosystem Intelligence</a>
1507                <a class="expertise-row__tag" href="/our-work/?expertise=fiscal-assessment-planning#work-list">Fiscal Assessment &amp; Planning</a>
1508                <a class="expertise-row__tag" href="/our-work/?expertise=fundraising-design#work-list">Fundraising Design</a>
1509                <a class="expertise-row__tag" href="/our-work/?expertise=governance-model-development#work-list">Governance Model Development</a>
1510                <a class="expertise-row__tag" href="/our-work/?expertise=landscape-analysis#work-list">Landscape Analysis</a>
1511                <a class="expertise-row__tag" href="/our-work/?expertise=strategic-planning#work-list">Strategic Planning</a>
1512            </div>
1513        </div>
1514    </div>
1515</section>
1516<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 1516
1516
1517<script src="https://investinopen.org/assets/js/components/expertise.js?v=XPNoONifZIXjaw6-" defer></script>
1517
1518<style>
1519    /* Component: cta-two-up.hbs */
1520    #cta-two-up {
1521        padding: clamp(1rem, 6vw, 5rem) var(--body-padding);
1522        background: var(--black);
1523        color: var(--white);
1524    }
1525
1526    #cta-two-up .container {
1527        width: 100%;
1528        max-width: 1280px;
1529        margin: 0 auto;
1530    }
1531
1532    #cta-two-up .two-up {
1533        display: grid;
1534        grid-template-columns: repeat(2, minmax(0, 1fr));
1535    }
1536
1537    #cta-two-up .cta-card {
1538        display: flex;
1539        min-width: 0;
1540        flex-direction: column;
1541        align-items: flex-start;
1542        padding: 0 clamp(1rem, 5vw, 4rem);
1543    }
1544
1545    #cta-two-up .cta-card:first-child {
1546        padding-left: 0;
1547        border-right: 1px solid var(--color-shade-60);
1548    }
1549
1550    #cta-two-up .cta-card:last-child {
1551        padding-right: 0;
1552    }
1553
1554    #cta-two-up h3 {
1555        margin: 0;
1556        color: var(--white);
1557        font-size: clamp(2rem, 3.2vw, 3.25rem);
1558        line-height: 1.05;
1559    }
1560
1561    #cta-two-up p {
1562        max-width: 38rem;
1563        margin: 1rem 0 0;
1564        color: rgba(255, 255, 255, 0.84);
1565        font-size: 1rem;
1566        line-height: 1.5;
1567    }
1568
1569    #cta-two-up .global-button {
1570        display: inline-flex;
1571        min-height: 3.5rem;
1572        align-items: center;
1573        justify-content: center;
1574        margin-top: 1rem;
1575        padding: 0 2rem;
1576        border: 1.5px solid var(--white);
1577        border-radius: 999px;
1578        color: var(--white);
1579        font-weight: 800;
1580        text-decoration: none;
1581        transition: background-color 150ms ease, color 150ms ease;
1582    }
1583
1584    #cta-two-up .global-button:hover,
1585    #cta-two-up .global-button:focus-visible {
1586        background: var(--yellow);
1587        border-color: var(--yellow);
1588        color: var(--black);
1589    }
1590
1591    #cta-two-up .global-button[hidden] {
1592        display: none;
1593    }
1594
1595    @media (max-width: 768px) {
1596        #cta-two-up {
1597            padding-top:2rem;
1598            padding-right: var(--body-padding-mobile);
1599            padding-left: var(--body-padding-mobile);
1600        }
1601
1602        #cta-two-up .two-up {
1603            grid-template-columns: 1fr;
1604            gap: 2.5rem;
1605        }
1606
1607        #cta-two-up .cta-card {
1608            padding: 0;
1609            padding-bottom: 1rem;
1610        }
1611
1612        #cta-two-up .cta-card:first-child {
1613            padding-bottom: 2rem;
1614            border-right: 0;
1615            border-bottom: 1px solid var(--color-shade-60);
1616        }
1617    }
1618</style>
1619<section id="cta-two-up" data-bridge-component="cta-blocks">
1620    <div class="container">
1621        <div class="two-up">
1622            <div class="cta-card" data-bridge-side="left">
1623                <h3 class="font2" data-bridge-key="left_title"></h3>
1624                <p data-bridge-key="left_text"></p>
1625                <a class="global-button" href="#" data-bridge-key="left_cta_label" data-bridge-href="left_cta_url" hidden></a>
1626            </div>
1627            <div class="cta-card" data-bridge-side="right">
1628                <h3 class="font2" data-bridge-key="right_title"></h3>
1629                <p data-bridge-key="right_text"></p>
1630                <a class="global-button" href="#" data-bridge-key="right_cta_label" data-bridge-href="right_cta_url" hidden></a>
1631            </div>
1632        </div>
1633    </div>
1634</section>
1635<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 1635
1635
1636<script src="https://investinopen.org/assets/js/components/cta-blocks.js?v=cbTqId07iBz25AFW" defer></script>
1636
1637<style>
1638    /* Component: infra-finder.hbs */
1639    #infra-finder {
1640        position: relative;
1641        overflow: hidden;
1642        padding: 0 var(--body-padding);
1643        background: var(--black);
1644        color: var(--white);
1645        text-align: center;
1646    }
1647
1648    #infra-finder .container {
1649        position: relative;
1650        z-index: 1;
1651        max-width: 1280px;
1652        margin: 0 auto;
1653    }
1654
1655    #infra-finder .infra-finder__copy {
1656        max-width: 90%;
1657        margin: 0 auto;
1658    }
1659
1660    #infra-finder h2 {
1661        margin: 0;
1662        color: var(--white);
1663        font-family: var(--font2);
1664        font-size: clamp(1.9rem, 5.2vw, 5rem);
1665        font-weight: 700;
1666        line-height: 1.08;
1667        text-wrap: balance;
1668    }
1669
1670    #infra-finder .infra-finder__text {
1671        max-width: 46rem;
1672        margin: 1.5rem auto 0;
1673        color: rgba(255, 255, 255, 0.88);
1674        font-size: clamp(1rem, 1.35vw, 1.25rem);
1675        line-height: 1.45;
1676    }
1677
1678    #infra-finder .infra-finder__actions {
1679        display: flex;
1680        flex-wrap: wrap;
1681        justify-content: center;
1682        gap: 0.75rem;
1683        margin-top: 2.25rem;
1684    }
1685
1686    #infra-finder .infra-finder__button {
1687        display: inline-flex;
1688        align-items: center;
1689        justify-content: center;
1690        min-height: 3.75rem;
1691        min-width: 11rem;
1692        padding: 0 2rem;
1693        border: 1.5px solid rgba(255, 255, 255, 0.76);
1694        border-radius: 999px;
1695        color: var(--white);
1696        font-weight: 800;
1697        text-decoration: none;
1698        transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
1699    }
1700
1701    #infra-finder .infra-finder__button--primary {
1702        gap: 0.625rem;
1703        border-color: var(--yellow);
1704        background: var(--yellow);
1705        color: var(--black);
1706    }
1707
1708    #infra-finder .infra-finder__button--primary::after {
1709        content: '';
1710        display: block;
1711        width: 1.6rem;
1712        height: 1.6rem;
1713        flex: 0 0 auto;
1714        background: url('https://investinopen.org/assets/redesign/icons/button-arrow-reverse.svg?v=b0KXAH4eXGWTyy2_') center / contain no-repeat;
1715    }
1716
1717    #infra-finder .infra-finder__button:hover,
1718    #infra-finder .infra-finder__button:focus-visible {
1719        background: var(--white);
1720        border-color: var(--white);
1721        color: var(--black);
1722    }
1723
1724    #infra-finder .infra-finder__button--primary:hover,
1725    #infra-finder .infra-finder__button--primary:focus-visible {
1726        background: var(--green);
1727        border-color: var(--green);
1728    }
1729
1730    #infra-finder .infra-finder__visual {
1731        position: relative;
1732        width: min(64rem, 100%);
1733        margin: clamp(1rem, 5vw, 4rem) auto -6px;
1734    }
1735
1736    #infra-finder .infra-finder__screenshot {
1737        display: block;
1738        width: 100%;
1739        border-radius: 2rem 2rem 0 0;
1740    }
1741
1742    #infra-finder .infra-finder__pills {
1743        position: absolute;
1744        z-index: 2;
1745        pointer-events: none;
1746    }
1747
1748    #infra-finder .infra-finder__pills--left {
1749        bottom: -0.25rem;
1750        left: clamp(-8rem, -7vw, -4rem);
1751        max-width:calc(336px * .8);
1752    }
1753
1754    #infra-finder .infra-finder__pills--right {
1755        right: clamp(-8rem, -7vw, -4rem);
1756        bottom: -0.25rem;
1757        max-width: calc(455px * .8);
1758    }
1759
1760    @media (max-width: 900px) {
1761        #infra-finder .infra-finder__pills {
1762            width: clamp(12rem, 34vw, 17rem);
1763        }
1764
1765        #infra-finder .infra-finder__pills--left {
1766            left: -4.5rem;
1767        }
1768
1769        #infra-finder .infra-finder__pills--right {
1770            right: -4.5rem;
1771        }
1772    }
1773
1774    @media (max-width: 680px) {
1775        #infra-finder {
1776            padding: var(--spacing-60) var(--body-padding-mobile) 0;
1777        }
1778
1779        #infra-finder .infra-finder__button {
1780            width: 100%;
1781            min-width: 0;
1782        }
1783
1784        #infra-finder .infra-finder__visual {
1785            width: min(42rem, 100vw);
1786            max-width: 100vw;
1787            margin-left: 50%;
1788            transform: translateX(-50%);
1789        }
1790
1791        #infra-finder .infra-finder__screenshot {
1792            border-radius: 1.25rem 1.25rem 0 0;
1793        }
1794
1795        #infra-finder .infra-finder__pills {
1796            width: 11rem;
1797        }
1798
1799        #infra-finder .infra-finder__pills--left {
1800            left: -2.5rem;
1801        }
1802
1803        #infra-finder .infra-finder__pills--right {
1804            right: -2.5rem;
1805        }
1806    }
1807</style>
1808
1809<section id="infra-finder" data-bridge-component="infra-finder">
1810    <div class="container">
1811        <div class="infra-finder__copy">
1812            <h2 data-bridge-key="title">
1812Find Open Infrastructures with IOI's Infra Finder</h2>
1813            <p class="infra-finder__text" data-bridge-key="text">Navigate the complex landscape of open infrastructure services and standards enabling open research and scholarship — verified, searchable, and free to use.</p>
1814            <div class="infra-finder__actions" data-bridge-list="actions">
1815                <a class="infra-finder__button infra-finder__button--primary" href="https://infrafinder.investinopen.org/solutions">Discover</a>
1816                <a class="infra-finder__button" href="https://investinopen.org/add-an-infrastructure-to-infra-finder/">Add Your OI</a>
1817            </div>
1818        </div>
1819
1820        <div class="infra-finder__visual" aria-hidden="true">
1821            <img class="infra-finder__screenshot" src="https://investinopen.org/assets/images/infrafinder.jpg?v=i3l-BrNY3vTVHHSx" alt="">
1822            <img class="infra-finder__pills infra-finder__pills--left" src="https://investinopen.org/assets/images/infrafinder-pills-2.png?v=PU3HjsDSlBKmgyws" alt="">
1823            <img class="infra-finder__pills infra-finder__pills--right" src="https://investinopen.org/assets/images/infrafinder-pills-1.png?v=qiVA6yBAr_hp7mdI" alt="">
1824        </div>
1825    </div>
1826</section>
1827<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 1827
1827
1828<script src="https://investinopen.org/assets/js/components/infra-finder.js?v=fCBFVC2m7WC8EENa" defer></script>
1828
1829<style>
1830    /* Component: news-updates.hbs */
1831    .news-updates {
1832        position: relative;
1833        overflow: hidden;
1834        padding: var(--spacing-70) var(--body-padding);
1835    }
1836
1837    .news-updates .container {
1838        position: relative;
1839        z-index: 1;
1840        max-width: 56rem;
1841        margin: 0 auto;
1842    }
1843
1844    .news-updates .news-updates__header {
1845        max-width: 42rem;
1846        margin: 0 auto clamp(1rem, 6vw, 5rem);
1847        text-align: center;
1848    }
1849
1850    .news-updates .news-updates__title {
1851        margin: 0;
1852        color: currentColor;
1853        font-family: var(--font2);
1854        font-size: clamp(2rem, 5vw, 5rem);
1855        font-weight: 700;
1856        line-height: 1;
1857    }
1858
1859    .news-updates .news-updates__intro {
1860        margin: 1rem 0 0;
1861        color: currentColor;
1862        font-size: clamp(1rem, 1.35vw, 1.2rem);
1863        line-height: 1.45;
1864        opacity: 0.86;
1865    }
1866
1867    .news-updates__body {
1868        position: relative;
1869    }
1870
1871    .news-updates__body::after {
1872        content: '';
1873        position: absolute;
1874        top: 0.25rem;
1875        right: max(-24vw, -22rem);
1876        width: clamp(16rem, 30vw, 29rem);
1877        height: clamp(28rem, 46vw, 44rem);
1878        background-image: url('https://investinopen.org/assets/images/arrow-large-blue.png?v=7WqakJV3PjSCMhH-');
1879        background-repeat: no-repeat;
1880        background-size: contain;
1881        opacity: 0.9;
1882        pointer-events: none;
1883    }
1884
1885    .news-updates__list {
1886        position: relative;
1887        z-index: 1;
1888        display: flex;
1889        flex-direction: column;
1890        margin: 0;
1891        padding: 0;
1892        list-style: none;
1893    }
1894
1895    .news-updates__item {
1896        padding: 0 0 2.25rem;
1897        border-bottom: 1px solid currentColor;
1898    }
1899
1900    .news-updates__item + .news-updates__item {
1901        padding-top: 2.25rem;
1902    }
1903
1904    .news-updates--light .news-updates__item {
1905        border-color: rgba(0, 0, 0, 0.18);
1906    }
1907
1908    .news-updates--dark .news-updates__item {
1909        border-color: rgba(255, 255, 255, 0.16);
1910    }
1911
1912    .news-updates__meta {
1913        margin: 0 0 0.875rem;
1914        color: currentColor;
1915        font-size: 0.875rem;
1916        font-weight: 500;
1917        line-height: 1.2;
1918        text-transform: uppercase;
1919    }
1920
1921    .news-updates__post-title {
1922        margin: 0;
1923        color: currentColor;
1924        font-family: var(--font2);
1925        font-size: clamp(1.75rem, 2.5vw, 2.625rem);
1926        font-weight: 800;
1927        line-height: 1.12;
1928    }
1929
1930    .news-updates__post-title a {
1931        color: currentColor;
1932        text-decoration: none;
1933    }
1934
1935    .news-updates__post-title a:hover,
1936    .news-updates__post-title a:focus-visible {
1937        text-decoration: underline;
1938    }
1939
1940    .news-updates--light .news-updates__post-title a:hover,
1941    .news-updates--light .news-updates__post-title a:focus-visible {
1942        color: var(--black);
1943    }
1944
1945    .news-updates--dark .news-updates__post-title a:hover,
1946    .news-updates--dark .news-updates__post-title a:focus-visible {
1947        color: var(--yellow);
1948    }
1949
1950    .news-updates__button {
1951        display: inline-flex;
1952        align-items: center;
1953        justify-content: center;
1954        gap: 0.625rem;
1955        min-height: 3.75rem;
1956        margin-top: 2.5rem;
1957        padding: 0 2rem;
1958        border-radius: 999px;
1959        font-weight: 800;
1960        text-decoration: none;
1961        transition: background 0.2s ease, color 0.2s ease;
1962    }
1963
1964    .news-updates__button::after {
1965        content: '';
1966        display: block;
1967        width: 1.55rem;
1968        height: 1.55rem;
1969        flex: 0 0 auto;
1970        background-position: center;
1971        background-repeat: no-repeat;
1972        background-size: contain;
1973    }
1974
1975    .news-updates--light .news-updates__button {
1976        background: var(--black);
1977        color: var(--white);
1978    }
1979
1980    .news-updates--light .news-updates__button::after {
1981        background-image: url('https://investinopen.org/assets/redesign/icons/button-arrow.svg?v=3ylPM9vyz-0uq8Xa');
1982    }
1983
1984    .news-updates--dark .news-updates__button {
1985        background: var(--yellow);
1986        color: var(--black);
1987    }
1988
1989    .news-updates--dark .news-updates__button::after {
1990        background-image: url('https://investinopen.org/assets/redesign/icons/button-arrow-reverse.svg?v=b0KXAH4eXGWTyy2_');
1991    }
1992
1993    .news-updates--light .news-updates__button:hover,
1994    .news-updates--light .news-updates__button:focus-visible {
1995        background: var(--yellow);
1996        color: var(--black);
1997    }
1998
1999    .news-updates--dark .news-updates__button:hover,
2000    .news-updates--dark .news-updates__button:focus-visible {
2001        background: var(--green);
2002        color: var(--black);
2003    }
2004
2005    @media (max-width: 900px) {
2006        .news-updates__body::after {
2007            right: -14rem;
2008            opacity: 0.35;
2009        }
2010    }
2011
2012    @media (max-width: 680px) {
2013        .news-updates {
2014            padding: var(--spacing-60) var(--body-padding-mobile);
2015        }
2016
2017        .news-updates__body::after {
2018            display: none;
2019        }
2020
2021        .news-updates__item {
2022            padding-bottom: 1.75rem;
2023        }
2024
2025        .news-updates__item + .news-updates__item {
2026            padding-top: 1.75rem;
2027        }
2028    }
2029</style>
2030
2031<section class="news-updates news-updates--light bg-white text-black" data-bridge-component="news-light">
2032    <div class="container">
2033        <div class="news-updates__header">
2034            <h2 class="news-updates__title" data-bridge-key="title">News &amp; Updates</h2>
2035            <p class="news-updates__intro" data-bridge-key="text">The latest from IOI — research, announcements, and events.</p>
2036        </div>
2037
2038        <div class="news-updates__body">
2039            <ul class="news-updates__list">
2040                <li class="news-updates__item">
2041                    <p class="news-updates__meta">Blog — Sep. 24, 2026</p>
2042                    <h3 class="news-updates__post-title"><a href="/blog/making-rescued-data-usable-starting-with-wildfire/">Making rescued data usable, starting with wildfire</a></h3>
2043                </li>
2044                <li class="news-updates__item">
2045                    <p class="news-updates__meta">Blog — Aug. 31, 2026</p>
2046                    <h3 class="news-updates__post-title"><a href="/blog/ioi-fund-for-network-adoption-la-referencia-6mo-en/">IOI Fund for Network Adoption: LA Referencia’s six-month progress update</a></h3>
2047                </li>
2048                <li class="news-updates__item">
2049                    <p class="news-updates__meta">Blog — Jul. 17, 2026</p>
2050                    <h3 class="news-updates__post-title"><a href="/blog/wellcome-partners-with-ioi-to-map-the-data-resources-powering-open-research/">Wellcome partners with IOI to map the data resources powering open research</a></h3>
2051                </li>
2052            </ul>
2053            <a class="news-updates__button" href="https://investinopen.org/blog" data-bridge-key="cta_label" data-bridge-href="url">See All News</a>
2054        </div>
2055    </div>
2056</section>
2057<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 2057
2057
2058<script src="https://investinopen.org/assets/js/components/news-updates.js?v=eCIPXgcaJBec4V86" defer></script>
2058
2059<style>
2060    /* Component: more-about-ioi.hbs */
2061    .more-about-ioi {
2062        padding: clamp(1rem, 9vw, 8rem) var(--body-padding);
2063        background: var(--black);
2064        color: var(--white);
2065    }
2066
2067    .more-about-ioi .container {
2068        width: 100%;
2069        max-width: 76rem;
2070        margin: 0 auto;
2071    }
2072
2073    .more-about-ioi__layout {
2074        display: grid;
2075        grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.7fr);
2076        gap: clamp(3rem, 7vw, 7rem);
2077        align-items: start;
2078    }
2079
2080    .more-about-ioi__title {
2081        margin: 0;
2082        font-family: var(--font2);
2083        font-size: clamp(1.9rem, 4.5vw, 3.25rem);
2084        font-weight: 700;
2085        line-height: 1;
2086    }
2087
2088    .more-about-ioi__body {
2089        margin: 1rem 0 0;
2090        color: rgba(255, 255, 255, 0.78);
2091        font-size: 1.05rem;
2092        line-height: 1.5;
2093    }
2094
2095    .more-about-ioi__links {
2096        display: grid;
2097        grid-template-columns: repeat(2, minmax(0, 1fr));
2098        gap: 1.25rem 2.5rem;
2099    }
2100
2101    .more-about-ioi__link {
2102        display: grid;
2103        grid-template-columns: 4.25rem minmax(0, 1fr);
2104        gap: 1rem;
2105        align-items: center;
2106        min-height: 5.25rem;
2107        padding: 0.5rem;
2108        border-radius: 0.75rem;
2109        color: var(--white);
2110        text-decoration: none;
2111        transition: background 0.2s ease, color 0.2s ease;
2112    }
2113
2114    .more-about-ioi__link:hover,
2115    .more-about-ioi__link:focus-visible {
2116        background: #252525;
2117    }
2118
2119    .more-about-ioi__icon {
2120        display: inline-flex;
2121        width: 4rem;
2122        height: 4rem;
2123        align-items: center;
2124        justify-content: center;
2125        border-radius: 0.65rem;
2126        background: #ffd99b;
2127        color: var(--black);
2128        font-size: 1.1rem;
2129        font-weight: 800;
2130    }
2131
2132    .more-about-ioi__icon img {
2133        display: block;
2134        width: 2.15rem;
2135        max-height: 2.15rem;
2136    }
2137
2138    .more-about-ioi__link-title {
2139        display: block;
2140        font-size: 1.05rem;
2141        font-weight: 800;
2142        line-height: 1.2;
2143    }
2144
2145    .more-about-ioi__link-text {
2146        display: block;
2147        margin-top: 0.3rem;
2148        color: rgba(255, 255, 255, 0.72);
2149        font-size: 0.875rem;
2150        line-height: 1.35;
2151    }
2152
2153    @media (max-width: 900px) {
2154        .more-about-ioi__layout {
2155            grid-template-columns: 1fr;
2156        }
2157    }
2158
2159    @media (max-width: 680px) {
2160        .more-about-ioi {
2161            padding-right: var(--body-padding-mobile);
2162            padding-left: var(--body-padding-mobile);
2163        }
2164
2165        .more-about-ioi__links {
2166            grid-template-columns: 1fr;
2167            gap: 0.75rem;
2168        }
2169
2170        .more-about-ioi__link {
2171            grid-template-columns: 3.5rem minmax(0, 1fr);
2172            min-height: 4.5rem;
2173            padding: 0.4rem;
2174        }
2175
2176        .more-about-ioi__icon {
2177            width: 3.25rem;
2178            height: 3.25rem;
2179        }
2180    }
2181</style>
2182
2183<section class="more-about-ioi" id="more-about-ioi" data-bridge-component="more-about-ioi">
2184    <div class="container">
2185        <div class="more-about-ioi__layout">
2186            <header>
2187                <h2 class="more-about-ioi__title" data-bridge-key="title">More About IOI</h2>
2188                <p class="more-about-ioi__body" data-bridge-key="body">Learn more about our impact, strategy, governance, funding, and the people behind our work.</p>
2189            </header>
2190
2191            <nav class="more-about-ioi__links" aria-label="More about IOI">
2192                <a class="more-about-ioi__link" href="https://investinopen.org/about/our-impact">
2193                    <span class="more-about-ioi__icon" aria-hidden="true"><img src="https://investinopen.org/assets/images/icons/impact.svg?v=QQ9--LzxegoKGEEG" alt=""></span>
2194                    <span>
2195                        <span class="more-about-ioi__link-title">Our Impact</span>
2196                        <span class="more-about-ioi__link-text">How we've influenced funding, strategy, and infrastructure outcomes</span>
2197                    </span>
2198                </a>
2199                <a class="more-about-ioi__link" href="https://investinopen.org/about/funding">
2200                    <span class="more-about-ioi__icon" aria-hidden="true"><img src="https://investinopen.org/assets/images/icons/funded.svg?v=3-JjPQ4CgTm-oydO" alt=""></span>
2201                    <span>
2202                        <span class="more-about-ioi__link-title">How We're Funded</span>
2203                        <span class="more-about-ioi__link-text">Who supports our work and how we maintain independence</span>
2204                    </span>
2205                </a>
2206                <a class="more-about-ioi__link" href="https://investinopen.org/about/strategic-plan">
2207                    <span class="more-about-ioi__icon" aria-hidden="true"><img src="https://investinopen.org/assets/images/icons/strategic-plan.svg?v=EaQWQ7p72IiR2jz4" alt=""></span>
2208                    <span>
2209                        <span class="more-about-ioi__link-title">Strategic Plan</span>
2210                        <span class="more-about-ioi__link-text">Where we're headed and how we're prioritizing the future</span>
2211                    </span>
2212                </a>
2213                <a class="more-about-ioi__link" href="https://investinopen.org/about/team">
2214                    <span class="more-about-ioi__icon" aria-hidden="true"><img src="https://investinopen.org/assets/images/icons/team.svg?v=tFjRvARNoGCbNVxQ" alt=""></span>
2215                    <span>
2216                        <span class="more-about-ioi__link-title">Our Team</span>
2217                        <span class="more-about-ioi__link-text">Meet the people behind the work</span>
2218                    </span>
2219                </a>
2220            </nav>
2221        </div>
2222    </div>
2223</section>
2224<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 2224
2224
2225<script src="https://investinopen.org/assets/js/components/more-about-ioi.js?v=6lKVe-ASpXev5y6c" defer></script>
2225
2226<style>
2227    /* Component: sign-up.hbs */
2228    #sign-up {
2229        position: relative;
2230        overflow: hidden;
2231        padding: clamp(1rem, 6vw, var(--spacing-70)) var(--body-padding);
2232        background:
2233            linear-gradient(rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.28)),
2234            url('https://investinopen.org/assets/images/editorial/1200/Figure01.jpg?v=6udFS8eYdQr-M4Yi') center / cover no-repeat;
2235        color: var(--black);
2236    }
2237
2238    #sign-up .container {
2239        max-width: 1500px;
2240        margin: 0 auto;
2241    }
2242
2243    #sign-up .sign-up-wrap {
2244        display: grid;
2245        grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 0.75fr);
2246        gap: clamp(2rem, 4vw, 4rem);
2247        align-items: start;
2248        padding: clamp(1rem, 4.5vw, 4rem) clamp(1rem, 4vw, 3.5rem);
2249        border-radius: clamp(1rem, 1rem, 2rem);
2250        background: var(--white);
2251        box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.22);
2252    }
2253
2254    #sign-up .sign-up__title {
2255        margin: 0;
2256        color: var(--black);
2257        font-family: var(--font2);
2258        font-size: clamp(2.25rem, 3.8vw, 3.75rem);
2259        font-weight: 700;
2260        line-height: 1.04;
2261        white-space: pre-line;
2262    }
2263
2264    #sign-up .sign-up__body {
2265        max-width: 35rem;
2266        margin: 0;
2267        color: var(--black);
2268        font-size: clamp(1.05rem, 1.5vw, 1.25rem);
2269        line-height: 1.45;
2270    }
2271
2272    #sign-up .sign-up__action {
2273        align-self: start;
2274        padding-top: 0.35rem;
2275    }
2276
2277    #sign-up .sign-up__trusted {
2278        grid-column: 1 / -1;
2279        margin-top: clamp(1rem, 1.5vw, 1.25rem);
2280        padding-top: 0.85rem;
2281        border-top: 1px solid rgba(0, 0, 0, 0.22);
2282    }
2283
2284    #sign-up .sign-up__trusted-label {
2285        margin: 0 0 0.9rem;
2286        color: var(--color-shade-60);
2287        font-size: 0.875rem;
2288        font-weight: 500;
2289        line-height: 1.2;
2290        text-transform: uppercase;
2291    }
2292
2293    #sign-up .sign-up__logos {
2294        display: flex;
2295        flex-wrap: wrap;
2296        gap: clamp(0.85rem, 1.8vw, 1.6rem);
2297        align-items: center;
2298        justify-content: center;
2299        margin: 0;
2300        padding: 0;
2301        list-style: none;
2302    }
2303
2304    #sign-up .sign-up__logos li {
2305        display: grid;
2306        flex: 0 1 calc((100% - (3 * clamp(0.85rem, 1.8vw, 1.6rem))) / 4);
2307        min-width: 0;
2308        place-items: center;
2309    }
2310
2311    #sign-up .sign-up__logos img {
2312        display: block;
2313        width: auto;
2314        max-width: min(100%, 11.5rem);
2315        max-height: 4.5rem;
2316        filter: grayscale(1);
2317        object-fit: contain;
2318    }
2319
2320    #sign-up .sign-up__logos img[alt="Ghent University"] {
2321        max-width: min(100%, 6rem);
2322    }
2323
2324    #sign-up .sign-up__logos img[alt="Arcadia"] {
2325        max-height: 2rem;
2326    }
2327
2328    #sign-up .sign-up__logos img[alt="Open Society Foundations"] {
2329        max-height: 2.25rem;
2330    }
2331
2332    #sign-up .sign-up-form {
2333        display: grid;
2334        gap: 1.125rem;
2335    }
2336
2337    #sign-up .sign-up-form__field {
2338        display: grid;
2339        gap: 0.5rem;
2340        text-align: left;
2341    }
2342
2343    #sign-up .sign-up-form__label {
2344        color: var(--black);
2345        font-size: 1rem;
2346        font-weight: 500;
2347        line-height: 1.2;
2348    }
2349
2350    #sign-up .sign-up-form__optional {
2351        color: var(--color-shade-60);
2352        font-size: 0.875rem;
2353        font-weight: 400;
2354    }
2355
2356    #sign-up .sign-up-form input {
2357        width: 100%;
2358        min-height: 3.25rem;
2359        padding: 0 1rem;
2360        border: 1.5px solid var(--black);
2361        border-radius: 0.25rem;
2362        background: var(--white);
2363        color: var(--black);
2364        font: inherit;
2365    }
2366
2367    #sign-up .sign-up-form input::placeholder {
2368        color: var(--color-shade-40);
2369    }
2370
2371    #sign-up .sign-up-form input:focus {
2372        outline: 3px solid rgba(131, 254, 209, 0.8);
2373        outline-offset: 2px;
2374    }
2375
2376    #sign-up .sign-up-form__button {
2377        display: inline-flex;
2378        align-items: center;
2379        justify-content: center;
2380        justify-self: start;
2381        min-height: 3.75rem;
2382        margin-top: 1rem;
2383        padding: 0 2.25rem;
2384        border: 0;
2385        border-radius: 999px;
2386        background: var(--yellow);
2387        color: var(--black);
2388        font: inherit;
2389        font-weight: 800;
2390        cursor: pointer;
2391        line-height: 1;
2392        text-decoration: none;
2393        transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
2394    }
2395
2396    #sign-up .sign-up-form__button:hover,
2397    #sign-up .sign-up-form__button:focus-visible {
2398        background: var(--green);
2399        color: var(--black);
2400        transform: translateY(-1px);
2401    }
2402
2403    @media (max-width: 900px) {
2404        #sign-up .sign-up-wrap {
2405            grid-template-columns: 1fr;
2406            gap: var(--spacing-40);
2407        }
2408
2409        #sign-up .sign-up__body {
2410            max-width: none;
2411        }
2412
2413        #sign-up .sign-up__trusted {
2414            margin-top: 0;
2415        }
2416    }
2417
2418    @media (max-width: 680px) {
2419        #sign-up {
2420            padding: var(--spacing-60) var(--body-padding-mobile);
2421        }
2422
2423        #sign-up .sign-up-wrap {
2424            padding: 2rem 1.25rem;
2425            border-radius: 1.25rem;
2426        }
2427
2428        #sign-up .sign-up__logos {
2429            gap: 1rem;
2430        }
2431
2432        #sign-up .sign-up__logos li {
2433            flex-basis: calc((100% - 1rem) / 2);
2434        }
2435
2436        #sign-up .sign-up__logos img {
2437            max-width: 90%;
2438            max-height: 4.5rem;
2439        }
2440
2441        #sign-up .sign-up-form__button {
2442            width: 100%;
2443        }
2444    }
2445</style>
2446
2447<section id="sign-up" data-bridge-component="sign-up">
2448    <div class="container">
2449        <div class="sign-up-wrap">
2450            <div class="sign-up__copy">
2451                <h2 class="sign-up__title" data-bridge-key="title">Stay Connected. Sign Up for Updates.</h2>
2452            </div>
2453
2454            <div class="sign-up__action">
2455                <p class="sign-up__body" data-bridge-key="body">The latest research, funding opportunities, events, and news from the open infrastructure community — delivered to your inbox.</p>
2456                <a class="sign-up-form__button" href="https://share.investinopen.org/newsletter">Subscribe</a>
2457            </div>
2458
2459            <div class="sign-up__trusted" aria-label="Trusted by">
2460                <p class="sign-up__trusted-label">Trusted By</p>
2461                <ul class="sign-up__logos" data-partner-group="Sustaining Circle Members">
2462                    <li><img src="https://investinopen.org/assets/images/partners/mellon-foundation.png?v=j6VWhzr7ZisZnyG2" alt="Mellon Foundation" loading="lazy" decoding="async"></li>
2463                    <li><img src="https://investinopen.org/assets/images/partners/ghent-university.png?v=znk-zfdfWkDoQpGu" alt="Ghent University" loading="lazy" decoding="async"></li>
2464                    <li><img src="https://investinopen.org/assets/images/partners/alfred-p-sloan-foundation.png?v=BzWkTgGY8NtPwd3t" alt="Alfred P. Sloan Foundation" loading="lazy" decoding="async"></li>
2465                    <li><img src="https://investinopen.org/assets/images/partners/arcadia.png?v=XsGHPAaBzRtO4myK" alt="Arcadia" loading="lazy" decoding="async"></li>
2466                    <li><img src="https://investinopen.org/assets/images/partners/open-society-foundations.png?v=864iOUBR-jP247XM" alt="Open Society Foundations" loading="lazy" decoding="async"></li>
2467                    <li><img src="https://investinopen.org/assets/images/partners/wellcome-trust.png?v=bXGa0Xs5Djlaf5tA" alt="Wellcome Trust" loading="lazy" decoding="async"></li>
2468                </ul>
2469            </div>
2470
2471            <form class="sign-up-form" action="#" method="post" style="display:none;">
2472                <label class="sign-up-form__field">
2473                    <span class="sign-up-form__label">Name</span>
2474                    <input type="text" name="name" autocomplete="name" placeholder="Enter your full name">
2475                </label>
2476
2477                <label class="sign-up-form__field">
2478                    <span class="sign-up-form__label">Email</span>
2479                    <input type="email" name="email" autocomplete="email" placeholder="Enter your email address" required>
2480                </label>
2481
2482                <label class="sign-up-form__field">
2483                    <span class="sign-up-form__label">Company <span class="sign-up-form__optional">(Optional)</span></span>
2484                    <input type="text" name="company" autocomplete="organization" placeholder="Enter your company name">
2485                </label>
2486
2487                <button class="sign-up-form__button" type="submit">Sign Up</button>
2488            </form>
2489        </div>
2490    </div>
2491</section>
2492<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 2492
2492
2493<script src="https://investinopen.org/assets/js/components/sign-up.js?v=r9bbB62pbqgeTLwQ" defer></script>
2493
2494
2495				</main>
2496				<style>
2497	/* Component: footer.hbs */
2498	.footer-section {
2499		background: var(--black);
2500		color: var(--white);
2501		padding: clamp(1rem, 8vw, 7rem) 0 clamp(1rem, 4vw, 3rem);
2502		position: relative;
2503		z-index: 2;
2504	}
2505
2506	.footer-section .container {
2507		width: min(100% - (var(--hs) * 2), 90rem);
2508		margin: 0 auto;
2509	}
2510
2511	.footer-wrap {
2512		display: grid;
2513		grid-template-columns: minmax(18rem, 0.9fr) minmax(28rem, 1.6fr);
2514		gap: clamp(3rem, 8vw, 8rem);
2515		align-items: start;
2516		padding: 0;
2517	}
2518
2519	.footer-brand {
2520		display: flex;
2521		flex-direction: column;
2522		align-items: flex-start;
2523		gap: clamp(1.5rem, 3vw, 2.25rem);
2524	}
2525
2526	.footer-logo {
2527		display: inline-flex;
2528		border: 0;
2529	}
2530
2531	.footer-logo img {
2532		display: block;
2533		width: clamp(13rem, 18vw, 17.5rem);
2534		max-width: 100%;
2535	}
2536
2537	.footer-description {
2538		width: 25rem;
2539		max-width:90vw;
2540		margin: 0;
2541		color: rgba(255, 255, 255, 0.82);
2542		font-size: clamp(1.05rem, 1.4vw, 1.35rem);
2543		line-height: 1.35;
2544	}
2545
2546	.footer-social {
2547		display: flex;
2548		flex-wrap: wrap;
2549		gap: 0.75rem;
2550		list-style: none;
2551		margin: 0;
2552		padding: 0;
2553	}
2554
2555	.footer-section .footer-social li {
2556		padding: 0;
2557		line-height: 1;
2558	}
2559
2560	.footer-section .footer-social a {
2561		display: inline-flex;
2562		align-items: center;
2563		justify-content: center;
2564		width: 3rem;
2565		height: 3rem;
2566		margin: 0;
2567		padding: 0;
2568		border: 0;
2569		box-shadow: none;
2570		border-radius: 999px;
2571		background: var(--yellow);
2572		color: var(--black);
2573		font-size: 1rem;
2574		font-weight: 700;
2575		line-height: 1;
2576		text-decoration: none;
2577		transition: transform 180ms ease, background-color 180ms ease;
2578	}
2579
2580	.footer-section .footer-social a:hover,
2581	.footer-section .footer-social a:focus-visible {
2582		background: var(--white);
2583		color: var(--black);
2584		text-decoration: none;
2585		transform: translateY(-2px);
2586	}
2587
2588	.footer-section .footer-social svg {
2589		display: block;
2590		width: 1.15rem;
2591		height: 1.15rem;
2592		flex: 0 0 auto;
2593		fill: currentColor;
2594	}
2595
2596	.footer-section .footer-social [aria-label="Mastodon"] svg {
2597		width: 1.2rem;
2598		height: 1.2rem;
2599		transform: translateY(0.02rem);
2600	}
2601
2602	.footer-section .footer-social [aria-label="Email IOI"] svg {
2603		width: 1.3rem;
2604		height: 1.3rem;
2605		fill: none;
2606		stroke: currentColor;
2607		stroke-width: 2.2;
2608		stroke-linecap: round;
2609		stroke-linejoin: round;
2610	}
2611
2612	.footer-nav {
2613		display: grid;
2614		grid-template-columns: repeat(3, minmax(0, 1fr));
2615		gap: clamp(2rem, 4vw, 4rem);
2616		min-width: 0;
2617	}
2618
2619	.footer-section .footer-nav__heading {
2620		margin: 0 0 1.35rem;
2621		color: var(--yellow);
2622		font-family: var(--font1);
2623		font-size: 0.74rem;
2624		font-weight: 700;
2625		letter-spacing: 0.16em;
2626		line-height: 1.2;
2627		text-transform: uppercase;
2628	}
2629
2630	.footer-section .footer-nav ul,
2631	.footer-bottom__links {
2632		list-style: none;
2633		margin: 0;
2634		padding: 0;
2635		columns: initial;
2636	}
2637
2638	.footer-section .footer-nav li,
2639	.footer-bottom__links li {
2640		padding: 0;
2641		line-height: 1.3;
2642	}
2643
2644	.footer-section .footer-nav li + li {
2645		margin-top: 0.72rem;
2646	}
2647
2648	.footer-section .footer-nav a {
2649		color: rgba(255, 255, 255, 0.88);
2650		font-size: 1rem;
2651		text-decoration: none;
2652		text-underline-offset: 0.18em;
2653		transition: color 160ms ease, text-decoration-color 160ms ease;
2654	}
2655
2656	.footer-section .footer-nav a:hover,
2657	.footer-section .footer-nav a:focus-visible,
2658	.footer-bottom__links a:hover,
2659	.footer-bottom__links a:focus-visible {
2660		color: var(--yellow);
2661		text-decoration: underline;
2662		text-decoration-thickness: 0.16em;
2663	}
2664
2665	.footer-bottom {
2666		display: flex;
2667		justify-content: space-between;
2668		gap: 2rem;
2669		align-items: center;
2670		margin-top: clamp(1rem, 7vw, 6rem);
2671		padding-top: clamp(1rem, 3vw, 2rem);
2672		border-top: 1px solid rgba(255, 255, 255, 0.2);
2673		color: rgba(255, 255, 255, 0.72);
2674		font-size: 0.9rem;
2675	}
2676
2677	.footer-bottom p {
2678		margin: 0;
2679	}
2680
2681	.footer-bottom__links {
2682		display: flex;
2683		flex-wrap: wrap;
2684		justify-content: flex-end;
2685		gap: 0.75rem 1.5rem;
2686	}
2687
2688	.footer-bottom__links a {
2689		color: rgba(255, 255, 255, 0.72);
2690		font-size: 0.9rem;
2691		text-decoration: none;
2692	}
2693
2694	.footer-social__bluesky {
2695		width: 1.25rem;
2696		height: 1.25rem;
2697		fill: currentColor;
2698	}
2699
2700	@media (max-width: 980px) {
2701		.footer-wrap {
2702			grid-template-columns: 1fr;
2703		}
2704
2705		.footer-nav {
2706			grid-template-columns: repeat(2, minmax(0, 1fr));
2707		}
2708	}
2709
2710	@media (max-width: 640px) {
2711		.footer-section {
2712			padding-top: 3.5rem;
2713		}
2714
2715		.footer-nav {
2716			grid-template-columns: 1fr;
2717		}
2718
2719		.footer-bottom {
2720			align-items: flex-start;
2721			flex-direction: column;
2722		}
2723
2724		.footer-bottom__links {
2725			justify-content: flex-start;
2726		}
2727	}
2728</style>
2729
2730<footer class="footer-section global-footer" data-bridge-component="footer-navigation">
2731	<div class="container">
2732		<div class="footer-wrap">
2733			<div class="footer-brand">
2734				<a href="https://investinopen.org" class="footer-logo" aria-label="Invest in Open Infrastru
2734cture">
2735					<img src="https://investinopen.org/assets/redesign/ioi-logo-light.svg?v=aPDREsOFQT_bjLxP" alt="Invest in Open Infrastructure" />
2736				</a>
2737
2738				<p class="footer-description">Helping you invest in the open technology that research relies on.</p>
2739
2740				<ul class="footer-social" aria-label="Social links">
2741					<li>
2742						<a href="https://www.linkedin.com/company/invest-in-open" aria-label="LinkedIn" target="_blank" rel="noopener">
2743							<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>						</a>
2744					</li>
2745					<li>
2746						<a href="https://indieweb.social/@investinopen" aria-label="Mastodon" target="_blank" rel="noopener me">
2747							<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z"/></svg>						</a>
2748					</li>
2749					<li>
2750						<a href="https://bsky.app/profile/investinopen.bsky.social" aria-label="Bluesky" target="_blank" rel="noopener">
2751							<svg class="footer-social__bluesky" aria-hidden="true" viewBox="0 0 24 24">
2752								<path d="M6.08 4.06c2.39 1.8 4.95 5.44 5.92 7.4.97-1.96 3.53-5.6 5.92-7.4 1.72-1.3 4.5-2.3 4.5.9 0 .64-.37 5.37-.59 6.13-.76 2.57-3.53 3.23-6 2.83 4.31.73 5.41 3.15 3.04 5.57-4.5 4.58-6.47-1.15-6.97-2.62-.09-.27-.14-.4-.14-.29 0-.11-.05.02-.14.29-.5 1.47-2.47 7.2-6.97 2.62-2.37-2.42-1.27-4.84 3.04-5.57-2.47.4-5.24-.26-6-2.83-.22-.76-.59-5.49-.59-6.13 0-3.2 2.78-2.2 4.5-.9Z" />
2753							</svg>
2754						</a>
2755					</li>
2756					<li>
2757						<a href="mailto:[email protected]" aria-label="Email IOI">
2758							<svg aria-hidden="true" viewBox="0 0 24 24">
2759								<path d="M4.75 6.75h14.5v10.5H4.75z" />
2760								<path d="m5.25 7.25 6.75 5.25 6.75-5.25" />
2761							</svg>
2762						</a>
2763					</li>
2764				</ul>
2765			</div>
2766
2767			<nav class="footer-nav" aria-label="Footer navigation">
2768				<section class="footer-nav__column" aria-labelledby="footer-about-heading">
2769					<h2 class="footer-nav__heading" id="footer-about-heading">About IOI</h2>
2770					<ul data-footer-section-list="About IOI">
2771						<li><a href="https://investinopen.org/about/team">Meet the IOI Team</a></li>
2772						<li><a href="https://investinopen.org/about/governance">Governance</a></li>
2773						<li><a href="https://investinopen.org/about/our-impact">Impact</a></li>
2774						<li><a href="https://investinopen.org/about/funding">Funding Source</a></li>
2775						<li><a href="https://investinopen.org/about/strategic-plan/2024-2027">Strategic Plan</a></li>
2776						<li><a href="https://investinopen.org/contact-us">Get In Touch</a></li>
2777					</ul>
2778				</section>
2779
2780				<section class="footer-nav__column" aria-labelledby="footer-approach-heading">
2781					<h2 class="footer-nav__heading" id="footer-approach-heading">IOI’s Approach</h2>
2782					<ul data-footer-section-list="IOI’s Approach">
2783						<li><a href="https://investinopen.org/our-approach">Overview</a></li>
2784						<li><a href="https://investinopen.org/our-approach/strategic-consulting">Consultation Services</a></li>
2785						<li><a href="https://investinopen.org/our-approach/coordinated-funding">Coordinated Funding</a></li>
2786					</ul>
2787				</section>
2788
2789				<section class="footer-nav__column" aria-labelledby="footer-work-heading">
2790					<h2 class="footer-nav__heading" id="footer-work-heading">IOI’s Work</h2>
2791					<ul data-footer-section-list="IOI’s Work">
2792						<li><a href="https://investinopen.org/news-and-updates">News &amp; Updates</a></li>
2793						<li><a href="https://investinopen.org/our-work/case-studies">Case Studies</a></li>
2794						<li><a href="https://investinopen.org/our-work/resources-toolkits">Research &amp; Data</a></li>
2795						<li><a href="https://infrafinder.investinopen.org">Infra Finder</a></li>
2796					</ul>
2797				</section>
2798			</nav>
2799		</div>
2800
2801		<div class="footer-bottom">
2802			<p>&copy; <span data-current-year></span>
2802 Invest in Open Infrastructure. Licensed under CC BY 4.0.</p>
2803			<ul class="footer-bottom__links" data-footer-section-list="Footer">
2804				<li><a href="https://investinopen.org/privacy-policy">Privacy Policy</a></li>
2805				<li><a href="https://investinopen.org/cookie-policy">Cookie Policy</a></li>
2806				<li><a href="https://investinopen.org/terms-and-conditions">Terms &amp; Conditions</a></li>
2807				<li><a href="https://investinopen.org/code-of-conduct">Code of Conduct</a></li>
2808			</ul>
2809		</div>
2810	</div>
2811</footer>
2812
2813<script>
2814	(function () {
2815		var year = String(new Date().getFullYear());
2816		document.querySelectorAll('[data-current-year]').forEach(function (element) {
2817			element.textContent = year;
2818		});
2819	}());
2820</script>
vendor: 1 bytes, line 2820
2820
2821<script src="https://investinopen.org/assets/js/ghost-bridge.js?v=BSBKhC97qo8g73xw" defer></script>
vendor: 1 bytes, line 2821
2821
2822<script src="https://investinopen.org/assets/js/components/footer.js?v=PqKh7SYPgKGzj0xa" defer></script>
2822
2823			</div>
2824		</div>
2825
2826		
2827
2828		<div id="notifications" class="global-notification">
2829	<div class="subscribe">You’ve successfully subscribed to Invest in Open Infrastructure</div>
2830	<div class="signin">Welcome back! You’ve successfully signed in.</div>
2831	<div class="signup">Great! You’ve successfully signed up.</div>
2832	<div class="expired">Your link has expired</div>
2833	<div class="checkout-success">Success! Check your email for magic link to sign-in.</div>
2834</div>
2835		<div id="search-section" class="search-section">
2836	<span id="search-close" class="search-close"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8.242L20.242 0 24 3.76 15.758 12 24 20.242 20.242 24 12 15.758 3.759 24 0 20.242 8.242 12 0 3.759 3.76 0 12 8.242z"/></svg></span>
2837	<div id="search-content" class="search-content">
2838		<form class="search-form" onsubmit="return false">
2839			<input id="search-input" type="text" placeholder="Type your keywords">
2840			<div class="search-meta">
2841				<span id="search-info">Please enter at least 3 characters</span>
2842				<span id="search-counter" class="is-hide">
2843					<span id="search-counter-results">0</span>
2844				Results for your search</span>
2845			</div>
2846		</form>
2847		<div id="search-results" class="search-results"></div>
2848	</div>
2849	<div id="search-overlay" class="search-overlay"></div>
2850</div>
2851
2852		
2852<script src="https://investinopen.org/assets/js/post.js?v=YvwZhR_FLtv1EChr"></script>
2852
2853		
2853<script>
2854const searchPublished = 'Published',
2855	  searchUrl = 'https://investinopen.org',
2856	  searchKeys = ['ba43b71e44245de024eb9b8d99', 'd0807ab30cf2e3d242c1dc67f6', '1fe55cbf656c748094e63a1689'],
2857	  searchKey = searchKeys[0],
2858	  searchAPI = searchUrl+'/ghost/api/v3/content/posts/?key='+searchKey+'&limit=all&formats=plaintext&fields=url,title,published_at,excerpt,plaintext,visibility';
2859</script>
2859
2860
2861		
2861<script>
2862!function(){"use strict";const p=new URLSearchParams(window.location.search),isAction=p.has("action"),isStripe=p.has("stripe"),success=p.get("success"),action=p.get("action"),stripe=p.get("stripe"),n=document.getElementById("notifications"),a="is-subscribe",b="is-signin",c="is-signup",d="is-expired",e="is-checkout-success";p&&(isAction&&(action=="subscribe"&&success=="true"&&n.classList.add(a),action=="signin"&&success=="true"&&n.classList.add(b),action=="signup"&&success=="true"&&n.classList.add(c),success=="false"&&n.classList.add(d)),isStripe&&stripe=="success"&&n.classList.add(e),(isAction||isStripe)&&setTimeout(function(){window.history.replaceState(null,null,window.location.pathname),n.classList.remove(a,b,c,d,e)},5000))}();
2863</script>
2863
2864
2865		
2866		
2866<script src="https://cdn.popupsmart.com/bundle.js" data-id="871881" async defer></script>
2866
2867	</body>
2868</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.