.elementor-147 .elementor-element.elementor-element-mbbar001{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(36,55,83,0.6);--border-color:rgba(36,55,83,0.6);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:999;}.elementor-147 .elementor-element.elementor-element-mbbar001:not(.elementor-motion-effects-element-type-background), .elementor-147 .elementor-element.elementor-element-mbbar001 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(8,17,30,0.85);}.elementor-147 .elementor-element.elementor-element-mbinr001{--display:flex;--min-height:82px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-147 .elementor-element.elementor-element-mblogo01{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-147 .elementor-element.elementor-element-mbact001{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-147 .elementor-element.elementor-element-mbph0001 .elementor-button-content-wrapper{flex-direction:row;}.elementor-147 .elementor-element.elementor-element-mbcta001 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-147 .elementor-element.elementor-element-mbtrig01 .elementor-icon-wrapper{text-align:center;}.elementor-147 .elementor-element.elementor-element-mbocsec1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-147 .elementor-element.elementor-element-mboffcv1 .e-off-canvas__overlay{background-color:rgba(0,0,0,.8);}.elementor-147 .elementor-element.elementor-element-mboffcv1{--e-off-canvas-justify-content:flex-end;--e-off-canvas-width:420px;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:0.42s;--e-off-canvas-overlay-opacity:1;}.elementor-147 .elementor-element.elementor-element-mbocinr1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-147 .elementor-element.elementor-element-mboched1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-147 .elementor-element.elementor-element-mboclgo1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-147 .elementor-element.elementor-element-mbclose1 .elementor-icon-wrapper{text-align:center;}.elementor-147 .elementor-element.elementor-element-mbocnav1 .elementor-menu-toggle{margin:0 auto;}.elementor-147 .elementor-element.elementor-element-mbocfot1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-147 .elementor-element.elementor-element-mbocph01 .elementor-button-content-wrapper{flex-direction:row;}.elementor-147 .elementor-element.elementor-element-mboccta1 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-147 .elementor-element.elementor-element-mbinr001{--content-width:1600px;}}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

/* containers are targeted by stable Elementor element-id classes — container _css_classes don't render in this build, only widget ones do */
.elementor-element-mbbar001{ position:sticky; top:0; z-index:90; width:100%; background:rgba(8,17,30,.85); border-bottom:1px solid rgba(36,55,83,.6); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.elementor-element-mbinr001{ justify-content:flex-start!important; gap:20px; padding-left:clamp(24px,4.5vw,80px); padding-right:clamp(24px,4.5vw,80px); }
.elementor-element-mbnav001{ flex:0 0 auto!important; width:auto!important; margin-right:auto; }
.mb-nav .elementor-nav-menu--main .elementor-nav-menu{ flex-wrap:nowrap; }

/* logo pill */
.elementor-element-mblogo01{ background:#F3EFE2; border-radius:999px; padding:10px 18px; display:inline-flex; align-items:center; flex:0 0 auto!important; width:-moz-fit-content!important; width:fit-content!important; align-self:center; }
.mb-logo-img img{ height:24px!important; width:auto!important; display:block; }

/* desktop nav */
.mb-nav .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item{ color:#BCC3CC; font-family:'Plus Jakarta Sans',sans-serif; font-weight:500; font-size:14px; line-height:1; letter-spacing:-.005em; padding:14px 8px!important; display:inline-flex; align-items:center; gap:6px; transition:color .2s ease; }
.mb-nav .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item:hover, .mb-nav .elementor-nav-menu--main .elementor-nav-menu>li.current-menu-item>a.elementor-item{ color:#F3EFE2; }
.mb-nav .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item:after{ display:none!important; }
.mb-nav .elementor-nav-menu--main .elementor-item .sub-arrow{ display:inline-flex; opacity:.7; transition:transform .2s ease; }
.mb-nav .elementor-nav-menu--main .elementor-item .sub-arrow i,.mb-nav .elementor-nav-menu--main .elementor-item .sub-arrow svg{ font-size:9px; width:9px; height:9px; }
.mb-nav .elementor-nav-menu--main li.menu-item-has-children:hover>a .sub-arrow{ transform:rotate(180deg); opacity:1; }

/* dropdown panel */
.mb-nav .elementor-nav-menu--main .sub-menu{ background:linear-gradient(180deg,rgba(21,35,58,.98),rgba(14,26,43,.98)); border:1px solid rgba(93,174,62,.18)!important; border-radius:18px; padding:14px!important; min-width:260px; margin-top:18px; box-shadow:0 30px 60px -25px rgba(0,0,0,.7),0 20px 50px -20px rgba(93,174,62,.18); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.mb-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{ color:#BCC3CC!important; font-family:'Plus Jakarta Sans',sans-serif; font-size:13.5px; font-weight:500; padding:10px 14px!important; border-radius:10px; display:flex; align-items:center; gap:10px; transition:color .18s ease,background-color .18s ease; }
.mb-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:before{ content:""; width:4px; height:4px; border-radius:50%; background:transparent; flex-shrink:0; transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.mb-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover{ color:#F3EFE2!important; background:rgba(93,174,62,.08); }
.mb-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover:before{ background:#5DAE3E; transform:scale(1.5); box-shadow:0 0 8px rgba(93,174,62,.6); }

/* multi-column mega panels — CSS columns, so we never override Elementor's display:none/show toggle */
.mb-nav .elementor-nav-menu--main li.mega-2col>.sub-menu{ column-count:2; column-gap:8px; min-width:460px; }
.mb-nav .elementor-nav-menu--main li.mega-3col>.sub-menu{ column-count:3; column-gap:8px; min-width:660px; }
.mb-nav .elementor-nav-menu--main .sub-menu li{ break-inside:avoid; }

/* dropdown header labels */
.mb-nav .elementor-nav-menu--main li.mb-top>.sub-menu:before{ column-span:all; display:block; font-size:10px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:#5DAE3E; padding:6px 14px 12px; margin-bottom:6px; border-bottom:1px solid #243753; }
.mb-nav .elementor-nav-menu--main li.mb-about>.sub-menu:before{ content:"About"; }
.mb-nav .elementor-nav-menu--main li.mb-products>.sub-menu:before{ content:"Capabilities"; }
.mb-nav .elementor-nav-menu--main li.mb-quality>.sub-menu:before{ content:"Standards"; }
.mb-nav .elementor-nav-menu--main li.mb-industries>.sub-menu:before{ content:"Industries"; }
.mb-nav .elementor-nav-menu--main li.mb-resources>.sub-menu:before{ content:"Resources"; }
.mb-nav .elementor-nav-menu--main li.mb-contact>.sub-menu:before{ content:"Contact"; }
.mb-nav .elementor-nav-menu--main li.dd-right>.sub-menu{ left:auto!important; right:0!important; }

/* actions */
.elementor-element-mbact001{ flex:0 0 auto!important; flex-shrink:0!important; width:auto!important; display:flex; align-items:center; gap:18px; }
.mb-phone,.mb-cta{ flex:0 0 auto!important; }
.mb-phone .elementor-button{ background:transparent!important; color:#F3EFE2!important; padding:0!important; box-shadow:none!important; border:none!important; display:inline-flex!important; align-items:center!important; line-height:1; white-space:nowrap; }
.mb-phone .elementor-button .elementor-button-content-wrapper{ display:flex!important; align-items:center!important; gap:10px; }
.mb-phone .elementor-button:hover{ color:#7FCB8F!important; }
.mb-phone .elementor-button-icon{ margin:0!important; width:28px; height:28px; border-radius:50%; background:rgba(93,174,62,.12); border:1px solid rgba(93,174,62,.3); color:#5DAE3E; display:grid; place-items:center; flex-shrink:0; transition:background-color .2s ease; }
.mb-phone .elementor-button:hover .elementor-button-icon{ background:rgba(93,174,62,.2); }
.mb-phone .elementor-button-icon i,.mb-phone .elementor-button-icon svg{ font-size:11px; width:11px; height:11px; line-height:1; }
.mb-phone .elementor-button-text{ font-family:'Big Shoulders Display',sans-serif; font-weight:700; font-size:17px; line-height:1; letter-spacing:-.01em; font-variant-numeric:tabular-nums; display:block; }

.mb-cta .elementor-button{ background:linear-gradient(140deg,#E0710B 0%,#9A3412 100%)!important; color:#F3EFE2!important; border-radius:999px!important; padding:14px 26px!important; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:14.5px; letter-spacing:-.005em; white-space:nowrap; box-shadow:0 10px 28px -10px rgba(154,52,18,.6),inset 0 2px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10); transition:transform .25s ease,box-shadow .25s ease; gap:10px; }
.mb-cta .elementor-button:hover{ transform:translateY(-1px); box-shadow:0 14px 34px -10px rgba(224,113,11,.7),inset 0 2px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.14); }
.mb-cta .elementor-button-icon i,.mb-cta .elementor-button-icon svg{ font-size:11px; width:11px; height:11px; transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.mb-cta .elementor-button:hover .elementor-button-icon i,.mb-cta .elementor-button:hover .elementor-button-icon svg{ transform:translateX(4px); }

/* ===== hamburger trigger (Icon widget) — shown <=1279, opens the off-canvas ===== */
.mb-trigger{ display:none!important; flex:0 0 auto!important; }
.mb-trigger .elementor-widget-container,.mb-trigger .elementor-icon-wrapper{ line-height:0; }
.mb-trigger .elementor-icon{ color:#F3EFE2; background:rgba(255,255,255,.04); border:1px solid rgba(243,239,226,.14); border-radius:12px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:0; transition:background-color .2s ease,border-color .2s ease,color .2s ease; }
.mb-trigger .elementor-icon:hover,.mb-trigger .elementor-icon:focus-visible{ background:rgba(93,174,62,.08); border-color:#5DAE3E; color:#fff; outline:none; }
.mb-trigger .elementor-icon svg,.mb-trigger .elementor-icon i{ width:20px!important; height:20px!important; font-size:20px!important; fill:currentColor; }

/* ===== OFF-CANVAS PANEL (native Elementor Pro Off-Canvas widget) =====
   The widget provides the fixed panel, overlay, slide animation, ESC/overlay close, and
   (prevent_scroll) the <body> scroll-lock — which keeps the close button pinned while the
   list scrolls, fixing the previous "X scrolls away" bug natively. */
.elementor-element-mbocsec1{ position:absolute; }
.elementor-element-mboffcv1{ --e-off-canvas-width:min(420px,100vw); }
.elementor-element-mboffcv1 .e-off-canvas__overlay{ background:rgba(8,17,30,.72)!important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.elementor-element-mboffcv1 .e-off-canvas__content{ background:linear-gradient(180deg,#0E1A2B 0%,#08111E 100%)!important; border-left:1px solid rgba(93,174,62,.18); box-shadow:-30px 0 80px -30px rgba(0,0,0,.8)!important; overscroll-behavior:contain; }
.elementor-element-mbocinr1{ min-height:100%; display:flex; flex-direction:column; padding:0!important; }

/* head: logo pill + close — sticky so the close never scrolls away */
.elementor-element-mboched1{ position:sticky; top:0; z-index:3; background:#0E1A2B; padding:18px 20px!important; border-bottom:1px solid rgba(36,55,83,.6); flex:0 0 auto; }
.elementor-element-mboclgo1{ background:#F3EFE2; border-radius:999px; padding:9px 16px; display:inline-flex!important; align-items:center; flex:0 0 auto!important; width:-moz-fit-content!important; width:fit-content!important; }
.mb-oc-logo-img img{ height:22px!important; width:auto!important; display:block; }
.mb-oc-close .elementor-icon{ color:#F3EFE2; background:rgba(255,255,255,.04); border:1px solid rgba(243,239,226,.14); border-radius:10px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; transition:background-color .2s ease,border-color .2s ease,color .2s ease; }
.mb-oc-close .elementor-icon:hover,.mb-oc-close .elementor-icon:focus-visible{ background:rgba(224,113,11,.14); border-color:#E0710B; color:#fff; outline:none; }
.mb-oc-close .elementor-icon svg,.mb-oc-close .elementor-icon i{ width:18px!important; height:18px!important; font-size:18px!important; fill:currentColor; }

/* nav: force the native accordion dropdown visible & static inside the panel */
.elementor-element-mbocnav1{ padding:14px 18px 6px; flex:0 0 auto; }
.mb-oc-nav .elementor-nav-menu--main{ display:none!important; }
.mb-oc-nav .elementor-menu-toggle{ display:none!important; }
.mb-oc-nav nav.elementor-nav-menu--dropdown{ display:block!important; position:static!important; max-height:none!important; width:auto!important; margin:0!important; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; transform:none!important; }
.mb-oc-nav nav.elementor-nav-menu--dropdown .elementor-nav-menu{ display:block; }
.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-item{ color:#F3EFE2!important; font-family:'Big Shoulders Display',sans-serif!important; font-weight:700!important; font-size:22px!important; letter-spacing:-.005em; line-height:1.1; padding:18px 8px!important; border:0!important; border-bottom:1px solid rgba(36,55,83,.5)!important; display:flex; align-items:center; justify-content:space-between; background:transparent!important; transition:color .2s ease; }
.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-item:hover,.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-item.highlighted{ color:#7FCB8F!important; background:transparent!important; }
.mb-oc-nav nav.elementor-nav-menu--dropdown .sub-arrow{ margin:0!important; padding:0!important; opacity:.65; transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.mb-oc-nav nav.elementor-nav-menu--dropdown .sub-arrow i,.mb-oc-nav nav.elementor-nav-menu--dropdown .sub-arrow svg{ width:12px!important; height:12px!important; font-size:12px!important; transform:none!important; }
.mb-oc-nav nav.elementor-nav-menu--dropdown .elementor-item-active .sub-arrow,.mb-oc-nav nav.elementor-nav-menu--dropdown .highlighted .sub-arrow{ transform:rotate(180deg); opacity:1; }

/* drawer sublist (accordion) — bullet hidden until hover, matching the desktop panels */
.mb-oc-nav nav.elementor-nav-menu--dropdown .sub-menu{ padding:4px 0 12px!important; background:transparent!important; border:0!important; box-shadow:none!important; }
.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item{ color:#BCC3CC!important; font-family:'Plus Jakarta Sans',sans-serif!important; font-weight:500!important; font-size:14px!important; padding:9px 10px!important; border:0!important; border-radius:8px; display:flex; align-items:center; gap:10px; background:transparent!important; transition:color .2s ease,background-color .2s ease; }
.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item:before{ content:""; width:4px; height:4px; border-radius:50%; background:transparent; flex-shrink:0; transition:background-color .2s ease; }
.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover,.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item.highlighted{ color:#F3EFE2!important; background:rgba(93,174,62,.08)!important; }
.mb-oc-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover:before{ background:#5DAE3E; }

/* foot: phone + CTA */
.elementor-element-mbocfot1{ margin-top:auto; padding:20px!important; border-top:1px solid rgba(36,55,83,.6); gap:14px!important; flex:0 0 auto; }
.mb-oc-phone .elementor-button{ background:transparent!important; color:#F3EFE2!important; padding:6px 0!important; box-shadow:none!important; border:none!important; display:inline-flex!important; align-items:center!important; justify-content:flex-start!important; line-height:1; }
.mb-oc-phone .elementor-button .elementor-button-content-wrapper{ display:flex!important; align-items:center!important; gap:12px; }
.mb-oc-phone .elementor-button:hover{ color:#7FCB8F!important; }
.mb-oc-phone .elementor-button-icon{ margin:0!important; width:38px; height:38px; border-radius:50%; background:rgba(93,174,62,.12); border:1px solid rgba(93,174,62,.3); color:#5DAE3E; display:grid; place-items:center; flex-shrink:0; }
.mb-oc-phone .elementor-button-icon i,.mb-oc-phone .elementor-button-icon svg{ font-size:13px; width:13px; height:13px; }
.mb-oc-phone .elementor-button-text{ font-family:'Big Shoulders Display',sans-serif; font-weight:700; font-size:22px; line-height:1; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.mb-oc-cta .elementor-button{ width:100%; justify-content:center; background:linear-gradient(140deg,#E0710B 0%,#9A3412 100%)!important; color:#F3EFE2!important; border-radius:999px!important; padding:15px 26px!important; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:15px; letter-spacing:-.005em; box-shadow:0 10px 28px -10px rgba(154,52,18,.6),inset 0 2px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10); gap:10px; transition:transform .25s ease,box-shadow .25s ease; }
.mb-oc-cta .elementor-button:hover{ transform:translateY(-1px); }
.mb-oc-cta .elementor-button-icon i,.mb-oc-cta .elementor-button-icon svg{ font-size:12px; width:12px; height:12px; }

/* ===== responsive: collapse to the off-canvas trigger at <=1279. The full-label nav needs
   ~1225px, so we switch earlier than Elementor's native 1024 breakpoint to avoid an overflow
   dead zone. The off-canvas itself lives outside the header bar, so it always escapes to the
   viewport regardless of the bar's backdrop-filter. ===== */
@media (max-width:1279px){
  html{ overflow-x:clip; }
  .elementor-element-mbnav001{ display:none!important; }
  .mb-trigger{ display:inline-flex!important; }
  .elementor-element-mbinr001>.e-con-inner{ gap:14px!important; }
  .elementor-element-mblogo01{ margin-right:auto!important; }
}
@media (max-width:1399px){ .mb-phone{ display:none!important; } }
@media (max-width:639px){ .mb-cta{ display:none!important; } }
/* mbs-sticky-header */
.elementor-element-mbbar001{ -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:background-color .3s ease, box-shadow .3s ease; }
.elementor-element-mbbar001.elementor-sticky--active{ box-shadow:0 10px 34px -16px rgba(0,0,0,.75); }/* End custom CSS */