@charset "UTF-8";
:root {
  --return-symbol: " ↺";
  --color-text-primary: #182038;
  --color-text-inverse: #fff;
  --color-text-accent: #0f668c;
  --color-text-heading: #8f3863;
  --color-text-heading-md: #35488b;
  --color-text-heading-small: #64649d;
  --color-hover-primary: #831b55;
  --color-hover-accent: #0f668c;
  --color-border: #831b55;
  --color-cards-text: #76408f;
  --color-bg-gradient-start: #871251;
  --color-bg-gradient-end: #1d8cab;
  --color-bg-hover: #831b55;
  --font-family-primary: "Editor", sans-serif;
  --font-family-seconday: "Gudea", sans-serif;
  --fw-light: 200;
  --fw-book: 300;
  --fw-medium: 500;
  /* Text Sizes - Mobile & Tablet */
  --text-base: 1.7rem;
  --text-base-plus: 2.1rem;
  --text-sm: 1.6rem;
  --text-md: 2.3rem;
  --text-lg: 2.3rem;
  --text-xl: 3.5rem;
  --text-xxl: 3.5rem;
  --text-btn: 1.6rem;
  --section-gap-md: 4rem;
  --section-gap-lg: 6rem;
  --section-gap-xl: 8rem;
  --mobile-width-sm: 66%;
  --mobile-width-md: 75%;
  --mobile-width-lg: 90%;
  --gradient-primary: linear-gradient(90deg, #1d8cab 0%, #871251 100%);
  --gradient-inverse: linear-gradient(90deg, #871251 0%, #1d8cab 100%);
}

@media (min-width: 1025px) {
  :root {
    --text-base: clamp(1.1rem, 1.116vw + -0.043rem, 2.1rem);
    --text-sm: clamp(1.1rem, 0.23043rem + 0.86957vw, 2rem);
    --text-base-plus: clamp(1.2rem, 0.33043rem + 0.86957vw, 2.2rem);
    --text-lg: clamp(2rem, 2.009vw + -0.057rem, 3.8rem);
    --text-btn: clamp(1.2rem, 1.004vw + 0.171rem, 2.1rem);
    --text-md: clamp(1.8rem, 1.897vw + -0.143rem, 3.5rem);
    --text-xl: clamp(3.1rem, 3.24vw + -0.221rem, 6rem);
    --text-xxl: clamp(4rem, 3.906vw + 0rem, 7.5rem);
    --section-gap-md: 8rem;
    --section-gap-lg: 12rem;
    --section-gap-xl: 16rem;
  }
}
/********************************************** FONTS **************************************/
.text-base {
  font-size: var(--text-base);
  line-height: 1.4;
}

.text-base-plus {
  font-size: var(--text-base-plus);
}

.text-sm {
  font-size: var(--text-sm);
}

.text-md {
  font-size: var(--text-md);
}

.text-lg {
  font-size: var(--text-lg);
}

.text-xl {
  font-size: var(--text-xxl);
}

.stat-number {
  font-size: clamp(5rem, 4.464vw + 0.429rem, 9rem);
}
@media (max-width: 1024px) {
  .stat-number {
    font-size: 3.5rem;
  }
}

.home-page--title.page--title {
  font-size: clamp(5rem, 5.58vw - 0.714rem, 10rem);
}
@media (max-width: 1024px) {
  .home-page--title.page--title {
    font-size: 4.7rem;
  }
}

.stats-title {
  color: var(--color-text-inverse);
  font-weight: 500;
  font-size: clamp(2.8rem, 0.01739rem + 3.64583vw, 7rem);
}
@media (max-width: 1024px) {
  .stats-title {
    font-size: 3.5rem;
  }
}

.team-grid--title {
  font-size: 3rem;
}
@media (min-width: 1025px) {
  .team-grid--title {
    font-size: clamp(2.4rem, 0.08696rem + 3.125vw, 6rem);
  }
}

.integrative-overview--image-label {
  font-size: clamp(1.2rem, 0.13043rem + 1.30435vw, 2.7rem);
}
@media (max-width: 1024px) {
  .integrative-overview--image-label {
    font-size: 1.7rem;
  }
}

.activity__section-title h2 {
  font-size: clamp(3rem, 2.793vw + 0.137rem, 5.5rem);
}
@media (max-width: 1024px) {
  .activity__section-title h2 {
    font-size: 3.3rem;
  }
}

/********************************************** UTILITIES AND GENERAL **************************************/
body {
  max-width: 1920px;
  font-family: var(--font-family-primary);
  font-weight: 300;
  color: var(--color-text-primary);
  overflow-x: hidden;
  margin: 0 auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--color-text-accent) !important;
  outline-offset: 3px;
  border-radius: 2px;
}

.activity--nav-link:focus-visible,
.btn-primary:focus-visible,
.resource__filter-btn:focus-visible {
  outline: 3px solid var(--color-text-accent) !important;
  outline-offset: 4px !important;
  border-radius: 2px;
}

[data-resource-type=article].resource__card--wrapper:has(a:focus-visible),
.research__card:focus-visible {
  outline: 3px solid var(--color-text-accent) !important;
  outline-offset: 8px;
  border-radius: 2px;
}

.member-card:focus-visible {
  outline: 3px solid var(--color-text-accent) !important;
  outline-offset: 3px;
  border-radius: 2px;
}

input,
textarea {
  outline: none;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
img:focus:not(:focus-visible) {
  outline: none !important;
}

.team--image-container {
  -webkit-tap-highlight-color: transparent;
}

.member-dialogue--close {
  -webkit-tap-highlight-color: transparent;
}

form input:not([type=checkbox]):focus-visible {
  border-bottom-width: 2px;
}

input,
textarea,
select,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

input:focus,
textarea:focus,
select:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

form input[type=checkbox]:focus-visible {
  outline: solid 1px #fff !important;
  outline-offset: 0px;
}

input[type=checkbox] {
  outline-offset: 0px;
}

input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 17px;
  height: 17px;
  border: 1px solid var(--color-text-inverse);
  background-color: transparent;
  cursor: pointer;
  position: relative;
}

input[type=checkbox]:checked {
  background-color: #fff;
}

input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 0px;
  width: 5px;
  height: 10px;
  border: solid var(--color-text-primary);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

li {
  list-style-type: none;
}

ul,
ol,
li {
  margin: 0;
  padding: 0;
}

p,
span {
  text-wrap: pretty;
}

h3 {
  font-weight: var(--fw-medium);
  text-wrap: balance;
}

/**************** TODO - REMOVE? *********************/
/**************** END TODO - REMOVE? *********************/
main {
  display: flex;
  flex-direction: column;
}

@media (max-width: 1024px) {
  a,
  button,
  a:active,
  button:active {
    -webkit-tap-highlight-color: transparent;
  }
}

.underline-style {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}

@media (max-width: 1024px) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .hide-desktop {
    display: none !important;
  }
}

.z-2 {
  z-index: 2;
}

.text-eng {
  direction: ltr;
}

.btn-primary,
form button {
  padding: 0.15em 1.4em;
  font-size: var(--text-btn);
  color: var(--color-text-heading);
  background: transparent;
}
@media (max-width: 1024px) {
  .btn-primary,
  form button {
    padding: 0.1em 1em;
  }
}

.btn-outline,
form button {
  border: 1px solid var(--color-border);
  width: max-content;
  border-radius: 0 0 0 1rem;
  box-shadow: 1px 1px 3px 0 rgba(24, 32, 56, 0.5);
}

.bg-gradient-primary {
  background: var(--gradient-primary);
}

.bg-gradient-inverse {
  background: var(--gradient-inverse);
}

@media (min-width: 1025px) {
  .width-desk-wide {
    max-width: 80%;
    margin: 0 auto;
  }
}

@media (min-width: 1025px) {
  .width-desk-medium {
    max-width: 77.5%;
    padding-inline-start: 10%;
  }
}

.section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1024px) {
  .section-header {
    max-width: var(--mobile-width-sm);
    margin: 0 auto;
    gap: 1rem;
  }
}
@media (min-width: 1025px) {
  .section-header {
    gap: 1.5rem;
  }
}

.page--title {
  font-size: var(--text-xxl);
  color: var(--color-text-heading);
  font-weight: var(--fw-medium);
  line-height: 0.9;
  text-wrap: balance;
  margin-bottom: 1rem;
}

.page--title-md {
  font-size: var(--text-xl);
  font-weight: 500;
  color: var(--color-text-heading);
}
@media (max-width: 1024px) {
  .page--title-md {
    line-height: 1;
  }
}

.section--title {
  font-size: var(--text-xxl);
  color: var(--color-text-heading);
  font-weight: var(--fw-medium);
  text-wrap: balance;
}

.subheading {
  font-size: var(--text-lg);
  color: var(--color-text-heading-md);
  line-height: 1.2;
  font-weight: 200;
  text-wrap: balance;
}

.text-block--title {
  font-size: var(--text-md);
  color: var(--color-text-accent);
  line-height: 1;
  font-weight: 500;
}

.border-wave {
  max-width: 28%;
}
@media (max-width: 767px) {
  .border-wave {
    max-width: 70%;
  }
}

::selection {
  background-color: var(--color-hover-accent);
  color: var(--color-text-inverse);
}

::-moz-selection {
  background-color: var(--color-hover-accent);
  color: var(--color-text-inverse);
}

/***************** HOVER SETTING ******************/
.integrative-image--filter:active::after {
  opacity: 0;
}
.integrative-image--filter:active img {
  filter: grayscale(0);
}

@media (hover: hover) and (min-width: 1025px) {
  .integrative-image--filter:hover::after {
    opacity: 0;
  }
  .integrative-image--filter:hover img {
    filter: grayscale(0);
  }
}
.home__integrated--icon-card:active h3 {
  color: var(--color-hover-primary);
}
.home__integrated--icon-card:active .icon-bg path {
  fill: #64649d;
  fill-opacity: 1;
}
.home__integrated--icon-card:active .icon-path path {
  fill: #fff;
}

@media (hover: hover) and (min-width: 1025px) {
  .home__integrated--icon-card:hover h3 {
    color: var(--color-hover-primary);
  }
  .home__integrated--icon-card:hover .icon-bg path {
    fill: #64649d;
    fill-opacity: 1;
  }
  .home__integrated--icon-card:hover .icon-path path {
    fill: #fff;
  }
}
.nav-item__link:active,
.nav-item__submenu-link:active,
.download-doc--link:active, .contact-form label a:active, .bottom-philantropy--content a:active, .philantropy-doc--content a:active {
  color: var(--color-hover-accent);
}

