/* Base */
/* .headerNav { position: relative; } */
.siteNav { display: none; }

/* Mobile toggle (SVG) */
.navToggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:10px;
  cursor:pointer;
  color:#fff; /* controls SVG via currentColor */
}
.navToggle__icon{
  width:28px;
  height:28px;
  display:block;
  transition:opacity .15s ease, transform .15s ease;
}
.navToggle:hover .navToggle__icon{ opacity:.85; }
.navToggle.isActive .navToggle__icon{ opacity:.55; }

/* Desktop nav visible on desktop */
@media (min-width: 821px){
  .navToggle { display:none; }
  .siteNav { display:block; }
}

/* Desktop top nav */
.siteNav__top{
  display:flex;
  align-items:stretch;
  list-style:none;
  margin:0;
  padding:0;
}
/* .siteNav__topItem{ position:relative; } */
.siteNav__topLink{
  display:flex;
  align-items:center;
  padding:24px 34px;
  text-decoration:none;
  font-weight:800;
  color:#fff;
  justify-content: center;
}
.siteNav__topLink--cta{ background:#0a4b73; }

/* Mega base */
.mega{
  position:absolute;
  left:0;
  top:100%;
  width:100%;
  z-index:100;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
@media (min-width: 821px){
  .hasMega:hover .mega,
  .hasMega:focus-within .mega{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
}
.mega.isOpen{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.mega__inner{
  margin:0 auto;
  max-width:1280px;
  background:rgb(32 37 42);
  box-shadow:0 12px 35px rgba(0,0,0,.35);
  display:grid;
  grid-template-columns:360px 1fr;
  min-height:520px;
}

/* Products mega */
.mega__rail{ background:rgba(10,16,22,.94); padding:0; }
.mega__railItem{
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  color:#fff;
  padding:20px 26px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  cursor:pointer;
}
.mega__railItem + .mega__railItem{ border-top:1px solid rgba(255,255,255,.08); }
.mega__railItem.isActive{ background:rgba(255,255,255,.08); }
.mega__railTitle{ font-weight:900; letter-spacing:.02em; }
.mega__railSub{ opacity:.7; font-size:13px; margin-top:4px; }
.mega__chev{ opacity:.5; align-self:center; }

.mega__panels{ padding:26px; }
.mega__panel{ display:none; height:100%; }
.mega__panel.isActive{ display:flex; flex-direction:column; }

.mega__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  padding:6px 6px 16px;
}
.megaTile{
  text-decoration:none;
  color:#fff;
  display:grid;
  grid-template-rows:auto 1fr;
  border-left:1px solid rgba(255,255,255,.18);
  padding-left:18px;
  min-height:190px;
}
.megaTile__title{ font-weight:900; text-align:center; margin:6px 0 14px; }
.megaTile__img{
  width:100%;
  max-height:150px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.35));
}

.mega__ctaRow{
  margin-top:auto;
  display:flex;
  justify-content:center;
  padding:22px 0 6px;
}
.mega__cta{
  display:inline-block;
  padding:14px 26px;
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:13px;
}
.mega__cta:hover{ border-color:rgba(255,255,255,.5); }

/* Brands mega */
.mega__inner--brands{
  grid-template-columns:1fr;
  min-height:auto;
  background:rgba(10,16,22,.94);
  padding:56px 46px;
}
.brandsGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:60px 90px;
  align-items:center;
  justify-items:center;
  min-height:380px;
}
.brandLogo{ display:flex; align-items:center; justify-content:center; width:100%; text-decoration:none; }
.brandLogo__img{
  width:100%;
  height:auto;
  object-fit:contain;
  opacity:.9;
  transition:opacity .15s ease, transform .15s ease;
  max-height: 160px;
  max-width: 250px;
}
.brandLogo:hover .brandLogo__img{ opacity:1; transform:translateY(-2px); }
.brandLogo__fallback{ color:#fff; font-weight:800; letter-spacing:.02em; opacity:.9; }

/* Industries mega */
.mega__inner--industries{
  grid-template-columns:1fr;
  min-height:auto;
  background:rgba(10,16,22,.94);
  padding:56px 46px 34px;
}
.industriesGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  column-gap:64px;
  row-gap:34px;
  padding:18px 8px 28px;
}
.industriesLink{
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:13px;
  line-height:1.2;
  opacity:.9;
}
.industriesLink:hover{ opacity:1; }

