/* Horizon navigation consistency. Scoped to navigation; page styles stay intact. */
.main-header-two, .main-menu__bottom, .stricky-header,
.main-menu .main-menu__list > li > ul,
.stricky-header .main-menu__list > li > ul { background-color: #fff; }
.main-menu .main-menu__list > li > a,
.stricky-header .main-menu__list > li > a,
.main-menu .main-menu__list > li > ul > li > a,
.stricky-header .main-menu__list > li > ul > li > a,
.main-menu .main-menu__list > li.dropdown > a::after,
.stricky-header .main-menu__list > li.dropdown > a::after,
.main-menu .mobile-nav__toggler { color: #000; }
.stricky-header.main-menu, .stricky-header.main-menu-two { background: #fff; }
.stricky-header.main-menu-two .main-menu__list > li > a,
.stricky-header.main-menu-two .main-menu__list > li.current > a,
.stricky-header.main-menu-two .main-menu__list > li:hover > a,
.stricky-header.main-menu-two .main-menu__list > li.dropdown > a::after,
.stricky-header.main-menu-two .main-menu__list > li.current > a::after,
.stricky-header.main-menu-two .main-menu__list > li:hover > a::after { color: #000; }
.main-menu .main-menu__list > li.current > a,
.main-menu .main-menu__list > li:hover > a,
.stricky-header .main-menu__list > li.current > a,
.stricky-header .main-menu__list > li:hover > a,
.main-menu.main-menu-two .main-menu__list > li:hover > a::after,
.main-menu .main-menu__list > li.current > a::after,
.stricky-header .main-menu__list > li.current > a::after,
.stricky-header .main-menu__list > li:hover > a::after { color: #000; }
.main-menu .main-menu__list > li > ul > li > a:hover,
.stricky-header .main-menu__list > li > ul > li > a:hover { color: #000; background: #f4f2ec; }
/* Long Services lists remain reachable on short desktop screens. */
.main-menu .main-menu__list > li > ul,
.stricky-header .main-menu__list > li > ul { max-height: calc(100vh - 170px); overflow-y: auto; }
.main-menu .main-menu__list > li:focus-within > ul,
.stricky-header .main-menu__list > li:focus-within > ul {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.main-menu a:focus-visible, .mobile-nav__content a:focus-visible,
.mobile-nav__content button:focus-visible { outline: 2px solid #a6a182; outline-offset: 3px; }
.mobile-nav__content { overflow-y: auto; overscroll-behavior: contain; }
.mobile-nav__content .ha-calc-nav-desktop { display: none; }
.mobile-nav__content .ha-calc-nav-mobile { display: inline; }
.mobile-nav__content { background: #fff; }
.mobile-nav__content .mobile-nav__container .main-menu__list a,
.mobile-nav__content .mobile-nav__container .main-menu__list li a.expanded,
.mobile-nav__close, .mobile-nav__contact li a, .mobile-nav__social a { color: #000; }
.mobile-nav__close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 4px; z-index: 1; }
.mobile-nav__content .main-menu__list > li:not(:last-child),
.mobile-nav__content .main-menu__list > li > ul > li:not(:last-child) { border-bottom-color: #ddd; }
.mobile-nav__content .logo-box { background: #0a0c09; padding: 12px; }
.mobile-nav__content .main-menu__list button { min-width: 44px; min-height: 44px; }
.main-menu-two__wrapper-inner, .main-menu-two__right { flex-wrap: nowrap; }
.main-menu-two__wrapper-inner { padding-left: 30px; padding-right: 30px; gap: 24px; }
.main-menu-two__right { gap: 24px; min-width: 0; }
.main-menu-two__logo { background: #0a0c09; padding-left: 24px; padding-right: 24px; }
.main-menu-two__search-and-nav-sidebar-icon { display: none; }
@media (min-width: 1400px) {
  .main-menu-two .main-menu__list { flex-wrap: nowrap; }
  .main-menu-two .main-menu__list > li + li { margin-left: 12px; }
  .main-menu-two .main-menu__list > li > a { font-size: 14px; white-space: nowrap; }
  .main-menu-two .main-menu__list > li { padding-top: 30px; padding-bottom: 30px; }
}
@media (max-width: 1399px) {
  .main-menu-two .main-menu__list { display: none !important; }
  .main-menu-two .mobile-nav__toggler { display: inline-block !important; }
  .stricky-header.main-menu-two { display: none !important; }
}
/* Legal text retains its existing 800px reading layout below the shared header. */
body.ha-legal-page { max-width: none; margin: 0; padding: 0; }
.ha-legal-content { max-width: 800px; margin: 0 auto; padding: 20px; }
.ha-legal-page .main-header h1, .ha-legal-page .main-header h2 { border: 0; margin: 0; }
/* Standalone portfolio: same destinations, scoped styles preserve its design. */
.ha-portfolio-navigation { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 30px; background: #fff; color: #000; }
.ha-portfolio-logo img { width: 180px; height: auto; }
.ha-portfolio-logo { background: #20231f; padding: 12px; }
.ha-portfolio-navigation .ha-calc-nav-mobile { display: none; }
.ha-portfolio-navigation .ha-calc-nav-link { text-align: center; }
.ha-portfolio-navigation ul { list-style: none; margin: 0; padding: 0; }
.ha-portfolio-navigation .main-menu__list { display: flex; align-items: center; gap: 18px; }
.ha-portfolio-navigation li { position: relative; }
.ha-portfolio-navigation a { display: block; color: #000; font: 600 14px/1.3 Arial, sans-serif; text-decoration: none; padding: 10px 0; }
.ha-portfolio-navigation .dropdown > ul { display: none; position: absolute; top: 100%; left: 0; width: 260px; max-height: calc(100vh - 150px); overflow-y: auto; background: #fff; border: 1px solid #ddd; z-index: 1000; box-shadow: 0 8px 24px #0002; }
.ha-portfolio-navigation .dropdown:hover > ul, .ha-portfolio-navigation .dropdown:focus-within > ul { display: block; }
.ha-portfolio-navigation .dropdown > ul a { padding: 12px 16px; font-weight: 400; }
.ha-portfolio-navigation a:hover { background: #f4f2ec; }
.ha-portfolio-navigation a:focus-visible, .ha-portfolio-navigation button:focus-visible { outline: 2px solid #a6a182; outline-offset: 3px; }
.ha-portfolio-toggle, .ha-portfolio-submenu-toggle { display: none; }
.ha-portfolio-shortcuts { padding: 12px 30px; border-top: 1px solid #eee; }
.ha-portfolio-shortcuts nav { display: flex; justify-content: flex-end; gap: 24px; }
.ha-portfolio-shortcuts a { color: #333; font-size: 14px; }
@media (max-width: 1399px) {
  .ha-portfolio-navigation { flex-wrap: wrap; padding: 16px 20px; }
  .ha-portfolio-toggle { display: block; min-height: 44px; background: #fff; border: 1px solid #aaa; padding: 10px 16px; color: #000; }
  .ha-portfolio-navigation nav { display: none; width: 100%; }
  .ha-portfolio-navigation nav.is-open { display: block; }
  .ha-portfolio-navigation .main-menu__list { display: block; max-height: 70vh; overflow-y: auto; }
  .ha-portfolio-navigation .main-menu__list > li { border-top: 1px solid #ddd; }
  .ha-portfolio-navigation .main-menu__list > li > a { padding: 16px 50px 16px 8px; }
  .ha-portfolio-navigation .dropdown > ul { display: none; position: static; width: 100%; max-height: none; box-shadow: none; border: 0; }
  .ha-portfolio-navigation .dropdown:hover > ul, .ha-portfolio-navigation .dropdown:focus-within > ul { display: none; }
  .ha-portfolio-navigation .dropdown.is-open > ul { display: block; }
  .ha-portfolio-submenu-toggle { display: block; position: absolute; top: 3px; right: 4px; width: 44px; height: 44px; border: 0; background: #f4f2ec; color: #000; }
  .ha-portfolio-navigation .ha-calc-nav-desktop { display: none; }
  .ha-portfolio-navigation .ha-calc-nav-mobile { display: inline; }
  .ha-portfolio-shortcuts nav { justify-content: flex-start; flex-wrap: wrap; gap: 16px; }
}

/* Project pages use body-bg-color-2, which has no background defined (white page).
   Give their header the same dark band the home page gets from its dark body,
   so the menu bar looks identical on every page. */
body.body-bg-color-2 .main-header { background-color: #0a0c09; }
