/**
 * Reusable long-form article styles (legal pages, help docs, etc.).
 * Apply `.cm-article` to the content root. Uses Cuemind sans type.
 */

.cm-article {
  color: var(--cm-text);
  font-size: var(--cm-text-base);
  line-height: var(--cm-leading-relaxed);
}

.cm-article__breadcrumb {
  font-size: var(--cm-text-sm);
  color: var(--cm-text-muted);
  margin-bottom: var(--cm-space-8);
}

.cm-article__breadcrumb a {
  color: var(--cm-text-muted);
}

.cm-article__breadcrumb a:hover {
  color: var(--cm-link);
}

.cm-article h1 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: var(--cm-font-weight-bold);
  letter-spacing: -0.02em;
  line-height: var(--cm-leading-tight);
  margin: 0 0 var(--cm-space-4);
}

.cm-article__meta {
  color: var(--cm-text-muted);
  font-size: var(--cm-text-base);
  line-height: var(--cm-leading-normal);
  margin: 0 0 var(--cm-space-12);
}

.cm-article h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  font-weight: var(--cm-font-weight-bold);
  letter-spacing: -0.01em;
  line-height: var(--cm-leading-tight);
  margin: var(--cm-space-12) 0 var(--cm-space-6);
}

.cm-article h2:first-of-type {
  margin-top: var(--cm-space-10);
}

.cm-article h3 {
  font-size: var(--cm-text-lg);
  font-weight: var(--cm-font-weight-semibold);
  letter-spacing: -0.01em;
  line-height: var(--cm-leading-tight);
  margin: var(--cm-space-8) 0 var(--cm-space-4);
}

.cm-article p {
  margin: 0 0 var(--cm-space-6);
  line-height: var(--cm-leading-relaxed);
}

.cm-article a {
  color: var(--cm-link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.cm-article a:hover {
  opacity: 0.85;
}

/* Dash lists with hanging indent */
.cm-article ul {
  list-style: none;
  margin: 0 0 var(--cm-space-6);
  padding: 0 0 0 var(--cm-space-6);
}

.cm-article ul > li {
  position: relative;
  margin: 0 0 var(--cm-space-5);
  padding-left: var(--cm-space-4);
  line-height: var(--cm-leading-relaxed);
}

.cm-article ul > li:last-child {
  margin-bottom: 0;
}

.cm-article ul > li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: var(--cm-text);
}

.cm-article ol {
  list-style: decimal;
  margin: 0 0 var(--cm-space-6);
  padding: 0 0 0 var(--cm-space-6);
}

.cm-article ol > li {
  margin: 0 0 var(--cm-space-5);
  padding-left: var(--cm-space-2);
  line-height: var(--cm-leading-relaxed);
}

.cm-article ol > li:last-child {
  margin-bottom: 0;
}

.cm-article li > p {
  margin-bottom: var(--cm-space-4);
}

.cm-article li > p:last-child {
  margin-bottom: 0;
}

/* Tight stacked lines (address / contact blocks) */
.cm-article__stack {
  margin: 0 0 var(--cm-space-6);
  line-height: var(--cm-leading-normal);
}

.cm-article__stack p {
  margin: 0;
}

.cm-article__stack + p,
.cm-article__stack + .cm-article__stack {
  margin-top: var(--cm-space-6);
}
