/*
GHI Kenya — Fully Isolated Elementor Custom CSS
This is the complete visual system from the original standalone About Us page,
translated for the native Elementor template. It deliberately uses scoped,
high-specificity selectors and !important overrides so it does not inherit the
site theme's typography, colours, button styles, section spacing or card styles.

Paste the entire file into Elementor > Site Settings > Custom CSS, or the About
Us page's Advanced > Custom CSS. Do not apply it site-wide without importing the
matching `ghi_kenya_about_us_native_custom_css.json` template.
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700;800&display=swap');

/* ===== FOUNDATION / THEME ISOLATION ===== */
.ghi-about-us,
.ghi-about-us * { box-sizing: border-box !important; }
.ghi-about-us {
  --ghi-green: #1a7a3c;
  --ghi-green-dark: #0f5526;
  --ghi-green-light: #e8f5ec;
  --ghi-teal: #0d7377;
  --ghi-teal-dark: #094e51;
  --ghi-earth: #c87f3a;
  --ghi-earth-light: #f4e8db;
  --ghi-dark: #1a2332;
  --ghi-gray: #6b7280;
  --ghi-gray-light: #f3f4f6;
  --ghi-white: #ffffff;
  --ghi-shadow: 0 4px 24px rgba(0,0,0,.08);
  --ghi-shadow-lg: 0 12px 48px rgba(0,0,0,.12);
  --ghi-radius: 16px;
  color: var(--ghi-dark) !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}
.ghi-about-us .elementor-heading-title,
.ghi-about-us h1,
.ghi-about-us h2,
.ghi-about-us h3,
.ghi-about-us h4 {
  color: var(--ghi-dark) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}
