/* Home block presentation. Renderer retains outer spacing, visibility and background. */
.vc-m--hero-h1 .vc-home-hero {
  --vc-home-gutter: var(--pc-pageGutter, 32px);
  --vc-home-title-size: 60px;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  align-items: center;
  gap: 48px;
  width: min(var(--pc-width, 1280px), calc(100% - var(--vc-home-gutter) * 2));
  margin-inline: auto;
  overflow-wrap: anywhere;
}

.vc-m--hero-h1 .vc-home-hero--full { width: 100%; }
.vc-m--hero-h1 .vc-home-hero__copy,
.vc-m--hero-h1 .vc-home-hero__media { min-width: 0; margin: 0; }
.vc-m--hero-h1 .vc-home-hero__copy { order: 0; }
.vc-m--hero-h1 .vc-home-hero__media { order: 1; }
.vc-m--hero-h1 .vc-home-hero__copy--colored {
  padding: 32px;
  background: var(--vc-home-copy-bg);
  border-radius: var(--pc-radius, 12px);
}
.vc-m--hero-h1 .vc-home-hero__title {
  max-width: 680px;
  margin: 0;
  color: var(--vc-home-title-color, var(--pc-heading, #203b45));
  font-size: var(--pc-headingSize, var(--vc-home-title-size));
  line-height: 1.1;
  text-wrap: balance;
}
/* The published site font weight and tracking remain more specific than these defaults. */
:where(.vc-m--hero-h1) .vc-home-hero__title { font-weight: 600; letter-spacing: -.035em; }
.vc-m--hero-h1 .vc-home-hero__description {
  max-width: 440px;
  margin: 24px 0 0;
  color: var(--vc-home-text-color, var(--pc-text, #415d68));
  font-size: var(--pc-bodySize, 18px);
  line-height: 1.5;
  text-wrap: pretty;
}
.vc-m--hero-h1 .vc-home-hero--align-center :is(.vc-home-hero__title, .vc-home-hero__description) { margin-inline: auto; }
.vc-m--hero-h1 .vc-home-hero--align-right :is(.vc-home-hero__title, .vc-home-hero__description) { margin-inline-start: auto; }
.vc-m--hero-h1 .vc-home-hero__button-effect { display: inline-block; max-width: 100%; margin-top: 32px; }
.vc-m--hero-h1 .vc-home-hero .vc-home-hero__button {
  min-height: 48px;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--vc-home-button-bg, var(--pc-buttonBackground, #126b82));
  border-radius: var(--pc-radius, 6px);
  background: var(--vc-home-button-bg, var(--pc-buttonBackground, #126b82));
  color: var(--vc-home-button-color, var(--pc-buttonText, #fff));
  font-size: var(--pc-bodySize, 16px);
  line-height: 1.5;
  white-space: normal;
  text-align: center;
}
.vc-m--hero-h1 .vc-home-hero__button:hover { opacity: .9; }
.vc-m--hero-h1 .vc-home-hero__button:focus-visible { outline: 3px solid var(--pc-heading, #203b45); outline-offset: 4px; }
.vc-m--hero-h1 .vc-home-hero__picture {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--pc-radius, 12px);
}
.vc-m--hero-h1 .vc-home-hero__picture img { width: 100%; height: 100%; }
.vc-m--hero-h1 .vc-home-hero__placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 3 / 2;
  padding: 24px;
  border: 1px dashed var(--pc-muted, #526c76);
  border-radius: var(--pc-radius, 12px);
  background: var(--pc-secondaryBackground, #f1f7f9);
  color: var(--vc-home-text-color, var(--pc-text, #415d68));
}

/* Standard, non-swiping information only. Bar/carousel modes keep their own renderer styles. */
.vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) {
  --vc-home-service-gap: 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, calc((100% - 3 * var(--vc-home-service-gap)) / 4)), 1fr));
  gap: 24px var(--vc-home-service-gap);
}
.vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item {
  min-width: 0;
  min-height: 48px;
  gap: 12px;
  font-size: var(--pc-bodySize, 14px);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item > :is(.vc-icon, .vc-m__icon-img) { flex: none; }
.vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item > :is(span, .vc-info__text) { min-width: 0; }
.vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) .vc-info__text > :first-child { margin-top: 0; }
.vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) .vc-info__text > :last-child { margin-bottom: 0; }
.vc-m--info-list .vc-info--left:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item { justify-content: flex-start; text-align: left; }
.vc-m--info-list .vc-info--center:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item { justify-content: center; text-align: center; }
.vc-m--info-list .vc-info--right:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item { justify-content: flex-end; text-align: right; }

/* Uploaded service illustrations opt in; built-in line icons retain their original size. */
.vc-m--info-list .vc-service-illustrations .vc-info:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item { min-height:72px; gap:16px; }
.vc-m--info-list .vc-service-illustrations img.vc-m__icon-img { display:block; width:var(--vc-service-visual-size,72px); max-width:34%; height:auto; object-fit:contain; }
.vc-m--info-list .vc-service-illustrations .vc-info__text { flex:1; font-weight:500; }
.vc-m--info-list .vc-service-illustrations .vc-info__text a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; text-underline-offset:4px; }
.vc-m--info-list .vc-service-illustrations .vc-info__text a:hover { text-decoration:underline; }
.vc-m--info-list .vc-service-illustrations .vc-info__text a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }

@media (min-width: 768px) {
  .vc-m--hero-h1 .vc-home-hero--d-left { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
  .vc-m--hero-h1 :is(.vc-home-hero--d-left, .vc-home-hero--d-top) .vc-home-hero__media { order: -1; }
  .vc-m--hero-h1 :is(.vc-home-hero--d-top, .vc-home-hero--d-bottom) { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .vc-m--hero-h1 .vc-home-hero { --vc-home-title-size: 48px; gap: 32px; }
}

@media (max-width: 767px) {
  .vc-m--hero-h1 .vc-home-hero {
    --vc-home-gutter: var(--pc-pageGutter, 24px);
    --vc-home-title-size: 36px;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .vc-m--hero-h1 :is(.vc-home-hero--m-left, .vc-home-hero--m-right) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
  .vc-m--hero-h1 :is(.vc-home-hero--m-left, .vc-home-hero--m-top) .vc-home-hero__media { order: -1; }
  .vc-m--hero-h1 .vc-home-hero__copy--colored { padding: 24px; }
  .vc-m--hero-h1 .vc-home-hero__description { margin-top: 16px; font-size: var(--pc-bodySize, 16px); }
  .vc-m--hero-h1 .vc-home-hero__button-effect { width: 100%; margin-top: 24px; }
  .vc-m--hero-h1 .vc-home-hero__button { width: 100%; }
  .vc-m--info-list .vc-info:not(.vc-info-bar):not(.vc-swipe-m) {
    --vc-home-service-gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, calc((100% - var(--vc-home-service-gap)) / 2)), 1fr));
    row-gap: 16px;
  }
  .vc-m--info-list .vc-service-illustrations .vc-info:not(.vc-info-bar):not(.vc-swipe-m) { --vc-home-service-gap:12px; row-gap:20px; }
  .vc-m--info-list .vc-service-illustrations .vc-info:not(.vc-info-bar):not(.vc-swipe-m) > .vc-info__item { gap:10px; min-height:64px; font-size:14px; line-height:1.45; }
  .vc-m--info-list .vc-service-illustrations img.vc-m__icon-img { width:var(--vc-service-visual-size-mobile,64px); }
}

@media (max-width: 359px) {
  .vc-m--hero-h1 .vc-home-hero { --vc-home-gutter: var(--pc-pageGutter, 16px); }
}

.vc-m--hero-h1 .vc-home-hero.vc-home-hero--single { grid-template-columns: minmax(0, 1fr); }

/* Opt-in homepage composition; existing saved heroes keep their presentation. */
.vc-m--hero-h1 .vc-home-hero--focused { --vc-home-title-size:48px; gap:48px; }
.vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__title { max-width:15ch; font-weight:650; letter-spacing:-.035em; }
.vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__description { max-width:42ch; font-size:18px; }
.vc-m--hero-h1 .vc-home-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:24px; }
.vc-m--hero-h1 .vc-home-hero__actions .vc-home-hero__button-effect { margin-top:0; }
.vc-m--hero-h1 .vc-home-hero__secondary { display:inline-flex; align-items:center; min-height:48px; color:var(--vc-home-title-color,var(--pc-heading,#203b45)); font-size:16px; font-weight:600; text-underline-offset:5px; }
.vc-m--hero-h1 .vc-home-hero__secondary:hover { text-decoration:underline; }
.vc-m--hero-h1 .vc-home-hero__secondary:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.vc-m--hero-h1 .vc-home-hero__media figcaption { margin-top:8px; font-size:12px; line-height:1.5; color:var(--pc-muted,#415d68); text-align:right; }
.vc-content-collection--compact .product-heading { margin-top:16px; }
.vc-content-collection--compact .vc-card-specification { margin:8px 0 0; color:var(--pc-muted,#415d68); font-size:14px; line-height:1.5; }
.vc-content-collection--compact .product-card-bottom { margin-top:0; padding-top:4px; }
.vc-content-collection--compact .product-card-bottom a { font-weight:600; }

/* Editable process cards; original card-list presentations remain untouched. */
.vc-m--card-list .vc-process-cards { font-family:'Geist',sans-serif; }
.vc-m--card-list .vc-process-cards .vc-m__head { margin-bottom:40px; text-align:center; }
.vc-m--card-list .vc-process-cards .vc-m__title { margin:0; font-family:inherit; font-size:48px; line-height:1; font-weight:600; letter-spacing:-.03em; text-wrap:balance; }
.vc-m--card-list .vc-process-cards .vc-card { display:flex; flex-direction:column; border-radius:16px; background:var(--pc-secondaryBackground,#f1f7f9); }
.vc-m--card-list .vc-process-cards .vc-ph { display:none; }
.vc-m--card-list .vc-process-cards .vc-card__body { display:flex; flex:1; flex-direction:column; justify-content:center; padding:40px 32px; overflow-wrap:break-word; }
.vc-m--card-list .vc-process-cards .vc-card__title { margin:0 0 24px; font-family:inherit; font-size:30px; line-height:36px; font-weight:600; letter-spacing:-.025em; color:var(--pc-heading,#203b45); text-wrap:balance; }
.vc-m--card-list .vc-process-cards .vc-card__text { margin:0; font-size:16px; line-height:24px; font-weight:400; opacity:1; color:var(--pc-text,#415d68); text-wrap:pretty; }
@media(max-width:767px) {
  .vc-m--card-list .vc-process-cards .vc-m__head { margin-bottom:24px; }
  .vc-m--card-list .vc-process-cards .vc-m__title { font-size:36px; line-height:40px; }
  .vc-m--card-list .vc-process-cards .vc-card__body { padding:32px 24px; }
  .vc-m--card-list .vc-process-cards .vc-card__title { margin-bottom:16px; font-size:24px; line-height:32px; }
}

/* Opt-in editorial metrics: transparent surface, restrained type, shared content. */
.vc-m--counter .vc-counter-cards { font-family: 'Geist', sans-serif; background:transparent; }
.vc-m--counter .vc-counter-cards--intro > .vc-m__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:24px; align-items:stretch; }
.vc-m--counter .vc-counter-cards .vc-m__head,
.vc-m--counter .vc-counter-cards .vc-counter__item { margin:0; padding:32px 24px; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--pc-heading,#203b45); text-align:center; }
.vc-m--counter .vc-counter-cards .vc-m__head { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:16px; padding-inline-start:0; text-align:left; }
.vc-m--counter .vc-counter-cards .vc-m__title { margin:0; max-width:16ch; font-family:inherit; font-size:36px; line-height:40px; letter-spacing:-.03em; font-weight:600; text-wrap:balance; }
.vc-m--counter .vc-counter-cards .vc-m__desc { margin:0; max-width:32ch; color:var(--pc-text,#415d68); font-size:14px; line-height:20px; font-weight:400; text-wrap:pretty; }
.vc-m--counter .vc-counter-cards .vc-m__desc p { margin:0; font-size:inherit; line-height:inherit; }
.vc-m--counter .vc-counter-cards .vc-m__desc p + p { margin-top:12px; }
.vc-m--counter .vc-counter-cards .vc-m__desc small { font-size:12px; line-height:16px; }
.vc-m--counter .vc-counter-cards .vc-counter { gap:24px; grid-template-columns:repeat(var(--vc-cols,2),minmax(0,1fr)); align-items:stretch; overflow:visible; }
.vc-m--counter .vc-counter-cards .vc-counter__item { container-type:inline-size; flex-direction:column; flex-wrap:nowrap; justify-content:center; min-height:224px; gap:16px; }
.vc-m--counter .vc-counter-cards .vc-counter__item::before { display:none; }
.vc-m--counter .vc-counter-cards--intro .vc-counter__item::before,
.vc-m--counter .vc-counter-cards .vc-counter__item:not(.vc-counter__item--row-start)::before { display:block; content:''; position:absolute; inset-block:32px; inset-inline-start:-12px; width:1px; background:var(--vc-line,#D8E5EA); opacity:1; }
.vc-m--counter .vc-counter-cards .vc-counter__copy { width:100%; }
.vc-m--counter .vc-counter-cards .vc-counter__num { font-family:inherit; font-size:var(--vc-num,88px); font-weight:700; font-variant-numeric:lining-nums tabular-nums; line-height:1.1; letter-spacing:-.03em; color:var(--pc-heading,#203b45); }
.vc-m--counter .vc-counter-cards .vc-counter__unit { display:inline-block; margin-inline-start:0; font-size:1em; font-weight:inherit; letter-spacing:inherit; }
@supports (font-size:1cqw) {
  .vc-m--counter .vc-counter-cards .vc-counter__num { font-size:min(var(--vc-num,88px),26cqw); }
}
.vc-m--counter .vc-counter-cards .vc-counter__label { margin-top:24px; color:var(--pc-text,#415d68); font-size:12px; line-height:20px; font-weight:400; letter-spacing:.08em; text-wrap:balance; }
@media(max-width:767px) {
  .vc-m--counter .vc-counter-cards--intro > .vc-m__inner { grid-template-columns:minmax(0,1fr); gap:24px; }
  .vc-m--counter .vc-counter-cards .vc-m__head { padding:0; gap:12px; }
  .vc-m--counter .vc-counter-cards .vc-m__title { max-width:none; font-size:30px; line-height:36px; }
  .vc-m--counter .vc-counter-cards .vc-counter { grid-template-columns:repeat(var(--vc-cols-m,2),minmax(0,1fr)); gap:0; }
  .vc-m--counter .vc-counter-cards .vc-counter__item { min-height:156px; padding:24px 12px; }
  .vc-m--counter .vc-counter-cards .vc-counter__item::before { inset-inline-start:0; inset-block:24px; }
  .vc-m--counter .vc-counter-cards .vc-counter__item:first-child::before { display:none; }
  .vc-m--counter .vc-counter-cards .vc-counter__label { margin-top:16px; font-size:12px; line-height:16px; letter-spacing:.04em; }
  .vc-m--hero-h1 .vc-home-hero--focused { --vc-home-title-size:36px; gap:24px; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__copy { text-align:center; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__title,
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__description { margin-inline:auto; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__description { font-size:16px; line-height:1.6; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__actions { justify-content:center; gap:8px 20px; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__actions .vc-home-hero__button-effect { width:auto; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__actions .vc-home-hero__button { width:auto; padding-inline:20px; }
  .vc-m--hero-h1 .vc-home-hero--focused .vc-home-hero__media figcaption { text-align:center; }
  .vc-content-collection--compact .vc-card-specification { font-size:12px; }
}
