.node-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.node-card{gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-5) calc(var(--sp-5) + 4px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs);flex-direction:column;transition:box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.node-card:hover{box-shadow:var(--sh-md);border-color:var(--line-strong)}.node-card:before{content:"";background:var(--rw-500);width:4px;position:absolute;inset:0 auto 0 0}.node-card--kf:before{background:var(--kf-500)}.node-card__kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--brass-700);font-size:.68rem;font-weight:800}.node-card__title{font-family:var(--font-display);margin:0;font-size:1.12rem;line-height:1.3}.node-card__title a{color:var(--ink-900)}.node-card__title a:hover{color:var(--rw-600)}.node-card--kf .node-card__title a:hover{color:var(--kf-600)}.node-card__object{font-size:var(--fs-small);color:var(--ink-700);margin:0;font-weight:700}.node-card__text{font-size:var(--fs-small);color:var(--ink-500);margin:0}.node-card__products{border-top:1px dashed var(--line-strong);padding-top:var(--sp-3)}.node-card__products-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);margin-bottom:var(--sp-2);font-size:.68rem;font-weight:800;display:block}.node-card__products ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.node-card__products a{font-size:var(--fs-small);color:var(--ink-900);border-bottom:1px solid var(--brass-500);font-weight:700}.node-card__products a:hover{color:var(--brass-700)}.node-card>.link-arrow{margin-top:auto}.nodes-aside{border:1px solid var(--line);border-left:3px solid var(--rw-500);border-radius:var(--r-md);background:var(--paper);padding:var(--sp-4);margin-bottom:var(--sp-5)}.nodes-aside--kf{border-left-color:var(--kf-500)}.nodes-aside__title{margin-bottom:var(--sp-2);font-weight:600}.nodes-aside p{font-size:var(--fs-small);color:var(--ink-500);margin:0 0 var(--sp-3)}@media (max-width:600px){.node-grid{grid-template-columns:1fr}}
