/* Small static-site additions. The legacy OceanWP and Elementor CSS is retained locally above this file. */
html { scroll-behavior: smooth; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100000; padding: 8px 12px; background: #fff; color: #0071bc; }
.skip-link:focus { top: 10px; }
:focus-visible { outline: 2px solid #0071bc; outline-offset: 2px; }

/* Preserve the original OceanWP header layout while providing a static menu toggle. */
.static-menu-open #ubermenu-main-7-main_menu-2 { display: block !important; }
.static-menu-toggle { display: none; }
#site-header { position: sticky; top: 0; z-index: 10000; }
#site-header-inner { position: static; }
@media (min-width: 960px) {
  #site-navigation-wrap, #site-navigation { position: static; }
  #ubermenu-main-7-main_menu-2 { position: static; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item],
  #ubermenu-nav-main-7-main_menu > li[data-about-item] { position: static; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu {
    display: none !important; position: fixed !important; top: var(--service-menu-top, 145px) !important; left: 0 !important; right: 0 !important;
    width: 100vw !important; padding: 18px max(calc((100vw - 1200px) / 2), 24px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; background: #f7f7f7 !important;
    border: 1px solid #f7f7f7 !important; box-shadow: none !important; z-index: 10001; min-height: 186px !important;
  }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item].static-submenu-open > .ubermenu-submenu { display: grid !important; }
  #ubermenu-nav-main-7-main_menu > li[data-about-item] > .ubermenu-submenu {
    display: none !important; position: fixed !important; top: var(--about-menu-top, 145px) !important; left: 0 !important; right: 0 !important;
    width: 100vw !important; padding: 18px max(calc((100vw - 1200px) / 2), 24px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; background: #f7f7f7 !important;
    border: 1px solid #f7f7f7 !important; box-shadow: none !important; z-index: 10001; min-height: 76px !important;
  }
  #ubermenu-nav-main-7-main_menu > li[data-about-item].static-submenu-open > .ubermenu-submenu { display: grid !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item].static-submenu-open > .ubermenu-submenu,
  #ubermenu-nav-main-7-main_menu > li[data-mega-item].static-submenu-open > .ubermenu-submenu *,
  #ubermenu-nav-main-7-main_menu > li[data-about-item].static-submenu-open > .ubermenu-submenu,
  #ubermenu-nav-main-7-main_menu > li[data-about-item].static-submenu-open > .ubermenu-submenu * { visibility: visible !important; opacity: 1 !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu > li { height: auto !important; min-height: 150px !important; }
  #ubermenu-nav-main-7-main_menu > li[data-about-item] > .ubermenu-submenu > li { height: auto !important; min-height: 42px !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu > li > .ubermenu-target { font-weight: 700; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu > li > .ubermenu-submenu { display: block !important; position: static !important; width: auto !important; padding: 6px 0 0 !important; background: transparent !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu .ubermenu-target,
  #ubermenu-nav-main-7-main_menu > li[data-about-item] > .ubermenu-submenu .ubermenu-target { display: block; padding: 8px 12px !important; color: #333 !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-target,
  #ubermenu-nav-main-7-main_menu > li[data-about-item] > .ubermenu-target { font-size: 12px !important; font-weight: 700 !important; color: #0071bc !important; padding-left: 22px !important; padding-right: 22px !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item].static-submenu-open > .ubermenu-target,
  #ubermenu-nav-main-7-main_menu > li[data-about-item].static-submenu-open > .ubermenu-target { color: #000 !important; }
}

/* The source Contact Form 7 presentation is retained; only submission is replaced. */
.static-form-note { display: block; margin-top: 6px; color: #777; font-size: 11px; line-height: 1.35; }
.static-form .wpcf7-response-output { display: block; }
.static-form .wpcf7-response-output:empty { display: none; }
.static-file-status { display: block; min-height: 0; color: #777; font-size: 12px; }
.static-submit { margin-bottom: 0; }

/* Preserve the separate production treatments for the home and interior heroes. */
.migration-hero-home > .elementor-background-overlay { background-color: #3A3A3A !important; opacity: .45 !important; }
.migration-hero-interior > .elementor-background-overlay { background-color: #723906BA !important; opacity: 1 !important; }

.article-share-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.article-share-controls .article-share-copy { border: 0; cursor: pointer; font: inherit; }
.article-share-status { flex-basis: 100%; color: #666; font-size: 12px; }
.form-user-count { margin: 0 0 22px; padding: 0; border: 0; }
.form-user-count legend { margin: 0 0 8px; padding: 0; }
.form-user-count .wpcf7-list-item { display: inline-flex; align-items: center; gap: 5px; margin: 0 14px 8px 0; }
.form-user-count .wpcf7-list-item input { margin: 0; }
.form-turnstile { margin: 12px 0; }
.live-form [data-form-submit]:disabled { cursor: not-allowed; opacity: .55; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 959px) {
  #site-navigation-wrap { display: block !important; position: relative; clear: both; float: none; width: 100%; }
  #site-navigation { display: none; position: fixed; z-index: 20000; top: var(--mobile-menu-top, 169px); left: 0; right: 0; width: 100%; height: auto; max-height: calc(100vh - var(--mobile-menu-top, 169px)); overflow-y: auto; background: #fff; }
  #site-navigation.static-menu-open { height: calc(100vh - var(--mobile-menu-top, 169px)) !important; }
  #site-navigation.static-menu-open > .ubermenu { height: auto !important; max-height: none !important; overflow: visible !important; }
  #site-navigation.static-menu-open > .ubermenu > ul { height: auto !important; }
  #site-navigation.static-menu-open { display: block; }
  #ubermenu-main-7-main_menu-2 { display: block !important; width: 100%; }
  #site-navigation.static-menu-open #ubermenu-main-7-main_menu-2,
  #site-navigation.static-menu-open #ubermenu-main-7-main_menu-2 * { visibility: visible !important; opacity: 1 !important; }
  #ubermenu-main-7-main_menu-2 > ul { display: block; }
  #ubermenu-main-7-main_menu-2 .ubermenu-submenu { display: none !important; position: static !important; width: 100% !important; box-shadow: none !important; }
  #ubermenu-main-7-main_menu-2 .ubermenu-item.static-submenu-open > .ubermenu-submenu { display: block !important; visibility: visible !important; opacity: 1 !important; }
  #ubermenu-nav-main-7-main_menu > li[data-about-item] > .ubermenu-submenu { display: none !important; position: static !important; width: 100% !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu,
  #ubermenu-nav-main-7-main_menu > li[data-about-item] > .ubermenu-submenu { min-height: 0 !important; }
  #ubermenu-nav-main-7-main_menu > li[data-about-item].static-submenu-open > .ubermenu-submenu { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu { display: none !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item].static-submenu-open > .ubermenu-submenu { display: grid !important; }
  #ubermenu-nav-main-7-main_menu > li[data-mega-item] > .ubermenu-submenu > li > .ubermenu-submenu { display: block !important; position: static !important; }
  #site-navigation-wrap > .ubermenu-responsive-toggle { display: block !important; position: relative; padding: 14px 16px; color: #555; background: #f8f8f8; font: inherit; }
  #footer-bottom-inner { padding-left: 15px; padding-right: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
