/* ==========================================================================
   Affiliate program page — page-specific stylesheet
   ========================================================================== */

.aff-hero{
  padding:64px 28px 40px; text-align:center; border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at center, var(--brass-wash) 0%, transparent 70%);
}
.aff-hero-inner{ max-width:680px; margin:0 auto; }
.aff-hero h1{
  font-family:var(--font-display); font-size:clamp(30px,4.5vw,46px); font-weight:700;
  color:var(--ink-900); margin:12px 0 14px; letter-spacing:-.005em; line-height:1.15;
}
.aff-hero p{ font-size:15.5px; color:var(--ink-700); line-height:1.6; }
.aff-rate-badge{
  display:inline-flex; align-items:baseline; gap:6px; margin-top:20px;
  background:var(--brass); color:#FFF; padding:10px 22px; border-radius:40px;
  font-family:var(--font-mono); font-weight:700;
}
.aff-rate-badge .num{ font-size:24px; }
.aff-rate-badge .txt{ font-size:12.5px; opacity:.9; }

.aff-body{ padding:56px 28px 80px; }
.aff-section{ max-width:900px; margin:0 auto 48px; }

.aff-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:760px){ .aff-steps{ grid-template-columns:1fr; } }
.aff-step{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px 22px; text-align:left;
}
.aff-step-num{
  width:30px; height:30px; border-radius:8px; background:var(--brass-wash); color:var(--brass-deep);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700;
  font-size:13px; margin-bottom:14px;
}
.aff-step h3{ font-family:var(--font-display); font-size:16.5px; font-weight:600; color:var(--ink-900); margin-bottom:6px; }
.aff-step p{ font-size:13.5px; color:var(--ink-700); line-height:1.6; }

.aff-eligibility{
  background:var(--clay-wash); border:1px solid var(--clay); border-radius:8px;
  padding:16px 20px; font-size:13.5px; color:var(--clay-deep); line-height:1.6;
  max-width:900px; margin:0 auto 48px; text-align:center;
}

.aff-panel{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px 30px; max-width:900px; margin:0 auto;
}
.aff-panel h2{ font-family:var(--font-display); font-size:20px; font-weight:600; color:var(--ink-900); margin-bottom:8px; }
.aff-panel p{ font-size:13.5px; color:var(--ink-500); margin-bottom:20px; }

.aff-link-row{ display:flex; gap:10px; margin-bottom:24px; }
.aff-link-row input{
  flex:1; padding:12px 14px; border:1px solid var(--line-strong); border-radius:8px;
  background:var(--paper-sunk); font-family:var(--font-mono); font-size:13px; color:var(--ink-900);
}
@media(max-width:560px){ .aff-link-row{ flex-direction:column; } }

.aff-stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:28px; }
.aff-stat{ background:var(--paper-sunk); border-radius:10px; padding:16px 18px; }
.aff-stat-num{ font-family:var(--font-display); font-size:26px; font-weight:700; color:var(--brass-deep); }
.aff-stat-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); margin-top:2px; }

.aff-cta-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
