/* Homepage-only brand layer. Banner geometry and all page content stay intact. */
html body.vc-reference-home {
  --vc-blue: #007bb8; --vc-blue-dark: #00669e; --vc-dark: #082c3b;
  --vc-text: #243f4b; --vc-muted: #647b87; --vc-green: #69983b;
  --vc-pistachio: #e3efd0; --vc-bg: #f4f9fb; --vc-white: #ffffff;
  --vc-border: #dce8ed; --vc-soft: #edf7fb;
  --blue: #007bb8; --blue-2: #009fe3; --dark: #082c3b;
  --muted: #647b87; --green: #69983b; --line: #dce8ed;
  --soft: #edf7fb; --white: #ffffff;
  color: #243f4b; background: #f4f9fb;
}
body.vc-reference-home::before {
  background: radial-gradient(circle at 0 25%,rgba(0,159,227,.05),transparent 36rem),
    radial-gradient(circle at 100% 65%,rgba(155,195,101,.12),transparent 34rem),#f4f9fb;
}
html body.vc-reference-home main > .vc-section,
html body.vc-reference-home main > .services { padding: clamp(56px,6vw,84px) 0; background: transparent; }
html body.vc-reference-home main > .vc-section:nth-of-type(even),
html body.vc-reference-home main > .services { background: rgba(255,255,255,.84); }
html body.vc-reference-home main > .vc-quiz-section {
  background: linear-gradient(120deg,#edf7fb,#f4f9ee);
  border-block: 1px solid #e1eced;
}
html body.vc-reference-home main > .vc-section .vc-container,
html body.vc-reference-home .services .container,
html body.vc-reference-home .vc-footer .vc-container { width: min(100% - 48px,1100px); }
html body.vc-reference-home main > .vc-section h2,
html body.vc-reference-home .services h2 {
  color: #082c3b; font-size: clamp(28px,3vw,42px); line-height: 1.13;
  font-weight: 750; letter-spacing: -.035em; max-width: 920px;
}
html body.vc-reference-home main > .vc-section h3,
html body.vc-reference-home .service-card h3 { color: #133746; font-weight: 700; letter-spacing: -.02em; }
html body.vc-reference-home .vc-lead,
html body.vc-reference-home .section-head > p:not(.eyebrow),
html body.vc-reference-home .vc-about__text { color: #647b87; font-size: 16px; font-weight: 400; line-height: 1.65; }
html body.vc-reference-home .vc-section > .vc-container > .vc-lead { max-width: 760px; margin-bottom: 30px; }
html body.vc-reference-home .section-head { text-align: left; }
html body.vc-reference-home .section-head h2,
html body.vc-reference-home .section-head > p { margin-left: 0; margin-right: 0; }
html body.vc-reference-home .section-head .eyebrow { display: inline-flex; width: auto; padding: 7px 12px; border-radius: 999px; font-size: 11px; line-height: 16px; letter-spacing: .06em; }
html body.vc-reference-home .eyebrow,
html body.vc-reference-home .vc-kicker,
html body.vc-reference-home .vc-hero__badge { color: #426f2e; background: #eaf3dc; border-color: #d9e9c4; }
html body.vc-reference-home .vc-card,
html body.vc-reference-home .service-card,
html body.vc-reference-home .vc-about__panel {
  border: 1px solid #dce8ed; border-radius: 22px; background: #fff;
  box-shadow: 0 10px 32px rgba(29,75,94,.055);
}
html body.vc-reference-home .vc-card:hover,
html body.vc-reference-home .service-card:hover { border-color: #a9d7ea; box-shadow: 0 16px 38px rgba(29,75,94,.09); }
html body.vc-reference-home .service-grid,
html body.vc-reference-home .vc-grid-2,
html body.vc-reference-home .vc-grid-3,
html body.vc-reference-home .vc-grid-4 { gap: 22px; }
html body.vc-reference-home .service-card__image { min-height: 0; height: 210px; aspect-ratio: 16/10; filter: none; }
html body.vc-reference-home .service-card { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; }
html body.vc-reference-home .service-card__body { padding: 24px; }
html body.vc-reference-home .service-card__top { min-height: 56px; align-items: center; }
html body.vc-reference-home .service-card h3 { font-size: 21px; line-height: 1.2; }
html body.vc-reference-home .service-card__body > p { color: #647b87; font-size: 14px; line-height: 1.6; font-weight: 400; }
html body.vc-reference-home .service-card__icon { color: #008bd3; }
html body.vc-reference-home .price { color: #426d30; background: #edf5e3; border-color: #dceacb; font-weight: 650; }
html body.vc-reference-home .price { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 8px 12px; border-radius: 10px; }
html body.vc-reference-home .price span { color: #426d30; font-size: 12px; }
html body.vc-reference-home .services .btn,
html body.vc-reference-home main > .vc-section .vc-btn--primary {
  color: #fff; border-color: #007bb8; background: linear-gradient(135deg,#007bb8,#00669e);
  box-shadow: 0 8px 20px rgba(0,123,184,.15); font-weight: 650;
}
html body.vc-reference-home .services .btn:hover,
html body.vc-reference-home main > .vc-section .vc-btn--primary:hover { background: #00669e; border-color: #00669e; }
html body.vc-reference-home main > .vc-section .vc-btn--secondary {
  color: #365f29; background: #edf5e3; border-color: #d6e6c3; font-weight: 650; box-shadow: none;
}
html body.vc-reference-home main > .vc-section .vc-btn--secondary:hover { color: #294e1c; background: #e1edcf; border-color: #a4c478; }
html body.vc-reference-home .services .btn::before,
html body.vc-reference-home main > .vc-section .vc-btn::before { background-color: transparent; }
html body.vc-reference-home .note,
html body.vc-reference-home .vc-note {
  color: #426038; background: #eef5e7; border: 1px solid #dce8cd; border-radius: 20px;
  box-shadow: none;
}
html body.vc-reference-home .note__icon { color: #007bb8; background: #fff; }
html body.vc-reference-home .vc-about__media,
html body.vc-reference-home .vc-contacts__media { overflow: hidden; border-radius: 24px; }
html body.vc-reference-home .vc-about__layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); grid-template-areas: 'media content' 'side side'; gap: 30px; }
html body.vc-reference-home .vc-about__media { grid-area: media; align-self: stretch; }
html body.vc-reference-home .vc-about__content { grid-area: content; min-width: 0; }
html body.vc-reference-home .vc-about__content h2 { font-size: 32px; line-height: 1.16; }
html body.vc-reference-home .vc-about__side { grid-area: side; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
html body.vc-reference-home .vc-about__media img { height: 100%; min-height: 320px; aspect-ratio: 4/3; object-fit: cover; }
html body.vc-reference-home .vc-about__media img,
html body.vc-reference-home .vc-contacts__media img { filter: none; background: #edf7fb; }
html body.vc-reference-home .vc-about__panel { padding: 22px; }
html body.vc-reference-home .vc-about__panel h3 { color: #007bb8; }
html body.vc-reference-home .vc-about__panel li { color: #647b87; font-weight: 400; }
html body.vc-reference-home .vc-about__logos span { color: #426d30; background: #eef5e7; border-color: #dce8cd; }
html body.vc-reference-home .vc-about__strip { border-color: #dce8ed; border-radius: 20px; background: #edf7fb; }
html body.vc-reference-home .vc-about__strip strong { color: #007bb8; }
html body.vc-reference-home .vc-about__strip span { color: #647b87; }
html body.vc-reference-home .vc-benefit { position: relative; padding: 26px; border-top: 3px solid #c7dfa4; }
html body.vc-reference-home .vc-benefit:nth-child(2n) { border-top-color: #8ad0ee; }
html body.vc-reference-home .vc-benefit p { color: #647b87; font-size: 14px; line-height: 1.65; }
html body.vc-reference-home .vc-promo { display: flex; flex-direction: column; }
html body.vc-reference-home .vc-promo h3 { font-size: 21px; line-height: 1.25; }
html body.vc-reference-home .vc-promo p,
html body.vc-reference-home .vc-equipment p,
html body.vc-reference-home .vc-step p,
html body.vc-reference-home .vc-review p { color: #647b87; font-weight: 400; line-height: 1.6; }
html body.vc-reference-home .vc-promo.is-selected { border-color: #94bb68; box-shadow: 0 0 0 3px rgba(148,187,104,.15); }
html body.vc-reference-home .vc-client { display: grid; place-items: center; min-height: 104px; padding: 16px; }
html body.vc-reference-home .vc-client img { width: 100%; max-width: 180px; height: 66px; object-fit: contain; filter: none; }
html body.vc-reference-home .vc-equipment h3 { font-size: 18px; line-height: 1.3; }
html body.vc-reference-home .vc-equipment > img { background: #f5f9fb; }
html body.vc-reference-home .vc-interactive-filters button,
html body.vc-reference-home .vc-review-filters button { color: #315565; background: #fff; border-color: #d7e7ee; font-weight: 600; }
html body.vc-reference-home .vc-interactive-filters button:hover,
html body.vc-reference-home .vc-interactive-filters button.is-active,
html body.vc-reference-home .vc-review-filters button:hover,
html body.vc-reference-home .vc-review-filters button.is-active { color: #fff; border-color: #007bb8; background: #007bb8; }
html body.vc-reference-home .vc-quiz__main { background: #fff; border-color: #dce8ed; border-radius: 24px; box-shadow: 0 12px 36px rgba(29,75,94,.06); }
html body.vc-reference-home .vc-quiz__summary { background: linear-gradient(145deg,#0b4056,#086a91); border-color: #0b526d; border-radius: 24px; box-shadow: 0 12px 36px rgba(29,75,94,.12); color: #fff; }
html body.vc-reference-home .vc-quiz__summary h3 { color: #fff !important; }
html body.vc-reference-home .vc-quiz__summary > span { color: #dceec6; }
html body.vc-reference-home .vc-quiz__summary dt,
html body.vc-reference-home .vc-quiz__summary p { color: #d3e8f0; }
html body.vc-reference-home .vc-quiz__progress { background: #e5eff2; }
html body.vc-reference-home .vc-quiz__progress span { background: linear-gradient(90deg,#9bc365,#008bd3); }
html body.vc-reference-home .vc-quiz__step-label { color: #007bb8; }
html body.vc-reference-home .vc-choice,
html body.vc-reference-home .vc-range { color: #315565; border-color: #dce8ed; background: #f7fafc; }
html body.vc-reference-home .vc-choice:hover,
html body.vc-reference-home .vc-choice.is-active { border-color: #a2c77a; background: #edf5e3; box-shadow: inset 0 0 0 1px #a2c77a; }
html body.vc-reference-home .vc-range strong { color: #007bb8; }
html body.vc-reference-home .vc-range > span { color: #315565; }
html body.vc-reference-home .vc-range input,
html body.vc-reference-home .vc-choice input { accent-color: #007bb8; }
html body.vc-reference-home .vc-step__number { color: #007bb8; background: #edf7fb; }
html body.vc-reference-home .vc-step__toggle { color: #007bb8; }
html body.vc-reference-home .vc-step__toggle b { color: #426d30; background: #e8f2db; }
html body.vc-reference-home .vc-review__stars { color: #69983b; }
html body.vc-reference-home .vc-review__meta,
html body.vc-reference-home .vc-review__date { color: #647b87; }
html body.vc-reference-home .vc-faq button { color: #133746; font-weight: 650; }
html body.vc-reference-home .vc-faq button::after { color: #007bb8; background: #edf7fb; }
html body.vc-reference-home .vc-faq.is-open { border-color: #bddaa0; background: #f8fbf3; }
html body.vc-reference-home .vc-faq__answer p { color: #647b87; font-weight: 400; }
html body.vc-reference-home .vc-contact-card > span { color: #647b87; }
html body.vc-reference-home .vc-contact-card > a { color: #007bb8; }
html body.vc-reference-home .vc-contacts .vc-contact-card:has(> .vc-form) { background: rgba(255,255,255,.76); border-color: #d8e9ef; box-shadow: 0 16px 44px rgba(29,75,94,.08); backdrop-filter: blur(16px); }
html body.vc-reference-home .vc-contacts .vc-form label { color: #315565; font-weight: 500; }
html body.vc-reference-home .vc-contacts .vc-form .vc-form__check { display: flex; align-items: flex-start; gap: 10px; min-height: 0; font-size: 12px; line-height: 18px; font-weight: 400; }
html body.vc-reference-home .vc-contacts .vc-form__check input { width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 1px 0 0; padding: 0; accent-color: #007bb8; }
html body.vc-reference-home .vc-contacts .vc-form__check span { font-weight: 400; }
html body.vc-reference-home .vc-contacts .vc-form input:not([type=checkbox]),
html body.vc-reference-home .vc-contacts .vc-form textarea { color: #243f4b; background: #f8fbfc; border-color: #d5e6ed; }
html body.vc-reference-home .vc-form input:focus,
html body.vc-reference-home .vc-form textarea:focus { border-color: #008bd3; outline-color: rgba(0,139,211,.15); }
html body.vc-reference-home .vc-form__selection { color: #426d30; background: #edf5e3; }
html body.vc-reference-home .vc-footer { color: #d5e6ed; background: #082c3b; }
html body.vc-reference-home .vc-footer h3 { color: #fff; font-weight: 650; }
html body.vc-reference-home .vc-footer a { color: #d5e6ed; }
html body.vc-reference-home .vc-footer a:hover { color: #c7dfa4; }
html body.vc-reference-home .vc-footer__brand-logo { background: #fff; border-radius: 12px; padding: 10px; }
html body.vc-reference-home .vc-mobilebar { background: rgba(255,255,255,.94); border-color: #dce8ed; box-shadow: 0 -8px 28px rgba(29,75,94,.1); }
html body.vc-reference-home .vc-mobilebar a { color: #365f29; background: #e3efd0; }
html body.vc-reference-home .vc-mobilebar a:first-child { color: #fff; background: #007bb8; }
html body.vc-reference-home :is(.vc-btn,.btn,.vc-choice,.vc-interactive-filters button,.vc-review-filters button):focus-visible { outline: 3px solid #008bd3; outline-offset: 3px; }
@media (max-width: 992px) {
  html body.vc-reference-home main > .vc-section .vc-container,
  html body.vc-reference-home .services .container,
  html body.vc-reference-home .vc-footer .vc-container { width: calc(100% - 32px); }
}
@media (max-width: 820px) {
  html body.vc-reference-home .vc-about__layout { grid-template-columns: 1fr; grid-template-areas: 'media' 'content' 'side'; gap: 24px; }
  html body.vc-reference-home .vc-about__side { grid-template-columns: 1fr; }
  html body.vc-reference-home .vc-about__media img { height: auto; min-height: 0; }
}
@media (max-width: 600px) {
  html body.vc-reference-home main > .vc-section,
  html body.vc-reference-home main > .services { padding: 44px 0; }
  html body.vc-reference-home main > .vc-section h2,
  html body.vc-reference-home .services h2 { font-size: 28px; }
  html body.vc-reference-home .vc-card,
  html body.vc-reference-home .service-card { border-radius: 18px; }
  html body.vc-reference-home .service-card__body { padding: 20px; }
  html body.vc-reference-home .service-card__image { height: 190px; }
  html body.vc-reference-home .vc-benefit { padding: 22px; }
  html body.vc-reference-home .vc-about__content h2 { font-size: 28px; }
  html body.vc-reference-home .vc-contacts .vc-form__check { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html body.vc-reference-home .vc-card,
  html body.vc-reference-home .service-card,
  html body.vc-reference-home .vc-btn,
  html body.vc-reference-home .btn { transition: none; }
  html body.vc-reference-home .vc-card:hover,
  html body.vc-reference-home .service-card:hover { transform: none; }
}

/* Two-line headline; keep its wording and the blue city accent. */
@media (min-width: 769px) {
  html body.vc-reference-home .hero h1 { width: 100%; max-width: 100%; font-size: calc(52 * var(--hero-unit)); }
}
@media (max-width: 768px) {
  html body.vc-reference-home .hero h1 { width: 100%; max-width: 100%; font-size: clamp(24px,7vw,36px); }
}

/* Static, compact process cards: image / number + title / one useful sentence. */
html body.vc-reference-home .vc-steps--compact h2 { margin-bottom: 28px; }
html body.vc-reference-home .vc-steps--compact .vc-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
html body.vc-reference-home .vc-steps--compact .vc-step {
  display: grid; grid-template-columns: 32px minmax(0,1fr); grid-template-rows: 120px auto 1fr;
  gap: 10px; height: 272px; min-height: 0; padding: 14px; align-content: start;
}
html body.vc-reference-home .vc-steps--compact .vc-step__number {
  position: static; inset: auto; grid-column: 1; grid-row: 2;
  display: grid; place-items: center; width: 28px; height: 28px; margin: 0; padding: 0;
  border-radius: 50%; color: #007bb8; background: #edf7fb;
  font-size: 14px; line-height: 1; font-weight: 750; transform: none;
}
html body.vc-reference-home .vc-steps--compact .vc-step h3 {
  position: static; grid-column: 2; grid-row: 2; align-self: center;
  display: block; margin: 0; padding: 0; font-size: 18px; line-height: 22px; overflow-wrap: normal; text-align: left;
}
html body.vc-reference-home .vc-steps--compact .vc-step h3::before,
html body.vc-reference-home .vc-steps--compact .vc-step h3::after { content: none; display: none; }
html body.vc-reference-home .vc-steps--compact .vc-step__toggle { display: none; }
html body.vc-reference-home .vc-steps--compact .vc-step__details { display: contents; }
html body.vc-reference-home .vc-steps--compact .vc-step p {
  grid-column: 1/-1; grid-row: 3; margin: 0; padding: 0; font-size: 13px; line-height: 19px;
}
html body.vc-reference-home .vc-steps--compact .vc-step img {
  grid-column: 1/-1; grid-row: 1; display: block; width: 100%; height: 120px; min-height: 0;
  margin: 0; border-radius: 12px; object-fit: cover; object-position: center; aspect-ratio: auto;
}
html body.vc-reference-home .vc-steps--compact .vc-step:nth-child(1) img { object-position: center 35%; }
html body.vc-reference-home .vc-steps--compact .vc-step:nth-child(2) img { object-position: center 20%; }
html body.vc-reference-home .vc-steps--compact .vc-step:nth-child(3) img { object-position: center 80%; }
html body.vc-reference-home .vc-steps--compact .vc-step:nth-child(4) img { object-position: center 78%; }
html body.vc-reference-home .vc-steps--compact .vc-step:nth-child(5) img { object-position: center 82%; }
html body.vc-reference-home .vc-steps--compact .vc-step:nth-child(6) img { object-position: center 25%; }
@media (max-width: 992px) {
  html body.vc-reference-home .vc-steps--compact .vc-grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  html body.vc-reference-home .vc-steps--compact .vc-grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  html body.vc-reference-home .vc-steps--compact .vc-step { grid-template-columns: 22px minmax(0,1fr); grid-template-rows: 82px auto 1fr; height: 252px; padding: 10px; gap: 8px; }
  html body.vc-reference-home .vc-steps--compact .vc-step img { height: 82px; border-radius: 9px; }
  html body.vc-reference-home .vc-steps--compact .vc-step__number { width: 22px; height: 22px; font-size: 11px; }
  html body.vc-reference-home .vc-steps--compact .vc-step h3 { font-size: 14px; line-height: 17px; }
  html body.vc-reference-home .vc-steps--compact .vc-step p { font-size: 12px; line-height: 17px; }
}
