/* Breadcrumbs — hero (поверх featured image) */
.gender-hero-wrap {
  position: relative;
}

.gender-hero-wrap .gender-breadcrumbs {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.35);
  border-bottom: none;
  z-index: 2;
}

.gender-hero-wrap .gender-bc__link,
.gender-hero-wrap .gender-bc__sep,
.gender-hero-wrap .gender-bc__current {
  color: #fff;
}

.gender-hero-wrap .gender-bc__link:hover {
  color: #fff;
  opacity: 0.8;
}

/* Breadcrumbs */
.gender-breadcrumbs {
  background: #fff;
}

.gender-bc__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 auto;
  padding: 10px 0;
  font-size: 0.875rem;
  color: var(--wp--preset--color--primary, #f05023);
}

.gender-bc__link {
  color: var(--wp--preset--color--primary, #f05023);
  text-decoration: none;
  font-style: italic;
}

.gender-bc__link:hover,
.gender-bc__link:active {
  text-decoration: underline;
}

.gender-bc__sep {
  color: var(--wp--preset--color--primary, #f05023);
  font-size: 0.7em;
  line-height: 1;
}

.gender-bc__current {
  color: var(--wp--preset--color--primary, #f05023);
  font-style: italic;
}

/* Buttons — prevent Cyrillic uppercase text from being clipped in narrow flex columns */
.wp-block-button__link {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
  text-align: center;
}

.wp-block-buttons .wp-block-button:not([class*="__width-"]) {
  min-width: max-content;
}

/* Social Links */
.wp-block-social-links .wp-block-social-link > *::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  mask-image: url('../icons/social/linkedin.svg');
  background-color: var(--wp--preset--color--contrast);
  background-size: contain;
  background-repeat: no-repeat;
  transition: background-color .2s ease;
}

/* Social Icon Styles for Paragraphs */
.social-icon {
  position: relative;
  padding-left: 100px;
  margin-bottom: 10px;
}

.social-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: var(--wp--preset--color--contrast);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

.wp-block-social-links .wp-social-link-linkedin > *::before, .social-linkedin::before {
  mask-image: url('../icons/social/linkedin.svg');
}

.wp-block-social-links .wp-social-link-facebook > *::before, .social-facebook::before {
  mask-image: url('../icons/social/facebook.svg');
}

.wp-block-social-links .wp-social-link-instagram > *::before, .social-instagram::before {
  mask-image: url('../icons/social/instagram.svg');
}

.wp-block-social-links .wp-social-link-youtube > *::before, .social-youtube::before {
  mask-image: url('../icons/social/youtube.svg');
}

.wp-block-social-links .wp-social-link-tiktok > *::before, .social-tiktok::before {
  mask-image: url('../icons/social/tiktok.svg');
}

.wp-block-social-links .wp-social-link-threads > *::before, .social-threads::before {
  mask-image: url('../icons/social/threads.svg');
}

.wp-block-social-links .wp-social-link-telegram > *::before, .social-telegram::before {
  mask-image: url('../icons/social/telegram.svg');
}

.wp-block-social-links .wp-social-link svg {
  display: none !important;
}

/* Actions */
.wp-block-social-links .wp-block-social-link > *:hover::before,
.wp-block-social-links .wp-block-social-link > *:active::before {
  background-color: var(--wp--preset--color--primary);
}

/* Language Switcher */
.gender-lang-switcher {
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: inherit;
  display: inline-block;
}

.gender-lang-switcher__link {
  color: var(--active-link-color, #000);
  text-decoration: none;
  cursor: pointer;
  font-weight: 700;
  width: 50px;
  display: inline-block;
  height: 32px;
  text-align: left;
  text-transform: uppercase;
}

.mobile .gender-lang-switcher {
  float: right;
}

.mobile .gender-lang-switcher__link {
  font-size: 16px;
  width: auto;
}

.gender-lang-switcher__link:hover,
.gender-lang-switcher__link:active {
  color: var(--link-color, #F05023);
  transition: color .2s ease;
}

.gender-lang-switcher__link.is-active {
  color: var(--link-color, #F05023);
  cursor: default;
  text-decoration: none;
}

/* Override for mobile-nav popup: white labels + bolder weight,
   primary colour stays for hover / active state. */
#gender-popup-mobile-nav .gender-lang-switcher__link {
  color: #fff;
  font-weight: 700;
}

#gender-popup-mobile-nav .gender-lang-switcher__link:hover,
#gender-popup-mobile-nav .gender-lang-switcher__link:active,
#gender-popup-mobile-nav .gender-lang-switcher__link.is-active {
  color: var(--wp--preset--color--primary);
}

body,
body.wp-admin :where(.editor-styles-wrapper) {
  color: var(--wp--preset--color--contrast);
}

/*
 * Partners marquee — seamless infinite scroll.
 * The track holds several identical copies of the partner set (rendered in
 * render.php). We shift it by EXACTLY one set width, then the next identical
 * set is already in place, so the loop is seamless (no jump, no empty gap).
 *
 * One set width (in % of the track's own box) = number of partners (--n)
 * times the per-partner slot width (--per = image slot + divider slot).
 * --per changes per breakpoint because the slot utilities do (w-1/4 → 1/6 → 1/8).
 */
.slider {
  --per: 50%; /* mobile: w-1/4 image + w-1/4 divider */
  animation: slide 20s linear infinite;
  /* iOS/Safari hardening: keep the track on its own compositor layer so
     long-running transform animations don't drop frames or blank out. */
  will-change: transform;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@keyframes slide {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-1 * var(--n, 8) * var(--per))); }
}

@media screen and (min-width: 768px) {
  .slider {
    --per: 33.3333%; /* md: w-1/6 image + w-1/6 divider */
    animation: slide 30s linear infinite;
  }
}

@media screen and (min-width: 1024px) {
  .slider {
    --per: 25%; /* lg/xl: w-1/8 image + w-1/8 divider */
    animation: slide 40s linear infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .slider {
    animation: none;
    transform: none;
  }
}

/* header menu */
header .gender-xl-menu {
  min-height: 32px;
}

header .logo * {
  height: 100%;
}

/* Mobile navigation primary menu links */
.mobile-nav-link {
  text-decoration: none;
  color: var(--wp--preset--color--base);
  border-bottom: 2px solid var(--wp--preset--color--base);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.mobile-nav-link:hover,
.mobile-nav-link:active,
.mobile-nav-link.is-current {
  color: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}

.mobile-nav-link .menu-arrow {
  transition: transform 0.2s ease;
}

.mobile-nav-link:hover .menu-arrow:not(.menu-arrow--open) {
  transform: rotate(90deg);
}

.mobile-nav-link .menu-arrow.menu-arrow--open {
  transform: rotate(180deg);
}

.pm-nav .wp-block-navigation__container{
  display:flex;
  flex-wrap:wrap;
  width:100%;
}

.pm-nav .wp-block-navigation-item > a {
  display:block;
  text-align:center;
  padding:7px 16px;
  text-decoration:none;
  color:#fff;
  transition:background-color .2s ease, background-image .2s ease;
}

.pm-nav .wp-block-navigation-item > a:hover,
.pm-nav .wp-block-navigation-item > a:active {
  background:#f97316;
  background-image:none;
}

.pm-nav .wp-block-navigation-item.current-menu-item > a,
.pm-nav .wp-block-navigation-item.current-menu-ancestor > a,
.pm-nav .wp-block-navigation-item > a[aria-current="page"],
.pm-nav .wp-block-navigation-item.is-current > a {
  background-image:linear-gradient(to right,#ef4444,#f97316,#4f46e5);
  color:#fff;
}

/* TODO: should be moved to blocks/xx.css with new-article-section */
/* common */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  overflow-x: hidden;
}

/* WPFront Scroll Top (3rd party plugin) — restyle to brand gradient circle */
#wpfront-scroll-top-container {
  background: linear-gradient(
    90deg,
    #e04f3f 0%,
    #8e2c92 25%,
    #1d17c4 50%,
    #8e2c92 75%,
    #e04f3f 100%
  ) !important;
  background-size: 300% 100% !important;
  border: none !important;
  border-radius: 9999px !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  pointer-events: none;
  transition: opacity 0.45s ease;
  animation:
    gender-scroll-top-bob 2.6s ease-in-out infinite,
    gender-scroll-top-shimmer 6s linear infinite;
  will-change: transform, background-position;
}

/* Visible only after scrolling past the offset; the plugin toggles .show */
#wpfront-scroll-top-container.show {
  pointer-events: auto;
}

@keyframes gender-scroll-top-bob {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

@keyframes gender-scroll-top-shimmer {
  0%   { background-position:   0% 50%; }
  100% { background-position: 200% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  #wpfront-scroll-top-container {
    animation: none;
  }
}

#wpfront-scroll-top-container img {
  display: none !important;
}

#wpfront-scroll-top-container::before {
  content: "";
  width: 22px;
  height: 22px;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.293 14.707l1.414 1.414L12 10.828l5.293 5.293 1.414-1.414L12 8z' fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.293 14.707l1.414 1.414L12 10.828l5.293 5.293 1.414-1.414L12 8z' fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}

