:root{
  --ink:#050F20;--navy:#091628;--blue:#2557E3;--gold:#F0A500;
  --amber:#FFBE2E;--green:#00C27C;--red:#EF4444;--bg:#F0F4FF;
  --border:#E2E8F0;--text:#1E293B;--muted:#64748B;--white:#fff;
  --fh:'Syne',sans-serif;--fb:'DM Sans',sans-serif;
  --r:12px;--sh:0 4px 20px rgba(0,0,0,.08);
}
/* ═══ GLOBAL MOBILE FIX ═══ */
html { overflow-x: hidden; scroll-behavior: smooth; }
body { overflow-x: hidden; max-width: 100vw; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; height: auto; }
table { max-width: 100%; }

/* ═══════════════════════════════════════════
   LegalKamkaz — Hub / Nav / Footer CSS
   hub.css — loads on city, state, tools, compare pages
═══════════════════════════════════════════ */

/* ─── NAV ─── */
.lk-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:box-shadow .3s}
.lk-nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.08)}
.nav-inner{display:flex;align-items:center;gap:0;height:64px;max-width:1280px;margin:0 auto;padding:0 20px}
.nav-logo{text-decoration:none;margin-right:24px;flex-shrink:0}
.nav-logo img{height:36px;width:auto;display:block}
.logo-fallback{align-items:center;font-size:20px;font-weight:900;font-family:var(--fh)}
.logo-lk{color:var(--ink)}
.nav-links{display:flex;align-items:center;gap:4px;flex:1}
.nav-link{color:var(--muted);font-size:14px;font-weight:600;padding:6px 12px;border-radius:8px;text-decoration:none;border:none;background:none;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;white-space:nowrap;font-family:var(--fb)}
.nav-link:hover,.nav-link.active{color:var(--ink);background:#F1F5FF}
.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.nav-call{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:13.5px;font-weight:700;text-decoration:none;padding:7px 14px;border:1.5px solid var(--border);border-radius:10px;transition:all .2s;white-space:nowrap}
.nav-call:hover{border-color:var(--blue);color:var(--blue)}
.nav-wa-btn{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;font-size:13.5px;font-weight:700;padding:8px 16px;border-radius:10px;text-decoration:none;white-space:nowrap;transition:all .2s}
.nav-wa-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(37,211,102,.3)}

