
/* ===== CHF editorial prose (migrated content) ===== */
.chf-prose h2, .chf-prose h3, .chf-prose h4 { font-family: proxima-nova, sans-serif; color: #193560; line-height: 1.2; margin: 1.6em 0 .5em; }
.chf-prose h2 { font-size: 30px; font-weight: 600; padding-top: .4em; border-top: 1px solid #E2E8F0; }
.chf-prose h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.chf-prose h3 { font-size: 23px; font-weight: 600; }
.chf-prose h4 { font-size: 19px; font-weight: 600; }
.chf-prose p, .chf-prose li { font-family: effra, sans-serif; font-size: 17px; line-height: 1.7; color: #121417; }
.chf-prose p { margin: 0 0 1.1em; }
.chf-prose ul, .chf-prose ol { padding-left: 1.2em; margin: 0 0 1.2em; }
.chf-prose li { margin-bottom: .45em; }
.chf-prose ul li::marker { color: #56B84A; }
.chf-prose a { color: #1E8C45; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.chf-prose a:hover { color: #193560; }
.chf-prose img { border-radius: 12px; margin: 1.2em 0; height: auto; max-width: 100%; box-shadow: 0 8px 24px rgba(25,53,96,.08); }
.chf-lead p { font-family: effra, sans-serif; font-size: 21px; line-height: 1.55; color: #2A3441; }
.chf-sidebar-card { position: sticky; top: 110px; }

/* avatar monograms */
.chf-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, #193560, #1E8C45); display: flex; align-items: center; justify-content: center; }
.chf-avatar .elementor-heading-title { color: #fff; font-family: proxima-nova, sans-serif; font-weight: 600; font-size: 20px; }

/* ===== modern nav dropdowns ===== */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  border-radius: 14px; border: 1px solid #D5DCE6;
  box-shadow: 0 4px 12px rgba(0,0,0,.20), 0 18px 40px rgba(0,0,0,.30), 0 32px 70px rgba(0,0,0,.24);
  padding: 10px; margin-top: 12px;
  background: #FFFFFF;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  animation: chfDropIn .22s cubic-bezier(.4,0,.2,1);
  min-width: 250px; overflow: hidden;
}
@keyframes chfDropIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
.elementor-nav-menu--dropdown a {
  border-radius: 8px; padding: 10px 14px !important;
  font-family: effra, sans-serif !important; font-size: 15px !important; font-weight: 500 !important;
  color: #2A3441 !important;
  transition: background .15s ease, color .15s ease, padding-left .2s ease;
}
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a.highlighted {
  background: #EEF6EF !important; color: #1E8C45 !important; padding-left: 18px !important;
}
.elementor-nav-menu--main .sub-arrow { transition: transform .2s ease; }
.elementor-nav-menu--main li:hover > a .sub-arrow { transform: rotate(180deg); }
/* on-this-page anchor pills */
.chf-pills a {
  display: inline-block; padding: 8px 16px; margin: 0 8px 8px 0;
  border: 1px solid #E2E8F0; border-radius: 999px;
  font-family: proxima-nova, sans-serif; font-weight: 600; font-size: 13px;
  color: #193560; text-decoration: none; background: #fff;
  transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.chf-pills a:hover { border-color: #56B84A; background: #EEF6EF; color: #1E8C45; transform: translateY(-1px); }
/* numbered section markers */
.chf-secnum .elementor-heading-title {
  font-family: proxima-nova, sans-serif; font-weight: 700; font-size: 60px;
  color: transparent; -webkit-text-stroke: 1.5px #56B84A; opacity: .65; line-height: 1;
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
@media (prefers-reduced-motion: reduce) {
  .elementor-nav-menu--dropdown.elementor-nav-menu__container { animation: none; }
  html { scroll-behavior: auto; }
}

/* prose image discipline */
.chf-prose img { max-height: 460px; width: auto; max-width: 100%; }
/* loop grid pagination */
.elementor-pagination { display: flex; gap: 8px; justify-content: center; align-items: center; margin-top: 44px; }
.elementor-pagination .page-numbers {
  min-width: 42px; height: 42px; padding: 0 12px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #E2E8F0; border-radius: 10px; background: #fff;
  font-family: proxima-nova, sans-serif; font-weight: 600; font-size: 15px;
  color: #193560; text-decoration: none;
  transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.elementor-pagination .page-numbers:hover { border-color: #56B84A; color: #1E8C45; transform: translateY(-1px); }
.elementor-pagination .page-numbers.current { background: #193560; color: #fff; border-color: #193560; }

/* dropdown current-page item: soft green instead of Elementor's dark default */
.elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-nav-menu--dropdown .current-menu-item > a,
.elementor-nav-menu--dropdown .current_page_item > a {
  background: transparent !important;
  color: #193560 !important;
}

/* ===== reading progress bar ===== */
#chf-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px;
  background: linear-gradient(90deg, #56B84A, #1E8C45);
  transform-origin: left; transform: scaleX(0); z-index: 99999; pointer-events: none; }

/* ===== back to top ===== */
#chf-top { position: fixed; right: 24px; bottom: 100px; width: 48px; height: 48px;
  border-radius: 50%; background: #193560; color: #fff; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(25,53,96,.35);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s, background .15s ease;
  z-index: 9999; }
#chf-top.chf-top-show { opacity: 1; visibility: visible; transform: translateY(0); }
#chf-top:hover { background: #1E8C45; }
#chf-top svg { width: 20px; height: 20px; }
@media (prefers-reduced-motion: reduce) { #chf-top { transition: none; } }

/* ===== full-screen search: navy glass ===== */
.elementor-search-form--skin-full_screen .elementor-search-form__container {
  background: rgba(15, 30, 58, .9) !important;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.elementor-search-form--skin-full_screen input.elementor-search-form__input {
  color: #fff !important; font-family: proxima-nova, sans-serif !important;
  font-weight: 600; font-size: 40px !important;
  border-bottom: 2px solid rgba(255,255,255,.35) !important; }
.elementor-search-form--skin-full_screen input.elementor-search-form__input:focus {
  border-bottom-color: #56B84A !important; }
.elementor-search-form--skin-full_screen .elementor-search-form__input::placeholder {
  color: rgba(255,255,255,.45) !important; }
.elementor-search-form--skin-full_screen .dialog-close-button,
.elementor-search-form--skin-full_screen .dialog-lightbox-close-button { color: #fff !important; opacity: .85; }
.elementor-search-form--skin-full_screen .dialog-close-button svg { fill: #fff !important; width: 28px; height: 28px; }

/* ===== news category filter chips ===== */
.e-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.e-filter-item {
  padding: 9px 18px !important; border: 1px solid #E2E8F0 !important; border-radius: 999px !important;
  background: #fff !important; color: #193560 !important;
  font-family: proxima-nova, sans-serif !important; font-weight: 600 !important; font-size: 14px !important;
  cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.e-filter-item:hover { border-color: #56B84A !important; background: #EEF6EF !important; color: #1E8C45 !important; transform: translateY(-1px); }
.e-filter-item.e-active, .e-filter-item[aria-pressed="true"] {
  background: #193560 !important; border-color: #193560 !important; color: #fff !important; }

/* ===== The Events Calendar brand skin ===== */
.tribe-events { font-family: effra, sans-serif !important; }
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-list__event-wrapper { border: 0; }
.tribe-events .tribe-events-calendar-list__event {
  background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 24px;
  transition: border-color .2s ease, box-shadow .3s ease; }
.tribe-events .tribe-events-calendar-list__event:hover {
  border-color: #56B84A; box-shadow: 0 1px 2px rgba(25,53,96,.04), 0 12px 32px rgba(25,53,96,.10); }
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events-single-event-title, .tribe-events .tribe-events-calendar-month__calendar-event-title a {
  font-family: proxima-nova, sans-serif !important; font-weight: 600 !important; color: #193560 !important; }
.tribe-events .tribe-events-calendar-list__event-title a:hover { color: #1E8C45 !important; }
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
  color: #1E8C45 !important; font-family: proxima-nova, sans-serif !important; font-weight: 600 !important; }
.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-ical__link,
.tribe-common .tribe-common-c-btn, .tribe-common a.tribe-common-c-btn {
  background: #56B84A !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
  font-family: proxima-nova, sans-serif !important; font-weight: 600 !important; }
.tribe-events .tribe-events-c-search__button:hover,
.tribe-common .tribe-common-c-btn:hover { background: #1E8C45 !important; }
.tribe-events .tribe-events-c-view-selector__button:before { background-color: #193560; }
.tribe-events .tribe-events-calendar-list__month-separator-text,
.tribe-common .tribe-common-h--alt { font-family: proxima-nova, sans-serif !important; color: #193560 !important; font-weight: 700 !important; }
.tribe-events a:not(.tribe-common-c-btn) { color: #1E8C45; }
.tribe-events .tribe-events-c-nav__prev, .tribe-events .tribe-events-c-nav__next {
  font-family: proxima-nova, sans-serif !important; font-weight: 600 !important; color: #193560 !important; }
/* "Upcoming ▾" datepicker toggle: transparent bg, navy text, green on hover
   (TEC default fills the button green on hover/focus, hiding the label) */
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-top-bar__datepicker-button:hover,
.tribe-events .tribe-events-c-top-bar__datepicker-button:focus,
.tribe-events .tribe-events-c-top-bar__datepicker-button:active {
  background: transparent !important; box-shadow: none !important; }
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-top-bar__datepicker-button .tribe-events-c-top-bar__datepicker-time {
  color: #193560 !important; transition: color .15s ease; }
.tribe-events .tribe-events-c-top-bar__datepicker-button:hover,
.tribe-events .tribe-events-c-top-bar__datepicker-button:hover .tribe-events-c-top-bar__datepicker-time,
.tribe-events .tribe-events-c-top-bar__datepicker-button:focus,
.tribe-events .tribe-events-c-top-bar__datepicker-button:focus .tribe-events-c-top-bar__datepicker-time {
  color: #1E8C45 !important; }
.tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg { fill: currentColor; }

/* ===== Fluent Forms brand skin ===== */
.fluentform input[type="text"], .fluentform input[type="email"], .fluentform textarea, .fluentform select {
  border: 1px solid #E2E8F0 !important; border-radius: 8px !important; padding: 12px 16px !important;
  font-family: effra, sans-serif !important; font-size: 15px !important; color: #121417 !important;
  background: #fff !important; transition: border-color .15s ease, box-shadow .15s ease; }
.fluentform input:focus, .fluentform textarea:focus {
  border-color: #193560 !important; box-shadow: 0 0 0 3px rgba(86,184,74,.18) !important; outline: none !important; }
.fluentform .ff-btn-submit {
  background: #56B84A !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
  padding: 12px 26px !important; font-family: proxima-nova, sans-serif !important;
  font-weight: 600 !important; font-size: 15px !important; cursor: pointer;
  transition: background .15s ease, transform .2s cubic-bezier(.4,0,.2,1), box-shadow .2s ease; }
.fluentform .ff-btn-submit:hover {
  background: #1E8C45 !important; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(25,53,96,.22); }
.fluentform .ff-el-form-control::placeholder { color: #9AA3AF !important; }
/* footer (navy) context */
.elementor-location-footer .fluentform input[type="text"],
.elementor-location-footer .fluentform input[type="email"] {
  background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.28) !important; color: #fff !important; }
.elementor-location-footer .fluentform .ff-el-form-control::placeholder { color: rgba(255,255,255,.55) !important; }
.elementor-location-footer .fluentform input:focus { border-color: #56B84A !important; }
.elementor-location-footer .ff-message-success { color: #C9E8C4 !important; }
.fluentform .ff-el-is-error .text-danger { font-family: effra, sans-serif !important; }

/* sidebar links: arrows (svg-icon-proof version) */
.chf-sidebar-card .elementor-icon-list-icon svg,
.chf-sidebar-card .elementor-icon-list-icon i { display: none !important; }
.chf-sidebar-card .elementor-icon-list-icon::before {
  content: "\2192"; color: #56B84A; font-family: proxima-nova, sans-serif;
  font-weight: 700; font-size: 15px; display: inline-block; transition: transform .18s ease; }
.chf-sidebar-card .elementor-icon-list-item:hover .elementor-icon-list-icon::before { transform: translateX(3px); }

/* ===== footer polish ===== */
.elementor-location-footer { border-top: 1px solid rgba(255,255,255,.16); }
.elementor-location-footer .elementor-icon-list-icon svg,
.elementor-location-footer .elementor-icon-list-icon i { display: none !important; }
.elementor-location-footer .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-icon::before {
  content: "\2192"; color: #56B84A; font-family: proxima-nova, sans-serif;
  font-weight: 700; font-size: 14px; display: inline-block; transition: transform .18s ease; }
.elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-icon::before { transform: translateX(3px); }
.elementor-location-footer .elementor-inline-items .elementor-icon-list-icon { display: none !important; }
.elementor-location-footer .elementor-icon-list-text { color: #C9D4E4; }
.elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-text { color: #56B84A; }
.elementor-location-footer .fluentform .ff-el-group { margin-bottom: 10px; }
.elementor-location-footer .fluentform input[type="email"],
.elementor-location-footer .fluentform input[type="text"] { width: 100% !important; min-width: 250px; }
.elementor-location-footer .ff-btn-submit { width: 100%; }

/* hide junk category chips in filter bars */
.e-filter-item[data-filter="uncategorized"],
.e-filter-item[data-filter="news"] { display: none !important; }

/* one-line uniform supporter logos */
.chf-logo-row { flex-wrap: nowrap !important; }
.chf-logo-row .elementor-widget-image { display: flex; align-items: center; justify-content: center; }
.chf-logo-row img { height: 48px !important; width: auto !important; max-width: 170px; object-fit: contain; }
@media (max-width: 767px) { .chf-logo-row { flex-wrap: wrap !important; } }

/* inline newsletter form alignment */
.chf-inline-form .fluentform { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: stretch; }
.chf-inline-form .ff-el-group { margin: 0 !important; }
.chf-inline-form input[type="email"], .chf-inline-form input[type="text"] { height: 52px !important; min-width: 300px; }
.chf-inline-form .ff-btn-submit { height: 52px !important; padding: 0 30px !important; }

/* upcoming events cards */
.chf-events-row { display: flex; gap: 24px; flex-wrap: wrap; }
.chf-event-card { flex: 0 1 390px; max-width: 420px; min-width: 260px; display: flex; flex-direction: column;
  background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; overflow: hidden; text-decoration: none !important;
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s; }
.chf-event-card:hover { transform: translateY(-5px); box-shadow: 0 14px 34px rgba(25,53,96,.13); border-color: #56B84A; }
.chf-event-img { display: block; height: 200px; background-size: cover; background-position: center 25%; }
.chf-event-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 26px; }
.chf-event-date { color: #F0B843; font-family: proxima-nova, sans-serif; font-weight: 600;
  font-size: 13px; letter-spacing: .8px; text-transform: uppercase; }
.chf-event-title { color: #193560; font-family: proxima-nova, sans-serif; font-weight: 600;
  font-size: 19px; line-height: 1.3; }
.chf-events-empty { font-family: effra, sans-serif; color: #5A6472; }

#chf-top span { font-size: 22px; font-weight: 700; line-height: 1; font-family: proxima-nova, sans-serif; }

/* two-column name/partner lists on initiative pages */
.chf-cols2 { column-count: 2; column-gap: 48px; }
@media (max-width: 767px) { .chf-cols2 { column-count: 1; } }

/* ===== animation & interaction layer (initiative pages) ===== */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* scroll-reveal */
.chf-rv {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay: var(--rvd, 0ms);
}
.chf-rv.chf-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .chf-rv { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* hero band: flat, consistent with all interior pages */
.chf-hero { position: relative; }

/* card micro-interactions */
.chf-card { transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s; }
.chf-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(25,53,96,.13);
  border-color: #56B84A;
}
.chf-card .elementor-widget-heading:last-child { transition: transform .35s cubic-bezier(.16,1,.3,1); }
.chf-card:hover .elementor-widget-heading:last-child { transform: translateX(6px); }

/* animated green accent under section headings */
.chf-sec h2.elementor-heading-title::after {
  content: ""; display: block; width: 48px; height: 4px; margin-top: 12px;
  background: #56B84A; border-radius: 2px;
  transform: scaleX(0); transform-origin: left;
  transition: transform .6s cubic-bezier(.16,1,.3,1) .25s;
}
.chf-sec .chf-in h2.elementor-heading-title::after,
.chf-sec .elementor-widget-heading:not(.chf-rv) h2.elementor-heading-title::after { transform: scaleX(1); }

/* sticky scrollspy pill nav */
.chf-spy {
  position: sticky; top: 0; z-index: 60;
  display: flex; gap: 8px; align-items: center;
  padding: 10px 24px;
  background: #FFFFFF;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid #E2E8F0;
  overflow-x: auto; scrollbar-width: none; white-space: nowrap;
}
.chf-spy::-webkit-scrollbar { display: none; }
.chf-spy a {
  font-family: proxima-nova, sans-serif; font-size: 13px; font-weight: 600;
  color: #5A6472; text-decoration: none;
  padding: 7px 15px; border-radius: 999px;
  transition: background .25s, color .25s;
}
.chf-spy a:hover { background: #F8F9FB; color: #193560; }
.chf-spy a.on { background: #193560; color: #FFFFFF; }

/* linked image+label tiles inside initiative cards */
.chf-tile .chf-tileimg img { width: 100%; height: 150px; object-fit: contain; background: #F8F9FB; border: 1px solid #E2E8F0; padding: 8px; box-sizing: border-box; border-radius: 10px; transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s; }
.chf-tile:hover .chf-tileimg img { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(25,53,96,.14); }
.chf-tile .elementor-heading-title a { color: #1E8C45; text-decoration: none; }
.chf-tile .elementor-heading-title a:hover { text-decoration: underline; }

/* Top 25 Alumni: uniform cards + LinkedIn affordance */
.page-id-619 .chf-card .elementor-widget-image { width: 100% !important; max-width: 100%; text-align: center; }
.page-id-619 .chf-card .elementor-widget-image .elementor-widget-container { width: 100%; }
.page-id-619 .chf-card img { width: 100%; height: 240px; object-fit: cover; object-position: center 22%; border-radius: 10px; }
.page-id-619 .chf-card { cursor: default; }
.page-id-619 .chf-card > .elementor-widget-heading:last-child { margin-top: auto; }
.chf-li { cursor: pointer; }
.chf-li h3.elementor-heading-title::after { content: " in"; font-size: .55em; font-weight: 700; vertical-align: super; color: #1E8C45; letter-spacing: .02em; }
.chf-li:hover h3.elementor-heading-title { color: #1E8C45; }

/* photo galleries: uniform square mosaic */
.gallery { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 10px; margin: 0 !important; }
@media (max-width: 1024px) { .gallery { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767px)  { .gallery { grid-template-columns: repeat(2, 1fr); } }
.gallery .gallery-item { float: none !important; margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; }
.gallery .gallery-icon { margin: 0 !important; }
.gallery .gallery-icon a { display: block; }
.gallery .gallery-icon img {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover;
  border: none !important; border-radius: 8px;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s;
}
.gallery .gallery-icon img:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(25,53,96,.18); }
.gallery .gallery-caption { display: none !important; }
.gallery br { display: none; }

/* donate CTA: floating gradient card above the footer instead of navy-on-navy stack */
[data-elementor-type="wp-page"] > .e-con:last-child:has(.elementor-widget-button) {
  background: linear-gradient(120deg, #193560 0%, #14532D 70%, #1E8C45 100%) !important;
  width: min(1280px, calc(100% - 48px));
  margin: 16px auto 80px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(25, 53, 96, .25);
}
[data-elementor-type="wp-page"] > .e-con:last-child:has(.elementor-widget-button) .elementor-button {
  background-color: #FFFFFF !important;
  color: #193560 !important;
  transition: background-color .3s, color .3s, transform .3s;
}
[data-elementor-type="wp-page"] > .e-con:last-child:has(.elementor-widget-button) .elementor-button:hover {
  background-color: #F0B843 !important;
  color: #193560 !important;
  transform: translateY(-2px);
}

/* 75-leaders honor roll: three-column roster */
.chf-cols3 { column-count: 3; column-gap: 44px; }
@media (max-width: 1024px) { .chf-cols3 { column-count: 2; } }
@media (max-width: 767px)  { .chf-cols3 { column-count: 1; } }
.chf-ldr { break-inside: avoid; margin: 0 0 14px !important; line-height: 1.45; }
.chf-ldr strong { color: #193560; font-family: proxima-nova, sans-serif; font-size: 15px; }

.chf-ldr strong a { color: #193560; text-decoration: none; }
.chf-ldr strong a:hover { color: #1E8C45; text-decoration: underline; }
.chf-ldr strong a::after { content: " in"; font-size: .6em; font-weight: 700; vertical-align: super; color: #1E8C45; letter-spacing: .02em; }

/* team page: LinkedIn-linked names */
.chf-liname a { color: inherit; text-decoration: none; transition: color .2s; }
.chf-liname a:hover { color: #1E8C45; }
.chf-liname a::after { content: " in"; font-size: .55em; font-weight: 700; vertical-align: super; color: #1E8C45; letter-spacing: .02em; }

/* ===== Reports: graphic recordings card grid ===== */
.chf-recs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 8px 0 0; }
@media (max-width: 1024px) { .chf-recs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .chf-recs { grid-template-columns: 1fr; } }
.chf-rec { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 14px; overflow: hidden; text-decoration: none; transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s; }
.chf-rec:hover { transform: translateY(-5px); box-shadow: 0 16px 38px rgba(25,53,96,.14); border-color: #56B84A; }
.chf-rec img { width: 100%; height: 168px; object-fit: cover; object-position: center top; display: block; background: #F8F9FB; }
.chf-rec-noimg { display: flex; align-items: center; justify-content: center; height: 168px; background: linear-gradient(135deg,#193560,#1E8C45); color: #fff; font-family: proxima-nova,sans-serif; font-size: 13px; letter-spacing: .5px; text-transform: uppercase; }
.chf-rec-body { display: flex; flex-direction: column; gap: 5px; padding: 16px 18px 20px; }
.chf-rec-date { font-family: proxima-nova,sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 1px; color: #F0B843; text-transform: uppercase; }
.chf-rec-title { font-family: proxima-nova,sans-serif; font-size: 15px; font-weight: 600; line-height: 1.35; color: #193560; }
.chf-rec-extra { display: inline-block; margin: 0 18px 16px; font-family: proxima-nova,sans-serif; font-size: 13px; font-weight: 600; color: #1E8C45; text-decoration: none; }
.chf-rec-extra:hover { text-decoration: underline; }
.chf-rec-dead { cursor: default; }

/* ===== Reports: more resources document cards ===== */
.chf-res { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 8px 0 0; }
@media (max-width: 700px) { .chf-res { grid-template-columns: 1fr; } }
.chf-res-item { display: flex; align-items: center; gap: 14px; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 12px; padding: 16px 20px; text-decoration: none; transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s, border-color .3s; }
.chf-res-item:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(25,53,96,.12); border-color: #56B84A; }
.chf-res-ic { flex: 0 0 auto; font-family: proxima-nova,sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #fff; background: #193560; border-radius: 6px; padding: 5px 8px; }
.chf-res-title { flex: 1; font-family: proxima-nova,sans-serif; font-size: 15px; font-weight: 600; color: #193560; line-height: 1.3; }
.chf-res-arrow { flex: 0 0 auto; color: #1E8C45; font-size: 18px; font-weight: 700; transition: transform .3s; }
.chf-res-item:hover .chf-res-arrow { transform: translateX(4px); }

/* ===== Supporters: uniform logo wall ===== */
.chf-suplogo { display: flex; align-items: center; justify-content: center; }
.chf-suplogo img { width: auto !important; height: 72px !important; max-width: 200px; object-fit: contain; }

/* chf-list-fix: even bullet spacing (kill stray <p> margins inside list items) */
.elementor-widget-text-editor li p { margin: 0 !important; display: inline; }
.elementor-widget-text-editor ul { margin: 0; padding-left: 1.2em; }
.elementor-widget-text-editor li { margin: 0 0 8px; line-height: 1.5; }

/* uniform news/loop cards: equal image height + equal card height per row */
.elementor-loop-container { align-items: stretch; }
.e-loop-item { height: 100%; }
.e-loop-item img { width: 100%; height: 210px !important; object-fit: cover; }

/* gradient CTA card: force readable white heading */
[data-elementor-type="wp-page"] > .e-con:last-child:has(.elementor-widget-button) .elementor-heading-title { color: #FFFFFF !important; }

/* Signature Conferences: dynamic conference panels + video chips */
.chf-conf-head { border-bottom: 2px solid #E2E8F0; padding-bottom: 12px; }
.chf-vchips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 4px; }
@media (max-width: 760px) { .chf-vchips { grid-template-columns: 1fr; } }
.chf-vchip { display: flex; gap: 14px; align-items: flex-start; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 12px; padding: 16px 18px; text-decoration: none; transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s, border-color .3s; }
.chf-vchip:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(25,53,96,.12); border-color: #56B84A; }
.chf-vchip-ic { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; background: #1E8C45; color: #fff; font: 700 11px/1 proxima-nova,sans-serif; letter-spacing: .5px; text-transform: uppercase; padding: 8px 11px; border-radius: 6px; }
.chf-vchip-t { font: 600 14px/1.42 proxima-nova,sans-serif; color: #193560; }

/* ===== interactive data viz (statviz) ===== */
.chf-statviz { background:#FFFFFF; border:1px solid #E2E8F0; border-radius:18px; padding:34px 36px 28px; box-shadow:0 10px 30px rgba(25,53,96,.06); }
.chf-statviz-eyebrow { font:700 12px/1 proxima-nova,sans-serif; letter-spacing:1.2px; text-transform:uppercase; color:#F0B843; }
.chf-statviz-head h3 { font:700 26px/1.2 proxima-nova,sans-serif; color:#193560; margin:10px 0 6px; }
.chf-statviz-head p { font:400 16px/1.5 effra,sans-serif; color:#5A6472; margin:0 0 22px; }
.chf-sv-row { display:grid; grid-template-columns:200px 1fr; align-items:center; gap:18px; margin-bottom:16px; }
@media (max-width:680px){ .chf-sv-row{ grid-template-columns:1fr; gap:6px; } }
.chf-sv-label { font:600 14px/1.3 proxima-nova,sans-serif; color:#193560; }
.chf-sv-track { background:#F1F4F8; border-radius:8px; height:46px; overflow:hidden; }
.chf-sv-bar { width:0; height:100%; border-radius:8px; display:flex; align-items:center; justify-content:flex-end; padding-right:14px; transition:width 1.15s cubic-bezier(.16,1,.3,1); }
.chf-statviz.grown .chf-sv-bar { width:var(--w); }
.chf-sv-bar span { color:#fff; font:700 15px/1 proxima-nova,sans-serif; white-space:nowrap; }
.chf-sv-bar.neg { background:linear-gradient(90deg,#9A3724,#C0492F); }
.chf-sv-bar.base { background:#94A3B8; }
.chf-sv-bar.base span { color:#fff; }
.chf-sv-bar.pos { background:linear-gradient(90deg,#1E8C45,#56B84A); }
.chf-statviz-src { font:400 13px/1.4 effra,sans-serif; color:#8A93A3; margin:18px 0 0; }

/* ===== research library ===== */
.chf-lib-controls { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; margin-bottom:24px; }
.chf-lib-search { flex:1; min-width:220px; max-width:340px; padding:12px 16px; border:1px solid #E2E8F0; border-radius:10px; font:400 15px effra,sans-serif; color:#193560; }
.chf-lib-search:focus { outline:none; border-color:#56B84A; box-shadow:0 0 0 3px rgba(86,184,74,.15); }
.chf-lib-filters { display:flex; flex-wrap:wrap; gap:8px; }
.chf-lib-f { font:600 13px proxima-nova,sans-serif; color:#5A6472; background:#fff; border:1px solid #E2E8F0; border-radius:999px; padding:8px 16px; cursor:pointer; transition:all .2s; }
.chf-lib-f:hover { border-color:#56B84A; color:#193560; }
.chf-lib-f.on { background:#193560; color:#fff; border-color:#193560; }
.chf-lib-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:1000px){ .chf-lib-grid{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .chf-lib-grid{ grid-template-columns:1fr;} }
.chf-lib-card { display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:22px 22px 20px; text-decoration:none; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s; }
.chf-lib-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(25,53,96,.13); border-color:#56B84A; }
.chf-lib-cmeta { display:flex; align-items:center; justify-content:space-between; }
.chf-lib-topic { font:700 11px proxima-nova,sans-serif; letter-spacing:.5px; text-transform:uppercase; color:#fff; padding:4px 9px; border-radius:6px; background:#193560; }
.chf-lib-topic.t-energy{background:#1E8C45;} .chf-lib-topic.t-health{background:#0F6FA8;} .chf-lib-topic.t-immigration{background:#B0561F;} .chf-lib-topic.t-vision-2050{background:#6A3FB0;} .chf-lib-topic.t-organization{background:#475569;}
.chf-lib-year { font:700 13px proxima-nova,sans-serif; color:#8A93A3; }
.chf-lib-title { font:600 16px/1.35 proxima-nova,sans-serif; color:#193560; flex:1; }
.chf-lib-type { font:600 13px proxima-nova,sans-serif; color:#1E8C45; }
.chf-lib-empty { font:400 16px effra,sans-serif; color:#8A93A3; padding:20px 0; }

/* ===== sober comparison (maternal) ===== */
.chf-statviz--sober .chf-statviz-eyebrow { color:#94A3B8; }
.chf-mh-metric { margin-bottom:22px; }
.chf-mh-label { display:block; font:700 14px proxima-nova,sans-serif; color:#193560; margin-bottom:8px; }
.chf-mh-pair .chf-sv-track { height:38px; margin-bottom:8px; }
.chf-sv-bar.mh-hi { background:linear-gradient(90deg,#8C2D1B,#B0561F); }
.chf-sv-bar.mh-base { background:#64748B; }

/* ===== animated stat band ===== */
.chf-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:740px){ .chf-stats{ grid-template-columns:1fr; } }
.chf-stats--single { grid-template-columns:1fr; max-width:640px; }
.chf-stat { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:30px 28px; text-align:center; box-shadow:0 8px 24px rgba(25,53,96,.05); }
.chf-stat-num { font:800 52px/1 proxima-nova,sans-serif; color:#193560; }
.chf-stat-suf { font:800 36px/1 proxima-nova,sans-serif; color:#56B84A; vertical-align:top; }
.chf-stat-raw { font-size:44px; color:#1E8C45; }
.chf-stat-lbl { display:block; margin-top:12px; font:500 15px/1.4 effra,sans-serif; color:#5A6472; }
.chf-stats--single .chf-stat { padding:38px 32px; }
.chf-stats--single .chf-stat-raw { font-size:64px; color:#1E8C45; }
.chf-stats--single .chf-stat-lbl { font-size:18px; max-width:440px; margin:14px auto 0; }

/* immigration chart baseline: readable marker + label */
.chf-sv-track--base { background:transparent !important; display:flex; align-items:center; overflow:visible; }
.chf-sv-bar.base { width:12px !important; min-width:12px; height:100%; background:#94A3B8; border-radius:4px; }
.chf-sv-baseline { margin-left:14px; color:#193560; font:700 14px proxima-nova,sans-serif; white-space:nowrap; }

/* ===== newsletter capture band ===== */
.chf-nlcta { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center;
  background:linear-gradient(125deg,#193560 0%,#0F2342 55%,#14532D 100%); border-radius:22px;
  padding:44px 48px; box-shadow:0 20px 50px rgba(25,53,96,.2); }
@media (max-width:820px){ .chf-nlcta{ grid-template-columns:1fr; gap:24px; padding:34px 28px; } }
.chf-nlcta-eyebrow { font:700 12px proxima-nova,sans-serif; letter-spacing:1.2px; text-transform:uppercase; color:#F0B843; }
.chf-nlcta h2 { font:700 30px/1.2 proxima-nova,sans-serif; color:#fff; margin:10px 0 10px; }
.chf-nlcta p { font:400 16px/1.55 effra,sans-serif; color:#C9D4E4; margin:0; }
.chf-nlcta-form .fluentform input[type=email],
.chf-nlcta-form .fluentform input[type=text] { width:100%; padding:14px 16px; border-radius:10px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; font:400 15px effra,sans-serif; }
.chf-nlcta-form .fluentform input::placeholder { color:#9FB0C7; }
.chf-nlcta-form .fluentform input:focus { outline:none; border-color:#56B84A; background:rgba(255,255,255,.14); }
.chf-nlcta-form .fluentform .ff-btn-submit, .chf-nlcta-form .fluentform button[type=submit] { background:#56B84A !important; color:#fff !important; border:none !important; border-radius:10px !important; padding:14px 28px !important; font:600 15px proxima-nova,sans-serif !important; cursor:pointer; transition:background .25s; }
.chf-nlcta-form .fluentform .ff-btn-submit:hover, .chf-nlcta-form .fluentform button[type=submit]:hover { background:#F0B843 !important; color:#193560 !important; }
.chf-nlcta-form .ff-el-group { margin-bottom:12px; }

/* ===== single event page redesign ===== */
.single-tribe_events #tribe-events, .single-tribe_events #tribe-events-content { max-width: none; }
.chf-evsingle { max-width: 1180px; margin: 0 auto; padding: 0 24px 64px; }
.chf-evhero { width: 100vw; position: relative; left: 50%; transform: translateX(-50%);
  background: linear-gradient(120deg, #0F2342 0%, #193560 100%); color: #fff; margin: 0 0 48px; }
.chf-evhero-inner { max-width: 1180px; margin: 0 auto; padding: 54px 24px 50px; }
.chf-evhero-back { display: inline-block; color: #9FB0C7; text-decoration: none;
  font: 600 13px proxima-nova, sans-serif; letter-spacing: .3px; margin-bottom: 18px; transition: color .15s ease; }
.chf-evhero-back:hover { color: #56B84A; }
.chf-evhero-title { font: 700 clamp(30px, 4vw, 46px)/1.12 proxima-nova, sans-serif; color: #fff; margin: 0 0 14px; }
.chf-evhero-meta { font: 500 17px/1.5 effra, sans-serif; color: #C9D4E4; margin: 0 0 26px; }
.chf-evhero-meta .tribe-events-schedule, .chf-evhero-meta div { display: inline; }
.chf-evhero-cta { display: inline-block; background: #56B84A; color: #fff;
  font: 600 16px proxima-nova, sans-serif; text-decoration: none; padding: 14px 30px; border-radius: 10px;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.chf-evhero-cta:hover { background: #F0B843; color: #193560; transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.25); }

.chf-evwrap { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 52px; align-items: start; }
@media (max-width: 900px) { .chf-evwrap { grid-template-columns: 1fr; gap: 36px; } }
.chf-evmain { min-width: 0; }
.chf-evdesc { font-size: 17px; }
.chf-evaside { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 22px; }
@media (max-width: 900px) { .chf-evaside { position: static; } }
.chf-evfeat img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 12px 32px rgba(25,53,96,.16); display: block; }
.chf-evcard { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 26px 26px 24px; box-shadow: 0 8px 24px rgba(25,53,96,.06); }
.chf-evcard-eyebrow { display: block; font: 700 12px proxima-nova, sans-serif; letter-spacing: 1.2px; text-transform: uppercase; color: #F0B843; margin-bottom: 12px; }
.chf-evdl { list-style: none; margin: 0 0 20px; padding: 0; }
.chf-evdl li { display: flex; flex-direction: column; gap: 3px; padding: 12px 0; border-bottom: 1px solid #EEF1F5; }
.chf-evdl li:last-child { border-bottom: 0; padding-bottom: 4px; }
.chf-evdl-k { font: 700 11px proxima-nova, sans-serif; letter-spacing: .6px; text-transform: uppercase; color: #8A93A3; }
.chf-evdl-v { font: 500 15px/1.4 effra, sans-serif; color: #193560; }
.chf-evcta { display: block; text-align: center; background: #56B84A; color: #fff;
  font: 600 15px proxima-nova, sans-serif; text-decoration: none; padding: 14px 18px; border-radius: 10px;
  transition: background .2s ease, transform .2s ease; }
.chf-evcta:hover { background: #1E8C45; color: #fff; transform: translateY(-1px); }
.chf-evcal { display: flex; flex-direction: column; gap: 9px; margin-top: 16px; }
.chf-evcal a { font: 600 13px proxima-nova, sans-serif; color: #1E8C45; text-decoration: none; }
.chf-evcal a:hover { text-decoration: underline; }
.chf-evmaplink { display: inline-block; margin-top: 14px; font: 600 13px proxima-nova, sans-serif; color: #193560; text-decoration: none; }
.chf-evmaplink:hover { color: #1E8C45; }
.chf-evmore { margin-top: 64px; border-top: 1px solid #E2E8F0; padding-top: 40px; }
.chf-evmore-h { font: 700 26px proxima-nova, sans-serif; color: #193560; margin: 0 0 24px; }

/* --- single-event hardening: beat Elementor kit (h1 color) + theme-compat (grid/width) --- */
body.single-tribe_events #tribe-events-pg-template,
body.single-tribe_events #tribe-events,
body.single-tribe_events #tribe-events-content.chf-evsingle { max-width: 1160px !important; width: auto !important; }
body.single-tribe_events .chf-evwrap {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 340px !important;
  gap: 52px !important; align-items: start !important; }
@media (max-width: 900px) { body.single-tribe_events .chf-evwrap { grid-template-columns: 1fr !important; gap: 36px !important; } }
.chf-evhero .chf-evhero-title { color: #fff !important; }
.chf-evhero .chf-evhero-meta, .chf-evhero .chf-evhero-meta * { color: #C9D4E4 !important; }
.chf-evhero .chf-evhero-back { color: #9FB0C7 !important; }
.chf-evhero .chf-evhero-back:hover { color: #56B84A !important; }

/* CTA labels must stay readable on hover (Elementor kit a:hover tints link text green) */
.chf-evhero-cta, .chf-evcta { color: #fff !important; }
.chf-evhero-cta:hover, .chf-evhero-cta:focus { color: #193560 !important; }
.chf-evcta:hover, .chf-evcta:focus { color: #fff !important; }

/* ===== datepicker dropdown: stop the brand-button green from flooding the calendar ===== */
#tribe-events .tribe-events-c-top-bar__datepicker-container,
#tribe-events .tribe-events-c-top-bar__datepicker-container .datepicker,
#tribe-events .tribe-events-c-top-bar__datepicker-container table { background: #fff !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .tribe-common-c-btn,
#tribe-events .tribe-events-c-top-bar__datepicker-container td,
#tribe-events .tribe-events-c-top-bar__datepicker-container th,
#tribe-events .tribe-events-c-top-bar__datepicker-container .datepicker-switch,
#tribe-events .tribe-events-c-top-bar__datepicker-container .prev,
#tribe-events .tribe-events-c-top-bar__datepicker-container .next,
#tribe-events .tribe-events-c-top-bar__datepicker-container .day {
  background: transparent !important; background-image: none !important; color: #193560 !important;
  border: 0 !important; box-shadow: none !important; font-family: proxima-nova, sans-serif !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .datepicker-switch { font-weight: 700 !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .dow { color: #8A93A3 !important; font-weight: 700 !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .old,
#tribe-events .tribe-events-c-top-bar__datepicker-container .new { color: #C2C9D2 !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .day:hover,
#tribe-events .tribe-events-c-top-bar__datepicker-container .prev:hover,
#tribe-events .tribe-events-c-top-bar__datepicker-container .next:hover,
#tribe-events .tribe-events-c-top-bar__datepicker-container .datepicker-switch:hover,
#tribe-events .tribe-events-c-top-bar__datepicker-container .tribe-common-c-btn:hover {
  background: #EEF6EF !important; color: #1E8C45 !important; border-radius: 8px !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .day.active,
#tribe-events .tribe-events-c-top-bar__datepicker-container .day.today,
#tribe-events .tribe-events-c-top-bar__datepicker-container td.active {
  background: #193560 !important; color: #fff !important; border-radius: 8px !important; }
#tribe-events .tribe-events-c-top-bar__datepicker-container .day.has-events,
#tribe-events .tribe-events-c-top-bar__datepicker-container .tribe-events-has-events { color: #1E8C45 !important; font-weight: 700 !important; }

/* ===== datepicker dropdown FIX: cells/nav are <button> in .tribe-events-c-top-bar__datepicker-container;
   neutralize the brand-green button skin that floods them (selector beats .tribe-common .tribe-common-c-btn) ===== */
.tribe-events-c-top-bar__datepicker-container .datepicker,
.datepicker.datepicker-dropdown { background: #fff !important; border: 1px solid #E2E8F0 !important; border-radius: 12px !important; box-shadow: 0 12px 32px rgba(25,53,96,.16) !important; }
.tribe-events-c-top-bar__datepicker-container .datepicker button,
.datepicker.datepicker-dropdown button {
  background: transparent !important; background-image: none !important; color: #193560 !important;
  border: 0 !important; box-shadow: none !important; font-family: proxima-nova, sans-serif !important; font-weight: 600 !important; }
.tribe-events-c-top-bar__datepicker-container .datepicker button.day:hover,
.tribe-events-c-top-bar__datepicker-container .datepicker .prev:hover,
.tribe-events-c-top-bar__datepicker-container .datepicker .next:hover,
.tribe-events-c-top-bar__datepicker-container .datepicker .datepicker-switch:hover,
.datepicker.datepicker-dropdown button.day:hover {
  background: #EEF6EF !important; color: #1E8C45 !important; border-radius: 8px !important; }
.tribe-events-c-top-bar__datepicker-container .datepicker button.day.active,
.tribe-events-c-top-bar__datepicker-container .datepicker button.day.today,
.tribe-events-c-top-bar__datepicker-container .datepicker button.active,
.datepicker.datepicker-dropdown button.day.active {
  background: #193560 !important; color: #fff !important; border-radius: 8px !important; }
.tribe-events-c-top-bar__datepicker-container .datepicker button.old,
.tribe-events-c-top-bar__datepicker-container .datepicker button.new,
.datepicker.datepicker-dropdown button.old, .datepicker.datepicker-dropdown button.new { color: #C2C9D2 !important; }
.tribe-events-c-top-bar__datepicker-container .datepicker .dow,
.datepicker.datepicker-dropdown .dow { color: #8A93A3 !important; font-weight: 700 !important; background: transparent !important; }

/* ===== announcement bar (homepage) ===== */
#chf-annbar { background: linear-gradient(90deg, #193560 0%, #1E8C45 100%); width: 100%; }
.chf-annbar-in { max-width: 1240px; margin: 0 auto; position: relative; display: flex; align-items: center; justify-content: center; padding: 11px 48px; }
.chf-annbar-link { color: #fff !important; text-decoration: none !important; font: 600 14.5px/1.4 proxima-nova, sans-serif; letter-spacing: .2px; text-align: center; }
.chf-annbar-link strong { font-weight: 800; }
.chf-annbar-link:hover { color: #F0B843 !important; }
.chf-annbar-link span { display: inline-block; transition: transform .2s ease; }
.chf-annbar-link:hover span { transform: translateX(4px); }
#chf-annbar-x { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #C9D4E4; font-size: 22px; line-height: 1; cursor: pointer; padding: 4px 9px; transition: color .15s ease; }
#chf-annbar-x:hover { color: #fff; }
@media (max-width: 600px) { .chf-annbar-link { font-size: 13px; } .chf-annbar-in { padding: 10px 40px; } }

/* ===== cookie consent ===== */
#chf-cookie { position: fixed; left: 50%; transform: translateX(-50%); bottom: 20px; z-index: 99990;
  width: min(580px, calc(100% - 40px)); background: #fff; border: 1px solid #E2E8F0; border-radius: 14px;
  box-shadow: 0 18px 44px rgba(15,35,66,.22); padding: 20px 24px; }
#chf-cookie[hidden] { display: none; }
.chf-cookie-txt { font: 400 14px/1.55 effra, sans-serif; color: #2A3441; margin: 0 0 14px; }
.chf-cookie-txt a { color: #1E8C45 !important; font-weight: 600; text-decoration: underline; }
.chf-cookie-btns { display: flex; gap: 10px; justify-content: flex-end; }
.chf-cookie-btn { font: 600 14px proxima-nova, sans-serif; border-radius: 9px; padding: 9px 22px; cursor: pointer; border: 1px solid #E2E8F0; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.chf-cookie-decline { background: #fff; color: #5A6472; }
.chf-cookie-decline:hover { border-color: #193560; color: #193560 !important; }
.chf-cookie-accept { background: #56B84A; color: #fff !important; border-color: #56B84A; }
.chf-cookie-accept:hover { background: #1E8C45; border-color: #1E8C45; color: #fff !important; }
@media (max-width: 600px) { #chf-cookie { left: 12px; right: 12px; transform: none; width: auto; bottom: 12px; } }

/* ===== Project Metis steering committee (labeled, single-column) ===== */
.chf-com-label { font: 700 12px/1 proxima-nova, sans-serif; letter-spacing: 1px; text-transform: uppercase; color: #1E8C45; margin: 24px 0 10px !important; }
.chf-com-label:first-child { margin-top: 0 !important; }
.chf-com-person { margin: 0 0 14px !important; line-height: 1.45; }
.chf-com-person strong { color: #193560; font-family: proxima-nova, sans-serif; font-weight: 700; font-size: 16px; }
.chf-com-person span { color: #5A6472; font-family: effra, sans-serif; font-size: 14px; }
.chf-com-members { list-style: none; margin: 8px 0 0 !important; padding: 0 !important; }
.chf-com-members li { color: #193560; font-family: effra, sans-serif; font-size: 15px; padding: 10px 0; border-bottom: 1px solid #EEF1F5; }
.chf-com-members li:last-child { border-bottom: 0; }

/* ===== announcement bar (admin-toggleable) ===== */
#chf-annbar { background: linear-gradient(90deg, #193560 0%, #1E8C45 100%); width: 100%; }
.chf-annbar-in { max-width: 1240px; margin: 0 auto; position: relative; display: flex; align-items: center; justify-content: center; padding: 11px 48px; }
.chf-annbar-link { color: #fff !important; text-decoration: none !important; font: 600 14.5px/1.4 proxima-nova, sans-serif; letter-spacing: .2px; text-align: center; }
.chf-annbar-link:hover { color: #F0B843 !important; }
.chf-annbar-link span { display: inline-block; transition: transform .2s ease; }
.chf-annbar-link:hover span { transform: translateX(4px); }
#chf-annbar-x { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #C9D4E4; font-size: 22px; line-height: 1; cursor: pointer; padding: 4px 9px; transition: color .15s ease; }
#chf-annbar-x:hover { color: #fff; }
@media (max-width: 600px) { .chf-annbar-link { font-size: 13px; } .chf-annbar-in { padding: 10px 40px; } }

/* ===== Strategic Initiatives: matched current-initiative logo cards ===== */
.chf-cur-init .elementor-widget-image { display: flex; align-items: center; justify-content: center; height: 100%; }
.chf-cur-init .elementor-widget-image .elementor-widget-container { width: 100%; text-align: center; }
.chf-cur-init .elementor-widget-image img { width: auto !important; height: auto !important; max-height: 130px; max-width: 88%; object-fit: contain; display: inline-block; }

/* ===== button text must be white on the green fills (fixes navy-on-green low contrast) ===== */
.fluentform .ff-btn-submit, .fluentform .ff-btn-submit:hover,
.tribe-events .tribe-events-c-search__button, .tribe-events button.tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-ical__link, .tribe-common .tribe-common-c-btn, .tribe-common a.tribe-common-c-btn {
  color: #FFFFFF !important;
}
/* keep the white-on-gradient donate CTA button navy (it sits on a white fill) */
[data-elementor-type="wp-page"] > .e-con:last-child:has(.elementor-widget-button) .elementor-button { color: #193560 !important; }

/* ===== give-tiers frequency toggle: fix clipping (drop sliding thumb, fill active label) ===== */
.chf-give-toggle { width: auto !important; }
.chf-give-opt { flex: 0 0 auto !important; min-width: 0; white-space: nowrap; }
.chf-give-thumb { display: none !important; }
.chf-give-radio[value="one"]:checked ~ .chf-give-opt[for$="-one"],
.chf-give-radio[value="monthly"]:checked ~ .chf-give-opt[for$="-mo"] { background: #193560 !important; color: #FFFFFF !important; }

/* ===== immigration-research: speaker cards + resource chips ===== */
.chf-spkr-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 18px 0 0; }
@media (max-width: 760px) { .chf-spkr-grid { grid-template-columns: 1fr; } }
.chf-spkr { background: #fff; border: 1px solid #E2E8F0; border-radius: 14px; padding: 22px 24px; transition: border-color .3s, box-shadow .3s, transform .3s; }
.chf-spkr:hover { border-color: #56B84A; box-shadow: 0 12px 28px rgba(25,53,96,.10); transform: translateY(-3px); }
.chf-spkr-name { font: 700 18px proxima-nova, sans-serif; color: #193560; margin: 0 0 3px; }
.chf-spkr-role { font: 600 13px/1.4 proxima-nova, sans-serif; color: #127A3A; margin: 0 0 10px; }
.chf-spkr-role a { color: #127A3A; text-decoration: underline; }
.chf-spkr-bio { font: 400 14px/1.6 effra, sans-serif; color: #2A3441; margin: 0; }
.chf-res-label { font: 700 12px proxima-nova, sans-serif; letter-spacing: .5px; text-transform: uppercase; color: #8A93A3; margin: 24px 0 10px !important; }
.chf-reschips { display: flex; flex-wrap: wrap; gap: 10px; }
.chf-reschips a { display: inline-flex; align-items: center; gap: 6px; background: #F8F9FB; border: 1px solid #E2E8F0; border-radius: 999px; padding: 9px 16px; font: 600 13px proxima-nova, sans-serif; color: #193560 !important; text-decoration: none !important; transition: border-color .15s, background .15s, color .15s, transform .15s; }
.chf-reschips a:hover { border-color: #56B84A; background: #EEF6EF; color: #127A3A !important; transform: translateY(-1px); }
.chf-reschips a::after { content: "\2197"; font-size: .85em; color: #1E8C45; }

/* ===== DESKTOP nav submenu shadow (correct target: ul.sub-menu.elementor-nav-menu--dropdown) ===== */
.elementor-nav-menu--main .elementor-nav-menu--dropdown,
.elementor-nav-menu--main ul.sub-menu,
ul.sub-menu.elementor-nav-menu--dropdown {
  box-shadow: 0 6px 18px rgba(0,0,0,.10), 0 16px 34px rgba(0,0,0,.12) !important;
  border: 1px solid #D5DCE6 !important;
  border-radius: 12px !important;
}

/* ============================================================
 * RESTORED enhancement CSS — press / related / vision timeline / search / give tiers / newsletter seg / impact wrappers
 * (original bundle was lost when a local CSS copy overwrote the server file; re-authored from shortcode markup)
 * ============================================================ */

/* --- Related content blocks --- */
.chf-rel { max-width: 1080px; margin: 48px auto 8px; }
.chf-rel-h { font: 700 22px/1.2 proxima-nova, sans-serif; color:#193560; margin:0 0 18px; }
.chf-rel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:860px){ .chf-rel-grid{ grid-template-columns:1fr; } }
.chf-rel-card { display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:20px 22px; text-decoration:none; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s; }
.chf-rel-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(25,53,96,.13); border-color:#56B84A; }
.chf-rel-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.chf-rel-topic { font:700 11px proxima-nova,sans-serif; letter-spacing:.4px; text-transform:uppercase; color:#fff; background:#193560; border-radius:6px; padding:4px 9px; }
.chf-rel-date { font:600 12px proxima-nova,sans-serif; color:#8A93A3; }
.chf-rel-title { font:600 15px/1.4 proxima-nova,sans-serif; color:#193560; flex:1; }
.chf-rel-cta { font:600 13px proxima-nova,sans-serif; color:#127A3A; }

/* --- Press hub --- */
.chf-press { max-width:1100px; margin:0 auto; }
.chf-press-featured { text-align:center; margin-bottom:30px; }
.chf-press-featured-lbl { display:block; font:700 12px proxima-nova,sans-serif; letter-spacing:1px; text-transform:uppercase; color:#8A93A3; margin-bottom:12px; }
.chf-press-featured-row { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px; padding:0; margin:0; }
.chf-press-outlet { font:600 14px proxima-nova,sans-serif; color:#193560; }
.chf-press-controls { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-bottom:24px; }
.chf-press-search { flex:1; min-width:220px; padding:12px 16px; border:1px solid #E2E8F0; border-radius:10px; font:400 15px effra,sans-serif; color:#193560; }
.chf-press-search:focus { outline:none; border-color:#56B84A; box-shadow:0 0 0 3px rgba(86,184,74,.15); }
.chf-press-srcwrap { display:inline-flex; }
.chf-press-src { padding:12px 16px; border:1px solid #E2E8F0; border-radius:10px; font:600 14px proxima-nova,sans-serif; color:#193560; background:#fff; cursor:pointer; }
.chf-press-years { display:flex; flex-wrap:wrap; gap:8px; }
.chf-press-y { font:600 13px proxima-nova,sans-serif; color:#5A6472; background:#fff; border:1px solid #E2E8F0; border-radius:999px; padding:8px 16px; cursor:pointer; transition:border-color .15s,color .15s,background .15s; }
.chf-press-y:hover { border-color:#56B84A; color:#127A3A; }
.chf-press-y.on, .chf-press-y.is-active, .chf-press-y[aria-pressed="true"] { background:#193560; color:#fff; border-color:#193560; }
.chf-press-feed { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:1000px){ .chf-press-feed{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .chf-press-feed{ grid-template-columns:1fr;} }
.chf-press-item { position:relative; display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:20px 40px 20px 22px; text-decoration:none; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s; }
.chf-press-item:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(25,53,96,.13); border-color:#56B84A; }
.chf-press-meta { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.chf-press-source { font:700 11px proxima-nova,sans-serif; letter-spacing:.4px; text-transform:uppercase; color:#127A3A; }
.chf-press-date { font:600 12px proxima-nova,sans-serif; color:#8A93A3; white-space:nowrap; }
.chf-press-title { font:600 15px/1.4 proxima-nova,sans-serif; color:#193560; }
.chf-press-ext { position:absolute; top:16px; right:14px; color:#1E8C45; opacity:.65; }
.chf-press-ext svg { width:15px; height:15px; }
.chf-press-empty { grid-column:1/-1; font:400 16px effra,sans-serif; color:#8A93A3; padding:20px 0; text-align:center; }

/* --- Vision 2050 timeline --- */
.chf-vtl { max-width:1080px; margin:8px auto 0; }
.chf-vtl-head { margin-bottom:24px; }
.chf-vtl-eyebrow { font:700 12px proxima-nova,sans-serif; letter-spacing:1.2px; text-transform:uppercase; color:#F0B843; }
.chf-vtl-h { font:700 28px/1.2 proxima-nova,sans-serif; color:#193560; margin:8px 0 8px; }
.chf-vtl-intro { font:400 16px/1.6 effra,sans-serif; color:#5A6472; margin:0; max-width:760px; }
.chf-vtl-track { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:18px; }
@media(max-width:900px){ .chf-vtl-track{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .chf-vtl-track{ grid-template-columns:1fr; } }
.chf-vtl-item { position:relative; padding-top:26px; border-top:3px solid #E2E8F0; }
.chf-vtl-marker, .chf-vtl-dot { position:absolute; top:-9px; left:0; width:15px; height:15px; border-radius:50%; background:#56B84A; border:3px solid #fff; box-shadow:0 0 0 1px #E2E8F0; }
.chf-vtl-year { font:800 22px proxima-nova,sans-serif; color:#193560; }
.chf-vtl-tag { display:inline-block; font:700 10px proxima-nova,sans-serif; letter-spacing:.5px; text-transform:uppercase; color:#127A3A; background:#EEF6EF; border-radius:5px; padding:3px 8px; margin:6px 0 10px; }
.chf-vtl-mtitle { font:700 16px proxima-nova,sans-serif; color:#193560; margin:0 0 6px; }
.chf-vtl-body { font:400 14px/1.55 effra,sans-serif; color:#2A3441; margin:0 0 10px; }
.chf-vtl-links { display:flex; flex-direction:column; gap:5px; }
.chf-vtl-link { font:600 13px proxima-nova,sans-serif; color:#127A3A; text-decoration:none; }
.chf-vtl-link:hover { text-decoration:underline; }
.chf-vtl-arrow { color:#1E8C45; }

/* --- Instant search --- */
.chf-search { position:relative; }
.chf-search-field { position:relative; display:flex; align-items:center; }
.chf-search-input { width:100%; padding:11px 16px 11px 40px; border:1px solid #E2E8F0; border-radius:10px; font:400 15px effra,sans-serif; color:#193560; }
.chf-search-input:focus { outline:none; border-color:#56B84A; box-shadow:0 0 0 3px rgba(86,184,74,.15); }
.chf-search-icon { position:absolute; left:14px; color:#8A93A3; pointer-events:none; }
.chf-search-results { position:absolute; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid #E2E8F0; border-radius:12px; box-shadow:0 12px 30px rgba(15,35,66,.18); overflow:hidden; z-index:9999; max-height:60vh; overflow-y:auto; }
.chf-search-opt { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 16px; text-decoration:none; border-bottom:1px solid #EEF1F5; }
.chf-search-opt:last-child { border-bottom:0; }
.chf-search-opt:hover, .chf-search-opt.is-active { background:#EEF6EF; }
.chf-search-t { font:600 14px proxima-nova,sans-serif; color:#193560; }
.chf-search-ty { font:700 10px proxima-nova,sans-serif; letter-spacing:.4px; text-transform:uppercase; color:#8A93A3; }
.chf-search-none { padding:14px 16px; font:400 14px effra,sans-serif; color:#8A93A3; }
.chf-search-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* --- Give tiers --- */
.chf-give { max-width:920px; margin:0 auto; text-align:center; }
.chf-give-head { margin-bottom:18px; }
.chf-give-eyebrow { font:700 12px proxima-nova,sans-serif; letter-spacing:1.2px; text-transform:uppercase; color:#F0B843; }
.chf-give-title { font:700 28px/1.2 proxima-nova,sans-serif; color:#193560; margin:8px 0 8px; }
.chf-give-sub { font:400 16px/1.55 effra,sans-serif; color:#5A6472; margin:0 auto; max-width:620px; }
.chf-give-toggle { position:relative; display:inline-flex; background:#F8F9FB; border:1px solid #E2E8F0; border-radius:999px; padding:5px; margin:18px auto 28px; }
.chf-give-radio { position:absolute; opacity:0; width:1px; height:1px; }
.chf-give-opt { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:999px; font:600 15px proxima-nova,sans-serif; color:#4A5568; cursor:pointer; transition:color .2s, background .2s; }
.chf-give-optnote { font:700 10px proxima-nova,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#127A3A; background:#EEF6EF; padding:4px 7px; border-radius:5px; }
.chf-give-tiers { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:18px; }
@media(max-width:820px){ .chf-give-tiers{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .chf-give-tiers{ grid-template-columns:1fr; } }
.chf-give-tier { display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:22px 18px; text-align:center; transition:border-color .25s, box-shadow .25s, transform .25s; }
.chf-give-tier:hover { border-color:#56B84A; box-shadow:0 12px 28px rgba(25,53,96,.12); transform:translateY(-3px); }
.chf-give-amt { font:800 30px proxima-nova,sans-serif; color:#193560; }
.chf-give-per { font:600 12px proxima-nova,sans-serif; color:#8A93A3; }
.chf-give-outcome { font:400 13px/1.5 effra,sans-serif; color:#2A3441; flex:1; }
.chf-give-cta { display:inline-flex; align-items:center; justify-content:center; gap:6px; background:#127A3A; color:#fff !important; font:600 14px proxima-nova,sans-serif; text-decoration:none; padding:11px 16px; border-radius:9px; transition:background .2s, transform .2s; }
.chf-give-cta:hover { background:#0E6630; transform:translateY(-1px); }
.chf-give-arrow { transition:transform .2s; }
.chf-give-cta:hover .chf-give-arrow { transform:translateX(3px); }
.chf-give-other { display:inline-block; font:600 14px proxima-nova,sans-serif; color:#127A3A; text-decoration:none; }
.chf-give-secure, .chf-give-note { font:400 13px effra,sans-serif; color:#8A93A3; margin-top:8px; }

/* --- Newsletter segmentation --- */
.chf-nlseg-box { background:#F8F9FB; border:1px solid #E2E8F0; border-radius:14px; padding:22px 24px; }
.chf-nlseg-legend { font:700 14px proxima-nova,sans-serif; color:#193560; }
.chf-nlseg-desc { font:400 14px effra,sans-serif; color:#5A6472; margin:4px 0 14px; }
.chf-nlseg-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 18px; }
@media(max-width:600px){ .chf-nlseg-grid{ grid-template-columns:1fr; } }
.chf-nlseg-item { display:flex; align-items:center; gap:10px; }
.chf-nlseg-name { font:500 14px effra,sans-serif; color:#2A3441; }
.chf-nlseg-hint { font:400 12px effra,sans-serif; color:#8A93A3; margin-top:10px; }

/* --- Impact dashboard wrappers (stat counters reuse the existing .chf-stats/.chf-statviz) --- */
.chf-impact { max-width:1080px; margin:0 auto; }
.chf-impact-head { text-align:center; margin-bottom:22px; }
.chf-impact-lede { font:400 16px/1.6 effra,sans-serif; color:#5A6472; max-width:680px; margin:8px auto 0; }
.chf-impact-viz { margin-top:26px; }
.chf-impact-cta { text-align:center; margin-top:24px; }
.chf-impact-cta-text { font:400 15px effra,sans-serif; color:#5A6472; margin:0 0 12px; }

/* --- reaffirm give-toggle clipping fix so it wins over the restored base toggle --- */
.chf-give-toggle { width:auto !important; }
.chf-give-opt { flex:0 0 auto !important; }
.chf-give-thumb { display:none !important; }
.chf-give-radio[value="one"]:checked ~ .chf-give-opt[for$="-one"],
.chf-give-radio[value="monthly"]:checked ~ .chf-give-opt[for$="-mo"] { background:#193560 !important; color:#fff !important; }

/* fill the container (these shortcode roots are flex items that shrink-wrap without width:100%) */
.chf-press, .chf-rel, .chf-give, .chf-vtl, .chf-impact { width: 100%; }
.chf-press { max-width: 1180px; }
.chf-press-feed { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

/* In the News (1205) + Our Impact (1207): cloned-shell boxed containers shrink-wrap as flex items; force them to fill (max-width still caps + centers) */
.page-id-1205 .e-con-boxed, .page-id-1207 .e-con-boxed,
.page-id-1205 .e-con-boxed > .e-con-inner, .page-id-1207 .e-con-boxed > .e-con-inner,
.page-id-1205 .elementor-widget-shortcode, .page-id-1207 .elementor-widget-shortcode { width: 100% !important; }
.page-id-1205 .e-con, .page-id-1207 .e-con { align-self: stretch !important; }

/* gap between year-filter pills and the card feed (was colliding) */
.chf-press-years { margin-bottom: 30px; }

/* ===== Leadership mega-panel (desktop only) — featured Alumni Directory + descriptions ===== */
@media (min-width: 1025px) {
  .elementor-nav-menu--main .menu-item-651 > .sub-menu {
    min-width: 384px !important;
    padding: 12px !important;
  }
  /* rich item: title (link text) + description line */
  .elementor-nav-menu--main .menu-item-651 > .sub-menu .elementor-sub-item {
    display: block !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    white-space: normal !important;
  }
  .elementor-nav-menu--main .menu-item-651 > .sub-menu .elementor-sub-item::after {
    display: block;
    margin-top: 3px;
    font-family: effra, sans-serif;
    font-weight: 400;
    font-size: 12.5px;
    line-height: 1.3;
    color: #6A7585;
    letter-spacing: 0;
    text-transform: none;
  }
  /* per-item descriptions */
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 .elementor-sub-item::after { content: "Search & connect with 1,496 alumni leaders"; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-652  .elementor-sub-item::after { content: "Standout graduates making an impact"; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-653  .elementor-sub-item::after { content: "Milestone honor roll of changemakers"; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-654  .elementor-sub-item::after { content: "Latest stories from the alumni network"; }

  /* featured: Alumni Directory card on top, divider below */
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #EDF1F6;
  }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 > .elementor-sub-item {
    background: #EEF6EF !important;
    border: 1px solid #CDE7CD !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    color: #16692F !important;
  }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 > .elementor-sub-item:hover {
    background: #E2F0E2 !important;
    padding-left: 14px !important;
  }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 .elementor-sub-item::after { color: #4E7A57; }
}

/* ===== mega-panels for About / Strategic Initiatives / Events (desktop only) ===== */
@media (min-width: 1025px) {
  .elementor-nav-menu--main .menu-item-636 > .sub-menu,
  .elementor-nav-menu--main .menu-item-643 > .sub-menu,
  .elementor-nav-menu--main .menu-item-655 > .sub-menu {
    min-width: 360px !important;
    padding: 12px !important;
  }
  /* rich items: title + description */
  .elementor-nav-menu--main .menu-item-636 > .sub-menu .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-643 > .sub-menu .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-655 > .sub-menu .elementor-sub-item {
    display: block !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    white-space: normal !important;
  }
  .elementor-nav-menu--main .menu-item-636 > .sub-menu .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-643 > .sub-menu .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-655 > .sub-menu .elementor-sub-item::after {
    display: block;
    margin-top: 3px;
    font-family: effra, sans-serif;
    font-weight: 400;
    font-size: 12.5px;
    line-height: 1.3;
    color: #6A7585;
    letter-spacing: 0;
    text-transform: none;
  }
  /* per-item descriptions */
  .elementor-nav-menu--main .menu-item-636 .menu-item-637  .elementor-sub-item::after { content: "Meet the people behind the Center"; }
  .elementor-nav-menu--main .menu-item-636 .menu-item-1209 .elementor-sub-item::after { content: "Our results across the region"; }
  .elementor-nav-menu--main .menu-item-636 .menu-item-639  .elementor-sub-item::after { content: "The partners who power our work"; }
  .elementor-nav-menu--main .menu-item-643 .menu-item-644  .elementor-sub-item::after { content: "Our flagship regional initiative"; }
  .elementor-nav-menu--main .menu-item-643 .menu-item-645  .elementor-sub-item::after { content: "A long-range vision for the region"; }
  .elementor-nav-menu--main .menu-item-643 .menu-item-650  .elementor-sub-item::after { content: "Explore our completed work"; }
  .elementor-nav-menu--main .menu-item-655 .menu-item-656  .elementor-sub-item::after { content: "Our flagship convenings"; }
  .elementor-nav-menu--main .menu-item-655 .menu-item-657  .elementor-sub-item::after { content: "Our signature event"; }

  /* featured first item of each (green card + divider) */
  .elementor-nav-menu--main .menu-item-636 .menu-item-637,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #EDF1F6;
  }
  .elementor-nav-menu--main .menu-item-636 .menu-item-637 > .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644 > .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 > .elementor-sub-item {
    background: #EEF6EF !important;
    border: 1px solid #CDE7CD !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    color: #16692F !important;
  }
  .elementor-nav-menu--main .menu-item-636 .menu-item-637 > .elementor-sub-item:hover,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644 > .elementor-sub-item:hover,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 > .elementor-sub-item:hover {
    background: #E2F0E2 !important;
    padding-left: 14px !important;
  }
  .elementor-nav-menu--main .menu-item-636 .menu-item-637 .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644 .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 .elementor-sub-item::after {
    color: #4E7A57;
  }
}

/* snappier nav: remove dropdown fade/close lag when moving between top-level items (desktop only) */
@media (min-width: 1025px) {
  .elementor-nav-menu--main .sub-menu,
  .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
    transition: opacity .1s linear !important;
    transition-delay: 0s !important;
    animation: none !important;
  }
}

/* footer: phone tel: link was inheriting dark link color on navy → match the green email link */
.elementor-element-chfftr12 a[href^="tel:"] { color: #56B84A !important; text-decoration: none; }
.elementor-element-chfftr12 a[href^="tel:"]:hover { color: #7BC97A !important; text-decoration: underline; }

/* Donate page (56): remove the redundant bottom "Make a secure gift today" CTA card (tiers above handle giving) */
.page-id-56 [data-elementor-type="wp-page"] > .e-con:last-child:has(.elementor-widget-button) { display: none !important; }

/* guest Sign In button on alumni directory (hero corner) */
.chf-signin-btn { padding: 8px 18px !important; font-weight: 700 !important; text-decoration: none !important; display: inline-flex !important; align-items: center; }

/* Top 25 (619): center the headshot within each card; name/title/season stay left */
.page-id-619 .chf-card .elementor-widget-image { text-align: center !important; }
.page-id-619 .chf-card .elementor-widget-image img { display: inline-block !important; margin-left: auto !important; margin-right: auto !important; float: none !important; }

/* Top 25 (619): center the IMAGE WIDGET itself as a flex item (real fix — it was a narrow left flex child) */
.page-id-619 .chf-card > .elementor-widget-image { align-self: center !important; margin-left: 0 !important; margin-right: 0 !important; }

/* ===================== Asana fixes — 2026-06-24 ===================== */

/* (Nav bar) Clear the green highlight left stuck on a menu item after it is clicked (focus state).
   Keeps green only on hover and on the genuine current page. */
.elementor-nav-menu--main a.elementor-item:focus:not(:hover):not(.elementor-item-active),
.elementor-nav-menu--main a.elementor-sub-item:focus:not(:hover):not(.elementor-item-active),
.elementor-nav-menu--dropdown a:focus:not(:hover):not(.elementor-item-active):not(.current-menu-item) {
  color: inherit !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* (Homepage KPI band) Highlight follows the cursor on hover; the "Vision 2050" card matches its
   white siblings (default), and whichever card is hovered turns navy with white text. */
.elementor-1070 .elementor-element.elementor-element-chfstat6:not(.elementor-motion-effects-element-type-background) { background-color: #FFFFFF !important; }
.elementor-1070 .elementor-element.elementor-element-chfstat6 .elementor-counter-number-wrapper { color: #193560 !important; }
.elementor-1070 .elementor-element.elementor-element-chfstat6 .elementor-counter-title { color: #5A6472 !important; }

.elementor-1070 .elementor-element-chfstat2,
.elementor-1070 .elementor-element-chfstat4,
.elementor-1070 .elementor-element-chfstat6,
.elementor-1070 .elementor-element-chfstat8 { transition: background-color .3s ease, transform .3s ease, box-shadow .3s ease; }

.elementor-1070 .elementor-element.elementor-element-chfstat2:not(.elementor-motion-effects-element-type-background):hover,
.elementor-1070 .elementor-element.elementor-element-chfstat4:not(.elementor-motion-effects-element-type-background):hover,
.elementor-1070 .elementor-element.elementor-element-chfstat6:not(.elementor-motion-effects-element-type-background):hover,
.elementor-1070 .elementor-element.elementor-element-chfstat8:not(.elementor-motion-effects-element-type-background):hover { background-color: #193560 !important; transform: translateY(-4px); box-shadow: 0 18px 40px rgba(25,53,96,.18); }

.elementor-1070 .elementor-element.elementor-element-chfstat2:hover .elementor-counter-number-wrapper, .elementor-1070 .elementor-element.elementor-element-chfstat2:hover .elementor-counter-title,
.elementor-1070 .elementor-element.elementor-element-chfstat4:hover .elementor-counter-number-wrapper, .elementor-1070 .elementor-element.elementor-element-chfstat4:hover .elementor-counter-title,
.elementor-1070 .elementor-element.elementor-element-chfstat6:hover .elementor-counter-number-wrapper, .elementor-1070 .elementor-element.elementor-element-chfstat6:hover .elementor-counter-title,
.elementor-1070 .elementor-element.elementor-element-chfstat8:hover .elementor-counter-number-wrapper, .elementor-1070 .elementor-element.elementor-element-chfstat8:hover .elementor-counter-title { color: #FFFFFF !important; }

/* (Our Impact) More breathing room between the dashboard blocks — they were colliding. */
.chf-impact-stats { margin-top: 10px; }
.chf-impact-viz { margin-top: 56px !important; }
.chf-impact-cta { margin-top: 52px !important; padding-top: 8px; }

/* (Homepage "Latest from the Center" + Project Metis "Related News") Uniform thumbnail size
   so the news cards line up evenly (featured images had different aspect ratios). */
.e-loop-item img,
.elementor-element-chflitm0 img {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  object-fit: cover !important;
}

/* (Energy) uniform feature images on report cards */
.chf-rpt-thumb img { width:100% !important; aspect-ratio:16/10 !important; height:auto !important; object-fit:cover !important; border-radius:12px; margin-bottom:14px; }
.elementor-element-rst0001, .elementor-element-rst0004, .elementor-element-rst0007 { overflow:hidden; }

/* (KPI) give the Vision 2050 card the same border + soft shadow frame as its siblings */
.elementor-1070 .elementor-element.elementor-element-chfstat6 { border:1px solid #E2E8F0 !important; border-radius:12px !important; box-shadow:0px 8px 24px 0px rgba(25,53,96,0.07) !important; }

/* (Homepage flagship CTA) match the site's primary green button + force readable white text */
.chf-fl a.chf-fl-btn { background:#1E8C45 !important; color:#ffffff !important; border:1px solid #1E8C45 !important; }
.chf-fl a.chf-fl-btn:hover { background:#127A3A !important; color:#ffffff !important; border-color:#127A3A !important; }

/* (WonderWeek) hero intro text was dark on the navy hero — force readable white */
.elementor-element-chfseo720, .elementor-element-chfseo720 p, .elementor-element-chfseo720 a { color:#FFFFFF !important; }

/* (Top 25 / FAQ / News) added hero intros were dark on the navy hero — force readable white */
.elementor-element-chfseo619, .elementor-element-chfseo619 p, .elementor-element-chfseo619 a,
.elementor-element-chfseo744, .elementor-element-chfseo744 p, .elementor-element-chfseo744 a,
.elementor-element-chfseo58, .elementor-element-chfseo58 p, .elementor-element-chfseo58 a { color:#FFFFFF !important; }

/* ===== (Nav) remove the green "featured" card from the first item of every dropdown — uniform items, green only on hover (CHF request 2026-06-26) ===== */
@media (min-width: 1025px) {
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 > .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-636 .menu-item-637 > .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644 > .elementor-sub-item,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 > .elementor-sub-item {
    background: transparent !important; border-width: 0 0 0 8px !important; border-style: solid !important; border-color: transparent !important; border-radius: 0 !important;
    font-weight: 600 !important; color: #2A3441 !important; padding-left: 14px !important;
  }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 > .elementor-sub-item:hover,
  .elementor-nav-menu--main .menu-item-636 .menu-item-637 > .elementor-sub-item:hover,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644 > .elementor-sub-item:hover,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 > .elementor-sub-item:hover {
    background: #EEF6EF !important; color: #1E8C45 !important; padding-left: 18px !important;
  }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043 .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-636 .menu-item-637 .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644 .elementor-sub-item::after,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 .elementor-sub-item::after { color: #6A7585 !important; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3043,
  .elementor-nav-menu--main .menu-item-636 .menu-item-637,
  .elementor-nav-menu--main .menu-item-643 .menu-item-644,
  .elementor-nav-menu--main .menu-item-655 .menu-item-656 {
    margin-bottom: 0 !important; padding-bottom: 0 !important; border-bottom: 0 !important;
  }
}

/* ==== brain-capital-cross-link (added by chf_add_brain_capital.py) ==== */
.chf-brain-capital-band {
  color: #FFFFFF;
}
.chf-brain-capital-band .elementor-heading-title,
.chf-brain-capital-band .elementor-text-editor {
  font-family: "Proxima Nova", "Roboto Slab", system-ui, sans-serif;
}
.chf-brain-capital-band .chf-eyebrow .elementor-heading-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.chf-brain-capital-band h2.elementor-heading-title {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.chf-brain-capital-band .elementor-text-editor {
  font-size: 17px;
  line-height: 1.6;
  color: #DCE3EE;
  max-width: 720px;
}
.chf-brain-capital-band .elementor-button {
  transition: background-color .18s ease, color .18s ease;
}
.chf-brain-capital-band .elementor-button:hover {
  background-color: #5B902A !important;
  color: #FFFFFF !important;
}
p.chf-brain-capital-inline a:hover {
  color: #17355F !important;
}
@media (max-width: 767px) {
  .chf-brain-capital-band h2.elementor-heading-title { font-size: 26px; }
  .chf-brain-capital-band .elementor-text-editor { font-size: 16px; }
}
/* ==== /brain-capital-cross-link ==== */

/* ==== reading-time (added by chf_add_reading_time.py) ==== */
.chf-reading-time {
  display: inline;
  font-size: 13px;
  font-weight: 500;
  color: #64748B;
  letter-spacing: 0;
  white-space: nowrap;
}
.chf-reading-time-inline { display: inline; margin-left: 4px; }
/* keep the reading-time text-editor tight inside loop cards */
.elementor-loop-item .chf-reading-time,
.elementor-loop-item .chf-reading-time-inline {
  font-family: inherit;
}
.elementor-loop-item .elementor-widget-text-editor:has(.chf-reading-time) {
  margin-top: 4px;
}
/* ==== /reading-time ==== */

/* Hide empty reading-time wrappers (news cards with 0 content = external link posts) */
.chf-reading-time-wrap:empty,
.chf-reading-time-widget:has(.chf-reading-time-wrap:empty),
.chf-reading-time-widget:has(p:empty:only-child) {
  display: none !important;
}