.main-button,
.main-button-link {
  padding: 0.75rem 2rem;
  border-radius: 30px;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
  cursor: pointer;
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.75rem;
  text-align: center;
  text-transform: uppercase;
  transition: background .3s ease-in-out;
}

.main-button:focus,
.main-button-link:focus {
  outline-color: var(--wp--preset--color--purple);
  outline-offset: 2px;
  outline-style: solid;
}

.main-button:hover,
.main-button-link:hover {
  background-color: var(--wp--preset--color--primary);
  border-color: transparent;
}

.main-button-link {
  display: block;
  text-decoration: none;
}

.link {
  text-decoration: none;
  transition: color .3s ease-in-out;
}

.link:hover,
.link:active {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}

.break-words {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}

.section-heading {
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 400;
  text-transform: uppercase;
}

.gradient-border-bottom {
  position: relative;
}

.gradient-border-bottom::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
}

.arrow-list {
  display: grid;
  gap: 16px;
}

.arrow-list .list-item {
  padding: 4px 100px 4px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;

  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
}

.arrow-list .list-item .icon {
  transition: transform .2s ease-in-out;
}

.arrow-list .list-item:hover .icon {
  transform: rotate(-45deg);
}

.solid-border-bottom {
  position: relative;
}

.solid-border-bottom::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -16px;
  right: -16px;
  height: 2px;
}

