/* =====================================================================
   Partners — a simple, repeatable list of Key Women partners.
   Shares the site tokens / container widths (webflow.css) plus the
   site-base.css primitives. Hero matches the blog collection hero.
   ===================================================================== */

:root {
  --partner-ink: #181818;
  --partner-muted: #6f6f6f;
  --partner-frame-bg: #f4f0e9;
  --partner-frame-fg: #282828;
}

/* ---------- Hero (same as the blog hero) ---------- */
.partners-hero {
  background-color: var(--partner-ink);
  text-align: center;
  padding-top: 9.5rem;   /* fixed header (~3.5rem) + 6rem gap */
  padding-bottom: 6rem;
}
.partners-hero .heading-style-h1 {
  color: #fff;
}
.partners-hero__sub {
  margin: 1.25rem auto 0;
  max-width: 40rem;
  color: rgba(255, 255, 255, 0.72);
  font-family: Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}

/* ---------- Partner list ---------- */
.partners-list-section {
  /* rows are full-bleed 50/50 panels — no section padding */
  padding: 0;
}
.partners-list {
  display: flex;
  flex-direction: column;
}

/* one partner: edge-to-edge image panel on the left, text on the right */
.partner-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 40rem;
}
.partner-row + .partner-row {
  border-top: 1px solid #e6e2db;
}

/* ----- left: image panel with centred logo ----- */
.partner-row__media {
  position: relative;
  overflow: hidden;
  /* solid beige sits underneath, revealed on hover */
  background-color: var(--partner-frame-bg);
}
/* background photo */
.partner-row__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--partner-media-image);
  background-size: cover;
  background-position: center;
  transition: opacity 0.5s ease;
}
/* 50% black overlay */
.partner-row__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.5s ease;
}
.partner-row__logos {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.partner-row__logo {
  position: absolute;
  width: 42%;
  max-width: 15rem;
  transition: opacity 0.5s ease;
}
.partner-row__logo svg {
  display: block;
  width: 100%;
  height: auto;
}
.partner-row__logo--light {
  color: #fff;
  fill: #fff;
  opacity: 1;
}
.partner-row__logo--dark {
  color: var(--partner-frame-fg);
  fill: var(--partner-frame-fg);
  opacity: 0;
}
/* desktop hover: photo + overlay fade out to beige, logo swaps light -> dark */
@media (hover: hover) and (pointer: fine) {
  .partner-row__media:hover::before,
  .partner-row__media:hover::after {
    opacity: 0;
  }
  .partner-row__media:hover .partner-row__logo--light {
    opacity: 0;
  }
  .partner-row__media:hover .partner-row__logo--dark {
    opacity: 1;
  }
}
/* touch: tap toggles the same state via .is-flipped (added by JS) */
.partner-row__media.is-flipped::before,
.partner-row__media.is-flipped::after {
  opacity: 0;
}
.partner-row__media.is-flipped .partner-row__logo--light {
  opacity: 0;
}
.partner-row__media.is-flipped .partner-row__logo--dark {
  opacity: 1;
}

/* ----- right: text, left-aligned, vertically centred ----- */
.partner-row__content {
  display: flex;
  align-items: center;
  padding: 4rem 5rem 4rem calc(5rem + 30px);
}
.partner-row__content-inner {
  width: 100%;
  max-width: 34rem;
}
.partner-row__name {
  color: var(--partner-ink);
  margin: 0 0 0.85rem;
}
.partner-row__tagline {
  margin: 0 0 2rem;
  font-family: Inter, sans-serif;
  font-size: 1.15rem;
  line-height: 1.4;
  color: var(--partner-muted);
}
.partner-row__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.partner-row__list li {
  position: relative;
  padding-left: 1.6rem;
  font-family: Inter, sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #262626;
}
.partner-row__list li + li {
  margin-top: 0.9rem;
}
.partner-row__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  background-color: var(--partner-ink);
  border-radius: 50%;
}
.partner-row__btn {
  margin-top: 2.25rem;
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 991px) {
  .partner-row {
    min-height: 34rem;
  }
  .partner-row__content {
    padding: 3.5rem 3rem 3.5rem calc(3rem + 30px);
  }
}
@media screen and (max-width: 767px) {
  .partners-hero {
    padding-top: 7rem;
    padding-bottom: 4rem;
  }
  .partner-row {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .partner-row__media {
    min-height: 20rem;
  }
  .partner-row__logo {
    width: 55%;
    max-width: 12rem;
  }
  .partner-row__content {
    padding: 3rem 1.5rem;
  }
  .partner-row__content-inner {
    max-width: none;
  }
  .partner-row__name {
    margin-bottom: 0.6rem;
  }
  .partner-row__tagline {
    font-size: 1.05rem;
    margin-bottom: 1.6rem;
  }
  .partner-row__list li {
    font-size: 1rem;
  }
}