/* Desktop responsive tweaks */
@media (max-width: 1100px){
  .mega__inner{ grid-template-columns:320px 1fr; }
  .mega__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .industriesGrid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .brandsGrid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:38px 46px; }
  .mega__grid :nth-child(1), .mega__grid :nth-child(3), .mega__grid :nth-child(5) {
    border-left: none !important;}

}
@media (min-width:821px) and (max-width:1000px){
  .brandLogo__img{
    max-height: 128px;
    max-width: 180px;
  }
}
@media (max-width: 900px){
  .industriesGrid{ grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:22px; }
}
@media (max-width: 560px){
  .brandsGrid{ grid-template-columns:1fr; gap:26px; }
}

/* Mobile drawer */
.navOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:200;
}

.mobileNav{
  position:fixed;
  top:0;
  right:0;
  height:100vh;
  width:min(420px, 92vw);
  background:#0a1016;
  z-index:210;
  transform:translateX(100%);
  transition:transform .2s ease;
  display:flex;
  flex-direction:column;
  box-shadow:-10px 0 30px rgba(0,0,0,.4);
}
.mobileNav.isOpen{ transform:translateX(0); }

.mobileNav__header{
  display:flex;
  justify-content:flex-end;
  padding:14px 14px 6px;
}
.mobileNav__close{
  background:transparent;
  border:0;
  color:#fff;
  font-size:20px;
  cursor:pointer;
}
.mobileNav__body{
  overflow:auto;
  padding:10px 14px 22px;
}

/* Accordion */
.mAcc__section{ border-top:1px solid rgba(255,255,255,.10); }
.mAcc__trigger{
  width:100%;
  text-align:left;
  padding:16px 10px;
  background:transparent;
  border:0;
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
}
.mAcc__icon{ opacity:.8; font-size:18px; }
.mAcc__panel{ padding:8px 6px 16px; }

.mTopLink{
  display:block;
  padding:16px 10px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  border-top:1px solid rgba(255,255,255,.10);
}
.mTopLink--cta{ background:#0a4b73; margin-top:8px; border-top:0; }

/* Nested sub-accordion for Machines */
.mSub{ border-top:1px solid rgba(255,255,255,.10); }
.mSub__trigger{
  width:100%;
  text-align:left;
  padding:14px 8px;
  background:transparent;
  border:0;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
}
.mSub__title{ font-weight:900; }
.mSub__icon{ opacity:.8; font-size:18px; }
.mSub__panel{ padding:8px 6px 14px; }

.mList{ list-style:none; margin:0; padding:0; }
.mLink{
  display:block;
  padding:10px 6px;
  color:#fff;
  text-decoration:none;
  opacity:.92;
}
.mLink:hover{ opacity:1; }

.mCta{
  display:inline-block;
  margin-top:10px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:12px;
}

/* Mobile brands grid */
.mBrands{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  padding:8px 2px 10px;
}
.mBrand{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:6px;
  text-decoration:none;
}
.mBrand img{ width:100%; height:auto; object-fit:contain; opacity:.9; }
.mBrand__fallback{ color:#fff; font-weight:900; opacity:.9; }

/* Desktop: hide drawer/overlay */
@media (min-width: 821px){
  .mobileNav{ display:none !important; }
  .headerNav {width:100%;}
  .siteNav__topItem {width:20%;}
  .mega__inner--brands, .mega__inner--industries {grid-template-columns: 1fr;}
}
@media (min-width: 1101px){
  .mega__grid :nth-child(1), .mega__grid :nth-child(4) {
    border-left: none !important;}
}
