/* Extension of the existing Aicat landing tokens. */
.affiliate-page {
  --af-space-1:8px; --af-space-2:12px; --af-space-3:16px; --af-space-4:24px; --af-space-5:32px; --af-space-6:48px; --af-space-7:64px;
  --af-type-small:15px; --af-type-body:16px; --af-type-lead:20px; --af-type-mobile-lead:18px;
  --af-title:clamp(36px,4.1vw,60px); --af-heading:clamp(25px,2.4vw,32px);
  --af-control-radius:8px; --af-control-height:52px; --af-border:1px solid var(--hair-2);
  --af-error:#ffbeb3; --af-weight:650; --af-measure:48ch; --af-panel:520px;
}
.affiliate-main { max-width:var(--rail); margin:auto; padding:var(--af-space-7) var(--gutter); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.94fr); column-gap:var(--af-space-7); row-gap:var(--af-space-6); align-items:start; }
.affiliate-intro { grid-column:1; grid-row:1; }
.affiliate-label { color:var(--accent-lit); font-size:var(--af-type-body); font-weight:var(--af-weight); margin-bottom:var(--af-space-3); }
.affiliate-intro h1 { font-size:var(--af-title); line-height:1.08; letter-spacing:-.04em; text-wrap:balance; }
.affiliate-intro h1 span { color:var(--accent-lit); }
.affiliate-lead { font-size:var(--af-type-lead); color:var(--ink); line-height:1.6; max-width:var(--af-measure); margin-top:var(--af-space-4); }
.affiliate-audience { color:var(--ink-2); font-size:var(--af-type-body); max-width:var(--af-measure); margin-top:var(--af-space-3); }
.affiliate-panel { grid-column:2; grid-row:1 / span 2; width:100%; max-width:var(--af-panel); justify-self:end; border:var(--af-border); background:var(--plate); border-radius:var(--vc-radius); padding:var(--af-space-5); }
.affiliate-panel h2,.affiliate-next>h2 { font-size:var(--af-heading); line-height:1.2; }
.affiliate-form-intro { color:var(--ink-2); font-size:var(--af-type-body); margin-top:var(--af-space-2); margin-bottom:var(--af-space-5); }
.affiliate-panel form label { display:block; font-weight:var(--af-weight); font-size:var(--af-type-body); margin-bottom:var(--af-space-1); }
.affiliate-required { font-weight:400; font-size:var(--af-type-small); color:var(--ink-2); }
.affiliate-panel input,.affiliate-panel textarea { display:block; width:100%; min-height:var(--af-control-height); font:inherit; font-size:var(--af-type-body); color:var(--ink); background:var(--bg-deep); border:var(--af-border); border-radius:var(--af-control-radius); padding:var(--af-space-2) var(--af-space-3); }
.affiliate-panel input { margin-bottom:var(--af-space-4); }
.affiliate-panel textarea { resize:vertical; }
.affiliate-panel input::placeholder,.affiliate-panel textarea::placeholder { color:var(--ink-3); opacity:1; }
.affiliate-hint,.affiliate-privacy,.affiliate-note { font-size:var(--af-type-small); color:var(--ink-2); line-height:1.6; }
.affiliate-hint { margin-top:var(--af-space-1); }
.affiliate-panel button { display:flex; justify-content:space-between; align-items:center; gap:var(--af-space-3); width:100%; min-height:var(--af-control-height); border:0; border-radius:var(--af-control-radius); padding:var(--af-space-3); margin-top:var(--af-space-4); background:var(--accent); color:var(--vc-dark); font:inherit; font-size:var(--af-type-body); font-weight:var(--af-weight); cursor:pointer; }
.affiliate-panel button:hover { background:var(--accent-lit); }
.affiliate-panel button:active { background:var(--accent); }
.affiliate-panel button:disabled { cursor:wait; background:var(--accent-lit); }
.affiliate-privacy { margin-top:var(--af-space-3); }
.affiliate-privacy a,.affiliate-return { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.affiliate-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.affiliate-error { color:var(--af-error); margin-top:var(--af-space-3); font-size:var(--af-type-body); }
.affiliate-next { grid-column:1; grid-row:2; }
.affiliate-next>h2 { font-size:var(--af-type-lead); }
.affiliate-next ol { padding:0; margin:var(--af-space-4) 0; list-style:none; display:grid; gap:var(--af-space-4); }
.affiliate-next li { display:flex; gap:var(--af-space-3); }
.affiliate-next li>span { font-size:var(--af-type-small); color:var(--accent-lit); padding-top:2px; font-variant-numeric:tabular-nums; }
.affiliate-next h3 { font-size:var(--af-type-body); line-height:1.5; letter-spacing:0; }
.affiliate-next li p { color:var(--ink-2); font-size:var(--af-type-body); max-width:var(--af-measure); margin-top:var(--af-space-1); }
.affiliate-note { max-width:var(--af-measure); border-top:var(--af-border); padding-top:var(--af-space-4); }
.affiliate-success-mark { display:block; color:var(--accent-lit); font-size:var(--af-title); line-height:1; margin-bottom:var(--af-space-4); }
.affiliate-success p { margin-top:var(--af-space-4); color:var(--ink-2); }
.affiliate-return { margin-top:var(--af-space-4); gap:var(--af-space-2); color:var(--accent-lit); }
.affiliate-page [hidden] { display:none!important; }
@media(max-width:900px) {
  .affiliate-main { grid-template-columns:1fr; padding-top:var(--af-space-6); gap:var(--af-space-5); }
  .affiliate-intro { grid-column:1; grid-row:1; }
  .affiliate-panel { grid-column:1; grid-row:2; justify-self:start; max-width:none; }
  .affiliate-next { grid-column:1; grid-row:3; }
  .affiliate-intro h1 { max-width:18ch; }
}
@media(max-width:600px) {
  .affiliate-main { padding-block:var(--af-space-5); }
  .affiliate-panel { padding:var(--af-space-4); }
  .affiliate-lead { font-size:var(--af-type-mobile-lead); }
}
