.nexo-text-card-grid-section {
  position: relative;
  display: flex;
  width: 100%;
  min-height: var(
    --nexo-tcgs-layout-section-min-height,
    var(
      --nexo-tcgs-desktop-section-min-height,
      var(--nexo-tcgs-section-min-height, var(--nexo-tcgs-min-height, 0))
    )
  );
  align-items: var(
    --nexo-tcgs-layout-content-align-items,
    var(
      --nexo-tcgs-desktop-content-align-items,
      var(--nexo-tcgs-content-align-items, flex-start)
    )
  );
  margin-top: var(--nexo-tcgs-section-margin-top, 0);
  margin-bottom: var(--nexo-tcgs-section-margin-bottom, 0);
  padding: var(
      --nexo-tcgs-layout-section-padding-top,
      var(
        --nexo-tcgs-desktop-section-padding-top,
        var(--nexo-tcgs-section-padding-top, 80px)
      )
    )
    var(
      --nexo-tcgs-layout-section-padding-right,
      var(
        --nexo-tcgs-desktop-section-padding-right,
        var(--nexo-tcgs-section-padding-right, 24px)
      )
    )
    var(
      --nexo-tcgs-layout-section-padding-bottom,
      var(
        --nexo-tcgs-desktop-section-padding-bottom,
        var(--nexo-tcgs-section-padding-bottom, 80px)
      )
    )
    var(
      --nexo-tcgs-layout-section-padding-left,
      var(
        --nexo-tcgs-desktop-section-padding-left,
        var(--nexo-tcgs-section-padding-left, 24px)
      )
    );
  color: var(--nexo-tcgs-title-color, #111827);
  background: var(--nexo-tcgs-background, transparent);
  overflow: var(--nexo-tcgs-overflow, visible);
  z-index: var(--nexo-tcgs-z-index, auto);
  border: 0;
  outline: 0;
}

.nexo-text-card-grid-section,
.nexo-text-card-grid-section * {
  box-sizing: border-box;
}

.nexo-text-card-grid-section__container {
  width: min(
    100%,
    var(
      --nexo-tcgs-layout-container-width,
      var(
        --nexo-tcgs-desktop-container-width,
        var(--nexo-tcgs-container-width, 1180px)
      )
    )
  );
  margin-right: auto;
  margin-left: auto;
  padding: var(--nexo-tcgs-container-padding-top, 0)
    var(--nexo-tcgs-container-padding-right, 0)
    var(--nexo-tcgs-container-padding-bottom, 0)
    var(--nexo-tcgs-container-padding-left, 0);
  transform: translateY(var(--nexo-tcgs-content-offset-y, 0));
}

.nexo-text-card-grid-section__content-frame {
  width: min(
    100%,
    var(
      --nexo-tcgs-layout-content-width,
      var(--nexo-tcgs-desktop-content-width, 100%)
    )
  );
  margin-right: auto;
  margin-left: auto;
  transform: translate(
    var(
      --nexo-tcgs-layout-content-offset-x,
      var(--nexo-tcgs-desktop-content-offset-x, 0)
    ),
    var(
      --nexo-tcgs-layout-content-offset-y,
      var(--nexo-tcgs-desktop-content-offset-y, 0)
    )
  );
}

.nexo-text-card-grid-section__content-frame {
  margin: var(
    --nexo-tcgs-layout-content-margin,
    var(--nexo-tcgs-desktop-content-margin, auto)
  );
}

.nexo-text-card-grid-section__header {
  width: min(
    100%,
    var(
      --nexo-tcgs-layout-header-width,
      var(
        --nexo-tcgs-desktop-header-width,
        var(--nexo-tcgs-header-max-width, 760px)
      )
    )
  );
  max-width: var(
    --nexo-tcgs-layout-header-width,
    var(
      --nexo-tcgs-desktop-header-width,
      var(--nexo-tcgs-header-max-width, 760px)
    )
  );
  margin: var(--nexo-tcgs-header-margin-top, 0) 0
    var(
      --nexo-tcgs-layout-header-margin-bottom,
      var(
        --nexo-tcgs-desktop-header-margin-bottom,
        var(--nexo-tcgs-header-margin-bottom, 40px)
      )
    );
  text-align: var(--nexo-tcgs-header-align, left);
  transform: translate(
    var(
      --nexo-tcgs-layout-header-offset-x,
      var(--nexo-tcgs-desktop-header-offset-x, 0)
    ),
    var(
      --nexo-tcgs-layout-header-offset-y,
      var(--nexo-tcgs-desktop-header-offset-y, 0)
    )
  );
}

.nexo-text-card-grid-section__header--align-left {
  margin-right: auto;
  margin-left: 0;
}

.nexo-text-card-grid-section__header--align-center {
  margin-right: auto;
  margin-left: auto;
}

.nexo-text-card-grid-section__header--align-right {
  margin-right: 0;
  margin-left: auto;
}

.nexo-text-card-grid-section__header--center {
  margin-right: auto;
  margin-left: auto;
}

.nexo-text-card-grid-section__header--right {
  margin-left: auto;
}

.nexo-text-card-grid-section__header--layout-split {
  display: grid;
  grid-template-columns:
    minmax(
      0,
      var(
        --nexo-tcgs-layout-header-title-width,
        var(
          --nexo-tcgs-desktop-header-title-width,
          var(--nexo-tcgs-header-title-width, 420px)
        )
      )
    )
    minmax(
      0,
      var(
        --nexo-tcgs-layout-header-description-width,
        var(
          --nexo-tcgs-desktop-header-description-width,
          var(--nexo-tcgs-header-description-width, 520px)
        )
      )
    );
  gap: var(
    --nexo-tcgs-layout-header-column-gap,
    var(
      --nexo-tcgs-desktop-header-column-gap,
      var(--nexo-tcgs-header-column-gap, 80px)
    )
  );
  align-items: var(
    --nexo-tcgs-layout-header-align-items,
    var(
      --nexo-tcgs-desktop-header-align-items,
      var(--nexo-tcgs-header-align-items, start)
    )
  );
  width: min(
    100%,
    max(
      var(--nexo-tcgs-header-max-width, 1180px),
      calc(
        var(--nexo-tcgs-header-title-width, 420px) +
          var(--nexo-tcgs-header-description-width, 520px) +
          var(--nexo-tcgs-header-column-gap, 80px)
      )
    )
  );
  max-width: min(
    100%,
    max(
      var(--nexo-tcgs-header-max-width, 1180px),
      calc(
        var(--nexo-tcgs-header-title-width, 420px) +
          var(--nexo-tcgs-header-description-width, 520px) +
          var(--nexo-tcgs-header-column-gap, 80px)
      )
    )
  );
}

.nexo-text-card-grid-section__header-title-col,
.nexo-text-card-grid-section__header-description-col {
  min-width: 0;
}

.nexo-text-card-grid-section__header--layout-split
  .nexo-text-card-grid-section__title {
  margin: 0;
}

.nexo-text-card-grid-section__header--layout-split
  .nexo-text-card-grid-section__description {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}

.nexo-text-card-grid-section__title-line {
  display: block;
}

.nexo-text-card-grid-section__eyebrow {
  margin: 0 0 var(--nexo-tcgs-eyebrow-margin-bottom, 10px);
  color: var(--nexo-tcgs-eyebrow-color, #64748b);
  font-family: var(--nexo-tcgs-eyebrow-font-family, inherit);
  font-size: var(--nexo-tcgs-eyebrow-size, 13px);
  font-weight: var(--nexo-tcgs-eyebrow-weight, 700);
  font-style: var(--nexo-tcgs-eyebrow-style, normal);
  line-height: var(--nexo-tcgs-eyebrow-line-height, 1.25);
  letter-spacing: var(--nexo-tcgs-eyebrow-letter-spacing, 0);
  text-align: var(--nexo-tcgs-eyebrow-align, inherit);
  text-transform: var(--nexo-tcgs-eyebrow-transform, uppercase);
}

.nexo-text-card-grid-section__title {
  margin: 0;
  color: var(--nexo-tcgs-title-color, #111827);
  font-family: var(--nexo-tcgs-title-font-family, inherit);
  font-size: var(--nexo-tcgs-title-size, 40px);
  font-weight: var(--nexo-tcgs-title-weight, 700);
  font-style: var(--nexo-tcgs-title-style, normal);
  line-height: var(--nexo-tcgs-title-line-height, 1.12);
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0);
  text-align: var(--nexo-tcgs-title-align, inherit);
  text-transform: var(--nexo-tcgs-title-transform, none);
}

.nexo-text-card-grid-section__description {
  max-width: var(--nexo-tcgs-description-max-width, 560px);
  margin: var(--nexo-tcgs-description-margin-top, 16px) 0 0;
  color: var(--nexo-tcgs-description-color, #475569);
  font-family: var(--nexo-tcgs-description-font-family, inherit);
  font-size: var(--nexo-tcgs-description-size, 18px);
  font-weight: var(--nexo-tcgs-description-weight, 400);
  font-style: var(--nexo-tcgs-description-style, normal);
  line-height: var(--nexo-tcgs-description-line-height, 1.65);
  letter-spacing: var(--nexo-tcgs-description-letter-spacing, 0);
  text-align: var(--nexo-tcgs-description-align, inherit);
  text-transform: var(--nexo-tcgs-description-transform, none);
}

/* Header hardening: protects section heading from global h2 rules. */
.nexo-text-card-grid-section .nexo-text-card-grid-section__header {
  padding: 0;
}

.nexo-text-card-grid-section .nexo-text-card-grid-section__header--align-left {
  margin-right: auto;
  margin-left: 0;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header
  > .nexo-text-card-grid-section__title {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  text-indent: 0;
  color: var(--nexo-tcgs-title-color, #111827);
  font-family: var(--nexo-tcgs-title-font-family, inherit);
  font-size: var(--nexo-tcgs-title-size, 42px);
  font-weight: var(--nexo-tcgs-title-weight, 900);
  font-style: var(--nexo-tcgs-title-style, normal);
  line-height: var(--nexo-tcgs-title-line-height, 1.08);
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0);
  text-align: var(--nexo-tcgs-title-align, inherit);
  text-transform: var(--nexo-tcgs-title-transform, none);
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header--layout-split
  .nexo-text-card-grid-section__header-title-col
  > .nexo-text-card-grid-section__title {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  text-indent: 0;
  color: var(--nexo-tcgs-title-color, #111827);
  font-family: var(--nexo-tcgs-title-font-family, inherit);
  font-size: var(--nexo-tcgs-title-size, 42px);
  font-weight: var(--nexo-tcgs-title-weight, 900);
  font-style: var(--nexo-tcgs-title-style, normal);
  line-height: var(--nexo-tcgs-title-line-height, 1.08);
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0);
  text-align: var(--nexo-tcgs-title-align, inherit);
  text-transform: var(--nexo-tcgs-title-transform, none);
}

/* Specific H2 override: this is intentional because global H2 styles keep winning. */
.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header
  > h2.nexo-text-card-grid-section__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nexo-tcgs-title-color, #111827) !important;
  font-family: var(--nexo-tcgs-title-font-family, inherit) !important;
  font-size: var(--nexo-tcgs-title-size, 42px) !important;
  font-weight: var(--nexo-tcgs-title-weight, 900) !important;
  font-style: var(--nexo-tcgs-title-style, normal) !important;
  line-height: var(--nexo-tcgs-title-line-height, 1.08) !important;
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0) !important;
  text-align: var(--nexo-tcgs-title-align, inherit) !important;
  text-transform: var(--nexo-tcgs-title-transform, none) !important;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header--layout-split
  .nexo-text-card-grid-section__header-title-col
  > h2.nexo-text-card-grid-section__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nexo-tcgs-title-color, #111827) !important;
  font-family: var(--nexo-tcgs-title-font-family, inherit) !important;
  font-size: var(--nexo-tcgs-title-size, 42px) !important;
  font-weight: var(--nexo-tcgs-title-weight, 900) !important;
  font-style: var(--nexo-tcgs-title-style, normal) !important;
  line-height: var(--nexo-tcgs-title-line-height, 1.08) !important;
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0) !important;
  text-align: var(--nexo-tcgs-title-align, inherit) !important;
  text-transform: var(--nexo-tcgs-title-transform, none) !important;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header
  > .nexo-text-card-grid-section__description {
  display: block;
  width: min(100%, var(--nexo-tcgs-description-max-width, 560px));
  max-width: var(--nexo-tcgs-description-max-width, 560px);
  margin-top: var(--nexo-tcgs-description-margin-top, 16px);
  margin-bottom: 0;
  padding: 0;
  text-indent: 0;
  color: var(--nexo-tcgs-description-color, #475569);
  font-family: var(--nexo-tcgs-description-font-family, inherit);
  font-size: var(--nexo-tcgs-description-size, 16px);
  font-weight: var(--nexo-tcgs-description-weight, 400);
  font-style: var(--nexo-tcgs-description-style, normal);
  line-height: var(--nexo-tcgs-description-line-height, 1.6);
  letter-spacing: var(--nexo-tcgs-description-letter-spacing, 0);
  text-align: var(--nexo-tcgs-description-align, inherit);
  text-transform: var(--nexo-tcgs-description-transform, none);
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header--align-left
  > .nexo-text-card-grid-section__description {
  margin-right: auto;
  margin-left: 0;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header--align-center
  > .nexo-text-card-grid-section__description {
  margin-right: auto;
  margin-left: auto;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__header--align-right
  > .nexo-text-card-grid-section__description {
  margin-right: 0;
  margin-left: auto;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__description
  > :first-child {
  margin-top: 0;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__description
  > :last-child {
  margin-bottom: 0;
}

.nexo-text-card-grid-section__description > :first-child {
  margin-top: 0;
}

.nexo-text-card-grid-section__description > :last-child {
  margin-bottom: 0;
}

.nexo-text-card-grid-section__rows {
  display: grid;
  width: min(
    100%,
    var(
      --nexo-tcgs-layout-grid-width,
      var(--nexo-tcgs-desktop-grid-width, 100%)
    )
  );
  margin: var(
    --nexo-tcgs-layout-grid-margin,
    var(--nexo-tcgs-desktop-grid-margin, 0)
  );
  gap: var(
    --nexo-tcgs-layout-grid-row-gap,
    var(--nexo-tcgs-desktop-grid-row-gap, var(--nexo-tcgs-row-gap, 24px))
  );
  transform: translate(
    var(
      --nexo-tcgs-layout-grid-offset-x,
      var(--nexo-tcgs-desktop-grid-offset-x, 0)
    ),
    var(
      --nexo-tcgs-layout-grid-offset-y,
      var(--nexo-tcgs-desktop-grid-offset-y, 0)
    )
  );
}

.nexo-text-card-grid-section__row {
  display: grid;
  grid-template-columns: var(--nexo-tcgs-row-columns, 1fr);
  gap: var(--nexo-tcgs-column-gap, 24px);
  align-items: var(--nexo-tcgs-row-align-items, stretch);
}

.nexo-text-card-grid-section__cell--map-host {
  min-width: 0;
}

.nexo-text-card-grid-section__cell--map-host
  > .nexo-text-card-grid-section__map-switcher,
.nexo-text-card-grid-section__map-host,
.nexo-text-card-grid-section__map-frame-wrap {
  width: 100%;
  min-width: 0;
}

.nexo-text-card-grid-section__map-host {
  display: flex;
  flex-direction: column;
}

.nexo-text-card-grid-section__map-host
  > .nexo-text-card-grid-section__cell-label {
  flex: 0 0 auto;
}

.nexo-text-card-grid-section__map-frame-wrap {
  height: var(--nexo-tcgs-map-height, 420px);
  min-height: var(--nexo-tcgs-map-height, 420px);
  overflow: hidden;
  border-radius: var(--nexo-tcgs-map-radius, 8px);
  background: #f3f4f6;
}

.nexo-text-card-grid-section__map-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.nexo-text-card-grid-section__cell--map-unit
  .nexo-text-card-grid-section__card-button {
  cursor: pointer;
}

.nexo-text-card-grid-section__cell {
  display: flex;
  flex-direction: column;
  min-width: 0;
  order: var(--nexo-tcgs-cell-order-desktop, 0);
  grid-column: var(--nexo-tcgs-cell-grid-column-desktop, auto);
  align-self: var(--nexo-tcgs-cell-align-self-desktop, stretch);
  justify-self: var(--nexo-tcgs-cell-justify-self-desktop, stretch);
}

.nexo-text-card-grid-section .nexo-text-card-grid-section__cell-label {
  display: block;
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 0 var(--nexo-tcgs-cell-label-margin-bottom, 14px);
  color: var(--nexo-tcgs-cell-label-color, #111827);
  font-family: var(--nexo-tcgs-cell-label-font-family, inherit);
  font-size: var(--nexo-tcgs-cell-label-size, 32px);
  font-weight: var(--nexo-tcgs-cell-label-weight, 700);
  font-style: var(--nexo-tcgs-cell-label-style, normal);
  line-height: var(--nexo-tcgs-cell-label-line-height, 1.15);
  letter-spacing: var(--nexo-tcgs-cell-label-letter-spacing, 0);
  text-align: var(--nexo-tcgs-cell-label-align, left);
  text-transform: var(--nexo-tcgs-cell-label-transform, none);
}

.nexo-text-card-grid-section__cell > .nexo-text-card-grid-section__card,
.nexo-text-card-grid-section__cell
  > .nexo-text-card-grid-section__imported-card {
  flex: 0 0 auto;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.nexo-text-card-grid-section__imported-card {
  display: flex;
  width: 100%;
  height: auto;
  justify-content: center;
  align-items: flex-start;
}

.nexo-text-card-grid-section__imported-card > .nexo-content-card {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: min(100%, var(--nexo-content-card-width, 100%));
  max-width: 100%;
  height: var(--nexo-content-card-height, auto);
  min-height: 0;
  margin: 0;
  overflow: hidden;
  color: var(--nexo-content-card-color, #111827);
  background: var(--nexo-content-card-bg, transparent);
  border: var(--nexo-content-card-border-width, 0) solid
    var(--nexo-content-card-border-color, transparent);
  border-radius: var(--nexo-content-card-radius, 0);
  box-shadow: none;
}

.nexo-text-card-grid-section__inline-canvas {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: center;
  align-items: stretch;
}

.nexo-text-card-grid-section__inline-canvas > .nexo-content-card-canvas,
.nexo-text-card-grid-section__inline-canvas > .nexo-page-kit-canvas {
  width: min(100%, var(--nexo-content-card-canvas-width, 100%));
  max-width: 100%;
}

.nexo-text-card-grid-section__inline-canvas-placeholder {
  width: 100%;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #64748b;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  text-align: center;
}

.nexo-text-card-grid-section__imported-card > .nexo-content-card,
.nexo-text-card-grid-section__imported-card > .nexo-content-card * {
  box-sizing: border-box;
}

.nexo-text-card-grid-section__imported-card .nexo-content-card__media {
  position: relative;
  z-index: var(--nexo-content-card-media-z-index, 1);
  flex: 0 0 auto;
  width: var(--nexo-content-card-image-width, 100%);
  height: var(--nexo-content-card-image-height, auto);
  margin: 0;
  padding: var(--nexo-content-card-image-padding, 0);
  overflow: hidden;
  background: var(--nexo-content-card-image-bg, transparent);
  border-radius: var(--nexo-content-card-media-radius, 0);
}

.nexo-text-card-grid-section__imported-card
  .nexo-content-card--media-bottom
  .nexo-content-card__media {
  order: 2;
}

.nexo-text-card-grid-section__imported-card .nexo-content-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: var(--nexo-content-card-image-fit, cover);
  object-position: var(--nexo-content-card-image-position, center center);
  border: 0;
}

.nexo-text-card-grid-section__imported-card .nexo-content-card__body {
  position: relative;
  z-index: var(--nexo-content-card-body-z-index, 2);
  flex: 1 1 auto;
  width: 100%;
  padding: var(--nexo-content-card-body-padding, 22px);
  background: var(--nexo-content-card-body-bg, transparent);
  transform: translateY(var(--nexo-content-card-body-offset-y, 0));
}

.nexo-text-card-grid-section__imported-card .nexo-content-card__title {
  margin: 0 0 var(--nexo-content-card-title-margin-bottom, 0);
  color: var(--nexo-content-card-color, #111827);
  font-family: var(--nexo-content-card-title-font-family, inherit);
  font-size: var(--nexo-content-card-title-size, 21px);
  font-weight: var(--nexo-content-card-title-weight, 800);
  font-style: var(--nexo-content-card-title-style, normal);
  line-height: var(--nexo-content-card-title-line-height, 1.18);
  text-align: var(--nexo-content-card-title-align, left);
}

.nexo-text-card-grid-section__imported-card .nexo-content-card__description {
  margin: var(--nexo-content-card-description-margin-top, 14px) 0 0;
  color: var(--nexo-content-card-description-color, #4b5563);
  font-family: var(--nexo-content-card-description-font-family, inherit);
  font-size: var(--nexo-content-card-description-size, 12px);
  font-weight: var(--nexo-content-card-description-weight, 400);
  font-style: var(--nexo-content-card-description-style, normal);
  line-height: var(--nexo-content-card-description-line-height, 1.55);
  text-align: var(--nexo-content-card-description-align, left);
}

.nexo-text-card-grid-section__imported-card
  .nexo-content-card__description
  > :first-child {
  margin-top: 0;
}

.nexo-text-card-grid-section__imported-card
  .nexo-content-card__description
  > :last-child {
  margin-bottom: 0;
}

.nexo-text-card-grid-section__imported-card .nexo-content-card__button,
.nexo-text-card-grid-section__imported-card .nexo-content-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--nexo-content-card-button-min-width, 0);
  height: var(--nexo-content-card-button-height, auto);
  margin-top: var(--nexo-content-card-button-margin-top, 22px);
  padding: var(--nexo-content-card-button-padding, 12px 18px);
  color: var(--nexo-content-card-button-color, #ffffff);
  background: var(--nexo-content-card-button-bg, #f75c00);
  border-radius: var(--nexo-content-card-button-radius, 6px);
  font-family: var(--nexo-content-card-button-font-family, inherit);
  font-size: var(--nexo-content-card-button-font-size, 11px);
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.nexo-text-card-grid-section__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: var(--nexo-tcgs-card-min-height, 220px);
  height: 100%;
  margin: 0;
  color: var(--nexo-tcgs-card-text-color, #475569);
  background: var(--nexo-tcgs-card-bg, #ffffff);
  border: var(--nexo-tcgs-card-border-width, 1px) solid
    var(--nexo-tcgs-card-border-color, rgba(15, 23, 42, 0.1));
  border-radius: var(--nexo-tcgs-card-radius, 12px);
  box-shadow: var(--nexo-tcgs-card-shadow, 0 16px 42px rgba(15, 23, 42, 0.08));
  overflow: hidden;
  z-index: var(--nexo-tcgs-card-z-index, auto);
}

.nexo-text-card-grid-section .nexo-text-card-grid-section__card-accent--image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__card-accent--image
  img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__card-accent--image-in-shape {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__card-accent--image-in-shape
  img {
  display: block;
  width: calc(100% - (var(--nexo-tcgs-card-accent-image-padding, 8px) * 2));
  height: calc(100% - (var(--nexo-tcgs-card-accent-image-padding, 8px) * 2));
  object-fit: contain;
}

.nexo-text-card-grid-section__card--preset-clean_light {
  background: var(--nexo-tcgs-card-bg, #ffffff);
}

.nexo-text-card-grid-section__card--preset-dark_card {
  --nexo-tcgs-card-bg: #111827;
  --nexo-tcgs-card-title-color: #ffffff;
  --nexo-tcgs-card-text-color: rgba(255, 255, 255, 0.84);
  --nexo-tcgs-card-border-color: rgba(255, 255, 255, 0.08);
}

.nexo-text-card-grid-section__card--preset-image_top {
  background: var(--nexo-tcgs-card-bg, #ffffff);
}

.nexo-text-card-grid-section__card--preset-image_overlay {
  --nexo-tcgs-card-bg: #111827;
  --nexo-tcgs-card-title-color: #ffffff;
  --nexo-tcgs-card-text-color: rgba(255, 255, 255, 0.86);
  --nexo-tcgs-card-border-color: rgba(255, 255, 255, 0.08);
}

.nexo-text-card-grid-section__card--preset-stat_orange {
  --nexo-tcgs-card-bg: #f75c00;
  --nexo-tcgs-card-title-color: #ffffff;
  --nexo-tcgs-card-text-color: #ffffff;
  --nexo-tcgs-card-border-color: transparent;
  --nexo-tcgs-card-shadow: none;
}

.nexo-text-card-grid-section__card--preset-media_only {
  --nexo-tcgs-card-bg: transparent;
  --nexo-tcgs-card-padding: 0;
  --nexo-tcgs-card-border-width: 0;
  --nexo-tcgs-card-shadow: none;
}

.nexo-text-card-grid-section__card-media {
  position: relative;
  aspect-ratio: var(--nexo-tcgs-card-image-aspect, 16 / 9);
  height: var(--nexo-tcgs-image-height, auto);
  min-height: 120px;
  border-radius: var(--nexo-tcgs-image-radius, 0);
  overflow: hidden;
  background: rgba(15, 23, 42, 0.06);
}

.nexo-text-card-grid-section__card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--nexo-tcgs-image-fit, cover);
  object-position: var(--nexo-tcgs-image-position, center center);
}

/*
 * Media-only cards are frequently used for map/product images.
 * They must not inherit the default card min-height, border or white body area,
 * otherwise the next row labels can appear visually covered in admin preview.
 */
.nexo-text-card-grid-section__card--type-media_only {
  min-height: 0;
  height: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.nexo-text-card-grid-section__card--type-media_only
  .nexo-text-card-grid-section__card-media {
  width: 100%;
  height: var(--nexo-tcgs-image-height, auto);
  min-height: 0;
  aspect-ratio: var(--nexo-tcgs-card-image-aspect, auto);
  border-radius: var(--nexo-tcgs-image-radius, 0);
}

.nexo-text-card-grid-section__card--type-media_only
  .nexo-text-card-grid-section__card-image {
  width: 100%;
  height: 100%;
}

.nexo-text-card-grid-section__card-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: var(--nexo-tcgs-card-overlay-opacity, 0.35);
  background: var(--nexo-tcgs-card-overlay-color, rgba(15, 23, 42, 0.45));
  background: linear-gradient(
    var(--nexo-tcgs-card-overlay-direction, 180deg),
    var(--nexo-tcgs-card-overlay-start, rgba(15, 23, 42, 0)),
    var(--nexo-tcgs-card-overlay-end, rgba(15, 23, 42, 0.65))
  );
}

.nexo-text-card-grid-section__card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  background: var(--nexo-tcgs-card-body-bg, transparent);
  align-items: var(--nexo-tcgs-card-align-items, flex-start);
  justify-content: var(--nexo-tcgs-card-justify-content, flex-start);
  padding: var(
      --nexo-tcgs-card-padding-top,
      var(--nexo-tcgs-card-padding, 28px)
    )
    var(--nexo-tcgs-card-padding-right, var(--nexo-tcgs-card-padding, 28px))
    var(--nexo-tcgs-card-padding-bottom, var(--nexo-tcgs-card-padding, 28px))
    var(--nexo-tcgs-card-padding-left, var(--nexo-tcgs-card-padding, 28px));
  text-align: var(--nexo-tcgs-card-text-align, left);
}

.nexo-text-card-grid-section__card--align-center {
  --nexo-tcgs-card-align-items: center;
  --nexo-tcgs-card-text-align: center;
}

.nexo-text-card-grid-section__card--align-right {
  --nexo-tcgs-card-align-items: flex-end;
  --nexo-tcgs-card-text-align: right;
}

.nexo-text-card-grid-section__card--valign-center {
  --nexo-tcgs-card-justify-content: center;
}

.nexo-text-card-grid-section__card--valign-end {
  --nexo-tcgs-card-justify-content: flex-end;
}

.nexo-text-card-grid-section__card--button-bottom
  .nexo-text-card-grid-section__card-body {
  justify-content: flex-start;
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__card
  .nexo-text-card-grid-section__card-title {
  margin: 0;
  color: var(--nexo-tcgs-card-title-color, #111827);
  font-family: var(--nexo-tcgs-card-title-font-family, inherit);
  font-size: var(--nexo-tcgs-card-title-size, 22px);
  font-weight: var(--nexo-tcgs-card-title-weight, 700);
  font-style: var(--nexo-tcgs-card-title-style, normal);
  line-height: var(--nexo-tcgs-card-title-line-height, 1.22);
  letter-spacing: var(--nexo-tcgs-card-title-letter-spacing, 0);
  text-align: var(--nexo-tcgs-card-title-align, inherit);
  text-transform: var(--nexo-tcgs-card-title-transform, none);
  max-width: var(--nexo-tcgs-card-title-max-width, none);
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__card
  .nexo-text-card-grid-section__card-description {
  margin: var(--nexo-tcgs-card-description-margin-top, 12px) 0 0;
  color: var(--nexo-tcgs-card-text-color, #475569);
  font-family: var(--nexo-tcgs-card-text-font-family, inherit);
  font-size: var(--nexo-tcgs-card-text-size, 16px);
  font-weight: var(--nexo-tcgs-card-text-weight, 400);
  font-style: var(--nexo-tcgs-card-text-style, normal);
  line-height: var(--nexo-tcgs-card-text-line-height, 1.65);
  letter-spacing: var(--nexo-tcgs-card-text-letter-spacing, 0);
  text-align: var(--nexo-tcgs-card-text-align, inherit);
  text-transform: var(--nexo-tcgs-card-text-transform, none);
  max-width: var(--nexo-tcgs-card-text-max-width, none);
}

.nexo-text-card-grid-section__card-actions {
  margin-top: var(--nexo-tcgs-card-button-margin-top, 22px);
}

.nexo-text-card-grid-section__card--button-bottom
  .nexo-text-card-grid-section__card-actions {
  margin-top: auto;
}

.nexo-text-card-grid-section__card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(
    --nexo-tcgs-card-button-width,
    var(--nexo-tcgs-button-width, auto)
  );
  min-width: var(
    --nexo-tcgs-card-button-min-width,
    var(--nexo-tcgs-button-min-width, 0)
  );
  min-height: var(
    --nexo-tcgs-card-button-height,
    var(--nexo-tcgs-button-height, 42px)
  );
  padding: var(
    --nexo-tcgs-card-button-padding,
    0 var(--nexo-tcgs-button-padding-x, 18px)
  );
  color: var(
    --nexo-tcgs-card-button-color,
    var(--nexo-tcgs-button-text-color, #ffffff)
  );
  font-family: var(
    --nexo-tcgs-card-button-font-family,
    var(--nexo-tcgs-button-font-family, inherit)
  );
  font-size: var(
    --nexo-tcgs-card-button-font-size,
    var(--nexo-tcgs-button-font-size, 14px)
  );
  font-weight: var(
    --nexo-tcgs-card-button-font-weight,
    var(--nexo-tcgs-button-font-weight, 700)
  );
  font-style: var(
    --nexo-tcgs-card-button-font-style,
    var(--nexo-tcgs-button-font-style, normal)
  );
  line-height: var(
    --nexo-tcgs-card-button-line-height,
    var(--nexo-tcgs-button-line-height, 1)
  );
  letter-spacing: var(
    --nexo-tcgs-card-button-letter-spacing,
    var(--nexo-tcgs-button-letter-spacing, 0)
  );
  text-align: center;
  text-decoration: none;
  text-transform: var(
    --nexo-tcgs-card-button-text-transform,
    var(--nexo-tcgs-button-text-transform, none)
  );
  background: var(
    --nexo-tcgs-card-button-bg,
    var(--nexo-tcgs-button-background, #111827)
  );
  border: var(--nexo-tcgs-button-border-width, 0) solid
    var(--nexo-tcgs-button-border-color, transparent);
  border-radius: var(
    --nexo-tcgs-card-button-radius,
    var(--nexo-tcgs-button-radius, 999px)
  );
}

.nexo-text-card-grid-section__card-button:hover,
.nexo-text-card-grid-section__card-button:focus-visible {
  color: var(
    --nexo-tcgs-card-button-color,
    var(--nexo-tcgs-button-text-color, #ffffff)
  );
  background: var(
    --nexo-tcgs-card-button-hover-bg,
    var(
      --nexo-tcgs-button-hover-background,
      var(--nexo-tcgs-button-background, #111827)
    )
  );
}

.nexo-text-card-grid-section__card--spacer {
  min-height: var(--nexo-tcgs-card-min-height, 32px);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.nexo-text-card-grid-section__spacer {
  min-height: var(--nexo-tcgs-card-min-height, 32px);
}

.nexo-text-card-grid-section__grid-intro {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--nexo-tcgs-description-color, #475569);
}

.nexo-text-card-grid-section__grid-intro--align-left {
  align-items: flex-start;
  text-align: left;
}

.nexo-text-card-grid-section__grid-intro--align-center {
  align-items: center;
  text-align: center;
}

.nexo-text-card-grid-section__grid-intro--align-right {
  align-items: flex-end;
  text-align: right;
}

.nexo-text-card-grid-section__grid-intro-eyebrow {
  margin: 0 0 var(--nexo-tcgs-eyebrow-margin-bottom, 12px);
  color: var(--nexo-tcgs-eyebrow-color, #f75c00);
  font-family: var(--nexo-tcgs-eyebrow-font-family, inherit);
  font-size: var(--nexo-tcgs-eyebrow-size, 13px);
  font-weight: var(--nexo-tcgs-eyebrow-weight, 800);
  font-style: var(--nexo-tcgs-eyebrow-style, normal);
  line-height: var(--nexo-tcgs-eyebrow-line-height, 1.2);
  letter-spacing: var(--nexo-tcgs-eyebrow-letter-spacing, 0.08em);
  text-align: var(--nexo-tcgs-eyebrow-align, inherit);
  text-transform: var(--nexo-tcgs-eyebrow-transform, uppercase);
}

.nexo-text-card-grid-section__grid-intro-title {
  margin: 0;
  color: var(--nexo-tcgs-title-color, #111827);
  font-family: var(--nexo-tcgs-title-font-family, inherit);
  font-size: var(--nexo-tcgs-title-size, 42px);
  font-weight: var(--nexo-tcgs-title-weight, 800);
  font-style: var(--nexo-tcgs-title-style, normal);
  line-height: var(--nexo-tcgs-title-line-height, 1.08);
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0);
  text-align: var(--nexo-tcgs-title-align, inherit);
  text-transform: var(--nexo-tcgs-title-transform, none);
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__grid-intro
  > .nexo-text-card-grid-section__grid-intro-title {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  text-indent: 0;
  color: var(--nexo-tcgs-title-color, #111827);
  font-family: var(--nexo-tcgs-title-font-family, inherit);
  font-size: var(--nexo-tcgs-title-size, 42px);
  font-weight: var(--nexo-tcgs-title-weight, 900);
  font-style: var(--nexo-tcgs-title-style, normal);
  line-height: var(--nexo-tcgs-title-line-height, 1.08);
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0);
  text-align: var(--nexo-tcgs-title-align, inherit);
  text-transform: var(--nexo-tcgs-title-transform, none);
}

.nexo-text-card-grid-section
  .nexo-text-card-grid-section__grid-intro
  > h2.nexo-text-card-grid-section__grid-intro-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nexo-tcgs-title-color, #111827) !important;
  font-family: var(--nexo-tcgs-title-font-family, inherit) !important;
  font-size: var(--nexo-tcgs-title-size, 42px) !important;
  font-weight: var(--nexo-tcgs-title-weight, 900) !important;
  font-style: var(--nexo-tcgs-title-style, normal) !important;
  line-height: var(--nexo-tcgs-title-line-height, 1.08) !important;
  letter-spacing: var(--nexo-tcgs-title-letter-spacing, 0) !important;
  text-align: var(--nexo-tcgs-title-align, inherit) !important;
  text-transform: var(--nexo-tcgs-title-transform, none) !important;
}

.nexo-text-card-grid-section__grid-intro-description {
  max-width: var(--nexo-tcgs-description-max-width, 560px);
  margin: var(--nexo-tcgs-description-margin-top, 18px) 0 0;
  color: var(--nexo-tcgs-description-color, #475569);
  font-family: var(--nexo-tcgs-description-font-family, inherit);
  font-size: var(--nexo-tcgs-description-size, 17px);
  font-weight: var(--nexo-tcgs-description-weight, 400);
  font-style: var(--nexo-tcgs-description-style, normal);
  line-height: var(--nexo-tcgs-description-line-height, 1.65);
  letter-spacing: var(--nexo-tcgs-description-letter-spacing, 0);
  text-align: var(--nexo-tcgs-description-align, inherit);
  text-transform: var(--nexo-tcgs-description-transform, none);
}

.nexo-text-card-grid-section__grid-intro--align-left
  .nexo-text-card-grid-section__grid-intro-description {
  margin-right: auto;
  margin-left: 0;
}

.nexo-text-card-grid-section__grid-intro--align-center
  .nexo-text-card-grid-section__grid-intro-description {
  margin-right: auto;
  margin-left: auto;
}

.nexo-text-card-grid-section__grid-intro--align-right
  .nexo-text-card-grid-section__grid-intro-description {
  margin-right: 0;
  margin-left: auto;
}

.nexo-text-card-grid-section__grid-intro-description > :first-child {
  margin-top: 0;
}

.nexo-text-card-grid-section__grid-intro-description > :last-child {
  margin-bottom: 0;
}

.nexo-text-card-grid-section__cta-slot {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
}

.nexo-text-card-grid-section__cell--type-cta-slot
  .nexo-text-card-grid-section__cta-slot {
  justify-content: stretch;
}

.nexo-text-card-grid-section__cell--type-cta-slot
  .nexo-text-card-grid-section__cta-slot
  > .nexo-page-kit-action-button,
.nexo-text-card-grid-section__cell--type-cta-slot
  .nexo-text-card-grid-section__cta-slot
  > .nexo-text-card-grid-section__button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.nexo-text-card-grid-section__cell--type-cta-slot
  .nexo-text-card-grid-section__button {
  display: inline-flex;
  justify-content: center;
}

/*
 * Action Button adapter.
 *
 * Maps the Text Card Grid Section variables to the generic Action Button
 * variables consumed by the reusable helper.
 */
.nexo-text-card-grid-section__button {
  --nexo-action-button-font-family: var(
    --nexo-tcgs-button-font-family,
    inherit
  );
  --nexo-action-button-size: var(--nexo-tcgs-button-size, 13px);
  --nexo-action-button-weight: var(--nexo-tcgs-button-weight, 800);
  --nexo-action-button-style: var(--nexo-tcgs-button-style, normal);
  --nexo-action-button-line-height: var(--nexo-tcgs-button-line-height, 1.2);
  --nexo-action-button-letter-spacing: var(
    --nexo-tcgs-button-letter-spacing,
    0
  );
  --nexo-action-button-transform: var(--nexo-tcgs-button-transform, uppercase);
  --nexo-action-button-text-align: var(--nexo-tcgs-button-text-align, center);

  --nexo-action-button-color: var(--nexo-tcgs-button-color, #ffffff);
  --nexo-action-button-background: var(--nexo-tcgs-button-background, #f75c00);
  --nexo-action-button-hover-background: var(
    --nexo-tcgs-button-hover-background,
    #d94f00
  );
  --nexo-action-button-hover-color: var(
    --nexo-tcgs-button-hover-color,
    #ffffff
  );
  --nexo-action-button-border-color: var(
    --nexo-tcgs-button-border-color,
    transparent
  );

  --nexo-action-button-width: var(--nexo-tcgs-button-width, auto);
  --nexo-action-button-min-width: var(--nexo-tcgs-button-min-width, 220px);
  --nexo-action-button-height: var(--nexo-tcgs-button-height, 54px);
  --nexo-action-button-radius: var(--nexo-tcgs-button-radius, 7px);
  --nexo-action-button-padding-x: var(--nexo-tcgs-button-padding-x, 28px);
  --nexo-action-button-gap: var(--nexo-tcgs-button-gap, 10px);
  --nexo-action-button-icon-size: var(--nexo-tcgs-button-icon-size, 18px);
  --nexo-action-button-icon-color: var(
    --nexo-tcgs-button-icon-color,
    currentColor
  );
}

.nexo-text-card-grid-section[style*="--nexo-tcgs-button-width: 0px"]
  .nexo-text-card-grid-section__button {
  --nexo-action-button-width: auto;
}

.nexo-text-card-grid-section__card--type-stat_card {
  align-items: var(--nexo-tcgs-card-align-items, flex-start);
  justify-content: var(--nexo-tcgs-card-justify-content, center);
  padding: var(
      --nexo-tcgs-card-padding-top,
      var(--nexo-tcgs-card-padding, 28px)
    )
    var(--nexo-tcgs-card-padding-right, var(--nexo-tcgs-card-padding, 28px))
    var(--nexo-tcgs-card-padding-bottom, var(--nexo-tcgs-card-padding, 28px))
    var(--nexo-tcgs-card-padding-left, var(--nexo-tcgs-card-padding, 28px));
  text-align: var(--nexo-tcgs-card-text-align, left);
}

.nexo-text-card-grid-section__stat-value {
  color: var(--nexo-tcgs-card-title-color, #111827);
  font-size: var(--nexo-tcgs-card-stat-value-size, 42px);
  font-weight: 800;
  line-height: 1;
}

.nexo-text-card-grid-section__stat-label {
  margin-top: 10px;
  color: var(--nexo-tcgs-card-text-color, #475569);
  font-size: var(--nexo-tcgs-card-text-size, 16px);
  line-height: var(--nexo-tcgs-card-text-line-height, 1.65);
}

.nexo-text-card-grid-section__footer {
  margin-top: var(--nexo-tcgs-footer-margin-top, 40px);
  text-align: var(--nexo-tcgs-footer-align, left);
}

@media (max-width: 960px) {
  .nexo-text-card-grid-section {
    --nexo-tcgs-layout-section-min-height: var(
      --nexo-tcgs-tablet-section-min-height,
      var(
        --nexo-tcgs-desktop-section-min-height,
        var(--nexo-tcgs-section-min-height, var(--nexo-tcgs-min-height, 0))
      )
    );
    --nexo-tcgs-layout-section-padding-top: var(
      --nexo-tcgs-tablet-section-padding-top,
      var(--nexo-tcgs-tablet-padding-top, 64px)
    );
    --nexo-tcgs-layout-section-padding-right: var(
      --nexo-tcgs-tablet-section-padding-right,
      var(
        --nexo-tcgs-desktop-section-padding-right,
        var(--nexo-tcgs-section-padding-right, 24px)
      )
    );
    --nexo-tcgs-layout-section-padding-bottom: var(
      --nexo-tcgs-tablet-section-padding-bottom,
      var(--nexo-tcgs-tablet-padding-bottom, 64px)
    );
    --nexo-tcgs-layout-section-padding-left: var(
      --nexo-tcgs-tablet-section-padding-left,
      var(
        --nexo-tcgs-desktop-section-padding-left,
        var(--nexo-tcgs-section-padding-left, 24px)
      )
    );
    --nexo-tcgs-layout-container-width: var(
      --nexo-tcgs-tablet-container-width,
      var(
        --nexo-tcgs-desktop-container-width,
        var(--nexo-tcgs-container-width, 1180px)
      )
    );
    --nexo-tcgs-layout-content-width: var(
      --nexo-tcgs-tablet-content-width,
      var(--nexo-tcgs-desktop-content-width, 100%)
    );
    --nexo-tcgs-layout-content-margin: var(
      --nexo-tcgs-tablet-content-margin,
      var(--nexo-tcgs-desktop-content-margin, auto)
    );
    --nexo-tcgs-layout-content-align-items: var(
      --nexo-tcgs-tablet-content-align-items,
      var(
        --nexo-tcgs-desktop-content-align-items,
        var(--nexo-tcgs-content-align-items, flex-start)
      )
    );
    --nexo-tcgs-layout-content-offset-x: var(
      --nexo-tcgs-tablet-content-offset-x,
      var(--nexo-tcgs-desktop-content-offset-x, 0)
    );
    --nexo-tcgs-layout-content-offset-y: var(
      --nexo-tcgs-tablet-content-offset-y,
      var(
        --nexo-tcgs-desktop-content-offset-y,
        var(--nexo-tcgs-content-offset-y, 0)
      )
    );
    --nexo-tcgs-layout-header-width: var(
      --nexo-tcgs-tablet-header-width,
      var(
        --nexo-tcgs-desktop-header-width,
        var(--nexo-tcgs-header-max-width, 760px)
      )
    );
    --nexo-tcgs-layout-header-title-width: var(
      --nexo-tcgs-tablet-header-title-width,
      var(
        --nexo-tcgs-desktop-header-title-width,
        var(--nexo-tcgs-header-title-width, 420px)
      )
    );
    --nexo-tcgs-layout-header-description-width: var(
      --nexo-tcgs-tablet-header-description-width,
      var(
        --nexo-tcgs-desktop-header-description-width,
        var(--nexo-tcgs-header-description-width, 520px)
      )
    );
    --nexo-tcgs-layout-header-column-gap: var(
      --nexo-tcgs-tablet-header-column-gap,
      var(
        --nexo-tcgs-desktop-header-column-gap,
        var(--nexo-tcgs-header-column-gap, 80px)
      )
    );
    --nexo-tcgs-layout-header-align-items: var(
      --nexo-tcgs-tablet-header-align-items,
      var(
        --nexo-tcgs-desktop-header-align-items,
        var(--nexo-tcgs-header-align-items, start)
      )
    );
    --nexo-tcgs-layout-header-margin-bottom: var(
      --nexo-tcgs-tablet-header-margin-bottom,
      var(
        --nexo-tcgs-desktop-header-margin-bottom,
        var(--nexo-tcgs-header-margin-bottom, 40px)
      )
    );
    --nexo-tcgs-layout-header-offset-x: var(
      --nexo-tcgs-tablet-header-offset-x,
      var(--nexo-tcgs-desktop-header-offset-x, 0)
    );
    --nexo-tcgs-layout-header-offset-y: var(
      --nexo-tcgs-tablet-header-offset-y,
      var(--nexo-tcgs-desktop-header-offset-y, 0)
    );
    --nexo-tcgs-grid-template-columns: var(
      --nexo-tcgs-tablet-grid-template-columns,
      var(
        --nexo-tcgs-desktop-grid-template-columns,
        repeat(var(--nexo-tcgs-tablet-columns, 2), minmax(0, 1fr))
      )
    );
    --nexo-tcgs-grid-column-gap: var(
      --nexo-tcgs-tablet-grid-column-gap,
      var(
        --nexo-tcgs-desktop-grid-column-gap,
        var(--nexo-tcgs-column-gap, 24px)
      )
    );
    --nexo-tcgs-layout-grid-width: var(
      --nexo-tcgs-tablet-grid-width,
      var(--nexo-tcgs-desktop-grid-width, 100%)
    );
    --nexo-tcgs-layout-grid-row-gap: var(
      --nexo-tcgs-tablet-grid-row-gap,
      var(--nexo-tcgs-desktop-grid-row-gap, var(--nexo-tcgs-row-gap, 24px))
    );
    --nexo-tcgs-layout-grid-margin: var(
      --nexo-tcgs-tablet-grid-margin,
      var(--nexo-tcgs-desktop-grid-margin, 0)
    );
    --nexo-tcgs-layout-grid-offset-x: var(
      --nexo-tcgs-tablet-grid-offset-x,
      var(--nexo-tcgs-desktop-grid-offset-x, 0)
    );
    --nexo-tcgs-layout-grid-offset-y: var(
      --nexo-tcgs-tablet-grid-offset-y,
      var(--nexo-tcgs-desktop-grid-offset-y, 0)
    );
  }

  .nexo-text-card-grid-section__row {
    grid-template-columns: var(
      --nexo-tcgs-row-columns,
      repeat(var(--nexo-tcgs-tablet-columns, 2), minmax(0, 1fr))
    );
  }

  .nexo-text-card-grid-section__cell {
    order: var(
      --nexo-tcgs-cell-order-tablet,
      var(--nexo-tcgs-cell-order-desktop, 0)
    );
    grid-column: var(
      --nexo-tcgs-cell-grid-column-tablet,
      var(--nexo-tcgs-cell-grid-column-desktop, auto)
    );
    align-self: var(
      --nexo-tcgs-cell-align-self-tablet,
      var(--nexo-tcgs-cell-align-self-desktop, stretch)
    );
    justify-self: var(
      --nexo-tcgs-cell-justify-self-tablet,
      var(--nexo-tcgs-cell-justify-self-desktop, stretch)
    );
  }

  .nexo-text-card-grid-section__card-title {
    font-size: var(
      --nexo-tcgs-card-title-size-tablet,
      var(--nexo-tcgs-card-title-size, 22px)
    );
  }

  .nexo-text-card-grid-section__card-description {
    font-size: var(
      --nexo-tcgs-card-text-size-tablet,
      var(--nexo-tcgs-card-text-size, 16px)
    );
  }
}

@media (max-width: 680px) {
  .nexo-text-card-grid-section {
    --nexo-tcgs-layout-section-min-height: var(
      --nexo-tcgs-mobile-section-min-height,
      var(
        --nexo-tcgs-tablet-section-min-height,
        var(
          --nexo-tcgs-desktop-section-min-height,
          var(--nexo-tcgs-section-min-height, var(--nexo-tcgs-min-height, 0))
        )
      )
    );
    --nexo-tcgs-layout-section-padding-top: var(
      --nexo-tcgs-mobile-section-padding-top,
      var(--nexo-tcgs-mobile-padding-top, 48px)
    );
    --nexo-tcgs-layout-section-padding-right: var(
      --nexo-tcgs-mobile-section-padding-right,
      var(--nexo-tcgs-mobile-padding-x, 18px)
    );
    --nexo-tcgs-layout-section-padding-bottom: var(
      --nexo-tcgs-mobile-section-padding-bottom,
      var(--nexo-tcgs-mobile-padding-bottom, 48px)
    );
    --nexo-tcgs-layout-section-padding-left: var(
      --nexo-tcgs-mobile-section-padding-left,
      var(--nexo-tcgs-mobile-padding-x, 18px)
    );
    --nexo-tcgs-layout-container-width: var(
      --nexo-tcgs-mobile-container-width,
      var(
        --nexo-tcgs-tablet-container-width,
        var(
          --nexo-tcgs-desktop-container-width,
          var(--nexo-tcgs-container-width, 1180px)
        )
      )
    );
    --nexo-tcgs-layout-content-width: var(
      --nexo-tcgs-mobile-content-width,
      var(
        --nexo-tcgs-tablet-content-width,
        var(--nexo-tcgs-desktop-content-width, 100%)
      )
    );
    --nexo-tcgs-layout-content-margin: var(
      --nexo-tcgs-mobile-content-margin,
      var(
        --nexo-tcgs-tablet-content-margin,
        var(--nexo-tcgs-desktop-content-margin, auto)
      )
    );
    --nexo-tcgs-layout-content-align-items: var(
      --nexo-tcgs-mobile-content-align-items,
      var(
        --nexo-tcgs-tablet-content-align-items,
        var(
          --nexo-tcgs-desktop-content-align-items,
          var(--nexo-tcgs-content-align-items, flex-start)
        )
      )
    );
    --nexo-tcgs-layout-content-offset-x: var(
      --nexo-tcgs-mobile-content-offset-x,
      var(
        --nexo-tcgs-tablet-content-offset-x,
        var(--nexo-tcgs-desktop-content-offset-x, 0)
      )
    );
    --nexo-tcgs-layout-content-offset-y: var(
      --nexo-tcgs-mobile-content-offset-y,
      var(
        --nexo-tcgs-tablet-content-offset-y,
        var(
          --nexo-tcgs-desktop-content-offset-y,
          var(--nexo-tcgs-content-offset-y, 0)
        )
      )
    );
    --nexo-tcgs-layout-header-width: var(
      --nexo-tcgs-mobile-header-width,
      var(
        --nexo-tcgs-tablet-header-width,
        var(
          --nexo-tcgs-desktop-header-width,
          var(--nexo-tcgs-header-max-width, 760px)
        )
      )
    );
    --nexo-tcgs-layout-header-title-width: var(
      --nexo-tcgs-mobile-header-title-width,
      var(
        --nexo-tcgs-tablet-header-title-width,
        var(
          --nexo-tcgs-desktop-header-title-width,
          var(--nexo-tcgs-header-title-width, 420px)
        )
      )
    );
    --nexo-tcgs-layout-header-description-width: var(
      --nexo-tcgs-mobile-header-description-width,
      var(
        --nexo-tcgs-tablet-header-description-width,
        var(
          --nexo-tcgs-desktop-header-description-width,
          var(--nexo-tcgs-header-description-width, 520px)
        )
      )
    );
    --nexo-tcgs-layout-header-column-gap: var(
      --nexo-tcgs-mobile-header-column-gap,
      var(
        --nexo-tcgs-tablet-header-column-gap,
        var(
          --nexo-tcgs-desktop-header-column-gap,
          var(--nexo-tcgs-header-column-gap, 80px)
        )
      )
    );
    --nexo-tcgs-layout-header-align-items: var(
      --nexo-tcgs-mobile-header-align-items,
      var(
        --nexo-tcgs-tablet-header-align-items,
        var(
          --nexo-tcgs-desktop-header-align-items,
          var(--nexo-tcgs-header-align-items, start)
        )
      )
    );
    --nexo-tcgs-layout-header-margin-bottom: var(
      --nexo-tcgs-mobile-header-margin-bottom,
      var(
        --nexo-tcgs-tablet-header-margin-bottom,
        var(
          --nexo-tcgs-desktop-header-margin-bottom,
          var(--nexo-tcgs-header-margin-bottom, 40px)
        )
      )
    );
    --nexo-tcgs-layout-header-offset-x: var(
      --nexo-tcgs-mobile-header-offset-x,
      var(
        --nexo-tcgs-tablet-header-offset-x,
        var(--nexo-tcgs-desktop-header-offset-x, 0)
      )
    );
    --nexo-tcgs-layout-header-offset-y: var(
      --nexo-tcgs-mobile-header-offset-y,
      var(
        --nexo-tcgs-tablet-header-offset-y,
        var(--nexo-tcgs-desktop-header-offset-y, 0)
      )
    );
    --nexo-tcgs-grid-template-columns: var(
      --nexo-tcgs-mobile-grid-template-columns,
      var(
        --nexo-tcgs-tablet-grid-template-columns,
        var(
          --nexo-tcgs-desktop-grid-template-columns,
          repeat(var(--nexo-tcgs-mobile-columns, 1), minmax(0, 1fr))
        )
      )
    );
    --nexo-tcgs-grid-column-gap: var(
      --nexo-tcgs-mobile-grid-column-gap,
      var(
        --nexo-tcgs-tablet-grid-column-gap,
        var(
          --nexo-tcgs-desktop-grid-column-gap,
          var(--nexo-tcgs-mobile-gap, 18px)
        )
      )
    );
    --nexo-tcgs-layout-grid-width: var(
      --nexo-tcgs-mobile-grid-width,
      var(
        --nexo-tcgs-tablet-grid-width,
        var(--nexo-tcgs-desktop-grid-width, 100%)
      )
    );
    --nexo-tcgs-layout-grid-row-gap: var(
      --nexo-tcgs-mobile-grid-row-gap,
      var(
        --nexo-tcgs-tablet-grid-row-gap,
        var(--nexo-tcgs-desktop-grid-row-gap, var(--nexo-tcgs-mobile-gap, 18px))
      )
    );
    --nexo-tcgs-layout-grid-margin: var(
      --nexo-tcgs-mobile-grid-margin,
      var(
        --nexo-tcgs-tablet-grid-margin,
        var(--nexo-tcgs-desktop-grid-margin, 0)
      )
    );
    --nexo-tcgs-layout-grid-offset-x: var(
      --nexo-tcgs-mobile-grid-offset-x,
      var(
        --nexo-tcgs-tablet-grid-offset-x,
        var(--nexo-tcgs-desktop-grid-offset-x, 0)
      )
    );
    --nexo-tcgs-layout-grid-offset-y: var(
      --nexo-tcgs-mobile-grid-offset-y,
      var(
        --nexo-tcgs-tablet-grid-offset-y,
        var(--nexo-tcgs-desktop-grid-offset-y, 0)
      )
    );
    padding: var(
        --nexo-tcgs-layout-section-padding-top,
        var(--nexo-tcgs-mobile-padding-top, 48px)
      )
      var(
        --nexo-tcgs-layout-section-padding-right,
        var(--nexo-tcgs-mobile-padding-x, 18px)
      )
      var(
        --nexo-tcgs-layout-section-padding-bottom,
        var(--nexo-tcgs-mobile-padding-bottom, 48px)
      )
      var(
        --nexo-tcgs-layout-section-padding-left,
        var(--nexo-tcgs-mobile-padding-x, 18px)
      );
  }

  .nexo-text-card-grid-section__title {
    font-size: var(--nexo-tcgs-mobile-title-size, 30px);
  }

  .nexo-text-card-grid-section__description {
    font-size: var(--nexo-tcgs-mobile-description-size, 16px);
  }

  .nexo-text-card-grid-section__header--layout-split {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .nexo-text-card-grid-section__row {
    grid-template-columns: var(
      --nexo-tcgs-row-columns,
      repeat(var(--nexo-tcgs-mobile-columns, 1), minmax(0, 1fr))
    );
    gap: var(--nexo-tcgs-mobile-gap, 18px);
  }

  .nexo-text-card-grid-section__cell {
    order: var(
      --nexo-tcgs-cell-order-mobile,
      var(--nexo-tcgs-cell-order-tablet, var(--nexo-tcgs-cell-order-desktop, 0))
    );
    grid-column: var(--nexo-tcgs-cell-grid-column-mobile, auto);
    align-self: var(
      --nexo-tcgs-cell-align-self-mobile,
      var(
        --nexo-tcgs-cell-align-self-tablet,
        var(--nexo-tcgs-cell-align-self-desktop, stretch)
      )
    );
    justify-self: var(
      --nexo-tcgs-cell-justify-self-mobile,
      var(
        --nexo-tcgs-cell-justify-self-tablet,
        var(--nexo-tcgs-cell-justify-self-desktop, stretch)
      )
    );
  }

  .nexo-text-card-grid-section__card-body {
    padding: var(--nexo-tcgs-card-mobile-padding, 22px);
  }

  .nexo-text-card-grid-section__card-title {
    font-size: var(
      --nexo-tcgs-card-title-size-mobile,
      var(
        --nexo-tcgs-card-title-size-tablet,
        var(--nexo-tcgs-card-title-size, 22px)
      )
    );
  }

  .nexo-text-card-grid-section__card-description {
    font-size: var(
      --nexo-tcgs-card-text-size-mobile,
      var(
        --nexo-tcgs-card-text-size-tablet,
        var(--nexo-tcgs-card-text-size, 16px)
      )
    );
  }
}

.nexo-text-card-grid-section__card:empty {
  min-height: 96px;
}

.nexo-page-kit-admin-preview .nexo-text-card-grid-section__card {
  outline: 1px dashed rgba(15, 23, 42, 0.18);
  outline-offset: -6px;
}

.nexo-page-kit-admin-preview .nexo-text-card-grid-section__card-title {
  font-size: var(--nexo-tcgs-card-title-size, 22px);
  line-height: var(--nexo-tcgs-card-title-line-height, 1.22);
}

.nexo-page-kit-admin-preview .nexo-text-card-grid-section__card-description {
  font-size: var(--nexo-tcgs-card-text-size, 16px);
  line-height: var(--nexo-tcgs-card-text-line-height, 1.65);
}

/* ==========================================================================
   Text Card Grid Section: mapa / HTML incorporado
   ========================================================================== */

.nexo-text-card-grid-section__card--type-map_embed {
  min-height: 0;
  height: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--nexo-tcgs-embed-radius, 8px);
  box-shadow: none;
  overflow: visible;
}

.nexo-text-card-grid-section__embed {
  width: 100%;
  height: var(--nexo-tcgs-embed-height, 420px);
  overflow: hidden;
  border-radius: var(--nexo-tcgs-embed-radius, 8px);
  background: #f3f4f6;
}

.nexo-text-card-grid-section__embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.nexo-text-card-grid-section__embed-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--nexo-tcgs-embed-height, 420px);
  padding: 24px;
  color: #64748b;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: var(--nexo-tcgs-embed-radius, 8px);
  text-align: center;
}

.nexo-text-card-grid-section__embed-link {
  margin: 12px 0 0;
  text-align: right;
}

.nexo-text-card-grid-section__embed-link a {
  color: #f75c00;
  font-weight: 800;
  text-decoration: none;
}

.nexo-text-card-grid-section__embed-link a:hover,
.nexo-text-card-grid-section__embed-link a:focus {
  text-decoration: underline;
}

/* ==========================================================================
   Text Card Grid Section: admin card tabs
   ========================================================================== */

.nexo-tcgs-card-editor {
  margin: 0 0 16px;
  border: 1px solid #d7dee8;
  border-radius: 14px;
  background: #fff;
}

.nexo-tcgs-card-editor__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 800;
}

.nexo-tcgs-card-editor__summary-meta {
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
  text-align: right;
}

.nexo-tcgs-card-editor__body {
  padding: 16px;
  border-top: 1px solid #edf1f7;
}

.nexo-tcgs-card-editor__subtabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}

.nexo-tcgs-card-editor__subtab {
  border: 1px solid #d7dee8;
  border-radius: 999px;
  background: #f8fafc;
  color: #1f2937;
  padding: 9px 14px;
  font-weight: 800;
  cursor: pointer;
}

.nexo-tcgs-card-editor__subtab.is-active {
  background: #f75c00;
  border-color: #f75c00;
  color: #fff;
}

.nexo-tcgs-card-editor__subtab[hidden],
.nexo-tcgs-card-editor__tab-panel[hidden] {
  display: none;
}

.nexo-tcgs-card-editor__tab-panels,
.nexo-tcgs-card-editor__tab-panel {
  width: 100%;
}

.nexo-tcgs-card-editor__tab-panel {
  padding: 18px;
  background: #fff;
  border: 1px solid #d7dee8;
  border-radius: 12px;
  box-sizing: border-box;
}

.nexo-tcgs-card-editor__fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  align-items: end;
}

.nexo-tcgs-card-editor__fields--compact {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.nexo-tcgs-card-editor__fields .nexo-page-kit-field {
  margin: 0;
}

.nexo-tcgs-card-editor__fields .nexo-page-kit-field--wide {
  grid-column: 1 / -1;
}

.nexo-text-card-grid-section-inline-canvas-builder {
  width: 100%;
  max-width: 100%;
}

.nexo-text-card-grid-section-inline-canvas-builder
  .nexo-content-card-canvas-builder__toolbar,
.nexo-text-card-grid-section-inline-canvas-builder
  .nexo-content-card-canvas-builder__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nexo-text-card-grid-section-inline-canvas-builder
  .nexo-content-card-canvas-builder__workspace {
  display: grid;
  grid-template-columns: minmax(560px, 1fr) minmax(360px, 440px);
  gap: 18px;
  align-items: start;
}

.nexo-text-card-grid-section-inline-canvas-builder
  .nexo-content-card-canvas-builder__stage-wrap {
  min-height: 680px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: auto;
  padding: 20px;
}

.nexo-text-card-grid-section-inline-canvas-builder
  .nexo-content-card-canvas-builder__panels {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.nexo-text-card-grid-section-inline-canvas-builder
  .nexo-content-card-canvas-builder__properties {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nexo-tcgs-inline-canvas-json {
  margin-top: 16px;
}

.nexo-tcgs-inline-canvas-json textarea {
  width: 100%;
  min-height: 160px;
  font-family: monospace;
}

@media (max-width: 1180px) {
  .nexo-text-card-grid-section-inline-canvas-builder
    .nexo-content-card-canvas-builder__workspace {
    grid-template-columns: 1fr;
  }

  .nexo-text-card-grid-section-inline-canvas-builder
    .nexo-content-card-canvas-builder__stage-wrap {
    min-height: 560px;
  }
}

@media (max-width: 782px) {
  .nexo-tcgs-card-editor__summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .nexo-tcgs-card-editor__summary-meta {
    text-align: left;
  }

  .nexo-text-card-grid-section-inline-canvas-builder
    .nexo-content-card-canvas-builder__properties {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .nexo-text-card-grid-section__map-frame-wrap {
    height: min(var(--nexo-tcgs-map-height, 420px), 360px);
    min-height: min(var(--nexo-tcgs-map-height, 420px), 360px);
  }
}
