/* Services dropdown (desktop) + expandable Services group (mobile overlay).
   Loaded after site.css on every page that carries the consolidated nav.
   Hard-coded fallbacks keep it working on index.html, which has its own inline CSS. */

/* ---------- desktop ---------- */
.header-nav .nav-item{position:relative;display:inline-flex;align-items:center}
.nav-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-38%);padding-top:22px;z-index:120;width:max-content;max-width:calc(100vw - 32px)}
.header-nav .nav-item:hover .nav-panel,
.header-nav .nav-item:focus-within .nav-panel{display:block}
.nav-box{background:var(--bg-section,#111118);border:1px solid var(--divider,#2A2A3A);border-radius:14px;padding:22px 26px 14px;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.nav-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:20px 34px}
.nav-col{display:flex;flex-direction:column;gap:2px;min-width:0}
.nav-h{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,#00E5A0);margin:0 0 6px}
.header-nav .nav-panel a{display:block;font-size:.86rem;line-height:1.35;padding:5px 0;color:var(--text-secondary,#8888A0);white-space:normal;letter-spacing:0}
.header-nav .nav-panel a:hover,.header-nav .nav-panel a:focus-visible,.header-nav .nav-panel a.is-active{color:var(--text-primary,#F0F0F5)}
.header-nav .nav-panel a.is-active::after{display:none}
.nav-foot{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:16px;padding-top:12px;border-top:1px solid var(--divider,#2A2A3A)}
.header-nav .nav-panel .nav-foot a{display:inline-block;color:var(--text-primary,#F0F0F5);font-weight:500}
.header-nav .nav-panel .nav-foot a:hover{color:var(--accent,#00E5A0)}

/* ---------- mobile overlay ---------- */
.menu-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:88px;padding-bottom:40px;justify-content:flex-start}
.menu-overlay>nav:first-child{margin-top:auto}
.menu-overlay>.overlay-cta{margin-bottom:auto;flex-shrink:0}
.menu-overlay nav .ov-drop summary{list-style:none;cursor:pointer;display:block;font-family:var(--font-display,'Space Grotesk',sans-serif);font-weight:700;font-size:clamp(1.6rem,5vw,2.6rem);letter-spacing:-.02em;color:var(--text-secondary,#8888A0);transition:color .3s}
.menu-overlay nav .ov-drop summary::-webkit-details-marker{display:none}
.menu-overlay nav .ov-drop summary::after{content:" \25BE";font-size:.55em;opacity:.7}
.menu-overlay nav .ov-drop[open] summary,.menu-overlay nav .ov-drop.is-active summary{color:var(--accent,#00E5A0)}
.menu-overlay nav .ov-groups{display:flex;flex-direction:column;gap:2px;padding:10px 0 4px 14px;border-left:1px solid var(--divider,#2A2A3A);margin-top:10px}
.menu-overlay nav .ov-groups a{font-family:var(--font-body,'Inter',sans-serif);font-weight:500;font-size:1.02rem;letter-spacing:0;line-height:1.3;padding:8px 0;color:var(--text-secondary,#8888A0);transform:none}
.menu-overlay nav .ov-groups a:hover,.menu-overlay nav .ov-groups a.is-active{color:var(--accent,#00E5A0);transform:none}
.menu-overlay nav .ov-h{display:block;font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,#00E5A0);margin:14px 0 2px}
.menu-overlay nav .ov-groups>.ov-all{color:var(--text-primary,#F0F0F5)}
/* keep scrolled menu items from running under the fixed header/logo */
.menu-overlay{-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 66px,#000 86px);mask-image:linear-gradient(to bottom,transparent 0,transparent 66px,#000 86px)}
