body:has(.partners-page) {
  background: var(--color-surface);
  color: var(--color-on-surface);
}

@media (prefers-reduced-motion: no-preference) {
  html:has(.partners-page) {
    scroll-behavior: smooth;
  }
}

.partners-page {
  --partners-content-max-width: 1500px;
  --partners-section-max-width: 1200px;
  padding-block: var(--space-9) 0;
}

.partners-shell {
  width: min(var(--partners-content-max-width), calc(100% - (var(--space-4) * 2)));
  margin: 0 auto;
  display: grid;
  gap: var(--space-10);
  padding-top: var(--space-8);
  padding-bottom: calc(var(--space-10) + var(--space-6));
}

.partners-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(var(--component-card-width), 0.95fr);
  align-items: center;
  gap: var(--space-9);
}

.partners-shell > section:not(.partners-hero) {
  width: min(var(--partners-section-max-width), 100%);
  margin-inline: auto;
}

.partners-header {
  display: grid;
  gap: var(--space-5);
}

.partners-header .headerMedium {
  max-width: var(--landing-copy-max-width);
}

.partners-header .bodyLarge {
  max-width: var(--landing-lede-max-width);
}

.partners-header > .partners-availability {
  margin-top: var(--space-2);
}

.partners-hero-highlight {
  color: var(--color-accent);
}

.partners-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: calc(var(--landing-cta-gap) - var(--space-5));
}

.partners-header-actions .button {
  box-sizing: border-box;
  min-height: 60px;
  padding-inline: var(--space-7);
}

.partners-availability {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin: 0;
  font-weight: var(--font-weight-medium);
}

.partners-availability-alert {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: #b45309;
}

.partners-availability-icon {
  flex: 0 0 auto;
  inline-size: var(--icon-size-lg);
  block-size: var(--icon-size-lg);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: no-preference) {
  .partners-availability-icon {
    animation: partners-availability-fade 1.8s ease-in-out infinite;
  }
}

@keyframes partners-availability-fade {
  50% {
    opacity: 0.55;
  }
}

.partners-hero-visual {
  display: grid;
  align-items: center;
  gap: var(--space-3);
}

.partners-copy-section,
.partners-packages {
  display: grid;
  gap: var(--space-6);
}

.partners-copy-section {
  display: grid;
  gap: var(--space-5);
  max-width: var(--landing-lede-max-width);
}

.partners-copy {
  display: grid;
  gap: var(--space-3);
}

.partners-copy p {
  margin: 0;
}

.partners-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.partners-package-card {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--stroke-thin) solid var(--color-outline);
  border-radius: var(--radius-md);
  background: var(--color-secondary);
}

.partners-package-price-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  margin-block: var(--space-2);
}

.partners-package-price {
  margin: 0;
  color: var(--color-on-secondary);
  font-size: 2.5rem;
}

.partners-package-list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.partners-package-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--space-2);
}

.partners-package-feature-icon {
  inline-size: var(--icon-size-sm);
  block-size: var(--icon-size-sm);
  margin-block-start: 0.18em;
  color: var(--color-success);
}

.partners-package-card .button {
  margin-top: var(--space-2);
  min-height: var(--touch-target);
}

.partners-package-best-for {
  margin-block: var(--space-2);
}

.partners-package-divider {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: var(--stroke-thin) solid var(--color-outline);
}

.partners-package-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.partners-package-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-4);
  border: var(--stroke-thin) solid var(--color-outline);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.partners-package-note-icon {
  inline-size: var(--icon-size-lg);
  block-size: var(--icon-size-lg);
  color: var(--color-highlight-neutral);
}

.partners-package-note h3,
.partners-package-note p {
  margin: 0;
}

.partners-package-note p {
  margin-top: var(--space-1);
}

.partners-packages .partners-availability {
  justify-self: center;
  margin-block: var(--space-2);
}

.partners-customer-proof {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.partners-customer-proof h3 {
  margin: 0;
}

.partners-customer-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
}

.partners-customer-logo {
  display: flex;
  align-items: center;
  padding: var(--space-4);
}

.partners-customer-logo img {
  display: block;
  width: 100%;
  max-width: 240px;
  max-height: 56px;
  object-fit: contain;
  opacity: var(--opacity-muted);
}

.partners-customer-logo img:hover {
  opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
  .partners-customer-logo img {
    transition: opacity 0.2s ease;
  }
}

.partners-section-heading {
  display: grid;
  gap: var(--space-5);
}

.partners-audience {
  display: grid;
  gap: var(--space-6);
}

.partners-audience-content {
  width: min(1200px, 100%);
  margin-inline: auto;
  display: grid;
  gap: var(--space-4);
}

.partners-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.partners-metrics div {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border: var(--stroke-thin) solid var(--color-outline);
  border-radius: var(--radius-md);
  background: var(--color-secondary);
}

.partners-audience-panel {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--stroke-thin) solid var(--color-outline);
  border-radius: var(--radius-md);
  background: var(--color-secondary);
}

.partners-interest-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.partners-interest-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
}

.partners-interest-list strong {
  white-space: nowrap;
}

.partners-form {
  scroll-margin-top: calc(var(--announcement-height) + var(--app-bar-height) + var(--space-6));
  display: grid;
  gap: var(--space-5);
  width: 100%;
}

.partners-form iframe {
  display: block;
  width: min(1200px, 100%);
  margin-inline: auto;
  min-height: 980px;
  border: 0;
}

@media (max-width: 1200px) {
  .partners-shell {
    padding-top: 0;
  }

  .partners-hero {
    grid-template-columns: 1fr;
  }

  .partners-hero-visual {
    width: min(760px, 100%);
    justify-self: center;
  }
}

@media (max-width: 980px) {

  .partners-header .headerMedium,
  .partners-copy-section .headerMedium,
  .partners-section-heading .headerMedium,
  .partners-form .headerMedium {
    font-size: 1.75rem;
    line-height: var(--line-height-tight);
  }

  .partners-header-actions .button {
    width: 100%;
  }

  .partners-availability {
    justify-self: center;
  }

  .partners-metrics,
  .partners-package-notes,
  .partners-package-grid {
    grid-template-columns: 1fr;
  }

  .partners-shell p,
  .partners-shell h1,
  .partners-shell h2,
  .partners-shell h3 {
    overflow-wrap: anywhere;
  }

  .partners-package-card,
  .partners-customer-logo,
  .partners-metrics div,
  .partners-audience-panel {
    min-width: 0;
  }
}
