/* Kewl Method additions on top of the Webflow export.
   Content blocks used in articles (inserted from the admin). */
:root { --km-ease-out: cubic-bezier(0.23, 1, 0.32, 1); }

.km-cta { margin: 32px 0; }
.km-cta-btn {
  display: inline-block; padding: 16px 26px; border-radius: 100px;
  background: #111b1b; color: #f5f2e9 !important; text-decoration: none !important;
  font: 500 16px/1.2 Montserrat, sans-serif;
  transition: transform 160ms var(--km-ease-out), background-color 200ms var(--km-ease-out);
}
.km-cta-btn:hover { background: #2a3535; }
.km-cta-btn:active { transform: scale(0.97); }

.km-callout {
  margin: 32px 0; padding: 20px 24px; border-radius: 6px;
  background: #e6e2d6; border-left: 3px solid #6b7355; color: #111b1b;
}
.km-callout > :first-child { margin-top: 0; }
.km-callout > :last-child { margin-bottom: 0; }

.km-figure { margin: 40px 0; }
.km-figure img { width: 100%; height: auto; display: block; border-radius: 6px; }
.km-figure figcaption { margin-top: 10px; font: 400 13px/1.5 "Roboto Mono", monospace; color: #4a5252; }

.km-faq { margin: 24px 0; padding-top: 20px; border-top: 1px solid #c9c2ae; }
.km-faq-q { margin: 0 0 8px; font-family: Noetext, Georgia, serif; font-weight: 400; font-size: 24px; line-height: 1.2; color: #111b1b; }
.km-faq-a > :first-child { margin-top: 0; }
.km-faq-a > :last-child { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) { .km-cta-btn { transition: none; } }