.solid-border-bottom.color-white::after {
  background: var(--wp--preset--color--base);
}

.solid-border-bottom.color-black::after {
  background: var(--wp--preset--color--contrast);
}

.search-input {
  display: flex;
  align-items: stretch;
  border: 2px solid #000;
  border-radius: 100px;
  overflow: hidden;
}

.search-input input {
  flex: 1;
  padding: 8px 16px;
  border: none;
  font-size: 16px;
  line-height: 1;
}

.search-input button {
  background: none;
  border: none;
  font-size: 18px;
  padding: 0 14px;
  cursor: pointer;
}

.swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper .swiper-controls .swiper-button {
  margin-top: unset;
  height: fit-content;
  position: initial;
  transition: transform .2s ease-in-out;
}

.swiper .swiper-controls .swiper-button::after {
  content: none;     /* kill default pseudo-element arrows */
}

.swiper .swiper-controls .swiper-button:hover {
  transform: scale(1.1);
}

.swiper .swiper-controls .swiper-pagination {
  width: max-content;
  display: flex;
  align-items: center;
  position: initial;
  gap: 10px;
}

@media (min-width: 48rem) {
  .swiper .swiper-controls .swiper-pagination {
    gap: 40px;
  }
}

.swiper .swiper-controls .swiper-pagination-bullet {
  height: 13px;
  width: 13px;
  background-color: var(--wp--preset--color--contrast);
  opacity: 1;
}

.swiper .swiper-controls .swiper-pagination-bullet-active {
  background-color: var(--wp--preset--color--primary);
}

@media (min-width: 768px) {
  .section-heading {
    font-size: 40px;
  }

  .arrow-list {
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
  }

  .arrow-list .list-item {
    padding: 12px 0;
    font-size: 20px;
  }

  .solid-border-bottom::after {
    left: 0;
    right: 0;
  }

  .swiper-slide {
    padding: 0;
  }
}

