/* Partner Program — /partner-program/  (.p-partner-program)
   Redesigned in the x3 language (2026-07-21): tracked sans kickers, big
   display type, dark/bright rhythm, hairline columns, aurora surfaces.
   Sections: bright split hero + count-up proof strip (the shared .sp-hero,
   components/split-hero.css — the page-owned .pp-hero twin retired in the
   2026-07-28 unification) · bright why-partner statement + hairline
   benefits · dark track cards · bright hairline quotes · greyscale-hover
   partner grid · aurora CTA card. */

.p-partner-program {
  background: var(--color-background);
  color: var(--color-foreground);
}

/* kickers: tracked brand sans, sentence case (never monospace, never caps) */
.p-partner-program .pp-label {
  font-family: var(--font-sans);
  font-size: var(--fs-kicker);
  letter-spacing: var(--track-wide);
}
.p-partner-program .pp-label--dark { color: rgba(255, 255, 255, 0.55); }
.p-partner-program .pp-label--light { color: var(--color-kicker-on-white); }

/* shared section shells */
.p-partner-program .pp-why__inner,
.p-partner-program .pp-tracks__inner,
.p-partner-program .pp-quotes__inner,
.p-partner-program .pp-partners__inner,
.p-partner-program .pp-join__inner {
  margin-inline: auto;
  width: 100%;
  max-width: var(--container-large);
  padding: var(--space-section-sm) var(--space-inline);
}
@media (min-width: 768px) {
  .p-partner-program .pp-why__inner,
  .p-partner-program .pp-tracks__inner,
  .p-partner-program .pp-quotes__inner,
  .p-partner-program .pp-partners__inner {
    padding-block: var(--space-section);
  }
}
@media (min-width: 1024px) {
  .p-partner-program .pp-why__inner,
  .p-partner-program .pp-tracks__inner,
  .p-partner-program .pp-quotes__inner,
  .p-partner-program .pp-partners__inner,
  .p-partner-program .pp-join__inner {
    padding-inline: 32px;
  }
}

/* ---------- hero: the shared bright split hero — components/
   split-hero.css (.sp-hero via SplitHero.astro; the page-owned .pp-hero
   twin retired in the 2026-07-28 unification) ---------- */

/* ---------- why partner (bright statement + hairline benefits) ---------- */
.p-partner-program .pp-why {
  background: var(--color-background);
  color: var(--color-foreground);
}
.p-partner-program .pp-why__headrow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-top: 24px;
}
@media (min-width: 1024px) {
  .p-partner-program .pp-why__headrow {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 72px;
    align-items: start;
  }
}
.p-partner-program .pp-why__title {
  /* 34ch holds the statement to 3 even lines (Sofia, 2026-08-07) */
  max-width: 34ch;
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--track-tighter);
  font-size: 24px;
  line-height: 1.18;
  color: var(--color-black);
  text-wrap: balance;
}
@media (min-width: 640px) { .p-partner-program .pp-why__title { font-size: 29px; } }
@media (min-width: 1280px) { .p-partner-program .pp-why__title { font-size: 33px; } }
.p-partner-program .pp-why__body {
  max-width: 52ch;
  font-size: var(--fs-body);
  line-height: var(--leading-body);
  color: var(--color-grey-on-white);
}

/* hairline benefit columns (shared by why-partner and the join section) */
.p-partner-program .pp-benefits {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 64px;
}
@media (min-width: 640px) {
  .p-partner-program .pp-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .p-partner-program .pp-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* benefits are CARDS now (Sofia, 2026-08-06: numbers removed) — the
   industry-pressures recipe: white plate, hairline, blue-100 icon chip */
.p-partner-program .pp-benefit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  background: var(--color-white);
}
.p-partner-program .pp-benefit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--color-blue-100);
  color: var(--color-blue);
}
.p-partner-program .pp-benefit__icon svg { width: 20px; height: 20px; }
.p-partner-program .pp-benefit__title {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--track-tight);
  font-size: var(--fs-xl);
  line-height: 1.25;
  color: var(--color-black);
}
.p-partner-program .pp-benefit__body {
  margin-top: -4px;
  max-width: 40ch;
  font-size: var(--fs-sm);
  line-height: 1.55;
  color: var(--color-grey-on-white);
}

