:root { --blue:#2f6bff; }
.bar { border-bottom:1px solid #1a1a1a; background:#000; position:relative; z-index:60; }
.bar-inner { max-width:1600px; width:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:16px 48px; min-height:80px; box-sizing:border-box; }
.logo { height:48px; width:auto; display:block; }
nav { display:flex; align-items:center; flex-wrap:nowrap; }
nav > a {
  color:#fff; text-decoration:none; margin-left:22px; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; font-weight:600;
}
nav > a.on { color:var(--blue); }

.nav-dd { position:relative; display:inline-block; }
.nav-label, .nav-sub-label {
  background:none; border:0; color:#fff; font:inherit; letter-spacing:.08em;
  text-transform:uppercase; font-weight:600; font-size:12px; margin-left:22px;
  cursor:pointer; padding:0; height:48px; display:inline-flex; align-items:center;
  font-family:inherit; gap:6px;
}
.nav-dd.on > .nav-label, .nav-label.on { color:var(--blue); }
.nav-dd::after { content:""; position:absolute; left:0; right:0; top:100%; height:14px; }

.chev {
  width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px); display:inline-block; transition:transform .2s ease;
  margin-left:2px;
}
.nav-dd.open > .nav-label .chev,
.nav-sub.open > .nav-sub-label .chev { transform:rotate(225deg) translateY(-1px); }

.mega {
  display:none;
  position:absolute; left:0; top:100%;
  background:#0d0d0d; border:1px solid #1a1a1a;
  padding:10px 0; min-width:230px; z-index:70;
}
.mega a, .nav-sub-label {
  display:block; margin:0; padding:10px 20px; height:auto;
  font-size:14px; letter-spacing:0; text-transform:none; font-weight:500;
  color:#fff; white-space:nowrap; text-decoration:none; text-align:left;
}
.mega a:hover, .nav-sub-label:hover { color:#2f6bff; }

.nav-sub { position:relative; }
.mega .nav-sub-label, .nav-sub-label { width:100%; margin-left:0; height:auto; justify-content:space-between; }
.nav-sub .chev { transform:rotate(-45deg); margin-left:16px; }
.nav-sub.open > .nav-sub-label .chev { transform:rotate(45deg); }

.mega-sub {
  display:none;
  position:absolute; right:100%; top:-1px;
  background:#0d0d0d; border:1px solid #1a1a1a;
  padding:10px 0; min-width:250px; z-index:80;
}
.mega-sub a { display:block; padding:10px 20px; font-size:14px; font-weight:500; color:#fff; text-transform:none; letter-spacing:0; }

/* Desktop: hover flyouts, stacked vertically */
@media (min-width:901px){
  .nav-dd:hover > .mega,
  .nav-dd:focus-within > .mega,
  .nav-dd.open > .mega { display:block; }
  .nav-sub:hover > .mega-sub,
  .nav-sub:focus-within > .mega-sub,
  .nav-sub.open > .mega-sub { display:block; }
  .nav-dd:hover > .nav-label .chev,
  .nav-dd:focus-within > .nav-label .chev { transform:rotate(225deg) translateY(-1px); }
}


.nav-toggle{
  display:none;
  background:none;border:0;padding:8px;margin-left:auto;cursor:pointer;
  width:44px;height:44px;position:relative;flex:none;
}
.nav-toggle span{
  position:absolute;left:10px;right:10px;height:1.5px;background:#fff;
  transition:transform .2s ease, opacity .2s ease, top .2s ease;
}
.nav-toggle span:nth-child(1){ top:14px; }
.nav-toggle span:nth-child(2){ top:21px; }
.nav-toggle span:nth-child(3){ top:28px; }
.bar.nav-open .nav-toggle span:nth-child(1){ top:21px; transform:rotate(45deg); }
.bar.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
.bar.nav-open .nav-toggle span:nth-child(3){ top:21px; transform:rotate(-45deg); }

/* Mobile: in-place accordion */
@media (max-width:900px){
  html,body { overflow-x:hidden; }
  .bar-inner { padding:12px 16px; height:auto; min-height:64px; flex-wrap:wrap; gap:4px 0; }
  .logo { height:36px; }
  .nav-toggle { display:block; }
  nav { display:none; flex-wrap:wrap; width:100%; align-items:stretch; }
  .bar.nav-open nav { display:flex; }
  nav > a, .nav-dd { width:100%; margin:0; }
  nav > a {
    margin:0; padding:14px 0; display:block; font-size:12px; letter-spacing:.06em;
  }
  .nav-dd { display:block; }
  .nav-dd::after { display:none; }
  .nav-label {
    margin:0; width:100%; height:auto; padding:14px 0;
    font-size:12px; letter-spacing:.06em; justify-content:space-between;
  }
  .mega, .mega-sub,
  .nav-dd.open > .mega,
  .nav-sub.open > .mega-sub {
    position:static;
    top:auto;
    left:auto;
    right:auto;
    display:none;
    min-width:0;
    width:100%;
    border:0;
    background:transparent;
    padding:0 0 8px 12px;
    z-index:auto;
  }
  .nav-dd.open > .mega { display:block; }
  .nav-sub.open > .mega-sub { display:block; }
  .mega a, .nav-sub-label, .mega-sub a {
    padding:13px 0; white-space:normal;
  }
  .nav-sub .chev { transform:rotate(45deg); }
  .nav-sub.open > .nav-sub-label .chev { transform:rotate(225deg) translateY(-1px); }
  .two,.secs,.stats-row,.serve-grid,.help-grid,.feat { grid-template-columns:1fr !important; }
  .hero-copy,.band,.wrap,.stats,.help { padding-left:16px !important; padding-right:16px !important; }
}

footer.site-footer{
  border-top:1px solid #1a1a1a;
  padding:28px 48px 22px;
  color:#777;
  font-size:13px;
  font-family:Outfit, -apple-system, sans-serif;
  display:grid;
  grid-template-columns:1fr auto;
  column-gap:32px;
  align-items:start;
}
.site-footer .footer-brand{grid-column:1;grid-row:1;font-weight:600;color:#777;margin:0 0 6px}
.site-footer .footer-contact{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:4px}
.site-footer .footer-links{grid-column:2;grid-row:1 / span 2;display:flex;gap:18px;align-items:flex-start;justify-self:end}
.site-footer .footer-legal{
  grid-column:1 / -1;
  grid-row:3;
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #1a1a1a;
  font-size:12px;
  color:#6b6f76;
}
.site-footer a{color:#777;text-decoration:none}
.site-footer a:hover{color:#2F6BFF}
.site-footer .footer-legal a{color:#6b6f76;font-size:12px}
.site-footer .footer-legal a:hover{color:#2F6BFF}
@media (max-width:640px){
  footer.site-footer{padding:20px 16px;grid-template-columns:1fr}
  .site-footer .footer-brand,
  .site-footer .footer-contact,
  .site-footer .footer-links,
  .site-footer .footer-legal{grid-column:1;justify-self:start}
  .site-footer .footer-links{grid-row:3;flex-direction:column;gap:8px;align-items:flex-start}
  .site-footer .footer-legal{grid-row:4;flex-direction:column;align-items:flex-start}
}

