/* Practical guides use the same hero, chapter, comparison and CTA layouts as
   DelphiMethodGuide. Colors, typography and motion come from the shared design
   system; these rules only cover article-specific content and navigation. */
.cal-practical-article .cal-wrap {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
.cal-practical-article :is(h1, h2, h3, p) { margin: 0 0 18px; }
.cal-practical-article .cal-hero > p { margin-bottom: 22px; }
body[data-route] main .cal-practical-article .article-byline {
  font-size: 14px;
  color: var(--ds-fg3);
}
.cal-practical-article .article-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  align-items: baseline;
  border-top: 1px solid var(--ds-stroke);
  padding-top: 20px;
  margin-top: 28px;
  max-width: 1000px;
  font-size: 14px;
}
.cal-practical-article .article-nav strong { color: var(--ds-fg3); }
.cal-practical-article .article-nav a { text-decoration: underline; }
.cal-practical-article .article-copy { min-width: 0; }
.cal-practical-article .article-copy > h3 { margin-top: 32px; }
.cal-practical-article .article-copy > h3:first-child { margin-top: 0; }
.cal-practical-article .article-copy > :last-child { margin-bottom: 0; }
.cal-practical-article .article-example { margin-bottom: 28px; }
.cal-practical-article .article-example > :last-child { margin-bottom: 0; }
.cal-practical-article .cal-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  margin: 28px 0;
}
.cal-practical-article .cal-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}
.cal-practical-article .cal-table caption {
  text-align: left;
  padding: 16px 20px;
  font-weight: 600;
  color: var(--ds-fg2);
}
.cal-practical-article .cal-table :is(th, td) {
  padding: 16px 20px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--ds-stroke);
}
.cal-practical-article .cal-table tr:last-child td { border-bottom: 0; }
.cal-practical-article .article-related-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 40px;
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
}
.cal-practical-article .article-related-list li {
  border-top: 1px solid var(--ds-stroke-strong);
  padding-top: 18px;
}
.cal-practical-article .cal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}
.cal-practical-article .cal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
@media (max-width: 900px) {
  .cal-practical-article .article-copy { margin-top: 24px; }
}
@media (max-width: 620px) {
  .cal-practical-article .article-nav { gap: 12px 20px; }
  .cal-practical-article .article-nav strong { flex-basis: 100%; }
  .cal-practical-article .article-related-list { grid-template-columns: 1fr; }
}
