/* TheraPPC brand layer
   One stylesheet for the shared look: lime marks and CTA fills, forest heroes,
   cream cards. Lime is only ever a fill under dark ink or a mark on a dark
   surface, because lime text on cream measures about 1.5:1.
   Loaded after each page's own styles, so it settles the accent without
   changing layout or copy. */

:root {
  --brand-lime: #6EEB6E;
  --brand-lime-hover: #54D456;
  --brand-ink: #07150F;
  --brand-line: rgba(110, 235, 110, 0.3);
}

/* Primary actions: lime fill, dark ink */
.btn-primary,
.btn-rust,
.service-button,
.site-call,
.post-form button,
.service-form button,
.gp-cta--lime,
form button[type="submit"] {
  background: var(--brand-lime) !important;
  background-image: none !important;
  color: var(--brand-ink) !important;
  border: 1px solid var(--brand-lime) !important;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn-rust:hover,
.service-button:hover,
.site-call:hover,
.post-form button:hover,
.service-form button:hover,
.gp-cta--lime:hover,
form button[type="submit"]:hover {
  background: var(--brand-lime-hover) !important;
  color: var(--brand-ink) !important;
  border-color: var(--brand-lime-hover) !important;
}

/* Secondary actions: lime edge and lime text, because almost every outlined
   button sits on a dark band. The one on cream takes dark ink instead. */
.btn-ghost,
.service-button.secondary {
  background: transparent !important;
  color: var(--brand-lime) !important;
  border: 1.5px solid rgba(110, 235, 110, 0.55) !important;
  box-shadow: none !important;
}

/* Cream surface: dark ink, lime edge kept. */
.contact-section .btn-ghost,
.contact-section .service-button.secondary {
  color: var(--ink, #2C2A26) !important;
  border-color: rgba(110, 235, 110, 0.6) !important;
}

.btn-ghost:hover,
.service-button.secondary:hover {
  background: var(--brand-lime) !important;
  color: var(--brand-ink) !important;
}

/* A monogram tile is a lime fill with dark ink, never lime text on cream */
.result-avatar {
  background: var(--brand-lime) !important;
  color: var(--brand-ink) !important;
  border-color: var(--brand-lime) !important;
}

/* Webinar hero: the service name in the headline and the session marker share the mark */
#top h1 em {
  color: var(--brand-lime) !important;
}

.spec-k .pulse {
  background: var(--brand-lime) !important;
}

/* Eyebrows and labels that sit on a dark surface carry the lime mark.
   A section label keeps the colour its own page gives it. */
.hero-eyebrow,
.blog-eyebrow,
.post-category-badge,
.service-eyebrow,
.webinar-eyebrow,
.eyebrow.coral,
.sticky-cta .eyebrow,
.dark .eyebrow {
  color: var(--brand-lime) !important;
}

/* Cards: one radius, one edge, one hover */
.post-card,
.service-card,
.offer-card,
.resource-card,
.calc-card,
.card,
.card-before,
.card-win,
.end-card {
  border-radius: 16px;
}

.post-card:hover,
.service-card:hover,
.offer-card:hover,
.resource-card:hover {
  border-color: var(--brand-lime) !important;
  box-shadow: 0 18px 40px -26px rgba(7, 21, 15, 0.55) !important;
}

/* Card links and arrows stay sage: sage on cream measures about 4.6:1, lime does not */
.card-arrow,
.service-card span,
.resource-card span {
  color: #527060 !important;
}

/* Keyboard focus follows the brand mark */
:focus-visible {
  outline-color: var(--brand-lime) !important;
}

/* Section labels: the pale accent that page styles used measured under 3 to 1 on
   the cream pill. Light surfaces take the site's dark rust (5.07 to 1), dark
   surfaces keep the lime mark. */
.section-eyebrow:not(.section-eyebrow-dark) {
  color: #8F4E31 !important;
}

.section-eyebrow.section-eyebrow-dark {
  color: var(--brand-lime) !important;
}
