.elementor-kit-44214{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-7fe73c6:#333333;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:1px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:600;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-44214 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */.kp-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 40px 0;
}

.kp-card {
  background: #ffffff;
  border: 1px solid #e3e9e3;
  border-radius: 16px;
  padding: 22px;
  position: relative;
  transition: all 0.25s ease;
  box-shadow: 0 6px 14px rgba(0,0,0,0.06);
}

.kp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 22px rgba(0,0,0,0.10);
}

.kp-card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #1f2937;
}

.kp-card p {
  font-size: 15px;
  color: #555;
  margin-bottom: 16px;
}

.kp-card-btn {
  display: inline-block;
  text-decoration: none;
  font-weight: 700;
  color: #2e7d32;
}

.kp-card-btn:hover {
  text-decoration: underline;
}

/* 🔥 pääkortti */
.kp-card-main {
  border: 2px solid #5fd06f;
  background: linear-gradient(180deg, #f3fbf4 0%, #ffffff 100%);
}

.kp-card-main h3 {
  color: #2e7d32;
}

/* badge */
.kp-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #5fd06f;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 999px;
}

/* mobile */
@media (max-width: 900px) {
  .kp-cards {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */