.primary-nav__group { position:relative; display:flex; flex:0 1 auto; align-items:stretch; min-width:0; }
.primary-nav__group::before,.primary-nav > * + .primary-nav__item::before { content:""; position:absolute; z-index:1; top:12px; bottom:12px; left:0; width:1px; background:rgba(255,246,229,.12); }
.primary-nav__item--grouped { padding-right:7px !important; }
.primary-nav__submenu-trigger { flex:0 0 28px !important; width:28px; min-width:28px !important; padding:0 8px 0 2px !important; color:rgba(80,196,215,.68) !important; }
.primary-nav__submenu-trigger::before,.primary-nav__submenu-trigger::after { display:none !important; }
.primary-nav__submenu-trigger svg { width:11px; height:11px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform .18s ease; }
.primary-nav__submenu-trigger[aria-expanded="true"] svg { transform:rotate(180deg); }

.primary-submenu { position:fixed; z-index:55; top:var(--submenu-top,78px); left:var(--submenu-left,50%); display:grid; width:min(310px,calc(100vw - 24px)); max-height:min(620px,calc(100dvh - var(--submenu-top,78px) - 14px)); overflow:auto; border:1px solid rgba(80,196,215,.34); border-radius:14px; padding:9px; background:linear-gradient(145deg,rgba(17,23,24,.985),rgba(6,7,7,.99)); box-shadow:0 24px 70px rgba(0,0,0,.55); backdrop-filter:blur(22px) saturate(125%); }
.primary-submenu[hidden] { display:none; }
.primary-submenu::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--red) 0 33%,var(--orange) 33% 66%,var(--cyan) 66%); }
.primary-submenu__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px 9px; color:rgba(255,246,229,.34); font:7px/1 "Pirulen",sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.primary-submenu__heading strong { color:var(--cyan); font-weight:500; }
.primary-submenu__item { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-height:49px; border:0; border-top:1px solid rgba(255,246,229,.08); border-radius:7px; padding:5px 10px; color:var(--ink); background:transparent; text-align:left; cursor:pointer; transition:background .16s ease,color .16s ease,transform .16s ease; }
.primary-submenu__item:hover,.primary-submenu__item:focus-visible { outline:0; background:rgba(80,196,215,.09); transform:translateX(2px); }
.primary-submenu__index { color:rgba(255,246,229,.34); font:8px/1 "Pirulen",sans-serif; }
.primary-submenu__copy { min-width:0; }
.primary-submenu__copy strong,.primary-submenu__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.primary-submenu__copy strong { font-size:11px; font-weight:620; }
.primary-submenu__copy small { margin-top:4px; color:rgba(80,196,215,.64); font:6px/1.2 "Pirulen",sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.primary-submenu__signal { width:7px; height:7px; border-radius:50%; background:var(--item-color,var(--cyan)); box-shadow:0 0 12px var(--item-color,var(--cyan)); }
.primary-submenu__arrow { color:var(--cyan); font:12px/1 "Sora",sans-serif; }

.site-menu__intro h2 { font-size:clamp(23px,3vw,32px); line-height:1.05; letter-spacing:-.038em; }
.site-menu__search { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:11px; width:100%; min-height:52px; margin-top:17px; border:1px solid rgba(80,196,215,.34); border-radius:4px; padding:0 13px; color:var(--ink); background:rgba(80,196,215,.055); text-align:left; cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.site-menu__search:hover,.site-menu__search:focus-visible { outline:0; border-color:rgba(80,196,215,.76); background:rgba(80,196,215,.11); transform:translateY(-1px); }
.site-menu__search svg { width:18px; height:18px; fill:none; stroke:var(--cyan); stroke-width:1.6; }
.site-menu__search span { min-width:0; }
.site-menu__search small,.site-menu__search strong { display:block; }
.site-menu__search small { color:rgba(255,246,229,.36); font:6px/1 "Pirulen",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.site-menu__search strong { margin-top:5px; overflow:hidden; font-size:11px; font-weight:620; text-overflow:ellipsis; white-space:nowrap; }
.site-menu__search kbd { color:rgba(255,246,229,.34); font:7px/1 "Sora",sans-serif; }
.site-menu__subitems { margin:0 0 7px 38px; border-left:1px solid rgba(80,196,215,.22); padding-left:11px; }
.site-menu__subitem { display:grid; grid-template-columns:9px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; min-height:38px; border:0; border-bottom:1px solid rgba(255,246,229,.07); padding:4px 8px; color:rgba(255,246,229,.7); background:transparent; text-align:left; cursor:pointer; transition:color .16s ease,background .16s ease; }
.site-menu__subitem:hover,.site-menu__subitem:focus-visible { outline:0; color:var(--ink); background:rgba(80,196,215,.07); }
.site-menu__subitem-dot { width:7px; height:7px; border-radius:50%; background:var(--item-color,var(--cyan)); box-shadow:0 0 10px var(--item-color,var(--cyan)); }
.site-menu__subitem strong { overflow:hidden; font-size:11px; font-weight:590; text-overflow:ellipsis; white-space:nowrap; }
.site-menu__subitem small { color:rgba(80,196,215,.52); font:6px/1 "Pirulen",sans-serif; letter-spacing:.06em; text-transform:uppercase; }

.search-results > button[data-search-service] { position:relative; border-left:3px solid var(--search-accent); padding-left:13px; background:linear-gradient(90deg,rgba(80,196,215,.1),rgba(255,255,255,.018) 52%,transparent); box-shadow:inset 12px 0 30px color-mix(in srgb,var(--search-accent) 9%,transparent); }
.search-results > button[data-search-service] .search-result__icon { border-color:var(--search-accent); color:var(--search-accent); box-shadow:0 0 18px color-mix(in srgb,var(--search-accent) 22%,transparent); }
.search-results > button[data-search-service] .search-result__copy small { color:var(--search-accent); }
.search-results > button[data-search-service] .search-result__copy strong { font-size:17px; }
.search-results > button[data-search-service]:hover,.search-results > button[data-search-service]:focus-visible,.search-results > button[data-search-service][aria-selected="true"] { padding-left:19px; background:linear-gradient(90deg,color-mix(in srgb,var(--search-accent) 18%,#111),rgba(255,255,255,.025) 62%,transparent); }

@media (max-width:720px) {
  .primary-nav__group { flex:0 0 auto; }
  .primary-nav__item--grouped { flex:0 0 auto !important; padding-right:3px !important; }
  .primary-nav__submenu-trigger { flex:0 0 27px !important; }
  .site-menu__intro h2 { font-size:25px; }
  .site-menu__search { min-height:49px; margin-top:14px; }
  .site-menu__subitems { margin-left:31px; }
  .primary-submenu { width:calc(100vw - 24px); max-height:calc(100dvh - var(--submenu-top,112px) - 12px); border-radius:8px; }
  .primary-submenu__item { min-height:48px; }
}

@media (orientation:landscape) and (max-height:620px) {
  .primary-submenu { max-height:calc(100dvh - var(--submenu-top,52px) - 7px); }
  .primary-submenu__item { min-height:42px; }
  .primary-submenu__heading { padding-block:6px; }
}
