/* ── NAV ── */
nav.site-nav {
animation: navReveal .18s ease forwards;
position: fixed; top: 0; left: 0; right: 52px; z-index: 100;
display: flex; flex-direction: column; align-items: stretch;
background: rgba(7,15,26,0.95);
backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(30,115,190,0.18);
}
.nav-main {
display: flex; align-items: center; gap: 0;
padding: 0 2rem; height: 64px;
}
.nav-logo { margin-right: 2rem; flex-shrink: 0; }
.nav-logo img { height: 28px; display: block; }
.nav-links { display: flex; align-items: center; gap: 0; flex: 1; }
.nav-links > a, .nav-item > .nav-top {
display: flex; align-items: center; gap: 5px;
padding: 0 1rem; height: 64px;
font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
color: var(--mist); cursor: pointer; white-space: nowrap;
transition: color .2s;
}
.nav-links > a:hover, .nav-item:hover > .nav-top { color: var(--electric); }
.nav-top svg { width: 10px; height: 10px; transition: transform .2s; flex-shrink: 0; }
.nav-item:hover .nav-top svg { transform: rotate(180deg); }
.nav-item { position: relative; }
.nav-dropdown {
display: none; position: absolute; top: 64px; left: 0;
background: rgba(7,15,26,0.98);
border: 1px solid rgba(30,115,190,0.22);
border-top: none;
border-radius: 0 0 10px 10px;
padding: 1.4rem 1.6rem;
box-shadow: 0 20px 60px rgba(0,0,0,0.6);
backdrop-filter: blur(16px);
display: none; flex-direction: row; gap: 2rem;
min-width: 520px;
}
.nav-item:hover .nav-dropdown { display: flex; }
.nav-group { display: flex; flex-direction: column; gap: 0; min-width: 150px; }
.nav-group-label {
font-family: 'Roboto Mono', monospace; font-size: .6rem; font-weight: 700;
letter-spacing: .14em; text-transform: uppercase;
color: var(--electric); padding: 0 .5rem .6rem; border-bottom: 1px solid rgba(30,115,190,0.2);
margin-bottom: .4rem;
}
.nav-sub-label {
font-family: 'Roboto Mono', monospace; font-size: .55rem; font-weight: 700;
letter-spacing: .12em; text-transform: uppercase;
color: rgba(30,115,190,0.7); padding: .5rem .5rem .3rem; margin-top: .2rem;
}
.nav-group a {
font-size: .78rem; font-weight: 500; color: var(--mist);
padding: .35rem .5rem; border-radius: 4px;
transition: background .15s, color .15s; white-space: nowrap;
}
.nav-group a:hover { background: rgba(30,115,190,0.15); color: #fff; }
.nav-group a.nav-soon { opacity: 0.38; pointer-events: none; }
.nav-group a.nav-soon::after { content: ' ·'; }
.nav-divider { width: 1px; background: rgba(30,115,190,0.18); align-self: stretch; }
/* Wide dropdown — positioned relative to nav bar, centred on screen */
.nav-item:has(.nav-dropdown--wide) { position: static; }
.nav-dropdown--wide {
  flex-wrap: wrap;
  min-width: 0;
  width: min(960px, calc(100vw - 80px));
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  row-gap: 1.4rem;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
}
.nav-dropdown--wide .nav-divider { display: none; }
.nav-dropdown--wide .nav-group { flex: 0 0 calc(25% - 1.5rem); min-width: 130px; }
.nav-cta {
margin-left: auto; flex-shrink: 0;
background: var(--blue); color: #fff;
padding: .45rem 1.2rem; border-radius: 4px;
font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
transition: background .2s; white-space: nowrap;
}
.nav-cta:hover { background: var(--electric); color: var(--abyss); }
.nav-wa {
margin-left: .6rem; flex-shrink: 0;
display: inline-flex; align-items: center; gap: .45rem;
background: #25d366; color: #fff;
padding: .45rem 1.1rem; border-radius: 4px;
font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
transition: opacity .2s; white-space: nowrap; text-decoration: none;
}
.nav-wa:hover { opacity: .85; color: #fff; }
.nav-wa svg { flex-shrink: 0; }
.ham-btn {
display: none; flex-direction: column; gap: 5px; cursor: pointer;
background: none; border: none; padding: 4px; margin-left: 1rem;
}
.ham-btn span { display: block; width: 24px; height: 2px; background: var(--mist); border-radius: 2px; transition: transform .3s, opacity .3s; }
.ham-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ham-btn.open span:nth-child(2) { opacity: 0; }
.ham-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu {
display: none; position: fixed; inset: 0; right: 0; width: 100vw; z-index: 99;
background: rgba(7,15,26,0.98); padding: 6rem 2rem 2rem;
flex-direction: column; gap: .2rem; overflow-y: auto;
}
.mobile-menu.open { display: flex; }
.mob-section-label {
font-family: 'Roboto Mono', monospace; font-size: .58rem; font-weight: 700;
letter-spacing: .14em; text-transform: uppercase; color: var(--electric);
padding: 1rem 0 .4rem; border-bottom: 1px solid rgba(30,115,190,0.2);
margin-bottom: .2rem;
}
.mobile-menu a {
font-size: .95rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
color: var(--mist); padding: .5rem 0;
}
.mobile-menu a:hover { color: var(--electric); }
.mobile-menu a.nav-soon { opacity: 0.35; pointer-events: none; }
.mob-cta {
background: var(--blue); color: #fff; padding: .8rem 2rem;
border-radius: 4px; font-size: .9rem; margin-top: 1rem; text-align: center;
}
.mob-wa {
display: flex; align-items: center; justify-content: center; gap: .6rem;
background: #25d366; color: #fff; padding: .8rem 2rem;
border-radius: 4px; font-size: .9rem; margin-top: .5rem; text-align: center;
font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.mob-wa:hover { opacity: .85; color: #fff; }
/* ── MOBILE ACCORDION ── */
.mob-acc { border-bottom: 1px solid rgba(30,115,190,0.12); }
.mob-acc-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: .7rem 0;
}
.mob-acc-row > a {
  font-size: .95rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--mist); flex: 1;
}
.mob-acc-toggle {
  width: 32px; height: 32px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(30,115,190,0.15); border: 1px solid rgba(30,115,190,0.3);
  border-radius: 6px; color: var(--electric);
  font-size: 1.2rem; font-weight: 700; line-height: 1;
  cursor: pointer; font-family: inherit;
  transition: background .2s, transform .2s;
}
.mob-acc-toggle.active { background: rgba(30,115,190,0.3); }
.mob-acc-panel {
  max-height: 0; overflow: hidden;
  transition: max-height .35s ease;
  display: flex; flex-direction: column; gap: 0;
  padding-left: .8rem;
}
.mob-acc-panel a {
  font-size: .82rem !important; font-weight: 500 !important;
  padding: .35rem 0 !important; text-transform: none !important;
  letter-spacing: .02em !important;
}
.mob-sub-label {
  font-family: 'Roboto Mono', monospace; font-size: .55rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--electric); padding: .6rem 0 .2rem; margin-top: .2rem;
  opacity: .7;
}
@keyframes navReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 900px) {
.nav-links, .nav-cta, .nav-wa, .nav-announce { display: none; }
.ham-btn { display: flex; margin-left: auto; }
}
