/* ll-chrome-supplement */


/* __LL-CHROME-SUPPLEMENT-V1__

   Supplemental chrome CSS to restore .mnav / .hdr-ham / mobile breakpoint

   rules that the V2 CSS recovery bundles were missing. Sourced from the

   pre-damage drug-crimes recovery. */



/* Palette (foundation-09 canonical tokens, no override if already set) */

:root{

  --snow:#fffafa;

  --black:#000;

  --ink-deep:#143350;

  --peach:#ffc46c;

  --peach-deep:#e8a449;

  --cyan:#0dbae8;

  --cyan-deep:#01696f;

  --magenta:#c0107f;

  --magenta-deep:#bf1383;

  --ink:#1a1a1a;

  --ink-soft:#3a3a3a;

  --ink-mute:#6a6a6a;

  --ink-faint:#9a9a9a;

  --bg-tint:#fff5e8;

  --bg-cyan:#e9f9fe;

  --card:#fff;

  --border:rgba(0,0,0,.08);

  --serif:'Playfair Display',Georgia,serif;

  --sans:'Outfit',system-ui,-apple-system,sans-serif;

}



/* Top action bar */

.top{display:flex;padding:0;background:var(--ink-deep);position:relative;overflow:hidden;border-bottom:1px solid rgba(255,196,108,.12)}

.top a,.top button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;background:linear-gradient(120deg,var(--ink-deep) 0%,#214770 50%,var(--ink-deep) 100%);color:#fff;font-size:.86rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:.4s ease;text-decoration:none;border:none;font-family:inherit;cursor:pointer;position:relative;overflow:hidden}

.top a em,.top button em{font-family:var(--serif);font-style:italic;font-weight:700;text-transform:none;letter-spacing:.01em;font-size:1.18em;color:var(--peach);text-shadow:0 0 14px rgba(255,196,108,.55);padding:0 3px}

.top a:first-child,.top button:first-child{border-right:1px solid rgba(255,196,108,.18)}



/* Header */

.hdr-wrap{position:sticky;top:0;z-index:100;background:var(--snow);box-shadow:0 1px 8px rgba(0,0,0,.04)}

.hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid var(--border);max-width:1280px;margin:0 auto}

.hdr a{text-decoration:none}

.hdr-logo{font-family:var(--serif);font-size:1.5rem;font-weight:800;color:var(--black);line-height:1.05}

.hdr-logo span{color:var(--magenta)}

.hdr-sub{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-deep);margin-top:2px}

.hdr-nav{display:flex;gap:24px}

.hdr-nav a{font-size:.78rem;font-weight:500;color:var(--ink-soft);letter-spacing:.04em;padding:6px 0;position:relative}

.hdr-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--magenta));transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}

.hdr-nav a:hover::after,.hdr-nav a.active::after,.hdr-nav a[aria-current="page"]::after{transform:scaleX(1)}

.hdr-nav a:hover,.hdr-nav a.active{color:var(--black)}



/* Hamburger button (hidden on desktop, shown on mobile) */

.hdr-ham{position:relative;z-index:301;display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}

.hdr-ham span{display:block;width:26px;height:2px;background:var(--black);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .25s ease;transform-origin:center;border-radius:2px}

body.mnav-open .hdr-ham span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--magenta)}

body.mnav-open .hdr-ham span:nth-child(2){opacity:0;transform:scaleX(0)}

body.mnav-open .hdr-ham span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--magenta)}



/* Mobile nav (hidden by default, animates in with mnav-open class on body) */

.mnav{display:flex;position:fixed;inset:0;z-index:300;background:linear-gradient(135deg,var(--snow) 0%,var(--bg-tint) 45%,var(--bg-cyan) 100%);flex-direction:column;padding:96px 40px 40px;overflow-y:auto;clip-path:circle(0% at calc(100% - 36px) 56px);transition:clip-path .7s cubic-bezier(.22,1,.36,1);pointer-events:none;visibility:hidden}

body.mnav-open .mnav{clip-path:circle(160% at calc(100% - 36px) 56px);pointer-events:auto;visibility:visible}

.mnav a{display:block;font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:var(--black);padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06);text-decoration:none;transform:translateX(80px);opacity:0;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s ease;line-height:1.1}

body.mnav-open .mnav a{transform:translateX(0);opacity:1}

body.mnav-open .mnav a:nth-of-type(2){transition-delay:.24s}body.mnav-open .mnav a:nth-of-type(3){transition-delay:.30s}body.mnav-open .mnav a:nth-of-type(4){transition-delay:.36s}body.mnav-open .mnav a:nth-of-type(5){transition-delay:.42s}body.mnav-open .mnav a:nth-of-type(6){transition-delay:.48s}body.mnav-open .mnav a:nth-of-type(7){transition-delay:.54s}body.mnav-open .mnav a:nth-of-type(8){transition-delay:.60s}

.mnav .mnav-call{margin-top:32px !important;padding:18px 32px !important;background:var(--magenta) !important;color:#fff !important;border-radius:50px !important;text-align:center !important;border-bottom:none !important;font-family:var(--sans) !important;font-size:.96rem !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;align-self:flex-start;box-shadow:0 8px 24px rgba(235,25,163,.3)}

body.mnav-open{overflow:hidden}



/* Mobile breakpoint: hide desktop nav, show hamburger */

@media(max-width:880px){

  .hdr-nav{display:none}

  .hdr-ham{display:flex}

}



/* Announce ribbon (between header and content) */

.announce{background:var(--bg-tint);color:var(--ink-deep);padding:12px 24px;text-align:center;font-size:.86rem;border-bottom:1px solid rgba(255,196,108,.4)}

.announce strong{font-weight:700}

.announce em{font-style:italic;color:var(--magenta);font-weight:600;font-family:var(--serif);font-size:1.05em}



/* Footer */

.footer{background:var(--ink-deep);color:rgba(255,255,255,.85);padding:56px 32px 28px;margin-top:80px}

.footer-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}

.footer-brand{font-family:var(--serif);font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:14px}

.footer-brand span{color:var(--peach)}

.footer-desc{font-size:.86rem;line-height:1.6;color:rgba(255,255,255,.65)}

.footer-col h4{font-family:var(--serif);color:#fff;margin-bottom:14px;font-size:1.05rem}

.footer-col a{display:block;color:rgba(255,255,255,.72);font-size:.86rem;padding:4px 0;text-decoration:none}

.footer-col a:hover{color:var(--peach)}

.footer-col address{font-style:normal}

.footer-bottom{max-width:1180px;margin:32px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;color:rgba(255,255,255,.55);text-align:center}



/* Mob-bar (mobile bottom action bar) - hidden on desktop, shown <= 880px */

.mob-bar{display:none}

@media(max-width:880px){

  .mob-bar{display:flex}

}



/* Skip link */

.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--magenta);color:#fff;padding:12px 24px;z-index:999;font-weight:700;font-size:.85rem;border-radius:0 0 6px 6px;text-decoration:none}

.skip-link:focus{top:0}



/* Scroll progress bar */

.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(0,0,0,.06);z-index:1001;pointer-events:none}

.scroll-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--cyan) 0%,var(--magenta) 50%,var(--peach) 100%);transition:width .08s linear}



/* Breadcrumb */

.bc-wrap,.bc{max-width:1080px;margin:0 auto;padding:18px 32px;font-size:.78rem;color:var(--ink-mute)}

