/* style */

: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;--bg-tint:#fff5e8;--bg-cyan:#e9f9fe;--card:#fff;--border:rgba(0,0,0,.08);--border-peach:rgba(255,196,108,.45);--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',system-ui,-apple-system,sans-serif;--shadow-sm:0 4px 14px rgba(0,0,0,.06);--shadow-md:0 10px 32px rgba(0,0,0,.08);color-scheme:light}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}html,body{overflow-x:clip;max-width:100vw}
body{font-family:var(--sans);background:var(--snow);color:var(--ink-soft);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--cyan-deep);text-decoration:none;transition:.25s}a:hover{color:var(--magenta)}
.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}
.skip-link:focus{top:0}
.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;text-decoration:none;border:none;font-family:inherit;cursor:pointer}
.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)}
.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-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{transform:scaleX(1)}
@media(max-width:880px){.hdr-nav{display:none}.hdr-ham{display:flex}}
.hdr-ham{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:.4s;border-radius:2px}
.announce{background:var(--bg-tint);text-align:center;padding:12px 24px;font-size:.8rem;color:var(--ink-soft);border-bottom:1px solid var(--border-peach)}
.announce strong{color:var(--black)}.announce em{color:var(--magenta);font-style:italic;font-weight:700}
.bc-wrap{max-width:1080px;margin:0 auto;padding:18px 32px;font-size:.78rem;color:var(--ink-mute)}
.bc-wrap a{color:var(--cyan-deep)}
.page-hero{padding:60px 32px 40px;max-width:900px;margin:0 auto;text-align:center}
.page-hero .eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-deep);margin-bottom:14px}
.page-hero h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:var(--black);line-height:1.1;margin-bottom:18px;letter-spacing:-.01em}
.page-hero h1 em{font-style:italic;background:linear-gradient(100deg,var(--magenta) 0%,#ff5cc0 30%,var(--magenta) 55%,var(--magenta-deep) 80%,var(--magenta) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.page-hero .lede{font-size:1.05rem;color:var(--ink-soft);max-width:760px;margin:0 auto;line-height:1.7}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;background:#0a7da0;color:#fff !important;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;transition:.3s;text-decoration:none}
.btn:hover{background:var(--cyan-deep);color:#fff !important;transform:translateY(-1px)}
.btn-magenta{background:var(--magenta)}.btn-magenta:hover{background:var(--magenta-deep)}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.hub-shell{max-width:1180px;margin:48px auto 80px;padding:0 32px}
.hub-intro{max-width:860px;margin:0 auto 24px}
.hub-intro p{font-size:1rem;line-height:1.75;margin:0 0 14px;color:var(--ink-soft)}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:36px}
.hub-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;justify-content:space-between;min-height:160px;color:var(--ink) !important;text-decoration:none}
.hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(235,25,163,.3);color:var(--ink) !important}
.hub-card h3{font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--black);margin-bottom:10px;line-height:1.3}
.hub-card p{font-size:.86rem;color:var(--ink-soft);line-height:1.55;margin-bottom:12px}
.hub-card-arrow{color:var(--magenta);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mid-cta-strip{background:var(--black);color:#fff;padding:48px 32px;text-align:center;margin:48px 0;position:relative}
.mid-cta-strip::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cyan),var(--magenta) 50%,var(--peach))}
.mid-cta-strip h2{font-family:var(--serif);color:#fff;font-size:1.6rem;margin-bottom:12px;line-height:1.2}
.mid-cta-strip h2 em{color:var(--peach);font-style:italic}
.mid-cta-strip p{color:#c8ccd5;margin-bottom:20px}
.footer{background:var(--ink-deep);color:#dcdcdc;padding:56px 32px 28px;border-top:4px solid var(--peach);margin-top:48px}
.footer-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.footer-brand{font-family:var(--serif);font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:8px}
.footer-brand span{color:var(--magenta)}
.footer-desc{font-size:.84rem;color:#9aa1ab;line-height:1.6}
.footer-col h4{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--peach);margin-bottom:14px}
.footer-col a{display:block;font-size:.82rem;color:#c0c4cb;padding:3px 0}
.footer-col a:hover{color:var(--cyan)}
.footer-col address{font-style:normal}
.footer-bottom{max-width:1180px;margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem;color:#8a90a0;text-align:center;line-height:1.6}
@media(max-width:900px){.footer-in{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-in{grid-template-columns:1fr}}

/* ll-mnav-base-css */

/* __LL-MNAV-BASE-CSS-V2__
 Base mnav positioning + reveal rules — hardened with !important on toggle
 properties so the open/closed state can't be overridden by any vendor CSS
 loaded later in the cascade. Padding stays non-!important so the
 scroll-fix block's padding-top:130px !important still wins for clearance. */
.mnav,.canonical-hdr-wrap .mnav {
 display: none !important;
 position: fixed !important;
 inset: 0 !important;
 z-index: 300 !important;
 background: linear-gradient(135deg,#fffafa 0%,#fff5e8 45%,#e9f9fe 100%);
 flex-direction: column !important;
 overflow-y: auto;
 padding: 96px 40px 40px;
 clip-path: circle(0% at calc(100% - 36px) 56px) !important;
 transition: clip-path .7s cubic-bezier(.22,1.36,1);
 pointer-events: none !important;
 visibility: hidden !important;
}
body.mnav-open .mnav, body.mnav-open .canonical-hdr-wrap .mnav {
 display: flex !important;
 clip-path: circle(160% at calc(100% - 36px) 56px) !important;
 pointer-events: auto !important;
 visibility: visible !important;
}
.mnav a,
.canonical-hdr-wrap .mnav a {
 display: block;
 font-family: 'Playfair Display', Georgia, serif;
 font-size: clamp(1.5rem, 5vw, 2.2rem);
 font-weight: 700;
 color: #0A0A0A;
 padding: 12px 0;
 border-bottom: 1px solid rgba(0,0,0,.06);
 text-decoration: none;
 line-height: 1.15;
}
.mnav .mnav-close,
.canonical-hdr-wrap .mnav .mnav-close {
 background: #fff;
 border: 1px solid rgba(0,0,0,.08);
 width: 44px;
 height: 44px;
 border-radius: 50%;
 cursor: pointer;
 font-size: 1.2rem;
 color: #000;
 padding: 0;
}
body.mnav-open { overflow: hidden !important; }
@media (max-width: 880px) {
 .hdr-nav { display: none !important; }
 .hdr-ham { display: flex !important; }
}

/* 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-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-calc-hub-css */

/* __LL-CALC-HUB-CSS-V1__ — hub card grid + cluster styling (calculators + topics + any /hub) */

.hub-content { max-width: 1180px; margin: 0 auto; padding: 24px 24px 64px; }

.hub-tldr {
 background: var(--bg-tint, #fff5e8);
 border-left: 4px solid var(--magenta, #eb19a3);
 padding: 24px 28px;
 margin: 0 0 36px;
 border-radius: 0 14px 14px 0;
 box-shadow: 0 4px 14px rgba(0,0,0,.04);
}
.hub-tldr h2 {
 font-family: var(--serif, 'Playfair Display', Georgia, serif);
 font-size: 0.78rem;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: var(--magenta, #eb19a3);
 margin: 0 0 12px;
 font-weight: 800;
}
.hub-tldr p { margin: 0 0 14px; color: var(--ink-soft, #3a3a3a); font-size: 0.96rem; }
.hub-tldr ul { margin: 12px 0 0 26px; color: var(--ink-soft, #3a3a3a); font-size: 0.92rem; }
.hub-tldr li { margin-bottom: 6px; }

.hub-cluster-h {
 font-family: var(--serif, 'Playfair Display', Georgia, serif);
 font-size: 1.55rem;
 font-weight: 800;
 color: var(--ink-deep, #143350);
 margin: 48px 0 18px;
 letter-spacing: -.005em;
 display: flex;
 align-items: baseline;
 flex-wrap: wrap;
 gap: 12px;
 line-height: 1.2;
}
.hub-cluster-h .sub {
 font-family: var(--sans, 'Outfit', system-ui, sans-serif);
 font-size: 0.82rem;
 font-weight: 500;
 letter-spacing: .04em;
 text-transform: none;
 color: var(--ink-mute, #6a6a6a);
 font-style: italic;
}

.hub-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
 gap: 20px;
 margin: 0 0 24px;
}

.hub-card {
 position: relative;
 display: flex;
 flex-direction: column;
 gap: 8px;
 padding: 24px 22px 22px;
 background: var(--card, #fff);
 border: 1px solid var(--border, rgba(0,0,0,.08));
 border-radius: 14px;
 text-decoration: none;
 color: var(--ink-deep, #143350);
 transition: transform .3s cubic-bezier(.22,1.36,1), box-shadow .3s ease, border-color .3s ease;
 box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 6px 18px -10px rgba(0,0,0,.10);
 overflow: hidden;
}
.hub-card:hover {
 transform: translateY(-3px);
 box-shadow: 0 1px 0 rgba(255,255,255,.85) inset, 0 16px 32px -12px rgba(0,0,0,.16);
 border-color: rgba(235,25,163,.25);
}
.hub-card:hover .num { color: var(--magenta, #eb19a3); }
.hub-card::before {
 content: "";
 position: absolute;
 inset: 0 0 auto 0;
 height: 4px;
 background: linear-gradient(90deg, var(--cyan, #0dbae8), var(--magenta, #eb19a3), var(--peach, #ffc46c));
 opacity: 0;
 transition: opacity .3s ease;
}
.hub-card:hover::before { opacity: 1; }

.hub-card.coming {
 opacity: 0.72;
 background: linear-gradient(180deg, var(--snow, #fffafa) 0%, var(--bg-tint, #fff5e8) 100%);
}
.hub-card.coming:hover { opacity: 1; }

.hub-card h3 {
 font-family: var(--serif, 'Playfair Display', Georgia, serif);
 font-size: 1.18rem;
 font-weight: 800;
 color: var(--ink-deep, #143350);
 line-height: 1.25;
 margin: 0;
 letter-spacing: -.005em;
 padding-right: 50px;
}
.hub-card p {
 font-size: 0.92rem;
 line-height: 1.5;
 color: var(--ink-soft, #3a3a3a);
 margin: 0 0 4px;
}
.hub-card .num {
 position: absolute;
 top: 16px;
 right: 18px;
 font-family: var(--serif, 'Playfair Display', Georgia, serif);
 font-size: 1.4rem;
 font-weight: 800;
 color: var(--ink-line, #D8D6CF);
 font-style: italic;
 transition: color .3s ease;
 line-height: 1;
}

.pill {
 display: inline-block;
 font-family: var(--sans, 'Outfit', system-ui, sans-serif);
 font-size: 0.62rem;
 font-weight: 700;
 letter-spacing: .14em;
 text-transform: uppercase;
 padding: 4px 10px;
 border-radius: 999px;
 margin-bottom: 6px;
 width: fit-content;
}
.pill.available {
 background: rgba(13,186,232,.12);
 color: var(--cyan-deep, #077191);
}
.pill.soon {
 background: rgba(255,196,108,.20);
 color: #a07729;
}

.url-chip {
 display: inline-block;
 font-family: 'JetBrains Mono', 'Menlo', 'Consolas', monospace;
 font-size: 0.74rem;
 color: var(--ink-mute, #6a6a6a);
 background: rgba(0,0,0,.04);
 padding: 4px 10px;
 border-radius: 6px;
 margin-top: 8px;
 width: fit-content;
 letter-spacing: -.01em;
}

.hub-crumb a { transition: color .25s; }
.hub-crumb a:hover { color: var(--magenta, #eb19a3); }

.hub-hero p.lede {
 font-size: 1.12rem;
 line-height: 1.6;
 max-width: 62ch;
 margin: 0 auto 18px;
 color: var(--ink-soft, #3a3a3a);
}

@media (max-width: 640px) {
 .hub-grid { grid-template-columns: 1fr; gap: 14px; }
 .hub-card { padding: 20px 18px 18px; }
 .hub-card .num { font-size: 1.2rem; top: 14px; right: 16px; }
 .hub-cluster-h { font-size: 1.35rem; margin: 36px 0 14px; }
 .hub-cluster-h .sub { font-size: 0.78rem; }
 .hub-tldr { padding: 18px 20px; }
}

/* ll-hub-shell-css */

/* __LL-HUB-SHELL-CSS-V1__ — .hub-shell / .hub-intro / .hub-card-arrow on /felonies/, /misdemeanors/, /resources/ */

.hub-shell {
 max-width: 1180px;
 margin: 0 auto;
 padding: 24px 24px 64px;
}

.hub-intro {
 background: var(--bg-tint, #fff5e8);
 border-left: 4px solid var(--magenta, #eb19a3);
 padding: 24px 28px;
 margin: 0 0 36px;
 border-radius: 0 14px 14px 0;
 box-shadow: 0 4px 14px rgba(0,0,0,.04);
 font-size: 0.98rem;
 line-height: 1.7;
 color: var(--ink-soft, #3a3a3a);
}
.hub-intro p { margin: 0 0 14px; }
.hub-intro p:last-child { margin-bottom: 0; }
.hub-intro a {
 color: var(--cyan-deep, #077191);
 font-weight: 600;
 text-decoration: none;
 border-bottom: 1px solid currentColor;
 transition: color .25s;
}
.hub-intro a:hover { color: var(--magenta, #eb19a3); }

.hub-card-arrow {
 display: inline-block;
 margin-top: auto;
 padding-top: 12px;
 font-family: var(--sans, 'Outfit', system-ui, sans-serif);
 font-size: 0.78rem;
 font-weight: 700;
 letter-spacing: .08em;
 text-transform: uppercase;
 color: var(--cyan-deep, #077191);
 transition: color .25s, transform .25s;
}
.hub-card:hover .hub-card-arrow {
 color: var(--magenta, #eb19a3);
 transform: translateX(2px);
}

/* 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-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-component-css-v1 */
/* __LL-COMPONENT-CSS-V1__ 2026-06-10 missing component stylesheet: bc-grid consult card + hf- form + dta-card + charges-cta buttons (markup shipped without CSS; icons ballooned to container width). Preview-verified 375px. */
.bc-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:start;max-width:980px;margin:0 auto;padding:36px 32px;background:linear-gradient(135deg,#fff5e8 0%,#fffafa 50%,#e9f9fe 100%);border:1px solid rgba(255,196,108,.4);border-radius:14px}
@media(max-width:880px){.bc-grid{grid-template-columns:1fr;gap:24px;padding:26px 18px;margin:0 14px}}
.bc-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c0107f;font-weight:700;margin-bottom:10px}
.bc-eyebrow svg{width:14px;height:14px;flex:0 0 auto}
.bc-copy h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1.22;color:#0a0a0a;margin:0 0 12px}
.bc-copy h2 em{font-style:italic;color:#c0107f}
.bc-copy p{font-size:.98rem;line-height:1.6;color:rgba(0,0,0,.66);margin:0 0 16px}
.bc-meta{display:flex;flex-direction:column;gap:9px}
.bc-meta-row{display:flex;align-items:center;gap:9px;font-size:.92rem;color:rgba(0,0,0,.75)}
.bc-meta-row svg{width:16px;height:16px;flex:0 0 auto;color:#0a99c0}
.bc-meta-row a{color:#0a99c0;font-weight:700;text-decoration:none}
.bc-form .ll-form{display:flex;flex-direction:column;gap:10px}
.bc-form .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bc-form .hf-input{width:100%;padding:13px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-size:.95rem;font-family:inherit;background:#fff;box-sizing:border-box}
.bc-form .hf-input:focus{outline:none;border-color:#0dbae8;box-shadow:0 0 0 3px rgba(13,186,232,.12)}
.bc-form textarea.hf-input{min-height:96px;resize:vertical}
.bc-form .hf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 22px;background:#c0107f;color:#fff;font-weight:700;font-size:1rem;border:0;border-radius:10px;cursor:pointer;transition:background .25s ease,transform .15s ease}
.bc-form .hf-submit:hover{background:#a50d6c;transform:translateY(-1px)}
.bc-form .hf-submit svg{width:18px;height:18px;flex:0 0 auto}
.bc-form .hf-note{font-size:.74rem;color:rgba(0,0,0,.55);line-height:1.5;margin-top:6px}
.bc-form .hf-note a{color:#0a99c0}
.dta-card{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:18px;border:1px solid rgba(255,196,108,.45);border-radius:14px;background:linear-gradient(135deg,#fff5e8,#fffafa 55%,#e9f9fe)}
.dta-eyebrow,.charges-cta-eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#c0107f;font-weight:700;margin:0 0 4px}
.dta-btn,.charges-cta-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff;text-decoration:none;color:#0a0a0a;transition:transform .15s ease,box-shadow .25s ease}
.dta-btn:hover,.charges-cta-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(0,0,0,.25)}
.dta-btn-phone,.charges-cta-phone{background:#c0107f;border-color:#c0107f;color:#fff}
.dta-icon-wrap,.charges-cta-icon{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:rgba(13,186,232,.12);color:#0a99c0;display:inline-flex;align-items:center;justify-content:center}
.dta-btn-phone .dta-icon-wrap,.charges-cta-phone .charges-cta-icon{background:rgba(255,255,255,.2);color:#fff}
.dta-icon-wrap svg,.charges-cta-icon svg{width:20px;height:20px}
.dta-stack,.charges-cta-stack{display:flex;flex-direction:column;line-height:1.25;min-width:0;text-align:left}
.dta-label,.charges-cta-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.dta-value,.charges-cta-value{font-weight:700;font-size:.95rem;word-break:break-word}
.charges-cta-btn{margin:8px 0}
.cta a.charges-cta-btn{display:flex;text-align:left;background:#fff;color:#0a0a0a;padding:12px 16px;border-radius:12px}
.cta a.charges-cta-btn.charges-cta-phone{background:#c0107f;color:#fff}
.cta:has(.charges-cta-btn) p{color:#fff}
.cta:has(.charges-cta-btn) .charges-cta-eyebrow{color:#ff79c8}

/* 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 [aria-label="Attorney advertising disclosure"],footer [aria-label="Attorney advertising disclosure"] p,footer [aria-label="Attorney advertising disclosure"] strong{color:#aab6c6!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}}
