/* =====================================================================
   SITE NAVBAR v2 — includes/navbar.php  (scoped .lnav*)
   Desktop >= 1200px: inline links + hover/click mega menus. Below: slide-in drawer with drill-down.
   ===================================================================== */
.lnav{--blue:#2563EB;--blue-d:#1D4ED8;--ink:#0B1530;--body:#475569;--muted:#64748B;--line:#E2E8F0;--soft:#F5F8FF;
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --chevr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
  --arw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
  --phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid #EEF2F7;font-family:"Plus Jakarta Sans",Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);transition:box-shadow .25s}
.lnav.is-scrolled{box-shadow:0 8px 30px rgba(15,23,42,.08)}
.lnav *,.lnav *::before,.lnav *::after{box-sizing:border-box}
.lnav ul{list-style:none;margin:0;padding:0}
.lnav p{margin:0}
.lnav a{text-decoration:none;color:inherit}
.lnav button{font-family:inherit;cursor:pointer}
.lnav a:focus-visible,.lnav button:focus-visible,.lnav input:focus-visible{outline:3px solid #93C5FD;outline-offset:2px;border-radius:10px}
.lnav-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.lnav-bar{position:relative;display:flex;align-items:center;gap:20px;height:78px}
.lnav-logo{display:flex;align-items:center;flex:0 0 auto}
.lnav-logo img{height:50px;width:auto;display:block}
.lnav-nav{flex:1;display:flex;justify-content:center}
.lnav-menu{display:flex;align-items:center;gap:4px}
.lnav-link{position:relative;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:0;border-radius:12px;background:none;font-size:15.5px;font-weight:600;color:#1E293B;white-space:nowrap;transition:background-color .2s,color .2s}
.lnav-link:hover{color:var(--blue);background:#F1F5FF}
.lnav-link.is-current{color:var(--blue)}
.lnav-link.is-current::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:var(--blue)}
.lnav-trigger::before{content:"";order:2;width:15px;height:15px;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;transition:transform .2s}
.lnav-trigger[aria-expanded="true"]{color:var(--blue);background:#EAF1FF}
.lnav-trigger[aria-expanded="true"]::before{transform:rotate(180deg)}

.lnav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.lnav-phone{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 18px 0 6px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:15.5px;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.lnav-phone:hover{border-color:#BFD3FB;box-shadow:0 8px 20px rgba(37,99,235,.12)}
.lnav-phone-ic{width:38px;height:38px;border-radius:50%;background:#EAF1FF;position:relative}
.lnav-phone-ic::after{content:"";position:absolute;inset:10px;background:var(--blue);-webkit-mask:var(--phone) center/contain no-repeat;mask:var(--phone) center/contain no-repeat}
.lnav-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 24px;border-radius:999px;border:0;background:linear-gradient(135deg,#2B7BFF,#1D4ED8);color:#fff!important;font-weight:700;font-size:15.5px;white-space:nowrap;box-shadow:0 10px 22px rgba(29,107,243,.32);transition:transform .2s,box-shadow .2s}
.lnav-btn::after{content:"";width:17px;height:17px;background:currentColor;-webkit-mask:var(--arw) center/contain no-repeat;mask:var(--arw) center/contain no-repeat}
.lnav-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(29,107,243,.4)}
.lnav-btn-ghost{background:#fff;color:var(--ink)!important;border:1px solid var(--line);box-shadow:none}
.lnav-btn-call::after{-webkit-mask-image:var(--phone);mask-image:var(--phone);color:var(--blue)}
.lnav-icon-btn{position:relative;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.lnav-icon-btn::before{content:"";position:absolute;inset:12px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.lnav-burger{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");display:none}
.lnav-close{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E")}
.lnav-drawer-head,.lnav-drawer-extra,.lnav-back{display:none}
.lnav-backdrop{display:none}

/* ---------- mega panels (desktop) ---------- */
.lnav-mega{position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:5;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;
  background:#fff;border:1px solid #E8EEF6;border-radius:24px;box-shadow:0 30px 70px -20px rgba(15,23,42,.28)}
.lnav-mega.is-open{opacity:1;visibility:visible;transform:none}
.lnav-services{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;overflow:hidden}

.lnav-cats{display:flex;flex-direction:column;gap:6px;padding:18px;border-right:1px solid #EEF2F7;background:linear-gradient(180deg,#FBFCFF,#F6F9FF)}
.lnav-cat{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:16px;background:transparent;text-align:left;color:var(--ink);transition:background-color .2s,box-shadow .2s}
.lnav-cat::after{content:"";margin-left:auto;flex:0 0 16px;width:16px;height:16px;background:#94A3B8;-webkit-mask:var(--chevr) center/contain no-repeat;mask:var(--chevr) center/contain no-repeat}
.lnav-cat:hover{background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.06)}
.lnav-cat.is-active{background:linear-gradient(135deg,#2B7BFF 0%,#1D4ED8 70%,#06B6D4 130%);color:#fff;box-shadow:0 12px 26px rgba(37,99,235,.35)}
.lnav-cat.is-active::after{background:#fff}
.lnav-cat-ic{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(15,23,42,.08)}
.lnav-cat-ic img{width:44px;height:44px}
.lnav-cat-tx strong{display:block;font-size:15.5px;font-weight:700;line-height:1.25}
.lnav-cat-tx small{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-top:2px}
.lnav-cat.is-active small{color:rgba(255,255,255,.85)}

.lnav-panels{padding:22px 22px 18px;min-width:0}
.lnav-panel{display:none}
.lnav-panel.is-active{display:block}
.lnav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.lnav-panel-title{display:flex;align-items:center;gap:12px;min-width:0}
.lnav-panel-title img{flex:0 0 40px}
.lnav-ph{font-size:21px;font-weight:800;letter-spacing:-.01em;color:var(--ink);line-height:1.2}
.lnav-ph span{color:var(--blue)}
.lnav-pd{font-size:13px;color:var(--muted);margin-top:3px}
.lnav-search{position:relative;flex:0 0 250px}
.lnav-search input{width:100%;height:44px;padding:0 14px 0 40px;border-radius:999px;border:1px solid var(--line);background:#F8FAFC;font:inherit;font-size:13.5px;color:var(--ink);outline:none;transition:border-color .2s,background-color .2s}
.lnav-search input:focus{border-color:#93C5FD;background:#fff}
.lnav-search::before{content:"";position:absolute;left:14px;top:50%;width:17px;height:17px;margin-top:-8.5px;background:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat}
.lnav-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;max-height:min(56vh,470px);overflow-y:auto;padding:2px 6px 2px 2px;scrollbar-width:thin}
.lnav-items a{display:flex;align-items:center;gap:14px;padding:8px 12px 8px 8px;border-radius:14px;border:1px solid transparent;transition:background-color .2s,border-color .2s,box-shadow .2s}
.lnav-items a::after{content:"";margin-left:auto;flex:0 0 26px;width:26px;height:26px;border-radius:50%;border:1.5px solid #CBD5E1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center/12px 12px;transition:border-color .2s,background-color .2s}
.lnav-items a:hover{background:#fff;border-color:#E2EAF7;box-shadow:0 8px 20px rgba(15,23,42,.07)}
.lnav-items a:hover::after{border-color:var(--blue);background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center/12px 12px}
.lnav-thumb{flex:0 0 96px;width:96px;height:60px;border-radius:12px;overflow:hidden;background:#EEF2F7}
.lnav-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lnav-thumb.is-icon{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#EEF4FF,#E0EAFF)}
.lnav-thumb.is-icon img{width:42px;height:42px;object-fit:contain}
.lnav-it{min-width:0}
.lnav-it strong{display:block;font-size:14.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.lnav-it small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lnav-items a:hover strong{color:var(--blue)}
.lnav-items li[hidden]{display:none}
.lnav-empty{padding:28px;text-align:center;font-size:14px;color:var(--muted)}
.lnav-viewall{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--blue)!important}
.lnav-viewall::after{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:var(--arw) center/contain no-repeat;mask:var(--arw) center/contain no-repeat}

.lnav-spot{position:relative;overflow:hidden;padding:26px 22px;background:radial-gradient(320px 260px at 100% 100%,#DCE9FF 0%,rgba(220,233,255,0) 70%),linear-gradient(180deg,#F3F7FF,#EAF1FF);border-left:1px solid #E6EEFB}
.lnav-spot-tag{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid #BFD3FB;background:#fff;color:var(--blue);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lnav-spot-h{margin-top:16px!important;font-size:27px;font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.lnav-spot-h span{color:var(--blue)}
.lnav-spot-p{margin:10px 0 18px!important;font-size:13.5px;line-height:1.6;color:var(--body)}
.lnav-spot .lnav-btn{height:44px;padding:0 20px;font-size:14.5px}
.lnav-spot-list{margin-top:18px!important;display:grid;gap:10px;position:relative;z-index:1}
.lnav-spot-list li{position:relative;padding-left:28px;font-size:13px;font-weight:600;color:#1E293B}
.lnav-spot-list li::before{content:"";position:absolute;left:0;top:-1px;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--blue);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/11px 11px}
.lnav-spot-img{position:absolute;right:-26px;bottom:-14px;width:150px;height:150px;object-fit:cover;border-radius:50% 50% 0 50%;opacity:.95;-webkit-mask-image:radial-gradient(circle at 60% 60%,#000 62%,transparent 72%);mask-image:radial-gradient(circle at 60% 60%,#000 62%,transparent 72%)}

/* industries */
.lnav-industries{padding:24px}
.lnav-ind-head{margin-bottom:16px}
.lnav-ind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px}
.lnav-ind-grid a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;font-size:14px;font-weight:600;color:#1E293B;border:1px solid transparent;transition:background-color .2s,border-color .2s,color .2s}
.lnav-ind-grid a:hover{background:#F5F8FF;border-color:#E2EAF7;color:var(--blue)}
.lnav-ind-grid img{flex:0 0 36px;width:36px;height:36px}

/* ---------- tablet/mobile drawer (< 1200px) ---------- */
@media (max-width:1199px){
  /* backdrop-filter would make the fixed drawer position against the header instead of the viewport */
  .lnav{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
  .lnav-bar{height:70px;gap:12px}
  .lnav-logo img{height:44px}
  .lnav-quote,.lnav-phone-no{display:none}
  .lnav-phone{padding:0;height:46px;width:46px;justify-content:center;border-radius:12px}
  .lnav-phone-ic{width:44px;height:44px;background:transparent}
  .lnav-burger{display:inline-block}
  .lnav-actions{margin-left:auto}
  .lnav-nav{position:fixed;top:0;right:0;bottom:0;z-index:1002;width:min(420px,92vw);display:flex;flex-direction:column;justify-content:flex-start;background:#fff;box-shadow:-20px 0 50px rgba(15,23,42,.18);transform:translateX(105%);transition:transform .3s ease;overflow-y:auto;overscroll-behavior:contain;padding:0 18px 24px}
  .lnav.is-drawer .lnav-nav{transform:none}
  .lnav-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:rgba(11,21,48,.45);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .lnav.is-drawer .lnav-backdrop{opacity:1;visibility:visible}
  .lnav-drawer-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;background:#fff;padding:14px 0;margin-bottom:6px;border-bottom:1px solid #EEF2F7}
  .lnav-drawer-head .lnav-logo img{height:40px}
  .lnav-menu{flex-direction:column;align-items:stretch;gap:2px}
  .lnav-link{width:100%;justify-content:space-between;height:50px;padding:0 12px;font-size:16px}
  .lnav-link.is-current::after{left:12px;right:auto;width:22px;bottom:8px}
  .lnav-mega{position:static;opacity:1;visibility:visible;transform:none;display:none;border:0;border-radius:16px;box-shadow:none;background:#F8FAFF;margin:4px 0 8px}
  .lnav-mega.is-open{display:block}
  .lnav-services{grid-template-columns:1fr}
  .lnav-cats{border:0;background:transparent;padding:8px}
  .lnav-cat{padding:10px}
  .lnav-cat-ic,.lnav-cat-ic img{flex-basis:38px;width:38px;height:38px}
  .lnav-panels{display:none;padding:10px}
  .lnav-services.is-drill .lnav-cats{display:none}
  .lnav-services.is-drill .lnav-panels{display:block}
  .lnav-back{display:inline-flex;align-items:center;gap:6px;margin:2px 0 12px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:var(--blue)}
  .lnav-back::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--chevr) center/contain no-repeat;mask:var(--chevr) center/contain no-repeat;transform:rotate(180deg)}
  .lnav-panel-head{flex-direction:column;align-items:stretch;gap:12px}
  .lnav-search{flex:0 0 auto}
  .lnav-ph{font-size:18px}
  .lnav-items{grid-template-columns:1fr;max-height:none;overflow:visible;padding:0}
  .lnav-items a::after{display:none}
  .lnav-items a{padding:6px}
  .lnav-thumb{flex-basis:72px;width:72px;height:46px;border-radius:10px}
  .lnav-thumb.is-icon img{width:34px;height:34px}
  .lnav-spot{display:none}
  .lnav-industries{padding:12px}
  .lnav-ind-grid{grid-template-columns:1fr 1fr}
  .lnav-ind-grid a{font-size:13px;padding:8px}
  .lnav-ind-grid img{flex-basis:30px;width:30px;height:30px}
  .lnav-drawer-extra{display:block;margin-top:14px;padding-top:14px;border-top:1px solid #EEF2F7}
  .lnav-extra-h{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px!important}
  .lnav-drawer-extra ul{display:grid;gap:2px;margin-bottom:16px}
  .lnav-drawer-extra li a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;font-size:15px;font-weight:600;color:#1E293B}
  .lnav-drawer-extra li a:hover{background:#F1F5FF;color:var(--blue)}
  .lnav-drawer-extra em{font-style:normal;font-size:10.5px;font-weight:800;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#EAF1FF;color:var(--blue)}
  .lnav-drawer-extra .lnav-btn{width:100%;margin-top:10px}
  html.lnav-lock,html.lnav-lock body{overflow:hidden}
}
@media (max-width:420px){
  .lnav-ind-grid{grid-template-columns:1fr}
}
@media (min-width:1200px) and (max-width:1399px){
  .lnav-link{padding:0 10px;font-size:15px}
  .lnav-phone-no{display:none}
  .lnav-phone{padding:0 6px;width:52px;justify-content:center}
  .lnav-services{grid-template-columns:270px minmax(0,1fr) 260px}
}
@media (prefers-reduced-motion:reduce){
  .lnav *,.lnav-nav,.lnav-mega{transition:none!important}
}
