.affiliate-main { padding-block: 72px 80px; }
.affiliate-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .85fr); gap: 64px; align-items: center; }
.affiliate-intro h1 { font-size: clamp(40px, 4.8vw, 64px); letter-spacing: -.045em; line-height: 1.08; margin: 20px 0 24px; max-width: 720px; }
.affiliate-intro > p { color: var(--muted); font-size: 18px; line-height: 1.7; max-width: 580px; }
.affiliate-intro .affiliate-back { display: inline-flex; align-items: center; min-height: 44px; margin-top: 20px; color: var(--blue-dark); font-size: 14px; font-weight: 600; }
.affiliate-offer { background: #f4f7fc; border: 1px solid #e1e8f4; border-radius: 20px; padding: 32px; }
.affiliate-status { display: inline-flex; padding: 5px 10px; border-radius: 6px; background: #e7edf8; color: #445a7b; font-size: 12px; font-weight: 600; }
.affiliate-rate { display: block; font-size: 88px; line-height: 1; letter-spacing: -.06em; margin: 24px 0 6px; color: #2865c7; }
.affiliate-rate-label { font-size: 18px; font-weight: 600; }
.affiliate-offer > p { color: var(--muted); font-size: 14px; margin-top: 12px; }
.affiliate-offer .button { width: 100%; margin-top: 24px; text-align: center; }
.affiliate-pending { margin-top: 26px; padding-top: 22px; border-top: 1px solid #dce4f1; }
.affiliate-pending h2 { font-size: 16px; letter-spacing: -.2px; }
.affiliate-pending p { font-size: 13px; color: var(--muted); margin-top: 8px; line-height: 1.7; }
.affiliate-pending a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: #245b9b; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.affiliate-section { padding-top: 64px; margin-top: 64px; border-top: 1px solid var(--line); }
.affiliate-section h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.8px; }
.affiliate-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; list-style: none; padding: 0; margin: 32px 0 0; counter-reset: step; }
.affiliate-steps li { counter-increment: step; }
.affiliate-steps li::before { content: '0' counter(step); display: block; color: var(--blue-dark); font-size: 13px; font-weight: 650; letter-spacing: 1px; margin-bottom: 14px; }
.affiliate-steps h3 { font-size: 18px; margin-bottom: 10px; letter-spacing: -.3px; }
.affiliate-steps p, .affiliate-terms p { font-size: 15px; color: var(--muted); line-height: 1.7; }
.affiliate-terms { display: grid; grid-template-columns: .85fr 1.4fr; gap: 64px; }
.affiliate-terms dl { margin: 0; }
.affiliate-terms dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding-block: 16px; border-bottom: 1px solid var(--line); }
.affiliate-terms dl > div:first-child { padding-top: 0; }
.affiliate-terms dt { font-size: 14px; font-weight: 600; }
.affiliate-terms dd { margin: 0; font-size: 14px; color: var(--muted); line-height: 1.65; }
.affiliate-terms p { margin-top: 16px; }
.affiliate-page .site-footer { padding-top: 32px; }
@media (max-width: 950px) { .affiliate-hero { gap: 32px; } .affiliate-offer { padding: 26px; } .affiliate-terms { gap: 32px; } }
@media (max-width: 760px) {
  .affiliate-main { padding-block: 42px 48px; }
  .affiliate-hero, .affiliate-terms, .affiliate-steps { grid-template-columns: 1fr; gap: 30px; }
  .affiliate-intro h1 { font-size: 43px; }
  .affiliate-intro > p { font-size: 16px; }
  .affiliate-section { margin-top: 40px; padding-top: 36px; }
  .affiliate-section h2 { font-size: 27px; }
  .affiliate-terms dl > div { grid-template-columns: 1fr; gap: 6px; }
}