/* Mega Menu */
.has-mega,.has-drop{position:relative}
.mega-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.14);border:1px solid var(--border);min-width:min(760px, 95vw);opacity:0;visibility:hidden;transition:all .2s;pointer-events:none;z-index:999}
.has-mega.open .mega-menu,.has-drop.open .drop-menu{opacity:1;visibility:visible;pointer-events:auto}
.mega-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:16px}
.mega-col{padding:8px;border-right:1px solid #F1F5F9}
.mega-col:last-child{border:none}
.mega-cat{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding:6px 10px 8px;margin-bottom:4px}
.mega-link{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;text-decoration:none;transition:background .15s}
.mega-link:hover{background:#F8FAFF}
.ml-name{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.ml-time{display:block;font-size:11px;color:var(--blue);font-weight:600;margin-top:1px}
.mega-viewall{display:block;font-size:12.5px;font-weight:700;color:var(--blue);padding:8px 10px;text-decoration:none}

/* Dropdown */
.drop-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#fff;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.12);border:1px solid var(--border);min-width:220px;opacity:0;visibility:hidden;transition:all .2s;pointer-events:none;z-index:999;padding:8px}
.drop-link{display:block;padding:9px 14px;font-size:13.5px;color:var(--text);text-decoration:none;border-radius:8px;transition:background .15s;font-weight:500}
.drop-link:hover{background:#F8FAFF;color:var(--blue)}
.drop-div{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 14px 4px}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s}

/* ─── MOBILE NAV DRAWER ─── */
.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1099;opacity:0;transition:opacity .3s}
.mobile-nav-overlay.open{display:block;opacity:1}
.mobile-nav{position:fixed;top:0;right:-340px;width:320px;height:100vh;background:#fff;z-index:1100;transition:right .3s;display:flex;flex-direction:column;overflow:hidden}
.mobile-nav.open{right:0}
.mn-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}
.mn-body{flex:1;overflow-y:auto;padding:10px 0}
.mn-link{display:block;padding:12px 20px;font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1px solid #F8FAFC}
.mn-section{padding:8px 0}
.mn-cat{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 20px}
.mn-sublink{display:block;padding:9px 28px;font-size:13.5px;color:var(--text);text-decoration:none;font-weight:500}
.mn-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px}
.mn-call-btn{flex:1;background:#F1F5FF;color:var(--blue);padding:12px;text-align:center;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none}
.mn-wa-btn{flex:1;background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;padding:12px;text-align:center;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none}

/* ─── BREADCRUMB ─── */
.breadcrumb-bar{background:#F8FAFC;border-bottom:1px solid var(--border);padding:10px 0;margin-top:64px}
.bc{display:flex;align-items:center;gap:6px;list-style:none;flex-wrap:wrap;font-size:13px}
.bc li{color:var(--muted)}
.bc a{color:var(--muted);text-decoration:none;font-weight:500}
.bc a:hover{color:var(--blue)}
.bc li[aria-current]{color:var(--ink);font-weight:600}

/* ─── CITY / STATE HERO ─── */
.city-hero{background:linear-gradient(135deg,var(--ink) 0%,#0A1830 40%,#0E2448);padding:40px 0 50px;color:#fff}
.city-hero .container{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}
.city-hero-inner{}
.city-badge{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tier-tag,.state-tag{font-size:12px;font-weight:700;padding:4px 12px;border-radius:100px}
.tier-tag{background:rgba(240,165,0,.15);color:var(--amber);border:1px solid rgba(240,165,0,.25)}
.state-tag{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.15)}
.city-hero h1{font-family:var(--fh);font-size:clamp(24px,3.5vw,38px);font-weight:800;color:#fff;line-height:1.25;margin-bottom:14px}
.city-sub{color:rgba(255,255,255,.72);font-size:14.5px;line-height:1.85;margin-bottom:22px;max-width:640px}
.city-stats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.cs{display:flex;flex-direction:column}
.cs strong{color:#fff;font-size:17px;font-weight:800;font-family:var(--fh)}
.cs span{color:rgba(255,255,255,.55);font-size:12px;margin-top:1px}
.city-ctas{display:flex;gap:10px;flex-wrap:wrap}
.cta-wa{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;padding:12px 22px;border-radius:11px;font-weight:700;font-size:14.5px;text-decoration:none;transition:all .25s;display:inline-flex;align-items:center;gap:6px}
.cta-wa:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.3)}
.cta-call{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:#fff;padding:12px 22px;border-radius:11px;font-weight:700;font-size:14.5px;text-decoration:none;transition:all .2s}
.cta-call:hover{background:rgba(255,255,255,.15)}

/* City Info Card */
.city-info-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px}
.city-info-card h3{font-size:15px;font-weight:800;color:#fff;margin-bottom:14px;font-family:var(--fh)}
.city-info-card ul{list-style:none}
.city-info-card li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}
.city-info-card li:last-child{border:none}
.city-info-card span{color:rgba(255,255,255,.55)}
.city-info-card strong{color:#fff;font-weight:700;text-align:right;max-width:60%}

/* ─── CATEGORY FILTER BAR ─── */
.cat-filter-bar{background:#fff;border-bottom:2px solid var(--border);position:sticky;top:64px;z-index:100;overflow-x:auto}
.cf-scroll{display:flex;gap:4px;padding:10px 20px;min-width:max-content}
.cf-tab{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 14px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;border-radius:8px;transition:all .2s;border:1.5px solid transparent}
.cf-tab:hover{background:#F1F5FF;color:var(--blue)}
.cf-tab.active{background:#EFF6FF;color:var(--blue);border-color:#BFDBFE;font-weight:700}

/* ─── CITY SERVICES SECTION ─── */
.city-services{padding:32px 0 60px}
.cat-section{margin-bottom:36px}
.cs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cs-head h2{font-size:18px;font-weight:800;color:var(--ink);font-family:var(--fh)}
.view-all-link{font-size:13px;font-weight:700;color:var(--blue);text-decoration:none}
.services-grid-city{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.services-grid-city.full{grid-template-columns:repeat(4,1fr)}
.svc-card-city{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid #CBD5E1;border-radius:12px;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.svc-card-city:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,87,227,.1)}
.sc-icon{font-size:22px;flex-shrink:0}
.sc-info{flex:1;min-width:0}
.sc-info strong{display:block;font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-time{display:block;font-size:11.5px;color:var(--blue);font-weight:600;margin-top:2px}
.sc-desc{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-price{display:none}
.sc-price.free{display:none}
.sc-arrow{color:var(--border);font-size:16px;flex-shrink:0}

/* Category header */
.cat-header{margin-bottom:20px}
.cat-header h2{font-size:22px;font-weight:800;color:var(--ink);font-family:var(--fh);margin-bottom:8px}
.cat-header p{color:var(--muted);font-size:14px}

/* City Why Section */
.city-why{margin:32px 0}
.city-why h2{font-size:20px;font-weight:800;color:var(--ink);font-family:var(--fh);margin-bottom:16px}
.why-grid-city{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.why-grid-city>div{display:flex;gap:12px;background:#F8FAFC;border-radius:12px;padding:14px}
.why-grid-city>div>span{font-size:22px;flex-shrink:0;margin-top:2px}
.why-grid-city>div strong{display:block;font-size:14px;font-weight:800;color:var(--ink);margin-bottom:4px}
.why-grid-city>div p{font-size:13px;color:var(--muted);line-height:1.6}

/* Nearby Section */
.nearby-section{margin:24px 0}
.nearby-section h3{font-size:18px;font-weight:800;color:var(--ink);font-family:var(--fh);margin-bottom:12px}
.nearby-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.nb-city-card{display:flex;flex-direction:column;align-items:center;padding:12px;background:#fff;border:1.5px solid var(--border);border-radius:10px;text-decoration:none;transition:all .2s;text-align:center}
.nb-city-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.nb-city-card strong{font-size:13.5px;color:var(--ink);font-weight:700}
.nb-city-card span{font-size:11.5px;color:var(--muted);margin-top:2px}

/* City Context */
.city-context{margin-top:24px}
.industry-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ind-chip{display:inline-block;background:#EFF6FF;color:var(--blue);font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:100px;border:1px solid #BFDBFE}

/* City links */
.city-links{display:flex;flex-wrap:wrap;gap:8px}
.city-link{display:inline-block;padding:6px 14px;background:#F8FAFC;border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:all .15s}
.city-link:hover{background:#EFF6FF;border-color:#BFDBFE;color:var(--blue)}

/* ─── TOOLS INDEX ─── */
.tools-hero{background:linear-gradient(135deg,var(--ink),#102040);padding:50px 0;color:#fff}
.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.tool-card{background:#fff;border:1.5px solid var(--border);border-radius:13px;padding:16px;text-decoration:none;transition:all .2s;display:flex;flex-direction:column;gap:6px}
.tool-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,87,227,.1)}
.tc-icon{font-size:28px;margin-bottom:4px}
.tc-name{font-size:14px;font-weight:800;color:var(--ink);line-height:1.3}
.tc-type{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:100px;display:inline-block;width:fit-content}
.tc-type.calculator{background:#EFF6FF;color:var(--blue)}
.tc-type.seo{background:#F0FDF4;color:#15803D}
.tc-cat{font-size:12px;color:var(--muted)}

/* ─── FOOTER ─── */
.lk-footer{background:var(--ink);color:rgba(255,255,255,.7);margin-top:60px}
.footer-top{padding:56px 0 40px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;gap:36px}
.ft-brand{}
.footer-logo{text-decoration:none;display:inline-block;margin-bottom:12px}
.ft-tagline{font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.55);margin-bottom:16px;max-width:260px}
.ft-contact{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ft-contact-link{font-size:13px;color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s}
.ft-contact-link:hover{color:#fff}
.ft-address p{font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.7}
.nyaya-badge{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.ny-by{display:block;font-size:11.5px;color:rgba(255,255,255,.4);margin-bottom:8px}
.ny-link-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:8px 14px;border-radius:10px;font-size:13.5px;font-weight:700;color:rgba(255,255,255,.85);text-decoration:none;transition:all .2s}
.ny-link-badge:hover{background:rgba(255,255,255,.1);color:#fff}
.ft-col h4{font-size:13px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.ft-col ul{list-style:none}
.ft-col ul li{margin-bottom:8px}
.ft-col a{font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.ft-col a:hover{color:#fff}
.footer-trust{border-bottom:1px solid rgba(255,255,255,.07);padding:14px 0}
.trust-badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.tb{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.55);padding:5px 14px;background:rgba(255,255,255,.05);border-radius:100px;border:1px solid rgba(255,255,255,.08)}
.footer-bottom{padding:20px 0}
.fb-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:10px}
.fb-inner p{font-size:13px;color:rgba(255,255,255,.4)}
.fb-links{display:flex;gap:16px;flex-wrap:wrap}
.fb-links a{font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.fb-links a:hover{color:#fff}
.footer-disclaimer{font-size:12px;color:rgba(255,255,255,.3);line-height:1.7}
.footer-disclaimer a{color:rgba(255,255,255,.45);text-decoration:none}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .mega-inner{grid-template-columns:1fr 1fr 1fr}
  .services-grid-city.full{grid-template-columns:repeat(3,1fr)}
  .tools-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){.mega-menu{display:none !important}.drop-menu{display:none !important}
  .nav-links{display:none}
  .nav-call{display:none}
  .hamburger{display:flex}
  .city-hero .container{grid-template-columns:1fr}
  .city-info-card{display:none}
  .services-grid-city{grid-template-columns:1fr 1fr}
  .services-grid-city.full{grid-template-columns:1fr 1fr}
  .why-grid-city{grid-template-columns:1fr 1fr}
  .nearby-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .tools-grid{grid-template-columns:repeat(2,1fr)}
  .fb-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .services-grid-city,.services-grid-city.full{grid-template-columns:1fr}
  .why-grid-city{grid-template-columns:1fr}
  .nearby-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .tools-grid{grid-template-columns:1fr 1fr}
  .city-stats{gap:12px}
  .cs strong{font-size:15px}
}

/* ── MOBILE OVERFLOW FIX ── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
*, *::before, *::after {
  box-sizing: border-box;
}
.lk-nav, .nav-inner {
  max-width: 100%;
  overflow: hidden;
}
@media(max-width: 768px) {
  .clients-grid {
    grid-template-columns: 1fr !important;
  }
  .client-card {
    width: 100%;
    overflow: hidden;
  }
  section, .container {
    overflow-x: hidden;
    max-width: 100vw;
  }
}

/* ═══════════════════════════════════════════
   FOOTER — bridging HTML class names from
   includes/footer.php to the existing visual
   system. Older rules above use .footer-top /
   .footer-bottom / .ft-col — the HTML actually
   uses .lk-footer-top / .footer-bottom-bar /
   .ft-head / .ft-list / .footer-brand, so we
   alias them here so the dark-background
   layout renders.
   ═══════════════════════════════════════════ */

/* Make sure the outer dark shell is visible even without other rules loaded */
.lk-footer{background:#050F20;color:rgba(255,255,255,.7);margin-top:60px;font-family:'DM Sans','Inter',system-ui,sans-serif}
.lk-footer *{box-sizing:border-box}
.lk-footer a{color:inherit;text-decoration:none}
.lk-footer .container{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}

/* Top section (brand + 4 columns) */
.lk-footer-top{padding:56px 0 36px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:36px}

/* Brand column */
.footer-brand{display:flex;flex-direction:column}
.footer-logo-link{display:flex;align-items:center;text-decoration:none;margin-bottom:4px}
.ft-contact-link{font-size:13px;color:rgba(255,255,255,.7);text-decoration:none;transition:color .15s;display:inline-block}
.ft-contact-link:hover{color:#fff}
.ny-link-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:8px 14px;border-radius:10px;font-size:13px;font-weight:700;color:rgba(255,255,255,.85);text-decoration:none;transition:all .15s}
.ny-link-badge:hover{background:rgba(255,255,255,.12);color:#fff}

/* Link-column headers + lists */
.ft-head{font-size:12px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px;font-family:'Syne','DM Sans',sans-serif}
.ft-list{list-style:none;margin:0;padding:0}
.ft-list li{margin-bottom:9px}
.ft-list a{font-size:13.5px;color:rgba(255,255,255,.6);text-decoration:none;transition:color .15s;line-height:1.45}
.ft-list a:hover{color:#fff}

/* Bottom bar (copyright + legal links) */
.footer-bottom-bar{padding:18px 0;background:rgba(0,0,0,.25);border-top:1px solid rgba(255,255,255,.06)}
.footer-bottom-bar .fb-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:rgba(255,255,255,.5)}
.footer-bottom-bar .fb-links{display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom-bar .fb-links a{font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s}
.footer-bottom-bar .fb-links a:hover{color:#fff}

/* Responsive */
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:600px){
  .lk-footer-top{padding:40px 0 24px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-bottom-bar .fb-inner{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-bottom-bar .fb-links{gap:14px}
}
