
/* ===== 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: #156834; 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: #7A5E10; 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:#7A5E10; }
.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:#5A6472; 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:#5A6472; }
.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:#5A6472; 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: 1280px; margin: 0 auto; padding: 0 24px 44px; }
.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: #5A6472; }
.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: 1280px !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: #5A6472 !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: #5A6472 !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: #5A6472; 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:#5A6472; }
.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:#5A6472; 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:#5A6472; 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:#5A6472; 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:#7A5E10; }
.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:#5A6472; 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:#5A6472; }
.chf-search-none { padding:14px 16px; font:400 14px effra,sans-serif; color:#5A6472; }
.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:#7A5E10; }
.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:#5A6472; }
.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:#5A6472; 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:#5A6472; 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-3075 .elementor-sub-item::after { content: "Nominate a leader for the Forum"; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3076 .elementor-sub-item::after { content: "Top 25 Alumni & the 75 Leaders honor roll"; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-3077 .elementor-sub-item::after { content: "Private portal for the current class"; }
  .elementor-nav-menu--main .menu-item-651 .menu-item-654  .elementor-sub-item::after { content: "Photos & highlights from alumni gatherings"; }

  /* 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;
}

/* top-25 / 75-leaders: equal-height cards per row (covers non-LinkedIn cards too, e.g. Cullen Geiselman) */
.page-id-619 .chf-card, .page-id-620 .chf-card { align-self: stretch; }
.page-id-619 .chf-card > .elementor-widget-heading:last-child,
.page-id-620 .chf-card > .elementor-widget-heading:last-child { margin-top: auto; }
.page-id-619 .chf-card .elementor-widget-text-editor p,
.page-id-620 .chf-card .elementor-widget-text-editor p { min-height: 4.8em; }

/* ===== changes 2026-08-31 (CHF post-demo punch list) ===== */
/* alumni directory: remove Mentors filter toggle */
.chf-dir-spk[data-role="mentor"] { display: none !important; }
/* homepage: tighter vertical rhythm (less scrolling, less white space) */
div[data-elementor-id="1070"] > .elementor-element-chfhero1 { padding-top: 88px !important; padding-bottom: 88px !important; }
/* homepage 60px section pins removed 2026-09-02 (density pass owns spacing via element data) */
div[data-elementor-id="1070"] > .elementor-element-chfsupp0,
div[data-elementor-id="1070"] > .elementor-element-chfnltr0 { padding-top: 48px !important; padding-bottom: 48px !important; }
.chf-fl-in { padding-top: 48px !important; padding-bottom: 48px !important; }
/* interior navy hero bands: thinner */
body:not(.home) .chf-hero { padding-top: 34px !important; padding-bottom: 26px !important; }

