/* Article pages: news stories, case studies, white paper summaries.
   Builds on optra-events.css (.ev-hero, .ev-main, .ev-section, .ev-card,
   .ev-btn). Generated by _tools/build-content-pages.py. */

.ar-wrap {
  max-width: 1120px;
  margin: 0 auto;
}

.ar-crumb {
  margin: 0 0 20px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
}

.ar-crumb a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ar-crumb a:hover {
  color: #bfe6ec;
}

.ar-hero h1 {
  font-size: clamp(1.75rem, 3.6vw, 2.75rem);
}

/* ── Key metrics ──────────────────────────────────────────────────────── */

.ar-body .ar-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
}

.ar-body .ar-stats li {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--ev-line);
  border-radius: 12px;
  background: #fff;
}

.ar-stats strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.875rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ev-teal-dark);
}

.ar-stats span {
  font-size: 0.925rem;
  line-height: 1.45;
  color: var(--ev-text);
}

/* ── Body copy ────────────────────────────────────────────────────────── */

.ar-body h3 {
  margin: 28px 0 8px;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--ev-ink);
}

.ar-body ul {
  margin: 0 0 16px;
  padding-left: 1.25rem;
  list-style: disc;
}

.ar-body li {
  margin-bottom: 8px;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.ar-body blockquote {
  margin: 24px 0;
  padding: 4px 0 4px 20px;
  border-left: 3px solid var(--ev-teal);
  font-size: 1.125rem;
  font-style: italic;
  color: var(--ev-ink);
}

.ar-dateline {
  font-weight: 600;
  color: var(--ev-ink);
}

/* ── Sidebar ──────────────────────────────────────────────────────────── */

.ar-card-body {
  padding: 8px 28px 28px;
}

.ar-card-body p {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.6;
}

.ar-card-body .ev-btn {
  width: 100%;
}

.ar-card-body .ev-btn + .ev-btn {
  margin-top: 12px;
}

.ar-related {
  margin: 20px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--ev-line);
  font-size: 14px;
}

.ar-related a {
  font-weight: 600;
}

@media (min-width: 960px) {
  .ar-aside {
    position: sticky;
    top: 96px;
  }
}

/* ── More stories ─────────────────────────────────────────────────────── */

.ar-body .ar-more {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-body .ar-more li {
  margin: 0;
}

.ar-more a {
  display: block;
  padding: 16px 20px;
  border: 1px solid var(--ev-line);
  border-radius: 12px;
  background: #fff;
  text-decoration: none !important;
  color: var(--ev-ink) !important;
  transition: border-color 0.15s;
}

.ar-more a:hover {
  border-color: var(--ev-teal);
}

.ar-more small {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  color: var(--ev-muted);
}

.ar-more span {
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 420px) {
  .ar-card-body {
    padding-left: 20px;
    padding-right: 20px;
  }
}
