:root {
  color-scheme: light;
  --cream: rgba(252, 250, 241, 1);
  --purple: rgba(152, 79, 145, 1);
  --primary-button: #984f91;
  --primary-button-hover: #5d295f;
  --ink: #221a1f;
  --panel: rgba(252, 250, 241, 0.22);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: rgba(252, 250, 241, 1);
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  font-family:
    "Open Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  color: var(--cream);
  background: rgba(252, 250, 241, 1);
  overflow-x: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

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

body.is-menu-open {
  overflow: hidden;
}

#app {
  min-height: 100vh;
}

.hero {
  position: relative;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
}

.hero__video,
.hero__image,
.hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hero__video {
  z-index: 0;
  object-fit: cover;
  object-position: center center;
}

.hero__image {
  z-index: 1;
  object-fit: cover;
  object-position: center center;
  filter: grayscale(1);
  transition: opacity 500ms ease;
}

.hero__video.is-ready + .hero__image {
  opacity: 0;
}

.hero__shade {
  z-index: 2;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.08) 42%, rgba(0, 0, 0, 0.42) 100%),
    rgba(0, 0, 0, 0.18);
  opacity: 0.5;
}

.site-header {
  position: fixed;
  z-index: 9999;
  top: clamp(28px, 4.44svh, 40px);
  left: 50%;
  display: flex;
  width: min(100%, 1440px);
  min-height: 67px;
  align-items: center;
  justify-content: space-between;
  padding: 0 52px;
  transform: translateX(-50%);
}

/* Volunteer page: editable tracks carousel module. */
.volunteer-tracks.volunteer-tracks--module {
  min-height: 0;
  padding: 120px 0;
}

.volunteer-tracks--module .volunteer-tracks__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.volunteer-tracks--module .volunteer-tracks__carousel {
  --tracks-side-offset: max(96px, calc((100vw - 1440px) / 2 + 96px));
  padding-bottom: 0;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
}

.volunteer-tracks--module .volunteer-tracks__control:disabled {
  cursor: default;
  opacity: .35;
}

.volunteer-tracks--module .volunteer-tracks__carousel.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.volunteer-tracks--module .volunteer-tracks__carousel.is-dragging .volunteer-track-card {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.partners-carousel.volunteer-tracks--module {
  min-height: min(920px, 100svh);
  padding: 120px 0;
}

.partners-carousel .volunteer-tracks__heading {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
}

.partners-carousel .volunteer-tracks__heading h2 {
  font-size: 50px;
  line-height: 1.18;
}

.partners-carousel .volunteer-tracks__controls {
  margin-top: 294px;
  padding-right: 0;
}

.partners-carousel .volunteer-tracks__carousel {
  margin-top: 24px;
}

.partners-carousel .volunteer-track-card {
  width: 510px;
  min-width: 510px;
  height: 235px;
  grid-template-rows: auto 1fr;
  padding: 24px;
}

.partners-carousel .volunteer-track-card h3 {
  margin: 0;
  font-size: 32px;
}

.partners-carousel .volunteer-track-card p:not(.volunteer-track-card__time) {
  align-self: start;
  margin-top: 12px;
}

@media (max-width: 1247px) {
  .partners-carousel.volunteer-tracks--module {
    min-height: 0;
    padding: 96px 0;
  }

  .partners-carousel .volunteer-tracks__controls {
    margin-top: clamp(120px, 23vw, 260px);
  }
}

@media (max-width: 600px) {
  .partners-carousel.volunteer-tracks--module {
    padding: 64px 0;
  }

  .partners-carousel .volunteer-tracks__heading h2 {
    font-size: 40px;
  }

  .partners-carousel .volunteer-tracks__controls {
    margin-top: 96px;
  }

  .partners-carousel .volunteer-track-card {
    width: calc(100vw - 48px);
    min-width: calc(100vw - 48px);
    height: auto;
    min-height: 260px;
  }
}

@media (max-width: 1247px) {
  .volunteer-tracks.volunteer-tracks--module {
    min-height: 0;
    padding: 98px 0 96px;
  }

  .volunteer-tracks--module .volunteer-tracks__inner {
    padding: 0 24px;
  }

  .volunteer-tracks--module .volunteer-tracks__carousel {
    --tracks-side-offset: 24px;
    padding-bottom: 0;
  }
}

.logo {
  display: flex;
  width: 44px;
  height: 67px;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding: 4px;
  border-radius: 4px;
  background: rgba(252, 250, 241, 1);
  transition: padding 180ms ease;
}

.logo img {
  width: 36px;
  height: 59px;
  transition:
    width 180ms ease,
    height 180ms ease;
}

.logo:hover {
  padding: 0;
}

.logo:hover img {
  width: 44px;
  height: 67px;
}

.nav-panel {
  display: flex;
  width: auto;
  height: 67px;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 4px;
  border-radius: 8px;
  background: rgba(34, 26, 31, 0.62);
  box-shadow: none;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.nav-panel__link,
.nav-panel__join,
.hero__button {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 18px;
  line-height: 1;
}

.nav-panel__link {
  width: 177px;
  height: 59px;
  gap: 8px;
  padding: 0;
  border: 0;
  appearance: none;
  color: var(--cream);
  background: transparent;
  cursor: pointer;
}

.nav-panel__link::after {
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 6V8H22.59L6 24.59L7.41 26L24 9.41V24H26V6H8Z' fill='%23FFFCF8'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  content: "";
  opacity: 0;
  transform: translate(-4px, 1px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.nav-panel__link:hover::after {
  opacity: 1;
  transform: translate(0, 1px);
}

.nav-panel__join {
  width: 177px;
  height: 59px;
  color: var(--cream);
  background: var(--primary-button);
  transition:
    color 180ms ease,
    background-color 180ms ease;
}

.nav-panel__join:is(:hover, :focus-visible) {
  color: var(--cream);
  background: var(--primary-button-hover);
}

.nav-panel--research {
  width: 337px;
}

.nav-panel--research .nav-panel__link {
  width: 156px;
}

.nav-panel__contact {
  display: flex;
  width: 169px;
  height: 59px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.nav-panel__contact:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  box-shadow: inset 0 0 0 1px rgba(152, 79, 145, 1);
}

.site-menu {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: start center;
  overflow-y: auto;
  padding: 0;
  color: #462143;
  background: linear-gradient(126.47deg, rgba(252, 250, 241, 1) 36.66%, #984f91 128.05%);
  transition:
    opacity 320ms ease,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  transform: translateY(-100%);
  -webkit-overflow-scrolling: touch;
}

.site-menu[hidden] {
  display: none;
}

.site-menu.is-open {
  opacity: 1;
  transform: translateY(0);
}

.site-menu.is-closing {
  opacity: 0.96;
  transform: translateY(-100%);
  transition:
    opacity 240ms ease,
    transform 360ms cubic-bezier(0.64, 0, 0.78, 0);
}

.site-menu__panel {
  position: relative;
  width: min(100%, 1440px);
  min-height: 100svh;
  margin: 0 auto;
  padding: 66px 54px 72px;
}

.site-menu__top {
  display: flex;
  min-height: 44px;
  justify-content: flex-end;
  gap: 174px;
}

.site-menu__language {
  position: relative;
  display: inline-flex;
  min-width: 134px;
  height: 34px;
  border-radius: 6px;
  background: rgba(214, 189, 225, 0.72);
}

.site-menu__language::after {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #462143;
  border-bottom: 1px solid #462143;
  content: "";
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}

.site-menu__language select {
  width: 100%;
  height: 100%;
  padding: 0 32px 0 16px;
  border: 0;
  border-radius: 6px;
  appearance: none;
  color: #462143;
  background: transparent;
  cursor: pointer;
  font: inherit;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.site-menu__language:hover select {
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.site-menu__language:hover::after {
  border-color: var(--cream);
}

.site-menu__close {
  position: fixed;
  top: clamp(24px, 4vw, 54px);
  right: max(24px, calc((100vw - 1440px) / 2 + 54px));
  z-index: 10002;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.site-menu__close::before,
.site-menu__close::after {
  position: absolute;
  top: 21px;
  left: 4px;
  width: 38px;
  height: 3px;
  background: #462143;
  content: "";
  transform: rotate(45deg);
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.site-menu__close::after {
  transform: rotate(-45deg);
}

.site-menu__close:hover::before {
  transform: rotate(45deg) scaleX(0.86);
}

.site-menu__close:hover::after {
  transform: rotate(-45deg) scaleX(0.86);
}

.site-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin-top: 112px;
}

.site-menu__column {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.site-menu__column a,
.site-menu__dropdown-toggle {
  position: relative;
  display: flex;
  min-height: 78px;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(214, 189, 225, 0.7);
  appearance: none;
  color: inherit;
  background: transparent;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.1;
  text-align: left;
  cursor: pointer;
  transition:
    color 180ms ease,
    padding 180ms ease;
}

.site-menu__column a::after,
.site-menu__dropdown-toggle::after {
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 26V24H22.59L6 7.41L7.41 6L24 22.59V10H26V26H10Z' fill='%23462143'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 32px 32px;
  content: "";
  opacity: 0;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.site-menu__column a:hover,
.site-menu__dropdown-toggle:hover,
.site-menu__dropdown.is-open .site-menu__dropdown-toggle {
  color: rgba(152, 79, 145, 1);
  padding-left: 16px;
}

.site-menu__column a:hover::after,
.site-menu__dropdown-toggle:hover::after,
.site-menu__dropdown.is-open .site-menu__dropdown-toggle::after {
  opacity: 1;
  transform: rotate(180deg);
}

.site-menu__column--primary a::after,
.site-menu__dropdown-toggle::after,
.site-menu__column a[href*="#projects"]::after,
.site-menu__column a[href*="#blog"]::after,
.site-menu__column a[href*="#transparency"]::after,
.site-menu__column a[href*="#documents"]::after {
  opacity: 1;
}

.site-menu__dropdown {
  position: relative;
  z-index: 3;
  overflow: hidden;
  transition: padding-bottom 320ms ease;
}

.site-menu__column--primary {
  position: relative;
}

.site-menu__dropdown-panel {
  display: grid;
  max-height: 0;
  padding-top: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(-4px);
  transition:
    max-height 320ms ease,
    padding-top 320ms ease,
    opacity 320ms ease,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-menu__dropdown.is-open .site-menu__dropdown-panel {
  max-height: 420px;
  padding-top: 14px;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.site-menu__dropdown-panel a {
  min-height: 38px;
  justify-content: flex-end;
  padding: 0 0 0 16px;
  border-bottom: 0;
  font-family: "Open Sans", Inter, sans-serif;
  font-size: 24px;
  line-height: 1.2;
}

.site-menu__dropdown-panel a::after {
  content: none;
}

.site-menu__dropdown-panel a:hover {
  color: rgba(152, 79, 145, 1);
  padding-left: 16px;
}

.site-menu__contacts {
  margin-top: 126px;
}

.site-menu__contacts h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 118px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.site-menu__contact-links {
  display: flex;
  gap: 32px;
  margin-top: 28px;
  font-size: 20px;
  line-height: 1.3;
}

.site-menu__contact-links a {
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.site-menu__contact-links a:hover {
  color: rgba(152, 79, 145, 1);
  transform: translateY(-2px);
}

.site-menu__social {
  display: flex;
  align-items: center;
  gap: 19px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.site-menu__social a {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.site-menu__social img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(43%) sepia(22%) saturate(1625%) hue-rotate(254deg) brightness(83%) contrast(83%);
  transition: filter 180ms ease;
}

.site-menu__social a:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.site-menu__social a:hover img,
.site-menu__social a:focus-visible img {
  filter: brightness(0) saturate(100%) invert(14%) sepia(20%) saturate(2396%) hue-rotate(255deg) brightness(91%) contrast(94%);
}

.site-menu--standard-v2 .site-menu__social img {
  filter: brightness(0) saturate(100%) invert(14%) sepia(20%) saturate(2396%) hue-rotate(255deg) brightness(91%) contrast(94%) !important;
}

.research-page .site-menu__language {
  display: none;
}

.research-page .site-menu__top {
  justify-content: flex-end;
  gap: 0;
}

.research-page .site-menu__social img {
  filter: brightness(0) saturate(100%) invert(43%) sepia(22%) saturate(1625%) hue-rotate(254deg) brightness(83%) contrast(83%);
}

.research-page .documents-footer__social img {
  filter: brightness(0) invert(1);
}

.research-page .site-menu__social a:hover,
.research-page .documents-footer__social a:hover {
  opacity: 1;
}

.site-menu--research .site-menu__panel {
  padding-top: 66px;
  padding-bottom: 48px;
}

.site-menu--research .site-menu__top {
  gap: 174px;
}

.research-menu__grid {
  gap: 40px;
  margin-top: 108px;
}

.research-menu__column a {
  min-height: 70px;
  font-size: 30px;
}

.research-menu__column a::after {
  content: none;
}

.research-menu__column a:hover {
  padding-left: 14px;
}

.site-menu--research .site-menu__contacts {
  margin-top: 88px;
}

.site-menu--research .site-menu__contacts h2 {
  font-size: clamp(92px, 8.2vw, 118px);
}

.research-page section[id] {
  scroll-margin-top: 96px;
}

.hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  width: min(100%, 1440px);
  min-height: 100vh;
  min-height: 100svh;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  margin: 0 auto;
  padding: clamp(96px, 11svh, 120px) 56px clamp(58px, 7svh, 78px);
}

.hero__kicker {
  width: min(918px, calc(100% - 112px));
  max-width: 100%;
  margin: 0 0 2px;
  text-align: right;
  font-size: clamp(14px, min(1.12vw, 1.78svh), 16px);
  line-height: 1.3;
}

.hero__title {
  width: min(1210px, 100%);
  max-width: 1210px;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(82px, min(8vw, 12.8svh), 114px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: 0;
  text-align: right;
}

.hero__title span,
.hero__title em {
  display: block;
  white-space: nowrap;
}

.hero__title em {
  padding-right: 0;
  text-align: right;
  font-style: italic;
}

.hero__text {
  display: flex;
  width: min(605px, 100%);
  flex-direction: column;
  align-items: flex-start;
  margin: clamp(18px, 2.9svh, 26px) 50px 0 0;
  padding-right: 0;
}

.hero__text p {
  margin: 0;
  font-size: clamp(16px, 2.22svh, 20px);
  line-height: 1.3;
  text-align: left;
}

.hero__button {
  width: 203px;
  height: 48px;
  margin: clamp(38px, 7.1svh, 64px) 0 0;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  border: 1px solid rgba(152, 79, 145, 1);
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease;
}

.hero__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  border-color: var(--cream);
}

.how-page {
  color: #462143;
  background: rgba(252, 250, 241, 1);
}

.how-hero {
  display: grid;
  place-items: center;
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.how-hero__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 182px 96px 120px;
  text-align: center;
}

.how-hero h1 {
  max-width: 1248px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(82px, 8.2vw, 118px);
  font-weight: 400;
  line-height: 1.01;
  letter-spacing: 0;
}

.how-hero h1 em {
  display: block;
  font-style: italic;
}

.how-hero p {
  max-width: 680px;
  margin: 42px auto 0;
  color: rgba(34, 26, 31, 0.68);
  font-size: 20px;
  line-height: 1.3;
}

.how-principles {
  display: grid;
  min-height: 866px;
  place-items: center;
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.how-principles__inner {
  display: flex;
  width: min(100%, 1440px);
  flex-direction: column;
  align-items: center;
  gap: 116px;
  margin: 0 auto;
  padding: 96px 116px 112px;
}

.how-principles--module {
  display: block;
}

.how-principles--module .how-principles__inner {
  padding: 120px 96px 112px;
}

.how-principles__statement {
  max-width: 828px;
  margin: 0;
  text-align: center;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: 0;
}

.how-principles__statement em {
  font-style: italic;
}

.how-participation .how-principles__statement span {
  color: rgba(152, 79, 145, 1);
}

.how-participation--module {
  min-height: 0;
}

@media (min-width: 1248px) {
  .how-participation--module .how-principles__inner {
    padding: 120px 96px;
  }
}

.reveal-on-view {
  opacity: 1;
  transform: translateY(0);
}

.js-reveal-on-view .reveal-on-view {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 620ms ease,
    transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
}

.js-reveal-on-view .reveal-on-view.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-index-reveals .index-reveal-target {
  opacity: 0;
  transform: translateY(34px);
  transition:
    opacity 720ms ease,
    transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.js-index-reveals .index-section-reveal.is-visible .index-reveal-target {
  opacity: 1;
  transform: translateY(0);
}

.js-index-reveals .index-section-reveal.is-visible .index-reveal-target:nth-child(2) {
  transition-delay: 90ms;
}

.js-index-reveals .index-section-reveal.is-visible .index-reveal-target:nth-child(3) {
  transition-delay: 160ms;
}

.js-index-reveals .join-grid .join-card,
.js-index-reveals .updates__grid > *,
.js-index-reveals .faq-item,
.js-index-reveals .project-row {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 620ms ease,
    transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.js-index-reveals .index-section-reveal.is-visible .join-grid .join-card,
.js-index-reveals .index-section-reveal.is-visible .updates__grid > *,
.js-index-reveals .index-section-reveal.is-visible .faq-item,
.js-index-reveals .index-section-reveal.is-visible .project-row {
  opacity: 1;
  transform: translateY(0);
}

.js-index-reveals .index-section-reveal.is-visible .join-grid .join-card:nth-child(2),
.js-index-reveals .index-section-reveal.is-visible .updates__grid > *:nth-child(2),
.js-index-reveals .index-section-reveal.is-visible .faq-item:nth-child(2) {
  transition-delay: 80ms;
}

.js-index-reveals .index-section-reveal.is-visible .join-grid .join-card:nth-child(3),
.js-index-reveals .index-section-reveal.is-visible .updates__grid > *:nth-child(3),
.js-index-reveals .index-section-reveal.is-visible .faq-item:nth-child(3) {
  transition-delay: 150ms;
}

.js-index-reveals .index-section-reveal.is-visible .join-grid .join-card:nth-child(4),
.js-index-reveals .index-section-reveal.is-visible .faq-item:nth-child(4) {
  transition-delay: 220ms;
}

.js-index-reveals .index-section-reveal.is-visible .join-grid .join-card:nth-child(5),
.js-index-reveals .index-section-reveal.is-visible .faq-item:nth-child(5) {
  transition-delay: 290ms;
}

.js-index-reveals .index-section-reveal.is-visible .join-grid .join-card:nth-child(6),
.js-index-reveals .index-section-reveal.is-visible .faq-item:nth-child(6) {
  transition-delay: 360ms;
}

.how-film {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.how-film__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: rgba(252, 250, 241, 1);
  touch-action: pan-y;
}

.how-film__track {
  display: flex;
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.how-film__slide {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 100%;
  height: min(920px, 100vh);
  height: min(920px, 100svh);
  overflow: hidden;
}

.how-film__slide--cover {
  color: var(--cream);
}

.how-film__bg,
.how-film__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.how-film__bg {
  z-index: 0;
  object-fit: cover;
  object-position: center;
}

.how-film__shade {
  z-index: 1;
  background: rgba(0, 0, 0, 0.36);
}

.how-film__cover-content {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(100%, 1440px);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto;
  padding: 96px 116px 118px;
}

.how-film__slide--right .how-film__cover-content {
  align-items: flex-end;
}

.how-film h2 {
  max-width: 640px;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.how-film h2 em {
  display: block;
  font-style: italic;
}

.how-film__glass {
  width: min(650px, 100%);
  margin-top: 36px;
  padding: 30px 32px 32px;
  border: 1px solid rgba(252, 250, 241, 0.12);
  border-radius: 12px;
  background: rgba(34, 26, 31, 0.46);
  backdrop-filter: blur(16px);
}

.how-film__glass p,
.how-film__text p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.how-film__glass p + p,
.how-film__text p + p {
  margin-top: 16px;
}

.how-film__button {
  display: inline-flex;
  align-self: flex-start;
  width: auto;
  min-width: 190px;
  padding: 0 22px;
  white-space: nowrap;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 26px;
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.how-film__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.how-film__slide--split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: rgba(252, 250, 241, 1);
}

.how-film__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 96px 64px;
}

.how-film__slide--split:not(.how-film__slide--reverse) .how-film__text {
  padding-left: max(54px, calc((100vw - 1440px) / 2 + 54px));
}

.how-film__slide--reverse .how-film__text {
  padding-right: max(54px, calc((100vw - 1440px) / 2 + 54px));
}

.how-film__text h2 {
  max-width: 580px;
  color: var(--ink);
}

.how-film__text p {
  max-width: 600px;
  margin-top: 32px;
  color: rgba(34, 26, 31, 0.68);
}

.how-film__media {
  min-height: 100%;
  overflow: hidden;
}

.how-film__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.how-film__dots {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 38px;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 16px;
  pointer-events: none;
}

.how-film__dots button {
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(252, 250, 241, 0.86);
  cursor: pointer;
  pointer-events: auto;
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.how-film__viewport[data-active-slide="1"] .how-film__dots button,
.how-film__viewport[data-active-slide="2"] .how-film__dots button {
  background: rgba(34, 26, 31, 0.14);
}

.how-film__viewport .how-film__dots button.is-active {
  background: rgba(152, 79, 145, 1);
  transform: scale(1.05);
}

.partners-pillars__cover {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(100%, 1248px);
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 auto;
  padding: 96px 0;
}

.partners-pillars__header {
  position: absolute;
  top: 120px;
  right: 0;
  left: 0;
  text-align: center;
}

.partners-pillars__header h2,
.partners-pillars__slide-heading h3,
.partners-pillars .how-film__text h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.partners-pillars__header h2 {
  max-width: none;
  font-size: 50px;
}

.partners-pillars__header p {
  margin: 14px 0 0;
  font-size: 20px;
}

.partners-pillars__slide-heading {
  margin-bottom: 32px;
}

.partners-pillars__slide-heading h3 {
  font-size: 32px;
  line-height: 1.18;
}

.partners-pillars__slide-heading p,
.partners-pillars .how-film__text h3 {
  margin: 10px 0 0;
  font-size: 28px;
  line-height: 1.2;
}

.partners-pillars .how-film__glass {
  width: min(650px, 100%);
  margin-top: 0;
}

.partners-pillars .how-film__text h3 {
  color: var(--ink);
}

.partners-pillars .how-film__text h3 + p {
  margin-top: 40px;
}

@media (max-width: 1247px) {
  .partners-pillars__cover {
    padding: 80px 40px;
  }

  .partners-pillars__header {
    position: static;
    margin-bottom: 96px;
  }
}

@media (max-width: 600px) {
  .partners-pillars__cover {
    padding: 64px 24px 96px;
  }

  .partners-pillars__header {
    margin-bottom: 64px;
  }

  .partners-pillars__header h2 {
    font-size: 40px;
  }

  .partners-pillars__slide-heading h3,
  .partners-pillars .how-film__text h3 {
    font-size: 26px;
  }
}

@media (min-width: 1248px) {
  .how-film--module .how-film__slide {
    height: min(920px, 100vh);
    height: min(920px, 100svh);
    min-height: 0;
    max-height: 920px;
  }

  .how-film--module .how-film__cover-content {
    justify-content: flex-end;
    padding: 96px;
  }
}

.how-outcome {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.how-outcome__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.how-outcome__heading {
  text-align: center;
}

.how-outcome__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.how-outcome__heading p {
  margin: 20px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.how-outcome__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
  margin-top: 96px;
}

.how-outcome__card,
.how-outcome__media {
  min-height: 522px;
  border-radius: 20px;
  overflow: hidden;
}

.how-outcome__card {
  padding: 53px 48px 46px;
  background: #f2f1f0;
}

.how-outcome__card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.28;
  letter-spacing: 0;
}

.how-outcome__card h3 em {
  font-style: italic;
}

.how-outcome__card ul {
  display: flex;
  flex-direction: column;
  gap: 26px;
  margin: 37px 0 0;
  padding: 0;
  list-style: none;
}

.how-outcome__card li {
  position: relative;
  padding-left: 18px;
  font-size: 24px;
  line-height: 1.28;
}

.how-outcome__card li::before {
  position: absolute;
  top: 0.56em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(152, 79, 145, 1);
  content: "";
}

.how-outcome__media {
  background: #e1e1e1;
}

.how-outcome__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.how-final-cta {
  display: grid;
  min-height: 675px;
  place-items: center;
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.how-final-cta__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 118px 24px 120px;
  text-align: center;
}

.how-final-cta h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.how-final-cta p {
  max-width: 420px;
  margin: 43px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.how-final-cta__button {
  display: inline-flex;
  width: 192px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 96px;
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.how-final-cta__button:hover {
  color: rgba(152, 79, 145, 1);
  background: #f2f1f0;
  transform: translateY(-2px);
}

.membership-participation .how-outcome__card {
  background: #f2f1f0;
}

.membership-participation__closing {
  margin: 28px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.28;
}

@media (max-width: 900px) {
  .membership-participation .how-outcome__body {
    flex-direction: column;
  }

  .membership-participation__closing {
    margin-top: 24px;
    font-size: 20px;
  }
}

@media (min-width: 1248px) {
  .how-final-cta--module {
    min-height: 676px;
    padding: 160px 96px;
  }

  .how-final-cta--module .how-final-cta__inner {
    display: flex;
    width: min(100%, 1248px);
    min-height: 356px;
    flex-direction: column;
    align-items: center;
    padding: 0;
  }
}

.volunteer-hero {
  display: grid;
  min-height: 100vh;
  min-height: 100svh;
  place-items: center;
  padding: 172px 56px 96px;
  background: rgba(252, 250, 241, 1);
  color: var(--purple);
}

.volunteer-hero__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
  text-align: center;
}

.volunteer-hero h1 {
  max-width: 1210px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(86px, 7.25vw, 112px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: 0;
}

.volunteer-hero h1 em {
  font-style: italic;
}

.volunteer-hero p {
  max-width: 590px;
  margin: 41px auto 0;
  color: rgba(34, 26, 31, 0.68);
  font-size: 21px;
  line-height: 1.24;
}

.volunteer-hero__button {
  display: inline-flex;
  width: 190px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 65px;
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.volunteer-hero__button:hover {
  color: rgba(152, 79, 145, 1);
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(152, 79, 145, 1);
  transform: translateY(-2px);
}

.volunteer-hero.volunteer-hero--module {
  min-height: 0;
  padding: 120px 96px;
  color: rgba(70, 33, 67, 1);
}

.volunteer-hero--module .volunteer-hero__inner {
  min-height: 0;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .volunteer-hero.volunteer-hero--module {
    padding: 96px 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .volunteer-hero.volunteer-hero--module {
    padding: 80px 32px;
  }
}

@media (max-width: 600px) {
  .volunteer-hero.volunteer-hero--module {
    padding: 64px 24px;
  }
}

.membership-hero {
  display: grid;
  min-height: 100vh;
  min-height: 100svh;
  place-items: center;
  padding: 172px 56px 76px;
  background: rgba(252, 250, 241, 1);
  color: var(--purple);
}

.membership-hero__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
  text-align: center;
}

.membership-hero h1 {
  max-width: 1158px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(86px, 7.25vw, 112px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0;
}

.membership-hero h1 em {
  font-style: italic;
}

.membership-hero p {
  max-width: 590px;
  margin: 43px auto 0;
  color: rgba(34, 26, 31, 0.68);
  font-size: 21px;
  line-height: 1.24;
}

.membership-hero__button {
  display: inline-flex;
  width: 190px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 66px;
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.membership-hero__button:hover {
  color: rgba(152, 79, 145, 1);
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(152, 79, 145, 1);
  transform: translateY(-2px);
}

.partners-hero {
  display: grid;
  place-items: center;
  padding: 120px 96px;
  overflow: hidden;
  color: rgba(70, 33, 67, 1);
  background: rgba(252, 250, 241, 1);
}

.partners-hero__inner {
  display: flex;
  width: min(100%, 1248px);
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  text-align: center;
}

.partners-hero__title {
  width: 100%;
  max-width: 1190px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(72px, 7.5vw, 108px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.partners-hero__title span {
  display: block;
}

.partners-hero__title em {
  font-style: italic;
}

.partners-hero__description {
  max-width: 680px;
  margin: 42px auto 0;
  color: rgba(101, 102, 103, 1);
  font-size: 20px;
  line-height: 1.3;
}

.partners-hero__button {
  display: inline-flex;
  width: 190px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 64px;
  border-radius: 6px;
  color: rgba(252, 250, 241, 1);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.partners-hero__button:hover {
  color: rgba(152, 79, 145, 1);
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(152, 79, 145, 1);
  transform: translateY(-2px);
}

.partners-intro {
  padding: 120px 96px;
  color: rgba(70, 33, 67, 1);
  background: rgba(252, 250, 241, 1);
}

.partners-intro__inner {
  display: flex;
  width: min(100%, 1248px);
  flex-direction: column;
  align-items: center;
  gap: 120px;
  margin: 0 auto;
}

.partners-intro__statement {
  width: min(100%, 826px);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: center;
}

.partners-intro__statement em {
  font-style: italic;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .partners-intro {
    padding: 96px 40px;
  }

  .partners-intro__inner {
    gap: 96px;
  }

  .partners-intro__statement {
    font-size: clamp(42px, 4.2vw, 50px);
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .partners-intro {
    padding: 80px 32px;
  }

  .partners-intro__inner {
    gap: 80px;
  }

  .partners-intro__statement {
    font-size: clamp(36px, 5.5vw, 46px);
  }
}

@media (max-width: 600px) {
  .partners-intro {
    padding: 64px 24px;
  }

  .partners-intro__inner {
    gap: 64px;
  }

  .partners-intro__statement {
    font-size: clamp(32px, 9.5vw, 42px);
    line-height: 1.14;
  }
}

@media (min-width: 901px) and (max-width: 1247px) {
  .partners-hero {
    padding: 96px 40px;
  }

  .partners-hero__title {
    font-size: clamp(58px, 7.4vw, 86px);
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .partners-hero {
    padding: 80px 32px;
  }

  .partners-hero__title {
    font-size: clamp(52px, 8vw, 68px);
  }

  .partners-hero__description {
    margin-top: 32px;
  }

  .partners-hero__button {
    margin-top: 48px;
  }
}

@media (max-width: 600px) {
  .partners-hero {
    padding: 64px 24px;
  }

  .partners-hero__title {
    font-size: clamp(42px, 13vw, 58px);
    line-height: 1.03;
  }

  .partners-hero__title span {
    display: inline;
  }

  .partners-hero__description {
    margin-top: 28px;
    font-size: 18px;
  }

  .partners-hero__button {
    width: min(100%, 190px);
    margin-top: 40px;
  }
}

.membership-hero.membership-hero--module {
  min-height: 0;
  padding: 120px 96px;
  color: rgba(70, 33, 67, 1);
}

.membership-hero--module .membership-hero__inner {
  min-height: 0;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .membership-hero.membership-hero--module {
    padding: 96px 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .membership-hero.membership-hero--module {
    padding: 80px 32px;
  }
}

@media (max-width: 600px) {
  .membership-hero.membership-hero--module {
    padding: 64px 24px;
  }
}

.research-hero {
  display: grid;
  place-items: center;
  padding: 227px 56px 120px;
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.research-hero__inner {
  display: flex;
  width: min(100%, 1248px);
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin: 0 auto;
  text-align: center;
}

.research-hero__title {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(82px, 8.33vw, 120px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
}

.research-hero__title span {
  display: block;
  white-space: nowrap;
}

.research-hero__title em {
  font-style: italic;
}

.research-hero p {
  width: min(100%, 652px);
  max-width: none;
  margin: 0 auto;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.research-hero p br {
  display: block;
}

.research-value {
  padding: 120px 96px;
  background: #5d295f;
  color: var(--cream);
}

.research-value__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-value h2 {
  max-width: none;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-value h2 em {
  font-style: italic;
}

.research-value__body {
  display: grid;
  grid-template-columns: minmax(0, 509fr) minmax(0, 719fr);
  gap: 20px;
  align-items: start;
  margin-top: 56px;
}

.research-value__media,
.research-value__card {
  height: 462px;
  overflow: hidden;
}

.research-value__media {
  border-radius: 24px;
}

.research-value__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 44% center;
}

.research-value__card {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 40px;
  border-radius: 16px;
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.research-value__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.research-value__card h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
}

.research-value__card p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-value__card ul {
  margin: 0;
  padding-left: 30px;
  font-size: 20px;
  line-height: 1.3;
}

.research-value__card li {
  margin: 0;
}

.research-value__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: auto;
}

.research-value__button {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-radius: 8px;
  font-size: 18px;
  line-height: 1;
  text-align: center;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.research-value__button--secondary {
  color: #462143;
  background: transparent;
  box-shadow: inset 0 0 0 1px #462143;
}

.research-value__button--primary {
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.research-value__button:hover {
  transform: translateY(-2px);
}

.research-value__button--secondary:hover {
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.research-value__button--primary:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  box-shadow: inset 0 0 0 1px rgba(152, 79, 145, 1);
}

.research-audit {
  display: grid;
  min-height: 540px;
  place-items: center;
  padding: 120px max(56px, calc((100vw - 920px) / 2));
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.research-audit__inner {
  width: min(100%, 920px);
  margin: 0 auto;
}

.research-audit p {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: center;
}

.research-audit em {
  font-style: italic;
}

.research-parameters {
  padding: 120px 96px;
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.research-parameters__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-parameters h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-parameters__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 24px;
  margin-top: 96px;
}

.research-parameter-card {
  display: flex;
  min-height: 198px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 24px;
  border-radius: 16px;
  color: var(--ink);
  background: #efe2ec;
}

.research-parameter-card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.research-parameter-card p {
  max-width: 100%;
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-distortion {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background: rgba(242, 241, 240, 0.4);
  color: var(--ink);
  isolation: isolate;
}

.research-distortion::before,
.research-distortion::after {
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  border-radius: 80px;
  background: rgba(152, 79, 145, 0.22);
  filter: blur(56px);
  content: "";
  pointer-events: none;
}

.research-distortion::before {
  top: 20px;
  left: 50%;
  transform: translateX(-24%);
}

.research-distortion::after {
  bottom: -42px;
  left: 0;
  transform: translateX(-20%);
}

.research-distortion__inner {
  width: 100%;
  margin: 0 auto;
}

.research-distortion__heading {
  width: min(100%, 878px);
  margin: 0 auto;
  text-align: center;
}

.research-distortion__heading h2 {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-distortion__heading p {
  max-width: 878px;
  margin: 16px auto 0;
  font-size: 24px;
  line-height: 1.3;
}

.research-distortion__content {
  display: grid;
  grid-template-columns: 505px 505px;
  justify-content: center;
  gap: 129px;
  padding: 0 96px;
  margin-top: 96px;
}

.research-distortion__left,
.research-distortion__right {
  width: 505px;
  font-size: 20px;
  line-height: 1.3;
}

.research-distortion__left p,
.research-distortion__right p {
  margin: 0;
}

.research-distortion__left p + p,
.research-distortion__right p + p {
  margin-top: 32px;
}

.research-distortion__lead {
  min-height: 264px;
}

.research-distortion__lead::first-letter {
  float: left;
  margin: 0 24px 0 0;
  padding: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 200px;
  line-height: 0.9;
}

.research-importance {
  padding: 120px 96px;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.research-importance__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-importance__heading {
  margin: 0;
  text-align: left;
}

.research-importance__heading h2 {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-importance__heading h2 em {
  color: rgba(152, 79, 145, 1);
  font-style: italic;
}

.research-importance__heading p {
  margin: 16px 0 0;
  color: #656667;
  font-size: 24px;
  line-height: 1.3;
}

.research-importance__body {
  display: grid;
  grid-template-columns: minmax(0, 538px) minmax(0, 614px);
  gap: 96px;
  align-items: center;
  margin-top: 96px;
}

.research-importance__media {
  height: 732px;
  overflow: hidden;
  border-radius: 24px;
}

.research-importance__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 37% center;
}

.research-importance__text {
  display: flex;
  min-height: 732px;
  flex-direction: column;
  gap: 8px;
  font-size: 20px;
  line-height: 1.3;
}

.research-importance__text p {
  margin: 0;
}

.research-importance__emphasis {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.research-importance__emphasis p {
  font-weight: 600;
}

.research-importance__emphasis ul {
  margin: 0;
  padding-left: 29px;
  font-size: inherit;
  line-height: inherit;
}

.research-importance__emphasis li {
  margin: 0;
}

.research-basis {
  position: relative;
  overflow: hidden;
  padding: 120px 96px;
  background: rgba(242, 241, 240, 0.5);
  color: var(--ink);
  isolation: isolate;
}

.research-basis::before,
.research-basis::after {
  position: absolute;
  z-index: -1;
  width: 430px;
  height: 430px;
  border-radius: 80px;
  background: rgba(152, 79, 145, 0.2);
  filter: blur(58px);
  content: "";
  pointer-events: none;
}

.research-basis::before {
  top: 22px;
  left: 40px;
}

.research-basis::after {
  right: 48px;
  bottom: 48px;
}

.research-basis__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-basis h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-basis__columns {
  display: grid;
  grid-template-columns: minmax(0, 592px) minmax(0, 592px);
  gap: 64px;
  margin-top: 64px;
  font-size: 20px;
  line-height: 1.3;
}

.research-basis__columns p {
  margin: 0;
}

.research-basis__columns p + p {
  margin-top: 26px;
}

.research-basis__columns a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.research-check {
  padding: 120px 96px;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.research-check__inner {
  display: grid;
  width: min(100%, 1248px);
  grid-template-columns: minmax(0, 571px) minmax(0, 613px);
  gap: 64px;
  margin: 0 auto;
}

.research-check__intro h2 {
  max-width: 571px;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-check__intro h2 em {
  font-style: italic;
}

.research-check__intro h2 span {
  display: block;
}

.research-check__intro p {
  max-width: 571px;
  margin: 16px 0 0;
  font-size: 24px;
  line-height: 1.3;
}

.research-check__intro p br {
  display: block;
}

.research-check__main {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.research-check__media {
  width: 100%;
  height: 344px;
  overflow: hidden;
  border-radius: 24px;
}

.research-check__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
}

.research-check__copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-check__copy p {
  margin: 0;
}

.research-check__copy p + p {
  margin-top: 8px;
}

.research-summary {
  display: flex;
  min-height: 712px;
  align-items: center;
  justify-content: center;
  padding: 120px 96px;
  background: #5d295f;
  color: var(--cream);
}

.research-summary__inner {
  display: flex;
  width: min(100%, 825px);
  flex-direction: column;
  align-items: center;
  gap: 64px;
  margin: 0 auto;
  text-align: center;
}

.research-summary__statement {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.research-summary__statement p {
  margin: 0;
}

.research-summary__statement em {
  display: block;
  margin-bottom: 16px;
  font-size: 40px;
  font-style: italic;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.research-summary__note {
  width: min(100%, 614px);
  margin: 0 auto;
  font-size: 20px;
  line-height: 1.3;
}

.research-representation {
  padding: 120px 96px;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.research-representation__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-representation__intro,
.research-representation__note,
.research-representation__layer {
  background: #f3f3f3;
}

.research-representation__intro {
  min-height: 372px;
  padding: 40px;
  border-radius: 24px;
}

.research-representation__intro h2 {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-representation__intro p {
  max-width: 728px;
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-representation__grid {
  display: grid;
  grid-template-columns: minmax(0, 689px) minmax(0, 535px);
  gap: 24px;
  align-items: stretch;
  margin-top: 24px;
}

.research-representation__layers {
  height: 798px;
  padding: 40px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 22% 12%, rgba(252, 250, 241, 0.62), transparent 34%),
    linear-gradient(180deg, #ecd6e9 0%, #e7cae4 100%);
}

.research-representation__layers h3 {
  margin: 0 0 32px;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.research-representation__layer {
  height: 180.67px;
  min-height: 0;
  padding: 24px;
  border-radius: 16px;
  background: rgba(252, 250, 241, 1);
}

.research-representation__layer + .research-representation__layer {
  margin-top: 20px;
}

.research-representation__layer h4 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.research-representation__layer p {
  margin: 8px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-representation__side {
  display: grid;
  height: 798px;
  grid-template-rows: 288px 486px;
  gap: 24px;
}

.research-representation__note {
  height: 288px;
  padding: 40px;
  border-radius: 24px;
  background: #f2f1f0;
}

.research-representation__note p {
  width: 100%;
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-representation__media {
  height: 486px;
  min-height: 0;
  overflow: hidden;
  border-radius: 24px;
}

.research-representation__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.research-areas {
  padding: 120px 96px;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.research-areas__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-areas h2 {
  margin: 0;
  padding: 0 52px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: center;
}

.research-areas__stage {
  display: grid;
  grid-template-columns: minmax(0, 614px) minmax(0, 614px);
  gap: 20px;
  align-items: stretch;
  margin-top: 96px;
}

.research-areas__card,
.research-areas__media {
  height: 712px;
  overflow: hidden;
  border-radius: 24px;
}

.research-areas__card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 48px;
  background: #f2f1f0;
}

.research-areas__card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.research-areas__copy {
  display: flex;
  max-width: none;
  flex-direction: column;
  gap: 8px;
  margin-top: 32px;
  font-size: 20px;
  line-height: 1.3;
}

.research-areas__copy p {
  margin: 0;
}

.research-areas__copy ul {
  margin: 0;
  padding-left: 30px;
  font-size: 20px;
  line-height: 1.3;
}

.research-areas__copy li {
  margin: 0;
  padding-left: 0;
}

.research-areas__controls {
  display: flex;
  gap: 24px;
  margin-top: auto;
}

.research-areas__controls button {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(34, 26, 31, 0.7);
  border-radius: 50%;
  color: #656667;
  background: transparent;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.3;
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease;
}

.research-areas__controls button.is-active,
.research-areas__controls button:hover {
  color: #221a1f;
  background: rgba(252, 250, 241, 1);
  border-color: #221a1f;
}

.research-areas__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition:
    opacity 180ms ease,
    transform 260ms ease;
}

.research-areas__card h3,
.research-areas__copy {
  transition: opacity 180ms ease;
}

.research-areas__stage.is-changing .research-areas__card h3,
.research-areas__stage.is-changing .research-areas__copy,
.research-areas__stage.is-changing .research-areas__media img {
  opacity: 0;
}

.research-areas__stage.is-changing .research-areas__media img {
  transform: scale(1.02);
}

.research-age-analysis {
  position: relative;
  overflow: hidden;
  padding: 120px 96px;
  background: rgba(242, 241, 240, 0.5);
  color: var(--ink);
  isolation: isolate;
}

.research-age-analysis::before,
.research-age-analysis::after {
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  border-radius: 80px;
  background: rgba(152, 79, 145, 0.2);
  filter: blur(56px);
  content: "";
  pointer-events: none;
}

.research-age-analysis::before {
  top: 28px;
  left: 50%;
  transform: translateX(-10%);
}

.research-age-analysis::after {
  bottom: -90px;
  left: 275px;
}

.research-age-analysis__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-age-analysis h2 {
  max-width: 1136px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: center;
}

.research-age-analysis__columns {
  display: grid;
  grid-template-columns: minmax(0, 614px) minmax(0, 614px);
  gap: 20px;
  margin-top: 96px;
  font-size: 20px;
  line-height: 1.3;
}

.research-age-analysis__columns > div {
  min-height: 546px;
  padding: 40px;
  border-radius: 24px;
}

.research-age-analysis__columns p {
  margin: 0;
}

.research-age-analysis__columns p + p {
  margin-top: 8px;
}

.research-age-analysis__columns strong {
  font-weight: 600;
}

.research-age-analysis__columns ul {
  margin: 0;
  padding-left: 30px;
  font-size: 20px;
  line-height: 1.3;
}

.research-age-analysis__columns li {
  margin: 0;
  padding-left: 0;
}

.infrastructure {
  min-height: 100vh;
  min-height: 100svh;
  background: rgba(255, 252, 248, 1);
  color: var(--ink);
}

.infrastructure__sticky {
  position: relative;
  top: 0;
  min-height: 100vh;
  min-height: 100svh;
  overflow: visible;
}

.infrastructure__inner {
  --orbit-size: clamp(420px, min(48vw, calc(100svh - 310px)), 690px);
  --orbit-dot: clamp(24px, calc(var(--orbit-size) * 0.046), 32px);
  --orbit-top-gap: clamp(74px, calc(var(--orbit-size) * 0.16), 112px);
  --orbit-bottom-gap: clamp(42px, calc(var(--orbit-size) * 0.08), 58px);
  width: min(100%, 1440px);
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 auto;
  padding: clamp(78px, 10svh, 124px) 56px 24px;
}

.infrastructure__heading {
  text-align: center;
}

.infrastructure__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 3.5vw, 50px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.infrastructure__heading em {
  color: var(--purple);
  font-style: italic;
}

.infrastructure__heading p {
  margin: 8px 0 0;
  color: #5a5a5a;
  font-size: 20px;
  line-height: 1.3;
}

.orbit {
  --orbit-angle: 270deg;
  position: relative;
  width: min(calc(var(--orbit-size) + clamp(300px, 32vw, 450px)), 100%);
  height: calc(var(--orbit-top-gap) + var(--orbit-size) + var(--orbit-bottom-gap));
  margin: clamp(24px, 3svh, 44px) auto 0;
}

.orbit__visual {
  position: absolute;
  top: var(--orbit-top-gap);
  left: 50%;
  width: var(--orbit-size);
  height: var(--orbit-size);
  transform: translateX(-50%);
}

.orbit__rings {
  position: absolute;
  inset: 0;
  border: 1px solid var(--ink);
  border-radius: 50%;
  pointer-events: none;
}

.orbit__rings::before,
.orbit__rings::after {
  position: absolute;
  border-radius: 50%;
  content: "";
  pointer-events: none;
  transform: rotate(var(--orbit-angle));
  transition: transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
}

.orbit__rings::before {
  inset: -10px;
  background: conic-gradient(
    from -22deg,
    transparent 0deg,
    rgba(152, 79, 145, 0.08) 4deg,
    rgba(152, 79, 145, 0.24) 18deg,
    rgba(152, 79, 145, 0.08) 34deg,
    transparent 46deg 360deg
  );
  filter: blur(3px);
  -webkit-mask: radial-gradient(
    farthest-side,
    transparent calc(100% - 18px),
    #000 calc(100% - 17px)
  );
  mask: radial-gradient(
    farthest-side,
    transparent calc(100% - 18px),
    #000 calc(100% - 17px)
  );
}

.orbit__rings::after {
  inset: -3px;
  background: conic-gradient(
    from -16deg,
    transparent 0deg,
    rgba(152, 79, 145, 0.22) 3deg,
    rgba(152, 79, 145, 0.78) 17deg,
    rgba(152, 79, 145, 0.2) 31deg,
    transparent 40deg 360deg
  );
  -webkit-mask: radial-gradient(
    farthest-side,
    transparent calc(100% - 5px),
    #000 calc(100% - 4px),
    #000 calc(100% - 1px),
    transparent 100%
  );
  mask: radial-gradient(
    farthest-side,
    transparent calc(100% - 5px),
    #000 calc(100% - 4px),
    #000 calc(100% - 1px),
    transparent 100%
  );
}

.orbit__media {
  position: absolute;
  inset: calc(var(--orbit-size) * 0.058);
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: #d8d2c9;
}

.orbit__media::after {
  position: relative;
  z-index: 2;
  grid-area: 1 / 1;
  width: min(548px, calc(100% - 104px));
  color: var(--cream);
  content: attr(data-preview-text);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.3;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px) scale(0.99);
  transition:
    opacity 260ms ease,
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.orbit__media img,
.orbit__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.orbit__media img {
  object-fit: cover;
  transition:
    opacity 260ms ease,
    transform 700ms ease;
}

.orbit__media.is-previewing img {
  transform: scale(1.018);
}

.orbit__overlay {
  background: rgba(0, 0, 0, 0.42);
  transition: background 260ms ease;
}

.orbit__media p {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  width: min(548px, calc(100% - 104px));
  margin: 0;
  color: var(--cream);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.3;
  transition:
    opacity 260ms ease,
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.orbit__media.is-previewing .orbit__overlay {
  background:
    linear-gradient(135deg, rgba(115, 53, 110, 0.22), rgba(0, 0, 0, 0.08)),
    rgba(0, 0, 0, 0.48);
}

.orbit__media.is-previewing p {
  opacity: 0;
  transform: translateY(-10px) scale(0.99);
}

.orbit__media.is-previewing::after {
  opacity: 0.88;
  transform: translateY(0) scale(1);
}

.orbit__media.is-switching {
  animation: orbitMediaSettle 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.orbit__media.is-switching img {
  animation: orbitImageSettle 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.orbit-point {
  position: absolute;
  display: flex;
  align-items: center;
  gap: clamp(14px, calc(var(--orbit-size) * 0.046), 32px);
  border: 0;
  padding: 0;
  color: var(--ink);
  background: transparent;
  font: inherit;
  font-size: clamp(18px, calc(var(--orbit-size) * 0.035), 24px);
  line-height: 1.3;
  cursor: pointer;
  transition:
    color 180ms ease,
    opacity 180ms ease;
}

.orbit-point::before {
  display: block;
  width: var(--orbit-dot);
  height: var(--orbit-dot);
  flex: 0 0 var(--orbit-dot);
  aspect-ratio: 1;
  box-sizing: border-box;
  border: 1px solid var(--ink);
  border-radius: 50%;
  background: rgba(255, 252, 248, 1);
  content: "";
  transform: scale(0.6875);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.orbit-point span {
  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
}

.orbit-point.is-dot-hover,
.orbit-point:focus-visible,
.orbit-point.is-demo-highlight,
.orbit-point.is-guiding-pulse {
  color: #55264f;
}

.orbit-point.is-dot-hover::before,
.orbit-point:focus-visible::before,
.orbit-point.is-demo-highlight::before {
  border-color: var(--purple);
  background: var(--purple);
  transform: scale(1.08);
}

.orbit-point.is-dot-hover span,
.orbit-point:focus-visible span {
  transform: translateY(-2px);
}

.orbit-point:focus-visible {
  outline: 0;
}

.orbit-point:focus-visible span {
  text-decoration: underline;
  text-underline-offset: 6px;
}

.orbit-point.is-active {
  color: #55264f;
}

.orbit-point.is-active::before {
  border-color: var(--purple);
  background: var(--purple);
  box-shadow: 0 0 0 0 rgba(115, 53, 110, 0.34);
  transform: scale(1);
  animation: orbitActivePulse 2.8s ease-out infinite;
}

.orbit-point.is-demo-highlight::before {
  box-shadow: 0 0 0 14px rgba(115, 53, 110, 0);
  animation: orbitDemoPulse 980ms ease-out;
}

.orbit-point.is-guiding-pulse::before {
  border-color: var(--purple);
  background: rgba(255, 252, 248, 1);
  box-shadow:
    0 0 0 7px rgba(255, 252, 248, 0.96),
    0 0 0 9px rgba(115, 53, 110, 0.24),
    0 0 22px 9px rgba(115, 53, 110, 0.16);
  transform: scale(1);
  animation: orbitGuidePulse 1.6s ease-out;
}

.orbit-point.is-active.is-dot-hover::before,
.orbit-point.is-active:focus-visible::before {
  transform: scale(1.12);
}

.orbit-point--top {
  top: 0;
  left: 50%;
  height: calc(var(--orbit-top-gap) + var(--orbit-dot) / 2);
  flex-direction: column-reverse;
  justify-content: flex-start;
  width: min(420px, 100%);
  text-align: center;
  transform: translateX(-50%);
}

.orbit-point--right {
  top: calc(var(--orbit-top-gap) + var(--orbit-size) / 2 - var(--orbit-dot) / 2);
  left: calc(50% + var(--orbit-size) / 2 - var(--orbit-dot) / 2);
  flex-direction: row;
  width: clamp(260px, 24vw, 360px);
  white-space: nowrap;
}

.orbit-point--bottom {
  top: calc(var(--orbit-top-gap) + var(--orbit-size) - var(--orbit-dot) / 2);
  left: 50%;
  height: calc(var(--orbit-bottom-gap) + var(--orbit-dot) / 2);
  flex-direction: column;
  justify-content: flex-start;
  width: clamp(320px, 34vw, 460px);
  text-align: center;
  transform: translateX(-50%);
  white-space: nowrap;
}

.orbit-point--left {
  top: calc(var(--orbit-top-gap) + var(--orbit-size) / 2 - var(--orbit-dot) / 2);
  right: calc(50% + var(--orbit-size) / 2 - var(--orbit-dot) / 2);
  flex-direction: row-reverse;
  width: clamp(260px, 24vw, 360px);
  white-space: nowrap;
}

@keyframes orbitActivePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(115, 53, 110, 0.34);
  }

  70%,
  100% {
    box-shadow: 0 0 0 16px rgba(115, 53, 110, 0);
  }
}

@keyframes orbitMediaSettle {
  0% {
    transform: scale(0.985);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes orbitImageSettle {
  0% {
    opacity: 0.82;
    transform: scale(1.018);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes orbitDemoPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(115, 53, 110, 0.3);
  }

  100% {
    box-shadow: 0 0 0 22px rgba(115, 53, 110, 0);
  }
}

@keyframes orbitGuidePulse {
  0% {
    box-shadow:
      0 0 0 4px rgba(255, 252, 248, 0.96),
      0 0 0 5px rgba(115, 53, 110, 0.34),
      0 0 10px 3px rgba(115, 53, 110, 0.2);
  }

  100% {
    box-shadow:
      0 0 0 7px rgba(255, 252, 248, 0.96),
      0 0 0 18px rgba(115, 53, 110, 0),
      0 0 28px 12px rgba(115, 53, 110, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .js-index-reveals .index-reveal-target,
  .js-index-reveals .join-grid .join-card,
  .js-index-reveals .updates__grid > *,
  .js-index-reveals .faq-item,
  .js-index-reveals .project-row {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .orbit__media,
  .orbit__media img,
  .orbit__media p,
  .orbit__media::after,
  .orbit__rings::before,
  .orbit__rings::after,
  .orbit-point,
  .orbit-point::before,
  .orbit-point span {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }

  .orbit-point.is-active::before,
  .orbit-point.is-demo-highlight::before,
  .orbit-point.is-guiding-pulse::before {
    animation: none !important;
    box-shadow: none;
  }
}

.mobile-cards {
  display: none;
}

.system {
  --system-progress: 0;
  --system-progress-color: #5d295f;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.system__inner {
  display: grid;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 128px 56px 90px;
  grid-template-columns: 536px 1fr;
  column-gap: 141px;
}

.system__intro {
  position: sticky;
  top: 128px;
  align-self: start;
}

.system__intro h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.system__intro em {
  color: var(--purple);
  font-style: italic;
}

.system__intro p {
  margin: 16px 0 0;
  color: #656667;
  font-size: 24px;
  line-height: 1.3;
}

.system__body {
  min-width: 0;
  padding-top: 92px;
}

.system__goal {
  max-width: 648px;
  margin: 0 0 96px;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.system__steps-wrap {
  position: relative;
  display: grid;
  grid-template-columns: 16px minmax(0, 648px);
  column-gap: 96px;
}

.system__progress {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 16px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(252, 250, 241, 1);
}

.system__progress span {
  display: block;
  width: 100%;
  height: calc(var(--system-progress) * 100%);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--system-progress-color) 0%, var(--system-progress-color) 68%, rgba(93, 41, 95, 0.5) 84%, rgba(93, 41, 95, 0) 100%);
  transition: height 100ms linear, background 180ms ease;
  will-change: height;
}

.system.is-progress-complete .system__progress span {
  background: var(--system-progress-color);
}

.system__steps {
  display: flex;
  flex-direction: column;
  grid-column: 2;
  gap: 56px;
}

.system-step h3 {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.system-step p {
  margin: 0;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.system-step__condition {
  margin-top: 8px !important;
  color: var(--ink) !important;
}

.system-step a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.system--volunteers .system__inner {
  padding-bottom: 118px;
}

.system--partners-process .system__inner {
  padding: 120px 96px;
  grid-template-columns: minmax(0, 448px) minmax(0, 1fr);
  column-gap: 96px;
}

.system--partners-process .system__intro {
  top: 120px;
}

.system--partners-process .system__intro h2 {
  font-size: 50px;
  line-height: 1.05;
}

.system--partners-process .system__intro em {
  color: inherit;
  font-style: normal;
}

.system--partners-process .system__body {
  padding-top: 116px;
}

.system--partners-process .system__goal {
  margin-bottom: 96px;
}

.system--partners-process .system__steps-wrap {
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: 80px;
}

.system--partners-process .system__steps {
  gap: 56px;
}

.system--research-gap {
  background: rgba(252, 250, 241, 1);
}

.system--research-gap .system__inner {
  display: block;
  width: min(100%, 1440px);
  padding: 120px 96px;
  box-sizing: border-box;
}

.system--research-gap .system__intro {
  position: static;
  max-width: 1248px;
  margin: 0 auto;
  text-align: center;
}

.system--research-gap .system__intro h2 {
  color: var(--ink);
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.system--research-gap .system__intro p {
  max-width: 1248px;
  margin: 16px auto 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.3;
}

.system--research-gap .system__body {
  width: min(100%, 725px);
  margin: 96px auto 0;
  padding-top: 0;
}

.system--research-gap .system__steps-wrap {
  grid-template-columns: 16px minmax(0, 612px);
  column-gap: 97px;
}

.system--research-gap .system__progress span {
  height: calc(var(--system-progress) * 100%);
  background: linear-gradient(180deg, var(--system-progress-color) 0%, var(--system-progress-color) 68%, rgba(93, 41, 95, 0.5) 84%, rgba(93, 41, 95, 0) 100%);
}

.system--research-gap .system__steps {
  gap: 64px;
}

.system--research-gap .system-step h3 {
  margin-bottom: 24px;
  color: var(--ink);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.system--research-gap .system-step:nth-child(n + 2) h3 {
  font-weight: 500;
}

.system--research-gap .system-step p {
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.research-gap-break {
  display: block;
}

.research-bridge {
  display: flex;
  min-height: 628px;
  align-items: center;
  justify-content: center;
  padding: 120px 307px;
  background: #5d295f;
  color: var(--cream);
}

.research-bridge__inner {
  width: min(100%, 826px);
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  text-align: center;
}

.research-bridge h2 {
  max-width: 760px;
  margin: 0 auto;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-bridge p {
  margin: 72px 0 0;
  font-size: 50px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.research-bridge em {
  font-style: italic;
}

.research-structure {
  min-height: 1151px;
  padding: 120px 96px;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.research-structure__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-structure__intro {
  max-width: 1248px;
  margin: 0;
}

.research-structure__intro h2 {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-structure__intro p {
  width: min(100%, 720px);
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-structure__intro p + p {
  margin-top: 0;
}

.research-structure__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 400px));
  gap: 24px;
  margin-top: 96px;
}

.research-structure-card {
  display: flex;
  height: 601px;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  border-radius: 16px;
  background: #f2f1f0;
}

.research-structure-card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.research-structure-card p {
  margin: 8px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-structure-card img {
  width: 100%;
  height: 237px;
  margin-top: 0;
  border-radius: 16px;
  object-fit: cover;
  object-position: center center;
}

.research-components {
  overflow: hidden;
  min-height: 929px;
  padding: 120px 96px;
  background: #5d295f;
  color: var(--cream);
}

.research-components__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-components h2 {
  width: 100%;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-components__stage {
  position: relative;
  width: 100%;
  margin: 96px auto 0;
  padding-top: 88px;
}

.research-components__controls {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  display: flex;
  gap: 8px;
}

.research-components__control {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(252, 250, 241, 0.86);
  border-radius: 50%;
  color: var(--cream);
  background: transparent;
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.research-components__control:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.research-components__carousel {
  display: grid;
  grid-auto-columns: 613px;
  grid-auto-flow: column;
  gap: 20px;
  overflow-x: auto;
  width: calc(100vw - max(96px, calc((100vw - 1248px) / 2)));
  max-width: none;
  padding: 0 613px 0 0;
  scroll-padding-left: 0;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
}

.research-components__carousel.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.research-components__carousel::-webkit-scrollbar {
  display: none;
}

.research-components .research-component-card {
  display: flex;
  width: 613px;
  min-width: 0;
  height: 445px;
  flex-direction: column;
  gap: 0;
  padding: 40px;
  border: 0;
  border-radius: 24px;
  color: var(--ink);
  background: #efe2ec;
  box-shadow: none;
  backdrop-filter: none;
  scroll-snap-align: start;
}

.research-components .research-component-card h3 {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.research-components .research-component-card p,
.research-components .research-component-card p:not(.volunteer-track-card__time) {
  align-self: auto;
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-components .research-component-card p + p {
  margin-top: 8px;
}

.research-components .research-component-card p:last-child {
  margin-top: 16px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}

.research-components .research-component-card strong {
  font-weight: 600;
}

.research-prepared {
  min-height: 1557px;
  padding: 120px 96px;
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.research-prepared__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-prepared__heading {
  width: min(100%, 709px);
  margin: 0 auto;
  text-align: center;
}

.research-prepared__heading h2 {
  width: 709px;
  max-width: calc(100vw - 192px);
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.research-prepared__heading p {
  width: 531px;
  max-width: 100%;
  margin: 16px auto 0;
  font-size: 24px;
  line-height: 1.3;
}

.research-prepared__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  margin-top: 96px;
}

.research-prepared__media,
.research-prepared__card {
  overflow: hidden;
  border-radius: 24px;
}

.research-prepared__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.research-prepared__media--top {
  grid-column: 1 / span 5;
  height: 322px;
}

.research-prepared__media--top img {
  object-position: center center;
}

.research-prepared__card {
  background: #f2f2f2;
}

.research-prepared__card--intro {
  grid-column: 6 / span 7;
  height: 322px;
  padding: 40px;
}

.research-prepared__card--list {
  grid-column: 1 / span 8;
  height: 537px;
  padding: 40px;
}

.research-prepared__media--side {
  grid-column: 9 / span 4;
  height: auto;
  min-height: 537px;
  align-self: stretch;
}

.research-prepared__media--side img {
  object-position: center center;
}

.research-prepared__media--bottom {
  grid-column: 1 / span 5;
  height: 184px;
}

.research-prepared__media--bottom img {
  object-position: center 58%;
}

.research-prepared__card--closing {
  grid-column: 6 / span 7;
  height: 184px;
  padding: 40px;
}

.research-prepared__card h3 {
  margin: 0 0 34px;
  font-family: "Open Sans", Inter, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}

.research-prepared__card p,
.research-prepared__card li {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-prepared__card p + p {
  margin-top: 14px;
}

.research-prepared__card ul {
  margin: 0;
  padding-left: 34px;
}

.research-prepared__card--list li {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}

.research-prepared__card strong {
  font-weight: 600;
}

.research-results {
  height: 920px;
  overflow: hidden;
  padding: 120px 96px 0;
  color: var(--cream);
  background: #5d295f;
}

.research-results__inner {
  display: grid;
  grid-template-columns: minmax(0, 571px) minmax(0, 596px);
  grid-template-rows: auto 1fr;
  column-gap: 81px;
  row-gap: 64px;
  width: min(100%, 1248px);
  height: 800px;
  margin: 0 auto;
}

.research-results__copy {
  display: contents;
}

.research-results__copy h2 {
  grid-column: 1 / -1;
  width: 571px;
  max-width: 100%;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-results__text {
  grid-column: 1;
  grid-row: 2;
  max-width: 571px;
  margin-top: 0;
}

.research-results__text p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-results__text p + p {
  margin-top: 26px;
}

.research-results__panel {
  display: flex;
  grid-column: 2;
  grid-row: 2;
  width: 596px;
  max-width: 100%;
  min-width: 0;
  flex-direction: column;
  align-self: stretch;
  padding: 0;
}

.research-results__panel h3 {
  margin: 0 0 64px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.research-results__cards {
  display: flex;
  width: 596px;
  max-width: 100%;
  height: 416px;
  max-height: 416px;
  flex-direction: column;
  gap: 20px;
  overflow-y: auto;
  padding-right: 0;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.research-results__cards:focus {
  outline: none;
}

.research-results__cards::-webkit-scrollbar {
  display: none;
}

.research-result-card {
  flex: 0 0 auto;
  width: 596px;
  max-width: 100%;
  height: 184px;
  padding: 24px;
  border-radius: 16px;
  color: var(--ink);
  background: #efe2ec;
}

.research-result-card h4 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.research-result-card p {
  margin: 8px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-matters {
  padding: 120px 96px;
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.research-matters__inner {
  display: flex;
  width: min(100%, 1248px);
  margin: 0 auto;
  flex-direction: column;
  gap: 64px;
}

.research-matter-card {
  display: grid;
  width: 100%;
  min-height: 604px;
  grid-template-columns: minmax(0, 707px) 509px;
  gap: 32px;
  overflow: hidden;
  border-radius: 24px;
  background: #f2f1f0;
}

.research-matter-card__copy {
  padding: 40px 0 40px 40px;
}

.research-matter-card h2 {
  display: grid;
  grid-template-columns: 57px minmax(0, 586px);
  column-gap: 24px;
  align-items: start;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.research-matter-card h2 span {
  display: inline-block;
  min-width: 0;
  font-style: italic;
  font-size: 50px;
  line-height: 1.2;
}

.research-matter-card__body {
  max-width: 586px;
  margin: 32px 0 0 81px;
}

.research-matter-card__body p,
.research-matter-card__body li {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-matter-card__body p + p {
  margin-top: 16px;
}

.research-matter-card__body ul {
  margin: 18px 0;
  padding-left: 26px;
}

.research-matter-card__lead {
  margin-top: 24px !important;
  font-size: 24px !important;
  font-weight: 600;
  line-height: 1.3 !important;
}

.research-matter-card__media {
  width: 509px;
  min-height: 604px;
  overflow: hidden;
  border-radius: 0 24px 24px 0;
}

.research-matter-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.research-matter-card:nth-child(1) .research-matter-card__media img {
  object-position: center center;
}

.research-matter-card:nth-child(2) .research-matter-card__media img {
  object-position: center center;
}

.research-matter-card:nth-child(3) .research-matter-card__media img {
  object-position: center center;
}

.research-matter-card:nth-child(4) .research-matter-card__media img {
  object-position: center center;
}

.research-verification {
  display: flex;
  min-height: 696px;
  align-items: center;
  padding: 96px 307px 120px;
  color: var(--cream);
  background: #5d295f;
}

.research-verification__inner {
  width: min(100%, 826px);
  margin: 0 auto;
  text-align: center;
}

.research-verification p {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.research-verification em {
  font-style: italic;
}

.research-evidence {
  padding: 124px 56px 120px;
  color: #462143;
  background: rgba(252, 250, 241, 1);
}

.research-evidence__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-evidence h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 3.75vw, 50px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
}

.research-evidence__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  margin-top: 94px;
}

.research-evidence__media,
.research-evidence__card {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
}

.research-evidence__media--top {
  grid-column: 1 / span 5;
}

.research-evidence__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.research-evidence__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #f2f1f0;
}

.research-evidence__card--intro {
  grid-column: 6 / span 7;
  padding: 40px 40px 38px;
}

.research-evidence__card--index {
  grid-column: 1 / span 7;
  padding: 40px 40px 36px;
}

.research-evidence__card h3 {
  margin: 0 0 22px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 40px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
}

.research-evidence__card p {
  margin: 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

.research-evidence__card--intro p {
  color: #462143;
}

.research-evidence__card p + p {
  margin-top: 17px;
}

.research-evidence__media--bottom {
  grid-column: 8 / span 5;
}

.research-conducting {
  padding: 124px 56px 120px;
  color: #221a1f;
  background: rgba(252, 250, 241, 1);
}

.research-conducting__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-conducting h2 {
  margin: 0 auto;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 4.7vw, 58px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
  text-align: center;
}

.research-conducting__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  margin-top: 96px;
}

.research-conducting__info,
.research-conducting__founder {
  min-width: 0;
}

.research-conducting__media {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
}

.research-conducting__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.research-conducting__media--wide {
  aspect-ratio: 1.72;
}

.research-conducting__media--portrait {
  aspect-ratio: 0.98;
}

.research-conducting__copy {
  margin-top: 34px;
}

.research-conducting__copy h3 {
  margin: 0;
  max-width: 610px;
  color: #221a1f;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.25;
}

.research-conducting__copy p {
  max-width: 610px;
  margin: 14px 0 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

.research-conducting__founder-text {
  margin-top: 34px;
}

.research-conducting__founder-text h3 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.14;
}

.research-conducting__founder-text p {
  margin: 18px 0 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.15;
}

.research-conducting__founder-text span {
  display: block;
  margin-top: 14px;
  color: #221a1f;
  font-size: 16px;
  line-height: 1.25;
}

.research-materials-note {
  display: flex;
  min-height: 448px;
  align-items: center;
  padding: 96px 56px;
  color: rgba(252, 250, 241, 1);
  background: #5d295f;
}

.research-materials-note__inner {
  width: min(100%, 850px);
  margin: 0 auto;
  text-align: center;
}

.research-materials-note p {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 3.45vw, 50px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.research-support {
  padding: 101px 56px 80px;
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.research-support__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-support__intro {
  max-width: 880px;
}

.research-support__intro h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 3.75vw, 50px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
}

.research-support__intro p {
  margin: 18px 0 0;
  font-size: 20px;
  line-height: 1.24;
}

.research-support__intro p + p {
  margin-top: 8px;
}

.research-support__grid {
  display: grid;
  max-width: 1038px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
  margin: 96px auto 0;
}

.research-support-card {
  grid-column: span 2;
  min-height: 422px;
  padding: 28px 24px 26px;
  border-radius: 24px;
  background: #eadde8;
}

.research-support-card--wide {
  grid-column: span 3;
  min-height: 264px;
}

.research-support-card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0;
  color: #4a2249;
}

.research-support-card p {
  margin: 43px 0 0;
  color: rgba(101, 102, 103, 1);
  font-size: 20px;
  line-height: 1.3;
}

.research-support-card--wide p {
  margin-top: 42px;
}

.research-donor-note {
  position: relative;
  display: flex;
  min-height: 676px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 120px 56px;
  background:
    repeating-linear-gradient(60deg, rgba(139, 71, 133, 0.14) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 20% 100%, rgba(139, 71, 133, 0.88) 0%, rgba(139, 71, 133, 0.46) 30%, rgba(252, 250, 241, 0) 56%),
    radial-gradient(circle at 58% 104%, rgba(139, 71, 133, 0.22) 0%, rgba(252, 250, 241, 0) 52%),
    rgba(252, 250, 241, 1);
}

.research-donor-note::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(93, 41, 95, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93, 41, 95, 0.05) 1px, transparent 1px);
  background-size: 5px 5px;
  opacity: 0.5;
  pointer-events: none;
}

.research-donor-note__card {
  position: relative;
  z-index: 1;
  width: min(100%, 1032px);
  min-height: 436px;
  padding: 42px 64px 40px;
  border-radius: 22px;
  color: #4a2249;
  background: rgba(252, 250, 241, 1);
  text-align: center;
}

.research-donor-note__card h2 {
  max-width: 860px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 3.75vw, 50px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
}

.research-donor-note__card p {
  max-width: 900px;
  margin: 45px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-donor-note__actions {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 98px;
}

.research-donor-note__button {
  display: inline-flex;
  width: 298px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 1px solid rgba(152, 79, 145, 1);
  border-radius: 7px;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.research-donor-note__button--ghost {
  color: rgba(152, 79, 145, 1);
  background: transparent;
}

.research-donor-note__button--solid {
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.research-donor-note__button:hover {
  transform: translateY(-2px);
}

.research-donor-note__button--ghost:hover {
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.research-donor-note__button--solid:hover {
  background: rgba(152, 79, 145, 1);
}

.research-why-now {
  position: relative;
  overflow: hidden;
  padding: 124px 56px 64px;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(139, 71, 133, 0.18) 0%, rgba(252, 250, 241, 0) 38%),
    radial-gradient(circle at 35% 47%, rgba(139, 71, 133, 0.16) 0%, rgba(252, 250, 241, 0) 34%),
    radial-gradient(circle at 67% 50%, rgba(139, 71, 133, 0.14) 0%, rgba(252, 250, 241, 0) 34%),
    rgba(252, 250, 241, 1);
}

.research-why-now__inner {
  width: min(100%, 1248px);
  margin: 0 auto;
}

.research-why-now__header {
  width: min(100%, 820px);
  margin: 0 auto;
  text-align: center;
}

.research-why-now__header h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 3.75vw, 50px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
}

.research-why-now__header p {
  margin: 22px 0 0;
  font-size: 24px;
  line-height: 1.3;
}

.research-why-now__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 96px;
  margin-top: 116px;
}

.research-why-now__left,
.research-why-now__right {
  min-width: 0;
}

.research-why-now p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-why-now__lead {
  font-size: 24px !important;
}

.research-why-now p + p {
  margin-top: 34px;
}

.research-why-now__drop::first-letter {
  float: left;
  margin: -22px 24px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 190px;
  line-height: 0.82;
}

.research-why-now a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.research-why-now__closing {
  width: min(100%, 452px);
  margin: 100px auto 0;
}

.research-why-now__closing p + p {
  margin-top: 28px;
}

@media (min-width: 1248px) {
  .research-value,
  .research-audit,
  .research-parameters,
  .research-distortion,
  .research-importance,
  .research-basis,
  .research-check,
  .research-summary,
  .research-representation,
  .research-areas,
  .research-age-analysis,
  .research-bridge,
  .research-structure,
  .research-prepared,
  .research-results,
  .research-matters,
  .research-verification,
  .research-evidence,
  .research-conducting,
  .research-materials-note,
  .research-support,
  .research-donor-note,
  .research-why-now,
  .research-page .faq {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .research-components {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .system--research-gap .system__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.join-section {
  position: relative;
  min-height: 940px;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.join-section__bg,
.join-section__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.join-section__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center center;
}

.join-section__shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.24) 38%, rgba(0, 0, 0, 0.46) 100%),
    rgba(0, 0, 0, 0.2);
  opacity: 0.5;
}

.join-section__content {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 148px 56px 0;
}

.join-section__intro {
  max-width: 765px;
}

.join-section__intro h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.join-section__intro em {
  font-style: italic;
}

.join-section__intro p {
  margin: 16px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.join-section__controls {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin: 92px 42px 0 0;
}

.join-section__control {
  display: inline-flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(252, 250, 241, 0.9);
  border-radius: 50%;
  color: var(--cream);
  background: rgba(252, 250, 241, 0.04);
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.join-section__control:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.join-section__control svg {
  display: block;
  width: 40px;
  height: 40px;
}

.join-carousel {
  display: flex;
  width: 100%;
  min-height: 494px;
  align-items: flex-start;
  gap: 24px;
  margin-top: 20px;
  padding: 28px max(56px, calc(50vw - 173px)) 146px
    max(56px, calc((100vw - 1440px) / 2 + 548px));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.join-carousel.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}

.join-carousel::-webkit-scrollbar {
  display: none;
}

.join-card {
  display: flex;
  width: 346px;
  min-width: 346px;
  height: 418px;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(252, 250, 241, 0.18);
  border-radius: 16px;
  color: var(--cream);
  background: rgba(20, 16, 18, 0.42);
  box-shadow: inset 0 0 80px rgba(252, 250, 241, 0.05);
  backdrop-filter: blur(16px);
  scroll-snap-align: center;
  transition:
    background 220ms ease,
    border-color 220ms ease,
    height 220ms ease,
    transform 220ms ease;
}

.join-card.is-active {
  height: 456px;
  background: rgba(252, 250, 241, 0.24);
  border-color: rgba(252, 250, 241, 0.28);
  transform: translateY(-19px);
}

.join-card:hover {
  background: rgba(93, 41, 95, 0.48);
  border-color: rgba(252, 250, 241, 0.22);
}

.join-card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.join-card__button {
  display: flex;
  height: 51px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
  border: 1px solid var(--cream);
  border-radius: 6px;
  color: var(--cream);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.join-card.is-active .join-card__button,
.join-card:hover .join-card__button {
  background: rgba(252, 250, 241, 1);
  color: rgba(152, 79, 145, 1);
}

.join-card.is-active .join-card__button {
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.join-card:not(.is-active):hover .join-card__button:not(:hover) {
  color: var(--cream);
  background: transparent;
}

.join-card__button:hover {
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.join-card.is-active .join-card__button:hover {
  border-color: var(--cream);
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
}

.join-card__button::after {
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  transform: translate(-4px, 1px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
  content: "в†—";
}

.join-card:hover .join-card__button::after {
  opacity: 1;
  transform: translate(0, 1px);
}

.join-card p {
  margin: 40px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.join-section--grid {
  min-height: 1096px;
}

.join-section--grid .join-section__shade {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.18) 38%, rgba(0, 0, 0, 0.46) 100%),
    rgba(0, 0, 0, 0.18);
}

.join-section--grid .join-section__intro {
  max-width: 770px;
}

.join-grid {
  display: grid;
  width: min(100%, 1086px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 96px auto 0;
  padding-bottom: 96px;
}

.join-section--grid .join-card {
  width: auto;
  min-width: 0;
  height: 480px;
  padding: 24px;
  border: 0;
  color: var(--ink);
  background: rgba(252, 250, 241, 0.8);
  box-shadow: none;
  backdrop-filter: none;
  scroll-snap-align: none;
  transform: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.join-section--grid .join-card h3,
.join-section--grid .join-card__button,
.join-section--grid .join-card p {
  flex: 0 0 auto;
}

.join-section--grid .join-card:hover {
  background: rgba(252, 250, 241, 0.8);
  box-shadow: 0 18px 48px rgba(34, 26, 31, 0.18);
  transform: translateY(-3px);
}

.join-section--grid .join-card h3 {
  color: #462143;
}

.join-section--grid .join-card__button {
  display: flex;
  width: 100%;
  height: 51px;
  min-height: 51px;
  max-height: 51px;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
  padding: 0;
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  line-height: 1;
  box-sizing: border-box;
  flex: 0 0 51px;
}

.join-section--grid .join-card:hover .join-card__button,
.join-section--grid .join-card:not(.is-active):hover .join-card__button:not(:hover) {
  display: flex;
  width: 100%;
  height: 51px;
  min-height: 51px;
  max-height: 51px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.join-section--grid .join-card .join-card__button:hover,
.join-section--grid .join-card:hover .join-card__button:hover {
  display: flex;
  width: 100%;
  height: 51px;
  min-height: 51px;
  max-height: 51px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-color: rgba(152, 79, 145, 1);
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
}

.join-section--grid .join-card__button::after {
  display: none;
}

.join-section--grid .join-card p {
  margin-top: 41px;
  color: rgba(34, 26, 31, 1);
}

.join-section--compact {
  min-height: 920px;
}

.join-section--compact .join-section__content {
  padding-top: 168px;
}

.join-section--compact .join-section__controls {
  margin-top: 28px;
}

.join-section--compact .join-carousel {
  margin-top: 0;
}

.life-cycle {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.life-cycle__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 118px 52px 122px;
}

.life-cycle__heading {
  text-align: center;
}

.life-cycle__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.life-cycle__heading h2 em {
  color: rgba(152, 79, 145, 1);
  font-style: italic;
}

.life-cycle__heading p {
  margin: 17px 0 0;
  color: #55264f;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle__stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 96px;
}

.life-cycle__card,
.life-cycle__media {
  height: 548px;
  border-radius: 22px;
}

.life-cycle__card {
  display: flex;
  flex-direction: column;
  padding: 46px 40px 39px;
  background: #f2f1f0;
}

.life-cycle__card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.28;
  letter-spacing: 0;
}

.life-cycle__card h3 span,
.life-cycle__card h3 em {
  display: block;
}

.life-cycle__card h3 em {
  font-style: italic;
}

.life-cycle__card p {
  max-width: 580px;
  margin: 32px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle__controls {
  display: flex;
  gap: 23px;
  margin-top: auto;
}

.life-cycle__control {
  width: 65px;
  height: 65px;
  padding: 0;
  border: 1px solid rgba(34, 26, 31, 0.82);
  border-radius: 50%;
  color: rgba(34, 26, 31, 0.68);
  background: transparent;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.life-cycle__control:hover,
.life-cycle__control.is-active {
  color: var(--ink);
  border-color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.life-cycle__control:hover {
  transform: translateY(-2px);
}

.life-cycle__media {
  overflow: hidden;
  background: #e1e1e1;
}

.life-cycle__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition:
    opacity 180ms ease,
    transform 360ms ease;
}

.life-cycle__stage.is-changing .life-cycle__media img {
  opacity: 0.72;
  transform: scale(1.015);
}

.life-cycle--volunteers .life-cycle__inner {
  padding-top: 27px;
}

.life-cycle--volunteers .life-cycle__heading h2 {
  font-size: 50px;
  line-height: 1.12;
}

.life-cycle--volunteers .life-cycle__heading p {
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}

.life-cycle--volunteers .life-cycle__card h3 span,
.life-cycle--volunteers .life-cycle__card h3 em {
  display: inline;
}

@media (min-width: 1248px) {
  .life-cycle--volunteers.life-cycle--module .life-cycle__inner {
    padding: 120px 96px;
  }
}

@media (max-width: 1247px) {
  .life-cycle--volunteers.life-cycle--module .life-cycle__inner {
    padding: 78px 24px 88px;
  }
}

.life-cycle--membership .life-cycle__inner {
  padding-top: 127px;
}

.life-cycle--membership .life-cycle__heading p {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
}

.life-cycle--membership .life-cycle__card h3 span,
.life-cycle--membership .life-cycle__card h3 em {
  display: inline;
}

@media (min-width: 1248px) {
  .life-cycle--membership.life-cycle--module .life-cycle__inner {
    padding: 120px 96px;
  }
}

@media (max-width: 1247px) {
  .life-cycle--membership.life-cycle--module .life-cycle__inner {
    padding: 78px 24px 88px;
  }
}

.volunteer-tracks {
  position: relative;
  min-height: 950px;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.volunteer-tracks__bg,
.volunteer-tracks__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.volunteer-tracks__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.volunteer-tracks__shade {
  z-index: -1;
  background: rgba(34, 26, 31, 0.52);
}

.volunteer-tracks__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 123px 56px 0;
}

.volunteer-tracks__heading {
  width: min(100%, 720px);
  margin: 0 auto;
  text-align: center;
}

.volunteer-tracks__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.volunteer-tracks__heading p {
  max-width: 660px;
  margin: 32px auto 0;
  font-size: 24px;
  line-height: 1.25;
}

.volunteer-tracks__controls {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 96px;
  padding-right: 24px;
}

.volunteer-tracks__control {
  display: inline-flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(252, 250, 241, 0.9);
  border-radius: 50%;
  color: var(--cream);
  background: rgba(252, 250, 241, 0.04);
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.volunteer-tracks__control:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.volunteer-tracks__control svg {
  width: 40px;
  height: 40px;
}

.volunteer-tracks__carousel {
  --tracks-side-offset: max(80px, calc((100vw - 1440px) / 2 + 80px));
  display: flex;
  gap: 24px;
  margin-top: 22px;
  padding: 0 var(--tracks-side-offset) 118px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-padding-left: var(--tracks-side-offset);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.volunteer-tracks__carousel.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}

.volunteer-tracks__carousel::-webkit-scrollbar {
  display: none;
}

.volunteer-track-card {
  display: grid;
  width: 540px;
  min-width: 540px;
  height: 335px;
  grid-template-rows: auto auto auto 1fr;
  padding: 24px;
  border: 1px solid rgba(252, 250, 241, 0.12);
  border-radius: 8px;
  color: var(--cream);
  background: rgba(34, 26, 31, 0.62);
  box-shadow: inset 0 0 80px rgba(252, 250, 241, 0.04);
  backdrop-filter: blur(18px);
  scroll-snap-align: start;
}

.volunteer-track-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.volunteer-track-card__tags span {
  padding: 5px 8px;
  border-radius: 4px;
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
  font-size: 14px;
  line-height: 1;
}

.volunteer-track-card h3 {
  margin: 27px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.volunteer-track-card__time {
  margin: 2px 0 0;
  font-size: 16px;
  line-height: 1.25;
}

.volunteer-track-card p:not(.volunteer-track-card__time) {
  align-self: end;
  margin: 0;
  font-size: 20px;
  line-height: 1.28;
}

.volunteer-tasks {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.volunteer-tasks.volunteer-tasks--module {
  padding: 120px 0;
}

.volunteer-tasks--module .volunteer-tasks__inner {
  padding: 0 96px;
}

.volunteer-tasks__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 122px 56px 122px;
}

.volunteer-tasks__heading {
  max-width: 825px;
  margin: 0 auto;
  text-align: center;
}

.volunteer-tasks__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.volunteer-tasks__heading p {
  max-width: 820px;
  margin: 20px auto 0;
  font-size: 21px;
  line-height: 1.25;
}

.volunteer-tasks__grid {
  display: grid;
  width: min(100%, 825px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 95px auto 0;
}

.volunteer-task-card {
  min-height: 290px;
  padding: 25px;
  border-radius: 12px;
  background: #f2f1f0;
}

.volunteer-task-card__time {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 4px;
  color: rgba(34, 26, 31, 0.82);
  background: rgba(210, 181, 222, 0.9);
  font-size: 14px;
  line-height: 1;
}

.volunteer-task-card h3 {
  max-width: 310px;
  margin: 22px 0 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0;
}

.volunteer-task-card p {
  margin: 25px 0 0;
  font-size: 20px;
  line-height: 1.28;
}

.volunteer-task-card p + p {
  margin-top: 18px;
}

.volunteer-benefits {
  position: relative;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.volunteer-benefits.volunteer-benefits--module {
  padding: 120px 0;
}

.volunteer-benefits--module .volunteer-benefits__inner {
  padding: 0 96px;
}

.volunteer-benefits__bg,
.volunteer-benefits__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.volunteer-benefits__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.volunteer-benefits__shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.24) 0%, rgba(0, 0, 0, 0.36) 100%),
    rgba(34, 26, 31, 0.38);
}

.volunteer-benefits__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 132px 96px 122px;
}

.volunteer-benefits h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.volunteer-benefits h2 em {
  font-style: italic;
}

.volunteer-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 104px;
}

.volunteer-benefit-card {
  min-height: 218px;
  padding: 26px 24px;
  border: 1px solid rgba(252, 250, 241, 0.12);
  border-radius: 10px;
  background: rgba(34, 26, 31, 0.48);
  box-shadow: inset 0 0 86px rgba(252, 250, 241, 0.06);
  backdrop-filter: blur(18px);
}

.volunteer-benefit-card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.volunteer-benefit-card p {
  margin: 12px 0 0;
  font-size: 20px;
  line-height: 1.28;
}

.volunteer-rules {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.volunteer-rules.volunteer-rules--module {
  padding: 120px 0;
}

.volunteer-rules--module .volunteer-rules__inner {
  padding: 0 96px;
}

.volunteer-rules__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 50px 96px 72px;
}

.volunteer-rules__heading {
  text-align: center;
}

.volunteer-rules__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.volunteer-rules__heading p {
  margin: 22px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.volunteer-rules__cards {
  display: grid;
  gap: 24px;
  margin-top: 96px;
}

.volunteer-rule-card {
  position: relative;
  min-height: 228px;
  overflow: hidden;
  border-radius: 10px;
  color: var(--cream);
  background-image:
    linear-gradient(90deg, rgba(34, 26, 31, 0.52), rgba(34, 26, 31, 0.14)),
    var(--volunteer-rules-image, url("./assets/collbaba.png"));
  background-repeat: no-repeat;
  background-size: 100% 1088px;
}

.volunteer-rule-card::after {
  position: absolute;
  inset: 0;
  background: rgba(34, 26, 31, 0.16);
  content: "";
}

.volunteer-rule-card > div {
  position: relative;
  z-index: 1;
  width: min(500px, 44%);
  margin-left: auto;
  padding: 38px 70px 34px 0;
}

.volunteer-rule-card--one {
  background-position: center 0;
}

.volunteer-rule-card--two {
  background-position: center -252px;
}

.volunteer-rule-card--three {
  background-position: center -504px;
}

.volunteer-rule-card--four {
  min-height: 272px;
  background-position: center -756px;
}

.volunteer-rule-card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: 0;
}

.volunteer-rule-card p {
  margin: 14px 0 0;
  font-size: 20px;
  line-height: 1.28;
}

.membership-packages {
  position: relative;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.membership-packages--module .membership-packages__inner {
  padding: 120px 96px;
}

.membership-packages__bg,
.membership-packages__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.membership-packages__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.membership-packages__shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.5) 100%),
    rgba(34, 26, 31, 0.34);
}

.membership-packages__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 123px 96px 120px;
}

.membership-packages__heading {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.membership-packages__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.membership-packages__heading p {
  max-width: 690px;
  margin: 20px auto 0;
  font-size: 21px;
  line-height: 1.24;
}

.membership-packages__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 128px;
}

.membership-package-card {
  display: flex;
  min-height: 768px;
  flex-direction: column;
  padding: 26px 24px 23px;
  border: 1px solid rgba(252, 250, 241, 0.14);
  border-radius: 12px;
  background: rgba(34, 26, 31, 0.46);
  box-shadow: inset 0 0 90px rgba(252, 250, 241, 0.08);
  backdrop-filter: blur(18px);
}

.membership-package-card h3 {
  min-height: 78px;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.membership-package-card__lead {
  min-height: 78px;
  margin: 29px 0 0;
  font-size: 20px;
  line-height: 1.28;
}

.membership-package-card__button {
  display: inline-flex;
  width: 100%;
  min-height: 51px;
  align-items: center;
  justify-content: center;
  margin-top: 42px;
  border: 1px solid rgba(252, 250, 241, 0.92);
  border-radius: 6px;
  color: var(--cream);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.membership-package-card__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.membership-package-card--featured .membership-package-card__button {
  border-color: rgba(152, 79, 145, 1);
  background: rgba(152, 79, 145, 1);
}

.membership-package-card h4 {
  margin: 35px 0 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}

.membership-package-card ul {
  margin: 22px 0 0;
  padding-left: 30px;
  font-size: 20px;
  line-height: 1.25;
}

.membership-package-card__note {
  margin: auto 0 0;
  font-size: 16px;
  line-height: 1.3;
}

.membership-final-cta {
  display: grid;
  min-height: 554px;
  place-items: center;
  background: rgba(252, 250, 241, 1);
  color: var(--purple);
}

.membership-final-cta__inner {
  width: min(100%, 1034px);
  margin: 0 auto;
  padding: 96px 24px;
  text-align: center;
}

.membership-final-cta h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.membership-final-cta h2 em {
  font-style: italic;
}

.membership-final-cta p {
  margin: 47px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.membership-final-cta__button {
  display: inline-flex;
  width: 192px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 64px;
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.membership-final-cta__button:hover {
  color: rgba(152, 79, 145, 1);
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(152, 79, 145, 1);
  transform: translateY(-2px);
}

.membership-final-cta.membership-final-cta--module {
  min-height: 0;
  padding: 120px 96px;
  color: rgba(70, 33, 67, 1);
}

.membership-final-cta--module .membership-final-cta__inner {
  padding: 0;
}

@media (max-width: 1247px) {
  .membership-final-cta.membership-final-cta--module {
    padding: 96px 24px;
  }
}

.membership-support {
  position: relative;
  min-height: 950px;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.membership-support__bg,
.membership-support__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.membership-support__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.membership-support__shade {
  z-index: -1;
  background: rgba(34, 26, 31, 0.48);
}

.membership-support__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 123px 96px 0;
}

.membership-support__heading {
  max-width: 930px;
}

.membership-support__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.membership-support__heading p {
  margin: 38px 0 0;
  font-size: 24px;
  line-height: 1.25;
}

.membership-support__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 124px;
}

.membership-support__bar h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.membership-support__controls {
  display: flex;
  gap: 12px;
}

.membership-support__control {
  display: inline-flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(252, 250, 241, 0.9);
  border-radius: 50%;
  color: var(--cream);
  background: rgba(252, 250, 241, 0.04);
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.membership-support__control:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.membership-support__control svg {
  width: 40px;
  height: 40px;
}

.membership-support__carousel {
  --tracks-side-offset: max(96px, calc((100vw - 1440px) / 2 + 96px));
  display: flex;
  gap: 24px;
  margin-top: 22px;
  padding: 0 var(--tracks-side-offset) 118px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-padding-left: var(--tracks-side-offset);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.membership-support__carousel.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}

.membership-support__carousel::-webkit-scrollbar {
  display: none;
}

.membership-support-card {
  width: 510px;
  min-width: 510px;
  height: 185px;
  grid-template-rows: auto 1fr;
  padding: 24px;
  border-radius: 8px;
  background: rgba(34, 26, 31, 0.62);
}

.membership-support-card h3 {
  margin: 0;
  font-size: 32px;
  line-height: 1.18;
}

.membership-support-card p:not(.volunteer-track-card__time) {
  align-self: end;
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}

.membership-compare {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.membership-compare__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 122px 56px;
}

.membership-compare__heading {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.membership-compare__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.membership-compare__heading p {
  margin: 16px auto 0;
  color: var(--plum);
  font-size: 21px;
  line-height: 1.2;
}

.membership-compare__table-wrap {
  width: min(100%, 1040px);
  margin: 90px auto 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.membership-compare__table {
  width: 1040px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 20px;
  line-height: 1.15;
}

.membership-compare__table th,
.membership-compare__table td {
  height: 51px;
  padding: 8px 8px;
  border: 2px solid var(--ink);
  text-align: center;
  vertical-align: middle;
}

.membership-compare__table thead th {
  font-size: 25px;
  font-weight: 600;
}

.membership-compare__table tbody th {
  font-size: 25px;
  font-weight: 400;
}

.membership-compare__table th:first-child,
.membership-compare__table td:first-child {
  width: 405px;
}

.membership-compare__table th:nth-child(2),
.membership-compare__table td:nth-child(2),
.membership-compare__table th:nth-child(3),
.membership-compare__table td:nth-child(3) {
  width: 218px;
}

.membership-compare__table th:nth-child(4),
.membership-compare__table td:nth-child(4) {
  width: 197px;
}

/* OpenCart Membership Compare module: common 1248px grid and section rhythm. */
.membership-compare--module .membership-compare__inner {
  padding: 120px 96px;
}

/* Membership: equal status and equal vote. */
.membership-vote {
  position: relative;
  min-height: min(920px, 100svh);
  overflow: hidden;
  color: rgba(252, 250, 241, 1);
  isolation: isolate;
}

/* Membership: what happens after joining. */
.membership-after { background: rgba(252, 250, 241, 1); color: var(--ink); }
.membership-after__inner { width: min(100%,1440px); margin: 0 auto; padding: 120px 96px; }
.membership-after__inner > h2 { margin: 0; text-align: center; font-family: Lora, Georgia, "Times New Roman", serif; font-size: 50px; font-weight: 400; line-height: 1.18; }
.membership-after__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 96px; }
.membership-after-card { position: relative; display: flex; min-height: 500px; align-items: flex-end; overflow: hidden; border-radius: 16px; color: rgba(252, 250, 241, 1); isolation: isolate; }
.membership-after-card > img,.membership-after-card__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.membership-after-card > img { z-index: -2; object-fit: cover; transition: transform 500ms ease; }
.membership-after-card__shade { z-index: -1; background: linear-gradient(180deg,rgba(20,16,18,.03) 20%,rgba(20,16,18,.82) 100%); }
.membership-after-card__content { padding: 32px 24px 58px; }
.membership-after-card h3 { margin: 0; font-family: Lora, Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; line-height: 1.2; }
.membership-after-card p { margin: 28px 0 0; font-size: 20px; line-height: 1.28; }
.membership-after-card:hover > img { transform: scale(1.035); }

@media (max-width: 1247px) {
  .membership-after__inner { padding: 96px 40px; }
  .membership-after__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .membership-after__inner { padding: 96px 24px; }
  .membership-after__inner > h2 { font-size: 40px; }
  .membership-after__grid { grid-template-columns: 1fr; gap: 24px; margin-top: 64px; }
  .membership-after-card { min-height: min(500px,125vw); border-radius: 12px; }
  .membership-after-card__content { padding: 24px; }
  .membership-after-card h3 { font-size: 26px; }
  .membership-after-card p { margin-top: 22px; font-size: 18px; }
}

.membership-vote__bg,
.membership-vote__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.membership-vote__bg { z-index: -2; object-fit: cover; object-position: center; }
.membership-vote__shade { z-index: -1; background: linear-gradient(90deg, rgba(20,16,18,.42), rgba(20,16,18,.6)), rgba(34,26,31,.2); }

.membership-vote__inner {
  display: flex;
  width: min(100%, 1440px);
  min-height: min(920px, 100svh);
  margin: 0 auto;
  padding: 120px 96px;
  flex-direction: column;
  justify-content: space-between;
}

.membership-vote__heading h2 { margin: 0; font-family: Lora, Georgia, "Times New Roman", serif; font-size: 50px; font-weight: 400; line-height: 1.18; }
.membership-vote__heading p { max-width: 826px; margin: 28px 0 0; font-size: 24px; line-height: 1.28; }
.membership-vote__card { width: min(654px, 100%); margin-left: auto; padding: 36px 32px 30px; border: 1px solid rgba(252, 250, 241, .08); border-radius: 16px; background: rgba(34,26,31,.72); box-shadow: inset 0 0 64px rgba(255,255,255,.025); backdrop-filter: blur(18px); }
.membership-vote__card h3 { margin: 0 0 12px; font-size: 25px; line-height: 1.2; }
.membership-vote__card ul { margin: 0; padding-left: 28px; font-size: 20px; line-height: 1.28; }
.membership-vote__card p { margin: 12px 0 0; font-size: 20px; line-height: 1.3; }

@media (max-width: 1247px) {
  .membership-vote, .membership-vote__inner { min-height: 0; }
  .membership-vote__inner { gap: 72px; padding: 96px 24px; }
  .membership-vote__heading h2 { font-size: 40px; }
  .membership-vote__heading p { margin-top: 24px; font-size: 18px; }
  .membership-vote__card { padding: 28px 24px 24px; border-radius: 12px; }
  .membership-vote__card h3 { font-size: 24px; }
  .membership-vote__card ul, .membership-vote__card p { font-size: 16px; }
}

.membership-compare--module .membership-compare__table-wrap:focus-visible {
  outline: 2px solid rgba(152, 79, 145, 1);
  outline-offset: 4px;
}

@media (max-width: 1247px) {
  .membership-compare--module .membership-compare__inner {
    padding: 96px 0;
  }
}

.research-cta {
  position: relative;
  display: grid;
  width: 100%;
  padding: 160px 24px;
  place-items: center;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.research-cta__bg,
.research-cta__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.research-cta__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center 47%;
}

.research-cta__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.04) 46%, rgba(0, 0, 0, 0.22) 100%),
    rgba(0, 0, 0, 0.18);
  opacity: 0.5;
}

.research-cta__panel {
  width: min(826px, calc(100% - 48px));
  min-height: 422px;
  padding: 47px 53px 44px;
  border: 1px solid rgba(252, 250, 241, 0.16);
  border-radius: 16px;
  text-align: center;
  background: rgba(34, 26, 31, 0.5);
  box-shadow: inset 0 0 90px rgba(252, 250, 241, 0.05);
  backdrop-filter: blur(17px);
}

.research-cta__panel h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 47px;
  font-weight: 400;
  line-height: 1.277;
  letter-spacing: 0;
}

.research-cta__panel em {
  font-style: italic;
}

.research-cta__panel p {
  max-width: 720px;
  margin: 34px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.research-cta__button {
  display: inline-flex;
  width: 203px;
  height: 49px;
  align-items: center;
  justify-content: center;
  margin-top: 64px;
  border: 1px solid rgba(252, 250, 241, 0.18);
  border-radius: 6px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  box-shadow: inset 0 0 18px rgba(252, 250, 241, 0.08);
  backdrop-filter: blur(14px);
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    transform 180ms ease,
    background 180ms ease;
}

.research-cta__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.membership-join-cta .research-cta__panel {
  width: min(826px, calc(100% - 48px));
  min-height: 404px;
  padding: 48px 70px 40px;
}

.membership-join-cta .research-cta__panel p {
  white-space: normal;
}

@media (max-width: 900px) {
  .membership-join-cta .research-cta__panel {
    width: 100%;
    min-height: 0;
    padding: 28px 18px 18px;
  }
}

/* OpenCart Membership Support module: shared project grid and optimized carousel. */
.membership-support.membership-support--module {
  min-height: 0;
}

.membership-support--module .membership-support__inner {
  padding: 120px 96px 0;
}

.membership-support--module .membership-support__carousel {
  padding-bottom: 120px;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
}

.membership-support--module .membership-support__control:disabled {
  opacity: 0.35;
  cursor: default;
  transform: none;
}

.membership-support--module .membership-support__carousel.is-dragging {
  scroll-snap-type: none;
}

@media (max-width: 1247px) {
  .membership-support.membership-support--module {
    min-height: 0;
  }

  .membership-support--module .membership-support__inner {
    padding: 96px 24px 0;
  }

  .membership-support--module .membership-support__carousel {
    --tracks-side-offset: 24px;
    padding-bottom: 96px;
  }
}

@media (min-width: 1248px) {
  .research-cta--howitworks {
    height: 732px;
    max-height: none;
    padding: 160px 96px;
  }

  .research-cta--howitworks .research-cta__panel {
    width: min(826px, 100%);
    min-height: 412px;
  }
}

.active-projects {
  background: rgba(252, 250, 241, 1);
  color: #221a1f;
}

.active-projects__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 125px 52px 150px;
}

.active-projects__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 86px;
}

.active-projects__header h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.active-projects__all {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  transition: transform 180ms ease;
}

.active-projects__all:hover {
  transform: translateX(6px);
}

.active-projects__all svg {
  display: block;
  width: 40px;
  height: 40px;
}

.active-projects__list {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.project-row {
  position: relative;
  display: grid;
  grid-template-columns: 430px 313px 1fr;
  gap: 24px;
  align-items: start;
  padding-bottom: 0;
  border-bottom: 0;
}

.project-row::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 454px;
  height: 1px;
  background: rgba(34, 26, 31, 0.82);
  content: "";
}

.project-row__image {
  display: block;
  height: 236px;
  overflow: hidden;
  border-radius: 12px;
  background: #e1e1e1;
}

.project-row__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease;
}

.project-row h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.project-row__content {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  align-items: flex-end;
}

.project-row__content p {
  width: 100%;
  margin: 0;
  font-size: 20px;
  line-height: 1.29;
}

.project-row__button {
  display: inline-flex;
  width: 200px;
  height: 51px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: auto;
  margin-bottom: 16px;
  border: 1px solid #221a1f;
  border-radius: 6px;
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.project-row__button::after {
  content: "\2197";
  font-size: 20px;
  opacity: 0;
  transform: translate(-4px, 1px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.project-row:hover .project-row__image img {
  transform: scale(1.035);
}

.project-row:hover .project-row__button,
.project-row__button:hover {
  background: #221a1f;
  color: var(--cream);
  transform: translateY(-2px);
}

.project-row:hover .project-row__button::after,
.project-row__button:hover::after {
  opacity: 1;
  transform: translate(0, 1px);
}

.global-network {
  position: relative;
  overflow: hidden;
  background: #f2f1f0;
  color: var(--ink);
  isolation: isolate;
}

.global-network__mist {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.global-network__mist span {
  position: absolute;
  width: 360px;
  height: 260px;
  background: rgba(152, 79, 145, 0.22);
  filter: blur(24px);
  opacity: 0.78;
  animation: networkMist 16s ease-in-out infinite alternate;
}

.global-network__mist span:nth-child(1) {
  top: 0;
  left: -42px;
  width: 430px;
  height: 250px;
}

.global-network__mist span:nth-child(2) {
  top: -20px;
  right: 344px;
  width: 340px;
  height: 330px;
  animation-delay: -4s;
}

.global-network__mist span:nth-child(3) {
  right: -14px;
  bottom: 190px;
  width: 372px;
  height: 270px;
  animation-delay: -8s;
}

.global-network__mist span:nth-child(4) {
  bottom: -28px;
  left: 390px;
  width: 435px;
  height: 220px;
  animation-delay: -12s;
}

@keyframes networkMist {
  0% {
    transform: translate3d(-28px, -16px, 0) scale(1);
  }

  50% {
    transform: translate3d(32px, 22px, 0) scale(1.08);
  }

  100% {
    transform: translate3d(-14px, 36px, 0) scale(1.04);
  }
}

.global-network__inner {
  width: min(100%, 1440px);
  min-height: 811px;
  margin: 0 auto;
  padding: 118px 54px 88px;
}

.global-network h2 {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.global-network__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 128px;
  margin-top: 151px;
}

.global-network__left,
.global-network__right {
  font-size: 20px;
  line-height: 1.3;
}

.global-network__left p,
.global-network__right p {
  margin: 0;
}

.global-network__lead {
  display: grid;
  grid-template-columns: 206px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.global-network__lead span {
  margin-top: -40px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 196px;
  font-weight: 400;
  line-height: 0.9;
}

.global-network__left > p {
  max-width: 600px;
  margin-top: 2px;
}

.global-network__right {
  display: flex;
  flex-direction: column;
  gap: 31px;
  padding-top: 5px;
}

.updates {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.updates__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 145px 54px 153px;
}

.updates__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 56px;
}

.updates__header h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.updates__all {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  transition: transform 180ms ease;
}

.updates__all:hover {
  transform: translateX(6px);
}

.updates__all svg {
  display: block;
  width: 40px;
  height: 40px;
}

.updates__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.update-card {
  display: flex;
  flex-direction: column;
  min-height: 400px;
  border-radius: 14px;
  background: #f2f1f0;
  transition:
    background 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}

.update-card:hover {
  background: #e9e7e7;
  box-shadow: 0 18px 42px rgba(34, 26, 31, 0.08);
  transform: translateY(-4px);
}

.update-card--note {
  padding: 16px;
}

.update-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.update-card__tag,
.update-card__media span {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border-radius: 4px;
  color: var(--ink);
  background: rgba(214, 189, 225, 0.62);
  font-size: 14px;
  line-height: 1.1;
  white-space: nowrap;
}

.update-card__tag {
  padding: 0 9px;
}

.update-card h3 {
  margin: 19px 0 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

.update-card p {
  margin: 25px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.update-card p + p {
  margin-top: 26px;
}

.update-card--article {
  padding: 16px;
}

.update-card__media {
  position: relative;
  display: flex;
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  height: 235px;
  padding: 8px;
  overflow: hidden;
  border-radius: 6px;
  background: #e1e1e1;
}

.update-card__media img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  transition:
    filter 220ms ease,
    transform 320ms ease;
}

.update-card:hover .update-card__media img {
  filter: saturate(1.06);
  transform: scale(1.035);
}

.update-card__media span {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0 9px;
  background: rgba(252, 250, 241, 0.7);
  backdrop-filter: blur(10px);
}

.update-card--article h3 {
  margin-top: 18px;
}

.update-card--article p {
  margin-top: 8px;
}

.update-card__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: auto;
  padding-top: 28px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1;
}

.update-card__views {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.update-card__views svg {
  display: block;
  width: 18px;
  height: 18px;
}

.global-network--partners {
  padding: 120px 96px;
}

.global-network--partners .global-network__inner {
  width: min(100%, 1248px);
  min-height: 0;
  padding: 0;
}

.global-network--partners .global-network__body {
  gap: clamp(72px, 8.9vw, 128px);
  margin-top: 96px;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .global-network--partners {
    padding: 96px 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .global-network--partners {
    padding: 80px 32px;
  }
}

@media (max-width: 600px) {
  .global-network--partners {
    padding: 64px 24px;
  }
}

/* Category-driven Blog / Updates module. */
.updates--blog .update-card,
.updates--updates .update-card {
  min-width: 0;
  min-height: 480px;
  padding: 16px;
  color: var(--ink);
  background: #f2f1f0;
}

.updates--blog .update-card h3,
.updates--updates .update-card h3 {
  margin-top: 18px;
  font-size: 22px;
  line-height: 1.25;
}

.updates--blog .update-card h3 a,
.updates--updates .update-card h3 a {
  color: inherit;
}

.updates--blog .update-card p,
.updates--updates .update-card p {
  margin-top: 8px;
  font-size: 18px;
  line-height: 1.3;
}

.updates--blog .update-card__media {
  height: 235px;
}

.updates--updates .update-card__media {
  height: 205px;
  justify-content: flex-end;
  margin-top: 14px;
}

.updates--updates .update-card__media span {
  background: rgba(214, 189, 225, 0.86);
}

.update-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: auto;
  padding-top: 28px;
  font-size: 14px;
  line-height: 1;
}

.update-card__footer .update-card__meta {
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}

.update-card__read-more {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  color: var(--ink);
  transition: color 180ms ease;
}

.update-card__read-more svg {
  display: block;
  flex: 0 0 16px;
}

.update-card__read-more:hover,
.update-card__read-more:focus-visible {
  color: var(--purple);
}

.rules-hero {
  position: relative;
  display: grid;
  min-height: 930px;
  place-items: center;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.rules-hero__bg,
.rules-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.rules-hero__bg {
  z-index: -2;
  object-fit: cover;
  object-position: var(--rules-image-position, center 42%);
}

.rules-hero__shade {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.28) 55%, rgba(0, 0, 0, 0.34) 100%),
    rgba(0, 0, 0, var(--rules-shade-opacity, 0.22));
}

.rules-hero__content {
  width: min(100%, 1120px);
  padding: 0 24px;
  text-align: center;
}

.rules-hero__content h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 94px;
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: 0;
}

.rules-hero__content h2 span,
.rules-hero__content h2 em {
  display: block;
}

.rules-hero__content h2 em {
  font-style: italic;
}

.rules-hero__content p {
  max-width: 700px;
  margin: 53px auto 0;
  font-size: 20px;
  line-height: 1.25;
}

.rules-hero__button {
  display: inline-flex;
  width: 203px;
  height: 49px;
  align-items: center;
  justify-content: center;
  margin-top: 95px;
  border: 1px solid var(--rules-button-color, rgba(152, 79, 145, 1));
  border-radius: 6px;
  color: var(--cream);
  background: var(--rules-button-color, rgba(152, 79, 145, 1));
  font-size: 18px;
  line-height: 1;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.rules-hero__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  border-color: var(--cream);
  transform: translateY(-2px);
}

.faq {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.faq__inner {
  display: grid;
  width: min(100%, 1440px);
  grid-template-columns: 440px minmax(0, 1fr);
  gap: 34px;
  margin: 0 auto;
  padding: 72px 56px 75px;
}

.faq h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.faq__list {
  padding-top: 184px;
}

.faq-item {
  border-bottom: 1px solid rgba(34, 26, 31, 0.72);
}

.faq-item:last-child,
.faq__list .faq-item:last-of-type {
  border-bottom: 0;
}

.faq-item:first-child {
  border-top: 0;
}

.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 23px 3px 23px 7px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.25;
  list-style: none;
  cursor: pointer;
}

.faq-item.is-animating {
  overflow: hidden;
}

.faq-item summary span {
  flex: 1 1 auto;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  flex: 0 0 auto;
  align-self: center;
  font-family: "Open Sans", Inter, sans-serif;
  font-size: 33px;
  font-weight: 300;
  line-height: 1;
  content: "+";
}

.faq-item[open] summary::after {
  content: "-";
}

.faq-item p {
  max-width: 720px;
  margin: 0 0 29px 50px;
  font-size: 20px;
  line-height: 1.3;
}

.site-footer {
  background: #5d295f;
  color: rgba(252, 250, 241, 0.86);
}

.site-footer__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 140px 55px 40px;
}

.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) 24px;
  gap: 48px;
}

.site-footer__nav ul {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__nav a,
.site-footer__bottom a {
  display: inline-flex;
  width: fit-content;
  transition:
    transform 160ms ease,
    color 160ms ease,
    opacity 160ms ease;
}

.site-footer__nav a:hover,
.site-footer__bottom a:hover {
  color: var(--cream);
  opacity: 1;
  transform: translateX(3px);
}

.site-footer__social {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 18px;
  margin: 0;
  padding: 4px 0 0;
  list-style: none;
  font-size: 0;
  text-align: right;
}

.site-footer__social a {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  transform: none;
}

.site-footer__social img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  transition: opacity 160ms ease, transform 160ms ease;
}

.site-footer__social a:hover {
  transform: none;
}

.site-footer__social a:hover img {
  opacity: .82;
  transform: translateY(-2px);
}

.site-footer__logo {
  display: block;
  margin-top: 80px;
}

.site-footer__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.site-footer__organization-text {
  margin: 30px 0 0;
  color: var(--cream);
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  opacity: .78;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-top: 60px;
  font-size: 14px;
  line-height: 1.3;
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer__bottom nav {
  display: flex;
  gap: 41px;
}

.documents-page {
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.documents-header {
  position: fixed;
  z-index: 100;
  top: clamp(32px, 7svh, 72px);
  left: 50%;
  display: flex;
  width: min(100%, 1440px);
  align-items: center;
  justify-content: space-between;
  padding: 0 56px;
  transform: translateX(-50%);
  pointer-events: none;
}

.documents-header__logo,
.documents-header__contact {
  pointer-events: auto;
}

.documents-header__logo {
  display: flex;
  width: 44px;
  height: 67px;
  align-items: center;
  justify-content: center;
  margin-top: -4px;
  padding: 4px;
  border-radius: 4px;
  background: rgba(252, 250, 241, 1);
  transition: padding 180ms ease;
}

.documents-header__logo img {
  width: 36px;
  height: 59px;
  transition:
    width 180ms ease,
    height 180ms ease;
}

.documents-header__logo:hover {
  padding: 0;
}

.documents-header__logo:hover img {
  width: 44px;
  height: 67px;
}

.documents-header__contact {
  display: inline-flex;
  width: 174px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 5px;
  outline: 0;
  background: #9d559c;
  color: var(--cream);
  font-size: 18px;
  line-height: 1;
  transition:
    background 180ms ease,
    color 180ms ease;
}

.documents-header__contact:hover {
  background: #68296a;
  color: var(--cream);
}

.documents-main {
  background: rgba(252, 250, 241, 1);
}

.documents-hero,
.documents-section {
  background: rgba(252, 250, 241, 1);
}

.documents-hero__inner,
.documents-section__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding-right: 56px;
  padding-left: 56px;
}

.documents-hero__inner {
  min-height: 640px;
  padding-top: 220px;
  padding-bottom: 82px;
}

.documents-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: var(--purple);
  font-size: 16px;
  line-height: 1.3;
}

.documents-breadcrumb a {
  display: inline-flex;
  color: #462143;
  transition: transform 160ms ease;
}

.documents-breadcrumb a:hover {
  transform: translateX(-4px);
}

.documents-breadcrumb strong {
  color: rgba(34, 26, 31, 0.72);
  font-weight: 400;
}

.documents-hero__copy {
  margin-top: 0;
  text-align: center;
}

.documents-hero h1 {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(86px, 8.8vw, 130px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: 0;
}

.documents-hero h1 span {
  display: block;
}

.documents-hero p {
  max-width: 680px;
  margin: 24px auto 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.55;
}

.documents-hero__subtitle {
  margin-top: 12px;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 4.2vw, 58px);
  line-height: 1.12;
}

.documents-section__inner {
  padding-top: 68px;
  padding-bottom: 68px;
}

.documents-section--first .documents-section__inner {
  padding-top: 0;
}

.documents-section h2 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 4.7vw, 50px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
}

.documents-list {
  margin-top: 60px;
}

.documents-row {
  display: grid;
  min-height: 58px;
  grid-template-columns: minmax(0, 1fr) 192px;
  align-items: center;
  gap: 32px;
  padding: 4px 22px;
  border-bottom: 1px solid rgba(34, 26, 31, 0.32);
}

.documents-row:first-child {
  border-top: 0;
}

.documents-row__title {
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.35vw, 32px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

a.documents-row__title {
  width: fit-content;
  transition:
    color 160ms ease,
    transform 160ms ease;
}

a.documents-row__title:hover {
  color: var(--purple);
  transform: translateX(4px);
}

.documents-row__download {
  display: inline-flex;
  width: 190px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  justify-self: end;
  border: 1px solid rgba(152, 79, 145, 1);
  border-radius: 7px;
  color: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  transition:
    background 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.documents-row__download:hover {
  background: rgba(152, 79, 145, 1);
  color: var(--cream);
  transform: translateY(-1px);
}

.documents-footer {
  background: #5d295f;
  color: rgba(252, 250, 241, 0.9);
}

.documents-footer__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 96px 56px 28px;
}

.documents-footer__contact {
  display: grid;
  min-height: 268px;
  grid-template-columns: minmax(0, 1fr) 36px;
  gap: 48px;
  align-items: start;
}

.documents-footer h2 {
  margin: 0;
  color: var(--cream);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.1;
}

.documents-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 28px;
  font-size: 24px;
  line-height: 1.25;
}

.documents-footer a {
  transition:
    color 160ms ease,
    opacity 160ms ease,
    transform 160ms ease;
}

.documents-footer a:hover {
  color: var(--cream);
  opacity: 1;
}

.documents-footer__links a:hover {
  transform: translateY(-2px);
}

.documents-footer__social {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 18px;
  margin: 0;
  padding: 4px 0 0;
  list-style: none;
  font-size: 0;
}

.documents-footer__social a {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
}

.documents-footer__social img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.documents-footer__social a:hover img {
  opacity: 0.82;
  transform: translateY(-2px);
}

.documents-footer__logo {
  display: block;
  margin-top: 72px;
}

.documents-footer__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.documents-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  margin-top: 28px;
  font-size: 14px;
  line-height: 1.3;
}

.documents-footer__bottom p {
  margin: 0;
}

.documents-footer__bottom nav {
  display: flex;
  gap: 41px;
}

.instagram-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.instagram-modal[hidden] {
  display: none;
}

.instagram-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

body.is-instagram-modal-open {
  overflow: hidden;
}

.instagram-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(126.47deg, rgba(252, 250, 241, 0.48) 10%, rgba(152, 79, 145, 0.22) 120%),
    rgba(34, 26, 31, 0.28);
  backdrop-filter: blur(3px);
}

.instagram-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 596px);
  padding: 42px 40px 40px;
  border: 1px solid rgba(70, 33, 67, 0.18);
  border-radius: 24px;
  color: #462143;
  background: rgba(242, 241, 240, 0.94);
  box-shadow: 0 24px 64px rgba(34, 26, 31, 0.22);
}

.instagram-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: transform 180ms ease;
}

.instagram-modal__close:hover {
  transform: rotate(90deg);
}

.instagram-modal__close::before,
.instagram-modal__close::after {
  position: absolute;
  top: 16px;
  left: 9px;
  width: 16px;
  height: 2px;
  background: #462143;
  content: "";
}

.instagram-modal__close::before {
  transform: rotate(45deg);
}

.instagram-modal__close::after {
  transform: rotate(-45deg);
}

.instagram-modal h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.1;
}

.instagram-modal p {
  max-width: 360px;
  margin: 12px 0 0;
  color: rgba(101, 102, 103, 1);
  font-size: 20px;
  line-height: 1.3;
}

.instagram-modal__links {
  display: grid;
  gap: 0;
  margin-top: 32px;
  border-top: 1px solid rgba(70, 33, 67, 0.16);
}

.instagram-modal__links a {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid rgba(70, 33, 67, 0.16);
  border-radius: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition:
    color 180ms ease,
    border-color 180ms ease;
}

.instagram-modal__links a::after {
  display: inline-flex;
  min-width: 88px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(70, 33, 67, 0.72);
  border-radius: 8px;
  color: #462143;
  content: attr(data-open-label);
  font: 400 18px/1 "Open Sans", Inter, sans-serif;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease;
}

.instagram-modal__links a:hover {
  border-color: rgba(152, 79, 145, 0.5);
  color: rgba(152, 79, 145, 1);
}

.instagram-modal__links a:hover::after {
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.document-main {
  background: rgba(252, 250, 241, 1);
}

.document-article {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 168px 96px 120px;
  background: rgba(252, 250, 241, 1);
}

.document-article .documents-breadcrumb {
  margin-top: 0;
}

.document-letterhead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  gap: 80px;
  align-items: center;
  margin-top: 78px;
}

.document-letterhead__brand {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #462143;
}

.document-letterhead__brand img {
  width: 86px;
  height: auto;
  flex: 0 0 auto;
}

.document-letterhead__brand p {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: 0;
}

.document-letterhead__details {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-style: normal;
  line-height: 1.25;
}

.document-article h1 {
  margin: 98px 0 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 4.8vw, 58px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
}

.document-effective-date {
  margin: 66px 0 0;
  color: #221a1f;
  font-size: 25px;
  line-height: 1.28;
}

.document-section {
  margin-top: 32px;
}

.document-section h2 {
  margin: 0 0 18px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 35px;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
}

.document-section p,
.document-section li {
  color: #221a1f;
  font-size: 21px;
  line-height: 1.28;
}

.document-section p {
  margin: 0;
}

.document-section ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.document-section li::before {
  content: "\2022";
  margin-right: 6px;
}

.document-download {
  display: flex;
  justify-content: flex-end;
  margin-top: 112px;
}

.document-download__button {
  display: inline-flex;
  width: 288px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(152, 79, 145, 1);
  border-radius: 7px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition:
    background 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.document-download__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.document-table-wrap {
  position: relative;
  width: 100%;
  margin-top: 28px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.document-table-wrap::after {
  position: sticky;
  right: 0;
  display: none;
  width: 40px;
  min-width: 40px;
  height: 1px;
  margin-left: -40px;
  content: "";
  pointer-events: none;
}

.document-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
  color: #221a1f;
  font-size: 18px;
  line-height: 1.28;
}

.document-table th,
.document-table td {
  width: 25%;
  padding: 18px 14px;
  border: 1px solid rgba(34, 26, 31, 0.65);
  vertical-align: top;
}

.document-table th {
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  .global-network__mist {
    animation: none;
  }

  .site-menu {
    transition: none;
  }
}

@media (min-width: 1248px) and (max-height: 840px) {
  .site-menu__panel {
    padding-top: 42px;
    padding-bottom: 44px;
  }

  .site-menu__grid {
    margin-top: 62px;
  }

  .site-menu__column a,
  .site-menu__dropdown-toggle {
    min-height: 62px;
    font-size: 30px;
  }

  .site-menu__dropdown-panel a {
    font-size: 20px;
  }

  .site-menu__contacts {
    margin-top: 74px;
  }

  .site-menu__contacts h2 {
    font-size: 88px;
  }

  .site-menu__contact-links {
    margin-top: 18px;
  }
}

@media (max-width: 1247px) {
  .site-menu {
    display: block;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .site-menu[hidden] {
    display: none;
  }

  .site-menu__panel {
    min-height: 100svh;
    padding: 28px 24px 56px;
  }

  .site-menu__top {
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }

  .site-menu__language {
    min-width: 128px;
    height: 34px;
    font-size: 14px;
  }

  .site-menu__language select {
    padding-left: 14px;
  }

  .site-menu__close {
    top: 24px;
    right: 24px;
    width: 40px;
    height: 40px;
  }

  .site-menu__close::before,
  .site-menu__close::after {
    top: 19px;
    left: 5px;
    width: 32px;
    height: 2px;
  }

  .site-menu__grid {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-top: 72px;
  }

  .site-menu__column {
    gap: 0;
  }

  .site-menu__column a,
  .site-menu__dropdown-toggle {
    min-height: 62px;
    font-size: 30px;
  }

  .site-menu__column a::after,
  .site-menu__dropdown-toggle::after {
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
  }

  .site-menu__dropdown-panel a {
    min-height: 30px;
    font-size: 16px;
  }

  .site-menu__contacts {
    margin-top: 72px;
  }

  .site-menu__contacts h2 {
    font-size: 64px;
  }

  .site-menu__contact-links {
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
    font-size: 18px;
  }

  .site-menu__social {
    gap: 18px;
    margin-top: 28px;
  }

  .site-menu--research .site-menu__panel {
    padding-top: 28px;
    padding-bottom: 48px;
  }

  .site-menu--research .site-menu__grid {
    gap: 0;
    margin-top: 68px;
  }

  .research-menu__column a {
    min-height: 58px;
    font-size: clamp(26px, 7vw, 32px);
  }

  .research-menu__column + .research-menu__column {
    margin-top: 0;
  }

  .research-menu__column a:hover {
    padding-left: 0;
  }

  .site-menu--research .site-menu__contacts {
    margin-top: 70px;
  }

  .site-menu--research .site-menu__contacts h2 {
    font-size: clamp(58px, 16vw, 76px);
  }

  .hero__video,
  .hero__image {
    object-position: 46% center;
  }

  .hero__shade {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.07) 35%, rgba(0, 0, 0, 0.42) 100%),
      rgba(0, 0, 0, 0.15);
  }

  .site-header {
    top: 24px;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0 24px;
    transform: none;
  }

  .logo {
    width: 44px;
    height: 67px;
  }

  .nav-panel {
    width: clamp(210px, calc(100vw - 120px), 252px);
    height: 52px;
    gap: 4px;
    padding: 4px;
    box-shadow: none;
  }

  .nav-panel__link,
  .nav-panel__join,
  .nav-panel__contact {
    height: 46px;
    font-size: 14px;
    white-space: nowrap;
  }

  .nav-panel__link {
    width: calc(50% - 2px);
  }

  .nav-panel__join {
    width: calc(50% - 2px);
  }

  .nav-panel--research {
    width: clamp(210px, calc(100vw - 120px), 252px);
  }

  .nav-panel--research .nav-panel__link {
    width: calc(43% - 2px);
  }

  .nav-panel__contact {
    width: calc(57% - 2px);
  }

  .hero__content {
    display: block;
    width: 100%;
    min-height: 0;
    padding: clamp(276px, 33.5vh, 290px) 24px 66px;
    padding: clamp(276px, 33.5svh, 290px) 24px 66px;
  }

  .hero__kicker {
    width: 100%;
    max-width: 100%;
    margin: 0 0 4px;
    font-size: 12.5px;
    line-height: 1.25;
    text-align: left;
  }

  .hero__title {
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: clamp(52px, 14.2vw, 57px);
    line-height: 1.01;
    text-align: left;
  }

  .hero__title span,
  .hero__title em {
    white-space: normal;
  }

  .hero__title em {
    padding-right: 0;
    text-align: left;
  }

  .hero__text {
    display: flex;
    width: 100%;
    max-width: 100%;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 58px;
    margin-left: 0;
    padding-right: 0;
  }

  .hero__text p {
    width: 100%;
    font-size: 16px;
    line-height: 1.3;
    text-align: left;
  }

  .hero__button {
    width: 100%;
    max-width: 100%;
    height: 48px;
    margin-top: 88px;
  }

  .how-hero {
    place-items: center;
  }

  .how-hero__inner {
    padding: 118px 24px 72px;
  }

  .how-hero h1 {
    max-width: 368px;
    font-size: clamp(54px, 15.4vw, 62px);
    line-height: 0.96;
  }

  .how-hero p {
    max-width: 342px;
    margin-top: 46px;
    font-size: 16px;
    line-height: 1.3;
  }

  .how-principles {
    min-height: 100svh;
  }

  .how-principles__inner {
    gap: 94px;
    padding: 98px 24px 96px;
  }

  .how-principles__statement {
    max-width: 360px;
    font-size: 40px;
    line-height: 1.18;
  }

  .how-film__slide {
    height: auto;
    max-height: none;
    min-height: 0;
  }

  .how-film__track {
    display: block;
    transform: none !important;
  }

  .how-film__viewport {
    overflow: visible;
    touch-action: auto;
  }

  .how-film__cover-content {
    justify-content: center;
    min-height: 846px;
    padding: 88px 24px 96px;
  }

  .how-film__slide--right .how-film__cover-content {
    align-items: flex-start;
  }

  .how-film h2 {
    max-width: 342px;
    font-size: 40px;
    line-height: 1.18;
  }

  .how-film__glass {
    width: 100%;
    margin-top: 34px;
    padding: 24px;
    border-radius: 14px;
    background: rgba(34, 26, 31, 0.56);
  }

  .how-film__glass p,
  .how-film__text p {
    font-size: 16px;
    line-height: 1.3;
  }

  .how-film__button {
    width: 100%;
    height: 48px;
    margin-top: 22px;
  }

  .how-film__slide--split,
  .how-film__slide--reverse {
    display: flex;
    flex-direction: column;
  }

  .how-film__slide--reverse {
    flex-direction: column-reverse;
  }

  .how-film__text,
  .how-film__slide--split:not(.how-film__slide--reverse) .how-film__text,
  .how-film__slide--reverse .how-film__text {
    min-height: 698px;
    justify-content: center;
    padding: 82px 24px 88px;
  }

  .how-film__text h2 {
    max-width: 342px;
  }

  .how-film__text p {
    max-width: 342px;
    margin-top: 24px;
  }

  .how-film__media {
    min-height: 0;
    height: 520px;
  }

  .how-film__slide--reverse .how-film__media {
    display: none;
  }

  .how-film__dots {
    display: none;
  }

  .how-outcome__inner {
    padding: 96px 24px 104px;
  }

  .how-outcome__heading h2 {
    font-size: 40px;
    line-height: 1.16;
  }

  .how-outcome__heading p {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.28;
  }

  .how-outcome__body {
    display: flex;
    flex-direction: column-reverse;
    gap: 24px;
    margin-top: 39px;
  }

  .how-outcome__card,
  .how-outcome__media {
    min-height: 0;
    border-radius: 16px;
  }

  .how-outcome__media {
    height: 337px;
  }

  .how-outcome__card {
    padding: 24px;
  }

  .how-outcome__card h3 {
    font-size: 30px;
    line-height: 1.22;
  }

  .how-outcome__card ul {
    gap: 14px;
    margin-top: 24px;
  }

  .how-outcome__card li {
    padding-left: 17px;
    font-size: 17px;
    line-height: 1.22;
  }

  .how-outcome__card li::before {
    top: 0.48em;
    width: 8px;
    height: 8px;
  }

  .how-final-cta {
    min-height: 664px;
  }

  .how-final-cta__inner {
    padding: 96px 24px 96px;
  }

  .how-final-cta h2 {
    font-size: 40px;
    line-height: 1.16;
  }

  .how-final-cta p {
    max-width: 340px;
    margin-top: 32px;
    font-size: 16px;
  }

  .how-final-cta__button {
    width: 100%;
    height: 48px;
    margin-top: 66px;
  }

  .volunteer-hero {
    min-height: 100svh;
    place-items: start center;
    padding: 214px 24px 36px;
  }

  .volunteer-hero__inner {
    display: flex;
    min-height: calc(100svh - 250px);
    flex-direction: column;
    align-items: center;
  }

  .volunteer-hero h1 {
    max-width: 344px;
    font-size: clamp(54px, 15vw, 60px);
    line-height: 1.02;
  }

  .volunteer-hero p {
    max-width: 342px;
    margin-top: 39px;
    font-size: 16px;
    line-height: 1.32;
  }

  .volunteer-hero__button {
    width: 100%;
    height: 48px;
    margin-top: auto;
  }

  .membership-hero {
    min-height: 100svh;
    place-items: start center;
    padding: 218px 24px 36px;
  }

  .membership-hero__inner {
    display: flex;
    min-height: calc(100svh - 254px);
    flex-direction: column;
    align-items: center;
  }

  .membership-hero h1 {
    max-width: 342px;
    font-size: clamp(54px, 14.8vw, 60px);
    line-height: 1.02;
  }

  .membership-hero p {
    max-width: 342px;
    margin-top: 39px;
    font-size: 16px;
    line-height: 1.32;
  }

  .membership-hero__button {
    width: 100%;
    height: 48px;
    margin-top: auto;
  }

  .research-hero {
    min-height: 100svh;
    place-items: start center;
    padding: 218px 24px 64px;
  }

  .research-page {
    width: 100%;
    overflow-x: hidden;
  }

  .research-page section {
    max-width: 100%;
    overflow-x: clip;
  }

  .research-value__inner,
  .research-distortion__inner,
  .research-representation__inner,
  .research-areas__inner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .research-hero__inner {
    display: flex;
    min-height: calc(100svh - 282px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 39px;
  }

  .research-hero__title {
    max-width: 342px;
    font-size: clamp(42px, 12.2vw, 50px);
    line-height: 1.03;
  }

  .research-hero__title span {
    white-space: normal;
  }

  .research-hero p {
    width: min(100%, 342px);
    margin-top: 0;
    font-size: 16px;
    line-height: 1.32;
  }

  .research-hero p br {
    display: none;
  }

  .research-value {
    padding: 82px 24px 88px;
  }

  .research-value h2 {
    font-size: clamp(38px, 10.8vw, 44px);
    line-height: 1.15;
  }

  .research-value__body {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 48px;
  }

  .research-value__media {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 342 / 280;
    border-radius: 25px;
  }

  .research-value__card {
    width: 100%;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 30px 24px 26px;
    border-radius: 25px;
  }

  .research-value__card h3 {
    font-size: 22px;
    line-height: 1.2;
  }

  .research-value__text {
    gap: 16px;
  }

  .research-value__card p {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-value__card ul {
    padding-left: 24px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-value__actions {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .research-value__button {
    width: 100%;
    min-height: 48px;
    font-size: 16px;
  }

  .research-audit {
    min-height: 520px;
    padding: 82px 24px;
  }

  .research-audit__inner {
    width: 100%;
  }

  .research-audit p {
    font-size: clamp(34px, 9.6vw, 40px);
    line-height: 1.15;
  }

  .research-parameters {
    padding: 82px 24px 88px;
  }

  .research-parameters h2 {
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .research-parameters__grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 48px;
  }

  .research-parameter-card {
    min-height: 0;
    padding: 25px 24px 26px;
    border-radius: 16px;
  }

  .research-parameter-card h3 {
    font-size: clamp(30px, 8.4vw, 36px);
    line-height: 1.12;
  }

  .research-parameter-card p {
    max-width: 100%;
    margin-top: 0;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-distortion {
    padding: 82px 24px 88px;
  }

  .research-distortion::before {
    top: 40px;
    left: 42%;
    width: 300px;
    height: 300px;
    filter: blur(48px);
  }

  .research-distortion::after {
    bottom: 120px;
    width: 300px;
    height: 300px;
    filter: blur(48px);
  }

  .research-distortion__heading {
    width: 100%;
  }

  .research-distortion__heading h2 {
    font-size: clamp(38px, 10.8vw, 44px);
    line-height: 1.1;
  }

  .research-distortion__heading p {
    margin-top: 22px;
    font-size: 18px;
    line-height: 1.35;
  }

  .research-distortion__content {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding: 3px;
    margin-top: 64px;
  }

  .research-distortion__left,
  .research-distortion__right {
    width: 100%;
    min-width: 0;
    font-size: 17px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .research-distortion__lead {
    min-height: 0;
  }

  .research-distortion__lead::first-letter {
    padding-right: 14px;
    font-size: 128px;
    line-height: 0.78;
  }

  .research-distortion__left p + p,
  .research-distortion__right p + p {
    margin-top: 24px;
  }

  .research-importance {
    padding: 82px 24px 88px;
  }

  .research-importance__heading h2 {
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .research-importance__heading p {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.35;
  }

  .research-importance__body {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top: 52px;
  }

  .research-importance__media {
    width: 100%;
    height: auto;
    aspect-ratio: 342 / 430;
    border-radius: 24px;
  }

  .research-importance__media img {
    object-position: 42% center;
  }

  .research-importance__text {
    min-height: 0;
    gap: 16px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-importance__emphasis ul {
    padding-left: 24px;
  }

  .research-basis {
    padding: 82px 24px 88px;
  }

  .research-basis::before {
    top: 12px;
    left: -120px;
    width: 320px;
    height: 320px;
    filter: blur(50px);
  }

  .research-basis::after {
    right: -120px;
    bottom: 40px;
    width: 320px;
    height: 320px;
    filter: blur(50px);
  }

  .research-basis h2 {
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .research-basis__columns {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 52px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-basis__columns p + p {
    margin-top: 18px;
  }

  .research-check {
    padding: 82px 24px 88px;
  }

  .research-check__inner {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 52px;
  }

  .research-check__intro h2 {
    max-width: 100%;
    font-size: clamp(42px, 11.4vw, 48px);
    line-height: 1.08;
  }

  .research-check__intro p {
    max-width: 100%;
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.35;
  }

  .research-check__intro p br {
    display: none;
  }

  .research-check__media {
    height: auto;
    aspect-ratio: 342 / 230;
    border-radius: 24px;
  }

  .research-check__copy {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 0;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-check__copy p + p {
    margin-top: 16px;
  }

  .research-summary {
    min-height: 620px;
    padding: 82px 24px 88px;
  }

  .research-summary__inner {
    width: 100%;
    gap: 54px;
  }

  .research-summary__statement {
    gap: 22px;
    font-size: clamp(28px, 7.8vw, 34px);
    line-height: 1.22;
  }

  .research-summary__statement em {
    margin-bottom: 10px;
    font-size: clamp(34px, 9.5vw, 40px);
  }

  .research-summary__note {
    font-size: 18px;
    line-height: 1.35;
  }

  .research-representation {
    overflow-x: visible;
    padding: 82px 16px 88px;
  }

  .research-representation__inner,
  .research-representation__grid,
  .research-representation__grid > *,
  .research-representation__side,
  .research-representation__note,
  .research-representation__media {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .research-representation__intro {
    min-height: 0;
    padding: 30px 24px 32px;
    border-radius: 18px;
  }

  .research-representation__intro h2 {
    margin-bottom: 22px;
    font-size: clamp(38px, 10.8vw, 44px);
    line-height: 1.1;
  }

  .research-representation__intro p {
    max-width: 100%;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-representation__grid {
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 18px;
    margin-top: 18px;
  }

  .research-representation__layers {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-width: 0;
    padding: 30px 24px 24px;
    border-radius: 18px;
    overflow: hidden;
  }

  .research-representation__layers h3 {
    max-width: 100%;
    margin-bottom: 28px;
    font-size: clamp(30px, 8vw, 34px);
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  .research-representation__layer {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    min-width: 0;
    padding: 24px 20px 24px;
    border-radius: 13px;
  }

  .research-representation__layer + .research-representation__layer {
    margin-top: 16px;
  }

  .research-representation__layer h4 {
    font-size: clamp(28px, 7.8vw, 32px);
    line-height: 1.12;
    overflow-wrap: anywhere;
  }

  .research-representation__layer p {
    font-size: 17px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .research-representation__side {
    display: flex;
    height: auto;
    flex-direction: column;
    gap: 18px;
  }

  .research-representation__note {
    height: auto;
    padding: 28px 24px;
    border-radius: 18px;
  }

  .research-representation__note p {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-representation__media {
    min-height: 0;
    aspect-ratio: 342 / 300;
    border-radius: 18px;
  }

  .research-areas {
    padding: 82px 24px 88px;
  }

  .research-areas h2 {
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .research-areas__stage {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 52px;
  }

  .research-areas__card,
  .research-areas__media {
    height: auto;
    min-height: 0;
    border-radius: 18px;
  }

  .research-areas__card {
    gap: 32px;
    padding: 32px 24px 28px;
  }

  .research-areas__card h3 {
    font-size: clamp(34px, 9vw, 40px);
  }

  .research-areas__copy {
    max-width: 100%;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-areas__copy ul {
    padding-left: 24px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-areas__controls {
    gap: 16px;
  }

  .research-areas__controls button {
    width: 56px;
    height: 56px;
    font-size: 30px;
  }

  .research-areas__media {
    aspect-ratio: 342 / 360;
  }

  .research-age-analysis {
    padding: 82px 24px 88px;
  }

  .research-age-analysis::before {
    top: 24px;
    left: 36%;
    width: 320px;
    height: 320px;
    filter: blur(50px);
  }

  .research-age-analysis::after {
    bottom: 80px;
    left: -120px;
    width: 320px;
    height: 320px;
    filter: blur(50px);
  }

  .research-age-analysis h2 {
    max-width: 342px;
    font-size: clamp(38px, 10.6vw, 44px);
    line-height: 1.1;
  }

  .research-age-analysis__columns {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 58px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-age-analysis__columns p + p {
    margin-top: 16px;
  }

  .research-age-analysis__columns ul {
    padding-left: 24px;
  }

  .infrastructure {
    height: auto;
  }

  .infrastructure__sticky {
    position: relative;
    min-height: 0;
    overflow: visible;
  }

  .infrastructure__inner {
    width: 100%;
    min-height: 0;
    padding: 93px 24px 96px;
  }

  .infrastructure__heading h2 {
    max-width: 330px;
    margin: 0 auto;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .infrastructure__heading p {
    margin-top: 8px;
    font-size: 16px;
  }

  .orbit {
    display: none;
  }

  .mobile-cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 57px;
  }

  .mobile-card {
    position: relative;
    min-height: 169px;
    overflow: hidden;
    border-radius: 12px;
    padding: 24px 16px 22px;
    color: var(--cream);
    isolation: isolate;
  }

  .mobile-card::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.5);
    content: "";
  }

  .mobile-card img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .mobile-card:nth-child(1) img {
    object-position: center 18%;
  }

  .mobile-card:nth-child(2) img {
    object-position: center 40%;
  }

  .mobile-card:nth-child(3) img {
    object-position: center 62%;
  }

  .mobile-card:nth-child(4) img {
    object-position: center 52%;
  }

  .mobile-card h3 {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
  }

  .mobile-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
  }

  .system__inner {
    display: block;
    width: 100%;
    padding: 93px 24px 88px;
  }

  .system__intro {
    position: static;
    text-align: center;
  }

  .system__intro h2 {
    max-width: 330px;
    margin: 0 auto;
    font-size: 40px;
    line-height: 1.2;
  }

  .system__intro h2 em {
    display: block;
  }

  .system__intro p {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.3;
  }

  .system__body {
    padding-top: 35px;
  }

  .system__goal {
    max-width: none;
    margin: 0 0 56px;
    font-size: 14px;
    line-height: 1.3;
  }

  .system__steps-wrap {
    grid-template-columns: 16px minmax(0, 1fr);
    column-gap: 24px;
  }

  .system__progress {
    width: 14px;
  }

  .system__progress span {
    height: calc(var(--system-progress) * 100%);
  }

  .system__steps {
    gap: 36px;
  }

  .system-step h3 {
    margin-bottom: 8px;
    font-size: 20px;
    line-height: 1.3;
  }

  .system-step p {
    font-size: 16px;
    line-height: 1.25;
  }

  .system--research-gap .system__inner {
    padding: 82px 24px 88px;
  }

  .system--research-gap .system__intro h2 {
    max-width: 342px;
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .system--research-gap .system__intro p {
    max-width: 342px;
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.35;
  }

  .system--research-gap .system__body {
    width: 100%;
    margin-top: 58px;
  }

  .system--research-gap .system__steps-wrap {
    grid-template-columns: 14px minmax(0, 1fr);
    column-gap: 24px;
  }

  .system--research-gap .system__progress span {
    height: calc(var(--system-progress) * 100%);
  }

  .system--research-gap .system__steps {
    gap: 48px;
  }

  .system--research-gap .system-step h3 {
    margin-bottom: 18px;
    font-size: 22px;
    line-height: 1.22;
  }

  .system--research-gap .system-step p {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-gap-break {
    display: none;
  }

  .research-bridge {
    min-height: 620px;
    padding: 82px 24px 88px;
  }

  .research-bridge__inner {
    width: 100%;
  }

  .research-bridge h2 {
    max-width: 342px;
    font-size: clamp(38px, 10.6vw, 44px);
    line-height: 1.1;
  }

  .research-bridge p {
    margin-top: 48px;
    font-size: clamp(30px, 8.4vw, 36px);
    line-height: 1.22;
  }

  .research-structure {
    min-height: 0;
    padding: 82px 24px 88px;
  }

  .research-structure__intro {
    max-width: 100%;
  }

  .research-structure__intro h2 {
    margin-bottom: 22px;
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .research-structure__intro p {
    width: 100%;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-structure__intro p + p {
    margin-top: 12px;
  }

  .research-structure__grid {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 52px;
  }

  .research-structure-card {
    height: auto;
    min-height: 0;
    padding: 26px 24px 24px;
    border-radius: 24px;
  }

  .research-structure-card h3 {
    min-height: 0;
    font-size: clamp(30px, 8.4vw, 36px);
  }

  .research-structure-card p {
    height: auto;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-structure-card img {
    height: auto;
    aspect-ratio: 294 / 185;
    margin-top: 30px;
  }

  .research-components {
    padding: 82px 0 88px;
  }

  .research-components h2 {
    width: calc(100% - 48px);
    margin: 0 auto;
    font-size: clamp(40px, 11vw, 46px);
    line-height: 1.1;
  }

  .research-components__stage {
    width: calc(100% - 48px);
    margin: 52px auto 0;
    padding-top: 62px;
  }

  .research-components__controls {
    top: 0;
    right: 0;
    gap: 8px;
  }

  .research-components__control {
    width: 48px;
    height: 48px;
    font-size: 30px;
  }

  .research-components__carousel {
    grid-auto-columns: calc(100vw - 48px);
    gap: 16px;
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    padding-right: 24px;
  }

  .research-components .research-component-card {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 32px 24px 34px;
    border-radius: 18px;
  }

  .research-components .research-component-card h3 {
    margin-bottom: 24px;
    font-size: clamp(32px, 8.8vw, 38px);
  }

  .research-components .research-component-card p,
  .research-components .research-component-card p:not(.volunteer-track-card__time) {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-components .research-component-card p + p {
    margin-top: 16px;
  }

  .research-prepared {
    min-height: 0;
    padding: 82px 24px 88px;
  }

  .research-prepared__heading {
    width: 100%;
  }

  .research-prepared__heading h2 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(40px, 10.7vw, 46px);
    line-height: 1.1;
    white-space: normal;
  }

  .research-prepared__heading p {
    width: 100%;
    margin-top: 14px;
    font-size: 20px;
    line-height: 1.3;
  }

  .research-prepared__grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 52px;
  }

  .research-prepared__media,
  .research-prepared__card {
    width: 100%;
    border-radius: 18px;
  }

  .research-prepared__media--top,
  .research-prepared__media--side,
  .research-prepared__media--bottom {
    height: auto;
  }

  .research-prepared__media--top {
    aspect-ratio: 327 / 220;
  }

  .research-prepared__media--side {
    aspect-ratio: 327 / 360;
  }

  .research-prepared__media--bottom {
    aspect-ratio: 327 / 170;
  }

  .research-prepared__card--intro,
  .research-prepared__card--list,
  .research-prepared__card--closing {
    height: auto;
    min-height: 0;
    padding: 28px 24px 30px;
  }

  .research-prepared__card h3 {
    margin-bottom: 24px;
    font-size: 21px;
    line-height: 1.25;
  }

  .research-prepared__card p,
  .research-prepared__card li {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-prepared__card p + p {
    margin-top: 14px;
  }

  .research-prepared__card ul {
    padding-left: 20px;
  }

  .research-prepared__card--list li {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.35;
  }

  .research-results {
    height: auto;
    overflow: visible;
    padding: 82px 24px 88px;
  }

  .research-results__inner {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 0;
    flex-direction: column;
    gap: 54px;
  }

  .research-results__copy {
    display: flex;
    width: 100%;
    flex-direction: column;
    padding: 0;
    padding-top: 0;
  }

  .research-results__copy h2 {
    width: 100%;
    max-width: none;
    font-size: clamp(38px, 10.2vw, 46px);
    line-height: 1.14;
  }

  .research-results__text {
    max-width: none;
    margin-top: 40px;
  }

  .research-results__text p {
    font-size: 18px;
    line-height: 1.35;
  }

  .research-results__text p + p {
    margin-top: 20px;
  }

  .research-results__panel {
    width: 100%;
    padding: 0;
    align-self: stretch;
  }

  .research-results__panel h3 {
    margin-bottom: 28px;
    font-size: clamp(34px, 9vw, 40px);
  }

  .research-results__cards {
    width: 100%;
    height: auto;
    max-height: none;
    gap: 16px;
    overflow: visible;
  }

  .research-result-card {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 26px 24px 28px;
    border-radius: 24px;
  }

  .research-result-card h4 {
    font-size: clamp(28px, 7.6vw, 34px);
  }

  .research-result-card p {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-matters {
    padding: 82px 24px 88px;
  }

  .research-matters__inner {
    gap: 24px;
  }

  .research-matter-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    border-radius: 18px;
  }

  .research-matter-card__copy {
    padding: 32px 24px 0;
  }

  .research-matter-card h2 {
    display: block;
    font-size: 26px;
    line-height: 1.15;
  }

  .research-matter-card h2 span {
    min-width: 0;
    margin-right: 12px;
    font-size: inherit;
    line-height: inherit;
  }

  .research-matter-card__body {
    max-width: none;
    margin: 28px 0 0;
  }

  .research-matter-card__body p,
  .research-matter-card__body li {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-matter-card__body p + p {
    margin-top: 15px;
  }

  .research-matter-card__body ul {
    margin: 15px 0;
    padding-left: 20px;
  }

  .research-matter-card__lead {
    margin-top: 24px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  .research-matter-card__media {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 327 / 310;
    border-radius: 0 0 18px 18px;
  }

  .research-verification {
    min-height: 0;
    padding: 96px 24px;
  }

  .research-verification__inner {
    width: 100%;
  }

  .research-verification p {
    font-size: clamp(36px, 9.7vw, 44px);
    line-height: 1.14;
  }

  .research-evidence {
    padding: 82px 24px 88px;
  }

  .research-evidence h2 {
    font-size: clamp(40px, 10.7vw, 48px);
    line-height: 1.08;
  }

  .research-evidence__grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 42px;
  }

  .research-evidence__media {
    min-height: 0;
    aspect-ratio: 1.08;
    border-radius: 24px;
  }

  .research-evidence__media--bottom {
    aspect-ratio: 1.3;
    min-height: 0;
  }

  .research-evidence__card {
    min-height: 0;
    border-radius: 24px;
    padding: 28px 24px 30px;
  }

  .research-evidence__card h3 {
    margin-bottom: 18px;
    font-size: clamp(30px, 8vw, 36px);
  }

  .research-evidence__card p {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-evidence__card p + p {
    margin-top: 14px;
  }

  .research-conducting {
    padding: 82px 24px 88px;
  }

  .research-conducting h2 {
    max-width: none;
    font-size: clamp(40px, 10.7vw, 50px);
    line-height: 1.08;
    text-align: left;
  }

  .research-conducting__grid {
    display: flex;
    flex-direction: column;
    gap: 42px;
    margin-top: 44px;
  }

  .research-conducting__media {
    border-radius: 24px;
  }

  .research-conducting__media--wide {
    aspect-ratio: 1.35;
  }

  .research-conducting__media--portrait {
    aspect-ratio: 1;
  }

  .research-conducting__copy {
    margin-top: 26px;
  }

  .research-conducting__copy h3 {
    max-width: none;
    font-size: 21px;
    line-height: 1.3;
  }

  .research-conducting__copy p {
    max-width: none;
    margin-top: 13px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-conducting__founder-text {
    margin-top: 24px;
  }

  .research-conducting__founder-text h3 {
    font-size: 34px;
  }

  .research-conducting__founder-text p {
    margin-top: 14px;
    font-size: 24px;
  }

  .research-conducting__founder-text span {
    margin-top: 10px;
    font-size: 14px;
  }

  .research-materials-note {
    min-height: 360px;
    padding: 72px 24px;
  }

  .research-materials-note__inner {
    width: 100%;
  }

  .research-materials-note p {
    font-size: clamp(32px, 8.7vw, 42px);
    line-height: 1.18;
  }

  .research-support {
    padding: 82px 24px 88px;
  }

  .research-support__intro {
    max-width: none;
  }

  .research-support__intro h2 {
    font-size: clamp(40px, 10.7vw, 46px);
    line-height: 1.1;
  }

  .research-support__intro p {
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-support__intro p + p {
    margin-top: 12px;
  }

  .research-support__grid {
    display: flex;
    max-width: none;
    flex-direction: column;
    gap: 16px;
    margin-top: 52px;
  }

  .research-support-card,
  .research-support-card--wide {
    min-height: 0;
    padding: 28px 24px 30px;
    border-radius: 24px;
  }

  .research-support-card h3 {
    font-size: clamp(30px, 8vw, 36px);
    line-height: 1.14;
  }

  .research-support-card p,
  .research-support-card--wide p {
    margin-top: 30px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-donor-note {
    min-height: 0;
    padding: 84px 24px;
  }

  .research-donor-note__card {
    width: 100%;
    min-height: 0;
    padding: 34px 24px 36px;
    border-radius: 18px;
  }

  .research-donor-note__card h2 {
    font-size: clamp(34px, 9.2vw, 42px);
    line-height: 1.12;
  }

  .research-donor-note__card p {
    margin-top: 26px;
    font-size: 17px;
    line-height: 1.35;
  }

  .research-donor-note__actions {
    flex-direction: column;
    gap: 12px;
    margin-top: 42px;
  }

  .research-donor-note__button {
    width: 100%;
    min-height: 48px;
    font-size: 16px;
  }

  .research-why-now {
    padding: 82px 24px 88px;
  }

  .research-why-now__header {
    width: 100%;
  }

  .research-why-now__header h2 {
    font-size: clamp(40px, 10.7vw, 46px);
    line-height: 1.1;
  }

  .research-why-now__header p {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.35;
  }

  .research-why-now__lead {
    font-size: 18px !important;
  }

  .research-why-now__columns {
    display: flex;
    flex-direction: column;
    gap: 36px;
    margin-top: 58px;
  }

  .research-why-now p {
    font-size: 17px;
    line-height: 1.35;
  }

  .research-why-now p + p {
    margin-top: 22px;
  }

  .research-why-now__drop::first-letter {
    margin: -10px 14px 0 0;
    font-size: 96px;
    line-height: 0.84;
  }

  .research-why-now__closing {
    width: 100%;
    margin-top: 54px;
  }

  .research-why-now__closing p + p {
    margin-top: 22px;
  }

  .join-section {
    min-height: 0;
  }

  .join-section__bg {
    object-position: 48% top;
  }

  .join-section__shade {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.16) 40%, rgba(0, 0, 0, 0.34) 100%),
      rgba(0, 0, 0, 0.18);
  }

  .join-section__content {
    width: 100%;
    padding: 96px 24px 0;
  }

  .join-section__intro {
    max-width: 100%;
  }

  .join-section__intro h2 {
    max-width: 330px;
    font-size: 40px;
    line-height: 1.15;
  }

  .join-section__intro p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .join-section__controls {
    display: none;
  }

  .join-carousel {
    display: flex;
    min-height: 0;
    flex-direction: column;
    gap: 24px;
    margin-top: 53px;
    padding: 0 24px 96px;
    overflow: visible;
    scroll-snap-type: none;
    cursor: auto;
    user-select: auto;
    touch-action: auto;
  }

  .join-card {
    width: 100%;
    min-width: 0;
    min-height: 253px;
    height: auto;
    padding: 16px 16px 15px;
    border-radius: 12px;
    background: rgba(252, 250, 241, 0.24);
  }

  .join-card.is-active {
    height: auto;
    transform: none;
  }

  .join-card h3 {
    font-size: 26px;
  }

  .join-card__button {
    height: 51px;
    margin-top: 31px;
    background: rgba(252, 250, 241, 1);
    color: rgba(152, 79, 145, 1);
    font-size: 18px;
  }

  .join-card__button::after {
    content: none;
  }

  .join-card p {
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.3;
  }

  .join-section--grid {
    min-height: 0;
  }

  .join-section--grid .join-section__content {
    padding: 82px 24px 0;
  }

  .join-section--grid .join-section__intro {
    max-width: 342px;
    margin: 0 auto;
  }

  .join-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    width: 100%;
    margin-top: 64px;
    padding: 0 24px 96px;
  }

  .join-section--grid .join-card {
    min-height: 300px;
    padding: 24px;
    border-radius: 12px;
    background: rgba(252, 250, 241, 0.8);
  }

  .join-section--grid .join-card h3 {
    font-size: 28px;
    line-height: 1.16;
  }

  .join-section--grid .join-card__button {
    display: flex;
    width: 100%;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    padding: 0;
    color: var(--cream);
    background: rgba(152, 79, 145, 1);
    line-height: 1;
    flex-basis: 48px;
  }

  .join-section--grid .join-card:hover .join-card__button,
  .join-section--grid .join-card:not(.is-active):hover .join-card__button:not(:hover) {
    display: flex;
    width: 100%;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-color: rgba(152, 79, 145, 1);
    color: var(--cream);
    background: rgba(152, 79, 145, 1);
  }

  .join-section--grid .join-card .join-card__button:hover,
  .join-section--grid .join-card:hover .join-card__button:hover {
    display: flex;
    width: 100%;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-color: rgba(152, 79, 145, 1);
    color: rgba(152, 79, 145, 1);
    background: rgba(252, 250, 241, 1);
  }

  .join-section--grid .join-card p {
    margin-top: 34px;
    font-size: 18px;
    line-height: 1.28;
  }

  .join-section--compact {
    min-height: 0;
  }

  .join-section--compact .join-section__content {
    display: none;
  }

  .join-section--compact .join-carousel {
    margin-top: 0;
    padding-top: 96px;
  }

  .life-cycle__inner {
    padding: 78px 24px 88px;
  }

  .life-cycle__heading h2 {
    max-width: 360px;
    margin: 0 auto;
    font-size: 38px;
    line-height: 1.12;
  }

  .life-cycle__heading p {
    max-width: 320px;
    margin: 14px auto 0;
    font-size: 16px;
  }

  .life-cycle__stage {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    margin-top: 42px;
  }

  .life-cycle__card,
  .life-cycle__media {
    height: auto;
    min-height: 0;
    border-radius: 22px;
  }

  .life-cycle__media {
    aspect-ratio: 1.08;
  }

  .life-cycle__media img {
    min-height: 0;
  }

  .life-cycle__card {
    position: relative;
    min-height: 338px;
    padding: 23px 24px 24px;
    background: #f2f1f0;
  }

  .life-cycle__card h3 {
    font-size: 31px;
    line-height: 1.18;
  }

  .life-cycle__card p {
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.3;
  }

  .life-cycle__controls {
    display: flex;
    gap: 18px;
    margin-top: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .life-cycle__control {
    width: 55px;
    height: 55px;
    border-color: rgba(34, 26, 31, 0.82);
    border-radius: 50%;
    background: transparent;
    color: rgba(34, 26, 31, 0.68);
    font-size: 30px;
  }

  .life-cycle__control.is-active,
  .life-cycle__control:hover {
    border-color: var(--ink);
    background: rgba(252, 250, 241, 1);
    color: var(--ink);
    transform: none;
  }

  .life-cycle--volunteers .life-cycle__inner {
    padding-top: 70px;
  }

  .life-cycle--volunteers .life-cycle__heading h2 {
    max-width: 330px;
    font-size: 40px;
    line-height: 1.2;
  }

  .life-cycle--volunteers .life-cycle__heading p {
    max-width: 342px;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.3;
  }

  .life-cycle--volunteers .life-cycle__stage {
    margin-top: 40px;
  }

  .life-cycle--membership .life-cycle__inner {
    padding-top: 78px;
  }

  .life-cycle--membership .life-cycle__heading p {
    max-width: 342px;
  }

  .volunteer-tracks {
    min-height: 1058px;
  }

  .volunteer-tracks__bg {
    object-position: center;
  }

  .volunteer-tracks__shade {
    background: rgba(34, 26, 31, 0.46);
  }

  .volunteer-tracks__inner {
    padding: 98px 24px 0;
  }

  .volunteer-tracks__heading {
    width: min(100%, 342px);
  }

  .volunteer-tracks__heading h2 {
    font-size: 40px;
    line-height: 1.18;
  }

  .volunteer-tracks__heading p {
    margin-top: 33px;
    font-size: 20px;
    line-height: 1.25;
  }

  .volunteer-tracks__controls {
    justify-content: flex-end;
    gap: 10px;
    margin-top: 64px;
    padding-right: 0;
  }

  .volunteer-tracks__control {
    width: 64px;
    height: 64px;
  }

  .volunteer-tracks__carousel {
    --tracks-side-offset: 24px;
    gap: 24px;
    margin-top: 24px;
    padding: 0 var(--tracks-side-offset) 96px;
  }

  .volunteer-track-card {
    width: min(320px, calc(100vw - 67px));
    min-width: min(320px, calc(100vw - 67px));
    height: 398px;
    padding: 22px;
    border-radius: 12px;
  }

  .volunteer-track-card h3 {
    margin-top: 25px;
    font-size: 28px;
    line-height: 1.12;
  }

  .volunteer-track-card__time {
    font-size: 16px;
  }

  .volunteer-track-card p:not(.volunteer-track-card__time) {
    font-size: 16px;
    line-height: 1.28;
  }

  .volunteer-tasks__inner {
    padding: 79px 24px 96px;
  }

  .volunteer-tasks.volunteer-tasks--module {
    padding: 80px 0 96px;
  }

  .volunteer-tasks--module .volunteer-tasks__inner {
    padding: 0 24px;
  }

  .volunteer-tasks__heading {
    max-width: 342px;
  }

  .volunteer-tasks__heading h2 {
    font-size: 40px;
    line-height: 1.18;
  }

  .volunteer-tasks__heading p {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.3;
  }

  .volunteer-tasks__grid {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 46px;
    margin-top: 65px;
  }

  .volunteer-task-card {
    min-height: 295px;
    padding: 24px;
  }

  .volunteer-task-card h3 {
    margin-top: 25px;
    font-size: 24px;
  }

  .volunteer-task-card p {
    margin-top: 25px;
    font-size: 20px;
    line-height: 1.28;
  }

  .volunteer-benefits__bg {
    object-position: 48% center;
  }

  .volunteer-benefits__shade {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.42) 100%),
      rgba(34, 26, 31, 0.28);
  }

  .volunteer-benefits__inner {
    padding: 96px 24px 96px;
  }

  .volunteer-benefits.volunteer-benefits--module {
    padding: 96px 0;
  }

  .volunteer-benefits--module .volunteer-benefits__inner {
    padding: 0 24px;
  }

  .volunteer-benefits h2 {
    max-width: 340px;
    font-size: 40px;
    line-height: 1.22;
  }

  .volunteer-benefits h2 em {
    display: block;
  }

  .volunteer-benefits__grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 66px;
  }

  .volunteer-benefit-card {
    min-height: 260px;
    padding: 24px;
    border-radius: 12px;
  }

  .volunteer-benefit-card h3 {
    font-size: 28px;
    line-height: 1.15;
  }

  .volunteer-benefit-card p {
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.28;
  }

  .volunteer-rules__inner {
    padding: 76px 24px 78px;
  }

  .volunteer-rules.volunteer-rules--module {
    padding: 96px 0;
  }

  .volunteer-rules--module .volunteer-rules__inner {
    padding: 0 24px;
  }

  .volunteer-rules__heading h2 {
    font-size: 40px;
    line-height: 1.18;
  }

  .volunteer-rules__heading p {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.3;
  }

  .volunteer-rules__cards {
    gap: 24px;
    margin-top: 64px;
  }

  .volunteer-rule-card,
  .volunteer-rule-card--four {
    min-height: 200px;
    border-radius: 10px;
    background-size: 100% 896px;
  }

  .volunteer-rule-card--one {
    background-position: center 0;
  }

  .volunteer-rule-card--two {
    background-position: center -224px;
  }

  .volunteer-rule-card--three {
    background-position: center -448px;
  }

  .volunteer-rule-card--four {
    background-position: center -672px;
  }

  .volunteer-rule-card > div {
    width: 100%;
    margin: 0;
    padding: 38px 24px 32px;
  }

  .volunteer-rule-card h3 {
    font-size: 24px;
    line-height: 1.2;
  }

  .volunteer-rule-card p {
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.28;
  }

  .membership-packages__bg {
    object-position: 44% center;
  }

  .membership-packages__inner {
    padding: 122px 24px 96px;
  }

  .membership-packages--module .membership-packages__inner {
    padding: 96px 24px;
  }

  .membership-packages__heading {
    max-width: 342px;
  }

  .membership-packages__heading h2 {
    font-size: 40px;
    line-height: 1.18;
  }

  .membership-packages__heading p {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.3;
  }

  .membership-packages__grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 98px;
  }

  .membership-package-card {
    min-height: 0;
    padding: 24px;
    border-radius: 12px;
  }

  .membership-package-card h3 {
    min-height: 0;
    font-size: 28px;
    line-height: 1.16;
  }

  .membership-package-card__lead {
    min-height: 0;
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.28;
  }

  .membership-package-card__button {
    min-height: 48px;
    margin-top: 76px;
  }

  .membership-package-card h4 {
    margin-top: 36px;
    font-size: 22px;
  }

  .membership-package-card ul {
    padding-left: 24px;
    font-size: 18px;
  }

  .membership-package-card__note {
    margin-top: 24px;
    font-size: 16px;
  }

  .membership-final-cta {
    min-height: 430px;
  }

  .membership-final-cta__inner {
    padding: 82px 24px;
  }

  .membership-final-cta h2 {
    max-width: 342px;
    margin: 0 auto;
    font-size: 40px;
    line-height: 1.18;
  }

  .membership-final-cta p {
    margin-top: 32px;
    font-size: 16px;
  }

  .membership-final-cta__button {
    width: 100%;
    height: 48px;
    margin-top: 56px;
  }

  .membership-support {
    min-height: 930px;
  }

  .membership-support__bg {
    object-position: center;
  }

  .membership-support__shade {
    background: rgba(34, 26, 31, 0.5);
  }

  .membership-support__inner {
    padding: 96px 24px 0;
  }

  .membership-support__heading {
    max-width: 342px;
  }

  .membership-support__heading h2 {
    font-size: 40px;
    line-height: 1.18;
  }

  .membership-support__heading p {
    margin-top: 32px;
    font-size: 18px;
    line-height: 1.25;
  }

  .membership-support__bar {
    align-items: flex-end;
    gap: 16px;
    margin-top: 86px;
  }

  .membership-support__bar h3 {
    max-width: 210px;
    font-size: 34px;
    line-height: 1.12;
  }

  .membership-support__controls {
    gap: 10px;
    flex-shrink: 0;
  }

  .membership-support__control {
    width: 64px;
    height: 64px;
  }

  .membership-support__carousel {
    --tracks-side-offset: 24px;
    gap: 24px;
    margin-top: 24px;
    padding: 0 var(--tracks-side-offset) 96px;
  }

  .membership-support-card {
    width: min(320px, calc(100vw - 67px));
    min-width: min(320px, calc(100vw - 67px));
    height: 230px;
    padding: 22px;
    border-radius: 12px;
  }

  .membership-support-card h3 {
    font-size: 28px;
    line-height: 1.12;
  }

  .membership-support-card p:not(.volunteer-track-card__time) {
    font-size: 16px;
    line-height: 1.28;
  }

  .membership-compare__inner {
    padding: 78px 0 96px;
  }

  .membership-compare__heading {
    max-width: 342px;
    padding: 0 24px;
  }

  .membership-compare__heading h2 {
    font-size: 40px;
    line-height: 1.18;
  }

  .membership-compare__heading p {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.25;
  }

  .membership-compare__table-wrap {
    position: relative;
    width: 100%;
    margin-top: 64px;
    padding: 0 24px 10px;
  }

  .membership-compare__table-wrap::after {
    content: attr(data-scroll-hint) " ->";
    position: sticky;
    right: 18px;
    bottom: 12px;
    z-index: 3;
    display: inline-flex;
    float: right;
    height: 28px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    color: var(--cream);
    background: rgba(78, 37, 72, 0.88);
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
    box-shadow: 0 8px 22px rgba(34, 26, 31, 0.18);
  }

  .membership-compare__table {
    width: 980px;
    font-size: 18px;
  }

  .membership-compare__table th,
  .membership-compare__table td {
    height: 50px;
    padding: 8px 10px;
    border-width: 2px;
  }

  .membership-compare__table thead th,
  .membership-compare__table tbody th {
    font-size: 22px;
  }

  .membership-compare__table th:first-child,
  .membership-compare__table td:first-child {
    width: 360px;
  }

  .membership-compare__table th:nth-child(2),
  .membership-compare__table td:nth-child(2),
  .membership-compare__table th:nth-child(3),
  .membership-compare__table td:nth-child(3) {
    width: 210px;
  }

  .membership-compare__table th:nth-child(4),
  .membership-compare__table td:nth-child(4) {
    width: 200px;
  }

  .research-cta {
    height: min(720px, 128vw);
    min-height: 560px;
    place-items: center;
    padding: 16px 24px;
  }

  .research-cta__bg {
    object-position: 42% center;
  }

  .research-cta__shade {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 42%, rgba(0, 0, 0, 0.42) 100%),
      rgba(0, 0, 0, 0.12);
  }

  .research-cta__panel {
    width: 100%;
    min-height: 0;
    padding: 28px 18px 18px;
    border-radius: 24px;
  }

  .research-cta__panel h2 {
    font-size: 36px;
    line-height: 1.14;
  }

  .research-cta__panel p {
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.3;
  }

  .research-cta__button {
    width: 100%;
    height: 51px;
    margin-top: 30px;
    font-size: 18px;
  }

  .active-projects__inner {
    padding: 78px 24px 88px;
  }

  .active-projects__header {
    margin-bottom: 84px;
  }

  .active-projects__header h2 {
    font-size: 40px;
    line-height: 1.15;
  }

  .active-projects__all {
    width: 44px;
    height: 44px;
    font-size: 38px;
  }

  .active-projects__list {
    gap: 80px;
  }

  .project-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0 24px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .project-row::after {
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(34, 26, 31, 0.82);
  }

  .project-row__image {
    width: 100%;
    height: auto;
    aspect-ratio: 1.53;
    border-radius: 12px;
  }

  .project-row h3 {
    padding: 23px 0 0;
    font-size: 26px;
  }

  .project-row__content {
    min-height: 0;
    align-items: stretch;
    padding: 17px 0 0;
  }

  .project-row__content p {
    font-size: 16px;
    line-height: 1.3;
  }

  .project-row__button {
    width: 100%;
    margin-top: 40px;
    margin-bottom: 0;
    background: transparent;
  }

  .project-row__button::after {
    content: none;
  }

  .project-row:hover .project-row__button,
  .project-row__button:hover {
    transform: none;
  }

  .global-network__mist {
    inset: 0;
  }

  .global-network__mist span {
    width: 210px;
    height: 190px;
    filter: blur(42px);
    opacity: 0.72;
  }

  .global-network__mist span:nth-child(1) {
    top: 20px;
    left: -72px;
    width: 245px;
    height: 210px;
  }

  .global-network__mist span:nth-child(2) {
    top: 170px;
    right: -84px;
    width: 230px;
    height: 250px;
  }

  .global-network__mist span:nth-child(3) {
    right: 110px;
    bottom: 260px;
    width: 220px;
    height: 190px;
  }

  .global-network__mist span:nth-child(4) {
    bottom: -20px;
    left: -42px;
    width: 255px;
    height: 205px;
  }

  .global-network__inner {
    min-height: 0;
    padding: 96px 24px 88px;
  }

  .global-network h2 {
    max-width: 342px;
    font-size: 38px;
    line-height: 1.13;
  }

  .global-network__body {
    display: flex;
    flex-direction: column;
    gap: 31px;
    margin-top: 56px;
  }

  .global-network__left,
  .global-network__right {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1.28;
    backdrop-filter: none;
  }

  .global-network__lead {
    display: block;
  }

  .global-network__lead span {
    float: left;
    margin: -17px 14px 0 -2px;
    font-size: 106px;
    line-height: 0.82;
  }

  .global-network__left > p {
    max-width: none;
    margin-top: 19px;
  }

  .global-network__right {
    gap: 22px;
  }

  .updates__inner {
    padding: 98px 24px 88px;
  }

  .updates__header {
    margin-bottom: 59px;
  }

  .updates__header h2 {
    max-width: 232px;
    font-size: 40px;
    line-height: 1.15;
  }

  .updates__all {
    width: 44px;
    height: 44px;
    font-size: 38px;
  }

  .updates__grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .update-card {
    min-height: 0;
    border-radius: 14px;
  }

  .update-card--note {
    min-height: 380px;
  }

  .update-card:hover {
    transform: none;
  }

  .update-card--note {
    padding: 24px;
  }

  .update-card--article {
    padding: 24px 24px 28px;
  }

  .update-card__tag,
  .update-card__media span {
    min-height: 26px;
    font-size: 14px;
  }

  .update-card h3 {
    margin-top: 18px;
    font-size: 24px;
    line-height: 1.25;
  }

  .update-card p {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.3;
  }

  .update-card p + p {
    margin-top: 18px;
  }

  .update-card__media {
    height: auto;
    aspect-ratio: 2.15;
    border-radius: 8px;
  }

  .update-card--article p {
    margin-top: 10px;
  }

  .update-card__meta {
    padding-top: 46px;
  }

  .rules-hero {
    min-height: 670px;
    place-items: center;
    padding: 38px 24px;
  }

  .rules-hero__bg {
    object-position: 48% center;
  }

  .rules-hero__shade {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.18) 36%, rgba(0, 0, 0, 0.48) 100%),
      rgba(0, 0, 0, 0.18);
  }

  .rules-hero__content {
    width: 100%;
    padding: 0;
  }

  .rules-hero__content h2 {
    font-size: 54px;
    line-height: 1.02;
  }

  .rules-hero__content p {
    max-width: 355px;
    margin-top: 28px;
    font-size: 16px;
    line-height: 1.3;
  }

  .rules-hero__button {
    width: 100%;
    height: 51px;
    margin-top: 36px;
    font-size: 18px;
  }

  .faq__inner {
    display: block;
    padding: 109px 24px 88px;
  }

  .faq h2 {
    font-size: 40px;
    line-height: 1.15;
  }

  .faq__list {
    padding-top: 55px;
  }

  .faq-item summary {
    gap: 18px;
    padding: 22px 0;
    font-size: 21px;
    line-height: 1.25;
  }

  .faq-item summary::after {
    font-size: 28px;
  }

  .faq-item p {
    max-width: none;
    margin: 0 0 28px;
    padding-right: 34px;
    font-size: 16px;
    line-height: 1.3;
  }

  .site-footer__inner {
    padding: 76px 24px 46px;
  }

  .site-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row dense;
    gap: 32px 42px;
  }

  .site-footer__nav ul {
    gap: 12px;
  }

  .site-footer__nav ul:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .site-footer__nav ul:nth-child(2) {
    grid-column: 1;
    grid-row: 3;
  }

  .site-footer__nav ul:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }

  .site-footer__nav ul:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
  }

  .site-footer__nav ul:nth-child(5) {
    grid-column: 2;
    grid-row: 2 / span 2;
  }

  .site-footer__social {
    align-items: flex-start;
    text-align: left;
  }

  .site-footer__logo {
    margin-top: 99px;
  }

  .site-footer__logo img {
    height: auto;
  }

  .site-footer__bottom {
    flex-direction: column-reverse;
    align-items: center;
    gap: 17px;
    margin-top: 58px;
    font-size: 13px;
    text-align: center;
  }

  .site-footer__bottom nav {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 18px;
  }

  .site-footer__bottom a:hover {
    transform: none;
  }
}

@media (min-width: 901px) and (max-width: 1247px) {
  .site-header {
    top: 32px;
    padding: 0 40px;
  }

  .nav-panel:not(.nav-panel--research) {
    width: auto;
    height: 67px;
  }

  .nav-panel__link {
    width: 177px;
    height: 59px;
  }

  .nav-panel__join {
    width: 177px;
    height: 59px;
  }

  .nav-panel__contact {
    height: 59px;
  }

  .hero__content {
    padding: 230px 40px 86px;
  }

  .hero__kicker {
    width: min(720px, 100%);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 15px;
  }

  .hero__title {
    max-width: 900px;
    margin: 10px auto 0;
    text-align: center;
    font-size: clamp(72px, 8.4vw, 94px);
    line-height: 0.98;
  }

  .hero__title em {
    text-align: center;
  }

  .hero__text {
    width: min(560px, 100%);
    margin: 38px auto 0;
    text-align: center;
  }

  .hero__text p {
    width: auto;
    font-size: 18px;
  }

  .hero__button {
    width: 260px;
    margin: 62px auto 0;
  }

  .research-hero {
    min-height: 0;
    padding: 219px 40px 120px;
  }

  .research-hero__inner {
    display: block;
    min-height: 0;
    width: min(100%, 1000px);
  }

  .research-hero__title {
    max-width: none;
    font-size: clamp(68px, 8vw, 96px);
    line-height: 1;
  }

  .research-hero p {
    width: min(100%, 584px);
    margin-top: 40px;
    font-size: 20px;
    line-height: 1.23;
  }

  .research-distortion__content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 64px;
    padding: 0 40px;
  }

  .research-distortion__left,
  .research-distortion__right {
    width: auto;
  }

  .research-importance {
    padding: 120px 40px;
  }

  .research-importance__body {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
    gap: 48px;
  }

  .research-importance__media,
  .research-importance__text {
    min-height: 0;
    height: auto;
  }

  .research-importance__media {
    align-self: stretch;
  }

  .research-basis {
    padding: 120px 40px;
  }

  .research-basis__columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
  }

  .research-check {
    padding: 120px 40px;
  }

  .research-check__inner {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
    gap: 48px;
  }

  .research-representation {
    padding: 120px 40px;
  }

  .research-representation__grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  }

  .research-areas {
    padding: 120px 40px;
  }

  .research-areas__stage {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .research-age-analysis {
    padding: 120px 40px;
  }

  .research-age-analysis h2 {
    max-width: 980px;
    font-size: clamp(44px, 4.8vw, 50px);
  }

  .research-age-analysis__columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .infrastructure__inner {
    padding: 136px 40px 110px;
  }

  .infrastructure__heading h2 {
    max-width: 880px;
    font-size: 46px;
  }

  .mobile-cards {
    max-width: 780px;
    margin: 58px auto 0;
  }

  .mobile-card {
    min-height: 220px;
    padding: 28px 24px;
  }

  .mobile-card h3 {
    font-size: 22px;
  }

  .mobile-card p {
    max-width: 620px;
    font-size: 16px;
  }

  .system__inner,
  .life-cycle__inner,
  .active-projects__inner,
  .updates__inner,
  .faq__inner {
    padding-right: 40px;
    padding-left: 40px;
  }

  .system__intro h2,
  .join-section__intro h2,
  .life-cycle__heading h2,
  .updates__header h2,
  .faq h2 {
    max-width: 760px;
    font-size: 46px;
  }

  .system__goal,
  .system__steps-wrap,
  .join-section__intro,
  .life-cycle__stage,
  .active-projects__list,
  .updates__grid,
  .faq__list {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
  }

  .join-section__content {
    padding: 112px 40px 0;
  }

  .join-carousel {
    max-width: 680px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
  }

  .join-card {
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }

  .life-cycle__media {
    aspect-ratio: 1.55;
  }

  .research-cta {
    min-height: 620px;
    height: 720px;
  }

  .research-cta__panel {
    width: min(720px, 100%);
  }

  .active-projects__list {
    gap: 28px;
  }

  .project-row__image {
    aspect-ratio: 1.9;
  }

  .global-network__inner {
    padding: 100px 40px 110px;
  }

  .global-network h2 {
    max-width: 680px;
    font-size: 46px;
  }

  .global-network__body {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
  }

  .update-card {
    max-width: 680px;
    margin-right: auto;
    margin-left: auto;
  }

  .rules-hero {
    min-height: 760px;
  }

  .rules-hero__content h2 {
    font-size: clamp(64px, 7.5vw, 84px);
  }

  .site-footer__inner {
    padding-right: 40px;
    padding-left: 40px;
  }

  .site-footer__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-footer__social {
    align-items: flex-start;
    text-align: left;
  }
}

@media (min-width: 600px) and (max-width: 900px) {
  .research-hero {
    min-height: 0;
    padding: 211px 40px 120px;
  }

  .research-hero__inner {
    display: block;
    min-height: 0;
    width: min(100%, 688px);
  }

  .research-hero__title {
    max-width: none;
    font-size: clamp(50px, 7.4vw, 58px);
    line-height: 1;
  }

  .research-hero p {
    width: min(100%, 520px);
    margin-top: 40px;
    font-size: 18px;
    line-height: 1.25;
  }
}

@media (max-width: 1247px) {
  .documents-header {
    top: 24px;
    padding: 0 24px;
  }

  .documents-header__logo {
    width: 44px;
    height: 67px;
  }

  .documents-header__logo img {
    width: 36px;
    height: 59px;
  }

  .documents-header__contact {
    width: 136px;
    height: 44px;
    font-size: 16px;
  }

  .documents-hero__inner,
  .documents-section__inner {
    padding-right: 24px;
    padding-left: 24px;
  }

  .documents-hero__inner {
    min-height: 560px;
    padding-top: 142px;
    padding-bottom: 64px;
  }

  .documents-breadcrumb {
    gap: 10px;
    font-size: 14px;
  }

  .documents-breadcrumb svg {
    width: 28px;
    height: 28px;
  }

  .documents-hero__copy {
    margin-top: 0;
    text-align: left;
  }

  .documents-hero h1 {
    max-width: 610px;
    font-size: clamp(52px, 14.8vw, 82px);
    line-height: 1.02;
  }

  .documents-hero__subtitle {
    margin-top: 16px;
    font-size: clamp(32px, 9vw, 44px);
    line-height: 1.12;
  }

  .documents-hero p {
    max-width: 520px;
    margin: 26px 0 0;
    font-size: 17px;
    line-height: 1.45;
  }

  .documents-section__inner {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .documents-section h2 {
    font-size: clamp(40px, 10.4vw, 58px);
    line-height: 1.08;
  }

  .documents-list {
    margin-top: 42px;
  }

  .documents-row {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px 0 22px;
  }

  .documents-row__title {
    font-size: clamp(26px, 7.4vw, 36px);
    line-height: 1.16;
  }

  a.documents-row__title {
    width: 100%;
  }

  a.documents-row__title:hover {
    transform: none;
  }

  .documents-row__download {
    width: 100%;
    min-height: 48px;
    justify-self: stretch;
    font-size: 17px;
  }

  .document-article {
    padding: 132px 24px 80px;
  }

  .document-article .documents-breadcrumb {
    flex-wrap: wrap;
    line-height: 1.35;
  }

  .document-letterhead {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 58px;
  }

  .document-letterhead__brand {
    gap: 18px;
  }

  .document-letterhead__brand img {
    width: 72px;
  }

  .document-letterhead__brand p {
    font-size: clamp(20px, 5.8vw, 25px);
  }

  .document-letterhead__details {
    font-size: 17px;
  }

  .document-article h1 {
    margin-top: 68px;
    font-size: clamp(44px, 12vw, 58px);
  }

  .document-effective-date {
    margin-top: 44px;
    font-size: 21px;
  }

  .document-section {
    margin-top: 30px;
  }

  .document-section h2 {
    font-size: clamp(30px, 8.6vw, 38px);
  }

  .document-section p,
  .document-section li {
    font-size: 18px;
    line-height: 1.34;
  }

  .document-table-wrap {
    margin-right: -24px;
    padding-right: 24px;
  }

  .document-table-wrap::after {
    top: 0;
    display: block;
    height: 100%;
    background: linear-gradient(90deg, rgba(252, 250, 241, 0), rgba(70, 33, 67, 0.22));
  }

  .document-table {
    min-width: 780px;
    font-size: 15px;
    line-height: 1.28;
  }

  .document-table th,
  .document-table td {
    padding: 13px 10px;
  }

  .document-download {
    margin-top: 72px;
  }

  .document-download__button {
    width: 100%;
    min-height: 48px;
    font-size: 17px;
  }

  .documents-footer__inner {
    padding: 72px 24px 42px;
  }

  .documents-footer__contact {
    display: block;
    min-height: 0;
  }

  .documents-footer h2 {
    font-size: 42px;
  }

  .documents-footer__links {
    flex-direction: column;
    gap: 14px;
    margin-top: 26px;
    font-size: 20px;
  }

  .documents-footer__social {
    flex-direction: row;
    align-items: center;
    gap: 22px;
    margin-top: 38px;
    padding: 0;
  }

  .documents-footer__logo {
    margin-top: 84px;
  }

  .documents-footer__bottom {
    flex-direction: column-reverse;
    align-items: center;
    gap: 18px;
    margin-top: 44px;
    font-size: 13px;
    text-align: center;
  }

  .documents-footer__bottom nav {
    width: 100%;
    justify-content: space-between;
    gap: 16px;
  }

  .instagram-modal {
    padding: 18px;
  }

  .instagram-modal__panel {
    padding: 34px 24px 28px;
    border-radius: 18px;
  }

  .instagram-modal h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .instagram-modal p {
    font-size: 20px;
    line-height: 1.3;
  }

  .instagram-modal__links a {
    min-height: 64px;
    gap: 14px;
    font-size: 24px;
    line-height: 1.2;
  }

  .instagram-modal__links a::after {
    min-width: 72px;
    height: 38px;
    font-size: 16px;
  }

.research-page main h2,
.research-page .documents-footer h2,
.research-page .instagram-modal h2 {
    font-size: 38px !important;
    line-height: 1.2 !important;
  }

  .research-page main p,
  .research-page main li,
  .research-page main summary,
  .research-page .documents-footer__links,
  .research-page .documents-footer__bottom,
  .research-page .instagram-modal p,
  .research-page .instagram-modal__links a {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  .research-page .research-audit p,
  .research-page .research-verification p,
  .research-page .research-materials-note p {
    font-size: 40px !important;
    line-height: 1.2 !important;
  }

  .research-page main h1 {
    font-size: 60px !important;
    line-height: 1 !important;
  }

  .research-page main h3,
  .research-page .instagram-modal__links a {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  .research-page .instagram-modal p {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
}

@media (min-width: 1248px) {
  .site-menu--standard-v2 .site-menu__top {
    padding-right: clamp(300px, 22vw, 420px);
  }

  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > a,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > .site-menu__dropdown > .site-menu__dropdown-toggle {
    color: #462143;
  }

  .site-menu--standard-v2 .site-menu__column--secondary > a:hover,
  .site-menu--standard-v2 .site-menu__column--secondary > a:focus-visible,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle:hover,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown.is-open > .site-menu__dropdown-toggle {
    color: var(--purple) !important;
  }
}

@media (min-width: 1248px) and (max-height: 900px) {
  .site-menu--standard-v2 .site-menu__panel {
    padding-top: 32px;
    padding-bottom: 36px;
  }

  .site-menu--standard-v2 .site-menu__close {
    top: 30px;
  }

  .site-menu--standard-v2 .site-menu__grid {
    margin-top: 22px;
  }

  .site-menu--standard-v2 .site-menu__column--primary > a {
    min-height: 78px;
    font-size: clamp(58px, 5.4vw, 82px);
  }

  .site-menu--standard-v2 .site-menu__column--primary > a::after {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .site-menu--standard-v2 .site-menu__column--secondary > a,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle {
    min-height: 52px;
    font-size: 27px;
  }

  .site-menu--standard-v2 .site-menu__column--secondary .site-menu__dropdown-panel a {
    min-height: 39px;
    font-size: 19px;
  }

  .site-menu--standard-v2 .site-menu__contacts {
    margin-top: 38px;
  }

  .site-menu--standard-v2 .site-menu__contact-links {
    margin-top: 14px;
  }

  .site-menu--standard-v2 .site-menu__social {
    margin-top: 12px;
  }
}

/* Shared breadcrumbs strip for every inner page. */
.site-breadcrumbs {
  position: relative;
  z-index: 4;
  color: rgba(70, 33, 67, 1);
  background: rgba(252, 250, 241, 1);
}

.site-breadcrumbs__inner {
  display: flex;
  width: min(100%, 1440px);
  min-height: 152px;
  align-items: flex-end;
  gap: 5px;
  margin: 0 auto;
  padding: 0 96px;
  font-family: "Open Sans", Inter, sans-serif;
  font-size: 16px;
  line-height: 21px;
}

.site-breadcrumbs a,
.site-breadcrumbs span { color: inherit; }
.site-breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.site-breadcrumbs a:hover,
.site-breadcrumbs a:focus-visible { color: rgba(152, 79, 145, 1); }

body:has(#app .wf-hero) .site-breadcrumbs {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9998;
  color: var(--cream);
  background: transparent;
}

body:has(#app .wf-hero) .site-breadcrumbs a {
  color: var(--purple);
}

/* The inner-page masthead already occupies part of the first viewport. */
.site-breadcrumbs ~ #app .how-hero {
  display: block;
}

.site-breadcrumbs ~ #app .how-hero__inner {
  padding: 120px 96px;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .site-breadcrumbs__inner {
    min-height: 144px;
    padding-right: 40px;
    padding-left: 40px;
  }

  .site-breadcrumbs ~ #app .how-hero__inner {
    padding: 96px 40px;
  }

  .how-principles--module .how-principles__inner {
    padding: 96px 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .site-breadcrumbs__inner {
    min-height: 118px;
    padding: 0 32px;
    line-height: 20px;
  }

  .site-breadcrumbs ~ #app .how-hero__inner {
    padding: 80px 32px;
  }

  .how-principles--module .how-principles__inner {
    padding: 80px 32px;
  }
}

@media (max-width: 600px) {
  .site-breadcrumbs__inner {
    min-height: 112px;
    padding: 0 24px;
    font-size: 14px;
    line-height: 18px;
  }

  .site-breadcrumbs ~ #app .how-hero__inner {
    padding: 64px 24px;
  }

  .how-principles--module .how-principles__inner {
    padding: 64px 24px;
  }
}

@media (max-width: 599px) {
  .updates,
  .updates__inner,
  .updates__grid,
  .updates__grid > *,
  .update-card--article,
  .update-card__media {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .updates,
  .updates__inner,
  .updates__grid,
  .update-card--article {
    overflow-x: clip;
  }

  .update-card--article h3,
  .update-card--article p {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .update-card__media img {
    max-width: 100%;
  }
}

@media (max-width: 370px) {
  .site-header {
    padding: 0 18px;
  }

  .hero__title {
    font-size: 52px;
  }

  .nav-panel {
    width: clamp(204px, calc(100vw - 108px), 222px);
  }

  .nav-panel__link,
  .nav-panel__join,
  .nav-panel__donate {
    font-size: 13px;
  }

  .nav-panel__link {
    width: calc(30% - 3px);
  }

  .nav-panel__join {
    width: calc(31% - 3px);
  }

  .nav-panel__donate {
    width: calc(39% - 3px);
  }
}

/* Shared solid primary button states. */
:is(
  .nav-panel__donate,
  .nav-panel__contact,
  .hero__button,
  .how-film__button,
  .how-final-cta__button,
  .volunteer-hero__button,
  .membership-hero__button,
  .research-value__button--primary,
  .research-donor-note__button--solid,
  .join-section--grid .join-card__button,
  .join-card.is-active .join-card__button,
  .membership-package-card--featured .membership-package-card__button,
  .membership-final-cta__button,
  .research-cta__button,
  .rules-hero__button,
  .document-download__button
) {
  border-color: var(--primary-button);
  color: var(--cream);
  background: var(--primary-button);
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

:is(
  .nav-panel__donate,
  .nav-panel__contact,
  .hero__button,
  .how-film__button,
  .how-final-cta__button,
  .volunteer-hero__button,
  .membership-hero__button,
  .research-value__button--primary,
  .research-donor-note__button--solid,
  .join-card.is-active .join-card__button,
  .membership-package-card--featured .membership-package-card__button,
  .membership-final-cta__button,
  .research-cta__button,
  .rules-hero__button,
  .document-download__button
):is(:hover, :focus-visible),
.join-section--grid .join-card .join-card__button:is(:hover, :focus-visible),
.join-section--grid .join-card:hover .join-card__button:is(:hover, :focus-visible) {
  border-color: var(--primary-button-hover);
  color: var(--cream);
  background: var(--primary-button-hover);
  box-shadow: none;
  transform: none;
}

:is(
  .nav-panel__donate,
  .nav-panel__contact,
  .hero__button,
  .how-film__button,
  .how-final-cta__button,
  .volunteer-hero__button,
  .membership-hero__button,
  .research-value__button--primary,
  .research-donor-note__button--solid,
  .join-section--grid .join-card__button,
  .join-card.is-active .join-card__button,
  .membership-package-card--featured .membership-package-card__button,
  .membership-final-cta__button,
  .research-cta__button,
  .rules-hero__button,
  .document-download__button
):focus-visible {
  outline: 2px solid var(--cream);
  outline-offset: 3px;
}

/* Shared outlined secondary button states. */
:is(
  .research-value__button--secondary,
  .research-donor-note__button--ghost,
  .join-card:not(.is-active) .join-card__button,
  .membership-package-card:not(.membership-package-card--featured) .membership-package-card__button,
  .project-row__button,
  .documents-row__download
) {
  gap: 8px;
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

:is(
  .research-value__button--secondary,
  .research-donor-note__button--ghost,
  .join-card:not(.is-active) .join-card__button,
  .membership-package-card:not(.membership-package-card--featured) .membership-package-card__button,
  .project-row__button,
  .documents-row__download
)::after {
  width: 0;
  height: 24px;
  flex: 0 0 auto;
  overflow: hidden;
  background: currentColor;
  content: "";
  opacity: 0;
  transform: translateX(-5px);
  transition:
    width 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5V6H16.9425L4.5 18.4425L5.5575 19.5L18 7.0575V16.5H19.5V4.5H7.5Z' fill='black'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5V6H16.9425L4.5 18.4425L5.5575 19.5L18 7.0575V16.5H19.5V4.5H7.5Z' fill='black'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
}

:is(
  .research-value__button--secondary,
  .research-donor-note__button--ghost,
  .join-card:not(.is-active) .join-card__button,
  .membership-package-card:not(.membership-package-card--featured) .membership-package-card__button,
  .project-row__button,
  .documents-row__download
):is(:hover, :focus-visible)::after {
  width: 24px;
  opacity: 1;
  transform: translateX(0);
}

:is(
  .research-value__button--secondary,
  .research-donor-note__button--ghost,
  .join-card:not(.is-active) .join-card__button,
  .membership-package-card:not(.membership-package-card--featured) .membership-package-card__button,
  .project-row__button,
  .documents-row__download
):is(:hover, :focus-visible) {
  background: transparent;
  transform: none;
}

:is(
  .research-value__button--secondary,
  .project-row__button
):is(:hover, :focus-visible),
.project-row:hover .project-row__button {
  color: var(--ink);
  background: transparent;
  transform: none;
}

:is(
  .research-donor-note__button--ghost,
  .documents-row__download
):is(:hover, :focus-visible) {
  color: var(--purple);
}

:is(
  .join-card:not(.is-active) .join-card__button,
  .membership-package-card:not(.membership-package-card--featured) .membership-package-card__button
):is(:hover, :focus-visible) {
  border-color: var(--cream);
  color: var(--cream);
}

/* Standard fullscreen menu v2 (index, how it works, volunteers, membership). */
@media (min-width: 1248px) {
  .site-menu--standard-v2 .site-menu__panel {
    padding: 64px 54px 58px;
  }

  .site-menu--standard-v2 .site-menu__top {
    padding-right: 190px;
  }

  .site-menu--standard-v2 .site-menu__grid {
    grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
    grid-template-areas:
      "participation about"
      "participation projects";
    column-gap: clamp(72px, 8vw, 128px);
    row-gap: 0;
    margin-top: 54px;
  }

  .site-menu--standard-v2 .site-menu__column--primary {
    grid-area: participation;
  }

  .site-menu--standard-v2 .site-menu__column:nth-of-type(2) {
    grid-area: projects;
  }

  .site-menu--standard-v2 .site-menu__column:nth-of-type(3) {
    grid-area: about;
  }

  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown-toggle {
    min-height: clamp(92px, 8.2vw, 126px);
    border-bottom: 0;
    font-size: clamp(72px, 7.3vw, 112px);
    line-height: 0.98;
  }

  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown-toggle::after {
    width: clamp(48px, 4.2vw, 64px);
    height: clamp(48px, 4.2vw, 64px);
    flex: 0 0 auto;
    margin-left: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5V6H16.9425L4.5 18.4425L5.5575 19.5L18 7.0575V16.5H19.5V4.5H7.5Z' fill='%23984F91'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    opacity: 0;
    transform: translateX(-12px);
  }

  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown-toggle:hover,
  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown-toggle:focus-visible,
  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown.is-open .site-menu__dropdown-toggle {
    padding-left: 0;
    color: var(--purple);
  }

  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown-toggle:hover::after,
  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown-toggle:focus-visible::after,
  .site-menu--standard-v2 .site-menu__column--primary .site-menu__dropdown.is-open .site-menu__dropdown-toggle::after {
    opacity: 1;
    transform: translateX(0) rotate(0);
  }

  .site-menu--standard-v2 .site-menu__dropdown-panel a {
    justify-content: flex-start;
  }

  .site-menu--standard-v2 .site-menu__column:not(.site-menu__column--primary) a {
    min-height: 68px;
    padding: 0 12px;
    border-bottom-color: rgba(70, 33, 67, 0.62);
    font-size: clamp(28px, 2vw, 34px);
    line-height: 1.05;
    white-space: nowrap;
  }

  .site-menu--standard-v2 .site-menu__column:not(.site-menu__column--primary) a:hover,
  .site-menu--standard-v2 .site-menu__column:not(.site-menu__column--primary) a:focus-visible {
    padding-left: 12px;
  }

  .site-menu--standard-v2 .site-menu__column:not(.site-menu__column--primary) a::after {
    opacity: 0;
    transform: translateX(-5px);
  }

  .site-menu--standard-v2 .site-menu__column:not(.site-menu__column--primary) a:not(.site-menu__row-with-chevron):hover::after,
  .site-menu--standard-v2 .site-menu__column:not(.site-menu__column--primary) a:not(.site-menu__row-with-chevron):focus-visible::after {
    opacity: 1;
    transform: translateX(0) rotate(0);
  }

  .site-menu--standard-v2 .site-menu__row-with-chevron::after {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: none;
    opacity: 1;
    transform: translateY(-4px) rotate(45deg);
  }

  .site-menu--standard-v2 .site-menu__row-with-chevron:hover::after,
  .site-menu--standard-v2 .site-menu__row-with-chevron:focus-visible::after {
    transform: translateY(-4px) rotate(45deg);
  }

  .site-menu--standard-v2 .site-menu__contacts {
    margin-top: 76px;
  }

  .site-menu--standard-v2 .site-menu__contacts h2 {
    font-size: 34px;
    line-height: 1.15;
  }

  .site-menu--standard-v2 .site-menu__contact-links {
    gap: 34px;
    margin-top: 24px;
    font-size: 18px;
  }

  .site-menu--standard-v2 .site-menu__social {
    margin-top: 18px;
  }

  .site-menu--standard-v2 .site-menu__social img {
    filter: brightness(0) saturate(100%) invert(43%) sepia(22%) saturate(1625%) hue-rotate(254deg) brightness(83%) contrast(83%);
  }
}

@media (max-width: 1247px) {
  .site-menu--standard-v2 .site-menu__column:nth-of-type(3) {
    order: 2;
  }

  .site-menu--standard-v2 .site-menu__column:nth-of-type(2) {
    order: 3;
  }

  .site-menu--standard-v2 .site-menu__row-with-chevron::after {
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: none;
    opacity: 1;
    transform: translateY(-3px) rotate(45deg);
  }

  .site-menu--standard-v2 .site-menu__social img {
    filter: brightness(0) saturate(100%) invert(43%) sepia(22%) saturate(1625%) hue-rotate(254deg) brightness(83%) contrast(83%);
  }
}

@media (max-width: 599px) {
  .site-footer__social {
    flex-direction: row;
    align-items: center;
    gap: 22px;
    padding-top: 0;
    text-align: left;
  }
}

/* Two-column global menu: large navigation left, compact navigation right. */
@media (min-width: 1248px) {
  .site-menu--standard-v2 .site-menu__grid {
    grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
    grid-template-areas: none;
    align-items: start;
    column-gap: clamp(72px, 8vw, 128px);
    margin-top: 54px;
  }

  .site-menu--standard-v2 .site-menu__column--primary {
    grid-area: auto;
    grid-column: 1;
  }

  .site-menu--standard-v2 .site-menu__column--secondary {
    grid-area: auto !important;
    grid-column: 2;
    grid-row: 1;
  }

  .site-menu--standard-v2 .site-menu__column--primary > a,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown > .site-menu__dropdown-toggle {
    min-height: clamp(92px, 8.2vw, 126px);
    padding: 0;
    border-bottom: 0;
    color: #462143;
    font-size: clamp(72px, 7.3vw, 112px);
    line-height: .98;
  }

  .site-menu--standard-v2 .site-menu__column--primary > a::after,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown > .site-menu__dropdown-toggle::after {
    width: clamp(48px, 4.2vw, 64px);
    height: clamp(48px, 4.2vw, 64px);
    flex: 0 0 auto;
    margin-left: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5V6H16.9425L4.5 18.4425L5.5575 19.5L18 7.0575V16.5H19.5V4.5H7.5Z' fill='%23984F91'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    opacity: 0;
    transform: translateX(-12px) rotate(0);
  }

  .site-menu--standard-v2 .site-menu__column--primary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible) > a,
  .site-menu--standard-v2 .site-menu__column--primary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible) > .site-menu__dropdown > .site-menu__dropdown-toggle {
    color: rgba(214, 189, 225, .58);
  }

  .site-menu--standard-v2 .site-menu__column--primary > a:hover,
  .site-menu--standard-v2 .site-menu__column--primary > a:focus-visible,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown > .site-menu__dropdown-toggle:hover,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown.is-open > .site-menu__dropdown-toggle {
    padding-left: 0;
    color: var(--purple);
  }

  .site-menu--standard-v2 .site-menu__column--primary:has(> a:hover, > a:focus-visible) > a:hover,
  .site-menu--standard-v2 .site-menu__column--primary:has(> a:hover, > a:focus-visible) > a:focus-visible {
    color: var(--purple) !important;
  }

  .site-menu--standard-v2 .site-menu__column--primary > a:hover::after,
  .site-menu--standard-v2 .site-menu__column--primary > a:focus-visible::after,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown > .site-menu__dropdown-toggle:hover::after,
  .site-menu--standard-v2 .site-menu__column--primary > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible::after {
    opacity: 1;
    transform: translateX(0) rotate(0);
  }

  .site-menu--standard-v2 .site-menu__column--secondary > a,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle {
    min-height: 68px;
    padding: 0 12px;
    border-bottom: 1px solid rgba(70, 33, 67, .62);
    color: #462143;
    font-size: clamp(28px, 2vw, 34px);
    line-height: 1.05;
    white-space: normal;
  }

  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > a,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > .site-menu__dropdown > .site-menu__dropdown-toggle {
    color: rgba(214, 189, 225, .72);
  }

  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > a:hover,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > a:focus-visible,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > .site-menu__dropdown > .site-menu__dropdown-toggle:hover,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > .site-menu__dropdown.is-open > .site-menu__dropdown-toggle {
    color: var(--purple);
  }

  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle::after {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin: 0 8px 0 16px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: none;
    opacity: 1;
    transform: translateY(-4px) rotate(45deg);
  }

  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown.is-open > .site-menu__dropdown-toggle::after {
    transform: translateY(4px) rotate(225deg);
  }

  .site-menu--standard-v2 .site-menu__column--secondary .site-menu__dropdown-panel {
    padding-top: 0;
  }

  .site-menu--standard-v2 .site-menu__column--secondary .site-menu__dropdown.is-open .site-menu__dropdown-panel {
    padding-top: 0;
  }

  .site-menu--standard-v2 .site-menu__column--secondary .site-menu__dropdown-panel a {
    min-height: 46px;
    justify-content: flex-start;
    padding: 0 16px;
    border-bottom: 1px solid rgba(70, 33, 67, .62);
    font-family: "Open Sans", Inter, sans-serif;
    font-size: 22px;
    line-height: 1.15;
  }

  .site-menu--standard-v2 .site-menu__contacts {
    width: calc((100% - clamp(72px, 8vw, 128px)) * .6667);
    margin-top: 76px;
  }
}

@media (max-width: 1247px) {
  .site-menu--standard-v2 .site-menu__grid {
    display: flex;
    flex-direction: column;
  }

  .site-menu--standard-v2 .site-menu__column--primary,
  .site-menu--standard-v2 .site-menu__column--secondary {
    order: initial;
  }

  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle::after {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    margin-right: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: none;
    opacity: 1;
    transform: translateY(-3px) rotate(45deg);
  }

  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown.is-open > .site-menu__dropdown-toggle::after {
    transform: translateY(3px) rotate(225deg);
  }

  .site-menu--standard-v2 .site-menu__column--secondary .site-menu__dropdown-panel a {
    width: 100%;
    justify-content: flex-start;
    padding-right: 16px;
    padding-left: 16px;
    text-align: left;
  }
}

/* Refined mobile header controls. */
@media (max-width: 900px) {
  .site-header {
    min-height: 54px;
    align-items: center;
    gap: 12px;
  }

  .logo {
    width: 36px;
    height: 54px;
    flex: 0 0 36px;
    padding: 4px;
    overflow: hidden;
    border-radius: 4px;
  }

  .logo:hover {
    padding: 4px;
  }

  .logo img,
  .logo:hover img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .nav-panel {
    width: min(300px, calc(100vw - 96px));
    height: 54px;
    flex: 0 1 300px;
    gap: 0;
    padding: 4px;
    overflow: hidden;
    border-radius: 10px;
  }

  .nav-panel__link,
  .nav-panel__join,
  .nav-panel__donate {
    width: auto;
    height: 46px;
    min-width: 0;
    padding: 0 8px;
    border-radius: 0;
    font-size: 18px;
  }

  .nav-panel__link {
    flex: .9 1 0;
    gap: 0;
  }

  .nav-panel__link::after {
    display: none;
    width: 0;
    height: 0;
    margin: 0;
    content: none;
  }

  .nav-panel__join {
    flex: .95 1 0;
    border-radius: 8px;
  }

  .nav-panel__donate {
    flex: 1.3 1 0;
    border-radius: 8px;
  }
}

/* Final shared horizontal rhythm: laptop, tablet and mobile. */
@media (min-width: 901px) and (max-width: 1247px) {
  .site-header,
  .site-menu--standard-v2 .site-menu__panel,
  .hero__content,
  .infrastructure__inner,
  .system__inner,
  .join-section__content,
  .life-cycle__inner,
  .active-projects__inner,
  .global-network__inner,
  .updates__inner,
  .faq__inner,
  .site-footer__inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .site-header,
  .site-menu--standard-v2 .site-menu__panel,
  .hero__content,
  .infrastructure__inner,
  .system__inner,
  .join-section__content,
  .life-cycle__inner,
  .active-projects__inner,
  .global-network__inner,
  .updates__inner,
  .faq__inner,
  .site-footer__inner {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (max-width: 600px) {
  .site-header,
  .site-menu--standard-v2 .site-menu__panel,
  .hero__content,
  .infrastructure__inner,
  .system__inner,
  .join-section__content,
  .life-cycle__inner,
  .active-projects__inner,
  .global-network__inner,
  .updates__inner,
  .faq__inner,
  .site-footer__inner {
    padding-right: 24px;
    padding-left: 24px;
  }
}

/* Founder Womafreesm. */
.founder-section {
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.founder-section__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 36px 96px 120px;
}

.founder-section__header { text-align: center; }

.founder-section__header h2,
.founder-section__content h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.founder-section__header h2 {
  color: rgba(70, 33, 67, 1);
  font-size: clamp(46px, 4vw, 58px);
  line-height: 1.08;
}

.founder-section__header p {
  margin: 22px 0 0;
  color: rgba(101, 102, 103, 1);
  font-family: "Open Sans", Inter, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
}

.founder-section__body {
  display: grid;
  grid-template-columns: minmax(0, 510px) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(72px, 8.7vw, 126px);
  margin-top: 94px;
}

.founder-section__media {
  overflow: hidden;
  border-radius: 20px;
  aspect-ratio: 510 / 528;
  background: rgba(242, 241, 240, 1);
}

.founder-section__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.founder-section__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 28px 0;
}

.founder-section__content h3 { font-size: 40px; line-height: 1.15; }

.founder-section__content > p {
  max-width: 615px;
  margin: 28px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.founder-section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 94px;
}

.founder-section__button {
  display: flex;
  width: 191px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border: 1px solid var(--ink);
  border-radius: 7px;
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.founder-section__button--primary { border-color: var(--purple); color: var(--cream); background: var(--purple); }
.founder-section__button--secondary { color: var(--ink); background: transparent; }
.founder-section__button--primary:hover,
.founder-section__button--primary:focus-visible { border-color: var(--ink); color: var(--ink); background: transparent; text-decoration: none; }
.founder-section__button--secondary:hover,
.founder-section__button--secondary:focus-visible { border-color: var(--purple); color: var(--cream); background: var(--purple); text-decoration: none; }

@media (min-width: 901px) and (max-width: 1247px) {
  .founder-section__inner { padding: 64px 40px 104px; }
  .founder-section__body { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; margin-top: 76px; }
  .founder-section__actions { margin-top: 64px; }
}

@media (max-width: 900px) {
  .founder-section__body { grid-template-columns: 1fr; }
  .founder-section__media { width: min(100%, 510px); margin: 0 auto; }
  .founder-section__content { width: min(100%, 620px); margin: 0 auto; padding: 0; }
  .founder-section__actions { margin-top: 52px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .founder-section__inner { padding: 64px 32px 92px; }
  .founder-section__body { gap: 48px; margin-top: 68px; }
}

@media (max-width: 600px) {
  .founder-section__inner { padding: 60px 24px 80px; }
  .founder-section__header h2 { font-size: 40px; }
  .founder-section__header p { margin-top: 18px; font-size: 17px; line-height: 1.4; }
  .founder-section__body { gap: 38px; margin-top: 54px; }
  .founder-section__media { border-radius: 14px; }
  .founder-section__content h3 { font-size: 32px; }
  .founder-section__content > p { margin-top: 22px; font-size: 17px; line-height: 1.4; }
  .founder-section__actions { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 42px; }
  .founder-section__button { width: 100%; min-height: 48px; }
}

/* Verify Womafreesm: official profiles and independent coverage. */
.verify-sources {
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
}

.verify-sources__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 48px 96px 112px;
}

.verify-sources__header {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}

.verify-sources__header h2,
.verify-sources__group h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.verify-sources__header h2 {
  color: rgba(70, 33, 67, 1);
  font-size: clamp(46px, 4vw, 58px);
  line-height: 1.08;
}

.verify-sources__header p {
  margin: 22px 0 0;
  color: rgba(101, 102, 103, 1);
  font-family: "Open Sans", Inter, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
}

.verify-sources__group {
  margin-top: 86px;
}

.verify-sources__group + .verify-sources__group {
  margin-top: 94px;
}

.verify-sources__group h3 {
  font-size: 40px;
  line-height: 1.15;
}

.verify-sources__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 38px;
}

.verify-source-card {
  display: flex;
  min-width: 0;
  min-height: 200px;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  border-radius: 14px;
  background: rgba(242, 241, 240, 1);
}

.verify-source-card__logo {
  display: flex;
  min-height: 105px;
  align-items: center;
  justify-content: center;
}

.verify-source-card__logo img {
  display: block;
  width: 100%;
  max-width: 240px;
  max-height: 92px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .62;
  transition: filter 220ms ease, opacity 220ms ease, transform 220ms ease;
}

.verify-source-card:hover .verify-source-card__logo img,
.verify-source-card:focus-within .verify-source-card__logo img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.025);
}

.verify-source-card > a {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 8px 16px;
  border: 1px solid currentColor;
  border-radius: 7px;
  color: var(--ink);
  background: transparent;
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.verify-source-card > a:hover,
.verify-source-card > a:focus-visible {
  border-color: var(--purple);
  color: var(--cream);
  background: var(--purple);
  text-decoration: none;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .verify-sources__inner { padding: 72px 40px 96px; }
  .verify-sources__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 601px) and (max-width: 900px) {
  .verify-sources__inner { padding: 68px 32px 88px; }
  .verify-sources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .verify-sources__inner { padding: 64px 24px 80px; }
  .verify-sources__header h2 { font-size: 40px; line-height: 1.08; }
  .verify-sources__header p { margin-top: 18px; font-size: 17px; line-height: 1.4; }
  .verify-sources__group, .verify-sources__group + .verify-sources__group { margin-top: 64px; }
  .verify-sources__group h3 { font-size: 32px; line-height: 1.15; }
  .verify-sources__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
  .verify-source-card { min-height: 184px; padding: 20px; }
  .verify-source-card__logo { min-height: 96px; }
  .verify-source-card > a { min-height: 44px; font-size: 17px; }
}

/* Final responsive corrections for the two-column menu. */
@media (min-width: 1248px) {
  .site-header,
  .site-menu--standard-v2 .site-menu__panel,
  .hero__content,
  .infrastructure__inner,
  .system__inner,
  .join-section__content,
  .life-cycle__inner,
  .active-projects__inner,
  .global-network__inner,
  .updates__inner,
  .faq__inner,
  .site-footer__inner {
    padding-right: 96px;
    padding-left: 96px;
  }

  .site-menu--standard-v2 .site-menu__top {
    position: relative;
    display: block;
    padding-right: 0;
  }

  .site-menu--standard-v2 .site-menu__language {
    position: absolute;
    top: 0;
    left: calc(66.6667% + clamp(24px, 2.6667vw, 42.6667px));
  }

  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > a,
  .site-menu--standard-v2 .site-menu__column--secondary:has(> a:hover, > a:focus-visible, > .site-menu__dropdown > .site-menu__dropdown-toggle:hover, > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible, > .site-menu__dropdown.is-open) > .site-menu__dropdown > .site-menu__dropdown-toggle {
    color: #462143;
  }

  .site-menu--standard-v2 .site-menu__column--secondary > a:hover,
  .site-menu--standard-v2 .site-menu__column--secondary > a:focus-visible,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle:hover,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle:focus-visible,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown.is-open > .site-menu__dropdown-toggle {
    color: var(--purple) !important;
  }
}

@media (min-width: 1248px) and (max-height: 900px) {
  .site-menu--standard-v2 .site-menu__panel {
    padding-top: 32px;
    padding-bottom: 36px;
  }

  .site-menu--standard-v2 .site-menu__close {
    top: 30px;
  }

  .site-menu--standard-v2 .site-menu__grid {
    margin-top: 22px;
  }

  .site-menu--standard-v2 .site-menu__column--primary > a {
    min-height: 78px;
    font-size: clamp(58px, 5.4vw, 82px);
  }

  .site-menu--standard-v2 .site-menu__column--primary > a::after {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .site-menu--standard-v2 .site-menu__column--secondary > a,
  .site-menu--standard-v2 .site-menu__column--secondary > .site-menu__dropdown > .site-menu__dropdown-toggle {
    min-height: 52px;
    font-size: 27px;
  }

  .site-menu--standard-v2 .site-menu__column--secondary .site-menu__dropdown-panel a {
    min-height: 39px;
    font-size: 19px;
  }

  .site-menu--standard-v2 .site-menu__contacts {
    margin-top: 38px;
  }

  .site-menu--standard-v2 .site-menu__contact-links {
    margin-top: 14px;
  }

  .site-menu--standard-v2 .site-menu__social {
    margin-top: 12px;
  }
}
/* Partners: application process */
@media (max-width: 1199px) {
  .system--partners-process .system__inner {
    padding: 96px 40px;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
    column-gap: 64px;
  }

  .system--partners-process .system__body {
    padding-top: 72px;
  }

  .system--partners-process .system__steps-wrap {
    column-gap: 48px;
  }
}

/* All sticky progress sections: the right column begins below the real
   rendered height of the multilingual heading, plus a 24px visual gap. */
@media (min-width: 901px) {
  .system[data-womafreesm-system]:not(.system--research-gap) .system__body {
    padding-top: var(--system-body-offset, 92px);
  }
}

@media (max-width: 900px) {
  .system--partners-process .system__inner {
    display: block;
    padding: 80px 32px;
  }

  .system--partners-process .system__intro {
    position: static;
    text-align: left;
  }

  .system--partners-process .system__intro h2 {
    max-width: 650px;
    margin: 0;
    font-size: 44px;
  }

  .system--partners-process .system__body {
    padding-top: 48px;
  }

  .system--partners-process .system__goal {
    margin-bottom: 64px;
  }
}

@media (max-width: 600px) {
  .system--partners-process .system__inner {
    padding: 64px 24px;
  }

  .system--partners-process .system__intro h2 {
    font-size: 40px;
    line-height: 1.1;
  }

  .system--partners-process .system__body {
    padding-top: 32px;
  }

  .system--partners-process .system__goal {
    margin-bottom: 48px;
    font-size: 17px;
  }

  .system--partners-process .system__steps-wrap {
    grid-template-columns: 14px minmax(0, 1fr);
    column-gap: 24px;
  }

  .system--partners-process .system__steps {
    gap: 44px;
  }
}
/* Partners life-cycle: six controls stay on one line at every width. */
.life-cycle--partners .life-cycle__inner {
  padding: 120px 96px;
}

.life-cycle--partners .life-cycle__heading h2 span {
  display: inline;
}

.life-cycle--partners .life-cycle__heading p {
  max-width: 920px;
  margin-right: auto;
  margin-left: auto;
}

.life-cycle--partners .life-cycle__controls {
  width: 100%;
  justify-content: space-between;
  gap: 8px;
}

.life-cycle--partners .life-cycle__control {
  flex: 0 0 65px;
}

@media (max-width: 1199px) {
  .life-cycle--partners .life-cycle__inner {
    padding: 96px 40px;
  }

  .life-cycle--partners .life-cycle__control {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    font-size: 28px;
  }
}

@media (max-width: 900px) {
  .life-cycle--partners .life-cycle__inner {
    padding: 80px 32px;
  }

  .life-cycle--partners .life-cycle__heading h2 {
    max-width: 720px;
  }

  .life-cycle--partners .life-cycle__heading p {
    max-width: 620px;
  }
}

@media (max-width: 600px) {
  .life-cycle--partners .life-cycle__inner {
    padding: 64px 24px;
  }

  .life-cycle--partners .life-cycle__heading h2 {
    max-width: 342px;
    font-size: 38px;
  }

  .life-cycle--partners .life-cycle__controls {
    width: auto;
    max-width: none;
    margin-right: -24px;
    padding-right: 24px;
    justify-content: flex-start;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .life-cycle--partners .life-cycle__controls::-webkit-scrollbar {
    display: none;
  }

  .life-cycle--partners .life-cycle__control {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    font-size: 27px;
    scroll-snap-align: center;
  }
}
/* Partners join tracks */
.partners-join {
  background: var(--cream);
  color: var(--ink);
}

.partners-join__track {
  position: relative;
  min-height: 690px;
  overflow: hidden;
  isolation: isolate;
}

.partners-join__track--first {
  min-height: 780px;
}

.partners-join__background,
.partners-join__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.partners-join__background {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.partners-join__shade {
  z-index: -1;
  background: rgba(16, 12, 14, 0.34);
}

.partners-join__inner {
  display: flex;
  width: min(100%, 1440px);
  min-height: inherit;
  margin: 0 auto;
  padding: 64px 96px;
  flex-direction: column;
  justify-content: center;
}

.partners-join__heading {
  margin: 0 0 80px;
  color: var(--cream);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

.partners-join__card {
  width: min(100%, 864px);
  margin: 0 auto;
  padding: 28px 24px 32px;
  border-radius: 18px;
  background: rgba(252, 250, 241, 0.88);
  box-shadow: 0 18px 50px rgba(20, 14, 18, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.partners-join__card h3 {
  margin: 0;
  color: rgba(70, 33, 67, 1);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.partners-join__intro {
  margin: 8px 0 0;
  font-size: 18px;
  line-height: 1.28;
}

.partners-join__button {
  display: flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
  padding: 10px 24px;
  border-radius: 6px;
  color: var(--cream);
  background: var(--purple);
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  transition: background 180ms ease, transform 180ms ease;
}

.partners-join__button:hover,
.partners-join__button:focus-visible {
  color: var(--cream);
  background: var(--primary-button-hover);
  text-decoration: none;
  transform: translateY(-1px);
}

.partners-join__columns {
  display: grid;
  margin-top: 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}

.partners-join__column h4 {
  margin: 0 0 14px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
}

.partners-join__column ul {
  margin: 0;
  padding-left: 24px;
}

.partners-join__column li {
  padding-left: 2px;
  font-size: 18px;
  line-height: 1.3;
}

@media (max-width: 1199px) {
  .partners-join__inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (max-width: 900px) {
  .partners-join__track,
  .partners-join__track--first {
    min-height: 0;
  }

  .partners-join__inner {
    min-height: 680px;
    padding: 64px 32px;
  }

  .partners-join__heading {
    margin-bottom: 48px;
    font-size: 44px;
  }
}

@media (max-width: 600px) {
  .partners-join__inner {
    min-height: 0;
    padding: 64px 24px;
  }

  .partners-join__heading {
    margin-bottom: 40px;
    font-size: 38px;
    line-height: 1.12;
  }

  .partners-join__card {
    padding: 24px;
    border-radius: 16px;
  }

  .partners-join__card h3 {
    font-size: 30px;
  }

  .partners-join__intro {
    font-size: 16px;
  }

  .partners-join__button {
    min-height: 48px;
    margin-top: 28px;
    font-size: 16px;
  }

  .partners-join__columns {
    display: flex;
    margin-top: 28px;
    flex-direction: column;
    gap: 28px;
  }

  .partners-join__column h4 {
    margin-bottom: 10px;
    font-size: 20px;
  }

  .partners-join__column li {
    font-size: 16px;
  }
}

/* Partners: contribution options */
.partners-support .how-outcome__heading p {
  color: rgba(101, 102, 103, 1);
}

.partners-support .how-outcome__card {
  background: rgba(242, 242, 242, 1);
}

.partners-support .how-outcome__card ul {
  margin-top: 32px;
  gap: 8px;
}

.partners-support .how-outcome__card li {
  font-size: 24px;
  line-height: 1.25;
}

@media (max-width: 900px) {
  .partners-support .how-outcome__body {
    flex-direction: column;
  }

  .partners-support .how-outcome__card li {
    font-size: 18px;
  }
}

/* Blog and Updates category pages */
.wf-category {
  color: rgba(34, 26, 31, 1);
  background: rgba(252, 250, 241, 1);
}

.wf-category__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 72px 96px 120px;
}

.wf-category__inner > h1 {
  margin: 0;
  font-family: "Lora", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
}

.wf-category__description {
  max-width: 760px;
  margin: 24px auto 0;
  font-size: 18px;
  line-height: 1.45;
  text-align: center;
}

.wf-category__subcategories {
  display: flex;
  margin-top: 48px;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.wf-category__subcategories a {
  display: inline-flex;
  min-width: 136px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  border: 1px solid rgba(152, 79, 145, .55);
  border-radius: 6px;
  color: rgba(34, 26, 31, 1);
  background: transparent;
  font: 600 14px/1.2 "Open Sans", sans-serif;
  text-align: center;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.wf-category__subcategories a:hover,
.wf-category__subcategories a.is-active {
  color: rgba(252, 250, 241, 1);
  background: rgba(152, 79, 145, 1);
  border-color: rgba(152, 79, 145, 1);
}

.wf-category__filters {
  margin-top: 64px;
}

.wf-category__filters h2 {
  margin: 0 0 28px;
  font-family: "Lora", serif;
  font-size: 28px;
  font-weight: 400;
}

.wf-category__filter-row {
  display: grid;
  max-width: 900px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.wf-category__filter-row label {
  display: block;
}

.wf-category__filter-row label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.wf-category__filter-row select {
  width: 100%;
  height: 44px;
  padding: 0 44px 0 16px;
  border: 1px solid rgba(34, 26, 31, .7);
  border-radius: 7px;
  color: rgba(34, 26, 31, 1);
  background-color: rgba(252, 250, 241, 1);
  font: 16px/1.2 "Open Sans", sans-serif;
}

.wf-category__grid {
  display: grid;
  margin-top: 96px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 64px 24px;
}

.wf-category-card.update-card {
  display: flex;
  min-width: 0;
  min-height: 520px;
  padding: 24px;
  flex-direction: column;
  border: 0;
  border-radius: 14px;
  background: rgba(242, 242, 242, 1);
  box-shadow: none;
}

.wf-category-card.update-card h3 {
  display: -webkit-box;
  min-height: 55px;
  overflow: hidden;
  margin: 0 0 10px;
  font: 600 22px/1.25 "Open Sans", sans-serif;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.wf-category-card.update-card h3 a {
  color: inherit;
  text-decoration: none;
}

.wf-category-card.update-card > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.wf-category-card .update-card__media {
  position: relative;
  display: flex;
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  flex: 0 0 235px;
  height: 235px;
  min-height: 235px;
  overflow: hidden;
  padding: 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  isolation: isolate;
}

.wf-category-card .update-card__media img {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
  visibility: visible;
  object-fit: cover;
}

.wf-category--blog .wf-category-card .update-card__media {
  margin-bottom: 18px;
  order: -1;
}

.wf-category--updates .wf-category-card .update-card__media {
  justify-content: flex-end;
  margin-top: 0;
  margin-bottom: 20px;
}

.wf-category--updates .wf-category-card .update-card__media span {
  background: rgba(224, 194, 225, .92);
}

.wf-category-card .update-card__media .update-card__tags {
  position: absolute;
  z-index: 2;
  top: 8px;
  left: 8px;
  display: flex;
  max-width: calc(100% - 16px);
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.wf-category-card .update-card__tags b {
  padding: 5px 9px;
  border-radius: 4px;
  color: rgba(34, 26, 31, 1);
  background: rgba(252, 250, 241, .84);
  font: 400 12px/1 "Open Sans", sans-serif;
  backdrop-filter: blur(5px);
}

.wf-category--updates .wf-category-card .update-card__tags {
  right: 8px;
  left: auto;
  justify-content: flex-end;
}

.wf-category--updates .wf-category-card .update-card__tags b {
  background: rgba(224, 194, 225, 1);
}

.wf-category-card .update-card__footer {
  margin-top: auto;
  padding-top: 22px;
}

.wf-category__pagination {
  margin-top: 72px;
  text-align: center;
}

.wf-category__pagination .pagination {
  display: inline-flex;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 8px;
}

.wf-category__pagination .pagination > li > a,
.wf-category__pagination .pagination > li > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(70, 33, 67, .35);
  border-radius: 50%;
  color: rgba(70, 33, 67, 1);
  background: transparent;
  text-decoration: none;
}

.wf-category__pagination .pagination > .active > span,
.wf-category__pagination .pagination > li > a:hover {
  color: rgba(252, 250, 241, 1);
  background: rgba(152, 79, 145, 1);
  border-color: rgba(152, 79, 145, 1);
}

.wf-category__results {
  margin: 16px 0 0;
  color: rgba(101, 102, 103, 1);
  font-size: 14px;
  text-align: center;
}

.wf-category__seo {
  margin-top: 64px;
  padding: 56px 8px 0;
  border-top: 1px solid rgba(70, 33, 67, .16);
  color: rgba(34, 26, 31, 1);
  font: 400 17px/1.65 "Open Sans", sans-serif;
}

.wf-category__seo > :first-child {
  margin-top: 0;
}

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

.wf-category__seo h2,
.wf-category__seo h3 {
  color: rgba(34, 26, 31, 1);
  font-family: "Lora", serif;
}

.wf-category__seo li::marker {
  color: rgba(152, 79, 145, 1);
}

.wf-category__empty {
  margin: 80px 0 0;
  text-align: center;
}

@media (max-width: 1199px) {
  .wf-category__inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (max-width: 900px) {
  .wf-category__inner {
    padding-top: 56px;
    padding-bottom: 88px;
  }

  .wf-category__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .wf-category__inner {
    padding: 48px 24px 72px;
  }

  .wf-category__inner > h1 {
    font-size: 38px;
  }

  .wf-category__filters {
    margin-top: 48px;
  }

  .wf-category__subcategories {
    margin-top: 36px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .wf-category__subcategories a {
    min-width: max-content;
    min-height: 42px;
    padding: 8px 16px;
  }

  .wf-category__seo {
    margin-top: 48px;
    padding: 40px 0 0;
    font-size: 16px;
  }

  .wf-category__filters h2 {
    font-size: 24px;
  }

  .wf-category__filter-row,
  .wf-category__grid {
    grid-template-columns: 1fr;
  }

  .wf-category__grid {
    margin-top: 64px;
    gap: 32px;
  }

  .wf-category-card.update-card {
    width: 100%;
    min-height: 0;
    padding: 20px;
  }

  .wf-category-card .update-card__media {
    max-width: 100%;
    flex-basis: auto;
    min-height: 0;
    height: auto;
    aspect-ratio: 1.7 / 1;
  }

  .wf-category-card .update-card__media img {
    max-width: 100%;
  }
}
/* Womafreesm article product pages */
.wf-article{background:#fcfaf1;color:#221a1f;padding:0 0 120px}
.wf-article__inner{width:min(100%,1440px);margin:0 auto;padding:0 96px}
.wf-article__hero{position:relative;min-height:560px;margin-top:40px;overflow:hidden;border-radius:16px;background:#462143;color:#fcfaf1}
.wf-article__hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.wf-article__hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,16,.08) 20%,rgba(20,12,16,.76) 100%)}
.wf-article__hero-copy{position:absolute;z-index:1;right:40px;bottom:40px;left:40px;max-width:1100px}
.wf-article__hero h1{max-width:1168px;margin:0;color:rgba(252,250,241,1);font-family:Lora,serif;font-size:clamp(54px,6.6667vw,96px);font-weight:400;line-height:1;letter-spacing:-.03em}
.wf-article__hero-copy p{max-width:1168px;margin:22px 0 0;color:rgba(252,250,241,1);font-family:Lora,serif;font-size:clamp(24px,2.7778vw,40px);font-weight:400;line-height:1.3;letter-spacing:-.03em}
.wf-article__hero--plain .wf-article__hero-copy{top:50%;bottom:auto;transform:translateY(-50%)}
.wf-article__byline{display:flex;min-height:128px;align-items:center;justify-content:space-between;gap:32px;padding:24px 0;border-bottom:1px solid rgba(70,33,67,.16)}
.wf-article__author{display:flex;align-items:center;gap:20px}
.wf-article__author>img{width:88px;height:88px;flex:0 0 88px;border-radius:50%;object-fit:cover}
.wf-article__author strong,.wf-article__author em{display:block}
.wf-article__author strong{font:400 26px/1.25 'Open Sans',sans-serif}
.wf-article__author em{max-width:340px;margin-top:5px;font:italic 20px/1.35 'Open Sans',sans-serif}
.wf-article__meta{display:flex;align-items:center;gap:11px;white-space:nowrap;font:400 18px/1.4 'Open Sans',sans-serif}
.wf-article__meta i{font-style:normal;color:rgba(34,26,31,.35)}
.wf-article__views{display:inline-flex;align-items:center;gap:7px}
.wf-article__body{width:min(100%,826px);margin:40px auto 0;font:400 20px/1.55 'Open Sans',sans-serif}
.wf-article__body h2,.wf-article__body h3,.wf-article__body h4{margin:1.5em 0 .55em;font-family:Lora,serif;font-weight:400;line-height:1.2}
.wf-article__body h2{font-size:42px}.wf-article__body h3{font-size:30px}.wf-article__body p{margin:0 0 1.25em}
.wf-article__body img{max-width:100%;height:auto;border-radius:12px}.wf-article__body a{color:#9f509b;text-decoration:underline;text-underline-offset:3px}
.wf-article__body ul,.wf-article__body ol{padding-left:1.5em}.wf-article__body li::marker{color:#9f509b}
.wf-article__share{width:min(100%,1248px);margin:88px auto 0}
.wf-article__share h2{margin:0 0 20px;font:400 18px/1.4 'Open Sans',sans-serif}
.wf-article__share>div{display:flex;align-items:center;gap:26px}
.wf-article__share a,.wf-article__share button{display:grid;width:24px;height:24px;padding:0;place-items:center;border:0;background:transparent;color:#221a1f;cursor:pointer}
.wf-article__share img{width:20px;height:20px;filter:brightness(0)}
.wf-article__share button{grid-template-columns:repeat(3,4px);gap:3px;border:1.5px solid currentColor;border-radius:50%}
.wf-article__share button span{width:3px;height:3px;border-radius:50%;background:currentColor}
.wf-article__related{margin-top:120px}
.wf-article__related>h2{margin:0 0 42px;font:400 clamp(42px,4vw,60px)/1.15 Lora,serif}
.wf-article__related .updates__grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1100px){
  .wf-article__inner{padding:0 48px}
  .wf-article__hero{min-height:500px}
}
@media(max-width:900px){
  .wf-article{padding-bottom:80px}
  .wf-article__inner{padding:0 24px}
  .wf-article__hero{min-height:clamp(430px,72svh,620px);border-radius:12px}
  .wf-article__hero-copy{right:24px;bottom:28px;left:24px}
  .wf-article__hero h1{font-size:clamp(40px,11vw,62px)}
  .wf-article__hero-copy p{font-size:clamp(21px,6vw,30px)}
  .wf-article__byline{align-items:flex-start;flex-direction:column;padding:20px 0}
  .wf-article__author>img{width:68px;height:68px;flex-basis:68px}
  .wf-article__author strong{font-size:20px}.wf-article__author em{font-size:16px}
  .wf-article__meta{width:100%;flex-wrap:wrap;font-size:15px}
  .wf-article__body{margin-top:32px;font-size:18px}
  .wf-article__body h2{font-size:34px}.wf-article__body h3{font-size:27px}
  .wf-article__share{margin-top:64px}
  .wf-article__related{margin-top:80px}
  .wf-article__related>h2{margin-bottom:28px;font-size:38px}
  .wf-article__related .updates__grid{grid-template-columns:1fr}
}

/* Infrastructure: coordinated media transitions and distinct preview state. */
.infrastructure .orbit__media .orbit__image-layer {
  opacity: 0;
  transform: scale(1.012);
  transition: opacity 320ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.infrastructure .orbit__media .orbit__image-layer.is-visible {
  opacity: 1;
  transform: scale(1);
}
.infrastructure .orbit__media .orbit__text-layer {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 280ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.infrastructure .orbit__media .orbit__text-layer.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.infrastructure .orbit__overlay { z-index: 1; }
.infrastructure .orbit__media .orbit__text-layer { z-index: 2; }
.infrastructure .orbit__media.is-browsing .orbit__overlay {
  background: rgba(30, 12, 28, 0.48);
}
.infrastructure .orbit-point.is-active::before {
  animation: none;
  box-shadow: 0 0 0 5px rgba(115, 53, 110, 0.10);
}
.infrastructure .orbit-point.is-preview { color: #55264f; }
.infrastructure .orbit-point.is-preview::before {
  border-color: var(--purple);
  background: rgba(255, 252, 248, 1);
  box-shadow: 0 0 0 5px rgba(115, 53, 110, 0.16);
  transform: scale(1.08);
}
.infrastructure .orbit-point.is-preview span { transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
  .infrastructure .orbit__media .orbit__image-layer,
  .infrastructure .orbit__media .orbit__text-layer,
  .infrastructure .orbit__overlay { transition: none !important; }
}

/* ---- Homepage v2: What Womafreesm builds ---- */
.builds {
  color: var(--ink);
}

.builds__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 118px 96px 122px;
}

.builds__heading {
  text-align: center;
}

.builds__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 3.2vw, 46px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.builds__heading em {
  color: var(--purple);
  font-style: italic;
}

.builds__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 88px;
}

.build-card {
  position: relative;
  display: flex;
  min-height: 245px;
  align-items: center;
  overflow: hidden;
  border-radius: 16px;
  isolation: isolate;
}

.build-card__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%;
}

.build-card__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(34, 26, 31, 0.5) 0%, rgba(34, 26, 31, 0.78) 100%);
}

.build-card__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 740px;
  margin-left: auto;
  padding: 40px 44px 40px 0;
  color: var(--cream);
}

.build-card__content h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.2;
}

.build-card__content p {
  margin: 14px 0 0;
  font-size: 18px;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .builds__inner {
    padding: 90px 52px 94px;
  }

  .builds__list {
    margin-top: 64px;
  }

  .build-card__content {
    max-width: none;
    padding: 32px;
  }

  .build-card__shade {
    background: rgba(34, 26, 31, 0.66);
  }
}

@media (max-width: 760px) {
  .builds__inner {
    padding: 64px 24px 72px;
  }

  .builds__list {
    gap: 16px;
    margin-top: 44px;
  }

  .build-card {
    min-height: 0;
  }

  .build-card__content {
    padding: 28px 24px;
  }

  .build-card__content h3 {
    font-size: 26px;
  }

  .build-card__content p {
    font-size: 16px;
  }
}

/* ---- Homepage v2: small note line inside a Join card ---- */
.join-card p.join-card__note {
  margin: 18px 0 0;
  margin-top: auto;
  padding-top: 16px;
  font-size: 14px;
  line-height: 1.3;
  opacity: 0.72;
}

.join-section--grid .join-card p.join-card__note {
  color: rgba(34, 26, 31, 0.72);
  opacity: 1;
}

/* ---- Volunteers v2: centred statement block (womafreesm_statement) ---- */
.wf-statement {
  background: rgba(252, 250, 241, 1);
  color: #462143;
}

.wf-statement__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 180px 96px 200px;
  text-align: center;
}

.wf-statement__heading {
  max-width: var(--wf-statement-width, 900px);
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 3.4vw, 50px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.wf-statement__heading em {
  font-style: italic;
}

.wf-statement__subtitle {
  max-width: 760px;
  margin: 26px auto 0;
  font-size: 20px;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .wf-statement__inner {
    padding: 110px 52px 120px;
  }
}

@media (max-width: 760px) {
  .wf-statement__inner {
    padding: 72px 24px 80px;
  }

  .wf-statement__subtitle {
    font-size: 17px;
  }
}

/* ---- Volunteers v2: rules as image + one bulleted card ---- */
.volunteer-rules--list .volunteer-rules__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 72px;
}

.volunteer-rules--list .volunteer-rules__media {
  overflow: hidden;
  border-radius: 16px;
}

.volunteer-rules--list .volunteer-rules__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.volunteer-rules__list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 26px;
  margin: 0;
  padding: 44px 48px;
  border-radius: 16px;
  background: #f2f1f0;
  list-style: none;
}

.volunteer-rule {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
}

.volunteer-rule__marker {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--purple);
}

.volunteer-rule__body h3 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}

.volunteer-rule__body p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

@media (max-width: 1000px) {
  .volunteer-rules--list .volunteer-rules__body {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 48px;
  }

  .volunteer-rules--list .volunteer-rules__media img {
    min-height: 260px;
  }

  .volunteer-rules__list {
    padding: 32px 28px;
  }

  .volunteer-rule__body h3,
  .volunteer-rule__body p {
    font-size: 16px;
  }
}

/* ---- Membership v2: optional lead line and bullet list inside the film slider ---- */
.how-film__lead {
  margin: 10px 0 0;
  font-size: 18px;
  line-height: 1.35;
}

.how-film__list {
  margin: 18px 0 0;
  padding-left: 20px;
  font-size: 17px;
  line-height: 1.4;
}

.how-film__list li {
  margin-bottom: 10px;
}

.how-film__list li:last-child {
  margin-bottom: 0;
}

/* Optional: heading moves inside the glass panel on cover slides. */
.how-film--panel-title .how-film__glass {
  margin-top: 0;
}

.how-film--panel-title .how-film__glass h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.how-film--panel-title .how-film__glass .how-film__lead {
  margin-top: 8px;
}

@media (max-width: 760px) {
  .how-film__lead {
    font-size: 16px;
  }

  .how-film__list {
    font-size: 15px;
  }

  .how-film--panel-title .how-film__glass h2 {
    font-size: 26px;
  }
}

/* ---- Membership v2: two-column card grid for womafreesm_builds ---- */
.builds--grid .builds__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.builds--grid .build-card {
  min-height: 420px;
  align-items: flex-end;
}

.builds--grid .build-card__shade {
  background: linear-gradient(180deg, rgba(34, 26, 31, 0.08) 38%, rgba(34, 26, 31, 0.86) 100%);
}

.builds--grid .build-card__content {
  max-width: none;
  margin-left: 0;
  padding: 32px;
}

.builds--grid .build-card__content h3 {
  font-size: 30px;
}

.builds--grid .build-card__content p {
  margin-top: 10px;
  font-size: 17px;
  line-height: 1.4;
}

@media (max-width: 860px) {
  .builds--grid .builds__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .builds--grid .build-card {
    min-height: 300px;
  }

  .builds--grid .build-card__content {
    padding: 24px;
  }

  .builds--grid .build-card__content h3 {
    font-size: 24px;
  }
}

/* ---- Membership v2: heading + body text block (womafreesm_prose) ---- */
.wf-prose {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.wf-prose__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.wf-prose__heading {
  margin-bottom: 56px;
}

.wf-prose--heading-center .wf-prose__heading {
  text-align: center;
}

.wf-prose--heading-left .wf-prose__heading {
  text-align: left;
}

.wf-prose__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.2vw, 46px);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: 0;
}

.wf-prose__heading em {
  color: var(--purple);
  font-style: italic;
}

.wf-prose__body {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
}

.wf-prose--media-right .wf-prose__media {
  order: 2;
}

.wf-prose--no-media .wf-prose__text {
  grid-column: 2;
}

.wf-prose__media img {
  display: block;
  width: 100%;
  border-radius: 16px;
  object-fit: cover;
}

.wf-prose__text p {
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 1.45;
}

.wf-prose__text p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1000px) {
  .wf-prose__inner {
    padding: 80px 52px;
  }

  .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .wf-prose--media-right .wf-prose__media {
    order: 0;
  }

  .wf-prose--no-media .wf-prose__text {
    grid-column: 1;
  }

  .wf-prose__heading {
    margin-bottom: 36px;
  }
}

@media (max-width: 760px) {
  .wf-prose__inner {
    padding: 64px 24px;
  }

  .wf-prose__text p {
    font-size: 16px;
  }
}

/* ---- Membership v2: purple compare heading, matching the mockup ---- */
.membership-compare__heading h2,
.membership-compare__heading p {
  color: #462143;
}

/* ---- Membership v2: split slides on the 96px grid ----
   The shared film slider indents split text by 54px (How-it-works / Partners grid).
   The Membership slider follows the site container instead. Scoped to that instance only. */
.how-film--panel-title .how-film__slide--split:not(.how-film__slide--reverse) .how-film__text {
  padding-left: max(96px, calc((100vw - 1440px) / 2 + 96px));
}

.how-film--panel-title .how-film__slide--reverse .how-film__text {
  padding-right: max(96px, calc((100vw - 1440px) / 2 + 96px));
}

.how-film--panel-title .how-film__lead,
.how-film--panel-title .how-film__list {
  max-width: 600px;
}

/* ---- Membership v2 fixes: "One status. One vote." is a light section in the mockup ---- */
.membership-vote--light {
  min-height: 0;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.membership-vote--light .membership-vote__inner {
  display: block;
  min-height: 0;
  padding: 120px 96px;
}

.membership-vote--light .membership-vote__heading {
  text-align: center;
}

.membership-vote--light .membership-vote__heading h2 {
  font-size: clamp(34px, 3.2vw, 50px);
}

.membership-vote--light .membership-vote__heading p {
  max-width: 780px;
  margin: 22px auto 0;
  color: rgba(34, 26, 31, 0.7);
  font-size: 20px;
  line-height: 1.35;
}

.membership-vote--light .membership-vote__body {
  display: grid;
  align-items: stretch;
  grid-template-columns: minmax(0, 605fr) minmax(0, 613fr);
  gap: 30px;
  margin-top: 64px;
}

.membership-vote--light .membership-vote__media {
  overflow: hidden;
  border-radius: 16px;
}

.membership-vote--light .membership-vote__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.membership-vote--light .membership-vote__card {
  width: auto;
  margin: 0;
  padding: 40px 44px;
  border: 0;
  border-radius: 16px;
  color: var(--ink);
  background: #f2f1f0;
  box-shadow: none;
  backdrop-filter: none;
}

.membership-vote--light .membership-vote__card h3 {
  margin: 0 0 20px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}

.membership-vote--light .membership-vote__card ul {
  padding-left: 20px;
  font-size: 18px;
  line-height: 1.4;
}

.membership-vote--light .membership-vote__card li {
  margin-bottom: 12px;
}

.membership-vote--light .membership-vote__card li::marker {
  color: var(--purple);
}

.membership-vote--light .membership-vote__card p {
  margin: 20px 0 0;
  font-size: 18px;
  line-height: 1.4;
}

@media (max-width: 1000px) {
  .membership-vote--light .membership-vote__inner {
    padding: 80px 52px;
  }

  .membership-vote--light .membership-vote__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .membership-vote--light .membership-vote__media img {
    min-height: 260px;
  }

  .membership-vote--light .membership-vote__card {
    padding: 28px 24px;
  }
}

/* ---- Membership v2 fixes: prose columns and image proportion from the mockup ---- */
.wf-prose--media-left .wf-prose__body,
.wf-prose--media-right .wf-prose__body {
  grid-template-columns: minmax(0, 537fr) minmax(0, 613fr);
  gap: 98px;
}

.wf-prose__media img {
  height: 100%;
  aspect-ratio: 537 / 648;
}

@media (max-width: 1000px) {
  .wf-prose--media-left .wf-prose__body,
  .wf-prose--media-right .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .wf-prose__media img {
    aspect-ratio: 16 / 10;
  }
}

/* ---- Membership v2 fixes: package cards are light in the mockup ---- */
.membership-packages--module .membership-package-card {
  color: var(--ink);
  background: #d0cdc9;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.membership-packages--module .membership-package-card h3 {
  color: var(--purple);
}

.membership-packages--module .membership-package-card__lead,
.membership-packages--module .membership-package-card ul,
.membership-packages--module .membership-package-card__note {
  color: rgba(34, 26, 31, 0.78);
}

.membership-packages--module .membership-package-card h4 {
  color: var(--ink);
}

.membership-packages--module .membership-package-card__button,
.membership-packages--module .membership-package-card--featured .membership-package-card__button {
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.membership-packages--module .membership-package-card__button:hover {
  border-color: rgba(93, 41, 95, 1);
  background: rgba(93, 41, 95, 1);
}

/* ---- Membership v2 fixes: centred heading over the support carousel ---- */
.membership-support__heading {
  text-align: center;
}

/* ---- Membership v2 fixes: keep card text readable over light photos ---- */
.builds--grid .build-card__shade {
  background: linear-gradient(180deg, rgba(34, 26, 31, 0.12) 30%, rgba(34, 26, 31, 0.92) 100%);
}

/* ---- Membership v3: measured against the mockup ---- */
/* Statement heading size is per instance: Volunteers uses 50px, Membership 37.5px. */
.wf-statement__heading {
  font-size: clamp(30px, 3.4vw, var(--wf-statement-size, 50px));
}

/* Card grid measured from the mockup: 506x499 cards, 20px gap, 1034px band, centred. */
.builds--grid .builds__list {
  grid-template-columns: repeat(2, minmax(0, 506px));
  justify-content: center;
  gap: 20px;
}

.builds--grid .build-card {
  min-height: 499px;
}

/* Closing paragraph of a prose block is set in the display face. */
.wf-prose__text p.wf-prose__highlight {
  margin-top: 26px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.29;
}

@media (max-width: 760px) {
  .wf-prose__text p.wf-prose__highlight {
    font-size: 18px;
  }
}

/* ================ Membership v4 — values taken from the Figma CSS export ================ */

/* ---- "You lived one life" / "Three paths" (womafreesm_prose) ----
   Frame 905: 1440x1107, padding 120/96, gap 96. Image 538x651 r24, text column 614. */
.wf-prose__inner {
  padding: 120px 96px;
}

.wf-prose__heading {
  margin-bottom: 96px;
}

.wf-prose__heading h2 {
  max-width: 761px;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.wf-prose--heading-center .wf-prose__heading h2 {
  margin: 0 auto;
}

.wf-prose--heading-left .wf-prose__heading h2 {
  max-width: none;
}

.wf-prose--media-left .wf-prose__body,
.wf-prose--media-right .wf-prose__body {
  align-items: center;
  grid-template-columns: minmax(0, 538fr) minmax(0, 614fr);
  gap: 96px;
}

.wf-prose__media {
  border-radius: 24px;
  overflow: hidden;
}

.wf-prose__media img {
  aspect-ratio: 538 / 651;
  border-radius: 24px;
}

.wf-prose__text p {
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "Choose Your Path" (womafreesm_membership_packages) ----
   Frame 1221: overlay rgba(0,0,0,.3); card rgba(255,252,248,.8) r16 p24 gap32, 402.67x528. */
.membership-packages--module .membership-packages__shade {
  background: rgba(0, 0, 0, 0.3);
}

.membership-packages--module .membership-packages__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #fcfaf1;
}

.membership-packages--module .membership-packages__heading p {
  max-width: 874px;
  margin-left: auto;
  margin-right: auto;
  color: #f2f1f0;
  font-size: 20px;
  line-height: 1.3;
}

.membership-packages--module .membership-packages__grid {
  gap: 20px;
}

.membership-packages--module .membership-package-card {
  min-height: 528px;
  padding: 24px;
  gap: 32px;
  border-radius: 16px;
  color: var(--ink);
  background: rgba(252, 250, 241, 0.8);
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.membership-packages--module .membership-package-card h3 {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  color: #462143;
}

.membership-packages--module .membership-package-card__lead {
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.membership-packages--module .membership-package-card ul,
.membership-packages--module .membership-package-card__note {
  color: #656667;
}

.membership-packages--module .membership-package-card__button,
.membership-packages--module .membership-package-card--featured .membership-package-card__button {
  height: 51px;
  padding: 16px 24px;
  border: 0;
  border-radius: 8px;
  color: var(--cream);
  background: #984f91;
}

/* ---- "Membership supports:" (womafreesm_membership_support) ----
   Frame 770: 1440x920, padding 120/96, overlay rgba(0,0,0,.4); arrows 64x64 gap 8. */
.membership-support--module .membership-support__shade {
  background: rgba(0, 0, 0, 0.4);
}

.membership-support--module .membership-support__inner {
  min-height: 920px;
  padding: 120px 96px;
  justify-content: space-between;
}

.membership-support--module .membership-support__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #fcfaf1;
}

.membership-support--module .membership-support__heading p {
  color: #fcfaf1;
  font-size: 20px;
  line-height: 1.3;
}

.membership-support--module .membership-support__control {
  width: 64px;
  height: 64px;
}

@media (max-width: 1247px) {
  .wf-prose__heading h2 {
    font-size: clamp(30px, 4vw, 50px);
  }

  .membership-packages--module .membership-packages__heading h2,
  .membership-support--module .membership-support__heading h2 {
    font-size: clamp(30px, 4vw, 50px);
  }

  .membership-support--module .membership-support__inner {
    min-height: 0;
  }

  .membership-packages--module .membership-package-card {
    min-height: 0;
  }
}

/* ---- Membership v5: internal spacing of the package card (Figma: 528px card) ---- */
.membership-packages--module .membership-package-card h3 {
  margin: 0;
}

.membership-packages--module .membership-package-card__lead {
  margin: 8px 0 0;
}

.membership-packages--module .membership-package-card__button {
  margin-top: 32px;
}

.membership-packages--module .membership-package-card h4 {
  margin: 32px 0 0;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
}

.membership-packages--module .membership-package-card ul {
  margin: 16px 0 0;
  padding-left: 20px;
  font-size: 20px;
  line-height: 1.3;
}

.membership-packages--module .membership-package-card li {
  margin: 0 0 8px;
}

.membership-packages--module .membership-package-card li:last-child {
  margin-bottom: 0;
}

/* ---- Membership v5: support carousel (Figma: cards 184px, arrows 64x64 r32) ---- */
.membership-support--module .membership-support-card {
  min-height: 184px;
  height: auto;
}

.membership-support--module .membership-support__control {
  width: 64px;
  height: 64px;
  border-radius: 32px;
}

.membership-support--module .membership-support__controls {
  gap: 8px;
}

/* ---- Membership v6: spacing corrections ---- */
/* The card sets explicit margins, so the flex gap must not double them. */
.membership-packages--module .membership-package-card {
  gap: 0;
}

/* Figma keeps the arrows and the card row inside the section's 120px padding box
   (Frame 770 is 920px tall with space-between). The carousel is a sibling of
   __inner here, so the section itself carries the layout. */
.membership-support--module {
  display: flex;
  min-height: 920px;
  flex-direction: column;
  justify-content: space-between;
  padding: 120px 0;
}

.membership-support--module .membership-support__inner {
  min-height: 0;
  padding: 0 96px;
}

@media (max-width: 1247px) {
  .membership-support--module {
    min-height: 0;
    padding: 96px 0;
  }

  .membership-support--module .membership-support__inner {
    padding: 0 24px;
  }
}

/* ================ Membership v7 — remaining sections, values from the Figma export ================ */

/* ---- Timeline "What happens after you Join" (Frame 1203: 1440x1710) ----
   Figma stacks the title above a 719px steps block aligned right, rather than
   putting the heading in a side column. Scoped so Home and Volunteers keep theirs. */
.system--membership-after .system__inner {
  display: block;
  padding: 120px 96px;
}

.system--membership-after .system__intro {
  position: static;
}

.system--membership-after .system__intro h2 {
  max-width: 505px;
  letter-spacing: -0.03em;
}

.system--membership-after .system__body {
  padding-top: 24px;
}

.system--membership-after .system__steps-wrap {
  width: 719px;
  margin-left: auto;
  grid-template-columns: 16px minmax(0, 613px);
  column-gap: 90px;
}

.system--membership-after .system__steps {
  gap: 64px;
}

/* ---- "One status. One vote." (what this leads to: 1440x1021) ---- */
.membership-vote--light .membership-vote__inner {
  padding: 120px 96px;
}

.membership-vote--light .membership-vote__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.membership-vote--light .membership-vote__heading p {
  max-width: 824px;
  margin-top: 16px;
  font-size: 24px;
  line-height: 1.3;
}

.membership-vote--light .membership-vote__body {
  margin-top: 96px;
}

/* ---- "What we guarantee:" (1/3: 1440x1156, overlay .1, content block 1248x916) ---- */
.membership-guarantee .volunteer-benefits__shade {
  background: rgba(0, 0, 0, 0.1);
}

.membership-guarantee .volunteer-benefits__inner {
  padding: 120px 96px;
  justify-content: flex-end;
}

.membership-guarantee .volunteer-benefits__inner h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #fcfaf1;
}

.membership-guarantee .volunteer-benefits__grid {
  margin-top: 96px;
}

/* ---- "Choose your path to join" (Start research: 1440x628, content 826x308) ---- */
.membership-join-cta--light .membership-final-cta__inner {
  width: min(100%, 826px);
  padding: 160px 0;
}

.membership-join-cta--light .membership-final-cta__inner h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

/* ---- Statement "Your contribution…" (Start research: 1440x708, inner 826, text 730) ---- */
.wf-statement__inner {
  padding: 160px 96px;
}

.wf-statement__subtitle {
  max-width: 730px;
}

@media (max-width: 1247px) {
  .system--membership-after .system__inner {
    padding: 80px 24px;
  }

  .system--membership-after .system__steps-wrap {
    width: auto;
    grid-template-columns: 16px minmax(0, 1fr);
    column-gap: 32px;
  }

  .membership-vote--light .membership-vote__heading p {
    font-size: 18px;
  }

  .membership-join-cta--light .membership-final-cta__inner {
    padding: 96px 24px;
  }

  .wf-statement__inner {
    padding: 96px 24px;
  }
}

/* ================ Membership v8 — final section corrections ================ */

/* Statement vertical rhythm is per instance (Figma: 160 section + 48 inner = 208). */
.wf-statement__inner {
  padding: var(--wf-statement-pad, 180px) 96px;
}

/* ---- "What we guarantee:" cards (Figma: 614x172, p24, r16, rgba(34,26,31,.5)) ----
   Scoped so the Volunteers benefits block keeps its own look. */
.membership-guarantee .volunteer-benefits__grid {
  margin-top: 96px;
  column-gap: 20px;
  row-gap: 24px;
}

.membership-guarantee .volunteer-benefit-card {
  min-height: 172px;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
  box-shadow: none;
}

.membership-guarantee .volunteer-benefit-card p {
  margin-top: 8px;
}

/* ---- "Choose your path to join": the inner block already carries the 160px rhythm ---- */
.membership-join-cta--light {
  min-height: 0;
  padding: 0;
}

@media (max-width: 1247px) {
  .membership-guarantee .volunteer-benefit-card {
    min-height: 0;
  }
}

/* ---- Membership v9: the section already carries the 120px rhythm, so the
   inner block must not repeat it. ---- */
.membership-guarantee .volunteer-benefits__inner {
  padding: 0 96px;
}

.membership-final-cta.membership-join-cta--light {
  padding: 0;
  min-height: 0;
}

/* ================ Membership v10 — last five sections ================ */

/* ---- FAQ (1440x1387, padding 64/56/120, questions column 877, row 79) ----
   Shared instance, but the block is the same on every page. */
.faq__inner {
  grid-template-columns: minmax(0, 1fr) 877px;
  gap: 36px;
  padding: 64px 56px 120px;
}

.faq__list {
  padding-top: 176px;
}

.faq-item summary {
  gap: 48px;
  padding: 24px 0;
  font-size: 24px;
  line-height: 1.3;
}

/* ---- "One status. One vote." (cards 1248x516, photo and card 614 each) ---- */
.membership-vote--light .membership-vote__body {
  grid-template-columns: repeat(2, minmax(0, 614px));
  gap: 20px;
  margin-top: 96px;
  justify-content: space-between;
}

.membership-vote--light .membership-vote__media,
.membership-vote--light .membership-vote__card {
  border-radius: 24px;
}

.membership-vote--light .membership-vote__media img {
  min-height: 516px;
}

.membership-vote--light .membership-vote__card {
  padding: 48px;
}

.membership-vote--light .membership-vote__card h3 {
  margin-bottom: 32px;
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.membership-vote--light .membership-vote__card li {
  margin-bottom: 16px;
}

/* ---- Trust Strip (1440x1058, padding 120/96, cards block 590) ---- */
.life-cycle--membership .life-cycle__inner {
  padding: 120px 96px;
}

.life-cycle--membership .life-cycle__heading p {
  max-width: 874px;
  margin-left: auto;
  margin-right: auto;
  color: #462143;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle--membership .life-cycle__stage {
  gap: 20px;
  margin-top: 96px;
}

/* ---- Package card: the included list is a plain block in Figma (130px for 5 lines) ---- */
.membership-packages--module .membership-package-card li {
  margin-bottom: 0;
}

@media (max-width: 1247px) {
  .faq__inner {
    grid-template-columns: minmax(0, 1fr);
    padding: 64px 24px 96px;
  }

  .faq__list {
    padding-top: 0;
  }

  .faq-item summary {
    gap: 24px;
    font-size: 20px;
  }

  .membership-vote--light .membership-vote__media img {
    min-height: 260px;
  }

  .membership-vote--light .membership-vote__card {
    padding: 28px 24px;
  }

  .membership-vote--light .membership-vote__card h3 {
    font-size: 28px;
    margin-bottom: 20px;
  }

  .life-cycle--membership .life-cycle__inner {
    padding: 80px 24px;
  }
}

/* ---- Membership v11: FAQ question column is 853px in Figma (877 minus the 24px icon),
   so no question wraps onto a second line. ---- */
.faq-item summary {
  gap: 0;
}

.faq__inner > h2 {
  align-self: start;
}

/* ---- Trust Strip cards block is 590px tall in Figma ---- */
.life-cycle--membership .life-cycle__stage {
  min-height: 590px;
}

/* ---- Membership v12: the timeline body offset is set by a more specific rule
   further up the file, so the Membership override needs to match it. ---- */
.system.system--membership-after .system__body {
  padding-top: 24px;
}

/* ---- Membership v13: the timeline body offset comes from --system-body-offset,
   so set the variable rather than overriding the rule. Figma: title 144 + 24. ---- */
.system--membership-after {
  --system-body-offset: 24px;
}

/* ---- Membership v14: system.js writes --system-body-offset inline to align the
   steps with the sticky heading. The Membership timeline is stacked, not sticky,
   so the offset is overridden for this instance only. ---- */
.system--membership-after {
  --system-body-offset: 24px !important;
}

/* ================ Volunteers — values from the Figma export ================ */

/* ---- "How it goes from here" (Frame 1215: 1440x1120, padding 0/96/120) ---- */
.system--volunteers .system__inner {
  padding: 0 96px 120px;
}

.system--volunteers .system__intro h2 {
  max-width: 505px;
  letter-spacing: -0.03em;
  color: #5d295f;
}

.system--volunteers .system__goal {
  max-width: 612px;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.system--volunteers .system__steps-wrap {
  width: 720px;
  margin-left: auto;
  grid-template-columns: 16px minmax(0, 614px);
  column-gap: 90px;
}

.system--volunteers .system__steps {
  gap: 64px;
}

.system--volunteers .system-step h3 {
  font-size: 24px;
  line-height: 1.3;
}

.system--volunteers .system-step p {
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "How this works, in six rules" (what this leads to: 1440x1099) ----
   Photo and card are 614x703 each, gap 20; bullets are 24px. */
.volunteer-rules--list .volunteer-rules__inner {
  padding: 0 96px;
}

.volunteer-rules--list .volunteer-rules__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.volunteer-rules--list .volunteer-rules__body {
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.volunteer-rules--list .volunteer-rules__media {
  border-radius: 24px;
}

.volunteer-rules--list .volunteer-rules__media img {
  min-height: 703px;
  border-radius: 24px;
}

.volunteer-rules--list .volunteer-rules__list {
  padding: 48px;
  gap: 24px;
  border-radius: 24px;
  background: #f2f1f0;
}

.volunteer-rules--list .volunteer-rule {
  gap: 8px;
}

.volunteer-rules--list .volunteer-rule__marker {
  width: 8px;
  height: 8px;
}

.volunteer-rules--list .volunteer-rule__body p {
  color: #221a1f;
  font-size: 24px;
  line-height: 1.3;
}

@media (max-width: 1247px) {
  .system--volunteers .system__inner {
    padding: 0 24px 80px;
  }

  .system--volunteers .system__steps-wrap {
    width: auto;
    grid-template-columns: 16px minmax(0, 1fr);
    column-gap: 32px;
  }

  .volunteer-rules--list .volunteer-rules__inner {
    padding: 80px 24px;
  }

  .volunteer-rules--list .volunteer-rules__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .volunteer-rules--list .volunteer-rules__media img {
    min-height: 280px;
  }

  .volunteer-rules--list .volunteer-rules__list {
    padding: 28px 24px;
  }

  .volunteer-rules--list .volunteer-rule__body p {
    font-size: 18px;
  }
}

/* ================ Volunteers v3 — cycle, tasks, benefits ================ */

/* ---- "Work that leaves a trace" (about reaserch: 1440x1058, cards 1248x590) ---- */
.life-cycle--volunteers .life-cycle__inner {
  padding: 120px 96px;
}

.life-cycle--volunteers .life-cycle__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.life-cycle--volunteers .life-cycle__heading p {
  max-width: 874px;
  margin-left: auto;
  margin-right: auto;
  color: #462143;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle--volunteers .life-cycle__stage {
  min-height: 590px;
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.life-cycle--volunteers .life-cycle__card {
  padding: 48px;
  border-radius: 24px;
  background: #f2f1f0;
}

.life-cycle--volunteers .life-cycle__card h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.life-cycle--volunteers .life-cycle__media img {
  border-radius: 24px;
}

/* ---- "What will you actually be doing?" (Frame 774: padding 120/307, column 826) ---- */
.volunteer-tasks--module .volunteer-tasks__inner {
  width: min(100%, 1440px);
  padding: 0 307px;
}

.volunteer-tasks--module .volunteer-tasks__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.volunteer-tasks--module .volunteer-tasks__heading p {
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

.volunteer-tasks--module .volunteer-tasks__grid {
  gap: 20px;
  margin-top: 96px;
}

.volunteer-tasks--module .volunteer-task-card {
  min-height: 291px;
  padding: 24px;
  border-radius: 16px;
  background: #f2f1f0;
}

.volunteer-tasks--module .volunteer-task-card__time {
  padding: 4px 8px;
  border-radius: 4px;
  background: #d6bde1;
  font-size: 14px;
  line-height: 1.3;
}

/* ---- "What you get. Concretely." (1/3: 1440x1038, cards 614x198, overlay .1) ---- */
.volunteer-benefits--module:not(.membership-guarantee) .volunteer-benefits__shade {
  background: rgba(0, 0, 0, 0.1);
}

.volunteer-benefits--module:not(.membership-guarantee) .volunteer-benefits__inner h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.volunteer-benefits--module:not(.membership-guarantee) .volunteer-benefits__grid {
  margin-top: 96px;
  column-gap: 20px;
  row-gap: 24px;
}

.volunteer-benefits--module:not(.membership-guarantee) .volunteer-benefit-card {
  min-height: 198px;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
  box-shadow: none;
}

@media (max-width: 1247px) {
  .life-cycle--volunteers .life-cycle__inner {
    padding: 80px 24px;
  }

  .life-cycle--volunteers .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .life-cycle--volunteers .life-cycle__card {
    padding: 28px 24px;
  }

  .volunteer-tasks--module .volunteer-tasks__inner {
    padding: 80px 24px;
  }

  .volunteer-benefits--module:not(.membership-guarantee) .volunteer-benefit-card {
    min-height: 0;
  }
}

/* ---- Volunteers v4: task card typography (Figma: title Open Sans 24/600, body 20) ---- */
.volunteer-tasks--module .volunteer-task-card h3 {
  margin: 16px 0 0;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
}

.volunteer-tasks--module .volunteer-task-card p {
  margin: 24px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.volunteer-tasks--module .volunteer-task-card p + p {
  margin-top: 16px;
}

/* ================ Home page — values from the Figma export ================ */

/* ---- "How to join Womafreesm" (1440x1399, padding 120/0, cards 346x432) ---- */
.join-section--grid .join-section__shade {
  background: rgba(0, 0, 0, 0.2);
}

.join-section--grid .join-section__intro h2 {
  font-size: 50px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.join-section--grid .join-section__intro p {
  max-width: 720px;
  font-size: 20px;
  line-height: 1.3;
}

.join-section--grid .join-grid {
  width: min(100%, 1086px);
  gap: 24px;
  margin-top: 96px;
  padding-bottom: 0;
}

.join-section--grid .join-card {
  height: 432px;
  padding: 24px;
  border-radius: 16px;
  background: rgba(252, 250, 241, 0.8);
}

/* ---- "The system is broken" CTA (1440x816, padding 220/204) ---- */
.rules-hero .rules-hero__content {
  width: min(100%, 1032px);
  padding: 220px 0;
  gap: 96px;
}

.rules-hero .rules-hero__content h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.rules-hero .rules-hero__content p {
  max-width: 398px;
  margin-top: 40px;
  font-size: 20px;
  line-height: 24px;
}

.rules-hero__button {
  width: 191px;
  height: 48px;
  border-radius: 8px;
}

/* ---- Founder (1440x970, image 508x527, column gap 126) ---- */
.founder-section__inner {
  padding: 120px 96px;
}

.founder-section__header h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #462143;
}

.founder-section__header p {
  color: #656667;
  font-size: 24px;
  line-height: 1.3;
}

.founder-section__body {
  align-items: center;
  grid-template-columns: 508px minmax(0, 614px);
  gap: 126px;
  margin-top: 96px;
}

.founder-section__media img {
  border-radius: 24px;
}

/* ---- Verify (1440x1185, groups gap 96, card row 200) ---- */
.verify-sources__inner {
  padding: 120px 96px;
}

.verify-sources__header h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #462143;
}

.verify-sources__header p {
  max-width: 822px;
  color: #656667;
  font-size: 24px;
  line-height: 1.3;
}

.verify-sources__group + .verify-sources__group {
  margin-top: 96px;
}

.verify-sources__group h3 {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.verify-sources__grid {
  gap: 20px;
  margin-top: 40px;
}

.verify-source-card {
  min-height: 200px;
}

/* ---- Updates and Blog (1440x850, card 403x470) ---- */
.updates--blog .updates__inner,
.updates--updates .updates__inner {
  padding: 120px 96px;
}

.updates--blog .updates__header h2,
.updates--updates .updates__header h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.updates--blog .updates__grid,
.updates--updates .updates__grid {
  gap: 20px;
  margin-top: 32px;
}

.updates--blog .update-card,
.updates--updates .update-card {
  min-height: 470px;
  padding: 24px;
  border-radius: 16px;
  background: #f2f1f0;
}

/* ---- Life-Cycle on the home page (1440x1027, cards 1248x590) ---- */
.life-cycle:not(.life-cycle--module) .life-cycle__inner {
  padding: 120px 96px;
}

.life-cycle:not(.life-cycle--module) .life-cycle__heading h2 {
  font-size: 50px;
  line-height: 1.1;
}

.life-cycle:not(.life-cycle--module) .life-cycle__heading p {
  color: #462143;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle:not(.life-cycle--module) .life-cycle__stage {
  min-height: 590px;
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.life-cycle:not(.life-cycle--module) .life-cycle__card {
  padding: 48px;
  border-radius: 24px;
  background: #f2f1f0;
}

.life-cycle:not(.life-cycle--module) .life-cycle__media img {
  border-radius: 24px;
}

@media (max-width: 1247px) {
  .rules-hero .rules-hero__content {
    padding: 120px 24px;
  }

  .founder-section__inner,
  .verify-sources__inner,
  .updates--blog .updates__inner,
  .updates--updates .updates__inner,
  .life-cycle:not(.life-cycle--module) .life-cycle__inner {
    padding: 80px 24px;
  }

  .founder-section__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .life-cycle:not(.life-cycle--module) .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .updates--blog .update-card,
  .updates--updates .update-card {
    min-height: 0;
  }

  .join-section--grid .join-card {
    height: auto;
  }
}

/* ---- Home v2: join section rhythm (Figma: 120 top, 175 title, 96, 888 grid, 120 bottom) ---- */
.join-section--grid .join-section__content {
  padding: 120px 96px 0;
}

.join-section--grid .join-grid {
  padding-bottom: 120px;
}

.join-section--grid {
  min-height: 0;
}

/* ---- Home v2: the CTA height is content-driven in Figma (816px) ---- */
.rules-hero {
  min-height: 0;
}

/* ================ How it works — values from the Figma export ================ */

/* ---- Hero (1440x920, photo, heading 120/100%) ---- */
.wf-hero--howitworks .wf-hero__image {
  filter: none;
}

/* ---- "System Overview" prose (Frame 905: 1440x737, image 538x341, text 614) ---- */
.wf-prose--howitworks .wf-prose__inner {
  padding: 120px 96px;
}

.wf-prose--howitworks .wf-prose__heading {
  margin-bottom: 96px;
}

.wf-prose--howitworks .wf-prose__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.wf-prose--howitworks .wf-prose__body {
  align-items: center;
  grid-template-columns: 538px minmax(0, 614px);
  justify-content: space-between;
  gap: 96px;
}

.wf-prose--howitworks .wf-prose__media img {
  min-height: 341px;
  border-radius: 24px;
}

.wf-prose--howitworks .wf-prose__text p {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

/* ---- "What Womafreesm builds" slider (about reaserch: 1440x986, cards 614x590) ---- */
.life-cycle--howitworks .life-cycle__inner {
  padding: 120px 96px;
}

.life-cycle--howitworks .life-cycle__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.life-cycle--howitworks .life-cycle__stage {
  min-height: 590px;
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.life-cycle--howitworks .life-cycle__card {
  padding: 48px;
  border-radius: 24px;
  background: #f2f1f0;
}

.life-cycle--howitworks .life-cycle__card h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.life-cycle--howitworks .life-cycle__card p {
  margin-top: 32px;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle--howitworks .life-cycle__controls {
  gap: 24px;
}

.life-cycle--howitworks .life-cycle__control {
  width: 64px;
  height: 64px;
  border-color: #656667;
}

.life-cycle--howitworks .life-cycle__control.is-active {
  border-color: var(--ink);
  background: transparent;
}

.life-cycle--howitworks .life-cycle__media img {
  min-height: 590px;
  border-radius: 24px;
}

/* ---- "Why do these four levels only work together?" (1/3: 1440x764, cards 614x172) ---- */
.volunteer-benefits--howitworks .volunteer-benefits__shade {
  background: rgba(0, 0, 0, 0.1);
}

.volunteer-benefits--howitworks .volunteer-benefits__inner {
  padding: 120px 96px;
}

.volunteer-benefits--howitworks .volunteer-benefits__inner h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.volunteer-benefits--howitworks .volunteer-benefits__grid {
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  margin-top: 96px;
  column-gap: 20px;
  row-gap: 24px;
}

.volunteer-benefits--howitworks .volunteer-benefit-card {
  min-height: 172px;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
  box-shadow: none;
}

.volunteer-benefits--howitworks .volunteer-benefit-card h3 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0;
}

.volunteer-benefits--howitworks .volunteer-benefit-card p {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "Results and Impact" (what this leads to: 1440x1071, photo and card 614x607) ---- */
.how-outcome__inner {
  padding: 120px 96px;
}

.how-outcome__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.how-outcome__heading h2 em {
  font-style: italic;
}

.how-outcome__heading p {
  margin-top: 16px;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

.how-outcome__body {
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.how-outcome__card,
.how-outcome__media {
  min-height: 607px;
  border-radius: 24px;
}

.how-outcome__card {
  padding: 48px;
  background: #f2f1f0;
}

.how-outcome__card h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.how-outcome__card ul {
  gap: 24px;
  margin-top: 32px;
}

.how-outcome__card li {
  padding-left: 16px;
  font-size: 24px;
  line-height: 1.3;
}

/* ---- "Explore the Womafreesm System" (Start research: 1440x842, card 826x522) ---- */
.wf-onepager {
  display: grid;
  padding: 160px 96px;
  place-items: center;
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.wf-onepager__card {
  display: flex;
  width: min(100%, 826px);
  min-height: 522px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 48px;
  border-radius: 24px;
  background: #efe2ec;
}

.wf-onepager__intro {
  max-width: 616px;
  text-align: center;
}

.wf-onepager__intro h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
  color: #462143;
}

.wf-onepager__intro em {
  font-style: italic;
}

.wf-onepager__intro p {
  margin: 24px 0 0;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.wf-onepager__form {
  display: flex;
  width: min(100%, 402px);
  flex-direction: column;
  gap: 24px;
  margin: 0;
}

.wf-onepager__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wf-onepager__input {
  display: flex;
  height: 48px;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid #656667;
  border-radius: 8px;
  background: rgba(252, 250, 241, 1);
}

.wf-onepager__icon {
  color: #656667;
  font-size: 16px;
  line-height: 1;
}

.wf-onepager__input input {
  width: 100%;
  border: 0;
  color: var(--ink);
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.3;
  outline: none;
}

.wf-onepager__input input::placeholder {
  color: #aeaeb0;
}

.wf-onepager__consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 16px 8px;
  color: #656667;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

.wf-onepager__consent input {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: #462143;
}

.wf-onepager__button {
  display: flex;
  height: 48px;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border: 0;
  border-radius: 8px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-family: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.wf-onepager__button:hover {
  background: #5d295f;
  transform: translateY(-2px);
}

.wf-onepager__message {
  max-width: 616px;
  margin: 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.35;
}

.wf-onepager__message--ok {
  color: #462143;
}

.wf-onepager__message--error {
  color: #8a2b2b;
}

@media (max-width: 1247px) {
  .wf-prose--howitworks .wf-prose__inner {
    padding: 80px 24px;
  }

  .wf-prose--howitworks .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .wf-prose--howitworks .wf-prose__media img {
    min-height: 240px;
  }

  .wf-prose--howitworks .wf-prose__text p {
    font-size: 18px;
  }

  .life-cycle--howitworks .life-cycle__inner {
    padding: 80px 24px;
  }

  .life-cycle--howitworks .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .life-cycle--howitworks .life-cycle__card {
    padding: 28px 24px;
  }

  .life-cycle--howitworks .life-cycle__media img {
    min-height: 280px;
  }

  .volunteer-benefits--howitworks .volunteer-benefits__inner {
    padding: 80px 24px;
  }

  .volunteer-benefits--howitworks .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .volunteer-benefits--howitworks .volunteer-benefit-card {
    min-height: 0;
  }

  .how-outcome__inner {
    padding: 80px 24px;
  }

  .how-outcome__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .how-outcome__card,
  .how-outcome__media {
    min-height: 0;
  }

  .how-outcome__media img {
    min-height: 280px;
  }

  .how-outcome__card {
    padding: 28px 24px;
  }

  .how-outcome__card li {
    font-size: 18px;
  }

  .wf-onepager {
    padding: 80px 24px;
  }

  .wf-onepager__card {
    min-height: 0;
    padding: 32px 24px;
  }

  .wf-onepager__intro h2 {
    font-size: 28px;
  }
}

/* ---- Photo-card grid, measured on both pages (cards 506x500, p24, title 40/130) ---- */
.builds--grid .build-card {
  min-height: 500px;
}

.builds--grid .build-card__content {
  padding: 24px;
}

.builds--grid .build-card__content h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.builds--grid .build-card__content p {
  margin-top: 24px;
  font-size: 20px;
  line-height: 1.3;
}

.builds--grid .builds__heading h2 {
  max-width: 1136px;
  margin: 0 auto;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.builds--grid .builds__list {
  margin-top: 96px;
}

.builds--grid .builds__inner {
  padding: 120px 96px;
}

@media (max-width: 1247px) {
  .builds--grid .builds__inner {
    padding: 80px 24px;
  }

  .builds--grid .build-card__content h3 {
    font-size: 26px;
  }

  .builds--grid .build-card__content p {
    margin-top: 16px;
    font-size: 17px;
  }
}

/* ================ How it works v2 — measured against the mockup ================ */

/* The prose photo is a fixed 538x341 crop, not a free-scaling image. */
.wf-prose--howitworks .wf-prose__media img {
  height: 341px;
  min-height: 0;
}

/* Cards are 614x172 here; raised above the Volunteers rule, which is one class deeper. */
.volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__inner h2 {
  max-width: none;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__grid {
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  margin-top: 96px;
  column-gap: 20px;
  row-gap: 24px;
}

.volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card {
  min-height: 172px;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
  box-shadow: none;
}

.volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card h3 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0;
}

.volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card p {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.3;
}

@media (max-width: 1247px) {
  .wf-prose--howitworks .wf-prose__media img {
    height: 240px;
  }

  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card {
    min-height: 0;
  }
}

/* ================ How it works v3 ================ */

/* The section itself already carries 120px top and bottom; the inner block only insets. */
.volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__inner {
  padding: 0 96px;
}

@media (max-width: 1247px) {
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__inner {
    padding: 0 24px;
  }
}

/* ================ How it works v4 ================ */

/* Subtitle width is per instance as well: How it works sets it to the heading width. */
.wf-statement__subtitle {
  max-width: var(--wf-statement-sub, 730px);
}

/* ================ How it works v5 ================ */

/* The registration line is Open Sans 16/130 in 613px, like the home hero —
   the shared base rule sets Lora 24px, which Volunteers and Membership want. */
.wf-hero--howitworks .wf-hero__kicker {
  width: min(613px, 100%);
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #f2f1f0;
}

@media (max-width: 900px) {
  .wf-hero--howitworks .wf-hero__kicker {
    width: 100%;
    font-size: 14px;
  }
}

/* ================================================================
   Mobile (390px reference) — values from "Mobile Home page.png"
   and "Home-mobile.txt".

   The system: content column 342 inside 24px side padding, sections
   96px top and bottom, h2 Lora 40/120 -0.03em, card titles Open Sans
   20/130 600, body Open Sans 16/130, buttons full width 48 high r8.
   ================================================================ */

@media (max-width: 600px) {
  /* ---- Statement ------------------------------------------------ */
  /* The per-instance desktop padding is in an inline custom property;
     on a 390 screen its 96px side padding leaves a 190px column. */
  .wf-statement__inner {
    padding: 96px 24px;
  }

  .wf-statement__heading {
    max-width: none;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .wf-statement__subtitle {
    max-width: none;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Prose ---------------------------------------------------- */
  .wf-prose__inner {
    padding: 96px 24px;
  }

  .wf-prose__heading {
    margin-bottom: 40px;
  }

  .wf-prose__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .wf-prose__media img {
    border-radius: 16px;
  }

  .wf-prose__text p,
  .wf-prose--howitworks .wf-prose__text p {
    font-size: 16px;
    line-height: 1.3;
  }

  .wf-prose--howitworks .wf-prose__media img {
    height: 240px;
  }

  .wf-prose__text p.wf-prose__highlight {
    margin-top: 24px;
    font-size: 20px;
    line-height: 1.3;
  }

  /* ---- Photo card grid (womafreesm_builds) ---------------------- */
  .builds__inner {
    padding: 96px 24px;
  }

  .builds__heading h2,
  .builds--grid .builds__heading h2 {
    max-width: none;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .builds__list,
  .builds--grid .builds__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .build-card,
  .builds--grid .build-card {
    min-height: 200px;
    align-items: flex-end;
  }

  .build-card__content,
  .builds--grid .build-card__content {
    max-width: none;
    margin-left: 0;
    padding: 24px 16px;
  }

  .build-card__content h3,
  .builds--grid .build-card__content h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .build-card__content p,
  .builds--grid .build-card__content p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Life-cycle slider --------------------------------------- */
  .life-cycle__inner {
    padding: 96px 24px;
  }

  .life-cycle__heading h2,
  .life-cycle--howitworks .life-cycle__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .life-cycle__heading p {
    font-size: 16px;
    line-height: 1.3;
  }

  .life-cycle__stage,
  .life-cycle--howitworks .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 24px;
    margin-top: 40px;
  }

  .life-cycle__card,
  .life-cycle--howitworks .life-cycle__card {
    padding: 24px 16px;
    border-radius: 16px;
  }

  .life-cycle__card h3,
  .life-cycle--howitworks .life-cycle__card h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .life-cycle__card p,
  .life-cycle--howitworks .life-cycle__card p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .life-cycle__controls,
  .life-cycle--howitworks .life-cycle__controls {
    gap: 16px;
    margin-top: 32px;
  }

  .life-cycle__control,
  .life-cycle--howitworks .life-cycle__control {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }

  .life-cycle__media img,
  .life-cycle--howitworks .life-cycle__media img {
    min-height: 240px;
    height: 240px;
    border-radius: 16px;
  }

  /* ---- Photo card band (volunteer_benefits) --------------------- */
  .volunteer-benefits--module .volunteer-benefits__inner,
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__inner {
    padding: 0 24px;
  }

  .volunteer-benefits--module .volunteer-benefits__inner h2,
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__inner h2 {
    max-width: none;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .volunteer-benefits--module .volunteer-benefits__grid,
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 40px;
    row-gap: 24px;
  }

  .volunteer-benefits--module .volunteer-benefit-card,
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card {
    min-height: 0;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .volunteer-benefits--module .volunteer-benefit-card h3,
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card h3 {
    font-size: 20px;
    line-height: 1.3;
  }

  .volunteer-benefits--module .volunteer-benefit-card p,
  .volunteer-benefits--module.volunteer-benefits--howitworks .volunteer-benefit-card p {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Results and impact (how_outcome) ------------------------- */
  .how-outcome__inner {
    padding: 96px 24px;
  }

  .how-outcome__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .how-outcome__heading p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .how-outcome__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .how-outcome__card,
  .how-outcome__media {
    min-height: 0;
    border-radius: 16px;
  }

  .how-outcome__media img {
    height: 240px;
  }

  .how-outcome__card {
    padding: 24px 16px;
  }

  .how-outcome__card h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .how-outcome__card ul {
    gap: 16px;
    margin-top: 24px;
  }

  .how-outcome__card li {
    padding-left: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Photo CTA (research_cta) --------------------------------- */
  .research-cta {
    padding: 96px 24px;
  }

  .research-cta__panel {
    width: 100%;
    min-height: 0;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .research-cta__panel h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .research-cta__panel p {
    margin-top: 32px;
    font-size: 16px;
    line-height: 1.3;
  }

  .research-cta__button {
    width: 100%;
    height: 48px;
    margin-top: 40px;
  }

  /* ---- Participation paths (join) ------------------------------- */
  .join-section--grid {
    min-height: 0;
  }

  .join-section--grid .join-section__content {
    padding-top: 96px;
  }

  .join-section--grid .join-section__intro {
    max-width: none;
  }

  .join-section--grid .join-section__intro h2 {
    font-size: 40px;
    line-height: 1.1;
    letter-spacing: -0.03em;
  }

  .join-section--grid .join-section__intro p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .join-grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
    padding-bottom: 96px;
  }

  .join-section--grid .join-card {
    height: auto;
    padding: 16px;
    border-radius: 16px;
  }

  .join-section--grid .join-card h3 {
    font-size: 24px;
    line-height: 1.2;
  }

  .join-section--grid .join-card p {
    font-size: 16px;
    line-height: 1.3;
  }

  .join-section--grid .join-card__button {
    width: 100%;
    height: 48px;
  }

  /* ---- One-pager request form ----------------------------------- */
  .wf-onepager {
    padding: 96px 24px;
  }

  .wf-onepager__card {
    min-height: 0;
    gap: 32px;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .wf-onepager__intro h2 {
    font-size: 28px;
    line-height: 1.3;
  }

  .wf-onepager__intro p {
    margin-top: 16px;
    font-size: 16px;
  }

  .wf-onepager__form {
    width: 100%;
  }

  .wf-onepager__button {
    width: 100%;
  }

  /* ---- FAQ ------------------------------------------------------ */
  .faq__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    padding: 96px 24px;
  }

  .faq__list {
    padding-top: 0;
  }

  .faq-item summary {
    gap: 8px;
    padding: 24px 0;
    font-family: Lora, Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.3;
  }
}

/* ================ Mobile v2 — outranking the per-page desktop blocks ================ */

@media (max-width: 600px) {
  /* The page modifiers carry two classes, so the mobile rule needs them too. */
  .wf-prose--howitworks .wf-prose__inner,
  .life-cycle--howitworks .life-cycle__inner,
  .life-cycle--volunteers .life-cycle__inner,
  .life-cycle--membership .life-cycle__inner,
  .builds--grid .builds__inner {
    padding: 96px 24px;
  }

  .wf-prose--howitworks .wf-prose__heading h2,
  .life-cycle--howitworks .life-cycle__heading h2,
  .life-cycle--volunteers .life-cycle__heading h2,
  .life-cycle--membership .life-cycle__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .wf-prose--howitworks .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  /* ---- Hero: womafreesm-hero.css loads after site.css, so match its weight ---- */
  .wf-hero .wf-hero__content {
    padding: clamp(230px, 32.4svh, 300px) 24px 66px;
  }

  .wf-hero .wf-hero__kicker {
    width: 100%;
    font-size: 12px;
    line-height: 1.3;
  }

  .wf-hero .wf-hero__title {
    font-size: 60px;
    line-height: 1;
    letter-spacing: -0.03em;
  }

  .wf-hero .wf-hero__text p {
    font-size: 16px;
    line-height: 1.3;
  }

  .wf-hero .wf-hero__button {
    width: 100%;
    height: 48px;
    border-radius: 8px;
    margin-top: 88px;
  }
}

/* ================ Mobile v3 — hero ================ */

@media (max-width: 600px) {
  /* The mockup's hero holds a two-line heading in one screen. Longer page
     headings overflowed a fixed 100svh box and the button was clipped away
     by overflow:hidden, so the hero grows with its content instead. */
  .wf-hero {
    height: auto;
    min-height: 100svh;
    max-height: none;
    overflow: visible;
  }

  .wf-hero .wf-hero__content {
    min-height: 100svh;
    padding: clamp(180px, 26svh, 274px) 24px 66px;
  }

  .wf-hero .wf-hero__title > span,
  .wf-hero .wf-hero__title > em {
    white-space: normal;
    text-align: left;
  }

  .wf-hero .wf-hero__button {
    margin-top: 40px;
  }
}

/* ================ Mobile v4 ================ */

@media (max-width: 600px) {
  /* The mockup sets every hero line flush left; the desktop sheet loads after
     this one and pins the last line right, so match its weight. */
  .wf-hero .wf-hero__title > span:last-child,
  .wf-hero .wf-hero__title > em:last-child {
    text-align: left;
  }
}

/* ================ Mobile v5 — the remaining home-page blocks ================
   Same system as v1: sections 96/24, h2 Lora 40/120 -0.03em, card titles
   Open Sans 20/130 600, body 16/130, cards r16. The orbit block
   (womafreesm_infrastructure) is deliberately left alone. */

@media (max-width: 600px) {
  /* ---- Life-cycle on the home page (no --module modifier) ---- */
  .life-cycle:not(.life-cycle--module) .life-cycle__inner {
    padding: 96px 24px;
  }

  .life-cycle:not(.life-cycle--module) .life-cycle__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .life-cycle:not(.life-cycle--module) .life-cycle__heading p {
    font-size: 16px;
    line-height: 1.3;
  }

  .life-cycle:not(.life-cycle--module) .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 24px;
    margin-top: 40px;
  }

  .life-cycle:not(.life-cycle--module) .life-cycle__card {
    padding: 24px 16px;
    border-radius: 16px;
  }

  /* ---- Founder ---- */
  .founder-section__inner {
    padding: 96px 24px;
  }

  .founder-section__header h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .founder-section__header p {
    font-size: 16px;
    line-height: 1.3;
  }

  .founder-section__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .founder-section__media img {
    border-radius: 16px;
  }

  /* ---- Verify sources ---- */
  .verify-sources__inner {
    padding: 96px 24px;
  }

  .verify-sources__header h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .verify-sources__header p {
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
  }

  .verify-sources__group + .verify-sources__group {
    margin-top: 40px;
  }

  .verify-sources__group h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .verify-sources__grid {
    gap: 16px;
    margin-top: 24px;
  }

  .verify-source-card {
    min-height: 0;
    border-radius: 16px;
  }

  /* ---- Updates and Articles ---- */
  .updates__inner,
  .updates--blog .updates__inner,
  .updates--updates .updates__inner {
    padding: 96px 24px;
  }

  .updates__header h2,
  .updates--blog .updates__header h2,
  .updates--updates .updates__header h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .updates__grid,
  .updates--blog .updates__grid,
  .updates--updates .updates__grid {
    gap: 24px;
    margin-top: 32px;
  }

  .update-card,
  .updates--blog .update-card,
  .updates--updates .update-card {
    min-height: 0;
    padding: 24px;
    border-radius: 16px;
  }

  .update-card h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .update-card p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- "The system is broken" CTA ---- */
  .rules-hero .rules-hero__content {
    width: 100%;
    gap: 32px;
    padding: 96px 24px;
  }

  .rules-hero .rules-hero__content h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .rules-hero .rules-hero__content p {
    max-width: none;
    margin-top: 32px;
    font-size: 16px;
    line-height: 1.3;
  }

  .rules-hero__button {
    width: 100%;
    height: 48px;
    border-radius: 8px;
  }

  /* ---- Global network ---- */
  .global-network__inner {
    padding: 96px 24px;
  }

  .global-network__inner h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  /* ---- Active projects ---- */
  .active-projects__inner {
    padding: 96px 0;
  }

  .active-projects__header h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }
}

/* ================ Mobile v6 — leftovers that lost on specificity ================ */

@media (max-width: 600px) {
  /* The home hero's own kicker rule lives in the later stylesheet. */
  .wf-hero.wf-hero--home .wf-hero__kicker,
  .wf-hero.wf-hero--volunteer .wf-hero__kicker,
  .wf-hero.wf-hero--membership .wf-hero__kicker,
  .wf-hero.wf-hero--howitworks .wf-hero__kicker {
    font-size: 12px;
    line-height: 1.3;
  }

  /* Update and blog cards: Open Sans 20/600 title, 16/130 body. */
  .updates--blog .update-card h3,
  .updates--updates .update-card h3,
  .updates .update-card h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .updates--blog .update-card p,
  .updates--updates .update-card p,
  .updates .update-card p,
  .updates--blog .updates__header p,
  .updates--updates .updates__header p {
    font-size: 16px;
    line-height: 1.3;
  }

  .global-network .global-network__inner p,
  .global-network__inner p {
    font-size: 16px;
    line-height: 1.3;
  }
}

/* ================ Mobile v7 — Volunteers and Membership blocks ================ */

@media (max-width: 600px) {
  /* ---- Life-cycle page variants carry two classes on the section ---- */
  .life-cycle--volunteers.life-cycle--module .life-cycle__inner,
  .life-cycle--membership.life-cycle--module .life-cycle__inner,
  .life-cycle--howitworks.life-cycle--module .life-cycle__inner {
    padding: 96px 24px;
  }

  .life-cycle--volunteers .life-cycle__heading p,
  .life-cycle--membership .life-cycle__heading p,
  .life-cycle--howitworks .life-cycle__heading p {
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Volunteer tasks ---- */
  .volunteer-tasks--module .volunteer-tasks__inner {
    padding: 96px 24px;
  }

  .volunteer-tasks--module .volunteer-tasks__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .volunteer-tasks--module .volunteer-tasks__heading p {
    font-size: 16px;
    line-height: 1.3;
  }

  .volunteer-tasks--module .volunteer-tasks__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .volunteer-tasks--module .volunteer-task-card {
    min-height: 0;
    padding: 24px 16px;
    border-radius: 16px;
  }

  /* ---- Volunteer benefits heading (the :not() rule is one class deeper) ---- */
  .volunteer-benefits--module:not(.membership-guarantee) .volunteer-benefits__inner h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  /* ---- Volunteer rules ---- */
  .volunteer-rules--list .volunteer-rules__inner {
    padding: 96px 24px;
  }

  .volunteer-rules--list .volunteer-rules__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .volunteer-rules--list .volunteer-rules__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .volunteer-rules--list .volunteer-rules__media img {
    min-height: 240px;
    height: 240px;
    border-radius: 16px;
  }

  .volunteer-rules--list .volunteer-rules__list {
    gap: 16px;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .volunteer-rules--list .volunteer-rule__body p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Volunteer tracks ---- */
  .volunteer-tracks__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .volunteer-tracks__heading p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- System steps ---- */
  .system--volunteers .system__goal,
  .system--membership-after .system__goal,
  .system__goal,
  .system-step p,
  .system--volunteers .system-step p,
  .system--membership-after .system-step p {
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Membership packages ---- */
  .membership-packages--module .membership-packages__inner {
    padding: 96px 24px;
  }

  .membership-packages__heading h2,
  .membership-packages--module .membership-packages__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .membership-packages__heading p,
  .membership-packages--module .membership-packages__heading p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Membership support ---- */
  .membership-support__inner {
    padding: 96px 24px;
  }

  .membership-support h2,
  .membership-support__inner h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .membership-support__inner p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Membership vote: desktop padding was 120/96 on a 390 screen ---- */
  .membership-vote__inner,
  .membership-vote--light .membership-vote__inner {
    padding: 96px 24px;
  }

  .membership-vote--light .membership-vote__heading h2,
  .membership-vote__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .membership-vote--light .membership-vote__heading p,
  .membership-vote__heading p {
    font-size: 16px;
    line-height: 1.3;
  }

  .membership-vote--light .membership-vote__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .membership-vote--light .membership-vote__media,
  .membership-vote--light .membership-vote__card {
    border-radius: 16px;
  }

  .membership-vote--light .membership-vote__media img {
    min-height: 240px;
    height: 240px;
  }

  .membership-vote--light .membership-vote__card {
    padding: 24px 16px;
  }

  .membership-vote--light .membership-vote__card h3 {
    margin-bottom: 20px;
    font-size: 24px;
    line-height: 1.3;
  }

  .membership-vote--light .membership-vote__card li {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Membership compare ---- */
  .membership-compare__inner {
    padding: 96px 24px;
  }

  .membership-compare__inner h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .membership-compare__inner p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Membership final CTA ---- */
  .membership-final-cta__inner {
    padding: 96px 24px;
  }

  .membership-final-cta h2,
  .membership-join-cta--light .membership-final-cta h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .membership-final-cta p {
    font-size: 16px;
    line-height: 1.3;
  }
}

/* ================ Mobile v8 ================ */

@media (max-width: 600px) {
  .membership-support--module .membership-support__heading h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .membership-support--module .membership-support__heading p {
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
  }

  /* The light modifier sits on the section itself, not on an ancestor. */
  .membership-final-cta.membership-join-cta--light h2,
  .membership-final-cta.membership-final-cta--module h2 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }
}

/* ================ Mobile v9 ================ */

@media (max-width: 600px) {
  .membership-packages--module .membership-package-card p,
  .membership-package-card p,
  .membership-package-card li {
    font-size: 16px;
    line-height: 1.3;
  }
}

/* ================ Mobile v10 ================ */

@media (max-width: 600px) {
  /* The desktop rule keeps 96px side padding, leaving a 198px column. */
  .join-section--grid .join-section__content,
  .join-section .join-section__content {
    padding: 96px 24px 0;
  }

  .join-section__intro p,
  .join-section--grid .join-section__intro p {
    max-width: none;
  }
}

/* ================ Mobile v11 ================ */

@media (max-width: 600px) {
  /* The two-column prose grid is re-declared later without a media query. */
  .wf-prose--media-left .wf-prose__body,
  .wf-prose--media-right .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .wf-prose--media-right .wf-prose__media {
    order: 0;
  }

  /* Section headers that sit in a flex row with a control: let the heading
     take the width it needs instead of shrinking to the arrow. */
  .updates__header h2,
  .updates--blog .updates__header h2,
  .updates--updates .updates__header h2,
  .active-projects__header h2 {
    min-width: 0;
    flex: 1 1 auto;
    max-width: none;
  }
}

/* ================ Mobile v12 — media boxes and All projects padding ================ */

@media (max-width: 600px) {
  /* A fixed image height inside a taller media box left the box's grey
     backing showing underneath. Size the box, let the image fill it. */
  .life-cycle__media,
  .life-cycle--howitworks .life-cycle__media,
  .life-cycle--volunteers .life-cycle__media,
  .life-cycle--membership .life-cycle__media,
  .life-cycle:not(.life-cycle--module) .life-cycle__media,
  .how-outcome__media,
  .volunteer-rules--list .volunteer-rules__media,
  .membership-vote--light .membership-vote__media {
    height: 240px;
    min-height: 240px;
    border-radius: 16px;
    overflow: hidden;
  }

  .life-cycle__media img,
  .life-cycle--howitworks .life-cycle__media img,
  .life-cycle--volunteers .life-cycle__media img,
  .life-cycle--membership .life-cycle__media img,
  .life-cycle:not(.life-cycle--module) .life-cycle__media img,
  .how-outcome__media img,
  .volunteer-rules--list .volunteer-rules__media img,
  .membership-vote--light .membership-vote__media img,
  .wf-prose--howitworks .wf-prose__media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    border-radius: inherit;
  }

  .wf-prose--howitworks .wf-prose__media {
    height: 240px;
    border-radius: 16px;
    overflow: hidden;
  }

  /* "All projects" is a vertical stack here, not a bleed carousel, so it
     keeps the 24px side padding. */
  .active-projects__inner {
    padding: 96px 24px;
  }
}

/* ================ Mobile v13 — hero line breaks and film slide padding ================ */

@media (max-width: 600px) {
  /* The heading is two block spans, which forces a break mid-phrase: at 390
     "Become a Member" / "of Womafreesm" becomes four ragged lines. Letting
     these two headings flow as one run gives "Become a / Member of /
     Womafreesm". Home and Volunteers keep their designed two-line split. */
  .wf-hero--membership .wf-hero__title > span,
  .wf-hero--membership .wf-hero__title > em,
  .wf-hero--howitworks .wf-hero__title > span,
  .wf-hero--howitworks .wf-hero__title > em {
    display: inline;
    white-space: normal;
  }

  .wf-hero--membership .wf-hero__title > span + span::before,
  .wf-hero--howitworks .wf-hero__title > span + span::before {
    content: " ";
  }

  /* Split film slides kept the desktop's asymmetric 96px inner column. */
  .how-film__slide--split .how-film__text,
  .how-film__slide--split:not(.how-film__slide--reverse) .how-film__text,
  .how-film__slide--reverse .how-film__text {
    padding: 96px 24px;
  }
}

/* ================ Mobile v14 ================ */

@media (max-width: 600px) {
  /* The Membership slider has its own 96px indent rule, one class deeper. */
  .how-film--panel-title .how-film__slide--split:not(.how-film__slide--reverse) .how-film__text,
  .how-film--panel-title .how-film__slide--reverse .how-film__text,
  .how-film--panel-title .how-film__slide--split .how-film__text {
    padding: 96px 24px;
  }
}

/* ================ Mobile v15 — How it works hero heading ================ */

@media (max-width: 600px) {
  /* "Lasting Change Starts with Root Causes" is the longest hero line on the
     site. At the 60px reference size it breaks into four lines with an orphan;
     at 50px it settles into three even ones. Scales down with the viewport so
     narrower phones keep the same break. */
  .wf-hero--howitworks .wf-hero__title {
    font-size: min(50px, 12.8vw);
  }
}

/* ================ Partners — values from the Figma export ================ */

/* ---- Hero (1440x920) ---- */
.wf-hero--partners .wf-hero__image {
  filter: none;
}

/* ---- Prose blocks (Frame 905 / 1214 / 1215: image 538, text 614, gap 96) ---- */
.wf-prose--partners .wf-prose__inner {
  padding: 120px 96px;
}

.wf-prose--partners .wf-prose__heading {
  margin-bottom: 96px;
}

.wf-prose--partners .wf-prose__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.wf-prose--partners .wf-prose__body {
  align-items: stretch;
  grid-template-columns: 538px minmax(0, 614px);
  justify-content: space-between;
  gap: 96px;
}

.wf-prose--partners .wf-prose__media {
  overflow: hidden;
  border-radius: 24px;
}

.wf-prose--partners .wf-prose__media img {
  height: 100%;
  min-height: 0;
  border-radius: 24px;
  object-fit: cover;
}

.wf-prose--partners .wf-prose__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.wf-prose--partners .wf-prose__text p {
  margin: 0 0 26px;
  font-size: 20px;
  line-height: 1.3;
}

.wf-prose--partners .wf-prose__text p:last-child {
  margin-bottom: 0;
}

.wf-prose--partners .wf-prose__text p.wf-prose__highlight {
  margin-top: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "Partnership starts with a specific task" (1440x870, card left) ---- */
.partners-support .how-outcome__inner {
  padding: 120px 96px;
}

.partners-support .how-outcome__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.partners-support .how-outcome__body {
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.partners-support .how-outcome__card,
.partners-support .how-outcome__media {
  min-height: 474px;
  border-radius: 24px;
}

.partners-support .how-outcome__card {
  padding: 48px;
  background: #f2f1f0;
}

.partners-support .how-outcome__card h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.partners-support .how-outcome__card ul {
  gap: 16px;
  margin-top: 32px;
}

.partners-support .how-outcome__card li {
  padding-left: 16px;
  font-size: 20px;
  line-height: 1.3;
}

.partners-support .how-outcome__card li::before {
  top: 0.5em;
}

.how-outcome__note {
  margin: 16px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "Who can become a partner" carousel (1440x920, cards 509x314) ---- */
.partners-carousel .volunteer-tracks__inner {
  padding: 120px 96px 0;
}

.partners-carousel .volunteer-tracks__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.partners-carousel--head-center .volunteer-tracks__heading {
  width: 100%;
  text-align: center;
}

.partners-carousel .volunteer-tracks__control {
  width: 64px;
  height: 64px;
  border: 1px solid rgba(252, 250, 241, 1);
  border-radius: 32px;
}

.partners-carousel .volunteer-tracks__controls {
  gap: 8px;
}

.partners-carousel .volunteer-tracks__carousel {
  gap: 24px;
  padding: 0 96px 120px;
}

.partners-carousel .volunteer-track-card {
  width: 509px;
  min-height: 314px;
  padding: 24px;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.4);
}

.partners-carousel .volunteer-track-card h3 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0;
}

.partners-carousel .volunteer-track-card p {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.3;
}

.volunteer-track-card__tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-bottom: 16px;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(252, 250, 241, 0.16);
  font-size: 14px;
  line-height: 1.3;
}

.volunteer-track-card__note {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.3;
  opacity: 0.85;
}

/* ---- "Where we can work together" carousel (1440x937, padding 120/56) ---- */
.partners-carousel--wide .volunteer-tracks__inner {
  padding: 120px 56px 0;
}

.partners-carousel--wide .volunteer-tracks__carousel {
  gap: 24px;
  padding: 0 56px 120px;
}

.partners-carousel--wide .volunteer-track-card {
  width: 509px;
  min-height: 453px;
}

/* ---- "What a partner receives" slider (1440x986) ---- */
.life-cycle--partners .life-cycle__inner {
  padding: 120px 96px;
}

.life-cycle--partners .life-cycle__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.life-cycle--partners .life-cycle__stage {
  min-height: 590px;
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.life-cycle--partners .life-cycle__card {
  padding: 48px;
  border-radius: 24px;
  background: #f2f1f0;
}

.life-cycle--partners .life-cycle__card h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.life-cycle--partners .life-cycle__card p {
  margin-top: 32px;
  font-size: 20px;
  line-height: 1.3;
}

.life-cycle--partners .life-cycle__control {
  width: 64px;
  height: 64px;
  border-color: #656667;
}

.life-cycle--partners .life-cycle__control.is-active {
  border-color: var(--ink);
  background: transparent;
}

.life-cycle--partners .life-cycle__media img {
  min-height: 590px;
  border-radius: 24px;
}

/* ---- "Current Areas of Focus" rows (1440x1582, rows 1248x218) ---- */
.builds--partners .builds__inner {
  padding: 120px 96px;
}

.builds--partners .builds__heading h2 {
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.builds--partners .builds__list {
  gap: 24px;
  margin-top: 96px;
}

.builds--partners .build-card {
  min-height: 218px;
  align-items: center;
}

.builds--partners .build-card__shade {
  background: rgba(0, 0, 0, 0.35);
}

.builds--partners .build-card__content {
  max-width: 702px;
  margin-left: auto;
  padding: 40px 40px 40px 0;
}

.builds--partners .build-card__content h3 {
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.builds--partners .build-card__content p {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "Become a Womafreesm Partner" CTA (1440x553, column 1032) ---- */
.partners-final-cta .membership-final-cta__inner {
  width: min(100%, 1440px);
  padding: 144px 204px;
  text-align: center;
}

.partners-final-cta h2 {
  max-width: 1032px;
  margin: 0 auto;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #462143;
}

.partners-final-cta p {
  max-width: 1032px;
  margin: 40px auto 0;
  color: #462143;
  font-size: 20px;
  line-height: 1.3;
}

.partners-final-cta .membership-final-cta__button {
  margin-top: 64px;
}

@media (max-width: 1247px) {
  .wf-prose--partners .wf-prose__inner {
    padding: 80px 24px;
  }

  .wf-prose--partners .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .partners-support .how-outcome__inner {
    padding: 80px 24px;
  }

  .partners-support .how-outcome__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .partners-support .how-outcome__card,
  .partners-support .how-outcome__media {
    min-height: 0;
  }

  .partners-carousel .volunteer-tracks__inner,
  .partners-carousel--wide .volunteer-tracks__inner {
    padding: 80px 24px 0;
  }

  .partners-carousel .volunteer-tracks__carousel,
  .partners-carousel--wide .volunteer-tracks__carousel {
    padding: 0 24px 80px;
  }

  .partners-carousel .volunteer-track-card,
  .partners-carousel--wide .volunteer-track-card {
    width: min(509px, 82vw);
    min-height: 0;
  }

  .life-cycle--partners .life-cycle__inner {
    padding: 80px 24px;
  }

  .life-cycle--partners .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .builds--partners .builds__inner {
    padding: 80px 24px;
  }

  .builds--partners .build-card__content {
    max-width: none;
    padding: 32px;
  }

  .partners-final-cta .membership-final-cta__inner {
    padding: 96px 24px;
  }
}

/* ---- "The Future of Women's Impact Measurement" (Frame 1214: 1440x860) ---- */
.partners-roadmap {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.partners-roadmap__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.partners-roadmap__heading {
  margin-bottom: 96px;
  text-align: center;
}

.partners-roadmap__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.partners-roadmap__heading em {
  color: var(--purple);
  font-style: italic;
}

.partners-roadmap__body {
  display: grid;
  align-items: stretch;
  grid-template-columns: 538px minmax(0, 614px);
  justify-content: space-between;
  gap: 96px;
}

.partners-roadmap--media-right .partners-roadmap__media {
  order: 2;
}

.partners-roadmap__media {
  overflow: hidden;
  border-radius: 24px;
}

.partners-roadmap__media img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  object-fit: cover;
}

.partners-roadmap__list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 96px;
}

.partners-roadmap__block h3 {
  margin: 0 0 16px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.partners-roadmap__block p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

@media (max-width: 1247px) {
  .partners-roadmap__inner {
    padding: 80px 24px;
  }

  .partners-roadmap__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .partners-roadmap--media-right .partners-roadmap__media {
    order: 0;
  }

  .partners-roadmap__list {
    gap: 40px;
  }

  .partners-roadmap__media img {
    height: 240px;
  }
}

/* ================ Partners v2 — measured against the mockup ================ */

/* The image must not drive the row height: it fills a box sized by the text. */
.wf-prose--partners .wf-prose__media,
.partners-roadmap__media {
  position: relative;
  min-height: 320px;
}

.wf-prose--partners .wf-prose__media img,
.partners-roadmap__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* The carousel section already carries 120px top and bottom from --module. */
.partners-carousel {
  display: flex;
  min-height: 920px;
  flex-direction: column;
  justify-content: space-between;
}

.partners-carousel .volunteer-tracks__inner {
  padding: 0 96px;
}

.partners-carousel .volunteer-tracks__carousel {
  padding-bottom: 0;
}

.partners-carousel .volunteer-tracks__heading {
  margin-bottom: 96px;
}

.partners-carousel .volunteer-tracks__controls {
  margin-bottom: 24px;
}

.partners-carousel--wide {
  min-height: 937px;
}

.partners-carousel--wide .volunteer-tracks__inner {
  padding: 0 56px;
}

/* The light CTA section already carries 120px top and bottom. */
.partners-final-cta {
  padding: 0;
}

@media (max-width: 1247px) {
  .partners-carousel,
  .partners-carousel--wide {
    min-height: 0;
  }

  .partners-carousel .volunteer-tracks__inner,
  .partners-carousel--wide .volunteer-tracks__inner {
    padding: 0 24px;
  }

  .partners-carousel .volunteer-tracks__heading {
    margin-bottom: 40px;
  }
}

/* ================ Partners v3 ================ */

/* Heading top, controls just above the cards — the mockup distributes the
   slack inside the header block, not between the header and the carousel. */
.partners-carousel .volunteer-tracks__inner {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
}

.partners-carousel .volunteer-tracks__heading {
  margin-bottom: 0;
}

.partners-carousel .volunteer-tracks__controls {
  margin-top: 0;
  margin-bottom: 24px;
}

/* The photo fills a box sized by the card next to it. */
.partners-support .how-outcome__media {
  position: relative;
}

.partners-support .how-outcome__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* The module modifier carries two classes, so match its weight. */
.membership-final-cta.partners-final-cta {
  padding: 0;
}

@media (max-width: 1247px) {
  .partners-carousel .volunteer-tracks__inner {
    display: block;
  }

  .partners-carousel .volunteer-tracks__heading {
    margin-bottom: 40px;
  }

  .partners-support .how-outcome__media {
    min-height: 280px;
  }
}

/* ================ Partners v4 ================ */

/* The second carousel is 937 in the mockup; it keeps the viewport cap so it
   never grows taller than the screen on short displays. */
.partners-carousel--wide.volunteer-tracks--module {
  min-height: min(937px, 100svh);
}

/* ================ Partners — mobile (390px system) ================ */

@media (max-width: 600px) {
  /* ---- Prose blocks ---- */
  .wf-prose--partners .wf-prose__inner {
    padding: 96px 24px;
  }

  .wf-prose--partners .wf-prose__heading {
    margin-bottom: 40px;
  }

  .wf-prose--partners .wf-prose__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .wf-prose--partners .wf-prose__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .wf-prose--partners .wf-prose__media {
    height: 240px;
    min-height: 240px;
    border-radius: 16px;
  }

  .wf-prose--partners .wf-prose__text p {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .wf-prose--partners .wf-prose__text p.wf-prose__highlight {
    font-size: 18px;
  }

  /* ---- "Partnership starts with a specific task" ---- */
  .partners-support .how-outcome__inner {
    padding: 96px 24px;
  }

  .partners-support .how-outcome__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .partners-support .how-outcome__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .partners-support .how-outcome__card,
  .partners-support .how-outcome__media {
    min-height: 0;
    border-radius: 16px;
  }

  .partners-support .how-outcome__media {
    height: 240px;
    min-height: 240px;
  }

  .partners-support .how-outcome__card {
    padding: 24px 16px;
  }

  .partners-support .how-outcome__card h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .partners-support .how-outcome__card ul {
    margin-top: 24px;
  }

  .partners-support .how-outcome__card li {
    font-size: 16px;
    line-height: 1.3;
  }

  .how-outcome__note {
    font-size: 18px;
  }

  /* ---- Carousels ---- */
  .partners-carousel .volunteer-tracks__heading h2,
  .partners-carousel--wide .volunteer-tracks__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .partners-carousel .volunteer-track-card,
  .partners-carousel--wide .volunteer-track-card {
    width: min(342px, 84vw);
    min-height: 0;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .partners-carousel .volunteer-track-card h3,
  .partners-carousel--wide .volunteer-track-card h3 {
    font-size: 24px;
    line-height: 1.2;
  }

  .partners-carousel .volunteer-track-card p,
  .partners-carousel--wide .volunteer-track-card p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Roadmap ---- */
  .partners-roadmap__inner {
    padding: 96px 24px;
  }

  .partners-roadmap__heading {
    margin-bottom: 40px;
  }

  .partners-roadmap__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .partners-roadmap__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .partners-roadmap__media {
    height: 240px;
    min-height: 240px;
    border-radius: 16px;
  }

  .partners-roadmap__list {
    gap: 40px;
  }

  .partners-roadmap__block h3 {
    font-size: 24px;
    line-height: 1.2;
  }

  .partners-roadmap__block p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Life-cycle slider ---- */
  .life-cycle--partners.life-cycle--module .life-cycle__inner,
  .life-cycle--partners .life-cycle__inner {
    padding: 96px 24px;
  }

  .life-cycle--partners .life-cycle__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .life-cycle--partners .life-cycle__stage {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 24px;
    margin-top: 40px;
  }

  .life-cycle--partners .life-cycle__card {
    padding: 24px 16px;
    border-radius: 16px;
  }

  .life-cycle--partners .life-cycle__card h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .life-cycle--partners .life-cycle__card p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .life-cycle--partners .life-cycle__control {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }

  .life-cycle--partners .life-cycle__media {
    height: 240px;
    min-height: 240px;
    border-radius: 16px;
  }

  .life-cycle--partners .life-cycle__media img {
    height: 100%;
    min-height: 0;
  }

  /* ---- Current areas of focus ---- */
  .builds--partners .builds__inner {
    padding: 96px 24px;
  }

  .builds--partners .builds__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .builds--partners .builds__list {
    margin-top: 40px;
  }

  .builds--partners .build-card {
    min-height: 200px;
  }

  .builds--partners .build-card__content {
    max-width: none;
    margin-left: 0;
    padding: 24px 16px;
  }

  .builds--partners .build-card__content h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .builds--partners .build-card__content p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- "Become a Womafreesm Partner" ---- */
  .partners-final-cta .membership-final-cta__inner {
    padding: 96px 24px;
  }

  .partners-final-cta h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .partners-final-cta p {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.3;
  }

  .partners-final-cta .membership-final-cta__button {
    width: 100%;
    height: 48px;
    margin-top: 40px;
  }
}

/* ================ Partners mobile v2 ================ */

@media (max-width: 600px) {
  .system--partners-process .system__inner {
    padding: 96px 24px;
  }
}

/* ================ Partners v5 — carousel cards and slider controls ================ */

/* The numbered controls are a left-aligned row with a 24px gap (Figma "buttoms"
   518x64). An earlier Partners rule stretched them across the card. */
.life-cycle--partners .life-cycle__controls,
.life-cycle--howitworks .life-cycle__controls {
  width: auto;
  justify-content: flex-start;
  gap: 24px;
}

/* ---- Carousel cards ---- */
.partners-carousel .volunteer-track-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.partners-carousel .volunteer-track-card__head {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.partners-carousel .volunteer-track-card__title h3 {
  margin: 0;
}

.partners-carousel .volunteer-track-card__note {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
  opacity: 0.85;
}

.partners-carousel .volunteer-track-card > p {
  margin: 0;
}

/* Tag chip: cream background, ink text, hugging its own label (Figma 4/8, r4). */
.partners-carousel .volunteer-track-card__tag {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  align-self: flex-start;
  margin: 0;
  padding: 4px 8px;
  border-radius: 4px;
  color: var(--ink);
  background: rgba(252, 250, 241, 1);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

/* ---- "Where we can work together": cards 540x453, gap 48, panel 0.5 ---- */
.partners-carousel--wide .volunteer-track-card {
  width: 540px;
  min-height: 453px;
  gap: 48px;
  padding: 24px;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
}

@media (max-width: 1247px) {
  .partners-carousel--wide .volunteer-track-card {
    width: min(540px, 86vw);
    min-height: 0;
    gap: 32px;
  }
}

@media (max-width: 600px) {
  .life-cycle--partners .life-cycle__controls,
  .life-cycle--howitworks .life-cycle__controls {
    gap: 16px;
  }

  .partners-carousel .volunteer-track-card__head {
    gap: 16px;
  }

  .partners-carousel--wide .volunteer-track-card {
    width: min(342px, 84vw);
    gap: 24px;
    padding: 24px 16px;
  }
}

/* ================ Partners v6 — card widths ================ */

.partners-carousel .volunteer-track-card {
  width: 509px;
  min-width: 509px;
}

.partners-carousel--wide .volunteer-track-card {
  width: 540px;
  min-width: 540px;
}

@media (max-width: 1247px) {
  .partners-carousel .volunteer-track-card {
    width: min(509px, 82vw);
    min-width: 0;
  }

  .partners-carousel--wide .volunteer-track-card {
    width: min(540px, 86vw);
    min-width: 0;
  }
}

@media (max-width: 600px) {
  .partners-carousel .volunteer-track-card,
  .partners-carousel--wide .volunteer-track-card {
    width: min(342px, 84vw);
    min-width: 0;
  }
}

/* ================ Partners v7 ================ */

/* The mockup's carousel cards have no outline — only the translucent panel. */
.partners-carousel .volunteer-track-card,
.partners-carousel--wide .volunteer-track-card {
  border: 0;
  box-shadow: none;
}

/* ================ Partners v8 ================ */

/* Cards live in a horizontal scroller: they must keep their width instead of
   shrinking to fit the viewport once min-width is relaxed for small screens. */
.partners-carousel .volunteer-track-card,
.partners-carousel--wide .volunteer-track-card {
  flex: 0 0 auto;
}

/* ================ Partners v9 — carousel aligns to the 1440 column ================ */

/* A flat 96px measured from the viewport edge, so on wide screens the cards
   started left of the centred container while the heading stayed in it.
   The theme's own offset keeps both on the same column. */
.partners-carousel .volunteer-tracks__carousel {
  --tracks-side-offset: max(96px, calc((100vw - 1440px) / 2 + 96px));
  padding-right: var(--tracks-side-offset);
  padding-left: var(--tracks-side-offset);
  scroll-padding-left: var(--tracks-side-offset);
}

.partners-carousel--wide .volunteer-tracks__carousel {
  --tracks-side-offset: max(56px, calc((100vw - 1440px) / 2 + 56px));
}

@media (max-width: 1247px) {
  .partners-carousel .volunteer-tracks__carousel,
  .partners-carousel--wide .volunteer-tracks__carousel {
    --tracks-side-offset: 24px;
  }
}

/* ================ Partners v10 ================ */

/* 100vw counts the scrollbar, so the cards sat ~7px right of the heading.
   Measuring against the section's own width puts both on the same column. */
.partners-carousel .volunteer-tracks__carousel {
  --tracks-side-offset: max(96px, calc((100% - 1440px) / 2 + 96px));
}

.partners-carousel--wide .volunteer-tracks__carousel {
  --tracks-side-offset: max(56px, calc((100% - 1440px) / 2 + 56px));
}

@media (max-width: 1247px) {
  .partners-carousel .volunteer-tracks__carousel,
  .partners-carousel--wide .volunteer-tracks__carousel {
    --tracks-side-offset: 24px;
  }
}

/* ================ Donate — values from the Figma export ================ */

.wf-hero--donate .wf-hero__image {
  filter: none;
}

/* ---- Legal facts table (Frame 1247: 1440x1386, table 826, cards 297x200) ---- */
.donate-legal {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.donate-legal__inner {
  display: flex;
  width: min(100%, 1440px);
  flex-direction: column;
  align-items: center;
  gap: 96px;
  margin: 0 auto;
  padding: 120px 96px;
}

.donate-legal__heading {
  text-align: center;
}

.donate-legal__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.donate-legal__table {
  width: min(100%, 826px);
  margin: 0;
  border-collapse: collapse;
}

.donate-legal__row {
  display: grid;
  grid-template-columns: 297px minmax(0, 1fr);
}

.donate-legal__row + .donate-legal__row {
  margin-top: -1px;
}

.donate-legal__row dt,
.donate-legal__row dd {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 10px;
  border: 1px solid #221a1f;
  font-size: 20px;
  line-height: 1.3;
  color: #221a1f;
}

.donate-legal__row dt {
  justify-content: center;
  font-weight: 600;
  text-align: center;
}

.donate-legal__row dd {
  margin-left: -1px;
}

.donate-legal__profiles {
  width: 100%;
}

.donate-legal__profiles h3 {
  margin: 0 0 40px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.donate-legal__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 297px));
  justify-content: space-between;
  gap: 20px;
}

.donate-legal__card {
  display: flex;
  min-height: 200px;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 46px;
  padding: 24px;
  border-radius: 16px;
  background: #f2f1f0;
}

.donate-legal__logo {
  display: flex;
  width: 100%;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
}

.donate-legal__logo img {
  max-width: 249px;
  max-height: 70px;
  object-fit: contain;
}

.donate-legal__logo span {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

.donate-legal__button {
  display: flex;
  width: 100%;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(34, 26, 31, 0.4);
  border-radius: 8px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease;
}

.donate-legal__button:hover,
.donate-legal__button:focus-visible {
  border-color: rgba(152, 79, 145, 1);
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  text-decoration: none;
}

/* ---- "What your donation funds" carousel (1440x920, cards 509x418) ---- */
.donate-carousel .volunteer-tracks__heading {
  width: 100%;
  text-align: center;
}

.donate-carousel .volunteer-tracks__heading p {
  max-width: 826px;
  margin: 16px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.donate-carousel .volunteer-track-card {
  width: 509px;
  min-width: 509px;
  min-height: 418px;
  gap: 8px;
  padding: 24px;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.4);
}

/* ---- "How the money is accounted for" (Frame 831: 1440x896, cards 403x500) ---- */
.builds--donate .builds__inner {
  padding: 120px 96px;
}

.builds--donate .builds__heading h2 {
  max-width: 1136px;
  margin: 0 auto;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.builds--donate .builds__list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: space-between;
  gap: 20px;
  margin-top: 96px;
}

.builds--donate .build-card {
  min-height: 500px;
  align-items: flex-end;
}

.builds--donate .build-card__content {
  max-width: none;
  margin-left: 0;
  padding: 24px;
}

.builds--donate .build-card__content h3 {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0;
}

.builds--donate .build-card__content p {
  margin-top: 24px;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "What money buys here" (what this leads to: 1440x1084) ---- */
.donate-independence .how-outcome__heading p {
  max-width: 826px;
  margin: 16px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.donate-independence .how-outcome__card,
.donate-independence .how-outcome__media {
  min-height: 594px;
}

.donate-independence .how-outcome__card li {
  font-size: 20px;
  line-height: 1.3;
}

/* ---- "Major support" (1/3: 1440x960, cards 614x172) ---- */
.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__shade {
  background: rgba(0, 0, 0, 0.1);
}

.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__inner {
  padding: 0 96px;
}

.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__inner h2 {
  max-width: none;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__grid {
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  margin-top: 96px;
  column-gap: 20px;
  row-gap: 24px;
}

.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card {
  min-height: 172px;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
  box-shadow: none;
}

.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card h3 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0;
}

.volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card p {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.3;
}

@media (max-width: 1247px) {
  .donate-legal__inner {
    gap: 64px;
    padding: 80px 24px;
  }

  .donate-legal__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .donate-legal__row dd {
    margin-top: -1px;
    margin-left: 0;
  }

  .donate-legal__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .donate-carousel .volunteer-track-card {
    width: min(509px, 82vw);
    min-width: 0;
    min-height: 0;
  }

  .builds--donate .builds__inner {
    padding: 80px 24px;
  }

  .builds--donate .builds__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .builds--donate .build-card {
    min-height: 300px;
  }

  .donate-independence .how-outcome__card,
  .donate-independence .how-outcome__media {
    min-height: 0;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__inner {
    padding: 0 24px;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card {
    min-height: 0;
  }
}

/* ================ Donate v2 ================ */

/* The mockup darkens these cards from the bottom so the text stays readable
   over light photos; the shared grid shade is too light for them. */
.builds--donate .build-card__shade {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.75) 100%);
  opacity: 1 !important;
}

/* ================ Donate — mobile (390px system) ================ */

@media (max-width: 600px) {
  /* ---- Legal facts ---- */
  .donate-legal__inner {
    gap: 40px;
    padding: 96px 24px;
  }

  .donate-legal__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .donate-legal__row dt,
  .donate-legal__row dd {
    font-size: 16px;
    line-height: 1.3;
  }

  .donate-legal__profiles h3 {
    margin-bottom: 24px;
    font-size: 24px;
    line-height: 1.3;
  }

  .donate-legal__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .donate-legal__card {
    min-height: 0;
    gap: 24px;
    padding: 24px 16px;
  }

  /* ---- Directions carousel ---- */
  .donate-carousel .volunteer-tracks__heading p {
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
  }

  .donate-carousel .volunteer-track-card {
    width: min(342px, 84vw);
    min-width: 0;
    min-height: 0;
    padding: 24px 16px;
  }

  /* ---- How the money is accounted for ---- */
  .builds--donate .builds__inner {
    padding: 96px 24px;
  }

  .builds--donate .builds__heading h2 {
    max-width: none;
    font-size: 40px;
    line-height: 1.2;
  }

  .builds--donate .builds__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
  }

  .builds--donate .build-card {
    min-height: 260px;
  }

  .builds--donate .build-card__content {
    padding: 24px 16px;
  }

  .builds--donate .build-card__content h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
  }

  .builds--donate .build-card__content p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- What money buys here ---- */
  .donate-independence .how-outcome__heading p {
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
  }

  .donate-independence .how-outcome__card,
  .donate-independence .how-outcome__media {
    min-height: 0;
  }

  .donate-independence .how-outcome__card li {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Major support ---- */
  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__inner {
    padding: 0 24px;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__inner h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 40px;
    row-gap: 24px;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card {
    min-height: 0;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card h3 {
    font-size: 20px;
    line-height: 1.3;
  }

  .volunteer-benefits--module.volunteer-benefits--donate .volunteer-benefit-card p {
    font-size: 16px;
    line-height: 1.3;
  }
}

/* ================ Donate v3 ================ */

/* The mockup's tallest logo is 249x66, which is what makes the card exactly 200. */
.donate-legal__logo img {
  max-height: 66px;
}

/* ================ About Womafreesm — values from the Figma export ================ */

.wf-hero--about .wf-hero__image {
  filter: none;
}

/* ---- "Why Womafreesm exists" (global network: 1440x791, columns 508 and 510) ---- */
.about-mission {
  background: rgba(242, 241, 240, 0.5);
  color: var(--ink);
}

.about-mission__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.about-mission__heading {
  margin-bottom: 40px;
  text-align: center;
}

.about-mission__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.about-mission__body {
  display: grid;
  align-items: end;
  grid-template-columns: 508px minmax(0, 510px);
  justify-content: space-between;
}

.about-mission__column p {
  margin: 0 0 24px;
  font-size: 20px;
  line-height: 1.3;
}

.about-mission__column p:last-child,
.about-mission__column ul:last-child {
  margin-bottom: 0;
}

.about-mission__column ul {
  margin: 0 0 24px;
  padding-left: 20px;
  font-size: 20px;
  line-height: 1.3;
}

.about-mission__column li {
  margin-bottom: 2px;
}

.about-mission__column--dropcap p:first-child::first-letter {
  float: left;
  margin: 10px 12px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 200px;
  line-height: 0.62;
}

/* ---- "How lived experience becomes systemic change" (Frame 1271: 1440x1523) ---- */
.about-chain {
  position: relative;
  overflow: hidden;
  color: var(--cream);
  isolation: isolate;
}

.about-chain__bg,
.about-chain__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-chain__bg {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.about-chain__shade {
  z-index: -1;
  background: #000;
}

.about-chain__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.about-chain__heading {
  margin-bottom: 96px;
  text-align: center;
}

.about-chain__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.about-chain__heading p {
  margin: 16px 0 0;
  color: #f2f1f0;
  font-size: 24px;
  line-height: 1.3;
}

.about-chain__body {
  display: grid;
  width: min(100%, 1036px);
  align-items: center;
  grid-template-columns: 404px minmax(0, 508px);
  justify-content: space-between;
  gap: 124px;
  margin: 0 auto;
}

.about-chain__steps {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-chain__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* Every step after the first carries the connecting arrow above it. */
.about-chain__step + .about-chain__step::before {
  width: 24px;
  height: 48px;
  content: "";
  background: var(--cream);
  clip-path: polygon(42% 0, 58% 0, 58% 68%, 100% 68%, 50% 100%, 0 68%, 42% 68%);
}

.about-chain__step > span {
  display: flex;
  width: 100%;
  min-height: 79px;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: 16px;
  color: #462143;
  background: rgba(252, 250, 241, 1);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.2;
  text-align: center;
}

.about-chain__note {
  padding: 24px;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
}

.about-chain__note p {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.3;
}

.about-chain__note p:last-child {
  margin-bottom: 0;
}

/* ---- "Three levels of the architecture" (Frame 1275: 1440x2144) ---- */
.about-levels {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.about-levels__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.about-levels__heading {
  margin-bottom: 96px;
  text-align: center;
}

.about-levels__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.about-levels__list {
  display: flex;
  flex-direction: column;
  gap: 192px;
}

.about-levels__level h3 {
  margin: 0 0 56px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.about-levels__body {
  display: grid;
  align-items: start;
  grid-template-columns: 614px minmax(0, 509px);
  justify-content: space-between;
  gap: 96px;
}

.about-levels__text p {
  margin: 0 0 32px;
  font-size: 20px;
  line-height: 1.3;
}

.about-levels__text p:last-child {
  margin-bottom: 0;
}

.about-levels__aside {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.about-levels__media {
  overflow: hidden;
  border-radius: 24px;
}

.about-levels__media img {
  display: block;
  width: 100%;
  height: 231px;
  border-radius: 24px;
  object-fit: cover;
}

.about-levels__caption {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
  color: #221a1f;
}

/* ---- Feature blocks (Frame 1214: 1440x977, image 508, text 614, gap 126) ---- */
.about-feature {
  background: rgba(252, 250, 241, 1);
  color: var(--ink);
}

.about-feature__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.about-feature__heading {
  margin-bottom: 96px;
  text-align: center;
}

.about-feature__heading h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #462143;
}

.about-feature__heading p {
  margin: 16px 0 0;
  color: #656667;
  font-size: 24px;
  line-height: 1.3;
}

.about-feature__body {
  display: grid;
  align-items: center;
  grid-template-columns: 508px minmax(0, 614px);
  justify-content: space-between;
  gap: 126px;
}

.about-feature--media-right .about-feature__media {
  order: 2;
}

.about-feature__media {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border-radius: 24px;
}

.about-feature__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-feature__lead {
  margin: 0 0 8px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

.about-feature__text p {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.3;
}

.about-feature__button {
  display: inline-flex;
  width: 191px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 48px;
  border-radius: 8px;
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: background 180ms ease;
}

.about-feature__button:hover,
.about-feature__button:focus-visible {
  color: var(--cream);
  background: #5d295f;
  text-decoration: none;
}

/* ---- "Last updated" (Frame 1263: 1440x360, text right) ---- */
.about-updated {
  background: rgba(252, 250, 241, 1);
}

.about-updated__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
  text-align: right;
}

.about-updated__inner p {
  margin: 0 0 0 auto;
  max-width: 507px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #462143;
}

/* ---- "Registered, and open to check" intro ---- */
.about-legal__intro {
  display: grid;
  width: 100%;
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 614px));
  justify-content: space-between;
  gap: 20px;
}

.about-legal__intro h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #462143;
}

.about-legal__intro em {
  font-style: italic;
}

.about-legal__intro p {
  margin: 0;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.about-legal .donate-legal__profiles h3 {
  font-size: 32px;
}

/* ---- Blocks that reuse a tuned pattern but carry their own metrics ---- */
.about-audience .how-outcome__card,
.about-audience .how-outcome__media {
  min-height: 634px;
}

.about-audience .how-outcome__card h3 {
  font-size: 32px;
  line-height: 1.3;
}

.about-audience .how-outcome__card li {
  font-size: 20px;
  line-height: 1.3;
}

@media (max-width: 1247px) {
  .about-mission__inner,
  .about-chain__inner,
  .about-levels__inner,
  .about-feature__inner,
  .about-updated__inner {
    padding: 80px 24px;
  }

  .about-mission__body,
  .about-levels__body,
  .about-feature__body,
  .about-legal__intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .about-chain__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .about-feature--media-right .about-feature__media {
    order: 0;
  }

  .about-feature__media {
    min-height: 280px;
  }

  .about-levels__list {
    gap: 96px;
  }

  .about-audience .how-outcome__card,
  .about-audience .how-outcome__media {
    min-height: 0;
  }
}

/* ================ About v2 ================ */

/* Figma chip is 404x79 with a 38px label; 24px padding overshoots by 7 per chip. */
.about-chain__step > span {
  padding: 20px 24px;
}

/* ================ About v3 ================ */

/* A CTA panel without a button is shorter in the mockup (352 instead of 422). */
.research-cta__panel:not(:has(.research-cta__button)) {
  min-height: 0;
}

/* ================ About v4 ================ */

/* The mockup's portrait is as tall as the text column beside it. */
.about-feature__body {
  align-items: stretch;
}

.about-feature__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-feature__media {
  height: 100%;
}

/* ================ About Womafreesm — mobile (390px system) ================ */

@media (max-width: 600px) {
  /* ---- Why Womafreesm exists / Formulas ---- */
  .about-mission__inner {
    padding: 96px 24px;
  }

  .about-mission__heading {
    margin-bottom: 40px;
  }

  .about-mission__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .about-mission__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .about-mission__column p,
  .about-mission__column ul {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .about-mission__column--dropcap p:first-child::first-letter {
    margin: 6px 10px 0 0;
    font-size: 120px;
    line-height: 0.66;
  }

  /* ---- Chain ---- */
  .about-chain__inner {
    padding: 96px 24px;
  }

  .about-chain__heading {
    margin-bottom: 40px;
  }

  .about-chain__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .about-chain__heading p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .about-chain__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .about-chain__step > span {
    min-height: 0;
    padding: 16px;
    font-size: 24px;
    line-height: 1.2;
  }

  .about-chain__step + .about-chain__step::before {
    height: 32px;
  }

  .about-chain__note {
    padding: 24px 16px;
  }

  .about-chain__note p {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Three levels ---- */
  .about-levels__inner {
    padding: 96px 24px;
  }

  .about-levels__heading {
    margin-bottom: 40px;
  }

  .about-levels__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .about-levels__list {
    gap: 64px;
  }

  .about-levels__level h3 {
    margin-bottom: 24px;
    font-size: 24px;
    line-height: 1.3;
  }

  .about-levels__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .about-levels__text p {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .about-levels__aside {
    gap: 16px;
  }

  .about-levels__media img {
    height: 240px;
    border-radius: 16px;
  }

  .about-levels__media {
    border-radius: 16px;
  }

  .about-levels__caption {
    font-size: 18px;
    line-height: 1.3;
  }

  /* ---- Feature blocks ---- */
  .about-feature__inner {
    padding: 96px 24px;
  }

  .about-feature__heading {
    margin-bottom: 40px;
  }

  .about-feature__heading h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .about-feature__heading p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.3;
  }

  .about-feature__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .about-feature__media {
    height: 240px;
    min-height: 240px;
    border-radius: 16px;
  }

  .about-feature__lead {
    font-size: 20px;
    line-height: 1.3;
  }

  .about-feature__text p {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.3;
  }

  .about-feature__button {
    width: 100%;
    margin-top: 24px;
  }

  /* ---- Registered and open to check ---- */
  .about-legal__intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .about-legal__intro h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .about-legal__intro p {
    font-size: 16px;
    line-height: 1.3;
  }

  .about-legal .donate-legal__profiles h3 {
    font-size: 24px;
  }

  /* ---- Who the work is for ---- */
  .about-audience .how-outcome__card h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .about-audience .how-outcome__card li {
    font-size: 16px;
    line-height: 1.3;
  }

  /* ---- Last updated ---- */
  .about-updated__inner {
    padding: 96px 24px;
  }

  .about-updated__inner p {
    max-width: none;
    font-size: 28px;
    line-height: 1.2;
  }
}

/* ================ Hero kicker on the registration pages ================ */

/* Donate and About carry the same registration line as How it works:
   Open Sans 16/130 in a 614px column, not the shared Lora 24px kicker. */
.wf-hero--donate .wf-hero__kicker,
.wf-hero--about .wf-hero__kicker {
  width: min(614px, 100%);
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #f2f1f0;
}

@media (max-width: 900px) {
  .wf-hero--donate .wf-hero__kicker,
  .wf-hero--about .wf-hero__kicker {
    width: 100%;
    font-size: 14px;
  }
}

@media (max-width: 600px) {
  .wf-hero.wf-hero--donate .wf-hero__kicker,
  .wf-hero.wf-hero--about .wf-hero__kicker {
    width: 100%;
    font-size: 12px;
    line-height: 1.3;
  }
}

/* ================ Localisation — longer UK/RU/ES headlines ================
   The hero headline is one non-wrapping line per part. Ukrainian, Russian and
   Spanish run longer than English, so the type is stepped down just enough to
   keep each line on its own row. Desktop tier only; the phone and tablet tiers
   already size the hero themselves. */

@media (min-width: 1248px) {
  :root[lang="ru"] .wf-hero--home .wf-hero__title {
    font-size: 108px;
  }

  :root[lang="es"] .wf-hero--home .wf-hero__title {
    font-size: 95px;
  }

  :root[lang="uk"] .wf-hero--howitworks .wf-hero__title {
    font-size: 96px;
  }

  :root[lang="ru"] .wf-hero--howitworks .wf-hero__title {
    font-size: 88px;
  }

  :root[lang="uk"] .wf-hero--donate .wf-hero__title {
    font-size: 111px;
  }

  :root[lang="ru"] .wf-hero--donate .wf-hero__title {
    font-size: 88px;
  }

  :root[lang="es"] .wf-hero--donate .wf-hero__title {
    font-size: 99px;
  }

  :root[lang="ru"] .wf-hero--partners .wf-hero__title {
    font-size: 108px;
  }
}

/* ---- Localisation — longer UK/RU headlines on the phone (390 system) ----
   The hero line does not wrap, so where a translation runs past the 342
   content column the type steps down just enough to fit. English is untouched;
   so is Spanish, which stays inside the English baseline. */

@media (max-width: 600px) {
  :root[lang="uk"] .wf-hero--volunteer .wf-hero__title,
  :root[lang="ru"] .wf-hero--volunteer .wf-hero__title {
    font-size: 53px;
  }

  :root[lang="ru"] .wf-hero--donate .wf-hero__title {
    font-size: 52px;
  }

  :root[lang="uk"] .wf-hero--research .wf-hero__title {
    font-size: 56px;
  }

  :root[lang="ru"] .wf-hero--research .wf-hero__title {
    font-size: 51px;
  }
}

/* ================================================================ Transparency
   Two blocks carry this page: a split section (two columns, each of which may
   hold an image, a text panel or a facts table) and a table section (one wide
   facts table under a heading). Both sit on the 1440 column with 96px sides. */

.tr-split,
.tr-table {
  padding: 120px 0;
  background: #FCFAF1;
  color: var(--ink);
}

.tr-split__inner,
.tr-table__inner {
  display: flex;
  flex-direction: column;
  gap: 96px;
  align-items: center;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.tr-split__head,
.tr-table__head {
  width: 100%;
  text-align: center;
}

.tr-split__head h2,
.tr-table__head h2 {
  margin: 0;
  font-family: 'Lora', serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.tr-split__head p,
.tr-table__head p {
  max-width: 614px;
  margin: 16px auto 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- the split body ---- */

.tr-split__body {
  display: grid;
  grid-template-columns: var(--tr-cols, 1fr 1fr);
  gap: var(--tr-gap, 20px);
  align-items: start;
  width: 100%;
}

.tr-split__body--spread {
  justify-content: space-between;
}

.tr-split__side {
  display: flex;
  flex-direction: column;
  gap: var(--tr-gap, 20px);
  min-width: 0;
}

.tr-split__media {
  overflow: hidden;
  border-radius: 24px;
}

.tr-split__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tr-split__panel {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: 0;
}

.tr-split__panel--card {
  padding: 40px;
  background: #F2F1F0;
  border-radius: 24px;
}

.tr-split__panel h3 {
  margin: 0;
  font-family: 'Lora', serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.tr-split__lead {
  margin: 0;
  font-family: 'Lora', serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.tr-split__text {
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- the facts table, shared by both blocks ---- */

.tr-facts {
  width: 100%;
  margin: 0;
}

.tr-facts__row {
  display: grid;
  grid-template-columns: minmax(120px, 36%) 1fr;
  margin-top: -1px;
  border: 1px solid #221a1f;
}

.tr-facts__row:first-child {
  margin-top: 0;
}

.tr-facts__row dt,
.tr-facts__row dd {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 0;
  padding: 10px;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

.tr-facts__row dt {
  justify-content: center;
  border-right: 1px solid #221a1f;
  font-weight: 600;
  text-align: center;
}

.tr-facts__caption,
.tr-facts__note {
  padding: 10px;
  border: 1px solid #221a1f;
}

.tr-facts__caption {
  margin-bottom: -1px;
  font-family: 'Lora', serif;
  font-size: 24px;
  line-height: 1.3;
  text-align: center;
}

.tr-facts__note {
  margin-top: -1px;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- the table block ---- */

.tr-table__body {
  width: min(100%, var(--tr-table-width, 826px));
  margin: 0 auto;
}

.tr-table__body--card {
  width: min(100%, calc(var(--tr-table-width, 826px) + 80px));
  padding: 40px;
  background: #FCFAF1;
  border-radius: 24px;
}

/* a photo-backed table section keeps its heading readable */

.tr-table--photo {
  position: relative;
  background: #221A1F;
  color: #FCFAF1;
}

.tr-table--photo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--tr-poster) center / cover no-repeat;
}

.tr-table--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(34, 26, 31, 0.45);
}

.tr-table--photo .tr-table__inner {
  position: relative;
  z-index: 1;
}

.tr-table--photo .tr-table__body--card {
  color: var(--ink);
}

/* ---- the hero of this page sets its first line in italic ---- */

.wf-hero--transparency .wf-hero__title span:first-child {
  font-style: italic;
}

/* an image sits at the height the layout asks for, or at its own */
.tr-split__media {
  height: var(--tr-media-height, auto);
  flex: none;
}

.tr-split__media img {
  height: var(--tr-media-height, auto);
}

/* ================ Transparency — mobile (390px system) ================ */

@media (max-width: 1247px) {
  .tr-split__body,
  .tr-split__body--spread {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }
}

@media (max-width: 600px) {
  .tr-split,
  .tr-table {
    padding: 96px 0;
  }

  .tr-split__inner,
  .tr-table__inner {
    gap: 40px;
    padding: 0 24px;
  }

  .tr-split__head h2,
  .tr-table__head h2 {
    font-size: 40px;
  }

  .tr-split__head p,
  .tr-table__head p {
    margin-top: 16px;
    font-size: 16px;
  }

  .tr-split__body {
    gap: 24px;
  }

  .tr-split__side {
    gap: 16px;
  }

  /* the design heights belong to the 1440 column */
  .tr-split .tr-split__media,
  .tr-split .tr-split__media img {
    height: auto;
  }

  .tr-split__media {
    border-radius: 16px;
  }

  .tr-split__panel {
    gap: 20px;
  }

  .tr-split__panel--card {
    padding: 24px;
    border-radius: 16px;
  }

  .tr-split__panel h3 {
    font-size: 28px;
  }

  .tr-split__lead {
    font-size: 20px;
  }

  .tr-split__text {
    font-size: 16px;
  }

  /* a two-column table does not fit 342, so the label sits above its value */
  .tr-facts__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .tr-facts__row dt,
  .tr-facts__row dd {
    min-height: 0;
    padding: 12px 16px;
    font-size: 16px;
  }

  .tr-facts__row dt {
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid #221a1f;
    text-align: left;
  }

  .tr-facts__caption {
    font-size: 20px;
  }

  .tr-facts__note {
    padding: 12px 16px;
    font-size: 16px;
  }

  .tr-table__body,
  .tr-table__body--card {
    width: 100%;
  }

  .tr-table__body--card {
    padding: 24px;
    border-radius: 16px;
  }
}

/* "Transparency" is a long single word: the phone hero steps the type down */
@media (max-width: 600px) {
  .wf-hero--transparency .wf-hero__title {
    font-size: 54px;
  }
}

/* Transparency — the two columns of a split share one height, so the cards
   line up top and bottom instead of each ending where its own text runs out.
   The panel takes the slack; an image keeps the height the layout gave it. */

.tr-split__body {
  align-items: stretch;
}

.tr-split__panel {
  flex: 1 1 auto;
}

/* the photo behind a table section is an element, not a background: a relative
   url() in a custom property resolves against the stylesheet, not the page */

.tr-table--photo::before,
.tr-table--photo::after {
  content: none;
}

.tr-table__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tr-table__shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(34, 26, 31, 0.45);
}

/* ================================================================ Assembly */

/* ---- buttons under a split column ---- */

.tr-split__actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 8px;
}

.tr-split__button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--purple);
  color: #FCFAF1;
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.tr-split__button--ghost,
.about-feature__button--ghost {
  border-color: rgba(34, 26, 31, 0.35);
  background: transparent;
  color: var(--ink);
}

.tr-split__head--left {
  text-align: left;
}

.tr-split__head--left p {
  margin-left: 0;
  margin-right: 0;
}

/* ---- the stacked case banners ---- */

.builds--assembly .build-card__content {
  margin-left: 42%;
  max-width: 680px;
}

.builds--assembly .build-card {
  min-height: 216px;
}

/* ---- the document list ---- */

.as-docs {
  padding: 120px 0;
  background: #FCFAF1;
  color: var(--ink);
}

.as-docs__inner {
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.as-docs__head h2 {
  margin: 0;
  font-family: 'Lora', serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.as-docs__head p {
  max-width: 560px;
  margin: 16px 0 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

.as-docs__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.as-docs__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 8px 24px;
  border-bottom: 1px solid rgba(34, 26, 31, 0.3);
}

.as-docs__row:last-child {
  border-bottom: 0;
}

.as-docs__title {
  font-family: 'Lora', serif;
  font-size: 32px;
  line-height: 1.3;
}

.as-docs__button {
  flex: none;
  padding: 12px 24px;
  border: 1px solid rgba(34, 26, 31, 0.4);
  border-radius: 8px;
  color: var(--purple);
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}

/* a join card may list what a participant receives */
.join-card__list {
  margin: 4px 0 0;
  padding-left: 20px;
  list-style: disc;
}

.join-card__list li {
  margin-top: 4px;
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.3;
}

/* the case banners run taller than the default column card */
.builds--assembly .build-card {
  min-height: 234px;
}

/* the Assembly join cards carry a list, so they grow with their content */
.join-section--assembly .join-card {
  height: auto;
  min-height: 480px;
}

/* ================ Assembly — mobile (390px system) ================ */

@media (max-width: 1247px) {
  .builds--assembly .build-card__content {
    margin-left: 0;
    max-width: none;
  }
}

@media (max-width: 600px) {
  .tr-split__actions {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .tr-split__button {
    font-size: 16px;
  }

  .builds--assembly .build-card {
    min-height: 0;
  }

  .join-card__list li {
    font-size: 16px;
  }

  .as-docs {
    padding: 96px 0;
  }

  .as-docs__inner {
    gap: 40px;
    padding: 0 24px;
  }

  .as-docs__head h2 {
    font-size: 40px;
  }

  .as-docs__head p {
    max-width: none;
    font-size: 16px;
  }

  .as-docs__row {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 20px 0;
  }

  .as-docs__title {
    font-size: 24px;
  }

  .as-docs__button {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
}

/* Ukrainian and Russian carry words longer than the 342 phone column, so the
   section headings hyphenate there instead of pushing the page sideways.
   English words fit and are left alone by the browser. */

@media (max-width: 600px) {
  .tr-split__head h2,
  .tr-table__head h2,
  .as-docs__head h2 {
    overflow-wrap: break-word;
    hyphens: auto;
  }
}

/* The storefront half of OpenCart is closed here (startup/route_guard), so the
   stock "Product Compare" link in the category toolbar would lead to a 404.
   The markup stays; only the link is taken out of the page. */
#compare-total {
  display: none;
}

/* ============================================================ Help navigator
   A four-screen wizard on the Womafreesm palette: the page shows through, the
   shell is card grey, the tiles are cream, the actions are purple. Buttons,
   fields and hovers follow the conventions of the rest of the site. */

.wf-hn {
  padding: 120px 0;
  background: transparent;
  color: var(--ink);
}

.wf-hn [hidden] { display: none !important; }
.wf-hn *, .wf-hn *::before, .wf-hn *::after { box-sizing: border-box; }

.wf-hn__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.wf-hn__shell {
  overflow: hidden;
  border-radius: 24px;
  background: #F2F1F0;
}

/* ---- the bar across the top ---- */

.wf-hn__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 40px;
  border-bottom: 1px solid rgba(34, 26, 31, 0.12);
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.3;
}

.wf-hn__brand {
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.wf-hn__note { color: rgba(34, 26, 31, 0.6); }

/* ---- the strip that always reaches the emergency screen ---- */

.wf-hn__urgent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 16px 40px;
  border-bottom: 1px solid rgba(34, 26, 31, 0.12);
  background: rgba(152, 79, 145, 0.1);
}

.wf-hn__urgent p {
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.3;
}

.wf-hn__alert-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border: 1px solid rgba(152, 79, 145, 1);
  border-radius: 8px;
  background: transparent;
  color: rgba(152, 79, 145, 1);
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.2;
  cursor: pointer;
  transition:
    color 160ms ease,
    background 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

.wf-hn__alert-button:hover {
  background: rgba(152, 79, 145, 1);
  color: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.wf-hn__alert-button:active { transform: translateY(0); }

/* ---- the screens ---- */

.wf-hn__body { padding: 40px; }

.wf-hn__kicker {
  margin: 0 0 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(34, 26, 31, 0.6);
  overflow-wrap: anywhere;
}

.wf-hn h2 {
  margin: 0 0 16px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.wf-hn h3 {
  margin: 6px 0 10px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.wf-hn__lead {
  margin: 0 0 16px;
  max-width: 720px;
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.4;
  color: rgba(34, 26, 31, 0.75);
}

/* ---- the five situations ---- */

.wf-hn__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.wf-hn__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 84px;
  padding: 20px 24px;
  border: 1px solid rgba(34, 26, 31, 0.14);
  border-radius: 16px;
  background: #FCFAF1;
  color: var(--ink);
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.wf-hn__option:hover {
  border-color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.wf-hn__option:active { transform: translateY(0); }

.wf-hn__arrow {
  color: rgba(152, 79, 145, 1);
  font-size: 20px;
  transition: transform 160ms ease;
}

.wf-hn__option:hover .wf-hn__arrow { transform: translateX(4px); }

/* ---- the form: the fields of the site's own forms ---- */

.wf-hn__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}

.wf-hn__field > span {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.wf-hn select,
.wf-hn input[type="text"] {
  width: 100%;
  min-height: 48px;
  padding: 8px 16px;
  border: 1px solid #656667;
  border-radius: 8px;
  background-color: rgba(252, 250, 241, 1);
  color: var(--ink);
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.3;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.wf-hn select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23984F91' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}

.wf-hn input[type="text"]::placeholder { color: #aeaeb0; }

.wf-hn select:focus,
.wf-hn input[type="text"]:focus {
  outline: none;
  border-color: rgba(152, 79, 145, 1);
  box-shadow: 0 0 0 3px rgba(152, 79, 145, 0.16);
}

.wf-hn input[type="text"]:disabled {
  background-color: rgba(252, 250, 241, 0.5);
  color: rgba(34, 26, 31, 0.45);
  cursor: not-allowed;
}

.wf-hn select[aria-invalid="true"] { border-color: #873D32; }

.wf-hn__hint {
  margin: -6px 0 20px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(34, 26, 31, 0.6);
  overflow-wrap: anywhere;
}

.wf-hn__error {
  margin: 0 0 16px;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.3;
  color: #873D32;
}

/* ---- actions ---- */

.wf-hn__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.wf-hn__button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 6px;
  padding: 12px 28px;
  border: 1px solid rgba(152, 79, 145, 1);
  border-radius: 8px;
  background: rgba(152, 79, 145, 1);
  color: rgba(252, 250, 241, 1);
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  overflow-wrap: break-word;
  transition:
    color 160ms ease,
    background 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

.wf-hn__button:hover {
  color: rgba(152, 79, 145, 1);
  background: rgba(252, 250, 241, 1);
  transform: translateY(-2px);
}

.wf-hn__button:active { transform: translateY(0); }

.wf-hn__button--ghost {
  border-color: rgba(152, 79, 145, 0.45);
  background: transparent;
  color: rgba(152, 79, 145, 1);
}

.wf-hn__button--ghost:hover {
  border-color: rgba(152, 79, 145, 1);
  background: rgba(152, 79, 145, 1);
  color: rgba(252, 250, 241, 1);
}

.wf-hn__link {
  margin-top: 8px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: rgba(152, 79, 145, 1);
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: color 160ms ease;
}

.wf-hn__link:hover { color: #462143; }

/* ---- a service: a cream card, like the tiles above ---- */

.wf-hn [data-hn-services] { margin-top: 24px; }

.wf-hn__service {
  padding: 24px 28px;
  margin-bottom: 16px;
  border: 1px solid rgba(34, 26, 31, 0.1);
  border-radius: 16px;
  background: #FCFAF1;
}

.wf-hn [data-hn-services] > .wf-hn__service:last-child { margin-bottom: 0; }

.wf-hn__tag {
  display: block;
  margin-bottom: 4px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(152, 79, 145, 1);
}

.wf-hn__where,
.wf-hn__help,
.wf-hn__hours,
.wf-hn__telegram,
.wf-hn__source-line {
  margin: 0 0 8px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.35;
}

.wf-hn__where { color: rgba(34, 26, 31, 0.6); }

.wf-hn__phone { white-space: nowrap; }

.wf-hn__hours,
.wf-hn__telegram {
  font-size: 14px;
  color: rgba(34, 26, 31, 0.6);
  overflow-wrap: anywhere;
}

.wf-hn__service .wf-hn__hint { margin: 0 0 8px; }

.wf-hn__source-line { margin: 12px 0 0; }

.wf-hn__source {
  color: rgba(34, 26, 31, 0.6);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 160ms ease;
}

.wf-hn__source:hover { color: rgba(152, 79, 145, 1); }

/* ---- emergency ---- */

.wf-hn__emergency {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 24px 0;
}

.wf-hn__emergency-item {
  padding: 24px;
  border: 1px solid rgba(34, 26, 31, 0.1);
  border-radius: 16px;
  background: #FCFAF1;
}

.wf-hn__emergency-item .wf-hn__button {
  width: 100%;
  min-height: 56px;
}

.wf-hn__emergency-item p {
  margin: 12px 0 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.35;
}

.wf-hn__emergency-item .wf-hn__hint { margin: 8px 0 0; }
.wf-hn__emergency-item .wf-hn__source { display: inline-block; margin-top: 10px; }

/* ---- focus, for anyone moving through with a keyboard ---- */

.wf-hn__button:focus-visible,
.wf-hn__alert-button:focus-visible,
.wf-hn__option:focus-visible,
.wf-hn__link:focus-visible,
.wf-hn__source:focus-visible {
  outline: 2px solid rgba(152, 79, 145, 1);
  outline-offset: 3px;
}

/* ---- footer ---- */

.wf-hn__footer {
  padding: 20px 40px;
  border-top: 1px solid rgba(34, 26, 31, 0.12);
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(34, 26, 31, 0.6);
}

.wf-hn__disclaimer {
  margin: 20px 0 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(34, 26, 31, 0.6);
  overflow-wrap: anywhere;
}

/* ============================ the phone ============================ */

@media (max-width: 1247px) {
  .wf-hn__emergency { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .wf-hn { padding: 96px 0; }
  .wf-hn__inner { padding: 0 24px; }
  .wf-hn__shell { border-radius: 16px; }
  .wf-hn__top,
  .wf-hn__urgent,
  .wf-hn__footer { padding: 16px 20px; }
  .wf-hn__body { padding: 24px 20px; }
  .wf-hn h2 { font-size: 32px; overflow-wrap: break-word; hyphens: auto; }
  .wf-hn h3 { font-size: 22px; }
  .wf-hn__lead { font-size: 16px; }
  .wf-hn__options { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .wf-hn__option { min-height: 0; padding: 16px 20px; font-size: 16px; border-radius: 12px; }
  .wf-hn__service { padding: 20px; border-radius: 12px; }
  .wf-hn__emergency { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .wf-hn__emergency-item { padding: 20px; border-radius: 12px; }
  .wf-hn__emergency-item .wf-hn__button { min-height: 48px; }
  .wf-hn__actions { gap: 10px; }
  .wf-hn__button { width: 100%; font-size: 16px; }
  .wf-hn__alert-button { width: 100%; font-size: 16px; }
  .wf-hn__where, .wf-hn__help { font-size: 15px; }
}

/* ---- Home v3 (2026-09-23) ------------------------------------------------
   The photos of the new design are darkened by the designer in Figma, and that
   darkening is not exported with the styles; it was measured on the design
   PNG instead. On these three Home instances the shade is a flat layer, so the
   opacity set in the module is the darkening itself:
     direction cards (builds.87)       0.55  (0.48-0.62 measured across the four)
     "Your voice becomes data" (.37)   0.10  (flat in the design, no vignette)
     closing block (.173)              0.34 */
.builds--home .build-card__shade {
  background: rgb(34, 26, 31);
}

.research-cta--home-research .research-cta__shade,
.research-cta--home-final .research-cta__shade {
  background: #000;
}

/* The closing block's copy is shorter than the block the panel was first
   drawn for, so the minimum height would pad it past the design; its body
   keeps the design's 24px lines on desktop. */
.research-cta--home-final .research-cta__panel {
  min-height: 0;
}

@media (min-width: 601px) {
  .research-cta--home-final .research-cta__panel p {
    line-height: 24px;
  }
}

/* Each Home direction card now carries the framing and shade the designer gave
   it (set per card in the module). On narrow screens the text covers the whole
   photo rather than its darker right half, so the shade never drops below the
   module-wide value there. */
@media (max-width: 1100px) {
  .builds--home .build-card__shade { opacity: 0.55 !important; }
}


/* ==========================================================================
   Join page (Join.png / join.txt, 2026-09-23)
   ========================================================================== */

/* ---- Ten paths: numbered doors ------------------------------------------ */

.join-paths {
  padding: 120px 96px;
  background: #fcfaf1;
  color: #221a1f;
}

.join-paths__inner {
  display: flex;
  flex-direction: column;
  gap: 96px;
  width: min(100%, 1248px);
  margin: 0 auto;
}

.join-paths__heading {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: center;
}

.join-paths__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.join-paths__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 24px 0;
  border-bottom: 1px solid #221a1f;
  color: #221a1f;
  text-decoration: none;
  transition: padding 160ms ease;
}

.join-paths__row:hover,
.join-paths__row:focus-visible {
  color: #221a1f;
  text-decoration: none;
}

.join-paths__text {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.join-paths__text em {
  font-style: italic;
}

.join-paths__arrow {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin: -1px 0; /* a 40px icon in a 38px line: the row stays 87px */
  opacity: 0;
  transition: opacity 160ms ease;
}

/* the hovered door steps in and shows its arrow */
.join-paths__row:hover,
.join-paths__row:focus-visible {
  padding-right: 24px;
  padding-left: 24px;
}

.join-paths__row:hover .join-paths__arrow,
.join-paths__row:focus-visible .join-paths__arrow {
  opacity: 1;
}

@media (max-width: 1247px) {
  .join-paths {
    padding: 96px 40px;
  }

  .join-paths__inner {
    gap: 56px;
  }

  .join-paths__heading {
    font-size: 40px;
    line-height: 1.15;
  }

  .join-paths__text {
    font-size: 24px;
    line-height: 1.25;
  }

  .join-paths__row {
    padding: 22px 0;
  }

  .join-paths__row:hover,
  .join-paths__row:focus-visible {
    padding-right: 0;
    padding-left: 0;
  }

  /* no hover on a touch screen: the arrow is always there */
  .join-paths__arrow {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    opacity: 1;
  }
}

@media (max-width: 600px) {
  .join-paths {
    padding: 96px 24px;
  }

  .join-paths__inner {
    gap: 48px;
  }

  .join-paths__heading {
    font-size: 40px;
    line-height: 1.2;
  }

  .join-paths__text {
    font-size: 20px;
    line-height: 1.3;
  }

  .join-paths__row {
    gap: 16px;
    padding: 20px 0;
  }

  .join-paths__arrow {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }
}

/* ---- Hero: on a phone the heading wraps by itself ------------------------
   The line break written into the heading is for the desktop; on a phone it
   would leave a preposition alone on a line ("у", "в", "a"). */
@media (max-width: 600px) {
  .wf-hero--join .wf-hero__title br {
    display: none;
  }
}

/* ---- What Womafreesm is building: short cards with a button ------------- */

.volunteer-tracks.partners-carousel--join .volunteer-track-card {
  height: auto;
  justify-content: space-between;
  gap: 40px;
}

.volunteer-tracks.partners-carousel--join .volunteer-track-card__title {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* beats ".partners-carousel .volunteer-track-card p:not(…)", which adds 12px */
.volunteer-tracks.partners-carousel--join .volunteer-track-card .volunteer-track-card__note {
  margin: 0;
}

.volunteer-tracks.partners-carousel--join .volunteer-tracks__carousel {
  align-items: stretch;
  height: auto;
  min-height: 0;
}

@media (min-width: 1248px) {
  .volunteer-tracks.volunteer-tracks--module.partners-carousel--join {
    min-height: 920px;
  }

  .volunteer-tracks.partners-carousel--join .volunteer-tracks__carousel {
    margin-top: 0;
  }

  .volunteer-tracks.partners-carousel--join .volunteer-track-card {
    min-height: 284px;
  }
}

@media (max-width: 600px) {
  .volunteer-tracks.partners-carousel--join .volunteer-track-card {
    gap: 24px;
  }
}

/* ---- How it works: the closing line is set larger ------------------------ */

.system--join .system-step:last-child:not(:has(p)) h3 {
  font-size: 32px;
  line-height: 1.2;
}

@media (max-width: 600px) {
  .system--join .system-step:last-child:not(:has(p)) h3 {
    font-size: 24px;
  }
}

/* ---- Know what to expect: a one-line glass panel ------------------------ */

.research-cta.research-cta--join .research-cta__panel {
  min-height: 0;
}

@media (min-width: 1248px) {
  .research-cta.research-cta--join .research-cta__panel {
    padding: 48px;
  }

  .research-cta.research-cta--join .research-cta__panel h2 {
    font-size: 50px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .research-cta.research-cta--join .research-cta__panel p {
    margin-top: 32px;
  }

  .research-cta.research-cta--join .research-cta__button {
    margin-top: 64px;
  }
}

/* ---- Rules on every path: titles on one line across a row ---------------
   In the design every card's text block is the same height, so the titles
   line up. Text length differs by card and by language, so instead of a fixed
   height the cards share rows through subgrid: [photo][title][text]. Each row
   of cards takes the tallest text, and every title in that row starts at the
   same height. The ::before spans all three rows and keeps a card 500px tall. */
@media (min-width: 601px) {
  :is(.builds--join, .builds--glossary) .builds__list {
    grid-auto-rows: auto min-content min-content;
    row-gap: 0;
  }

  :is(.builds--join, .builds--glossary) .build-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }

  :is(.builds--join, .builds--glossary) .build-card:nth-child(n + 3) {
    margin-top: 20px;
  }

  :is(.builds--join, .builds--glossary) .build-card::before {
    content: "";
    grid-row: 1 / span 3;
    grid-column: 1;
    min-height: 500px;
  }

  :is(.builds--join, .builds--glossary) .build-card__content {
    display: contents;
  }

  :is(.builds--join, .builds--glossary) .build-card h3 {
    position: relative;
    z-index: 2;
    grid-row: 2;
    grid-column: 1;
    align-self: start;
    margin: 0 24px;
  }

  :is(.builds--join, .builds--glossary) .build-card p {
    position: relative;
    z-index: 2;
    grid-row: 3;
    grid-column: 1;
    margin: 24px;
  }
}

/* ---- A card whose text is a link (Check Before Joining) ----------------- */

.build-card__link {
  color: #efe2ec;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.build-card__link:hover,
.build-card__link:focus-visible {
  color: #fcfaf1;
  text-decoration: underline;
}

/* ==========================================================================
   Glossary page (/glossary, 2026-09-23)
   ========================================================================== */

/* the four original terms: the cards follow the text block directly, so the
   builds block has no heading of its own */
.builds--glossary .builds__heading {
  display: none;
}

.builds.builds--glossary .builds__inner {
  padding-top: 0;
}

/* term groups are accordions set one after another: the second and later
   ones start right under the previous list instead of adding a full section
   gap (only the glossary has accordions in a row) */
.faq + .faq .faq__inner {
  padding-top: 0;
}

/* ==========================================================================
   Category lists: Blog and Projects
   ========================================================================== */

/* On a small laptop a rule meant for the Home updates carousel
   (.update-card { max-width: 680px; margin: 0 auto }) also reached the cards
   of the category grid: auto margins made each card as wide as its content,
   so the cards spilled out of their columns over one another. In the grid a
   card fills its column. */
@media (min-width: 901px) and (max-width: 1247px) {
  .wf-category__grid > .wf-category-card.update-card {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
}


/* ==========================================================================
   Documents (moved from docs.womafreesm.com, 2026-09-23)
   /documents and each group: .wf-documents   a document page: .wf-document
   The site's own header, breadcrumbs and footer frame both.
   ========================================================================== */

/* The site breadcrumbs gain a fourth level here (Home / Documents / group /
   document). On a phone that path, in Ukrainian or Russian, is wider than
   the screen, so the trail may wrap onto a second line, kept at the bottom
   of the bar. Where it fits on one line nothing changes. */
.site-breadcrumbs__inner {
  flex-wrap: wrap;
  align-content: flex-end;
  row-gap: 2px;
}

/* ---- List ---------------------------------------------------------------- */

.wf-documents {
  background: #fcfaf1;
  color: #221a1f;
}

.wf-documents__hero-inner,
.wf-documents__group-inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding-right: 96px;
  padding-left: 96px;
}

.wf-documents__hero-inner {
  padding-top: 76px;
  padding-bottom: 82px;
  text-align: center;
}

.wf-documents__hero h1 {
  max-width: 980px;
  margin: 0 auto;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(86px, 8.8vw, 128px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.wf-documents__intro p {
  max-width: 680px;
  margin: 24px auto 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.55;
}

.wf-documents__intro .wf-documents__subtitle {
  margin-top: 12px;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 4.2vw, 58px);
  line-height: 1.12;
}

.wf-documents__group-inner {
  padding-top: 68px;
  padding-bottom: 68px;
}

.wf-documents__hero + .wf-documents__group .wf-documents__group-inner {
  padding-top: 0;
}

.wf-documents__group:last-of-type .wf-documents__group-inner {
  padding-bottom: 120px;
}

.wf-documents__group h2 {
  margin: 0 0 60px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.wf-documents__group h2 a {
  color: inherit;
  text-decoration: none;
  transition: color 160ms ease;
}

.wf-documents__group h2 a:hover,
.wf-documents__group h2 a:focus-visible {
  color: #984f91;
}

.wf-documents__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-documents__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 192px;
  align-items: center;
  gap: 32px;
  min-height: 58px;
  padding: 4px 22px;
  border-bottom: 1px solid rgba(34, 26, 31, 0.32);
}

.wf-documents__title {
  width: fit-content;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.35vw, 32px);
  font-weight: 400;
  line-height: 1.18;
  text-decoration: none;
}

a.wf-documents__title {
  transition: color 160ms ease;
}

a.wf-documents__title:hover,
a.wf-documents__title:focus-visible {
  color: #984f91;
  text-decoration: none;
}

.wf-documents__download,
.wf-document__button {
  display: inline-flex;
}

.wf-documents__download {
  justify-self: end;
  width: 190px;
}

.wf-documents__soon {
  justify-self: end;
  width: 190px;
  color: #656667;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

.wf-documents__empty {
  margin: 0;
  color: #656667;
  font-size: 20px;
}

/* ---- A document ------------------------------------------------------------ */

.wf-document {
  background: #fcfaf1;
  color: #221a1f;
}

.wf-document__inner {
  display: block;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 72px 96px 120px;
}

.wf-document__letterhead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  align-items: center;
  gap: 80px;
}

.wf-document__brand {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #462143;
}

.wf-document__brand img {
  flex: 0 0 auto;
  width: 86px;
  height: auto;
}

.wf-document__brand p {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.22;
}

.wf-document__letterhead address {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-style: normal;
  line-height: 1.25;
}

.wf-document__inner h1 {
  margin: 98px 0 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 4.8vw, 58px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.wf-document__body {
  color: #221a1f;
  font-size: 21px;
  line-height: 1.28;
}

.wf-document__body .document-effective-date {
  margin: 66px 0 0;
  font-size: 25px;
  line-height: 1.28;
}

.wf-document__body h2 {
  margin: 32px 0 18px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 35px;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
}

.wf-document__body p,
.wf-document__body li {
  color: #221a1f;
  font-size: 21px;
  line-height: 1.28;
}

.wf-document__body p {
  margin: 0;
}

.wf-document__body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-document__body li::before {
  content: "\2022";
  margin-right: 6px;
}

.wf-document__body a {
  color: #984f91;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-document__body a:hover {
  color: #5d295f;
}

.wf-document__body .document-table-wrap {
  position: relative;
  width: 100%;
  margin-top: 28px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.wf-document__body .document-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
  color: #221a1f;
  font-size: 18px;
  line-height: 1.28;
}

.wf-document__body .document-table th,
.wf-document__body .document-table td {
  width: 25%;
  padding: 18px 14px;
  border: 1px solid rgba(34, 26, 31, 0.65);
  vertical-align: top;
}

.wf-document__body .document-table th {
  font-weight: 700;
}

.wf-document__download {
  display: flex;
  justify-content: flex-end;
  margin-top: 112px;
}

.wf-document__button {
  width: 288px;
}

/* ---- Tablet ---------------------------------------------------------------- */

@media (max-width: 1247px) {
  .wf-documents__hero-inner,
  .wf-documents__group-inner {
    padding-right: 40px;
    padding-left: 40px;
  }

  .wf-documents__hero-inner {
    padding-top: 56px;
    padding-bottom: 64px;
    text-align: left;
  }

  .wf-documents__hero h1 {
    max-width: 610px;
    margin: 0;
    font-size: clamp(52px, 8vw, 82px);
  }

  .wf-documents__intro p {
    max-width: 520px;
    margin: 26px 0 0;
    font-size: 17px;
    line-height: 1.45;
  }

  .wf-documents__intro .wf-documents__subtitle {
    margin-top: 16px;
    font-size: clamp(32px, 5vw, 44px);
  }

  .wf-documents__group-inner {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .wf-documents__group h2 {
    margin-bottom: 42px;
    font-size: 40px;
    line-height: 1.15;
  }

  .wf-documents__row {
    gap: 24px;
    padding: 16px 0;
  }

  .wf-documents__title {
    font-size: 26px;
  }

  .wf-document__inner {
    padding: 56px 40px 96px;
  }

  .wf-document__letterhead {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .wf-document__brand img {
    width: 72px;
  }

  .wf-document__brand p {
    font-size: 24px;
  }

  .wf-document__letterhead address {
    font-size: 17px;
  }

  .wf-document__inner h1 {
    margin-top: 68px;
    font-size: clamp(44px, 6vw, 58px);
  }

  .wf-document__body .document-effective-date {
    margin-top: 44px;
    font-size: 21px;
  }

  .wf-document__body h2 {
    margin-top: 30px;
    font-size: 32px;
  }

  .wf-document__body p,
  .wf-document__body li {
    font-size: 18px;
    line-height: 1.34;
  }

  .wf-document__body .document-table {
    min-width: 780px;
    font-size: 15px;
  }

  .wf-document__body .document-table th,
  .wf-document__body .document-table td {
    padding: 13px 10px;
  }

  .wf-document__download {
    margin-top: 72px;
  }
}

/* ---- Phone ----------------------------------------------------------------- */

@media (max-width: 600px) {
  .wf-documents__hero-inner,
  .wf-documents__group-inner {
    padding-right: 24px;
    padding-left: 24px;
  }

  /* one long word ("Пожертвования") must still fit a 390px screen */
  .wf-documents__hero h1 {
    font-size: clamp(36px, 11vw, 60px);
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .wf-documents__intro .wf-documents__subtitle {
    font-size: 32px;
  }

  .wf-documents__intro p {
    font-size: 16px;
  }

  .wf-documents__group-inner {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .wf-documents__group:last-of-type .wf-documents__group-inner {
    padding-bottom: 96px;
  }

  .wf-documents__group h2 {
    margin-bottom: 24px;
    font-size: 32px;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  /* a row stacks: the title, then a full-width button */
  .wf-documents__row {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px 0;
  }

  .wf-documents__title {
    width: 100%;
    font-size: 24px;
  }

  .wf-documents__download,
  .wf-documents__soon {
    justify-self: stretch;
    width: 100%;
  }

  .wf-documents__soon {
    text-align: left;
    font-size: 16px;
  }

  .wf-document__inner {
    padding: 48px 24px 96px;
  }

  .wf-document__brand p {
    font-size: 20px;
  }

  .wf-document__inner h1 {
    margin-top: 56px;
    font-size: 40px;
  }

  .wf-document__body h2 {
    font-size: 28px;
  }

  .wf-document__body p,
  .wf-document__body li {
    font-size: 16px;
  }

  .wf-document__body .document-table-wrap {
    margin-right: -24px;
    padding-right: 24px;
  }

  .wf-document__button {
    width: 100%;
  }
}

/* ---- Footer policy links on a phone ------------------------------------
   The three links now lead to the documents. In Russian and Ukrainian they
   are longer than a phone is wide; the one that does not fit moves to a
   second line instead of running off the screen. */
@media (max-width: 600px) {
  .site-footer__bottom nav {
    flex-wrap: wrap;
    row-gap: 10px;
  }
}


/* ==========================================================================
   Register module (womafreesm_register, 2026-09-23)
   Dated entries with a status: a timeline, cards or a legend of statuses.
   Built from the design system: palette, Lora headings, the tag chip.
   ========================================================================== */

.wf-register {
  padding: 120px 96px;
  background: #fcfaf1;
  color: #221a1f;
}

.wf-register + .wf-register {
  padding-top: 0;
}

.wf-register__inner {
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: min(100%, 1248px);
  margin: 0 auto;
}

.wf-register__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 826px;
}

.wf-register__head h2 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.wf-register__head p {
  margin: 0;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.wf-register__note {
  max-width: 826px;
  margin: 0;
  color: #656667;
  font-size: 16px;
  line-height: 1.4;
}

/* ---- status chips (the tag of the design system) ------------------------ */

.wf-register__chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.3;
  white-space: nowrap;
}

.wf-register__chip--done { background: #d6bde1; color: #462143; }
.wf-register__chip--progress { background: #efe2ec; color: #5d295f; }
.wf-register__chip--idle { background: #f2f1f0; color: #656667; border-color: #e1e1e1; }
.wf-register__chip--blocked { background: #221a1f; color: #fcfaf1; }
.wf-register__chip--decided { background: #984f91; color: #fcfaf1; }
.wf-register__chip--refined { background: transparent; color: #984f91; border-color: #984f91; }
.wf-register__chip--withdrawn { background: #e1e1e1; color: #656667; }
.wf-register__chip--note {
  background: transparent;
  color: #656667;
  border-color: #aeaeb0;
  white-space: normal;
}

/* ---- "Label: value" lines ----------------------------------------------- */

.wf-register__lines {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.wf-register__lines div {
  margin: 0;
  color: #656667;
  font-size: 16px;
  line-height: 1.4;
}

.wf-register__lines dt,
.wf-register__lines dd {
  display: inline;
  margin: 0;
}

.wf-register__lines dt {
  color: #221a1f;
  font-weight: 600;
}

.wf-register__text {
  margin: 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- timeline ------------------------------------------------------------ */

.wf-register__timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-register__item {
  position: relative;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 48px;
  padding-bottom: 40px;
}

/* the line through the dots */
.wf-register__item::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: -10px;
  left: 223px;
  width: 1px;
  background: #e1e1e1;
}

.wf-register__item:last-child::before {
  display: none;
}

/* the dot; a refinement of an earlier decision gets a hollow one */
.wf-register__item::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 217px;
  width: 13px;
  height: 13px;
  border: 2px solid #984f91;
  border-radius: 50%;
  background: #984f91;
  box-sizing: border-box;
}

.wf-register__item--refined::after {
  background: #fcfaf1;
}

.wf-register__item--withdrawn::after {
  border-color: #aeaeb0;
  background: #aeaeb0;
}

.wf-register__date {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 1px;
  text-align: right;
}

.wf-register__date b {
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}

.wf-register__date span {
  color: #656667;
  font-size: 14px;
  line-height: 1.3;
}

.wf-register__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 12px;
}

.wf-register__body h3 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.wf-register__item--withdrawn .wf-register__body h3 {
  text-decoration: line-through;
  text-decoration-color: #aeaeb0;
}

.wf-register__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ---- cards --------------------------------------------------------------- */

.wf-register__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.wf-register__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: #f2f1f0;
}

.wf-register__card h3 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.wf-register__card .wf-register__text {
  font-size: 18px;
  line-height: 1.4;
}

.wf-register__card .wf-register__lines {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #e1e1e1;
}

.wf-register__card--blocked {
  border-color: #221a1f;
  background: #fcfaf1;
}

.wf-register__card--blocked .wf-register__lines {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  gap: 10px;
}

.wf-register__card--idle {
  border-color: #e1e1e1;
  background: transparent;
}

.wf-register__card--idle h3 {
  font-size: 24px;
}

/* ---- legend -------------------------------------------------------------- */

.wf-register__legend {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-register__legend-row {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  align-items: center;
  gap: 32px;
  padding: 20px 0;
  border-bottom: 1px solid #e1e1e1;
}

.wf-register__legend-text {
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

/* ---- tablet -------------------------------------------------------------- */

@media (max-width: 1247px) {
  .wf-register {
    padding: 96px 40px;
  }

  .wf-register__inner {
    gap: 48px;
  }

  .wf-register__head h2 {
    font-size: 40px;
    line-height: 1.15;
  }

  .wf-register__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wf-register__item {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 40px;
  }

  .wf-register__item::before { left: 159px; }
  .wf-register__item::after { left: 153px; }
}

/* ---- phone --------------------------------------------------------------- */

@media (max-width: 600px) {
  .wf-register {
    padding: 96px 24px;
  }

  .wf-register__head h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .wf-register__head p,
  .wf-register__text,
  .wf-register__legend-text {
    font-size: 16px;
  }

  .wf-register__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .wf-register__card {
    padding: 24px;
  }

  .wf-register__card h3 {
    font-size: 24px;
  }

  /* the date sits above the entry; the line runs down the left edge */
  .wf-register__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-left: 28px;
    padding-bottom: 32px;
  }

  .wf-register__item::before { left: 6px; top: 8px; }
  .wf-register__item::after { left: 0; top: 4px; }

  .wf-register__date {
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    text-align: left;
  }

  .wf-register__date b {
    font-size: 18px;
  }

  .wf-register__body {
    padding-left: 0;
  }

  .wf-register__body h3 {
    font-size: 20px;
  }

  .wf-register__legend-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 16px 0;
  }
}

/* ---- the shared FAQ ------------------------------------------------------
   The FAQ module had the home page's 56px sides and stood 40px wider than
   every other block. On desktop it takes the 1248px content grid on every
   page; on tablet it already sits at 24px like the blocks around it, except
   after the register or the glossary cards, where the blocks use 40px. */

@media (min-width: 1248px) {
  .faq .faq__inner {
    padding-right: 96px;
    padding-left: 96px;
  }
}

@media (max-width: 1247px) {
  :is(.wf-register, .builds--glossary) ~ .faq .faq__inner {
    padding-right: 40px;
    padding-left: 40px;
  }

  :is(.wf-register, .builds--glossary) ~ .faq .faq__list {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 600px) {
  :is(.wf-register, .builds--glossary) ~ .faq .faq__inner {
    padding-right: 24px;
    padding-left: 24px;
  }
}


/* ==========================================================================
   Volunteers page, re-issued mockup (2026-09-24)
   Scoped with the page's own hero (.wf-hero--volunteer ~ …): the tracks,
   benefits and system classes are shared with Partners, Donate, Join and
   How it works.
   ========================================================================== */

/* "Work that leaves a trace": the accent is italic Main Dark, not purple */
.wf-hero--volunteer ~ .life-cycle--volunteers .life-cycle__heading h2 em {
  color: #221a1f;
}

/* tracks: the lead-in runs 826px on one line; the photo sits on its floor,
   under a plain black shade of 0.25 (fitted on the mockup) */
.wf-hero--volunteer ~ .volunteer-tracks .volunteer-tracks__heading {
  width: min(100%, 1034px);
}

.wf-hero--volunteer ~ .volunteer-tracks .volunteer-tracks__heading p {
  max-width: 826px;
}

.wf-hero--volunteer ~ .volunteer-tracks .volunteer-tracks__bg {
  object-position: 50% 100%;
}

.wf-hero--volunteer ~ .volunteer-tracks .volunteer-tracks__shade {
  background: rgba(0, 0, 0, 0.25);
}

@media (min-width: 1248px) {
  /* the cards start at 56px, like the partners' wide carousel */
  .wf-hero--volunteer ~ .volunteer-tracks--module .volunteer-tracks__carousel {
    --tracks-side-offset: max(56px, calc((100% - 1440px) / 2 + 56px));
  }
}

/* tasks: a card title uses the whole 355px column */
.wf-hero--volunteer ~ .volunteer-tasks--module .volunteer-task-card h3 {
  max-width: none;
}

/* growth steps: heading in Main Dark with a purple accent; the steps column is
   720px (bar 16 + gap 90 + text 614) on the right of the 1248px grid, the
   lead-in lines up with the step text */
.wf-hero--volunteer ~ .system--volunteers .system__intro h2 {
  color: #221a1f;
}

.wf-hero--volunteer ~ .system--volunteers .system__intro h2 em {
  color: #5d295f;
}

@media (min-width: 1248px) {
  /* heading 505 on the left, steps 720 on the right; 120 above as in the
     mockup: heading +120, lead-in +196, steps +328 */
  .wf-hero--volunteer ~ .system--volunteers .system__inner {
    grid-template-columns: minmax(0, 505px) 720px;
    justify-content: space-between;
    column-gap: 0;
    padding-top: 120px;
  }

  .wf-hero--volunteer ~ .system.system--volunteers[data-womafreesm-system] .system__body {
    padding-top: 76px;
  }

  .wf-hero--volunteer ~ .system--volunteers .system__goal {
    max-width: 614px;
    margin-left: 106px;
    margin-bottom: 80px;
  }

  /* life cycle: the card and the photo fill the 590px stage */
  .wf-hero--volunteer ~ .life-cycle--volunteers .life-cycle__card,
  .wf-hero--volunteer ~ .life-cycle--volunteers .life-cycle__media {
    height: 590px;
  }
}

/* benefits: the photo keeps its top edge */
.wf-hero--volunteer ~ .volunteer-benefits .volunteer-benefits__bg {
  object-position: 50% 0%;
}

/* "How this works, in six rules": the accent is Purple */
.wf-hero--volunteer ~ .volunteer-rules .volunteer-rules__heading h2 em {
  color: #5d295f;
}

/* rules: 16px between the points, so the card is 703px tall as drawn */
.wf-hero--volunteer ~ .volunteer-rules .volunteer-rules__list {
  gap: 16px;
}

@media (min-width: 1248px) {
  /* the new photo is taller than the card; it is cropped to the card's 703px */
  .wf-hero--volunteer ~ .volunteer-rules .volunteer-rules__media {
    height: 703px;
  }

  .wf-hero--volunteer ~ .volunteer-rules .volunteer-rules__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 1247px) {
  /* in the short tablet and phone frame the face stays in view */
  .wf-hero--volunteer ~ .volunteer-rules .volunteer-rules__media img {
    object-position: 50% 30%;
  }
}


/* ==========================================================================
   Membership page, re-issued mockup (2026-09-24)
   Scoped with the page's own hero (.wf-hero--membership ~ …): the CTA,
   benefits, cycle, film and builds classes are shared with other pages.
   Photo shades are fitted on the mockup PNG; every photo sits on its floor.
   ========================================================================== */

/* "We piece together…" */
.wf-hero--membership ~ .research-cta .research-cta__bg {
  object-position: 50% 100%;
}

/* "What happens after you Join": the accent is Purple */
.wf-hero--membership ~ .system--membership-after h2 em {
  color: #5d295f;
}

/* "Choose Your Path": 0.42 shade; the included points read in Main Dark */
.wf-hero--membership ~ .membership-packages [class*="__bg"] {
  object-position: 50% 100%;
}

.wf-hero--membership ~ .membership-packages [class*="__shade"] {
  background: rgba(0, 0, 0, 0.42);
}

.wf-hero--membership ~ .membership-packages li {
  color: #221a1f;
}

/* "Three paths. One status.": the text column in Dark Purple */
.wf-hero--membership ~ .wf-prose--heading-left p {
  color: #462143;
}

/* membership tiers: 0.3 over the first photo; the points are one 20px text */
.wf-hero--membership ~ .how-film .how-film__bg {
  object-position: 50% 100%;
}

.wf-hero--membership ~ .how-film .how-film__shade {
  background: rgba(0, 0, 0, 0.3);
}

.wf-hero--membership ~ .how-film .how-film__glass .how-film__list li {
  margin-bottom: 0;
}

@media (min-width: 1248px) {
  .wf-hero--membership ~ .how-film .how-film__glass .how-film__list li {
    font-size: 20px;
    line-height: 1.3;
  }
}

/* "Your contribution isn't going to you." */
.wf-hero--membership ~ .wf-statement h2 {
  color: #5d295f;
}

.wf-hero--membership ~ .wf-statement p {
  color: #656667;
}

/* "Membership supports:" */
.wf-hero--membership ~ .membership-support [class*="__bg"] {
  object-position: 50% 100%;
}

/* "One status. One vote.": 20px points 8px apart, the closing line at 24px */
@media (min-width: 1248px) {
  .wf-hero--membership ~ .membership-vote li {
    margin-bottom: 8px;
    font-size: 20px;
    line-height: 1.3;
  }

  .wf-hero--membership ~ .membership-vote .membership-vote__card > p {
    font-size: 24px;
    line-height: 1.3;
  }
}

/* compare: cells as drawn (10px padding, a 20px value fits one line) and the
   note under the table */
@media (min-width: 1248px) {
  .wf-hero--membership ~ .membership-compare .membership-compare__table th,
  .wf-hero--membership ~ .membership-compare .membership-compare__table td {
    padding: 10px 4px;
  }

  .wf-hero--membership ~ .membership-compare .membership-compare__table thead th,
  .wf-hero--membership ~ .membership-compare .membership-compare__table tbody th {
    font-size: 24px;
  }
}

.membership-compare__note {
  width: min(100%, 1038px);
  margin: 24px auto 0;
  color: #221a1f;
  font-size: 16px;
  line-height: 1.3;
}

/* "What we guarantee:": 0.29 shade */
.wf-hero--membership ~ .volunteer-benefits .volunteer-benefits__bg {
  object-position: 50% 100%;
}

.wf-hero--membership ~ .volunteer-benefits .volunteer-benefits__shade {
  background: rgba(0, 0, 0, 0.29);
}

/* "Choose your path to join" */
.wf-hero--membership ~ .membership-final-cta h2 {
  color: #5d295f;
}

.wf-hero--membership ~ .membership-final-cta p {
  color: #656667;
}

@media (min-width: 1248px) {
  /* Trust Strip: the card and the photo fill the 590px stage */
  .wf-hero--membership ~ .life-cycle--membership .life-cycle__card,
  .wf-hero--membership ~ .life-cycle--membership .life-cycle__media {
    height: 590px;
  }
}

@media (min-width: 1248px) {
  /* "Choose Your Path": 96px from the heading to the cards */
  .wf-hero--membership ~ .membership-packages .membership-packages__grid {
    margin-top: 96px;
  }

  /* "Membership supports:": the arrows and cards sit at the foot of the
     920px section, as drawn (arrows +528, cards +614) */
  .wf-hero--membership ~ .membership-support .membership-support__bar {
    margin-top: 258px;
  }

  .wf-hero--membership ~ .membership-support .membership-support__carousel {
    padding-bottom: 0;
  }
}

@media (min-width: 1248px) {
  /* "Three paths. One status.": the text starts 40px under the heading, in a
     612px column on the right */
  .wf-hero--membership ~ .wf-prose--heading-left .wf-prose__heading {
    margin-bottom: 0;
  }

  .wf-hero--membership ~ .wf-prose--heading-left .wf-prose__body {
    grid-template-columns: minmax(0, 1fr) 612px;
    margin-top: 40px;
  }
}

@media (max-width: 600px) {
  /* "of Womafreesm" does not wrap; on a 375-390 phone the 60px line was a few
     pixels wider than the screen, so the size follows the width up to 60px */
  .wf-hero--membership .wf-hero__title {
    font-size: min(60px, calc((100vw - 48px) / 5.95));
  }
}


/* ==========================================================================
   Partners page, re-issued mockup (2026-09-24)
   Scoped with the page's own hero (.wf-hero--partners ~ …). Photo framing
   fitted on the mockup PNG.
   ========================================================================== */

/* the hands keep the top of the photo */
.wf-hero--partners .wf-hero__image {
  object-position: 50% 0%;
}

/* both carousels and the closing CTA sit on the floor of their photos */
.wf-hero--partners ~ .partners-carousel .volunteer-tracks__bg,
.wf-hero--partners ~ .research-cta .research-cta__bg {
  object-position: 50% 100%;
}

@media (min-width: 1248px) {
  /* "This means:": the closing line in Open Sans 24px */
  .wf-hero--partners ~ .how-outcome .how-outcome__card .how-outcome__note {
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 24px;
    line-height: 1.3;
  }

  /* "How a partnership begins": the last step is the outcome, set at 32px */
  .wf-hero--partners ~ .system--partners-process .system-step:last-child h3 {
    font-size: 32px;
    line-height: 1.3;
  }

  /* "What a partner receives": the card and the photo fill the 590px stage */
  .wf-hero--partners ~ .life-cycle--partners .life-cycle__card,
  .wf-hero--partners ~ .life-cycle--partners .life-cycle__media {
    height: 590px;
  }
}

@media (min-width: 1248px) {
  /* the Lora closing line of each prose block is set at 24px in the mockup;
     the photo beside it takes the text's height (412 and 329 as drawn) */
  .wf-hero--partners ~ .wf-prose .wf-prose__text p.wf-prose__highlight {
    font-size: 24px;
    line-height: 1.3;
  }
}

/* "Current Areas of Focus": the accent is italic Main Dark, not purple */
.wf-hero--partners ~ .builds--partners .builds__heading h2 em {
  color: #221a1f;
}


/* ==========================================================================
   Donate page, re-issued mockup (2026-09-24)
   Scoped with the page's own hero (.wf-hero--donate ~ …). Photo framing
   fitted on the mockup PNG.
   ========================================================================== */

.wf-hero--donate .wf-hero__image {
  object-position: 48% 0%;
}

/* the 2026-09-27 photo: on a phone the frame keeps the two smiling faces */
@media (max-width: 767px) {
  .wf-hero--donate .wf-hero__image {
    object-position: 38% 0%;
  }
}

.wf-hero--donate ~ .partners-carousel .volunteer-tracks__bg,
.wf-hero--donate ~ .research-cta .research-cta__bg {
  object-position: 50% 100%;
}

/* "Where to donate…": the heading runs on two lines, the accent is italic
   Main Dark, and the opening paragraph is the Lora lead */
.wf-hero--donate ~ .wf-prose h2 em {
  color: #221a1f;
}

@media (min-width: 1248px) {
  .wf-hero--donate ~ .wf-prose .wf-prose__heading h2 {
    max-width: 900px;
  }

  .wf-hero--donate ~ .wf-prose .wf-prose__text p:first-child {
    font-family: Lora, Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.3;
  }
}

/* Public records & profiles: the logos in greys, in colour on hover */
.wf-hero--donate ~ .donate-legal img,
.wf-hero--transparency ~ .donate-legal img {
  filter: grayscale(1);
  opacity: 0.75;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

.wf-hero--donate ~ .donate-legal .donate-legal__card:hover img,
.wf-hero--donate ~ .donate-legal .donate-legal__card:focus-within img,
.wf-hero--transparency ~ .donate-legal .donate-legal__card:hover img,
.wf-hero--transparency ~ .donate-legal .donate-legal__card:focus-within img {
  filter: none;
  opacity: 1;
}

/* "What money buys": the lead in Main Dark, the closing line in Open Sans 24px */
.wf-hero--donate ~ .how-outcome .how-outcome__heading p,
.wf-hero--donate ~ .how-outcome header p {
  color: #221a1f;
}

@media (min-width: 1248px) {
  .wf-hero--donate ~ .how-outcome .how-outcome__card .how-outcome__note {
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 24px;
    line-height: 1.3;
  }
}

/* "What happens right after you donate": a 505px heading beside the steps;
   only the last words are italic */
.wf-hero--donate ~ .system--donate-receipt h2 em {
  font-style: italic;
  color: #221a1f;
}

@media (min-width: 1248px) {
  .wf-hero--donate ~ .system--donate-receipt .system__inner {
    grid-template-columns: minmax(0, 505px) minmax(0, 701px);
    justify-content: space-between;
  }
}

/* "Major support": the desk keeps its top edge under a 0.1 shade */
.wf-hero--donate ~ .volunteer-benefits .volunteer-benefits__bg {
  object-position: 50% 0%;
}

.wf-hero--donate ~ .volunteer-benefits .volunteer-benefits__shade {
  background: rgba(0, 0, 0, 0.1);
}

/* "What money buys": the independent items 8px apart, as drawn */
.wf-hero--donate ~ .how-outcome .how-outcome__card ul {
  gap: 8px;
}

@media (max-width: 1247px) {
  /* the second title line does not fit a tablet in Russian and Spanish
     ("изменения для женщин", "sistémico para las mujeres"); let it wrap */
  .wf-hero--donate .wf-hero__title > span {
    white-space: normal;
  }
}


/* ==========================================================================
   About page, re-issued mockup (2026-09-24)
   Scoped with the page's own hero variant (.wf-hero--about-page ~ …).
   ========================================================================== */

/* "About Womafreesm" on one line, the name in italics */
.wf-hero--about-page .wf-hero__title {
  text-align: right;
}

.wf-hero--about-page .wf-hero__title > span {
  display: inline;
}

.wf-hero--about-page .wf-hero__title > span + span::before {
  content: " ";
}

/* photos that sit on their floor */
.wf-hero--about-page ~ .about-chain [class*="__bg"],
.wf-hero--about-page ~ .research-cta .research-cta__bg,
.wf-hero--about-page ~ .partners-carousel .volunteer-tracks__bg,
.wf-hero--about-page ~ .join-section .join-section__bg {
  object-position: 50% 100%;
}

/* "Where to start": 0.39 shade, fitted on the mockup */
.wf-hero--about-page ~ .join-section .join-section__shade {
  background: rgba(0, 0, 0, 0.39);
}

/* ---- the mission blocks: soft violet squares drifting behind the text ---- */

.about-mission--decor {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.about-mission--decor .about-mission__inner {
  position: relative;
  z-index: 1;
}

.about-mission__decor {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 312 x 270 at 1440, #D6BDE1 at 55% under the section's frosted cream */
.about-mission__decor span {
  position: absolute;
  width: 21.7%;
  aspect-ratio: 312 / 270;
  background: #d6bde1;
  opacity: 0.55;
  filter: blur(28px);
  animation: wf-mission-drift 22s ease-in-out infinite alternate;
}

.about-mission__decor span:nth-child(1) { left: 4%; top: 109px; }
.about-mission__decor span:nth-child(2) { left: 35.4%; top: 639px; animation-duration: 26s; animation-delay: -6s; }
.about-mission__decor span:nth-child(3) { left: 74.4%; top: 268px; animation-duration: 19s; animation-delay: -11s; }
.about-mission__decor span:nth-child(4) { left: 50.1%; top: -126px; animation-duration: 24s; animation-delay: -3s; }

@keyframes wf-mission-drift {
  0%   { transform: translate(0, 0); }
  50%  { transform: translate(28px, -18px); }
  100% { transform: translate(-22px, 20px); }
}

@media (prefers-reduced-motion: reduce) {
  .about-mission__decor span {
    animation: none;
  }
}

@media (max-width: 600px) {
  /* on a phone the squares grow so they still read as shapes */
  .about-mission__decor span {
    width: 48%;
    filter: blur(22px);
  }

  .about-mission__decor span:nth-child(2) { top: auto; bottom: -60px; }
  .about-mission__decor span:nth-child(3) { left: 60%; top: 40%; }
}

@media (min-width: 1248px) {
  /* "Womafreesm: a global infrastructure…": the opening paragraph is the Lora lead */
  .wf-hero--about-page ~ .wf-prose .wf-prose__text p:first-child {
    font-family: Lora, Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.3;
  }

  /* Equal Consideration Standard: the lead at 24px */
  .wf-hero--about-page ~ .about-feature .about-feature__text .about-feature__lead {
    font-size: 24px;
    line-height: 1.3;
  }

  /* Founder: her name at 40px */
  .wf-hero--about-page ~ .how-outcome + .about-feature .about-feature__text .about-feature__lead {
    font-size: 40px;
    line-height: 1.3;
  }

  .wf-hero--about-page ~ .about-feature .about-feature__text p + p {
    margin-top: 24px;
  }

  /* "Who the work of Womafreesm is for": the card heading at 40px */
  .wf-hero--about-page ~ .how-outcome .how-outcome__card h3 {
    font-size: 40px;
    line-height: 1.3;
  }

  /* "What has happened, with dates": a 505px heading beside the timeline */
  .wf-hero--about-page ~ .system--about-timeline .system__inner {
    grid-template-columns: minmax(0, 505px) minmax(0, 701px);
    justify-content: space-between;
  }

  /* "Registered, and open to check": the intro sits under the heading, on the right, at 24px */
  .wf-hero--about-page ~ .about-legal .about-legal__intro p {
    grid-column: 2;
    grid-row: 2;
    margin-top: 16px;
    font-size: 24px;
    line-height: 1.3;
  }
}

/* the Read more buttons take the width of their label */
.wf-hero--about-page ~ .about-feature .about-feature__button {
  width: auto;
  align-self: flex-start;
}

.wf-hero--about-page ~ .system--about-timeline h2 em {
  font-style: italic;
}

/* Public records & profiles: logos in greys, in colour on hover */
.wf-hero--about-page ~ .about-legal .donate-legal__logo img {
  filter: grayscale(1);
  opacity: 0.75;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

.wf-hero--about-page ~ .about-legal .donate-legal__card:hover img,
.wf-hero--about-page ~ .about-legal .donate-legal__card:focus-within img {
  filter: none;
  opacity: 1;
}

@media (min-width: 1248px) {
  /* the global-infrastructure heading runs on two lines */
  .wf-hero--about-page ~ .wf-prose .wf-prose__heading h2 {
    max-width: 900px;
  }

  /* a raised, hanging drop cap: the whole opening paragraph keeps its 212px
     indent and the letter sits in that margin (mockup, both mission blocks) */
  .wf-hero--about-page ~ .about-mission .about-mission__column--dropcap p:first-child {
    padding-top: 100px;
    padding-left: 212px;
  }

  /* the letter rises above the paragraph: its text starts 100px below the letter's top */
  .wf-hero--about-page ~ .about-mission .about-mission__column--dropcap p:first-child::first-letter {
    margin-top: -90px;
    margin-left: -212px;
  }

  /* "Who the work is for": the points 8px apart */
  .wf-hero--about-page ~ .how-outcome .how-outcome__card ul {
    gap: 8px;
  }
}


/* ==========================================================================
   Designer review, 2026-09-24 (Membership, Partners; checked on MacBook
   viewports 1440x789, 1280x690, 1512x860)
   ========================================================================== */

/* A slider slide was exactly min(920px, 100svh) tall and clipped whatever did
   not fit; on a MacBook the Impact Circle and Volunteer Guild text was cut.
   The slide now grows with its content and keeps that height as a minimum. */
@media (min-width: 1248px) {
  .how-film--module .how-film__slide {
    height: auto;
    min-height: min(920px, 100svh);
    max-height: none;
  }

  /* the side photo fills its column instead of setting the height: in the
     flow a portrait photo made the slider 1600-2600px tall on wide screens */
  .how-film--module .how-film__media {
    position: relative;
    min-height: 0;
    overflow: hidden;
  }

  .how-film--module .how-film__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Membership tiers, slides 2-3 as drawn: an 821px text panel beside the photo,
   40px title, 20px points 8px apart */
@media (min-width: 1248px) {
  .wf-hero--membership ~ .how-film .how-film__slide--split {
    grid-template-columns: 821px minmax(0, 1fr);
  }

  .wf-hero--membership ~ .how-film .how-film__slide--split.how-film__slide--reverse {
    grid-template-columns: minmax(0, 1fr) 821px;
  }

  .wf-hero--membership ~ .how-film .how-film__slide--split .how-film__text {
    padding: 120px 113px 120px 56px;
  }

  .wf-hero--membership ~ .how-film .how-film__slide--reverse .how-film__text {
    padding: 120px 56px 120px 113px;
  }

  .wf-hero--membership ~ .how-film .how-film__slide--split h2 {
    font-size: 40px;
    line-height: 1.3;
  }

  .wf-hero--membership ~ .how-film .how-film__slide--split .how-film__list li {
    margin-bottom: 0;
    font-size: 20px;
    line-height: 1.3;
  }

  .wf-hero--membership ~ .how-film .how-film__slide--split .how-film__list li + li {
    margin-top: 8px;
  }
}

/* "Membership supports:" sat in a 930px box on the left, so the centred text
   was off the page centre */
.membership-support__heading {
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 1248px) {
  .membership-support--module .membership-support__heading {
    max-width: none;
  }
}

/* Photo cards (Membership "All too often…", Donate "How the money is
   accounted for"): in Figma every card's text block is one height and sits at
   the bottom, so the titles of a row start on one line and each text follows
   its title. Cards of a row share the block's height through subgrid:
   [photo][title + text]. */
@media (min-width: 601px) {
  :is(.wf-hero--membership ~ .builds--grid, .wf-hero--donate ~ .builds--donate) .builds__list {
    grid-auto-rows: auto min-content;
    row-gap: 0;
  }

  :is(.wf-hero--membership ~ .builds--grid, .wf-hero--donate ~ .builds--donate) .build-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    height: auto;
    min-height: 0;
  }

  .wf-hero--membership ~ .builds--grid .build-card:nth-child(n + 3) {
    margin-top: 20px;
  }

  :is(.wf-hero--membership ~ .builds--grid, .wf-hero--donate ~ .builds--donate) .build-card::before {
    content: "";
    grid-row: 1 / span 2;
    grid-column: 1;
    min-height: 500px;
  }

  :is(.wf-hero--membership ~ .builds--grid, .wf-hero--donate ~ .builds--donate) .build-card__content {
    position: relative;
    z-index: 2;
    grid-row: 2;
    grid-column: 1;
    align-self: stretch;
    justify-content: flex-start;
  }
}

/* Carousels on photos (Partners, Donate, About, Join, Glossary): the section
   follows the screen height, so on a MacBook the heading met the arrows.
   96px between them is kept, as drawn; a taller screen adds more. */
@media (min-width: 1248px) {
  .partners-carousel .volunteer-tracks__heading,
  .partners-carousel.volunteer-tracks .volunteer-tracks__heading {
    margin-bottom: 96px;
  }

  /* each card reserves two lines for its title, so the status line and the
     text start on one level across the row, as drawn */
  .partners-carousel .volunteer-track-card h3 {
    min-height: 2.4em;
  }
}


/* ==========================================================================
   About, "How lived experience becomes systemic change" (2026-09-24):
   the chain appears step by step when it scrolls into view. Uses the site's
   reveal-on-view observer (site.js): without JS, or with reduced motion, the
   chain is simply shown.
   ========================================================================== */

/* the list itself stays put; only its steps move */
.js-reveal-on-view .about-chain__steps.reveal-on-view {
  opacity: 1;
  transform: none;
}

/* hidden at once (no fade-out while the page loads), shown with a transition */
.js-reveal-on-view .about-chain__steps .about-chain__step > span,
.js-reveal-on-view .about-chain__steps .about-chain__step::before {
  opacity: 0;
  transform: translateY(18px);
}

/* each box 240ms after the previous one; its arrow leads it by 120ms */
.js-reveal-on-view .about-chain__steps.is-visible .about-chain__step > span,
.js-reveal-on-view .about-chain__steps.is-visible .about-chain__step::before {
  opacity: 1;
  transform: none;
  transition:
    opacity 520ms ease,
    transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

.js-reveal-on-view .about-chain__steps.is-visible .about-chain__step > span {
  transition-delay: calc(var(--step, 0) * 240ms);
}

.js-reveal-on-view .about-chain__steps.is-visible .about-chain__step::before {
  transition-delay: calc(var(--step, 0) * 240ms - 120ms);
}

@media (prefers-reduced-motion: reduce) {
  .js-reveal-on-view .about-chain__steps .about-chain__step > span,
  .js-reveal-on-view .about-chain__steps .about-chain__step::before {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* the designer's arrow (Vector.svg, 24x48: a thin shaft with an open head),
   used as a mask so it keeps the palette cream; phones keep it proportional */
.about-chain__step + .about-chain__step::before {
  clip-path: none;
  -webkit-mask: url("assets/chain-arrow.svg") center / contain no-repeat;
  mask: url("assets/chain-arrow.svg") center / contain no-repeat;
}


/* ==========================================================================
   Projects list as the home page's project rows (2026-09-24): a category
   whose layout name contains "rows" ("Projects (rows)"). The rows keep the
   grid's distance from the filters.
   ========================================================================== */
.wf-category .wf-category__rows {
  margin-top: 96px;
}

@media (max-width: 600px) {
  .wf-category .wf-category__rows {
    margin-top: 64px;
  }
}


/* ==========================================================================
   Assembly page, re-issued mockup (2026-09-27)
   Scoped with the page's own hero (.wf-hero--assembly ~ …).
   ========================================================================== */

/* builds: the optional line under the heading ("Which cases the Assembly accepts") */
.builds__subtitle {
  max-width: 780px;
  margin: 12px auto 0;
  color: #221a1f;
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
}

/* "How the Assembly works": the accent is italic Purple */
.wf-hero--assembly ~ .system--about-timeline h2 em {
  font-style: italic;
  color: #5d295f;
}

/* "Our Borders": the slide texts keep their paragraph breaks */
.wf-hero--assembly ~ .life-cycle [data-cycle-text] {
  white-space: pre-line;
}

/* "Where to start": the three cards share their rows, so the buttons, the
   texts and the "What you receive / gain" lists start on one line even when
   a title takes two lines */
@media (min-width: 1248px) {
  .wf-hero--assembly ~ .join-section--grid .join-card {
    display: grid;
    grid-row: span 5;
    grid-template-rows: subgrid;
    row-gap: 0;
  }

  .wf-hero--assembly ~ .join-section--grid .join-card > * {
    align-self: start;
  }

  .wf-hero--assembly ~ .join-section--grid .join-card p.join-card__note {
    margin-top: 0;
  }
}

/* ==========================================================================
   About Founder page (About Founder.png, 2026-09-27)
   Scoped with the page's own hero (.wf-hero--founder ~ …). The steps list
   (.tr-flow) belongs to the transparency split module and is not scoped.
   ========================================================================== */

/* steps joined by arrows: grey boxes, Lora in Dark Purple, the designer's arrow */
.tr-flow {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tr-flow__step {
  padding: 22px 24px;
  border-radius: 16px;
  background: #e1e1e1;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.3;
  text-align: center;
}

.tr-flow__step + .tr-flow__step {
  position: relative;
  margin-top: 64px;
}

.tr-flow__step + .tr-flow__step::before {
  content: "";
  position: absolute;
  top: -56px;
  left: 50%;
  width: 24px;
  height: 48px;
  transform: translateX(-50%);
  background: #5d295f;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 48'%3E%3Cpath d='M22.308 34.3148L13.2 43.4063V0H10.8V43.4063L1.692 34.3148L0 36.006L12 48L24 36.006L22.308 34.3148Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 48'%3E%3Cpath d='M22.308 34.3148L13.2 43.4063V0H10.8V43.4063L1.692 34.3148L0 36.006L12 48L24 36.006L22.308 34.3148Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* the closing line beside the steps is a narrower Lora block */
.tr-split:has(.tr-flow) .tr-split__lead {
  max-width: 400px;
  font-size: 28px;
  line-height: 1.3;
}

/* intro: a 506px portrait, the opening in Lora, the registration line smaller */
.wf-prose--founder-intro .wf-prose__text p:first-child {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

.wf-prose--founder-intro .wf-prose__text p + p {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.3;
}

@media (min-width: 1248px) {
  .wf-prose--founder-intro .wf-prose__body {
    grid-template-columns: 506px 614px;
    justify-content: space-between;
    column-gap: 0;
  }
}

/* "Women are not broken": the lead-in sits above the heading */
.research-cta--quote .research-cta__panel {
  display: flex;
  flex-direction: column;
}

.research-cta--quote .research-cta__panel p {
  order: -1;
  margin: 0 0 32px;
}

/* "It is not enough…": the text is Dark Purple */
.wf-prose--founder-build .wf-prose__text p {
  color: #462143;
}

/* areas of work: the cover card as drawn (40px title, paragraphs 26px apart);
   the text slides as the Membership tiers (821px text beside the photo) */
.wf-hero--founder ~ .how-film--panel-title .how-film__glass h2 {
  margin-bottom: 32px;
  font-size: 40px;
  line-height: 1.3;
}

.wf-hero--founder ~ .how-film--panel-title .how-film__glass p + p {
  margin-top: 26px;
}

@media (min-width: 1248px) {
  .wf-hero--founder ~ .how-film .how-film__slide--split {
    grid-template-columns: 821px minmax(0, 1fr);
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split.how-film__slide--reverse {
    grid-template-columns: minmax(0, 1fr) 821px;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__text {
    padding: 120px 113px 120px 56px;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--reverse .how-film__text {
    padding: 120px 56px 120px 113px;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split h2 {
    font-size: 40px;
    line-height: 1.3;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__text p + p {
    margin-top: 26px;
  }
}

/* global network with a photo instead of the mist */
.global-network--photo .global-network__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.global-network--photo .global-network__inner {
  position: relative;
  z-index: 1;
}

.wf-hero--founder ~ .global-network--photo h2 {
  max-width: none;
  font-size: 36px;
  line-height: 1.3;
}

.wf-hero--founder ~ .global-network--photo .global-network__right p:last-child {
  font-weight: 600;
}

/* "If you would like to help change the system": Main Dark heading, grey text */
.wf-hero--founder ~ .membership-join-cta--light h2 {
  color: #221a1f;
}

.wf-hero--founder ~ .membership-join-cta--light p {
  color: #656667;
}

/* About Founder hero, the wide photo (2301x920): at 1440 the frame starts 416px in,
   as drawn; on wider screens Marina stays on the left and the grey wall grows */
.wf-hero--founder .wf-hero__image {
  object-position: 48% 50%;
}

/* wider than the mockup the hero grows with the photo (2301x920) up to the
   window height, so Marina is shown whole; if it still has to crop, the grey
   wall above her goes first, never her feet */
@media (min-width: 1441px) {
  .wf-hero.wf-hero--founder {
    height: max(920px, min(39.98vw, 100svh));
    min-height: max(920px, min(39.98vw, 100svh));
    max-height: none;
  }

  .wf-hero--founder .wf-hero__image {
    object-position: 48% 100%;
  }
}

@media (max-width: 1247px) {
  /* "This question came up…": in one column the career story comes before
     "Psychology enabled her…", which sums it up */
  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__body {
    row-gap: 32px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side {
    display: contents;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:first-child > .tr-split__media {
    order: 1;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:last-child > .tr-split__panel {
    order: 2;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:first-child > .tr-split__panel {
    order: 3;
  }

  /* the hero keeps Marina, not the empty half of the sofa, in a narrow frame */
  .wf-hero--founder .wf-hero__image {
    object-position: 26% 50%;
  }
}

@media (max-width: 600px) {
  /* the name and the title sit in the middle of the photo's height, clear of
     the header (the logo and the menu take the top ~120px) */
  .wf-hero--founder .wf-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 120px;
    padding-bottom: 120px;
  }

  /* "Sukhomlinova" does not wrap; the size follows the phone width */
  .wf-hero--founder .wf-hero__title {
    font-size: min(60px, calc((100vw - 48px) / 6.6));
  }
}

@media (max-width: 600px) {
  /* the designed line breaks in the headings only fit a desktop line */
  .wf-hero--founder ~ .tr-split h2 br {
    display: none;
  }
}

/* ==========================================================================
   How it works, re-issued mockup (2026-09-27)
   Scoped with the page's own hero (.wf-hero--howitworks ~ …).
   ========================================================================== */

/* the hero's second line is italic, as drawn */
.wf-hero--howitworks .wf-hero__title > span + span {
  font-style: italic;
}

/* the film: the title sits inside the glass card, 40px, 16px above the text */
.wf-hero--howitworks ~ .how-film--panel-title .how-film__glass h2 {
  margin-bottom: 16px;
  font-size: 40px;
  line-height: 1.2;
}

/* "What Womafreesm builds": the accent is italic Main Dark */
.wf-hero--howitworks ~ .life-cycle--howitworks h2 em {
  color: #221a1f;
}

@media (min-width: 1248px) {
  /* the card and the photo fill the 590px stage */
  .wf-hero--howitworks ~ .life-cycle--howitworks .life-cycle__card,
  .wf-hero--howitworks ~ .life-cycle--howitworks .life-cycle__media {
    height: 590px;
  }
}

/* ==========================================================================
   Text stays inside the 1440 frame (2026-09-27)
   Photos and backgrounds may run to the screen edge; text never does.
   ========================================================================== */

@media (min-width: 1248px) {
  /* film text slides: an 821px text column, as drawn at 1440, kept inside the
     frame; the photo takes the rest of the screen */
  .how-film.how-film--module .how-film__slide.how-film__slide--split {
    grid-template-columns: calc(821px + max(0px, (100% - 1440px) / 2)) minmax(0, 1fr);
  }

  .how-film.how-film--module .how-film__slide.how-film__slide--split.how-film__slide--reverse {
    grid-template-columns: minmax(0, 1fr) calc(821px + max(0px, (100% - 1440px) / 2));
  }

  .how-film.how-film--module .how-film__slide--split > .how-film__text {
    box-sizing: border-box;
    width: 821px;
    justify-self: end;
    padding: 120px 73px 120px 96px;
  }

  .how-film.how-film--module .how-film__slide--split.how-film__slide--reverse > .how-film__text {
    justify-self: start;
    padding: 120px 96px 120px 73px;
  }

  /* How it works text slides: the 40px title of the other pages */
  .wf-hero--howitworks ~ .how-film .how-film__slide--split h2 {
    font-size: 40px;
    line-height: 1.3;
  }
}

/* ==========================================================================
   Design system v1 (2026-09-23) — the designer's button library
   Source: buttons.png / buttons.txt and the palette sheets from Figma.

   This layer sits at the end of the file on purpose and uses !important on
   purpose: the buttons below were styled one by one over many page builds,
   with selectors up to five classes deep and, for the glass CTA, a colour set
   inline from the module. One layer that always wins is the only way to give
   them all the same behaviour. Change a button here, not in its old rule.

   Primary   #984F91 / Main White, r8, h48, 18px  -> hover #5D295F
   Secondary transparent, 1px Main Dark, r8, h48  -> hover arrow ↗
   Text      Main White, no box                   -> hover arrow ↗
   (2026-10-21: the 19px hover size is gone everywhere, at the user's request:
   a growing label stretched the buttons. Hover never changes font-size.)

   Scope by width. Colours, corners and hover colours apply everywhere. The
   library's type size and side padding apply from 601px up; below that each
   button keeps the size its page gave it for a phone. The header pill and the
   number circles take the library's sizes on desktop only (1248px up): on a
   tablet or a phone the header is sized to fit two words in half a screen.
   ========================================================================== */

:root {
  --wf-action: #984f91;          /* Purple Action */
  --wf-action-hover: #5d295f;    /* Purple */
  --wf-main-white: #fcfaf1;
  --wf-main-dark: #221a1f;
  --wf-gray-02: #e1e1e1;
  --wf-gray-04: #656667;
  --wf-violet: #d6bde1;
  /* the site's own arrow-up-right (the one the project and join buttons
     already used), drawn in the current text colour */
  --wf-arrow-up-right: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 4.5V6H16.9425L4.5 18.4425L5.5575 19.5L18 7.0575V16.5H19.5V4.5H7.5Z' fill='black'/%3E%3C/svg%3E");
}

/* ---- Primary button ---------------------------------------------------- */

.join-card__button,
.research-cta__button,
.wf-hero__button,
.how-film__button,
.membership-final-cta__button,
.wf-onepager__button,
.membership-package-card__button,
.wf-hn__button:not(.wf-hn__button--ghost),
.about-feature__button,
.founder-section__button--primary,
.wf-document__button,
.tr-split__button:not(.tr-split__button--ghost) {
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: none !important;
  border: 1px solid var(--wf-action) !important;
  border-radius: 8px !important;
  background: var(--wf-action) !important;
  color: var(--wf-main-white) !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, font-size 160ms ease !important;
}

/* the Help navigator's phone buttons wrap onto two lines on a phone */
.wf-hn__button:not(.wf-hn__button--ghost) {
  height: auto !important;
}

.join-card__button:hover,
.research-cta__button:hover,
.wf-hero__button:hover,
.how-film__button:hover,
.membership-final-cta__button:hover,
.wf-onepager__button:hover,
.membership-package-card__button:hover,
.wf-hn__button:not(.wf-hn__button--ghost):hover,
.about-feature__button:hover,
.founder-section__button--primary:hover,
.wf-document__button:hover,
.tr-split__button:not(.tr-split__button--ghost):hover,
.join-card__button:focus-visible,
.research-cta__button:focus-visible,
.wf-hero__button:focus-visible,
.how-film__button:focus-visible,
.membership-final-cta__button:focus-visible,
.wf-onepager__button:focus-visible,
.membership-package-card__button:focus-visible,
.wf-hn__button:not(.wf-hn__button--ghost):focus-visible,
.about-feature__button:focus-visible,
.founder-section__button--primary:focus-visible,
.wf-document__button:focus-visible,
.tr-split__button:not(.tr-split__button--ghost):focus-visible {
  border-color: var(--wf-action-hover) !important;
  background: var(--wf-action-hover) !important;
  color: var(--wf-main-white) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* a card hovered around its button no longer repaints the button */
.join-card:hover .join-card__button:not(:hover),
.membership-package-card:hover .membership-package-card__button:not(:hover) {
  border-color: var(--wf-action) !important;
  background: var(--wf-action) !important;
  color: var(--wf-main-white) !important;
}

/* the primary button has no arrow in the library */
.join-card__button::after,
.membership-package-card__button::after {
  display: none !important;
}

/* The header's "Join us" is one half of the header pill, so it keeps the
   pill's size and corners and takes only the button's colours and hover. */
.nav-panel__join {
  background: var(--wf-action) !important;
  color: var(--wf-main-white) !important;
  transition: background-color 160ms ease, font-size 160ms ease !important;
}

.nav-panel__join:hover,
.nav-panel__join:focus-visible {
  background: var(--wf-action-hover) !important;
  color: var(--wf-main-white) !important;
}

/* ---- Secondary button (outline) --------------------------------------- */

.donate-legal__button,
.verify-source-card > a,
.project-row__button,
.as-docs__button,
.tr-split__button--ghost,
.wf-hn__button--ghost,
.wf-documents__download,
.wf-hn__alert-button,
.about-feature__button--ghost {
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: none !important;
  border: 1px solid var(--wf-main-dark) !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--wf-main-dark) !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: font-size 160ms ease !important;
}

/* "Read document" was a block; it needs to lay its arrow out beside the text */
.as-docs__button {
  display: inline-flex !important;
}

.donate-legal__button::after,
.verify-source-card > a::after,
.project-row__button::after,
.as-docs__button::after,
.tr-split__button--ghost::after,
.wf-hn__button--ghost::after,
.wf-documents__download::after,
.wf-hn__alert-button::after,
.about-feature__button--ghost::after {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 0 !important;
  height: 24px !important;
  margin: 0 !important;
  background: currentColor !important;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
  opacity: 0 !important;
  transform: none !important;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease !important;
}

.donate-legal__button:hover,
.verify-source-card > a:hover,
.project-row__button:hover,
.project-row:hover .project-row__button,
.as-docs__button:hover,
.tr-split__button--ghost:hover,
.wf-hn__button--ghost:hover,
.wf-documents__download:hover,
.wf-hn__alert-button:hover,
.donate-legal__button:focus-visible,
.verify-source-card > a:focus-visible,
.project-row__button:focus-visible,
.as-docs__button:focus-visible,
.tr-split__button--ghost:focus-visible,
.wf-hn__button--ghost:focus-visible,
.wf-documents__download:focus-visible,
.wf-hn__alert-button:focus-visible,
.about-feature__button--ghost:hover,
.about-feature__button--ghost:focus-visible {
  border-color: var(--wf-main-dark) !important;
  background: transparent !important;
  color: var(--wf-main-dark) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* a project row hovered around its button: the button stays at rest */
.project-row:hover .project-row__button:not(:hover)::after {
  width: 0 !important;
  margin-left: 0 !important;
  opacity: 0 !important;
}

.donate-legal__button:hover::after,
.verify-source-card > a:hover::after,
.project-row__button:hover::after,
.as-docs__button:hover::after,
.tr-split__button--ghost:hover::after,
.wf-hn__button--ghost:hover::after,
.wf-documents__download:hover::after,
.wf-hn__alert-button:hover::after,
.donate-legal__button:focus-visible::after,
.verify-source-card > a:focus-visible::after,
.project-row__button:focus-visible::after,
.as-docs__button:focus-visible::after,
.tr-split__button--ghost:focus-visible::after,
.wf-hn__button--ghost:focus-visible::after,
.wf-documents__download:focus-visible::after,
.wf-hn__alert-button:focus-visible::after,
.about-feature__button--ghost:hover::after,
.about-feature__button--ghost:focus-visible::after {
  width: 24px !important;
  margin-left: 8px !important;
  opacity: 1 !important;
}

/* ---- The library's type size and padding: 601px and up ------------------ */

@media (min-width: 601px) {
  .join-card__button,
  .research-cta__button,
  .wf-hero__button,
  .how-film__button,
  .membership-final-cta__button,
  .wf-onepager__button,
  .membership-package-card__button,
  .wf-hn__button:not(.wf-hn__button--ghost),
  .about-feature__button,
  .founder-section__button--primary,
  .wf-document__button,
  .tr-split__button:not(.tr-split__button--ghost),
  .donate-legal__button,
  .verify-source-card > a,
  .project-row__button,
  .as-docs__button,
  .tr-split__button--ghost,
  .wf-hn__button--ghost,
  .wf-documents__download,
  .wf-hn__alert-button,
  .about-feature__button--ghost {
    padding: 0 24px !important;
    font-size: 18px !important;
  }
}

/* ---- Buttons whose width comes from the design: grow for longer text ----
   On desktop these buttons were drawn at a fixed width. That width is now a
   minimum: a longer label — most of all in Ukrainian and Russian — widens the
   button and stays on one line. On a tablet and a phone they already run the
   full width of their column, so this applies from 1248px only. */

@media (min-width: 1248px) {
  .wf-hero__button,
  .research-cta__button,
  .membership-final-cta__button,
  .about-feature__button,
  .founder-section__button--primary,
  .project-row__button {
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  .wf-hero__button,
  .research-cta__button { min-width: 203px !important; }
  .membership-final-cta__button { min-width: 192px !important; }
  .about-feature__button,
  .founder-section__button--primary { min-width: 191px !important; }
  .project-row__button { min-width: 200px !important; }
}

/* the page hero's button is drawn at 260px on a small laptop as well */
@media (min-width: 901px) and (max-width: 1247px) {
  .wf-hero__button {
    width: auto !important;
    min-width: 260px !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }
}

/* ---- Buttons that fill their card or column -----------------------------
   These cannot grow without changing the card, so a label that does not fit
   on one line (a long Ukrainian or Russian one) sits on two, centred, and the
   button grows in height instead of breaking a word at its edge. */

.join-card__button,
.membership-package-card__button,
.wf-document__button,
.tr-split__button:not(.tr-split__button--ghost),
.tr-split__button--ghost,
.about-feature__button--ghost {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 48px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

/* ---- Secondary button on a dark photo (carousel cards) -----------------
   The outline button of the library, drawn in Main White: same shape, the
   same hover (the arrow). */

.volunteer-track-card__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin-top: auto !important;
  padding: 0 24px !important;
  border: 1px solid var(--wf-main-white) !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--wf-main-white) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: font-size 160ms ease !important;
}

.volunteer-track-card__button::after {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 0 !important;
  height: 24px !important;
  background: currentColor !important;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
  opacity: 0 !important;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease !important;
}

.volunteer-track-card__button:hover,
.volunteer-track-card__button:focus-visible {
  color: var(--wf-main-white) !important;
  text-decoration: none !important;
}

.volunteer-track-card__button:hover::after,
.volunteer-track-card__button:focus-visible::after {
  width: 24px !important;
  margin-left: 8px !important;
  opacity: 1 !important;
}

@media (min-width: 601px) {
  .volunteer-track-card__button {
    font-size: 18px !important;
  }
}

/* On a phone a long Ukrainian or Russian label may take two lines in any
   button; the button then grows in height rather than packing two lines into
   48px. A one-line label still sits in a 48px button. */
@media (max-width: 600px) {
  .join-card__button,
  .research-cta__button,
  .wf-hero__button,
  .how-film__button,
  .membership-final-cta__button,
  .wf-onepager__button,
  .membership-package-card__button,
  .wf-hn__button:not(.wf-hn__button--ghost),
  .about-feature__button,
  .founder-section__button--primary,
  .wf-document__button,
  .tr-split__button:not(.tr-split__button--ghost),
  .donate-legal__button,
  .verify-source-card > a,
  .project-row__button,
  .as-docs__button,
  .tr-split__button--ghost,
  .wf-hn__button--ghost,
  .wf-documents__download,
  .wf-hn__alert-button,
  .about-feature__button--ghost {
    height: auto !important;
    min-height: 48px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    line-height: 1.2 !important;
  }
}

/* The header pill below 900px sets its two halves at 18px. The Russian
   "Присоединиться" needs 147px at that size and a phone gives it 113-121px,
   so in Russian the pill uses the header's tablet size, 14px. (Below 371px
   the site's own 13px rule applies in every language.) */
@media (min-width: 371px) and (max-width: 900px) {
  html[lang="ru"] .nav-panel__link,
  html[lang="ru"] .nav-panel__join {
    font-size: 14px !important;
  }

  html[lang="ru"] .nav-panel__join {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}

/* ---- Text button: "Menu" in the header (desktop) ----------------------- */

.nav-panel__link {
  color: var(--wf-main-white) !important;
}

@media (min-width: 1248px) {
  .nav-panel__link {
    gap: 0 !important;
    font-size: 18px !important;
    transition: font-size 160ms ease !important;
  }

  .nav-panel__link::after {
    content: "" !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 0 !important;
    height: 24px !important;
    margin: 0 !important;
    background: currentColor !important;
    -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
    mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
    opacity: 0 !important;
    transform: none !important;
    transition: width 160ms ease, margin 160ms ease, opacity 160ms ease !important;
  }

  .nav-panel__join {
    font-size: 18px !important;
  }

  .nav-panel__link:hover::after,
  .nav-panel__link:focus-visible::after {
    width: 24px !important;
    margin-left: 4px !important;
    opacity: 1 !important;
  }
}

/* ---- Footer links: colour only ---------------------------------------- */

.site-footer__nav a {
  color: var(--wf-main-white) !important;
  opacity: 1 !important;
}

/* ---- Tags on update and blog cards -------------------------------------- */

.update-card__media > span {
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

.updates--updates .update-card__media > span {
  background: var(--wf-violet) !important;
}

.updates--blog .update-card__media > span {
  background: rgba(255, 250, 244, 0.6) !important;
}

/* ---- Number buttons (Women's Life-Cycle index) --------------------------- */

.life-cycle__control {
  border: 1px solid var(--wf-gray-04) !important;
  background: transparent !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
  color: var(--wf-gray-04) !important;
  font-family: Lora, Georgia, "Times New Roman", serif !important;
  line-height: 1.3 !important;
  letter-spacing: -0.03em !important;
  transform: none !important;
}

/* the active number: Main Dark ring and a Main White fill (2026-09-24) */
.life-cycle__control.is-active,
.life-cycle__control[aria-pressed="true"] {
  border-color: var(--wf-main-dark) !important;
  background: var(--wf-main-white) !important;
  color: var(--wf-main-dark) !important;
}

.life-cycle__control:not(.is-active):not([aria-pressed="true"]):hover {
  transform: none !important;
  background: transparent !important;
}

/* the library's 64px circle is a desktop size; tablets and phones keep theirs */
@media (min-width: 1248px) {
  .life-cycle__control {
    width: 64px !important;
    height: 64px !important;
    font-size: 32px !important;
  }
}

/* ==========================================================================
   Localisation v2 (2026-09-27) — text of any length keeps the layout
   Eight languages now run through the same blocks, and German, French and
   Portuguese are a third longer than English. Rather than stepping the type
   down page by page and language by language, the blocks give way:
   - a hero line may wrap, but never runs past the content column;
   - a word too long for its heading is fitted by site.js (fitLongWords);
   - a button keeps its label on one line, the hover arrow included;
   - a card grows with its text instead of clipping it;
   - cards of a row share their rows, so the buttons stay level.
   ========================================================================== */

/* Hero: the lines were nowrap so a translation ran past the column. */
.wf-hero .wf-hero__title > span,
.wf-hero .wf-hero__title > em {
  white-space: normal;
  text-wrap: balance;
}

.wf-hero .wf-hero__title {
  max-width: 100%;
}

/* Headings and body copy never push past their box. */
h1, h2, h3, h4 {
  overflow-wrap: break-word;
}

p, li, dd, dt, td, th {
  overflow-wrap: break-word;
}

/* Buttons: one line from the tablet up (the hover arrow and the 19px hover
   size used to break a long German label onto two lines). Buttons that fill
   their card (join, membership package, document, carousel card) are left
   out: they cannot grow sideways, so a label too long for the card still
   wraps, as the button layer intends. */
@media (min-width: 601px) {
  .research-cta__button,
  .wf-hero__button,
  .how-film__button,
  .membership-final-cta__button,
  .wf-onepager__button,
  .wf-hn__button,
  .about-feature__button,
  .founder-section__button--primary,
  .tr-split__button,
  .donate-legal__button,
  .verify-source-card > a,
  .project-row__button,
  .as-docs__button,
  .wf-documents__download,
  .wf-hn__alert-button {
    white-space: nowrap !important;
  }

  /* the arrow buttons: when the label and the arrow need more than the box,
     the side padding gives way first */
  .donate-legal__button:hover,
  .donate-legal__button:focus-visible {
    padding: 0 12px !important;
  }
}

/* Carousel cards: the height was fixed to the English copy and the rest
   of a longer text was cut off. It is now the floor, not the size. */
.volunteer-track-card {
  height: auto !important;
  min-height: 335px;
}

@media (max-width: 1247px) {
  .volunteer-track-card {
    min-height: 398px;
  }

  .partners-carousel .volunteer-track-card,
  .partners-carousel--wide .volunteer-track-card,
  .donate-carousel .volunteer-track-card {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .partners-carousel .volunteer-track-card {
    min-height: 260px;
  }
}

/* Join cards (Home "Ten paths", About and How it works "Where to start"):
   same rule, desktop only; the tablet and phone tiers already grow them. */
@media (min-width: 1248px) {
  .join-card {
    height: auto !important;
    min-height: 418px;
  }

  .join-card.is-active {
    min-height: 456px;
  }

  .join-section--grid .join-card {
    min-width: 0;
    min-height: 432px;
  }

  .join-section--assembly .join-card {
    min-height: 480px;
  }
}

/* "Where to start" (Assembly, About, How it works): the three cards were
   346px in a 1086px block centred under a heading that starts at the content
   edge, and a German title did not fit. The block now takes the content width
   of the heading above it; a card's own column never grows past the card. */
@media (min-width: 1248px) {
  .join-section--grid .join-grid {
    width: min(100% - 192px, 1248px);
  }

  .join-section--grid .join-card {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Membership "Choose your path": the three cards share their rows, so the
   buttons and the "What's included" lists start on one line whatever the
   length of a title or a lead. */
@media (min-width: 1248px) {
  .membership-packages--module .membership-packages__grid {
    row-gap: 0;
  }

  .membership-packages--module .membership-package-card {
    display: grid;
    grid-row: span 6;
    grid-template-rows: subgrid;
    row-gap: 0;
  }

  .membership-packages--module .membership-package-card > * {
    align-self: start;
  }
}

/* Two buttons under a split column (Assembly, Transparency): each takes the
   width its label needs; when both do not fit on one row they stack, rather
   than a label breaking onto two lines inside half a column. */
@media (min-width: 601px) {
  .tr-split__actions {
    display: flex;
    flex-wrap: wrap;
  }

  .tr-split__actions .tr-split__button {
    flex: 1 1 200px;
    white-space: nowrap !important;
  }
}

/* ==========================================================================
   Hero title size (2026-09-28): one size on every page and in every language
   Desktop 100px, phone 54px: the designer's maximum, and no page or language
   goes below it. The older steps for single languages and pages (es 95, ru 88,
   uk 96, How it works 50, About Founder 52 ...) are overridden here, not kept.
   On desktop the size still eases down on a short or narrow laptop screen,
   the same for all languages. A longer translation wraps to another line.
   ========================================================================== */
@media (min-width: 1248px) {
  html:root[lang] .wf-hero .wf-hero__title {
    font-size: clamp(72px, min(8vw, 11.2svh), 100px);
  }
}

@media (max-width: 600px) {
  html:root[lang] .wf-hero .wf-hero__title {
    font-size: 54px;
  }
}

/* ==========================================================================
   Hero title: the designer's solution for longer languages (2026-09-28)
   A title is drawn as two parts on two lines. When a translation's first part
   does not fit on its line, the title becomes one run instead (site.js adds
   .wf-hero__title--run): the first part wraps where it must and its tail joins
   the second part, which stays whole — "Les femmes ne sont pas / brisées. Le
   système l'est." The type size does not change; titles that fit, and the
   English, keep the drawn layout. Desktop only; the phone has its own layout.
   ========================================================================== */
@media (min-width: 1248px) {
  .wf-hero .wf-hero__title--run > span,
  .wf-hero .wf-hero__title--run > em {
    display: inline;
  }

  /* the space before the last part stays breakable: inside the nowrap part it would glue the
     previous word to it and push the line past the title */
  .wf-hero .wf-hero__title--run > :is(span, em) + :is(span, em)::before {
    content: " ";
    white-space: normal;
  }

  .wf-hero .wf-hero__title--run:not(.wf-hero__title--run-wrap) > :last-child {
    white-space: nowrap;
  }
}


/* ==========================================================================
   Opt-in looks of shared modules (2026-10-01, research "Women 45-64").
   Each applies only when its setting is chosen; the default blocks are as before.
   ========================================================================== */

/* Statement on the plum ground (womafreesm_statement, Background: Plum) */
section.wf-statement.wf-statement--plum {
  background: #5d295f;
  color: var(--wf-main-white);
}

section.wf-statement.wf-statement--plum .wf-statement__heading,
section.wf-statement.wf-statement--plum .wf-statement__subtitle {
  color: var(--wf-main-white);
}

section.wf-statement.wf-statement--plum .wf-statement__heading em {
  color: var(--wf-violet);
}

/* A subtitle under the "Why Womafreesm exists" heading (womafreesm_about_mission) */
.about-mission__heading p {
  max-width: 760px;
  margin: 16px auto 0;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

@media (max-width: 600px) {
  .about-mission__heading p {
    font-size: 16px;
  }
}

/* Two buttons on the photo CTA (womafreesm_research_cta, second button set):
   the library's primary, and an outline in Main White for the dark glass. */
.research-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 64px;
}

.research-cta__actions .research-cta__button {
  margin-top: 0;
}

.research-cta__button-alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 203px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid var(--wf-main-white);
  border-radius: 8px;
  background: transparent;
  color: var(--wf-main-white);
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: font-size 160ms ease;
}

.research-cta__button-alt::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.research-cta__button-alt:hover,
.research-cta__button-alt:focus-visible {
  color: var(--wf-main-white);
  text-decoration: none;
}

.research-cta__button-alt:hover::after,
.research-cta__button-alt:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

@media (max-width: 600px) {
  .research-cta__actions {
    flex-direction: column;
    gap: 12px;
    margin-top: 40px;
  }

  .research-cta__actions > a {
    width: 100%;
  }
}

/* Two columns without the drop cap start at the top (womafreesm_about_mission, Drop cap: Off);
   with the drop cap they keep their bottom alignment */
.about-mission__body:not(:has(.about-mission__column--dropcap)) {
  align-items: start;
}

/* ==========================================================================
   Research blocks (womafreesm_research, 2026-10-02) brought to the design system.
   The blocks keep the research landing's own layout (its rules are above, already in
   the portal palette); here they take the library's buttons and the site's type scale.
   ========================================================================== */

/* Primary: Purple Action, Main White, r8, h48, 18px -> hover Purple */
.research-value__button--primary,
.research-donor-note__button--solid {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  min-height: 48px !important;
  border: 1px solid var(--wf-action) !important;
  border-radius: 8px !important;
  background: var(--wf-action) !important;
  color: var(--wf-main-white) !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, font-size 160ms ease !important;
}

.research-value__button--primary:hover,
.research-value__button--primary:focus-visible,
.research-donor-note__button--solid:hover,
.research-donor-note__button--solid:focus-visible {
  border-color: var(--wf-action-hover) !important;
  background: var(--wf-action-hover) !important;
  color: var(--wf-main-white) !important;
}

/* Outline: transparent, 1px Main Dark -> hover the site's arrow */
.research-value__button--secondary,
.research-donor-note__button--ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  border: 1px solid var(--wf-main-dark) !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--wf-main-dark) !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: font-size 160ms ease !important;
}

.research-value__button--secondary::after,
.research-donor-note__button--ghost::after {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 0 !important;
  height: 24px !important;
  margin: 0 !important;
  background: currentColor !important;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat !important;
  opacity: 0 !important;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease !important;
}

.research-value__button--secondary:hover,
.research-value__button--secondary:focus-visible,
.research-donor-note__button--ghost:hover,
.research-donor-note__button--ghost:focus-visible {
  border-color: var(--wf-main-dark) !important;
  background: transparent !important;
  color: var(--wf-main-dark) !important;
}

.research-value__button--secondary:hover::after,
.research-value__button--secondary:focus-visible::after,
.research-donor-note__button--ghost:hover::after,
.research-donor-note__button--ghost:focus-visible::after {
  width: 24px !important;
  margin-left: 8px !important;
  opacity: 1 !important;
}

@media (min-width: 601px) {
  .research-value__button--primary,
  .research-value__button--secondary,
  .research-donor-note__button--solid,
  .research-donor-note__button--ghost {
    padding: 0 24px !important;
    font-size: 18px !important;
  }
}

@media (max-width: 600px) {
  .research-value__button--primary,
  .research-value__button--secondary,
  .research-donor-note__button--solid,
  .research-donor-note__button--ghost {
    width: 100% !important;
    font-size: 18px !important;
  }
}

/* The first screen's title: the site's hero size, 100px from the desktop, 54px on a phone */
@media (min-width: 1248px) {
  .research-hero__title {
    font-size: 100px;
  }
}

@media (max-width: 600px) {
  section.research-hero .research-hero__title {
    max-width: none;
    font-size: 54px;
    line-height: 1;
  }

  section.research-hero .research-hero__title span {
    white-space: normal;
  }
}

/* Section headings at the site's 50px (the landing set this one at 58px) */
@media (min-width: 1248px) {
  .research-conducting h2 {
    font-size: 50px;
    line-height: 1.2;
  }
}

/* The card numbers "01." … "04." stay on one line */
.research-matter-card h2 span {
  white-space: nowrap;
}


/* ==========================================================================
   Home extras (2026-10-04): optional fields of the home modules, each empty by
   default; and the "in development" page for planned addresses.
   ========================================================================== */
.wf-extra-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 32px;
  border: 1px solid var(--wf-action, #984f91);
  border-radius: 8px;
  background: var(--wf-action, #984f91);
  color: var(--wf-main-white, #fcfaf1);
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.wf-extra-button:hover,
.wf-extra-button:focus-visible {
  border-color: var(--wf-action-hover, #5d295f);
  background: var(--wf-action-hover, #5d295f);
  color: var(--wf-main-white, #fcfaf1);
  text-decoration: none;
}

.wf-extra-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.wf-extra-link::after {
  content: "";
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 20px 20px no-repeat;
  mask: var(--wf-arrow-up-right) center / 20px 20px no-repeat;
}

.wf-extra-link:hover,
.wf-extra-link:focus-visible {
  color: inherit;
  text-decoration-thickness: 2px;
}

.wf-inline-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-extra-note {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.system__cta {
  margin-top: 40px;
}

.build-card__more {
  margin-top: 16px;
  font-size: 16px;
}

.builds__note {
  margin-top: 32px;
  text-align: center;
}

.join-section__after {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 860px;
  margin: 48px auto 0;
  padding: 0 24px 120px;
  text-align: center;
  color: var(--cream);
}

/* The doors keep their bottom spacing below the lines under them, not above */
.join-section .join-grid:has(+ .join-section__after) {
  padding-bottom: 0;
}

.join-section__help {
  margin: 0;
}

.life-cycle__more,
.updates__more,
.active-projects__more,
.faq__more {
  margin: 32px 0 0;
}

.research-cta__note {
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.5;
}

.updates__intro {
  max-width: 760px;
  margin: -16px 0 32px;
  font-size: 18px;
  line-height: 1.5;
}

.update-card__next {
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.5;
  font-style: italic;
}

.project-row__status {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.5;
  font-style: italic;
}

.project-row--no-image {
  grid-template-columns: minmax(0, 1fr) !important;
}

.global-network__lead--first-letter {
  display: block;
  margin-bottom: 24px;
}

.global-network__lead--first-letter::after {
  content: "";
  display: block;
  clear: both;
}

.global-network__lead--first-letter p::first-letter {
  float: left;
  margin: 6px 24px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 196px;
  font-weight: 400;
  line-height: 0.72;
}

/* Verify: one row of small logos under the doors */
.verify-strip {
  padding: 120px 24px;
  background: var(--cream);
  color: var(--wf-main-dark, #221a1f);
}

.verify-strip__inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1240px;
  margin: 0 auto;
}

.verify-strip__text h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}

.verify-strip__text p {
  max-width: 760px;
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.5;
}

.verify-strip__row {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0 0 4px;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: thin;
}

.verify-strip__row li {
  flex: 0 0 auto;
}

.verify-strip__row a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  min-width: 120px;
  padding: 0 18px;
  border: 1px solid rgba(34, 26, 31, 0.16);
  border-radius: 8px;
  background: #fff;
  color: var(--wf-main-dark, #221a1f);
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
}

.verify-strip__row a:hover,
.verify-strip__row a:focus-visible {
  border-color: var(--wf-action, #984f91);
}

.verify-strip__row img {
  display: block;
  max-width: 140px;
  max-height: 32px;
  filter: grayscale(1);
}

.verify-strip__all {
  align-self: flex-start;
  font-size: 16px;
}

/* Verify cards: a source without a logo shows its name, grey like the logos, dark on hover */
.verify-source-card__name {
  display: block;
  color: #8a8a8a;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.2;
  text-align: center;
  transition: color 160ms ease;
}

.verify-source-card:hover .verify-source-card__name,
.verify-source-card:focus-within .verify-source-card__name {
  color: var(--wf-main-dark, #221a1f);
}

.verify-sources__all {
  margin: 40px 0 0;
  color: var(--wf-main-dark, #221a1f);
}

/* Header join button: the label fits in every language. From 901px it grows with its
   text (never narrower than before); below that a long label wraps inside the button. */
@media (min-width: 901px) {
  .nav-panel__join {
    width: auto !important;
    min-width: 177px;
    padding: 0 24px;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .nav-panel__link {
    flex: 0 0 auto;
    width: auto !important;
    padding: 0 14px !important;
  }

  .nav-panel__join {
    flex: 1 1 auto;
    width: auto !important;
    padding: 0 8px;
    white-space: normal !important;
    text-align: center;
    line-height: 1.1 !important;
  }
}

/* "In development" page for planned addresses */
.wf-dev-page {
  color: var(--wf-main-dark, #221a1f);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(720px, 80svh);
  padding: 160px 24px 96px;
  background: var(--cream);
}

.wf-dev-page__inner {
  max-width: 760px;
  text-align: center;
}

.wf-dev-page h1 {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
}

.wf-dev-page p {
  margin: 0 0 40px;
  font-size: 18px;
  line-height: 1.6;
}

.wf-dev-page__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

@media (max-width: 600px) {
  .wf-extra-link {
    font-size: 16px;
  }

  .wf-extra-button {
    height: auto;
    min-height: 48px;
    max-width: 100%;
    padding: 12px 24px;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
  }

  .global-network__lead--first-letter p::first-letter {
    margin: 2px 14px 0 -2px;
    font-size: 106px;
  }

  .verify-strip {
    padding: 96px 24px;
  }

  .join-section__after {
    margin-top: 40px;
  }

  .wf-dev-page {
    padding: 128px 24px 96px;
  }

  .wf-dev-page h1 {
    font-size: 40px;
  }
}


/* ==========================================================================
   Join page per Marina (2026-10-04): first screen with ten doors, step schema,
   doubts, doors grid, project index, plain "Know what to expect".
   ========================================================================== */
.join-router,
.join-schema,
.doubts,
.door-cards,
.join-index,
.expect-plain {
  color: var(--wf-main-dark, #221a1f);
  background: var(--cream);
}

.join-router__inner,
.join-schema__inner,
.doubts__inner,
.door-cards__inner,
.join-index__inner,
.expect-plain__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 120px 96px;
}

.join-router__inner {
  padding-top: 132px;
  padding-bottom: 72px;
}

.join-router__title {
  margin: 0 0 12px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 1.1;
}

.join-router__subtitle {
  max-width: 820px;
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.4;
}

.join-router__phrase {
  max-width: 900px;
  margin: 0 0 12px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.5;
}

.join-router__lead {
  max-width: 1000px;
  margin: 0 0 28px;
  font-size: 17px;
  line-height: 1.6;
}

.join-router__question,
.join-schema h2,
.doubts h2,
.door-cards h2,
.join-index h2,
.expect-plain h2 {
  margin: 0 0 32px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
}

.join-router__question {
  margin-bottom: 12px;
  font-size: 32px;
}

.join-router__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  gap: 0 48px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.join-router__row {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 52px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(34, 26, 31, 0.18);
  color: inherit;
  font-size: 18px;
  line-height: 1.4;
  text-decoration: none;
}

.join-router__row:hover,
.join-router__row:focus-visible {
  color: var(--wf-action, #984f91);
}

.join-router__number {
  flex: 0 0 auto;
  min-width: 28px;
  color: var(--wf-action, #984f91);
}

.join-router__note,
.join-paths__note {
  max-width: 900px;
  margin: 20px 0 0;
  font-size: 18px;
  line-height: 1.6;
}

/* How it works: one line of numbered steps */
.join-schema__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.join-schema__steps li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 0;
}

.join-schema__steps li::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 48px;
  right: -24px;
  height: 1px;
  background: rgba(34, 26, 31, 0.24);
}

.join-schema__steps li:last-child::before {
  display: none;
}

.join-schema__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--wf-action, #984f91);
  border-radius: 50%;
  color: var(--wf-action, #984f91);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 18px;
}

.join-schema__title {
  font-size: 20px;
  line-height: 1.4;
}

.join-schema__note {
  margin: 40px 0 0;
  font-size: 18px;
  line-height: 1.6;
}

/* Doubts nobody says out loud */
.doubts__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 48px;
}

.doubts__pair p {
  margin: 0;
}

.doubts__doubt {
  margin-bottom: 12px !important;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.35;
}

.doubts__answer {
  font-size: 18px;
  line-height: 1.6;
}

/* Each door in detail */
.door-cards__subtitle,
.join-index__subtitle {
  max-width: 820px;
  margin: -16px 0 40px;
  font-size: 18px;
  line-height: 1.6;
}

.door-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.door-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px 28px;
  border-radius: 12px;
  background: #f2f1f0;
  scroll-margin-top: 120px;
}

.door-card h3 {
  margin: 0 0 4px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.25;
}

.door-card__field h4 {
  margin: 0 0 6px;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.door-card__field p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}

.door-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 48px;
  margin-top: auto;
  padding: 12px 24px;
  border: 1px solid var(--wf-main-dark, #221a1f);
  border-radius: 8px;
  color: var(--wf-main-dark, #221a1f);
  font-size: 16px;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.door-card__button:hover,
.door-card__button:focus-visible {
  border-color: var(--wf-action, #984f91);
  background: var(--wf-action, #984f91);
  color: var(--wf-main-white, #fcfaf1);
}

/* What Womafreesm is building: index */
.join-index__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(34, 26, 31, 0.18);
}

.join-index__row {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(34, 26, 31, 0.18);
  color: inherit;
  font-size: 17px;
  line-height: 1.5;
  text-decoration: none;
}

.join-index__row strong {
  font-weight: 700;
}

.join-index__row:hover strong,
.join-index__row:focus-visible strong {
  color: var(--wf-action, #984f91);
}

/* Know what to expect: a small block with two links */
.expect-plain__inner {
  padding-top: 96px;
  padding-bottom: 96px;
}

.expect-plain h2 {
  font-size: 40px;
}

.expect-plain__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
}

.expect-plain__col p {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.6;
}

@media (max-width: 1247px) {
  .join-router__inner,
  .join-schema__inner,
  .doubts__inner,
  .door-cards__inner,
  .join-index__inner,
  .expect-plain__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 1024px) {
  .door-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .join-router__list {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    grid-template-rows: none;
  }

  .join-schema__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .join-schema__steps li {
    flex-direction: row;
    align-items: center;
  }

  .join-schema__steps li::before {
    top: 40px;
    bottom: -20px;
    left: 20px;
    right: auto;
    width: 1px;
    height: auto;
  }

  .doubts__list,
  .expect-plain__cols {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .join-index__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}

@media (max-width: 600px) {
  .join-router__inner {
    padding-top: 128px;
    padding-bottom: 72px;
  }

  .join-schema__inner,
  .doubts__inner,
  .door-cards__inner,
  .join-index__inner,
  .expect-plain__inner {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  .join-router__inner,
  .join-schema__inner,
  .doubts__inner,
  .door-cards__inner,
  .join-index__inner,
  .expect-plain__inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .join-router__title {
    font-size: 40px;
  }

  .join-router__subtitle {
    font-size: 18px;
  }

  .join-router__question,
  .join-schema h2,
  .doubts h2,
  .door-cards h2,
  .join-index h2,
  .expect-plain h2 {
    font-size: 32px;
  }

  .door-cards__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .door-card {
    padding: 28px 24px;
  }

  .doubts__doubt {
    font-size: 21px;
  }
}

/* Join on the site's own blocks (2026-10-04): italic line and lead above the doors,
   a line under the steps, labelled fields in the carousel cards. */
.join-paths__phrase,
.join-paths__lead {
  max-width: 880px;
  margin: 0 auto 20px;
  text-align: center;
  color: var(--wf-main-dark, #221a1f);
}

.join-paths__phrase {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.5;
}

.join-paths__lead {
  margin-bottom: 56px;
  font-size: 18px;
  line-height: 1.6;
}

.system__note {
  margin: 40px 0 0;
  font-size: 18px;
  line-height: 1.6;
  color: var(--wf-main-dark, #221a1f);
}

.volunteer-track-card__fields {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.volunteer-track-card__field h4 {
  margin: 0 0 4px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.volunteer-track-card__field p {
  margin: 0;
}

@media (max-width: 600px) {
  .join-paths__phrase {
    font-size: 19px;
  }

  .join-paths__lead {
    margin-bottom: 40px;
    font-size: 16px;
  }
}

/* FAQ with a long heading: the heading above the questions (womafreesm_faq, Heading position) */
.faq.faq--heading-top .faq__inner {
  display: block;
}

.faq.faq--heading-top h2 {
  width: auto;
  max-width: 900px;
  margin: 0 0 48px;
  font-size: 50px;
  line-height: 1.2;
}

@media (max-width: 600px) {
  .faq.faq--heading-top h2 {
    margin-bottom: 32px;
    font-size: 40px;
  }
}

/* Two buttons on the Join photo panel: the primary loses its single-button top margin */
.research-cta--join .research-cta__actions .research-cta__button {
  margin-top: 0;
}

/* Join: "Each door in detail" as Marina laid it out: a grid (3 / 2 / 1 per row) instead of
   the carousel, equal cards, fields in one order, the button always at the bottom.
   Only the carousel whose cards carry labelled fields becomes a grid. */
.partners-carousel:has(.volunteer-track-card__fields) .volunteer-tracks__controls {
  display: none !important;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-tracks__carousel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 96px !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 16px !important;
  padding: 28px !important;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card h3 {
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card p {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card__fields {
  gap: 12px;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card__field h4 {
  font-size: 13px;
}

.partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card__button {
  margin-top: auto !important;
  padding-top: 0;
}

@media (max-width: 1247px) {
  .partners-carousel:has(.volunteer-track-card__fields) .volunteer-tracks__carousel {
    padding: 0 40px !important;
  }
}

@media (max-width: 1024px) {
  .partners-carousel:has(.volunteer-track-card__fields) .volunteer-tracks__carousel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .partners-carousel:has(.volunteer-track-card__fields) .volunteer-tracks__carousel {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 0 24px !important;
  }

  .partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card {
    padding: 24px !important;
  }

  .partners-carousel:has(.volunteer-track-card__fields) .volunteer-track-card h3 {
    font-size: 24px !important;
  }
}

/* Join cards with a "more" part (womafreesm_join, card field More) */
.join-card__details {
  margin-top: 12px;
}

.join-card__details summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.join-card__details summary::-webkit-details-marker {
  display: none;
}

.join-card__details summary::after {
  content: "+";
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
}

.join-card__details[open] summary::after {
  content: "\2212";
}

.join-card__field {
  margin-top: 14px;
}

.join-card__field h4 {
  margin: 0 0 4px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.join-card .join-card__field p,
.join-section--grid .join-card .join-card__field p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}

/* What Womafreesm builds as a compact index (womafreesm_builds, variant join-index):
   the same photo rows, lower, the title and one line */
.builds--join-index .build-card {
  min-height: 0 !important;
}

.builds--join-index .build-card__content {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.builds--join-index .build-card h3 {
  margin-bottom: 8px !important;
}

/* ==== 2026-10-05: the designer's notes on the page builder pages ==== */

/* Text and photo block: a button takes the width of its label (as on About), and a second, outline button
   stands beside it in one row */
.about-feature__text > .about-feature__button {
  align-self: flex-start;
}

.about-feature__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 48px;
}

.about-feature__actions .about-feature__button {
  margin-top: 0;
}

.about-feature__button--ghost {
  display: inline-flex;
  padding: 0 24px;
  font-size: 18px;
}

@media (max-width: 600px) {
  .about-feature__actions {
    margin-top: 24px;
  }

  /* on a phone both buttons take the column's width, as the single button does */
  .about-feature__actions .about-feature__button--ghost {
    width: 100%;
  }
}

/* Package cards: a line under the button with no list after it is plain body text, and cards without lists
   are as tall as their text */
.membership-packages--module .membership-package-card h4:not(:has(+ ul)) {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  color: #221a1f;
}

@media (min-width: 1248px) {
  .membership-packages--module .membership-packages__grid:not(:has(ul)) .membership-package-card {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .membership-packages--module .membership-package-card h4:not(:has(+ ul)) {
    font-size: 16px;
  }
}

/* The author line under a page (womafreesm_about_updated, style "author"): the accent subtitle, the name a link */
.about-updated--author .about-updated__inner p {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
  color: #462143;
}

.about-updated--author .about-updated__inner a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 600px) {
  .about-updated--author .about-updated__inner p {
    font-size: 20px;
  }
}

/* Photo cards without a heading (womafreesm_builds, heading left empty): no empty heading row above the cards */
.builds__heading:has(h2:empty):not(:has(.builds__subtitle)) {
  display: none;
}

.builds__inner:has(.builds__heading h2:empty):not(:has(.builds__subtitle)) .builds__list {
  margin-top: 0;
}

/* ---- /join-test, the ten doors as Marina's artifact sets them (2026-10-05): every card one height and one
   structure, the name on one line, the price line in one place above "More", and "More" opening as a layer over
   the cards below instead of stretching its row (womafreesm_join, variant "even") ---- */
.join-section--even .join-grid {
  align-items: stretch;
}

.join-section--even .join-card {
  position: relative;
  display: flex;
  flex-direction: column;
}

.join-section--even .join-card h3 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.join-section--even .join-card .join-card__note {
  margin-top: auto;
  padding-top: 16px;
}

.join-section--even .join-card__details {
  position: relative;
}

.join-section--even .join-card__details[open] {
  z-index: 6;
}

.join-section--even .join-card__details[open] .join-card__more {
  position: absolute;
  top: calc(100% + 8px);
  left: -24px;
  right: -24px;
  padding: 20px 24px;
  border-radius: 16px;
  background: #fcfaf1;
  box-shadow: 0 16px 40px rgba(34, 26, 31, 0.22);
}

/* the projects carousel: the name is the link */
.volunteer-track-card__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.volunteer-track-card__link:hover,
.volunteer-track-card__link:focus-visible {
  text-decoration-thickness: 2px;
}

/* /join-test: a card whose "More" is open sits above the cards after it (each card is its own layer while it
   fades in), and the question blocks keep the page's 120px above their heading */
.join-section--even .join-card:has(> .join-card__details[open]) {
  z-index: 10;
}

@media (min-width: 1248px) {
  .faq--heading-top .faq__inner {
    padding-top: 120px;
  }
}

@media (min-width: 601px) and (max-width: 1247px) {
  .faq--heading-top .faq__inner {
    padding-top: 96px;
  }
}

/* ==== 2026-10-05: membership page (Marina's artifact) and the payment form ==== */

/* first screen: a large line under the title, the price line above the button, a small line under it and the
   participants counter as the last line (membership hero, optional fields) */
.wf-hero--membership .wf-hero__lead {
  margin: 24px 0 0;
  max-width: 760px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-style: italic;
  line-height: 1.25;
  color: var(--wf-cream, #fffcf8);
}

.wf-hero--membership .wf-hero__price {
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.4;
  color: var(--wf-cream, #fffcf8);
}

.wf-hero--membership .wf-hero__note {
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.4;
  opacity: 0.85;
  color: var(--wf-cream, #fffcf8);
}

.wf-hero--membership .wf-hero__counter {
  position: absolute;
  left: 50%;
  bottom: 32px;
  z-index: 2;
  margin: 0;
  transform: translateX(-50%);
  font-size: 14px;
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0.8;
  color: var(--wf-cream, #fffcf8);
}

@media (max-width: 600px) {
  .wf-hero--membership .wf-hero__lead { font-size: 22px; }
  .wf-hero--membership .wf-hero__price { font-size: 16px; }
  .wf-hero--membership .wf-hero__counter { bottom: 20px; font-size: 13px; }
}

/* the three paths: a text link under a slide's list, and a line with a link under the slides */
.how-film__link {
  display: inline-block;
  margin-top: 16px;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.how-film__after {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: baseline;
  justify-content: center;
  width: min(100% - 48px, 1248px);
  margin: 32px auto 0;
  text-align: center;
  color: #221a1f;
}

.how-film__note {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.how-film__note-link {
  color: #984f91;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* a paragraph above a statement's heading */
.wf-statement__intro {
  max-width: var(--wf-statement-sub, 730px);
  margin: 0 auto 40px;
  font-size: 20px;
  line-height: 1.5;
  color: #221a1f;
}

@media (max-width: 600px) {
  .wf-statement__intro { margin-bottom: 24px; font-size: 16px; }
}

/* a line under the guarantee cards */
.membership-guarantee__note {
  margin: 40px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-style: italic;
  line-height: 1.3;
  text-align: center;
  color: var(--cream, #fffcf8);
}

/* the final block: several paragraphs, three buttons in one row (a column on a phone), a line under them */
.membership-final-cta--module .membership-final-cta__inner p + p {
  margin-top: 16px;
}

/* the three paths as one column of buttons of the same width: the widest label sets it, so the column fits
   every language; the last path is the library's secondary button */
.membership-final-cta__actions {
  display: grid;
  grid-template-columns: max-content;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
}

.membership-final-cta__actions .membership-final-cta__button {
  width: 100% !important;
  min-width: 360px !important;
  margin-top: 0;
  padding: 0 32px !important;
}

.membership-final-cta__button--ghost {
  border-color: var(--wf-main-dark) !important;
  background: transparent !important;
  color: var(--wf-main-dark) !important;
}

.membership-final-cta__note {
  margin: 24px 0 0;
  font-size: 14px;
  line-height: 1.4;
  opacity: 0.8;
}

@media (max-width: 600px) {
  .membership-final-cta__actions { grid-template-columns: 1fr; }
  .membership-final-cta__actions .membership-final-cta__button { min-width: 0 !important; height: auto !important; min-height: 48px !important; padding: 12px 16px !important; white-space: normal !important; line-height: 1.3 !important; }
}

/* ---- the payment form: two panels over the page, opened by links to #pay-member / #pay-impact ---- */
.wf-pay__panel {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.wf-pay__panel:target,
.wf-pay__panel.is-open {
  display: flex;
}

.wf-pay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(34, 26, 31, 0.6);
}

.wf-pay__box {
  position: relative;
  width: min(100%, 520px);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 40px;
  border-radius: 16px;
  background: #fcfaf1;
  color: #221a1f;
  box-shadow: 0 24px 60px rgba(34, 26, 31, 0.35);
}

.wf-pay__box h2 {
  margin: 0 40px 16px 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  color: #462143;
}

.wf-pay__box > p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.5;
}

.wf-pay__close {
  position: absolute;
  top: 16px;
  right: 20px;
  font-size: 32px;
  line-height: 1;
  color: #221a1f;
  text-decoration: none;
}

.wf-pay__amounts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 16px;
  padding: 0;
  border: 0;
}

.wf-pay__amounts legend {
  width: 100%;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
}

.wf-pay__amount {
  position: relative;
  margin: 0;
  cursor: pointer;
}

.wf-pay__amount input {
  position: absolute;
  opacity: 0;
}

.wf-pay__amount span {
  display: inline-block;
  min-width: 88px;
  padding: 10px 16px;
  border: 1px solid #984f91;
  border-radius: 8px;
  font-size: 16px;
  text-align: center;
  color: #984f91;
}

.wf-pay__amount input:checked + span {
  background: #984f91;
  color: #fffcf8;
}

.wf-pay__amount input:focus-visible + span {
  outline: 2px solid #462143;
  outline-offset: 2px;
}

.wf-pay__other {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0 0 8px;
  font-size: 14px;
}

.wf-pay__other input {
  width: 140px;
  padding: 8px 10px;
  border: 1px solid #c9c2c6;
  border-radius: 8px;
  font: inherit;
  font-size: 16px;
}

.wf-pay__hint,
.wf-pay__note {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.45;
  color: #656667;
}

.wf-pay__note {
  margin: 16px 0 0;
}

.wf-pay__error {
  margin: 0 0 12px;
  font-size: 14px;
  color: #a1262d;
}

.wf-pay__submit {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: #984f91;
  color: #fffcf8;
  font: inherit;
  font-size: 18px;
  cursor: pointer;
}

.wf-pay__submit:hover,
.wf-pay__submit:focus-visible {
  background: #5d295f;
}

.wf-pay__trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
}

.wf-pay-notice {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 99999;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  width: min(100% - 32px, 640px);
  padding: 16px 20px;
  border-radius: 12px;
  background: #221a1f;
  color: #fffcf8;
  box-shadow: 0 12px 32px rgba(34, 26, 31, 0.3);
  transform: translateX(-50%);
}

.wf-pay-notice p {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.wf-pay-notice__close {
  margin-left: auto;
  border: 0;
  background: none;
  color: inherit;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 600px) {
  .wf-pay__box { padding: 28px 20px; }
  .wf-pay__box h2 { font-size: 26px; }
}

/* the three paths: a heading over a slide's list and a paragraph after it */
.how-film__items-heading {
  margin: 20px 0 8px;
  font-weight: 600;
}

.how-film__after-text {
  margin-top: 16px;
}

/* membership first screen: the large line stands in the column of the text under it */
.wf-hero--membership .wf-hero__lead {
  width: min(612px, 100%);
  max-width: none;
  align-self: flex-end;
}

.how-film .how-film__after-text {
  margin-top: 16px;
}

/* membership first screen on a phone: with the extra lines the text is taller than the screen, so the block grows
   with it instead of cutting the bottom off, and the counter follows the text */
@media (max-width: 600px) {
  .wf-hero--membership:has(.wf-hero__lead) {
    height: auto;
    max-height: none;
  }

  .wf-hero--membership .wf-hero__counter {
    position: static;
    margin-top: 24px;
    transform: none;
    white-space: normal;
  }
}

/* Membership three paths on Alina's three-card block (membership_packages, button_last): every card one structure,
   the button below everything and on one line across the cards, a line with a link under the cards */
/* cards of one height (the row stretches them); the text runs from the top and the button sits at the bottom */
.membership-packages--button-last .membership-packages__grid {
  align-items: stretch;
}

.membership-packages--button-last .membership-package-card {
  display: flex !important;
  flex-direction: column;
  grid-row: auto !important;
  grid-template-rows: none !important;
}

.membership-packages--button-last .membership-package-card > * {
  align-self: stretch;
}

.membership-packages--button-last .membership-package-card__button {
  margin-top: auto !important;
  align-self: flex-start !important;
}

.membership-packages--button-last .membership-package-card__link {
  margin-bottom: 24px;
}

.membership-packages--module .membership-package-card__link {
  margin: 12px 0 0;
}

.membership-packages--module .membership-package-card__link a {
  color: #984f91;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.membership-packages__after {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: baseline;
  justify-content: center;
  margin-top: 40px;
  text-align: center;
  color: var(--cream, #fffcf8);
}

.membership-packages__after p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.membership-packages__after a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* What membership supports as a grid: Alina's cards on her photo, every point visible, no arrows */
.membership-support--grid .membership-support__bar {
  display: none;
}

.membership-support--grid .membership-support__carousel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: min(100% - 192px, 1248px);
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  transform: none !important;
}

.membership-support--grid .membership-support-card {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none;
}

@media (max-width: 1247px) {
  .membership-support--grid .membership-support__carousel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100% - 80px, 1248px);
  }
}

@media (max-width: 600px) {
  .membership-support--grid .membership-support__carousel {
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 48px);
  }
}

/* the conditions of a path are read before choosing: body text, not a small note */
.membership-packages--button-last .membership-package-card .membership-package-card__note {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.45;
  color: #221a1f;
  opacity: 1;
}

/* ==== 2026-10-05: volunteer page (Marina's Volunteer artifact) on its own blocks, and the application form ==== */

/* first screen: a paragraph under the subtitle, the five-minutes line a step larger, the counter as the last line */
.wf-hero--volunteer .wf-hero__text .wf-hero__paragraph {
  margin-top: 16px;
}

.wf-hero--volunteer .wf-hero__text .wf-hero__five {
  margin-top: 20px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-style: italic;
  line-height: 1.25;
}

.wf-hero--volunteer .wf-hero__counter {
  position: absolute;
  left: 50%;
  bottom: 32px;
  z-index: 2;
  margin: 0;
  transform: translateX(-50%);
  font-size: 14px;
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0.8;
  color: var(--wf-cream, #fffcf8);
}

@media (max-width: 600px) {
  .wf-hero--volunteer:has(.wf-hero__paragraph) {
    height: auto;
    max-height: none;
  }

  .wf-hero--volunteer .wf-hero__text .wf-hero__five { font-size: 22px; }

  .wf-hero--volunteer .wf-hero__counter {
    position: static;
    margin-top: 24px;
    transform: none;
    white-space: normal;
    font-size: 13px;
  }
}

/* the slider with every text in the HTML: the hidden panels stay out of the layout */
.life-cycle__panel[hidden] {
  display: none !important;
}

/* areas: the recognition line under the subtitle, the status line small under a card's paragraph */
.volunteer-tracks__heading .volunteer-tracks__note {
  margin-top: 16px;
  font-size: 20px;
  line-height: 1.4;
}

.volunteer-track-card .volunteer-track-card__status {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(252, 250, 241, 0.3);
  font-size: 15px;
  line-height: 1.4;
  opacity: 0.85;
}

/* tasks: six cards, three a row on a computer, a line under them */
.volunteer-tasks--three.volunteer-tasks--module .volunteer-tasks__inner {
  padding-right: 120px;
  padding-left: 120px;
}

.volunteer-tasks--three .volunteer-tasks__heading {
  max-width: 826px;
  margin-right: auto;
  margin-left: auto;
}

.volunteer-tasks--three .volunteer-tasks__grid {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.volunteer-tasks--three .volunteer-task-card {
  min-height: 0;
}

.volunteer-tasks__note {
  max-width: 826px;
  margin: 40px auto 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 1247px) {
  .volunteer-tasks--three.volunteer-tasks--module .volunteer-tasks__inner {
    padding-right: 24px;
    padding-left: 24px;
  }

  .volunteer-tasks--three .volunteer-tasks__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .volunteer-tasks--three .volunteer-tasks__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .volunteer-tasks__note {
    font-size: 16px;
    text-align: left;
  }
}

/* what you get: a text link under a card */
.volunteer-benefit-card .volunteer-benefit-card__link {
  display: inline-block;
  margin-top: 16px;
  color: inherit;
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* rules: a numbered list, the number in the marker */
.volunteer-rules--numbered .volunteer-rules__list {
  list-style: none;
}

.volunteer-rules--numbered .volunteer-rule {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 16px;
}

.volunteer-rules--numbered .volunteer-rule__marker {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50%;
  background: #d6bde1;
  color: #221a1f;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}

/* professional participation: the link under the paragraphs, the boundary line small, then the button */
.about-feature__text .about-feature__link a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.about-feature__text .about-feature__note {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.4;
  color: #656667;
}

/* the final block: two text links under the button, in one row (a column on a phone) */
.research-cta__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 32px;
  margin: 24px 0 0;
}

.research-cta__links a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 600px) {
  .research-cta__links {
    flex-direction: column;
    align-items: center;
  }
}

/* ---- the application form (#apply) ---- */
.wf-apply {
  padding: 160px 24px;
  background: var(--wf-main-white, #fcfaf1);
  color: #221a1f;
  scroll-margin-top: 80px;
}

.wf-apply__inner {
  width: min(100%, 826px);
  margin: 0 auto;
}

.wf-apply h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #221a1f;
}

.wf-apply__lead {
  margin: 24px 0 0;
  font-size: 20px;
  line-height: 1.4;
}

.wf-apply__form {
  margin-top: 48px;
}

.wf-apply__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.wf-apply__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 24px;
  font-weight: 400;
}

.wf-apply__field > span {
  font-size: 16px;
  line-height: 1.3;
  color: #221a1f;
}

.wf-apply__field input,
.wf-apply__field select,
.wf-apply__field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(34, 26, 31, 0.35);
  border-radius: 8px;
  background: #fff;
  color: #221a1f;
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
}

.wf-apply__field textarea {
  resize: vertical;
}

.wf-apply__field input:focus,
.wf-apply__field select:focus,
.wf-apply__field textarea:focus,
.wf-apply__check input:focus-visible {
  outline: 2px solid #984f91;
  outline-offset: 1px;
  border-color: #984f91;
}

.wf-apply__field.is-invalid input,
.wf-apply__field.is-invalid select,
.wf-apply__field.is-invalid textarea {
  border-color: #b3261e;
  box-shadow: 0 0 0 1px #b3261e;
}

.wf-apply__age {
  margin: 8px 0 16px;
  font-size: 16px;
  line-height: 1.4;
}

.wf-apply__check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}

.wf-apply__check input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: #984f91;
}

.wf-apply__check.is-invalid span {
  color: #b3261e;
}

.wf-apply__check a,
.wf-apply__small a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-apply__small {
  margin: 0 0 0 32px;
}

.wf-apply__small p {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.45;
  color: #656667;
}

.wf-apply__error {
  margin: 24px 0 0;
  color: #b3261e;
  font-size: 16px;
}

.wf-apply__before {
  margin: 32px 0 0;
  font-size: 18px;
  line-height: 1.4;
}

.wf-apply__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 24px;
  padding: 0 32px;
  border: 1px solid #984f91;
  border-radius: 8px;
  background: #984f91;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.wf-apply__submit:hover,
.wf-apply__submit:focus-visible {
  border-color: #5d295f;
  background: #5d295f;
}

.wf-apply__submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

.wf-apply__trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.wf-apply__done {
  margin-top: 32px;
  padding: 32px;
  border-radius: 16px;
  background: #f2f1f0;
  outline: none;
}

.wf-apply__done p {
  margin: 0;
  font-size: 22px;
  line-height: 1.4;
}

@media (max-width: 1247px) {
  .wf-apply {
    padding: 120px 24px;
  }
}

@media (max-width: 600px) {
  .wf-apply {
    padding: 96px 24px;
  }

  .wf-apply h2 {
    font-size: 40px;
  }

  .wf-apply__lead {
    font-size: 16px;
  }

  .wf-apply__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .wf-apply__small {
    margin-left: 0;
  }

  .wf-apply__submit {
    width: 100%;
  }
}

/* footer requisites (2026-10-05, designer's mockup): three lines (name, status, address), the logo's lilac */
.site-footer__organization-text span {
  display: block;
}

.site-footer .site-footer__organization-text {
  color: #d6bde1;
  opacity: 1;
}

/* ==== 2026-10-06: transparency page (Marina's Transparency artifact) ==== */

/* first screen: a second paragraph and a text link under the first one */
.wf-hero--about .wf-hero__text .wf-hero__paragraph {
  margin-top: 16px;
}

.wf-hero--about .wf-hero__text .wf-hero__link {
  margin-top: 20px;
}

.wf-hero--about .wf-hero__link a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* the contents row: one line of anchors under the first screen (not sticky: under the site's floating header it
   looked like a second header); on a phone a full-width drop-down list */
.wf-toc {
  border-bottom: 1px solid rgba(34, 26, 31, 0.12);
  background: #fcfaf1;
}

.wf-toc__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.wf-toc__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 24px;
  margin: 0;
  padding: 12px 0;
  list-style: none;
}

.wf-toc__list a {
  display: block;
  padding: 8px 0;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  line-height: 1.3;
  white-space: nowrap;
  text-decoration: none;
}

.wf-toc__list a:hover,
.wf-toc__list a:focus-visible {
  color: #984f91;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.wf-toc__select {
  display: none;
}

/* a section opened from the contents lands below the site's floating header */
.wf-toc ~ [id] {
  scroll-margin-top: 110px;
}

@media (max-width: 1247px) {
  .wf-toc__inner {
    padding: 0 24px;
  }
}

@media (max-width: 900px) {
  .wf-toc__list {
    display: none;
  }

  .wf-toc__select {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 24px 0;
    font-weight: 400;
  }

  .wf-toc__select-label {
    color: #656667;
    font-size: 14px;
    line-height: 1.3;
  }

  .wf-toc__select select {
    width: 100%;
    min-height: 48px;
    padding: 0 44px 0 14px;
    border: 1px solid rgba(34, 26, 31, 0.35);
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23221a1f' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;
    color: #221a1f;
    font: inherit;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
  }

  .wf-toc ~ [id] {
    scroll-margin-top: 96px;
  }
}

/* text inside the split blocks: links, small headings, the copy button */
.tr-split__text a,
.tr-split__lead a,
.about-legal__list a,
.life-cycle__panel a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tr-split__h4 {
  margin: 8px 0 -12px;
  font-family: "Lora", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.tr-split__copy {
  align-self: flex-start;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #221a1f;
  border-radius: 8px;
  background: transparent;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  cursor: pointer;
}

.tr-split__copy:hover,
.tr-split__copy:focus-visible {
  border-color: #984f91;
  color: #984f91;
}

/* the table's footnote with a heading of its own */
.tr-facts__note .tr-facts__note-title {
  margin: 0 0 8px;
  font-family: "Lora", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

/* legal record: the line under the table; the sources and the coverage as lists with the address visible */
.about-legal .about-legal__note {
  margin: 24px 0 0;
  font-size: 18px;
  line-height: 1.4;
}

.about-legal--list .about-legal__sources {
  margin-top: 72px;
}

.about-legal--list .about-legal__sources h3 {
  margin: 0 0 24px;
  font-family: "Lora", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.about-legal__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-legal__list li {
  padding: 20px 0;
  border-top: 1px solid rgba(34, 26, 31, 0.2);
}

.about-legal__list li:last-child {
  border-bottom: 1px solid rgba(34, 26, 31, 0.2);
}

.about-legal__list h4 {
  margin: 0 0 8px;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.about-legal__list p {
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
}

.about-legal__list li > a {
  display: inline-block;
  margin-top: 8px;
  color: #984f91;
  font-size: 16px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  .tr-split__h4 {
    font-size: 24px;
  }

  .about-legal--list .about-legal__sources {
    margin-top: 48px;
  }

  .about-legal--list .about-legal__sources h3 {
    font-size: 32px;
  }

  .about-legal__list p {
    font-size: 16px;
  }
}

/* the transparency first screen with the long H1 and two paragraphs: the block grows with its text instead of
   pushing the title under the breadcrumbs (the title keeps the site's fixed size) */
.wf-hero--transparency:has(.wf-hero__paragraph) {
  height: auto;
  max-height: none;
  min-height: min(920px, 100svh);
}

.wf-hero--transparency:has(.wf-hero__paragraph) .wf-hero__content {
  padding-top: 180px;
  padding-bottom: 80px;
}

/* research limits: the first paragraph under the heading reads as body text, not a narrow centred line */
#research-limits .tr-split__head p {
  max-width: 826px;
}

/* Documents and the final block: one column in the middle, the empty second column out of the way */
#documents .tr-split__body,
#data-brief .tr-split__body {
  grid-template-columns: minmax(0, 826px);
  justify-content: center;
}

#documents .tr-split__side:not(:has(*)),
#data-brief .tr-split__side:not(:has(*)) {
  display: none;
}

#data-brief .tr-split__text {
  font-size: 22px;
}

/* ==== 2026-10-06: How it works page (Marina's How It Works artifact) ==== */

/* the causal chain under the canonical paragraph, one line in the brand colour */
.wf-prose--howitworks .wf-prose__highlight {
  margin-top: 24px;
  padding: 16px 0 0;
  border-top: 1px solid rgba(34, 26, 31, 0.2);
  color: #5d295f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-style: italic;
  line-height: 1.45;
}

/* the film: a small status line under a panel's heading ("Being designed.") */
.how-film__status {
  display: inline-block;
  align-self: flex-start;
  margin: 12px 0 0 !important;
  padding: 4px 10px;
  border-radius: 4px;
  background: #d6bde1;
  color: #221a1f !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

.how-film__glass a:not(.how-film__button),
.how-film__text a:not(.how-film__button) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* the tabs: a text link under each tab's text */
.life-cycle__panel .life-cycle__panel-link {
  margin-top: 20px;
}

.life-cycle__panel .life-cycle__panel-link a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* participation: one button under the intro instead of the cards */
.join-section__intro .join-section__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 32px;
  padding: 0 32px;
  border: 1px solid #984f91;
  border-radius: 8px;
  background: #984f91;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.join-section__intro .join-section__button:hover,
.join-section__intro .join-section__button:focus-visible {
  border-color: #5d295f;
  background: #5d295f;
  color: #fcfaf1;
}

/* what we choose: links in a card, the price of the choice under the cards */
.build-card__content p a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.builds__after {
  width: min(100%, 826px);
  margin: 72px auto 0;
}

.builds__after h3 {
  margin: 0 0 20px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.builds__after p {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.45;
}

@media (max-width: 600px) {
  .wf-prose--howitworks .wf-prose__highlight {
    font-size: 18px;
  }

  .builds__after {
    margin-top: 48px;
  }

  .builds__after h3 {
    font-size: 32px;
  }

  .builds__after p {
    font-size: 16px;
  }

  .join-section__intro .join-section__button {
    width: 100%;
  }
}

/* participation without the cards: a full photo band with the site's section spacing, the text in the middle of it */
.join-section:not(:has(.join-grid)) .join-section__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 640px;
  padding-top: 160px;
  padding-bottom: 160px;
}

@media (max-width: 600px) {
  .join-section:not(:has(.join-grid)) .join-section__content {
    min-height: 0;
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

/* ==== 2026-10-06: About page (Marina's About artifact) ==== */

/* first screen: the button and the text link side by side under the subtitle */
.wf-hero--about .wf-hero__text:has(.wf-hero__link) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 28px;
}

.wf-hero--about .wf-hero__text:has(.wf-hero__link) .wf-hero__button + .wf-hero__link {
  margin-top: 20px;
}

.wf-hero--about .wf-hero__text:has(.wf-hero__link) > p:not(.wf-hero__link) {
  flex: 0 0 100%;
}

.wf-hero--about .wf-hero__text:has(.wf-hero__link) .wf-hero__link {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}

.wf-hero--about .wf-hero__text:has(.wf-hero__link) .wf-hero__button {
  margin-right: 0;
}

/* the chain: without the explanation beside it, one centred column with a text link under it */
.about-chain .about-chain__body:not(:has(.about-chain__note)) {
  grid-template-columns: minmax(0, 404px);
  justify-content: center;
  gap: 40px;
}

.about-chain__link {
  margin: 0;
  font-size: 20px;
  text-align: center;
}

.about-chain__link a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* the civilizational level: the line of cultural projects under the carousel */
.about-carousel__after {
  position: relative;
  z-index: 1;
  width: min(100%, 1440px);
  margin: 40px auto 0;
  padding: 0 96px;
  color: var(--cream, #fcfaf1);
  font-size: 20px;
  line-height: 1.4;
}

.about-carousel__after a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* the timeline: a source link under each dated line */
.system--about-timeline .system-step__source {
  margin-top: 8px;
  font-size: 15px;
}

.system--about-timeline .system-step__source a {
  color: #984f91;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.system--about-timeline .system-step__source a::after {
  content: " \2197";
}

/* registered and open to check: the link under the coverage */
.about-legal__after {
  margin: 24px 0 0;
  font-size: 18px;
}

.about-legal__after a,
.about-legal .about-legal__note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* where to start: the button and the text link side by side, the contacts under them */
.join-section__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin-top: 32px;
}

.join-section__actions .join-section__button {
  margin-top: 0;
}

.join-section__link {
  color: inherit;
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.join-section__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin: 28px 0 0 !important;
  font-size: 18px;
}

.join-section__contacts a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

@media (max-width: 1247px) {
  .about-carousel__after {
    padding: 0 24px;
  }
}

@media (max-width: 600px) {
  .about-carousel__after,
  .about-chain__link,
  .about-legal__after,
  .join-section__link,
  .join-section__contacts {
    font-size: 16px;
  }

  .join-section__actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* ==== 2026-10-07: Assembly page (Marina's Assembly artifact) ==== */

/* first screen: the long H1 flows as one run (the site's fixed size), and the block grows with its text so the
   button, the link and the quiet line stay on the photo */
.wf-hero--assembly:has(.wf-hero__help) .wf-hero__title > span {
  display: inline;
  white-space: normal;
}

.wf-hero--assembly:has(.wf-hero__help) {
  height: auto;
  max-height: none;
  min-height: min(920px, 100svh);
}

.wf-hero--assembly:has(.wf-hero__help) .wf-hero__content {
  padding-top: 180px;
  padding-bottom: 80px;
}

/* first screen: the quiet line for a woman who needs help, under the button and the link */
.wf-hero__help {
  flex: 0 0 100%;
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.4;
}

.wf-hero__help a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: 0.85;
}

.wf-hero__help a:hover {
  opacity: 1;
}

/* four facts: cards without a heading */
.volunteer-benefits__inner:not(:has(h2)) .volunteer-benefits__grid {
  margin-top: 0;
}

/* find your door: the heading, then the photo beside the card */
.as-door__head {
  max-width: 826px;
  margin: 0 0 48px;
}

.as-door .as-door__head h2 {
  margin: 0 0 20px;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.as-door__head p {
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  line-height: 1.4;
}

.as-door__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 24px;
  align-items: start;
}

.as-door__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  border-radius: 24px;
}

.as-door .wf-hn__options {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.as-door h3:focus {
  outline: none;
}

.as-door__result .wf-hn__lead {
  max-width: none;
  color: var(--ink);
}

.as-door__reset {
  display: inline-block;
  margin-top: 16px;
}

/* why the world needs the Assembly: two numbers with their sources, then the closing text */
.global-network__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: min(100%, 1248px);
  margin: 72px auto 0;
}

.global-network__stat {
  padding: 32px;
  border-radius: 24px;
  background: rgba(252, 250, 241, 0.7);
}

.global-network__stat p {
  margin: 0;
}

.global-network__stat-number {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 64px;
  line-height: 1;
  color: #5d295f;
}

.global-network__stat-text {
  margin-top: 16px !important;
  font-size: 18px;
  line-height: 1.4;
}

.global-network__stat-source {
  margin-top: 16px !important;
  font-size: 14px;
  line-height: 1.4;
}

.global-network__stat-source a,
.global-network__after a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.global-network__after {
  width: min(100%, 826px);
  margin: 72px auto 0;
  font-size: 20px;
  line-height: 1.4;
}

.global-network__after p {
  margin: 0 0 24px;
}

.global-network__after .global-network__close {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.3;
  color: #5d295f;
}

/* how the Assembly works as one force: a paragraph and three links under the list */
.volunteer-rules__after {
  width: min(100%, 826px);
  margin: 64px auto 0;
  font-size: 20px;
  line-height: 1.4;
}

.volunteer-rules__after p {
  margin: 0 0 24px;
}

.volunteer-rules__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
}

.volunteer-rules__links a {
  color: #5d295f;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* one force / limits: each point has a heading of its own */
.wf-hero--assembly ~ .volunteer-rules .volunteer-rule__body h3 {
  margin: 0 0 8px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
  text-transform: none;
}

/* what the Assembly produces: the two links under the carousel stand apart */
.about-carousel__after a + a {
  margin-left: 32px;
}

/* which cases / two rules: a button and a quiet line under the cards */
.builds__after:has(.builds__button) {
  text-align: center;
}

.builds__after a:not(.builds__button) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.builds__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 24px;
  border: 1px solid var(--wf-action, #984f91);
  border-radius: 8px;
  background: var(--wf-action, #984f91);
  color: var(--wf-main-white, #fcfaf1);
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.builds__button:hover,
.builds__button:focus-visible {
  border-color: var(--wf-action-hover, #7c3d76);
  background: var(--wf-action-hover, #7c3d76);
  color: var(--wf-main-white, #fcfaf1);
}

.builds__quiet {
  margin: 20px 0 0 !important;
  font-size: 16px !important;
}

/* how a case becomes a change: the pull quote under the steps */
.system__quote {
  margin: 48px 0 0;
  padding: 0 0 0 24px;
  border-left: 2px solid #984f91;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.35;
}

/* what each status means: the link in the note */
.tr-facts__note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* partner organizations: what the organization gains, in the panel */
.research-cta__panel .research-cta__list-title {
  margin-top: 24px;
  font-weight: 600;
}

.research-cta__list {
  max-width: 720px;
  margin: 12px auto 0;
  padding: 0;
  list-style: none;
  font-size: 18px;
  line-height: 1.4;
}

.research-cta__list li {
  margin: 0 0 6px;
}

.research-cta__list li::before {
  content: "\2022";
  margin-right: 10px;
  color: #d6bde1;
}

/* the final block: four text links in a row */
.membership-final-cta__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 32px;
  margin: 40px 0 0 !important;
  font-size: 18px;
}

.membership-final-cta__links a {
  color: #5d295f;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 1247px) {
  .global-network__stats,
  .global-network__after,
  .volunteer-rules__after {
    padding: 0 24px;
  }
}

@media (max-width: 900px) {
  .as-door__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .as-door__media {
    order: 2;
  }

  .as-door__media img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 600px) {
  .as-door .as-door__head h2 {
    font-size: 40px;
  }

  .as-door__head p,
  .global-network__after,
  .volunteer-rules__after,
  .membership-final-cta__links {
    font-size: 16px;
  }

  .as-door__head {
    margin-bottom: 32px;
  }

  .global-network__stats {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 48px;
  }

  .global-network__stat {
    padding: 24px;
  }

  .global-network__stat-number {
    font-size: 48px;
  }

  .global-network__stat-text {
    font-size: 16px;
  }

  .global-network__after {
    margin-top: 48px;
  }

  .global-network__after .global-network__close {
    font-size: 22px;
  }

  .volunteer-rules__after {
    margin-top: 48px;
  }

  .system__quote {
    font-size: 20px;
  }

  .wf-hero--assembly:has(.wf-hero__help) .wf-hero__content {
    padding-top: 140px;
    padding-bottom: 56px;
  }

  .wf-hero--assembly ~ .volunteer-rules .volunteer-rule__body h3 {
    font-size: 20px;
  }

  .about-carousel__after a + a {
    margin-left: 0;
  }

  .about-carousel__after a {
    display: block;
    margin-top: 8px;
  }

  .research-cta__list {
    font-size: 16px;
  }
}

/* long compound words (German) wrap inside the partner panel on a phone instead of running past it */
.wf-hero--assembly ~ .research-cta .research-cta__panel {
  overflow-wrap: break-word;
  hyphens: auto;
}

/* the panel keeps to the column on a phone; a long button label (German) wraps onto two lines */
.wf-hero--assembly ~ .research-cta .research-cta__panel {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 600px) {
  .wf-hero--assembly ~ .research-cta .research-cta__actions a {
    height: auto !important;
    min-height: 48px !important;
    padding: 12px 20px !important;
    white-space: normal;
    text-align: center;
    line-height: 1.25 !important;
  }
}

/* ---- 2026-10-07, review of the Assembly test page ---- */

/* first screen: the name at the title size, the rest of the long H1 as a smaller second line */
.wf-hero__title-rest {
  display: block;
  margin-top: 20px;
  font-size: 40px;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

/* first screen: the button and "Submit a case" side by side, the quiet help line under them */
.wf-hero--assembly:has(.wf-hero__help) .wf-hero__text {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: 28px;
}

.wf-hero--assembly:has(.wf-hero__help) .wf-hero__text > p:not(.wf-hero__link) {
  flex: 0 0 100%;
}

.wf-hero--assembly:has(.wf-hero__help) .wf-hero__text .wf-hero__link {
  margin: 0;
  font-size: 18px;
}

/* four facts: a light band of cards under the photo of the first screen, not a second photo */
.wf-hero--assembly + .volunteer-benefits {
  min-height: 0;
  padding: 96px 0;
  background: #fcfaf1;
}

.wf-hero--assembly + .volunteer-benefits .volunteer-benefits__bg,
.wf-hero--assembly + .volunteer-benefits .volunteer-benefits__shade {
  display: none;
}

.wf-hero--assembly + .volunteer-benefits .volunteer-benefits__inner {
  padding: 0 96px;
}

.wf-hero--assembly + .volunteer-benefits .volunteer-benefits__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.wf-hero--assembly + .volunteer-benefits .volunteer-benefit-card {
  min-height: 0;
  padding: 32px 28px;
  border-radius: 24px;
  background: #f2f1f0;
  color: #221a1f;
  backdrop-filter: none;
}

.wf-hero--assembly + .volunteer-benefits .volunteer-benefit-card h3 {
  margin: 0 0 16px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #984f91;
}

.wf-hero--assembly + .volunteer-benefits .volunteer-benefit-card p {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.3;
  color: #221a1f;
}

/* find your door: the photo is as tall as the card */
.as-door__grid {
  align-items: stretch;
}

.as-door__media {
  display: flex;
}

.as-door__media img {
  height: auto;
  min-height: 0;
  flex: 1 1 auto;
}

/* what the Assembly is: the photo is as tall as the text beside it */
#about .tr-split__side:has(.tr-split__media) {
  display: flex;
}

#about .tr-split__media {
  display: flex;
  flex: 1 1 auto;
  height: auto !important;
}

#about .tr-split__media img {
  flex: 1 1 auto;
  width: 100%;
  height: auto !important;
  min-height: 100%;
  object-fit: cover;
}

/* one force: four cards in two columns, no stretched photo */
#force .volunteer-rules__body {
  grid-template-columns: minmax(0, 1fr);
}

#force .volunteer-rules__media {
  display: none;
}

#force .volunteer-rules__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  padding: 0;
  background: transparent;
}

#force .volunteer-rule {
  align-content: start;
  padding: 32px;
  border-radius: 24px;
  background: #f2f1f0;
}

#force .volunteer-rule__body p {
  font-size: 18px;
  line-height: 1.45;
}

@media (max-width: 1247px) {
  .wf-hero--assembly + .volunteer-benefits .volunteer-benefits__inner {
    padding: 0 24px;
  }

  .wf-hero--assembly + .volunteer-benefits .volunteer-benefits__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  #force .volunteer-rules__list {
    grid-template-columns: minmax(0, 1fr);
  }

  #about .tr-split__media img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .as-door__media img {
    flex: none;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 600px) {
  .wf-hero__title-rest {
    margin-top: 12px;
    font-size: 26px;
  }

  .wf-hero--assembly + .volunteer-benefits {
    padding: 64px 0;
  }

  .wf-hero--assembly + .volunteer-benefits .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .wf-hero--assembly + .volunteer-benefits .volunteer-benefit-card {
    padding: 24px;
  }

  .wf-hero--assembly + .volunteer-benefits .volunteer-benefit-card p {
    font-size: 20px;
  }

  #force .volunteer-rule {
    padding: 24px;
  }

  #force .volunteer-rule__body p {
    font-size: 16px;
  }
}

/* the facts band sits closer under the first screen; the numbers of the four cards align with their headings */
.wf-hero--assembly + .volunteer-benefits {
  padding: 72px 0 0;
}

#force .volunteer-rule {
  align-items: start;
}

#force .volunteer-rule__marker {
  align-self: start;
  margin-top: 2px;
}

@media (max-width: 600px) {
  .wf-hero--assembly + .volunteer-benefits {
    padding: 56px 0 0;
  }
}

/* ==== 2026-10-07: Assembly subpages (partnership, experts, submit a case) ==== */

/* light cards: a heading, a paragraph, cards on cream, paragraphs under them */
.volunteer-benefits.volunteer-benefits--light {
  min-height: 0;
  padding: 120px 0;
  background: #fcfaf1;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefits__bg,
.volunteer-benefits.volunteer-benefits--light .volunteer-benefits__shade {
  display: none;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefits__inner {
  padding: 0 96px;
}

.volunteer-benefits.volunteer-benefits--light h2 {
  max-width: 826px;
  margin: 0 0 20px;
  color: #221a1f;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: left;
}

.volunteer-benefits__intro {
  max-width: 826px;
  margin: 0 0 40px;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.4;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefits__grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 40px;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefits__intro + .volunteer-benefits__grid,
.volunteer-benefits.volunteer-benefits--light .volunteer-benefits__inner > .volunteer-benefits__grid:first-child {
  margin-top: 0;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefit-card {
  min-height: 0;
  padding: 32px 28px;
  border-radius: 24px;
  background: #f2f1f0;
  color: #221a1f;
  backdrop-filter: none;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefit-card h3 {
  margin: 0 0 12px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.volunteer-benefits.volunteer-benefits--light .volunteer-benefit-card p {
  margin: 0;
  color: #221a1f;
  font-size: 17px;
  line-height: 1.45;
}

.volunteer-benefits__after {
  max-width: 826px;
  margin: 40px 0 0;
  color: #221a1f;
  font-size: 18px;
  line-height: 1.45;
}

.volunteer-benefits__after p {
  margin: 0 0 16px;
}

.volunteer-benefits__after a {
  color: #5d295f;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* a button under a list or under steps */
.volunteer-rules__button {
  margin-top: 8px;
}

.system__after {
  margin-top: 40px;
}

.system__after p {
  margin: 0 0 20px;
  font-size: 18px;
}

.system__after a:not(.builds__button) {
  color: #5d295f;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* questions: a line above the link under them */
.faq__after {
  margin: 40px 0 0;
  font-size: 20px;
  line-height: 1.4;
}

/* "If you are in danger right now": one column of text, no photo */
#safety .about-feature__body:not(:has(.about-feature__media)) {
  grid-template-columns: minmax(0, 826px);
  justify-content: center;
}

#safety .about-feature__heading,
#safety .about-feature__text {
  max-width: 826px;
  margin-right: auto;
  margin-left: auto;
}

#safety .about-feature__text p:first-child {
  font-weight: 600;
}

/* the case form */
.as-case__test {
  margin-top: 16px !important;
  padding: 12px 16px;
  border-left: 3px solid #984f91;
  background: rgba(152, 79, 145, 0.08);
  font-size: 16px !important;
}

.as-case__card {
  max-width: 900px;
}

.as-case fieldset {
  min-width: 0;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

.as-case legend {
  margin-bottom: 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.as-case__danger {
  padding: 20px 24px !important;
  border-radius: 16px !important;
  background: rgba(152, 79, 145, 0.08) !important;
}

.as-case__danger-help p {
  margin: 12px 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.4;
}

.as-case__choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 10px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;
}

.as-case__choice input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #984f91;
}

.as-case__danger .as-case__choice {
  display: inline-flex;
  margin-right: 24px;
}

.as-case__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.as-case__step h3 {
  margin-bottom: 20px !important;
}

.as-case__step h3:focus {
  outline: none;
}

.as-case textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #656667;
  border-radius: 8px;
  background-color: #fcfaf1;
  color: var(--ink);
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.4;
  resize: vertical;
}

.as-case textarea:focus {
  outline: none;
  border-color: #984f91;
  box-shadow: 0 0 0 3px rgba(152, 79, 145, 0.16);
}

.as-case [aria-invalid="true"] {
  border-color: #873d32 !important;
}

.as-case__consent [aria-invalid="true"] {
  outline: 2px solid #873d32;
}

.as-case__ai {
  margin: 8px 0 16px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

.as-case__ai a {
  color: #5d295f;
  text-decoration: underline;
}

.as-case__consent {
  margin-bottom: 14px;
}

.as-case__done p {
  margin: 24px 0 0;
  padding: 16px 20px;
  border-radius: 12px;
  background: rgba(152, 79, 145, 0.08);
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
}

/* "Leave this page": fixed in the corner on every screen, calm, above the page */
.as-leave {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(34, 26, 31, 0.25);
  border-radius: 999px;
  background: #fcfaf1;
  box-shadow: 0 4px 16px rgba(34, 26, 31, 0.15);
  color: #221a1f;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  text-decoration: none;
}

.as-leave:hover,
.as-leave:focus-visible {
  border-color: #984f91;
  color: #5d295f;
}

@media (max-width: 1247px) {
  .volunteer-benefits.volunteer-benefits--light .volunteer-benefits__inner {
    padding: 0 24px;
  }
}

@media (max-width: 600px) {
  .volunteer-benefits.volunteer-benefits--light {
    padding: 96px 0;
  }

  .volunteer-benefits.volunteer-benefits--light h2 {
    font-size: 40px;
  }

  .volunteer-benefits__intro,
  .volunteer-benefits__after,
  .faq__after {
    font-size: 16px;
  }

  .volunteer-benefits.volunteer-benefits--light .volunteer-benefit-card {
    padding: 24px;
  }

  .volunteer-benefits.volunteer-benefits--light .volunteer-benefit-card h3 {
    font-size: 21px;
  }

  .volunteer-benefits.volunteer-benefits--light .volunteer-benefit-card p {
    font-size: 16px;
  }

  .as-leave {
    right: 12px;
    bottom: 12px;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 14px;
  }

  .as-case__danger .as-case__choice {
    display: flex;
  }
}

/* the subpages: a photo beside text is as tall as the text (as on the hub's #about) */
.wf-hero--assembly ~ .tr-split .tr-split__side:has(.tr-split__media) {
  display: flex;
}

.wf-hero--assembly ~ .tr-split .tr-split__media {
  display: flex;
  flex: 1 1 auto;
  height: auto !important;
}

.wf-hero--assembly ~ .tr-split .tr-split__media img {
  flex: 1 1 auto;
  width: 100%;
  height: auto !important;
  min-height: 100%;
  object-fit: cover;
}

/* cards that continue the text block above them (no heading of their own) sit close under it */
.tr-split + .volunteer-benefits.volunteer-benefits--light:not(:has(h2)) {
  padding-top: 0;
}

/* six tasks of the experts: three columns, two rows */
#tasks .volunteer-benefits__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
  #tasks .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .wf-hero--assembly ~ .tr-split .tr-split__media img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}

/* /join-test sync (2026-10-11): lists under "More" in the door cards (Marina 52.57: one point per line, bulleted)
   and the single button of the final "Which door is yours?" (womafreesm_join_paths button_text/button_url) */
.join-card__field-list {
  margin: 4px 0 0;
  padding-left: 20px;
  list-style: disc;
}

.join-card .join-card__field-list li {
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.5;
}

/* the final with one button and no rows: heading, line and button together, centred */
.join-paths__inner:has(> .join-paths__action) {
  gap: 24px;
  align-items: center;
  text-align: center;
}

.join-paths__inner:has(> .join-paths__action) .join-paths__note {
  max-width: 760px;
  margin: 0;
}

.join-paths__action {
  margin: 8px 0 0;
}

.join-paths__action .join-card__button {
  display: inline-flex;
  padding: 0 24px;
}

/* /membership-test sync (2026-10-11): womafreesm_howitworks_film optional intro above the slides and price line
   above the button (membership: each path in full) */
.how-film__intro {
  width: min(100% - 48px, 1248px);
  margin: 0 auto;
  padding: 64px 0 40px;
  font-size: 20px;
  line-height: 1.6;
}

.how-film__price {
  margin: 20px 0 0;
  font-weight: 600;
}

.how-film__price + .how-film__button {
  margin-top: 12px;
}

/* /transparency-test sync (2026-10-11): womafreesm_transparency_split optional parts. "View all documents" opens
   the policies and the Assembly documents in place (one summary, two labels); a line after the buttons. */
.tr-split__more {
  margin-top: 24px;
}

.tr-split__more > summary {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  margin-bottom: 8px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  border-radius: 8px;
  cursor: pointer;
  list-style: none;
}

.tr-split__more > summary::-webkit-details-marker {
  display: none;
}

.tr-split__more[open] .tr-split__more-open,
.tr-split__more:not([open]) .tr-split__more-close {
  display: none;
}

.tr-split__panel .tr-split__more .tr-split__h4 {
  margin: 28px 0 8px;
  line-height: 1.3;
}

.tr-split__panel .tr-split__more .tr-split__text {
  margin: 8px 0 0;
  line-height: 1.5;
}

.tr-split__after {
  margin-top: 16px;
}

/* Footer on a phone (2026-10-12, Marina): the social icons stand in a column along the right edge, under the
   right-hand link column, so the two text columns keep their width */
@media (max-width: 599px) {
  .site-footer__social {
    flex-direction: column;
    align-items: flex-end;
    justify-self: end;
    gap: 18px;
    padding-top: 2px;
    text-align: right;
  }
}

/* Assembly documents (2026-10-13): an optional line under the list, e.g. where to report a breach of the rules */
.as-docs__after {
  margin: -32px 0 0;
  padding: 0 24px;
  color: var(--ink);
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.5;
}

.as-docs__after a {
  color: var(--purple);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 600px) {
  .as-docs__after {
    margin-top: -16px;
    padding: 0;
    font-size: 16px;
  }
}

/* ===== Home test, Alina's review in Figma (2026-10-14): only modules with the setting wf_look = v2 ===== */

/* "View All" next to a block heading (Figma: Open Sans 16, Gray 04, chevron) */
.wf-view-all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  color: #656667;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}

.wf-view-all svg {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  color: #221a1f;
}

.wf-view-all:hover,
.wf-view-all:focus-visible {
  color: #221a1f;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* How the system works: the button starts where the step texts start */
.system.wf-look-v2 .system__cta {
  padding-left: 112px;
}

/* What Womafreesm builds: the card link is an outline button, white on the photo */
.builds.wf-look-v2 .build-card__content h3 + p {
  margin-top: 32px;
}

.builds.wf-look-v2 .build-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  margin-top: 40px;
  padding: 0 24px;
  border: 1px solid #fcfaf1;
  border-radius: 8px;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: font-size 160ms ease;
}

.builds.wf-look-v2 .build-card__button::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.builds.wf-look-v2 .build-card__button:hover,
.builds.wf-look-v2 .build-card__button:focus-visible {
  color: #fcfaf1;
  text-decoration: none;
}

.builds.wf-look-v2 .build-card__button:hover::after,
.builds.wf-look-v2 .build-card__button:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

/* How to join: the help line on the right, a plain text link */
.join-section.wf-look-v2 .join-section__after {
  align-items: flex-end;
  max-width: none;
  margin-right: 96px;
  margin-left: 96px;
  padding-right: 0;
  padding-left: 0;
  text-align: right;
}

.join-section.wf-look-v2 .join-section__help .wf-extra-link::after {
  content: none;
}

/* Verify: "View All" on the row of each group heading */
.verify-sources.wf-look-v2 .verify-sources__group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.verify-sources.wf-look-v2 .verify-sources__group-head h3 {
  min-width: 0;
  margin: 0;
}

/* The Index: "Slide 1/4" over the title, arrows, the link as a button in the card */
.life-cycle.wf-look-v2 .life-cycle__card {
  padding: 48px;
  border-radius: 24px;
}

.life-cycle.wf-look-v2 .life-cycle__counter {
  max-width: none;
  margin: 0 0 8px;
  color: #656667;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.life-cycle.wf-look-v2 .life-cycle__card h3 {
  font-size: 32px;
  line-height: 1.2;
}

.life-cycle.wf-look-v2 .life-cycle__controls {
  display: none;
}

.life-cycle.wf-look-v2 .life-cycle__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 32px;
}

.life-cycle.wf-look-v2 .life-cycle__arrows {
  display: flex;
  gap: 16px;
}

.life-cycle.wf-look-v2 .life-cycle__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #221a1f;
  border-radius: 50%;
  background: transparent;
  color: #221a1f;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

.life-cycle.wf-look-v2 .life-cycle__arrow:hover,
.life-cycle.wf-look-v2 .life-cycle__arrow:focus-visible {
  background: #221a1f;
  color: #fcfaf1;
}

.life-cycle.wf-look-v2 .life-cycle__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 8px;
  background: #984f91;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background 160ms ease, font-size 160ms ease;
}

.life-cycle.wf-look-v2 .life-cycle__button:hover,
.life-cycle.wf-look-v2 .life-cycle__button:focus-visible {
  background: #5d295f;
  color: #fcfaf1;
  text-decoration: none;
}

/* Projects: Read more sits 32px under the text */
.active-projects.wf-look-v2 .project-row__content {
  min-height: 0;
}

.active-projects.wf-look-v2 .project-row__button {
  margin-top: 32px;
}

/* Updates and blog: the card title weight from the design, at most three lines of text */
.updates.wf-look-v2 .update-card h3 {
  font-weight: 600;
}

.updates.wf-look-v2 .update-card h3 + p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* The final call: the note stands above the button */
.research-cta.wf-look-v2 .research-cta__note--above {
  margin: 24px auto 0;
}

@media (max-width: 1247px) {
  .system.wf-look-v2 .system__cta {
    padding-left: 40px;
  }

  .join-section.wf-look-v2 .join-section__after {
    margin-right: 0;
    margin-left: 0;
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (min-width: 901px) and (max-width: 1247px) {
  .system.wf-look-v2 .system__cta {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 600px) {
  .builds.wf-look-v2 .build-card__content h3 + p {
    margin-top: 16px;
  }

  .builds.wf-look-v2 .build-card__button {
    height: 44px;
    margin-top: 24px;
    font-size: 16px;
  }

  .life-cycle.wf-look-v2 .life-cycle__card {
    padding: 24px 16px;
    border-radius: 16px;
  }

  .life-cycle.wf-look-v2 .life-cycle__counter {
    font-size: 24px;
  }

  .life-cycle.wf-look-v2 .life-cycle__card h3 {
    font-size: 24px;
    line-height: 1.3;
  }

  .life-cycle.wf-look-v2 .life-cycle__arrow {
    width: 44px;
    height: 44px;
  }

  .life-cycle.wf-look-v2 .life-cycle__button {
    min-height: 44px;
    font-size: 16px;
  }

  .active-projects.wf-look-v2 .project-row__button {
    margin-top: 24px;
  }

  .wf-view-all {
    font-size: 14px;
  }
}

/* FAQ, every accordion on the site (the user, 2026-10-14): the plus and minus icons from the design system
   (Icons/add-large, Icons/minus, 24px) instead of the "+" and "-" characters */
.faq-item summary::after {
  content: "";
  width: 24px;
  height: 24px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.5 7.5V2.5H7.5V7.5H2.5V8.5H7.5V13.5H8.5V8.5H13.5V7.5H8.5Z'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.5 7.5V2.5H7.5V7.5H2.5V8.5H7.5V13.5H8.5V8.5H13.5V7.5H8.5Z'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
  font-size: 0;
}

.faq-item[open] summary::after {
  content: "";
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 7.5V8.5H13.5V7.5H2.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 7.5V8.5H13.5V7.5H2.5Z'/%3E%3C/svg%3E");
}

/* FAQ: "View All" on the heading row (to /faq/), the questions keep their place */
.faq.wf-look-v2 .faq__head {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.faq.wf-look-v2 .faq__head h2 {
  margin: 0;
}

@media (min-width: 1248px) {
  .faq.wf-look-v2 .faq__list {
    grid-column: 2;
    padding-top: 82px;
  }
}

@media (max-width: 1247px) {
  .faq.wf-look-v2 .faq__list {
    margin-top: 40px;
  }
}

/* ===== Join test, Alina's review in Figma (2026-10-14): the "What Womafreesm is building" carousel with wf_look = v2 ===== */
/* the card's way in is an outline button under the text, white on the photo; the title is plain text */
.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 24px;
  border: 1px solid #fcfaf1;
  border-radius: 8px;
  background: transparent;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: font-size 160ms ease;
}

.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button:hover,
.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button:focus-visible {
  background: transparent;
  color: #fcfaf1;
  text-decoration: none;
}

.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button:hover::after,
.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

/* the arrows in the 64px circles are 32px, as in the design */
.volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-tracks__control svg {
  width: 32px;
  height: 32px;
}

@media (max-width: 600px) {
  .volunteer-tracks.partners-carousel--join.wf-look-v2 .volunteer-track-card__button {
    height: 44px;
    font-size: 16px;
  }
}

/* ===== Volunteer test, Alina's review in Figma (2026-10-14): the "Sixteen tracks" cards with wf_look = v2 ===== */
/* 16px corners, the design's glass, the title and its time line on top, one text block at the bottom */
.volunteer-tracks.wf-look-v2 .volunteer-track-card {
  display: flex;
  flex-direction: column;
  min-height: 335px;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.5);
}

.volunteer-tracks.wf-look-v2 .volunteer-track-card h3 {
  margin: 0;
  line-height: 1.2;
}

.volunteer-tracks.wf-look-v2 .volunteer-track-card__time {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.volunteer-tracks.wf-look-v2 .volunteer-track-card__text {
  margin: auto 0 0;
  padding-top: 24px;
}

@media (max-width: 600px) {
  .volunteer-tracks.wf-look-v2 .volunteer-track-card {
    min-height: 0;
  }

  .volunteer-tracks.wf-look-v2 .volunteer-track-card__time {
    font-size: 14px;
  }

  .volunteer-tracks.wf-look-v2 .volunteer-track-card__text {
    padding-top: 16px;
  }
}

/* ===== Transparency test, Alina's review in Figma (2026-10-14): modules with wf_look (v2, or fit for the slider) ===== */
/* the contents row: no line under it, the anchors are light violet buttons (Primary Button Dark mode) */
.wf-toc.wf-look-v2 {
  border-bottom: 0;
}

.wf-toc.wf-look-v2 .wf-toc__list {
  gap: 8px;
  padding: 24px 0;
}

.wf-toc.wf-look-v2 .wf-toc__list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 8px;
  background: #efe2ec;
  color: #462143;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: background 160ms ease;
}

.wf-toc.wf-look-v2 .wf-toc__list a:hover,
.wf-toc.wf-look-v2 .wf-toc__list a:focus-visible,
.wf-toc.wf-look-v2 .wf-toc__list a.is-current {
  background: #d6bde1;
  color: #462143;
  text-decoration: none;
}

/* legal record: the line under the table sits close to it and is as wide as the table */
.about-legal.wf-look-v2 .about-legal__note {
  width: min(100%, 826px);
  margin: -72px auto 0; /* the block's 96px gap minus 72px: 24px under the table */
}

@media (max-width: 1247px) {
  .about-legal.wf-look-v2 .about-legal__note {
    margin-top: -40px; /* 64px gap */
  }
}

@media (max-width: 600px) {
  .about-legal.wf-look-v2 .about-legal__note {
    margin-top: -24px; /* 40px gap: 16px under the table */
  }
}

/* money and the Registry: the table stands in the middle of its card */
#financial-disclosure.tr-split.wf-look-v2 .tr-split__side:last-child .tr-split__panel--card,
#registry-of-results.tr-split.wf-look-v2 .tr-split__side:first-child .tr-split__panel--card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
}

/* compliance: the text card is as tall as its text, the photo takes the rest of the column */
#compliance-status.tr-split.wf-look-v2 .tr-split__side:first-child .tr-split__panel--card {
  flex: none;
}

#compliance-status.tr-split.wf-look-v2 .tr-split__side:first-child .tr-split__media {
  flex: 1 1 auto;
  height: auto;
  min-height: 240px;
}

#compliance-status.tr-split.wf-look-v2 .tr-split__side:first-child .tr-split__media img {
  height: 100%;
}

/* public position: the card grows with the longest slide, the padding never collapses under the numbers */
.life-cycle.wf-look-fit .life-cycle__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 1fr auto;
}

.life-cycle.wf-look-fit .life-cycle__panel {
  grid-area: 1 / 1;
}

.life-cycle.wf-look-fit .life-cycle__panel[hidden] {
  display: block !important;
  visibility: hidden;
}

.life-cycle.wf-look-fit .life-cycle__controls {
  grid-area: 2 / 1;
  margin-top: 32px;
}

@media (min-width: 1248px) {
  .life-cycle.wf-look-fit .life-cycle__card,
  .life-cycle.wf-look-fit .life-cycle__media {
    height: auto;
    min-height: 548px;
  }

  .life-cycle.wf-look-fit .life-cycle__media img {
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 600px) {
  #compliance-status.tr-split.wf-look-v2 .tr-split__side:first-child .tr-split__media {
    min-height: 0;
  }
}

/* Registry of Results: the photo that stood under the text is the background of the table card */
#registry-of-results.tr-split.wf-look-v2 .tr-split__side:first-child .tr-split__panel--card {
  background: #f2f1f0 url("../../../../../image/catalog/transparency/tr-registry.webp") center / cover no-repeat;
}

#registry-of-results.tr-split.wf-look-v2 .tr-facts {
  background: #f2f1f0;
}

/* Documents (Alina's mockup): one row per document, the title on the left, "Read document" on the right */
#documents.tr-split.wf-look-docs .tr-split__body {
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
}

#documents.tr-split.wf-look-docs .tr-split__panel > h3 {
  margin-bottom: 16px;
}

#documents.tr-split.wf-look-docs .tr-doc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 8px 24px;
  border-bottom: 1px solid #aeaeb0;
}

#documents.tr-split.wf-look-docs .tr-doc__title {
  min-width: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.2;
}

#documents.tr-split.wf-look-docs .tr-doc__button {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 191px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid #462143;
  border-radius: 8px;
  color: #462143;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: font-size 160ms ease;
}

#documents.tr-split.wf-look-docs .tr-doc__button::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

#documents.tr-split.wf-look-docs .tr-doc__button:hover,
#documents.tr-split.wf-look-docs .tr-doc__button:focus-visible {
  color: #462143;
  text-decoration: none;
}

#documents.tr-split.wf-look-docs .tr-doc__button:hover::after,
#documents.tr-split.wf-look-docs .tr-doc__button:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

#documents.tr-split.wf-look-docs .tr-split__text,
#documents.tr-split.wf-look-docs .tr-split__h4 {
  padding: 0 24px;
}

#documents.tr-split.wf-look-docs .tr-split__h4 {
  margin-top: 40px;
}

@media (max-width: 600px) {
  #documents.tr-split.wf-look-docs .tr-doc {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 16px 0;
  }

  #documents.tr-split.wf-look-docs .tr-doc__title {
    font-size: 20px;
    line-height: 1.3;
  }

  #documents.tr-split.wf-look-docs .tr-doc__button {
    width: 100%;
    height: 44px;
    font-size: 16px;
  }

  #documents.tr-split.wf-look-docs .tr-split__text,
  #documents.tr-split.wf-look-docs .tr-split__h4 {
    padding: 0;
  }
}

/* ===== How it works test, Alina's review in Figma (2026-10-15): modules with wf_look = v2 ===== */
/* System Overview: no line above the closing line, the photo as tall as the text */
.wf-prose.wf-look-v2 .wf-prose__text p.wf-prose__highlight {
  padding-top: 0;
  border-top: 0;
}

@media (min-width: 1248px) {
  .wf-prose.wf-look-v2 .wf-prose__body {
    align-items: stretch;
  }

  .wf-prose.wf-look-v2 .wf-prose__media {
    display: flex;
  }

  .wf-prose.wf-look-v2 .wf-prose__media img {
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }
}

/* What Womafreesm builds: one primary button per slide on the row of the arrows, only the shown slide's button visible */
.life-cycle.wf-look-v2 .life-cycle__button[hidden] {
  display: none;
}

/* ===== Transparency test, Alina's second review (2026-10-16): wf_look on its modules ===== */

/* first screen: the link under the description is a secondary (white outline) button */
.wf-hero.wf-look-v2 .wf-hero__secondary {
  margin-top: 32px;
}

/* legal record: the two source lists are the logo cards of the home Verify block */
.about-legal.wf-look-v2 .about-legal__group {
  width: 100%;
  margin-top: 0;
}

.about-legal.wf-look-v2 .about-legal__group h3 {
  margin: 0;
}

.about-legal.wf-look-v2 .verify-source-card__name {
  color: #656667;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.2;
  text-align: center;
}

.about-legal.wf-look-v2 .verify-source-card__text {
  margin: 8px 0 0;
  color: #656667;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

.about-legal.wf-look-v2 .about-legal__after {
  max-width: 700px;
  margin: 32px 0 0;
  color: #656667;
  font-size: 16px;
  line-height: 1.5;
}

/* research limits: the table card is as tall as the table, the photo takes the rest of the column */
#research-limits.tr-split.wf-look-limits .tr-split__side:first-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 20px;
}

#research-limits.tr-split.wf-look-limits .tr-split__side:first-child .tr-split__panel--card {
  flex: none;
}

#research-limits.tr-split.wf-look-limits .tr-split__side:first-child .tr-split__media {
  flex: 1 1 auto;
  height: auto;
  min-height: 320px;
  margin-top: 0;
}

#research-limits.tr-split.wf-look-limits .tr-split__side:first-child .tr-split__media img {
  height: 100%;
  object-fit: cover;
}

/* where this page leads: the two buttons side by side in the middle, the donation one secondary */
.tr-split.wf-look-center .tr-split__body {
  grid-template-columns: minmax(0, 1fr);
}

.tr-split.wf-look-center .tr-split__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.tr-split.wf-look-center .tr-split__button {
  min-width: 203px;
  white-space: nowrap;
}

.tr-split.wf-look-center .tr-split__button--ghost {
  height: 48px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  color: #221a1f;
  line-height: 1;
  transition: font-size 160ms ease;
}

.tr-split.wf-look-center .tr-split__button--ghost::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.tr-split.wf-look-center .tr-split__button--ghost:hover,
.tr-split.wf-look-center .tr-split__button--ghost:focus-visible {
  color: #221a1f;
  text-decoration: none;
}

.tr-split.wf-look-center .tr-split__button--ghost:hover::after,
.tr-split.wf-look-center .tr-split__button--ghost:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

@media (max-width: 1247px) {
  #research-limits.tr-split.wf-look-limits .tr-split__side:first-child .tr-split__media {
    min-height: 280px;
  }
}

@media (max-width: 600px) {
  .about-legal.wf-look-v2 .verify-source-card__name {
    font-size: 24px;
  }

  #research-limits.tr-split.wf-look-limits .tr-split__side:first-child .tr-split__media {
    min-height: 0;
    height: 240px;
    flex: none;
  }

  .tr-split.wf-look-center .tr-split__actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* ===== Transparency test: the legal source rows scroll as sliders, two arrows on the heading row (2026-10-18) ===== */
.about-legal.wf-look-v2 .about-legal__group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.about-legal.wf-look-v2 .about-legal__group-head h3 {
  min-width: 0;
  margin: 0;
}

.about-legal.wf-look-v2 .about-legal__arrows {
  display: flex;
  flex: none;
  gap: 16px;
  margin-left: auto;
}

.about-legal.wf-look-v2 .is-static .about-legal__arrows {
  display: none;
}

.about-legal.wf-look-v2 .about-legal__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #221a1f;
  border-radius: 50%;
  background: transparent;
  color: #221a1f;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, opacity 160ms ease;
}

.about-legal.wf-look-v2 .about-legal__arrow:hover:not(:disabled),
.about-legal.wf-look-v2 .about-legal__arrow:focus-visible {
  background: #221a1f;
  color: #fcfaf1;
}

.about-legal.wf-look-v2 .about-legal__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}

.about-legal.wf-look-v2 .about-legal__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.about-legal.wf-look-v2 .about-legal__track::-webkit-scrollbar {
  display: none;
}

.about-legal.wf-look-v2 .about-legal__track > .verify-source-card {
  flex: 0 0 calc((100% - 60px) / 4);
  scroll-snap-align: start;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .about-legal.wf-look-v2 .about-legal__track > .verify-source-card {
    flex-basis: calc((100% - 40px) / 3);
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .about-legal.wf-look-v2 .about-legal__track > .verify-source-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 600px) {
  .about-legal.wf-look-v2 .about-legal__group-head {
    gap: 16px;
  }

  .about-legal.wf-look-v2 .about-legal__arrows {
    gap: 12px;
  }

  .about-legal.wf-look-v2 .about-legal__arrow {
    width: 44px;
    height: 44px;
  }

  .about-legal.wf-look-v2 .about-legal__track {
    gap: 16px;
  }

  .about-legal.wf-look-v2 .about-legal__track > .verify-source-card {
    flex-basis: 84%;
  }
}

/* ===== Header logo hover (2026-10-19): the cream frame fades out with the padding, and the card grows to the
   full 67px height at its own 36:59 ratio with the frame's 4px rounding (Alina's call); before, 1.5px strips of
   the frame stayed at both sides ===== */
.logo {
  transition:
    padding 180ms ease,
    background-color 180ms ease;
}

/* the dandelion is cut out of the card, the cream behind it has to stay under the card itself */
.logo img {
  border-radius: 0;
  background-color: rgba(252, 250, 241, 1);
  transition:
    width 180ms ease,
    height 180ms ease,
    border-radius 180ms ease;
}

.logo:hover {
  background-color: transparent;
}

.logo:hover img {
  width: 40.88px;
  border-radius: 4px;
}

@media (max-width: 900px) {
  .logo:hover {
    background-color: rgba(252, 250, 241, 1);
  }

  .logo:hover img {
    width: 100%;
    border-radius: 0;
  }
}

/* ===== Join test, Alina's notes (2026-10-19): the doors as a carousel without the photo, the CTA without a background ===== */

/* Each door in detail (womafreesm_join, wf_look "carousel"): the page background, dark text, grey cards in one row */
.join-section.wf-look-carousel {
  min-height: 0;
  padding-bottom: 120px;
  color: #221a1f;
  background: transparent;
}

.join-section.wf-look-carousel .join-section__content {
  padding-top: 120px;
}

.join-slider-nav {
  display: flex;
  width: min(100%, 1086px);
  justify-content: flex-end;
  gap: 16px;
  margin: 64px auto 0;
}

.join-section.is-static .join-slider-nav {
  display: none;
}

.join-slider-nav__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #221a1f;
  border-radius: 50%;
  background: transparent;
  color: #221a1f;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, opacity 160ms ease;
}

.join-slider-nav__arrow:hover:not(:disabled),
.join-slider-nav__arrow:focus-visible {
  background: #221a1f;
  color: #fcfaf1;
}

.join-slider-nav__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}

.join-section.wf-look-carousel .join-grid {
  display: flex;
  gap: 24px;
  margin-top: 24px;
  padding-bottom: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.join-section.wf-look-carousel .join-grid::-webkit-scrollbar {
  display: none;
}

.join-section.wf-look-carousel .join-card {
  flex: 0 0 calc((100% - 48px) / 3);
  background: #f2f1f0;
  scroll-snap-align: start;
}

.join-section.wf-look-carousel .join-card:hover {
  background: #f2f1f0;
  box-shadow: none;
  transform: none;
}

/* "More" opens over its own card: the row scrolls sideways, so nothing may hang below it */
.join-section.wf-look-carousel .join-card__details {
  position: static;
}

.join-section.wf-look-carousel .join-card__details summary {
  position: relative;
  z-index: 2;
}

.join-section.wf-look-carousel .join-card__details[open] .join-card__more {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow-y: auto;
  padding: 24px 24px 64px;
  border-radius: 16px;
  background: #f2f1f0;
  box-shadow: none;
}

/* the track takes the heading's content width from 1248px up (the "Where to start" rule), the arrows follow it */
@media (min-width: 1248px) {
  .join-slider-nav {
    width: min(100% - 192px, 1248px);
  }
}

@media (min-width: 601px) and (max-width: 1247px) {
  .join-section.wf-look-carousel {
    padding-bottom: 96px;
  }

  .join-section.wf-look-carousel .join-section__content {
    padding-top: 96px;
  }

  .join-slider-nav,
  .join-section.wf-look-carousel .join-grid {
    width: calc(100% - 64px);
  }

  .join-section.wf-look-carousel .join-grid {
    padding: 0;
  }

  .join-section.wf-look-carousel .join-card {
    flex-basis: calc((100% - 24px) / 2);
  }
}

@media (max-width: 600px) {
  .join-section.wf-look-carousel {
    padding-bottom: 96px;
  }

  .join-section.wf-look-carousel .join-section__content {
    padding-top: 96px;
  }

  .join-slider-nav {
    width: 100%;
    gap: 12px;
    margin-top: 40px;
    padding: 0 24px;
  }

  .join-slider-nav__arrow {
    width: 44px;
    height: 44px;
  }

  .join-section.wf-look-carousel .join-grid {
    gap: 16px;
    margin-top: 24px;
    padding: 0 24px;
    scroll-padding-left: 24px;
  }

  .join-section.wf-look-carousel .join-card {
    flex-basis: 84%;
    background: #f2f1f0;
  }

  .join-section.wf-look-carousel .join-card__details[open] .join-card__more {
    border-radius: 12px;
  }
}

/* Know What to Expect (womafreesm_research_cta, wf_look "light"): the CTA block on the page background,
   dark text, the second button a dark outline */
.research-cta.wf-look-light {
  padding: 120px 24px;
  color: #221a1f;
  background: transparent;
}

.research-cta.wf-look-light .research-cta__panel {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.research-cta.wf-look-light .research-cta__button-alt,
.research-cta.wf-look-light .research-cta__button-alt:hover,
.research-cta.wf-look-light .research-cta__button-alt:focus-visible {
  border-color: #221a1f;
  color: #221a1f;
}

@media (max-width: 1247px) {
  .research-cta.wf-look-light {
    padding: 96px 24px;
  }
}

@media (max-width: 600px) {
  .research-cta.wf-look-light .research-cta__panel {
    width: 100%;
    padding: 0;
  }
}

/* ===== Transparency test (2026-10-19): "Read the full study design" under the research limits is a secondary
   button, the same dark outline as "Make a donation" ===== */
.tr-split.wf-look-limits .tr-split__actions {
  margin-top: 0;
}

.tr-split.wf-look-limits .tr-split__actions .tr-split__button {
  flex: 0 0 auto;
  min-width: 203px;
}

.tr-split.wf-look-limits .tr-split__button--ghost {
  height: 48px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  color: #221a1f;
  line-height: 1;
  transition: font-size 160ms ease;
}

.tr-split.wf-look-limits .tr-split__button--ghost::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.tr-split.wf-look-limits .tr-split__button--ghost:hover,
.tr-split.wf-look-limits .tr-split__button--ghost:focus-visible {
  color: #221a1f;
  text-decoration: none;
}

.tr-split.wf-look-limits .tr-split__button--ghost:hover::after,
.tr-split.wf-look-limits .tr-split__button--ghost:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

@media (max-width: 600px) {
  .tr-split.wf-look-limits .tr-split__actions .tr-split__button {
    flex: 1 1 auto;
  }
}

/* ===== How it works test, Alina's notes (2026-10-19): the five levels as the home "builds" rows,
   Participation as the CTA block without a photo ===== */

/* a builds row that carries only its title (the five levels) */
.builds.wf-look-v2 .build-card__content p:empty {
  display: none;
}

/* Participation (womafreesm_join, wf_look "light"): on the page background, centred like the CTA block */
.join-section.wf-look-light {
  min-height: 0;
  color: #221a1f;
  background: transparent;
}

.join-section.wf-look-light .join-section__content {
  padding: 120px 24px;
}

.join-section.wf-look-light .join-section__intro {
  max-width: 826px;
  margin: 0 auto;
  text-align: center;
}

.join-section.wf-look-light .join-section__intro h2 {
  font-size: 47px;
  line-height: 1.277;
  letter-spacing: 0;
}

.join-section.wf-look-light .join-section__intro p {
  max-width: 720px;
  margin: 34px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.join-section.wf-look-light .join-section__actions {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

@media (max-width: 1247px) {
  .join-section.wf-look-light .join-section__content {
    padding: 96px 24px;
  }
}

@media (max-width: 600px) {
  .join-section.wf-look-light .join-section__intro h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  .join-section.wf-look-light .join-section__intro p {
    margin-top: 24px;
    font-size: 16px;
  }

  .join-section.wf-look-light .join-section__actions {
    margin-top: 32px;
  }
}

/* ===== About test, Alina's notes (2026-10-19) ===== */

/* first screen: the button starts at the text column's edge, as on the home page */
.wf-hero--about-page.wf-look-v2 .wf-hero__text {
  align-items: flex-start;
  text-align: left;
}

/* the civilizational level (womafreesm_about_carousel, wf_look "cards"): heading, subheading, three cards with a photo */
.about-cards__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 120px 96px;
}

.about-cards__head {
  max-width: 826px;
  margin: 0 auto;
  text-align: center;
}

.about-cards__head h2 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.about-cards__head p {
  margin: 24px 0 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

.about-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 64px;
}

.about-cards__card {
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-radius: 16px;
  background: #f2f1f0;
}

.about-cards__card h3 {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}

.about-cards__card p {
  margin: 16px 0 0;
  color: #221a1f;
  font-size: 16px;
  line-height: 1.4;
}

.about-cards__media {
  margin-top: auto;
  padding-top: 24px;
}

.about-cards__media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 12px;
  object-fit: cover;
}

.about-cards__after {
  max-width: 826px;
  margin: 48px auto 0;
  color: #221a1f;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

.about-cards__after a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 1247px) {
  .about-cards__inner {
    padding: 96px 40px;
  }

  .about-cards__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 600px) {
  .about-cards__inner {
    padding: 96px 24px;
  }

  .about-cards__head h2 {
    font-size: 40px;
  }

  .about-cards__head p {
    font-size: 16px;
  }

  .about-cards__grid {
    gap: 16px;
    margin-top: 40px;
  }

  .about-cards__card h3 {
    font-size: 24px;
  }
}

/* Where to start (womafreesm_join, wf_look "center"): centred, "Check the record" an outline button,
   the e-mail and phone quiet text in Gray 01 */
.join-section.wf-look-center .join-section__intro {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.join-section.wf-look-center .join-section__actions,
.join-section.wf-look-center .join-section__contacts {
  justify-content: center;
}

.join-section.wf-look-center .join-section__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 203px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid var(--wf-main-white, #fcfaf1);
  border-radius: 8px;
  color: var(--wf-main-white, #fcfaf1);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: font-size 160ms ease;
}

.join-section.wf-look-center .join-section__link::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.join-section.wf-look-center .join-section__link:hover::after,
.join-section.wf-look-center .join-section__link:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

.join-section.wf-look-center .join-section__contacts {
  font-size: 16px;
}

.join-section.wf-look-center .join-section__contacts a {
  color: #f2f1f0;
  border-bottom-color: rgba(242, 241, 240, 0.5);
}

@media (max-width: 600px) {
  .join-section.wf-look-center .join-section__link {
    width: 100%;
  }
}

/* ===== Instagram / Telegram popups (2026-10-19): nine Instagram accounts make the panel taller than a laptop
   screen, so the popup scrolls (the panel stays centred while it fits) and the rows get compact on short screens ===== */
.instagram-modal {
  place-items: normal;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.instagram-modal__backdrop {
  position: fixed;
}

.instagram-modal__panel {
  margin: auto;
}

@media (max-height: 900px) {
  .instagram-modal h2 {
    font-size: 40px;
  }

  .instagram-modal__links {
    margin-top: 24px;
  }

  .instagram-modal__links a {
    min-height: 56px;
    padding: 8px 0;
  }
}

/* ===== Assembly test, Alina's notes (2026-10-20) ===== */

/* first screen: "Submit case" is the secondary button on the primary one's row */
.wf-hero--assembly.wf-look-v2 .wf-hero__text {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-start;
  column-gap: 16px;
}

.wf-hero--assembly.wf-look-v2 .wf-hero__text > p {
  flex: 0 0 100%;
}

.wf-hero--assembly.wf-look-v2 .wf-hero__secondary {
  margin-top: 0;
}

/* the title flow and the photo height the help line used to switch on (".wf-hero--assembly:has(.wf-hero__help)") */
.wf-hero--assembly.wf-look-v2 .wf-hero__title > span {
  display: inline;
  white-space: normal;
}

.wf-hero--assembly.wf-look-v2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto;
  max-height: none;
  min-height: var(--wf-min-height, 920px);
}

/* the text block in the middle of the photo, as on the live page, and clear of the breadcrumbs */
.wf-hero--assembly.wf-look-v2 .wf-hero__content {
  padding-top: 160px;
  padding-bottom: 80px;
}

/* the standard card type: a Lora H4 title and the body text */
.volunteer-benefits.wf-look-v2 .volunteer-benefit-card h3,
.volunteer-rules.wf-look-v2 .volunteer-rule__body h3 {
  margin: 0 0 12px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
}

.volunteer-benefits.wf-look-v2 .volunteer-benefit-card p,
.volunteer-rules.wf-look-v2 .volunteer-rule__body p {
  margin: 0;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

/* four facts: the titles are stored in capitals; shown as a sentence-case heading */
.volunteer-benefits.wf-look-v2 .volunteer-benefit-card h3 {
  text-transform: lowercase;
}

.volunteer-benefits.wf-look-v2 .volunteer-benefit-card h3::first-letter {
  text-transform: uppercase;
}

/* how it works as one force: the number is text in the title, no circle */
.volunteer-rules--numbered.wf-look-v2 .volunteer-rule {
  display: block;
}

.volunteer-rules--numbered.wf-look-v2 .volunteer-rule__marker {
  display: none !important;
}

/* its limits: the dot stands at the title line */
.volunteer-rules.wf-look-v2:not(.volunteer-rules--numbered) .volunteer-rule {
  align-items: start;
}

.volunteer-rules.wf-look-v2:not(.volunteer-rules--numbered) .volunteer-rule__marker {
  margin-top: 11px;
}

/* what it produces: links inside the card text */
.volunteer-track-card__inline {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.volunteer-track-card__inline:hover,
.volunteer-track-card__inline:focus-visible {
  text-decoration-thickness: 2px;
}

/* two rules: the link under the cards is a centred secondary (dark outline) button */
.builds.wf-look-center .builds__after {
  text-align: center;
}

.builds.wf-look-center .builds__button {
  min-width: 203px;
  border-color: #221a1f;
  background: transparent;
  color: #221a1f;
  font-size: 18px;
  transition: font-size 160ms ease;
}

.builds.wf-look-center .builds__button::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.builds.wf-look-center .builds__button:hover,
.builds.wf-look-center .builds__button:focus-visible {
  border-color: #221a1f;
  background: transparent;
  color: #221a1f;
}

.builds.wf-look-center .builds__button:hover::after,
.builds.wf-look-center .builds__button:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

@media (max-width: 600px) {
  .wf-hero--assembly.wf-look-v2 .wf-hero__secondary {
    width: 100%;
    margin-top: 12px;
  }

  .wf-hero--assembly.wf-look-v2 {
    min-height: min(920px, 100svh);
  }

  .wf-hero--assembly.wf-look-v2 .wf-hero__content {
    padding-top: 210px;
    padding-bottom: 64px;
  }

  .volunteer-benefits.wf-look-v2 .volunteer-benefit-card h3,
  .volunteer-rules.wf-look-v2 .volunteer-rule__body h3 {
    font-size: 22px;
  }

  .builds.wf-look-center .builds__button {
    width: 100%;
  }
}

/* ===== Assembly test, the updated Figma (2026-10-21) ===== */

/* how it works as one force: the subtitle 824px wide; the text under the cards starts at their left edge, 28px below */
.volunteer-rules--numbered.wf-look-v2 .volunteer-rules__heading p {
  max-width: 824px;
  margin-right: auto;
  margin-left: auto;
}

.volunteer-rules--numbered.wf-look-v2 .volunteer-rules__after {
  width: auto;
  max-width: none;
  margin: 28px 0 0;
  text-align: left;
}

.volunteer-rules--numbered.wf-look-v2 .volunteer-rules__after p {
  max-width: 826px;
}

/* which cases: the help line is the secondary button beside "Submit case" */
.builds.wf-look-pair .builds__after {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.builds.wf-look-pair .builds__after .builds__button,
.builds.wf-look-pair .builds__after p.builds__quiet {
  margin: 0 !important;
}

.builds.wf-look-pair .builds__quiet a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 203px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  border-radius: 8px;
  color: #221a1f;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: font-size 160ms ease;
}

.builds.wf-look-pair .builds__quiet a::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 0;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  mask: var(--wf-arrow-up-right) center / 24px 24px no-repeat;
  opacity: 0;
  transition: width 160ms ease, margin 160ms ease, opacity 160ms ease;
}

.builds.wf-look-pair .builds__quiet a:hover::after,
.builds.wf-look-pair .builds__quiet a:focus-visible::after {
  width: 24px;
  margin-left: 8px;
  opacity: 1;
}

@media (max-width: 600px) {
  .builds.wf-look-pair .builds__after {
    flex-direction: column;
    align-items: stretch;
  }

  .builds.wf-look-pair .builds__quiet a {
    width: 100%;
    height: auto;
    min-height: 48px;
    padding: 10px 16px;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
  }
}

/* ===== Assembly partnership test, Alina's notes (2026-10-21) ===== */

/* what your organization keeps: the button sits inside the list card, at its left edge */
.volunteer-rules.wf-look-v2 .volunteer-rule--action {
  display: block;
  margin-top: 8px;
}

.volunteer-rules.wf-look-v2 .volunteer-rule--action .volunteer-rules__button {
  margin: 0;
}

/* FAQ (home look): the page's own line and link stay together under the questions */
.faq.wf-look-v2 .faq__after:has(+ .faq__more--after),
.faq.wf-look-v2 .faq__more--after {
  grid-column: 2;
}

.faq.wf-look-v2 .faq__after:has(+ .faq__more--after) {
  margin-top: 40px;
}

.faq.wf-look-v2 .faq__more--after {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .faq.wf-look-v2 .faq__after:has(+ .faq__more--after),
  .faq.wf-look-v2 .faq__more--after {
    grid-column: 1 / -1;
  }
}

/* ===== Assembly experts test, Alina's notes (2026-10-21) ===== */

/* how to join: the button under the steps starts at the steps' text edge */
.system.wf-look-align .system__after--in-steps {
  margin: 32px 0 0;
  padding: 0;
}

/* ===== Assembly case test, Alina's notes (2026-10-21): the danger block with a photo and its first line as accent
   text; the closing words of "What happens after you send your case" as a centred accent block ===== */
#safety.wf-look-v2 .about-feature__heading,
#safety.wf-look-v2 .about-feature__text {
  max-width: none;
}

#safety.wf-look-v2 .about-feature__text p:first-child {
  margin-bottom: 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.3;
  color: #5d295f;
}

.research-cta--accent.wf-look-light .research-cta__panel {
  width: min(826px, 100%);
}

.research-cta--accent.wf-look-light .research-cta__panel p {
  max-width: 826px;
  margin: 0 auto;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.3;
  color: #5d295f;
  text-align: center;
}

.research-cta--accent.wf-look-light .research-cta__actions {
  margin-top: 48px;
}

/* below 1248px the photo CTA has a fixed height; these two blocks carry more text than it holds */
@media (max-width: 1247px) {
  .research-cta#unsure,
  .research-cta--accent.wf-look-light {
    height: auto;
  }

  .research-cta--accent.wf-look-light {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  /* the first screen: the second button's label takes two lines */
  .wf-hero--assembly.wf-look-v2 .wf-hero__secondary {
    height: auto;
    min-height: 48px;
    padding: 12px 24px;
    white-space: normal;
    line-height: 1.25;
    text-align: center;
  }

  #safety.wf-look-v2 .about-feature__text p:first-child {
    font-size: 22px;
  }

  .research-cta--accent.wf-look-light .research-cta__panel p {
    font-size: 24px;
  }

  .research-cta--accent.wf-look-light .research-cta__actions {
    margin-top: 32px;
  }
}

/* ===== Press Center test (2026-10-22): the first screen with the Knowledge Desk window, the Knowledge Desk,
   the media request form, logos and photos for download, lists inside the split blocks ===== */

/* ---- first screen: the text on the left, the Knowledge Desk window on the right ---- */
.wf-hero.wf-hero--press.wf-look-press {
  height: auto;
  max-height: none;
  min-height: var(--wf-min-height, 920px);
}

.wf-hero--press.wf-look-press .wf-hero__shade {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.38) 55%, rgba(0, 0, 0, 0.2) 100%);
  opacity: 1;
}

.wf-hero--press.wf-look-press .wf-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  grid-template-rows: auto auto 1fr;
  column-gap: 64px;
  align-content: end;
  align-items: start;
  min-height: var(--wf-min-height, 920px);
  padding: 160px 96px 80px;
}

.wf-hero--press.wf-look-press .wf-hero__kicker,
.wf-hero--press.wf-look-press .wf-hero__title,
.wf-hero--press.wf-look-press .wf-hero__text {
  grid-column: 1;
  width: 100%;
  max-width: 720px;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.wf-hero--press.wf-look-press .wf-hero__kicker {
  margin-bottom: 16px;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
}

.wf-hero--press.wf-look-press .wf-hero__title {
  font-size: 100px;
  line-height: 1;
}

.wf-hero--press.wf-look-press .wf-hero__title > span,
.wf-hero--press.wf-look-press .wf-hero__title > span:last-child {
  display: block;
  text-align: left;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* laptops: a narrower window and sides, so "Womafreesm" keeps one line at 100px */
@media (min-width: 1248px) and (max-width: 1439px) {
  .wf-hero--press.wf-look-press .wf-hero__content {
    grid-template-columns: minmax(0, 1fr) 400px;
    column-gap: 48px;
    padding-right: 64px;
    padding-left: 64px;
  }
}

.wf-hero--press.wf-look-press .wf-hero__text {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 16px;
  margin-top: 32px;
}

.wf-hero--press.wf-look-press .wf-hero__text > p {
  flex: 0 0 100%;
}

.wf-hero--press.wf-look-press .wf-hero__text > p:first-child {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.25;
}

.wf-hero--press.wf-look-press .wf-hero__text .wf-hero__paragraph {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.45;
}

.wf-hero--press.wf-look-press .wf-hero__button,
.wf-hero--press.wf-look-press .wf-hero__secondary {
  margin-top: 40px;
}

.wf-hero--press.wf-look-press .wf-hero__help {
  flex: 0 0 100%;
  margin-top: 24px;
}

.wf-hero--press.wf-look-press .wf-hero__help a {
  color: inherit;
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.wf-hero--press.wf-look-press .wf-hero__audience {
  margin-top: 16px !important;
  font-size: 16px !important;
  opacity: 0.85;
}

/* the Knowledge Desk window */
.wf-hero__desk {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: end;
  padding: 32px;
  border-radius: 24px;
  background: #FCFAF1;
  color: #221A1F;
  box-shadow: 0 24px 48px -28px rgba(0, 0, 0, 0.6);
  font-family: "Open Sans", sans-serif;
}

.wf-hero__desk-title {
  display: block;
  margin: 0 0 16px;
  color: #5D295F;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}

.wf-hero__desk-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wf-hero__desk input,
.wf-press-desk input[type="text"],
.wf-press-desk input[type="search"],
.wf-press-request input[type="text"],
.wf-press-request input[type="email"],
.wf-press-request input[type="date"],
.wf-press-request select,
.wf-press-request textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid #656667;
  border-radius: 8px;
  background: #FFFCF8;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
}

.wf-hero__desk input::placeholder,
.wf-press-desk input::placeholder,
.wf-press-request textarea::placeholder {
  color: #656667;
}

.wf-hero__desk input:focus,
.wf-press-desk input:focus,
.wf-press-request input:focus,
.wf-press-request select:focus,
.wf-press-request textarea:focus {
  outline: none;
  border-color: #984F91;
  box-shadow: 0 0 0 3px rgba(152, 79, 145, 0.16);
}

.wf-hero__desk-button {
  align-self: flex-start;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #5D295F;
  border-radius: 8px;
  background: transparent;
  color: #5D295F;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

.wf-hero__desk-button:hover,
.wf-hero__desk-button:focus-visible {
  background: #5D295F;
  color: #FCFAF1;
}

.wf-hero__desk-examples,
.wf-press-desk__examples {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.wf-hero__desk-examples button,
.wf-press-desk__examples button {
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: #EFE2EC;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease;
}

.wf-hero__desk-examples button:hover,
.wf-hero__desk-examples button:focus-visible,
.wf-press-desk__examples button:hover,
.wf-press-desk__examples button:focus-visible {
  background: #D6BDE1;
}

.wf-hero__desk-note {
  margin: 16px 0 0;
  color: #656667;
  font-size: 14px;
  line-height: 1.4;
}

@media (min-width: 901px) and (max-width: 1247px) {
  .wf-hero--press.wf-look-press .wf-hero__content {
    grid-template-columns: minmax(0, 1fr);
    padding: 160px 40px 72px;
  }

  .wf-hero--press.wf-look-press .wf-hero__title {
    font-size: 100px;
    text-align: left;
  }

  .wf-hero--press.wf-look-press .wf-hero__text {
    align-items: center;
    text-align: left;
  }

  .wf-hero__desk {
    grid-column: 1;
    grid-row: auto;
    max-width: 560px;
    margin-top: 48px;
  }
}

@media (max-width: 900px) {
  .wf-hero--press.wf-look-press .wf-hero__content {
    display: block;
    padding: 180px 32px 64px;
  }

  .wf-hero--press.wf-look-press .wf-hero__title {
    font-size: 54px;
  }

  .wf-hero--press.wf-look-press .wf-hero__title > span,
  .wf-hero--press.wf-look-press .wf-hero__title > span:last-child {
    white-space: normal;
  }

  .wf-hero--press.wf-look-press .wf-hero__text > p:first-child {
    font-size: 22px;
  }

  .wf-hero--press.wf-look-press .wf-hero__text .wf-hero__paragraph {
    font-size: 16px;
  }

  .wf-hero--press.wf-look-press .wf-hero__button,
  .wf-hero--press.wf-look-press .wf-hero__secondary {
    width: 100%;
    margin-top: 16px;
  }

  .wf-hero--press.wf-look-press .wf-hero__button {
    margin-top: 32px;
  }

  .wf-hero__desk {
    margin-top: 40px;
    padding: 24px;
  }
}

@media (max-width: 600px) {
  .wf-hero--press.wf-look-press .wf-hero__content {
    padding-right: 24px;
    padding-left: 24px;
  }

  .wf-hero--press.wf-look-press .wf-hero__secondary {
    height: auto;
    min-height: 48px;
    padding: 12px 24px;
    white-space: normal;
    line-height: 1.25;
    text-align: center;
  }

  .wf-hero__desk-title {
    font-size: 24px;
  }
}

/* ---- lists inside the split blocks ("- " lines) ---- */
.tr-split__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding-left: 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.3;
}

.tr-split__list a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* the founder: the photo fills its column, the interview topics are tags */
.tr-split.wf-look-founder .tr-split__body {
  align-items: stretch;
}

/* the photo keeps its own proportions and stays in view while the text beside it scrolls (the user, 2026-10-22) */
.tr-split.wf-look-founder .tr-split__side:first-child .tr-split__media {
  position: sticky;
  top: 112px;
  flex: none;
}

.tr-split.wf-look-founder .tr-split__side:first-child .tr-split__media img {
  width: 100%;
  height: auto !important;
}

.tr-split.wf-look-founder .tr-split__list {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  list-style: none;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
}

.tr-split.wf-look-founder .tr-split__list li {
  padding: 6px 14px;
  border-radius: 999px;
  background: #EFE2EC;
  color: #462143;
}

.tr-split.wf-look-founder .tr-split__panel {
  gap: 24px;
}

.tr-split.wf-look-founder .tr-split__h4 {
  margin: 8px 0 -8px;
}

/* the press kit: two cards, each with its copy button */
.tr-split.wf-look-kit .tr-split__body {
  align-items: stretch;
}

.tr-split.wf-look-kit .tr-split__side,
.tr-split.wf-look-kit .tr-split__panel {
  height: 100%;
}

.tr-split.wf-look-kit .tr-split__after .tr-split__text,
.tr-split#ai-audit .tr-split__after .tr-split__text {
  font-size: 16px;
}

.tr-split#ai-audit .tr-split__body {
  align-items: start;
}

/* the pilot status and the licence line are the artifact's small print */
.tr-split#ai-audit .tr-split__side:first-child .tr-split__text:nth-child(2n) {
  font-size: 16px;
  color: #656667;
}

/* topics: the long paragraph under the heading reads as body text */
.builds#topics .builds__subtitle {
  max-width: 900px;
  margin: 24px auto 0;
  font-size: 20px;
  line-height: 1.4;
}

/* key facts: the three values that are links */
.about-legal#key-facts .donate-legal__table a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* related pages: eight links in rows */
.tr-split.wf-look-center#related .tr-split__actions {
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1040px;
  margin: 0 auto;
  gap: 16px;
}

/* ---- the Knowledge Desk ---- */
/* parts that the script shows and hides keep their hidden attribute over any display rule */
.wf-press-desk [hidden],
.wf-press-request [hidden] {
  display: none !important;
}

.wf-press-desk {
  padding: 120px 0;
  background: #5D295F;
  color: #FCFAF1;
  scroll-margin-top: 24px;
}

.wf-press-desk__inner,
.wf-press-request__inner,
.wf-press-photos__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.wf-press-desk__head {
  max-width: 900px;
  margin-bottom: 48px;
}

.wf-press-desk__eyebrow,
.wf-press-request__eyebrow {
  margin: 0 0 12px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.wf-press-desk__head h2,
.wf-press-request__head h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.wf-press-desk__lead,
.wf-press-desk__model {
  margin: 24px 0 0;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 1.4;
}

.wf-press-desk__lead a,
.wf-press-desk__foot a,
.wf-press-desk__small a,
.wf-press-request a,
.wf-press-photos__small a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-press-desk__model {
  padding-left: 20px;
  border-left: 3px solid #D6BDE1;
}

.wf-press-desk__console {
  padding: 40px;
  border-radius: 24px;
  background: #FCFAF1;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
}

.wf-press-desk__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E1E1E1;
}

.wf-press-desk__tabs button {
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #656667;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
}

.wf-press-desk__tabs button[aria-selected="true"] {
  background: #EFE2EC;
  color: #462143;
}

.wf-press-desk__disclaimer,
.wf-press-desk__small,
.wf-press-desk__attr,
.wf-press-desk__src {
  margin: 16px 0 0;
  color: #656667;
  font-size: 14px;
  line-height: 1.45;
}

.wf-press-desk__test,
.wf-press-request__test {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-left: 3px solid #984F91;
  background: rgba(152, 79, 145, 0.08);
  color: #221A1F;
  font-size: 16px;
  line-height: 1.4;
}

.wf-press-desk__warn {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: #F2F1F0;
  color: #873D32;
  font-size: 16px;
}

.wf-press-desk__notice {
  margin-top: 24px;
  padding: 24px;
  border-radius: 16px;
  background: #F2F1F0;
}

.wf-press-desk__notice h3 {
  margin: 0 0 12px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
}

.wf-press-desk__notice p {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.5;
}

.wf-press-desk__pane {
  padding-top: 24px;
}

.wf-press-desk__hint {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.4;
}

.wf-press-desk__row {
  display: flex;
  gap: 12px;
}

.wf-press-desk__row input {
  flex: 1 1 auto;
}

.wf-press-desk__submit,
.wf-press-request__submit {
  flex: none;
  min-height: 48px;
  padding: 0 28px;
  border: 1px solid #984F91;
  border-radius: 8px;
  background: #984F91;
  color: #FCFAF1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease;
}

.wf-press-desk__submit:hover,
.wf-press-desk__submit:focus-visible,
.wf-press-request__submit:hover,
.wf-press-request__submit:focus-visible {
  border-color: #5D295F;
  background: #5D295F;
}

.wf-press-desk__out .wf-press-desk__submit {
  margin-top: 16px;
}

.wf-press-desk__label {
  margin: 24px 0 0;
  font-size: 16px;
  font-weight: 600;
}

.wf-press-desk__search {
  margin-bottom: 8px;
}

.wf-press-desk__quotes {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.wf-press-desk__quotes li {
  padding: 24px;
  border-radius: 16px;
  background: #F2F1F0;
}

.wf-press-desk__tag {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  background: #EFE2EC;
  color: #462143;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.wf-press-desk__quotes blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.35;
}

.wf-press-desk__attr {
  margin-top: 8px;
}

.wf-press-desk__src {
  margin-top: 4px;
}

.wf-press-desk__textlink {
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: #5D295F;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}

.wf-press-desk__iv {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 16px;
  padding-left: 24px;
}

.wf-press-desk__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}

.wf-press-desk__bar .wf-press-desk__textlink {
  margin-top: 0;
}

.wf-press-desk__counter {
  color: #656667;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.wf-press-desk__bar .wf-press-desk__submit {
  margin-left: auto;
}

.wf-press-desk__foot {
  margin: 32px 0 0;
  padding-top: 16px;
  border-top: 1px solid #E1E1E1;
  color: #656667;
  font-size: 14px;
  line-height: 1.45;
}

.wf-press-vh {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ---- the media request form ---- */
.wf-press-request {
  padding: 120px 0;
  background: transparent;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
  scroll-margin-top: 24px;
}

.wf-press-request__head {
  max-width: 900px;
  margin: 0 auto 48px;
  text-align: center;
}

.wf-press-request__head p {
  margin: 24px 0 0;
  font-size: 20px;
  line-height: 1.4;
}

.wf-press-request__form,
.wf-press-request__sent {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px;
  border-radius: 24px;
  background: #F2F1F0;
}

.wf-press-request__form h3,
.wf-press-request__sent h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.wf-press-request__small {
  margin: 12px 0 0;
  color: #656667;
  font-size: 14px;
  line-height: 1.45;
}

.wf-press-request__two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
  margin-top: 24px;
}

.wf-press-request__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin-bottom: 20px;
}

.wf-press-request__field label,
.wf-press-request__set legend {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.wf-press-request select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23984F91' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}

.wf-press-request textarea {
  resize: vertical;
}

.wf-press-request .is-bad,
.wf-press-request__set.is-bad .wf-press-choice {
  border-color: #873D32;
}

.wf-press-request__hint {
  margin: 0;
  color: #656667;
  font-size: 14px;
  line-height: 1.35;
}

.wf-press-request__set {
  min-width: 0;
  margin: 8px 0 24px;
  padding: 0;
  border: 0;
}

.wf-press-request__set legend {
  margin-bottom: 12px;
  padding: 0;
}

.wf-press-request__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wf-press-choice {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 16px 48px 16px 20px;
  border: 1px solid #AEAEB0;
  border-radius: 16px;
  background: #FCFAF1;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.wf-press-choice input {
  position: absolute;
  top: 18px;
  right: 18px;
  margin: 0;
  accent-color: #5D295F;
}

.wf-press-choice__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.wf-press-choice__text {
  color: #656667;
  font-size: 14px;
  line-height: 1.45;
}

.wf-press-choice:hover {
  border-color: #984F91;
}

.wf-press-choice:has(input:checked) {
  border-color: #5D295F;
  box-shadow: inset 0 0 0 1px #5D295F;
}

.wf-press-choice:has(input:focus-visible) {
  outline: 2px solid #5D295F;
  outline-offset: 2px;
}

.wf-press-request__draft {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #EFE2EC;
  font-size: 14px;
}

.wf-press-request__check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 8px;
}

.wf-press-request__check input {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #5D295F;
}

.wf-press-request__check label {
  font-size: 15px;
  line-height: 1.45;
}

.wf-press-request__error {
  margin: 16px 0 0;
  color: #873D32;
  font-size: 15px;
  font-weight: 600;
}

.wf-press-request__submit {
  margin-top: 24px;
}

.wf-press-request__sent p {
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.45;
}

.wf-press-request__sent .wf-press-request__test {
  margin: 0 0 24px;
}

.wf-press-request__mail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  max-width: 900px;
  margin: 32px auto 0;
  font-size: 18px;
}

.wf-press-request__mail a {
  font-weight: 600;
}

.wf-press-request__copy {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #221A1F;
  border-radius: 8px;
  background: transparent;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  cursor: pointer;
}

.wf-press-request__copy:hover,
.wf-press-request__copy:focus-visible {
  border-color: #984F91;
  color: #984F91;
}

/* ---- logos and photos of the founder ---- */
.wf-press-photos {
  padding: 0 0 120px;
  background: transparent;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
}

.wf-press-photos h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.wf-press-photos__small {
  max-width: 860px;
  margin: 16px 0 0;
  color: #656667;
  font-size: 16px;
  line-height: 1.45;
}

.wf-press-photos__downloads {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 900px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.wf-press-photos__downloads a,
.wf-press-photo__files a {
  display: block;
  padding: 12px 16px;
  border-radius: 8px;
  background: #F2F1F0;
  color: #221A1F;
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  transition: background 160ms ease;
}

.wf-press-photos__downloads a::before,
.wf-press-photo__files a::before {
  content: "\2193\00a0";
  color: #984F91;
  font-weight: 700;
}

.wf-press-photos__downloads a:hover,
.wf-press-photos__downloads a:focus-visible,
.wf-press-photo__files a:hover,
.wf-press-photo__files a:focus-visible {
  background: #EFE2EC;
}

.wf-press-photos__label {
  margin: 56px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
  scroll-margin-top: 96px;
}

.wf-press-photos__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.wf-press-photo {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  margin: 0;
}

.wf-press-photo__frame {
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: 16px;
  background: #F2F1F0;
}

.wf-press-photo__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wf-press-photo figcaption {
  font-size: 15px;
  line-height: 1.4;
}

.wf-press-photo__files {
  display: grid;
  gap: 8px;
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.wf-press-photo__files a {
  font-size: 14px;
}

@media (max-width: 1247px) {
  .wf-press-desk__inner,
  .wf-press-request__inner,
  .wf-press-photos__inner {
    padding: 0 40px;
  }

  .wf-press-photos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .tr-split.wf-look-founder .tr-split__side:first-child .tr-split__media {
    position: static;
  }

  .wf-press-request__two,
  .wf-press-request__choices,
  .wf-press-photos__downloads {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .wf-press-desk,
  .wf-press-request {
    padding: 96px 0;
  }

  .wf-press-photos {
    padding-bottom: 96px;
  }

  .wf-press-desk__inner,
  .wf-press-request__inner,
  .wf-press-photos__inner {
    padding: 0 24px;
  }

  .wf-press-desk__head h2,
  .wf-press-request__head h2 {
    font-size: 40px;
  }

  .wf-press-desk__lead,
  .wf-press-desk__model,
  .wf-press-request__head p,
  .wf-press-desk__hint {
    font-size: 16px;
  }

  .wf-press-desk__console,
  .wf-press-request__form,
  .wf-press-request__sent {
    padding: 24px 16px;
    border-radius: 16px;
  }

  .wf-press-desk__row {
    flex-direction: column;
  }

  .wf-press-desk__submit,
  .wf-press-request__submit {
    width: 100%;
  }

  .wf-press-desk__bar .wf-press-desk__submit {
    margin-left: 0;
  }

  .wf-press-desk__quotes blockquote {
    font-size: 20px;
  }

  .wf-press-request__form h3,
  .wf-press-request__sent h3,
  .wf-press-photos h3 {
    font-size: 32px;
  }

  .wf-press-photos__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tr-split__list {
    font-size: 18px;
  }
}

/* the small line above a heading (the artifact's eyebrow) */
.tr-split__eyebrow,
.builds__eyebrow {
  margin: 0 0 12px;
  color: #984F91;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

/* ===== Key facts test (2026-10-22): a reference page without photos, tables and lists across the full width ===== */

/* first screen: calm, on the page background */
.wf-hero.wf-hero--facts.wf-look-facts {
  height: auto;
  min-height: 0;
  max-height: none;
  background: transparent;
  color: #221A1F;
}

.wf-hero--facts.wf-look-facts .wf-hero__shade {
  display: none;
}

.wf-hero--facts.wf-look-facts .wf-hero__content {
  display: block;
  min-height: 0;
  padding: 200px 96px 64px;
}

.wf-hero--facts.wf-look-facts .wf-hero__title {
  width: 100%;
  max-width: 1248px;
  color: #221A1F;
  font-size: 100px;
  line-height: 1;
  text-align: left;
}

.wf-hero--facts.wf-look-facts .wf-hero__title > span,
.wf-hero--facts.wf-look-facts .wf-hero__title > span:last-child {
  display: inline;
  white-space: normal;
  text-align: left;
}

.wf-hero--facts.wf-look-facts .wf-hero__text {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 16px;
  max-width: 900px;
  margin-top: 32px;
}

.wf-hero--facts.wf-look-facts .wf-hero__text > p {
  flex: 0 0 100%;
  color: #221A1F;
}

.wf-hero--facts.wf-look-facts .wf-hero__text > p:first-child {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.25;
}

.wf-hero--facts.wf-look-facts .wf-hero__text .wf-hero__paragraph {
  margin-top: 24px;
  font-size: 20px;
  line-height: 1.45;
}

.wf-hero--facts.wf-look-facts .wf-hero__button,
.wf-hero--facts.wf-look-facts .wf-hero__secondary {
  margin-top: 40px;
}

.wf-hero--facts.wf-look-facts .wf-hero__secondary {
  border-color: #221A1F !important;
  color: #221A1F !important;
}

/* the two tables: across the full width, the name of the row on the left */
.about-legal:is(#facts, #legal-record) .donate-legal__table {
  width: 100%;
}

.about-legal:is(#facts, #legal-record) .donate-legal__row {
  grid-template-columns: 360px minmax(0, 1fr);
}

.about-legal:is(#facts, #legal-record) .donate-legal__row dt {
  justify-content: flex-start;
  text-align: left;
}

.about-legal:is(#facts, #legal-record) .donate-legal__table a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.about-legal:is(#facts, #legal-record) .about-legal__intro {
  grid-template-columns: minmax(0, 1fr);
}

/* a value with two links (mail, phone) keeps its spaces: block, not flex */
.about-legal:is(#facts, #legal-record) .donate-legal__row dd {
  display: block;
}

/* the line under the registration table starts at the table's left edge */
.about-legal#legal-record .about-legal__note {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* the first screen has no photo: the breadcrumbs read on the page background, the current page too */
body:has(#app .wf-hero--facts) .site-breadcrumbs {
  color: #462143;
}

/* lists: programs, coverage, profiles, facts you can check */
.tr-split:is(.wf-look-list, .wf-look-check) .tr-split__inner {
  gap: 48px;
  align-items: stretch;
}

.tr-split:is(.wf-look-list, .wf-look-check) .tr-split__head--left {
  text-align: left;
}

.tr-split:is(.wf-look-list, .wf-look-check) .tr-split__head--left p {
  margin-left: 0;
}

.tr-split:is(.wf-look-list, .wf-look-check) .tr-split__panel {
  gap: 0;
}

.tr-split__h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.tr-split__h3 a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.tr-split.wf-look-list .tr-split__h3 {
  padding-top: 32px;
  border-top: 1px solid #E1E1E1;
}

.tr-split.wf-look-list .tr-split__h3:first-child {
  padding-top: 0;
  border-top: 0;
}

.tr-split.wf-look-list .tr-split__h3 + .tr-split__text {
  max-width: 1000px;
  margin: 12px 0 32px;
}

.tr-split.wf-look-list .tr-split__h3 + .tr-split__list {
  margin: 16px 0 40px;
}

.tr-split.wf-look-list .tr-split__list {
  gap: 0;
  padding: 0;
  list-style: none;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.4;
}

.tr-split.wf-look-list .tr-split__list li {
  padding: 14px 0;
  border-bottom: 1px solid #E1E1E1;
}

.tr-split.wf-look-list .tr-split__list li:first-child {
  border-top: 1px solid #E1E1E1;
}

/* facts you can check: the fact, and its sources smaller under it */
.tr-split.wf-look-check .tr-split__text:nth-of-type(odd) {
  padding-top: 24px;
  border-top: 1px solid #E1E1E1;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

.tr-split.wf-look-check .tr-split__text:nth-of-type(even) {
  margin: 8px 0 24px;
  color: #656667;
  font-size: 16px;
  line-height: 1.45;
}

@media (max-width: 1247px) {
  .wf-hero--facts.wf-look-facts .wf-hero__content {
    padding: 180px 40px 56px;
  }

  .about-legal:is(#facts, #legal-record) .donate-legal__row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .wf-hero--facts.wf-look-facts .wf-hero__title {
    font-size: 54px;
  }

  .wf-hero--facts.wf-look-facts .wf-hero__text > p:first-child {
    font-size: 22px;
  }

  .wf-hero--facts.wf-look-facts .wf-hero__text .wf-hero__paragraph {
    font-size: 16px;
  }

  .wf-hero--facts.wf-look-facts .wf-hero__button,
  .wf-hero--facts.wf-look-facts .wf-hero__secondary {
    width: 100%;
    margin-top: 16px;
  }

  .wf-hero--facts.wf-look-facts .wf-hero__button {
    margin-top: 32px;
  }
}

@media (max-width: 600px) {
  .wf-hero--facts.wf-look-facts .wf-hero__content {
    padding: 150px 24px 40px;
  }

  .tr-split__h3 {
    font-size: 24px;
  }

  .tr-split.wf-look-list .tr-split__list {
    font-size: 16px;
  }

  .tr-split.wf-look-check .tr-split__text:nth-of-type(odd) {
    font-size: 20px;
  }
}

/* ===== Marina's Key facts test (2026-10-22): the text link of the first screen, her quotes ===== */
.wf-hero--facts.wf-look-facts .wf-hero__help {
  flex: 0 0 100%;
  margin-top: 32px;
}

.wf-hero--facts.wf-look-facts .wf-hero__help a {
  color: #221A1F;
  font-size: 20px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.wf-hero--facts.wf-look-facts .wf-hero__help a:hover,
.wf-hero--facts.wf-look-facts .wf-hero__help a:focus-visible {
  color: #984F91;
}

.tr-split.wf-look-quotes .tr-split__panel {
  gap: 24px;
}

.tr-split.wf-look-quotes .tr-split__lead {
  max-width: 1000px;
  color: #5D295F;
  font-size: 36px;
  line-height: 1.25;
}

.tr-split.wf-look-quotes .tr-split__text {
  font-size: 18px;
}

.tr-split.wf-look-quotes .tr-split__text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 600px) {
  .tr-split.wf-look-quotes .tr-split__lead {
    font-size: 26px;
  }
}

/* paragraphs that follow each other in a list block (a text, then its link) keep a gap; a group heading in the articles list gets air above it */
.tr-split.wf-look-list .tr-split__text + .tr-split__text {
  margin-top: 16px;
}

.tr-split.wf-look-check .tr-split__h3 {
  margin-bottom: 8px;
}

.tr-split.wf-look-check .tr-split__h3:not(:first-child) {
  margin-top: 40px;
}

/* ===== Open map test (2026-10-22): the wide table of organizations, the citation box ===== */
.wf-dtable {
  padding: 120px 0;
  background: transparent;
  color: #221A1F;
  font-family: "Open Sans", sans-serif;
}

.wf-dtable__inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.wf-dtable__head {
  margin-bottom: 40px;
}

.wf-dtable__head h2 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.wf-dtable__eyebrow {
  margin: 0 0 12px;
  color: #984F91;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.wf-dtable__subtitle {
  margin: 16px 0 0;
  color: #656667;
  font-size: 18px;
  line-height: 1.4;
}

.wf-dtable__wrap {
  overflow-x: auto;
}

.wf-dtable__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.45;
}

.wf-dtable__table th,
.wf-dtable__table td {
  padding: 16px 14px 16px 0;
  border-bottom: 1px solid #E1E1E1;
  text-align: left;
  vertical-align: top;
}

.wf-dtable__table thead th {
  padding-top: 0;
  border-bottom: 2px solid #221A1F;
  color: #656667;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.wf-dtable__table tbody th {
  width: 18%;
  font-weight: 600;
}

.wf-dtable__table td:nth-child(2) {
  width: 9%;
}

.wf-dtable__table td:nth-child(3) {
  width: 21%;
}

.wf-dtable__table td:nth-child(4) {
  width: 22%;
}

.wf-dtable__links {
  white-space: nowrap;
}

.wf-dtable__links a {
  display: block;
  color: #5D295F;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-dtable__links a + a {
  margin-top: 6px;
}

.wf-dtable__after {
  margin: 24px 0 0;
  color: #656667;
  font-size: 16px;
}

.wf-dtable__after a,
.wf-dtable__subtitle a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* a phone */
@media (max-width: 768px) {
  .wf-dtable {
    padding: 96px 0;
  }

  .wf-dtable__inner {
    padding: 0 24px;
  }

  .wf-dtable__head h2 {
    font-size: 40px;
  }
}

/* narrower than the seven columns need: one card per organization, its name on top, then "column: value" */
@media (max-width: 1023px) {
  .wf-dtable__wrap {
    overflow: visible;
  }

  .wf-dtable__table,
  .wf-dtable__table tbody,
  .wf-dtable__table tr,
  .wf-dtable__table th,
  .wf-dtable__table td {
    display: block;
    width: auto !important;
  }

  .wf-dtable__table thead {
    display: none;
  }

  .wf-dtable__table tr {
    margin-bottom: 12px;
    padding: 20px;
    border-radius: 16px;
    background: #F2F1F0;
  }

  .wf-dtable__table th,
  .wf-dtable__table td {
    padding: 0;
    border: 0;
  }

  .wf-dtable__table tbody th {
    margin-bottom: 12px;
    font-size: 17px;
    line-height: 1.35;
  }

  .wf-dtable__table td + td {
    margin-top: 10px;
  }

  .wf-dtable__table td::before {
    content: attr(data-label) ": ";
    font-weight: 600;
  }

  /* French puts a space before the colon */
  html[lang^="fr"] .wf-dtable__table td::before {
    content: attr(data-label) "\00a0: ";
  }

  .wf-dtable__links {
    white-space: normal;
  }

  .wf-dtable__links a {
    display: inline;
    margin-right: 12px;
  }
}

/* data and citation: the citation sits in a box, the change log heading follows */
.tr-split.wf-look-data .tr-split__lead {
  max-width: 1000px;
  padding: 16px 20px;
  border-radius: 12px;
  background: #F2F1F0;
  font-family: "Courier New", Courier, monospace;
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.tr-split.wf-look-data .tr-split__panel {
  gap: 20px;
}

.tr-split.wf-look-data .tr-split__h3 {
  margin-top: 24px;
  font-size: 28px;
}

/* the list look of the Key facts pages, here with a paragraph before or after the list */
.tr-split.wf-look-list .tr-split__list + .tr-split__text,
.tr-split.wf-look-list .tr-split__text + .tr-split__list {
  margin-top: 24px;
}

.tr-split.wf-look-list .tr-split__text {
  max-width: 1000px;
}

.tr-split.wf-look-data .tr-split__inner {
  gap: 48px;
  align-items: stretch;
}

/* ===== Equal Consideration Standard (2026-10-22): womafreesm_ecs blocks, the "ecs" carousel look, the hero ===== */
.wf-ecs {
  position: relative;
  padding: var(--ecs-pt, 120px) 0 var(--ecs-pb, 120px);
  background: #FCFAF1;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  isolation: isolate;
}

.wf-ecs__inner {
  display: flex;
  flex-direction: column;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.wf-ecs__title {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-align: center;
}

.wf-ecs__title em,
.about-carousel.wf-look-ecs .volunteer-tracks__heading h2 em,
.wf-hero--ecs .wf-hero__title em {
  font-style: italic;
}

.wf-ecs__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: min(100%, 828px);
  margin: 0 auto;
  text-align: center;
}

.wf-ecs__subtitle {
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
}

.wf-ecs__p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.wf-ecs__serif {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

.wf-ecs a:not(.tr-split__button) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-ecs .wf-ecs__button {
  display: inline-flex;
  align-self: flex-start;
  width: auto;
  padding-right: 24px;
  padding-left: 24px;
  white-space: nowrap;
}

/* the photo fills its frame and never sets the frame's height */
.wf-ecs__photo {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
}

.wf-ecs__photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wf-ecs__grey {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 48px;
  border-radius: 24px;
  background: #F2F1F0;
}

/* intro: a centred heading, a photo beside a lead line and paragraphs */
.wf-ecs--intro .wf-ecs__inner {
  gap: 96px;
}

/* "The Standard asks nine questions / of any decision" wraps after "questions", as in the mockup */
.wf-ecs--intro .wf-ecs__title {
  max-width: 760px;
  margin: 0 auto;
}

.wf-ecs--intro .wf-ecs__row {
  display: flex;
  align-items: center;
  gap: 96px;
}

.wf-ecs--intro .wf-ecs__photo {
  flex: 0 0 538px;
  height: 439px;
}

.wf-ecs--intro .wf-ecs__text {
  display: flex;
  flex: 0 1 614px;
  flex-direction: column;
  gap: 16px;
}

.wf-ecs__lead {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-style: italic;
  line-height: 1.3;
}

.wf-ecs--intro .wf-ecs__p {
  font-size: 16px;
}

/* pair: a serif paragraph beside a plain one with a button */
.wf-ecs__pair {
  display: flex;
  justify-content: space-between;
  gap: 64px;
}

.wf-ecs__left {
  display: flex;
  flex: 0 1 509px;
  flex-direction: column;
  gap: 16px;
}

.wf-ecs__right {
  display: flex;
  flex: 0 1 614px;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
}

.wf-ecs__right > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wf-ecs--pair .wf-ecs__left {
  flex-basis: 506px;
}

/* center: who the Standard is for */
.wf-ecs--center {
  color: #462143;
}

.wf-ecs--center .wf-ecs__inner {
  align-items: center;
  gap: 32px;
  text-align: center;
}

.wf-ecs--center .wf-ecs__title,
.wf-ecs--center .wf-ecs__p {
  max-width: 828px;
}

.wf-ecs--center .wf-ecs__button {
  align-self: center;
}

/* pilots: heading, two columns, two photo cards, a grey note and a button */
.wf-ecs--pilots .wf-ecs__inner {
  gap: 64px;
}

.wf-ecs--pilots .wf-ecs__pair {
  margin-top: 32px;
}

.wf-ecs__cards {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.wf-ecs__card {
  position: relative;
  display: flex;
  flex: 0 1 506px;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 500px;
  padding: 24px;
  overflow: hidden;
  border-radius: 16px;
  color: #FCFAF1;
}

.wf-ecs__card img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wf-ecs__card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 1%, rgba(0, 0, 0, 0.5) 90%);
}

.wf-ecs__card-text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.wf-ecs__card h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.wf-ecs__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}

.wf-ecs__note {
  max-width: 828px;
  margin: 0;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

.wf-ecs__action .wf-ecs__button {
  align-self: center;
}

/* media: a photo beside a grey card */
.wf-ecs--media .wf-ecs__inner {
  gap: 64px;
}

.wf-ecs__duo {
  display: flex;
  gap: 20px;
}

.wf-ecs__duo > * {
  flex: 1 1 0;
  min-height: 488px;
}

/* table: a bordered table in a grey card beside a photo and a grey note */
.wf-ecs--table .wf-ecs__inner {
  gap: 96px;
}

.wf-ecs__tablerow {
  display: flex;
  gap: 20px;
}

.wf-ecs__tablebox {
  flex: 0 0 719px;
  justify-content: center;
  padding: 40px;
}

.wf-ecs__table {
  width: 100%;
  border-collapse: collapse;
  color: #000;
  font-size: 20px;
  line-height: 1.3;
}

.wf-ecs__table th,
.wf-ecs__table td {
  padding: 10px;
  border: 1px solid #000;
  text-align: left;
  vertical-align: middle;
}

.wf-ecs__table th {
  font-weight: 600;
}

.wf-ecs__aside {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 20px;
}

.wf-ecs__aside .wf-ecs__photo {
  flex: 1 1 auto;
  min-height: 138px;
}

.wf-ecs__aside .wf-ecs__grey {
  flex: 0 0 auto;
  padding: 40px;
}

.wf-ecs__aside--text-first .wf-ecs__grey {
  order: -1;
}

/* glass: a photo background, a heading block, two glass cards, a line and a button */
.wf-ecs--glass {
  color: #FCFAF1;
  background: #221A1F;
}

.wf-ecs__bg,
.wf-ecs__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.wf-ecs__bg {
  z-index: -2;
  object-fit: cover;
}

.wf-ecs__shade {
  z-index: -1;
  background: linear-gradient(rgba(34, 26, 31, 0.45), rgba(34, 26, 31, 0.45)), rgba(0, 0, 0, 0.1);
}

.wf-ecs--glass .wf-ecs__inner {
  gap: 40px;
}

.wf-ecs__glass-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 828px;
}

.wf-ecs__glass-head .wf-ecs__title {
  text-align: left;
}

.wf-ecs--glass .wf-ecs__p {
  color: #F2F1F0;
}

.wf-ecs__glass-cards {
  display: flex;
  gap: 20px;
}

.wf-ecs__glass-card {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 16px;
  min-height: 286px;
  padding: 32px;
  border-radius: 24px;
  background: rgba(34, 26, 31, 0.5);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.wf-ecs__glass-card h3 {
  min-height: 76px;
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.wf-ecs__glass-after {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 828px;
}

/* explore: groups of links */
.wf-ecs--explore .wf-ecs__inner {
  gap: 96px;
}

.wf-ecs__groups {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.wf-ecs__group h3 {
  margin: 0 0 40px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.wf-ecs__group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-ecs__group li > a,
.wf-ecs__group li > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid #000;
  color: #000;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.2;
}

.wf-ecs .wf-ecs__group li > a {
  text-decoration: none;
}

.wf-ecs__group li > a svg {
  flex: 0 0 40px;
  color: #221A1F;
  transition: transform 160ms ease;
}

.wf-ecs__group li > a:hover svg,
.wf-ecs__group li > a:focus-visible svg {
  transform: translate(3px, -3px);
}

/* the carousels: glass cards with the number beside the title (the "ecs" look of womafreesm_about_carousel) */
.about-carousel.wf-look-ecs.volunteer-tracks--module {
  min-height: 0;
  padding: 120px 0;
}

.about-carousel.wf-look-ecs .volunteer-tracks__shade {
  background: #000;
}

.about-carousel.wf-look-ecs .volunteer-tracks__inner {
  padding: 0 96px;
}

.about-carousel.wf-look-ecs .volunteer-tracks__heading {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: center;
}

.about-carousel.wf-look-ecs .volunteer-tracks__heading h2 {
  max-width: 1032px;
  margin: 0 auto;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.about-carousel.wf-look-ecs .volunteer-tracks__heading p {
  max-width: 828px;
  margin: 24px auto 0;
  font-size: 20px;
  line-height: 1.3;
}

.about-carousel.wf-look-ecs .volunteer-tracks__controls {
  gap: 8px;
  margin-top: 0;
  padding-right: 0;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-tall .volunteer-tracks__controls {
  margin-top: 220px;
}

.about-carousel.wf-look-ecs .volunteer-tracks__carousel {
  gap: 24px;
  margin-top: 24px;
  padding-bottom: 0;
}

.about-carousel.wf-look-ecs .volunteer-track-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 509px;
  min-width: 509px;
  height: auto;
  min-height: 146px;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: rgba(34, 26, 31, 0.4);
}

.about-carousel.wf-look-ecs .volunteer-track-card__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}

.about-carousel.wf-look-ecs .volunteer-track-card__title {
  flex: 1 1 auto;
  min-width: 0;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-tall .volunteer-track-card__head {
  min-height: 76px;
}

.about-carousel.wf-look-ecs .volunteer-track-card__tag {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.2;
}

.about-carousel.wf-look-ecs .volunteer-track-card h3 {
  min-height: 0;
  margin: 0;
  font-size: 32px;
  line-height: 1.2;
  text-align: left;
}

.about-carousel.wf-look-ecs .volunteer-track-card p:not(.volunteer-track-card__time) {
  align-self: start;
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

/* the first screen: the title on two lines at the right, the lead and buttons under its right half */
.wf-hero--ecs .wf-hero__shade {
  background: linear-gradient(90deg, rgba(34, 26, 31, 0.15), rgba(34, 26, 31, 0.6)), rgba(0, 0, 0, 0.1);
  opacity: 1;
}

/* the lead line at 24px, then the two buttons side by side */
.wf-hero--ecs .wf-hero__text {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 32px 20px;
}

.wf-hero--ecs .wf-hero__text > p {
  flex: 0 0 100%;
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
}

/* .wf-hero.wf-look-v2 .wf-hero__secondary adds 32px above the second button: both buttons sit on one line here */
.wf-hero.wf-hero--ecs .wf-hero__text > a {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  padding-right: 24px;
  padding-left: 24px;
  white-space: nowrap;
}

/* a tablet */
@media (max-width: 1247px) {
  .wf-ecs {
    padding: calc(var(--ecs-pt, 120px) * 0.8) 0 calc(var(--ecs-pb, 120px) * 0.8);
  }

  .wf-ecs__inner,
  .about-carousel.wf-look-ecs .volunteer-tracks__inner {
    padding: 0 48px;
  }

  .wf-ecs--intro .wf-ecs__inner,
  .wf-ecs--pilots .wf-ecs__inner,
  .wf-ecs--table .wf-ecs__inner,
  .wf-ecs--explore .wf-ecs__inner {
    gap: 64px;
  }

  .wf-ecs--intro .wf-ecs__row {
    gap: 48px;
  }

  .wf-ecs--intro .wf-ecs__photo {
    flex-basis: 44%;
  }

  .wf-ecs__tablerow {
    flex-direction: column;
  }

  .wf-ecs__tablebox {
    flex-basis: auto;
  }

  .wf-ecs__aside {
    flex-direction: row;
  }

  .wf-ecs__aside .wf-ecs__photo,
  .wf-ecs__aside .wf-ecs__grey {
    flex: 1 1 0;
    min-width: 0;
  }

  .wf-ecs__aside .wf-ecs__photo {
    min-height: 280px;
  }

  .wf-ecs__aside--text-first .wf-ecs__grey {
    order: 0;
  }

  .about-carousel.wf-look-ecs.volunteer-tracks--module {
    padding: 96px 0;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-tall .volunteer-tracks__controls {
    margin-top: 120px;
  }
}

/* a phone */
@media (max-width: 768px) {
  .wf-ecs__inner,
  .about-carousel.wf-look-ecs .volunteer-tracks__inner {
    padding: 0 24px;
  }

  .wf-ecs__title,
  .about-carousel.wf-look-ecs .volunteer-tracks__heading h2 {
    font-size: 40px;
  }

  .wf-ecs__subtitle,
  .wf-ecs__serif,
  .wf-ecs__lead {
    font-size: 20px;
  }

  .wf-ecs__p,
  .wf-ecs__note,
  .wf-ecs__table,
  .about-carousel.wf-look-ecs .volunteer-tracks__heading p,
  .about-carousel.wf-look-ecs .volunteer-track-card p:not(.volunteer-track-card__time) {
    font-size: 16px;
  }

  .wf-ecs--intro .wf-ecs__row,
  .wf-ecs__pair,
  .wf-ecs__cards,
  .wf-ecs__duo,
  .wf-ecs__aside,
  .wf-ecs__glass-cards {
    flex-direction: column;
  }

  .wf-ecs--intro .wf-ecs__photo {
    flex: 0 0 auto;
    align-self: stretch;
    width: 100%;
    height: auto;
    aspect-ratio: 538 / 439;
  }

  /* stacked blocks keep their own height (the desktop row shares one height) */
  .wf-ecs__duo > *,
  .wf-ecs__glass-card {
    flex: 0 0 auto;
  }

  .wf-ecs--intro .wf-ecs__text,
  .wf-ecs__left,
  .wf-ecs__right {
    flex-basis: auto;
  }

  .wf-ecs__pair {
    gap: 24px;
  }

  .wf-ecs--pilots .wf-ecs__pair {
    margin-top: 0;
  }

  .wf-ecs__card {
    flex-basis: auto;
    min-height: 440px;
  }

  .wf-ecs__card h3,
  .wf-ecs__group h3 {
    font-size: 32px;
  }

  .wf-ecs__duo > * {
    min-height: 0;
  }

  .wf-ecs__duo .wf-ecs__photo {
    aspect-ratio: 614 / 488;
  }

  .wf-ecs__grey,
  .wf-ecs__tablebox,
  .wf-ecs__aside .wf-ecs__grey {
    padding: 24px;
  }

  .wf-ecs__aside .wf-ecs__photo {
    min-height: 220px;
  }

  /* a table becomes one card per row on a phone: the first cell as the title, the other cells as "column: value" */
  .wf-ecs__table,
  .wf-ecs__table tbody,
  .wf-ecs__table tr,
  .wf-ecs__table td {
    display: block;
    width: auto;
  }

  .wf-ecs__table colgroup,
  .wf-ecs__table thead {
    display: none;
  }

  .wf-ecs__table tr {
    padding: 16px 0;
    border-bottom: 1px solid #000;
  }

  .wf-ecs__table tr:first-child {
    border-top: 1px solid #000;
  }

  .wf-ecs__table td {
    padding: 0;
    border: 0;
  }

  .wf-ecs__table td:first-child {
    margin-bottom: 6px;
    font-weight: 600;
  }

  .wf-ecs__table td + td::before {
    content: attr(data-label) ": ";
    font-weight: 600;
  }

  .wf-ecs__glass-card {
    min-height: 0;
    padding: 24px;
  }

  .wf-ecs__glass-card h3 {
    min-height: 0;
    font-size: 28px;
  }

  .wf-ecs__group h3 {
    margin-bottom: 16px;
  }

  .wf-ecs__group li > a,
  .wf-ecs__group li > span {
    padding: 20px 0;
    font-size: 22px;
  }

  .wf-ecs__group li > a svg {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }

  .wf-ecs .wf-ecs__button {
    white-space: normal;
  }

  .about-carousel.wf-look-ecs .volunteer-track-card {
    width: calc(100vw - 48px);
    min-width: calc(100vw - 48px);
  }

  .about-carousel.wf-look-ecs .volunteer-track-card__tag,
  .about-carousel.wf-look-ecs .volunteer-track-card h3 {
    font-size: 26px;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-tall .volunteer-track-card__head {
    min-height: 0;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-tall .volunteer-tracks__controls {
    margin-top: 64px;
  }
}

/* ===== womafreesm_ecs, more parts (2026-10-22, "How the WLCE Index measures"): split, cards, photocards, steps ===== */
.wf-ecs__grey-text {
  color: #656667;
}

.wf-ecs__small {
  margin: 0;
  color: #E1E1E1;
  font-size: 16px;
  line-height: 1.3;
}

.wf-ecs--h3 .wf-ecs__title {
  font-size: 40px;
  line-height: 1.3;
}

/* a pair with a heading above it */
.wf-ecs--pair .wf-ecs__inner {
  gap: 96px;
}

/* split: paragraphs beside a photo that takes the rest of the row and the text's height */
.wf-ecs--split .wf-ecs__inner {
  gap: 96px;
}

.wf-ecs--split .wf-ecs__head {
  gap: 8px;
  width: 100%;
}

.wf-ecs--split .wf-ecs__head .wf-ecs__subtitle {
  max-width: 828px;
  margin: 0 auto;
}

/* a photo taller than its text (photo_min): the text starts at the top, as in the mockup */
.wf-ecs--text-top .wf-ecs__text {
  justify-content: flex-start;
}

.wf-ecs--split .wf-ecs__row {
  display: flex;
  align-items: stretch;
  gap: 96px;
}

.wf-ecs--split .wf-ecs__photo {
  flex: 1 1 0;
  min-width: 0;
  min-height: 200px;
}

.wf-ecs--photo-right .wf-ecs__photo {
  order: 2;
}

.wf-ecs--split .wf-ecs__text {
  display: flex;
  flex: 0 1 614px;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

.wf-ecs--split .wf-ecs__text strong {
  font-weight: 600;
}

.wf-ecs__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 32px;
}

/* cards: grey or violet tiles in 2, 3 or 4 columns, a photo at the foot of a tile */
.wf-ecs--cards .wf-ecs__inner {
  gap: 64px;
}

.wf-ecs--cards.wf-ecs--h3 .wf-ecs__inner {
  gap: 96px;
}

.wf-ecs--cards .wf-ecs__head {
  gap: 24px;
  width: min(100%, 1028px);
}

.wf-ecs__cards-lead,
.wf-ecs__cards-note {
  max-width: 719px;
}

.wf-ecs__grid {
  display: grid;
  gap: 24px;
}

.wf-ecs__grid--1 { grid-template-columns: 1fr; }
.wf-ecs__grid--2 { grid-template-columns: repeat(2, 1fr); }
.wf-ecs__grid--3 { grid-template-columns: repeat(3, 1fr); }
.wf-ecs__grid--4 { grid-template-columns: repeat(4, 1fr); }

.wf-ecs__tile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  border-radius: 16px;
  background: #F2F1F0;
}

.wf-ecs--cards-violet .wf-ecs__tile {
  justify-content: flex-start;
  background: #EFE2EC;
}

.wf-ecs--cards-center .wf-ecs__tile {
  text-align: center;
}

.wf-ecs__tile-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wf-ecs--cards-violet .wf-ecs__tile-text {
  gap: 8px;
}

.wf-ecs__tile h3 {
  min-height: calc(var(--ecs-title-lines, 1) * 1.2em);
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.wf-ecs__tile-photo {
  flex: 0 0 237px;
  border-radius: 16px;
}

/* photocards: two wide cards on photos, the text on the right half */
.wf-ecs--photocards .wf-ecs__inner {
  gap: 24px;
}

.wf-ecs__photocard {
  position: relative;
  display: flex;
  justify-content: flex-end;
  min-height: 315px;
  padding: 40px;
  overflow: hidden;
  border-radius: 16px;
  color: #FCFAF1;
  isolation: isolate;
}

.wf-ecs__photocard img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wf-ecs__photocard::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}

.wf-ecs__photocard-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(100%, 702px);
}

.wf-ecs__photocard h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

/* steps: a gradient bar beside the items, the block on the right */
.wf-ecs--steps .wf-ecs__inner {
  gap: 126px;
}

.wf-ecs__steps {
  display: flex;
  align-self: flex-end;
  gap: 90px;
  width: min(100%, 719px);
}

.wf-ecs__steps-bar {
  flex: 0 0 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, #5C2C58 0%, #FFFAF4 27.885%);
}

.wf-ecs__steps-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 64px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wf-ecs__steps-list h3 {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

/* the carousels: "ecs-two" keeps two-line titles in a row without a heading, "ecs-spaced" spaces a heading from the cards */
.about-carousel.wf-look-ecs.partners-carousel--ecs-two .volunteer-track-card__head {
  min-height: 76px;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-spaced .volunteer-tracks__controls {
  margin-top: 200px;
}

/* slides (2026-10-23): one slide at a time, a grey card beside its photo, round arrows at the foot of the card */
.wf-ecs--slides .wf-ecs__inner {
  gap: 96px;
}

.wf-ecs__slide {
  display: flex;
  gap: 20px;
}

.wf-ecs__slide[hidden] {
  display: none;
}

.wf-ecs__slide-card {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  min-width: 0;
  min-height: 636px;
  padding: 48px;
  border-radius: 24px;
  background: #F2F1F0;
}

.wf-ecs__slide-text {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.wf-ecs__slide-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wf-ecs__slide-label {
  margin: 0;
  color: #656667;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.wf-ecs__slide-head h3 {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.wf-ecs__slide-nav {
  display: flex;
  gap: 20px;
}

.wf-ecs__round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 1px solid #161114;
  border-radius: 50%;
  color: #161114;
  background: transparent;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease;
}

.wf-ecs__round:hover,
.wf-ecs__round:focus-visible {
  color: #FCFAF1;
  background: #161114;
}

.wf-ecs__slide-photo {
  flex: 1 1 0;
  min-width: 0;
}

/* the carousels on light ground ("ecs-light"): grey cards, dark type and arrows */
.about-carousel.wf-look-ecs.partners-carousel--ecs-light {
  color: #161114;
  background: #FCFAF1;
}

/* it continues the block above it, as in the mockup: no space on top */
.about-carousel.wf-look-ecs.partners-carousel--ecs-light.volunteer-tracks--module {
  padding: 0 0 64px;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-tracks__bg,
.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-tracks__shade {
  display: none;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-tracks__controls {
  gap: 20px;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-tracks__control {
  border-color: #161114;
  color: #161114;
  background: transparent;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-tracks__control:hover {
  color: #FCFAF1;
  background: #161114;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-track-card {
  gap: 16px;
  color: #161114;
  background: #F2F1F0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-track-card__head,
.about-carousel.wf-look-ecs.partners-carousel--ecs-m64 .volunteer-track-card__head,
.about-carousel.wf-look-ecs.partners-carousel--ecs-m96 .volunteer-track-card__head {
  min-height: 76px;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-m64 .volunteer-tracks__controls {
  margin-top: 64px;
}

.about-carousel.wf-look-ecs.partners-carousel--ecs-m96 .volunteer-tracks__controls {
  margin-top: 96px;
}

/* in these three the cards sit 24px under the arrows, as in the mockup */
.about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-tracks__controls,
.about-carousel.wf-look-ecs.partners-carousel--ecs-m64 .volunteer-tracks__controls,
.about-carousel.wf-look-ecs.partners-carousel--ecs-m96 .volunteer-tracks__controls {
  margin-bottom: 0;
}

/* a heading without a subtitle keeps to one line */
.about-carousel.wf-look-ecs.partners-carousel--ecs-m96 .volunteer-tracks__heading h2 {
  max-width: none;
}

/* a table heading without a subtitle takes the full width, so it stays on one line */
.wf-ecs--table .wf-ecs__head:not(:has(.wf-ecs__subtitle)) {
  width: 100%;
}

/* a long word breaks inside its cell instead of widening the column */
.wf-ecs__table th,
.wf-ecs__table td {
  overflow-wrap: anywhere;
}

/* three columns of cards: every row as tall as the tallest card */
@media (min-width: 1248px) {
  .wf-ecs__grid--3 {
    grid-auto-rows: 1fr;
  }
}

/* a card button on the glass cards: a white outline across the card, at its foot */
.about-carousel.wf-look-ecs .volunteer-track-card__button {
  margin-top: auto;
}

@media (max-width: 1247px) {
  .wf-ecs--split .wf-ecs__inner,
  .wf-ecs--pair .wf-ecs__inner,
  .wf-ecs--cards.wf-ecs--h3 .wf-ecs__inner {
    gap: 64px;
  }

  .wf-ecs--split .wf-ecs__row {
    gap: 48px;
  }

  .wf-ecs__grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .wf-ecs--steps .wf-ecs__inner {
    gap: 64px;
  }

  .wf-ecs__steps {
    gap: 48px;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-spaced .volunteer-tracks__controls {
    margin-top: 120px;
  }
}

@media (max-width: 768px) {
  .wf-ecs--h3 .wf-ecs__title {
    font-size: 30px;
  }

  /* stacked columns take their own height (the desktop widths would become heights) */
  .wf-ecs--pair .wf-ecs__left,
  .wf-ecs--pair .wf-ecs__right,
  .wf-ecs--pilots .wf-ecs__left,
  .wf-ecs--pilots .wf-ecs__right {
    flex: 0 0 auto;
  }

  .wf-ecs__buttons .wf-ecs__button {
    max-width: 100%;
    height: auto !important;
    white-space: normal;
    text-align: left;
  }

  .wf-ecs--split .wf-ecs__row {
    flex-direction: column;
    gap: 32px;
  }

  .wf-ecs--split .wf-ecs__photo {
    flex: 0 0 auto;
    order: 2;
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
  }

  .wf-ecs--split .wf-ecs__text {
    flex: 0 0 auto;
  }

  .wf-ecs__grid--2,
  .wf-ecs__grid--3,
  .wf-ecs__grid--4 {
    grid-template-columns: 1fr;
  }

  .wf-ecs__tile h3 {
    min-height: 0;
    font-size: 26px;
  }

  .wf-ecs__tile-photo {
    flex-basis: auto;
    aspect-ratio: 352 / 237;
  }

  .wf-ecs__photocard {
    min-height: 0;
    padding: 24px;
  }

  .wf-ecs__photocard h3 {
    font-size: 30px;
  }

  .wf-ecs__steps {
    gap: 24px;
  }

  .wf-ecs__steps-bar {
    flex-basis: 8px;
  }

  .wf-ecs__steps-list {
    gap: 40px;
  }

  .wf-ecs__steps-list h3 {
    margin-bottom: 12px;
    font-size: 20px;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-two .volunteer-track-card__head,
  .about-carousel.wf-look-ecs.partners-carousel--ecs-light .volunteer-track-card__head,
  .about-carousel.wf-look-ecs.partners-carousel--ecs-m64 .volunteer-track-card__head,
  .about-carousel.wf-look-ecs.partners-carousel--ecs-m96 .volunteer-track-card__head {
    min-height: 0;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-m64 .volunteer-tracks__controls,
  .about-carousel.wf-look-ecs.partners-carousel--ecs-m96 .volunteer-tracks__controls {
    margin-top: 40px;
  }

  .wf-ecs__slide {
    flex-direction: column;
  }

  .wf-ecs__slide-card {
    flex: 0 0 auto;
    min-height: 0;
    padding: 24px;
  }

  .wf-ecs__slide-label {
    font-size: 28px;
  }

  .wf-ecs__slide-head h3 {
    font-size: 24px;
  }

  .wf-ecs__slide-photo {
    flex: 0 0 auto;
    aspect-ratio: 4 / 3;
  }

  .about-carousel.wf-look-ecs.partners-carousel--ecs-spaced .volunteer-tracks__controls {
    margin-top: 64px;
  }
}

@media (max-width: 600px) {
  /* the first screen grows with a long title, so the second button is not cut off */
  .wf-hero.wf-hero--ecs {
    height: auto;
    min-height: 100svh;
    max-height: none;
  }

  /* a line break set for the desktop subtitle would leave one word on its own line */
  .wf-ecs--cards .wf-ecs__head p br {
    display: none;
  }
}

/* ===== The language list in the site menu (2026-11-02, Alina's Frame 1328) =====
   site.js puts a button and a list over the native select (kept for a page without the script).
   The button looks like the select did; the list: cream rows of 40px, 1px lines, the current or pointed row purple. */
.site-menu__language.is-custom select {
  display: none;
}

.site-menu__language.is-open {
  z-index: 20;
}

.site-menu__language-toggle {
  width: 100%;
  height: 100%;
  padding: 0 32px 0 16px;
  border: 0;
  border-radius: 6px;
  color: #462143;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
  white-space: nowrap;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.site-menu__language:hover .site-menu__language-toggle,
.site-menu__language.is-open .site-menu__language-toggle {
  color: var(--cream);
  background: rgba(152, 79, 145, 1);
}

.site-menu__language.is-open::after {
  border-color: var(--cream);
  transform: translateY(-25%) rotate(225deg);
}

.site-menu__language-list {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 160px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #fcfaf1;
  list-style: none;
}

.site-menu__language-list[hidden] {
  display: none;
}

.site-menu__language-list li {
  padding: 0 20px;
  color: #462143;
  cursor: pointer;
  font-size: 16px;
  font-weight: 400;
  line-height: 40px;
  outline: 0;
  white-space: nowrap;
  transition:
    color 160ms ease,
    background 160ms ease;
}

.site-menu__language-list li + li {
  border-top: 1px solid #f3f2f0;
}

/* site.js marks one row: the current language on opening, then the pointed or focused row */
.site-menu__language-list li.is-active {
  color: #fcfaf1;
  background: #984f91;
}

/* ===== Long words in translations (2026-11-02, /de/declaration) =====
   site.js fitLongWords measures a heading with this class on: no word may break inside it, so a word that does not
   fit steps the type down instead of breaking mid-word. A card may shrink to its column, so a long word in its title
   no longer widens the grid on a phone. */
.wf-fit-measure,
.wf-fit-measure * {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.research-structure-card {
  min-width: 0;
}

/* the closing call block shrinks to its column too: "Цивилизационная" at 40px widened /ru/synarchat on a phone (2026-11-02) */
.membership-final-cta__inner {
  min-width: 0;
}

/* the two card buttons of the research "value" block fill the card on a phone, so they wrap: the Spanish
   "Para agencias de selección de personal" kept on one line widened the audit page (2026-11-02) */
@media (max-width: 600px) {
  .research-value__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .research-value__actions .research-value__button {
    white-space: normal !important;
    line-height: 1.2;
  }
}

/* ===== Related pages: the small line under the buttons (2026-11-02, Alina's screenshot for /philosophy) =====
   The organisation's registration and Marina's signature: small, muted and centred under the row of pills. */
.tr-split.wf-look-center .tr-split__after {
  max-width: 760px;
  margin: 40px auto 0;
  text-align: center;
}

.tr-split.wf-look-center .tr-split__after .tr-split__text {
  color: rgba(34, 26, 31, 0.6);
  font-size: 12px;
  line-height: 1.5;
}

/* ===== Blog articles (2026-11-02): the petition button and the sources list =====
   A call to sign a petition in an article body is a filled button, not an underlined link. */
.wf-article__body .wf-article__cta {
  margin: 32px 0;
}

.wf-article__body a.wf-article__button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 8px;
  color: #fffcf8;
  background: #984f91;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition: background 180ms ease;
}

.wf-article__body a.wf-article__button:hover,
.wf-article__body a.wf-article__button:focus-visible {
  color: #fffcf8;
  background: #462143;
}

.wf-article__body .wf-article__sources li + li {
  margin-top: 8px;
}

/* the cover of "When Experience Becomes a Liability" on a phone: the tall crop keeps the older woman in view, the subject of the article (2026-11-02) */
@media (max-width: 600px) {
  .wf-article__hero img[src*="when-experience-becomes-a-liability"] {
    object-position: 80% 50%;
  }
}

/* home "How to join": the help line under the cards keeps the cards' 1248px column on wide screens; it ran to the screen edge at 2000px (2026-11-02) */
@media (min-width: 1441px) {
  .join-section.wf-look-v2 .join-section__after {
    max-width: 1248px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* ===== Transparency: program partners under the source cards (2026-11-02) =====
   ElevenLabs brand rules: free space around the logo at least the logo's height, no recolouring or stretching. */
.about-legal.wf-look-v2 .about-legal__partner-list {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.about-legal.wf-look-v2 .about-legal__partner {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px;
  padding: 28px 0;
  color: #656667;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
}

.about-legal.wf-look-v2 .about-legal__partner img {
  display: block;
  width: auto;
  height: 28px;
  /* the transparency page greys its source logos; partner logos keep their own colour */
  opacity: 1;
  filter: none;
}

.about-legal.wf-look-v2 .about-legal__partner:hover span,
.about-legal.wf-look-v2 .about-legal__partner:focus-visible span {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .about-legal.wf-look-v2 .about-legal__partner {
    gap: 24px;
    padding: 24px 0;
  }

  .about-legal.wf-look-v2 .about-legal__partner img {
    height: 24px;
  }
}

/* ===== Womafreesm Women's Protection Pathway (2026-11-02, Marina's artifact, Alina's layout) ===== */
/* the emergency line above the header: it scrolls away, the fixed header follows it (header.twig sets the variables) */
.wf-safe-strip {
  position: relative;
  z-index: 10000;
  background: #f1e4ef;
  color: #221a1f;
}

.wf-safe-strip p {
  max-width: 1440px;
  margin: 0 auto;
  padding: 16px 96px;
  font-size: 20px;
  line-height: 1.4;
}

.wf-safe .site-header {
  margin-top: var(--wf-safe-offset, 0px);
}

.wf-safe .site-breadcrumbs {
  top: var(--wf-safe-h, 0px);
}

/* Leave this page: always in the bottom right corner, readable on photos and on the light page */
.wf-safe-leave {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9990;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 12px 24px;
  border: 1px solid rgba(255, 252, 248, 0.7);
  border-radius: 8px;
  color: #fffcf8;
  background: rgba(34, 26, 31, 0.85);
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.wf-safe-leave:hover,
.wf-safe-leave:focus-visible {
  color: #fffcf8;
  background: #221a1f;
}

/* first screen: a subtitle, a smaller paragraph and the quiet status line, as in the mockup */
#top .wf-hero__text {
  max-width: 600px;
}

#top .wf-hero__text > p:not([class]) {
  font-size: 24px;
  line-height: 1.3;
}

#top .wf-hero__text .wf-hero__paragraph {
  font-size: 16px;
  line-height: 1.5;
}

#top .wf-hero__text .wf-hero__help {
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.85;
}

/* the help finder inside the page: the page's heading and line above it, its two texts under it */
.wf-hn--embed .wf-hn__intro,
.wf-hn--embed .wf-hn__outro {
  max-width: 786px;
  margin-right: auto;
  margin-left: auto;
}

.wf-hn--embed .wf-hn__intro {
  margin-bottom: 48px;
}

.wf-hn--embed .wf-hn__intro h2 {
  margin: 0 0 48px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

.wf-hn--embed .wf-hn__intro p {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

.wf-hn--embed .wf-hn__outro {
  margin-top: 40px;
}

.wf-hn--embed .wf-hn__outro p {
  margin: 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

.wf-hn--embed .wf-hn__outro p + p {
  margin-top: 32px;
}

/* the promise under the three steps: one left paragraph */
#route.tr-split {
  padding-bottom: 0;
}

.wf-prose--pathway-after {
  padding-top: 64px;
}

.wf-prose--pathway-after .wf-prose__body {
  display: block;
}

.wf-prose--pathway-after .wf-prose__text {
  max-width: 600px;
  margin: 0;
}

.wf-prose--pathway-after .wf-prose__text p {
  color: #221a1f;
  font-family: "Open Sans", Inter, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

/* what happens to what you tell: the two subheadings */
#privacy .about-feature__text h3 {
  margin: 32px 0 16px;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

#privacy .about-feature__text h3:first-child {
  margin-top: 0;
}

/* build the route with us: the photo behind, the two light cards in the middle */
#participate .volunteer-benefits__bg,
#participate .volunteer-benefits__shade {
  display: block;
}

#participate .volunteer-benefits__shade {
  background: rgba(34, 26, 31, 0.45);
}

#participate h2,
#participate .volunteer-benefits__intro {
  color: #fffcf8;
}

#participate .volunteer-benefits__grid {
  grid-template-columns: repeat(2, minmax(0, 420px));
  justify-content: center;
}

#participate .volunteer-benefit-card {
  background: rgba(242, 241, 240, 0.86);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

#participate .volunteer-benefit-card h3 {
  color: #462143;
}

/* from one request to a change in the rules: four page buttons by their labels, wrapping */
#change .about-feature__actions {
  flex-wrap: wrap;
  gap: 16px;
}

#change .about-feature__actions > a {
  flex: none;
  width: auto;
  height: auto;
  white-space: nowrap;
}

/* funding the route: closed to its heading and an arrow, opened by the heading */
.research-cta--collapse .research-cta__details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  cursor: pointer;
  list-style: none;
}

.research-cta--collapse .research-cta__details > summary::-webkit-details-marker {
  display: none;
}

.research-cta--collapse .research-cta__details > summary h2 {
  margin: 0;
  text-align: left;
}

.research-cta__chevron {
  display: inline-flex;
  flex: none;
  color: #fffcf8;
  transition: transform 180ms ease;
}

.research-cta__details[open] .research-cta__chevron {
  transform: rotate(180deg);
}

.research-cta__details-body {
  margin-top: 32px;
}

.research-cta__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (max-width: 900px) {
  #participate .volunteer-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .wf-safe-strip p {
    padding: 12px 24px;
    font-size: 16px;
  }

  .wf-safe-leave {
    right: 16px;
    bottom: 16px;
    min-height: 44px;
    padding: 10px 16px;
    font-size: 16px;
  }

  #top .wf-hero__text > p:not([class]) {
    font-size: 20px;
  }

  .wf-hn--embed .wf-hn__intro h2 {
    margin-bottom: 32px;
    font-size: 40px;
  }

  .wf-hn--embed .wf-hn__intro p {
    font-size: 20px;
  }

  .wf-hn--embed .wf-hn__outro p {
    font-size: 16px;
  }

  .wf-prose--pathway-after {
    padding-top: 40px;
  }

  .wf-prose--pathway-after .wf-prose__text p {
    font-size: 16px;
  }
}

/* Protection Pathway, round 2: spacing in the first screen, the promise paragraph, buttons by their labels, the closed funding panel */
#top .wf-hero__text .wf-hero__paragraph,
#top .wf-hero__text .wf-hero__help {
  margin-top: 24px;
}

#top .wf-hero__text .wf-hero__actions,
#top .wf-hero__text .wf-cube-actions {
  margin-top: 32px;
}

.wf-prose.wf-prose--pathway-after .wf-prose__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.wf-prose.wf-prose--pathway-after .wf-prose__text p,
.wf-prose.wf-prose--pathway-after .wf-prose__text p:first-child {
  color: #221a1f;
  font-family: "Open Sans", Inter, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

#privacy.about-feature .about-feature__text > a.about-feature__button--ghost {
  align-self: flex-start;
  width: fit-content;
}

#change.about-feature .about-feature__actions {
  flex-wrap: wrap;
  gap: 16px;
}

#change.about-feature .about-feature__actions > a.about-feature__button--ghost {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  white-space: nowrap;
}

.research-cta--collapse .research-cta__panel {
  min-height: 0;
}

@media (max-width: 600px) {
  .wf-prose.wf-prose--pathway-after .wf-prose__text p,
  .wf-prose.wf-prose--pathway-after .wf-prose__text p:first-child {
    font-size: 16px;
  }

  #change.about-feature .about-feature__actions > a.about-feature__button--ghost {
    white-space: normal;
  }
}

#change.about-feature .about-feature__actions {
  flex-direction: row;
  align-items: flex-start;
}

@media (max-width: 600px) {
  #change.about-feature .about-feature__actions > a.about-feature__button--ghost {
    flex: 0 1 auto;
    max-width: 100%;
  }

  /* the two-line headings of the desktop flow as one line of text on a phone */
  #why .about-feature__heading h2 br {
    display: none;
  }
}

/* ===== Protection Pathway, matched to Alina's mockup at 1440 (2026-11-02, round 5): sizes and spacing measured in the PDF ===== */
.wf-safe-strip {
  background: #f2e6f0;
}

.wf-safe-strip p {
  padding-top: 19px;
  padding-bottom: 19px;
}

/* first screen: subtitle 24, paragraph 18, status 16; 24 between them, 24 above the buttons */
#top .wf-hero__text .wf-hero__paragraph {
  font-size: 18px;
  line-height: 1.28;
}

#top .wf-hero__text .wf-hero__help {
  font-size: 16px;
  line-height: 1.3;
}

#top .wf-hero__text .wf-cube-actions {
  margin-top: 24px;
}

/* the finder's heading on two lines, as drawn */
.wf-hn--embed .wf-hn__intro h2 {
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

/* three text-and-photo blocks: text 615, photo 538 x 672, both centred on each other; 8 between paragraphs */
#why .about-feature__body,
#privacy .about-feature__body,
#change .about-feature__body {
  grid-template-columns: 615px 538px;
  justify-content: space-between;
  align-items: center;
}

#privacy .about-feature__body {
  grid-template-columns: 538px 615px;
}

#why .about-feature__media,
#privacy .about-feature__media,
#change .about-feature__media {
  height: 672px;
}

#why .about-feature__media img,
#privacy .about-feature__media img,
#change .about-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#why .about-feature__text > p,
#privacy .about-feature__text > p,
#change .about-feature__text > p {
  margin-top: 0;
  margin-bottom: 0;
}

#why .about-feature__text > * + *,
#privacy .about-feature__text > * + *,
#change .about-feature__text > * + * {
  margin-top: 8px;
}

#privacy.about-feature .about-feature__text h3 {
  margin: 0;
}

#privacy.about-feature .about-feature__text > * + h3 {
  margin-top: 8px;
}

#privacy.about-feature .about-feature__text > a.about-feature__button--ghost,
#change.about-feature .about-feature__text > .about-feature__actions {
  margin-top: 40px;
}

#privacy.about-feature .about-feature__text > a.about-feature__button--ghost,
#change.about-feature .about-feature__actions > a.about-feature__button--ghost {
  min-height: 50px;
  font-size: 18px;
}

#change.about-feature .about-feature__actions {
  gap: 18px 16px;
}

/* situations: dark glass cards 146 high, number 32 and text 20, the line under them centred */
#situations .volunteer-track-card {
  min-height: 146px;
  gap: 8px;
  padding: 24px;
}

#situations .volunteer-track-card h3 {
  line-height: 1.2;
}

#situations .about-carousel__after {
  max-width: 816px;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  text-align: center;
}

/* how the route will work: the grey card holds its photo at the bottom, 24 inside, titles 32 */
#route .tr-split__head p {
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
}

#route .tr-split__body {
  gap: 24px;
}

#route .wf-section__col {
  gap: 0;
  padding: 24px;
  border-radius: 24px;
  background: #f2f2f0;
}

#route .tr-split__panel--card {
  padding: 0;
  background: none;
}

#route .wf-section__col h3 {
  margin: 0 0 16px;
  font-size: 32px;
  line-height: 1.2;
}

#route .tr-split__media {
  height: 237px;
  margin-top: auto;
  padding-top: 32px;
  box-sizing: content-box;
}

#route .tr-split__media img {
  width: 100%;
  height: 237px;
  border-radius: 16px;
  object-fit: cover;
}

.wf-prose.wf-prose--pathway-after .wf-prose__text {
  max-width: 700px;
}

/* what we are building now: heading 50, line 20, cards 218 with title 40 and text 20, the two paragraphs on the left */
#building.builds h2 {
  font-size: 50px;
}

#building .builds__subtitle {
  font-size: 20px;
  line-height: 1.3;
}

#building .build-card {
  min-height: 218px;
  height: auto;
}

#building .build-card h3 {
  font-size: 40px;
  line-height: 1.2;
}

#building .build-card__content p {
  font-size: 20px;
  line-height: 1.3;
}

#building .builds__after {
  max-width: 720px;
  margin-left: 0;
  text-align: left;
}

#building .builds__after p {
  font-size: 20px;
  line-height: 1.3;
}

/* build the route with us: light glass cards 420 x 489, title 32, a full button, text 20 */
#participate .volunteer-benefits__intro {
  max-width: 700px;
  margin-bottom: 96px;
}

#participate .volunteer-benefit-card {
  display: flex;
  min-height: 489px;
  flex-direction: column;
  padding: 24px 24px 48px;
  background: rgba(255, 252, 248, 0.8);
}

#participate .volunteer-benefit-card h3 {
  margin: 0;
  color: #452142;
  font-size: 32px;
  line-height: 1.2;
}

#participate .volunteer-benefit-card > a {
  width: 100%;
  min-height: 51px;
  margin-top: 40px;
  font-size: 18px;
}

#participate .volunteer-benefit-card > p {
  margin: 40px 0 0;
  color: #221a1f;
  font-size: 20px;
  line-height: 1.3;
}

/* funding: the divider and the panel heading at 50 */
#fund-intro .wf-statement__heading,
#fund h2 {
  font-size: 50px;
}

/* questions: the list from 519 to 1344, the first question 132 under the heading */
#faq .faq__list {
  max-width: 825px;
  margin-left: auto;
  padding-top: 108px;
}

@media (max-width: 1200px) {
  #why .about-feature__body,
  #privacy .about-feature__body,
  #change .about-feature__body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  }

  #privacy .about-feature__body {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  #why .about-feature__body,
  #privacy .about-feature__body,
  #change .about-feature__body {
    grid-template-columns: minmax(0, 1fr);
  }

  #why .about-feature__media,
  #privacy .about-feature__media,
  #change .about-feature__media {
    height: auto;
    aspect-ratio: 538 / 672;
  }

  #participate .volunteer-benefit-card {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .wf-safe-strip p {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  #top .wf-hero__text .wf-hero__paragraph,
  #top .wf-hero__text .wf-hero__help {
    font-size: 16px;
  }

  #route .wf-section__col h3,
  #participate .volunteer-benefit-card h3 {
    font-size: 28px;
  }

  #building.builds h2,
  #fund-intro .wf-statement__heading,
  #fund h2 {
    font-size: 40px;
  }

  #building .build-card h3 {
    font-size: 28px;
  }

  #building .build-card__content p,
  #building .builds__after p,
  #building .builds__subtitle,
  #participate .volunteer-benefit-card > p {
    font-size: 16px;
  }

  #participate .volunteer-benefits__intro {
    margin-bottom: 48px;
  }

  #faq .faq__list {
    max-width: none;
    padding-top: 0;
  }
}

/* Protection Pathway, round 6: the gaps between blocks as in the mockup */
#find-help.wf-hn {
  padding-bottom: 60px;
}

.wf-prose.wf-prose--pathway-after .wf-prose__inner {
  padding-bottom: 120px;
}

#privacy .about-feature__text {
  padding-left: 0;
}

#privacy .about-feature__inner {
  padding-bottom: 18px;
}

#faq .faq__inner {
  grid-template-columns: minmax(0, 1fr) 825px;
}

#faq .faq__list {
  max-width: none;
  margin-left: 0;
}

@media (max-width: 1200px) {
  #faq .faq__inner {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Protection Pathway, round 7: 8 between the texts of the three text-and-photo blocks, 40 above their buttons */
#why.about-feature .about-feature__text,
#privacy.about-feature .about-feature__text,
#change.about-feature .about-feature__text {
  gap: 8px;
}

#why.about-feature .about-feature__text > *,
#privacy.about-feature .about-feature__text > *,
#change.about-feature .about-feature__text > * {
  margin-top: 0;
  margin-bottom: 0;
}

#privacy.about-feature .about-feature__text > a.about-feature__button--ghost,
#change.about-feature .about-feature__text > .about-feature__actions {
  margin-top: 32px;
}

/* Protection Pathway: the breadcrumbs move down with the emergency line, under the logo as everywhere */
body.wf-safe nav.site-breadcrumbs {
  top: var(--wf-safe-h, 0px);
}

body.wf-safe:has(#app .wf-hero) nav.site-breadcrumbs {
  top: var(--wf-safe-h, 0px);
}

/* Protection Pathway: the long page name wraps on narrow screens; the trail starts under the logo and grows down */
@media (min-width: 601px) and (max-width: 900px) {
  body.wf-safe .site-breadcrumbs__inner {
    min-height: 0;
    align-content: flex-start;
    padding-top: 98px;
  }
}

@media (max-width: 600px) {
  body.wf-safe .site-breadcrumbs__inner {
    min-height: 0;
    align-content: flex-start;
    padding-top: 94px;
  }
}

/* ===== /meet, Alina's QR landing (2026-11-02): About Womafreesm under the video ===== */
#about.membership-final-cta h2 {
  margin-bottom: 23px;
}

#about.membership-final-cta .membership-final-cta__inner > p {
  margin-bottom: 0;
}

#about.membership-final-cta .membership-final-cta__actions {
  justify-content: center;
  margin-top: 32px;
}

#about.membership-final-cta .membership-final-cta__actions > a {
  flex: 0 0 auto !important;
  width: auto;
  min-width: 0;
  padding-right: 24px;
  padding-left: 24px;
}

@media (max-width: 600px) {
  #about.membership-final-cta .membership-final-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  #about.membership-final-cta .membership-final-cta__actions > a {
    width: 100%;
  }
}

/* /meet: the two buttons by their labels side by side, as in the mockup (the button layer sets 100% with !important) */
@media (min-width: 601px) {
  #about.membership-final-cta .membership-final-cta__actions > a.membership-final-cta__button {
    width: auto !important;
  }
}

@media (min-width: 601px) {
  #about.membership-final-cta .membership-final-cta__actions > a.membership-final-cta__button {
    min-width: 0 !important;
  }
}

/* /meet: buttons side by side from 601 px, one under another on a phone */
@media (min-width: 601px) {
  #about.membership-final-cta .membership-final-cta__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}

@media (max-width: 600px) {
  #about.membership-final-cta .membership-final-cta__actions {
    gap: 12px;
  }
}

/* /meet on a phone: the mockup's tight rhythm (56 between the video and About, 64 before the footer), headings on one line */
@media (max-width: 600px) {
  .wf-video__heading {
    font-size: min(40px, 10.4vw);
  }

  #about.membership-final-cta .membership-final-cta__inner {
    padding-top: 0;
    padding-bottom: 64px;
  }

  #about.membership-final-cta h2 {
    font-size: min(36px, 9.4vw);
  }

  #about.membership-final-cta .membership-final-cta__inner > p {
    font-size: 16px;
  }
}

/* ===== Plum ground for text-and-photo and free sections (2026-11-03, block option "Фон: сливовый") ===== */
.wf-theme-plum {
  background: #5d295f;
  color: #fcfaf1;
}

.wf-theme-plum h2,
.wf-theme-plum h3,
.wf-theme-plum p,
.wf-theme-plum li {
  color: #fcfaf1;
}

.wf-theme-plum a:not([class]) {
  color: #fcfaf1;
}

/* ===== Marina Sukhomlinova: Biography (2026-11-03, Alina's PDF measured at 1440) ===== */
/* type: lead Lora 24/31, text Open Sans 20/26, 8 between texts */
[id^="bio-"] .about-feature__text > p,
[id^="bio-"] .tr-split__panel > p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

[id^="bio-"] .about-feature__text > p.about-feature__lead,
[id^="bio-"] .tr-split__panel > p.tr-split__lead {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.3;
}

[id^="bio-"] .about-feature__text,
[id^="bio-"] .tr-split__panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[id^="bio-"]:not(.wf-theme-plum) .about-feature__text > p,
[id^="bio-"]:not(.wf-theme-plum) .tr-split__panel > p {
  color: #221a1f;
}

/* first screen: heading 100 (the site's fixed first-screen size), the line 24 in grey, the outline button */
#bio-top .wf-statement__inner {
  padding: 120px 96px 120px;
}

#bio-top .wf-statement__heading {
  margin: 0;
  color: #462143;
  font-size: 100px;
  line-height: 1.2;
}

#bio-top .wf-statement__subtitle {
  max-width: 680px;
  margin: 40px auto 0;
  color: #656667;
  font-size: 24px;
  line-height: 1.3;
}

#bio-top .wf-cube-after {
  margin-top: 24px;
}

/* text and photo: photo 507 wide, text 615 from x 730; both centred on each other */
[id^="bio-"].about-feature .about-feature__inner {
  padding-top: 120px;
  padding-bottom: 120px;
}

[id^="bio-"].about-feature .about-feature__body {
  grid-template-columns: 507px 615px;
  justify-content: space-between;
  align-items: center;
}

[id^="bio-"].about-feature--media-right .about-feature__body {
  grid-template-columns: 609px 506px;
}

[id^="bio-"].about-feature .about-feature__text {
  padding: 0;
}

[id^="bio-"].about-feature .about-feature__media {
  overflow: hidden;
  border-radius: 16px;
}

[id^="bio-"].about-feature .about-feature__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#bio-founder .about-feature__media { height: 648px; }
#bio-voice .about-feature__media { height: 438px; }
#bio-adolescence .about-feature__media { height: 911px; }
#bio-turning-point .about-feature__media { height: 648px; }
#bio-today .about-feature__media { height: 411px; }

#bio-sessions .about-feature__body {
  grid-template-columns: 608px 606px;
}

#bio-sessions .about-feature__media { height: 468px; }

#bio-adolescence .about-feature__body {
  grid-template-columns: 508px 627px;
}

#bio-voice .about-feature__inner,
#bio-adolescence .about-feature__inner,
#bio-today .about-feature__inner {
  padding-top: 96px;
}

#bio-today .about-feature__inner {
  padding-bottom: 96px;
}

#bio-turning-point .about-feature__inner {
  padding-bottom: 40px;
}

/* two columns of text: 609 on the left, about 400 from x 943 on the right */
[id^="bio-"].tr-split .tr-split__inner {
  padding-top: 120px;
  padding-bottom: 120px;
}

[id^="bio-"].tr-split .tr-split__body {
  grid-template-columns: 609px minmax(0, 400px);
  justify-content: space-between;
  gap: 0;
}

#bio-education .tr-split__body {
  grid-template-columns: 505px 610px;
}

#bio-education .tr-split__inner {
  padding-top: 40px;
}

#bio-architecture .tr-split__body {
  grid-template-columns: 380px 615px;
}

#bio-architecture .tr-split__inner {
  padding-top: 96px;
}

#bio-childhood .tr-split__inner {
  padding-bottom: 100px;
}

#bio-formula .tr-split__inner {
  padding-bottom: 96px;
}

#bio-school .tr-split__body {
  grid-template-columns: 613px 509px;
}

#bio-school .tr-split__media {
  height: 470px;
  margin-bottom: 30px;
  overflow: hidden;
  border-radius: 16px;
}

#bio-school .tr-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* the formula: «This is where Womafreesm began.» in Lora 40 at the bottom right */
#bio-formula .tr-split__panel > h2 {
  margin: 0 0 40px;
  color: #fcfaf1;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
}

#bio-formula .tr-split__panel > p strong {
  font-weight: 600;
}

/* the closing statement and the card */
#bio-leadership .wf-statement__heading,
#bio-contact .wf-statement__heading {
  color: #462143;
  font-size: 50px;
  line-height: 1.2;
}

#bio-contact .wf-statement__inner {
  padding-top: 96px;
  padding-bottom: 96px;
}

#bio-contact .wf-statement__subtitle {
  margin-top: 24px;
  color: #656667;
  font-size: 20px;
  line-height: 1.3;
}

#bio-contact .wf-cube-after {
  margin-top: 32px;
}

#bio-contact .wf-cube-actions,
#bio-top .wf-cube-after {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

@media (max-width: 1247px) {
  [id^="bio-"].about-feature .about-feature__body,
  [id^="bio-"].about-feature--media-right .about-feature__body,
  #bio-sessions .about-feature__body,
  #bio-adolescence .about-feature__body {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    gap: 48px;
  }

  [id^="bio-"].about-feature--media-right .about-feature__body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  }

  [id^="bio-"].tr-split .tr-split__body,
  #bio-education .tr-split__body,
  #bio-architecture .tr-split__body,
  #bio-school .tr-split__body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr);
    gap: 48px;
  }
}

@media (max-width: 900px) {
  [id^="bio-"].about-feature .about-feature__body,
  [id^="bio-"].about-feature--media-right .about-feature__body,
  #bio-sessions .about-feature__body,
  #bio-adolescence .about-feature__body,
  [id^="bio-"].tr-split .tr-split__body,
  #bio-education .tr-split__body,
  #bio-architecture .tr-split__body,
  #bio-school .tr-split__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  [id^="bio-"].about-feature .about-feature__media,
  #bio-school .tr-split__media {
    height: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 600px) {
  #bio-top .wf-statement__inner {
    padding: 112px 24px 64px;
  }

  #bio-top .wf-statement__heading {
    font-size: 54px;
  }

  #bio-top .wf-statement__subtitle {
    margin-top: 24px;
    font-size: 20px;
  }

  [id^="bio-"].about-feature .about-feature__inner,
  [id^="bio-"].tr-split .tr-split__inner {
    padding: 64px 24px;
  }

  #bio-education .tr-split__inner,
  #bio-turning-point .about-feature__inner {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  [id^="bio-"] .about-feature__text > p,
  [id^="bio-"] .tr-split__panel > p {
    font-size: 16px;
  }

  [id^="bio-"] .about-feature__text > p.about-feature__lead,
  [id^="bio-"] .tr-split__panel > p.tr-split__lead {
    font-size: 20px;
  }

  #bio-formula .tr-split__panel > h2 {
    font-size: 32px;
  }

  #bio-leadership .wf-statement__heading,
  #bio-contact .wf-statement__heading {
    font-size: 36px;
  }

  #bio-leadership .wf-statement__inner,
  #bio-contact .wf-statement__inner {
    padding: 64px 24px;
  }

  #bio-leadership .wf-statement__heading br {
    display: none;
  }
}

/* biography: the free sections carry their padding on the inner box only (the section already had 120 top and bottom) */
section[id^="bio-"].tr-split {
  padding-top: 0;
  padding-bottom: 0;
}

/* the formula: the right column starts lower, as drawn (255 under the left one) */
@media (min-width: 901px) {
  #bio-formula .tr-split__side[data-col="2"] {
    align-self: start;
    padding-top: 255px;
  }
}

/* biography: free-section panels stay plain blocks (as flex items their paragraphs were squeezed together), 8 between texts */
[id^="bio-"] .tr-split__panel {
  display: block;
}

[id^="bio-"] .tr-split__panel > * + * {
  margin-top: 8px;
}

#bio-formula .tr-split__panel > h2 + p {
  margin-top: 40px;
}

/* biography: paragraph spacing per block, as drawn */
#bio-school .tr-split__panel > p + p {
  margin-top: 26px;
}

#bio-public .tr-split__panel > p + p,
#bio-sessions .about-feature__text > p + p,
#bio-today .about-feature__text > p + p:not(.about-feature__lead) {
  margin-top: 0;
}

#bio-sessions .about-feature__text,
#bio-today .about-feature__text {
  gap: 0;
}

#bio-today .about-feature__text > p.about-feature__lead {
  margin-top: 32px;
}

/* biography, round 2 against the PDF: no column gap (the widths are exact), centred buttons, the gaps between lead and text */
[id^="bio-"].about-feature .about-feature__body {
  column-gap: 0;
}

#bio-top .wf-cube-after,
#bio-contact .wf-cube-after,
#bio-contact .wf-cube-actions {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

[id^="bio-"] .about-feature__text > p.about-feature__lead + p:not(.about-feature__lead),
[id^="bio-"] .about-feature__text > p:not(.about-feature__lead) + p.about-feature__lead,
[id^="bio-"] .tr-split__panel > p.tr-split__lead + p:not(.tr-split__lead),
[id^="bio-"] .tr-split__panel > p:not(.tr-split__lead) + p.tr-split__lead {
  margin-top: 26px;
}

#bio-founder .about-feature__text > p.about-feature__lead + p {
  margin-top: 8px;
}

#bio-systems .tr-split__panel > p.tr-split__lead + p {
  margin-top: 41px;
}

#bio-adolescence .about-feature__text > p + p.about-feature__lead {
  margin-top: 32px;
}

#bio-school .tr-split__media {
  margin-bottom: 8px;
}

/* biography: the turning point's text column as drawn (photo 515, text 601) */
#bio-turning-point .about-feature__body {
  grid-template-columns: 515px 601px;
}

/* biography on a phone: the site's mobile system (24 sides, 96 sections, h2 40, text 16, full-width buttons 48, radius 16) */
@media (max-width: 600px) {
  [id^="bio-"].about-feature .about-feature__inner,
  [id^="bio-"].tr-split .tr-split__inner {
    padding: 96px 24px;
  }

  #bio-turning-point .about-feature__inner {
    padding-bottom: 40px;
  }

  #bio-education .tr-split__inner {
    padding-top: 0;
  }

  #bio-top .wf-statement__inner {
    padding: 112px 24px 96px;
  }

  #bio-leadership .wf-statement__inner,
  #bio-contact .wf-statement__inner {
    padding: 96px 24px;
  }

  #bio-leadership .wf-statement__heading,
  #bio-contact .wf-statement__heading,
  #bio-formula .tr-split__panel > h2 {
    font-size: 40px;
    line-height: 1.2;
  }

  [id^="bio-"] .about-feature__text > p.about-feature__lead,
  [id^="bio-"] .tr-split__panel > p.tr-split__lead {
    font-size: 20px;
  }

  [id^="bio-"].about-feature .about-feature__body,
  [id^="bio-"].tr-split .tr-split__body {
    row-gap: 40px;
  }

  #bio-formula .tr-split__side[data-col="2"] {
    padding-top: 0;
  }

  #bio-top .wf-cube-after,
  #bio-contact .wf-cube-after,
  #bio-contact .wf-cube-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #bio-top .wf-cube-after a,
  #bio-contact .wf-cube-after a {
    width: 100%;
    min-height: 48px;
  }
}

/* biography under 900 px: one column everywhere, photos as wide as the column */
@media (max-width: 900px) {
  #bio-turning-point .about-feature__body {
    grid-template-columns: minmax(0, 1fr);
  }

  [id^="bio-"].about-feature .about-feature__media,
  [id^="bio-"].about-feature .about-feature__text,
  #bio-school .tr-split__media {
    width: 100%;
    min-width: 0;
  }

  [id^="bio-"].about-feature--media-right .about-feature__media {
    order: -1;
  }
}

/* biography under 900 px: each photo keeps the framing it has on the desktop (the files are cut to it) */
@media (max-width: 900px) {
  #bio-founder .about-feature__media,
  #bio-voice .about-feature__media,
  #bio-adolescence .about-feature__media,
  #bio-turning-point .about-feature__media,
  #bio-sessions .about-feature__media,
  #bio-today .about-feature__media,
  #bio-school .tr-split__media {
    height: auto;
    aspect-ratio: auto;
  }

  [id^="bio-"].about-feature .about-feature__media img,
  #bio-school .tr-split__media img {
    height: auto;
  }
}

/* biography: the school photo on a phone at the height of the other photos (240, the site's phone size for this block family) */
@media (max-width: 900px) {
  #bio-school .tr-split__media {
    height: 240px;
  }

  #bio-school .tr-split__media img {
    height: 100%;
  }
}

/* ===== /independence-and-governance, Alina's PDF (2026-11-03) ===== */
/* photos as tall as in the mockup; the text stays centred beside them */
@media (min-width: 769px) {
  #rules .wf-ecs__photo,
  #register .wf-ecs__photo,
  #next .wf-ecs__photo {
    min-height: 410px;
  }

  #doing-business .wf-ecs__photo {
    min-height: 528px;
  }

  /* "What a funder does not decide": tiles of one height */
  #funder-decides .wf-ecs__tile {
    min-height: 210px;
  }

  /* "Who decides what": a title takes the height of the longest title in its own row */
  #who-decides .wf-ecs__grid {
    grid-auto-rows: auto 1fr;
  }

  #who-decides .wf-ecs__tile {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    row-gap: 16px;
  }

  #who-decides .wf-ecs__tile-text {
    display: contents;
  }

  #who-decides .wf-ecs__tile h3 {
    min-height: 0;
  }
}

/* FAQ: the first question starts 132px under the heading, as in the mockup */
@media (min-width: 1248px) {
  section#faq.faq.wf-look-v2 .faq__list {
    padding-top: 12px;
  }
}

/* phones: a breadcrumb trail that wraps grows downwards and never slides under the header (one line keeps its 112px bar) */
@media (max-width: 600px) {
  .site-breadcrumbs__inner {
    padding-top: 94px;
  }
}

/* ===== /how-data-is-collected, Alina's PDF (2026-11-03) ===== */
/* "Each country gets its own random sample": the line above the cards is body text, not the serif lead */
#random-sample .wf-ecs__cards-lead {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

/* "What the open survey is for": a light carousel in its own section, the note under the cards in dark body text */
#open-survey {
  padding-top: 120px;
  padding-bottom: 120px;
}

#open-survey .volunteer-tracks__heading p {
  max-width: 1000px;
}

#open-survey .about-carousel__after {
  max-width: 719px;
  margin-right: auto;
  margin-left: max(96px, calc((100% - 1248px) / 2));
  padding: 0;
  color: #161114;
  text-align: left;
}

/* "What will be published": the line under the heading is 24px, as in the mockup */
#published .volunteer-tracks__heading p {
  max-width: 1180px;
  margin-top: 4px;
  font-size: 24px;
  line-height: 31px;
}

@media (min-width: 769px) {
  #open-survey .volunteer-tracks__controls {
    margin-top: 56px;
  }

  #open-survey .volunteer-tracks__carousel {
    margin-top: 40px;
  }

  /* photos as tall as in the mockup; the text stays centred beside them */
  #two-ways .wf-ecs__photo,
  #why-random .wf-ecs__photo {
    min-height: 410px;
  }

  /* "Two ways": the text card on the left, the table on the right */
  #two-ways-table .wf-ecs__tablerow {
    flex-direction: row-reverse;
  }
}

@media (max-width: 600px) {
  #open-survey {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #open-survey .about-carousel__after {
    margin-left: 24px;
    margin-right: 24px;
  }

  #published .volunteer-tracks__heading p {
    font-size: 20px;
    line-height: 26px;
  }
}

/* /how-data-is-collected, "Two ways": the table starts at the top of its card; the text card is 509px wide with 16px between paragraphs */
@media (min-width: 769px) {
  #two-ways-table .wf-ecs__tablebox {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-start;
  }

  #two-ways-table .wf-ecs__aside {
    flex: 0 0 509px;
  }

  #two-ways-table .wf-ecs__aside .wf-ecs__grey {
    gap: 16px;
  }
}

/* phones: the note under the open-survey cards keeps the 24px sides */
@media (max-width: 600px) {
  #open-survey .about-carousel__after {
    width: auto;
    max-width: none;
  }
}

/* /how-data-is-collected, stacked: the text card comes before the table, as it reads on a desktop */
@media (max-width: 768px) {
  #two-ways-table .wf-ecs__tablerow {
    flex-direction: column-reverse;
  }
}

/* a table block without a photo or note beside it takes the full width (2026-11-03) */
.wf-ecs__tablerow > .wf-ecs__tablebox:only-child {
  flex: 1 1 auto;
}

.wf-ecs--table > .wf-ecs__inner > .wf-ecs__button {
  align-self: center;
  margin-top: 40px;
}

/* the heading above a statement block is dark in the mockups; the statement itself stays plum */
#politics .wf-ecs__title,
#pilot .wf-ecs__title {
  color: #161114;
}

/* ===== /status-of-the-wlce-index-and-the-pilot, Alina's PDF (2026-11-03) ===== */
/* the line above the cards is body text, not the serif lead */
#criteria .wf-ecs__cards-lead,
#documents .wf-ecs__cards-lead {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

#criteria .wf-ecs__tile-text {
  gap: 16px;
}

@media (min-width: 769px) {
  #plan .wf-ecs__right > div {
    display: flex;
    flex-direction: column;
    gap: 64px;
  }

  #plan .wf-ecs__right > div > p {
    margin: 0;
  }

  #oversight .wf-ecs__photo {
    min-height: 410px;
  }

  #documents .wf-ecs__head {
    width: 100%;
  }

  #documents .wf-ecs__title {
    max-width: none;
  }

  #results .volunteer-tracks__controls {
    margin-top: 296px;
  }
}

/* /status-of-the-wlce-index-and-the-pilot: 40px from the table to its button; the long documents heading keeps one line at 1440 with a scrollbar */
#plan-table .wf-ecs__inner {
  gap: 40px;
}

.wf-ecs--table > .wf-ecs__inner > .wf-ecs__button {
  margin-top: 0;
}

@media (min-width: 769px) {
  #documents .wf-ecs__title {
    margin-right: -8px;
    margin-left: -8px;
  }
}

/* /status-of-the-wlce-index-and-the-pilot: the first-screen heading keeps to the right column (three lines), clear of the woman in the photo */
@media (min-width: 769px) {
  .wf-hero--ecs:has(img[src$="status-hero.webp"]) .wf-hero__content h1 {
    max-width: 720px;
    margin-left: auto;
  }
}

/* phones: the button under a table is full width, like every button on a phone */
@media (max-width: 600px) {
  .wf-ecs--table > .wf-ecs__inner > .wf-ecs__button {
    align-self: stretch;
  }
}

/* ===== /for-partner-organizations, Alina's PDF (2026-11-03) ===== */
/* two buttons under a centred statement: no extra space above them */
.wf-ecs--center .wf-ecs__buttons--pair {
  justify-content: center;
  margin-top: 0;
}

/* the line above the cards is body text, not the serif lead */
#gets .wf-ecs__cards-lead,
#commitments .wf-ecs__cards-lead {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

#commitments .wf-ecs__tile-text {
  gap: 16px;
}

/* the heading above the photo cards is dark, as in the mockup */
#limits .wf-ecs__title {
  color: #161114;
}

/* "How the program will prepare": a light carousel in its own section */
#prepare {
  padding-top: 120px;
  padding-bottom: 120px;
}

#prepare .volunteer-tracks__heading p {
  max-width: 1000px;
}

@media (min-width: 769px) {
  #prepare .volunteer-tracks__controls {
    margin-top: 56px;
  }

  #prepare .volunteer-tracks__carousel {
    margin-top: 40px;
  }

  #roles .wf-ecs__photo {
    min-height: 410px;
  }

  /* the photo cards take their text's height (192 and 218px in the mockup) */
  #limits-cards .wf-ecs__photocard {
    min-height: 0;
  }
}

@media (min-width: 601px) {
  #timing .wf-ecs__buttons--pair .wf-ecs__button {
    min-width: 236px !important;
  }
}

@media (max-width: 600px) {
  #prepare {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

/* phones: the two buttons under a centred statement stack at full width */
@media (max-width: 600px) {
  .wf-ecs--center .wf-ecs__buttons--pair {
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .wf-ecs--center .wf-ecs__buttons--pair .wf-ecs__button {
    width: 100% !important;
    align-self: stretch;
  }

  /* the wide photos of the launch-condition cards: keep the people in a narrow, tall card */
  #limits-cards .wf-ecs__photocard img {
    object-position: 68% center;
  }
}

/* a table or cards block with a button under it: 40px to the button (mockups of 2026-11-03), centred */
.wf-ecs--table .wf-ecs__inner:has(> .wf-ecs__button) {
  gap: 40px;
}

.wf-ecs--cards > .wf-ecs__inner > .wf-ecs__button {
  align-self: center;
}

/* ===== /for-researchers, Alina's PDF (2026-11-03) ===== */
#apply .wf-ecs__cards-lead {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

#apply .wf-ecs__tile-text {
  gap: 16px;
}

/* the sensitive module: a large plum serif paragraph beside plum body text */
#sensitive .wf-ecs__left p {
  font-size: 32px;
  line-height: 38px;
  color: #462143;
}

#sensitive .wf-ecs__right p {
  color: #462143;
}

/* "Areas of joint research work": a light carousel in its own section */
#areas {
  padding-top: 120px;
  padding-bottom: 120px;
}

#areas .volunteer-tracks__heading p {
  max-width: 1000px;
}

/* "Limits of interpretation": the line under the heading is 24px */
#limits .volunteer-tracks__heading p {
  max-width: 1180px;
  margin-top: 4px;
  font-size: 24px;
  line-height: 31px;
}

@media (min-width: 769px) {
  #gives .wf-ecs__photo {
    min-height: 410px;
  }

  #apply .wf-ecs__head {
    width: 100%;
  }

  #apply .wf-ecs__title {
    max-width: none;
  }

  #review-cards .wf-ecs__tile {
    min-height: 206px;
  }

  #areas .volunteer-tracks__controls {
    margin-top: 56px;
  }

  #areas .volunteer-tracks__carousel {
    margin-top: 40px;
  }
}

@media (max-width: 600px) {
  #areas {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #sensitive .wf-ecs__left p {
    font-size: 24px;
    line-height: 31px;
  }

  #limits .volunteer-tracks__heading p {
    font-size: 20px;
    line-height: 26px;
  }
}

/* /for-researchers: the joint-work cards are 360px tall, as in the mockup */
@media (min-width: 769px) {
  #areas .volunteer-track-card {
    min-height: 360px;
  }
}

/* phones: the button under a cards block is full width */
@media (max-width: 600px) {
  .wf-ecs--cards > .wf-ecs__inner > .wf-ecs__button {
    align-self: stretch;
  }
}

/* ===== ECS "stats" part (2026-11-03, the WLCE Index hub): number tiles on photos, two per row ===== */
.wf-ecs--stats .wf-ecs__inner {
  gap: 88px;
}

.wf-ecs__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: min(100%, 1036px);
  margin: 0 auto;
}

.wf-ecs__stat {
  position: relative;
  display: flex;
  min-height: 500px;
  padding: 24px;
  overflow: hidden;
  border-radius: 16px;
  color: #FCFAF1;
  isolation: isolate;
  align-items: flex-end;
}

.wf-ecs__stat img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wf-ecs__stat::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.55) 100%);
}

.wf-ecs__stat-text {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.wf-ecs__stat-number {
  margin: 0 0 24px;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.3;
}

.wf-ecs__stat .wf-ecs__p,
.wf-ecs__stat-source {
  margin: 0;
  color: inherit;
}

.wf-ecs__stats-note {
  grid-column: 1 / -1;
  margin: 5px 0 0;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
  color: #161114;
}

@media (max-width: 768px) {
  .wf-ecs__stats {
    grid-template-columns: 1fr;
  }

  .wf-ecs__stat {
    min-height: 360px;
  }

  .wf-ecs__stat-number {
    margin-bottom: 16px;
    font-size: 32px;
  }

  .wf-ecs__stats-note {
    font-size: 20px;
    line-height: 26px;
  }
}

/* a table caption: the boxed title row above the header (the hub's "International indices and what each one measures") */
.wf-ecs__table caption {
  padding: 16px;
  border: 1px solid #161114;
  border-bottom: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 31px;
  text-align: center;
  caption-side: top;
}

/* the table card's own button, under the table */
.wf-ecs__tablebox > .wf-ecs__button {
  align-self: flex-start;
  margin-top: 40px;
}

/* photo cards: buttons and a small note under them */
.wf-ecs--photocards .wf-ecs__after {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin-top: 16px;
  text-align: center;
}

.wf-ecs--photocards .wf-ecs__after .wf-ecs__buttons {
  justify-content: center;
  margin-top: 0;
}

.wf-ecs--photocards .wf-ecs__after .wf-ecs__small {
  max-width: 460px;
  margin: 0;
  font-size: 14px;
  line-height: 18px;
  color: #646667;
}

/* ===== /wlce-index, Alina's PDF "hub, full" (2026-11-03) ===== */
#different .wf-ecs__table th {
  text-align: center;
}

#fund .wf-ecs__title {
  font-size: 40px;
  line-height: 1.3;
  color: #161114;
}

#fund-cards .wf-ecs__photocard {
  min-height: 244px;
  align-items: center;
}

/* "Contribute expertise or become a partner": the first serif line is the block's heading */
#contribute .wf-ecs__text > .wf-ecs__serif:first-child {
  font-size: 40px;
  line-height: 52px;
}

/* the credit under it: three small lines */
#behind .wf-ecs__pair {
  display: block;
}

#behind .wf-ecs__left p {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

#behind .wf-ecs__right {
  display: none;
}

@media (min-width: 769px) {
  #flaw .wf-ecs__photo {
    min-height: 523px;
  }

  #protected .wf-ecs__photo,
  #independence .wf-ecs__photo {
    min-height: 410px;
  }

  #contribute .wf-ecs__photo {
    min-height: 476px;
  }

  #different .wf-ecs__aside .wf-ecs__photo {
    min-height: 776px;
  }
}

@media (max-width: 600px) {
  #contribute .wf-ecs__text > .wf-ecs__serif:first-child {
    font-size: 30px;
    line-height: 38px;
  }

  .wf-ecs--photocards .wf-ecs__after .wf-ecs__buttons {
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    width: 100%;
  }

  .wf-ecs--photocards .wf-ecs__after .wf-ecs__button {
    width: 100% !important;
  }
}

/* ===== /wlce-index (2026-11-03), second pass against the PDF ===== */
/* "How to take part": one centred glass panel, 826px, over the photo */
#take-part {
  padding-top: 160px;
  padding-bottom: 160px;
}

#take-part .wf-ecs__inner {
  width: min(100% - 48px, 826px);
  margin: 0 auto;
  padding: 58px 64px 48px;
  gap: 0;
  align-items: center;
  border-radius: 24px;
  background: rgba(34, 26, 31, 0.5);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  text-align: center;
}

#take-part .wf-ecs__glass-head {
  gap: 12px;
  max-width: none;
  margin-bottom: 42px;
}

#take-part .wf-ecs__glass-head .wf-ecs__title {
  text-align: center;
}

#take-part .wf-ecs__glass-head .wf-ecs__subtitle {
  font-size: 20px;
  line-height: 26px;
}

#take-part .wf-ecs__glass-cards {
  width: 100%;
}

#take-part .wf-ecs__glass-card {
  gap: 14px;
  min-height: 0;
  padding: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#take-part .wf-ecs__glass-card h3 {
  min-height: 0;
}

#take-part .wf-ecs__glass-after {
  align-items: center;
  margin-top: 64px;
}

/* "What the evidence already shows": the heading keeps two lines */
#evidence .wf-ecs__head {
  width: min(100%, 1000px);
}

#evidence .wf-ecs__title {
  max-width: none;
}

#evidence .wf-ecs__head {
  gap: 11px;
}

/* the credit: three lines with no space between them */
#behind .wf-ecs__left {
  gap: 0;
}

@media (min-width: 769px) {
  #different .wf-ecs__tablebox {
    flex: 1 1 auto;
    min-width: 0;
  }

  #different .wf-ecs__aside {
    flex: 0 0 509px;
  }
}

@media (min-width: 601px) {
  #fund-cards .wf-ecs__after .wf-ecs__button {
    min-width: 266px !important;
  }
}

@media (max-width: 600px) {
  #take-part {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #take-part .wf-ecs__inner {
    padding: 40px 24px;
  }

  #take-part .wf-ecs__glass-after .wf-ecs__button {
    width: 100% !important;
  }
}

/* /wlce-index "What makes it different": the table card keeps 719px, the photo beside it fills down to the table card's height */
@media (min-width: 769px) {
  #different .wf-ecs__tablebox {
    flex: 0 0 719px;
  }

  #different .wf-ecs__aside {
    flex: 1 1 0;
  }

  #different .wf-ecs__aside .wf-ecs__photo {
    flex: 1 1 auto;
    min-height: 0;
  }
}

@media (min-width: 769px) {
  #different .wf-ecs__aside .wf-ecs__grey {
    flex: 0 0 auto;
  }
}

/* /wlce-index on phones: the large desktop spaces of these two sections fall back to the 96px system */
@media (max-width: 600px) {
  #distances,
  #contribute {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}

/* ===== ECS "longread" and "band" parts (2026-11-03, the text of the Declaration of the Co-Authors of the World) ===== */
.wf-ecs__read {
  display: flex;
  flex-direction: column;
  width: min(100%, 1030px);
  margin: 0 auto;
}

.wf-ecs__read-title.wf-ecs__title {
  margin: 0 0 67px;
  color: #462143;
  text-align: left;
}

.wf-ecs__read-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wf-ecs__read-body > * {
  margin: 0;
}

.wf-ecs__read-lead {
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
  color: #161114;
}

.wf-ecs__read-lead + .wf-ecs__p {
  margin-top: 24px;
}

.wf-ecs__read .wf-ecs__p {
  font-size: 20px;
  line-height: 26px;
}

.wf-ecs__read-sub {
  margin: 6px 0 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 38px;
  color: #161114;
}

.wf-ecs__read-cards {
  margin: 24px 0;
}

.wf-ecs__read-cards .wf-ecs__tile {
  min-height: 244px;
  justify-content: flex-start;
}

.wf-ecs__read-buttons {
  justify-content: center;
  margin-top: 40px;
}

.wf-ecs--band {
  padding: 0;
}

.wf-ecs--band .wf-ecs__inner {
  width: 100%;
  max-width: none;
  padding: 0;
}

.wf-ecs__band-img {
  display: block;
  width: 100%;
  height: 640px;
  object-fit: cover;
}

@media (max-width: 600px) {
  .wf-ecs__read-title.wf-ecs__title {
    margin-bottom: 32px;
  }

  .wf-ecs__read-lead {
    font-size: 20px;
    line-height: 26px;
  }

  .wf-ecs__read .wf-ecs__p {
    font-size: 16px;
    line-height: 22px;
  }

  .wf-ecs__read-sub {
    font-size: 26px;
    line-height: 32px;
  }

  .wf-ecs__read-cards .wf-ecs__tile {
    min-height: 0;
  }

  .wf-ecs__band-img {
    height: 240px;
  }

  .wf-ecs__read-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .wf-ecs__read-buttons .wf-ecs__button {
    width: 100% !important;
  }
}

/* ===== /legal-rapid-response, Alina's PDF (2026-11-03) ===== */
/* the quote is dark, its signature small */
#quote .wf-ecs__title {
  color: #161114;
}

#quote .wf-ecs__p {
  font-size: 16px;
  line-height: 21px;
  color: #161114;
}

/* "Join the legal work": the heading on the left, three light frosted cards over the photo */
#join {
  padding-top: 128px;
  padding-bottom: 120px;
}

#join .wf-ecs__inner {
  gap: 92px;
}

#join .wf-ecs__glass-head {
  max-width: none;
}

#join .wf-ecs__glass-cards {
  justify-content: center;
  gap: 24px;
}

#join .wf-ecs__glass-card {
  flex: 0 1 346px;
  min-height: 519px;
  padding: 24px;
  gap: 0;
  border-radius: 16px;
  background: rgba(252, 250, 241, 0.72);
  color: #161114;
}

#join .wf-ecs__glass-card h3 {
  min-height: 115px;
  color: #462143;
}

#join .wf-ecs__glass-card .wf-ecs__button {
  width: 100% !important;
  margin: 40px 0 49px;
}

#join .wf-ecs__glass-card .wf-ecs__p {
  color: #161114;
}

/* "Related pages": a centred heading, the page links in rows, the legal line small and grey */
#related {
  padding-top: 96px;
  padding-bottom: 120px;
}

#related .wf-ecs__read-title.wf-ecs__title {
  margin-bottom: 40px;
  color: #161114;
  text-align: center;
}

#related .wf-ecs__read-buttons {
  order: 1;
  gap: 20px;
  margin-top: 0;
}

#related .wf-ecs__read-body:last-child {
  order: 2;
  margin-top: 20px;
}

#related .wf-ecs__read-body .wf-ecs__p {
  font-size: 16px;
  line-height: 21px;
  color: #646667;
  text-align: center;
}

@media (min-width: 769px) {
  #about .wf-ecs__photo,
  #limits .wf-ecs__photo {
    min-height: 410px;
  }

  #why .wf-ecs__photo {
    min-height: 386px;
  }

  #under-way .wf-ecs__photo {
    min-height: 535px;
  }

  #limits .wf-ecs__photo {
    min-height: 447px;
  }

  #how .volunteer-tracks__controls {
    margin-top: 322px;
  }
}

@media (max-width: 768px) {
  #join .wf-ecs__glass-cards {
    flex-direction: column;
  }

  #join .wf-ecs__glass-card {
    flex: 0 0 auto;
    min-height: 0;
  }

  #join .wf-ecs__glass-card h3 {
    min-height: 0;
  }

  #join .wf-ecs__glass-card .wf-ecs__button {
    margin: 24px 0;
  }
}

@media (max-width: 600px) {
  #join {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #related .wf-ecs__read-buttons .wf-ecs__button {
    width: 100% !important;
  }
}

/* /legal-rapid-response, second pass: the legal line under the page links; links sized to their words; the carousel gap */
#related .wf-ecs__read-body {
  order: 2;
}

#related .wf-ecs__read-body .wf-ecs__p:first-child {
  margin-top: 20px;
}

#related .wf-ecs__read-buttons .wf-ecs__button {
  min-width: 0 !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

@media (min-width: 769px) {
  #how .volunteer-tracks__controls {
    margin-top: 295px;
  }
}

/* the related links: three per row, as in the mockup (the row is 1086px wide) */
#related .wf-ecs__read {
  width: min(100%, 1100px);
}

/* ===== /reading-order, Alina's PDF (2026-11-04) ===== */
/* "Three formats": the table in a 1034px box, under a grey subtitle */
#ro-formats .wf-ecs__subtitle,
#ro-meeting .wf-ecs__head .wf-ecs__p {
  font-size: 20px;
  line-height: 26px;
  color: #646667;
}

#ro-formats .wf-ecs__tablebox {
  flex: 0 1 1034px;
  width: 1034px;
  max-width: 100%;
  margin: 0 auto;
  padding: 38px 39px;
}

/* "The first season": one-line heading, 300px photos, the description a blank line under the book */
#ro-season .wf-ecs__head {
  width: 100%;
}

#ro-season .wf-ecs__title {
  max-width: none;
}

#ro-season .wf-ecs__head .wf-ecs__p {
  max-width: 744px;
  margin-inline: auto;
  color: #161114;
}

#ro-season .wf-ecs__tile-text {
  flex: 1 1 auto;
}

#ro-season .wf-ecs__tile-text .wf-ecs__p + .wf-ecs__p {
  margin-top: 10px;
}

#ro-season .wf-ecs__tile-photo {
  flex: 0 0 300px;
}

#ro-season .wf-ecs__cards-note {
  width: min(100%, 1036px);
  margin-inline: auto;
  text-align: left;
}

#ro-season .wf-ecs__cards-note + .wf-ecs__cards-note {
  margin-top: -38px;
}

/* "How a meeting works": both columns under the cards are body text */
#ro-meeting .wf-ecs__tile {
  min-height: 154px;
}

#ro-meeting-notes .wf-ecs__pair {
  gap: 24px;
}

#ro-meeting-notes .wf-ecs__left,
#ro-meeting-notes .wf-ecs__right {
  flex: 1 1 0;
  min-width: 0;
}

#ro-meeting-notes .wf-ecs__left p {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

/* "An open evening": short cards, the title on one line */
#ro-evening .volunteer-track-card__head {
  min-height: 0;
}

/* "Why a fixed circle": two equal halves, 590px */
#ro-why .wf-ecs__slide-card {
  min-height: 590px;
}

#ro-why .wf-ecs__slide-photo {
  flex: 1 1 0;
  width: auto;
}

/* the studies: one sentence of body text, the references small and grey with no space between them */
#ro-refs .wf-ecs__read {
  width: min(100% - 192px, 1248px);
  max-width: none;
}

#ro-refs .wf-ecs__read-body {
  display: block;
}

#ro-refs .wf-ecs__p {
  margin: 0;
  font-size: 16px;
  line-height: 21px;
  color: #646667;
}

#ro-refs .wf-ecs__p:first-child {
  margin-bottom: 25px;
  font-size: 20px;
  line-height: 26px;
  color: #161114;
}

#ro-refs a {
  color: inherit;
}

/* "Membership and The Order": the heading on the left, three light frosted cards over the photo */
#ro-membership {
  padding-top: 120px;
  padding-bottom: 120px;
}

#ro-membership .wf-ecs__inner {
  gap: 92px;
}

#ro-membership .wf-ecs__glass-head {
  gap: 12px;
  max-width: none;
}

#ro-membership .wf-ecs__glass-head .wf-ecs__subtitle {
  font-size: 20px;
  line-height: 26px;
}

#ro-membership .wf-ecs__glass-cards {
  justify-content: center;
  gap: 24px;
}

#ro-membership .wf-ecs__glass-card {
  flex: 0 1 346px;
  min-height: 428px;
  padding: 24px;
  gap: 0;
  border-radius: 16px;
  background: rgba(252, 250, 241, 0.72);
  color: #161114;
}

#ro-membership .wf-ecs__glass-card h3 {
  min-height: 77px;
  color: #462143;
}

#ro-membership .wf-ecs__glass-card .wf-ecs__button {
  width: 100% !important;
  margin: 37px 0 44px;
}

#ro-membership .wf-ecs__glass-card .wf-ecs__p {
  color: #161114;
}

#ro-membership .wf-ecs__glass-card .wf-ecs__p:last-child {
  margin-top: 8px;
  font-size: 14px;
  line-height: 18px;
  color: #646667;
}

/* the two cards before How It Works: a button at the foot of each */
#apply-order .wf-ecs__tile {
  min-height: 294px;
}

#apply-order .wf-ecs__tile-text {
  flex: 1 1 auto;
}

#apply-order .wf-ecs__tile-button {
  align-self: flex-start;
}

/* "See where Reading Order sits": one line, dark, the sentence grey */
#ro-system .wf-ecs__inner {
  gap: 16px;
}

#ro-system .wf-ecs__title {
  width: min(100%, 1200px);
  max-width: none;
  color: #161114;
}

#ro-system .wf-ecs__p {
  color: #646667;
}

#ro-system .wf-ecs__button {
  margin-top: 16px;
}

/* "Read the book in your language": one centred glass panel, 826px, over the photo */
#ro-start {
  padding-top: 160px;
  padding-bottom: 160px;
}

#ro-start .wf-ecs__inner {
  width: min(100% - 48px, 826px);
  margin: 0 auto;
  padding: 50px 64px 46px;
  gap: 0;
  align-items: center;
  border-radius: 24px;
  background: rgba(34, 26, 31, 0.5);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  text-align: center;
}

#ro-start .wf-ecs__glass-head {
  gap: 20px;
  max-width: none;
  margin-bottom: 64px;
}

#ro-start .wf-ecs__glass-head .wf-ecs__title {
  text-align: center;
}

#ro-start .wf-ecs__glass-cards {
  display: none;
}

#ro-start .wf-ecs__glass-after {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0;
}

#ro-start .tr-split__button--ghost {
  border-color: #FCFAF1;
  color: #FCFAF1;
}

@media (min-width: 769px) {
  #ro-intro .wf-ecs__photo {
    min-height: 410px;
  }

  #ro-heroine .wf-ecs__photo,
  #ro-places .wf-ecs__photo,
  #ro-circle .wf-ecs__photo {
    min-height: 650px;
  }

  #ro-lead .wf-ecs__photo {
    min-height: 676px;
  }

  #ro-scale .wf-ecs__photo {
    min-height: 447px;
  }

  #ro-season .wf-ecs__tile:nth-child(n+3) h3 {
    min-height: 0;
  }

  #ro-evening .volunteer-tracks__controls {
    margin-top: 385px;
  }

  #ro-path .volunteer-tracks__controls {
    margin-top: 298px;
  }
}

@media (min-width: 1400px) {
  #ro-scale .wf-ecs__title {
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  #ro-formats .wf-ecs__tablebox {
    flex: 1 1 auto;
    width: 100%;
    padding: 24px;
  }

  #ro-meeting-notes .wf-ecs__pair {
    flex-direction: column;
    gap: 16px;
  }

  #ro-meeting-notes .wf-ecs__left,
  #ro-meeting-notes .wf-ecs__right {
    flex: 0 0 auto;
  }

  #ro-membership .wf-ecs__glass-cards {
    flex-direction: column;
  }

  #ro-membership .wf-ecs__glass-card {
    flex: 0 0 auto;
    min-height: 0;
  }

  #ro-membership .wf-ecs__glass-card h3 {
    min-height: 0;
  }

  #ro-membership .wf-ecs__glass-card .wf-ecs__button {
    margin: 24px 0;
  }

  #apply-order .wf-ecs__tile {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  #ro-formats .wf-ecs__subtitle,
  #ro-meeting .wf-ecs__head .wf-ecs__p,
  #ro-meeting-notes .wf-ecs__left p {
    font-size: 16px;
    line-height: 21px;
  }

  #ro-refs .wf-ecs__read {
    width: min(100% - 48px, 1248px);
  }

  #ro-refs .wf-ecs__p:first-child {
    font-size: 16px;
    line-height: 21px;
  }

  #ro-membership {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #ro-season .wf-ecs__tile-photo {
    flex: 0 0 auto;
  }

  #ro-start {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #ro-start .wf-ecs__inner {
    padding: 40px 24px;
  }

  #ro-start .wf-ecs__glass-after .wf-ecs__button,
  #apply-order .wf-ecs__tile-button {
    width: 100% !important;
  }
}

/* /reading-order, second pass against the PDF */
#ro-formats .wf-ecs__inner {
  gap: 42px;
}

#ro-why .wf-ecs__slide-card,
#ro-why .wf-ecs__slide-photo {
  flex: 0 0 calc(50% - 10px);
}

#ro-system .wf-ecs__p {
  width: min(100%, 1200px);
  max-width: none;
}

#ro-start .wf-ecs__inner {
  padding: 56px 64px 52px;
}

@media (max-width: 768px) {
  #ro-why .wf-ecs__slide-card,
  #ro-why .wf-ecs__slide-photo {
    flex: 0 0 auto;
  }
}

@media (max-width: 600px) {
  #ro-start .wf-ecs__inner {
    padding: 40px 24px;
  }
}

#ro-season .wf-ecs__cards-note {
  max-width: none;
}

/* the photos of these two blocks stay as bright as in the PDF */
#ro-membership .wf-ecs__shade,
#ro-start .wf-ecs__shade {
  display: none;
}

#ro-refs .wf-ecs__read-body,
#ro-refs .wf-ecs__p {
  width: 100%;
  max-width: none;
}

#ro-refs a {
  text-decoration: none;
}

#ro-refs a:hover {
  text-decoration: underline;
}

#ro-start .tr-split__button--ghost {
  border-color: #FCFAF1 !important;
  color: #FCFAF1 !important;
}

@media (max-width: 768px) {
  #ro-why .wf-ecs__slide-card {
    min-height: 0;
  }

  #ro-refs .wf-ecs__read {
    width: 100%;
  }
}

/* on a phone the crop is mostly the bright wall: the usual shade keeps the heading readable */
@media (max-width: 768px) {
  #ro-membership .wf-ecs__shade,
  #ro-start .wf-ecs__shade {
    display: block;
  }
}

/* ===== /media-partners, Alina's PDF (2026-11-04) ===== */
/* first screen: the small italic line under the title */
.wf-hero .wf-hero__subtitle {
  margin: 8px 0 0;
  color: var(--wf-cream, #FCFAF1);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-style: italic;
  font-weight: 400;
  line-height: 60px;
  text-align: right;
}

/* "What your newsroom receives" and "Editorial independence": two equal halves, 590px */
#what-you-get .wf-ecs__slide-card,
#mp-independence .wf-ecs__slide-card {
  min-height: 590px;
}

#what-you-get .wf-ecs__slide-card,
#what-you-get .wf-ecs__slide-photo,
#mp-independence .wf-ecs__slide-card,
#mp-independence .wf-ecs__slide-photo {
  flex: 0 0 calc(50% - 10px);
  width: auto;
}

/* the partners list and the heading of the joint projects are dark */
#mp-list .wf-ecs__title,
#mp-list .wf-ecs__p,
#mp-joint-head .wf-ecs__title,
#mp-joint-head .wf-ecs__p {
  color: #161114;
}

#mp-list .wf-ecs__title,
#mp-joint-head .wf-ecs__title {
  max-width: none;
}

/* "Joint projects": four 506px photo squares, the words at the foot */
#mp-joint .wf-ecs__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 506px));
  justify-content: center;
  gap: 20px;
}

#mp-joint .wf-ecs__photocard {
  flex-direction: column;
  justify-content: flex-end;
  min-height: 506px;
  padding: 24px;
}

#mp-joint .wf-ecs__photocard-text {
  gap: 16px;
  width: 100%;
}

#mp-joint .wf-ecs__photocard h3 {
  font-size: 40px;
  line-height: 52px;
}

#mp-joint .wf-ecs__after {
  grid-column: 1 / -1;
  margin-top: 73px;
  text-align: center;
}

#mp-joint .wf-ecs__buttons {
  justify-content: center;
}

/* "Your newsroom keeps its editorial independence": a large statement, the rules button under it */
#mp-independence .wf-ecs__inner {
  gap: 66px;
}

#mp-independence .wf-ecs__slide-card {
  justify-content: center;
}

#mp-independence .wf-ecs__slide-card h3 {
  font-size: 40px;
  line-height: 52px;
}

#mp-independence .wf-ecs__slides-button {
  align-self: center;
  margin-top: -2px;
}

/* the application: one centred glass panel, 826px, over the photo */
#apply-media {
  padding-top: 160px;
  padding-bottom: 160px;
}

#apply-media .wf-ecs__inner {
  width: min(100% - 48px, 826px);
  margin: 0 auto;
  padding: 46px 64px 48px;
  gap: 0;
  align-items: center;
  border-radius: 24px;
  background: rgba(34, 26, 31, 0.5);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  text-align: center;
}

#apply-media .wf-ecs__shade {
  display: none;
}

#apply-media .wf-ecs__glass-head {
  gap: 20px;
  max-width: none;
  margin-bottom: 64px;
}

#apply-media .wf-ecs__glass-head .wf-ecs__title {
  text-align: center;
}

#apply-media .wf-ecs__glass-cards {
  display: none;
}

#apply-media .wf-ecs__glass-after {
  align-items: center;
  margin: 0;
}

/* the legal line */
#mp-legal .wf-ecs__read {
  width: min(100% - 192px, 1248px);
  max-width: none;
}

#mp-legal .wf-ecs__read-body,
#mp-legal .wf-ecs__p {
  width: min(100%, 600px);
  max-width: none;
}

#mp-legal .wf-ecs__p {
  font-size: 14px;
  line-height: 18px;
  color: #646667;
}

@media (min-width: 769px) {
  #mp-steps .volunteer-tracks__controls {
    margin-top: 298px;
  }
}

@media (max-width: 768px) {
  #what-you-get .wf-ecs__slide-card,
  #what-you-get .wf-ecs__slide-photo,
  #mp-independence .wf-ecs__slide-card,
  #mp-independence .wf-ecs__slide-photo {
    flex: 0 0 auto;
  }

  #what-you-get .wf-ecs__slide-card,
  #mp-independence .wf-ecs__slide-card {
    min-height: 0;
  }

  #mp-joint .wf-ecs__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  #mp-independence .wf-ecs__slides-button {
    align-self: stretch;
    height: auto;
    white-space: normal;
  }

  #mp-legal .wf-ecs__read {
    width: 100%;
  }

  #mp-legal .wf-ecs__read-body,
  #mp-legal .wf-ecs__p {
    width: 100%;
  }

  #apply-media .wf-ecs__shade {
    display: block;
  }
}

@media (max-width: 600px) {
  .wf-hero .wf-hero__subtitle {
    margin-top: 8px;
    font-size: 28px;
    line-height: 34px;
    text-align: left;
  }

  #mp-joint .wf-ecs__photocard {
    min-height: 327px;
  }

  #mp-joint .wf-ecs__photocard h3,
  #mp-independence .wf-ecs__slide-card h3 {
    font-size: 32px;
    line-height: 38px;
  }

  #mp-joint .wf-ecs__after {
    margin-top: 16px;
  }

  #mp-joint .wf-ecs__button {
    width: 100% !important;
  }

  #apply-media {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #apply-media .wf-ecs__inner {
    padding: 40px 24px;
  }

  #apply-media .wf-ecs__glass-after .wf-ecs__button {
    width: 100% !important;
  }
}

/* /media-partners, second pass against the PDF */
@media (min-width: 769px) {
  #mp-joint-head .wf-ecs__inner {
    gap: 4px;
  }

  #mp-steps .volunteer-tracks__bg {
    filter: brightness(0.8);
  }
}

#mp-related .wf-ecs__group a svg,
#mp-related .wf-ecs__group a img {
  display: none;
}

#mp-legal .wf-ecs__p {
  color: #161114;
}

@media (min-width: 769px) {
  #mp-joint-head .wf-ecs__inner {
    gap: 16px;
  }
}

@media (max-width: 600px) {
  #mp-widen,
  #mp-list {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #apply-media .wf-ecs__glass-after {
    width: 100%;
  }
}

/* the column already has the page margins */
#mp-legal .wf-ecs__read,
#ro-refs .wf-ecs__read {
  width: 100%;
}

/* ===== /beyond-comparison, Alina's PDF (2026-11-04) ===== */
/* first screen: the project line is a large serif, the book note small */
.wf-hero--bc .wf-hero__subtitle {
  width: 614px;
  max-width: 100%;
  margin: 16px 0 0 auto;
  font-size: 32px;
  font-style: normal;
  line-height: 42px;
  text-align: left;
}

.wf-hero--bc .wf-hero__paragraph {
  font-size: 18px;
  line-height: 23px;
}

/* the centred blocks are dark, only the research block keeps the plum */
#bc-start .wf-ecs__title,
#bc-start .wf-ecs__p,
#bc-statement .wf-ecs__title,
#bc-tag .wf-ecs__title,
#bc-tag .wf-ecs__p {
  color: #161114;
}

#bc-start .wf-ecs__title,
#bc-research .wf-ecs__title {
  width: min(100%, 1100px);
  max-width: none;
}

#bc-start .wf-ecs__inner,
#bc-research .wf-ecs__inner {
  max-width: none;
}

#bc-start .wf-ecs__p,
#bc-research .wf-ecs__p {
  width: min(100%, 840px);
  max-width: none;
  margin-inline: auto;
}

/* the closing statement: 36px, four lines */
#bc-statement .wf-ecs__title {
  width: min(100%, 1040px);
  max-width: none;
  font-size: 36px;
  line-height: 43px;
}

/* "My line appeared like this": the sentence is large */
#bc-line .wf-ecs__lead {
  font-size: 40px;
  line-height: 52px;
}

/* "Where the stories go": each part has its own subheading */
#bc-archive .wf-ecs__serif,
#bc-book .wf-ecs__serif,
#bc-series .wf-ecs__serif {
  font-size: 36px;
  font-style: normal;
  line-height: 44px;
}

#bc-book .wf-ecs__lead strong {
  font-style: italic;
  font-weight: 400;
}

/* the partnership and membership: centred, plum */
#bc-partners .wf-ecs__read-title.wf-ecs__title,
#bc-partners .wf-ecs__p,
#bc-member .wf-ecs__p {
  color: #462143;
  text-align: center;
}

#bc-partners .wf-ecs__read-title.wf-ecs__title {
  margin-bottom: 40px;
}

#bc-partners .wf-ecs__read-body,
#bc-member .wf-ecs__read-body {
  width: min(100%, 840px);
  margin-inline: auto;
}

#bc-partners .wf-ecs__read-buttons,
#bc-member .wf-ecs__read-buttons {
  justify-content: center;
  margin-top: 32px;
}

/* the three glass panels: one centred 826px panel over a bright photo */
#bc-face,
#bc-how,
#bc-tell {
  padding-top: 160px;
  padding-bottom: 160px;
}

#bc-face .wf-ecs__inner,
#bc-how .wf-ecs__inner,
#bc-tell .wf-ecs__inner {
  width: min(100% - 48px, 826px);
  margin: 0 auto;
  padding: 46px 48px 48px;
  gap: 0;
  align-items: center;
  border-radius: 24px;
  background: rgba(34, 26, 31, 0.5);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  text-align: center;
}

#bc-face .wf-ecs__shade,
#bc-how .wf-ecs__shade,
#bc-tell .wf-ecs__shade {
  display: none;
}

#bc-face .wf-ecs__glass-head,
#bc-how .wf-ecs__glass-head,
#bc-tell .wf-ecs__glass-head {
  gap: 12px;
  max-width: none;
}

#bc-face .wf-ecs__glass-head .wf-ecs__title,
#bc-how .wf-ecs__glass-head .wf-ecs__title,
#bc-tell .wf-ecs__glass-head .wf-ecs__title {
  margin-bottom: 8px;
  text-align: center;
}

#bc-face .wf-ecs__glass-cards,
#bc-how .wf-ecs__glass-cards,
#bc-tell .wf-ecs__glass-cards {
  display: none;
}

#bc-how .wf-ecs__glass-after,
#bc-tell .wf-ecs__glass-after {
  align-items: center;
  margin: 40px 0 0;
}

@media (min-width: 769px) {
  #bc-intro .wf-ecs__photo,
  #bc-what .wf-ecs__photo,
  #bc-why .wf-ecs__photo,
  #bc-archive .wf-ecs__photo {
    min-height: 410px;
  }

  #bc-time .wf-ecs__photo {
    min-height: 412px;
  }

  #bc-line .wf-ecs__photo {
    min-height: 622px;
  }

  #bc-book .wf-ecs__photo {
    min-height: 442px;
  }

  #bc-series .wf-ecs__photo {
    min-height: 436px;
  }

  #bc-public .wf-ecs__photo {
    min-height: 408px;
  }

  #bc-about .wf-ecs__photo {
    min-height: 575px;
  }
}

@media (max-width: 768px) {
  #bc-face .wf-ecs__shade,
  #bc-how .wf-ecs__shade,
  #bc-tell .wf-ecs__shade {
    display: block;
  }
}

@media (max-width: 600px) {
  .wf-hero--bc .wf-hero__subtitle {
    width: 100%;
    margin: 12px 0 0;
    font-size: 24px;
    line-height: 31px;
  }

  #bc-start,
  #bc-research,
  #bc-statement,
  #bc-tag,
  #bc-face,
  #bc-how,
  #bc-tell {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  #bc-partners {
    padding-top: 96px;
  }

  #bc-member {
    padding-bottom: 96px;
  }

  #bc-partners .wf-ecs__read-buttons .wf-ecs__button,
  #bc-member .wf-ecs__read-buttons .wf-ecs__button {
    width: 100% !important;
  }

  #bc-partners .wf-ecs__p,
  #bc-member .wf-ecs__p {
    text-align: left;
  }

  #bc-statement .wf-ecs__title {
    font-size: 28px;
    line-height: 36px;
  }

  #bc-line .wf-ecs__lead {
    font-size: 32px;
    line-height: 38px;
  }

  #bc-archive .wf-ecs__serif,
  #bc-book .wf-ecs__serif,
  #bc-series .wf-ecs__serif {
    font-size: 28px;
    line-height: 34px;
  }

  #bc-face .wf-ecs__inner,
  #bc-how .wf-ecs__inner,
  #bc-tell .wf-ecs__inner {
    padding: 40px 24px;
  }

  #bc-how .wf-ecs__glass-after,
  #bc-tell .wf-ecs__glass-after {
    width: 100%;
  }

  #bc-how .wf-ecs__glass-after .wf-ecs__button,
  #bc-tell .wf-ecs__glass-after .wf-ecs__button {
    width: 100% !important;
  }
}

/* /beyond-comparison, second pass against the PDF. In a split ">" is .wf-ecs__serif and ">>" is .wf-ecs__lead */
#bc-line .wf-ecs__serif {
  font-size: 40px;
  line-height: 52px;
}

#bc-archive .wf-ecs__serif,
#bc-book .wf-ecs__serif,
#bc-series .wf-ecs__serif {
  font-size: 24px;
  line-height: 31px;
}

#bc-archive .wf-ecs__lead,
#bc-book .wf-ecs__lead,
#bc-series .wf-ecs__lead {
  margin-bottom: 8px;
  font-size: 36px;
  font-style: normal;
  line-height: 44px;
}

#bc-book .wf-ecs__serif strong {
  font-style: italic;
  font-weight: 400;
}

.wf-hero--bc .wf-hero__subtitle {
  width: 612px;
  margin-bottom: 14px;
}

.wf-hero--bc .wf-hero__text p:first-child {
  font-size: 24px;
  line-height: 31px;
}

.wf-hero--bc .wf-hero__paragraph {
  margin-top: 15px;
}

.wf-hero--bc .wf-hero__button {
  margin-top: 17px;
}

#bc-face .wf-ecs__glass-head,
#bc-tell .wf-ecs__glass-head {
  gap: 27px;
}

#bc-how .wf-ecs__glass-after,
#bc-tell .wf-ecs__glass-after {
  margin-top: 62px;
}

#bc-partners .wf-ecs__read-title.wf-ecs__title {
  margin-bottom: 35px;
}

#bc-partners .wf-ecs__read-body {
  gap: 12px;
}

#bc-partners .wf-ecs__read-buttons {
  margin-top: 30px;
}

@media (max-width: 600px) {
  #bc-line .wf-ecs__serif {
    font-size: 32px;
    line-height: 38px;
  }

  #bc-archive .wf-ecs__serif,
  #bc-book .wf-ecs__serif,
  #bc-series .wf-ecs__serif {
    font-size: 20px;
    line-height: 26px;
  }

  #bc-archive .wf-ecs__lead,
  #bc-book .wf-ecs__lead,
  #bc-series .wf-ecs__lead {
    font-size: 28px;
    line-height: 34px;
  }

  .wf-hero--bc .wf-hero__text p:first-child {
    font-size: 16px;
    line-height: 21px;
  }

  #bc-face .wf-ecs__glass-head,
  #bc-tell .wf-ecs__glass-head {
    gap: 16px;
  }

  #bc-how .wf-ecs__glass-after,
  #bc-tell .wf-ecs__glass-after {
    margin-top: 32px;
  }
}

/* the larger gap belongs under the heading only */
#bc-face .wf-ecs__glass-head,
#bc-tell .wf-ecs__glass-head {
  gap: 12px;
}

#bc-face .wf-ecs__glass-head .wf-ecs__title,
#bc-tell .wf-ecs__glass-head .wf-ecs__title {
  margin-bottom: 23px;
}

@media (max-width: 600px) {
  #bc-face .wf-ecs__glass-head .wf-ecs__title,
  #bc-tell .wf-ecs__glass-head .wf-ecs__title {
    margin-bottom: 8px;
  }
}

@media (max-width: 600px) {
  /* the hashtag is one long word: it must fit the phone's column */
  #bc-tag .wf-ecs__title {
    font-size: 8vw;
    line-height: 1.2;
  }

  #bc-line .wf-ecs__button,
  #bc-public .wf-ecs__button {
    width: 100% !important;
  }
}

/* ===== /ai-bias-open-map, Alina's PDFs for desktop and 390px (2026-11-04); #watch-list marks this page, #rules and #map exist on others ===== */
html:root[lang] body:has(#watch-list) .wf-hero .wf-hero__title,
html:root[lang] body:has(#watch-list) .wf-hero .wf-hero__title > span {
  color: #462143;
  font-size: 50px;
  line-height: 60px;
  letter-spacing: normal;
}

body:has(#watch-list) .wf-hero.wf-hero--facts .wf-hero__content {
  padding-top: 0;
  padding-bottom: 0;
}

body:has(#watch-list) .wf-hero.wf-hero--facts {
  min-height: 0;
  padding: 136px 0 95px;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__title {
  max-width: 1040px;
  margin: 0;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__text {
  max-width: 830px;
  margin-top: 24px;
  gap: 0;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__text > p:first-child {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
  color: #161114;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__text .wf-hero__paragraph {
  margin: 24px 0 0;
  font-size: 20px;
  line-height: 26px;
  color: #161114;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__button {
  min-width: 296px;
  margin-top: 63px;
  margin-right: 20px;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__secondary {
  min-width: 224px;
  margin-top: 63px;
}

/* the sections: one 32px heading, plain lists, 94px between them */
body:has(#watch-list) :is(#rules, #map, #findings, #watch-list, #suggest, #data) {
  padding: 0 0 94px;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__inner {
  width: min(100% - 192px, 1248px);
  max-width: none;
  margin: 0 auto;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__head {
  max-width: none;
  margin: 0 0 18px;
  text-align: left;
}

body:has(#watch-list) :is(#rules, #map, #findings, #watch-list, #suggest, #data) h2 {
  margin: 0;
  font-size: 32px;
  line-height: 38px;
  letter-spacing: normal;
  text-align: left;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__body {
  display: block;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__side:empty,
body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__side + .tr-split__side {
  display: none;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__panel {
  display: block;
  max-width: 1040px;
  padding: 0;
  gap: 0;
  border: 0;
  background: none;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__text,
body:has(#watch-list) #suggest .tr-split__head p {
  max-width: 1040px;
  margin: 0;
  font-size: 20px;
  line-height: 26px;
  color: #161114;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list {
  display: block;
  margin: 0;
  padding: 0 0 0 30px;
  border: 0;
  list-style: disc;
}

body:has(#watch-list) #rules .tr-split__list {
  list-style: decimal;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list li {
  display: list-item;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 20px;
  line-height: 26px;
  color: #161114;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list li::before {
  content: none;
}

body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list a {
  color: #984F91;
}

body:has(#watch-list) #rules .tr-split__list + .tr-split__text,
body:has(#watch-list) #watch-list .tr-split__text + .tr-split__list {
  margin-top: 16px;
}

/* the map: a table with thin lines in a grey 24px box */
body:has(#watch-list) #map .wf-dtable__inner {
  width: min(100% - 192px, 1248px);
  max-width: none;
  margin: 0 auto;
}

body:has(#watch-list) #map .wf-dtable__head {
  margin: 0 0 23px;
  text-align: left;
}

body:has(#watch-list) #map .wf-dtable__subtitle {
  margin: 18px 0 0;
  font-size: 20px;
  line-height: 26px;
  color: #161114;
}

body:has(#watch-list) #map .wf-dtable__wrap {
  padding: 40px 42px;
  border-radius: 24px;
  background: #F2F1F0;
}

body:has(#watch-list) #map .wf-dtable__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

body:has(#watch-list) #map .wf-dtable__table :is(th, td) {
  padding: 14px 11px;
  border: 1px solid #161114;
  background: none;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 21px;
  vertical-align: top;
  color: #161114;
}

body:has(#watch-list) #map .wf-dtable__table thead th {
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  vertical-align: middle;
}

body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(1) { width: 16.5%; }
body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(2) { width: 10%; }
body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(3) { width: 19.2%; }
body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(4) { width: 19.6%; }
body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(5) { width: 11.3%; }
body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(6) { width: 15.8%; }
body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(7) { width: 7.6%; }

body:has(#watch-list) #map .wf-dtable__links a {
  display: block;
  margin: 0;
  color: #984F91;
  font-weight: 400;
}

body:has(#watch-list) #map .wf-dtable__links a + a {
  margin: 0;
}

body:has(#watch-list) #map .wf-dtable__n {
  display: none;
}

/* suggest: left, the filled button */
body:has(#watch-list) #suggest .tr-split__actions {
  justify-content: flex-start;
  margin-top: 39px;
}

/* data and citation: the citation in a grey box, the change log under it */
body:has(#watch-list) #data {
  padding-bottom: 95px;
}

body:has(#watch-list) #data .tr-split__panel {
  max-width: none;
}

body:has(#watch-list) #data .tr-split__lead {
  max-width: none;
  margin: 23px 0 0;
  padding: 33px 40px;
  border: 0;
  border-radius: 24px;
  background: #F2F1F0;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-style: normal;
  line-height: 26px;
  color: #161114;
}

body:has(#watch-list) #data .tr-split__lead::before {
  content: "How to cite";
  display: block;
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 21px;
  color: #646667;
}

html[lang="uk"] body:has(#watch-list) #data .tr-split__lead::before { content: "Як цитувати"; }
html[lang="ru"] body:has(#watch-list) #data .tr-split__lead::before { content: "Как цитировать"; }
html[lang="es"] body:has(#watch-list) #data .tr-split__lead::before { content: "Cómo citar"; }
html[lang="de"] body:has(#watch-list) #data .tr-split__lead::before { content: "So zitieren Sie"; }
html[lang="fr"] body:has(#watch-list) #data .tr-split__lead::before { content: "Comment citer"; }
html[lang="tr"] body:has(#watch-list) #data .tr-split__lead::before { content: "Nasıl atıf yapılır"; }
html[lang="pt"] body:has(#watch-list) #data .tr-split__lead::before { content: "Como citar"; }

body:has(#watch-list) #data .tr-split__h3 {
  margin: 46px 0 16px;
  font-size: 24px;
  line-height: 31px;
}

/* the phone (390px PDF): the type steps down, every map entry is a grey card */
@media (max-width: 768px) {
  html:root[lang] body:has(#watch-list) .wf-hero .wf-hero__title,
  html:root[lang] body:has(#watch-list) .wf-hero .wf-hero__title > span {
    font-size: 32px;
    line-height: 38px;
  }

  body:has(#watch-list) .wf-hero.wf-hero--facts {
    padding: 72px 0 56px;
  }

  body:has(#watch-list) .wf-hero--facts .wf-hero__text {
    margin-top: 16px;
  }

  body:has(#watch-list) .wf-hero--facts .wf-hero__text > p:first-child {
    font-size: 18px;
    line-height: 23px;
  }

  body:has(#watch-list) .wf-hero--facts .wf-hero__text .wf-hero__paragraph {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }

  body:has(#watch-list) .wf-hero--facts :is(.wf-hero__button, .wf-hero__secondary) {
    display: flex;
    justify-content: center;
    width: 100% !important;
    min-width: 0;
    margin: 12px 0 0;
  }

  body:has(#watch-list) .wf-hero--facts .wf-hero__button {
    margin-top: 32px;
  }

  body:has(#watch-list) :is(#rules, #map, #findings, #watch-list, #suggest, #data) {
    padding-bottom: 54px;
  }

  body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__inner,
  body:has(#watch-list) #map .wf-dtable__inner {
    width: calc(100% - 48px);
    padding: 0;
  }

  body:has(#watch-list) :is(#rules, #map, #findings, #watch-list, #suggest, #data) h2 {
    font-size: 28px;
    line-height: 34px;
  }

  body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__head {
    margin-bottom: 16px;
  }

  body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__text,
  body:has(#watch-list) #suggest .tr-split__head p,
  body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list li,
  body:has(#watch-list) #map .wf-dtable__subtitle {
    font-size: 16px;
    line-height: 21px;
  }

  body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list {
    padding-left: 24px;
  }

  body:has(#watch-list) #map .wf-dtable__subtitle {
    margin-top: 16px;
  }

  body:has(#watch-list) #map .wf-dtable__head {
    margin-bottom: 16px;
  }

  body:has(#watch-list) #map .wf-dtable__wrap {
    padding: 0;
    border-radius: 0;
    background: none;
    overflow: visible;
  }

  body:has(#watch-list) #map .wf-dtable__table,
  body:has(#watch-list) #map .wf-dtable__table tbody {
    display: block;
    width: 100%;
  }

  body:has(#watch-list) #map .wf-dtable__table tr {
    display: block;
    margin: 0 0 16px;
    padding: 20px;
    border: 0;
    border-radius: 16px;
    background: #F2F1F0;
  }

  body:has(#watch-list) #map .wf-dtable__table :is(th, td) {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
  }

  body:has(#watch-list) #map .wf-dtable__table tbody th {
    margin-bottom: 8px;
    font-family: Lora, Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 21px;
  }

  body:has(#watch-list) #map .wf-dtable__table td {
    margin-top: 8px;
    font-size: 15px;
    line-height: 21px;
  }

  body:has(#watch-list) #map .wf-dtable__table td::before {
    content: attr(data-label) ": ";
    display: inline;
    margin: 0;
    color: #161114;
    font-size: inherit;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
  }

  body:has(#watch-list) #map .wf-dtable__links a {
    display: inline;
  }

  body:has(#watch-list) #map .wf-dtable__links a + a::before {
    content: ", ";
    color: #161114;
  }

  body:has(#watch-list) #suggest .tr-split__actions {
    margin-top: 16px;
  }

  body:has(#watch-list) #suggest .tr-split__button {
    width: 100% !important;
  }

  body:has(#watch-list) #data .tr-split__lead {
    margin-top: 16px;
    padding: 20px;
    border-radius: 16px;
    font-size: 16px;
    line-height: 21px;
    overflow-wrap: anywhere;
  }

  body:has(#watch-list) #data .tr-split__lead::before {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 18px;
  }

  body:has(#watch-list) #data .tr-split__h3 {
    margin-top: 32px;
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 31px;
  }
}

/* /ai-bias-open-map, second pass: the inner blocks already hold the page margins */
body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__inner,
body:has(#watch-list) #map .wf-dtable__inner {
  width: 100%;
  gap: 0;
}

body:has(#watch-list) .wf-hero.wf-hero--facts {
  padding-top: 275px;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__text {
  margin-top: 27px;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__button {
  min-width: 296px !important;
}

body:has(#watch-list) .wf-hero--facts .wf-hero__secondary {
  min-width: 224px !important;
}

@media (max-width: 768px) {
  body:has(#watch-list) .wf-hero.wf-hero--facts {
    padding-top: 199px;
  }

  body:has(#watch-list) .wf-hero--facts :is(.wf-hero__button, .wf-hero__secondary) {
    min-width: 0 !important;
  }
}

@media (min-width: 769px) {
  html:root[lang] body:has(#watch-list) .wf-hero .wf-hero__title,
  html:root[lang] body:has(#watch-list) .wf-hero .wf-hero__title > span {
    text-wrap: wrap;
  }

  body:has(#watch-list) #map .wf-dtable__table :is(th, td) {
    padding-bottom: 9px;
  }

  body:has(#watch-list) #map .wf-dtable__table thead th {
    padding-bottom: 14px;
  }

  body:has(#watch-list) #suggest .tr-split__actions {
    margin-top: 21px;
  }
}

/* the phone PDF keeps 16px sides on this page, header included */
@media (max-width: 768px) {
  body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__inner,
  body:has(#watch-list) #map .wf-dtable__inner {
    padding: 0 24px;
  }
}

@media (max-width: 600px) {
  body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__inner,
  body:has(#watch-list) #map .wf-dtable__inner {
    padding: 0 16px;
  }

  body:has(#watch-list) .site-header,
  body:has(#watch-list) .site-breadcrumbs__inner,
  body:has(#watch-list) .wf-hero--facts .wf-hero__content {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (max-width: 768px) {
  body:has(#watch-list) .wf-hero--facts .wf-hero__text {
    margin-top: 17px;
  }

  body:has(#watch-list) .wf-hero--facts .wf-hero__button {
    margin-top: 28px;
  }

  body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__head {
    margin-bottom: 18px;
  }

  body:has(#watch-list) #map .wf-dtable__subtitle {
    margin-top: 18px;
  }

  body:has(#watch-list) #map .wf-dtable__head {
    margin-bottom: 15px;
  }

  body:has(#watch-list) #map .wf-dtable__table tr {
    margin-bottom: 12px;
  }

  body:has(#watch-list) #map .wf-dtable__table tbody th {
    margin-bottom: 0;
    line-height: 22px;
  }

  body:has(#watch-list) #map .wf-dtable__table td {
    margin-top: 10px;
  }
}

@media (min-width: 769px) {
  body:has(#watch-list) :is(#rules, #findings, #watch-list) .tr-split__list {
    max-width: 1010px;
  }
}

/* long words of the translations: hyphens in the narrow columns instead of a break anywhere */
@media (min-width: 769px) {
  html:not([lang="en"]) body:has(#watch-list) #map .wf-dtable__table :is(th, td) {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }
}

@media (min-width: 769px) {
  html:not([lang="en"]) body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(4) { width: 16.8%; }
  html:not([lang="en"]) body:has(#watch-list) #map .wf-dtable__table thead th:nth-child(7) { width: 10.4%; }
}

/* a word longer than its column (German compounds) still breaks rather than leaving the cell */
@media (min-width: 769px) {
  html:not([lang="en"]) body:has(#watch-list) #map .wf-dtable__table :is(th, td) {
    overflow-wrap: break-word;
  }
}

/* wide screens: the same 1440px grid as the header, the first screen and the footer */
body:has(#watch-list) :is(#rules, #findings, #watch-list, #suggest, #data) .tr-split__inner,
body:has(#watch-list) #map .wf-dtable__inner {
  max-width: 1440px;
}

/* ===== /reports, Alina's PDFs for desktop and 390px (2026-11-04); the same small first screen as the open map ===== */
html:root[lang] body:has(#rp-irs) .wf-hero .wf-hero__title,
html:root[lang] body:has(#rp-irs) .wf-hero .wf-hero__title > span {
  color: #462143;
  font-size: 50px;
  line-height: 60px;
  letter-spacing: normal;
  text-wrap: wrap;
}

body:has(#rp-irs) .wf-hero.wf-hero--facts {
  min-height: 0;
  padding: 275px 0 95px;
}

body:has(#rp-irs) .wf-hero.wf-hero--facts .wf-hero__content {
  padding-top: 0;
  padding-bottom: 0;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__title {
  max-width: 1040px;
  margin: 0;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__text {
  max-width: 830px;
  margin-top: 27px;
  gap: 0;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__text > p:first-child {
  margin: 0;
  max-width: 1040px;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
  color: #161114;
  white-space: normal;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__text .wf-hero__paragraph {
  margin: 24px 0 0;
  font-size: 20px;
  line-height: 26px;
  color: #161114;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__button {
  min-width: 296px !important;
  margin-top: 63px;
  margin-right: 20px;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__secondary {
  margin-top: 63px;
}

/* the sections: a 32px heading, plain text in a 1040px column, 94px between them */
body:has(#rp-irs) section[id^="rp-"] {
  padding: 0 0 94px;
}

body:has(#rp-irs) section[id^="rp-"] .wf-ecs__read {
  width: 100%;
  max-width: none;
  gap: 0;
}

body:has(#rp-irs) section[id^="rp-"] :is(.wf-ecs__read-title, .wf-ecs__head .wf-ecs__title).wf-ecs__title {
  max-width: none;
  margin: 0 0 18px;
  color: #161114;
  font-size: 32px;
  line-height: 38px;
  letter-spacing: normal;
  text-align: left;
}

body:has(#rp-irs) section[id^="rp-"] .wf-ecs__read-body {
  display: block;
  width: min(100%, 1040px);
  max-width: none;
  margin: 0;
}

body:has(#rp-irs) section[id^="rp-"] .wf-ecs__p {
  margin: 0;
  color: #161114;
  font-size: 20px;
  line-height: 26px;
  text-align: left;
}

body:has(#rp-irs) section[id^="rp-"] .wf-ecs__read-body .wf-ecs__p + .wf-ecs__p {
  margin-top: 16px;
}

body:has(#rp-irs) #rp-where .wf-ecs__read-body .wf-ecs__p + .wf-ecs__p + .wf-ecs__p {
  margin-top: 12px;
}

body:has(#rp-irs) section[id^="rp-"] .wf-ecs__p a:not(.tr-split__button) {
  color: #984F91;
  text-decoration: underline;
}

/* "Research reports": grey cards, the words on the left, the button on the right */
body:has(#rp-irs) #rp-research .wf-ecs__inner {
  gap: 0;
}

body:has(#rp-irs) #rp-research .wf-ecs__head {
  width: 100%;
  margin: 0;
  gap: 0;
  align-items: flex-start;
  text-align: left;
}

body:has(#rp-irs) #rp-research .wf-ecs__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

body:has(#rp-irs) #rp-research .wf-ecs__tile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 40px;
  min-height: 0;
  padding: 26px 40px 28px;
  border-radius: 24px;
  background: #F2F1F0;
}

body:has(#rp-irs) #rp-research .wf-ecs__tile-text {
  gap: 7px;
  min-height: 0;
  max-width: 980px;
}

body:has(#rp-irs) #rp-research .wf-ecs__tile h3 {
  min-height: 0;
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #646667;
}

body:has(#rp-irs) #rp-research .wf-ecs__tile .wf-ecs__p:last-child {
  font-size: 16px;
  line-height: 21px;
  color: #646667;
}

body:has(#rp-irs) #rp-research .wf-ecs__cards-note {
  width: min(100%, 1040px);
  max-width: none;
  margin: 17px 0 0;
}

body:has(#rp-irs) #rp-research .wf-ecs__cards-note + .wf-ecs__cards-note {
  margin-top: 16px;
}

/* the FAQ joins the plain blocks, "Related pages" is centred with its buttons in a row */
body:has(#rp-irs) #rp-related {
  padding: 94px 0 156px;
}

body:has(#rp-irs) #rp-related .wf-ecs__read-title.wf-ecs__title {
  margin-bottom: 36px;
  font-size: 50px;
  line-height: 60px;
  text-align: center;
}

body:has(#rp-irs) #rp-related .wf-ecs__read-buttons {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 0;
}

body:has(#rp-irs) #rp-related .wf-ecs__read-body {
  display: none;
}

/* the phone (390px PDF) */
@media (max-width: 768px) {
  html:root[lang] body:has(#rp-irs) .wf-hero .wf-hero__title,
  html:root[lang] body:has(#rp-irs) .wf-hero .wf-hero__title > span {
    font-size: 32px;
    line-height: 38px;
  }

  body:has(#rp-irs) .wf-hero.wf-hero--facts {
    padding: 199px 0 56px;
  }

  body:has(#rp-irs) .wf-hero--facts .wf-hero__text {
    margin-top: 17px;
  }

  body:has(#rp-irs) .wf-hero--facts .wf-hero__text > p:first-child {
    font-size: 18px;
    line-height: 23px;
  }

  body:has(#rp-irs) .wf-hero--facts .wf-hero__text .wf-hero__paragraph {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }

  body:has(#rp-irs) .wf-hero--facts :is(.wf-hero__button, .wf-hero__secondary) {
    display: flex;
    justify-content: center;
    width: 100% !important;
    min-width: 0 !important;
    margin: 12px 0 0;
  }

  body:has(#rp-irs) .wf-hero--facts .wf-hero__button {
    margin-top: 28px;
  }

  body:has(#rp-irs) section[id^="rp-"] {
    padding-bottom: 54px;
  }

  body:has(#rp-irs) section[id^="rp-"] :is(.wf-ecs__read-title, .wf-ecs__head .wf-ecs__title).wf-ecs__title {
    font-size: 28px;
    line-height: 34px;
  }

  body:has(#rp-irs) section[id^="rp-"] .wf-ecs__p {
    font-size: 16px;
    line-height: 21px;
  }

  body:has(#rp-irs) #rp-research .wf-ecs__tile {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
    padding: 20px;
    border-radius: 16px;
  }

  body:has(#rp-irs) #rp-research .wf-ecs__tile h3 {
    font-size: 14px;
    line-height: 18px;
  }

  body:has(#rp-irs) #rp-research .wf-ecs__tile .wf-ecs__p:last-child {
    font-size: 14px;
    line-height: 18px;
  }

  body:has(#rp-irs) #rp-research .wf-ecs__tile-button {
    width: 100% !important;
  }

  body:has(#rp-irs) #rp-related {
    padding: 54px 0 60px;
  }

  body:has(#rp-irs) #rp-related .wf-ecs__read-title.wf-ecs__title {
    margin-bottom: 24px;
    font-size: 28px;
    line-height: 34px;
  }

  body:has(#rp-irs) #rp-related .wf-ecs__read-buttons {
    gap: 12px;
  }

  body:has(#rp-irs) #rp-related .wf-ecs__button {
    width: auto !important;
  }
}

@media (max-width: 600px) {
  body:has(#rp-irs) section[id^="rp-"] .wf-ecs__inner {
    padding-right: 16px;
    padding-left: 16px;
  }

  body:has(#rp-irs) .site-header,
  body:has(#rp-irs) .site-breadcrumbs__inner,
  body:has(#rp-irs) .wf-hero--facts .wf-hero__content {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* /reports, second pass against the PDF */
body:has(#rp-irs) .wf-hero--facts .wf-hero__text {
  max-width: 1040px;
}

body:has(#rp-irs) .wf-hero--facts .wf-hero__text .wf-hero__paragraph {
  max-width: 832px;
}

body:has(#rp-irs) #rp-research .wf-ecs__tile {
  padding-top: 33px;
  padding-bottom: 31px;
}

body:has(#rp-irs) #rp-related {
  padding-bottom: 120px;
}

body:has(#rp-irs) #rp-related .wf-ecs__read-title.wf-ecs__title {
  margin-bottom: 34px;
}

@media (max-width: 768px) {
  body:has(#rp-irs) #rp-research .wf-ecs__tile {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  body:has(#rp-irs) #rp-related {
    padding-bottom: 60px;
  }
}

body:has(#rp-irs) #rp-research .wf-ecs__tile {
  padding-top: 34px;
  padding-bottom: 32px;
}

@media (min-width: 769px) {
  body:has(#rp-irs) #faq .faq__inner {
    padding-top: 128px;
    padding-bottom: 116px;
  }
}

@media (max-width: 768px) {
  body:has(#rp-irs) #rp-research .wf-ecs__tile {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media (min-width: 769px) {
  body:has(#rp-irs) #rp-research .wf-ecs__tile-button {
    align-self: center;
  }
}

@media (max-width: 768px) {
  body:has(#rp-irs) #faq .faq-item p {
    padding-right: 28px;
    padding-left: 16px;
    line-height: 22px;
  }

  body:has(#rp-irs) #rp-research .wf-ecs__tile-text {
    gap: 9px;
  }

  body:has(#rp-irs) #rp-research .wf-ecs__tile {
    row-gap: 18px;
  }

  body:has(#rp-irs) :is(#rp-research, #rp-related) .wf-ecs__button {
    font-size: 18px !important;
  }
}

/* ===== womafreesm_team and /team, Alina's PDFs «Our Team» and its hover state (2026-11-04) ===== */
.wf-team {
  padding: 94px 0 95px;
  background: #FCFAF1;
}

.wf-team__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 96px;
}

.wf-team__title {
  margin: 0 0 50px;
  color: #161114;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 60px;
  letter-spacing: normal;
  text-align: center;
}

.wf-team__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 47px 20px;
}

.wf-team__card {
  min-width: 0;
  outline: 0;
}

.wf-team__photo {
  position: relative;
  aspect-ratio: 403 / 503;
  overflow: hidden;
  border-radius: 16px;
  background: #D6D1CC;
}

.wf-team__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

/* the description: over a dark layer, rising a little as the photo grows */
.wf-team__bio {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 24px 24px 32px;
  background: rgba(0, 0, 0, 0.36);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.wf-team__bio p {
  margin: 0;
  color: #FCFAF1;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
  transform: translateY(32px);
  transition: transform 0.35s ease;
}

.wf-team__bio a {
  color: inherit;
  text-decoration: underline;
}

.wf-team__card:is(.is-open, :focus-visible) .wf-team__bio {
  opacity: 1;
}

.wf-team__card:is(.is-open, :focus-visible) .wf-team__bio p {
  transform: none;
}

.wf-team__card:is(.is-open, :focus-visible) .wf-team__photo img {
  transform: scale(1.06);
}

.wf-team__card:focus-visible .wf-team__photo {
  outline: 2px solid #984F91;
  outline-offset: 2px;
}

@media (hover: hover) {
  .wf-team__card:hover .wf-team__bio {
    opacity: 1;
  }

  .wf-team__card:hover .wf-team__bio p {
    transform: none;
  }

  .wf-team__card:hover .wf-team__photo img {
    transform: scale(1.06);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wf-team__photo img,
  .wf-team__bio,
  .wf-team__bio p {
    transition: none;
  }
}

.wf-team__name {
  margin: 17px 0 0;
  color: #161114;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 31px;
}

.wf-team__role {
  margin: 5px 0 0;
  color: #646667;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 21px;
}

/* the page's first screen: centred, on the plain background */
body:has(.wf-team) .wf-hero.wf-hero--facts {
  min-height: 0;
  padding: 218px 0 0;
}

body:has(.wf-team) .wf-hero.wf-hero--facts .wf-hero__content {
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
}

html:root[lang] body:has(.wf-team) .wf-hero .wf-hero__title,
html:root[lang] body:has(.wf-team) .wf-hero .wf-hero__title > span {
  max-width: none;
  margin-inline: auto;
  color: #462143;
  letter-spacing: normal;
  text-align: center;
}

body:has(.wf-team) .wf-hero--facts .wf-hero__text {
  max-width: 1040px;
  margin: 39px auto 0;
  gap: 0;
}

body:has(.wf-team) .wf-hero--facts .wf-hero__text > p:first-child {
  margin: 0;
  max-width: none;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
  text-align: center;
}

@media (max-width: 1024px) {
  .wf-team__inner {
    padding: 0 40px;
  }

  .wf-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wf-team__bio p {
    font-size: 16px;
    line-height: 21px;
  }
}

@media (max-width: 600px) {
  .wf-team {
    padding: 96px 0;
  }

  .wf-team + .wf-team {
    padding-top: 0;
  }

  .wf-team__inner {
    padding: 0 24px;
  }

  .wf-team__title {
    margin-bottom: 32px;
    font-size: 40px;
    line-height: 48px;
  }

  .wf-team__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .wf-team__bio {
    padding: 20px 20px 24px;
  }

  body:has(.wf-team) .wf-hero.wf-hero--facts {
    padding-top: 172px;
  }

  body:has(.wf-team) .wf-hero--facts .wf-hero__text {
    margin-top: 16px;
  }

  body:has(.wf-team) .wf-hero--facts .wf-hero__text > p:first-child {
    font-size: 16px;
    line-height: 21px;
  }
}

/* /team, second pass against the PDF */
.wf-team__name {
  margin-top: 16px;
}

body:has(.wf-team) .wf-hero.wf-hero--facts {
  padding-top: 289px;
}

body:has(.wf-team) .wf-hero--facts .wf-hero__text {
  margin-top: 33px;
}

@media (max-width: 600px) {
  body:has(.wf-team) .wf-hero.wf-hero--facts {
    padding-top: 172px;
  }

  body:has(.wf-team) .wf-hero--facts .wf-hero__text {
    margin-top: 16px;
  }
}

/* narrower three columns: the longest descriptions must stay inside the photo */
@media (max-width: 1280px) {
  .wf-team__bio {
    padding: 20px 20px 24px;
  }

  .wf-team__bio p {
    font-size: 16px;
    line-height: 21px;
  }
}

.wf-team__bio {
  overflow: hidden;
}

/* below this width three columns leave too little photo for the longest descriptions */
@media (max-width: 1180px) {
  .wf-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .wf-team__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ===== womafreesm_contact and /contact, Alina's PDFs (2026-11-04) ===== */
.wf-contact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.wf-contact__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wf-contact__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(26, 15, 23, 0.28);
}

.wf-contact__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 184px 96px 126px;
}

.wf-contact__side {
  flex: 1 1 0;
  min-width: 0;
  color: #FCFAF1;
}

.wf-contact__title {
  margin: 0;
  max-width: 480px;
  color: #FCFAF1;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 60px;
}

.wf-contact__title em {
  display: block;
  font-style: italic;
}

.wf-contact__lead {
  max-width: 417px;
  margin: 24px 0 0;
  color: #FCFAF1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 27px;
  opacity: 0.85;
}

.wf-contact__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 54px 0 0;
  padding: 0;
  list-style: none;
}

.wf-contact__list li {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #FCFAF1;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 21px;
}

.wf-contact__list a {
  color: inherit;
  text-decoration: none;
}

.wf-contact__list a:hover,
.wf-contact__list a:focus-visible {
  text-decoration: underline;
}

.wf-contact__dot {
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #EFE2EC;
  color: #984F91;
}

.wf-contact__dot svg {
  width: 20px;
  height: 20px;
}

/* the form */
.wf-contact__panel {
  flex: 0 0 628px;
  box-sizing: border-box;
  max-width: 100%;
  padding: 49px 56px 48px;
  border: 1px solid #F2F1F0;
  border-radius: 24px;
  background: #FCFAF1;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.wf-contact__form-title {
  margin: 0 0 31px;
  color: #161114;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 48px;
}

.wf-contact__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.wf-contact__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
}

.wf-contact__field {
  position: relative;
  margin: 0 0 35px;
}

.wf-contact__field > label {
  display: block;
  margin: 0 0 4px;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.wf-contact__control {
  position: relative;
  display: block;
}

.wf-contact__control > svg {
  position: absolute;
  top: 10px;
  left: 16px;
  z-index: 1;
  width: 17px;
  height: 17px;
  color: #161114;
  pointer-events: none;
}

.wf-contact__panel input[type="text"],
.wf-contact__panel input[type="email"],
.wf-contact__panel select,
.wf-contact__select-button {
  box-sizing: border-box;
  width: 100%;
  height: 37px;
  margin: 0;
  padding: 0 12px 0 40px;
  border: 1px solid #666666;
  border-radius: 8px;
  background: #FCFAF1;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 21px;
  text-align: left;
}

.wf-contact__panel textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 88px;
  padding: 8px 12px;
  border: 1px solid #666666;
  border-radius: 8px;
  background: #FCFAF1;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 21px;
  resize: vertical;
}

.wf-contact__panel ::placeholder,
.wf-contact__select-button.is-empty {
  color: #9C9C9C;
  opacity: 1;
}

.wf-contact__panel input:focus-visible,
.wf-contact__panel textarea:focus-visible,
.wf-contact__panel select:focus-visible,
.wf-contact__select-button:focus-visible {
  border-color: #984F91;
  outline: 1px solid #984F91;
}

.wf-contact__select-button {
  display: block;
  cursor: pointer;
}

.wf-contact__select-list {
  position: absolute;
  top: calc(100% + 16px);
  left: 0;
  z-index: 5;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  list-style: none;
}

.wf-contact__select-list li {
  padding: 11px 16px;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 20px;
  cursor: pointer;
}

.wf-contact__select-list li.is-active {
  background: #F4EFF3;
}

.wf-contact__hint,
.wf-contact__note {
  margin: 0;
  color: #666666;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.wf-contact__hint {
  margin-top: 17px;
}

.wf-contact__field--message {
  margin-top: -11px;
  margin-bottom: 40px;
}

.wf-contact__field--consent {
  margin-bottom: 40px;
}

.wf-contact__consent {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0;
  color: #161114;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  cursor: pointer;
}

.wf-contact__consent input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: #984F91;
}

.wf-contact__consent a {
  color: #984F91;
  text-decoration: underline;
}

.wf-contact__panel .wf-contact__send {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  border: 0;
  cursor: pointer;
}

.wf-contact__send:disabled {
  opacity: 0.6;
  cursor: default;
}

.wf-contact__note {
  margin-top: 24px;
}

.wf-contact__error {
  margin: 4px 0 0;
  color: #A32B2B;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.wf-contact__field.is-bad input[type="text"],
.wf-contact__field.is-bad input[type="email"],
.wf-contact__field.is-bad textarea,
.wf-contact__field.is-bad .wf-contact__select-button {
  border-color: #A32B2B;
}

.wf-contact__alert {
  margin: 0 0 24px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #F6E6E2;
  color: #A32B2B;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

/* the thank-you screen */
.wf-contact--sent {
  background: linear-gradient(135deg, #C69EBE 0%, #F6F0EC 38%, #F8F3ED 62%, #C297BA 100%);
}

.wf-contact__thanks {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  min-height: 951px;
  margin: 0 auto;
  padding: 318px 96px 120px;
  text-align: center;
}

.wf-contact__thanks-title {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 110px;
}

.wf-contact__thanks-text {
  max-width: 860px;
  margin: 24px 0 0;
  color: #666666;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
}

.wf-contact__thanks-button {
  margin-top: 45px;
}

body:has(#app .wf-contact--sent) .site-breadcrumbs {
  color: #462143;
}

@media (max-width: 1180px) {
  .wf-contact__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 48px;
    padding: 150px 40px 80px;
  }

  .wf-contact__panel {
    flex: 0 0 auto;
    width: 100%;
    max-width: 628px;
  }

  .wf-contact__list {
    margin-top: 32px;
  }
}

@media (max-width: 600px) {
  .wf-contact__inner {
    padding: 132px 24px 64px;
  }

  .wf-contact__title {
    font-size: 40px;
    line-height: 48px;
  }

  .wf-contact__lead {
    font-size: 16px;
    line-height: 21px;
  }

  .wf-contact__panel {
    padding: 32px 24px;
  }

  .wf-contact__form-title {
    margin-bottom: 24px;
    font-size: 32px;
    line-height: 38px;
  }

  .wf-contact__pair {
    grid-template-columns: minmax(0, 1fr);
  }

  .wf-contact__field {
    margin-bottom: 24px;
  }

  .wf-contact__field--message {
    margin-top: 0;
  }

  .wf-contact__thanks {
    min-height: 620px;
    padding: 180px 24px 80px;
  }

  .wf-contact__thanks-title {
    font-size: 54px;
    line-height: 60px;
  }

  .wf-contact__thanks-text {
    font-size: 16px;
    line-height: 21px;
  }

  .wf-contact__thanks-button {
    width: 100% !important;
  }
}

/* /contact: the section runs under the header and the crumbs; on a tall screen it grows to the footer */
body:has(#app .wf-contact) .site-breadcrumbs {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9998;
  color: #FCFAF1;
  background: transparent;
}

body:has(#app .wf-contact) .site-breadcrumbs a {
  color: inherit;
}

body:has(#app .wf-contact--sent) .site-breadcrumbs {
  color: #462143;
}

#app:has(> .wf-contact) {
  display: flex;
  flex-direction: column;
}

#app > .wf-contact {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: center;
}

.wf-contact--sent {
  background: linear-gradient(125deg, #C69EBE 0%, #E3CBDD 13%, #F5EDEC 25%, #FCFAF1 38%, #FCFAF1 60%, #F2E7EA 72%, #DABFD5 87%, #C297BA 100%);
}

.wf-contact__lead {
  max-width: 425px;
}

.wf-contact__panel textarea {
  height: 88px;
}

.wf-contact__field > label.wf-contact__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding-right: 24px;
}

.wf-contact__consent input {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin: 2px 0 0 8px;
}

.wf-contact__thanks {
  padding-top: 336px;
}

.wf-contact__thanks-button {
  margin-top: 47px;
}

@media (max-width: 600px) {
  .wf-contact__field > label.wf-contact__consent {
    padding-right: 0;
  }

  .wf-contact__consent input {
    margin-left: 0;
  }

  .wf-contact__thanks {
    padding-top: 180px;
  }

  .wf-contact__thanks-button {
    margin-top: 32px;
  }
}

/* /contact: the open subject list as in the mockup */
.wf-contact__select-list {
  top: calc(100% + 12px);
  padding: 5px 0;
}

/* /contact: measured against the mockup */
.wf-contact__panel {
  padding: 48px 55px 47px;
}

.wf-contact__title {
  margin-top: 4px;
}

.wf-contact__lead {
  margin-top: 20px;
}

.wf-contact__list {
  margin-top: 50px;
}

@media (max-width: 1180px) {
  .wf-contact__list {
    margin-top: 32px;
  }
}

@media (max-width: 600px) {
  .wf-contact__panel {
    padding: 32px 24px;
  }

  .wf-contact__title {
    margin-top: 0;
  }

  .wf-contact__lead {
    margin-top: 24px;
  }
}

/* ===== About Founder, re-issued by Alina (2026-11-04); measured against her PDF at 1440 ===== */
.wf-hero--founder .wf-hero__image {
  object-position: 50% 50%;
}

.wf-hero--founder ~ .wf-prose--founder-intro .wf-prose__text p,
.wf-hero--founder ~ .tr-split .tr-split__panel p,
.wf-hero--founder ~ .global-network--photo p {
  color: #211a1f;
}

@media (min-width: 1441px) {
  .wf-hero.wf-hero--founder {
    height: max(920px, min(35.94vw, 100svh));
    min-height: max(920px, min(35.94vw, 100svh));
  }

  .wf-hero--founder .wf-hero__image {
    object-position: 50% 100%;
  }
}

@media (min-width: 1248px) {
  .wf-hero--founder .wf-hero__content {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 340px 96px 0;
  }

  .wf-hero--founder .wf-hero__title {
    max-width: 640px;
    margin: 0 0 0 auto;
    font-size: 100px;
    line-height: 110px;
    text-align: right;
  }

  .wf-hero--founder .wf-hero__text {
    max-width: none;
    margin: 20px 0 0 50.8%;
  }

  .wf-hero--founder .wf-hero__text p {
    font-size: 20px;
    line-height: 26px;
    text-align: left;
  }

  /* intro: 888px, the portrait 507x648 from 120px down, the text centred beside it */
  .wf-prose--founder-intro {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .wf-prose--founder-intro .wf-prose__body {
    grid-template-columns: 507px 614px;
    align-items: center;
  }

  .wf-prose--founder-intro .wf-prose__body img {
    width: 507px;
    height: 648px;
    object-fit: cover;
  }

  .wf-prose--founder-intro .wf-prose__text p:first-child {
    font-size: 24px;
    line-height: 31px;
  }

  .wf-prose--founder-intro .wf-prose__text p + p {
    font-size: 20px;
    line-height: 26px;
  }

  /* the quote: 661px, an 826x341 panel with 24px text */
  .research-cta--quote {
    min-height: 661px;
    padding-top: 160px;
    padding-bottom: 160px;
  }

  .research-cta--quote .research-cta__panel {
    box-sizing: border-box;
    width: 826px;
    max-width: 826px;
    min-height: 341px;
    margin: 0 auto;
    padding: 50px 57px;
  }

  .research-cta--quote .research-cta__panel p {
    margin-bottom: 30px;
    font-size: 24px;
    line-height: 31px;
  }

  /* the steps: Lora 32, boxes 79px and the last one 124px */
  .wf-hero--founder ~ .tr-split .tr-flow__step {
    padding: 20px 24px;
    font-size: 32px;
    line-height: 38px;
  }

  .wf-hero--founder ~ .tr-split .tr-flow__step:last-child {
    padding: 24px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-flow) .tr-split__lead {
    font-size: 32px;
    line-height: 38px;
  }

  /* "This question came up…": two rows, the summary and the biography line start level */
  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:last-child {
    padding-top: 30px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:first-child > .tr-split__panel {
    margin-top: 86px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__lead {
    margin-top: 86px;
  }

  /* the slides: one panorama runs across the two text slides, dimmed by 20% */
  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__media {
    position: relative;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    pointer-events: none;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__text {
    color: #656667;
  }

  /* the heard section: 917px, soft light, level columns */
  .wf-hero--founder ~ .global-network--photo {
    min-height: 917px;
  }

  .wf-hero--founder ~ .global-network--photo h2 {
    font-size: 40px;
    line-height: 48px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__body {
    grid-template-columns: 485px 509px;
    justify-content: space-between;
    column-gap: 0;
  }
}

.wf-hero--founder ~ .how-film .how-film__dots {
  gap: 16px;
}

.wf-hero--founder ~ .how-film .how-film__dots button {
  width: 16px;
  height: 16px;
  background: #e1e1e1;
}

.wf-hero--founder ~ .how-film .how-film__dots button.is-active {
  background: #d6bde1;
}

/* the phone: Alina's own photo; the name and the title stand on the grey wall above Marina */
@media (max-width: 600px) {
  .wf-hero.wf-hero--founder {
    height: auto;
    min-height: 0;
    aspect-ratio: 390 / 844;
  }

  .wf-hero--founder .wf-hero__image {
    object-position: 50% 100%;
  }

  .wf-hero--founder .wf-hero__content {
    justify-content: flex-start;
    padding-top: 150px;
    padding-bottom: 0;
  }

  .wf-hero--founder .wf-hero__title {
    font-size: min(54px, calc((100vw - 48px) / 6.6));
    line-height: 1.1;
  }

  .wf-hero--founder .wf-hero__text {
    margin-top: 16px;
  }
}

/* About Founder: second pass against the PDF */
@media (min-width: 1248px) {
  .wf-hero--founder .wf-hero__title {
    max-width: 700px;
  }

  .wf-prose--founder-intro {
    padding-top: 0;
    padding-bottom: 0;
  }

  .research-cta--quote .research-cta__panel {
    padding: 49px 57px;
  }

  .research-cta--quote .research-cta__panel h2 {
    font-size: 50px;
    line-height: 60px;
  }

  /* the caption under the window portrait */
  .wf-hero--founder ~ .tr-split .tr-split__media + .tr-split__panel .tr-split__lead:only-child {
    margin-top: 20px;
  }

  /* the steps start level with the second line of the text; the paragraphs are 40px apart */
  .wf-hero--founder ~ .tr-split .tr-flow {
    margin-top: 29px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-flow) .tr-split__panel p + p {
    margin-top: 40px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-flow) .tr-split__panel .tr-split__lead {
    margin-top: 38px;
  }

  .wf-prose--founder-build .wf-prose__body {
    margin-top: 42px;
  }

  .wf-prose--founder-build .wf-prose__text {
    width: 612px;
    max-width: 612px;
    margin-right: 0;
    margin-left: auto;
  }

  .wf-hero--founder ~ .how-film .how-film__cover-content {
    justify-content: flex-start;
    padding-top: 158px;
    padding-bottom: 0;
  }

  .wf-hero--founder ~ .how-film .how-film__glass {
    width: 652px;
    max-width: 652px;
    margin-top: 0;
  }

  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__text h2,
  .wf-hero--founder ~ .how-film .how-film__slide--split .how-film__text p {
    max-width: none;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__body {
    margin-top: 100px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__lead {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    column-gap: 0;
    align-items: start;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__lead p {
    max-width: 360px;
    margin-top: 18px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__right p + p {
    margin-top: 16px;
  }
}

/* About Founder: third pass against the PDF */
@media (min-width: 1248px) {
  .research-cta--quote .research-cta__panel {
    padding: 48px 57px;
  }

  .wf-hero--founder ~ .tr-split .tr-split__panel {
    row-gap: 26px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-flow) {
    min-height: 1006px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-flow) .tr-split__panel p + p {
    margin-top: 14px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-flow) .tr-split__panel .tr-split__lead {
    margin-top: 12px;
  }

  .wf-prose--founder-build .wf-prose__body {
    display: block;
    margin-top: -54px;
  }

  body:has(.wf-hero--founder) .how-film .how-film__slide--split .how-film__text {
    padding: 0 116px 0 56px;
  }

  body:has(.wf-hero--founder) .how-film .how-film__slide--split.how-film__slide--reverse .how-film__text {
    padding: 0 74px 0 113px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) {
    padding-bottom: 106px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:first-child > .tr-split__panel {
    margin-top: 61px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__lead {
    margin-top: 48px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__body {
    margin-top: 95px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__lead p {
    margin-top: 23px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__left > p {
    margin-top: 24px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__right {
    display: block;
  }

  .wf-hero--founder ~ .membership-join-cta--light h2 + p {
    margin-top: 33px;
  }

  .wf-hero--founder ~ .membership-join-cta--light p + p {
    margin-top: 26px;
  }
}

/* About Founder: the PDF's line breaks and the drop cap */
@media (min-width: 1248px) {
  .wf-prose--founder-intro .wf-prose__text {
    row-gap: 0;
  }

  .research-cta--quote .research-cta__panel {
    padding-right: 50px;
    padding-left: 50px;
  }

  .wf-hero--founder ~ .tr-split:has(.tr-split__side:first-child > .tr-split__media + .tr-split__panel) .tr-split__side:first-child > .tr-split__panel {
    max-width: 508px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__body {
    grid-template-columns: 495px 509px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__lead p {
    max-width: 368px;
  }

  .wf-hero--founder ~ .global-network--photo .global-network__lead span {
    margin-top: -70px;
    font-size: 200px;
  }
}

/* About Founder: narrower than the mockup Marina stays whole in the frame */
@media (min-width: 1248px) and (max-width: 1439px) {
  .wf-hero--founder .wf-hero__image {
    object-position: 46% 50%;
  }
}

@media (min-width: 601px) and (max-width: 1247px) {
  .wf-hero--founder .wf-hero__image {
    object-position: 34% 50%;
  }
}

/* About Founder: each text slide holds a whole half of the panorama; the join between the two halves stays at the slides' common edge */
.wf-hero--founder ~ .how-film .how-film__slide--split .how-film__media img {
  object-fit: cover;
  object-position: 100% 50%;
}

.wf-hero--founder ~ .how-film .how-film__slide--split.how-film__slide--reverse .how-film__media img {
  object-position: 0% 50%;
}

/* ===== the 404 page, Alina's PDF (2026-11-04) ===== */
body:has(.wf-404) .site-breadcrumbs {
  display: none;
}

.wf-404 {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  min-height: 920px;
  padding: 257px 24px 148px;
  background: linear-gradient(123deg, #5d285e 0%, #947194 10%, #c1adc1 20%, #e1d7e0 30%, #f6f2f5 40%, #fefefe 50%, #faf8f9 60%, #eae3e9 70%, #cebdcd 80%, #a588a5 90%, #724573 100%);
}

.wf-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 640px;
  text-align: center;
}

.wf-404__code {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 200px;
  font-style: italic;
  font-weight: 400;
  line-height: 200px;
}

.wf-404__title {
  margin: -4px 0 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 41px;
}

.wf-404__text {
  margin: 31px 0 0;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

.wf-404__text span {
  display: block;
}

.wf-404__text span:last-child {
  max-width: 540px;
  margin: 0 auto;
}

.wf-404__inner .wf-404__button {
  margin-top: 95px;
}

@media (max-width: 600px) {
  .wf-404 {
    min-height: 0;
    padding: 168px 24px 96px;
  }

  .wf-404__code {
    font-size: 140px;
    line-height: 140px;
  }

  .wf-404__title {
    margin-top: 8px;
    font-size: 32px;
    line-height: 40px;
  }

  .wf-404__text {
    margin-top: 24px;
    font-size: 16px;
    line-height: 21px;
  }

  .wf-404__inner .wf-404__button {
    margin-top: 48px;
  }
}

/* the 404 page: the button as drawn */
.wf-404__inner .wf-404__button {
  box-sizing: border-box;
  min-width: 228px;
  padding-right: 24px;
  padding-left: 24px;
}

/* the 404 page: on a phone the gradient fills the first screen */
@media (max-width: 600px) {
  .wf-404 {
    min-height: 100svh;
  }
}

/* the 404 page: on a tall screen the gradient reaches the footer */
@media (min-width: 601px) {
  .wf-404 {
    min-height: max(920px, 100svh);
  }
}

/* /donate, Major support: the link under the cards is the way into the request form (2026-11-04) */
.volunteer-benefits--donate .volunteer-benefits__after a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #984f91;
  border-radius: 8px;
  background: #984f91;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.volunteer-benefits--donate .volunteer-benefits__after a:hover,
.volunteer-benefits--donate .volunteer-benefits__after a:focus-visible {
  border-color: #5d295f;
  background: #5d295f;
}

.volunteer-benefits--donate .volunteer-benefits__after p {
  margin: 0;
}

/* ===== womafreesm_survey_invite: the WLCE Index survey invitation, /take-part (Alina's PDF, 2026-11-04) ===== */
.wf-invite {
  position: relative;
  padding: 120px 24px 120px;
  background: linear-gradient(125deg, #9e5e99 0%, #d7b9d3 13%, #f2e7ea 25%, #fcfaf1 38%, #fcfaf1 60%, #efe2ec 72%, #cfa6ca 87%, #9e5e99 100%);
}

.wf-invite__inner {
  width: min(100%, 1036px);
  margin: 0 auto;
}

.wf-invite__heading {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 60px;
  text-align: center;
}

.wf-invite__required {
  margin: 27px 0 0;
  color: #656667;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
  text-align: center;
}

.wf-invite__card {
  box-sizing: border-box;
  margin-top: 59px;
  padding: 57px 24px 57px;
  border: 1px solid #f2f1f0;
  border-radius: 24px;
  background: #fcfaf1;
}

.wf-invite__title {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 48px;
  text-align: center;
}

.wf-invite__col {
  width: min(100%, 402px);
  margin: 51px auto 0;
}

.wf-invite__intro,
.wf-invite__hint,
.wf-invite__privacy {
  margin: 0;
  color: #656667;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.wf-invite__privacy a {
  color: #984f91;
  text-decoration: none;
}

.wf-invite__privacy a:hover,
.wf-invite__privacy a:focus-visible {
  text-decoration: underline;
}

.wf-invite__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.wf-invite__field {
  display: block;
  margin: 24px 0 0;
  font-weight: 400;
}

.wf-invite__intro + .wf-invite__field,
.wf-invite__intro + input + .wf-invite__field {
  margin-top: 24px;
}

.wf-invite__label {
  display: block;
  margin: 0 0 4px;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.wf-invite__input {
  position: relative;
  display: block;
}

.wf-invite__input svg {
  position: absolute;
  top: 50%;
  left: 16px;
  color: #221a1f;
  transform: translateY(-50%);
  pointer-events: none;
}

.wf-invite__input input,
.wf-invite__input select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 37px;
  padding: 0 14px 0 40px;
  border: 1px solid #656667;
  border-radius: 6px;
  background: #fcfaf1;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  appearance: none;
  -webkit-appearance: none;
}

.wf-invite__input select {
  cursor: pointer;
}

.wf-invite__input input::placeholder,
.wf-invite__input select.is-empty {
  color: #aeaeb0;
  opacity: 1;
}

.wf-invite__input select option {
  color: #221a1f;
}

.wf-invite__input input:focus,
.wf-invite__input select:focus {
  outline: 2px solid #984f91;
  outline-offset: 1px;
  border-color: #984f91;
}

.wf-invite__hint {
  display: block;
  margin-top: 17px;
}

.wf-invite__check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 40px 0 0;
  padding-left: 8px;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  cursor: pointer;
}

.wf-invite__check + .wf-invite__check {
  margin-top: 40px;
}

.wf-invite__check input {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin: 2px 0 0;
  accent-color: #984f91;
}

.wf-invite__privacy {
  margin-top: 40px;
}

.wf-invite__error {
  margin: 24px 0 0;
  color: #a32b2b;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.wf-invite__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin-top: 40px;
  padding: 0 24px;
  border: 1px solid #984f91;
  border-radius: 8px;
  background: #984f91;
  color: #fcfaf1;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.wf-invite__submit:hover,
.wf-invite__submit:focus-visible {
  border-color: #5d295f;
  background: #5d295f;
}

.wf-invite__submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

.wf-invite__done {
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 0;
  text-align: center;
}

.wf-invite__done p {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 31px;
}

.wf-invite__after {
  display: inline-block;
  margin-top: 24px;
  color: #984f91;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 21px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 600px) {
  .wf-invite {
    padding: 96px 24px;
  }

  .wf-invite__heading {
    font-size: 40px;
    line-height: 48px;
  }

  .wf-invite__required {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }

  .wf-invite__card {
    margin-top: 32px;
    padding: 32px 20px 40px;
  }

  .wf-invite__title {
    font-size: 32px;
    line-height: 38px;
  }

  .wf-invite__col {
    margin-top: 24px;
  }

  .wf-invite__check {
    margin-top: 24px;
    padding-left: 0;
  }

  .wf-invite__check + .wf-invite__check {
    margin-top: 24px;
  }

  .wf-invite__privacy {
    margin-top: 24px;
  }

  .wf-invite__submit {
    margin-top: 24px;
  }
}

/* ===== /take-part: Alina's PDF, measured (2026-11-04) ===== */
.wf-invite {
  background: linear-gradient(135deg, #974f90 0%, #b886b0 7%, #d4b5cb 14%, #e8d8df 21%, #f4edea 28%, #faf8f0 35%, #fbf9f0 44%, #f8f3ed 50%, #f5eeeb 57%, #eee2e5 64%, #e4d1db 71%, #d7bbce 78%, #c69ebe 85%, #b47fac 92%, #9e5997 98.6%, #974f90 100%);
}

.wf-invite__field--language {
  margin-top: 35px;
}

.wf-invite__field--language + .wf-invite__check {
  margin-top: 51px;
}

.wf-invite__submit {
  margin-top: 26px;
}

#tk-decide .wf-ecs__cards-lead {
  max-width: 710px;
  margin: 0 0 64px;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

#tk-decide .wf-ecs__cards-note {
  max-width: 710px;
  margin: 64px 0 0;
}

#tk-decide .wf-ecs__cards-note + .wf-ecs__cards-note {
  margin-top: 64px;
}

#tk-decide a,
#tk-asked .wf-ecs__p a,
#tk-where .wf-ecs__p a {
  color: #984f91;
}

#answers .wf-ecs__row {
  align-items: center;
}

#answers .wf-ecs__buttons .tr-split__button--ghost:first-child {
  border-color: #984f91 !important;
  background: #984f91 !important;
  color: #fcfaf1 !important;
}

#answers .wf-ecs__buttons .tr-split__button--ghost:first-child:hover,
#answers .wf-ecs__buttons .tr-split__button--ghost:first-child:focus-visible {
  border-color: #5d295f !important;
  background: #5d295f !important;
  color: #fcfaf1 !important;
}

#tk-does .wf-ecs__subtitle {
  max-width: none;
  font-size: 20px;
  line-height: 26px;
}

#tk-explore .wf-ecs__groups,
#tk-explore .wf-ecs__group {
  display: block;
  width: 100%;
  max-width: none;
}

#tk-explore .wf-ecs__group ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#tk-explore .wf-ecs__group li {
  margin: 0;
  padding: 0;
  border: 0;
}

#tk-explore .wf-ecs__group a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  border-radius: 8px;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

#tk-explore .wf-ecs__group a:hover,
#tk-explore .wf-ecs__group a:focus-visible {
  background: #5d295f;
  border-color: #5d295f;
  color: #fcfaf1;
}

#tk-explore .wf-ecs__group a span {
  font: inherit;
}

#tk-explore .wf-ecs__group a svg {
  display: none;
}

@media (min-width: 901px) {
  #tk-decide .wf-ecs__grid--2 > :nth-child(-n + 2) h3 {
    min-height: 76px;
  }
}

@media (max-width: 600px) {
  .wf-invite__field--language {
    margin-top: 24px;
  }

  .wf-invite__field--language + .wf-invite__check {
    margin-top: 32px;
  }

  #tk-decide .wf-ecs__cards-lead {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 21px;
  }

  #tk-decide .wf-ecs__cards-note,
  #tk-decide .wf-ecs__cards-note + .wf-ecs__cards-note {
    margin-top: 40px;
  }

  #tk-does .wf-ecs__subtitle {
    font-size: 16px;
    line-height: 21px;
  }

  #tk-explore .wf-ecs__group ul {
    gap: 12px;
  }

  #tk-explore .wf-ecs__group a {
    min-height: 44px;
    padding: 0 16px;
    font-size: 16px;
  }
}

/* /take-part, second pass: the block's own 64px gap already separates these; the cards and rhythm by the PDF's numbers */
#tk-decide .wf-ecs__cards-lead,
#tk-decide .wf-ecs__cards-note,
#tk-decide .wf-ecs__cards-note + .wf-ecs__cards-note {
  margin: 0;
}

#tk-decide .wf-ecs__tile > div {
  gap: 16px;
}

#tk-decide .wf-ecs__grid--2 > :nth-child(n + 3) h3 {
  min-height: 0;
}

#tk-asked {
  padding-bottom: 62px;
}

.wf-invite__submit {
  margin-top: 29px;
}

#faq {
  padding-top: 64px;
}

#tk-explore .wf-ecs__inner {
  gap: 32px;
}

#tk-explore .wf-ecs__group ul {
  gap: 18px 16px;
}

@media (max-width: 900px) {
  #tk-decide .wf-ecs__grid--2 > * h3 {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  #tk-decide .wf-ecs__cards-lead,
  #tk-decide .wf-ecs__cards-note,
  #tk-decide .wf-ecs__cards-note + .wf-ecs__cards-note {
    margin: 0;
  }

  #tk-asked {
    padding-bottom: 48px;
  }

  #faq {
    padding-top: 0;
  }

  .wf-invite__submit {
    margin-top: 24px;
  }

  #tk-explore .wf-ecs__group ul {
    gap: 12px;
  }
}

#tk-does .wf-ecs__serif a {
  color: #984f91;
}

/* ===== womafreesm_faq_hub: the general FAQ, /faq (Alina's PDF, 2026-11-04) ===== */
.wf-faqhub {
  padding: 96px 0 120px;
  background: #fcfaf1;
  color: #221a1f;
}

.wf-faqhub__head,
.wf-faqhub__topic {
  box-sizing: border-box;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 96px;
}

.wf-faqhub__title {
  margin: 0;
  color: #462143;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 60px;
}

.wf-faqhub__intro {
  margin: 27px 0 0;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 31px;
}

.wf-faqhub__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 64px;
}

.wf-faqhub__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  border-radius: 8px;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.wf-faqhub__pill:hover,
.wf-faqhub__pill:focus-visible {
  border-color: #5d295f;
  background: #5d295f;
  color: #fcfaf1;
}

.wf-faqhub__topic {
  margin-top: 240px;
  scroll-margin-top: 120px;
}

.wf-faqhub__head + .wf-faqhub__topic {
  margin-top: 224px;
}

.wf-faqhub__topic-title {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 60px;
}

.wf-faqhub__groups {
  margin: 47px 0 0 423px;
}

.wf-faqhub__group + .wf-faqhub__group {
  margin-top: 48px;
}

.wf-faqhub__group-title {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 38px;
}

.wf-faqhub__open {
  display: inline-block;
  margin-top: 10px;
  color: #984f91;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wf-faqhub__open:hover,
.wf-faqhub__open:focus-visible {
  color: #5d295f;
}

.wf-faqhub .faq__list {
  margin-top: 7px;
  padding-top: 0;
}

.wf-faqhub .faq-item:first-child {
  border-top: 0;
}

.wf-faqhub .faq-item summary {
  gap: 48px;
  padding: 24px 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 31px;
}

.wf-faqhub .faq-item p {
  margin: 0;
  padding: 8px 40px 24px 50px;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 26px;
}

.wf-faqhub .faq-item p a {
  color: #984f91;
}

@media (max-width: 1100px) {
  .wf-faqhub__groups {
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  .wf-faqhub__head,
  .wf-faqhub__topic {
    padding: 0 48px;
  }
}

@media (max-width: 600px) {
  .wf-faqhub {
    padding: 64px 0 96px;
  }

  .wf-faqhub__head,
  .wf-faqhub__topic {
    padding: 0 24px;
  }

  .wf-faqhub__title,
  .wf-faqhub__topic-title {
    font-size: 40px;
    line-height: 48px;
  }

  .wf-faqhub__intro {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }

  .wf-faqhub__pills {
    gap: 12px;
    margin-top: 32px;
  }

  .wf-faqhub__pill {
    min-height: 44px;
    padding: 0 16px;
    font-size: 16px;
  }

  .wf-faqhub__topic,
  .wf-faqhub__head + .wf-faqhub__topic {
    margin-top: 96px;
  }

  .wf-faqhub__groups {
    margin-top: 24px;
  }

  .wf-faqhub__group-title {
    font-size: 28px;
    line-height: 34px;
  }

  .wf-faqhub__open {
    font-size: 16px;
    line-height: 21px;
  }

  .wf-faqhub .faq-item summary {
    gap: 24px;
    padding: 16px 0;
    font-size: 20px;
    line-height: 26px;
  }

  .wf-faqhub .faq-item p {
    padding: 0 0 16px;
    font-size: 16px;
    line-height: 21px;
  }
}

/* /faq, second pass by the PDF's numbers */
.wf-faqhub {
  padding-top: 122px;
}

.wf-faqhub__topic {
  margin-top: 248px;
}

.wf-faqhub__group + .wf-faqhub__group {
  margin-top: 41px;
}

.wf-faqhub .faq-item p {
  padding-top: 0;
}

@media (max-width: 600px) {
  .wf-faqhub {
    padding-top: 64px;
  }

  .wf-faqhub__topic {
    margin-top: 96px;
  }

  .wf-faqhub__group + .wf-faqhub__group {
    margin-top: 48px;
  }
}

.wf-faqhub__group + .wf-faqhub__group {
  margin-top: 33px;
}

@media (max-width: 600px) {
  .wf-faqhub__group + .wf-faqhub__group {
    margin-top: 48px;
  }
}

/* ===== /declaration-action: Principles of the Declaration in action (Alina's PDF, 2026-11-04) ===== */
body:has(#da-intro) .wf-hero--ecs p {
  margin-top: 26px;
  font-size: 20px;
  line-height: 26px;
}

#da-intro {
  padding: 160px 0;
}

#da-intro .wf-ecs__row {
  display: block;
}

#da-intro .wf-ecs__text {
  width: min(100%, 1040px);
  margin: 0 auto;
}

#da-intro .wf-ecs__text p {
  margin: 0;
  color: #221a1f;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 40px;
  line-height: 52px;
  text-align: center;
}

#steps .wf-ecs__grid {
  grid-template-rows: auto auto auto auto;
  row-gap: 0;
}

#steps .wf-ecs__tile {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  gap: 0;
  padding: 24px 24px 28px;
}

#steps .wf-ecs__tile-text {
  display: contents;
}

#steps .wf-ecs__tile h3 {
  min-height: 0;
  margin: 0;
}

#steps .wf-ecs__tile p {
  margin: 0;
}

#steps .wf-ecs__tile p:nth-of-type(1) {
  padding-top: 13px;
  font-weight: 700;
}

#steps .wf-ecs__tile p:nth-of-type(1) strong {
  font-weight: 700;
}

#steps .wf-ecs__tile p:nth-of-type(2) {
  padding-top: 15px;
}

#steps .wf-ecs__tile p:nth-of-type(3) {
  position: relative;
  padding: 24px 0 0 30px;
}

#steps .wf-ecs__tile p:nth-of-type(3)::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 3px;
  width: 15px;
  height: 15px;
  border-radius: 2px;
  background: #000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath d='M3.6 7.8l2.7 2.7 5.1-5.6' fill='none' stroke='%23efe2ec' stroke-width='1.6'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
}

#da-change .wf-ecs__photo {
  min-height: 516px;
}

#da-tell .wf-ecs__photo {
  min-height: 420px;
}

#da-life .wf-ecs__inner {
  box-sizing: border-box;
  width: calc(100% - 192px);
  margin: 0 auto;
  padding: 64px;
  gap: 64px;
  border-radius: 24px;
  background: #efe2ec;
}

#da-life .wf-ecs__row {
  justify-content: space-between;
  gap: 48px;
}

#da-life .wf-ecs__text {
  flex: 0 1 530px;
}

#da-life .wf-ecs__photo {
  flex: 0 0 440px;
  min-height: 420px;
}

#da-partners {
  min-height: 800px;
}

#da-partners .research-cta__panel {
  min-height: 480px;
}

#da-partners .research-cta__panel h2 {
  font-size: 50px;
}

#da-partners .research-cta__panel p {
  margin-top: 18px;
}

#da-partners .research-cta__panel .research-cta__note {
  margin-top: 40px;
}

#da-partners .research-cta__actions {
  margin-top: 63px;
}

#da-related {
  padding: 96px 0 120px;
}

#da-related .wf-ecs__inner {
  gap: 32px;
}

#da-related ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  list-style: none;
}

#da-related li {
  border: 0;
}

#da-related li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #221a1f;
  border-radius: 8px;
  color: #221a1f;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

#da-related li a:hover,
#da-related li a:focus-visible {
  border-color: #5d295f;
  background: #5d295f;
  color: #fcfaf1;
}

#da-related li a svg {
  display: none;
}

@media (max-width: 1100px) {
  #da-intro .wf-ecs__text p {
    font-size: 32px;
    line-height: 42px;
  }

  #steps .wf-ecs__grid {
    grid-template-rows: none;
  }

  #steps .wf-ecs__tile {
    display: block;
    grid-row: auto;
  }

  #steps .wf-ecs__tile-text {
    display: block;
  }

  #da-life .wf-ecs__row {
    flex-direction: column;
  }

  #da-life .wf-ecs__text,
  #da-life .wf-ecs__photo {
    flex: none;
    width: 100%;
  }
}

@media (max-width: 600px) {
  body:has(#da-intro) .wf-hero--ecs p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 21px;
  }

  #da-intro {
    padding: 96px 0;
  }

  #da-intro .wf-ecs__text p {
    font-size: 24px;
    line-height: 31px;
  }

  #steps .wf-ecs__tile p:nth-of-type(3)::before {
    top: 28px;
  }

  #da-change .wf-ecs__photo,
  #da-tell .wf-ecs__photo,
  #da-life .wf-ecs__photo {
    min-height: 280px;
  }

  #da-life .wf-ecs__inner {
    width: calc(100% - 48px);
    padding: 40px 24px;
    gap: 32px;
  }

  #da-partners {
    min-height: 0;
  }

  #da-partners .research-cta__panel {
    min-height: 0;
  }

  #da-partners .research-cta__panel h2 {
    font-size: 32px;
    line-height: 40px;
  }

  #da-partners .research-cta__panel p {
    font-size: 16px;
    line-height: 21px;
  }

  #da-partners .research-cta__panel .research-cta__note {
    margin-top: 16px;
  }

  #da-partners .research-cta__actions {
    margin-top: 32px;
  }

  #da-related {
    padding: 96px 0;
  }

  #da-related ul {
    gap: 12px;
  }

  #da-related li a {
    min-height: 44px;
    padding: 0 16px;
    font-size: 16px;
  }
}

/* /declaration-action, second pass by the PDF's numbers */
body:has(#da-intro) .wf-hero--ecs p {
  margin-top: 52px;
}

#da-partners .research-cta__panel h2 {
  line-height: 60px;
}

@media (max-width: 600px) {
  body:has(#da-intro) .wf-hero--ecs p {
    margin-top: 16px;
  }

  #da-partners .research-cta__panel h2 {
    line-height: 40px;
  }
}

/* /declaration-action, third pass */
body:has(#da-intro) .wf-hero--ecs p {
  margin-top: 64px;
}

#da-life .wf-ecs__text {
  flex-basis: 580px;
}

@media (max-width: 600px) {
  body:has(#da-intro) .wf-hero--ecs p {
    margin-top: 16px;
  }
}

/* /declaration-action: paragraphs 16px apart, as in the PDF */
#da-change .wf-ecs__text,
#da-tell .wf-ecs__text,
#da-life .wf-ecs__text {
  gap: 16px;
}

/* /declaration-action: narrow screens */
@media (max-width: 1100px) {
  #da-life .wf-ecs__text,
  #da-life .wf-ecs__photo {
    flex-basis: auto;
  }
}

@media (max-width: 900px) {
  #da-partners {
    height: auto;
  }
}

/* /declaration-action: the panel keeps the page's width, stacked cards keep their gap */
#da-life .wf-ecs__inner {
  width: min(1248px, calc(100% - 192px));
}

@media (max-width: 1100px) {
  #steps .wf-ecs__grid {
    row-gap: 24px;
  }
}

@media (max-width: 900px) {
  #da-life .wf-ecs__inner {
    width: calc(100% - 48px);
  }
}

/* 2026-11-04: payments paused (wf_pay_paused), the button stays visible and does nothing */
.wf-donate__submit:disabled,
.wf-pay__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* 2026-11-04: research-structure cards grow with long translations: the text stays under the title, the photos stay at the bottom, inside the card */
@media (min-width: 1248px) {
  .research-structure-card {
    height: auto;
    min-height: 601px;
  }

  .research-structure-card p {
    margin-bottom: auto;
  }

  .research-structure-card img {
    flex-shrink: 0;
    margin-top: 24px;
  }
}
