.aff-hero { padding:calc(120px + var(--promo-bar-height)) 0 var(--sp-6); }
.aff-hero-grid,.aff-editorial,.aff-form-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--sp-5); align-items:start; }
.aff-hero-grid { align-items:center; }
.aff-hero h1 { max-width:12ch; font:600 clamp(2.5rem,5vw,4.3rem)/1.1 var(--font-display); color:var(--ink); text-wrap:balance; }
.aff-hero-copy p,.aff-editorial p,.aff-form-layout > div > p { color:var(--ink-2); line-height:1.7; max-width:65ch; }
.aff-hero-copy p { margin-top:var(--sp-3); }
.aff-hero-copy .aff-lead { color:var(--ink); font-size:1.125rem; }
.aff-hero-copy .btn { margin-top:var(--sp-4); }
.aff-visual { border:1px solid var(--hair); border-radius:var(--r-lg); overflow:hidden; background:var(--bg-2); }
.aff-visual img { display:block; width:100%; height:auto; }
.aff-intro,.aff-terms,.aff-apply { padding:var(--sp-6) 0; border-top:1px solid var(--hair-2); }
.aff-editorial h2,.aff-form-layout h2 { font:600 clamp(1.8rem,3vw,2.5rem)/1.2 var(--font-display); color:var(--ink); text-wrap:balance; }
.aff-editorial > div > p + p { margin-top:var(--sp-3); }
.aff-steps > div { padding:var(--sp-3) 0; border-bottom:1px solid var(--hair); }
.aff-steps > div:first-child { padding-top:0; }
.aff-steps h3 { color:var(--ink); font:600 1.125rem/1.35 var(--font-body); margin-bottom:var(--sp-1); }
.aff-steps strong { color:var(--gold); font-weight:700; }
.aff-steps .aff-disclosure { margin-top:var(--sp-3); color:var(--ink); }
.aff-form-layout > div > p { margin-top:var(--sp-3); }
.aff-form-panel { padding:var(--sp-4); background:var(--bg-2); border:1px solid var(--hair); border-radius:var(--r-lg); }
.aff-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-3); }
.aff-field { display:flex; flex-direction:column; gap:var(--sp-1); min-width:0; color:var(--ink); font-weight:600; }
.aff-wide { grid-column:1/-1; }
.aff-field small { color:var(--ink-2); font-size:.875rem; font-weight:400; }
.aff-field input,.aff-field textarea { width:100%; border:1px solid var(--gold-dim); border-radius:var(--r-sm); background:var(--bg-socket); color:var(--ink); padding:12px; font:400 1rem/1.5 var(--font-body); }
.aff-field textarea { resize:vertical; }
.aff-field [aria-invalid="true"] { border-color:var(--danger-text); }
.aff-honeypot { position:absolute; left:-10000px; }
.aff-privacy { margin:var(--sp-3) 0; color:var(--ink-2); font-size:.875rem; line-height:1.6; }
.aff-privacy a,.aff-noscript a { text-decoration:underline; text-underline-offset:3px; }
.aff-error { margin:0 0 var(--sp-3); color:var(--danger-text); }
.aff-form-panel [hidden] { display:none !important; }
.aff-form-panel button:disabled { opacity:.7; cursor:wait; }
.aff-success h3 { font:600 1.5rem/1.2 var(--font-display); }
.aff-success p { color:var(--ink-2); margin:var(--sp-2) 0 var(--sp-3); }
.aff-noscript { color:var(--ink-2); margin-top:var(--sp-3); }
@media(max-width:760px) { .aff-hero { padding-top:calc(100px + var(--promo-bar-height)); } .aff-hero-grid,.aff-editorial,.aff-form-layout { grid-template-columns:1fr; gap:var(--sp-4); } .aff-intro,.aff-terms,.aff-apply { padding:var(--sp-5) 0; } .aff-form-panel { padding:var(--sp-3); } .aff-fields { grid-template-columns:1fr; } .aff-wide { grid-column:auto; } }
