.elementor-34553 .elementor-element.elementor-element-4a8a254{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-34553 .elementor-element.elementor-element-9f8da6d{--display:flex;--padding-top:080px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-34553 .elementor-element.elementor-element-43c6dcd{text-align:center;}.elementor-34553 .elementor-element.elementor-element-43c6dcd .elementor-heading-title{font-size:2rem;font-weight:700;}.elementor-34553 .elementor-element.elementor-element-3e50560 > .elementor-widget-container{padding:0px 60px 0px 060px;}.elementor-34553 .elementor-element.elementor-element-3e50560{text-align:center;}.elementor-34553 .elementor-element.elementor-element-d797164{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-34553 .elementor-element.elementor-element-c30b7af{text-align:center;}.elementor-34553 .elementor-element.elementor-element-c30b7af .elementor-heading-title{font-size:2rem;font-weight:700;}.elementor-34553 .elementor-element.elementor-element-6f6159f > .elementor-widget-container{padding:0px 60px 0px 060px;}.elementor-34553 .elementor-element.elementor-element-6f6159f{text-align:center;}.elementor-34553 .elementor-element.elementor-element-daa2e35{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:28px 28px;--row-gap:28px;--column-gap:28px;--flex-wrap:wrap;}.elementor-34553 .elementor-element.elementor-element-4d43a94{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-34553 .elementor-element.elementor-element-ceb61cf{--display:flex;}.elementor-34553 .elementor-element.elementor-element-fb08b0a{--display:flex;}.elementor-34553 .elementor-element.elementor-element-13359bd{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-34553 .elementor-element.elementor-element-43c6dcd .elementor-heading-title{font-size:1.75rem;}.elementor-34553 .elementor-element.elementor-element-c30b7af .elementor-heading-title{font-size:1.75rem;}}@media(min-width:768px){.elementor-34553 .elementor-element.elementor-element-4a8a254{--content-width:1440px;}.elementor-34553 .elementor-element.elementor-element-9f8da6d{--content-width:1440px;}.elementor-34553 .elementor-element.elementor-element-d797164{--content-width:1440px;}.elementor-34553 .elementor-element.elementor-element-4d43a94{--width:48.75%;}.elementor-34553 .elementor-element.elementor-element-ceb61cf{--width:48.75%;}.elementor-34553 .elementor-element.elementor-element-fb08b0a{--width:48.75%;}.elementor-34553 .elementor-element.elementor-element-13359bd{--width:48.75%;}}/* Start custom CSS for html, class: .elementor-element-773962c */body {
  margin: 0;
  font-family: "TT Norms Pro";
  color: var(--ink);
  background: #fff;
}

.features {
  max-width: var(--max);
  margin: 16px auto;
  padding: 0 20px;
  padding-bottom: 40px;

  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 40px;
}

.feature {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: center;
}

.feature__number {
  font-size: clamp(48px, 4vw, 84px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 14px;
}

.feature__rule {
  border: 0;
  border-top: 2px solid var(--rule);
  margin: 0 0 14px 0 !important;
}

.feature__text {
  margin: 0 0 8px 0;
  font-weight: 700;
  line-height: 1.35;
  font-size: 1.25rem;
  font-family: "TT Norms Pro";
}


/* Responsive steps */
@media (max-width: 1100px) {
  .features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .features { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9f8da6d */.elementor-34553 .elementor-element.elementor-element-9f8da6d {
    border-top: 1px solid rgba(225,228,234,.8);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-413c917 */.image-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 3px 0 rgba(0,0,0,.25), 0 4px 6px 0 rgba(0,0,0,.25);
}

.image-card img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

/* DEFAULT = your current gradient */
.image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.6) 25%,
    rgba(0, 0, 0, 0) 58%
  );
  display: flex;
  align-items: flex-end;
  padding: 24px;
  transition: background 0.6s ease;
}

/* Content wrapper */
.overlay-content {
  transition: transform 0.6s ease;
}

/* Title */
.image-title {
  display: block;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "TT Norms Pro";
  margin-bottom: 0;
  transition: transform 0.4s ease;
}

/* Hidden description */
.image-description {
  color: #fff;
  font-size: 1.125rem;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease;
}

/* =====================
   HOVER STATE
===================== */

.image-card:hover .image-overlay {
  background: rgba(29, 78, 137, 0.8);
}

.image-card:hover .overlay-content {
  transform: translateY(-10px);
}

.image-card:hover .image-description {
  opacity: 1;
  max-height: 100px;
  margin-top: 8px;
}

.image-card:hover img {
  transform: scale(1.05);
}

/* =====================
   MOBILE STYLES
===================== */

@media (max-width: 768px) {

  .image-title {
    font-size: 1rem !important;
    line-height: 1.2;
  }

  .image-description {
    font-size: 0.8rem;
    line-height: 1.5;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4d089c3 */.image-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 3px 0 rgba(0,0,0,.25),0 4px 6px 0 rgba(0,0,0,.25);
}

.image-card img {
  width: 100%;
  height: auto;
  display: block;
}

/* Gradient overlay */
.image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.6) 25%,
    rgba(0, 0, 0, 0) 58%
  );
  display: flex;
  align-items: flex-end;
  padding: 24px;
  box-shadow: 0 0 3px .25;
}

/* Text */
.image-title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "TT Norms Pro";
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8911b0d */.image-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 3px 0 rgba(0,0,0,.25),0 4px 6px 0 rgba(0,0,0,.25);
}

.image-card img {
  width: 100%;
  height: auto;
  display: block;
}

/* Gradient overlay */
.image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.6) 25%,
    rgba(0, 0, 0, 0) 58%
  );
  display: flex;
  align-items: flex-end;
  padding: 24px;
  box-shadow: 0 0 3px .25;
}

/* Text */
.image-title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "TT Norms Pro";
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-140f962 */.image-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 3px 0 rgba(0,0,0,.25),0 4px 6px 0 rgba(0,0,0,.25);
}

.image-card img {
  width: 100%;
  height: auto;
  display: block;
}

/* Gradient overlay */
.image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.6) 25%,
    rgba(0, 0, 0, 0) 58%
  );
  display: flex;
  align-items: flex-end;
  padding: 24px;
  box-shadow: 0 0 3px .25;
}

/* Text */
.image-title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "TT Norms Pro";
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d797164 */.elementor-34553 .elementor-element.elementor-element-d797164 {
    border-top: 1px solid rgba(225,228,234,.8);
}/* End custom CSS */