/* Generated by iCMS build-assets. Do not edit this file directly. */

/* Source: css/public-content.css */
/* Site-owned public layouts. Keep application and administration styles scoped out. */
/* Public content typography. */
.icms-public, .icms-public-main { font-size: 12pt; }
.icms-public-main h3 { font-size: 1.5rem; line-height: 1.4; }
.icms-public-main h4 { font-size: 1.25rem; line-height: 1.4; }

/* Opaque heading panels preserve contrast across photographs and colour modes. */
.icms-public-main h2.banner,
.icms-public-main h3.banner-description {
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  margin-inline: auto;
  padding: 1rem;
  background: #fff;
  color: #173e37;
  box-shadow: 0 .2rem .8rem #0003;
  overflow-wrap: anywhere;
}
.icms-public-main h2.banner { font-size: clamp(1.4rem, 3vw, 2.25rem); line-height: 1.3; }
.icms-public-main h3.banner-description { font-size: clamp(1rem, 1.8vw, 1.25rem); line-height: 1.5; }
.icms-public-main h3.banner-description:empty { display: none; }

.ecounity-public {
  --ecounity-space: clamp(1.25rem, 4vw, 3rem);
  max-width: 78rem;
  margin-inline: auto;
  background: var(--surface, #fff);
  color: var(--on-surface, #25352d);
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 .5rem 2rem #153b2114;
}
.ecounity-public h1 { font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.18; }
.ecounity-public h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.3; }
.ecounity-public h3 { font-size: 1.0625rem; line-height: 1.45; }
.ecounity-public p { line-height: 1.75; margin-block: 0 1.1rem; }
.ecounity-public a { overflow-wrap: anywhere; }
.ecounity-public a:focus-visible, .ecounity-footer a:focus-visible { outline: 3px solid var(--primary, #39714a); outline-offset: 4px; }
.ecounity-public img { max-width: 100%; height: auto; }
.ecounity-welcome, .ecounity-section, .ecounity-prose { padding: var(--ecounity-space); }
.ecounity-wordmark { display: block; width: min(26rem, 80%); margin: 1rem auto 3rem; }
.ecounity-intro { display: grid; grid-template-columns: minmax(0, 2.5fr) minmax(14rem, 1fr); gap: var(--ecounity-space); align-items: start; }
.ecounity-intro h1 { margin-top: 0; }
.ecounity-connect { display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; border: 1px solid var(--outline-variant, #dce7dc); border-radius: 1rem; }
.ecounity-connect .button { margin: 0; justify-content: center; }
.ecounity-social { text-decoration: underline; text-align: center; }
.ecounity-page-heading > div { padding: var(--ecounity-space); }
.ecounity-page-heading h1 { margin-block: 0 1rem; }
.ecounity-page-heading p { max-width: 55rem; margin: 0; }
.ecounity-page-image { display: block; width: 100%; max-height: 25rem; object-fit: cover; }
.ecounity-page-heading + .ecounity-prose { padding-top: 0; }
.ecounity-prose { max-width: 65rem; margin-inline: auto; }
.ecounity-prose .button, .ecounity-connect .button { height: auto; min-height: 2.75rem; padding-block: .65rem; white-space: normal; line-height: 1.4; }
.ecounity-prose .button p { margin: 0; }
.ecounity-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.ecounity-result-card { display: block; color: inherit; text-decoration: none; border: 1px solid var(--outline-variant, #dce7dc); border-radius: .8rem; overflow: hidden; transition: box-shadow .15s ease; }
.ecounity-result-card:hover { box-shadow: 0 .4rem 1.3rem #153b2124; }
.ecounity-result-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.ecounity-result-card h3 { margin: 0; padding: 1.2rem; }
.ecounity-section + .ecounity-section, .ecounity-availability { border-top: 1px solid var(--outline-variant, #dce7dc); }
.ecounity-partner-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; align-items: center; }
.ecounity-partner-logos a { display: flex; aspect-ratio: 4 / 3; align-items: center; background: #fff; padding: .75rem; border-radius: .6rem; }
.ecounity-partner-logos img { width: 100%; max-height: 10rem; object-fit: contain; }
.ecounity-public > .partners-module, .ecounity-public > .search-module { padding: var(--ecounity-space); }
.ecounity-footer { background: var(--surface, #fff); color: var(--on-surface, #25352d); margin-top: 3rem; border-top: 1px solid var(--outline-variant, #dce7dc); }
.ecounity-footer-inner { max-width: 78rem; margin: auto; padding: 2.5rem clamp(1.25rem, 4vw, 3rem); }
.ecounity-disclaimer { max-width: 65rem; font-size: .9rem; line-height: 1.7; }
.ecounity-disclaimer img { width: min(19rem, 100%); height: auto; }
.ecounity-footer-links { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-block: 1.5rem; }
.ecounity-footer-links a { text-decoration: underline; }
.ecounity-footer-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; background: #fff; border-radius: .6rem; padding: 1.5rem; }
.ecounity-footer-logos img { width: 100%; height: 5rem; object-fit: contain; }
.ecounity-project-code { margin-top: 1.5rem; font-size: .85rem; }
@media (max-width: 70rem) {
  .icms-public > header .m.l { display: none !important; }
  .icms-public > header button.s { display: inline-flex !important; }
}
@media (max-width: 28rem) { .icms-public > header > nav > a > span { display: none; } }
@media (max-width: 60rem) {
  .ecounity-intro { grid-template-columns: minmax(0, 1fr); }
  .ecounity-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ecounity-partner-logos, .ecounity-footer-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 38rem) {
  .ecounity-public { border-radius: .6rem; }
  .ecounity-cards { grid-template-columns: minmax(0, 1fr); }
  .ecounity-partner-logos, .ecounity-footer-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .ecounity-result-card { transition: none; } }

/* A single CMS banner, with clear space around both unaltered brand marks. */
.ecounity-hero { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 14rem minmax(0, 1fr) 15rem; align-items: center; gap: 2rem; padding: 2rem var(--ecounity-space); background: linear-gradient(125deg, #e4f4ec 0%, #f4fae7 58%, #e6f4fa 100%); color: #173e37; }
.ecounity-hero::before, .ecounity-hero::after { content: ""; position: absolute; z-index: -1; pointer-events: none; border-radius: 100% 0 100% 0; }
.ecounity-hero::before { width: 22rem; height: 11rem; left: -8rem; bottom: -5rem; background: #8bc19926; transform: rotate(-20deg); }
.ecounity-hero::after { width: 18rem; height: 9rem; right: 15%; top: -6rem; background: #eabd4b26; transform: rotate(30deg); }
.ecounity-hero .ecounity-hero-project { display: block; width: auto; height: 13rem; margin: auto; }
.ecounity-hero .ecounity-hero-funder { display: block; width: 100%; height: auto; }
.ecounity-hero h1 { margin: .5rem 0 0; font-weight: 650; }
.ecounity-hero-programme { display: block; font-size: .9rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #386d58; }
.ecounity-landing-main { padding: var(--ecounity-space); align-items: start; }
.ecounity-landing-main > * { min-width: 0; }
.ecounity-landing .ecounity-welcome { padding: 0; }
.ecounity-landing-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.ecounity-landing-sidebar iframe { max-width: 100%; }
.ecounity-footer .partners-logo-strip { display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(.4rem, 2.5vw, 1.5rem); max-width: 46rem; margin: 1.5rem auto; }
.ecounity-footer .partners-logo-strip > a { flex: 1 1 0; min-width: 0; margin: 0; }
.ecounity-footer .partners-logo-strip img { display: block; width: 100%; height: clamp(2rem, 7vw, 5.75rem); object-fit: contain; }
@media (max-width: 62rem) {
  .ecounity-hero { grid-template-columns: 11rem minmax(0, 1fr) 12rem; gap: 1rem; }
  .ecounity-hero .ecounity-hero-project { height: 10.25rem; }
}
@media (max-width: 45rem) {
  .ecounity-hero { grid-template-columns: minmax(0, 1fr) minmax(8.75rem, 1fr); gap: .5rem 1.5rem; padding-block: 1.75rem 1rem; }
  .ecounity-hero-copy { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .ecounity-hero .ecounity-hero-project { height: 7.5rem; }
  .ecounity-hero .ecounity-hero-funder { max-width: 8.75rem; margin: auto; }
}

/* Let the native full-width banner meet the fixed site header. */
.icms-page-content:has(> .helperblocks-headerbanner--full-width),
.icms-page-content:has(.ecounity-hero.icms-full-width-element) { padding-top: 0; }
.icms-public > header > nav > .max > .m.l > button,
.icms-public > header > nav > .max > .m.l > a,
.icms-public > header > nav > .max > .m.l menu a,
.icms-public #mobile-drawer > .padding a { font-size: 1rem; }
@media (max-width: 699px) {
  .icms-public-main .helperblocks-headerbanner--full-width { min-height: min(var(--helperblocks-headerbanner-height, 560px), 65svh); background-attachment: scroll !important; }
}
@media (prefers-reduced-motion: reduce) {
  .icms-public-main .helperblocks-headerbanner--full-width { background-attachment: scroll !important; }
}

/* Keep the landing banner's editable brand marks aligned to the content width. */
.ecounity-hero.icms-full-width-element {
  --ecounity-space: clamp(1.25rem, 4vw, 3rem);
  padding-inline: max(var(--ecounity-space), calc((100vw - 70rem) / 2));
  background-attachment: fixed;
}
.ecounity-hero h1 { font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.18; }
.ecounity-hero img { max-width: 100%; }
@media (max-width: 699px), (prefers-reduced-motion: reduce) {
  .ecounity-hero.icms-full-width-element { background-attachment: scroll; }
}
