/* Lumera final fixes: clean URL asset loading, services dropdown, mobile menu */
.site-header{z-index:10000}
.nav{position:relative}
.mobile-toggle{display:none;background:none;border:0;color:#fff;font-size:28px;line-height:1;cursor:pointer}

.menu .dropdown{position:relative;display:flex;align-items:center}
.menu .dropdown>a{cursor:pointer;position:relative;z-index:2}
.menu .dropdown>a::after{content:" ▼";font-size:11px;margin-left:5px}
.menu .submenu{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);min-width:275px;background:#fff;color:#102a35;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.22);padding:10px;display:block;opacity:0;visibility:hidden;pointer-events:none;z-index:10001;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.menu .dropdown:hover>.submenu,.menu .dropdown:focus-within>.submenu,.menu .dropdown.active>.submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,4px)}
.menu .submenu a{display:block;color:#102a35!important;background:transparent;padding:10px 14px;border-radius:10px;white-space:nowrap;line-height:1.35;opacity:1}
.menu .submenu a:hover{background:#e9fbff;color:#0695a8!important}

@media(max-width:980px){
  .mobile-toggle{display:block}
  .site-header .nav{position:relative}
  .site-header .menu{position:absolute;right:0;top:100%;width:300px;max-width:92vw;background:#06141a;flex-direction:column;align-items:flex-start;gap:12px;border-radius:18px;padding:20px;box-shadow:0 26px 70px rgba(3,20,27,.22);display:none;z-index:10002}
  .site-header .menu.active{display:flex}
  .site-header .menu>a,.site-header .menu .dropdown>a{width:100%;color:#fff!important}
  .site-header .menu .dropdown{display:block;width:100%}
  .site-header .menu .submenu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;margin-top:8px;width:100%;min-width:0;background:#0b2028;border-radius:10px;padding:8px}
  .site-header .menu .submenu a{color:#fff!important;white-space:normal}
}


/* FINAL PATCH: make Services dropdown stable and clickable on services.html */
.site-header{z-index:9999!important;}
.menu .dropdown{position:relative!important;display:flex!important;align-items:center!important;}
.menu .dropdown>a{display:inline-flex!important;align-items:center!important;cursor:pointer!important;}
.menu .submenu{
  display:block!important;
  position:absolute!important;
  top:100%!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  min-width:280px!important;
  background:#fff!important;
  color:#102a35!important;
  border-radius:14px!important;
  padding:10px!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:100000!important;
}
.menu .dropdown:hover>.submenu,
.menu .dropdown:focus-within>.submenu,
.menu .dropdown.active>.submenu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.menu .submenu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;}
.menu .submenu a{display:block!important;color:#102a35!important;padding:11px 14px!important;border-radius:10px!important;white-space:nowrap!important;opacity:1!important;}
.menu .submenu a:hover{background:#e9fbff!important;color:#0695a8!important;}

@media(max-width:980px){
  .menu .dropdown{display:block!important;width:100%!important;}
  .menu .submenu{position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%!important;min-width:0!important;background:#0b2028!important;box-shadow:none!important;margin-top:8px!important;}
  .menu .submenu:before{display:none!important;}
  .menu .submenu a{color:#fff!important;white-space:normal!important;}
}

/* Final URL/menu fix */
.site-header, .nav, .menu, .dropdown { overflow: visible !important; }
.menu .dropdown { position: relative; }
.menu .dropdown > a { cursor: pointer; pointer-events: auto; }
.menu .submenu { z-index: 99999; pointer-events: auto; }
.menu .submenu a { pointer-events: auto; display: block; }
@media (min-width: 901px) {
  .menu .dropdown:hover .submenu, .menu .dropdown:focus-within .submenu { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; display: flex !important; }
}
@media (max-width: 900px) {
  .menu.active .dropdown.active .submenu { display: flex !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
}

/* MOBILE MENU FIX - 21 May 2026
   Keeps dropdown inside screen and prevents it covering hero text awkwardly. */
@media (max-width: 980px){
  .site-header{top:0!important;z-index:99999!important;}
  .site-header .nav{height:72px!important;position:relative!important;}
  .site-header .logo img{height:54px!important;width:auto!important;}
  .mobile-toggle{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:42px!important;height:42px!important;border:2px solid #f4aa1c!important;
    border-radius:7px!important;background:#06141a!important;color:#fff!important;
    font-size:28px!important;line-height:1!important;padding:0!important;z-index:100001!important;
  }
  .site-header .menu{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    right:0!important;left:auto!important;
    width:min(330px, calc(100vw - 28px))!important;
    max-height:calc(100vh - 95px)!important;
    overflow-y:auto!important;
    background:#06141a!important;
    border-radius:0 0 18px 18px!important;
    padding:18px!important;
    margin:0!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    box-shadow:0 20px 50px rgba(0,0,0,.35)!important;
  }
  .site-header .menu.active{display:flex!important;}
  .site-header .menu>a,
  .site-header .menu .dropdown>a{
    display:block!important;width:100%!important;color:#fff!important;
    padding:10px 0!important;font-size:15px!important;font-weight:700!important;
    line-height:1.3!important;text-align:left!important;
  }
  .site-header .menu .btn,
  .site-header .menu a.btn-light{
    margin-top:10px!important;width:135px!important;min-width:135px!important;
    padding:13px 20px!important;text-align:center!important;justify-content:center!important;
    background:#17a7b8!important;color:#fff!important;border-radius:999px!important;
  }
  .site-header .menu .dropdown{display:block!important;width:100%!important;}
  .site-header .menu .submenu{
    display:none!important;position:static!important;transform:none!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    width:100%!important;min-width:0!important;margin:4px 0 8px!important;
    background:#0b2028!important;border-radius:12px!important;padding:8px 10px!important;
    box-shadow:none!important;
  }
  .site-header .menu .dropdown.active .submenu{display:block!important;}
  .site-header .menu .submenu a{
    color:#fff!important;white-space:normal!important;padding:8px 6px!important;
    font-size:14px!important;line-height:1.35!important;
  }
  .hero-content{padding-top:125px!important;}
}

@media (max-width: 420px){
  .container{width:min(100% - 28px, 1220px)!important;}
  .site-header .menu{right:0!important;width:calc(100vw - 28px)!important;}
  .hero h1{font-size:36px!important;line-height:1.08!important;}
  .hero p{font-size:17px!important;line-height:1.55!important;}
}
