.page-partner {
  --partner-surface: #ffffff;
  --partner-background: #f7f8fa;
  --partner-heading: #171c2c;
  --partner-text: #525b6b;
  --partner-border: #e3e6ed;
  --partner-accent: #a80b50;
}

.dark-mode .page-partner,
.page-partner.dark-mode {
  --partner-surface: #171522;
  --partner-background: #100e19;
  --partner-heading: #f5f4fa;
  --partner-text: #c0bece;
  --partner-border: #33303f;
  --partner-accent: #ff91be;
}

.partner-profile {
  padding: 142px 0 72px;
  background: var(--partner-background);
  color: var(--partner-text);
}

.partner-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
  font-size: 0.82rem;
  line-height: 1.8;
}

.partner-breadcrumb a,
.partner-back-link {
  color: var(--partner-text);
  text-decoration: none;
}

.partner-breadcrumb [aria-current] {
  color: var(--partner-heading);
  font-weight: 650;
}

.partner-profile-header {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
  padding: clamp(28px, 4vw, 52px);
  background: var(--partner-surface);
  border: 1px solid var(--partner-border);
  border-radius: 20px;
}

.partner-profile-eyebrow {
  margin: 0 0 12px;
  color: var(--partner-accent);
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.8;
}

.partner-profile h1 {
  margin: 0 0 20px;
  color: var(--partner-heading);
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.partner-profile-description {
  max-width: 62ch;
  margin: 0 0 28px;
  font-size: 1rem;
  line-height: 1.95;
}

.partner-website-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid #a80b50;
  border-radius: 8px;
  background: #a80b50;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.partner-website-link:hover {
  background: #87083f;
  color: #ffffff;
}

.partner-profile-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 30px;
  background: #ffffff;
  border: 1px solid #e3e6ed;
  border-radius: 12px;
}

.partner-profile-brand img {
  display: block;
  width: 100%;
  max-width: 320px;
  max-height: 150px;
  object-fit: contain;
}

.partner-profile-details {
  margin-top: 32px;
  padding-inline: clamp(24px, 4vw, 52px);
  background: var(--partner-surface);
  border: 1px solid var(--partner-border);
  border-radius: 20px;
}

.partner-profile-section {
  display: grid;
  grid-template-columns: minmax(180px, 0.75fr) minmax(0, 2fr);
  gap: 24px 48px;
  padding-block: 32px;
}

.partner-profile-section + .partner-profile-section {
  border-top: 1px solid var(--partner-border);
}

.partner-profile-section h2 {
  margin: 0;
  color: var(--partner-heading);
  font-size: 1.15rem;
  font-weight: 750;
  line-height: 1.7;
}

.partner-profile-section p {
  margin: 0;
  max-width: 76ch;
  font-size: 0.98rem;
  line-height: 1.95;
}

.partner-back-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-top: 24px;
  font-size: 0.9rem;
  font-weight: 650;
}

.partner-back-link:hover,
.partner-breadcrumb a:hover {
  color: var(--partner-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.partner-profile a:focus-visible {
  outline: 2px solid var(--partner-accent);
  outline-offset: 4px;
}

@media (max-width: 767.98px) {
  .partner-profile { padding: 108px 0 48px; }
  .partner-breadcrumb { margin-bottom: 20px; gap: 8px; }
  .partner-profile-header { grid-template-columns: 1fr; gap: 28px; padding: 24px; }
  .partner-profile-brand { grid-row: 1; min-height: 140px; padding: 24px; }
  .partner-profile-brand img { max-width: 260px; max-height: 110px; }
  .partner-profile-details { margin-top: 24px; padding-inline: 24px; }
  .partner-profile-section { grid-template-columns: 1fr; gap: 12px; padding-block: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-website-link { transition: none; }
}
