:root {
  --broca-bright-green: #2A7559;
  --broca-bright-green-hover: #205C49;
  --broca-bright-ink: #FFFFFF;
  --broca-bright-muted: #E4F0EA;
}

/* Bright green panels requested for the public site. */
.hero-panel,
.hero-panel.history-summary-panel,
.history-preview,
.vm-vision {
  background: linear-gradient(135deg, #2A7559 0%, #348568 100%) !important;
  color: var(--broca-bright-ink) !important;
}

.hero-panel :is(h2, h3, p, span, strong, a, i),
.history-preview :is(strong, span),
.vm-vision :is(h3, p, i),
.history-summary-copy :is(.eyebrow, strong, p, a) {
  color: var(--broca-bright-ink) !important;
}

.hero-panel-meta,
.history-summary-panel .hero-panel-meta {
  background: rgba(255, 255, 255, .38) !important;
  color: var(--broca-bright-ink) !important;
}

.hero-stat {
  background: rgba(255, 255, 255, .24) !important;
  border-color: rgba(255, 255, 255, .22) !important;
}

/* Primary actions. Yellow campaign actions remain unchanged. */
.broca-program-button,
.btn-block,
.portal-btn:not(.quiet),
.submit-button,
.site-nav .nav-cta,
.info-tab.active,
.calendar-filter.active {
  background: var(--broca-bright-green) !important;
  border-color: var(--broca-bright-green) !important;
  color: var(--broca-bright-ink) !important;
  box-shadow: 0 10px 24px rgba(42, 117, 89, .24) !important;
}

.broca-program-button:hover,
.btn-block:hover,
.portal-btn:not(.quiet):hover,
.submit-button:hover,
.site-nav .nav-cta:hover,
.info-tab.active:hover,
.calendar-filter.active:hover {
  background: var(--broca-bright-green-hover) !important;
  border-color: var(--broca-bright-green-hover) !important;
  color: var(--broca-bright-ink) !important;
}

.btn-outline {
  border-color: var(--broca-bright-green) !important;
  color: #205C49 !important;
}

.btn-outline:hover {
  background: #DDF9E8 !important;
  color: var(--broca-bright-ink) !important;
}

/* Public footers. */
.site-footer,
footer.broca-site-footer {
  background: linear-gradient(135deg, #348568 0%, #2A7559 100%) !important;
  color: var(--broca-bright-ink) !important;
}

.site-footer :is(h3, p, a, i, small, span, .footer-logo, .footer-info, .footer-bottom),
.broca-site-footer :is(h3, p, a, i, small, span, .footer-bottom) {
  color: var(--broca-bright-ink) !important;
}

.site-footer .footer-content,
.broca-site-footer .broca-footer-bottom {
  border-color: rgba(255, 255, 255, .24) !important;
}

.site-footer .footer-social a,
.broca-site-footer .broca-footer-social a {
  background: rgba(255, 255, 255, .42) !important;
  color: var(--broca-bright-ink) !important;
}
