/**
 * NELH Radical Lives — front-end card directory.
 * Uses the site's brand tokens when present, with fallbacks so the plugin
 * also looks correct on its own. Markup matches the Society's existing
 * .nelh-rl styling.
 */
.nelh-rl{ color:var(--nelh-ink,#222121); font-family:var(--nelh-f-body,"Newsreader",Georgia,serif); }
.nelh-rl .wrap{ max-width:1240px; margin-inline:auto; padding-inline:clamp(20px,5vw,64px); }

/* Hero */
.nelh-rl-hero{ background:var(--nelh-ink,#222121); color:var(--nelh-paper,#f9f9f9); position:relative; overflow:hidden; }
.nelh-rl-hero::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(700px 320px at 88% -10%, rgba(239,133,146,.22), transparent 60%); }
.nelh-rl-hero .wrap{ position:relative; z-index:1; padding-block:clamp(48px,7vw,88px); max-width:1240px; }
.nelh-rl-eyebrow{ font-family:var(--nelh-f-ui,"Archivo",Arial,sans-serif); text-transform:uppercase; letter-spacing:.2em; font-weight:700; font-size:.72rem; color:var(--nelh-rose,#ef8592); }
.nelh-rl-hero h1{ font-family:var(--nelh-f-display,"Fraunces",Georgia,serif); font-weight:900; color:#fff; font-size:clamp(2.8rem,6.5vw,5rem); line-height:.98; letter-spacing:-.02em; margin:.14em 0 0; }
.nelh-rl-lede{ font-size:clamp(1.05rem,1.7vw,1.3rem); color:#d8d2d2; max-width:60ch; margin:22px 0 0; line-height:1.55; }
.nelh-rl-stat{ display:flex; align-items:baseline; gap:14px; margin-top:28px; }
.nelh-rl-stat b{ font-family:var(--nelh-f-display,"Fraunces",Georgia,serif); font-weight:900; font-size:clamp(2.4rem,4.5vw,3.4rem); color:var(--nelh-rose,#ef8592) !important; line-height:1; }
.nelh-rl-stat span{ font-family:var(--nelh-f-ui,"Archivo",Arial,sans-serif); text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:600; color:#cfc8c8; max-width:18ch; }

/* Intro callout (optional) */
.nelh-rl-callout{ background:var(--nelh-rose-tint,#fbe6e9); }
.nelh-rl-callout .wrap{ padding-block:clamp(26px,3vw,40px); }
.nelh-rl-callout p{ font-family:var(--nelh-f-body,"Newsreader",Georgia,serif); font-size:1.05rem; color:var(--nelh-ink,#222121); margin:0; line-height:1.6; max-width:90ch; }
.nelh-rl-callout em{ color:var(--nelh-oxblood-deep,#5d0f12); }
.nelh-rl-callout a{ color:var(--nelh-oxblood,#81171a); font-weight:600; }

/* Card grid */
.nelh-rl-index{ background:var(--nelh-paper,#f9f9f9); }
.nelh-rl-index .wrap{ padding-block:clamp(40px,5vw,68px); }
.nelh-rl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.nelh-rl-card{ background:#fff; border:1px solid var(--nelh-rule,rgba(34,33,33,.16)); border-left:3px solid var(--nelh-oxblood,#81171a); padding:22px 24px 24px; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s, border-color .2s; }
.nelh-rl-card:hover{ transform:translateY(-4px); box-shadow:0 16px 30px rgba(34,33,33,.13); border-left-color:var(--nelh-rose,#ef8592); }
.nelh-rl-card h3{ font-family:var(--nelh-f-display,"Fraunces",Georgia,serif); font-weight:800; font-size:1.34rem; line-height:1.08; margin:0; }
.nelh-rl-card h3 a{ color:var(--nelh-ink,#222121); text-decoration:none; transition:color .15s; }
.nelh-rl-card:hover h3 a{ color:var(--nelh-oxblood,#81171a); }
.nelh-rl-card .rl-bio{ margin:10px 0 0; flex:1; }
.nelh-rl-card .rl-bio p{ font-family:var(--nelh-f-body,"Newsreader",Georgia,serif); font-size:.97rem; color:var(--nelh-ink-soft,#4a4646); margin:0 0 .6em; line-height:1.5; }
.nelh-rl-card .rl-bio p:last-child{ margin-bottom:0; }
.nelh-rl-card .rl-read{ margin-top:16px; font-family:var(--nelh-f-ui,"Archivo",Arial,sans-serif); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; color:var(--nelh-oxblood,#81171a); text-decoration:none; }
.nelh-rl-card .rl-read:hover{ color:var(--nelh-ink,#222121); }
.nelh-rl-empty{ font-family:var(--nelh-f-body,"Newsreader",Georgia,serif); color:var(--nelh-ink-soft,#4a4646); }

@media (max-width:900px){ .nelh-rl-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .nelh-rl-grid{ grid-template-columns:1fr; } }