@media (min-width: 1280px) {
  .section-heading {
    font-size: 64px;
  }

  .arrow-list {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .arrow-list .list-item {
    font-size: 24px;
  }

  .solid-border-bottom.xl-border-right::after {
    right: -144px;
  }

  .solid-border-bottom.xl-border-left::after {
    left: -144px;
  }

  .search-input input {
    padding: 8px 24px;
    font-size: 20px;
  }
}

/* new-article-section */
.new-article-section {
  margin: 32px auto;
}

.new-article-section address {
  font-style: normal;
}

.new-article-section .article-card-with-image h3 {
  font-size: 1.25rem;
  line-height: 1.25;
  font-weight: 900;
}

.new-article-section .article-card-with-image figure {
  background-color: var(--wp--preset--color--highlight);
}

.new-article-section .article-card h4 {
  font-size: 1rem;
  font-weight: 900;
}

.new-article-section .article-card .chip {
  background-clip: text;
  background: linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
  color: transparent;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 768px) {
  .new-article-section .main-button-link {
    display: none;
  }
}

@media (min-width: 1280px) {
  .new-article-section {
    margin: 48px auto;
  }
  .article-card-with-image h3 {
    font-size: 1.5rem;
  }
  .article-card h4 {
    font-size: 1.25rem;
  }
  .link-list-with-border .gradient-border-bottom::after {
    right: -144px;
  }
}

/* four-cards-section */
.four-cards-section {
  margin: 32px auto;
  background-color: var(--wp--preset--color--base);
}

.four-cards-section .card-title {
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 32px;
  line-height: 1.25;
  font-weight: 700;
}

/* Stretched link: entire card is clickable, anchors to its section */
.four-cards-section article .main-button-link::after {
  content: '';
  position: absolute;
  inset: 0;
}

@media (min-width: 1280px) {
  .four-cards-section {
    margin: 48px auto;
  }
}

@media (min-width: 1024px) {
  .four-cards-section .card-title {
    font-size: 28px;
  }
}

/* quote-section */
.quote-section {
  margin: 32px auto;
}

@media (min-width: 1280px) {
  .quote-section {
    margin: 48px auto;
  }
}

/* top-ten-section */
.top-ten-section {
  margin: 32px auto;
}

.top-ten-section figure {
  margin-bottom: 0;
  height: 135px;
  background-color: var(--wp--preset--color--primary);
}

.top-ten-section .gradient-number {
  flex: 0 0 auto;
  background-clip: text;
  background: linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
  color: transparent;
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 768px) {
  .top-ten-section figure {
    height: 241px;
  }
  .top-ten-section .gradient-border-bottom::after {
    right: -32px;
  }
}

@media (min-width: 1280px) {
  .top-ten-section {
    margin: 48px auto;
  }

  .top-ten-section figure {
    height: 369px;
  }

  .top-ten-section .gradient-border-bottom::after {
    right: -144px;
  }
}

/* values-section */
.values-section {
  margin: 32px auto;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
}

@media (min-width: 768px) {
  .values-section {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    justify-content: space-between;
    gap: 122px;
  }
}

@media (min-width: 1280px) {
  .values-section {
    margin: 48px auto;
  }
}
/* research-section */
.research-section {
  margin: 32px auto;
  position: relative;
  isolation: isolate;
}

.research-section .decoration {
  width: 100%;
  position: absolute;
  right: 0;
  left: 0;
  z-index: -1;
}

.research-section .decoration-top {
  top: 0;
}

.research-section .decoration-bottom {
  bottom: 0;
}

.research-section .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.research-section .research-dates {
  padding: 4px 0 10px;
  width: 173px;
  position: relative;
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 16px;
  line-height: 1;
  text-transform: uppercase;
}

.research-section .research-dates::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -16px;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
}

.research-section .research-item {
  position: relative;
}

/* Stretched link: whole .research-item is clickable via the title link. */
.research-section .research-item .title .link::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}

.research-section .research-item:hover .title .link {
  text-decoration: underline;
}

.research-section .research-item .title {
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
}

.research-section .research-item .footer-text {
  font-size: 12px;
}

@media (min-width: 768px) {
  .research-section .research-dates {
    width: max-content;
    font-size: 24px;
  }

  .research-section .research-dates::after {
    left: -32px;
  }

  .research-section .grid {
    grid-template-columns: 156px 1fr;
    align-items: start;
    gap: 104px;
  }
}

