/* JM Automated — primary nav: Services mega menu (Start here row + Fix it / Inspect it / Keep it running).
   Loads on every build.py page right after jms-v3.css. Desktop = html.device-desktop/.device-wide (>=1024).
   Phone/tablet (<1024, or <=900 without JS) reuse the stacked .nav-drop rules from jms-plant.css. */
.mast-pro .nav-mega .mega-panel {
  left: -1rem; right: auto; top: 100%;
  width: min(58rem, calc(100vw - 4rem));
  padding: 1.1rem 1.25rem 1.2rem;
  background: #07131c;
}
body.v3 .mast-pro .nav-mega .mega-panel { background: var(--ink, #07131c); }
.mega-lab {
  margin: 0 0 0.5rem; font-family: var(--kicker, "Barlow Condensed", sans-serif);
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--mark-yellow, #FFC20E);
}
.mega-start {
  display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)); gap: 0.6rem; align-items: stretch;
  padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,0.14);
}
.mega-start .mega-lab { align-self: center; margin: 0 0.4rem 0 0; }
.mast-pro .mega-start a, .nav .mega-start a {
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.2rem;
  padding: 0.7rem 0.85rem; border: 1px solid rgba(255,255,255,0.16); border-radius: 10px;
  white-space: normal; letter-spacing: 0; font-size: 0.95rem; text-transform: none;
}
.mega-start a b { font-weight: 700; color: #fff; }
.mega-start a span { font-size: 0.8rem; font-weight: 400; color: rgba(255,255,255,0.72); }
.mega-start a:hover { border-color: var(--mark-yellow, #FFC20E); }
.mega-start a:hover b, .mega-start a[aria-current] b { color: var(--mark-yellow, #FFC20E); }
.mega-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.mast-pro .mega-col a, .nav .mega-col a {
  display: block; padding: 0.45rem 0; white-space: normal;
  letter-spacing: 0; font-size: 0.95rem; text-transform: none;
}
/* header row: no wrap on desktop */
html.device-desktop .mast-pro .nav, html.device-wide .mast-pro .nav { flex-wrap: nowrap; white-space: nowrap; }
html.device-desktop .mast-pro .nav { gap: 1.15rem; }
html.device-desktop .mast-pro .mast-actions .btn { white-space: nowrap; }

/* phone and tablet: stacked */
@media (max-width: 900px) {
  .nav-mega .mega-panel { width: 100%; padding: 0 0 0.4rem 0.9rem; }
  .mega-start { display: block; padding: 0.4rem 0 0; margin: 0; border: 0; }
  .mega-start .mega-lab, .mega-col .mega-lab { margin: 0.9rem 0 0.1rem; }
  .mast-pro .mega-start a, .nav .mega-start a { border: 0; border-radius: 0; padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .mega-start a span { display: none; }
  .mega-start a b { font-weight: 600; }
  .mega-cols { display: block; }
  .mast-pro .mega-col a, .nav .mega-col a { padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
}
html.device-mobile .nav-mega .mega-panel, html.device-tablet .nav-mega .mega-panel { width: 100%; padding: 0 0 0.4rem 0.9rem; }
html.device-mobile .mega-start, html.device-tablet .mega-start { display: block; padding: 0.4rem 0 0; margin: 0; border: 0; }
html.device-mobile .mega-lab, html.device-tablet .mega-lab { margin: 0.9rem 0 0.1rem !important; }
html.device-mobile .mast-pro .mega-start a, html.device-tablet .mast-pro .mega-start a { border: 0; border-radius: 0; padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
html.device-mobile .mega-start a span, html.device-tablet .mega-start a span { display: none; }
html.device-mobile .mega-cols, html.device-tablet .mega-cols { display: block; }
html.device-mobile .mast-pro .mega-col a, html.device-tablet .mast-pro .mega-col a { padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
/* phone/tablet: same type size as the other dropdowns */
@media (max-width: 900px) {
  .mast-pro .mega-start a, .nav .mega-start a, .mast-pro .mega-col a, .nav .mega-col a { font-size: .72rem; }
  .mega-lab { font-size: .66rem; }
}
html.device-mobile .mast-pro .mega-start a, html.device-tablet .mast-pro .mega-start a,
html.device-mobile .mast-pro .mega-col a, html.device-tablet .mast-pro .mega-col a { font-size: .72rem; }
html.device-mobile .mega-lab, html.device-tablet .mega-lab { font-size: .66rem; }
/* nav v2: Services holds methods only (2 columns); Solutions is its own dropdown */
.mast-pro .nav-mega .mega-panel { width: min(46rem, calc(100vw - 14rem)); }
.mega-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-soon { display: block; padding: 0.45rem 0; font-size: 0.95rem; font-weight: 600; color: rgba(255,255,255,0.55); white-space: normal; }
.mega-soon em { font-style: normal; margin-left: .35rem; padding: .08rem .45rem; border-radius: 999px; background: rgba(255,194,14,.18); color: var(--mark-yellow, #FFC20E); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 900px) { .mega-soon { padding: .75rem 0; font-size: .72rem; border-bottom: 1px solid rgba(255,255,255,0.08); } }
html.device-mobile .mega-soon, html.device-tablet .mega-soon { padding: .75rem 0; font-size: .72rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
/* footer v2: brand + Company / Services / Solutions / Resources on one row */
body.v3 .foot-c .foot-inner { grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr)) !important; gap: 12px 28px !important; }
@media (max-width: 1000px) { body.v3 .foot-c .foot-inner { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } body.v3 .foot-c .foot-brand { grid-column: 1 / -1; } }
@media (max-width: 760px) { body.v3 .foot-c .foot-inner { grid-template-columns: 1fr 1fr !important; gap: 18px 16px !important; } }
/* nav v3: no Start here row; Diagnose it / Fix it / Keep it running + slim footer row */
.mast-pro .nav-mega .mega-panel { width: min(48rem, calc(100vw - 14rem)); padding: 1.15rem 1.35rem 0; }
.mega-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.mega-foot { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem -1.35rem 0; padding: .75rem 1.35rem; border-top: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.03); border-radius: 0 0 14px 14px; }
.mast-pro .mega-foot a, .nav .mega-foot a { display: inline-block; padding: .2rem 0; font-size: .85rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--mark-yellow, #FFC20E); white-space: nowrap; }
.mast-pro .mega-foot a:hover { color: #fff; }
@media (max-width: 900px) {
  .mast-pro .nav-mega .mega-panel { padding: 0 0 .4rem .9rem; }
  .mega-cols { display: block; }
  .mega-foot { display: block; margin: .4rem 0 0; padding: 0; border: 0; background: none; border-radius: 0; }
  .mast-pro .mega-foot a, .nav .mega-foot a { display: block; padding: .75rem 0; font-size: .72rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
}
html.device-mobile .mast-pro .nav-mega .mega-panel, html.device-tablet .mast-pro .nav-mega .mega-panel { padding: 0 0 .4rem .9rem; width: 100%; }
html.device-mobile .mega-foot, html.device-tablet .mega-foot { display: block; margin: .4rem 0 0; padding: 0; border: 0; background: none; border-radius: 0; }
html.device-mobile .mast-pro .mega-foot a, html.device-tablet .mast-pro .mega-foot a { display: block; padding: .75rem 0; font-size: .72rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
