/* =========================================================
   Block: For Whom IL
   File: blocks/for-whom-il/style.css
   ========================================================= */

.for-whom-il-section {
  position: relative;
  padding-top: var(--fwi-section-padding-top, 130px);
  padding-bottom: var(--fwi-section-padding-bottom, 130px);
  overflow: hidden;
  isolation: isolate;
  background: var(--fwi-section-bg-style, var(--fwi-section-bg, #ffffff));
  border-bottom: var(--fwi-section-divider, 1px solid rgba(23, 35, 51, 0.08));
}

.for-whom-il-section::before {
  content: "";
  display: var(--fwi-section-glow-display, none);
  position: absolute;
  z-index: 1;
  right: calc(var(--fwi-section-glow-size, 420px) * -0.35);
  top: calc(var(--fwi-section-glow-size, 420px) * -0.25);
  width: var(--fwi-section-glow-size, 420px);
  height: var(--fwi-section-glow-size, 420px);
  border-radius: 999px;
  background: radial-gradient(circle, var(--fwi-section-highlight, #26ad21), transparent 68%);
  opacity: var(--fwi-section-glow-opacity, 0.12);
  pointer-events: none;
}

/* =========================================================
   Full-section background image and shade
   ========================================================= */

.for-whom-il-section-background,
.for-whom-il-section-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-image:
    var(--fwi-section-background-mask-horizontal, linear-gradient(#000, #000)),
    var(--fwi-section-background-mask-vertical, linear-gradient(#000, #000));
  mask-image:
    var(--fwi-section-background-mask-horizontal, linear-gradient(#000, #000)),
    var(--fwi-section-background-mask-vertical, linear-gradient(#000, #000));
  -webkit-mask-size: 100% 100%, 100% 100%;
  mask-size: 100% 100%, 100% 100%;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.for-whom-il-section-background {
  z-index: 0;
  background-image: var(--fwi-section-background-image, none);
  background-position:
    calc(var(--fwi-section-background-position-x, 50%) + var(--fwi-section-background-offset-x, 0px))
    calc(var(--fwi-section-background-position-y, 50%) + var(--fwi-section-background-offset-y, 0px));
  background-size: var(--fwi-section-background-size, auto 100%);
  background-repeat: var(--fwi-section-background-repeat, no-repeat);
  opacity: var(--fwi-section-background-image-opacity, 1);
  mix-blend-mode: var(--fwi-section-background-blend-mode, normal);
}

.for-whom-il-section-shade {
  z-index: 1;
  background: var(--fwi-section-background-shade-color, #000000);
  opacity: var(--fwi-section-background-shade-opacity, 0);
}

.for-whom-il-container {
  position: relative;
  z-index: 2;
  width: min(
    calc(100% - (var(--fwi-container-padding-x, 24px) * 2)),
    var(--fwi-container-max-width, 1200px)
  );
  max-width: none;
  margin-inline: auto;
  box-sizing: border-box;
}

.for-whom-il-section[style*="--fwi-container-max-width:none"] .for-whom-il-container {
  width: calc(100% - (var(--fwi-container-padding-x, 24px) * 2));
  max-width: none;
}

/* =========================================================
   Heading
   ========================================================= */

.for-whom-il-intro {
  width: 100%;
  max-width: var(--fwi-intro-area-max-width, 560px);
  margin-left: var(--fwi-intro-area-margin-left, 225px);
  margin-right: var(--fwi-intro-area-margin-right, auto);
  margin-bottom: var(--fwi-intro-to-cards-gap, 34px);
  text-align: var(--fwi-intro-text-align, left);
}

.for-whom-il-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--fwi-eyebrow-line-gap, 10px);
  margin: 0 0 var(--fwi-eyebrow-margin-bottom, 18px);
  color: var(--fwi-eyebrow-color, #4a8a4a);
  font-family: var(--fwi-eyebrow-family, Inter, Arial, sans-serif);
  font-size: var(--fwi-eyebrow-size, 12px);
  font-weight: var(--fwi-eyebrow-weight, 900);
  line-height: var(--fwi-eyebrow-line, 1);
  letter-spacing: var(--fwi-eyebrow-spacing, 0.09em);
  text-transform: var(--fwi-eyebrow-transform, uppercase);
}

.for-whom-il-eyebrow::before {
  content: "";
  display: var(--fwi-eyebrow-line-display, block);
  width: var(--fwi-eyebrow-line-width, 28px);
  height: var(--fwi-eyebrow-line-thickness, 1px);
  background: var(--fwi-eyebrow-line-color, currentColor);
}

.for-whom-il-heading {
  display: block;
  margin: 0 0 var(--fwi-heading-margin-bottom, 22px);
  color: var(--fwi-heading-color, #000000);
  font-family: var(--fwi-heading-family, Inter, Arial, sans-serif);
  font-size: var(--fwi-heading-size, 34px);
  font-weight: var(--fwi-heading-weight, 700);
  line-height: var(--fwi-heading-line, 1.12);
  letter-spacing: var(--fwi-heading-spacing, 0em);
  text-transform: var(--fwi-heading-transform, none);
}

.for-whom-il-heading-line {
  display: inline;
}

.for-whom-il-heading-highlight {
  color: var(--fwi-heading-highlight-color, #26ad21);
}

.for-whom-il-description {
  max-width: none;
  margin: 0;
  color: var(--fwi-description-color, #000000);
  font-family: var(--fwi-description-family, Lato, Arial, sans-serif);
  font-size: var(--fwi-description-size, 16px);
  font-weight: var(--fwi-description-weight, 400);
  line-height: var(--fwi-description-line, 1.625);
  letter-spacing: var(--fwi-description-spacing, 0em);
  text-transform: var(--fwi-description-transform, none);
}


/* =========================================================
   Grid
   ========================================================= */

.for-whom-il-grid {
  width: 100%;
  max-width: var(--fwi-cards-area-max-width, 1200px);
  margin-left: var(--fwi-cards-area-margin-left, 0px);
  margin-right: var(--fwi-cards-area-margin-right, auto);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--fwi-grid-gap, 30px);
  align-items: stretch;
}

/* =========================================================
   Card base
   ========================================================= */

.for-whom-il-card {
  position: relative;
  min-width: 0;
  min-height: var(--fwi-card-image-height, 260px);
  overflow: hidden;
  isolation: isolate;
  background: var(
    --fwi-card-local-bg-style,
    var(--fwi-card-bg-style, var(--fwi-card-bg, #1a301a))
  );
  border-width: var(--fwi-card-stroke-size, 0);
  border-style: solid;
  border-color: var(--fwi-card-stroke-color, transparent);
  border-radius: var(--fwi-card-radius, 8px);
  box-shadow: var(--fwi-card-shadow, 0 14px 34px rgba(23, 35, 51, 0.08));
  transition:
    transform var(--fwi-transition-duration, 240ms) ease,
    box-shadow var(--fwi-transition-duration, 240ms) ease,
    border-color var(--fwi-transition-duration, 240ms) ease;
}

.for-whom-il-card:hover {
  transform: var(--fwi-card-hover-transform, translateY(-4px));
  border-color: var(--fwi-card-stroke-hover-color, transparent);
  box-shadow: var(--fwi-card-hover-shadow, var(--fwi-card-shadow, 0 14px 34px rgba(23, 35, 51, 0.08)));
}


/* =========================================================
   Card media
   ========================================================= */

.for-whom-il-card-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  background: var(
    --fwi-card-local-bg-style,
    var(--fwi-card-bg-style, var(--fwi-card-bg, #172333))
  );
}

.for-whom-il-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(var(--fwi-image-scale, 1));
  filter: saturate(0.96) contrast(1.04);
  transition:
    transform var(--fwi-transition-duration, 240ms) ease,
    filter var(--fwi-transition-duration, 240ms) ease;
}

.for-whom-il-card:hover .for-whom-il-card-media img {
  transform: scale(var(--fwi-image-hover-scale, 1.07));
  filter: saturate(1.06) contrast(1.06);
}


.for-whom-il-card-media.is-image-missing img {
  display: none;
}

.for-whom-il-card-bg-solid .for-whom-il-card-overlay,
.for-whom-il-card-bg-gradient .for-whom-il-card-overlay {
  display: none;
}

.for-whom-il-card.has-no-card-image .for-whom-il-card-overlay {
  display: none;
}

.for-whom-il-card--content-above-image.has-no-card-image .for-whom-il-card-content {
  padding-bottom: var(--fwi-card-padding-bottom, 20px);
}

.for-whom-il-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: var(--fwi-card-overlay-display, block);
  background: var(--fwi-image-overlay-color, #000000);
  opacity: var(--fwi-image-overlay-opacity, 0.18);
  pointer-events: none;
  transition:
    background-color var(--fwi-transition-duration, 240ms) ease,
    opacity var(--fwi-transition-duration, 240ms) ease;
}

.for-whom-il-card:hover .for-whom-il-card-overlay {
  background: var(--fwi-image-overlay-hover-color, #000000);
  opacity: var(--fwi-image-overlay-hover-opacity, 0.48);
}


/* =========================================================
   Optional number / icon
   ========================================================= */

.for-whom-il-card-marker {
  position: absolute;
  left: var(--fwi-card-padding-left, 22px);
  top: var(--fwi-card-padding-top, 24px);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.for-whom-il-card-marker--number {
  color: var(--fwi-card-number-color, #ffffff);
  font-family: var(--fwi-card-number-family, "Montserrat", Arial, sans-serif);
  font-size: var(--fwi-card-number-size, 0px);
  font-weight: var(--fwi-card-number-weight, 900);
  line-height: var(--fwi-card-number-line, 1);
  letter-spacing: var(--fwi-card-number-spacing, -0.08em);
}

.for-whom-il-card-marker--icon {
  width: var(--fwi-card-icon-size, 54px);
  height: var(--fwi-card-icon-size, 54px);
}

.for-whom-il-card-marker--icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}


.for-whom-il-card-marker--overlay.is-icon-align-left {
  left: var(--fwi-card-padding-left, 22px);
  right: auto;
  transform: none;
}

.for-whom-il-card-marker--overlay.is-icon-align-center {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

.for-whom-il-card-marker--overlay.is-icon-align-right {
  left: auto;
  right: var(--fwi-card-padding-right, 22px);
  transform: none;
}

/* =========================================================
   Card content
   ========================================================= */

.for-whom-il-card-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--fwi-card-content-gap, 18px);
  padding-top: var(--fwi-card-padding-top, 24px);
  padding-right: var(--fwi-card-padding-right, 22px);
  padding-bottom: var(--fwi-card-padding-bottom, 20px);
  padding-left: var(--fwi-card-padding-left, 22px);
}

.for-whom-il-card-copy {
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 138px);
}

.for-whom-il-card-content--title-button,
.for-whom-il-card-content--button-title {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
}

.for-whom-il-card-content--button-title {
  flex-direction: column;
}

.for-whom-il-card-content--button-title .for-whom-il-link {
  order: 1;
}

.for-whom-il-card-content--button-title .for-whom-il-card-copy {
  order: 2;
}

.for-whom-il-card-content--title-button .for-whom-il-card-copy,
.for-whom-il-card-content--button-title .for-whom-il-card-copy {
  max-width: 100%;
}

.for-whom-il-card-content--title-button .for-whom-il-link,
.for-whom-il-card-content--button-title .for-whom-il-link {
  align-self: flex-start;
}

/* Per-card horizontal alignment. The default option preserves the previous layout. */
.for-whom-il-card-content-align--left .for-whom-il-card-copy {
  text-align: left;
}

.for-whom-il-card-content-align--center .for-whom-il-card-copy {
  text-align: center;
}

.for-whom-il-card-content-align--right .for-whom-il-card-copy {
  text-align: right;
}

.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--left,
.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--center,
.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--right {
  gap: var(--fwi-card-content-gap, 18px);
}

.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--left {
  justify-content: flex-start;
}

.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--center {
  justify-content: center;
}

.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--right {
  justify-content: flex-end;
}

.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--left .for-whom-il-card-copy,
.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--center .for-whom-il-card-copy,
.for-whom-il-card-content--horizontal.for-whom-il-card-content-align--right .for-whom-il-card-copy {
  flex: 0 1 auto;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--left,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--left {
  align-items: flex-start;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--center,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--center {
  align-items: center;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--right,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--right {
  align-items: flex-end;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--left .for-whom-il-card-copy,
.for-whom-il-card-content--title-button.for-whom-il-card-content-align--center .for-whom-il-card-copy,
.for-whom-il-card-content--title-button.for-whom-il-card-content-align--right .for-whom-il-card-copy,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--left .for-whom-il-card-copy,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--center .for-whom-il-card-copy,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--right .for-whom-il-card-copy {
  width: 100%;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--left .for-whom-il-link,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--left .for-whom-il-link {
  align-self: flex-start;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--center .for-whom-il-link,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--center .for-whom-il-link {
  align-self: center;
}

.for-whom-il-card-content--title-button.for-whom-il-card-content-align--right .for-whom-il-link,
.for-whom-il-card-content--button-title.for-whom-il-card-content-align--right .for-whom-il-link {
  align-self: flex-end;
}

.for-whom-il-card h3 {
  margin: 0 0 var(--fwi-card-title-margin-bottom, 0);
  color: var(--fwi-card-local-title-color, var(--fwi-card-title-color, #ffffff));
  font-family: var(--fwi-card-title-family, Inter, Arial, sans-serif);
  font-size: var(--fwi-card-title-size, 24px);
  font-weight: var(--fwi-card-title-weight, 700);
  line-height: var(--fwi-card-title-line, 1.1);
  letter-spacing: var(--fwi-card-title-spacing, 0em);
  text-transform: var(--fwi-card-title-transform, none);
}

.for-whom-il-card p {
  margin: 10px 0 0;
  color: var(--fwi-card-local-text-color, var(--fwi-card-text-color, rgba(255, 255, 255, 0.88)));
  font-family: var(--fwi-card-text-family, Lato, Arial, sans-serif);
  font-size: var(--fwi-card-text-size, 14px);
  font-weight: var(--fwi-card-text-weight, 400);
  line-height: var(--fwi-card-text-line, 1.5);
  letter-spacing: var(--fwi-card-text-spacing, 0em);
  text-transform: var(--fwi-card-text-transform, none);
}


/* =========================================================
   Card link / button
   ========================================================= */

.for-whom-il-link {
  flex: 0 0 auto;
  align-self: flex-end;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: var(--fwi-card-button-margin-top, 0);
  padding-top: var(--fwi-card-button-padding-top, 0);
  padding-right: var(--fwi-card-button-padding-right, 18px);
  padding-bottom: var(--fwi-card-button-padding-bottom, 0);
  padding-left: var(--fwi-card-button-padding-left, 18px);
  color: var(--fwi-card-local-button-color, var(--fwi-card-button-color, #ffffff));
  background: var(--fwi-card-local-button-bg, var(--fwi-card-button-bg, #4a8a4a));
  border-width: var(--fwi-card-button-stroke-size, 1px);
  border-style: solid;
  border-color: var(--fwi-card-local-button-stroke, var(--fwi-card-button-stroke-color, #4a8a4a));
  border-radius: var(--fwi-card-button-radius, 999px);
  font-family: var(--fwi-card-button-family, Lato, Arial, sans-serif);
  font-size: var(--fwi-card-button-size, 12px);
  font-weight: var(--fwi-card-button-weight, 700);
  line-height: var(--fwi-card-button-line, 1);
  letter-spacing: var(--fwi-card-button-spacing, 0em);
  text-transform: var(--fwi-card-button-transform, none);
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform var(--fwi-transition-duration, 240ms) ease,
    color var(--fwi-transition-duration, 240ms) ease,
    background-color var(--fwi-transition-duration, 240ms) ease,
    border-color var(--fwi-transition-duration, 240ms) ease;
}

.for-whom-il-link-style-text {
  min-height: auto;
  padding: 0;
  color: var(--fwi-card-local-button-color, var(--fwi-card-button-color, #ffffff));
  background: transparent;
  border-color: transparent;
  border-radius: 0;
}

.for-whom-il-link-style-outline {
  color: var(--fwi-card-local-button-color, var(--fwi-card-button-color, #ffffff));
  background: var(--fwi-card-button-bg, transparent);
}

.for-whom-il-link-style-filled {
  color: var(--fwi-card-local-button-color, var(--fwi-card-button-color, #ffffff));
  background: var(--fwi-card-local-button-bg, var(--fwi-card-button-bg, #4a8a4a));
  border-color: var(--fwi-card-local-button-stroke, var(--fwi-card-button-stroke-color, #4a8a4a));
}

.for-whom-il-link:hover {
  color: var(--fwi-card-local-button-color-hover, var(--fwi-card-button-color-hover, #ffffff));
  background: var(--fwi-card-local-button-bg-hover, var(--fwi-card-button-bg-hover, #26ad21));
  border-color: var(--fwi-card-local-button-stroke-hover, var(--fwi-card-button-stroke-hover-color, #26ad21));
  transform: translateY(-1px);
}

.for-whom-il-link-style-text:hover {
  color: var(--fwi-card-local-button-color-hover, var(--fwi-card-button-color-hover, #ffffff));
  background: transparent;
  border-color: transparent;
}

.for-whom-il-link span {
  display: inline-flex;
  transition: transform var(--fwi-transition-duration, 240ms) ease;
}

.for-whom-il-link:hover span {
  transform: translateX(var(--fwi-button-arrow-hover-x, 3px));
}


/* =========================================================
   Card layout: content above image
   ========================================================= */

.for-whom-il-card--content-above-image {
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(
    --fwi-stacked-card-local-content-bg-style,
    var(--fwi-stacked-card-content-bg-style, var(--fwi-stacked-card-content-bg, #ffffff))
  );
  box-shadow: var(--fwi-stacked-card-shadow, 0 14px 34px rgba(23, 35, 51, 0.08));
}

.for-whom-il-card--content-above-image:hover {
  box-shadow: var(--fwi-stacked-card-hover-shadow, var(--fwi-stacked-card-shadow, 0 14px 34px rgba(23, 35, 51, 0.08)));
}

.for-whom-il-card--content-above-image .for-whom-il-card-media {
  position: relative;
  inset: auto;
  order: 2;
  width: 100%;
  height: var(--fwi-stacked-card-image-height, 280px);
  flex: 0 0 var(--fwi-stacked-card-image-height, 280px);
  background: var(
    --fwi-stacked-card-local-content-bg-style,
    var(--fwi-stacked-card-content-bg-style, var(--fwi-stacked-card-content-bg, #ffffff))
  );
}

.for-whom-il-card--content-above-image .for-whom-il-card-overlay,
.for-whom-il-card--content-above-image > .for-whom-il-card-marker--overlay {
  display: none;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content {
  position: relative;
  inset: auto;
  order: 1;
  min-height: var(--fwi-stacked-card-content-min-height, 205px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  padding-bottom: var(--fwi-stacked-card-content-image-gap, 20px);
  background: var(
    --fwi-stacked-card-local-content-bg-style,
    var(--fwi-stacked-card-content-bg-style, var(--fwi-stacked-card-content-bg, #ffffff))
  );
}

.for-whom-il-card--content-above-image .for-whom-il-card-marker--stacked {
  position: relative;
  left: auto;
  top: auto;
  z-index: auto;
  flex: 0 0 auto;
  margin-bottom: var(--fwi-card-icon-margin-bottom, 12px);
}

.for-whom-il-card--content-above-image .for-whom-il-card-marker--stacked.is-icon-align-left {
  align-self: flex-start;
}

.for-whom-il-card--content-above-image .for-whom-il-card-marker--stacked.is-icon-align-center {
  align-self: center;
}

.for-whom-il-card--content-above-image .for-whom-il-card-marker--stacked.is-icon-align-right {
  align-self: flex-end;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content-align--center .for-whom-il-card-marker--stacked.for-whom-il-card-marker--number {
  align-self: center;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content-align--right .for-whom-il-card-marker--stacked.for-whom-il-card-marker--number {
  align-self: flex-end;
}

.for-whom-il-card--content-above-image .for-whom-il-card-copy {
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content-align--center {
  align-items: center;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content-align--right {
  align-items: flex-end;
}

.for-whom-il-card--content-above-image h3 {
  color: var(--fwi-card-local-title-color, var(--fwi-stacked-card-title-color, #000000));
}

.for-whom-il-card--content-above-image p {
  margin-top: var(--fwi-stacked-card-title-description-gap, 10px);
  color: var(--fwi-card-local-text-color, var(--fwi-stacked-card-text-color, #000000));
}

.for-whom-il-card--content-above-image .for-whom-il-link {
  min-height: 40px;
  margin-top: var(--fwi-stacked-card-button-margin-top, 24px);
  align-self: flex-start;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content-align--center .for-whom-il-link {
  align-self: center;
}

.for-whom-il-card--content-above-image .for-whom-il-card-content-align--right .for-whom-il-link {
  align-self: flex-end;
}

/* =========================================================
   Accessibility
   ========================================================= */

.for-whom-il-link:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.for-whom-il-card:focus-within {
  box-shadow:
    0 24px 62px rgba(23, 35, 51, 0.18),
    0 0 0 3px rgba(88, 184, 77, 0.28);
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1180px) {
  .for-whom-il-section {
    padding-top: var(--fwi-tablet-section-padding-top, 96px);
    padding-bottom: var(--fwi-tablet-section-padding-bottom, 96px);
  }

  .for-whom-il-grid {
    grid-template-columns: repeat(var(--fwi-tablet-grid-columns, 2), minmax(0, 1fr));
    gap: var(--fwi-tablet-grid-gap, 24px);
  }

  .for-whom-il-heading {
    font-size: var(--fwi-tablet-heading-size, 32px);
  }
}

@media (max-width: 860px) and (min-width: 681px) {
  .for-whom-il-grid {
    grid-template-columns: 1fr;
  }

  .for-whom-il-card {
    min-height: max(320px, var(--fwi-card-image-height, 300px));
  }
}

@media (max-width: 680px) {
  .for-whom-il-section-background,
  .for-whom-il-section-shade {
    -webkit-mask-image:
      var(--fwi-section-background-mask-horizontal-mobile, var(--fwi-section-background-mask-horizontal, linear-gradient(#000, #000))),
      var(--fwi-section-background-mask-vertical-mobile, var(--fwi-section-background-mask-vertical, linear-gradient(#000, #000)));
    mask-image:
      var(--fwi-section-background-mask-horizontal-mobile, var(--fwi-section-background-mask-horizontal, linear-gradient(#000, #000))),
      var(--fwi-section-background-mask-vertical-mobile, var(--fwi-section-background-mask-vertical, linear-gradient(#000, #000)));
  }

  .for-whom-il-section-background {
    background-image: var(--fwi-section-background-image-mobile, var(--fwi-section-background-image, none));
    background-position:
      calc(var(--fwi-section-background-position-x-mobile, var(--fwi-section-background-position-x, 50%)) + var(--fwi-section-background-offset-x-mobile, var(--fwi-section-background-offset-x, 0px)))
      calc(var(--fwi-section-background-position-y-mobile, var(--fwi-section-background-position-y, 50%)) + var(--fwi-section-background-offset-y-mobile, var(--fwi-section-background-offset-y, 0px)));
    background-size: var(--fwi-section-background-size-mobile, var(--fwi-section-background-size, auto 100%));
    background-repeat: var(--fwi-section-background-repeat-mobile, var(--fwi-section-background-repeat, no-repeat));
  }


  .for-whom-il-section {
    padding-top: var(--fwi-mobile-section-padding-top, 56px);
    padding-bottom: var(--fwi-mobile-section-padding-bottom, 64px);
  }

  .for-whom-il-container {
    width: calc(100% - (var(--fwi-mobile-container-padding-x, 20px) * 2));
    max-width: none;
  }

  .for-whom-il-intro {
    width: 100%;
    max-width: min(100%, var(--fwi-mobile-intro-area-max-width, 560px));
    margin-left: var(--fwi-mobile-intro-area-margin-left, 0px);
    margin-right: var(--fwi-mobile-intro-area-margin-right, auto);
    margin-bottom: var(--fwi-mobile-intro-to-cards-gap, 28px);
    text-align: var(--fwi-mobile-intro-text-align, left);
  }

  .for-whom-il-heading {
    color: var(--fwi-mobile-heading-color, var(--fwi-heading-color, #000000));
    font-size: var(--fwi-mobile-heading-size, 30px);
    line-height: var(--fwi-mobile-heading-line, 1.12);
    margin-bottom: var(--fwi-mobile-heading-margin-bottom, 18px);
  }

  .for-whom-il-heading-highlight {
    color: var(--fwi-mobile-heading-highlight-color, var(--fwi-heading-highlight-color, #26ad21));
  }

  .for-whom-il-description {
    color: var(--fwi-mobile-description-color, var(--fwi-description-color, #000000));
    font-size: var(--fwi-mobile-description-size, 14px);
    line-height: var(--fwi-mobile-description-line, 1.5);
  }

  .for-whom-il-grid {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    grid-template-columns: repeat(var(--fwi-mobile-grid-columns, 1), minmax(0, 1fr));
    gap: var(--fwi-mobile-grid-gap, 20px);
  }

  .for-whom-il-card {
    min-height: var(--fwi-mobile-card-image-height, 320px);
    border-radius: var(--fwi-mobile-card-radius, var(--fwi-card-radius, 8px));
  }

  .for-whom-il-card-content {
    gap: var(--fwi-mobile-card-content-gap, 14px);
    padding-top: var(--fwi-mobile-card-padding-top, 18px);
    padding-right: var(--fwi-mobile-card-padding-right, 18px);
    padding-bottom: var(--fwi-mobile-card-padding-bottom, 18px);
    padding-left: var(--fwi-mobile-card-padding-left, 18px);
  }

  .for-whom-il-card-marker {
    left: var(--fwi-mobile-card-padding-left, 18px);
    top: var(--fwi-mobile-card-padding-top, 18px);
  }

  .for-whom-il-card-marker--overlay.is-icon-align-right {
    left: auto;
    right: var(--fwi-mobile-card-padding-right, 18px);
  }

  .for-whom-il-card-marker--icon {
    width: var(--fwi-mobile-card-icon-size, 50px);
    height: var(--fwi-mobile-card-icon-size, 50px);
  }

  .for-whom-il-card h3 {
    font-size: var(--fwi-mobile-card-title-size, 20px);
    line-height: var(--fwi-mobile-card-title-line, 1.15);
  }

  .for-whom-il-card p {
    font-size: var(--fwi-mobile-card-text-size, 13px);
    line-height: var(--fwi-mobile-card-text-line, 1.45);
  }

  .for-whom-il-link {
    font-size: var(--fwi-mobile-card-button-size, 12px);
  }

  .for-whom-il-card--content-above-image {
    min-height: 0;
  }

  .for-whom-il-card--content-above-image .for-whom-il-card-media {
    height: var(--fwi-mobile-stacked-card-image-height, 220px);
    flex-basis: var(--fwi-mobile-stacked-card-image-height, 220px);
  }

  .for-whom-il-card--content-above-image .for-whom-il-card-content {
    min-height: var(--fwi-mobile-stacked-card-content-min-height, 0px);
    padding-bottom: var(--fwi-mobile-stacked-card-content-image-gap, 18px);
  }

  .for-whom-il-card--content-above-image .for-whom-il-card-marker--stacked {
    margin-bottom: var(--fwi-mobile-card-icon-margin-bottom, 12px);
  }

  .for-whom-il-card--content-above-image .for-whom-il-link {
    margin-top: var(--fwi-mobile-stacked-card-button-margin-top, 20px);
  }

  /* Globalny mobilny układ tytułu i CTA. */
  .for-whom-il-section.mobile-card-layout-title-button .for-whom-il-card-content,
  .for-whom-il-section.mobile-card-layout-button-title .for-whom-il-card-content {
    flex-direction: column;
  }

  .for-whom-il-section.mobile-card-layout-title-button .for-whom-il-card--overlay .for-whom-il-card-content,
  .for-whom-il-section.mobile-card-layout-button-title .for-whom-il-card--overlay .for-whom-il-card-content {
    justify-content: flex-end;
  }

  .for-whom-il-section.mobile-card-layout-title-button .for-whom-il-card--content-above-image .for-whom-il-card-content,
  .for-whom-il-section.mobile-card-layout-button-title .for-whom-il-card--content-above-image .for-whom-il-card-content {
    justify-content: flex-start;
  }

  .for-whom-il-section.mobile-card-layout-title-button .for-whom-il-card-copy,
  .for-whom-il-section.mobile-card-layout-button-title .for-whom-il-card-copy {
    width: 100%;
    max-width: 100%;
  }

  .for-whom-il-section.mobile-card-layout-title-button .for-whom-il-card-copy { order: 1; }
  .for-whom-il-section.mobile-card-layout-title-button .for-whom-il-link { order: 2; }
  .for-whom-il-section.mobile-card-layout-button-title .for-whom-il-link { order: 1; }
  .for-whom-il-section.mobile-card-layout-button-title .for-whom-il-card-copy { order: 2; }

  .for-whom-il-section.mobile-card-layout-horizontal .for-whom-il-card-content {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .for-whom-il-section.mobile-card-layout-horizontal .for-whom-il-card-copy {
    max-width: calc(100% - 112px);
  }

  .for-whom-il-section.mobile-card-button-full-width .for-whom-il-link {
    width: 100%;
    align-self: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .for-whom-il-card,
  .for-whom-il-card-media img,
  .for-whom-il-card-overlay,
  .for-whom-il-link,
  .for-whom-il-link span {
    transition-duration: 0ms !important;
  }

  .for-whom-il-card:hover {
    transform: none;
  }

  .for-whom-il-card:hover .for-whom-il-card-media img {
    transform: scale(var(--fwi-image-scale, 1));
  }
}

/* Per-card alignment controls for the title and optional description. */
.for-whom-il-card-title-align--left,
.for-whom-il-card-text-align--left {
  text-align: left;
}

.for-whom-il-card-title-align--center,
.for-whom-il-card-text-align--center {
  text-align: center;
}

.for-whom-il-card-title-align--right,
.for-whom-il-card-text-align--right {
  text-align: right;
}

/* =========================================================
   Equal horizontal rows for card titles and descriptions
   ========================================================= */
.for-whom-il-section.has-equalized-card-rows .for-whom-il-card-copy {
  min-height: var(--fwi-equalized-copy-height, auto);
}

.for-whom-il-section.has-equalized-card-rows .for-whom-il-card h3 {
  min-height: var(--fwi-equalized-title-height, auto);
}

.for-whom-il-section.has-equalized-card-rows .for-whom-il-card p {
  min-height: var(--fwi-equalized-text-height, auto);
}

@media (max-width: 680px) {
  .for-whom-il-section.has-equalized-card-rows:not(.has-mobile-equalized-card-rows) .for-whom-il-card-copy,
  .for-whom-il-section.has-equalized-card-rows:not(.has-mobile-equalized-card-rows) .for-whom-il-card h3,
  .for-whom-il-section.has-equalized-card-rows:not(.has-mobile-equalized-card-rows) .for-whom-il-card p {
    min-height: auto;
  }
}