@media (min-width: 1280px) {
  .research-section {
    margin: 48px auto;
  }

  .research-section .research-dates {
    padding: 4px 0 14px;
    font-size: 32px;
  }

  .research-section .research-dates::after {
    height: 10px;
    left: -30vw;
  }

  .research-section .grid {
    grid-template-columns: 200px 1fr;
  }

  .research-section .research-item .title {
    font-size: 24px;
  }

  .research-section .research-item .footer-text {
    font-size: 20px;
  }
}

/* community-section */
.community-section {
  margin: 32px auto;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
}

.community-section .section-heading {
  position: relative;
}

.community-section .section-heading-decoration {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
}

.community-section .image-with-bubble {
  margin-bottom: 0;
  padding-top: 144px;
  width: fit-content;
  position: relative;
}

.community-section .speech-bubble {
  margin-bottom: 40px;
  padding: 16px 16px 16px 24px;
  min-height: 104px;
  width: 267px;
  position: absolute;
  top: 0;
  right: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;

  background-color: var(--wp--preset--color--highlight);
  color: var(--wp--preset--color--contrast);
}

.community-section .speech-bubble .text {
  font-size: 16px;
  line-height: 1.2;
  text-transform: uppercase;
}

.community-section .speech-bubble-arrow {
  height: 40px;
  width: 40px;
  position: absolute;
  bottom: -39px;
  left: 48px;

  aspect-ratio: 1;
  background-color: var(--wp--preset--color--highlight);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}

@media (min-width: 768px) {
  .community-section .speech-bubble {
    margin-bottom: 56px;
    padding-left: 62px;
    min-height: 148px;
    width: 418px;
    right: -100%;
  }

  .community-section .speech-bubble .text {
    font-size: 24px;
  }

  .community-section .image-with-bubble {
    padding-top: 60px;
  }

  .community-section .speech-bubble-arrow {
    height: 56px;
    width: 160px;
    left: 16px;
    bottom: -55px;
    clip-path: polygon(100% 0, 21% 0, 0 100%);
  }
}

@media (min-width: 1280px) {
  .community-section .speech-bubble {
    margin-bottom: 92px;
    padding: 20px 20px 20px 98px;
    min-height: 236px;
    width: 660px;
    top: -12%;
  }

  .community-section .speech-bubble .text {
    font-size: 40px;
  }

  .community-section .speech-bubble-arrow {
    height: 92px;
    width: 272px;
    left: 24px;
    bottom: -91px;
    clip-path: polygon(100% 0, 28% 0, 0 100%);
  }
}

/* consulting-section */
.consulting-section {
  margin: 32px auto;
}

.consulting-section .image-with-bubble {
  margin-bottom: 0;
  padding: 84px 0 66px;
  width: fit-content;
  position: relative;
}

.consulting-section .speech-bubble {
  padding: 16px 16px 16px 24px;
  min-height: 104px;
  width: 267px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: absolute;
}

.consulting-section .speech-bubble.top {
  margin-bottom: 40px;
  top: 0;
  left: 0;

  background-color: var(--wp--preset--color--highlight);
  color: var(--wp--preset--color--contrast);
}

.consulting-section .speech-bubble.bottom {
  margin-top: 40px;
  bottom: 0;
  left: 0;

  background-color: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
  border: 2px solid var(--wp--preset--color--contrast);
}

.consulting-section .speech-bubble .text {
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 16px;
  line-height: 1.2;
  text-transform: uppercase;
}

.consulting-section .speech-bubble-arrow {
  position: absolute;
}

.consulting-section .speech-bubble.top .speech-bubble-arrow {
  height: 40px;
  width: 100px;
  bottom: -39px;
  right: 12px;
  background-color: var(--wp--preset--color--highlight);
  clip-path: polygon(80% 0, 0 0, 100% 100%);
}

.consulting-section .speech-bubble.bottom .speech-bubble-arrow {
  height: 40px;
  width: 100px;
  top: -39px;
  right: 2px;
  background-color: var(--wp--preset--color--base);
  clip-path: polygon(100% 0, 0 100%, 80% 100%);
}

