/* =========================================================
   SOULULAB HEADER MENU — GLOBAL IDENTITY / HOVER v16
   2026-09-10
   Single final override loaded after every page stylesheet.

   Contract:
   - typography NEVER changes on card hover/focus;
   - SOULU WEB = thin sky-blue titanium edge;
   - SOULU FLOW NKO = thin fuchsia edge;
   - Laboratory = thin four-colour edge;
   - edge thickness is always 1px; hover only increases intensity/glow;
   - dark pages stay dark/readable on hover;
   - FLOW and WEB word accents are identical on every page.
   ========================================================= */

/* ---------- shared theme tokens ---------- */
html body header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu] {
  --sl-dd-title: rgba(28, 30, 37, .94);
  --sl-dd-text: rgba(65, 70, 80, .63);
  --sl-lab-fill: linear-gradient(145deg, rgba(255,255,255,.94), rgba(243,246,249,.86));
}

/* Dark header themes. Keep all dropdown text/cards readable. */
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu],
html body.soul-page--lab header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu],
html body:has(.soulu-lab-page) header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu] {
  --sl-dd-title: rgba(247,249,252,.94);
  --sl-dd-text: rgba(224,229,236,.68);
  --sl-lab-fill: linear-gradient(145deg, rgba(52,53,59,.98), rgba(20,22,28,.99));
}

/* ---------- typography: fixed in every state ---------- */
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item .soul-header__web-menu-title,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:hover .soul-header__web-menu-title,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:focus-visible .soul-header__web-menu-title,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item.is-active .soul-header__web-menu-title {
  color: var(--sl-dd-title) !important;
  -webkit-text-fill-color: var(--sl-dd-title) !important;
  font-weight: 700 !important;
  letter-spacing: -0.012em !important;
  text-shadow: none !important;
}

html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item .soul-header__web-menu-text,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:hover .soul-header__web-menu-text,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:focus-visible .soul-header__web-menu-text,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item.is-active .soul-header__web-menu-text {
  color: var(--sl-dd-text) !important;
  -webkit-text-fill-color: var(--sl-dd-text) !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}

/* Cards never jump or change geometry. */
html body header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item,
html body header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:hover,
html body header.soul-header[data-site-header] .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:focus-visible {
  box-sizing: border-box !important;
  border-radius: 18px !important;
  transform: none !important;
  filter: none !important;
}

/* Remove accumulated legacy pseudo-overlay/ring layers only from the three branded cards. */
html body header.soul-header[data-site-header] .soul-header__product-item--web::before,
html body header.soul-header[data-site-header] .soul-header__product-item--web::after,
html body header.soul-header[data-site-header] .soul-header__product-item--flow::before,
html body header.soul-header[data-site-header] .soul-header__product-item--flow::after,
html body header.soul-header[data-site-header] .soul-header__about-item--lab::before,
html body header.soul-header[data-site-header] .soul-header__about-item--lab::after {
  content: none !important;
  display: none !important;
}

/* ---------- logo-word accents: global ---------- */
html body header.soul-header[data-site-header] .soul-header__product-item--web .soul-header__product-web-word,
html body header.soul-header[data-site-header] .soul-header__mobile-panel .soul-header__product-web-word {
  display: inline-block !important;
  background: linear-gradient(110deg,
    #426f88 0%,
    #79c6e8 14%,
    #eefbff 28%,
    #8ed9f5 40%,
    #4f98ba 52%,
    #d8f5ff 66%,
    #65b8dd 80%,
    #9edff6 100%) !important;
  background-size: 180% 100% !important;
  background-position: 46% 50% !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: inherit !important;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.28)) drop-shadow(0 0 4px rgba(96,193,232,.10)) !important;
}

