/* Grouped primary nav — desktop dropdowns, mobile accordion. 44px taps. */
.nav-group{position:relative;margin:0;padding:0;border:0;background:transparent}
.nav-group>summary{
  list-style:none;cursor:pointer;border-radius:10px;align-items:center;min-height:44px;padding:.45rem .55rem;
  display:inline-flex;font:inherit;font-weight:600;color:inherit;user-select:none
}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:"";margin-left:.35rem;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.nav-group[open]>summary{color:#fff;box-shadow:inset 0 -2px 0 var(--yellow)}
.nav-sub{
  display:flex;flex-direction:column;gap:.15rem;min-width:12rem
}
@media (width>=720px){
  .nav-group>.nav-sub{
    position:absolute;top:100%;left:0;z-index:40;
    background:#111;border:1px solid #333;border-radius:12px;padding:.35rem;
    box-shadow:0 8px 24px rgba(0,0,0,.35)
  }
  .nav-group:not([open])>.nav-sub{display:none}
  .nav-group>.nav-sub a{width:100%}
}
@media (width<=719px){
  .nav-group{width:100%}
  .nav-group>summary{width:100%;padding:.55rem .7rem}
  .nav-group[open]>summary{box-shadow:inset 3px 0 0 var(--yellow)}
  .nav-group>.nav-sub{padding:.15rem 0 .15rem .55rem}
  .nav-group>.nav-sub a{width:100%}
}
@media (width>=720px){.nav-group>.nav-sub{left:auto;right:0}}