.consulting-section .speech-bubble.bottom .speech-bubble-arrow-border {
  height: 40px;
  width: 102px;
  position: absolute;
  top: -41px;
  right: 0;

  background-color: var(--wp--preset--color--contrast);
  clip-path: polygon(100% 0, 0 100%, 82% 100%);
}

@media (min-width: 768px) {
  .consulting-section .image-with-bubble {
    padding: 0 0 40px;
  }

  .consulting-section .speech-bubble {
    padding-left: 36px;
    min-height: 122px;
    width: 332px;
  }

  .consulting-section .speech-bubble .text {
    font-size: 20px;
  }

  .consulting-section .speech-bubble.top {
    top: 6%;
    left: -85%;
  }

  .consulting-section .speech-bubble.bottom {
    left: -82%;
  }
}

@media (min-width: 1280px) {
  .consulting-section {
    margin: 48px auto;
  }

  .consulting-section .image-with-bubble {
    padding-bottom: 100px;
  }

  .consulting-section .speech-bubble {
    padding: 20px 20px 20px 40px;
    min-height: 140px;
    width: 465px;
  }

  .consulting-section .speech-bubble.top {
    top: 4%;
    left: -440px;
  }

  .consulting-section .speech-bubble.bottom {
    left: unset;
    right: 0;
  }

  .consulting-section .speech-bubble .text {
    font-size: 24px;
  }

  .consulting-section .speech-bubble.top .speech-bubble-arrow {
    height: 72px;
    width: 160px;
    bottom: -71px;
    right: 12px;
  }

  .consulting-section .speech-bubble.bottom .speech-bubble-arrow {
    height: 68px;
    width: 160px;
    top: -67px;
    left: 4px;
    clip-path: polygon(0% 0, 20% 100%, 100% 100%);
  }

  .consulting-section .speech-bubble.bottom .speech-bubble-arrow-border {
    height: 70px;
    width: 162px;
    position: absolute;
    top: -72px;
    left: 0;
    clip-path: polygon(0% 0, 19% 100%, 100% 100%);
  }
}

/* fem-column-section */
.fem-column-section {
  margin: 32px auto;
}

.fem-column-section .card {
  padding: 8px 12px 0;
  max-width: 361px;
  height: 100%;

  background-color: var(--wp--preset--color--base);
  border: 2px solid var(--wp--preset--color--contrast);
}

.fem-column-section .card-title {
  padding: 24px;
  font-size: 24px;
}

.fem-column-section .swiper-slide {
  padding: 0 16px;
  height: unset;
}

.fem-column-section .swiper-controls .swiper-pagination-bullet-active {
  background-color: var(--wp--preset--color--secondary);
}

@media (min-width: 768px) {
  .fem-column-section .card {
    max-width: 331px;
    border-width: 3px;
  }

  .fem-column-section .card-title {
    font-size: 20px;
  }
}

@media (min-width: 1280px) {
  .fem-column-section {
    margin: 48px auto;
  }

  .fem-column-section .card {
    max-width: 365px;
  }
}

/* editor-choice-section */
.editor-choice-section {
  margin: 32px auto;
}

.editor-choice-section .section-heading {
  color: var(--wp--preset--color--base);
}

.editor-choice-section .section-heading .link:hover,
.editor-choice-section .section-heading .link:active {
  color: var(--wp--preset--color--contrast);
}

.editor-choice-section .section-heading::after {
  content: "";
  height: 472px;

  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;

  /* TODO: investigate */
  /* On home page give orange background for header */
  /* background-color: var(--wp--preset--color--primary); */
}

.editor-choice-section .article-card-with-image-tall {
  max-width: 344px;
  height: 100%;

  background-color: var(--wp--preset--color--base);
  border: 3px solid var(--wp--preset--color--base);
}

.editor-choice-section .article-card-with-image-tall figure {
  margin-bottom: 0;
}

.editor-choice-section .article-card-with-image-tall .title {
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}

.editor-choice-section .article-card-with-image-tall .author {
  font-size: 12px;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  text-align: center;
}

.editor-choice-section .swiper-controls .swiper-pagination-bullet-active {
  background-color: var(--wp--preset--color--primary);
}

