/* ECOTECH CLEAN CSS BUNDLE — generated from the final approved cascade */


/* ===== SOURCE: mobile-navigation-final.css ===== */


/* ECOTECH MOBILE NAVIGATION — FINAL
   Highest-priority mobile navigation layer. */

@media (max-width:900px){
  .eco-nav-v23{
    position:fixed!important;
    overflow:visible!important;
    z-index:2147483000!important;
    isolation:isolate!important;
  }

  .eco-nav-v23__mobile{
    position:relative!important;
    z-index:2147483003!important;
    pointer-events:auto!important;
  }

  .eco-nav-v23__sheet{
    position:fixed!important;
    top:calc(67px + env(safe-area-inset-top))!important;
    left:7px!important;
    right:7px!important;
    width:auto!important;
    max-width:none!important;
    height:calc(100dvh - 79px - env(safe-area-inset-top))!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    transform:none!important;
    z-index:2147483001!important;
    box-sizing:border-box!important;
    padding:22px 20px calc(28px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    background:var(--eco-nav-bg,#F5F3EC)!important;
    border:1px solid rgba(23,37,43,.12)!important;
    border-radius:18px!important;
    box-shadow:0 24px 70px rgba(23,37,43,.22)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .eco-nav-v23.mobile-open .eco-nav-v23__sheet{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .eco-nav-v23__sheet a{
    position:relative!important;
    z-index:1!important;
    flex:0 0 auto!important;
    min-height:48px!important;
    touch-action:manipulation!important;
  }

  .eco-nav-v23__sheet-cta{
    margin-bottom:env(safe-area-inset-bottom)!important;
  }

  /* A visible close control inside the sheet. The same JS hamburger remains
     the primary toggle, while this provides an unambiguous second close target. */
  .eco-mobile-menu-close{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:44px!important;
    margin:0 0 12px!important;
    padding:0 2px 12px!important;
    border:0!important;
    border-bottom:1px solid rgba(23,37,43,.12)!important;
    background:transparent!important;
    color:var(--eco-nav-ink,#17252B)!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:750!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }

  .eco-mobile-menu-close span:last-child{
    width:32px!important;
    height:32px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:rgba(23,37,43,.07)!important;
    font-size:22px!important;
    line-height:1!important;
  }

  .eco-nav-v23__mobile-tech-categories{
    position:relative!important;
    z-index:2!important;
  }
}

@media (max-width:600px){
  .eco-nav-v23__sheet{
    top:calc(61px + env(safe-area-inset-top))!important;
    left:5px!important;
    right:5px!important;
    height:calc(100dvh - 68px - env(safe-area-inset-top))!important;
    border-radius:16px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


@media (max-width:900px){
  .eco-mobile-nav-backdrop{position:fixed!important;inset:0!important;z-index:2147482990!important;
    background:rgba(23,37,43,.18)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }

  .eco-nav-v23.mobile-open + .eco-mobile-nav-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .eco-nav-v23__sheet{
    z-index:2147483001!important;
  }
}

@media (min-width:901px){
  .eco-nav-v23__item.is-open > .eco-nav-v23__trigger{
    color:var(--eco-nav-accent,#30483F)!important;
  }

  .eco-nav-v23__item.is-open > .eco-nav-v23__trigger span{
    transform:rotate(180deg);
    display:inline-block;
  }

  .eco-nav-v23__menu a{
    touch-action:manipulation;
  }
}



@media (max-width:900px){

  /* Services and Technologies are intentionally styled as ordinary top-level
     navigation rows. The only difference is the small + control at right. */
  .eco-mobile-nav-group{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  .eco-mobile-nav-accordion{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:58px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(23,37,43,.09)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--eco-nav-ink,#17252B)!important;
    text-align:left!important;
    font:inherit!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }

  .eco-mobile-nav-accordion > b{
    display:block!important;
    width:22px!important;
    flex:0 0 22px!important;
    margin-right:12px!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    opacity:.48!important;
  }

  .eco-mobile-nav-accordion > span{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    flex-direction:column!important;
    gap:3px!important;
    font-size:clamp(20px,5.6vw,23px)!important;
    line-height:1.04!important;
    font-weight:750!important;
    letter-spacing:-.02em!important;
  }

  .eco-mobile-nav-accordion > span small{
    display:block!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:500!important;
    letter-spacing:0!important;
    opacity:.52!important;
  }

  .eco-mobile-nav-accordion > i{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    margin-left:12px!important;
    border:0!important;
    background:transparent!important;
    color:currentColor!important;
    font-style:normal!important;
    font-size:21px!important;
    font-weight:350!important;
    line-height:1!important;
    transition:transform .18s ease,color .18s ease!important;
  }

  .eco-mobile-nav-accordion[aria-expanded="true"]{
    color:#30483F!important;
  }

  .eco-mobile-nav-accordion[aria-expanded="true"] > i{
    transform:rotate(45deg)!important;
  }

  .eco-mobile-nav-panel{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px 0 10px 34px!important;
    gap:1px!important;
    border-bottom:1px solid rgba(23,37,43,.09)!important;
    background:transparent!important;
  }

  .eco-mobile-nav-panel[hidden]{
    display:none!important;
  }

  .eco-mobile-nav-panel a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:37px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:7px 9px!important;
    border:0!important;
    border-radius:6px!important;
    background:transparent!important;
    color:var(--eco-nav-ink,#17252B)!important;
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1.25!important;
  }

  .eco-mobile-nav-panel a:hover,
  .eco-mobile-nav-panel a:focus-visible{
    background:rgba(48,72,63,.055)!important;
    outline:none!important;
  }

  .eco-mobile-nav-panel .eco-mobile-nav-all{
    min-height:38px!important;
    margin:1px 0 4px!important;
    padding:7px 9px!important;
    border-radius:6px!important;
    background:rgba(48,72,63,.065)!important;
    color:#30483F!important;
    font-weight:800!important;
  }

  .eco-mobile-nav-panel .eco-mobile-nav-all strong{
    margin-left:auto!important;
    font-size:15px!important;
    font-weight:500!important;
  }

  .eco-nav-v23__mobile-tech-categories{
    display:none!important;
  }
}

@media (max-width:900px){
  .eco-nav-v23{
    position:fixed!important;
    z-index:2147483000!important;
    isolation:isolate!important;
  }
  .eco-mobile-nav-backdrop{
    position:fixed!important;
    z-index:2147482990!important;
    pointer-events:none!important;
  }
  .eco-nav-v23.mobile-open + .eco-mobile-nav-backdrop{
    pointer-events:auto!important;
  }
  /* removed: combined sheet pointer-events that blocked scroll */
}

@media (max-width:900px){

  /* FINAL MOBILE NAV VISUAL CONTRACT */
  .eco-nav-v23,
  .eco-nav-v23__sheet,
  .eco-nav-v23__sheet *,
  .eco-mobile-nav-backdrop{
    filter:none!important;
    -webkit-filter:none!important;
  }

  .eco-nav-v23__sheet{
    opacity:0 !important;
    background:#F4F3EF!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    transform:none!important;
    isolation:isolate!important;
  }

  .eco-nav-v23.mobile-open .eco-nav-v23__sheet{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .eco-mobile-nav-backdrop{
    background:rgba(23,37,43,.16)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .eco-nav-v23.mobile-open + .eco-mobile-nav-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* Desktop Technologies dropdown: make the full catalogue CTA visible
   without affecting the mobile accordion. */
@media(min-width:901px){
  .eco-nav-v23__technology-all{
    grid-column:1 / -1!important;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:4px;
    padding:12px 14px!important;
    border-top:1px solid rgba(23,37,43,.12);
    background:rgba(62,125,130,.06);
    color:#17252B!important;
    text-decoration:none!important;
    font-size:12px;
    line-height:1.2;
    transition:background .2s ease,transform .2s ease;
  }
  .eco-nav-v23__technology-all:hover{
    background:rgba(62,125,130,.12);
    transform:translateX(2px);
  }
  .eco-nav-v23__technology-all strong{
    color:#075E63!important;
    font-weight:800;
  }
  .eco-nav-v23__technology-all span{
    color:#075E63!important;
    font-size:16px;
    line-height:1;
  }
}
@media(max-width:900px){
  .eco-nav-v23__technology-all{display:none!important}
}

/* SCROLL FIX — sheet only interactive when menu is open (does not touch photon/animations) */
.eco-nav-v23:not(.mobile-open) .eco-nav-v23__sheet,
.eco-nav-v23__sheet[aria-hidden="true"]{
  display:none !important;
  pointer-events:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  z-index:-1 !important;
}
.eco-nav-v23.mobile-open .eco-nav-v23__sheet,
.eco-nav-v23__sheet[aria-hidden="false"]{
  display:flex !important;
  pointer-events:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}
.eco-mobile-nav-backdrop{ display:none !important; pointer-events:none !important; }
.eco-nav-v23.mobile-open + .eco-mobile-nav-backdrop{ display:block !important; pointer-events:auto !important; }
