/* Bob: desktop dropdowns generated from script.js translations/menuGroups */
.nav-expanded{align-items:center;gap:16px;overflow:visible!important;}
.nav-expanded .nav-item{position:relative;display:flex;align-items:center;min-height:48px;}
.nav-expanded .nav-parent{display:inline-flex;align-items:center;gap:7px;}
.nav-expanded .nav-parent::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.72;transition:transform .18s ease,opacity .18s ease;}
.nav-expanded .has-dropdown:hover .nav-parent::after,
.nav-expanded .has-dropdown:focus-within .nav-parent::after{transform:rotate(225deg) translateY(-1px);opacity:1;}

.nav-dropdown{position:absolute;top:calc(100% - 2px);left:50%;transform:translate(-50%,10px);width:max-content;min-width:250px;max-width:min(360px,calc(100vw - 32px));padding:10px;border:1px solid rgba(245,217,148,.22);border-radius:20px;background:linear-gradient(180deg,rgba(9,26,49,.98),rgba(7,24,47,.94));box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);opacity:0;visibility:hidden;pointer-events:none;z-index:90;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;}
.nav-dropdown::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;}
.nav-dropdown-services{min-width:318px;}
.nav-dropdown-partners{min-width:260px;max-height:min(72vh,510px);overflow:auto;scrollbar-width:thin;}
.nav-expanded .has-dropdown:hover .nav-dropdown,
.nav-expanded .has-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
.nav-dropdown a{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px!important;border-radius:13px;color:rgba(255,255,255,.82)!important;font-size:13px!important;line-height:1.25!important;white-space:normal!important;letter-spacing:.01em!important;}
.nav-dropdown a:hover,
.nav-dropdown a:focus-visible{background:rgba(245,217,148,.13);color:#fff!important;outline:none;}
.nav-dropdown a::after{content:"↘";font-size:11px;color:#f5d994;opacity:.75;}

[id^="service-"],
[id^="partner-"]{scroll-margin-top:112px;}
.logo-cloud span[id^="partner-"]{scroll-margin-top:112px;}

@media(max-width:1180px){
  .nav-expanded{gap:10px;}
  .nav-expanded>a,.nav-expanded .nav-parent{font-size:12px!important;}
  .nav-dropdown-services{min-width:290px;}
}

.mobile-menu-toggle{display:none;appearance:none;border:1px solid rgba(18,60,105,.16);background:rgba(255,255,255,.74);color:#123c69;width:46px;height:46px;border-radius:999px;align-items:center;justify-content:center;flex-direction:column;gap:5px;box-shadow:0 12px 34px rgba(18,60,105,.12);cursor:pointer;z-index:240;}
.mobile-menu-toggle span{display:block;width:19px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease;}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.mobile-nav-open{overflow:hidden;}
/* Mobile drawer guardrail: the scrim must sit below the header/drawer and never
   intercept taps. A previous z-index stack made the menu look visible but
   effectively placed it under the dark overlay, so links appeared blurred and
   were not clickable on mobile. */
body.mobile-nav-open::before{content:"";position:fixed;inset:0;background:rgba(5,18,34,.58);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;pointer-events:none!important;z-index:90;}

@media(max-width:980px){
  .topbar{gap:10px!important;z-index:220!important;}
  body.mobile-nav-open .topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:220!important;isolation:isolate!important;}
  .mobile-menu-toggle{display:inline-flex!important;position:relative!important;z-index:240!important;}
  .nav-expanded{display:flex!important;position:fixed!important;left:14px!important;right:14px!important;top:72px!important;max-height:calc(100dvh - 96px);overflow:auto!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:16px!important;border:1px solid rgba(245,217,148,.32);border-radius:26px;background:#071c34!important;box-shadow:0 30px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);z-index:230!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateY(-10px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
  body.mobile-nav-open .nav-expanded{opacity:1!important;visibility:visible!important;pointer-events:auto!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateY(0)!important;}
  .nav-expanded>a,.nav-expanded .nav-parent{display:flex!important;min-height:46px!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:12px 13px!important;border-radius:16px!important;color:rgba(255,255,255,.9)!important;background:rgba(255,255,255,.045)!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important;}
  .nav-expanded .nav-item{display:block!important;width:100%!important;min-height:0!important;}
  .nav-expanded .nav-parent::after{transform:rotate(45deg)!important;opacity:.82!important;}
  .nav-expanded .has-dropdown.is-open .nav-parent::after{transform:rotate(225deg)!important;}
  .nav-dropdown{display:none!important;position:static!important;top:auto!important;left:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;max-height:none!important;margin:7px 0 2px!important;padding:7px!important;border-radius:18px!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .nav-expanded .has-dropdown.is-open .nav-dropdown{display:block!important;}
  .nav-dropdown::before{display:none!important;}
  .nav-dropdown a{min-height:44px!important;padding:10px 11px!important;font-size:13px!important;color:rgba(255,255,255,.82)!important;background:transparent!important;}
  .nav-cta{display:none!important;}
  .lang-switch{margin-left:auto!important;}
  /* Ensure tappable CTA targets on small screens */
  .cta, .btn, .nav-cta { min-height: 44px !important; }
}

@media(max-width:520px){
  .topbar{grid-template-columns:auto 1fr auto!important;}
  .brand-wordmark em{max-width:160px!important;}
  .nav-expanded{left:10px;right:10px;top:68px;padding:13px!important;border-radius:22px;}
  .nav-dropdown a{font-size:12.5px!important;}
}

@media(prefers-reduced-motion:reduce){
  .nav-dropdown,.nav-expanded,.mobile-menu-toggle span,.nav-expanded .nav-parent::after{transition:none!important;}
}