.ghi-about-us .elementor-widget-text-editor,
.ghi-about-us .elementor-widget-text-editor p,
.ghi-about-us .elementor-button-text,
.ghi-about-us .elementor-icon-box-description {
  color: var(--ghi-gray) !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.ghi-about-us .elementor-widget-text-editor p { margin: 0 !important; }
.ghi-about-us .elementor-widget-heading,
.ghi-about-us .elementor-widget-text-editor { margin-bottom: 0 !important; }
.ghi-about-us .elementor-section,
.ghi-about-us.elementor-section { margin: 0 !important; }
.ghi-about-us:not(.ghi-hero) {
  padding-block: clamp(68px, 7vw, 104px) !important;
}

/* ===== BUTTONS ===== */
.ghi-about-us .elementor-button,
.ghi-about-us .elementor-button:visited {
  align-items: center !important;
  background: var(--ghi-green) !important;
  border: 2px solid var(--ghi-green) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  padding: 14px 29px !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease !important;
}
.ghi-about-us .elementor-button:hover,
.ghi-about-us .elementor-button:focus {
  background: var(--ghi-green-dark) !important;
  border-color: var(--ghi-green-dark) !important;
  box-shadow: 0 10px 28px rgba(15,85,38,.26) !important;
  color: #fff !important;
  outline: none !important;
  transform: translateY(-2px) !important;
}

/* ===== HERO ===== */
.ghi-hero {
  align-items: center !important;
  background-color: var(--ghi-green-dark) !important;
  display: flex !important;
  min-height: 700px !important;
  padding: 0 24px !important;
  text-align: center !important;
}
.ghi-hero .elementor-background-overlay {
  background: linear-gradient(135deg,rgba(15,85,38,.88) 0%,rgba(26,122,60,.82) 40%,rgba(13,115,119,.86) 100%) !important;
  opacity: 1 !important;
}
.ghi-hero .elementor-container,
.ghi-hero .elementor-container > .elementor-column,
.ghi-hero .elementor-widget-wrap,
.ghi-hero .elementor-element-populated { position: relative !important; z-index: 1 !important; }
.ghi-hero .elementor-heading-title { color: #fff !important; font-size: clamp(2.55rem, 6vw, 4.35rem) !important; }
.ghi-hero .elementor-widget-text-editor,
.ghi-hero .elementor-widget-text-editor p { color: rgba(255,255,255,.9) !important; }
.ghi-hero .elementor-widget-text-editor:first-of-type p { font-size: clamp(1.1rem, 2.2vw, 1.38rem) !important; font-weight: 300 !important; }
.ghi-hero .elementor-button { background: #fff !important; border-color: #fff !important; color: var(--ghi-green-dark) !important; min-width: 160px !important; }
.ghi-hero .elementor-button:hover { background: var(--ghi-green-dark) !important; border-color: var(--ghi-green-dark) !important; color: #fff !important; }
.ghi-hero .elementor-inner-section .elementor-column:nth-child(2) .elementor-button { background: transparent !important; border-color: rgba(255,255,255,.65) !important; color: #fff !important; }
.ghi-hero .elementor-inner-section .elementor-column:nth-child(2) .elementor-button:hover { background: #fff !important; border-color: #fff !important; color: var(--ghi-green-dark) !important; }

/* ===== PAGE BAND BACKGROUNDS ===== */
.ghi-story,
.ghi-capabilities,
.ghi-portfolio,
.ghi-partners,
.ghi-team { background: #fff !important; }
.ghi-beliefs,
.ghi-where { background: var(--ghi-green-light) !important; }
.ghi-focus { background: var(--ghi-gray-light) !important; }
.ghi-impact { background: linear-gradient(135deg, var(--ghi-green-light), #fff) !important; }
.ghi-research { background: var(--ghi-dark) !important; }
.ghi-cta { background: linear-gradient(135deg, var(--ghi-green-dark), var(--ghi-teal)) !important; }

/* ===== SHARED SECTION LABELS, HEADINGS AND COPY ===== */
.ghi-about-us:not(.ghi-hero) .elementor-widget-text-editor:first-child p {
  color: var(--ghi-teal) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.ghi-about-us:not(.ghi-hero) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title,
.ghi-about-us:not(.ghi-hero) > .elementor-container > .elementor-column > .elementor-element-populated > .elementor-widget-heading .elementor-heading-title { font-size: clamp(2rem, 4vw, 2.6rem) !important; }
.ghi-about-us:not(.ghi-hero) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor:not(:first-child) p,
.ghi-about-us:not(.ghi-hero) > .elementor-container > .elementor-column > .elementor-element-populated > .elementor-widget-text-editor:not(:first-child) p { font-size: 17px !important; }

/* ===== STORY TIMELINE ===== */
.ghi-story .elementor-inner-section > .elementor-container { position: relative !important; }
.ghi-story .elementor-inner-section > .elementor-container::before {
  background: linear-gradient(90deg, var(--ghi-green), var(--ghi-teal)) !important;
  border-radius: 3px !important;
  content: '' !important;
  height: 3px !important;
  left: 8% !important;
  position: absolute !important;
  right: 8% !important;
  top: 39px !important;
  z-index: 0 !important;
}
.ghi-timeline-card { position: relative !important; z-index: 1 !important; }
.ghi-timeline-card .elementor-heading-title { color: var(--ghi-dark) !important; }
.ghi-timeline-card .elementor-widget-heading:first-child .elementor-heading-title {
  align-items: center !important;
  background: var(--ghi-green) !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 20px rgba(26,122,60,.3) !important;
  color: #fff !important;
  display: inline-flex !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 15px !important;
  height: 80px !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  width: 80px !important;
}
.ghi-timeline-card:nth-child(2) .elementor-widget-heading:first-child .elementor-heading-title { background: var(--ghi-teal) !important; }
.ghi-timeline-card:nth-child(3) .elementor-widget-heading:first-child .elementor-heading-title { background: var(--ghi-earth) !important; }
.ghi-timeline-card:nth-child(4) .elementor-widget-heading:first-child .elementor-heading-title { background: var(--ghi-green-dark) !important; }
.ghi-timeline-card:hover .elementor-widget-heading:first-child .elementor-heading-title { transform: translateY(-4px) scale(1.08) !important; transition: transform .25s ease !important; }
.ghi-timeline-card .elementor-widget-text-editor p { color: var(--ghi-gray) !important; font-size: 14px !important; }

/* ===== VALUES, CAPABILITIES AND FOCUS CARDS ===== */
.ghi-belief-card > .elementor-widget-wrap,
.ghi-belief-card > .elementor-column-wrap,
.ghi-belief-card > .elementor-element-populated,
.ghi-capability-card > .elementor-widget-wrap,
.ghi-capability-card > .elementor-column-wrap,
.ghi-capability-card > .elementor-element-populated,
.ghi-focus-column .elementor-widget-icon-box,
.ghi-partner-card > .elementor-widget-wrap,
.ghi-partner-card > .elementor-column-wrap,
.ghi-partner-card > .elementor-element-populated {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: var(--ghi-radius) !important;
  box-shadow: var(--ghi-shadow) !important;
  height: 100% !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
.ghi-capability-card > .elementor-widget-wrap,
.ghi-capability-card > .elementor-column-wrap,
.ghi-capability-card > .elementor-element-populated { box-shadow: none !important; }
.ghi-belief-card:hover > .elementor-widget-wrap,
.ghi-belief-card:hover > .elementor-column-wrap,
.ghi-belief-card:hover > .elementor-element-populated,
.ghi-capability-card:hover > .elementor-widget-wrap,
.ghi-capability-card:hover > .elementor-column-wrap,
.ghi-capability-card:hover > .elementor-element-populated,
.ghi-focus-column .elementor-widget-icon-box:hover,
.ghi-partner-card:hover > .elementor-widget-wrap,
.ghi-partner-card:hover > .elementor-column-wrap,
.ghi-partner-card:hover > .elementor-element-populated { border-color: var(--ghi-green) !important; box-shadow: var(--ghi-shadow-lg) !important; transform: translateY(-6px) !important; }
.ghi-belief-card .elementor-icon-box-icon,
.ghi-capability-card .elementor-icon-box-icon,
.ghi-focus-column .elementor-icon-box-icon {
  align-items: center !important;
  background: var(--ghi-green-light) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  height: 64px !important;
  justify-content: center !important;
  margin: 0 auto 18px !important;
  width: 64px !important;
}
.ghi-belief-card .elementor-icon-box-icon i,
.ghi-capability-card .elementor-icon-box-icon i,
.ghi-focus-column .elementor-icon-box-icon i { color: var(--ghi-green) !important; }
.ghi-belief-card:nth-child(2) .elementor-icon-box-icon,
.ghi-capability-card:nth-child(2) .elementor-icon-box-icon { background: #e0f0f0 !important; }
.ghi-belief-card:nth-child(2) .elementor-icon-box-icon i,
.ghi-capability-card:nth-child(2) .elementor-icon-box-icon i { color: var(--ghi-teal) !important; }
.ghi-belief-card:nth-child(3) .elementor-icon-box-icon,
.ghi-capability-card:nth-child(3) .elementor-icon-box-icon { background: var(--ghi-earth-light) !important; }
.ghi-belief-card:nth-child(3) .elementor-icon-box-icon i,
.ghi-capability-card:nth-child(3) .elementor-icon-box-icon i { color: var(--ghi-earth) !important; }
.ghi-belief-card:nth-child(4) .elementor-icon-box-icon,
.ghi-capability-card:nth-child(4) .elementor-icon-box-icon { background: #e8eaf6 !important; }
.ghi-belief-card:nth-child(4) .elementor-icon-box-icon i,
.ghi-capability-card:nth-child(4) .elementor-icon-box-icon i { color: #5c6bc0 !important; }
.ghi-focus-column .elementor-icon-box-icon { border-radius: 12px !important; height: 52px !important; width: 52px !important; }
.ghi-about-us .elementor-icon-box-title { color: var(--ghi-dark) !important; font-family: 'Playfair Display', Georgia, serif !important; font-size: 20px !important; font-weight: 700 !important; }
.ghi-about-us .elementor-icon-box-description { color: var(--ghi-gray) !important; font-size: 14px !important; }

/* ===== INNOVATION PORTFOLIO ===== */
.ghi-innovation-card > .elementor-widget-wrap,
.ghi-innovation-card > .elementor-column-wrap,
.ghi-innovation-card > .elementor-element-populated {
  border-radius: var(--ghi-radius) !important;
  height: 100% !important;
  overflow: hidden !important;
  transition: transform .28s ease, box-shadow .28s ease !important;
}
.ghi-innovation-card:hover > .elementor-widget-wrap,
.ghi-innovation-card:hover > .elementor-column-wrap,
.ghi-innovation-card:hover > .elementor-element-populated { box-shadow: 0 16px 34px rgba(0,0,0,.22) !important; transform: translateY(-6px) !important; }
.ghi-innovation-card .elementor-heading-title,
.ghi-innovation-card .elementor-widget-text-editor,
.ghi-innovation-card .elementor-widget-text-editor p { color: #fff !important; }
.ghi-innovation-card .elementor-widget-text-editor:first-child p {
  background: rgba(255,255,255,.20) !important;
  border-radius: 50px !important;
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  padding: 4px 11px !important;
}

/* ===== RESEARCH ===== */
.ghi-research .elementor-heading-title,
.ghi-research .elementor-widget-text-editor,
.ghi-research .elementor-widget-text-editor p { color: #fff !important; }
.ghi-research .elementor-widget-text-editor:first-child p { color: #7fd0c4 !important; }
.ghi-stat-card > .elementor-widget-wrap,
.ghi-stat-card > .elementor-column-wrap,
.ghi-stat-card > .elementor-element-populated {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: var(--ghi-radius) !important;
  height: 100% !important;
  transition: transform .25s ease, background-color .25s ease !important;
}
.ghi-stat-card:hover > .elementor-widget-wrap,
.ghi-stat-card:hover > .elementor-column-wrap,
.ghi-stat-card:hover > .elementor-element-populated { background: rgba(255,255,255,.1) !important; transform: translateY(-4px) !important; }
.ghi-stat-card .elementor-heading-title { color: #7fd0c4 !important; font-size: 46px !important; }
.ghi-stat-card .elementor-widget-text-editor,
.ghi-stat-card .elementor-widget-text-editor p { color: rgba(255,255,255,.87) !important; font-size: 13px !important; }
.ghi-research > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor:nth-last-child(2) p,
.ghi-research > .elementor-container > .elementor-column > .elementor-element-populated > .elementor-widget-text-editor:nth-last-child(2) p { color: rgba(255,255,255,.55) !important; font-size: 12px !important; }
.ghi-research .elementor-button { background: #7fd0c4 !important; border-color: #7fd0c4 !important; color: var(--ghi-dark) !important; }
.ghi-research .elementor-button:hover { background: #fff !important; border-color: #fff !important; color: var(--ghi-dark) !important; }

/* ===== PARTNERS, MAP, TEAM AND IMPACT ===== */
.ghi-partner-card .elementor-heading-title { color: var(--ghi-dark) !important; font-size: 18px !important; opacity: .72 !important; transition: opacity .25s ease, color .25s ease !important; }
.ghi-partner-card:hover .elementor-heading-title { color: var(--ghi-green) !important; opacity: 1 !important; }
.ghi-where .elementor-widget-google_maps iframe { border-radius: var(--ghi-radius) !important; box-shadow: var(--ghi-shadow-lg) !important; }
.ghi-where .elementor-widget-text-editor strong { color: var(--ghi-green-dark) !important; }
.ghi-team-card > .elementor-widget-wrap,
.ghi-team-card > .elementor-column-wrap,
.ghi-team-card > .elementor-element-populated { text-align: center !important; }
.ghi-team-card .elementor-widget-image img {
  aspect-ratio: 1 / 1 !important;
  border: 4px solid var(--ghi-green-light) !important;
  border-radius: 50% !important;
  height: auto !important;
  margin: 0 auto !important;
  max-width: 200px !important;
  object-fit: cover !important;
  width: 200px !important;
}
.ghi-team-card:hover .elementor-widget-image img { border-color: var(--ghi-green) !important; transform: scale(1.02) !important; transition: transform .25s ease, border-color .25s ease !important; }
.ghi-team-card .elementor-widget-text-editor:first-of-type p { color: var(--ghi-teal) !important; font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; }
.ghi-impact .elementor-widget-image img { border-radius: var(--ghi-radius) !important; box-shadow: var(--ghi-shadow-lg) !important; min-height: 420px !important; object-fit: cover !important; width: 100% !important; }
.ghi-impact .elementor-widget-text-editor em { border-left: 4px solid var(--ghi-green) !important; color: var(--ghi-green-dark) !important; display: block !important; font-family: 'Playfair Display', Georgia, serif !important; font-size: 1.08em !important; padding-left: 18px !important; }

/* ===== CTA ===== */
.ghi-cta .elementor-heading-title,
.ghi-cta .elementor-widget-text-editor,
.ghi-cta .elementor-widget-text-editor p { color: #fff !important; }
.ghi-cta .elementor-button { background: #fff !important; border-color: #fff !important; color: var(--ghi-green-dark) !important; min-width: 160px !important; }
.ghi-cta .elementor-button:hover { background: var(--ghi-green-dark) !important; border-color: var(--ghi-green-dark) !important; color: #fff !important; }
.ghi-cta .elementor-inner-section .elementor-column:nth-child(2) .elementor-button { background: transparent !important; border-color: rgba(255,255,255,.65) !important; color: #fff !important; }
.ghi-cta .elementor-inner-section .elementor-column:nth-child(2) .elementor-button:hover { background: #fff !important; border-color: #fff !important; color: var(--ghi-green-dark) !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .ghi-hero { min-height: 630px !important; }
  .ghi-about-us:not(.ghi-hero) { padding-block: 75px !important; }
}
@media (max-width: 767px) {
  .ghi-about-us:not(.ghi-hero) { padding-block: 64px !important; }
  .ghi-hero { min-height: 590px !important; padding-inline: 18px !important; }
  .ghi-hero .elementor-button,
  .ghi-cta .elementor-button { width: 100% !important; }
  .ghi-story .elementor-inner-section > .elementor-container::before { display: none !important; }
  .ghi-timeline-card { margin-bottom: 26px !important; }
  .ghi-timeline-card .elementor-widget-heading:first-child .elementor-heading-title { height: 70px !important; width: 70px !important; }
  .ghi-belief-card,
  .ghi-capability-card,
  .ghi-innovation-card,
  .ghi-stat-card,
  .ghi-partner-card,
  .ghi-team-card { margin-bottom: 22px !important; }
  .ghi-impact .elementor-widget-image img { min-height: 290px !important; }
}
