/* Normalized Factors — infinite-scroll panel (dark "Why us" band) */
.nf-panel { height: 440px; background: var(--dark-2); border: 1px solid var(--dark-line); border-radius: 16px; padding: 24px 24px; display: flex; flex-direction: column; min-height: 0; }
.nf-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.nf-label .t { font-size: 13px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--mint); font-weight: 500; }
.nf-label .n { font-size: 13px; color: var(--brand-300); font-weight: 500; white-space: nowrap; }

.nf-wall { position: relative; flex: 1; overflow: hidden; min-height: 0; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%); }
.nf-cols { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.nf-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; will-change: transform; }
.nf-chip { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 11px 14px; background: rgba(255,255,255,0.03); border: 1px solid var(--dark-line); border-radius: 11px; }
.nf-chip .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); flex: none; }
.nf-chip .dot.a { background: var(--brand-300); }
.nf-chip span:last-child { min-width: 0; font-size: 14px; color: var(--brand-200); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media (prefers-reduced-motion: no-preference) {
  .nf-col.up { animation: nfUp 28s linear infinite; }
  .nf-col.down { animation: nfDown 34s linear infinite; }
}
@keyframes nfUp { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes nfDown { from { transform: translateY(-50%); } to { transform: translateY(0); } }
