.res-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.rcard{--rc:var(--accent)}.rcard--threats{--rc:#e2554a}.rcard--defense{--rc:#2bb7c4}.rcard--governance{--rc:#e0a52f}.rcard{border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .4s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}.rcard:hover{border-color:color-mix(in srgb,var(--rc) 55%,var(--line));transform:translateY(-5px);box-shadow:0 18px 40px -24px color-mix(in srgb,var(--rc) 60%,transparent)}.rcard .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(120% 120% at 72% 18%,color-mix(in srgb,var(--rc) 26%,transparent),var(--surface))}.rcard .thumb:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,hsla(0,0%,100%,.06) 1px,transparent 1.4px);background-size:14px 14px}.rcard .thumb__glyph{position:absolute;right:-8px;bottom:-14px;width:128px;height:128px;color:var(--rc);opacity:.22;transition:transform .5s var(--ease),opacity .5s var(--ease)}.rcard:hover .thumb__glyph{transform:translate(-4px,-4px) rotate(-3deg);opacity:.32}.rcard__badge{position:absolute;top:14px;right:14px;z-index:1;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:rgba(43,183,196,.12);border:1px solid rgba(43,183,196,.4);border-radius:999px;padding:4px 9px}.rcard .rb{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1 1}.rcard .rt{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rc);margin-bottom:13px}.rcard .rt__track{color:var(--muted)}.rcard h4{font-size:1.2rem;line-height:1.2;margin-bottom:10px}.rcard .rdek{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rcard .rmeta{display:flex;gap:14px;font-family:var(--font-mono),monospace;font-size:11px;color:var(--muted);margin-bottom:18px}.rcard .rmeta span{position:relative}.rcard .rmeta span+span{padding-left:14px}.rcard .rmeta span+span:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--line-2)}.rcard .more{margin-top:auto;color:var(--accent);font-weight:700;font-size:13.5px}@media (max-width:980px){.res-grid{grid-template-columns:1fr}}