/* Foundation Impact: shared Eyivo components, styled for public-purpose organisations. */
.foundation-impact { --ink: #172346; --muted: #566078; --paper: #faf9f4; --surface: #fff; --surface-2: #eef1ff; --line: #dce0eb; --accent: var(--public-accent, var(--theme-accent, #263dec)); --accent-2: var(--brand-secondary, var(--theme-secondary, #eac94c)); --on-accent: var(--public-accent-ink, #fff); --radius: 1.25rem; --display: ui-sans-serif, system-ui, sans-serif; --body: ui-sans-serif, system-ui, sans-serif; --max: 78rem; background: var(--paper); color: var(--ink); }
.foundation-impact .shell { width: min(var(--max), calc(100% - 3rem)); margin-inline: auto; }
.foundation-impact :is(h1,h2,h3) { font-family: var(--display); font-style: normal; letter-spacing: -.045em; text-wrap: balance; }
.foundation-impact h2 { font-size: clamp(2rem,4vw,3.4rem); line-height: 1.08; }
.foundation-impact p { line-height: 1.75; }
.foundation-impact .button { background: var(--accent); color: white; border: 1px solid transparent; border-radius: 99rem; padding: 1rem 1.5rem; font-weight: 650; }
.foundation-impact .button:hover { background: #1e2fba; transform: translateY(-2px); }
.foundation-impact .text-link { color: var(--accent); font-weight: 650; }
.foundation-impact :is(a,button,summary,input,textarea,select):focus-visible { outline: 3px solid #c57500; outline-offset: 4px; }
.foundation-notice { background: var(--accent); color: var(--on-accent); font-size: .75rem; padding-block: .65rem; }
.foundation-notice .shell { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.foundation-notice a { color: white; text-decoration: underline; text-underline-offset: .2em; }
.foundation-header { background: var(--paper); border-bottom: 1px solid var(--line); }
.foundation-masthead { display: flex; align-items: center; gap: 1.5rem; min-height: 6rem; }
.foundation-brand { display: flex; align-items: center; gap: .8rem; color: var(--ink); font-size: 1.3rem; font-weight: 750; letter-spacing: -.04em; }
.foundation-symbol { display: inline-grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: var(--accent-2); color: #172346; font-size: 2rem; line-height: 1; }
.foundation-header-cta { margin-inline-start: auto; }
.foundation-languages { display: flex; gap: .65rem; flex-wrap: wrap; font-size: .75rem; }
.foundation-nav { display: flex; flex-wrap: wrap; gap: .6rem 1.65rem; padding-block: 1rem; border-top: 1px solid var(--line); }
.foundation-nav a { color: var(--muted); font-size: .85rem; font-weight: 600; }
.foundation-nav a[aria-current], .foundation-nav a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: .35rem; }
.foundation-mobile-nav { display: none; }
.foundation-impact .hero-component { padding-block: clamp(3rem,6vw,6rem); background: var(--paper); }
.foundation-impact .hero-component-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 3.5rem; }
.foundation-impact .hero-copy { padding: 0; }
.foundation-impact .hero-component h1 { font-size: clamp(3.2rem,5.7vw,5.8rem); line-height: .99; font-weight: 750; max-width: 12ch; color: var(--ink); }
.foundation-impact .eyebrow { color: #334acc; font-family: var(--body); font-size: .72rem; font-weight: 700; letter-spacing: .13em; margin-bottom: 1.3rem; }
.foundation-impact .hero-summary { color: var(--muted); max-width: 43ch; font-size: 1.05rem; margin-block: 1.7rem 2rem; }
.foundation-impact .hero-component figure { position: relative; margin: 0; aspect-ratio: 1/1.04; border-radius: 48% 48% 1.7rem 1.7rem; overflow: hidden; background: #d8dff2; }
.foundation-impact .hero-component figure img { width: 100%; height: 100%; object-fit: cover; }
.foundation-impact .hero-component figcaption { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; padding: .8rem 1rem; border-radius: 1rem; background: #fffffff0; color: #172346; font-size: .65rem; }
.foundation-impact .section { padding-block: clamp(3.5rem,6vw,6rem); }
.foundation-impact .section-heading { align-items: end; margin-bottom: 2.5rem; gap: 2rem; }
.foundation-impact .section-heading p { color: var(--muted); }
.foundation-impact .section:has(.project-grid) { background: #eff2ff; border-block: 1px solid var(--line); }
.foundation-impact .project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.foundation-impact .project-grid > a:nth-child(n) { grid-column: auto; border: 1px solid var(--line); border-radius: 1.4rem; overflow: hidden; background: #fff; }
.foundation-impact .project-grid > a > div { padding: 1.5rem; }
.foundation-impact .project-grid figure { border-radius: 0; }
.foundation-impact .hero-component figure { height: auto; min-height: 0; }
.foundation-impact :is(.project-grid,.native-card-grid) { gap: 1.4rem; }
.foundation-impact :is(.project-card,.native-card) { border-radius: 1.4rem; overflow: hidden; background: #fff; border: 1px solid var(--line); }
.foundation-impact .project-grid article { border-radius: 1.4rem; overflow: hidden; background: #fff; padding-bottom: 1.5rem; }
.foundation-impact .project-grid article > :not(img):not(figure) { margin-inline: 1.4rem; }
.foundation-impact .project-grid img { aspect-ratio: 4/3; object-fit: cover; }
.foundation-impact .image-text-grid { gap: 4rem; align-items: center; }
.foundation-impact .image-text figure { border-radius: 1.4rem; overflow: hidden; }
.foundation-impact .image-text figure img { aspect-ratio: 5/4; object-fit: cover; width: 100%; }
.foundation-impact .image-text-copy h2 { white-space: pre-line; max-width: 15ch; }
.foundation-impact .image-text-copy p:not(.eyebrow) { color: var(--muted); margin-block: 1.5rem; }
.foundation-impact .event-section { background: #fff; }
.foundation-impact .event-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.4rem; }
.foundation-impact .event-card { border: 1px solid var(--line); border-radius: 1.25rem; overflow: hidden; background: var(--paper); }
.foundation-impact .event-card-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.foundation-impact .event-card-content { padding: 1.5rem; }
.foundation-impact .event-card-meta { display: flex; gap: .5rem; flex-wrap: wrap; font-size: .65rem; margin-bottom: 1rem; }
.foundation-impact .event-card-date { color: #334acc; }
.foundation-impact .event-card-category { background: #efe6b5; color: #4c4213; padding: .15rem .5rem; border-radius: 1rem; }
.foundation-impact .event-card h3 { font-size: 1.5rem; line-height: 1.2; }
.foundation-impact .event-card p { color: var(--muted); margin-top: .7rem; font-size: .9rem; }
.foundation-impact .event-card-link { display: inline-block; margin-top: 1.3rem; color: var(--accent); font-weight: 650; font-size: .85rem; }
.foundation-impact .cta-section { background: var(--accent); color: var(--on-accent); margin: 1.5rem; border-radius: 2rem; }
.foundation-impact .cta-section :is(h2,p,.eyebrow) { color: white; }
.foundation-impact .cta-section .button { background: #fff; color: #1e2fba; }
.foundation-impact .cta-section h2 { max-width: 17ch; }
.foundation-impact .feature-grid article, .foundation-impact .team-grid article { background: #fff; border: 1px solid var(--line); border-radius: 1rem; padding: 1.5rem; }
.foundation-impact .stats-section { background: #f3eabb; color: #192548; }
.foundation-impact .stats-section :is(h2, .stats-grid span) { color: #192548; }
.foundation-impact .stats-section :is(.eyebrow, .stats-grid small) { color: #4d5669; }
.foundation-impact .stats-grid article { border-inline-start-color: #b6ad80; }
.foundation-impact .stats-grid strong { color: #263dec; }
.foundation-impact .inner-hero { display: block; padding-block: clamp(1.5rem,2.5vw,2rem); min-height: 0; background: #eff2ff; color: var(--ink); }
.foundation-impact .inner-hero h1 { font-size: clamp(2.125rem,4vw,3.5rem); line-height: 1.14; max-width: 20ch; overflow-wrap: anywhere; }
.foundation-impact .inner-hero > .hero-content { display: block; min-height: 0; padding-block: 0; }
.foundation-impact .inner-hero .breadcrumbs { padding: 0; margin: 0 0 1rem; line-height: 1.6; }
.foundation-impact .inner-hero .eyebrow { margin-bottom: .5rem; }
.foundation-impact .inner-hero .hero-summary { margin: 1rem 0 0; font-size: 1rem; max-width: 55ch; }
.foundation-impact .inner-hero:not(.has-image) > .hero-shade { display: none; }
.foundation-impact .inner-hero.has-image { isolation: isolate; padding-block: clamp(3rem,6vw,5rem); background: var(--ink); color: #fff; }
.foundation-impact .inner-hero.has-image > .hero-backdrop { z-index: 0; }
.foundation-impact .inner-hero.has-image > .hero-shade { display: block; z-index: 1; background: linear-gradient(90deg,rgb(15 27 61 / .88),rgb(15 27 61 / .76) 60%,rgb(15 27 61 / .65)); }
.foundation-impact .inner-hero.has-image > .hero-content { position: relative; z-index: 2; }
.foundation-impact .inner-hero.has-image h1 { font-size: clamp(2.25rem,4.5vw,4rem); }
.foundation-impact .inner-hero.has-image :is(h1,.eyebrow,.hero-summary,.breadcrumbs,.breadcrumbs a,.breadcrumbs span) { color: #fff; }
.foundation-impact .inner-hero.has-image .breadcrumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: .25em; }
.foundation-impact .inner-hero.has-image a:focus-visible { outline-color: #fff; }
[dir="rtl"] .foundation-impact .inner-hero.has-image > .hero-shade { background: linear-gradient(270deg,rgb(15 27 61 / .88),rgb(15 27 61 / .76) 60%,rgb(15 27 61 / .65)); }
.foundation-impact .lead-form-section { background: var(--paper); }
.foundation-impact .lead-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.foundation-impact .lead-form legend { font-size: .9rem; font-weight: 650; margin-bottom: .7rem; }
.foundation-impact .lead-form button[type="button"] { border: 1px solid var(--line); border-radius: .5rem; background: var(--surface-2); padding: .55rem .85rem; color: var(--ink); cursor: pointer; }
.foundation-impact .lead-form :is(input,textarea) { padding: .75rem; }
.foundation-impact .breadcrumbs { margin-bottom: 1.3rem; color: var(--muted); }
.foundation-impact .lead-form { background: #fff; border: 1px solid var(--line); border-radius: 1.5rem; padding: 2rem; }
.foundation-impact .lead-form :is(input,textarea,select) { border: 1px solid #9ba5bb; border-radius: .6rem; background: #fff; color: var(--ink); }
.foundation-impact .form-error { color: #a32620; }
.foundation-footer { background: #eff2ff; padding-block: 4rem 1.5rem; margin-top: 2rem; }
.foundation-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; }
.foundation-footer h2 { font-size: 2.2rem; max-width: 18ch; margin-block: 1.2rem; }
.foundation-footer p { color: var(--muted); font-size: .85rem; max-width: 42ch; }
.foundation-footer h3 { font-size: .9rem; margin-bottom: 1.3rem; }
.foundation-footer nav a { display: block; color: var(--muted); margin-block: .75rem; font-size: .85rem; }
.foundation-footer-bottom { display: flex; justify-content: space-between; border-top: 1px solid #c9d0e4; padding-top: 1.5rem; font-size: .75rem; }
@media (max-width: 991px) {
 .foundation-impact .hero-component-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
 .foundation-impact .hero-component h1 { font-size: 3.3rem; }
 .foundation-nav { display: none; }
 .foundation-mobile-nav { display: block; padding-block: .75rem; border-top: 1px solid var(--line); }
 .foundation-mobile-nav summary { display: flex; justify-content: space-between; cursor: pointer; font-weight: 650; }
 .foundation-mobile-nav nav { display: grid; gap: 1rem; padding-block: 1.2rem; }
 .foundation-impact .event-list { grid-template-columns: 1fr; }
 .foundation-footer-top { grid-template-columns: 2fr 1fr; }
}
@media (max-width: 640px) {
 .foundation-impact .project-grid { grid-template-columns: 1fr; }
 .foundation-impact .shell { width: calc(100% - 2rem); }
 .foundation-masthead { min-height: 5rem; gap: .6rem; flex-wrap: wrap; padding-block: .8rem; }
 .foundation-brand { font-size: 1rem; }
 .foundation-header-cta { padding: .65rem .8rem !important; font-size: .7rem; }
 .foundation-notice .shell { font-size: .6rem; gap: .5rem; }
 .foundation-impact .hero-component-grid { grid-template-columns: 1fr; gap: 2.5rem; }
 .foundation-impact .hero-component h1 { font-size: clamp(3rem,12vw,4.2rem); }
 .foundation-impact .hero-component figure { max-height: 27rem; }
 .foundation-impact .image-text-grid { grid-template-columns: 1fr; gap: 2rem; }
 .foundation-impact .cta-section { margin: .7rem; border-radius: 1.25rem; }
 .foundation-footer-top { grid-template-columns: 1fr; gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) { .foundation-impact *, .foundation-impact *::before, .foundation-impact *::after { scroll-behavior: auto; transition: none; animation: none; } }

/* The immersive appeal uses the whole photograph, without the arch or caption. */
.foundation-impact .hero-component.hero-immersive.has-image { position:relative; isolation:isolate; overflow:hidden; padding:0; min-height:clamp(34rem,78svh,56rem); background:#172346; color:#fff; }
.foundation-impact .hero-component.hero-immersive.has-image .hero-component-grid { display:flex; position:static; z-index:auto; min-height:inherit; align-items:center; padding-block:clamp(4rem,8vw,7rem); }
.foundation-impact .hero-component.hero-immersive.has-image .hero-copy { position:relative; z-index:1; min-width:0; width:100%; max-width:58rem; }
.foundation-impact .hero-component.hero-immersive.has-image figure { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; min-height:0; max-height:none; aspect-ratio:auto; margin:0; border-radius:0; box-shadow:none; background:transparent; }
.foundation-impact .hero-component.hero-immersive.has-image figure img { width:100%; height:100%; object-fit:cover; }
.foundation-impact .hero-component.hero-immersive.has-image figcaption { display:none; }
.foundation-impact .hero-component.hero-immersive.has-image::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgb(15 27 61 / .92),rgb(15 27 61 / .8) 60%,rgb(15 27 61 / .67)); }
.foundation-impact .hero-component.hero-immersive.has-image :is(h1,.eyebrow,.hero-summary,.text-link,.text-link span) { color:#fff; }
.foundation-impact .hero-component.hero-immersive.has-image h1 { overflow-wrap:anywhere; }
.foundation-impact .hero-component.hero-immersive.has-image .button-row { flex-wrap:wrap; }
.foundation-impact .hero-component.hero-immersive.has-image .button { background:#eac94c; border-color:#eac94c; color:#172346; }
.foundation-impact .hero-component.hero-immersive.has-image .button:hover { background:#f2da7d; }
.foundation-impact .hero-component.hero-immersive.has-image :is(.button,.text-link):focus-visible { outline:3px solid #fff; outline-offset:5px; }
/* eyivo:faq presentation */
.foundation-impact .faq-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(13rem,.75fr) minmax(0,1.25fr)}
.foundation-impact .faq-list{border:0;display:grid;gap:.8rem}
.foundation-impact .faq-list details{background:var(--surface);border:0;border-inline-start:.55rem solid var(--accent);border-radius:.35rem;box-shadow:0 10px 30px rgb(40 30 20 / .06);padding:1rem 1.15rem}
.foundation-impact .faq-list summary{cursor:pointer;display:flex;font-weight:700;gap:1rem;list-style:none}
.foundation-impact .faq-list summary::-webkit-details-marker{display:none}
.foundation-impact .faq-list summary span{color:var(--accent);margin-inline-start:auto}
.foundation-impact .faq-list details[open]{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
.foundation-impact .faq-list details[open] summary span{transform:rotate(45deg)}
.foundation-impact .faq-list details p{margin:.55rem 0 0}
@media(max-width:720px){.foundation-impact .faq-layout{grid-template-columns:1fr}}

/* Parent and child navigation uses the same underline as ordinary links. */
:root .foundation-impact .foundation-header .eyivo-navigation-item.eyivo-navigation-parent,
:root .foundation-impact .foundation-header .eyivo-navigation-item.eyivo-navigation-parent:hover,
:root .foundation-impact .foundation-header .eyivo-navigation-item.eyivo-navigation-parent:focus-within,
:root .foundation-impact .foundation-header .eyivo-navigation-item.eyivo-navigation-parent:has(>details[open]),
:root .foundation-impact .foundation-header .eyivo-navigation-item.eyivo-navigation-parent:has(>a[aria-current]){gap:.25rem;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted)}
:root .foundation-impact .foundation-header .eyivo-navigation-parent>a{padding:0;min-height:32px;display:inline-flex;align-items:center;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:.85rem;font-weight:600;line-height:1.5}
:root .foundation-impact .foundation-header .eyivo-navigation-parent:is(:hover,:focus-within)>a,
:root .foundation-impact .foundation-header .eyivo-navigation-parent>a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:.35rem}
:root .foundation-impact .foundation-header .eyivo-navigation-dropdown>summary{width:28px;min-width:28px;height:32px;min-height:32px;padding:.3rem;border:0;border-radius:0;background:transparent;color:var(--muted)}
:root .foundation-impact .foundation-header .eyivo-navigation-parent:is(:hover,:focus-within,:has(>a[aria-current]))>.eyivo-navigation-dropdown>summary{color:var(--accent);background:transparent}
:root .foundation-impact .foundation-header .eyivo-navigation-submenu{padding:.6rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);color:var(--muted);box-shadow:0 12px 32px #17234618}
:root .foundation-impact .foundation-header .eyivo-navigation-submenu>a{min-height:44px;padding:.7rem .8rem;border-radius:.35rem;background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;line-height:1.5}
:root .foundation-impact .foundation-header .eyivo-navigation-submenu>a:is(:hover,:focus-visible,[aria-current]){background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:.35rem}
.foundation-impact .foundation-nav>.eyivo-navigation-item>a{display:inline-flex;align-items:center;min-height:32px;line-height:1.5}.foundation-impact .foundation-nav{align-items:center}.foundation-impact .foundation-mobile-nav nav>.eyivo-navigation-item>a{min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:.9rem;font-weight:600}.foundation-impact .foundation-mobile-nav nav>.eyivo-navigation-item>a:is(:hover,[aria-current]){color:var(--accent);text-decoration:underline;text-underline-offset:.35rem}
:root .foundation-impact .foundation-mobile-nav .eyivo-navigation-item.eyivo-navigation-parent{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%}:root .foundation-impact .foundation-mobile-nav .eyivo-navigation-parent>a{min-height:44px;font-size:.9rem}:root .foundation-impact .foundation-mobile-nav .eyivo-navigation-dropdown{display:contents}:root .foundation-impact .foundation-mobile-nav .eyivo-navigation-dropdown>summary{grid-column:2;min-height:44px;min-width:36px}:root .foundation-impact .foundation-mobile-nav .eyivo-navigation-submenu{position:static;grid-column:1/-1;min-width:0;width:auto;max-width:100%;margin-block:.2rem .5rem;padding:.2rem 0 .2rem .75rem;border:0;border-inline-start:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
/* Native resource pages retain the foundation's blue and warm-paper treatment. */
.foundation-impact .foundation-page .product-hero{padding-block:clamp(3rem,6vw,5.5rem);background:var(--surface-2)}.foundation-impact .foundation-page .product-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}.foundation-impact .foundation-page .product-hero h1{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.12;overflow-wrap:anywhere}.foundation-impact .product-hero .foundation-product-cover{padding:.65rem;border:1px solid var(--line);border-radius:1.5rem;background:#fff}.foundation-impact .product-hero .foundation-product-cover img{width:100%;height:clamp(20rem,34vw,32rem);max-height:none;border-radius:1rem;object-fit:cover;object-position:center}.foundation-impact .prose>div>p+p{margin-top:1.25rem}.foundation-impact .prose>div :is(ul,ol){margin-block:1.25rem;padding-inline-start:1.5rem}.foundation-impact .prose>div :is(h3,h4){margin-block:1.5rem 1rem}.foundation-impact .prose>div blockquote{margin-block:1.5rem;padding-inline-start:1.25rem;border-inline-start:3px solid var(--accent)}.foundation-impact .prose>div a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.foundation-impact .native-card-grid .native-card{display:flex;flex-direction:column;min-width:0}.foundation-impact .native-card img{width:100%;height:clamp(13rem,23vw,21rem);object-fit:cover;object-position:center}.foundation-impact .native-card>div{padding:1.5rem}.foundation-impact .native-card h2{font-size:1.5rem;line-height:1.25}.foundation-impact .native-card b{display:inline-flex;gap:.75rem;margin-top:1rem;color:var(--accent);font-size:.8rem}.foundation-impact .gallery-grid figcaption{gap:.4rem}.foundation-impact .gallery-grid figcaption strong{font-size:1.05rem}.foundation-impact .gallery-grid figcaption span{font-size:.9rem;color:var(--muted)}.foundation-impact .video-card{overflow:hidden;padding:1.5rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface)}.foundation-impact .video-card h2{font-size:1.5rem;margin-top:1.25rem}.foundation-impact .video-card p{font-size:.9rem;margin-top:.75rem}.foundation-impact .video-placeholder{min-height:15rem;background:var(--surface-2);color:var(--accent);border-radius:1rem}.foundation-impact .contact-details>div:last-child>p{display:grid;gap:.5rem;margin-top:1.25rem;color:var(--ink)}.foundation-impact .contact-details>div:last-child>p>span{font-size:.75rem;color:var(--muted);font-weight:650}.foundation-impact .contact-details a{color:var(--accent);overflow-wrap:anywhere}
@media(max-width:720px){.foundation-impact .foundation-page .product-hero-grid{grid-template-columns:minmax(0,1fr)}.foundation-impact .product-hero .foundation-product-cover img{height:clamp(19rem,85vw,29rem)}.foundation-impact .contact-details{grid-template-columns:minmax(0,1fr);gap:2rem}}
