/* Unified navigation — v56
   Flag picker is intentionally placed immediately after the M.KULCZYK wordmark on every page. */
:root {
  --mk-nav-red: #e31e24;
  --mk-nav-red-dark: #ba171d;
  --mk-nav-ink: #1d1714;
  --mk-nav-paper: #fffaf5;
  --mk-nav-line: rgba(19,16,14,.12);
}
.main-header.mk-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 2100 !important;
  padding: 0 !important;
  transition: background .24s ease, border-color .24s ease, box-shadow .24s ease, color .24s ease !important;
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
}
.main-header.mk-nav.nav-state-top,
.main-header.mk-nav.nav-state-light,
.main-header.mk-nav:not(.nav-state-dark):not(.nav-on-dark) {
  background: rgba(255,250,245,.96) !important;
  border-bottom: 1px solid rgba(19,16,14,.10) !important;
  box-shadow: 0 8px 22px rgba(19,16,14,.07) !important;
}
.main-header.mk-nav.nav-state-dark,
.main-header.mk-nav.nav-on-dark {
  background: rgba(29,23,20,.94) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22) !important;
}
.main-header.mk-nav .header-flex {
  min-height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 24px !important;
}
.main-header.mk-nav.nav-compact .header-flex { min-height: 70px !important; }
.main-header.mk-nav .logo {
  position: relative !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--mk-nav-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 1.22rem !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.main-header.mk-nav .logo::before {
  content: "" !important;
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  margin: 0 10px 0 0 !important;
  background: var(--mk-nav-red) !important;
  transform: rotate(45deg) !important;
  box-shadow: 0 0 0 5px rgba(227,30,36,.11) !important;
}
.main-header.mk-nav .logo::after { display: none !important; content: none !important; }
.main-header.mk-nav nav {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
.main-header.mk-nav .nav-links {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
}
.main-header.mk-nav .nav-links > li {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.main-header.mk-nav .nav-links a:not(.btn-cta) {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 1px !important;
  color: var(--mk-nav-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .69rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.main-header.mk-nav .nav-links a:not(.btn-cta)::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 2px !important;
  background: var(--mk-nav-red) !important;
  transform: scaleX(0) !important;
  transform-origin: right !important;
  transition: transform .22s ease !important;
}
.main-header.mk-nav .nav-links a:not(.btn-cta):hover,
.main-header.mk-nav .nav-links a:not(.btn-cta).is-active { color: var(--mk-nav-red) !important; }
.main-header.mk-nav .nav-links a:not(.btn-cta):hover::after,
.main-header.mk-nav .nav-links a:not(.btn-cta).is-active::after {
  transform: scaleX(1) !important;
  transform-origin: left !important;
}
.main-header.mk-nav .lang-switcher {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid var(--mk-nav-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 5px 12px rgba(19,16,14,.06) !important;
}
.main-header.mk-nav .lang-switcher a {
  display: grid !important;
  width: 25px !important;
  height: 19px !important;
  min-height: 0 !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  opacity: .54 !important;
  transition: opacity .2s ease, transform .2s ease, background .2s ease !important;
}
.main-header.mk-nav .lang-switcher a::after { display: none !important; content: none !important; }
.main-header.mk-nav .lang-switcher a:hover { opacity: 1 !important; transform: translateY(-1px) !important; background: #fff4f4 !important; }
.main-header.mk-nav .lang-switcher a.is-current,
.main-header.mk-nav .lang-switcher a[aria-current="page"] {
  opacity: 1 !important;
  border-color: var(--mk-nav-red) !important;
  background: #fff4f4 !important;
}
.main-header.mk-nav .lang-switcher img {
  display: block !important;
  width: 19px !important;
  height: auto !important;
  border-radius: 2px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.17) !important;
  transform: none !important;
}
/* The CTA label is now centered on the same baseline as every other navigation item. */
.main-header.mk-nav .btn-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: var(--mk-nav-red) !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .07em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 22px rgba(227,30,36,.18) !important;
  transform: none !important;
}
.main-header.mk-nav .btn-cta:hover { background: var(--mk-nav-red-dark) !important; transform: translateY(-1px) !important; }

/* Keep typography consistent while only the background and colors react to the underlying section. */
.main-header.mk-nav.nav-state-dark .logo,
.main-header.mk-nav.nav-on-dark .logo {
  color: #fff7f3 !important;
}
.main-header.mk-nav.nav-state-dark .nav-links a:not(.btn-cta),
.main-header.mk-nav.nav-on-dark .nav-links a:not(.btn-cta) {
  color: rgba(255,247,243,.92) !important;
}
.main-header.mk-nav.nav-state-dark .nav-links a:not(.btn-cta):hover,
.main-header.mk-nav.nav-state-dark .nav-links a:not(.btn-cta).is-active,
.main-header.mk-nav.nav-on-dark .nav-links a:not(.btn-cta):hover,
.main-header.mk-nav.nav-on-dark .nav-links a:not(.btn-cta).is-active {
  color: #ff9b9e !important;
}
.main-header.mk-nav.nav-state-dark .nav-links a:not(.btn-cta)::after,
.main-header.mk-nav.nav-on-dark .nav-links a:not(.btn-cta)::after {
  background: #ff9b9e !important;
}
.main-header.mk-nav.nav-state-dark .lang-switcher,
.main-header.mk-nav.nav-on-dark .lang-switcher {
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.10) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.18) !important;
}
.main-header.mk-nav.nav-state-dark .lang-switcher a:hover,
.main-header.mk-nav.nav-on-dark .lang-switcher a:hover {
  background: rgba(255,255,255,.16) !important;
}
.main-header.mk-nav.nav-state-dark .lang-switcher a.is-current,
.main-header.mk-nav.nav-state-dark .lang-switcher a[aria-current="page"],
.main-header.mk-nav.nav-on-dark .lang-switcher a.is-current,
.main-header.mk-nav.nav-on-dark .lang-switcher a[aria-current="page"] {
  border-color: #ff9b9e !important;
  background: rgba(227,30,36,.26) !important;
}
/* Same compact flag control inside the 3D planner. */
.planner-language-switcher {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px !important;
  border: 1px solid var(--mk-nav-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 5px 12px rgba(19,16,14,.06) !important;
}
.planner-language-switcher a {
  display: grid !important;
  width: 25px !important;
  height: 19px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  opacity: .54 !important;
}
.planner-language-switcher a.is-current,
.planner-language-switcher a[aria-current="page"] { opacity: 1 !important; border-color: var(--mk-nav-red) !important; background: #fff4f4 !important; }
.planner-language-switcher img { display:block !important; width:19px !important; height:auto !important; border-radius:2px !important; box-shadow:0 1px 4px rgba(0,0,0,.17) !important; }
/* Trial: map background behind the Polish home-page FAQ, with a calm readable overlay. */
@media (max-width: 1180px) {
  .main-header.mk-nav .header-flex { gap: 16px !important; }
  .main-header.mk-nav .nav-links { gap: 13px !important; }
  .main-header.mk-nav .nav-links a:not(.btn-cta) { font-size: .62rem !important; letter-spacing: .055em !important; }
  .main-header.mk-nav .btn-cta { padding: 0 12px !important; font-size: .62rem !important; }
}
@media (max-width: 820px) {
  .main-header.mk-nav .header-flex { min-height: 70px !important; gap: 12px !important; }
  .main-header.mk-nav .logo { font-size: 1rem !important; }
  .main-header.mk-nav .logo::before { width: 8px !important; height: 8px !important; margin-right: 8px !important; }
  .main-header.mk-nav nav { overflow-x: auto !important; overscroll-behavior-x: contain; }
  .main-header.mk-nav .nav-links { gap: 10px !important; width: max-content !important; padding: 4px 2px !important; }
  .main-header.mk-nav .nav-links a:not(.btn-cta) { font-size: .58rem !important; }
  .main-header.mk-nav .lang-switcher { gap: 3px !important; padding: 3px !important; }
  .main-header.mk-nav .lang-switcher a { width: 22px !important; height: 18px !important; }
  .main-header.mk-nav .lang-switcher img { width: 16px !important; }
  .main-header.mk-nav .btn-cta { min-height: 36px !important; padding: 0 10px !important; }
}
/* The global header owns language choice in the planner; do not duplicate the flag group in the tool sidebar. */
.loadpilot-shell .planner-language-switcher { display: none !important; }

/* v57 — desktop navigation reset: brand stays left, language selector and every navigation item stay in one right-aligned group. */
@media (min-width: 821px) {
  .main-header.mk-nav .header-flex {
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .main-header.mk-nav nav {
    margin-left: auto !important;
    flex: 0 1 auto !important;
  }
  .main-header.mk-nav .nav-links {
    justify-content: flex-end !important;
    gap: 22px !important;
  }
  .main-header.mk-nav .nav-links a:not(.btn-cta) {
    min-height: 44px !important;
    color: #231d19 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: .80rem !important;
    font-weight: 800 !important;
    letter-spacing: .014em !important;
    line-height: 1.15 !important;
    text-transform: none !important;
  }
  .main-header.mk-nav .btn-cta {
    min-height: 44px !important;
    padding: 0 18px !important;
    font-size: .79rem !important;
    font-weight: 800 !important;
    letter-spacing: .015em !important;
    text-transform: none !important;
  }
  .main-header.mk-nav .lang-switcher {
    margin-right: 6px !important;
  }
}
@media (min-width: 821px) and (max-width: 1180px) {
  .main-header.mk-nav .nav-links { gap: 14px !important; }
  .main-header.mk-nav .nav-links a:not(.btn-cta) { font-size: .74rem !important; }
  .main-header.mk-nav .btn-cta { padding: 0 14px !important; font-size: .73rem !important; }
}
@media (max-width: 820px) {
  .main-header.mk-nav .nav-links a:not(.btn-cta),
  .main-header.mk-nav .btn-cta {
    font-size: .74rem !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
  }
}
@media (max-width: 980px) {
  .services-extrego.photo-scroll-test::before,
  .sectors-section.photo-scroll-test::before,
  .faq-section.faq-map-test::before {
    inset: -1% 0 !important;
    background-size: cover !important;
    transform: translateY(var(--section-parallax-offset, 0px)) scale(1.02) !important;
  }
  .services-extrego.photo-scroll-test::before { background-position: 52% 6% !important; }
  .sectors-section.photo-scroll-test::before { background-position: 54% 44% !important; }
  .faq-section.faq-map-test::before { background-position: 58% 82% !important; }
  .services-extrego.photo-scroll-test::after {
    background:
      linear-gradient(90deg, rgba(255,250,245,.90) 0%, rgba(255,250,245,.76) 18%, rgba(255,250,245,.50) 34%, rgba(255,250,245,.24) 50%, rgba(255,250,245,.18) 100%),
      linear-gradient(0deg, rgba(255,250,245,.36), rgba(255,250,245,.36)) !important;
  }
  .sectors-section.photo-scroll-test::after {
    background:
      linear-gradient(90deg, rgba(255,250,245,.88) 0%, rgba(255,250,245,.72) 18%, rgba(255,250,245,.48) 34%, rgba(255,250,245,.24) 50%, rgba(255,250,245,.18) 100%),
      linear-gradient(0deg, rgba(255,250,245,.32), rgba(255,250,245,.32)) !important;
  }
  .faq-section.faq-map-test::after {
    background:
      linear-gradient(90deg, rgba(255,250,245,.78) 0%, rgba(255,250,245,.62) 17%, rgba(255,250,245,.36) 32%, rgba(255,250,245,.14) 47%, rgba(255,250,245,0) 63%),
      linear-gradient(0deg, rgba(255,250,245,.22), rgba(255,250,245,.22)) !important;
  }
}







/* v76 — refined wordmark: no red diamond; calm, editorial professional typography. */
.main-header.mk-nav .logo {
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif !important;
  font-size: 1.42rem !important;
  font-weight: 700 !important;
  letter-spacing: .008em !important;
  line-height: .94 !important;
  color: #241d19 !important;
  text-transform: none !important;
}
.main-header.mk-nav .logo::before {
  display: none !important;
  content: none !important;
}
.main-header.mk-nav.nav-state-dark .logo,
.main-header.mk-nav.nav-on-dark .logo {
  color: #fff8f4 !important;
}
@media (max-width: 820px) {
  .main-header.mk-nav .logo {
    font-size: 1.18rem !important;
    letter-spacing: .006em !important;
  }
}


/* v84 — active state for in-page navigation on the home pages. */
.main-header.mk-nav .nav-links a:not(.btn-cta).is-active::after,
.main-header .nav-links a:not(.btn-cta).is-active::after {
  transform: scaleX(1) !important;
  transform-origin: left !important;
}
.main-header.mk-nav.nav-state-dark .nav-links a:not(.btn-cta).is-active::after,
.main-header.nav-state-dark .nav-links a:not(.btn-cta).is-active::after {
  background: #ff8b8f !important;
}


/* v89 — an additional Reviews entry in the homepage navigation stays readable on desktop. */
@media (min-width: 821px) {
  .main-header.mk-nav.home-nav-testimonials .nav-links { gap: 17px !important; }
  .main-header.mk-nav.home-nav-testimonials .nav-links a:not(.btn-cta) { font-size: .76rem !important; }
  .main-header.mk-nav.home-nav-testimonials .btn-cta { padding: 0 16px !important; }
}
@media (min-width: 821px) and (max-width: 1180px) {
  .main-header.mk-nav.home-nav-testimonials .nav-links { gap: 11px !important; }
  .main-header.mk-nav.home-nav-testimonials .nav-links a:not(.btn-cta) { font-size: .68rem !important; }
  .main-header.mk-nav.home-nav-testimonials .btn-cta { padding: 0 12px !important; font-size: .68rem !important; }
}
