.partner-application { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; padding: 140px 0; border-top: 1px solid var(--partners-line); }
.partner-application-intro h2 { margin-top: 18px; font-size: clamp(44px, 5vw, 68px); line-height: .98; letter-spacing: -.055em; }
.partner-application-intro > p:not(.section-label) { margin-top: 26px; color: #5c6263; font-size: 17px; line-height: 1.55; }
.application-state { display: grid; gap: 8px; margin-top: 32px; padding: 18px 0; border-top: 1px solid var(--partners-line); border-bottom: 1px solid var(--partners-line); }
.application-state span { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.application-state i { width: 8px; height: 8px; border-radius: 50%; background: #0b9d66; box-shadow: 0 0 0 5px rgba(11,157,102,.13); }
.application-state small { color: #707576; }
.partner-form { padding: 34px; border: 1px solid var(--partners-line); background: #fff; }
.partner-form-grid,
.portal-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.partner-form label,
.portal-register label,
.portal-login label { display: grid; gap: 9px; color: #3b4042; font-size: 12px; font-weight: 700; }
.partner-form label span,
.portal-register label span { color: #8b8f90; font-weight: 400; }
.partner-form input,
.partner-form textarea,
.portal-register input,
.portal-register textarea,
.portal-register select,
.portal-login input {
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  border: 1px solid #cfd2d0;
  border-radius: 0;
  background: #fff;
  color: #0b0c0d;
  outline: none;
}
.partner-form textarea,
.portal-register textarea { min-height: 110px; resize: vertical; }
.partner-form input:focus,
.partner-form textarea:focus,
.portal-register input:focus,
.portal-register textarea:focus,
.portal-register select:focus,
.portal-login input:focus { border-color: var(--partners-blue); box-shadow: 0 0 0 3px rgba(8,104,242,.12); }
.form-wide { grid-column: 1 / -1; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.partner-consent { grid-template-columns: 18px 1fr !important; align-items: start; gap: 10px !important; margin-top: 24px; font-weight: 400 !important; line-height: 1.45; }
.partner-consent input { width: 16px; min-height: 16px; margin-top: 2px; }
.partner-consent a { text-decoration: underline; }
.partner-submit,
.portal-register button,
.portal-login button,
.portal-terms button { min-height: 52px; display: inline-flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 26px; padding: 0 18px; border: 0; background: var(--partners-blue); color: #fff; cursor: pointer; font-weight: 700; }
.partner-submit[disabled], .portal-register button[disabled] { opacity: .55; cursor: wait; }
.partner-form-status,
.portal-message { display: none; margin-top: 18px; padding: 13px 15px; border: 1px solid; font-size: 13px; line-height: 1.45; }
.partner-form-status:not(:empty), .portal-message:not(:empty) { display: block; }
.partner-form-status.success, .portal-message.success { border-color: rgba(11,123,85,.35); background: rgba(11,123,85,.08); color: #086143; }
.partner-form-status.error, .portal-message.error { border-color: rgba(170,39,39,.35); background: rgba(170,39,39,.08); color: #922828; }

.partner-footer .footer-top { grid-template-columns: 1.4fr repeat(3, .7fr); }

.partner-simple-header { min-height: 66px; display: flex; justify-content: space-between; align-items: center; padding: 0 max(24px, calc((100vw - 1320px) / 2)); border-bottom: 1px solid rgba(255,255,255,.14); background: var(--partners-ink); color: #fff; }
.partner-simple-header > a { display: inline-flex; align-items: center; }
.partner-simple-header img { width: 58px; height: auto; }
.partner-simple-header nav { display: flex; align-items: center; gap: 24px; font-size: 12px; }
.partner-simple-header button { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 12px; }
.partner-simple-footer { min-height: 70px; display: flex; justify-content: space-between; align-items: center; padding: 0 max(24px, calc((100vw - 1320px) / 2)); border-top: 1px solid rgba(255,255,255,.12); background: var(--partners-ink); color: rgba(255,255,255,.58); font-size: 11px; }

.partners-legal-page { margin: 0; background: var(--partners-paper); color: var(--partners-ink); font-family: var(--font); }
.partner-legal-shell { width: min(900px, calc(100vw - 48px)); margin: 0 auto; padding: 110px 0 140px; }
.partner-legal-hero { padding-bottom: 70px; border-bottom: 1px solid var(--partners-line); }
.partner-legal-hero > p { color: var(--partners-blue); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.partner-legal-hero h1 { margin-top: 22px; font-size: clamp(52px, 8vw, 88px); line-height: .94; letter-spacing: -.065em; }
.partner-legal-hero span { max-width: 690px; display: block; margin-top: 28px; color: #626869; line-height: 1.55; }
.partner-legal-shell section { display: grid; grid-template-columns: 240px 1fr; gap: 45px; padding: 34px 0; border-bottom: 1px solid var(--partners-line); }
.partner-legal-shell section h2 { font-size: 18px; letter-spacing: -.02em; }
.partner-legal-shell section p { color: #4f5557; font-size: 16px; line-height: 1.65; }
.partner-legal-shell aside { margin-top: 40px; padding: 25px; border: 1px solid #d4b76e; background: #fff8e7; }
.partner-legal-shell aside p { margin-top: 8px; color: #65562f; line-height: 1.55; }
.partner-legal-back { display: inline-flex; gap: 25px; margin-top: 42px; padding-bottom: 4px; border-bottom: 1px solid #111; font-size: 13px; font-weight: 700; }
