/* Match the main site's Manrope typography without altering page layouts. */
.ab-journal, .acc, .acl {
  font-family: Manrope, sans-serif;
  font-weight: 500;
  letter-spacing: -.01em;
}
.ab-journal h1, .acc h1, .acl h1 {
  font-family: Manrope, sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
}
.ab-journal h2, .ab-journal h3, .acc h2, .acc h3, .acl h2, .acl h3 {
  font-family: Manrope, sans-serif;
  font-weight: 700;
  letter-spacing: -.01em;
}
.ab-journal button, .ab-journal input, .ab-journal select,
.acc button, .acc input, .acc select,
.acl button, .acl input, .acl select, .acl textarea {
  font-family: Manrope, sans-serif;
}
.ab-button, .ab-filters a, .ab-tags a, .ab-search button,
.acc-read, .acc-status button, .acl-button {
  font-weight: 600;
  letter-spacing: normal;
}
.acc-cover-type > span:first-child, .acc-metric strong,
.acl-metric strong, .acl-hero-number strong {
  font-weight: 700;
  letter-spacing: -.02em;
}

/* Use the active theme's palette, not independently chosen approximations. */
.ab-journal, .acc, .acl {
  --ab-ink: var(--color-base, #171717);
  --ab-orange: var(--color-accent, #eb4522);
  --ab-muted: var(--color-base-opacity-70, rgba(23,23,23,.7));
  --ab-line: var(--color-base-opacity-10, rgba(23,23,23,.1));
  --ac: var(--color-accent, #eb4522);
  --ink: var(--color-base, #171717);
  --muted: var(--ab-muted);
  --line: var(--ab-line);
  background: var(--color-primary, #edecea);
  color: var(--color-base, #171717);
}
.acc h1 em, .acc-metric strong, .acc-read > span,
.acc-status button, .acc-cover-type > span:first-child,
.acc-cta .acc-eyebrow, .acl-metric strong, .acl-step-no,
.acl-hero-number strong, .acl-bar-active .acl-bar-label strong,
.acl-cta .acl-eyebrow, .acl-cta .acl-textlink,
.acl-result-grid strong, .acl-reading a:not([data-fancybox]) {
  color: var(--color-accent, #eb4522);
}
.ab-deck, .acc-crumb, .acc-eyebrow, .acc-intro > p,
.acc-status, .acc-channel, .acc-summary, .acc-metric > span,
.acl-reading p, .acl-hero-evidence figcaption {
  color: var(--ab-muted);
}
.ab-cta, .ab-article-cta, .ab-prose > p:first-child,
.ab-prose th, .acl-takeaway, .acl-story-cols aside,
.acl-hero-number, .acl-hero-evidence {
  background: var(--color-white, #fff);
}
.acc-cover, .acl thead, .acl-track {
  background: var(--color-primary, #edecea);
}
.acc-cover-type, .acc-cta, .acl-metrics, .acl-cta, .acl-result-grid > div {
  background: var(--color-base, #171717);
}
.acc-cta > a { background: var(--color-accent, #eb4522); }
.ab-button:hover, .acc-cta > a:hover, .acl-button:hover {
  background: var(--color-base, #171717);
  box-shadow: inset 0 0 0 1px var(--color-accent, #eb4522);
}
.ab-filters a, .ab-tags a, .ab-search input[type=search],
.acc-toolbar input, .acc-toolbar select, .acc-card, .acl-evidence figure {
  border-color: var(--ab-line);
}
.ab-card-bottom { border-top-color: var(--ab-line); }
.ab-card:hover { border-color: var(--color-accent, #eb4522); }
.ab-journal a:focus-visible, .ab-journal button:focus-visible,
.ab-journal input:focus-visible, .ab-journal summary:focus-visible {
  outline-color: var(--color-accent, #eb4522);
}
.acl tbody tr:last-child { background: var(--color-accent-opacity-06, rgba(235,69,34,.06)); }
@media (max-width:760px) {
  .ab-toc { background: var(--color-white, #fff); }
}

/* Match the theme's .button and .main__buttonDiscuss components. */
.ab-button, .acl-button, .acc-cta > a, .ab-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  gap: 10px;
  min-height: 76px;
  height: auto;
  max-width: 100%;
  padding: 20px 32px;
  border: 2px solid var(--color-base, #171717);
  border-radius: 100px;
  background: var(--color-base, #171717);
  color: var(--color-white, #fff) !important;
  font: 600 18px/1.5 Manrope, sans-serif;
  letter-spacing: normal;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: background-color .3s ease, border-color .3s ease,
    color .3s ease, transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
}
.acc-cta > a, .acl-cta .acl-button {
  background: var(--color-white, #fff);
  border-color: var(--color-white, #fff);
  color: var(--color-base, #171717) !important;
}
.ab-button:hover, .acl-button:hover, .acc-cta > a:hover,
.acl-cta .acl-button:hover, .ab-search button:hover {
  background: var(--color-accent, #eb4522);
  border-color: var(--color-accent, #eb4522);
  color: var(--color-white, #fff) !important;
  box-shadow: 0 8px 28px rgba(235,69,34,.28);
  transform: translateY(-2px);
}
.ab-button:active, .acl-button:active, .acc-cta > a:active,
.ab-search button:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(235,69,34,.18);
  transition-duration: .1s;
}
.ab-button:focus-visible, .acl-button:focus-visible,
.acc-cta > a:focus-visible, .ab-search button:focus-visible,
.ab-filters a:focus-visible, .ab-tags a:focus-visible {
  outline: 2px solid var(--color-accent, #eb4522);
  outline-offset: 3px;
}
.ab-search button { min-height: 52px; padding: 10px 24px; font-size: 16px; }
.ab-filters a, .ab-tags a { border-radius: 100px; }
.ab-filters a[aria-current] {
  background: var(--color-base, #171717);
  border-color: var(--color-base, #171717);
  color: var(--color-white, #fff);
}
.ab-filters a:hover, .ab-tags a:hover {
  background: var(--color-accent, #eb4522);
  border-color: var(--color-accent, #eb4522);
  color: var(--color-white, #fff);
}
@media (max-width:670px) {
  .ab-button, .acl-button, .acc-cta > a {
    min-height: 58px;
    padding: 15px 22px;
    font-size: 16px;
  }
  .ab-search button { min-height: 44px; }
}
@media (prefers-reduced-motion:reduce) {
  .ab-button, .acl-button, .acc-cta > a, .ab-search button {
    transition: none;
    transform: none;
  }
}
