/* Shared audit fixes for the compiled website export. */
.kelvo-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
  padding: 10px 14px;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font: 700 0.9rem/1.2 Arial, sans-serif;
  transform: translateY(-160%);
  transition: transform 150ms ease;
}

.kelvo-skip-link:focus { transform: translateY(0); }

:where(a, button, [role="button"], input, select, textarea):focus-visible {
  outline: 3px solid #8b5cf6;
  outline-offset: 3px;
}

.footer-col-title,
.footer-contact-label,
.footer-copyright,
.footer-legal a {
  color: #a1a7b0 !important;
}

.kelvo-empty-placeholder {
  display: none !important;
  min-height: 0 !important;
}

/* Keep the numbered growth-framework labels legible on their navy cards. */
.Approach_step__HEa5K {
  color: #c4b5fd !important;
}

@media (min-width: 769px) {
  .Header_header__KwdYD.scrolled {
    background: rgba(9, 14, 23, 0.78) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }
}

.kelvo-desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.9rem, 1.6vw, 1.75rem);
  margin-left: auto;
  margin-right: 1.5rem;
  pointer-events: auto;
}

.kelvo-desktop-nav-item { position: relative; display: inline-flex; align-items: center; }
.kelvo-desktop-nav-item.has-submenu > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.kelvo-desktop-submenu { position: absolute; top: calc(100% + 14px); left: 50%; display: grid; width: max-content; min-width: 245px; padding: 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(10,14,23,.98); box-shadow: 0 20px 50px rgba(0,0,0,.35); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease; pointer-events: none; }
.kelvo-desktop-submenu::before { content: ""; position: absolute; top: -16px; left: 0; width: 100%; height: 18px; }
.kelvo-desktop-submenu a { padding: 10px 12px; border-radius: 9px; color: #f8fafc !important; font-family: var(--montreal), Arial, sans-serif; font-size: .88rem; font-weight: 600; }
.kelvo-desktop-submenu a:hover, .kelvo-desktop-submenu a:focus-visible { background: rgba(139,92,246,.18); color: #fff !important; }
.kelvo-desktop-nav-item:hover .kelvo-desktop-submenu, .kelvo-desktop-nav-item:focus-within .kelvo-desktop-submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); pointer-events: auto; }

.kelvo-desktop-nav a {
  color: #fff;
  font-family: var(--syne), Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.kelvo-desktop-nav a:hover,
.kelvo-desktop-nav a:focus-visible {
  color: #c4b5fd;
}

@media (min-width: 1101px) {
  .PrimaryNavigation_icon__qAQCe { display: none !important; }
}

.kelvo-slider-control {
  display: inline-grid !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  place-items: center !important;
  border: 1px solid currentColor !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #111 !important;
  cursor: pointer !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.kelvo-slider-control svg {
  position: static !important;
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  color: inherit !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  transform: none !important;
}

.kelvo-slider-control::before,
.kelvo-slider-control:hover::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 1100px) {
  .kelvo-desktop-nav { display: none; }

  .PrimaryNavigation_page__DgiUM.kelvo-navigation-open .PrimaryNavigation_line__eUBQ0:first-child {
    transform: translateY(0) rotate(45deg) !important;
  }

  .PrimaryNavigation_page__DgiUM.kelvo-navigation-open .PrimaryNavigation_line__eUBQ0:last-child {
    transform: translateY(0) rotate(-45deg) !important;
  }
}

@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .Header_header__KwdYD {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem 4.75rem 1rem 1rem !important;
    box-sizing: border-box !important;
  }

  .Header_header__KwdYD .Header_button__yG4_K { display: none !important; }

  .hero_container,
  .hero_text_align_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .hero_heading_el,
  .hero_para_el {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  .hero_text_align_wrapper > div,
  .hero_text_align_wrapper > div > div { min-width: 0 !important; }

  .FloatingStartButton_linkContainer__eZz7z {
    right: max(0.75rem, env(safe-area-inset-right)) !important;
    bottom: max(0.75rem, env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 1.5rem) !important;
  }

  .FloatingStartButton_button__Ncnrf {
    min-height: 48px !important;
    max-width: 100% !important;
  }

  body { padding-bottom: max(5.5rem, calc(4.75rem + env(safe-area-inset-bottom))); }
}

@media (max-width: 420px) {
  .kelvo-slider-control {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  .FloatingStartButton_text__70x9M { font-size: 0.82rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .kelvo-slider-control,
  .FloatingStartButton_linkContainer__eZz7z { transition: none !important; }
}
