.resource-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 42px;
}

.resource-categories a {
  padding: 12px 18px;
  border: 1px solid #d9dadd;
  border-radius: 12px;
  background: #fff;
  color: #34363b;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.resource-categories a:hover,
.resource-categories a:focus-visible {
  border-color: #ff5a12;
}

.resource-category {
  margin-top: 64px;
  scroll-margin-top: 120px;
}

.resource-category > h2 {
  color: var(--ink);
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: -.03em;
}

.resource-grid-compact {
  gap: 24px;
  margin-top: 28px;
}

.resource-grid-compact .resource-card-item {
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  background: #fff;
}

.resource-grid-compact .resource-card-item > a {
  height: 100%;
  padding: 26px;
  border-radius: inherit;
}

.resource-grid-compact .resource-card-body { padding: 0; }
.resource-grid-compact h3 {
  margin: 14px 0 0;
  color: var(--ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.025em;
}

.resource-author,
.resource-breadcrumb {
  color: #67696f;
  font-size: 14px;
  line-height: 1.6;
}
.resource-author { margin-top: 12px; }
.resource-breadcrumb { margin-top: 24px; }
.resource-breadcrumb span { margin-inline: 4px; }
.resource-author a,
.resource-breadcrumb a,
.resource-article-content a,
.resource-reading-path a {
  color: #34363b;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.resource-table-wrap {
  max-width: 100%;
  margin-top: 28px;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
}
.resource-table { width: 100%; border-collapse: collapse; text-align: left; }
.resource-table caption {
  padding: 18px;
  background: #f9fafb;
  color: #34363b;
  font-size: 15px;
  font-weight: 700;
  text-align: left;
}
.resource-table th,
.resource-table td {
  min-width: 130px;
  padding: 16px;
  border-top: 1px solid #e5e7eb;
  color: #5f6167;
  font-size: 15px;
  line-height: 1.65;
  vertical-align: top;
}
.resource-table thead { background: #f9fafb; }
.resource-table th { color: #34363b; font-weight: 600; }

.resource-faq details { padding: 20px 0; border-bottom: 1px solid #e5e7eb; }
.resource-faq summary {
  cursor: pointer;
  color: #34363b;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}
.resource-faq details p { margin-top: 18px; }
.resource-reading-path { margin-top: 60px; }
.resource-reading-path ul { line-height: 1.75; }
.resource-demo { margin-top: 24px; }
.resource-demo .button,
.resources-page .resources-cta .button {
  background: #111827;
  border-color: #111827;
  color: #fff;
  text-decoration: none;
}
.resource-article-content a:focus-visible,
.resource-table-wrap:focus-visible,
.resource-faq summary:focus-visible,
.resource-categories a:focus-visible,
.resource-grid-compact a:focus-visible {
  outline: 2px solid #ff5a12;
  outline-offset: 4px;
}

@media (max-width: 1020px) {
  .resource-toc { display: block; position: static; }
  .resource-toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .resource-article-header h1 { font-size: clamp(34px, 9vw, 52px); line-height: 1.08; overflow-wrap: anywhere; }
  .resource-categories { flex-wrap: nowrap; overflow-x: auto; padding: 4px; }
  .resource-categories a { flex-shrink: 0; }
  .resource-grid-compact .resource-card-item > a { padding: 22px; }
  .resource-toc nav { grid-template-columns: 1fr; }
  .resource-breadcrumb { overflow-wrap: anywhere; }
}
