.resource-hero { padding: 5rem 0; background: linear-gradient(145deg,#f6f8fa,#fff 55%,#efe8dd); }
.resource-hero p { max-width: 50rem; margin-top: 1rem; color: var(--ink-soft); font-size: 1.15rem; }
.resource-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.resource-card { min-height: 15rem; display: flex; flex-direction: column; padding: 1.5rem; text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.resource-card span { color: var(--carrier-bright); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.resource-card p { margin-top: 0.7rem; color: var(--ink-soft); }
.resource-card b { margin-top: auto; padding-top: 1rem; color: var(--carrier); }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 18rem; gap: 3rem; align-items: start; }
.article-body { max-width: 50rem; }
.article-body h2 { margin-top: 2.3rem; font-size: 2rem; }
.article-body h3 { margin-top: 1.6rem; font-size: 1.3rem; }
.article-body p { margin-top: 1rem; color: #334651; }
.article-body ul { color: #334651; }
.article-aside { position: sticky; top: 7.5rem; padding: 1.3rem; background: var(--wash); border-radius: var(--radius); }
.article-aside strong { display: block; }
.article-aside a { display: block; margin-top: 0.55rem; color: var(--carrier-bright); text-decoration: none; font-weight: 800; font-size: 0.88rem; }
@media (max-width: 72rem) {
    .article-layout { grid-template-columns: 1fr; }
    .article-aside { position: static; }
}
@media (max-width: 46rem) {
    .resource-grid { grid-template-columns: 1fr; }
}