/* ===== press hub controls: compact, quiet redesign (2026-08-31) ===== */
.chf-press-controls { display:flex !important; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:14px !important; }
.chf-press-search {
  flex:0 1 400px !important; min-width:220px;
  padding:10px 18px !important; border:1px solid #E2E8F0 !important; border-radius:999px !important;
  font:400 14px/1.4 effra,sans-serif !important; color:#193560 !important; background:#fff !important;
  box-shadow:none !important; height:auto !important;
}
.chf-press-search:focus { outline:none !important; border-color:#56B84A !important; box-shadow:0 0 0 3px rgba(86,184,74,.14) !important; }
.chf-press-src {
  padding:10px 34px 10px 16px !important; border:1px solid #E2E8F0 !important; border-radius:999px !important;
  font:600 13px proxima-nova,sans-serif !important; color:#5A6472 !important; background:#fff !important;
  box-shadow:none !important; height:auto !important; text-transform:none !important;
}
/* "As featured in" — one quiet inline line under the search */
.chf-press-featured { display:flex !important; flex-wrap:wrap; align-items:baseline; text-align:left !important; gap:2px 10px; margin:0 0 18px !important; padding:0 2px; }
.chf-press-featured-lbl { display:inline !important; font:700 10.5px proxima-nova,sans-serif !important; letter-spacing:1.3px; text-transform:uppercase; color:#5A6472 !important; margin:0 8px 0 0 !important; }
.chf-press-featured-row { display:inline-flex !important; flex-wrap:wrap; justify-content:flex-start !important; gap:2px 0 !important; }
.chf-press-outlet { font:600 12.5px proxima-nova,sans-serif !important; color:#5A6472 !important; }
.chf-press-outlet:not(:last-child)::after { content:"\00B7"; margin:0 9px; color:#C4CBD6; font-weight:400; }
/* topic pills — small, quiet; navy only when active (kill kit button bleed) */
.chf-press-years { display:flex !important; flex-wrap:wrap; gap:8px !important; margin:0 0 26px !important; }
.chf-press-y {
  appearance:none !important; -webkit-appearance:none !important;
  font:600 13px/1 proxima-nova,sans-serif !important; letter-spacing:0 !important; text-transform:none !important;
  color:#5A6472 !important; background:#fff !important; background-image:none !important;
  border:1px solid #E2E8F0 !important; border-radius:999px !important;
  padding:8px 16px !important; margin:0 !important; box-shadow:none !important;
  cursor:pointer; transition:border-color .15s,color .15s,background .15s;
}
.chf-press-y:hover { border-color:#56B84A !important; color:#127A3A !important; background:#fff !important; }
.chf-press-y.on, .chf-press-y[aria-pressed="true"] { background:#193560 !important; color:#fff !important; border-color:#193560 !important; }

/* ===== Forum Portal (1054) ===== */
.page-id-1054 .chf-hero { background: linear-gradient(135deg, #193560, #0F2342); }
.page-id-1054 .chf-hero h1 { color: #fff; }
.page-id-1054 .chf-hero .elementor-widget-text-editor { color: #C5CEDC; max-width: 720px; }
.page-id-1054 .chf-eyebrow .elementor-heading-title { font: 700 12px proxima-nova, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: #F0B843; }
.chf-portal-grid > .e-con-inner, .chf-portal-grid { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; justify-content: center; }
.chf-portal-grid .chf-ptile { width: 30% !important; max-width: 340px; min-width: 230px; padding: 0 !important; border-radius: 16px; overflow: hidden; border: 1px solid #E2E8F0; background: #fff; }
.chf-ptile .elementor-widget-image { width: 100% !important; }
.chf-ptile img { width: 100% !important; display: block; }
@media (max-width: 900px) { .chf-portal-grid .chf-ptile { width: 46% !important; } }
@media (max-width: 560px) { .chf-portal-grid .chf-ptile { width: 100% !important; } }
/* nominate anchor: land below the sticky header */
#nominate { scroll-margin-top: 110px; }
/* password form styling (WP default form on protected pages) */
.post-password-form { max-width: 560px; margin: 80px auto; padding: 36px; border: 1px solid #E2E8F0; border-radius: 16px; font-family: effra, sans-serif; color: #193560; }
.post-password-form input[type="password"] { padding: 11px 16px; border: 1px solid #E2E8F0; border-radius: 10px; margin-right: 8px; }
.post-password-form input[type="submit"] { background: #127A3A; color: #fff; border: 0; border-radius: 10px; padding: 12px 22px; font: 700 14px proxima-nova, sans-serif; cursor: pointer; }
/* portal hub: hide sitewide scrollspy on 1054 (hub has its own structure) */
.page-id-1054 .chf-spy { display: none !important; }
/* navy hero for hub pages */
.chf-hero-navy { background: linear-gradient(135deg, #193560, #0F2342); }
.chf-hero-navy h1 { color: #fff; }
.chf-hero-navy .elementor-widget-text-editor { color: #C5CEDC; max-width: 720px; }
.chf-hero-navy .chf-eyebrow .elementor-heading-title { font: 700 12px proxima-nova, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: #F0B843; }
/* hub pages: hide sitewide scrollspy (redundant with in-page navigation) */
.page-id-3093 .chf-spy, .page-id-3095 .chf-spy, .page-id-3097 .chf-spy, .page-id-705 .chf-spy { display: none !important; }
#graphic-recordings { scroll-margin-top: 110px; }
/* hub hero: force white H1 over navy (kit heading color outranks bare tag selector) */
.chf-hero-navy h1.elementor-heading-title { color: #fff !important; }
/* staff headshots (was monograms) */
.chf-staff-photo img { width: 96px !important; height: 96px !important; border-radius: 50%; object-fit: cover; border: 3px solid #F8F9FB; box-shadow: 0 0 0 2px #56B84A; }
/* leadership-alumni hero jump pills */
.chf-hero-jumps { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.chf-hero-jumps a { font: 700 13px proxima-nova, sans-serif; color: #fff; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; padding: 9px 16px; text-decoration: none; transition: background .18s; }
.chf-hero-jumps a:hover { background: rgba(255,255,255,.2); }
#top-25, #the-75 { scroll-margin-top: 100px; }

/* team page: tighter cards (less white space) */
.page-id-53 .chf-card { padding: 20px 22px !important; }
.page-id-53 .chf-card > .elementor-widget-image { align-self: flex-start !important; text-align: left !important; margin: 0 0 10px !important; }
.page-id-53 .chf-staff-photo img { width: 68px !important; height: 68px !important; }
.page-id-53 .chf-card .elementor-widget-heading { margin: 0 0 2px !important; }
.page-id-53 .chf-card .elementor-widget-text-editor { margin: 0 0 4px !important; }
.page-id-53 .chf-card .elementor-widget-text-editor p { margin: 0 0 2px !important; font-size: 13.5px !important; line-height: 1.45 !important; }
.page-id-53 .e-con:has(> .chf-card) { gap: 16px !important; }
.page-id-53 .e-con-inner:has(> .chf-card) { gap: 16px !important; }

/* top-25: condensed horizontal cards (photo + name/title + cohort chip) */
.page-id-619 div[data-id="bsp0211"] .e-con-inner{gap:14px !important;}
.page-id-619 div[data-id="bsp0211"] .chf-card{display:grid !important;grid-template-columns:56px minmax(0,1fr) auto;column-gap:14px;row-gap:1px;
  align-items:center;align-content:center;padding:14px 16px !important;width:31.9% !important;min-width:300px;max-width:none;border-radius:14px;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-image{grid-column:1;grid-row:1/3;margin:0 !important;width:56px !important;align-self:center !important;}
.page-id-619 div[data-id="bsp0211"] .chf-card img{width:56px !important;height:56px !important;border-radius:50%;object-fit:cover;object-position:center 18%;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-heading:not(:last-child){grid-column:2;grid-row:1;margin:0 !important;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-heading:not(:last-child) .elementor-heading-title{font-size:15px !important;line-height:1.3 !important;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-text-editor{grid-column:2;grid-row:2;margin:0 !important;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-text-editor p{min-height:0 !important;font-size:12px !important;line-height:1.4 !important;margin:0 !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-heading:last-child{grid-column:3;grid-row:1/3;margin:0 !important;}
.page-id-619 div[data-id="bsp0211"] .chf-card > .elementor-widget-heading:last-child .elementor-heading-title{font:700 10px proxima-nova,sans-serif !important;
  letter-spacing:.6px;text-transform:uppercase;color:#127A3A !important;background:rgba(86,184,74,.10);border:1px solid rgba(86,184,74,.35);border-radius:999px;padding:5px 9px;white-space:nowrap;}
.page-id-619 div[data-id="bsp0211"] .chf-card:hover > .elementor-widget-heading:last-child{transform:none !important;}
@media(max-width:1080px){.page-id-619 div[data-id="bsp0211"] .chf-card{width:48% !important;}}
@media(max-width:660px){.page-id-619 div[data-id="bsp0211"] .chf-card{width:100% !important;min-width:0;}}

/* ===== event pages: modern content layout ===== */
.chf-ev{font-family:effra,sans-serif;color:#193560;}
.chf-ev-lead{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start;margin-bottom:30px;}
.chf-ev-poster{margin:0;}
.chf-ev-poster img{width:100%;height:auto;border-radius:16px;box-shadow:0 1px 2px rgba(25,53,96,.06),0 14px 34px rgba(25,53,96,.13);}
.chf-ev-intro p{font:400 15.5px/1.65 effra,sans-serif;color:#44506B;margin:0 0 14px;text-align:left !important;}
.chf-ev-people{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 12px;}
.chf-ev-people section{background:#F8F9FB;border:1px solid #E2E8F0;border-radius:16px;padding:20px 22px;}
.chf-ev h3{font:600 16px proxima-nova,sans-serif;color:#193560;margin:0 0 12px;text-align:left !important;}
.chf-ev-chips{display:flex;flex-wrap:wrap;gap:8px;}
.chf-ev-chip{font:600 13px proxima-nova,sans-serif;color:#193560;background:#fff;border:1px solid #E2E8F0;border-radius:999px;padding:7px 13px;}
.chf-ev-note{font:400 13.5px/1.5 effra,sans-serif;color:#5A6472;margin:0 0 26px;text-align:left !important;}
.chf-ev-sponsorcta{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;background:linear-gradient(150deg,#193560,#0F2342);border-radius:18px;padding:24px 28px;margin-bottom:34px;}
.chf-ev-sponsorcta h3{color:#fff;font-size:18px;margin-bottom:6px;}
.chf-ev-sponsorcta p{color:#C5CEDC;font:400 14px/1.55 effra,sans-serif;margin:0;max-width:520px;text-align:left !important;}
.chf-ev-sponsorcta a{color:#56B84A;}
.chf-ev-sponsorbtns{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto;}
.chf-ev-btn{display:inline-flex;align-items:center;font:700 13.5px/1 proxima-nova,sans-serif !important;border-radius:11px !important;padding:12px 18px !important;text-decoration:none !important;transition:transform .2s,background .2s;}
.chf-ev-btn--solid{background:#127A3A !important;color:#fff !important;}
.chf-ev-btn--solid:hover{background:#0E6230 !important;transform:translateY(-2px);}
.chf-ev-btn--line{background:rgba(255,255,255,.08) !important;color:#fff !important;border:1px solid rgba(255,255,255,.3) !important;}
.chf-ev-btn--line:hover{background:rgba(255,255,255,.16) !important;transform:translateY(-2px);}
.chf-ev-sponsors-h{font-size:20px !important;margin-bottom:16px !important;}
.chf-ev-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.chf-ev-tier{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.chf-ev-tier--wide{grid-column:1/-1;}
.chf-ev-tierlbl{font:700 11px proxima-nova,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#127A3A;background:rgba(86,184,74,.10);border:1px solid rgba(86,184,74,.35);border-radius:999px;padding:6px 11px;}
.chf-ev-tier img{max-height:74px !important;width:auto !important;max-width:80%;object-fit:contain;margin:auto 0;}
.chf-ev-tier p{font:600 14.5px proxima-nova,sans-serif;color:#193560;margin:auto 0;text-align:left !important;}
@media(max-width:880px){.chf-ev-lead{grid-template-columns:1fr;}.chf-ev-people{grid-template-columns:1fr;}.chf-ev-tiers{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.chf-ev-tiers{grid-template-columns:1fr;}}
/* legacy synced event content (past events): keep tidy */
.tribe-events-single-event-description img:not(.chf-ev img){max-width:min(100%,460px);height:auto;border-radius:10px;}
.tribe-events-single-event-description p[style*="text-align: center"]{text-align:left !important;}
.tribe-events-single-event-description h3[style*="text-align: center"]{text-align:left !important;}
/* single events: featured image is shown inline by our layout; hide TEC duplicate */
.single-tribe_events .tribe-events-event-image { display: none !important; }

/* event single: roomier canvas */
body.single-tribe_events #tribe-events-content.chf-evsingle, .chf-evsingle { max-width: 1280px !important; }
@media (min-width:901px){ body.single-tribe_events .chf-evwrap { grid-template-columns: minmax(0,1fr) 330px !important; gap: 48px !important; } }
@media (min-width:881px){ .chf-ev-lead { grid-template-columns: 300px minmax(0,1fr); } }
.chf-ev-intro p { font-size: 16px; }
.chf-ev-tier { align-items: center; text-align: center; }
.chf-ev-tier .chf-ev-tierlbl { align-self: center; }
.chf-ev-tier img { margin: auto; max-height: 84px !important; }
.chf-ev-intro--full p, .chf-ev-para { font: 400 15.5px/1.65 effra, sans-serif; color: #44506B; text-align: left !important; }
.chf-ev-fig { margin: 18px 0; } .chf-ev-fig img { max-width: min(100%, 520px); border-radius: 12px; }
.chf-ev-people--one { grid-template-columns: 1fr; }
.chf-rec-lede { font: 400 15px/1.55 effra, sans-serif; color: #5A6472; margin: 0 0 18px; max-width: 620px; }
.chf-rec-season { font: 700 12px proxima-nova, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: #127A3A; margin: 26px 0 12px; }
.chf-rec-t { font: 600 14px proxima-nova, sans-serif; color: #193560; padding: 12px 14px 4px; }
.chf-rec-s { font: 600 11px proxima-nova, sans-serif; color: #5A6472; padding: 0 14px 12px; }

/* press hub: featured strip + search + filters fused into one panel */
.chf-press-panel { background: #F8F9FB; border: 1px solid #E2E8F0; border-radius: 18px; padding: 18px 20px 16px; margin-bottom: 28px;
  box-shadow: 0 1px 2px rgba(25,53,96,.03), 0 6px 18px rgba(25,53,96,.04); }
.chf-press-panel .chf-press-featured { margin: 0 0 14px !important; padding: 0 2px 13px; border-bottom: 1px solid #E2E8F0; }
.chf-press-panel .chf-press-controls { margin: 0 !important; gap: 10px; align-items: center; }
.chf-press-panel .chf-press-search { flex: 1 1 240px !important; max-width: 380px; }
.chf-press-panel .chf-press-years { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }

/* header: cluster search with Donate as one utility group (was stranded mid-gap) */
[data-elementor-type="header"] .e-con-inner:has(.elementor-widget-search-form) { justify-content: flex-start !important; }
[data-elementor-type="header"] .e-con-inner:has(.elementor-widget-search-form) .elementor-widget-n-menu,
[data-elementor-type="header"] .e-con-inner:has(.elementor-widget-search-form) .elementor-widget-nav-menu { margin-left: auto !important; margin-right: auto !important; }
[data-elementor-type="header"] .elementor-widget-search-form { margin-right: 6px !important; }

/* metis partners & supporters: structured groups */
.chf-ps { display: flex; flex-direction: column; gap: 22px; }
.chf-ps-lbl { display: block; font: 700 11.5px proxima-nova, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: #127A3A; margin-bottom: 10px; }
.chf-ps-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.chf-ps-p { background: #fff; border: 1px solid #E2E8F0; border-radius: 14px; padding: 16px 18px; }
.chf-ps-p strong { display: block; font: 600 15.5px proxima-nova, sans-serif; color: #193560; margin-bottom: 3px; }
.chf-ps-p span { font: 400 13.5px/1.45 effra, sans-serif; color: #5A6472; }
.chf-ps-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chf-ps-chip { font: 600 13px proxima-nova, sans-serif; color: #193560; background: #fff; border: 1px solid #E2E8F0; border-radius: 999px; padding: 8px 14px; }

/* inline text CTA link style */
a.chf-textcta { display: inline-block; font: 700 14.5px proxima-nova, sans-serif; color: #127A3A !important; text-decoration: none !important; border: 1px solid rgba(86,184,74,.5); border-radius: 999px; padding: 10px 18px; margin-top: 4px; transition: background .18s, color .18s; }
a.chf-textcta:hover { background: #127A3A; color: #fff !important; }
.elementor-widget-text-editor .chf-ps { columns: 1 !important; column-count: 1 !important; }

/* navy sponsor band: keep links visible on hover (kit hover color is navy = invisible here) */
.chf-ev-sponsorcta a:not(.chf-ev-btn) { color: #56B84A !important; text-decoration: none; }
.chf-ev-sponsorcta a:not(.chf-ev-btn):hover, .chf-ev-sponsorcta a:not(.chf-ev-btn):focus { color: #8FE07F !important; text-decoration: underline; }
/* same guard for the other navy bands with inline links */
.chf-fp-join a:not(.chf-fp-btn):hover, .chf-fp-next a:not(.chf-fp-btn):hover { color: #8FE07F !important; }


/* === QA 2026-10-13 (Reneka): WCAG AA contrast. White on #56B84A = 2.51:1 (fail). #1C8340 = 4.81:1. Decorative #56B84A (borders, markers, large display) left intact. === */
.elementor-kit-5 .elementor-button{ background-color:#1C8340 }
.elementor-kit-5 .elementor-button:hover, .elementor-kit-5 .elementor-button:focus{ background-color:#166B35 }
.tribe-common .tribe-common-c-btn, .tribe-common a.tribe-common-c-btn,
.fluentform .ff-btn-submit,
.chf-nlcta-form .fluentform .ff-btn-submit, .chf-nlcta-form .fluentform button[type=submit],
.chf-evhero-cta, .chf-evcta, .chf-cookie-accept{ background:#1C8340 !important; }
.tribe-common .tribe-common-c-btn:hover, .tribe-common a.tribe-common-c-btn:hover,
.fluentform .ff-btn-submit:hover,
.chf-nlcta-form .fluentform .ff-btn-submit:hover,
.chf-evhero-cta:hover, .chf-evcta:hover, .chf-cookie-accept:hover{ background:#166B35 !important; }
.chf-ev-sponsorcta a:not(.chf-ev-btn), .tribe-events a:not(.tribe-common-c-btn){ color:#176F38 !important; }

/* QA 2026-10-13: AA contrast for the 33 solid-green Elementor buttons (per-widget #56B84A → #1C8340 4.81:1) */
.elementor-element-ax0012 .elementor-button,.elementor-element-bsp0081 .elementor-button,.elementor-element-chf4045 .elementor-button,.elementor-element-chfhdr05 .elementor-button,.elementor-element-dncta4 .elementor-button,.elementor-element-g020028 .elementor-button,.elementor-element-g030022 .elementor-button,.elementor-element-g040022 .elementor-button,.elementor-element-g050034 .elementor-button,.elementor-element-g060022 .elementor-button,.elementor-element-g070040 .elementor-button,.elementor-element-g080081 .elementor-button,.elementor-element-g090120 .elementor-button,.elementor-element-g100087 .elementor-button,.elementor-element-g110047 .elementor-button,.elementor-element-g120041 .elementor-button,.elementor-element-g130047 .elementor-button,.elementor-element-g150071 .elementor-button,.elementor-element-g160022 .elementor-button,.elementor-element-p750023 .elementor-button,.elementor-element-pan0007 .elementor-button,.elementor-element-pan0076 .elementor-button,.elementor-element-pen0096 .elementor-button,.elementor-element-phe0050 .elementor-button,.elementor-element-pia0038 .elementor-button,.elementor-element-pir0038 .elementor-button,.elementor-element-ple0002 .elementor-button,.elementor-element-ple0051 .elementor-button,.elementor-element-pme0089 .elementor-button,.elementor-element-ppa0029 .elementor-button,.elementor-element-pvi0030 .elementor-button,.elementor-element-sih0053 .elementor-button,.elementor-element-v3e1912 .elementor-button{ background-color:#1C8340 !important; }
.elementor-element-ax0012 .elementor-button:hover, .elementor-element-ax0012 .elementor-button:focus,.elementor-element-bsp0081 .elementor-button:hover, .elementor-element-bsp0081 .elementor-button:focus,.elementor-element-chf4045 .elementor-button:hover, .elementor-element-chf4045 .elementor-button:focus,.elementor-element-chfhdr05 .elementor-button:hover, .elementor-element-chfhdr05 .elementor-button:focus,.elementor-element-dncta4 .elementor-button:hover, .elementor-element-dncta4 .elementor-button:focus,.elementor-element-g020028 .elementor-button:hover, .elementor-element-g020028 .elementor-button:focus,.elementor-element-g030022 .elementor-button:hover, .elementor-element-g030022 .elementor-button:focus,.elementor-element-g040022 .elementor-button:hover, .elementor-element-g040022 .elementor-button:focus,.elementor-element-g050034 .elementor-button:hover, .elementor-element-g050034 .elementor-button:focus,.elementor-element-g060022 .elementor-button:hover, .elementor-element-g060022 .elementor-button:focus,.elementor-element-g070040 .elementor-button:hover, .elementor-element-g070040 .elementor-button:focus,.elementor-element-g080081 .elementor-button:hover, .elementor-element-g080081 .elementor-button:focus,.elementor-element-g090120 .elementor-button:hover, .elementor-element-g090120 .elementor-button:focus,.elementor-element-g100087 .elementor-button:hover, .elementor-element-g100087 .elementor-button:focus,.elementor-element-g110047 .elementor-button:hover, .elementor-element-g110047 .elementor-button:focus,.elementor-element-g120041 .elementor-button:hover, .elementor-element-g120041 .elementor-button:focus,.elementor-element-g130047 .elementor-button:hover, .elementor-element-g130047 .elementor-button:focus,.elementor-element-g150071 .elementor-button:hover, .elementor-element-g150071 .elementor-button:focus,.elementor-element-g160022 .elementor-button:hover, .elementor-element-g160022 .elementor-button:focus,.elementor-element-p750023 .elementor-button:hover, .elementor-element-p750023 .elementor-button:focus,.elementor-element-pan0007 .elementor-button:hover, .elementor-element-pan0007 .elementor-button:focus,.elementor-element-pan0076 .elementor-button:hover, .elementor-element-pan0076 .elementor-button:focus,.elementor-element-pen0096 .elementor-button:hover, .elementor-element-pen0096 .elementor-button:focus,.elementor-element-phe0050 .elementor-button:hover, .elementor-element-phe0050 .elementor-button:focus,.elementor-element-pia0038 .elementor-button:hover, .elementor-element-pia0038 .elementor-button:focus,.elementor-element-pir0038 .elementor-button:hover, .elementor-element-pir0038 .elementor-button:focus,.elementor-element-ple0002 .elementor-button:hover, .elementor-element-ple0002 .elementor-button:focus,.elementor-element-ple0051 .elementor-button:hover, .elementor-element-ple0051 .elementor-button:focus,.elementor-element-pme0089 .elementor-button:hover, .elementor-element-pme0089 .elementor-button:focus,.elementor-element-ppa0029 .elementor-button:hover, .elementor-element-ppa0029 .elementor-button:focus,.elementor-element-pvi0030 .elementor-button:hover, .elementor-element-pvi0030 .elementor-button:focus,.elementor-element-sih0053 .elementor-button:hover, .elementor-element-sih0053 .elementor-button:focus,.elementor-element-v3e1912 .elementor-button:hover, .elementor-element-v3e1912 .elementor-button:focus{ background-color:#166B35 !important; }


/* === QA 2026-10-13: mobile a11y/overflow (tap targets, no horizontal scroll on archive templates) === */
@media (max-width:767px){
  .elementor-menu-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  html,body{overflow-x:clip;}
  /* mobile dropdown spans the viewport (was positioned off-canvas, forcing horizontal scroll on archive/event templates) */
  nav.elementor-nav-menu--dropdown{left:0 !important;right:0 !important;width:100% !important;max-width:100vw;}
}


/* === QA 2026-10-13b: remaining AA contrast fixes === */
.chf-cookie-decline{ background:#1C8340 !important; }  /* white on #56B84A was 2.51:1 */
.chf-event-date{ color:#7A5E10 !important; }           /* gold #F0B843 on white was 1.8:1 */
/* deepgreen #1E8C45 small text/labels on white was 4.29:1 -> #156834 (>=5:1) */
.chf-card .elementor-heading-title, .elementor-element-chfmiss3 .elementor-heading-title,
.chf-card .chf-card-eyebrow, .chf-fl-eyebrow, .chf-hp-eyebrow, .chf-news-eyebrow,
.e-loop-item .chf-card a.chf-card-link{ color:#156834 !important; }


/* === QA 2026-10-13c: event-page contrast === */
.chf-ev-btn--solid, a.chf-ev-btn--solid{ background:#1C8340 !important; color:#ffffff !important; }  /* was dark-green text on green (1.14) */
.chf-evcard-eyebrow{ color:#7A5E10 !important; }         /* gold on white was 1.8 */
.chf-evdl-k{ color:#5a6472 !important; }                 /* label gray #5a6472 was 3.09 */
.chf-ev-content a, .chf-evcal a, .chf-ev-sponsorcta a:not(.chf-ev-btn):not(.chf-ev-btn--solid){ color:#156834 !important; }  /* deepgreen links 4.29 */

/* QA 2026-10-13d: event Conversation + Panel blocks (parity with live futurehouston.org event) */
.chf-ev-convo{background:#F8F9FB;border:1px solid #E2E8F0;border-radius:16px;padding:24px 26px;margin:0 0 18px;}
.chf-ev-eyebrow{display:inline-block;font:700 11px proxima-nova,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#127A3A;background:rgba(86,184,74,.10);border:1px solid rgba(86,184,74,.35);border-radius:999px;padding:6px 11px;margin-bottom:12px;}
.chf-ev-convo h3{font-size:19px !important;line-height:1.3;margin-bottom:14px !important;}
.chf-ev-panel{margin:0 0 26px;}
.chf-ev-panelists{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.chf-ev-panelists li{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:15px 18px;display:flex;flex-direction:column;gap:3px;}
.chf-ev-panelists strong{font:700 15px proxima-nova,sans-serif;color:#193560;}
.chf-ev-panelists span{font:400 13px/1.45 effra,sans-serif;color:#5A6472;}
.chf-ev-moderator{grid-column:1/-1;background:#F8F9FB !important;}
@media(max-width:880px){.chf-ev-panelists{grid-template-columns:1fr;}}

/* QA 2026-10-13e: navy sponsor band contrast — line button white, email link light-green (prior dark-green rules target white backgrounds and failed on navy) */
.chf-ev-sponsorcta a.chf-ev-btn--line{ color:#ffffff !important; border-color:rgba(255,255,255,.45) !important; }
.chf-ev-sponsorcta a.chf-ev-btn--solid{ color:#ffffff !important; }
.chf-ev-sponsorcta a:not(.chf-ev-btn):not(.chf-ev-btn--solid){ color:#8FE07F !important; }
.chf-ev-sponsorcta a:not(.chf-ev-btn):not(.chf-ev-btn--solid):hover, .chf-ev-sponsorcta a:not(.chf-ev-btn):not(.chf-ev-btn--solid):focus{ color:#B6EBAA !important; text-decoration:underline; }

/* QA 2026-10-13f: a11y contrast — cookie privacy link + directory gated label */
.chf-cookie-txt a { color:#156834 !important; }        /* was #1E8C45 4.29:1 -> 6.8:1 */
.chf-dir-view--gated { color:#5a6472 !important; }     /* gated label #5a6472 3.09:1 -> 6.0:1 */

/* QA 2026-10-13g: active main-nav item green #1E8C45 (4.29:1) -> #156834 (AA) */
.elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-nav-menu--main .current-menu-item > a.elementor-item,
.elementor-nav-menu--main .current-menu-ancestor > a.elementor-item { color:#156834 !important; }

/* 2026 D&C sponsor tiers (synced from live graphic 2026-10-20): 6-col grid so tiers keep the live order without gaps */
.chf-ev-tiers--26{grid-template-columns:repeat(6,1fr);}
.chf-ev-tiers--26 .chf-ev-tier{grid-column:span 2;}
.chf-ev-tiers--26 .chf-ev-tier--half{grid-column:span 3;}
.chf-ev-tiers--26 .chf-ev-tier--wide{grid-column:1/-1;}
.chf-ev-tiers--26 .chf-ev-tier p{text-align:center !important;}
.chf-ev-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 40px;width:100%;}
.chf-ev-logos img{margin:0 !important;max-width:min(280px,100%) !important;}
@media(max-width:880px){.chf-ev-tiers--26{grid-template-columns:1fr 1fr;}.chf-ev-tiers--26 .chf-ev-tier,.chf-ev-tiers--26 .chf-ev-tier--half{grid-column:span 1;}}
@media(max-width:560px){.chf-ev-tiers--26{grid-template-columns:1fr;}.chf-ev-tiers--26 .chf-ev-tier,.chf-ev-tiers--26 .chf-ev-tier--half{grid-column:1/-1;}}
.chf-ev-tier img{box-shadow:none !important;border-radius:0 !important;}
/* Footer "Stay in the loop" form: the 2-col Fluent row (email + Subscribe) is wider than the ~250px footer column and pushed Subscribe off-canvas (5px page overflow site-wide). Stack it. 2026-10-20 */
.elementor-element-chfftr19 .ff-t-container{flex-direction:column !important;gap:10px !important;}
.elementor-element-chfftr19 .ff-t-cell{width:100% !important;flex:1 1 auto !important;max-width:100% !important;padding:0 !important;}
.elementor-element-chfftr19 .ff-t-cell .ff-el-group{margin-bottom:0 !important;}
.elementor-element-chfftr19 .ff-btn-submit{width:100% !important;min-height:48px;}

/* ===== Project Metis page refresh (Kaylinn copy doc) 2026-10-22 ===== */
.chf-prose .chf-mv-lead{font-size:19px;line-height:1.6;color:#193560;font-weight:500;}
.chf-prose .chf-mv-lead strong{font-weight:700;}
/* Vision standout box */
.chf-mv-box{margin:8px 0 22px;padding:24px 28px;background:#EEF6EF;border:1px solid #C4E3BD;border-left:4px solid #127A3A;border-radius:14px;}
.chf-mv-box-lbl{display:block;font:700 11.5px/1 proxima-nova,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#127A3A;margin-bottom:10px;}
.chf-prose .chf-mv-box p{font:500 20px/1.5 proxima-nova,sans-serif;color:#193560;margin:0;}
/* Vision links */
.chf-mv-links{display:flex;flex-wrap:wrap;gap:10px 12px;margin:4px 0 0;}
.chf-prose a.chf-mv-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border:1px solid #C4E3BD;border-radius:10px;background:#fff;font:600 15px proxima-nova,sans-serif;color:#156834;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;}
.chf-prose a.chf-mv-link:hover{background:#EEF6EF;border-color:#127A3A;color:#0E5228;}
.chf-prose a.chf-mv-link:focus-visible{outline:2px solid #193560;outline-offset:2px;}
.chf-prose a.chf-mv-link:first-child{background:#127A3A;border-color:#127A3A;color:#fff;}
.chf-prose a.chf-mv-link:first-child:hover{background:#0E6230;border-color:#0E6230;color:#fff;}
/* "Metis is:" list */
.chf-prose .chf-mis-intro{margin-bottom:.6em;font-weight:600;color:#193560;}
.chf-prose ul.chf-mis-list{list-style:none;padding:0;margin:0 0 1.4em;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.chf-prose ul.chf-mis-list li{margin:0;padding:14px 16px 14px 18px;background:#F8F9FB;border:1px solid #E2E8F0;border-left:3px solid #56B84A;border-radius:10px;font:600 15.5px/1.4 proxima-nova,sans-serif;color:#193560;}
/* Partners & Supporters: 2026 sponsor tiers */
.chf-ms-lead{font:400 17px/1.7 effra,sans-serif;color:#121417;margin:0 0 26px;max-width:720px;}
.chf-ms{display:flex;flex-direction:column;gap:26px;}
.chf-ms-lbl{display:block;font:700 11.5px/1 proxima-nova,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#127A3A;margin-bottom:12px;}
.chf-ms-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.chf-ms-logo{display:flex;align-items:center;justify-content:center;height:104px;padding:16px 20px;background:#fff;border:1px solid #E2E8F0;border-radius:14px;}
.chf-ms-tier--chairs .chf-ms-logo{height:116px;}
.elementor-widget-text-editor .chf-ms-logo img{display:block;max-width:100%;max-height:64px;width:auto;height:auto;margin:0 !important;border-radius:0 !important;box-shadow:none !important;object-fit:contain;}
.chf-ms-tier--chairs .chf-ms-logo img{max-height:70px;}
ul.chf-ms-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
ul.chf-ms-chips li{margin:0;font:600 13.5px proxima-nova,sans-serif;color:#193560;background:#fff;border:1px solid #E2E8F0;border-radius:999px;padding:9px 15px;}
.elementor-widget-text-editor .chf-ms,.elementor-widget-text-editor .chf-mis-list{columns:1 !important;column-count:1 !important;}
@media(max-width:767px){
  .chf-mv-box{padding:20px;}
  .chf-prose .chf-mv-box p{font-size:18px;}
  .chf-prose ul.chf-mis-list{grid-template-columns:1fr;}
  .chf-mv-links{flex-direction:column;align-items:stretch;}
  .chf-prose a.chf-mv-link{justify-content:space-between;}
  .chf-ms-logos{grid-template-columns:1fr 1fr;}
  .chf-ms-logo,.chf-ms-tier--chairs .chf-ms-logo{height:92px;padding:12px 14px;}
  .elementor-widget-text-editor .chf-ms-logo img,.chf-ms-tier--chairs .chf-ms-logo img{max-height:54px;}
}
/* Metis sponsor tiers: balanced 3+2 rows for five-logo tiers, taller box for portrait marks. 2026-10-22 */
.chf-ms-logos{grid-template-columns:repeat(6,1fr);}
.chf-ms-logo{grid-column:span 2;}
.chf-ms-logos .chf-ms-logo:nth-child(4):nth-last-child(2),.chf-ms-logos .chf-ms-logo:nth-child(5):nth-last-child(1){grid-column:span 3;}
.elementor-widget-text-editor .chf-ms-logo img[src*="sponsor-bp"],.elementor-widget-text-editor .chf-ms-logo img[src*="sponsor-rdi"]{max-height:84px;}
.chf-ms-logo:has(img[src*="sponsor-bp"]),.chf-ms-logo:has(img[src*="sponsor-rdi"]){padding-top:10px;padding-bottom:10px;}
@media(max-width:767px){
  .chf-ms-logos{grid-template-columns:1fr 1fr;}
  .chf-ms-logo,.chf-ms-logos .chf-ms-logo:nth-child(4):nth-last-child(2),.chf-ms-logos .chf-ms-logo:nth-child(5):nth-last-child(1){grid-column:span 1;}
  .chf-ms-logos .chf-ms-logo:nth-child(5):nth-last-child(1){grid-column:1/-1;}
  .elementor-widget-text-editor .chf-ms-logo img[src*="sponsor-bp"],.elementor-widget-text-editor .chf-ms-logo img[src*="sponsor-rdi"]{max-height:70px;}
}
.elementor-widget-text-editor .chf-ms-logo img{max-width:min(100%,230px);}
@media(max-width:767px){.elementor-widget-text-editor .chf-ms-logo img{max-width:min(100%,170px);}}
/* Home "Research in action" eyebrow sits on navy: the 10-13b green override made it 1.6:1. Gold on #193560 is ~7:1. 2026-10-22 */
.chf-fl .chf-fl-eyebrow{color:#F0B843 !important;}
/* 2026-10-23 chf-suplogo mobile fit: logos must stay inside their 45% cards */
@media(max-width:767px){.chf-logos{padding:16px !important;min-height:112px !important;}.chf-suplogo,.chf-suplogo .elementor-widget-container,.chf-suplogo a{width:100% !important;max-width:100%;display:flex;justify-content:center;}.chf-suplogo img{height:auto !important;max-height:56px;max-width:100% !important;}}

/* ===== Password gate (Forum Portal) 2026-10-26 ===== */
/* Branded WP post-password form. Markup: mu-plugins/chf-password-gate.php. Supersedes the generic
   .post-password-form rules above (2025) wherever the .chf-gate wrapper is present.
   Tokens (all already in use on this site): navy #193560, green #127A3A / hover #0E6230, brand green
   #56B84A (icon tint), muted #5A6472, hairline #E2E8F0, gold-on-white #7A5E10, page bg #F8F9FB,
   #8A93A3 (input border, 3.1:1 on white). Radii follow .chf-fp-card (18px) and pills (999px). */
.chf-gate{--navy:#193560;--green:#127A3A;--green-br:#56B84A;--gold:#7A5E10;--muted:#5A6472;--line:#E2E8F0;--bg:#F8F9FB;
  box-sizing:border-box;width:100%;background:var(--bg);border-top:1px solid var(--line);
  padding:clamp(40px,7vw,88px) 16px;font-family:effra,sans-serif;}
.chf-gate *,.chf-gate *::before,.chf-gate *::after{box-sizing:border-box;}
.chf-gate-card{max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:clamp(28px,6vw,40px) clamp(22px,6vw,36px) clamp(26px,6vw,36px);
  box-shadow:0 1px 2px rgba(25,53,96,.04),0 10px 28px rgba(25,53,96,.07);}
.chf-gate-ic{width:44px;height:44px;border-radius:12px;background:rgba(86,184,74,.12);color:var(--green);
  display:inline-flex;align-items:center;justify-content:center;margin:0 0 18px;}
.chf-gate-ic svg{width:22px;height:22px;display:block;}
.chf-gate .chf-gate-eyebrow{font:700 11.5px/1 proxima-nova,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin:0 0 10px;}
.chf-gate .chf-gate-title{font:600 clamp(26px,7vw,30px)/1.15 proxima-nova,sans-serif;letter-spacing:-.02em;color:var(--navy);margin:0 0 10px;text-wrap:balance;}
.chf-gate .chf-gate-lede{font:400 16px/1.55 effra,sans-serif;color:var(--muted);margin:0 0 24px;}
.chf-gate .post-password-form{max-width:none;margin:0;padding:0;border:0;border-radius:0;font-family:effra,sans-serif;color:var(--navy);}
.chf-gate-field{margin:0 0 14px;}
.chf-gate .chf-gate-label{display:block;font:700 13px/1.3 proxima-nova,sans-serif;letter-spacing:.2px;color:var(--navy);margin:0 0 8px;}
.chf-gate .post-password-form input[type="password"].chf-gate-input{display:block;width:100%;min-height:48px;margin:0;padding:12px 16px;
  border:1px solid #8A93A3;border-radius:12px;background:#fff;font:400 16px/1.4 effra,sans-serif;color:var(--navy);
  box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s;}
.chf-gate .post-password-form input[type="password"].chf-gate-input:hover{border-color:var(--muted);}
.chf-gate .post-password-form input[type="password"].chf-gate-input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(25,53,96,.2);}
.chf-gate button.chf-gate-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:0;padding:14px 22px;
  border:0;border-radius:999px;background:var(--green);color:#fff;font:700 15.5px/1 proxima-nova,sans-serif;letter-spacing:.1px;
  cursor:pointer;-webkit-appearance:none;appearance:none;text-decoration:none;transition:background-color .15s,transform .15s;}
.chf-gate button.chf-gate-btn:hover{background:#0E6230;color:#fff;}
.chf-gate button.chf-gate-btn:active{background:#0B4F27;transform:translateY(1px);}
.chf-gate button.chf-gate-btn:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
/* Wrong-password state (core adds .password-form-error + role=alert). The site has no error token;
   these two reds are tuned for it: #A32D22 text on #FDF2F0 is 5.9:1. */
.chf-gate .chf-gate-error{margin:0 0 14px;padding:12px 14px;border:1px solid #F0C4BE;border-radius:12px;background:#FDF2F0;}
.chf-gate .chf-gate-error p{margin:0;font:400 15px/1.45 effra,sans-serif;color:#A32D22;}
.chf-gate .password-form-error input[type="password"].chf-gate-input{border-color:#A32D22;}
@media(prefers-reduced-motion:reduce){.chf-gate button.chf-gate-btn,.chf-gate .chf-gate-input{transition:none;}}


/* ==========================================================================
   Launch QA UI fixes 2026-10-29
   Scoped fixes from the pre-launch browser QA pass. Tokens only:
   navy #193560, green #1C8340 (buttons, AA), #156834 (small green text, AA),
   #127A3A (alumni primary), muted #5A6472, hairline #E2E8F0, surface #F8F9FB.
   ========================================================================== */

/* ---- 1 + 4. Header: tap targets, search toggle, mobile menu ------------- */
/* search toggle: no default gray square, real tap target, on-brand states */
.elementor-13 .elementor-element.elementor-element-chfhdr06 .elementor-search-form__toggle {
  --e-search-form-toggle-size: 40px;
  --e-search-form-toggle-icon-size: 18px;
  --e-search-form-toggle-background-color: transparent;
  --e-search-form-toggle-color: #193560;
  --e-search-form-toggle-border-radius: 8px;
}
.elementor-13 .elementor-element-chfhdr06 .elementor-search-form__toggle div,
.elementor-13 .elementor-element-chfhdr06 .elementor-search-form__toggle .e-font-icon-svg-container,
.elementor-13 .elementor-element-chfhdr06 .elementor-search-form__toggle i {
  border-radius: 8px; transition: background-color .15s ease, color .15s ease;
}
.elementor-13 .elementor-element-chfhdr06 .elementor-search-form__toggle:hover div,
.elementor-13 .elementor-element-chfhdr06 .elementor-search-form__toggle:focus-visible div,
.elementor-13 .elementor-element-chfhdr06 .elementor-search-form__toggle:hover i { background-color: #EEF2F7; }

@media (max-width: 1024px) {
  /* hamburger: clean 44x44 target, no Elementor gray square */
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle {
    width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0;
    background: transparent !important; border-radius: 8px; color: #193560;
    font-size: 26px; transition: background-color .15s ease;
  }
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle:hover,
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle.elementor-active { background: #EEF2F7 !important; }
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle:focus-visible { outline: 2px solid #193560; outline-offset: 2px; }
  .elementor-13 .elementor-element.elementor-element-chfhdr06 .elementor-search-form__toggle { --e-search-form-toggle-size: 44px; --e-search-form-toggle-icon-size: 19px; }

  /* the open menu is anchored to the full-width header bar, not the 44px widget */
  .elementor-13 .elementor-element-chfhdr02,
  .elementor-13 .elementor-element-chfhdr04 { position: static; }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    margin: 0 !important; padding: 6px 0 14px !important;
    border: 0 !important; border-top: 1px solid #E2E8F0 !important; border-radius: 0 !important;
    background: #FFFFFF !important; -webkit-backdrop-filter: none; backdrop-filter: none;
    box-shadow: 0 18px 36px rgba(25,53,96,.16) !important;
  }
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    --menu-height: calc(100vh - 160px) !important;
    --menu-height: calc(100dvh - 160px) !important;
    overflow-y: auto !important; overscroll-behavior: contain;
  }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-item,
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-item.highlighted {
    min-height: 50px; padding: 12px 24px !important; border-radius: 0 !important; border-inline-start: 0 !important;
    font-family: proxima-nova, sans-serif !important; font-size: 17px !important; font-weight: 600 !important;
    display: flex; align-items: center; justify-content: space-between;
  }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-item { color: #193560 !important; }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-sub-item,
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.elementor-sub-item.highlighted {
    min-height: 46px; padding: 10px 24px 10px 40px !important; border-radius: 0 !important; border-inline-start: 0 !important;
    font-size: 16px !important; font-weight: 500 !important; display: flex; align-items: center;
  }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a:hover,
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown a.highlighted { background: #F1F6F2 !important; color: #156834 !important; }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown ul.sub-menu {
    position: static !important; width: auto !important; min-width: 0 !important; max-width: none !important;
    margin: 0 !important; padding: 2px 0 6px !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; background: #F8F9FB !important; animation: none !important;
  }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown .sub-arrow { padding: 10px; margin: -10px -10px -10px 0; }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown li + li { border-top: 1px solid #EEF2F7; }
  .elementor-13 .elementor-element-chfhdr04 nav.elementor-nav-menu--dropdown ul.sub-menu li { border-top: 0; }
}

/* mobile header: compact bar, balanced 20px gutters, logo left + actions right */
@media (max-width: 767px) {
  .elementor-13 .elementor-element.elementor-element-chfhdr01 { --padding-top: 10px; --padding-bottom: 10px; --padding-left: 20px; --padding-right: 20px; padding: 10px 20px !important; }
  .elementor-13 .elementor-element.elementor-element-chfhdr02 { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 4px 4px; --column-gap: 4px; --flex-wrap: nowrap; }
  .elementor-13 .elementor-element.elementor-element-chfhdr02 { --justify-content: flex-start; }
  .elementor-13 .elementor-element.elementor-element-chfhdr03 { margin-inline-end: auto !important; }
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle { margin: 0 !important; }
  .elementor-13 .elementor-element.elementor-element-chfhdr03 img { width: 108px; }
  .elementor-13 .elementor-element.elementor-element-chfhdr06 { order: 1; margin: 0 !important; }
  .elementor-13 .elementor-element.elementor-element-chfhdr05 { order: 2; margin-left: 6px; }
  .elementor-13[data-elementor-type="header"] .elementor-element.elementor-element-chfhdr04.elementor-widget-nav-menu { order: 3; margin: 0 0 0 4px !important; }
  .elementor-13 .elementor-element.elementor-element-chfhdr05 .elementor-button { padding: 11px 18px; font-size: 15px; }
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    --menu-height: calc(100vh - 86px) !important;
    --menu-height: calc(100dvh - 86px) !important;
  }
  html { scroll-padding-top: 96px; }
}
@media (max-width: 359px) {
  .elementor-13 .elementor-element.elementor-element-chfhdr01 { padding: 10px 16px !important; }
  .elementor-13 .elementor-element.elementor-element-chfhdr03 img { width: 92px; }
  .elementor-13 .elementor-element.elementor-element-chfhdr05 { margin-left: 2px; }
  .elementor-13 .elementor-element.elementor-element-chfhdr05 .elementor-button { padding: 10px 13px; font-size: 14px; }
  .elementor-13 .elementor-element.elementor-element-chfhdr06 .elementor-search-form__toggle { --e-search-form-toggle-size: 40px; }
  .elementor-13 .elementor-element-chfhdr04 .elementor-menu-toggle { width: 42px; min-width: 42px; }
}

/* ---- 3. Floating actions: stacked, never over footer text --------------- */
#chfai-fab { right: 20px !important; bottom: 20px !important; min-height: 44px !important; padding: 0 20px !important; }
#chfai-fab .chfai-fab-ic { width: 18px; height: 18px; flex: none; }
#chfai-panel { bottom: 80px !important; }
#chf-top { right: 20px; bottom: 20px; box-shadow: 0 8px 24px rgba(25,53,96,.35), inset 0 0 0 1px rgba(255,255,255,.22); }
body:has(#chfai-fab) #chf-top { right: 20px; bottom: 76px; }
/* reserve the floating buttons' footprint under the copyright row */
.elementor-14 .elementor-element.elementor-element-chfftr01 { --padding-bottom: 96px; }
body:has(#chfai-fab) .elementor-14 .elementor-element.elementor-element-chfftr01 { --padding-bottom: 148px; }

/* ---- 2. Alumni pages: standard gutter + non-sticky mobile toolbar -------- */
/* (structural fixes live in chf-alumni/assets/directory.css; these cover the auth button + gutters for cached CSS) */
.chf-auth { box-sizing: border-box; padding: 40px 20px 72px; }
.chf-auth .chf-auth-btn:not(.chf-auth-btn--ghost) { background: #127A3A !important; color: #FFFFFF !important; border: 0 !important; }
.chf-auth .chf-auth-btn:not(.chf-auth-btn--ghost):hover,
.chf-auth .chf-auth-btn:not(.chf-auth-btn--ghost):focus-visible { background: #0E6630 !important; color: #FFFFFF !important; }

/* ---- 5. /in-the-news/ press feed: list reset ---------------------------- */
ul.chf-press-feed { list-style: none; padding-left: 0; padding-inline-start: 0; margin-left: 0; margin-right: 0; }

/* ---- 6. Category archives: pagination fits the gutter ------------------- */
.elementor-pagination { flex-wrap: wrap; row-gap: 8px; }
@media (max-width: 767px) {
  .elementor-pagination { gap: 6px; }
  .elementor-pagination .page-numbers { min-width: 40px; height: 40px; padding: 0 8px; font-size: 14px; margin: 0 !important; }
  .elementor-pagination { gap: 8px; }
  .elementor-pagination .page-numbers.prev, .elementor-pagination .page-numbers.next { padding: 0 12px; }
}

/* ---- 7. /events/: hero, card gutters, brand subscribe button, no void ---- */
.chf-ev-arch-hero { background: linear-gradient(160deg, #193560 0%, #0F2342 100%); padding: 44px 24px 40px; }
.chf-ev-arch-hero-in { max-width: 1300px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; }
.chf-ev-arch-hero .chf-ev-arch-eyebrow { font: 600 13px/1.1 proxima-nova, sans-serif; letter-spacing: 1.2px; text-transform: uppercase; color: #F0B843; margin: 0 0 12px; }
.chf-ev-arch-hero h1 { font: 700 44px/1.1 proxima-nova, sans-serif !important; letter-spacing: -0.5px; color: #FFFFFF !important; margin: 0 0 12px; }
.chf-ev-arch-hero p { font: 400 18px/1.6 effra, sans-serif; color: #C9D4E4; margin: 0; max-width: 680px; }
@media (max-width: 767px) {
  .chf-ev-arch-hero { padding: 34px 24px 30px; }
  .chf-ev-arch-hero h1 { font-size: 32px !important; }
}
.post-type-archive-tribe_events .tribe-common-l-container.tribe-events-l-container { min-height: 0 !important; padding-top: 40px !important; padding-bottom: 72px !important; }
.tribe-events .tribe-events-calendar-list__event.tribe-common-g-row--gutters { margin-left: 0 !important; margin-right: 0 !important; }
@media (max-width: 767px) { .tribe-events .tribe-events-calendar-list__event { padding: 18px !important; } }
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  border: 1px solid #D5DCE6 !important; border-radius: 8px !important; background: #FFFFFF !important; color: #193560 !important;
  transition: border-color .15s ease, background-color .15s ease;
}
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus-within,
.tribe-events .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active { border-color: #193560 !important; background: #F8F9FB !important; color: #193560 !important; }
.tribe-events .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-events-c-subscribe-dropdown__button button,
.tribe-events button.tribe-events-c-subscribe-dropdown__button-text { color: #193560 !important; background: transparent !important; font: 600 15px proxima-nova, sans-serif !important; }
.tribe-events .tribe-events-c-subscribe-dropdown__button-icon, .tribe-events .tribe-events-c-subscribe-dropdown__button svg path { fill: #193560 !important; stroke: #193560; }
.tribe-events .tribe-events-c-subscribe-dropdown__content { border: 1px solid #E2E8F0 !important; border-radius: 10px !important; box-shadow: 0 12px 30px rgba(15,35,66,.14) !important; }
.tribe-events .tribe-events-c-subscribe-dropdown__list-item-link { color: #193560 !important; }
.tribe-events .tribe-events-c-subscribe-dropdown__list-item:hover { background: #F1F6F2 !important; }

/* ---- 9. single event: no white gap between header and event hero ------- */
body.single-tribe_events #tribe-events-pg-template { padding-top: 0 !important; }

/* ---- 8. Section nav: track scrolls, edge fades signal more tabs ---------- */
.chf-spy { display: block; padding: 0; overflow: visible; }
.chf-spy .chf-spy-track {
  display: flex; gap: 8px; align-items: center; padding: 10px 24px;
  overflow-x: auto; scrollbar-width: none; white-space: nowrap; -webkit-overflow-scrolling: touch;
}
.chf-spy .chf-spy-track::-webkit-scrollbar { display: none; }
.chf-spy .chf-spy-track a { flex: none; }
.chf-spy::before, .chf-spy::after {
  content: ""; position: absolute; top: 0; bottom: 1px; width: 48px; pointer-events: none; z-index: 1;
  opacity: 0; transition: opacity .2s ease;
}
.chf-spy::before { left: 0; background: linear-gradient(to right, #FFFFFF 20%, rgba(255,255,255,0)); }
.chf-spy::after { right: 0; background: linear-gradient(to left, #FFFFFF 20%, rgba(255,255,255,0)); }
.chf-spy.chf-spy--more-l::before, .chf-spy.chf-spy--more-r::after { opacity: 1; }
@media (min-width: 1025px) { .chf-spy .chf-spy-track { padding-left: max(24px, calc((100% - 1280px) / 2 - 15px)); padding-right: 24px; } }
@media (prefers-reduced-motion: reduce) { .chf-spy::before, .chf-spy::after { transition: none; } }

/* ---- 10. Contrast (WCAG AA 4.5:1 small text) ----------------------------- */
/* deep green #1E8C45 small text on white/surface (4.29:1) -> #156834 */
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-list__event-datetime *,
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime { color: #156834 !important; }
.chf-tile .elementor-heading-title a,
.elementor-widget-heading .elementor-heading-title > a[href$="news/"],
.elementor-widget-heading .elementor-heading-title > a[href$="reports/"],
.elementor-element-chfnews2 .elementor-heading-title,
.elementor-element-chfevnt2 .elementor-heading-title,
.elementor-element-bspms02 .elementor-heading-title,
.elementor-element-tmse1 .elementor-heading-title,
.elementor-element-tmse2 .elementor-heading-title,
[class*="elementor-element-tmct"] a,
.elementor-element-bsp0006 a { color: #156834 !important; }
.elementor-element-bsp0006 a, .chf-auth > p > a { text-decoration: underline; text-underline-offset: 3px; }
.chf-fl a.chf-fl-btn { background: #1C8340 !important; border-color: #1C8340 !important; }
.chf-fl a.chf-fl-btn:hover, .chf-fl a.chf-fl-btn:focus-visible { background: #166B35 !important; border-color: #166B35 !important; }
.chf-vchip-ic { background-color: #156834 !important; }
/* gold #F0B843 small eyebrows on white (1.8:1) -> the site's dark gold */
.elementor-element-chfcta02 .elementor-heading-title,
.elementor-element-ple0005 .elementor-heading-title,
.chf-nlcta-eyebrow { color: #7A5E10 !important; }
/* large gold display numerals (52px bold) on white/surface: 1.8:1 -> darker gold, >= 3.6:1 */
.elementor-element-scf0002 .elementor-heading-title, .elementor-element-scf0008 .elementor-heading-title, .elementor-element-scf0014 .elementor-heading-title { color: #A87A12 !important; }
/* single post body links: underline so they are distinguishable without color */
.single-post .elementor-widget-theme-post-content a, .elementor-element-chfsngl9 a { text-decoration: underline; text-underline-offset: 3px; }
/* gray helper text (2.5-3.1:1) -> muted token #5A6472 */
.chf-fh-note, .chf-statviz-eyebrow, .elementor-element-ax0007 p,
[class*="elementor-element-tmct"] p > span { color: #5A6472 !important; }
.chf-ag-day:not(.on) .d { opacity: 1; color: #5A6472; }
.chf-ag-day.on .d { opacity: .85; }
.chf-lj-step.past h3 { color: #4A5A72 !important; }
.chf-lj-step.past p { color: #5A6472 !important; }
.chf-lj-step.past .w { color: #156834 !important; }
.chf-fp-sess li.done { color: #5A6472 !important; }

/* ---- 12. /leadership-alumni/: LinkedIn badge stays with the name -------- */
.chf-li h3.elementor-heading-title::after, .chf-liname a::after { content: "\00a0in"; color: #156834; }

/* ---- 13. Single post without a featured image: drop the placeholder band */
body.chf-no-thumb .elementor-widget-theme-post-featured-image,
body.chf-no-thumb .e-con:has(> .e-con-inner > .elementor-widget-theme-post-featured-image:only-child) { display: none !important; }

/* ---- 14. Forum portal schedule fits without an inner scroll ------------- */
.chf-fp-sched .chf-fp-sess { max-height: 400px; }
.chf-fp-sess:focus-visible { outline: 2px solid #193560; outline-offset: 4px; border-radius: 8px; }

/* ---- 15. Alignment polish ------------------------------------------------ */
/* home: hero buttons + mission column on the same content edge as everything else */
.elementor-element.elementor-element-chfhero6,
.elementor-element.elementor-element-chfmiss2 { --padding-left: 0px; --padding-right: 0px; }
body .chf-hp, body .chf-fl .chf-fl-in { max-width: 1348px; padding-left: 34px; padding-right: 34px; box-sizing: border-box; }
/* /project-metis: separate the Brain Capital card from the donate band */
.elementor-element.elementor-element-3884786 { margin-top: 64px !important; }
/* category/news grid: logo-type thumbnails are contained, not cropped */
.e-loop-item img[src*="_Mark_"], .e-loop-item img[src*="logo" i] { object-fit: contain !important; padding: 18px; box-sizing: border-box; background: #F8F9FB; }
/* single post whose featured image is a logo mark: present it as a framed card, not a cropped photo */
.elementor-widget-theme-post-featured-image:has(img[src*="_Mark_"]) { background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px; box-shadow: 0 8px 24px rgba(25,53,96,.08); text-align: center; }
.elementor-widget-theme-post-featured-image img[src*="_Mark_"] { display: block; margin: 0 auto; width: auto !important; max-height: 180px; border-radius: 0 !important; }
@media (max-width: 767px) { .elementor-widget-theme-post-featured-image:has(img[src*="_Mark_"]) { padding: 24px; } .elementor-widget-theme-post-featured-image img[src*="_Mark_"] { max-height: 132px; } }

/* Home "Supported by" logo strip on phones: even 2-column grid (6 logos -> 3 rows) 2026-10-29 */
@media (max-width: 767px) {
  .elementor-element-chfsupp3.chf-logo-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 36px 24px; align-items: center; justify-items: center; }
  .elementor-element-chfsupp3.chf-logo-row > .elementor-widget-image { width: auto !important; max-width: 100%; margin: 0 !important; }
  .elementor-element-chfsupp3.chf-logo-row img { width: auto !important; max-width: 140px !important; max-height: 52px; height: auto; object-fit: contain; }
}

/* Event hero "Presented by" line (meta _chf_presented_by) 2026-10-29 */
.chf-evhero .chf-evhero-title { margin-bottom: 10px; }
.chf-evhero .chf-evhero-presenter { font: 600 18px/1.4 effra, sans-serif; color: #fff !important; margin: 0 0 14px; text-wrap: balance; }
.chf-evhero .chf-evhero-presenter span { display: block; font: 700 12px/1.4 effra, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #9FB0C7 !important; margin-bottom: 2px; }
@media (max-width: 600px) { .chf-evhero .chf-evhero-presenter { font-size: 16px; } }
