/* Resource silos (generated pages under /resources/). Built on the tokens in style.css. */
.res-hero{ background:var(--surface-wash); padding:var(--space-8) 0 var(--space-7); border-bottom:1px solid var(--border-hairline); }
.res-hero h1{ font-size:clamp(1.9rem,1.4rem + 2vw,2.9rem); max-width:22ch; margin-top:var(--space-3); }
.res-hero .lead{ max-width:62ch; color:var(--text-body); font-size:var(--fs-p1); margin:0 0 var(--space-4); }
.res-meta{ color:var(--text-muted); font-size:var(--fs-p3); margin:0; }
.res-breadcrumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:var(--space-2); padding:0; margin:0 0 var(--space-5); font-size:var(--fs-p3); color:var(--text-muted); }
.res-breadcrumb li + li::before{ content:"/"; margin-right:var(--space-2); color:var(--text-faint); }
.res-breadcrumb a{ color:var(--text-muted); text-decoration:none; }
.res-breadcrumb a:hover{ color:var(--text-strong); text-decoration:underline; }

.res-body{ padding:var(--space-8) 0 var(--space-9); }
.res-layout{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:var(--space-8); align-items:start; }
.res-layout:not(:has(.res-toc)){ grid-template-columns:minmax(0,760px); }
@media (max-width:900px){ .res-layout{ grid-template-columns:1fr; gap:var(--space-5); } }
.res-toc{ position:sticky; top:96px; font-size:var(--fs-p3); }
@media (max-width:900px){ .res-toc{ position:static; background:var(--surface-wash); padding:var(--space-4) var(--space-5); border-radius:var(--radius-md); } }
.res-toc h2{ font-size:.8rem; text-transform:uppercase; letter-spacing:var(--ls-eyebrow); color:var(--text-muted); margin-bottom:var(--space-3); }
.res-toc ol{ list-style:none; margin:0; padding:0; display:grid; gap:var(--space-2); }
.res-toc a{ color:var(--text-body); text-decoration:none; }
.res-toc a:hover{ color:var(--text-strong); text-decoration:underline; }

.res-prose{ max-width:760px; font-size:var(--fs-p1); line-height:1.7; color:var(--text-body); }
.res-prose h2{ font-size:clamp(1.5rem,1.2rem + 1vw,2rem); margin:var(--space-8) 0 var(--space-4); scroll-margin-top:96px; }
.res-prose h2:first-child{ margin-top:0; }
.res-prose h3{ font-size:1.25rem; margin:var(--space-6) 0 var(--space-3); scroll-margin-top:96px; }
.res-prose p, .res-prose ul, .res-prose ol{ margin:0 0 var(--space-5); }
.res-prose li{ margin-bottom:var(--space-2); }
.res-prose a{ color:var(--vp-navy-500); text-decoration:underline; text-underline-offset:3px; }
.res-prose blockquote{ margin:var(--space-6) 0; padding:var(--space-4) var(--space-5); border-left:4px solid var(--vp-navy); background:var(--surface-wash); border-radius:0 var(--radius-md) var(--radius-md) 0; }
.res-table-wrap{ overflow-x:auto; margin:0 0 var(--space-6); }
.res-prose table{ width:100%; border-collapse:collapse; font-size:var(--fs-p2); }
.res-prose th, .res-prose td{ text-align:left; padding:var(--space-3) var(--space-4); border-bottom:1px solid var(--border-hairline); vertical-align:top; }
.res-prose th{ background:var(--surface-wash); color:var(--text-strong); }

.res-after{ margin-top:var(--space-8); display:grid; gap:var(--space-8); }
.res-children h2, .res-sources h2{ font-size:1.5rem; }
.res-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:var(--space-5); }
.res-card{ display:flex; flex-direction:column; gap:var(--space-2); padding:var(--space-5); border:1px solid var(--border-hairline); border-radius:var(--radius-lg); background:var(--surface-card); text-decoration:none; color:var(--text-body); transition:box-shadow .2s, transform .2s; }
.res-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.res-card h3{ font-size:1.1rem; margin:0; }
.res-card p{ margin:0; font-size:var(--fs-p3); color:var(--text-muted); }
.res-card-kind{ font-size:.72rem; text-transform:uppercase; letter-spacing:var(--ls-eyebrow); color:var(--text-muted); font-weight:700; }
.res-sources ul{ margin:0; padding-left:1.2em; font-size:var(--fs-p3); }
.res-sources a{ color:var(--vp-navy-500); }

.res-cta{ background:var(--surface-inverse); color:var(--text-on-inverse); text-align:center; padding:var(--space-9) 0; }
.res-cta h2{ color:var(--vp-white); }
.res-cta p{ color:var(--text-on-inverse-muted); max-width:52ch; margin:0 auto var(--space-5); }
