/* research.css: index for public writing, disclosures and open-source work */
.research-hero{max-width:1100px;padding-bottom:var(--space-6)}
.research-index{max-width:1100px;padding-top:var(--space-5)}
.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.research-card{
    --research-accent:var(--accent);
    --research-dim:var(--accent-dim);
    position:relative;display:flex;flex-direction:column;min-width:0;
    padding:1.8rem;background:var(--bg-surface);
    border:1px solid var(--border);border-radius:var(--radius-lg);
    overflow:hidden;transition:border-color .25s,transform .25s,background .25s
}
.research-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--research-accent),transparent 85%);opacity:.7
}
.research-card:hover{border-color:color-mix(in srgb,var(--research-accent) 42%,transparent);background:var(--bg-surface-hover);transform:translateY(-3px)}
.research-card-blog{--research-accent:var(--accent);--research-dim:var(--accent-dim)}
.research-card-cves{--research-accent:var(--accent-warm);--research-dim:var(--accent-warm-dim)}
.research-card-tools{--research-accent:var(--accent-alt);--research-dim:var(--accent-alt-dim)}
.research-card-head{display:flex;gap:var(--space-4);align-items:center;margin-bottom:var(--space-5)}
.research-icon{
    width:48px;height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;
    color:var(--research-accent);background:var(--research-dim);
    border:1px solid color-mix(in srgb,var(--research-accent) 25%,transparent);border-radius:var(--radius-lg)
}
.research-icon .icon{width:24px;height:24px}
.research-kicker{display:block;color:var(--research-accent);font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.2rem}
.research-card h2{font-size:1.35rem;margin:0}
.research-card>p{color:var(--text-secondary);font-size:.92rem;line-height:1.65;margin-bottom:var(--space-5)}
.research-links{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin:0 0 var(--space-6)}
.research-links li{padding-left:1rem;position:relative;font-size:.86rem;line-height:1.45}
.research-links li::before{content:'›';position:absolute;left:0;color:var(--research-accent);font-weight:700}
.research-links a{color:var(--text-primary);text-decoration:none}
.research-links a:hover{color:var(--research-accent)}
.research-links-mono a{font-family:var(--font-mono);font-size:.78rem}
.research-action{
    display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;
    color:var(--research-accent);font-family:var(--font-mono);font-size:.8rem;font-weight:600;text-decoration:none
}
.research-action:hover{color:var(--text-bright)}
.research-context{max-width:1100px;padding-top:var(--space-5)}
.research-context-box{
    max-width:820px;padding:var(--space-6);
    background:linear-gradient(135deg,var(--accent-dim),transparent 70%);
    border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-lg)
}
.research-context-box .section-label{margin-bottom:var(--space-3)}
.research-context-box h2{font-size:1.65rem;margin-bottom:var(--space-3)}
.research-context-box p{color:var(--text-secondary);line-height:1.75;max-width:68ch}
@media(max-width:960px){.research-grid{grid-template-columns:1fr}.research-card{padding:1.6rem}}
@media(max-width:640px){
    .research-card{padding:1.35rem}
    .research-card-head{align-items:flex-start}
    .research-context-box{padding:var(--space-5)}
    .research-context-box h2{font-size:1.4rem}
    .research-links a,.research-action{display:inline-flex;align-items:center;min-height:44px}
}
