/* =====================================================================
   TXSC Mobile + tablet menu drawer (1024px and below)
   Restyles the Xpro hamburger drawer. Behaviour stays with Xpro.
   ===================================================================== */
@media (max-width:1024px){

  /* ---- Drawer shell ---- */
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-navbar-wrapper{
    background:
      radial-gradient(120% 55% at 100% 0%, rgba(0,69,217,.34) 0%, rgba(0,69,217,0) 60%),
      radial-gradient(90% 45% at 0% 100%, rgba(201,0,0,.14) 0%, rgba(201,0,0,0) 70%),
      linear-gradient(172deg,#0C0F1A 0%,#05060A 68%) !important;
    padding:0 0 calc(28px + env(safe-area-inset-bottom)) !important;
    overflow-y:auto !important; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-navbar-wrapper::-webkit-scrollbar{ display:none; }
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-navbar-wrapper::before{
    content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
    background-image:linear-gradient(rgba(147,166,194,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(147,166,194,.05) 1px, transparent 1px);
    background-size:36px 36px;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 55%); mask-image:linear-gradient(180deg,#000 0%,transparent 55%);
  }
  .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-navbar,
  .elementor-636 .elementor-element-3395b06 .txmm-head{ position:relative; z-index:1; }

  /* ---- Drawer head: logo, name, close ---- */
  .elementor-636 .elementor-element-3395b06 .txmm-head{
    position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:12px;
    padding:16px 20px 14px; margin:0 0 6px;
    background:linear-gradient(180deg, rgba(8,10,17,.96) 0%, rgba(8,10,17,.86) 100%);
    -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(147,166,194,.12);
  }
  .elementor-636 .elementor-element-3395b06 .txmm-head img{ width:52px; height:auto; display:block; flex:0 0 auto; filter:drop-shadow(0 6px 14px rgba(30,99,247,.45)); }
  .elementor-636 .elementor-element-3395b06 .txmm-head-t{ display:flex; flex-direction:column; gap:5px; min-width:0; margin-right:auto; }
  .elementor-636 .elementor-element-3395b06 .txmm-head-t b{ font:400 14px/1.15 "Black Ops One",sans-serif; color:#fff; letter-spacing:.02em; }
  .elementor-636 .elementor-element-3395b06 .txmm-head-t i{
    display:inline-flex; align-items:center; gap:8px; font:500 10px/1.2 "IBM Plex Mono",ui-monospace,monospace; font-style:normal;
    letter-spacing:.12em; text-transform:uppercase; color:#93A6C2;
  }
  .elementor-636 .elementor-element-3395b06 .txmm-head-t i::before{
    content:""; width:6px; height:6px; border-radius:50%; background:#1E63F7; flex:0 0 auto;
    box-shadow:0 0 0 0 rgba(30,99,247,.7); animation:txtPulse 2.4s cubic-bezier(.22,.61,.36,1) infinite;
  }
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-close{
    position:relative !important; top:auto !important; right:auto !important; margin:0 !important; flex:0 0 auto;
    width:44px !important; height:44px !important; border-radius:50% !important; padding:0 !important;
    display:grid !important; place-items:center; color:#fff !important;
    background:rgba(255,255,255,.06) !important; border:1px solid rgba(147,166,194,.24) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important; outline:none !important;
    transition:background .25s, border-color .25s, transform .45s cubic-bezier(.22,.61,.36,1);
  }
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-close:hover,
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-close:focus-visible{ background:#1E63F7 !important; border-color:#1E63F7 !important; transform:rotate(90deg); }
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-close i{ font-size:17px !important; line-height:1 !important; color:#fff !important; }

  /* ---- Top-level rows ---- */
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu{ padding:4px 20px 8px !important; margin:0 !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li{ margin:0 !important; padding:0 !important; background:none !important; border:0 !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li::before,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li::after,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a::before,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu::before,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li a::before{ display:none !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a{
    position:relative; display:flex !important; align-items:center; gap:14px; min-height:64px;
    margin:0 !important; padding:10px 4px 10px 0 !important; border-radius:0 !important;
    background:none !important; background-image:none !important; box-shadow:none !important;
    border:0 !important; border-bottom:1px solid rgba(147,166,194,.12) !important;
    font:600 19px/1.2 "Public Sans",sans-serif !important; letter-spacing:-.005em; color:#fff !important;
    text-decoration:none !important; outline:none !important; -webkit-tap-highlight-color:transparent;
    transition:color .25s, padding .35s cubic-bezier(.22,.61,.36,1);
  }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a::after{
    content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%; transform:scaleX(0); transform-origin:left;
    background:linear-gradient(90deg,#1E63F7,#A9C1FF 60%,rgba(30,99,247,0)); transition:transform .45s cubic-bezier(.22,.61,.36,1);
  }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a:active::after,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a:focus-visible::after,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a.active::after,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li.current-menu-item > a::after,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li.current-menu-ancestor > a::after,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li.current-menu-parent > a::after{ transform:scaleX(1); }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li.current-menu-item > a,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li.current-menu-ancestor > a,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li.current-menu-parent > a{ color:#A9C1FF !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a:active{ padding-left:6px !important; }

  .elementor-636 .elementor-element-3395b06 .txmm-num{
    flex:0 0 26px; font:500 11px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.08em; color:#5F7BC4;
  }
  .elementor-636 .elementor-element-3395b06 li.current-menu-item > a .txmm-num,
  .elementor-636 .elementor-element-3395b06 li.current-menu-ancestor > a .txmm-num,
  .elementor-636 .elementor-element-3395b06 li.current-menu-parent > a .txmm-num{ color:#1E63F7; }
  .elementor-636 .elementor-element-3395b06 .txmm-go{
    margin-left:auto; flex:0 0 36px; width:36px; height:36px; border-radius:50%; display:grid; place-items:center;
    border:1px solid rgba(147,166,194,.2); color:#A9C1FF; transition:background .25s, border-color .25s, transform .35s cubic-bezier(.22,.61,.36,1);
  }
  .elementor-636 .elementor-element-3395b06 .txmm-go svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .elementor-636 .elementor-element-3395b06 a:active .txmm-go{ background:#1E63F7; border-color:#1E63F7; color:#fff; transform:translateX(3px); }

  /* submenu toggle: glass circle with a chevron */
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a .xpro-dropdown-menu-toggle{
    position:relative !important; margin-left:auto !important; flex:0 0 36px; width:36px !important; height:36px !important;
    border-radius:50% !important; border:1px solid rgba(147,166,194,.2) !important; background:rgba(255,255,255,.03) !important;
    display:grid !important; place-items:center; top:auto !important; right:auto !important; transform:none !important;
    transition:background .3s, border-color .3s; outline:none !important; -webkit-tap-highlight-color:transparent;
  }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu .xpro-dropdown-menu-toggle:focus{ outline:none !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu .xpro-dropdown-menu-toggle:focus-visible{ box-shadow:0 0 0 2px rgba(169,193,255,.8) !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a .xpro-dropdown-menu-toggle::before{
    content:"" !important; position:absolute !important; left:50% !important; top:50% !important; width:8px !important; height:8px !important;
    border:0 !important; border-right:2px solid #A9C1FF !important; border-bottom:2px solid #A9C1FF !important;
    transform:translate(-50%,-70%) rotate(45deg) !important; transition:transform .4s cubic-bezier(.22,.61,.36,1) !important; margin:0 !important;
  }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a .xpro-dropdown-menu-toggle::after{ display:none !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a.active .xpro-dropdown-menu-toggle{ background:#1E63F7 !important; border-color:#1E63F7 !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu > li > a.active .xpro-dropdown-menu-toggle::before{
    border-color:#fff !important; transform:translate(-50%,-30%) rotate(-135deg) !important;
  }

  /* ---- Submenus ---- */
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul{
    margin:10px 0 14px !important; padding:8px !important; list-style:none !important;
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)) !important;
    border:1px solid rgba(147,166,194,.14) !important; border-radius:18px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 20px 40px -24px rgba(0,0,0,.8) !important;
  }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li + li{ margin-top:2px !important; }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li a{
    display:flex !important; align-items:center; gap:12px; min-height:52px; margin:0 !important; padding:8px 10px !important;
    background:none !important; border:0 !important; border-radius:12px !important; box-shadow:none !important;
    font:500 15.5px/1.3 "Public Sans",sans-serif !important; color:#DCE5F2 !important; text-decoration:none !important; outline:none !important;
    -webkit-tap-highlight-color:transparent; transition:background .2s, color .2s;
  }
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li a:active,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li a:focus-visible,
  html body .elementor-636 .elementor-element-3395b06 #menu-main-menu ul li.current-menu-item > a{ background:rgba(30,99,247,.14) !important; color:#fff !important; }
  .elementor-636 .elementor-element-3395b06 .txmm-ico{
    flex:0 0 36px; width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
    background:linear-gradient(145deg, rgba(30,99,247,.34), rgba(0,69,217,.06)); border:1px solid rgba(30,99,247,.42);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 18px -12px rgba(30,99,247,.95);
  }
  .elementor-636 .elementor-element-3395b06 .txmm-ico svg{ width:18px; height:18px; fill:none; stroke:#A9C1FF; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  .elementor-636 .elementor-element-3395b06 li.current-menu-item > a .txmm-ico{ background:linear-gradient(145deg,#1E63F7,#0045D9); }
  .elementor-636 .elementor-element-3395b06 li.current-menu-item > a .txmm-ico svg{ stroke:#fff; }

  /* ---- Drawer footer ---- */
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-foot{
    margin:18px 20px 0 !important; padding:20px !important; border-radius:22px !important; position:relative; overflow:hidden;
    background:radial-gradient(90% 90% at 100% 0%, rgba(0,69,217,.32), rgba(0,69,217,0) 65%), rgba(255,255,255,.03) !important;
    border:1px solid rgba(147,166,194,.16) !important;
  }
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-foot::before{
    content:"Free on-site evaluation"; display:block; margin:0 0 12px; text-align:center;
    font:500 10.5px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.18em; text-transform:uppercase; color:#A9C1FF;
  }
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-cta{
    position:relative; overflow:hidden; display:flex !important; align-items:center; justify-content:center; min-height:56px;
    border-radius:999px !important; background:#C90000 !important; color:#fff !important;
    box-shadow:0 18px 34px -16px rgba(201,0,0,.95) !important; letter-spacing:.06em;
  }
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-cta::after{
    content:""; position:absolute; top:0; bottom:0; left:-60%; width:40%; transform:skewX(-20deg);
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.28), rgba(255,255,255,0));
    animation:txmmShine 3.6s cubic-bezier(.22,.61,.36,1) infinite;
  }
  @keyframes txmmShine{ 0%,55%{ left:-60%; } 100%{ left:130%; } }
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-tel{
    display:flex !important; align-items:center; justify-content:center; gap:10px; min-height:52px; margin-top:10px !important;
    border-radius:999px !important; border:1px solid rgba(147,166,194,.26) !important; background:rgba(255,255,255,.04) !important;
    color:#fff !important; text-decoration:none !important;
  }
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-hours{ text-align:center; margin:12px 0 0 !important; }

  /* ---- Overlay behind the drawer ---- */
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-overlay.active{
    background:rgba(4,4,7,.55) !important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  }

  /* ---- Keep floating widgets out of the way while the menu is open ---- */
  html.txm-nav-open [id^="JotformAgent-"],
  html.txm-nav-open .txm-bar{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transition:opacity .2s; }
  html.txm-nav-open, html.txm-nav-open body{ overflow:hidden !important; }

  /* ---- Hamburger button ---- */
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-toggler{ outline:none !important; -webkit-tap-highlight-color:transparent; }
  html body .elementor-636 .elementor-element-3395b06 .xpro-elementor-horizontal-menu-toggler:focus-visible{ box-shadow:0 0 0 2px #1E63F7 !important; }
}

@media (max-width:1024px) and (prefers-reduced-motion:reduce){
  html body .elementor-636 .elementor-element-3395b06 .txm-drawer-cta::after,
  .elementor-636 .elementor-element-3395b06 .txmm-head-t i::before{ animation:none !important; }
}

/* Phones: the chat greeting bubble covered the hero buttons; keep the avatar, drop the bubble */
@media (max-width:767px){ [id^="JotformAgent-"] .ai-agent-chat-avatar-tooltip{ display:none !important; } }
