/* NYAS navigation: the mark alone on the left, eight items, one call button.
   Phone first. Under 1240px the items live behind a burger and each one opens
   inline like a drawer. From 1240px they sit in the bar and open as a panel.
   Content is in normal flow; only the open panel is positioned. */

.nav{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;gap:10px;
  padding:10px clamp(16px,3vw,40px);
  background:rgba(8,22,15,.84);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav__mark{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin-right:auto}
.nav__mark .mark{height:30px}
.nav__cta{padding:.6em 1.2em;min-height:44px;font-size:var(--t-label);white-space:nowrap}

/* burger */
.nav__burger{
  flex:none;width:44px;height:44px;border:0;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.07);display:grid;place-content:center;gap:5px;
}
.nav__burger span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;
  transition:transform .25s ease,opacity .2s ease}
.nav--open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav--open .nav__burger span:nth-child(2){opacity:0}
.nav--open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* the menu: a drawer under the bar on phones */
.nav__mid{
  display:none;position:absolute;top:100%;left:0;right:0;
  max-height:calc(100svh - 66px);overflow:auto;
  background:#08160F;border-bottom:1px solid rgba(255,255,255,.1);
  padding:6px clamp(16px,3vw,40px) 22px;
}
.nav--open .nav__mid{display:block}
.nav__list{list-style:none;margin:0;padding:0}
.nav__item{display:flex;flex-direction:column}

.nav__link,.nav__btn{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;min-height:54px;padding:0 4px;border:0;cursor:pointer;
  background:none;text-align:left;line-height:1.2;
  font-family:var(--f-body);font-weight:600;font-size:1.0625rem;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav__chev{flex:none;transition:transform .2s ease;opacity:.8}
.nav__btn[aria-expanded="true"] .nav__chev{transform:rotate(180deg)}

/* panel contents */
.mega{padding:4px 0 12px}
.mega[hidden]{display:none}
.mega ul{list-style:none;margin:0;padding:0}
.mega__a{display:block;padding:11px 10px;border-radius:12px}
.mega__a b{
  display:block;font-family:var(--f-head);font-weight:700;font-size:1.0625rem;
  letter-spacing:-.01em;color:#fff;line-height:1.25;
}
.mega__a > span{display:block;margin-top:2px;font-size:var(--t-label);line-height:1.4;color:var(--on-dark-dim)}
a.mega__a:hover{background:rgba(255,255,255,.07)}
a.mega__a:hover b{color:var(--mint)}
.mega__a--soon{cursor:default}
.mega__a--soon b{color:var(--on-dark)}
.mega__a--soon .mega__soon{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--on-dark-dim);margin-top:4px;
}

/* on a desk: items in the bar, panels drop below them */
@media (min-width:1240px){
  .nav{gap:16px}
  .nav__mark{margin-right:0}
  .nav__burger{display:none}
  .nav__mid{
    display:block;position:static;flex:1 1 auto;max-height:none;overflow:visible;
    background:none;border:0;padding:0;
  }
  .nav__list{display:flex;justify-content:center;align-items:center;gap:0}
  .nav__item{position:relative;flex-direction:row;align-items:center}
  .nav__link,.nav__btn{
    width:auto;min-height:44px;padding:0 10px;gap:5px;justify-content:center;
    border:0;border-radius:999px;white-space:nowrap;
    font-weight:500;font-size:var(--t-label);color:var(--on-dark);
  }
  .nav__link:hover,.nav__btn:hover,.nav__btn[aria-expanded="true"]{color:#fff;background:rgba(255,255,255,.07)}
  .mega{
    position:absolute;top:calc(100% + 10px);left:0;width:350px;padding:8px;
    background:#0b1d14;border:1px solid rgba(255,255,255,.13);border-radius:18px;
    box-shadow:0 26px 60px rgba(0,0,0,.55);
  }
  .mega--right{left:auto;right:0}
  /* keeps the panel open while the pointer crosses the gap */
  .mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
}
/* the wide Solutions panel: heading, strapline, columns under small caps labels */
.mega__top{padding:6px 10px 12px}
.mega__all{font-family:var(--f-head);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;color:#fff}
.mega__all:hover{color:var(--mint)}
.mega__top p{margin:4px 0 0;font-size:var(--t-label);line-height:1.45;color:var(--on-dark-dim);max-width:60ch}
.mega__cols{display:grid;gap:0}
.mega__col{padding:10px 0 6px}
.mega__h{margin:0 0 6px;padding:0 10px;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-dim)}
.mega__l{display:block;padding:10px;border-radius:10px;font-size:var(--t-label);font-weight:500;line-height:1.3;color:#fff}
a.mega__l:hover{background:rgba(255,255,255,.07);color:var(--mint)}
.mega__l--dim{color:#7f8c85;cursor:default}
.mega__legend{margin:6px 10px 2px;font-size:.8125rem;color:var(--on-dark-dim)}
@media (min-width:1240px){
  .nav__item--wide{position:static}
  .mega--wide{left:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px);width:auto;top:100%;
    padding:22px 24px 14px;border-radius:0 0 22px 22px}
  .mega--wide .mega__cols{grid-template-columns:repeat(4,1fr)}
  .mega--wide .mega__col{padding:10px 14px 6px;border-left:1px solid rgba(255,255,255,.1)}
  .mega--wide .mega__col:first-child{border-left:0;padding-left:0}
}
@media (prefers-reduced-motion:reduce){
  .nav__burger span,.nav__chev{transition:none}
}
