.preserved-content-shell > .elementor-container {
  width: 100%;
  max-width: 1220px !important;
}
.preserved-content-card > .elementor-widget-wrap {
  padding: 36px !important;
  border: 1px solid #dce8f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(7, 23, 43, .07);
}
.preserved-page-content {
  color: #45566d;
  font-size: 1.02rem;
}
.preserved-page-content h2,
.preserved-page-content h3,
.preserved-page-content h4 {
  color: #101b31;
  line-height: 1.2;
}
.preserved-page-content img { border-radius: 14px; }
.preserved-page-content a { font-weight: 700; }
@media (max-width: 760px) {
  .preserved-content-card > .elementor-widget-wrap { padding: 23px !important; }
}

/* Stable Elementor card sizing. These rules deliberately override Elementor's
   generated percentage widths so cards cannot collapse into narrow strips. */
.cards-column,
.cards-column > .elementor-widget-wrap,
.block-grid,
.block-grid > .elementor-container,
.process-grid,
.process-grid > .elementor-container {
  width: 100% !important;
  max-width: none !important;
}
.block-grid > .elementor-container,
.process-grid > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.block-grid > .elementor-container > .elementor-row,
.process-grid > .elementor-container > .elementor-row {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.block-grid > .elementor-container > .elementor-column,
.process-grid > .elementor-container > .elementor-column,
.block-grid > .elementor-container > .elementor-row > .elementor-column,
.process-grid > .elementor-container > .elementor-row > .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.block-grid .info-block > .elementor-widget-wrap,
.process-grid .process-card > .elementor-widget-wrap {
  width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 900px) {
  .block-grid > .elementor-container,
  .process-grid > .elementor-container,
  .block-grid > .elementor-container > .elementor-row,
  .process-grid > .elementor-container > .elementor-row {
    grid-template-columns: 1fr !important;
  }
}

/* Elementor legacy row wrappers used by the active site. */
.inner-layout > .elementor-container > .elementor-row {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  gap: 44px !important;
}
.deliver-shell > .elementor-container > .elementor-row {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  gap: 38px !important;
}
.deliver-grid > .elementor-container > .elementor-row {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.inner-layout > .elementor-container > .elementor-row > .elementor-column,
.deliver-shell > .elementor-container > .elementor-row > .elementor-column,
.deliver-grid > .elementor-container > .elementor-row > .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 900px) {
  .inner-layout > .elementor-container > .elementor-row,
  .deliver-shell > .elementor-container > .elementor-row,
  .deliver-grid > .elementor-container > .elementor-row {
    grid-template-columns: 1fr !important;
  }
}

/* Final layout uses no nested Elementor sections. */
.flat-card-grid > .elementor-container,
.flat-card-grid > .elementor-container > .elementor-row {
  width: 100% !important;
}
.flat-card-grid > .elementor-container > .elementor-row {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.15fr) repeat(3, minmax(220px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.flat-card-grid > .elementor-container > .elementor-row > .elementor-column,
.flat-card-grid > .elementor-container > .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.flat-card-grid .info-block > .elementor-widget-wrap {
  width: 100% !important;
  min-height: 250px;
  padding: 28px !important;
}
.flat-process-grid > .elementor-container > .elementor-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.flat-process-grid > .elementor-container > .elementor-row > .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
}
.flat-deliver-grid > .elementor-container > .elementor-row {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.1fr) repeat(2, minmax(240px, 1fr)) !important;
  gap: 22px !important;
}
.flat-deliver-grid > .elementor-container > .elementor-row > .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
}
.deliver-flat > .elementor-widget-wrap {
  height: 100%;
  padding: 26px !important;
  border: 1px solid #dce8f4;
  border-radius: 18px;
  background: #fff;
}
@media (max-width: 1000px) {
  .flat-card-grid > .elementor-container > .elementor-row,
  .flat-process-grid > .elementor-container > .elementor-row,
  .flat-deliver-grid > .elementor-container > .elementor-row {
    grid-template-columns: 1fr !important;
  }
  .flat-card-grid .info-block > .elementor-widget-wrap { min-height: 0; }
}
