@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

* {
  --primary-color: #2EA44F;
  --primary-color-rgb: 46, 164, 79;
  --bg-dark-1: #0D1F3D;
  --bg-dark-2: #09172D;
  --bg-dark-3: #16733B;
  --bg-dark-1-rgb: 13, 31, 61;
  --body-font: "Montserrat", Helvetica, Arial, sans-serif;
  --heading-font: "Montserrat", Helvetica, Arial, sans-serif;
  --btn-font-family: "Montserrat", Helvetica, Arial, sans-serif;
  --heading-font-color: #0D1F3D;
  --btn-color: #FFFFFF;
}

.id-color { color: #2EA44F !important; }
.bg-color { background-color: #2EA44F !important; }
.text-dark { color: #0D1F3D !important; }

.ems-logo {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  min-width: 190px;
}
.ems-logo:hover { color: #fff; }
.ems-logo-word {
  font-family: "Montserrat", sans-serif;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: .08em;
}
.ems-logo-tagline {
  font-family: "Montserrat", sans-serif;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .055em;
  margin-top: 4px;
  white-space: nowrap;
}
.ems-logo-footer { margin-bottom: 4px; }
header.smaller .ems-logo { color: #0D1F3D; }
header #mainmenu > li > a { padding-left: 10px; padding-right: 10px; font-size: 13px; }

.ems-kicker {
  color: #2EA44F;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ems-stat-card,
.ems-info-card,
.ems-step,
.ems-pillar,
.ems-project-card {
  height: 100%;
  border-radius: 12px;
  padding: 28px;
  background: #fff;
  border: 1px solid rgba(13,31,61,.10);
}
.ems-stat-card h4,
.ems-info-card h4,
.ems-step h4,
.ems-pillar h4,
.ems-project-card h4 { margin-bottom: 8px; }
.ems-step-number,
.ems-service-number {
  color: #2EA44F;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  margin-bottom: 12px;
}
.ems-icon-circle {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(46,164,79,.12);
  color: #16733B;
  font-size: 25px;
  margin-bottom: 18px;
}
.ems-note {
  border-left: 4px solid #2EA44F;
  background: rgba(46,164,79,.08);
  padding: 20px 24px;
  border-radius: 0 10px 10px 0;
}
.ems-quote {
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.18;
  font-weight: 600;
  color: #fff;
}
.ems-whatsapp-float {
  position: fixed;
  width: 58px;
  height: 58px;
  right: 24px;
  bottom: 24px;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2EA44F;
  color: #fff !important;
  font-size: 29px;
  box-shadow: 0 8px 26px rgba(0,0,0,.22);
}
.ems-whatsapp-float:hover { transform: translateY(-2px); background: #16733B; }
.ems-service-list { columns: 2; column-gap: 28px; }
.ems-service-list li { break-inside: avoid; margin-bottom: 8px; }
.ems-hero-title { font-size: clamp(48px, 7vw, 104px); line-height: .98; letter-spacing: -.04em; }
.ems-hero-copy { max-width: 760px; font-size: 18px; }
.ems-section-dark-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }

@media (max-width: 1199px) {
  .ems-logo { min-width: 145px; }
  .ems-logo-tagline { display: none; }
  header #mainmenu > li > a { padding-left: 7px; padding-right: 7px; font-size: 12px; }
}
@media (max-width: 991px) {
  .ems-logo-tagline { display: block; }
  .ems-service-list { columns: 1; }
}