@media (min-width: 768px) {
  .editor-choice-section .section-heading::after {
    height: 416px;
  }

  .editor-choice-section .article-card-with-image-tall {
    max-width: 506px;
  }

  .editor-choice-section .article-card-with-image-tall .title {
    text-align: left;
  }

  .editor-choice-section .article-card-with-image-tall .author {
    text-align: left;
  }
}

@media (min-width: 1280px) {
  .editor-choice-section {
    margin: 48px auto;
  }

  .editor-choice-section .section-heading::after {
    height: 680px;
  }

  .editor-choice-section .article-card-with-image-tall {
    max-width: 756px;
  }

  .editor-choice-section .article-card-with-image-tall .title {
    font-size: 24px;
  }

  .editor-choice-section .article-card-with-image-tall .author {
    font-size: 16px;
  }
}

/* partners-section */
.partners-section {
  margin: 32px auto;
}

.partners-section .section-header {
  height: 136px;
  display: flex;
  align-items: center;
  gap: 16px;
  background-color: var(--wp--preset--color--highlight);
  overflow: hidden;
}

.partners-section .heading {
  font-family: var(--wp--preset--font-family--core-rhino);
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .partners-section .section-header {
    height: 150px;
  }
}

@media (min-width: 1024px) {
  .partners-section .section-header {
    height: 152px;
  }
}

@media (min-width: 1280px) {
  .partners-section {
    margin: 48px auto;
  }

  .partners-section .section-header {
    height: 152px;
  }

  .partners-section .heading {
    font-size: 40px;
  }
}

/* media-section */
.media-section {
  margin: 32px auto;
}

@media (min-width: 1280px) {
  .media-section {
    margin: 48px auto;
  }
}

/* gp-article-writers — inline author block on single post */
.gp-article-writers {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: var(--wp--preset--spacing--60, 2rem);
}

.gp-article-writers__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.gp-article-writers__avatar {
  flex: 0 0 auto;
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  text-decoration: none;
}

.gp-article-writers__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.gp-article-writers__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gp-article-writers__name {
  display: block;
  font-size: var(--wp--preset--font-size--x-small, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--wp--preset--color--contrast);
  transition: color 0.2s ease;
  line-height: 1.2;
}

.gp-article-writers__name:hover,
.gp-article-writers__name:active {
  color: var(--wp--preset--color--primary);
}

.gp-article-writers__bio {
  font-size: var(--wp--preset--font-size--x-small, 0.75rem);
  line-height: 1.5;
  color: var(--wp--preset--color--contrast);
}

.gp-article-writers__bio p {
  margin: 0;
}

@media (min-width: 768px) {
  .gp-article-writers__avatar {
    width: 56px;
    height: 56px;
  }

  .gp-article-writers__name {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
  }

  .gp-article-writers__bio {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
  }
}

/* Full-bleed colored background - extends infinitely to the left or right */
.gender-left-color-primary,
.gender-right-color-secondary,
.gender-right-color-highlight,
.gender-left-gradient-brand-gradient,
.gender-left-gradient-soft-pastel,
.is-style-left-gradient-brand,
.is-style-left-gradient-pastel {
  position: relative;
  display: flex;
  align-items: center;
  overflow: visible;
}

.gender-left-color-primary::before,
.gender-right-color-secondary::before,
.gender-right-color-highlight::before,
.gender-left-gradient-brand-gradient::before,
.gender-left-gradient-soft-pastel::before,
.is-style-left-gradient-brand::before,
.is-style-left-gradient-pastel::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

/* contentSize from theme.json = 1280px = var(--wp--style--global--content-size).
   Calculates exact distance from element edge to viewport edge. */

.gender-left-color-primary::before {
  left: calc(-1 * max(0px, (100vw - var(--wp--style--global--content-size)) / 2));
  background-color: var(--wp--preset--color--primary);
}

.gender-right-color-secondary::before {
  right: calc(-1 * max(0px, (100vw - var(--wp--style--global--content-size)) / 2));
  background-color: var(--wp--preset--color--secondary);
}

.gender-right-color-highlight::before {
  right: calc(-1 * max(0px, (100vw - var(--wp--style--global--content-size)) / 2));
  background-color: var(--wp--preset--color--highlight);
}

