@layer blocks {
  ._section_jvhm8_2 {
    --section-gap: 2rem;
    --supporters-card-width: 14rem;
    --supporters-card-gutter: max(1rem, calc((100vw - var(--supporters-card-width)) / 2));
    padding-block: var(--osfk-size-60);
  }
  @media (width >= 1024px) {
    ._section_jvhm8_2 {
      --section-gap: 3rem;
      padding-block: var(--osfk-size-100);
      padding-inline: var(--osfk-size-64);
    }
  }
  @media (width <= 1024px) {
    ._section_jvhm8_2 {
      padding-inline: 0;
    }
  }
  ._header_jvhm8_20 {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-inline-size: 35.8rem;
    margin-inline: auto;
    padding-inline: var(--osfk-size-30);
    text-align: center;
  }
  @media (width >= 1024px) {
    ._header_jvhm8_20 {
      padding-inline: 0;
    }
  }
  ._heading_jvhm8_34 {
    margin: 0;
  }
  :where(._heading_jvhm8_34) {
    font-family: var(--osfk-font-headline);
    font-weight: 400;
    line-height: 1.2;
    font-size: 2em;
  }
  @media (min-width: 1024px) {
    :where(._heading_jvhm8_34) {
      font-size: 2.8em;
    }
  }
  ._description_jvhm8_48 {
    margin-block-start: var(--osfk-size-20);
  }
  :where(._description_jvhm8_48) {
    font-family: var(--osfk-font-primary);
    font-weight: 300;
    line-height: 1.5;
    font-size: 0.9rem;
  }
  @media (min-width: 1024px) {
    :where(._description_jvhm8_48) {
      font-size: 1rem;
    }
  }
  ._description_jvhm8_48 p {
    margin: 0;
  }
  ._description_jvhm8_48 p + p {
    margin-block-start: var(--osfk-size-16);
  }
  ._description_jvhm8_48 a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }
  ._grid_jvhm8_73 {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  @media (width <= 1024px) {
    ._grid_jvhm8_73 {
      scrollbar-width: none;
      scroll-padding-inline-start: var(--supporters-card-gutter);
      scroll-snap-type: x mandatory;
      overflow-x: auto;
      display: flex;
      flex-wrap: nowrap;
      gap: var(--osfk-size-10);
    }
    ._grid_jvhm8_73::-webkit-scrollbar {
      display: none;
    }
  }
  @media (width >= 1024px) {
    ._grid_jvhm8_73 {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0.85rem;
      max-inline-size: 64rem;
      margin-inline: auto;
    }
  }
  ._item_jvhm8_101 {
    margin: 0;
    padding: 0;
  }
  @media (width <= 1024px) {
    ._item_jvhm8_101 {
      scroll-snap-align: start;
      flex: 0 0 var(--supporters-card-width);
    }
    ._item_jvhm8_101:first-child {
      margin-inline-start: var(--supporters-card-gutter);
    }
    ._item_jvhm8_101:last-child {
      margin-inline-end: var(--supporters-card-gutter);
    }
  }
  ._card_jvhm8_117 {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-areas: "stack";
    aspect-ratio: 307/266;
    block-size: 100%;
    border-radius: 0.4645rem;
    background: var(--osfk-color-off-white);
  }
  ._card_jvhm8_117 > * {
    grid-area: stack;
    min-block-size: 0;
  }
  @media (width <= 1024px) {
    ._card_jvhm8_117 {
      aspect-ratio: auto;
      block-size: 100%;
      min-block-size: calc(var(--supporters-card-width) * 266 / 307);
    }
  }
  ._cardInteractive_jvhm8_138 {
    cursor: pointer;
  }
  ._cardInteractive_jvhm8_138:focus-visible {
    outline: 0.1rem solid var(--osfk-color-black);
    outline-offset: 0.1rem;
  }
  ._logoFace_jvhm8_145 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--osfk-size-20);
    opacity: 1;
    transition: opacity 0.2s ease;
  }
  ._cardOpen_jvhm8_153 ._logoFace_jvhm8_145 {
    opacity: 0;
  }
  @media (hover: hover) {
    ._cardInteractive_jvhm8_138:hover ._logoFace_jvhm8_145, ._cardInteractive_jvhm8_138:focus-within ._logoFace_jvhm8_145 {
      opacity: 0;
    }
  }
  ._logoWrap_jvhm8_161 {
    position: relative;
    inline-size: 7rem;
    block-size: 7rem;
  }
  ._logo_jvhm8_145 {
    position: absolute;
    inset: 0;
    display: grid;
  }
  ._logo_jvhm8_145 > img {
    object-fit: contain !important;
  }
  ._logo_jvhm8_145 > span {
    display: none !important;
  }
  ._overlay_jvhm8_177 {
    display: flex;
    flex-direction: column;
    gap: var(--osfk-size-20);
    justify-content: space-between;
    padding: var(--osfk-size-20);
    color: var(--osfk-color-white);
    opacity: 0;
    background: var(--osfk-color-black);
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  ._cardOpen_jvhm8_153 ._overlay_jvhm8_177 {
    pointer-events: auto;
    opacity: 1;
  }
  @media (hover: hover) {
    ._cardInteractive_jvhm8_138:hover ._overlay_jvhm8_177, ._cardInteractive_jvhm8_138:focus-within ._overlay_jvhm8_177 {
      pointer-events: auto;
      opacity: 1;
    }
  }
  ._overlayText_jvhm8_199 {
    margin: 0;
    padding: 0;
    font-family: var(--osfk-font-primary);
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--osfk-color-white);
  }
  ._overlayButton_jvhm8_208 {
    --button-bg: var(--osfk-color-white) !important;
    --button-fg: var(--osfk-color-black) !important;
    align-self: flex-start;
    font-size: 0.8rem;
  }
  ._dots_jvhm8_214 {
    display: flex;
    gap: var(--osfk-size-8);
    justify-content: center;
  }
  @media (width >= 1024px) {
    ._dots_jvhm8_214 {
      display: none;
    }
  }
  ._dot_jvhm8_214 {
    cursor: pointer;
    inline-size: 0.4rem;
    block-size: 0.4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    opacity: 0.3;
    background: var(--surface-foreground, var(--osfk-color-black));
    transition: opacity 200ms ease;
  }
  ._dot_jvhm8_214._dotActive_jvhm8_235 {
    opacity: 1;
  }
  ._infoButton_jvhm8_238 {
    cursor: pointer;
    position: absolute;
    z-index: 2;
    right: 0.4rem;
    bottom: 0.4rem;
    display: none;
    align-items: center;
    justify-content: center;
    inline-size: 2.2rem;
    block-size: 2.2rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 1.1rem;
    color: var(--osfk-color-black);
    background: transparent;
    transition: color 0.2s ease;
  }
  ._cardOpen_jvhm8_153 ._infoButton_jvhm8_238 {
    color: var(--osfk-color-white);
  }
  ._infoButton_jvhm8_238:focus-visible {
    outline: 0.1rem solid var(--osfk-color-black);
    outline-offset: 0.1rem;
  }
  @media (width <= 1024px) {
    ._infoButton_jvhm8_238 {
      display: inline-flex;
    }
  }
}