/* ---------- partner tracks (dark band, three cards) ---------- */
.p-partner-program .pp-tracks {
  background:
    radial-gradient(80% 60% at 88% 0%, color-mix(in oklab, var(--color-x3-blue-deep) 30%, transparent), transparent 62%),
    var(--color-black);
  color: var(--color-white);
}
.p-partner-program .pp-tracks__headrow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 24px;
}
@media (min-width: 1024px) {
  .p-partner-program .pp-tracks__headrow {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 72px;
    align-items: end;
  }
}
.p-partner-program .pp-tracks__title {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--track-tighter);
  font-size: 28px;
  line-height: 1.05;
}
@media (min-width: 640px) { .p-partner-program .pp-tracks__title { font-size: 36px; } }
.p-partner-program .pp-tracks__sub {
  max-width: 52ch;
  font-size: var(--fs-body);
  line-height: var(--leading-body);
  color: rgba(255, 255, 255, 0.65);
}
@media (min-width: 1024px) { .p-partner-program .pp-tracks__sub { justify-self: end; text-align: right; } }
.p-partner-program .pp-tracks__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 48px;
}
@media (min-width: 900px) {
  .p-partner-program .pp-tracks__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
.p-partner-program .pp-track {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 0.25s ease, background-color 0.25s ease;
}
.p-partner-program .pp-track:hover {
  border-color: rgba(255, 255, 255, 0.26);
  background: rgba(255, 255, 255, 0.05);
}
.p-partner-program .pp-track__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-partner-program .pp-track__iconbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
}
.p-partner-program .pp-track__icon {
  width: 19px;
  height: 19px;
  color: var(--color-blue-200);
}
.p-partner-program .pp-track__num { color: rgba(255, 255, 255, 0.4); }
.p-partner-program .pp-track__name {
  margin-top: 24px;
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--track-tight);
  font-size: 23px;
  line-height: 1.15;
}
.p-partner-program .pp-track__icp {
  margin-top: 10px;
  font-size: var(--fs-xs);
  letter-spacing: var(--track-wide);
  line-height: 1.55;
  color: var(--color-blue-200);
}
.p-partner-program .pp-track__body {
  margin-top: 14px;
  font-size: var(--fs-sm);
  line-height: var(--leading-body);
  color: rgba(255, 255, 255, 0.65);
}
.p-partner-program .pp-track__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 24px;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-white);
}
.p-partner-program .pp-track__cta:hover { text-decoration: underline; }

/* ---------- quotes (bright hairline figures) ---------- */
.p-partner-program .pp-quotes {
  background: var(--color-background);
  border-top: 1px solid var(--color-border-light);
}
.p-partner-program .pp-quotes__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px 64px;
  margin-top: 40px;
}
@media (min-width: 900px) {
  .p-partner-program .pp-quotes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.p-partner-program .pp-quote {
  border-top: 1px solid var(--color-grey-200);
  padding-top: 28px;
}
.p-partner-program .pp-quote__logo {
  height: 26px;
  width: auto;
  object-fit: contain;
}
.p-partner-program .pp-quote__text {
  margin-top: 22px;
  max-width: 56ch;
  font-size: var(--fs-xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--track-tight);
  color: var(--color-black);
  text-wrap: pretty;
}
@media (min-width: 768px) { .p-partner-program .pp-quote__text { font-size: var(--fs-2xl); } }
.p-partner-program .pp-quote__attr {
  margin-top: 18px;
  color: var(--color-grey-on-white);
}

/* ---------- partners grid (greyscale logos, color on hover) ---------- */
.p-partner-program .pp-partners { background: var(--color-background); }
.p-partner-program .pp-partners__title {
  margin-top: 24px;
  /* 26ch broke the headline in three (Sofia, 2026-08-06: two lines) */
  max-width: 40ch;
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--track-tighter);
  font-size: 28px;
  line-height: 1.08;
  color: var(--color-black);
  text-wrap: pretty;
}
@media (min-width: 640px) { .p-partner-program .pp-partners__title { font-size: 36px; } }
.p-partner-program .pp-partners__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin-top: 48px;
}
@media (min-width: 640px) {
  .p-partner-program .pp-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .p-partner-program .pp-partners__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.p-partner-program .pp-partner {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 1px solid var(--color-grey-200);
  padding: 22px 0 26px;
  text-decoration: none;
}
.p-partner-program .pp-partner__logobox {
  display: flex;
  align-items: center;
  height: 34px;
}
/* logos render in their brand colors at rest (Sofia, 2026-08-06:
   "dont put the logos in grey" — the grayscale + dim treatment retired) */
.p-partner-program .pp-partner__logo {
  max-height: 30px;
  max-width: 128px;
  width: auto;
  object-fit: contain;
}
.p-partner-program .pp-partner__name {
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  letter-spacing: var(--track-wider);
  color: var(--color-grey-on-white);
  transition: color 0.25s ease;
}
.p-partner-program .pp-partner:hover .pp-partner__name { color: var(--color-black); }

/* ---------- join (hairline columns + aurora CTA card) ---------- */
.p-partner-program .pp-join { background: var(--color-background); }
.p-partner-program .pp-join__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 40px;
}
@media (min-width: 900px) {
  .p-partner-program .pp-join__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
