/* =====================================================================
   TXSC Header - top utility bar + mega navigation (desktop, 1025px and up)
   Tablet and mobile keep the existing Xpro hamburger menu.
   ===================================================================== */
:root{
  --txh-blue:#1E63F7; --txh-blue-d:#0045D9; --txh-red:#C90000; --txh-red-h:#E11212;
  --txh-ink:#C7D4E6; --txh-mute:#93A6C2; --txh-hair:rgba(147,166,194,.14);
  --txh-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Top utility bar ---------- */
.txsc-topbar-wrap{ border-bottom:1px solid var(--txh-hair); position:relative; z-index:3; }
.txsc-topbar-widget, .txsc-topbar-widget > .elementor-widget-container{ width:100%; }
.txt-bar{ position:relative; overflow:hidden; width:100%; background:linear-gradient(90deg,#05060A 0%,#0A0E1B 50%,#05060A 100%); }
.txt-bar::after{
  content:""; position:absolute; top:0; bottom:0; left:-260px; width:240px; pointer-events:none;
  background:linear-gradient(90deg, rgba(30,99,247,0), rgba(30,99,247,.16), rgba(30,99,247,0));
  animation:txtSweep 11s linear infinite;
}
@keyframes txtSweep{ to{ left:110%; } }
.txt-in{
  position:relative; z-index:1; max-width:1640px; height:42px; margin:0 auto; padding:0 clamp(20px,2.4vw,40px);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.txt-left{
  display:flex; align-items:center; gap:14px; white-space:nowrap;
  font:500 11px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--txh-mute);
}
.txt-live{ display:inline-flex; align-items:center; gap:10px; color:#fff; }
.txt-live i{ width:7px; height:7px; border-radius:50%; background:var(--txh-blue); box-shadow:0 0 0 0 rgba(30,99,247,.7); animation:txtPulse 2.4s var(--txh-ease) infinite; }
@keyframes txtPulse{ 0%{ box-shadow:0 0 0 0 rgba(30,99,247,.7); } 70%{ box-shadow:0 0 0 8px rgba(30,99,247,0); } 100%{ box-shadow:0 0 0 0 rgba(30,99,247,0); } }
.txt-sep{ display:inline-block; width:1px; height:14px; background:rgba(147,166,194,.32); transform:skewX(-16deg); }
.txt-right{ display:flex; align-items:center; gap:18px; height:100%; }
.txt-links{ display:flex; align-items:center; gap:2px; }
.txt-links a{
  display:inline-flex; align-items:center; padding:7px 11px; border-radius:8px;
  font:600 13px/1 "Public Sans",sans-serif !important; color:var(--txh-ink) !important; text-decoration:none !important; white-space:nowrap;
  transition:color .2s, background .2s;
}
.txt-links a:hover, .txt-links a:focus-visible{ color:#fff !important; background:rgba(147,166,194,.12); }
.txt-links a.is-current{ color:#fff !important; box-shadow:inset 0 -2px 0 var(--txh-blue); border-radius:8px 8px 0 0; }
.txt-hours{
  display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
  font:500 11px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--txh-mute);
}
.txt-hours svg, .txt-phone svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.txt-phone{
  display:inline-flex; align-items:center; gap:10px; height:100%; padding-left:18px; border-left:1px solid var(--txh-hair);
  font:400 15px/1 "Black Ops One",sans-serif; letter-spacing:.05em; color:#fff !important; text-decoration:none !important; white-space:nowrap;
}
.txt-phone .txt-phone-ico{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--txh-blue); transition:background .2s, transform .3s var(--txh-ease); }
.txt-phone .txt-phone-ico svg{ width:13px; height:13px; }
.txt-phone:hover .txt-phone-ico{ background:var(--txh-blue-d); transform:rotate(-12deg); }
@media (max-width:1320px){ .txt-left .txt-extra{ display:none; } }
@media (max-width:1180px){ .txt-hours{ display:none; } }
@media (max-width:1120px){ .txt-left .txt-sep, .txt-left .txt-live ~ span{ display:none; } }

/* ---------- Main row: mega nav ---------- */
.elementor-636 .elementor-element-b4ac561{ position:relative; }
.elementor-636 .elementor-element-4f3caaf,
.elementor-636 .txsc-mnav-widget,
.elementor-636 .txsc-mnav-widget > .elementor-widget-container,
.elementor-636 .txsc-mnav-widget .elementor-shortcode{ position:static !important; }
.elementor-636 .txsc-mnav-widget{ width:100%; }

.txm-nav{ width:100%; position:static; }
.txm-list{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex; align-items:center; justify-content:center; }
.txm-item{ position:static; display:flex; align-items:center; margin:0; }
.txm-item + .txm-item::before{ content:""; width:1px; height:22px; background:rgba(147,166,194,.28); transform:skewX(-16deg); }
.txm-link{
  position:relative; display:inline-flex; align-items:center; gap:8px; padding:16px clamp(14px,1.55vw,26px);
  font:600 clamp(14.5px,1.1vw,16.5px)/1 "Public Sans",sans-serif !important; letter-spacing:.1px;
  color:#fff !important; text-decoration:none !important; white-space:nowrap; cursor:pointer;
}
.txm-link::after{
  content:""; position:absolute; left:clamp(14px,1.55vw,26px); right:clamp(14px,1.55vw,26px); bottom:6px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, rgba(30,99,247,0), #1E63F7 18%, #A9C1FF 50%, #1E63F7 82%, rgba(30,99,247,0));
  box-shadow:0 0 14px rgba(30,99,247,.85); transform:scaleX(0); opacity:0; transition:transform .38s var(--txh-ease), opacity .25s var(--txh-ease);
}
.txm-item:hover > .txm-link::after,
.txm-item.is-open > .txm-link::after,
.txm-item.is-current > .txm-link::after,
.txm-link:focus-visible::after{ transform:scaleX(1); opacity:1; }
.txm-link:focus-visible{ outline:none; }
.txm-chev{ width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:.8; transition:transform .35s var(--txh-ease); }
.txm-item.is-open .txm-chev{ transform:rotate(180deg); }

/* ---------- Mega panel ---------- */
.txm-panel{
  position:absolute; top:100%; left:50%; z-index:9990; width:min(1160px, calc(100vw - 48px));
  opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,14px);
  transition:opacity .26s var(--txh-ease), transform .4s var(--txh-ease), visibility 0s linear .4s;
}
.txm-item.is-open > .txm-panel{
  opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
  transition:opacity .26s var(--txh-ease), transform .4s var(--txh-ease), visibility 0s;
}
.txm-card{
  position:relative; overflow:hidden; border-radius:0 0 26px 26px;
  background:radial-gradient(55% 120% at 100% 0%, rgba(0,69,217,.22) 0%, rgba(0,69,217,0) 60%), linear-gradient(180deg,#0C0F1A 0%,#06070B 100%);
  border:1px solid rgba(147,166,194,.16); border-top:0;
  box-shadow:0 60px 100px -34px rgba(0,0,0,.92), 0 24px 50px -26px rgba(0,69,217,.45);
}
.txm-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px; z-index:2;
  background:linear-gradient(90deg, rgba(30,99,247,0), #1E63F7 20%, #A9C1FF 50%, #1E63F7 80%, rgba(30,99,247,0));
}
.txm-card::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.8;
  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:40px 40px;
  -webkit-mask-image:radial-gradient(80% 90% at 20% 0%, #000, transparent 80%); mask-image:radial-gradient(80% 90% at 20% 0%, #000, transparent 80%);
}
.txm-body{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 316px; gap:28px; padding:30px 30px 26px; }
.txm-body.txm-body-res{ grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.txm-eyebrow{
  margin:0 0 14px !important; font:500 11px/1 "IBM Plex Mono",ui-monospace,monospace !important;
  letter-spacing:.2em; text-transform:uppercase; color:#8FB0FF !important;
}

/* service / guide tiles */
.txm-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.txm-tiles.txm-tiles-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.txm-tile{
  position:relative; display:flex; align-items:flex-start; gap:14px; padding:15px 15px 16px; border-radius:16px;
  border:1px solid transparent; text-decoration:none !important;
  opacity:0; transform:translateY(8px);
  transition:background .25s, border-color .25s, opacity .35s var(--txh-ease), transform .45s var(--txh-ease);
}
.txm-item.is-open .txm-tile, .txm-item.is-open .txm-post{ opacity:1; transform:none; transition-delay:calc(var(--i,0) * 35ms + 60ms); }
.txm-tile:hover, .txm-tile:focus-visible{ background:rgba(30,99,247,.09); border-color:rgba(30,99,247,.34); outline:none; transition-delay:0s; }
.txm-tile.is-current{ border-color:rgba(30,99,247,.34); background:rgba(30,99,247,.06); }
.txm-ico{
  flex:0 0 46px; width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(145deg, rgba(30,99,247,.32), 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 12px 22px -14px rgba(30,99,247,.95);
  transition:background .3s, transform .4s var(--txh-ease);
}
.txm-ico svg{ width:23px; height:23px; fill:none; stroke:#A9C1FF; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s; }
.txm-tile:hover .txm-ico{ background:linear-gradient(145deg,#1E63F7,#0045D9); transform:translateY(-2px) rotate(-4deg); }
.txm-tile:hover .txm-ico svg{ stroke:#fff; }
.txm-tiles-2 .txm-ico{ flex-basis:40px; width:40px; height:40px; border-radius:11px; }
.txm-tiles-2 .txm-ico svg{ width:20px; height:20px; }
.txm-tile-txt{ display:block; min-width:0; }
.txm-tile-t{ display:flex; align-items:center; gap:8px; margin:2px 0 5px; font:700 15.5px/1.3 "Public Sans",sans-serif; color:#fff; }
.txm-tile-t .txm-go{ opacity:0; transform:translateX(-6px); transition:opacity .25s, transform .3s var(--txh-ease); color:#8FB0FF; }
.txm-tile:hover .txm-go{ opacity:1; transform:none; }
.txm-tile-d{ display:block; font:400 13.5px/1.5 "Public Sans",sans-serif; color:var(--txh-mute); }

/* feature card */
.txm-feature{
  position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; gap:0;
  min-height:300px; padding:24px; border-radius:20px; border:1px solid rgba(147,166,194,.18);
  background:#06070B var(--txm-bg) center/cover no-repeat;
}
.txm-feature::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(4,4,7,.35) 0%, rgba(4,4,7,.8) 42%, rgba(4,4,7,.97) 100%),
             radial-gradient(90% 60% at 0% 100%, rgba(0,69,217,.45), rgba(0,69,217,0) 70%);
}
.txm-feature > *{ position:relative; z-index:1; }
.txm-feature .txm-eyebrow{ color:#A9C1FF !important; margin-bottom:10px !important; }
.txm-feature-t{ margin:0 0 8px !important; font:400 22px/1.2 "Black Ops One",sans-serif !important; color:#fff !important; }
.txm-feature-d{ margin:0 0 16px !important; font:400 14px/1.55 "Public Sans",sans-serif; color:var(--txh-ink); }
.txm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 18px; border-radius:999px;
  background:var(--txh-red); color:#fff !important; text-decoration:none !important;
  font:400 12.5px/1 "Black Ops One",sans-serif; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:0 16px 30px -14px rgba(201,0,0,.9); transition:background .2s, transform .3s var(--txh-ease);
}
.txm-btn:hover{ background:var(--txh-red-h); transform:translateY(-2px); }
.txm-feature-phone{
  display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px;
  font:400 16px/1 "Black Ops One",sans-serif; letter-spacing:.05em; color:#fff !important; text-decoration:none !important;
}

/* latest posts column */
.txm-posts{ display:flex; flex-direction:column; gap:8px; }
.txm-post{
  display:flex; align-items:center; gap:14px; padding:10px; border-radius:14px; border:1px solid transparent; text-decoration:none !important;
  opacity:0; transform:translateY(8px);
  transition:background .25s, border-color .25s, opacity .35s var(--txh-ease), transform .45s var(--txh-ease);
}
.txm-post:hover, .txm-post:focus-visible{ background:rgba(30,99,247,.09); border-color:rgba(30,99,247,.34); outline:none; transition-delay:0s; }
.txm-post-img{ flex:0 0 92px; width:92px; height:64px; border-radius:10px; overflow:hidden; background:#0B0C12; border:1px solid rgba(147,166,194,.16); }
.txm-post-img img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--txh-ease); }
.txm-post:hover .txm-post-img img{ transform:scale(1.08); }
.txm-post-txt{ min-width:0; }
.txm-post-cat{ display:block; margin:0 0 6px; font:500 10.5px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.14em; text-transform:uppercase; color:#8FB0FF; }
.txm-post-t{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font:700 14.5px/1.35 "Public Sans",sans-serif; color:#fff;
}

/* panel footer */
.txm-foot{
  position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding:14px 30px; border-top:1px solid rgba(147,166,194,.12); background:rgba(4,4,7,.55);
}
.txm-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; font:500 11px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--txh-mute); }
.txm-tags span{ display:inline-flex; align-items:center; gap:8px; }
.txm-tags span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--txh-blue); }
.txm-foot-links{ display:flex; gap:22px; }
.txm-foot-links a{ display:inline-flex; align-items:center; gap:8px; font:700 14px/1 "Public Sans",sans-serif; color:#fff !important; text-decoration:none !important; }
.txm-foot-links a span{ color:#8FB0FF; transition:transform .3s var(--txh-ease); }
.txm-foot-links a:hover span{ transform:translateX(4px); }

@media (max-width:1240px){
  .txm-body{ grid-template-columns:minmax(0,1fr) 260px; gap:20px; padding:24px 22px 22px; }
  .txm-tile{ padding:13px 12px 14px; gap:12px; }
  .txm-ico{ flex-basis:40px; width:40px; height:40px; }
  .txm-tile-d{ font-size:13px; }
  .txm-foot{ padding:12px 22px; }
}
@media (max-width:1024px){ .txt-bar, .txm-nav{ display:none !important; } }
@media (prefers-reduced-motion:reduce){
  .txt-bar::after, .txt-live i{ animation:none !important; }
  .txm-panel, .txm-tile, .txm-post, .txm-link::after{ transition:none !important; }
}

/* ---------- Site fixes (Home "How it works" connector line) ---------- */
@media (min-width:1025px){ .tx-process-grid::before{ width:auto !important; } }

/* Keep the chat bubble from covering an open mega panel */
body:has(.txm-item.is-open) [id^="JotformAgent-"]{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transition:opacity .2s; }

/* ---------- Small dropdown (About Us) ---------- */
.txm-item.has-drop{ position:relative; }
.txm-item.has-drop > .txm-panel{ width:330px; top:100%; padding-top:40px; }
.txm-card-sm{ border-radius:0 0 22px 22px; padding:10px; }
.txm-drop-list{ position:relative; z-index:1; display:flex; flex-direction:column; gap:4px; }
.txm-card-sm .txm-tile{ padding:12px; align-items:center; }
.txm-card-sm .txm-tile-t{ margin:0 0 3px; }
