/* Editable Elementor pages generated by the Valkanis setup assistant. */
.elementor-page-content .elementor { background: #f7f6f2; }
.elementor-element.vk-el-section,
.elementor-element.vk-el-hero,
.elementor-element.vk-el-subhero { --container-max-width: 100%; }
.elementor-element.vk-el-shell {
  --width: min(1240px, calc(100% - 48px));
  --max-width: 1240px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto;
  gap: 0 !important;
}
.elementor-element.vk-el-shell > .elementor-element { min-width: 0; }
.elementor-element.vk-el-section { padding: 115px 0; }
.elementor-element.vk-el-light { background: #f7f6f2; color: #0b1624; }
.elementor-element.vk-el-cream { background: #f4f1ea; color: #0b1624; }
.elementor-element.vk-el-dark { background: #0b1624; color: #fff; }
.elementor-element.vk-el-copper { background: #d71920; color: #fff; }
.elementor-element.vk-el-hero,
.elementor-element.vk-el-subhero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background-color: #0b1624;
  background-blend-mode: normal;
}
.elementor-element.vk-el-hero { min-height: 760px; justify-content: center; padding: 190px 0 110px; }
.elementor-element.vk-el-subhero { min-height: 620px; justify-content: flex-end; padding: 220px 0 90px; }
.elementor-element.vk-el-hero:before,
.elementor-element.vk-el-subhero:before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(4,10,17,.82), rgba(4,10,17,.38) 48%, rgba(4,10,17,.08));
}
.elementor-element.vk-el-hero > .e-con-inner,
.elementor-element.vk-el-subhero > .e-con-inner,
.elementor-element.vk-el-hero > .elementor-element,
.elementor-element.vk-el-subhero > .elementor-element { position: relative; z-index: 1; }
.elementor-element.vk-hero-inner { justify-content: center; align-items: flex-start; }
.elementor-element.vk-two-cols {
  --display: grid;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  --gap: 80px;
  --row-gap: 80px;
  --column-gap: 80px;
  gap: 80px !important;
  align-items: center;
}
.elementor-element.vk-grid {
  --display: grid;
  display: grid !important;
  --gap: 20px;
  --row-gap: 20px;
  --column-gap: 20px;
  gap: 20px !important;
  margin-top: 45px;
}
.elementor-element.vk-two-cols > .elementor-element,
.elementor-element.vk-grid > .elementor-element {
  --width: 100%;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
}
.elementor-element.vk-col,
.elementor-element.vk-card,
.elementor-element.vk-image-card,
.elementor-element.vk-faq-item {
  --gap: 18px;
  --row-gap: 18px;
  --column-gap: 18px;
  gap: 18px !important;
}
.elementor-element.vk-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.elementor-element.vk-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.elementor-element.vk-card { padding: 30px; background: #fff; border: 1px solid rgba(11,22,36,.12); min-height: 260px; align-items: flex-start; }
.vk-el-dark .elementor-element.vk-card { background: #142335; border-color: rgba(255,255,255,.12); }
.elementor-element.vk-image-card { overflow: hidden; padding: 0 0 28px; background: #142335; color: #fff; align-items: stretch; }
.elementor-element.vk-image-card > .elementor-widget:not(.elementor-widget-image) { margin-inline: 28px; }
.elementor-element.vk-image-card .elementor-widget-image { overflow: hidden; }
.elementor-element.vk-image-card .elementor-widget-image img {
  display: block;
  width: 100%;
  height: clamp(210px, 20vw, 280px);
  max-height: 280px;
  object-fit: cover;
}
.elementor-element.vk-feature-image .elementor-widget-container { overflow: hidden; }
.elementor-element.vk-feature-image img {
  display: block;
  width: 100%;
  height: clamp(360px, 38vw, 500px);
  max-height: 500px;
  object-fit: cover;
}
.elementor-element.vk-el-section h1,
.elementor-element.vk-el-section h2,
.elementor-element.vk-el-hero h1,
.elementor-element.vk-el-subhero h1 { margin: 0; font: 500 clamp(42px, 5vw, 72px)/1.04 "Aptos Display", "Segoe UI", Arial, sans-serif; letter-spacing: -.05em; color: inherit; }
.elementor-element.vk-el-hero h1 { font-size: clamp(52px, 6vw, 88px); max-width: 840px; }
.elementor-element.vk-el-shell > .elementor-widget-heading { width: 100%; }
.elementor-element.vk-el-shell > .elementor-widget-heading .elementor-heading-title { max-width: 920px; }
.elementor-element.vk-two-cols > .elementor-element .elementor-heading-title { max-width: 620px; }
.elementor-element.vk-el-shell > .elementor-widget:not(:last-child) { margin-bottom: 20px; }
.elementor-element.vk-el-shell > .vk-eyebrow-widget { margin-bottom: 14px !important; }
.elementor-element.vk-el-shell > .elementor-widget-heading { margin-bottom: 24px !important; }
.elementor-element.vk-hero-inner > .vk-lead { margin-bottom: 32px !important; }
.elementor-element.vk-el-section h2 span,
.elementor-element.vk-el-hero h1 span,
.elementor-element.vk-el-subhero h1 span { color: #d71920; }
.elementor-element.vk-el-copper h2 span { color: #fff; }
.elementor-element.vk-card h3,
.elementor-element.vk-image-card h3,
.elementor-element.vk-faq-item h3 { margin: 0; color: inherit; font-size: 22px; line-height: 1.25; }
.elementor-element.vk-el-dark p,
.elementor-element.vk-el-hero p,
.elementor-element.vk-el-subhero p { color: #c8d0d8; }
.elementor-element.vk-el-copper p { color: #fff; }
.elementor-element.vk-lead { max-width: 680px; font-size: 19px; }
.elementor-element .vk-big { font-size: 21px; line-height: 1.55; color: #263442; }
.vk-el-dark .vk-big { color: #fff; }
.vk-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0; color: #69717a; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 700; }
.vk-eyebrow span { display: inline-block; width: 28px; height: 2px; background: #d71920; }
.vk-el-dark .vk-eyebrow,
.vk-el-hero .vk-eyebrow,
.vk-el-subhero .vk-eyebrow { color: #c2ccd6; }
.vk-el-copper .vk-eyebrow { color: #fff; }
.vk-el-copper .vk-eyebrow span { background: #fff; }
.vk-card-number { color: #d71920; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.elementor-element.vk-primary-button .elementor-button { background: #d71920; color: #fff; min-height: 56px; padding: 18px 26px; border-radius: 3px; font-weight: 700; }
.elementor-element.vk-primary-button .elementor-button:hover { background: #ef3d46; color: #fff; }
.elementor-element.vk-dark-button .elementor-button { background: #0b1624; color: #fff; min-height: 56px; padding: 18px 26px; border-radius: 3px; font-weight: 700; }
.elementor-element.vk-text-button .elementor-button { padding: 0 0 4px; background: transparent; color: inherit; border-bottom: 1px solid currentColor; border-radius: 0; }
.elementor-element.vk-faq-item { padding: 26px 0; border-top: 1px solid rgba(255,255,255,.17); }
.elementor-element.vk-el-cta { text-align: left; }
.elementor-element.vk-el-cta .vk-el-shell { align-items: flex-start; }
.elementor-element.vk-legal { min-height: 70vh; padding-top: 140px; }
.elementor-element.vk-legal .vk-el-shell { max-width: 900px; }
.elementor-element.vk-legal-content h2 { margin: 2em 0 .65em; color: #0b1624; font-size: clamp(24px, 3vw, 34px); line-height: 1.2; }
.elementor-element.vk-legal-content p,
.elementor-element.vk-legal-content li { color: #263442; line-height: 1.75; }
.elementor-element.vk-legal-content a { color: #b90f17; text-decoration: underline; text-underline-offset: 3px; }
.elementor-element.vk-form-shortcode .contact-form { width: 100%; }
.elementor-element.vk-team-card {
  padding: 0 30px 32px;
  background: #fff;
  border: 1px solid rgba(11,22,36,.12);
  min-width: 0;
  align-items: stretch;
  overflow: hidden;
}
.elementor-element.vk-team-card > .elementor-widget:not(.vk-team-photo-wrap) { margin-inline: 0; }
.elementor-element.vk-team-photo-wrap { margin: 0 -30px 10px; width: auto; }
.elementor-element.vk-team-photo-wrap .elementor-widget-container { width: 100%; }
.elementor-element .vk-team-photo {
  height: 285px;
  background: linear-gradient(145deg,#dfe2e3,#c9ced1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #69737c;
  text-align: center;
}
.elementor-element .vk-team-photo span { font-size: 22px; font-weight: 700; }
.elementor-element .vk-team-photo small { margin-top: 7px; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.elementor-element.vk-team-card h3 { margin: 0; color: #0b1624; font-size: 24px; }
.elementor-element .vk-team-role { color: #69737c; margin: 0; }
.elementor-element .vk-team-contact { padding-top: 18px; border-top: 1px solid rgba(11,22,36,.12); font-size: 14px; overflow-wrap: anywhere; }
.elementor-element .vk-team-contact strong { display: inline-block; margin-top: 8px; text-transform: uppercase; letter-spacing: .09em; font-size: 10px; color: #6a747d; }
.elementor-element .vk-team-contact a:hover { color: #d71920; }
.elementor-element.vk-faq-category { padding: 52px 0; border-top: 1px solid rgba(11,22,36,.14); gap: 0 !important; }
.elementor-element.vk-faq-category:first-child { padding-top: 0; border-top: 0; }
.elementor-element.vk-faq-category:last-child { padding-bottom: 0; }
.elementor-element.vk-faq-category > .elementor-widget-heading { margin-bottom: 28px !important; }
.elementor-element.vk-faq-category > .elementor-widget-heading h2 { font-size: clamp(30px,3.5vw,48px); }
.elementor-element.vk-faq-page-grid { margin-top: 0; }
.elementor-element.vk-faq-page-item { padding: 28px; background: #fff; border: 1px solid rgba(11,22,36,.1); gap: 14px !important; }
.elementor-element.vk-faq-page-item h3 { margin: 0; font-size: 19px; line-height: 1.35; color: #0b1624; }
.elementor-element.vk-faq-page-item p { margin: 0; color: #68727b; }
.elementor-element.vk-trust-widget { margin-top: 20px; }
.elementor-element .vk-trust-line { color: #fff; font-size: 13px; font-weight: 600; }
.elementor-element.vk-landing-request { scroll-margin-top: 30px; }
.elementor-element.vk-landing-request .contact-form { background: #fff; color: #0b1624; box-shadow: 0 25px 70px rgba(85,0,0,.18); }
.elementor-element.vk-landing-request .contact-form p { color: #68727b; }
.elementor-element.vk-landing-request .contact-form .button { background: #0b1624; border-color: #0b1624; }

@media (max-width: 900px) {
  .elementor-element.vk-el-shell {
    --width: min(720px, calc(100% - 36px));
    width: min(720px, calc(100% - 36px)) !important;
  }
  .elementor-element.vk-el-section { padding: 85px 0; }
  .elementor-element.vk-two-cols {
    --gap: 46px;
    --row-gap: 46px;
    --column-gap: 46px;
    grid-template-columns: 1fr;
    gap: 46px !important;
  }
  .elementor-element.vk-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .elementor-element.vk-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .elementor-element.vk-el-shell {
    --width: calc(100% - 28px);
    width: calc(100% - 28px) !important;
  }
  .elementor-element.vk-el-section { padding: 70px 0; }
  .elementor-element.vk-el-hero { min-height: 700px; padding-top: 165px; }
  .elementor-element.vk-el-subhero { min-height: 580px; padding-top: 170px; }
  .elementor-element.vk-grid-3,
  .elementor-element.vk-grid-4 { grid-template-columns: 1fr; }
  .elementor-element.vk-card { min-height: 0; }
  .elementor-element.vk-image-card .elementor-widget-image img { height: 220px; }
  .elementor-element.vk-feature-image img { height: 320px; max-height: 320px; }
  .elementor-element .vk-team-photo { height: 260px; }
}
