.affil-disclosure{background:var(--warning-bg);border:1px solid var(--warning);border-left:4px solid var(--warning);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);margin:var(--s-8) 0;font-size:var(--fs-sm);line-height:1.6;color:var(--ink-2)}
.affil-disclosure strong{color:var(--ink)}
.affil-categories{display:flex;flex-direction:column;gap:var(--s-16);margin-bottom:var(--s-16)}
.affil-category{padding:var(--s-8) 0;border-top:1px solid var(--border)}
.affil-category:first-child{border-top:none;padding-top:0}
.affil-cat-lead{color:var(--ink-3);max-width:60ch;margin:var(--s-2) 0 var(--s-6)}
.affil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4)}
.affil-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--s-3);transition:transform var(--dur-normal) var(--ease),box-shadow var(--dur-normal) var(--ease),border-color var(--dur-normal) var(--ease)}
.affil-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-2)}
.affil-card-head{display:flex;align-items:center;gap:var(--s-3)}
.affil-logo{width:44px;height:44px;border-radius:var(--r-md);background:var(--surface-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:var(--fs-xs);font-weight:700;color:var(--ink-3)}
.affil-card h3{font-size:var(--fs-md);font-weight:600;color:var(--ink);margin:0}
.affil-pitch{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55;margin:0}
.affil-reasons{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0}
.affil-reasons li{position:relative;padding-left:18px;font-size:var(--fs-sm);color:var(--ink-3);line-height:1.45}
.affil-reasons li::before{content:"";position:absolute;left:0;top:6px;width:10px;height:6px;border-left:2px solid var(--success);border-bottom:2px solid var(--success);transform:rotate(-45deg)}
.affil-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border-soft);flex-wrap:wrap}
.affil-price{font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}
.affil-cta{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-8);text-align:center;margin-top:var(--s-12)}
.affil-cta h3{font-size:var(--fs-lg);margin-bottom:var(--s-2);color:var(--ink)}
.affil-cta p{color:var(--ink-3);max-width:50ch;margin:0 auto var(--s-4)}
.affil-card .affil-block{display:flex;flex-direction:column;gap:4px;padding-top:var(--s-3);border-top:1px solid var(--border-soft)}
.affil-card .affil-block:first-of-type{border-top:none;padding-top:0}
.affil-block-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.affil-block-label.is-elitech{color:var(--brand,#2E587A)}
.affil-block p{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55;margin:0}
.affil-cta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4);margin-top:var(--s-12)}
.affil-cta-grid .affil-cta{margin-top:0;text-align:left;padding:var(--s-6)}
.affil-cta-grid .affil-cta p{margin:0 0 var(--s-4) 0}
.affil-note{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.55;margin-top:var(--s-12);padding:var(--s-4) var(--s-5);border:1px dashed var(--border);border-radius:var(--r-md);background:var(--surface-soft)}
.affil-note strong{color:var(--ink-2)}
