/* Image-and-text modules. The plugin owns outer spacing, visibility and background. */
.vc-m--media-text-list .vc-story,
.vc-m--media-text .vc-story {
  --vc-story-gutter: 56px;
  width: min(var(--vc-content-width, 1320px), calc(100% - var(--vc-story-gutter) * 2));
  margin-inline: auto;
  overflow-wrap: anywhere;
}

.vc-m--media-text-list .vc-story--wide {
  --vc-story-gutter: 24px;
  width: min(1544px, calc(100% - var(--vc-story-gutter) * 2));
}

.vc-m--media-text-list .vc-story--full, .vc-m--media-text .vc-story--full { width: 100%; }

.vc-story__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  align-items: end;
  gap: clamp(32px, 5.5vw, 80px);
  margin-bottom: 44px;
}

.vc-story__heading--single { grid-template-columns: minmax(0, 1fr); }
.vc-story__heading-copy, .vc-story__intro { min-width: 0; }

.vc-story__eyebrow {
  display: block;
  margin-bottom: 20px;
  color: var(--vc-primary-hover, #11657d);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .015em;
}

.vc-story__title {
  margin: 0;
  color: var(--ink, #284650);
  font-size: clamp(34px, 3.3vw, 48px);
  font-weight: 480;
  line-height: 1.15;
  letter-spacing: -.045em;
}

.vc-story__title em { color: inherit; font-style: normal; }

.vc-story__intro {
  max-width: 46ch;
  color: var(--muted, #526e78);
  font-size: 16px;
  line-height: 1.8;
}

.vc-story__rows { display: grid; gap: var(--vc-story-gap, 48px); }

.vc-story__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5.5vw, 80px);
  align-items: center;
}

.vc-story__media { min-width: 0; margin: 0; }
.vc-story__picture { display: block; width: 100%; overflow: hidden; border-radius: 12px; }
.vc-story__picture img { display: block; width: 100%; height: auto; }

.vc-story__media figcaption {
  margin-top: 10px;
  color: var(--muted, #526e78);
  font-size: 12px;
  line-height: 1.7;
}

.vc-story__copy { min-width: 0; width: 100%; max-width: 480px; }
.vc-story__number { display: block; color: var(--muted, #526e78); font-size: 12px; line-height: 1.6; letter-spacing: .06em; }
.vc-story__label { display: block; color: var(--vc-primary-hover, #11657d); font-size: 11px; line-height: 1.6; letter-spacing: .04em; }
.vc-story__number + .vc-story__label { margin-top: 30px; }
.vc-story__row-title { margin: 14px 0 20px; color: var(--ink, #284650); font-size: clamp(28px, 2.6vw, 38px); line-height: 1.18; letter-spacing: -.03em; }
.vc-story__body { max-width: 45ch; color: var(--muted, #526e78); font-size: 16px; line-height: 1.8; }
.vc-story__intro > :first-child, .vc-story__body > :first-child { margin-top: 0; }
.vc-story__intro > :last-child, .vc-story__body > :last-child { margin-bottom: 0; }
.vc-story__intro p + p, .vc-story__body p + p { margin-top: 1em; }
.vc-story__intro a, .vc-story__body a { color: var(--vc-primary-hover, #11657d); text-decoration: underline; text-underline-offset: .2em; }
.vc-story__button { margin-top: 24px; max-width: 100%; white-space: normal; }

.vc-story__note {
  max-width: none;
  margin: 36px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--line, #d8e5ea);
  color: var(--muted, #526e78);
  font-size: 12px;
  line-height: 1.8;
}

.vc-story__placeholder {
  display: grid;
  place-items: center;
  min-height: 220px;
  padding: 24px;
  border: 1px dashed var(--line, #d8e5ea);
  border-radius: 12px;
  background: var(--paper, #f4f8fb);
  color: var(--muted, #526e78);
}

/* Use saved positions, not nth-child: reordering or hiding rows must not change a row's side. */
@media (min-width: 768px) {
  .vc-m--media-text .vc-story__row { column-gap: 30px; }
  .vc-story__row--d-right .vc-story__media { order: 2; }
  .vc-story__row--d-top, .vc-story__row--d-bottom { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .vc-story__row--d-bottom .vc-story__media { order: 2; }
  .vc-story__row--d-top .vc-story__copy, .vc-story__row--d-bottom .vc-story__copy { max-width: 760px; }
}

@media (min-width: 768px) and (max-width: 1150px) {
  .vc-m--media-text-list .vc-story--content, .vc-m--media-text .vc-story--content { --vc-story-gutter: 32px; }
}

@media (max-width: 767px) {
  .vc-m--media-text-list .vc-story, .vc-m--media-text .vc-story { --vc-story-gutter: 24px; }
  .vc-story__heading { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 32px; }
  .vc-story__eyebrow { margin-bottom: 16px; font-size: 11px; }
  .vc-story__intro { max-width: none; }
  .vc-story__rows { gap: var(--vc-story-gap-mobile, var(--vc-story-gap, 32px)); }
  .vc-story__row { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .vc-story__row--m-left, .vc-story__row--m-right { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
  .vc-story__row--m-right .vc-story__media, .vc-story__row--m-bottom .vc-story__media { order: 2; }
  .vc-story__copy { max-width: none; }
  .vc-story__number + .vc-story__label { margin-top: 18px; }
  .vc-story__row-title { font-size: 28px; margin-bottom: 16px; }
  .vc-story__row--m-left .vc-story__row-title, .vc-story__row--m-right .vc-story__row-title { font-size: clamp(21px, 4vw, 28px); }
  .vc-story__note { margin-top: 28px; padding-top: 20px; }
}

@media (max-width: 600px) {
  .vc-m--media-text-list .vc-story, .vc-m--media-text .vc-story { --vc-story-gutter: 20px; }
}

.vc-story__row.vc-story__row--single { grid-template-columns: minmax(0, 1fr); }
.vc-story__row--single .vc-story__copy { max-width: 760px; }

.vc-media-text .vc-story__row-title { color: var(--vc-story-title-color, var(--ink, #284650)); }
.vc-media-text .vc-story__body, .vc-media-text .vc-story__body p,
.vc-media-text .vc-story__number, .vc-media-text .vc-story__label,
.vc-media-text .vc-story__media figcaption { color: var(--vc-story-text-color, var(--muted, #526e78)); }
.vc-media-text .vc-story__copy--colored { padding: clamp(20px, 3vw, 36px); background: var(--vc-story-copy-bg); border-radius: 12px; }
.vc-media-text .vc-story__body { max-width: none; }
.vc-media-text .vc-story__row:not(.vc-story__row--single) .vc-story__copy { max-width: none; }
.vc-media-text__button-effect { display: inline-block; max-width: 100%; }
.vc-media-text .vc-story__button { color: var(--vc-story-button-color, #fff); background: var(--vc-story-button-bg, var(--blue, #177e9b)); }
.vc-media-text .vc-story__button:hover { background: var(--vc-story-button-bg, var(--vc-primary-hover, #11657d)); }

.vc-section-heading { width: min(var(--vc-content-width, 1320px), calc(100% - 112px)); margin-inline: auto; overflow-wrap: anywhere; }
.vc-section-heading__eyebrow { display: block; margin-bottom: 20px; color: var(--vc-section-text-color, var(--vc-primary-hover, #11657d)); font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .015em; }
.vc-section-heading__title { margin: 0; color: var(--vc-section-title-color, var(--ink, #284650)); font-size: clamp(34px, 3.3vw, 48px); font-weight: 480; line-height: 1.15; letter-spacing: -.045em; }
.vc-section-heading__title em { color: inherit; font-style: normal; }
.vc-section-heading__description { max-width: 70ch; margin: 24px 0 0; color: var(--vc-section-text-color, var(--muted, #526e78)); font-size: 16px; line-height: 1.8; }
.vc-section-heading__link { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; color: var(--vc-section-text-color, var(--ink, #284650)); font-size: 14px; line-height: 1.5; }
.vc-section-heading__link::after { content: '→'; }
.vc-section-heading__link:hover { text-decoration: underline; text-underline-offset: .3em; }
.vc-section-heading--center .vc-section-heading__description { margin-inline: auto; }
.vc-section-heading--right .vc-section-heading__description { margin-inline-start: auto; }
@media (min-width: 768px) and (max-width: 1150px) {
  .vc-section-heading { width: calc(100% - 64px); }
}
@media (max-width: 767px) {
  .vc-section-heading { width: calc(100% - 48px); }
  .vc-section-heading__eyebrow { margin-bottom: 16px; font-size: 11px; }
}
@media (max-width: 600px) {
  .vc-section-heading { width: calc(100% - 40px); }
}