@media (hover: hover) and (min-width: 1025px) {
  .nav-item__link:hover,
  .nav-item__submenu-link:hover,
  .download-doc--link:hover, .contact-form label a:hover, .bottom-philantropy--content a:hover, .philantropy-doc--content a:hover {
    color: var(--color-hover-accent);
  }
}
.footer-nav-link:active,
.legal__text a:active, .research__text a:active, .research__source--link:active, .footer-credits a:active, .philantropy-cta--title:active {
  color: var(--color-hover-primary);
}

@media (hover: hover) and (min-width: 1025px) {
  .footer-nav-link:hover,
  .legal__text a:hover, .research__text a:hover, .research__source--link:hover, .footer-credits a:hover, .philantropy-cta--title:hover {
    color: var(--color-hover-primary);
  }
}
.btn-primary:active,
form button:active, .activity--nav-item:active {
  color: var(--color-text-inverse);
  background: var(--color-bg-hover);
}

@media (hover: hover) and (min-width: 1025px) {
  .btn-primary:hover,
  form button:hover, .activity--nav-item:hover {
    color: var(--color-text-inverse);
    background: var(--color-bg-hover);
  }
}
.activity--nav-item:active {
  color: #fff;
  background: var(--color-bg-hover);
}

@media (hover: hover) and (min-width: 1025px) {
  .activity--nav-item:hover {
    color: #fff;
    background: var(--color-bg-hover);
  }
}
@media (hover: hover) and (min-width: 1025px) {
  .resource__filter-btn:not(.filter-active):hover, .resource__filter-btn:not(.filter-active):active {
    color: var(--color-text-heading);
    background: #DAB0CF;
    border-color: #DAB0CF;
  }
}
.research__card:active .research__card--title {
  color: var(--color-hover-accent);
}
.research__card:active .research__card--icon path {
  fill: var(--color-hover-accent);
}

@media (hover: hover) and (min-width: 1025px) {
  .research__card:hover .research__card--title {
    color: var(--color-hover-accent);
  }
  .research__card:hover .research__card--icon path {
    fill: var(--color-hover-accent);
  }
}
.article__card:active .article__card--content {
  color: var(--color-hover-accent);
}
.article__card:active .article__card--image::after {
  opacity: 0;
}
.article__card:active .article__card--image img {
  filter: grayscale(0);
}

@media (hover: hover) and (min-width: 1025px) {
  .article__card:hover .article__card--content {
    color: var(--color-hover-accent);
  }
  .article__card:hover .article__card--image::after {
    opacity: 0;
  }
  .article__card:hover .article__card--image img {
    filter: grayscale(0);
  }
}
/********************************************** BG - WAVE **************************************/
.integrative--bg {
  top: -5%;
  transform: scale(0.9);
  transform-origin: right;
}

.model--bg {
  position: absolute;
  width: 100%;
}
@media (max-width: 1024px) {
  .model--bg {
    top: 0;
  }
}
@media (min-width: 1025px) {
  .model--bg {
    top: -15%;
  }
}

.bg-footer-desktop {
  position: relative;
  z-index: 1;
}
@media (max-width: 1024px) {
  .bg-footer-desktop {
    display: none;
  }
}
@media (min-width: 1025px) {
  .bg-footer-desktop {
    width: 100;
  }
}

.bg-wave {
  position: absolute;
  inset-inline-start: 0;
  z-index: 1;
}

@media (max-width: 1024px) {
  .bg-wave-desktop {
    display: none;
  }
}
@media (min-width: 1025px) {
  .bg-wave-desktop {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
  }
}

@media (max-width: 1024px) {
  .bg-wave-mobile {
    width: 100%;
  }
}
@media (min-width: 1025px) {
  .bg-wave-mobile {
    display: none;
  }
}

/********************************************** PHILANTROPY  **************************************/
@media (min-width: 1025px) {
  .page-philantropy > footer {
    margin-top: 0;
  }
}

@media (max-width: 390px) {
  .page-philantropy h1 {
    font-size: 3.3rem;
  }
}

@media (max-width: 1024px) {
  .bottom-philantropy {
    max-width: 80%;
    margin: 0 auto;
  }
}
@media (min-width: 1025px) {
  .bottom-philantropy {
    margin-top: 8rem;
    display: flex;
    position: relative;
  }
}

@media (min-width: 1025px) {
  .bottom-philantropy--layout {
    position: absolute;
    left: 23%;
    top: 50%;
    z-index: 10;
    transform: translate(-50%, -50%);
  }
}

bottom-philantropy--content {
  display: flex;
  flex-direction: column;
}

.bottom-philantropy--content > * {
  color: #831B55;
  max-width: 30ch;
  display: flex;
  gap: 1rem;
  line-height: 1.1;
}
@media (max-width: 1024px) {
  .bottom-philantropy--content > * {
    font-size: 2.1rem;
  }
}
@media (min-width: 1025px) {
  .bottom-philantropy--content > * {
    font-size: clamp(2.4rem, 2.346vw - 0.005rem, 4.5rem);
  }
}

.bottom-philantropy--content h3 {
  margin-bottom: 2rem;
  font-weight: 300;
}

.bottom-philantropy--content p, .bottom-philantropy--content a {
  font-weight: 500;
}

.bottom-philantropy--content a {
  text-decoration: underline;
}

.hero-philantropy {
  margin-bottom: 4rem;
}

.hero-image-left {
  display: flex;
}
@media (max-width: 1024px) {
  .hero-image-left {
    flex-direction: column;
    gap: 3rem;
  }
}
@media (min-width: 1025px) {
  .hero-image-left {
    gap: 1rem;
  }
}

@media (min-width: 1025px) {
  .hero-image-left .col-1 {
    padding-inline-start: 10%;
  }
}

@media (min-width: 1025px) {
  .hero-image-left .col-2 {
    padding-inline-end: 8%;
  }
}

.hero-image-left .col-image {
  flex-grow: 1;
}
@media (max-width: 1024px) {
  .hero-image-left .col-image {
    margin-top: -1rem;
    margin-inline-start: -3rem;
  }
}
.hero-image-left .col-content {
  display: flex;
  flex-direction: column;
  z-index: 4;
}
@media (max-width: 1024px) {
  .hero-image-left .col-content {
    max-width: var(--mobile-width-md);
    margin: 0 auto;
    order: 2;
    gap: 1rem;
  }
}
@media (min-width: 1025px) {
  .hero-image-left .col-content {
    flex-basis: 42%;
    padding-top: 4.5rem;
    gap: 2rem;
  }
}

.hero-image-left .col-content > div {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 1025px) {
  .hero-image-left .col-content > div {
    max-width: 78%;
  }
}

.hero-image-left .col-content > div > p {
  margin-block: 0;
}

@media (max-width: 1024px) {
  .philantropy-doc--section {
    margin-block: var(--section-gap-md) 18rem;
    --phila-blob-height: 40rem;
  }
}
@media (min-width: 1025px) and (max-width: 1600px) {
  .philantropy-doc--section {
    margin-block: 8% 5%;
  }
}
@media (min-width: 1601px) {
  .philantropy-doc--section {
    margin-block: 8% 10%;
  }
}

.philantropy-doc--layout {
  display: flex;
}
@media (max-width: 1024px) {
  .philantropy-doc--layout {
    flex-direction: column;
    padding-top: 3.2rem;
    height: var(--phila-blob-height);
  }
}
@media (min-width: 1025px) {
  .philantropy-doc--layout {
    padding: 5.5rem 4rem 5.5rem 9rem;
  }
}

.philantropy-doc--content {
  background: #fff;
  display: flex;
  color: #831B55;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .philantropy-doc--content {
    font-size: 1.8rem;
    padding: 3.2rem 3.4rem;
    border-radius: 0 0 4rem 0;
    gap: 2.4rem;
    margin-inline-start: 2.4rem;
    flex-direction: column;
  }
}
@media (min-width: 1025px) {
  .philantropy-doc--content {
    font-size: clamp(1.2rem, 0.13043rem + 1.30435vw, 2.7rem);
    flex-basis: 60%;
    gap: 5rem;
    padding: 4.5rem 7.5rem 4.5rem 4.5rem;
    border-radius: 0 0 0 1em;
    order: 2;
    justify-content: end;
  }
}

@media (max-width: 1024px) {
  .philantropy-doc--content .text-eng {
    order: 2;
    align-self: end;
  }
}

.philantropy-doc--content > * {
  text-underline-offset: 2px;
}
@media (max-width: 1024px) {
  .philantropy-doc--content > * {
    max-width: 35ch;
  }
}
@media (min-width: 1025px) {
  .philantropy-doc--content > * {
    max-width: 20ch;
  }
}

@media (max-width: 1024px) {
  .philantropy-doc--image {
    height: var(--projects__blob-height);
    width: var(--projects__blob-height);
    align-self: center;
    margin-top: 4rem;
  }
}
@media (min-width: 1025px) {
  .philantropy-doc--image {
    flex-grow: 1;
    margin-top: -12%;
  }
}

@media (min-width: 1025px) {
  .philantropy-doc--image .blob-wrapper {
    inset-inline-start: 20%;
  }
}

/********************************************** END PHILANTROPY  **************************************/
/********************************************** RESEARCH  **************************************/
@media (max-width: 1024px) {
  .hero-resource {
    margin-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .hero-resource {
    margin-bottom: 8rem;
  }
}

.resource__hero--layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  z-index: 4;
  position: relative;
}
@media (max-width: 1024px) {
  .resource__hero--layout {
    max-width: var(--mobile-width-md);
    padding-top: 4.5rem;
    gap: 3em;
  }
}
@media (min-width: 1025px) {
  .resource__hero--layout {
    max-width: 65ch;
    padding-top: 8rem;
    gap: 8rem;
  }
}

.resource__hero--content {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .resource__hero--content {
    gap: 2.5rem;
  }
}
@media (min-width: 1025px) {
  .resource__hero--content {
    align-items: center;
    gap: 2rem;
  }
}

@media (min-width: 1025px) {
  .resource__hero--overview {
    text-align: center;
  }
}

.resource--filter-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 4rem;
}

@media (max-width: 1024px) {
  .resource__filters--layout {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 3rem;
    width: 90%;
  }
}
@media (min-width: 1025px) {
  .resource__filters--layout {
    padding-inline: 3rem;
    display: flex;
    gap: 3rem;
  }
}

.resource__filter-btn {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 1.5em;
  display: flex;
  padding: 0.5em 1.1em;
  color: var(--color-border);
  justify-content: center;
  text-align: center;
  line-height: 1;
  align-items: center;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .resource__filter-btn {
    border-radius: 4rem;
  }
}
@media (min-width: 1025px) {
  .resource__filter-btn {
    width: 24ch;
    border-radius: 1.5em;
  }
}