.gender-left-gradient-brand-gradient::before,
.is-style-left-gradient-brand::before {
  left: calc(-1 * max(0px, (100vw - var(--wp--style--global--content-size)) / 2));
  background: var(--wp--preset--gradient--brand-gradient);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.gender-left-gradient-soft-pastel::before,
.is-style-left-gradient-pastel::before {
  left: calc(-1 * max(0px, (100vw - var(--wp--style--global--content-size)) / 2));
  background: var(--wp--preset--gradient--soft-pastel);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* =========================================================================
 * Post share bar + meta row
 * Generated by gender-post-share / gender-post-modified mu-plugins.
 * ========================================================================= */

.gender-post-modified {
    color: var(--wp--preset--color--gray, #6b6b6b);
    font-size: 0.875rem;
}

.gender-post-modified__label {
    font-weight: 600;
}

/* Layout for the post meta row (breadcrumbs · date / share row). */
.gender-post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-block: var(--wp--preset--spacing--30, 1.5rem);
}

.gender-post-meta__right {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

/*
 * Copy-link entry inside core/social-links (is-style-logos-only).
 * Rendered as <li class="wp-social-link wp-social-link-copy"> by the
 * gender-post-share mu-plugin. The icon is drawn with the same
 * mask-image mechanism as the other social icons (share.svg), so it
 * inherits the base 24px size, contrast color and hover behaviour.
 */
.wp-block-social-links .wp-social-link-copy > *::before {
    mask-image: url('../icons/social/share.svg');
}

.wp-block-social-links .wp-social-link-copy .wp-block-social-link-anchor {
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    color: inherit;
    cursor: pointer;
    /* Match the <a> anchors of the other items: flex + zero line-height,
       otherwise the <button>'s default line-height adds a few extra px. */
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

/* Visual feedback after the permalink is copied to the clipboard. */
.wp-block-social-links .wp-social-link-copy.is-copied > *::before {
    background-color: var(--wp--preset--color--primary);
}

/* footer — department contact (email) links */
.gender-contact-link {
  color: var(--wp--preset--color--contrast);
  transition: color .2s ease;
}

.gender-contact-link:hover,
.gender-contact-link:active {
  color: var(--wp--preset--color--primary);
}

/* footer — terms of cooperation column */
.term-of-cooperation a {
  color: var(--wp--preset--color--secondary);
}

.term-of-cooperation a:hover,
.term-of-cooperation a:active {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}

/* footer — bottom dark-blue links */
.footer-bottom-links a:hover,
.footer-bottom-links a:active,
.footer-bottom-links [data-trigger]:hover,
.footer-bottom-links [data-trigger]:active {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}

/* Image with diagonal arrow (↘) in the bottom-right corner.
   Add "has-corner-white-arrow" or "has-corner-black-arrow" in the image
   block's Additional CSS class(es). Same icon as link-arrow block. */
.wp-block-image.has-corner-white-arrow,
.wp-block-image.has-corner-black-arrow {
  --corner-arrow-size: 28px;
  --corner-arrow-offset: 0.5rem;
  position: relative;
}

.wp-block-image.has-corner-white-arrow > a,
.wp-block-image.has-corner-white-arrow img,
.wp-block-image.has-corner-black-arrow > a,
.wp-block-image.has-corner-black-arrow img {
  display: block;
}

.wp-block-image.has-corner-white-arrow::after,
.wp-block-image.has-corner-black-arrow::after {
  content: "";
  position: absolute;
  right: var(--corner-arrow-offset);
  bottom: var(--corner-arrow-offset);
  width: var(--corner-arrow-size);
  height: var(--corner-arrow-size);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}

@media (max-width: 768px) {
  .wp-block-image.has-corner-white-arrow::after,
  .wp-block-image.has-corner-black-arrow::after {
    right: 0;
    bottom: 0;
    width: 20px;
    height: 20px;  
  }
}

.wp-block-image.has-corner-white-arrow::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7v10H7'/%3E%3C/svg%3E");
}

.wp-block-image.has-corner-black-arrow::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7v10H7'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  .wp-block-image.has-corner-white-arrow,
  .wp-block-image.has-corner-black-arrow {
    --corner-arrow-size: 32px;
    --corner-arrow-offset: 1rem;
  }
}