.bc-wrap a,.bc a{color:var(--cyan-deep);text-decoration:none}

.bc-wrap a:hover,.bc a:hover{color:var(--magenta);text-decoration:underline}



/* Canonical chrome (canonical-hdr-wrap, canonical-mob-bar from chrome-swap) — hide unused ones */

.canonical-hdr-wrap[hidden],

.canonical-mob-bar[hidden]{display:none !important}


/* ll-breadcrumb-patch */


/* __LL-BREADCRUMB-PATCH-V1__ — restore inline breadcrumb layout (.breadcrumb pattern used on team-card subpages and some others). */

nav.breadcrumb{max-width:1080px;margin:0 auto;padding:18px 32px;font-size:.78rem;color:var(--ink-mute,#6a6a6a)}

nav.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}

nav.breadcrumb li{margin:0;padding:0;display:inline-flex;align-items:center}

nav.breadcrumb li a{color:var(--cyan-deep,#077191);text-decoration:none}

nav.breadcrumb li a:hover{color:var(--magenta,#eb19a3);text-decoration:underline}

nav.breadcrumb li.sep{color:var(--ink-mute,#9a9a9a);user-select:none}

nav.breadcrumb li[aria-current="page"]{color:var(--ink,#1a1a1a);font-weight:500}


/* ll-mob-bar-layout-fix */


/* __LL-MOB-BAR-LAYOUT-FIX-V1__

   Fix: canonical mob-bar HTML lacks the .mob-bar-in wrapper, so the inner

   grid/flex rule never targets anything. Force .mob-bar itself to be a

   horizontal flex row, and force each direct-child icon to be a small

   vertical column (icon + label). */

.mob-bar {

  display: flex !important;

  flex-direction: row !important;

  justify-content: space-around !important;

  align-items: stretch !important;

  width: 100% !important;

  max-width: 100% !important;

  height: auto !important;

  min-height: 56px !important;

  padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px)) !important;

  position: fixed !important;

  bottom: 0 !important;

  left: 0 !important;

  right: 0 !important;

  z-index: 90 !important;

  background: #0e2840 !important;

  border-top: 1px solid rgba(255,196,108,.18) !important;

  gap: 0 !important;

}

.mob-bar > a,

.mob-bar > button {

  flex: 1 1 0 !important;

  display: flex !important;

  flex-direction: column !important;

  align-items: center !important;

  justify-content: center !important;

  gap: 2px !important;

  padding: 4px 2px !important;

  background: transparent !important;

  border: none !important;

  color: #ffc46c !important;

  font-size: .55rem !important;

  font-weight: 600 !important;

  letter-spacing: .08em !important;

  text-transform: uppercase !important;

  text-decoration: none !important;

  cursor: pointer !important;

  min-width: 0 !important;

  line-height: 1.1 !important;

}

.mob-bar > a svg,

.mob-bar > button svg {

  width: 20px !important;

  height: 20px !important;

  stroke: currentColor !important;

  fill: none !important;

  stroke-width: 1.8 !important;

}

.mob-bar > a:nth-child(2),

.mob-bar > a:nth-child(2) svg { color: #0dbae8 !important; stroke: #0dbae8 !important; }

.mob-bar > a:nth-child(3),

.mob-bar > button:nth-child(3),

.mob-bar > a:nth-child(3) svg,

.mob-bar > button:nth-child(3) svg { color: #c0107f !important; stroke: #eb19a3 !important; }

.mob-bar > a:nth-child(4),

.mob-bar > a:nth-child(4) svg { color: #0dbae8 !important; stroke: #0dbae8 !important; }

.mob-bar > a:nth-child(5),

.mob-bar > a:nth-child(5) svg { color: #ffc46c !important; stroke: #ffc46c !important; }

@media (min-width: 881px) {

  .mob-bar { display: none !important; }

}

/* Reset orphaned .mob-bar-in (if any page accidentally has it) — empty wrapper */

.mob-bar > .mob-bar-in:empty { display: none !important; }


/* ll-byline-fix */


/* __LL-BYLINE-FIX-V1__ — restore inline byline flow (was display:flex with gap, broke text wrapping) */

.bp-byline,

.bp-byline-meta {

  display: block !important;

  color: var(--ink-mute, #6a6a6a) !important;

  font-size: .92rem !important;

  line-height: 1.6 !important;

  margin: 12px 0 18px !important;

}

.bp-byline a {

  color: var(--cyan-deep, #077191) !important;

  text-decoration: none !important;

}

.bp-byline a:hover {

  color: var(--magenta, #eb19a3) !important;

  text-decoration: underline !important;

}

.bp-byline .sep,

.bp-byline-sep {

  margin: 0 6px !important;

  color: var(--ink-mute, #9a9a9a) !important;

  font-weight: 400 !important;

  display: inline !important;

}


/* ll-page-polish-v1 */


/* __LL-PAGE-POLISH-V1__ */



/* 2) Cred photos — profile bubbles, side-by-side */

.cred-photos {

  display: inline-flex !important;

  flex-direction: row !important;

  align-items: center !important;

  gap: 0 !important;

}

.cred-photos img,

.cred-photos picture img {

  width: 56px !important;

  height: 56px !important;

  border-radius: 50% !important;

  object-fit: cover !important;

  object-position: center top !important;

  border: 3px solid #fff !important;

  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;

  display: block !important;

  margin: 0 !important;

}

.cred-photos img + img,

.cred-photos picture + picture {

  margin-left: -18px !important;

  position: relative !important;

  z-index: 1 !important;

}



/* 3) Hide redundant sticky-call (mob-bar already has Call button) */

.sticky-call {

  display: none !important;

}

@media (max-width: 880px) {

  .sticky-call { display: none !important; }

}


/* ll-h1-eyebrow-polish */


/* __LL-H1-EYEBROW-POLISH-V1__ — sitewide H1 + eyebrow design flow */



/* H1 base: ensure Playfair serif + bold weight + tight tracking */

.bp-h1,

.loc-h1,

.page-hero h1,

.hero h1,

section.hero h1,

section.page-hero h1,

main h1:first-of-type,

.hub-hero h1 {

  font-family: 'Playfair Display', Georgia, serif !important;

  font-weight: 800 !important;

  letter-spacing: -0.01em !important;

  line-height: 1.12 !important;

  color: #143350 !important;

}



/* <em> inside H1 → magenta italic gradient (the "pink flow") */

.bp-h1 em,

.loc-h1 em,

.page-hero h1 em,

.hero h1 em,

section.hero h1 em,

section.page-hero h1 em,

main h1:first-of-type em,

.hub-hero h1 em {

  font-style: italic !important;

  background: linear-gradient(100deg, #eb19a3 0%, #ff5cc0 30%, #eb19a3 55%, #bf1383 80%, #eb19a3 100%) !important;

  background-size: 200% 100% !important;

  -webkit-background-clip: text !important;

  background-clip: text !important;

  -webkit-text-fill-color: transparent !important;

  color: transparent !important;

  font-weight: 800 !important;

  animation: ll-h1-sheen 8s linear infinite !important;

}



@keyframes ll-h1-sheen {

  0% { background-position: 0% 0%; }

  100% { background-position: 200% 0%; }

}



/* Eyebrows — cyan uppercase with letter-spacing */

.post-category,

.bp-eyebrow,

.hero-eyebrow,

.eyebrow,

.loc-eyebrow,

.page-hero .eyebrow {

  display: block !important;

  font-family: 'Outfit', system-ui, -apple-system, sans-serif !important;

  font-size: 0.72rem !important;

  font-weight: 700 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  color: #077191 !important;

  margin-bottom: 12px !important;

}



/* For H1 that has NO <em>: add a small magenta underline accent so the

   "pink flow" is preserved visually */

.bp-h1:not(:has(em))::after,

h1.bp-h1:not(:has(em))::after,

section.hero h1:not(:has(em))::after {

  content: "";

  display: block;

  width: 64px;

  height: 4px;

  background: linear-gradient(90deg, #eb19a3 0%, #ff5cc0 100%);

  border-radius: 2px;

  margin-top: 14px;

}



/* Spanish-page H1 normalization (some use no serif by default) */

[lang="es"] h1,

.es h1 {

  font-family: 'Playfair Display', Georgia, serif !important;

}


/* ll-header-footer-fix */


/* __LL-HEADER-FOOTER-FIX-V1__ — match homepage header sizing + restore footer Cities/Counties CSS */



/* Header logo — smaller to match homepage (prevents wrapping on narrow viewports) */

.hdr-logo {

  font-size: 1.2rem !important;

  line-height: 1.1 !important;

}

@media (min-width: 880px) {

  .hdr-logo {

    font-size: 1.4rem !important;

  }

}



/* Footer Cities/Counties/Districts section headings */

.fc-h {

  font-family: 'Playfair Display', Georgia, serif !important;

  font-size: 0.78rem !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  color: #ffc46c !important;

  font-weight: 700 !important;

  margin-bottom: 14px !important;

  border-bottom: 1px solid rgba(255,196,108,0.2) !important;

  padding-bottom: 8px !important;

}



/* Footer Cities grid layout — 2 columns of links */

.fc-cities {

  display: grid !important;

  grid-template-columns: 1fr 1fr !important;

  gap: 0 16px !important;

  font-size: 0.86rem !important;

  line-height: 1.5 !important;

}



/* Footer plain list */

.fc-list {

  font-size: 0.86rem !important;

  line-height: 1.5 !important;

  display: block !important;

}



/* All footer links — proper color + spacing */

.fc-list a,

.fc-cities a {

  color: #c0c4cb !important;

  text-decoration: none !important;

  padding: 4px 0 !important;

  display: block !important;

  transition: color 0.2s !important;

}

.fc-list a:hover,

.fc-cities a:hover {

  color: #0dbae8 !important;

}



/* Constrain footer width + add safe horizontal padding so it doesn't overflow */

.footer-bottom-cities,

.footer .footer-in > div,

.foot-bottom {

  max-width: 100% !important;

  overflow-x: hidden !important;

}

.footer .footer-in,

.foot-inner {

  padding-left: 20px !important;

  padding-right: 20px !important;

}


/* ll-rounded-line-caps */


/* __LL-ROUNDED-CAPS-V1__ — round the top + bottom of all colored left-border

   accent lines so they have circular caps instead of square ends. */



/* Named callout/card classes that have left-border accents */

.tldr-box,

.pa-callout,

.bp-callout,

.mid-cta,

.mid-cta-strip,

.callout,

.callout-box,

.fact-card,

.fact-box,

.info-card,

.info-box,

.refs,

.bp-refs,

.pa-refs,

.cite-box,

.trust-badges,

.editorial-aside,

.note,

.pull-quote,

.quote,

.statute-callout,

.snippet-answer,

.quick-answer-box,

.last-reviewed-card,

.ll-courthouse-card,

.ll-da-approach,

.ll-defense-process,

.ll-free-downloads,

.ll-local-pd,

.ll-numbers-grid,

.ll-tool-card,

.ll-case-timeline,

.ll-county-faq,

.ig-section,

.ig-meta,

.pa-faq-item,

.faq-item,

.bp-section,

.cred-photos,

.cofounders-block,

.experience-block {

  border-radius: 10px !important;

  overflow: hidden !important;

}



/* Inline-styled elements with border-left: ...

   override the 0 N N 0 pattern by forcing all 4 corners rounded */

[style*="border-left:"][style*="border-radius:0"],

[style*="border-left:4px"],

[style*="border-left: 4px"],

[style*="border-left:3px"],

[style*="border-left: 3px"],

[style*="border-left:6px"],

[style*="border-left: 6px"] {

  border-radius: 10px !important;

}



/* Special: where the box has rounded-only-right (0 N N 0), make rounded-all */

[style*="border-radius:0 6px 6px 0"],

[style*="border-radius: 0 6px 6px 0"],

[style*="border-radius:0 8px 8px 0"],

[style*="border-radius: 0 8px 8px 0"],

[style*="border-radius:0 4px 4px 0"],

[style*="border-radius: 0 4px 4px 0"] {

  border-radius: 10px !important;

}



/* Horizontal rule + decorative line treatment — round the ends */

hr,

.divider,

.scroll-progress-fill {

  border-radius: 4px !important;

}



/* SVG path lines (chrome animations, etc.) — apply stroke-linecap round */

svg {

  stroke-linecap: round !important;

  stroke-linejoin: round !important;

}


/* ll-mnav-visible-fix */


/* __LL-MNAV-VISIBLE-FIX-V1__ — force .mnav links visible when menu open */



/* When the body has .mnav-open class, ALL .mnav links should be immediately visible */

body.mnav-open .mnav a,

body.mnav-open .mnav button,

body.mnav-open .mnav-actions a,

body.mnav-open .mnav-actions button,

html body.mnav-open .mnav > a,

html body.mnav-open .mnav .mnav-actions > a {

  opacity: 1 !important;

  transform: translateX(0) !important;

  visibility: visible !important;

  pointer-events: auto !important;

  display: block !important;

}



/* mnav-close button should always be visible when mnav-open */

body.mnav-open .mnav .mnav-close {

  opacity: 1 !important;

  transform: scale(1) rotate(0deg) !important;

  visibility: visible !important;

  display: flex !important;

  pointer-events: auto !important;

}



/* mnav itself must be visible + interactive */

body.mnav-open .mnav {

  visibility: visible !important;

  pointer-events: auto !important;

}



/* Special: mnav-actions wrapper (Call/Email/etc. block) needs to flex properly */

body.mnav-open .mnav-actions {

  display: flex !important;

  flex-direction: column !important;

  gap: 8px !important;

}


/* ll-mnav-call-fix */


/* __LL-MNAV-CALL-FIX-V1__ — restore compact Call/Email buttons in mobile nav */



/* Mnav-call buttons: flex row with icon left, text right — NOT block */

body.mnav-open .mnav .mnav-call,

body.mnav-open .mnav-actions .mnav-call,

.mnav .mnav-call,

.mnav-actions .mnav-call {

  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;

  gap: 12px !important;

  padding: 14px 18px !important;

  border-radius: 14px !important;

  background: var(--magenta, #eb19a3) !important;

  color: #fff !important;

  text-decoration: none !important;

  margin: 8px 0 !important;

  width: auto !important;

  min-height: 56px !important;

  box-shadow: 0 4px 14px rgba(235, 25, 163, 0.25) !important;

  border-bottom: 0 !important;

  font-family: 'Outfit', system-ui, sans-serif !important;

  transform: none !important;

  font-size: 0.92rem !important;

  font-weight: 600 !important;

  letter-spacing: 0.04em !important;

}



.mnav .mnav-call-email,

body.mnav-open .mnav .mnav-call-email {

  background: var(--cyan, #0dbae8) !important;

  box-shadow: 0 4px 14px rgba(13, 186, 232, 0.25) !important;

}



/* Icon column — fixed size, centered */

.mnav .mnav-call-icon,

body.mnav-open .mnav .mnav-call-icon {

  flex: 0 0 32px !important;

  width: 32px !important;

  height: 32px !important;

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  background: rgba(255, 255, 255, 0.18) !important;

  border-radius: 8px !important;

  padding: 6px !important;

  margin: 0 !important;

}

.mnav .mnav-call-icon svg,

body.mnav-open .mnav .mnav-call-icon svg {

  width: 20px !important;

  height: 20px !important;

  color: #fff !important;

  fill: currentColor !important;

}



/* Text stack — column with label on top, value below */

.mnav .mnav-call-stack,

body.mnav-open .mnav .mnav-call-stack {

  flex: 1 1 auto !important;

  display: flex !important;

  flex-direction: column !important;

  align-items: flex-start !important;

  line-height: 1.2 !important;

  gap: 2px !important;

}



.mnav .mnav-call-label,

body.mnav-open .mnav .mnav-call-label {

  font-size: 0.66rem !important;

  font-weight: 700 !important;

  letter-spacing: 0.16em !important;

  text-transform: uppercase !important;

  opacity: 0.85 !important;

  margin: 0 !important;

  display: block !important;

}



.mnav .mnav-call-value,

body.mnav-open .mnav .mnav-call-value {

  font-size: 1rem !important;

  font-weight: 700 !important;

  letter-spacing: -0.005em !important;

  text-transform: none !important;

  margin: 0 !important;

  display: block !important;

}



/* mnav-actions wrapper: vertical stack, full width */

.mnav .mnav-actions,

body.mnav-open .mnav .mnav-actions {

  display: flex !important;

  flex-direction: column !important;

  gap: 10px !important;

  margin-top: 24px !important;

  width: 100% !important;

}


/* ll-mnav-opaque */


/* __LL-MNAV-OPAQUE-V1__ */

.mnav,

body.mnav-open .mnav {

  background-color: #fffafa !important;

  background-image: linear-gradient(135deg, #fffafa 0%, #fff5e8 45%, #e9f9fe 100%) !important;

  z-index: 999 !important;

  isolation: isolate !important;

}

.mnav::before {

  content: "";

  position: absolute;

  inset: 0;

  background: #fffafa !important;

  z-index: -1;

}


/* ll-mnav-header-hide */


/* __LL-MNAV-HEADER-HIDE-V1__ — when mnav is open, kill the sticky header completely */



/* Hide all sticky header chrome behind the mnav */

body.mnav-open .hdr-wrap,

body.mnav-open .canonical-hdr-wrap,

body.mnav-open .announce,

body.mnav-open .scroll-progress,

body.mnav-open header.hdr {

  display: none !important;

  visibility: hidden !important;

  opacity: 0 !important;

  pointer-events: none !important;

}



/* Kill backdrop-filter on Call/Email buttons so nothing bleeds through their

   opaque magenta/cyan backgrounds (defense in depth even with header hidden) */

.mnav .mnav-call,

.mnav .mnav-call-phone,

.mnav .mnav-call-email,

body.mnav-open .mnav .mnav-call,

body.mnav-open .mnav .mnav-call-phone,

body.mnav-open .mnav .mnav-call-email {

  backdrop-filter: none !important;

  -webkit-backdrop-filter: none !important;

  background-color: var(--magenta, #eb19a3) !important;

  isolation: isolate !important;

  position: relative !important;

  z-index: 2 !important;

}



.mnav .mnav-call-email,

body.mnav-open .mnav .mnav-call-email {

  background-color: var(--cyan, #0dbae8) !important;

}



/* Make sure the mnav itself stomps everything below it */

.mnav,

body.mnav-open .mnav {

  z-index: 9999 !important;

}


/* ll-totop-sitewide */


/* __LL-TOTOP-SITEWIDE-V1__ — floating back-to-top button, bottom-LEFT corner */

.ll-totop {

  position: fixed;

  left: 14px;

  right: auto;

  bottom: 80px;

  width: 44px;

  height: 44px;

  border-radius: 50%;

  background: #077191;

  color: #fff;

  border: none;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  opacity: 0;

  visibility: hidden;

  transition: opacity .3s, visibility .3s, transform .25s, box-shadow .25s, background .25s;

  z-index: 95;

  box-shadow: 0 4px 14px rgba(0,0,0,.18);

  padding: 0;

}

.ll-totop.visible {

  opacity: 1;

  visibility: visible;

}

.ll-totop:hover {

  transform: translateY(-3px);

  box-shadow: 0 6px 18px rgba(0,0,0,.22);

  background:#0a7da0;

}

.ll-totop:focus-visible {

  outline: 2px solid #eb19a3;

  outline-offset: 3px;

}

.ll-totop svg {

  width: 18px;

  height: 18px;

  stroke: #fff;

  fill: none;

  stroke-width: 2.5;

}

@media (min-width: 881px) {

  .ll-totop { bottom: 24px; width: 48px; height: 48px; }

  .ll-totop svg { width: 20px; height: 20px; }

}


/* ll-unified-mnav-css */


/* __LL-UNIFIED-MNAV-V1__ — unified mnav with modern elegant call/email buttons */



/* The mnav itself: full-viewport modal, snow gradient, clip-path reveal */

.mnav {

  position: fixed !important;

  inset: 0 !important;

  z-index: 9999 !important;

  background: linear-gradient(135deg, #fffafa 0%, #fff5e8 45%, #e9f9fe 100%) !important;

  display: flex !important;

  flex-direction: column !important;

  padding: 88px 28px 36px !important;

  overflow-y: auto !important;

  clip-path: circle(0% at calc(100% - 36px) 56px) !important;

  transition: clip-path .7s cubic-bezier(.22,1,.36,1) !important;

  pointer-events: none !important;

  visibility: hidden !important;

  isolation: isolate !important;

  gap: 0 !important;

  font-size: 1rem !important;

  font-family: 'Outfit', system-ui, -apple-system, sans-serif !important;

}

body.mnav-open .mnav {

  clip-path: circle(160% at calc(100% - 36px) 56px) !important;

  pointer-events: auto !important;

  visibility: visible !important;

}

body.mnav-open {

  overflow: hidden !important;

}

body.mnav-open .hdr-wrap,

body.mnav-open .canonical-hdr-wrap,

body.mnav-open .announce,

body.mnav-open .scroll-progress,

body.mnav-open header.hdr {

  display: none !important;

}



/* Close button — top-right circle, soft shadow */

.mnav .mnav-close,

.mnav-close {

  position: absolute !important;

  top: 22px !important;

  right: 24px !important;

  width: 44px !important;

  height: 44px !important;

  border-radius: 50% !important;

  background: rgba(255, 255, 255, 0.95) !important;

  border: 1px solid rgba(0, 0, 0, 0.06) !important;

  color: #0a0a0a !important;

  cursor: pointer !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  padding: 0 !important;

  z-index: 10 !important;

  box-shadow: 0 4px 14px -4px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.04) !important;

  transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;

}

.mnav .mnav-close:hover {

  transform: rotate(90deg) !important;

  background: #fff !important;

  box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.15) !important;

}



/* Nav links wrapper */

.mnav-nav {

  display: flex !important;

  flex-direction: column !important;

  flex: 0 0 auto !important;

  width: 100% !important;

  margin: 0 !important;

  padding: 0 !important;

  gap: 0 !important;

}



/* Nav links — block-level Playfair, big tap targets, subtle slide on hover */

.mnav-nav a,

.mnav a:not(.mnav-call):not(.mnav-close) {

  display: block !important;

  font-family: 'Playfair Display', Georgia, serif !important;

  font-size: clamp(1.5rem, 4.4vw, 2rem) !important;

  font-weight: 700 !important;

  color: #0A0A0A !important;

  padding: 14px 4px !important;

  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;

  text-decoration: none !important;

  line-height: 1.15 !important;

  background: transparent !important;

  letter-spacing: -0.005em !important;

  transition: color .2s ease, padding-left .25s ease !important;

  opacity: 1 !important;

  transform: none !important;

  visibility: visible !important;

}

.mnav-nav a:hover,

.mnav a:not(.mnav-call):not(.mnav-close):hover {

  color: #c0107f !important;

  padding-left: 8px !important;

}

.mnav-nav a:last-of-type {

  border-bottom: 0 !important;

}



/* Actions block (Call + Email buttons) */

.mnav-actions {

  display: flex !important;

  flex-direction: column !important;

  gap: 10px !important;

  margin-top: 26px !important;

  width: 100% !important;

  border-bottom: 0 !important;

}



/* ============================================

   MODERN ELEGANT CALL / EMAIL BUTTONS

   ============================================ */

.mnav .mnav-call,

.mnav-actions .mnav-call,

body.mnav-open .mnav .mnav-call {

  position: relative !important;

  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;

  gap: 14px !important;

  padding: 16px 18px 16px 16px !important;

  border-radius: 18px !important;

  background: linear-gradient(135deg, #eb19a3 0%, #bf1383 100%) !important;

  color: #fff !important;

  text-decoration: none !important;

  margin: 0 !important;

  min-height: 64px !important;

  font-family: 'Outfit', system-ui, sans-serif !important;

  border: 0 !important;

  border-bottom: 0 !important;

  backdrop-filter: none !important;

  -webkit-backdrop-filter: none !important;

  isolation: isolate !important;

  overflow: hidden !important;

  box-shadow:

    0 12px 28px -10px rgba(235, 25, 163, 0.55),

    0 0 0 1px rgba(255, 255, 255, 0.08) inset,

    0 1px 0 rgba(255, 255, 255, 0.22) inset !important;

  transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s ease !important;

  opacity: 1 !important;

  transform: none !important;

  visibility: visible !important;

  font-style: normal !important;

  font-weight: 600 !important;

  letter-spacing: 0 !important;

  text-transform: none !important;

  align-self: stretch !important;

}

.mnav .mnav-call::before {

  content: '' !important;

  position: absolute !important;

  top: 0 !important;

  left: -100% !important;

  width: 100% !important;

  height: 100% !important;

  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.18) 50%, transparent 100%) !important;

  transition: left .7s ease !important;

  pointer-events: none !important;

}

.mnav .mnav-call:hover {

  transform: translateY(-2px) !important;

  box-shadow:

    0 18px 36px -10px rgba(235, 25, 163, 0.65),

    0 0 0 1px rgba(255, 255, 255, 0.14) inset,

    0 1px 0 rgba(255, 255, 255, 0.32) inset !important;

}

.mnav .mnav-call:hover::before {

  left: 100% !important;

}

.mnav .mnav-call:active {

  transform: translateY(0) scale(0.99) !important;

}



/* Email button — cyan variant */

.mnav .mnav-call-email,

body.mnav-open .mnav .mnav-call-email {

  background: linear-gradient(135deg, #0dbae8 0%, #077191 100%) !important;

  box-shadow:

    0 12px 28px -10px rgba(13, 186, 232, 0.55),

    0 0 0 1px rgba(255, 255, 255, 0.08) inset,

    0 1px 0 rgba(255, 255, 255, 0.22) inset !important;

}

.mnav .mnav-call-email:hover {

  box-shadow:

    0 18px 36px -10px rgba(13, 186, 232, 0.65),

    0 0 0 1px rgba(255, 255, 255, 0.14) inset,

    0 1px 0 rgba(255, 255, 255, 0.32) inset !important;

}



/* Icon tile — glassmorphic square inside button */

.mnav-call-icon {

  flex: 0 0 40px !important;

  width: 40px !important;

  height: 40px !important;

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  background: rgba(255, 255, 255, 0.18) !important;

  border: 1px solid rgba(255, 255, 255, 0.22) !important;

  border-radius: 12px !important;

  color: #fff !important;

  position: relative !important;

  z-index: 1 !important;

  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset !important;

}

.mnav-call-icon svg {

  width: 20px !important;

  height: 20px !important;

  fill: currentColor !important;

}



/* Text stack — label + value */

.mnav-call-stack {

  flex: 1 1 auto !important;

  display: flex !important;

  flex-direction: column !important;

  align-items: flex-start !important;

  line-height: 1.15 !important;

  gap: 3px !important;

  position: relative !important;

  z-index: 1 !important;

  min-width: 0 !important;

}

.mnav-call-label {

  font-size: 0.66rem !important;

  font-weight: 700 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  color: rgba(255, 255, 255, 0.85) !important;

  margin: 0 !important;

  display: block !important;

}

.mnav-call-value {

  font-size: 1.02rem !important;

  font-weight: 700 !important;

  letter-spacing: -0.005em !important;

  color: #fff !important;

  margin: 0 !important;

  display: block !important;

  font-family: 'Outfit', system-ui, sans-serif !important;

}



/* Arrow chevron on the right */

.mnav-call-arrow {

  flex: 0 0 18px !important;

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  color: rgba(255, 255, 255, 0.82) !important;

  position: relative !important;

  z-index: 1 !important;

  transition: transform .3s ease !important;

}

.mnav .mnav-call:hover .mnav-call-arrow {

  transform: translateX(4px) !important;

  color: #fff !important;

}



/* ============================================

   REVIEW WIDGET — at the bottom of mnav

   ============================================ */

.mnav-reviews {

  margin-top: 24px !important;

  padding-top: 22px !important;

  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;

  width: 100% !important;

}

.mnav-reviews-eyebrow {

  font-family: 'Outfit', sans-serif !important;

  font-size: 0.68rem !important;

  font-weight: 700 !important;

  letter-spacing: 0.22em !important;

  text-transform: uppercase !important;

  color: #077191 !important;

  margin-bottom: 12px !important;

}

.ll-grevs {

  background: rgba(255, 255, 255, 0.6) !important;

  border: 1px solid rgba(0, 0, 0, 0.06) !important;

  border-radius: 14px !important;

  padding: 16px !important;

  font-family: 'Outfit', sans-serif !important;

  font-size: 0.92rem !important;

  color: #2a2a2a !important;

  min-height: 80px !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 8px !important;

  box-shadow: 0 4px 12px -6px rgba(0, 0, 0, 0.06) !important;

}

.ll-grevs[aria-busy="true"]::before {

  content: 'Loading reviews…' !important;

  color: #6a6a6a !important;

  font-size: 0.86rem !important;

}



/* Hide the legacy "Main" duplicate mnav if it co-exists */

nav.mnav[aria-label="Main"] {

  display: none !important;

}



/* Larger viewports — keep the close button safe-area aware */

@media (max-width: 380px) {

  .mnav { padding: 82px 22px 32px !important; }

  .mnav-nav a { font-size: 1.45rem !important; padding: 12px 4px !important; }

  .mnav-call { min-height: 60px !important; padding: 14px 16px !important; }

}

@media (min-width: 880px) {

  .mnav { padding: 100px 56px 48px !important; }

  .mnav-nav a { font-size: 2rem !important; }

}


/* ll-mnav-compact-v2 */


/* __LL-MNAV-COMPACT-V2__ — header no-wrap + compact mnav buttons + smaller review widget */



/* ---- HEADER: stop "L and L" from wrapping into hdr-nav row ---- */

.hdr {

  flex-wrap: nowrap !important;

  gap: 16px !important;

}

.hdr-wrap .hdr a[href="/"],

.hdr a[href="/"]:has(.hdr-logo) {

  flex: 0 1 auto !important;

  min-width: 0 !important;

  overflow: hidden !important;

}

.hdr-logo {

  white-space: nowrap !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

  max-width: 100% !important;

}

.hdr-sub {

  white-space: nowrap !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

}

.hdr-nav {

  flex: 0 1 auto !important;

  flex-wrap: nowrap !important;

  min-width: 0 !important;

}

.hdr-nav a {

  white-space: nowrap !important;

}

/* Hide nav on viewports too narrow to fit it cleanly — bump from 880 to 1024 */

@media (max-width: 1023px) {

  .hdr-nav { display: none !important; }

  .hdr-ham { display: flex !important; }

}



/* ---- COMPACT MNAV BUTTONS (single-line: icon + value) ---- */

.mnav .mnav-call,

.mnav-actions .mnav-call,

body.mnav-open .mnav .mnav-call {

  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;

  justify-content: flex-start !important;

  gap: 12px !important;

  padding: 12px 16px !important;

  border-radius: 12px !important;

  background: linear-gradient(135deg, #eb19a3 0%, #bf1383 100%) !important;

  color: #fff !important;

  text-decoration: none !important;

  margin: 0 !important;

  min-height: 48px !important;

  font-family: 'Outfit', system-ui, sans-serif !important;

  font-size: 0.92rem !important;

  font-weight: 600 !important;

  letter-spacing: 0 !important;

  text-transform: none !important;

  font-style: normal !important;

  border: 0 !important;

  border-bottom: 0 !important;

  backdrop-filter: none !important;

  -webkit-backdrop-filter: none !important;

  isolation: isolate !important;

  overflow: hidden !important;

  position: relative !important;

  box-shadow:

    0 6px 16px -8px rgba(235, 25, 163, 0.5),

    0 0 0 1px rgba(255, 255, 255, 0.08) inset !important;

  transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s ease !important;

  opacity: 1 !important;

  transform: none !important;

  visibility: visible !important;

  align-self: stretch !important;

  width: 100% !important;

  box-sizing: border-box !important;

}

.mnav .mnav-call:hover {

  transform: translateY(-1px) !important;

  box-shadow:

    0 10px 20px -8px rgba(235, 25, 163, 0.6),

    0 0 0 1px rgba(255, 255, 255, 0.14) inset !important;

}

.mnav .mnav-call:active {

  transform: translateY(0) scale(.99) !important;

}



/* Email button — cyan variant */

.mnav .mnav-call-email,

body.mnav-open .mnav .mnav-call-email {

  background: linear-gradient(135deg, #0dbae8 0%, #077191 100%) !important;

  box-shadow:

    0 6px 16px -8px rgba(13, 186, 232, 0.5),

    0 0 0 1px rgba(255, 255, 255, 0.08) inset !important;

}

.mnav .mnav-call-email:hover {

  box-shadow:

    0 10px 20px -8px rgba(13, 186, 232, 0.6),

    0 0 0 1px rgba(255, 255, 255, 0.14) inset !important;

}



/* Icon — compact glass tile */

.mnav-call-icon {

  flex: 0 0 32px !important;

  width: 32px !important;

  height: 32px !important;

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  background: rgba(255, 255, 255, 0.16) !important;

  border-radius: 9px !important;

  color: #fff !important;

  position: relative !important;

  z-index: 1 !important;

}

.mnav-call-icon svg {

  width: 16px !important;

  height: 16px !important;

  stroke: currentColor !important;

  fill: none !important;

}



/* Value text — phone number or email */

.mnav-call-value {

  flex: 1 1 auto !important;

  font-family: 'Outfit', system-ui, sans-serif !important;

  font-size: 0.95rem !important;

  font-weight: 600 !important;

  color: #fff !important;

  letter-spacing: -0.005em !important;

  position: relative !important;

  z-index: 1 !important;

  min-width: 0 !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

  white-space: nowrap !important;

  display: block !important;

  margin: 0 !important;

}



/* Hide any legacy label/stack/arrow if they exist from previous build */

.mnav-call-label,

.mnav-call-stack .mnav-call-label,

.mnav-call-arrow,

.mnav-call-stack {

  display: none !important;

}

/* If mnav-call-stack is present (older HTML), reset it to flat */

.mnav .mnav-call .mnav-call-stack {

  display: contents !important;

}



.mnav-actions {

  display: flex !important;

  flex-direction: column !important;

  gap: 8px !important;

  margin-top: 22px !important;

  width: 100% !important;

}



/* ---- COMPACT REVIEW WIDGET ---- */

.mnav-reviews {

  margin-top: 18px !important;

  padding-top: 16px !important;

  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;

  width: 100% !important;

}

.mnav-reviews-eyebrow {

  font-family: 'Outfit', sans-serif !important;

  font-size: 0.6rem !important;

  font-weight: 700 !important;

  letter-spacing: 0.2em !important;

  text-transform: uppercase !important;

  color: #077191 !important;

  margin-bottom: 8px !important;

}

.ll-grevs {

  background: rgba(255, 255, 255, 0.55) !important;

  border: 1px solid rgba(0, 0, 0, 0.05) !important;

  border-radius: 10px !important;

  padding: 10px 12px !important;

  font-family: 'Outfit', sans-serif !important;

  font-size: 0.82rem !important;

  color: #2a2a2a !important;

  min-height: 56px !important;

  display: flex !important;

  flex-direction: column !important;

  gap: 4px !important;

  box-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.05) !important;

}

.ll-grevs[aria-busy="true"]::before {

  content: 'Loading reviews\2026' !important;

  color: #8a8a8a !important;

  font-size: 0.76rem !important;

}


/* ll-contact-header-mob-fix */


/* __LL-CONTACT-HEADER-MOB-FIX-V1__

   Force the firm-name logo to never wrap. Belt-and-suspenders: nowrap on the

   div, the wrapping <a>, and the parent header row. */

.hdr {

  flex-wrap: nowrap !important;

  align-items: center !important;

}

.hdr > a[href="/"],

.hdr > a:first-child {

  flex: 0 1 auto !important;

  min-width: 0 !important;

  overflow: hidden !important;

  white-space: nowrap !important;

  display: flex !important;

  flex-direction: column !important;

  align-items: flex-start !important;

}

.hdr-logo,

.hdr-logo span,

.hdr-logo * {

  white-space: nowrap !important;

  word-spacing: normal !important;

  word-break: keep-all !important;

}

.hdr-logo {

  display: block !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

  max-width: 100% !important;

}



/* Hide the search button on mobile/tablet — search is still accessible

   inside the mnav modal. Search button is injected by /assets/search.js?v=20260620

   directly into <header class="hdr"> as a sibling of .hdr-ham. */

@media (max-width: 880px) {

  /* __LL-SEARCH-CSS-FIX-V2__ search button always visible — icon-only on all viewports per user 2026-05-19. Sizing handled by /assets/search.js?v=20260620 injected styles. */

  .hdr-logo {

    font-size: 1.1rem !important;

  }

}

@media (max-width: 380px) {

  .hdr-logo {

    font-size: 1rem !important;

  }

  .hdr-sub {

    font-size: 0.5rem !important;

  }

}



/* Make sure the 5-button .mob-bar (the calc-page legacy variant) stays hidden

   if any survived the strip. */

div.mob-bar:not([class*="mob-bar-in"]):not([aria-label]) {

  display: none !important;

}


/* ll-canonical-mob-bar-css */


/* __LL-MOB-BAR-CSS-V1__ canonical mob-bar styles — must accompany .canonical-mob-bar HTML injection. 2026-05-19. */

.canonical-mob-bar,.mob-bar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:90!important;background:#0a1f44!important;border-top:2px solid #ffc46c!important;padding:0!important;margin:0!important;box-shadow:0 -2px 12px rgba(0,0,0,.2);min-height:56px;display:block!important}

.canonical-mob-bar-in,.mob-bar-in,.canonical-mob-bar > a,.canonical-mob-bar > button{display:flex!important;flex-direction:row!important;justify-content:space-around!important;align-items:stretch!important;max-width:100%;width:100%;margin:0!important;padding:0!important;gap:0!important;height:100%}

.canonical-mob-bar-in > a,.canonical-mob-bar-in > button,.mob-bar-in > a,.mob-bar-in > button,.canonical-mob-bar > a,.canonical-mob-bar > button,.mob-bar > a:not(.mob-bar-in),.mob-bar > button:not(.mob-bar-in){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;flex:1 1 0!important;text-align:center!important;color:#ffc46c!important;text-decoration:none!important;font-weight:600!important;font-size:.62rem!important;letter-spacing:.04em!important;text-transform:uppercase!important;background:none!important;border:none!important;padding:6px 2px!important;margin:0!important;min-width:0!important;font-family:inherit!important;cursor:pointer!important;line-height:1.1}

.canonical-mob-bar-in > a svg,.canonical-mob-bar-in > button svg,.mob-bar-in > a svg,.mob-bar-in > button svg,.canonical-mob-bar svg,.mob-bar svg{width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;color:inherit;display:block!important;margin:0 auto!important;flex-shrink:0}

.canonical-mob-bar-in > :nth-child(2),.mob-bar-in > :nth-child(2),.canonical-mob-bar > :nth-child(2){color:#0dbae8!important}

.canonical-mob-bar-in > :nth-child(3),.mob-bar-in > :nth-child(3),.canonical-mob-bar > :nth-child(3){color:#c0107f!important}

.canonical-mob-bar-in > :nth-child(5),.mob-bar-in > :nth-child(5),.canonical-mob-bar > :nth-child(5){color:#0dbae8!important}

.canonical-mob-bar-in a:hover,.canonical-mob-bar-in button:hover,.mob-bar-in a:hover,.mob-bar-in button:hover{color:#fff!important}

@media(min-width:769px){

  .canonical-mob-bar,.mob-bar,.canonical-mob-bar-in,.mob-bar-in{display:none!important}

  body{padding-bottom:0!important}

}

@media(max-width:768px){

  body{padding-bottom:60px!important}

  .ll-totop{bottom:72px!important}

}


/* ll-hdr-brand-no-truncate-v1 */


/* __LL-HDR-BRAND-NO-TRUNCATE-V1__ — bug class #22 (Header Brand Truncation at Narrow Viewport)

   Releases nowrap/ellipsis at <480px so "L and L Law Group, PLLC"

   and "Criminal Defense · Frisco, Texas" wrap to 2 lines instead of truncating. */

@media (max-width: 480px) {

  .hdr-logo {

    white-space: normal !important;

    word-break: normal !important;

    overflow: visible !important;

    text-overflow: clip !important;

    line-height: 1.05 !important;

    font-size: 1.05rem !important;

    max-width: 100% !important;

  }

  .hdr-logo span,

  .hdr-logo * {

    white-space: normal !important;

  }

  .hdr-sub {

    white-space: normal !important;

    overflow: visible !important;

    text-overflow: clip !important;

    font-size: 0.62rem !important;

    line-height: 1.25 !important;

    letter-spacing: 0.12em !important;

  }

}


/* ll-avvo-icon-fix-v1 */


/* __LL-FOOTER-AVVO-ICON-FIX-V1__ (rev: inline-fit v2) — Avvo social icon badge sized to match other 6 social icons in same row */

.footer-social-icons a.avvo-link {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 38px;

  height: 38px;

  border-radius: 50%;

  background: var(--peach, #ffc46c);

  color: #0a1f44;

  text-decoration: none;

  transition: transform .2s ease, background .2s ease, color .2s ease;

  margin: 0;

  flex-shrink: 0;

}

.footer-social-icons a.avvo-link:hover {

  background: var(--magenta, #eb19a3);

  color: #fff;

  transform: translateY(-2px);

}

.footer-social-icons a.avvo-link .avvo-badge {

  font-family: var(--serif, 'Playfair Display', Georgia, serif);

  font-weight: 800;

  font-size: 18px;

  line-height: 1;

  letter-spacing: -.02em;

}

/* Narrow-viewport: tighten gap so all 7 icons (6 SVG + 1 Avvo) fit in one row */

@media (max-width: 480px) {

  .footer-social-icons {

    gap: 8px !important;

  }

}

@media (max-width: 380px) {

  .footer-social-icons {

    gap: 6px !important;

  }

  .footer-social-icons a,

  .footer-social-icons a.avvo-link {

    width: 34px !important;

    height: 34px !important;

  }

  .footer-social-icons a svg {

    width: 16px;

    height: 16px;

  }

  .footer-social-icons a.avvo-link .avvo-badge {

    font-size: 16px;

  }

}


/* ll-mnav-call-icon-v2 */


/* __LL-MNAV-CALL-ICON-V2_1__ — higher-specificity respec to defeat existing body.mnav-open .mnav .mnav-call-icon rules (specificity 0,3,1); anchors on #mnav ID 2026-05-19 */

#mnav .mnav-actions .mnav-call,

body.mnav-open #mnav .mnav-actions .mnav-call {

  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;

  justify-content: flex-start !important;

  gap: 14px !important;

  padding: 16px 22px !important;

  text-align: left !important;

  border-radius: 14px !important;

}

#mnav .mnav-actions .mnav-call .mnav-call-icon,

body.mnav-open #mnav .mnav-actions .mnav-call .mnav-call-icon {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  flex: 0 0 38px !important;

  width: 38px !important;

  height: 38px !important;

  background: rgba(255, 255, 255, 0.22) !important;

  border-radius: 50% !important;

  border: 1px solid rgba(255, 255, 255, 0.35) !important;

  flex-shrink: 0 !important;

  padding: 0 !important;

  margin: 0 !important;

}

#mnav .mnav-actions .mnav-call .mnav-call-icon svg,

body.mnav-open #mnav .mnav-actions .mnav-call .mnav-call-icon svg {

  width: 20px !important;

  height: 20px !important;

  stroke-width: 1.8 !important;

  stroke: currentColor !important;

  fill: none !important;

  display: block !important;

}

#mnav .mnav-actions .mnav-call .mnav-call-value,

body.mnav-open #mnav .mnav-actions .mnav-call .mnav-call-value {

  font-family: 'Outfit', sans-serif !important;

  font-weight: 700 !important;

  font-size: 1.05rem !important;

  letter-spacing: 0.01em !important;

  line-height: 1.2 !important;

  color: inherit !important;

  display: inline-block !important;

}


/* ll-mnav-after-fix-v1 */


/* __LL-MNAV-AFTER-FIX-V1__ — relocate decorative .mnav::after watermark from absolute-bottom (overlapped nav links on tall menus) to flow-positioned end-of-list 2026-05-19 */

.mnav::after {

  position: static !important;

  display: block !important;

  margin-top: 32px !important;

  padding-top: 24px !important;

  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;

  text-align: center !important;

  left: auto !important;

  bottom: auto !important;

  opacity: 0.45 !important;

  font-size: 0.68rem !important;

}

body.mnav-open .mnav::after {

  opacity: 0.45 !important;

}


/* ll-canonical-header */


/* __LL-CANONICAL-HEADER-V1__ 2026-05-22 — force header chrome to the homepage's canonical sizing.

   Triple-class + !important beats drifted per-page + .canonical-hdr-wrap rules.

   Scope: skip-link hide + .hdr/.hdr-logo/.hdr-sub/.announce sizing only. */

.skip-link.skip-link.skip-link{position:absolute!important;top:-100%!important;left:50%!important;transform:translateX(-50%)!important}

.skip-link.skip-link.skip-link:focus{top:0!important}

.hdr.hdr.hdr{padding:16px 32px!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}

.hdr-logo.hdr-logo.hdr-logo{font-size:1.5rem!important;font-weight:800!important;line-height:1.05!important}

.hdr-logo.hdr-logo.hdr-logo span{color:var(--magenta,#eb19a3)!important}

.hdr-sub.hdr-sub.hdr-sub{font-size:.58rem!important;font-weight:700!important;letter-spacing:.22em!important;text-transform:uppercase!important;margin-top:2px!important}

.announce.announce.announce{padding:12px 24px!important;font-size:.8rem!important;text-align:center!important}

@media(max-width:768px){

  .hdr.hdr.hdr{padding:12px 16px!important}

  .hdr-logo.hdr-logo.hdr-logo{font-size:1.2rem!important}

  .hdr-sub.hdr-sub.hdr-sub{font-size:.55rem!important;letter-spacing:.18em!important}

}


/* ll-mnav-call-aa-v6 */
/* __LL-MNAV-CALL-AA-V6__ 2026-06-10 drawer call-pill AA guarantee (white-on-snow regression fix) */

.mnav .mnav-call,.mnav-call{background:#c0107f !important;color:#fff !important}

.mnav-call *{color:#fff !important}


/* ll-fc-css */
/* __LL-FOOTER-CITIES-CSS-V1__ */

.footer-cities{background:var(--ink-deep-2,#0e2840);padding:40px 0 32px;border-top:1px solid rgba(255,196,108,.08)}

.footer-cities-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}


/* ll-aa */
/* __LL-AA-V1__ WCAG 2.2 AA contrast overrides (CHG-15..18) */

.preview-watermark{display:none!important}

body .mob-bar-in > :nth-child(3),body .canonical-mob-bar > :nth-child(3),body .canonical-mob-bar-in > :nth-child(3),body .mob-bar > :nth-child(3){color:#ff66c9!important}

.hf-note,.cf-note,p.ll-mh-disclaimer{color:#595959!important}

.hf-note a,.cf-note a{color:#077191!important}

.lrr-h,.lrr2-h{color:#595959!important}

.lg-cta-h2{color:#fffafa!important}

.lg-step-num{color:rgba(10,10,10,.48)!important}

li.sep,span.sep{color:#666!important;opacity:1!important}

a.statute{color:#077191!important}

.post-category,.hdr-sub,.hero-eyebrow,.mnav-reviews-eyebrow,.author-bio-role,.sidebar-attorney-role{color:#077191!important}

.refs a,.references a,.refs-list a,.article-refs a,.disclaimer-note a{color:#077191!important}

.disclaimer-section,.disclaimer-section p{color:rgba(0,0,0,.62)!important}

.article-body aside a{color:#077191!important}

.ll-grevs-read{color:#c0107f!important}

.ll-grevs-write{color:#077191!important}

.ll-anchor{color:#c0107f!important}

.btn-primary,.cf-submit,a.btn.btn-primary{background:#c0107f!important;border-color:#c0107f!important;color:#fff!important}

.btn-cyan,.btn-urgent,button.cite-tab.active,.cite-tab.active{background:#0a7da0!important;border-color:#0a7da0!important;color:#fff!important}

button.cite-tab:not(.active),.cite-tab:not(.active){color:#077191!important}

.cite-copy{background:#077191!important;color:#fff!important}

body .footer-brand span{color:#ff4fc1!important}

body .footer-bottom,body .footer-bottom span,body .footer-bottom time,footer time{color:#c0c4cb!important}

.footer-desc{color:#c9d2dd!important}

.bar-cite{color:#c9d2dd!important}.bar-cite a{color:#9fd9ea!important}

footer a[href^="mailto:"]{color:#8fd9de!important}


/* ll-nav-more-v1 */
/* __LL-NAV-MORE-V1__ 2026-07-16 — desktop-nav consolidation (#418): dedupe + native details dropdown; mnav untouched */
.hdr-nav details.ll-nav-more{position:relative;display:inline-block}
.hdr-nav details.ll-nav-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font:inherit;font-weight:600;color:inherit;padding:0;user-select:none}
.hdr-nav details.ll-nav-more>summary::-webkit-details-marker{display:none}
.hdr-nav details.ll-nav-more>summary::after{content:"\25BE";font-size:.7em;line-height:1;transition:transform .15s ease}
.hdr-nav details.ll-nav-more[open]>summary::after{transform:rotate(180deg)}
.hdr-nav .ll-nav-more-menu{position:absolute;top:calc(100% + 12px);right:-8px;min-width:198px;background:#fffafa;border:1px solid #e8e2e2;border-radius:12px;box-shadow:0 16px 36px -14px rgba(0,0,0,.25);padding:8px;z-index:640;display:flex;flex-direction:column;gap:2px}
.hdr-nav .ll-nav-more-menu a{display:block;padding:10px 14px;border-radius:8px;color:#0e0e0e;text-decoration:none;font-weight:600;white-space:nowrap}
.hdr-nav .ll-nav-more-menu a:hover,.hdr-nav .ll-nav-more-menu a:focus-visible{background:#fdeef7;color:#c0107f}
/* guard: below 1200px the row cannot be guaranteed on every family — hand off to the hamburger */
@media(max-width:1199px){.hdr-nav{display:none!important}.hdr-ham{display:flex!important}}