html body header.soul-header[data-site-header] .soul-header__product-item--flow .soul-header__flow-word,
html body header.soul-header[data-site-header] .soul-header__mobile-panel .soul-header__flow-word {
  display: inline-block !important;
  background: linear-gradient(90deg,
    #b914aa 0%, #b914aa 20%,
    #ed7840 40%,
    #63a650 67%,
    #329ce2 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: inherit !important;
}

/* ---------- SOULU WEB: thin sky-blue titanium edge ---------- */
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--web,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--web.is-active {
  border: 1px solid rgba(76,170,214,.56) !important;
}
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--web:hover,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--web:focus-visible {
  border: 1px solid rgba(76,170,214,.86) !important;
  box-shadow: 0 8px 22px rgba(76,170,214,.10), 0 0 13px rgba(76,170,214,.07), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

/* ---------- SOULU FLOW NKO: thin fuchsia edge ---------- */
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--flow,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--flow.is-active {
  border: 1px solid rgba(185,20,170,.60) !important;
}
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--flow:hover,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__product-item--flow:focus-visible {
  border: 1px solid rgba(185,20,170,.90) !important;
  box-shadow: 0 8px 22px rgba(185,20,170,.11), 0 0 13px rgba(185,20,170,.08), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

/* ---------- Laboratory: thin four-colour edge ---------- */
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__about-dropdown[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__about-item--lab,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__about-dropdown[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__about-item--lab.is-active {
  border: 1px solid transparent !important;
  background:
    var(--sl-lab-fill) padding-box,
    linear-gradient(105deg,#b914aa 0%,#ed7840 34%,#63a650 67%,#329ce2 100%) border-box !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__about-dropdown[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__about-item--lab:hover,
html body header.soul-header[data-site-header] .soul-header__nav .soul-header__about-dropdown[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__about-item--lab:focus-visible {
  border: 1px solid transparent !important;
  background:
    var(--sl-lab-fill) padding-box,
    linear-gradient(105deg,#b914aa 0%,#ed7840 34%,#63a650 67%,#329ce2 100%) border-box !important;
  box-shadow: 0 8px 22px rgba(91,68,100,.11), 0 0 13px rgba(185,20,170,.07), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

/* ---------- Partners dark theme: never become a white/unreadable card ---------- */
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:hover,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__nav .soul-header__web[data-header-dropdown]
> .soul-header__web-menu[data-header-dropdown-menu]
> a.soul-header__web-menu-item:focus-visible {
  background: linear-gradient(145deg, rgba(48,48,52,.98), rgba(20,22,28,.99)) !important;
}

/* Re-apply brand edges after the partners generic dark fill. */
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--web,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--web.is-active {
  border: 1px solid rgba(76,170,214,.56) !important;
}
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--web:hover,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--web:focus-visible {
  border: 1px solid rgba(76,170,214,.86) !important;
}
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--flow,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--flow.is-active {
  border: 1px solid rgba(185,20,170,.60) !important;
}
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--flow:hover,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__product-item--flow:focus-visible {
  border: 1px solid rgba(185,20,170,.90) !important;
}
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__about-item--lab,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__about-item--lab:hover,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__about-item--lab:focus-visible,
html body.soul-page--partners header.soul-header[data-site-header] .soul-header__about-item--lab.is-active {
  border: 1px solid transparent !important;
  background:
    var(--sl-lab-fill) padding-box,
    linear-gradient(105deg,#b914aa 0%,#ed7840 34%,#63a650 67%,#329ce2 100%) border-box !important;
}

/* ---------- mobile identity ---------- */
html body header.soul-header[data-site-header] .soul-header__mobile-blog-list .soul-header__mobile-product--web,
html body header.soul-header[data-site-header] .soul-header__mobile-blog-list .soul-header__mobile-product--flow,
html body header.soul-header[data-site-header] .soul-header__mobile-blog-list .soul-header__mobile-about--lab {
  box-sizing: border-box !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}
html body header.soul-header[data-site-header] .soul-header__mobile-blog-list .soul-header__mobile-product--web {
  border: 1px solid rgba(76,170,214,.56) !important;
}
html body header.soul-header[data-site-header] .soul-header__mobile-blog-list .soul-header__mobile-product--flow {
  border: 1px solid rgba(185,20,170,.60) !important;
}
html body header.soul-header[data-site-header] .soul-header__mobile-blog-list .soul-header__mobile-about--lab {
  border: 1px solid transparent !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.82),rgba(241,245,248,.74)) padding-box,
    linear-gradient(105deg,#b914aa 0%,#ed7840 34%,#63a650 67%,#329ce2 100%) border-box !important;
}


/* =========================================================
   MOBILE MENU TYPOGRAPHY / BRAND SPACING v17
   2026-09-10

   - Restore visible spaces in SOULU WEB / SOULU FLOW НКО.
   - Nested utility links use regular weight on mobile.
   - Product brand labels keep their stronger brand weight.
   ========================================================= */
@media (max-width: 900px) {
  /* Explicit optical spaces: iOS Safari must not visually glue
     brand words to gradient inline spans. */
  html body header.soul-header[data-site-header]
  .soul-header__mobile-product--web .soul-header__product-web-word {
    margin-inline-start: .28em !important;
  }

  html body header.soul-header[data-site-header]
  .soul-header__mobile-product--flow .soul-header__flow-word {
    margin-inline-start: .28em !important;
    margin-inline-end: .28em !important;
  }

  /* Ordinary nested links: no bold treatment, including active state. */
  html body header.soul-header[data-site-header]
  .soul-header__mobile-blog-list > a:not(.soul-header__mobile-product--web):not(.soul-header__mobile-product--flow),
  html body header.soul-header[data-site-header]
  .soul-header__mobile-blog-list > a:not(.soul-header__mobile-product--web):not(.soul-header__mobile-product--flow).is-active {
    font-weight: 400 !important;
  }

  /* Keep product names stable and readable. */
  html body header.soul-header[data-site-header]
  .soul-header__mobile-product--web,
  html body header.soul-header[data-site-header]
  .soul-header__mobile-product--flow {
    font-weight: 700 !important;
  }
}
