/* Partners page. Scoped to .pmg-partners. */

.pmg-partners { background: #fff; }

.pmg-phero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #2d2340;
}
.pmg-phero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pmg-phero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, rgba(34, 28, 43, 0.82) 0%, rgba(34, 28, 43, 0.55) 48%, rgba(34, 28, 43, 0.28) 100%);
}
.pmg-phero-copy {
  position: relative;
  width: min(var(--pmg-container), calc(100% - 56px));
  margin: 0 auto;
  padding: 72px 0;
  max-width: 640px;
  margin-inline-start: auto;
  margin-inline-end: max(28px, calc((100% - var(--pmg-container)) / 2));
}
.pmg-phero h1 {
  margin: 0 0 16px;
  font: 700 clamp(34px, 4vw, 48px)/1.15 var(--pmg-font);
  letter-spacing: -0.02em;
}
.pmg-phero p { margin: 0 0 24px; font: 500 18px/1.65 var(--pmg-font); max-width: 540px; }
.pmg-phero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.pmg-phero .pmg-btn--ghost { background: rgba(255, 255, 255, 0.92); }

.pmg-section-pad { padding: 56px 0; }
.pmg-partners h2 { margin: 0 0 12px; font: 700 32px/1.25 var(--pmg-font); color: var(--pmg-hero-plum); }
.pmg-partners .sub { margin: 0 0 28px; max-width: 640px; color: var(--pmg-body); font: 400 17px/1.7 var(--pmg-font); }

.pmg-compare { width: 100%; border-collapse: collapse; background: #fff; }
.pmg-compare th, .pmg-compare td {
  border: 1px solid var(--pmg-hairline);
  padding: 14px 12px;
  text-align: center;
  font: 500 14.5px/1.45 var(--pmg-font);
}
.pmg-compare th:first-child, .pmg-compare td:first-child { text-align: start; font-weight: 600; }
.pmg-compare th { background: #fbfafc; color: var(--pmg-plum); }
.pmg-compare .is-us { background: #f7f3fa; color: var(--pmg-purple-text); font-weight: 700; }

.pmg-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pmg-step {
  background: #fff;
  border: 1px solid var(--pmg-hairline);
  border-radius: 0;
  padding: 22px 18px;
  box-shadow: var(--pmg-shadow);
}
.pmg-step b { display: block; margin-bottom: 8px; color: var(--pmg-purple); font: 700 13px/1 var(--pmg-font); letter-spacing: 0.08em; }
.pmg-step h3 { margin: 0 0 8px; font: 700 18px/1.3 var(--pmg-font); }
.pmg-step p { margin: 0; color: var(--pmg-body); font: 400 15px/1.6 var(--pmg-font); }

.pmg-price-band {
  position: relative;
  color: #fff;
  overflow: hidden;
  background: #2d2340;
}
.pmg-price-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.35; }
.pmg-price-band .pmg-wrap { position: relative; padding: 56px 0 64px; }
.pmg-price-band h2, .pmg-price-band .sub { color: #fff; }
.pmg-seg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 640px;
  margin: 0 auto 28px;
  border: 1px solid rgba(255, 255, 255, 0.45);
}
.pmg-seg button {
  min-height: 52px;
  background: transparent;
  color: #fff;
  border: 0;
  cursor: pointer;
  font: 700 15px/1.2 var(--pmg-font);
}
.pmg-seg button[aria-selected="true"] { background: var(--pmg-purple); }

.pmg-caps, .pmg-splans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pmg-caps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pmg-cap, .pmg-splan {
  background: #fff;
  color: var(--pmg-plum);
  border: 1px solid var(--pmg-hairline);
  border-radius: 0;
  padding: 22px 16px;
  text-align: start;
}
.pmg-cap h3, .pmg-splan h3 { margin: 0 0 8px; font: 700 18px/1.3 var(--pmg-font); }
.pmg-cap p, .pmg-splan p { margin: 0; color: var(--pmg-body); font: 400 14.5px/1.6 var(--pmg-font); }
.pmg-cap.is-link, .pmg-splan {
  cursor: pointer;
  width: 100%;
  font: inherit;
}
.pmg-cap.is-link:hover, .pmg-splan:hover, .pmg-splan.is-featured {
  border-color: var(--pmg-purple);
  box-shadow: var(--pmg-glow);
}
.pmg-splan .price { display: block; margin: 10px 0; font: 700 28px/1 var(--pmg-font); color: var(--pmg-plum); }
.pmg-splan .flag { display: block; min-height: 18px; color: var(--pmg-purple); font: 700 12px/1 var(--pmg-font); letter-spacing: 0.08em; }
.pmg-venue-note {
  margin-top: 18px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  padding: 22px;
}
.pmg-venue-note h3 { margin: 0 0 8px; font: 700 22px/1.3 var(--pmg-font); }
.pmg-venue-note p { margin: 0 0 16px; }

.pmg-panel[hidden] { display: none !important; }

@media (max-width: 900px) {
  .pmg-steps, .pmg-splans { grid-template-columns: 1fr; }
  .pmg-caps { grid-template-columns: 1fr 1fr; }
  .pmg-phero-copy { margin: 0 auto; width: min(100% - 32px, var(--pmg-container)); }
}
@media (max-width: 640px) {
  .pmg-caps, .pmg-seg { grid-template-columns: 1fr; }
  .pmg-compare { display: block; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .pmg-partners * { scroll-behavior: auto !important; }
}
