.partners-page {
  --partners-blue: #1565f8;
  --partners-navy: #123a83;
  --partners-ink: #1f2f49;
  --partners-muted: #73839e;
  --partners-line: #dce5f1;
  background: #f6f8fc;
  color: var(--partners-ink);
  padding: 24px 0 92px;
}

.partners-page .container { max-width: 1280px; }

.partners-breadcrumbs {
  align-items: center;
  color: var(--partners-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 10px;
  margin: 0 0 24px;
}

.partners-breadcrumbs a { color: inherit; text-decoration: none; }
.partners-breadcrumbs a:last-child { color: var(--partners-navy); font-weight: 700; }
.partners-breadcrumbs a:hover { color: var(--partners-blue); }

.partners-hero {
  background-color: var(--partners-navy);
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    radial-gradient(circle at 80% 25%, rgba(21,101,248,.7), transparent 32%),
    linear-gradient(135deg, #0f2e6f, #10234d 72%);
  background-size: 42px 42px, 42px 42px, auto, auto;
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(18,58,131,.18);
  color: #fff;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  margin-bottom: 28px;
  overflow: hidden;
  padding: clamp(34px, 6vw, 74px);
  position: relative;
}

.partners-hero::after {
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  content: '';
  height: 380px;
  position: absolute;
  right: -150px;
  top: -160px;
  width: 380px;
}

.partners-hero__content,
.partners-hero__signal { position: relative; z-index: 1; }

.partners-eyebrow {
  color: var(--partners-blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  margin: 0 0 16px;
  text-transform: uppercase;
}

.partners-hero .partners-eyebrow { color: #8eb5ff; }

.partners-hero h1 {
  font-size: clamp(38px, 6vw, 72px);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .98;
  margin: 0;
  max-width: 690px;
  text-wrap: balance;
}

.partners-hero__lead {
  color: rgba(255,255,255,.76);
  font-size: 18px;
  line-height: 1.6;
  margin: 24px 0 30px;
  max-width: 650px;
}

.partners-hero__cta,
.partners-submit {
  align-items: center;
  background: var(--partners-blue);
  border: 0;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 15px;
  font-weight: 700;
  gap: 12px;
  justify-content: center;
  padding: 15px 20px;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.partners-hero__cta:hover,
.partners-submit:hover { background: #0d56e5; color: #fff; transform: translateY(-2px); }
.partners-hero__cta span,
.partners-submit span { font-size: 20px; line-height: 1; }

.partners-hero__signal {
  align-self: end;
  border-left: 1px solid rgba(255,255,255,.28);
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: end;
  padding-left: 30px;
}

.partners-hero__signal-mark,
.partners-benefit__index {
  color: #8eb5ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.partners-hero__signal strong { font-size: 21px; line-height: 1.18; }
.partners-hero__signal > span:last-child { color: rgba(255,255,255,.65); line-height: 1.55; }

.partners-intro {
  background: #fff;
  border: 1px solid rgba(18,58,131,.08);
  border-radius: 20px;
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  margin-bottom: 22px;
  padding: 42px clamp(24px, 5vw, 58px);
}

.partners-intro h2,
.partners-contact__aside h2,
.partners-form-card h2 {
  color: var(--partners-navy);
  font-size: clamp(27px, 3vw, 42px);
  letter-spacing: -.04em;
  line-height: 1.05;
  margin: 0;
  text-wrap: balance;
}

.partners-intro__copy { color: #52627b; font-size: 16px; line-height: 1.72; }
.partners-intro__copy p { margin: 0 0 18px; }
.partners-intro__copy p:last-child { margin-bottom: 0; }

.partners-benefits {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 76px;
}

.partners-benefit {
  background: #fff;
  border: 1px solid rgba(18,58,131,.08);
  border-radius: 16px;
  min-height: 190px;
  padding: 26px;
  transition: box-shadow .2s ease, transform .2s ease;
}

.partners-benefit:hover { box-shadow: 0 14px 32px rgba(24,39,75,.1); transform: translateY(-2px); }
.partners-benefit h2 { color: var(--partners-navy); font-size: 21px; margin: 28px 0 10px; }
.partners-benefit p { color: var(--partners-muted); line-height: 1.55; margin: 0; }

.partners-details {
  border-top: 1px solid var(--partners-line);
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  margin-bottom: 76px;
  padding: 42px clamp(0px, 3vw, 34px) 0;
}

.partners-details h2 { color: var(--partners-navy); font-size: clamp(27px, 3vw, 42px); letter-spacing: -.04em; line-height: 1.05; margin: 0; text-wrap: balance; }
.partners-details__grid { color: #52627b; display: grid; font-size: 15px; gap: 0 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); line-height: 1.65; }
.partners-details__grid p { margin: 0 0 22px; }

.partners-contact {
  align-items: start;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
}

.partners-contact__aside { padding: 28px 0; }
.partners-contact__aside p:not(.partners-eyebrow) { color: var(--partners-muted); line-height: 1.65; margin: 20px 0 26px; max-width: 320px; }
.partners-contact__note { color: var(--partners-navy); font-size: 14px; font-weight: 700; }
.partners-contact__note span { color: var(--partners-blue); font-size: 22px; margin-right: 8px; }

.partners-form-card {
  background: #fff;
  border: 1px solid rgba(18,58,131,.1);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(24,39,75,.08);
  padding: clamp(24px, 4vw, 42px);
}

.partners-form-card__top { margin-bottom: 28px; }
.partners-form-card__top h2 { font-size: clamp(28px, 3vw, 38px); }

.partners-alert { border-radius: 8px; font-size: 14px; line-height: 1.5; margin: 0 0 20px; padding: 13px 15px; }
.partners-alert--success { background: #eaf8ef; color: #19703a; }
.partners-alert--error { background: #fff0f0; color: #a53030; }

.partners-form__grid { display: grid; gap: 18px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.partners-field { min-width: 0; }
.partners-field--wide { grid-column: 1 / -1; }
.partners-field label { color: var(--partners-navy); display: block; font-size: 13px; font-weight: 700; margin: 0 0 8px; }
.partners-field label span { color: #e63946; }
.partners-field input,
.partners-field textarea {
  background: #f8faff;
  border: 1px solid var(--partners-line);
  border-radius: 8px;
  box-sizing: border-box;
  color: var(--partners-ink);
  font: inherit;
  font-size: 15px;
  outline: 0;
  padding: 13px 14px;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
  width: 100%;
}

.partners-field textarea { min-height: 132px; resize: vertical; }
.partners-field input:focus,
.partners-field textarea:focus { background: #fff; border-color: var(--partners-blue); box-shadow: 0 0 0 3px rgba(21,101,248,.13); }
.partners-field--error input,
.partners-field--error textarea { border-color: #e07b7b; }
.partners-field small,
.partners-consent__error { color: #b43a3a; display: block; font-size: 12px; line-height: 1.4; margin-top: 6px; }

.partners-consent { align-items: flex-start; color: var(--partners-muted); cursor: pointer; display: flex; font-size: 12px; gap: 10px; line-height: 1.5; margin: 22px 0 6px; }
.partners-consent input { accent-color: var(--partners-blue); flex: 0 0 auto; height: 17px; margin: 1px 0 0; width: 17px; }
.partners-consent a { color: var(--partners-blue); text-decoration: underline; }
.partners-consent--error { color: #b43a3a; }
.partners-consent__error { margin: 0 0 12px 27px; }
.partners-submit { cursor: pointer; margin-top: 16px; min-width: 190px; }
.partners-submit:disabled { background: #a9bce4; cursor: not-allowed; transform: none; }

.partners-page a:focus-visible,
.partners-page button:focus-visible,
.partners-page input:focus-visible,
.partners-page textarea:focus-visible { outline: 2px solid var(--partners-blue); outline-offset: 3px; }

@media (max-width: 767px) {
  .partners-page { padding: 10px 0 58px; }
  .partners-breadcrumbs { font-size: 12px; margin-bottom: 16px; }
  .partners-hero { border-radius: 16px; display: block; padding: 32px 24px; }
  .partners-hero h1 { font-size: 44px; }
  .partners-hero__lead { font-size: 16px; }
  .partners-hero__signal { border-left: 0; border-top: 1px solid rgba(255,255,255,.28); margin-top: 34px; padding: 24px 0 0; }
  .partners-intro { display: block; padding: 28px 22px; }
  .partners-intro__copy { font-size: 15px; margin-top: 22px; }
  .partners-benefits { grid-template-columns: 1fr; margin-bottom: 46px; }
  .partners-benefit { min-height: 0; }
  .partners-details { display: block; margin-bottom: 46px; padding: 28px 0 0; }
  .partners-details__grid { display: block; margin-top: 22px; }
  .partners-contact { display: block; }
  .partners-contact__aside { padding: 0 0 28px; }
  .partners-form__grid { grid-template-columns: 1fr; }
  .partners-field--wide { grid-column: auto; }
  .partners-submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .partners-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
