/* Caterman — site-wide closing CTA band (above the footer on every page).
   Dark, full-bleed, sits directly above the light footer. Self-contained. */
.cm-cta {
  position: relative; width: 100vw; left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  background: #000; color: #fff;
  padding: clamp(64px, 9vw, 120px) 6vw;
  font-family: 'Manrope', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.cm-cta *, .cm-cta *::before, .cm-cta *::after { box-sizing: border-box; }
.cm-cta__inner { max-width: 980px; margin: 0 auto; text-align: center; }
/* Brand asterisk — the "*" motif in the Caterman red (#81171b, the logo red),
   site-wide. cta.css is the one stylesheet present on every page, so these rules
   override the per-page sheets regardless of CSS load order. Tune via --cm-red. */
:root { --cm-red: #81171b; }
.cm-cta__ast,
.cm-os-ast,
.cm-hero i { color: var(--cm-red) !important; font-style: normal; }
.cm-blog__body h2::after,
.cm-blog__body h3::after { color: var(--cm-red) !important; }
.cm-cta__title {
  margin: 0; font-family: 'Roboto Condensed', 'Manrope', sans-serif;
  font-weight: 700; text-transform: uppercase;
  /* Matched to the homepage overview heading (.tbk__title in hero.css) so the two
     section headings are the same size + scale together on wide screens. */
  font-size: clamp(28px, 4vw, 54px); line-height: 1.04; letter-spacing: -.02em;
}
.cm-cta__sub {
  margin: 18px auto 0; max-width: 620px;
  font-size: clamp(15px, 1.5vw, 19px); line-height: 1.6; color: #c7c7c7;
}
.cm-cta__btns {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center;
  margin-top: clamp(28px, 3.5vw, 40px);
}
.cm-cta__btn {
  display: inline-block; padding: 13px 36px; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .4); text-decoration: none;
  font-family: 'Roboto Condensed', 'Manrope', sans-serif; font-weight: 700;
  text-transform: uppercase; font-size: clamp(17px, 1.6vw, 23px); line-height: 1.15;
  transition: background .25s cubic-bezier(.16,1,.3,1), color .25s ease, border-color .25s ease;
}
.cm-cta__btn--primary { background: #fff; color: #000; }
.cm-cta__btn--primary:hover { background: rgba(255, 255, 255, .85); }
.cm-cta__btn--ghost { background: transparent; color: #fff; }
.cm-cta__btn--ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.cm-cta__links { margin: 22px 0 0; font-size: clamp(14px, 1.3vw, 16px); color: #9a9a9a; }
.cm-cta__links a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .4); }
.cm-cta__links a:hover { text-decoration-color: #fff; }
