
.meta-line { color: var(--muted); font-size: 0.9rem; margin-top: 0.5rem; }
.dek { font-size: 1.12rem; color: var(--muted); }
.resource-layout { display: grid; grid-template-columns: 1fr 280px; gap: 2rem; align-items: start; }
.narrow { max-width: 46rem; }
.hub-grid { margin: 1.25rem 0 2rem; }
.tag { display: inline-block; font-size: 0.72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--blue); background: var(--blue-soft); padding: 0.2rem 0.5rem; border-radius: 999px; margin-bottom: 0.5rem; }
.toc ol { margin: 0.5rem 0 0; padding-left: 1.2rem; }
.toc a { font-weight: 600; }
.process-steps { list-style: none; padding: 0; margin: 1rem 0 2rem; }
.process-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; margin-bottom: 1rem; background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.1rem; box-shadow: var(--shadow); }
.step-num { width: 40px; height: 40px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; font-weight: 800; }
.process-steps h3 { margin: 0 0 0.35rem; color: var(--blue-dark); font-size: 1.05rem; }
.process-steps p { margin: 0; color: var(--muted); }
.tip { margin-top: 0.5rem !important; color: var(--green-dark) !important; }
.resource-links { list-style: none; padding: 0; }
.resource-links li { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 1rem; margin-bottom: 0.75rem; box-shadow: var(--shadow); }
.resource-links a { font-weight: 700; font-size: 1.02rem; }
.resource-links .src { display: block; color: var(--green-dark); font-size: 0.85rem; font-weight: 600; margin: 0.15rem 0 0.35rem; }
.resource-links p { margin: 0; color: var(--muted); font-size: 0.95rem; }
.faq-item { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 0.85rem 1rem; margin-bottom: 0.6rem; }
.faq-item summary { font-weight: 700; cursor: pointer; color: var(--blue-dark); }
.faq-a { margin-top: 0.6rem; color: var(--muted); }
.side-rail .sticky-card { position: sticky; top: 88px; }
.side-list { list-style: none; padding: 0; margin: 0; }
.side-list li { margin-bottom: 0.55rem; }
.small { font-size: 0.82rem; }
.cta-band { margin-top: 2rem; }
.disclaimer p { font-size: 0.95rem; }
@media (max-width: 900px) {
 .resource-layout { grid-template-columns: 1fr; }
 .side-rail { order: -1; }
 .side-rail .sticky-card { position: static; }
}