@media (max-width: 1024px) {
  .resource__filter-btn span {
    width: 19ch;
  }
}

.resource__filter-btn.filter-active {
  background: var(--color-border);
  color: #fff;
}

.resource__filter-btn.filter-active,
.research-taxonomy-btn.filter-active {
  cursor: default;
  pointer-events: none;
}

.taxonomy-btn-wrapper {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
@media (max-width: 1024px) {
  .taxonomy-btn-wrapper {
    justify-content: center;
  }
}

.resource--filter-wrapper[active-type=article] .taxonomy-btn-wrapper {
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .resource--filter-wrapper[active-type=article] .taxonomy-btn-wrapper {
    display: none;
  }
}

.research-taxonomy-btn {
  background: none;
  position: relative;
}

.research-tag {
  font-weight: 500;
}
@media (max-width: 1024px) {
  .research-tag {
    font-size: 1.6rem;
  }
}
@media (min-width: 1025px) {
  .research-tag {
    font-size: clamp(1rem, 0.894vw + 0.084rem, 1.8rem);
  }
}

.research-tag[data-taxonomy-term=all] {
  color: #831B55;
}

.research-tag[data-taxonomy-term=acupuncture] {
  color: #EA6D2E;
}

.research-tag[data-taxonomy-term=yoga] {
  color: #2981A3;
}

.research-tag[data-taxonomy-term=mindfulness] {
  color: #649524;
}

.research-tag[data-taxonomy-term=shiatsu] {
  color: #D95897;
}

.research-tag[data-taxonomy-term=meditation] {
  color: #4166BB;
}

.research-tag[data-taxonomy-term=reflexology] {
  color: #65A4B9;
}

.research-taxonomy-btn:not(:last-child)::after {
  content: "|";
  color: #8F3863;
  font-weight: 200;
  width: 1px;
  height: 100%;
  display: inline-block;
  position: absolute;
  top: 0;
  inset-inline-end: -0.8rem;
}

.research__card--bottom {
  display: flex;
  gap: 1rem;
}
@media (min-width: 1025px) {
  .research__card--bottom {
    align-items: start;
  }
}

.research--tags-wrapper {
  display: flex;
  column-gap: 0.5rem;
  flex-wrap: wrap;
}

.resources--section {
  min-height: 500px;
  --timing: 0.3s;
}

[data-resource-type] {
  opacity: 1;
  transform: scale(1) translateY(0);
  transition: opacity var(--timing) cubic-bezier(0.4, 0, 0.2, 1), transform var(--timing) cubic-bezier(0.4, 0, 0.2, 1);
}

[data-resource-type].hidden {
  opacity: 0;
  transform: scale(0.9) translateY(8px);
  pointer-events: none;
  position: absolute;
  visibility: hidden;
}

.resource__layout {
  display: grid;
}
@media (max-width: 1024px) {
  .resource__layout {
    grid-template-columns: 1fr;
    max-width: 80%;
    margin: 0 auto;
  }
}
@media (min-width: 1025px) {
  .resource__layout {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 1fr;
    align-items: stretch;
    column-gap: 3.6em;
  }
}

@media (max-width: 1024px) {
  [data-resource-type=research].resource__card--wrapper {
    margin-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  [data-resource-type=research].resource__card--wrapper {
    margin-bottom: 8rem;
  }
}

@media (max-width: 1024px) {
  [data-resource-type=article].resource__card--wrapper {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1025px) {
  [data-resource-type=article].resource__card--wrapper {
    margin-bottom: 6rem;
  }
}

.article__card--layout {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.article__card--image {
  position: relative;
  border-radius: 0 0 0 4rem;
  overflow: hidden;
}

.article__card--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(1);
  aspect-ratio: 5/3;
}

.article__card--image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%), linear-gradient(278deg, rgba(107, 107, 166, 0.6) 2.13%, rgba(248, 246, 239, 0.6) 95.62%);
  mix-blend-mode: hard-light;
  z-index: 1;
  transition: opacity 300ms ease;
}

.article__card--content {
  display: flex;
  flex-direction: column;
  color: var(--color-cards-text);
}

.research__card {
  border-radius: 0 0 1.5em 1.5em;
  border: 1px solid #8f3863;
  background: #fff;
  box-shadow: 0.3em 0.2em 0 0 #8f3863;
  padding: 1.3em 1.5em 0.7em 0.5em;
  cursor: pointer;
  display: block;
  position: relative;
}
@media (max-width: 1024px) {
  .research__card {
    border-radius: 0 0 3rem 3rem;
  }
}
@media (min-width: 1025px) {
  .research__card {
    min-height: 150px;
    height: 100%;
    border-radius: 0 0 1.5em 1.5em;
  }
}

.research__card--layout {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.research__card--title {
  color: var(--color-cards-text);
  margin-bottom: auto;
  font-size: inherit;
  font-weight: 300;
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .research__card--title {
    -webkit-line-clamp: 3;
  }
}
@media (min-width: 1025px) {
  .research__card--title {
    -webkit-line-clamp: 4;
  }
}

.research__card--icon {
  width: 0.5em;
}

.article__card--title {
  font-size: inherit;
  font-weight: 300;
  text-wrap: pretty;
}

/********************************************** ACTIVITY MAP  **************************************/
.page-mapa-test footer {
  margin-top: 0;
}

/********************************************** PAGE 404  **************************************/
@media (min-width: 1025px) {
  body.page-404 {
    min-height: 100vh;
  }
}

@media (min-width: 1025px) {
  body.page-404 footer {
    margin-top: 0;
  }
}

@media (min-width: 1025px) {
  .section--404 {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}

.section--404::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(90deg, #1d8cab 0%, #871251 100%);
}
@media (max-width: 1024px) {
  .section--404::before {
    height: 4rem;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1025px) {
  .section--404::before {
    height: 8rem;
  }
}

.error-page__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1024px) {
  .error-page__wrapper {
    max-width: var(--mobile-width-sm);
    margin: 0 auto;
    gap: 2rem;
    padding-top: 4rem;
  }
}
@media (min-width: 1025px) {
  .error-page__wrapper {
    gap: 3rem;
    margin: auto 0;
  }
}

.error-page__title {
  font-family: var(--font-family-seconday);
  font-weight: 700;
  color: var(--color-text-heading);
  line-height: 1;
}
@media (max-width: 1024px) {
  .error-page__title {
    font-size: 10rem;
  }
}
@media (min-width: 1025px) {
  .error-page__title {
    font-size: clamp(8rem, 7.821vw - 0.017rem, 15rem);
  }
}

.error-page__text {
  text-align: center;
}
@media (max-width: 1024px) {
  .error-page__text {
    font-size: 1.7rem;
    max-width: 13ch;
    line-height: 1.3;
  }
}
@media (min-width: 1025px) {
  .error-page__text {
    font-size: clamp(1.4rem, 1.229vw + 0.14rem, 2.5rem);
  }
}

/********************************************** PAGE CONTACT **************************************/
.contact-page--wrapper::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(90deg, #1d8cab 0%, #871251 100%);
}
@media (max-width: 1024px) {
  .contact-page--wrapper::before {
    height: 4rem;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1025px) {
  .contact-page--wrapper::before {
    height: 8rem;
    margin-bottom: 8rem;
  }
}

.contact--more {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .contact--more {
    border-top: 1px solid var(--color-border);
    padding-top: 4rem;
    gap: 2rem;
  }
}
@media (min-width: 1025px) {
  .contact--more {
    gap: 3rem;
  }
}

.contact--more__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.download-doc--link {
  font-size: var(--text-base);
  font-weight: 500;
  color: #831B55;
}

.contact--credits {
  width: fit-content;
  display: flex;
  flex-direction: column;
  color: #6d6d70;
  border-top: 1px solid var(--color-border);
  padding-top: 1rem;
}
@media (max-width: 1024px) {
  .contact--credits {
    max-width: 75%;
    margin: 0 auto;
    margin-top: 5rem;
  }
}
@media (min-width: 1025px) {
  .contact--credits {
    max-width: 77.5%;
    margin-inline-start: 10%;
    margin-top: 10rem;
  }
}

.contact--credits > * {
  font-size: 0.8em;
}

.contact--credits__title {
  font-weight: 500;
}

/********************************************** PRIVACY AND ACCECABILITY PAGE  **************************************/
.legal__title {
  position: relative;
  text-wrap: balance;
}
@media (max-width: 1024px) {
  .legal__title {
    padding-block: 3rem 7rem;
    max-width: 80%;
    margin: 0 auto;
    text-align: center;
  }
}
@media (min-width: 1025px) {
  .legal__title {
    padding-block: 15rem 5rem;
  }
}

.legal__text {
  text-wrap: pretty;
}
@media (max-width: 1024px) {
  .legal__text {
    max-width: 80%;
    margin: 0 auto;
  }
}

.legal__text h4, .legal__text strong {
  font-weight: 500;
  font-size: inherit;
}

.legal__text ol {
  counter-reset: item;
}

.legal__text li {
  counter-increment: item;
}

.legal__text ol ol {
  list-style: none !important;
}

.legal__text ol ol li::before {
  content: counters(item, ".") ". ";
  font-weight: 500;
}

.legal__text .table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 1024px) {
  .legal__text .table-wrapper {
    background: linear-gradient(to right, rgba(255, 255, 255, 0), white 70%) 0 100%, radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 40px 100%;
    background-position: left center; /* RTL Context: The hidden content is usually to the left */
    background-attachment: local, scroll;
  }
}

.legal__text li.no-sub-items h4 {
  margin-bottom: 1rem;
}

.legal__text > ol > li {
  list-style-type: decimal;
  margin-block: 2rem;
}

.legal__text ol li li {
  margin-block: 1rem;
}

@media (max-width: 1024px) {
  .legal__text li {
    margin-inline-start: 1rem;
  }
}
@media (min-width: 1025px) {
  .legal__text li {
    margin-inline-start: 2rem;
  }
}

.legal__text ul li::marker {
  font-size: 1.2em;
}

.legal__text ol li::marker {
  font-weight: 500;
}

.legal__text ul li {
  list-style-type: disc;
}

.legal__text a {
  text-decoration: underline;
  color: var(--color-text-heading-small);
}

.legal__text table {
  width: 100%;
  border-collapse: collapse;
  text-align: right;
  margin: 20px 0;
}
.legal__text th, .legal__text td {
  border: 1px solid #ddd;
  padding: 12px;
  vertical-align: top;
}
.legal__text th {
  background-color: #f2f2f2;
  font-weight: bold;
  text-align: center;
}
.legal__text tr:nth-child(even) {
  background-color: #f9f9f9;
}

/********************************************** RESEARCH PAGE **************************************/
@media (max-width: 1024px) {
  .research__container {
    margin-top: 3rem;
    max-width: 90%;
    margin: 3rem auto 0 auto;
    font-size: 1.9rem;
  }
}
@media (min-width: 1025px) {
  .research__container {
    margin-top: 20rem;
    padding-inline-start: 10%;
    max-width: 72%;
    font-size: clamp(1.4rem, 1.229vw + 0.14rem, 2.5rem);
  }
}

@media (max-width: 1024px) {
  .research__header {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1025px) {
  .research__header {
    margin-bottom: 5rem;
    position: relative;
  }
}

.research__header--content {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .research__header--content {
    gap: 3rem;
  }
}
@media (min-width: 1025px) {
  .research__header--content {
    gap: 4rem;
  }
}

.research__title-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.research__title {
  text-wrap: balance;
  line-height: 1;
  font-weight: 500;
  color: var(--color-text-heading);
}
@media (max-width: 1024px) {
  .research__title {
    font-size: 3.5rem;
    margin-bottom: 1rem;
  }
}
@media (min-width: 1025px) {
  .research__title {
    font-size: clamp(2.4rem, 2.346vw - 0.005rem, 4.5rem);
    margin-top: 1rem;
  }
}

.research__sub-title {
  margin-top: 0.5rem;
  display: block;
  line-height: 1.2;
  text-wrap: balance;
  font-weight: 500;
  color: var(--color-text-heading);
}
@media (max-width: 1024px) {
  .research__sub-title {
    font-size: 2.5rem;
  }
}
@media (min-width: 1025px) {
  .research__sub-title {
    font-size: clamp(1.6rem, 1.564vw - 0.003rem, 3rem);
  }
}

.research__eng-title {
  font-size: var(--text-xl);
  font-weight: 500;
  color: var(--color-text-heading);
  text-wrap: balance;
  line-height: 1;
}
@media (max-width: 1024px) {
  .research__eng-title {
    font-size: 2.5rem;
  }
}
@media (min-width: 1025px) {
  .research__eng-title {
    font-size: clamp(1.6rem, 1.564vw - 0.003rem, 3rem);
  }
}

.research__eng-title {
  direction: ltr;
}

.research__date {
  color: #2981A3;
  font-weight: 500;
  width: fit-content;
}
@media (max-width: 1024px) {
  .research__date {
    font-size: 2.2rem;
    position: relative;
  }
}
@media (min-width: 1025px) {
  .research__date {
    font-size: clamp(1.3rem, 1.341vw - 0.074rem, 2.5rem);
  }
}

.research__date::after {
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  background: #2981A3;
  margin-top: 8px;
}
@media (max-width: 1024px) {
  .research__date::after {
    margin-top: 4px;
  }
}

.research__content {
  position: relative;
}
/************************ FOOTNOTES ***********************************/
.research__text sup {
  font-size: 0.8em;
  scroll-margin-top: 120px;
}

.research__text sup a {
  text-decoration: none;
  font-weight: 300;
}

.research__text .footnotes::before {
  content: "";
  width: 50%;
  height: 1px;
  margin-bottom: 1em;
  background: #76408f;
  display: block;
}

.research__text .footnote {
  font-size: 0.8em;
  scroll-margin-top: 120px;
}

.research__text .footnote::marker {
  font-weight: 300;
}

.research__text .footnote a {
  font-weight: 300;
}

.ref-return {
  text-decoration: none !important;
}

.ref-return::after {
  content: var(--return-symbol, "↺");
  font-size: 1.3em;
  line-height: 0.8;
}

.research__text {
  text-wrap: pretty;
}
@media (min-width: 1025px) {
  .research__text {
    max-width: 70ch;
  }
}

.research__text h4, .research__text strong {
  font-weight: 500;
  font-size: inherit;
}

.research__text > * {
  margin-bottom: 1em;
  line-height: 1.7;
}

.research__text > :last-child {
  margin-bottom: 0;
}

.research__text li {
  margin-inline-start: 2rem;
}

.research__text li:not(:last-child) {
  margin-bottom: 0.6em;
}

.research__text ul li::marker {
  font-size: 1.2em;
  line-height: 1;
}

.research__text ol li::marker {
  font-weight: 500;
}

.research__text ul li {
  list-style-type: disc;
}

.research__text ol li {
  list-style-type: decimal;
}

.research__footer {
  overflow-wrap: break-word;
  margin-top: 1.5em;
}
@media (min-width: 1025px) {
  .research__footer {
    max-width: 70ch;
  }
}

.research__text a, .research__source--link {
  text-decoration: underline;
  font-weight: 500;
  color: var(--color-text-heading-small);
}

.research__source--link {
  font-size: 0.8em;
  line-height: 1;
}

/********************************************** START PAGE MESHULEVET INTEGRATED **************************************/
.integrated__hero--layout {
  margin: 0 auto;
  display: grid;
  padding-top: 4.5rem;
  column-gap: 13rem;
  row-gap: 4rem;
  z-index: 5;
  position: relative;
}
@media (max-width: 1024px) {
  .integrated__hero--layout {
    grid-template-columns: 1fr;
    max-width: var(--mobile-width-md);
  }
}
@media (min-width: 1025px) {
  .integrated__hero--layout {
    grid-template-columns: 1fr 1fr;
    max-width: 78%;
  }
}

.integrated--col-1 {
  display: flex;
  flex-direction: column;
}

@media (max-width: 1024px) {
  .integrated--row-1 {
    grid-area: 1/1;
  }
}
@media (min-width: 1025px) {
  .integrated--row-1 {
    grid-area: 1/1;
    margin-inline-start: 2rem;
    margin-bottom: 6rem;
    gap: 4rem;
  }
}

.integrated--row-2 {
  gap: 2rem;
}
@media (max-width: 1024px) {
  .integrated--row-2 {
    grid-area: 3/1;
  }
}
@media (min-width: 1025px) {
  .integrated--row-2 {
    grid-area: 2/1;
    margin-inline-start: 2rem;
  }
}

@media (max-width: 1024px) {
  .integrated__hero--layout > :nth-child(2) {
    grid-area: 2/1;
  }
}
@media (min-width: 1025px) {
  .integrated__hero--layout > :nth-child(2) {
    grid-area: 1/2;
  }
}

@media (min-width: 1025px) {
  .integrated__hero--image-wrapper {
    position: relative;
  }
}

.integrated__hero--image {
  width: 100%;
}
@media (min-width: 1025px) {
  .integrated__hero--image {
    position: absolute;
    top: 0;
  }
}

.integrated__hero--image svg {
  width: 100%;
}

.integrated__hero--content > p {
  margin-block: 0;
}

.integrated__hero--content {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (min-width: 1025px) {
  .integrated__hero--content {
    max-width: 78%;
  }
}

.integrated__examples {
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .integrated__examples {
    text-align: center;
  }
}
@media (min-width: 1025px) {
  .integrated__examples {
    max-width: 87%;
  }
}

/********************************************** END PAGE MESHULEVET **************************************/
/********************************************** START PAGE ACTIVITY **************************************/
@media (max-width: 1024px) {
  .page-activity main > section {
    scroll-margin-top: 80px;
  }
}
@media (min-width: 1025px) {
  .page-activity main > section {
    scroll-margin-top: 100px;
  }
}

.activity__hero--bg {
  top: 0;
}

@media (min-width: 1025px) {
  .hero-activity {
    position: relative;
    overflow: hidden;
    padding-bottom: 18rem;
  }
}

.hero-activity-layout {
  display: flex;
  max-width: 80%;
  margin: 0 auto;
  padding-top: 3rem;
}
@media (max-width: 1024px) {
  .hero-activity-layout {
    flex-direction: column;
  }
}

@media (max-width: 1024px) {
  .hero-activity--content {
    align-items: center;
    gap: 1.5rem;
  }
}
@media (min-width: 1025px) {
  .hero-activity--content {
    align-items: start;
  }
}

@media (max-width: 1024px) {
  .hero-activity--overview {
    text-align: center;
  }
}
@media (min-width: 1025px) {
  .hero-activity--overview {
    max-width: 55%;
    margin-bottom: 3.5rem;
  }
}

@media (max-width: 1024px) {
  .hero-activity--nav {
    width: 75%;
  }
}
@media (min-width: 1025px) {
  .hero-activity--nav {
    width: 100%;
  }
}

.activity--nav-container {
  display: flex;
  justify-content: space-between;
  gap: 2.2rem;
}
@media (max-width: 1024px) {
  .activity--nav-container {
    display: grid;
    grid-template-rows: repeat(5, 1fr);
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.activity--nav-item {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 1.5em;
  display: flex;
  color: var(--color-text-heading-small);
}
@media (min-width: 1025px) {
  .activity--nav-item {
    flex: 1;
  }
}

.activity--nav-link {
  width: 100%;
  padding: 0.5em 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
@media (max-width: 1024px) {
  .activity--nav-link {
    font-size: 1.8rem;
  }
}
@media (min-width: 1025px) {
  .activity--nav-link {
    font-size: var(--text-sm);
  }
}

/********************************************** ACTIVITIES **************************************/
@media (max-width: 1024px) {
  .treatment-section {
    margin-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .treatment-section {
    margin-bottom: 16rem;
  }
}

@media (max-width: 1024px) {
  .research-section {
    margin-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .research-section {
    margin-bottom: 36rem;
  }
}

@media (max-width: 1024px) {
  .education-section {
    margin-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .education-section {
    margin-bottom: 12rem;
  }
}

@media (max-width: 1024px) {
  .policy-change-section {
    margin-bottom: 8rem;
  }
}
@media (min-width: 1025px) {
  .policy-change-section {
    margin-bottom: 10rem;
  }
}

@media (max-width: 1024px) {
  .october-7-section {
    margin-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .october-7-section {
    margin-bottom: 36rem;
  }
}

.activity__layout {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
  position: relative;
}
@media (max-width: 1024px) {
  .activity__image {
    order: -1;
  }
}
@media (min-width: 1025px) {
  .activity__image {
    position: relative;
  }
}

@media (max-width: 1024px) {
  .treatment__image {
    margin-bottom: -7rem;
  }
}
@media (min-width: 1025px) {
  .treatment__image {
    margin-top: -10%;
  }
}

@media (max-width: 1024px) {
  .research__image {
    max-width: 90%;
    margin-bottom: -10rem;
  }
}
@media (min-width: 1025px) {
  .research__image {
    margin-top: -9%;
  }
}

@media (max-width: 1024px) {
  .policy__image {
    margin-bottom: -10rem;
    padding-inline-end: 2rem;
  }
}
@media (min-width: 1025px) {
  .policy__image {
    margin-top: -5%;
    max-width: 90%;
  }
}

@media (max-width: 1024px) {
  .education__image {
    margin-bottom: -7rem;
    padding-inline-start: 4rem;
    margin-inline-end: 3rem;
  }
}
@media (min-width: 1025px) {
  .education__image {
    margin-top: -3%;
    max-width: 75%;
    margin-inline-start: 5%;
  }
}

@media (max-width: 1024px) {
  .october__image {
    max-width: 90%;
    margin-bottom: -10rem;
  }
}
@media (min-width: 1025px) {
  .october__image {
    max-width: 80%;
    margin-inline-start: 5%;
  }
}

.activity__image .blob-container {
  width: 100%;
  padding-inline: 0;
}
@media (min-width: 1025px) {
  .activity__image .blob-container {
    position: absolute;
  }
}

@media (max-width: 1024px) {
  .activity__layout > .activity__row:nth-of-type(2) {
    margin-top: -1.5rem;
  }
}

.activity__row {
  display: grid;
}
@media (max-width: 1024px) {
  .activity__row {
    padding-inline-start: 14%;
    max-width: 80%;
  }
}
@media (min-width: 1025px) {
  .activity__row {
    grid-template-columns: 1fr 1fr;
    margin: 0 5% -1px 5%;
  }
}

@media (min-width: 1025px) {
  .activity__row > * {
    grid-row: 1;
  }
}

.activity__header {
  padding-top: 4%;
}

@media (max-width: 1024px) {
  .activity__header.bg-gradient-inverse,
  .activity__header.bg-gradient-primary {
    background: unset;
  }
}

@media (max-width: 1024px) {
  .activity__header .activity__row {
    padding-inline-start: unset;
    max-width: 100%;
  }
}

@media (max-width: 1024px) {
  .activity__section-title {
    position: relative;
    background: var(--gradient-primary);
    padding-top: 6rem;
    padding-inline-end: 4rem;
  }
}
@media (min-width: 1025px) {
  .activity__section-title {
    padding-top: 6rem;
    margin-bottom: -1px;
    background: #fff;
  }
}

@media (max-width: 1024px) {
  .activity__section-title--wrapper {
    background: #fff;
    height: 100%;
    padding-inline-start: 14%;
    padding-block: 3rem 2rem;
    border-radius: 3rem 0 0 0;
    position: relative;
    z-index: 4;
  }
}

@media (min-width: 1025px) {
  .activity--col-1 {
    grid-column: 1;
    margin-inline-end: 5rem;
  }
}

@media (min-width: 1025px) {
  .activity--col-2 {
    padding-inline-end: 7rem;
    grid-column: 2;
  }
}

@media (min-width: 1025px) {
  .activity--col-1 .activity__section-title {
    border-radius: 0 6rem 0 0;
  }
}

@media (min-width: 1025px) {
  .activity--col-1 > * {
    padding-inline-start: 7rem;
  }
}

@media (min-width: 1025px) {
  .activity--col-2 > * {
    padding-inline-start: 7rem;
  }
}

@media (min-width: 1025px) {
  .activity--col-2 .activity__section-title {
    border-radius: 6rem 0 0 0;
  }
}

.activity__section-title h2 {
  color: var(--color-text-heading-small);
  line-height: 1;
  font-weight: 500;
}

.activity__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  font-size: var(--text-base);
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .activity__card {
    gap: 1rem;
  }
}
@media (min-width: 1025px) {
  .activity__card {
    max-width: 50ch;
    gap: 2rem;
  }
}

.activity__card--content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
}

.activity__card--list {
  display: flex;
  flex-direction: column;
  font-weight: 500;
  color: var(--color-cards-text);
  margin-inline-start: 1rem;
}
@media (max-width: 1024px) {
  .activity__card--list {
    gap: 1rem;
    line-height: 1.2;
  }
}
@media (min-width: 1025px) {
  .activity__card--list {
    gap: 4px;
  }
}

.activity__card--list li {
  list-style-type: disc;
  scroll-padding-inline-start: 1rem;
  text-wrap: pretty;
}

activity__card--list li::marker {
  font-size: 1.2em;
}

.activity__card--title {
  font-size: var(--text-md);
  color: var(--color-text-accent);
  line-height: 1;
}

/********************************************** ACTIVITY MAP **************************************/
/********************************************** END PAGE ACTIVITY **************************************/
/********************************************** START PAGE ABOUT **************************************/
@media (max-width: 1024px) {
  .page-about main > section,
  #story {
    scroll-margin-top: 80px;
  }
}
@media (min-width: 1025px) {
  .page-about main > section,
  #story {
    scroll-margin-top: 100px;
  }
}

@media (max-width: 1024px) {
  .hero-about {
    margin-bottom: var(--section-gap-lg);
  }
}
@media (min-width: 1025px) {
  .hero-about {
    margin-bottom: calc(var(--section-gap-lg) * 1.8);
  }
}

.hero-about-layout {
  display: flex;
}
@media (max-width: 1024px) {
  .hero-about-layout {
    flex-direction: column;
    gap: 1rem;
  }
}
@media (min-width: 1025px) {
  .hero-about-layout {
    gap: 7rem;
  }
}

.hero-about--content {
  flex-basis: 42%;
  justify-content: end;
}
@media (max-width: 1024px) {
  .hero-about--content {
    max-width: var(--mobile-width-md);
    margin: 0 auto;
  }
}

.hero-about--overview {
  margin-block: 1rem 4rem;
}
@media (min-width: 1025px) {
  .hero-about--overview {
    max-width: 41ch;
  }
}
@media (max-width: 1024px) {
  .hero-about--overview {
    margin-block: 1rem 3rem;
  }
}

@media (max-width: 1024px) {
  .hero-about--image {
    margin-top: -1rem;
    margin-inline-start: -3rem;
  }
}
@media (min-width: 1025px) {
  .hero-about--image {
    margin-top: -2rem;
    margin-inline-start: 5rem;
  }
}

/********************************************** ABOUT - MODEL ADVOT **************************************/
.model-section {
  position: relative;
}
@media (max-width: 1024px) {
  .model-section {
    margin-bottom: var(--section-gap-lg);
  }
}
@media (min-width: 1025px) {
  .model-section {
    margin-bottom: calc(var(--section-gap-lg) * 2);
  }
}

.model-layout {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media (max-width: 1024px) {
  .model-layout {
    gap: 1rem;
  }
}
@media (min-width: 1025px) {
  .model-layout {
    gap: var(--section-gap-md);
  }
}

.model-grid {
  display: flex;
  gap: 10rem;
}
@media (max-width: 1024px) {
  .model-grid {
    align-items: center;
    flex-direction: column;
    gap: 3rem;
  }
}

.model-content {
  flex-basis: 35%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .model-content {
    max-width: 70%;
    margin: 0 auto;
    order: 1;
  }
}

@media (max-width: 1024px) {
  .model-image {
    width: 90%;
  }
}
@media (min-width: 1025px) {
  .model-image {
    flex-grow: 1;
    padding-inline-end: 10rem;
  }
}

/********************************************** ABOUT - PARTNERS **************************************/
.partners__section {
  margin-bottom: var(--section-gap-xl);
}
@media (max-width: 1024px) {
  .partners__section {
    margin-bottom: 6rem;
  }
}

.partners__layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7rem;
}
@media (max-width: 1024px) {
  .partners__layout {
    gap: 3rem;
  }
}

.section-overview {
  text-align: center;
}
@media (min-width: 1025px) {
  .section-overview {
    max-width: 30%;
  }
}

.partners__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .partners__container {
    max-width: var(--mobile-width-lg);
    margin: 0 auto;
    gap: 4rem;
  }
}

.partners__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .partners__grid {
    gap: 1rem;
  }
}

.partners__title {
  color: var(--color-text-accent);
}
@media (max-width: 1024px) {
  .partners__title {
    font-size: 2.5rem !important;
  }
}

.partners__logo--grid {
  display: grid;
  gap: 4rem 2rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .partners__logo--grid {
    display: none;
  }
}

.partners__logo--grid > * {
  align-self: center;
}

@media (min-width: 1025px) {
  .logo__grid--5-col {
    grid-template-columns: repeat(5, 1fr);
    max-width: 72%;
  }
}

@media (min-width: 1025px) {
  .logo__grid--4-col {
    grid-template-columns: repeat(4, 1fr);
    max-width: 60%;
  }
}

.logo__grid--5-col.last-row-six {
  grid-template-columns: repeat(30, 1fr); /* LCM of 5 and 6 */
}

.logo__grid--5-col.last-row-six > *:not(:nth-last-child(-n+6)) {
  grid-column: span 6; /* 6 out of 30 = 1/5 of the row */
}

.logo__grid--5-col.last-row-six > *:nth-last-child(-n+6) {
  grid-column: span 5; /* 5 out of 30 = 1/6 of the row */
}

.logo__grid--4-col.last-row-five {
  grid-template-columns: repeat(20, 1fr);
}

.logo__grid--4-col.last-row-five > *:not(:nth-last-child(-n+5)) {
  grid-column: span 5;
}

.logo__grid--4-col.last-row-five > *:nth-last-child(-n+5) {
  grid-column: span 4;
}

.splide__slide img {
  max-height: 90px !important;
  object-fit: contain;
}

.partners__logo--grid img {
  object-fit: contain;
  max-height: 80px;
}

@media (min-width: 1025px) {
  .partners__logo--carousel {
    display: none;
  }
}

.partners__logo--carousel .splide__list {
  align-items: center;
}

/********************************************** ABOUT - TEAM **************************************/
.team-layout {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media (max-width: 1024px) {
  .team-layout {
    gap: 5rem;
  }
}

.team--members-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10rem;
}
@media (max-width: 1024px) {
  .team--members-container {
    width: 90%;
    margin: 0 auto;
    gap: 6rem;
  }
}

.team--members-container .team--department-grid:first-child {
  z-index: 10;
}

.team--members-container .team--department-grid:nth-child(2) {
  z-index: 9;
}

.team--members-container .team--department-grid:nth-child(3) {
  z-index: 8;
}

.team--members-container .team--department-grid:nth-child(4) {
  z-index: 7;
}

.team--department-grid {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media (max-width: 1024px) {
  .team--department-grid {
    gap: 3rem;
    width: 100%;
  }
}
@media (min-width: 1025px) {
  .team--department-grid {
    z-index: 90;
    max-width: 70%;
  }
}

.team-grid--title {
  color: var(--color-text-heading-small);
  align-self: center;
}

.team-cards {
  display: grid;
}
@media (max-width: 1024px) {
  .team-cards {
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    row-gap: 7rem;
    column-gap: 4rem;
  }
}
@media (min-width: 1025px) {
  .team-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 11rem;
  }
}

.team-cards > div {
  width: 100%;
}

.member-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
@media (max-width: 1024px) {
  .member-card {
    align-items: center;
    gap: 0.5rem;
    justify-self: center;
    width: 100%;
    scroll-margin-top: 80px;
  }
}

.team-blob {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.member-image {
  width: 100%;
  filter: grayscale(100%);
  object-fit: cover;
  z-index: 2;
  border-radius: 50%;
  position: relative;
  transform: scale(0.92);
  transition: filter 200ms ease;
}

.member-image--filter {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  transform: scale(0.92);
  border-radius: 50%;
  mix-blend-mode: hard-light;
  transition: opacity 200ms ease;
}

.member-details {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1024px) {
  .member-details {
    gap: 0.5rem;
  }
}

.member-name {
  color: var(--color-text-accent);
  text-align: center;
}
@media (max-width: 1024px) {
  .member-name {
    font-size: 2.1rem !important;
  }
}

.member-title {
  border-radius: 0 0 0.625rem 0.625rem;
  background: #384c92;
  color: var(--color-text-inverse);
  padding: 0.1em 0.7em;
}
@media (max-width: 1024px) {
  .member-title {
    font-size: 1.6rem !important;
  }
}

.team--image-container {
  position: relative;
  overflow: visible;
}
@media (max-width: 1024px) {
  .team--image-container {
    width: 75%;
  }
}

.member-dialogue {
  font-size: var(--text-sm);
  z-index: 5;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .member-dialogue {
    position: absolute;
    max-width: none;
    transition: opacity 0.3s ease, max-height 0.5s ease;
    display: none;
    top: 110%;
    width: 90vw;
  }
}
@media (min-width: 1025px) {
  .member-dialogue {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 30%;
    inset-inline-start: 65%;
    width: max-content;
    max-width: 200%;
    transition: opacity 200ms ease, visibility 200ms ease;
    transition-delay: 100ms;
  }
}

@media (max-width: 1024px) {
  .team-cards > *:nth-child(odd) .member-dialogue {
    right: 50%;
    margin-right: calc(-23vw + 1rem);
  }
}

@media (max-width: 1024px) {
  .team-cards > *:nth-child(even) .member-dialogue {
    left: 50%;
    margin-left: calc(-22vw + 1rem);
  }
}

.member-card.mobile-active .member-dialogue {
  pointer-events: auto;
  display: block;
}
.member-card.mobile-active .member-image {
  filter: grayscale(0);
}
.member-card.mobile-active .member-image--filter {
  opacity: 0;
}

@media (min-width: 1025px) {
  .team-cards > *:nth-child(3n) .member-dialogue {
    inset-inline-start: -50%;
  }
}

@media (min-width: 1025px) {
  .member-card:hover .member-dialogue {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  .member-card:hover .member-image {
    filter: grayscale(0);
  }
  .member-card:hover .member-image--filter {
    opacity: 0;
  }
}

.member-dialogue--text {
  padding: 4rem 5rem 3rem 3rem;
  border-radius: 4.375rem;
  border: 1px solid #62256c;
}
@media (max-width: 1024px) {
  .member-dialogue--text {
    padding: 4rem 4rem 3rem 4rem;
    background: #fff;
  }
}
@media (min-width: 1025px) {
  .member-dialogue--text {
    padding: 4rem 5rem 3rem 3rem;
    background: rgba(255, 255, 255, 0.9);
  }
}

.member-dialogue--close {
  position: absolute;
  transform: translateX(50%);
  right: 50%;
  top: 1rem;
  width: 2em;
  cursor: pointer;
  background: none;
  border: none;
}
@media (min-width: 1025px) {
  .member-dialogue--close {
    display: none;
  }
}
.member-dialogue--close svg {
  width: 100%;
}

.member-dialogue--close:hover path {
  fill: var(--color-bg-hover);
}

/********************************************** END PAGE ABOUT **************************************/
/********************** HEADER *******************************/
.site-header {
  z-index: 100;
  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.05);
  background: #fff;
}
@media (max-width: 1024px) {
  .site-header {
    --header-height: 6rem;
    width: 100%;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  }
}

@media (max-width: 767px) {
  .site-header.scrolling {
    --header-height: 5rem;
  }
}

.site-header {
  transition: height 300ms, padding 300ms;
  height: var(--header-height);
  color: var(--color-text-heading);
  position: relative;
  font-size: var(--text-base-plus);
}
@media (max-width: 1024px) {
  .site-header {
    display: flex;
    width: 100%;
  }
}
@media (min-width: 1025px) {
  .site-header {
    padding-block: 1.8rem;
  }
}

@media (min-width: 768px) {
  header.scrolling .site-header {
    padding-block: 0.5rem;
  }
}

header.scrolling .menu-toggle {
  transform: scale(0.9);
}

header.scrolling .header-logo {
  transform: scale(0.8);
}

.header-container {
  display: flex;
  align-items: center;
}
@media (max-width: 1024px) {
  .header-container {
    justify-content: space-between;
    width: 100%;
  }
}
@media (min-width: 1025px) {
  .header-container {
    justify-content: space-between;
    margin: 0 auto;
  }
}
@media (min-width: 1025px) and (max-width: 1285px) {
  .header-container {
    max-width: 85%;
    gap: 2em;
  }
}
@media (min-width: 1286px) {
  .header-container {
    max-width: 80%;
    gap: 5em;
  }
}

.header-logo {
  display: flex;
  transition: transform 300ms;
  transform-origin: left;
}
@media (max-width: 1024px) {
  .header-logo {
    padding-inline-end: 5%;
    height: 4rem;
  }
}
@media (min-width: 1025px) {
  .header-logo {
    flex-basis: 18rem;
    transform-origin: right;
  }
}

.header-logo svg {
  width: auto;
}
@media (max-width: 1024px) {
  .header-logo svg {
    height: 40px;
  }
}
@media (min-width: 1025px) {
  .header-logo svg {
    height: 56px;
  }
}

/********************** NAV *******************************/
@media (max-width: 1024px) {
  .menu-toggle {
    cursor: pointer;
    padding-inline-start: 5%;
    outline: none;
    background: transparent;
  }
  .toggle-icon {
    width: 32px;
    display: block;
  }
  .line {
    transition: all 0.3s ease-in-out;
    transform-origin: center;
  }
  .menu-toggle.opened .line1 {
    transform: rotate(45deg) translate(0px, 7px);
    transition-delay: 0.05s;
  }
  .menu-toggle.opened .line2 {
    opacity: 0;
    transform: scaleX(0.8);
    transition-delay: 0.02s;
  }
  .menu-toggle.opened .line3 {
    transform: rotate(-45deg) translate(0px, -7px);
    transition-delay: 0s;
  }
  .menu-toggle:hover .line {
    stroke-width: 2.1;
  }
}
@media (max-width: 1024px) {
  .header-nav {
    min-height: 100vh;
    scroll-behavior: smooth;
    position: absolute;
    top: var(--header-height);
    background: #fff;
    width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    transform: translateX(100%);
    opacity: 0;
    overflow-y: auto;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-overflow-scrolling: touch;
    background: linear-gradient(90deg, #944872 0%, #62a1b8 100%);
    color: var(--color-text-inverse);
    padding-bottom: 10rem;
  }
}

.header-nav.active {
  transform: translateX(0);
  opacity: 1;
}

.nav-container {
  display: flex;
  gap: 1rem;
  justify-content: center;
  position: relative;
}
@media (max-width: 1024px) {
  .nav-container {
    flex-direction: column;
    width: 77.5%;
    padding-inline-start: 20%;
    padding-top: 5rem;
  }
}

@media (min-width: 1025px) {
  .nav-item--has-submenu:hover .nav-item__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

/* Background Layer - extends from menu */
@media (min-width: 1025px) {
  .nav-item__submenu::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
    background: white;
    border-radius: 0 8px 0 0;
  }
}

@media (max-width: 1024px) {
  .nav-item__header {
    display: flex;
  }
}

@media (min-width: 1025px) {
  .nav-item__submenu {
    visibility: hidden;
    opacity: 0;
    display: table;
    white-space: nowrap;
    padding: 0.7em 1.7em 0.5em;
    position: absolute;
    top: 120%;
    inset-inline-start: 0;
    width: max-content;
    background: white;
    border-radius: 0 8px 8px 8px;
    box-shadow: 0 25px 25px rgba(0, 0, 0, 0.15);
    transform: translateY(-10px);
    z-index: 1000;
  }
}
@media (max-width: 1024px) {
  .nav-item__submenu {
    height: 0;
    overflow: hidden;
    padding-inline-start: 1rem;
    padding-top: 1rem;
  }
}

.nav-item__submenu-list {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
@media (min-width: 1025px) {
  .nav-item__submenu-list {
    padding: 12px 0;
  }
}

.nav-item__toggle {
  background: transparent;
  padding-inline: 2rem;
}
@media (min-width: 1025px) {
  .nav-item__toggle {
    display: none;
    visibility: hidden;
  }
}

.nav-item__toggle-icon {
  vertical-align: middle;
  transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.nav-item__toggle.arrow-rotated .nav-item__toggle-icon {
  transform: rotate(-90deg);
}

.nav-item {
  position: relative;
}

@media (max-width: 1024px) {
  .nav-item {
    padding: 1.2rem 0;
    margin-bottom: 1.2rem;
  }
}
@media (min-width: 1025px) {
  .nav-item {
    padding-inline-start: 1.7em;
  }
}

@media (max-width: 1024px) {
  .nav-item:not(:last-child) ::after {
    content: "";
    height: 1px;
    position: absolute;
    bottom: -0.8rem;
    left: 0;
    right: 0;
    background: var(--color-text-inverse);
  }
}
@media (min-width: 1025px) {
  .nav-item:not(:last-child) {
    padding-inline-end: 1.7em;
  }
}

.nav-item__submenu-link {
  display: block;
}
@media (max-width: 1024px) {
  .nav-item__submenu-link {
    font-size: 0.9em;
  }
}

.nav-item__link {
  display: inline-flex;
}
@media (max-width: 1024px) {
  .nav-item__link {
    line-height: 1;
  }
}

@media (min-width: 1025px) {
  .nav-item__link.active {
    color: var(--color-hover-accent);
  }
}

/********************** ADVOT - BLOB *******************************/
.blob-container {
  position: relative;
  z-index: 3;
}

.blob-wrapper {
  width: 100%;
}
@media (min-width: 600px) and (max-width: 1024px) {
  .blob-wrapper {
    max-width: 600px;
  }
}

.blob {
  overflow: visible;
  width: 100%;
}

@media (min-width: 1025px) {
  .absolute-desktop {
    position: absolute;
  }
}

@media (max-width: 1024px) {
  .absolute-mobile {
    position: absolute;
  }
}

.hero-image {
  flex-grow: 1;
}

@media (min-width: 768px) {
  .hero-image .blob-wrapper {
    display: flex;
    justify-content: center;
  }
}

.blob-image.positioned {
  opacity: 1;
  display: block;
}

.blob-image {
  opacity: 0;
  transition: opacity 1s ease-in-out;
  pointer-events: none;
}

.blob-image.active {
  opacity: 1;
}

/********************** HOME PAGE HERO *******************************/
.hero-home {
  z-index: 5;
}

.hero-home-layout {
  display: flex;
}
@media (max-width: 1024px) {
  .hero-home-layout {
    flex-direction: column;
  }
}
@media (min-width: 1025px) {
  .hero-home-layout {
    gap: 5rem;
  }
}

.hero-home .blob-container {
  margin-top: -1rem;
  margin-inline-start: 2rem;
}

.hero-content {
  display: flex;
  flex-direction: column;
  z-index: 4;
}

.hero-home--content {
  justify-content: center;
}
@media (max-width: 1024px) {
  .hero-home--content {
    max-width: 75%;
    margin: -4rem auto 0;
    gap: 1.5rem;
  }
}
@media (min-width: 1025px) {
  .hero-home--content {
    margin-top: 3rem;
    flex-basis: 48%;
    padding-inline-end: 18%;
    gap: 2rem;
  }
}

/********************** HOME PAGE - STATS *******************************/
.stats-section {
  width: 100%;
}
@media (max-width: 1024px) {
  .stats-section {
    margin-top: 4rem;
  }
}
@media (min-width: 1025px) {
  .stats-section {
    margin-top: -4rem;
  }
}

.stats-container {
  max-width: 90%;
  margin: 0 auto;
  color: var(--color-text-inverse);
}
@media (max-width: 1024px) {
  .stats-container {
    padding-block: 3rem 12rem;
  }
}
@media (min-width: 1025px) {
  .stats-container {
    padding-block: 3rem 6rem;
  }
}

.stats-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}
@media (max-width: 767px) {
  .stats-layout {
    gap: 3.5rem;
  }
}

.stats-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1.2fr repeat(5, 1fr);
  justify-content: space-between;
  gap: 3rem;
}
@media (max-width: 767px) {
  .stats-grid {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    gap: 2rem;
  }
}

.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.stat-number {
  font-family: var(--font-family-seconday);
  font-weight: 400;
  line-height: 1.1;
}

.stat-label {
  text-align: center;
}
@media (max-width: 767px) {
  .stat-label {
    font-size: 1.3rem;
  }
}

/********************** HOME PAGE - ACTIVITY *******************************/
@media (max-width: 1024px) {
  .home__activity {
    margin-bottom: var(--section-gap-xl);
  }
}
@media (min-width: 1025px) {
  .home__activity {
    margin-block: var(--section-gap-md);
  }
}

.home__activity--layout {
  display: flex;
  gap: 5rem;
}
@media (max-width: 1024px) {
  .home__activity--layout {
    flex-direction: column;
    margin: 0 auto;
    gap: 1.5rem;
  }
}
@media (min-width: 1025px) {
  .home__activity--layout {
    align-items: flex-start;
  }
}

@media (max-width: 1024px) {
  .home__activity--blob {
    width: 100%;
    margin-top: -10rem;
    transform: translateX(8%);
  }
}
@media (min-width: 1025px) {
  .home__activity--blob {
    margin-top: -8%;
    margin-inline-start: 1rem;
  }
}

@media (min-width: 768px) {
  .home__activity--layout > :first-child {
    flex-grow: 1;
  }
}

@media (max-width: 1024px) {
  .home__activity--layout > :last-child {
    max-width: var(--mobile-width-md);
    margin: 0 auto;
  }
}
@media (min-width: 1025px) {
  .home__activity--layout > :last-child {
    flex-basis: 55%;
    padding-inline-end: 10%;
    padding-inline-start: 5rem;
  }
}

.home__activity--content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (max-width: 767px) {
  .home__activity--content {
    gap: 1.6rem;
  }
}

.home__activity--grid {
  display: grid;
  grid-template-columns: 1fr 13rem 1fr;
  grid-template-rows: auto auto auto;
  gap: 4rem 0;
}
@media (max-width: 1024px) {
  .home__activity--grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, auto);
    gap: 2.4rem;
  }
}

@media (min-width: 768px) {
  .home__activity--card__right-1 {
    grid-area: 1/1;
  }
}
@media (max-width: 767px) {
  .home__activity--card__right-1 {
    grid-row: 1;
  }
}

@media (min-width: 768px) {
  .home__activity--card__right-2 {
    grid-area: 2/1;
  }
}
@media (max-width: 767px) {
  .home__activity--card__right-2 {
    grid-row: 2;
  }
}

@media (min-width: 768px) {
  .home__activity--card__right-3 {
    grid-area: 3/1;
  }
}
@media (max-width: 767px) {
  .home__activity--card__right-3 {
    grid-row: 3;
  }
}

@media (max-width: 1024px) {
  .home__activity--card__left-1 {
    grid-row: 4;
  }
}
@media (min-width: 1025px) {
  .home__activity--card__left-1 {
    grid-area: 1/3;
  }
}

@media (max-width: 1024px) {
  .home__activity--card__left-2 {
    grid-row: 5;
  }
}
@media (min-width: 1025px) {
  .home__activity--card__left-2 {
    grid-area: 2/3;
  }
}

@media (max-width: 1024px) {
  .home__activity--card__left-3 {
    grid-row: 6;
  }
}
@media (min-width: 1025px) {
  .home__activity--card__left-3 {
    grid-area: 3/3;
  }
}

@media (min-width: 1025px) {
  .activity-card--bottom-align {
    align-self: end;
    margin-bottom: 6px;
  }
}

.home__activitiy--card {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
@media (max-width: 1024px) {
  .home__activitiy--card {
    gap: 0.8rem;
  }
}

.home__activity--card__title {
  font-size: var(--text-md);
  color: var(--color-text-heading-small);
  line-height: 1;
}

@media (min-width: 1025px) {
  .home__activity--card__text {
    max-width: 80%;
  }
}

/********************** HOME PAGE - PARTNERS *******************************/
@media (max-width: 1024px) {
  .home-partners {
    margin-bottom: 2rem;
  }
}
@media (min-width: 1025px) {
  .home-partners {
    margin-bottom: var(--section-gap-lg);
  }
}

.page-home .partners__logo--carousel {
  display: block;
}

.home__partners--layout {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .home__partners--layout {
    align-items: center;
    gap: 1rem;
  }
}
@media (min-width: 1025px) {
  .home__partners--layout {
    gap: 8rem;
  }
}

/********************** PROJECTS DOWNLOAD *******************************/
@media (max-width: 1024px) {
  .philantropy-cta--section {
    --projects__blob-height: 40rem;
  }
}

@media (max-width: 1024px) {
  .page-home .philantropy-cta--section {
    margin-block: var(--section-gap-md) 18rem;
  }
}
@media (min-width: 1025px) and (max-width: 1600px) {
  .page-home .philantropy-cta--section {
    margin-block: 8% 5%;
  }
}
@media (min-width: 1601px) {
  .page-home .philantropy-cta--section {
    margin-block: 8% 10%;
  }
}

.philantropy-cta--layout {
  display: flex;
}
@media (max-width: 1024px) {
  .philantropy-cta--layout {
    flex-direction: column;
    padding-top: 3.2rem;
    height: var(--projects__blob-height);
  }
}

@media (min-width: 1025px) {
  .page-home .philantropy-cta--layout {
    padding: 5.5rem 7rem;
  }
}

.philantropy-cta--content {
  background: #fff;
  display: flex;
}
@media (max-width: 1024px) {
  .philantropy-cta--content {
    padding: 3.2rem 3.4rem;
    border-radius: 0 0 4rem 0;
    gap: 2.4rem;
    margin-inline-start: 2.4rem;
  }
}
@media (min-width: 1025px) {
  .philantropy-cta--content {
    flex-basis: 60%;
    gap: 2rem;
    padding: 4.5rem 7.5rem 6.5rem 7.5rem;
    border-radius: 0 0 2em 0;
  }
}

@media (max-width: 1024px) {
  .philantropy-cta--image {
    height: var(--projects__blob-height);
    width: var(--projects__blob-height);
    align-self: center;
    margin-top: 4rem;
  }
}
@media (min-width: 1025px) {
  .philantropy-cta--image {
    flex-grow: 1;
    margin-top: -12%;
  }
}

@media (min-width: 1025px) {
  .page-home .philantropy-cta--image {
    margin-inline-start: -3%;
  }
}

@media (min-width: 1025px) {
  .page-home .philantropy-cta--image .blob-wrapper {
    inset-inline-start: -35%;
  }
}

.philantropy-cta--title {
  color: var(--color-text-heading-small);
  line-height: 1;
  font-weight: 300;
  max-width: 18ch;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
@media (max-width: 1024px) {
  .philantropy-cta--title {
    font-size: 2.5rem;
  }
}
@media (min-width: 1025px) {
  .philantropy-cta--title {
    font-size: clamp(2.1rem, 2.123vw - 0.076rem, 4rem);
  }
}

/********************** HOME PAGE - REFUAA MESHALEVET *******************************/
.integrative-overview {
  position: relative;
}
@media (max-width: 1024px) {
  .integrative-overview {
    margin-top: 5rem;
  }
}
@media (min-width: 1025px) {
  .integrative-overview {
    margin-block: calc(var(--section-gap-lg) * 1.2);
  }
}

.integrative-overview-layout {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  position: relative;
}
@media (max-width: 1024px) {
  .integrative-overview-layout {
    align-items: center;
    gap: 4rem;
  }
}

.home__integrated--icon-grid {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .home__integrated--icon-grid {
    flex-direction: column;
    align-items: center;
    gap: 6rem;
  }
}
@media (min-width: 1025px) {
  .home__integrated--icon-grid {
    width: 75%;
  }
}

.home__integrated--icon-card path {
  transition: fill 0.3s ease;
}

.home__integrated--icon-card h3 {
  transition: color 0.3s ease;
}

.home__integrated--icon-card {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media (max-width: 1024px) {
  .home__integrated--icon-card {
    flex-direction: column;
    gap: 1.4rem;
  }
}

.home__integrated--icon-card svg {
  height: 110px;
}
@media (max-width: 1024px) {
  .home__integrated--icon-card svg {
    height: 100px;
  }
}

.home__integrated--icon-card h3 {
  color: var(--color-text-heading-small);
  line-height: 1.1;
}
@media (max-width: 1024px) {
  .home__integrated--icon-card h3 {
    text-align: center;
    line-height: 1;
  }
}

.home__integrated--image-grid {
  display: flex;
}
@media (max-width: 1024px) {
  .home__integrated--image-grid {
    flex-direction: column;
    gap: 2.4rem;
  }
}
@media (min-width: 1025px) {
  .home__integrated--image-grid {
    margin-top: 4rem;
    gap: 0.5rem;
  }
}

.integrative-overview--image-card {
  position: relative;
}

@media (max-width: 1024px) {
  .integrative-overview--image-card img {
    width: 100%;
  }
}

.integrative-image--filter img {
  filter: grayscale(1);
}

.integrative-image--filter::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%), linear-gradient(278deg, rgba(107, 107, 166, 0.6) 2.13%, rgba(248, 246, 239, 0.6) 95.62%);
  mix-blend-mode: hard-light;
  z-index: 1;
  transition: opacity 300ms ease;
}
@media (max-width: 1024px) {
  .integrative-image--filter::after {
    height: calc(100% - 1.8rem);
  }
}

.integrative-overview--image-label {
  color: var(--color-text-heading-small);
  font-weight: var(--fw-medium);
  line-height: 1.1;
  z-index: 3;
}
@media (max-width: 1024px) {
  .integrative-overview--image-label {
    position: relative;
    padding-inline: 5%;
    padding-block: 1.2rem;
    text-align: center;
    background: #fff;
    max-width: 90%;
    margin: -2.5rem auto 0 auto;
  }
}
@media (min-width: 1025px) {
  .integrative-overview--image-label {
    display: flex;
    align-items: center;
    position: absolute;
    max-width: 20ch;
    min-height: 27%;
    right: 0;
    bottom: 8%;
    padding: 2rem 5.5%;
    border-radius: 0 0 0 2.5rem;
    background: #f8f6ef;
  }
}

/********************** HOME PAGE - CONTACT FORM *******************************/
@media (max-width: 1024px) {
  .contact-home--wrapper {
    margin-top: 8rem;
  }
}

.contact--section__layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 1024px) {
  .contact--section__layout {
    max-width: 75%;
    margin: 0 auto;
    gap: 2.4rem;
  }
}

.contact--section__heading {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact--section__heading h3 {
  margin-top: 3rem;
}

@media (max-width: 1024px) {
  .contact--overview {
    width: 25ch;
    font-size: 1.7rem;
  }
}

.contact-form {
  display: grid;
  grid-template-columns: 10fr 2% 10fr;
  grid-template-rows: auto;
  font-weight: var(--fw-book);
}
@media (max-width: 1024px) {
  .contact-form {
    grid-template-columns: 1fr;
    font-size: 1.7rem;
    margin-bottom: 3rem;
  }
}
@media (min-width: 1025px) {
  .contact-form {
    gap: 4.5rem;
    margin-block: 2rem 6rem;
  }
}

.contact-form .form-group:not(.submit-button-wrapper) {
  position: relative;
}
@media (max-width: 1024px) {
  .contact-form .form-group:not(.submit-button-wrapper) {
    margin-block: 3rem;
  }
}

.contact-form .form-group:first-child {
  margin-top: 0;
}

@media (max-width: 1024px) {
  .submit-button-wrapper {
    margin-top: 3rem;
  }
}

@media (max-width: 1024px) {
  .contact-form .form-group.captcha,
  .contact-form .form-group:nth-child(4) {
    margin-block: initial;
  }
}

@media (min-width: 1025px) {
  .contact-form > :nth-child(1) {
    grid-column: 1;
  }
}

@media (min-width: 1025px) {
  .contact-form > :nth-child(2) {
    grid-column: 1;
  }
}

@media (min-width: 1025px) {
  .contact-form > :nth-child(3) {
    grid-column: 1;
  }
}

/* opt-in */
@media (max-width: 1024px) {
  .contact-form > :nth-child(4) {
    grid-row: 5;
    margin-block: 0;
  }
}
@media (min-width: 1025px) {
  .contact-form > :nth-child(4) {
    grid-column: 1;
    margin-top: 4rem;
  }
}

/* Text Box */
@media (min-width: 1025px) {
  .contact-form > :nth-child(5) {
    grid-column: 3;
    grid-row: 1/4;
    justify-self: end;
    height: 120% !important;
  }
}

/* button */
@media (max-width: 1024px) {
  .contact-form > :last-child {
    justify-self: end;
  }
}
@media (min-width: 1025px) {
  .contact-form > :last-child {
    grid-column: 3;
    justify-self: end;
    align-self: end;
  }
}

.contact-form > :nth-child(6) {
  left: unset !important;
  right: -9999px !important;
}

.contact-form label {
  font-weight: inherit;
  font-size: inherit;
  position: absolute;
  right: 0;
  bottom: -1.7em;
  margin: 0;
}

.contact-form .form-group > label span {
  margin-inline-start: 0.2rem;
  color: var(--color-text-heading);
}

.contact-form label a {
  color: var(--color-text-heading);
}

.contact-form input {
  line-height: 1.1;
  font-weight: inherit;
  font-size: inherit;
  border-bottom: 1px solid var(--color-border);
  background: transparent;
}

.contact-form button {
  font-weight: inherit;
  line-height: 1.7;
  box-shadow: unset;
}

form textarea {
  border: 1px solid var(--color-border) !important;
  border-radius: 2rem;
  padding: 2rem !important;
  font-weight: inherit;
  margin-top: 0.7em;
}

.contact-form .options-wrapper input {
  border: 1px solid var(--color-border) !important;
  border-radius: 0.2em;
}

::placeholder {
  color: rgba(24, 32, 56, 0.8);
  font-size: inherit;
}

.contact-form > :nth-child(4) .label,
.contact-form > :nth-child(5) > label {
  position: absolute;
  right: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

form .options-wrapper {
  max-width: 80%;
}

form .options-wrapper li {
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
}

form .options-wrapper input[name="opt-in[]"] {
  border-color: var(--color-border);
}

form .options-wrapper input[name="opt-in[]"] {
  width: 13px;
  height: 13px;
}

form .options-wrapper input,
form .options-wrapper label {
  margin: 0px;
}

form .options-wrapper label span {
  display: block;
}

form .options-wrapper input[name="opt-in[]"] + label {
  position: static;
  font-weight: var(--fw-book);
  font-size: 0.8em;
  line-height: 1.4;
  margin-top: -0.2em;
  color: #6d6d70;
}

input[type=email] {
  direction: ltr;
  text-align: left;
}

/********************** FOOTER *******************************/
body > footer {
  z-index: 2;
}
@media (max-width: 1024px) {
  body > footer {
    margin-top: 5rem;
  }
}
@media (min-width: 1025px) {
  body > footer {
    margin-top: 12rem;
  }
}

.site-footer {
  line-height: 1.1;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .site-footer {
    font-size: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .site-footer {
    --footer-gap: 4rem;
    padding-block: 3rem 6rem;
    background: linear-gradient(0deg, rgba(118, 64, 143, 0.7) 0%, rgba(76, 172, 192, 0.8) 100%);
  }
}
@media (min-width: 1025px) {
  .site-footer {
    --footer-gap: 9rem;
    padding-block: 3rem 1rem;
    background: linear-gradient(90deg, rgba(69, 158, 175, 0.65) 0%, rgba(135, 18, 98, 0.65) 100%);
  }
}

.footer-container {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .footer-container {
    flex-direction: column;
    padding-inline-start: 13%;
    gap: 4rem;
    margin-inline-end: 4rem;
  }
}

.footer-logo-wrapper {
  display: inline-flex;
}

.footer-content {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: var(--footer-gap);
}
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: 1fr;
    max-width: max-content;
  }
}

@media (max-width: 1024px) {
  .footer-grid li:not(:last-child) {
    margin-bottom: 0.7rem;
  }
}
@media (min-width: 1025px) {
  .footer-grid li:not(:last-child) {
    margin-bottom: 1.1rem;
  }
}

.footer-nav {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: var(--footer-gap);
  position: relative;
}
@media (max-width: 1024px) {
  .footer-nav {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1025px) {
  .footer-nav {
    justify-self: center;
  }
}

.footer-nav::after,
.footer-nav--primary::after {
  content: "";
  position: absolute;
  background-color: #76408f;
}
@media (max-width: 1024px) {
  .footer-nav::after,
  .footer-nav--primary::after {
    bottom: calc(var(--footer-gap) / 2 * -1);
    right: 0;
    left: 0;
    height: 1px;
  }
}
@media (min-width: 1025px) {
  .footer-nav::after,
  .footer-nav--primary::after {
    left: calc(-1 * (var(--footer-gap)) / 2);
    top: -5%;
    width: 1px;
    height: 105%;
  }
}

@media (max-width: 1024px) {
  .footer-contact-info::after {
    content: "";
    position: absolute;
    background-color: #76408f;
    bottom: calc(var(--footer-gap) / 2 * -1);
    right: 0;
    left: 0;
    height: 1px;
  }
}

.footer-nav--primary {
  position: relative;
}

.footer-nav--secondary {
  font-weight: 200;
}

.footer-nav-container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  column-gap: 5rem;
}

.footer-contact-info {
  font-weight: 200;
  position: relative;
}

.footer-logo-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 1024px) {
  .footer-logo-container {
    gap: 1rem;
  }
}

@media (max-width: 1024px) {
  .footer-logo-container p {
    font-size: 1.7rem;
  }
}

.footer-logo {
  max-width: 300px;
}
@media (max-width: 1024px) {
  .footer-logo {
    width: 55%;
    max-width: 170px;
  }
}

.footer-credits {
  display: flex;
  font-weight: 200;
  gap: 3rem;
  font-size: 0.75em;
}
@media (max-width: 1024px) {
  .footer-credits {
    flex-direction: column;
    gap: 0.8rem;
  }
}

.footer-credits p {
  margin: 0;
}
