/* style */

:root {
  --snow: #fffafa; --snow-deep: #f2f1eb; --bg-tint: #fff5e8; --bg-cool: #e9f9fe;
  --ink-deep: #0a0a0a; --ink-soft: #2a2a2a; --ink-mid: #5a5a5a; --ink-line: #d8d6cf;
  --peach: #ffc46c; --peach-soft: #ffc46c; --cyan: #0dbae8; --cyan-deep: #01696f;
  --magenta: #c0107f; --magenta-deep: #c0107f; --navy: #143350; --navy-deep: #0e2840;
  --success: #0f766e; --warning: #b45309; --critical: #991b1b;
  --font-sans: 'Outfit', system-ui, -apple-system, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); font-size: 1rem; line-height: 1.7; color: var(--ink-deep); background: var(--snow); -webkit-font-smoothing: antialiased; }
a { color: var(--cyan-deep); text-decoration: none; transition: color .15s; }
a:hover { color: var(--magenta); text-decoration: underline; }
h1, h2, h3, h4 { font-family: var(--font-serif); font-weight: 800; line-height: 1.15; color: var(--ink-deep); }

/* Chrome — matches flagship */
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--magenta); color: #fff; padding: 12px 20px; z-index: 9999; }
.skip-link:focus { left: 12px; top: 12px; }
.hdr-wrap { position: sticky; top: 0; z-index: 100; background: var(--snow); box-shadow: 0 1px 8px rgba(0,0,0,.04); }
.top { display: flex; padding: 0; background: var(--navy); 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,#143350 0%,#214770 50%,#143350 100%); color: #fff; font-size: .86rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; transition: .4s; border: none; font-family: inherit; cursor: pointer; position: relative; overflow: hidden; }
.top a::before, .top button::before { content:""; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(13,186,232,.35),rgba(192, 16, 127, .35),transparent); transition:.8s; pointer-events:none; }
.top a:hover::before, .top button:hover::before { left:100%; }
.top a:hover, .top button:hover { background: linear-gradient(120deg,#0e2840,#214770 50%,#0e2840); letter-spacing: .2em; }
.top a em, .top button em { font-family: var(--font-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:hover em, .top button:hover em { color: #ffd58c; text-shadow: 0 0 20px rgba(255,196,108,.8); }
.top a:first-child, .top button:first-child { border-right: 1px solid rgba(255,196,108,.18); }
.hdr { display: flex; justify-content: space-between; align-items: center; padding: 16px 32px; border-bottom: 1px solid rgba(0,0,0,.08); max-width: 1280px; margin: 0 auto; }
.hdr-logo { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 800; color: #000; 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: #3a3a3a; padding: 6px 0; }
@media (max-width: 880px) { .hdr-nav { display: none; } }
.announce { background: var(--bg-tint); text-align: center; padding: 12px 24px; font-size: .8rem; color: #3a3a3a; border-bottom: 1px solid rgba(255,196,108,.45); line-height: 1.5; }
.announce strong { color: #000; }
.announce em { color: var(--magenta); font-style: italic; font-weight: 700; }

/* Page shell */
main { max-width: 920px; margin: 0 auto; padding: 32px 24px 64px; }

/* Breadcrumb */
.crumb { font-size: .82rem; color: var(--ink-mid); margin-bottom: 18px; }
.crumb a { color: var(--cyan-deep); font-weight: 500; }
.crumb .sep { margin: 0 8px; color: var(--ink-line); }

/* Hero */
.hero h1 { font-size: clamp(1.7rem, 4.4vw, 2.6rem); margin-bottom: 14px; letter-spacing: -.01em; }
.hero h1 em { color: var(--magenta); font-style: italic; }
.lede { font-size: 1.125rem; line-height: 1.65; color: var(--ink-deep); margin: 14px 0 24px; padding: 18px 22px; background: linear-gradient(135deg, var(--bg-tint), var(--snow)); border-left: 3px solid var(--peach); border-radius: 0 8px 8px 0; }
.byline { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: .88rem; color: var(--ink-mid); padding: 12px 0; border-top: 1px solid var(--ink-line); border-bottom: 1px solid var(--ink-line); margin: 20px 0 32px; }
.byline a { color: var(--cyan-deep); font-weight: 600; }
.byline .sep { color: var(--ink-line); }
.byline .reading-time { font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mid); font-weight: 600; }

/* Calculator widget */
.calc-widget { background: #fff; border: 1px solid var(--ink-line); border-radius: 14px; padding: 28px; margin: 28px 0 36px; box-shadow: 0 4px 24px rgba(0,0,0,.06); }
.calc-h { font-family: var(--font-serif); font-size: 1.4rem; font-weight: 800; margin-bottom: 6px; }
.calc-sub { font-size: .9rem; color: var(--ink-mid); margin-bottom: 24px; }
.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
@media (max-width: 640px) { .calc-grid { grid-template-columns: 1fr; } }
.calc-field { display: flex; flex-direction: column; gap: 6px; }
.calc-field.full { grid-column: 1 / -1; }
.calc-label { font-size: .82rem; font-weight: 600; color: var(--ink-deep); }
.calc-help { font-size: .74rem; color: var(--ink-mid); margin-top: -2px; }
.calc-input, .calc-select { font-family: inherit; font-size: .95rem; padding: 11px 14px; border: 1px solid var(--ink-line); border-radius: 8px; background: var(--snow); color: var(--ink-deep); transition: border-color .15s, box-shadow .15s; }
.calc-input:focus, .calc-select:focus { outline: none; border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(13,186,232,.15); }
.calc-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
@media (max-width: 640px) { .calc-checks { grid-template-columns: 1fr; } }
.calc-check { display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--ink-soft); cursor: pointer; padding: 8px 10px; border-radius: 6px; transition: background .15s; }
.calc-check:hover { background: var(--bg-tint); }
.calc-check input { width: 16px; height: 16px; accent-color: var(--magenta); cursor: pointer; }

/* Results */
.calc-result { background: linear-gradient(135deg, var(--bg-tint), var(--bg-cool)); border: 1px solid var(--peach-soft); border-radius: 12px; padding: 24px; margin-top: 24px; }
.calc-result-h { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 800; margin-bottom: 14px; color: var(--navy-deep); }
.calc-row { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 0; border-bottom: 1px dashed rgba(255,196,108,.4); gap: 12px; flex-wrap: wrap; }
.calc-row:last-child { border-bottom: none; }
.calc-row-label { font-size: .85rem; color: var(--ink-mid); font-weight: 500; }
.calc-row-value { font-family: var(--font-serif); font-size: 1.3rem; font-weight: 800; color: var(--ink-deep); }
.calc-row-value.muted { font-size: 1rem; color: var(--ink-mid); }
.calc-citation { display: block; font-size: .72rem; color: var(--ink-mid); margin-top: 4px; font-style: italic; }
.calc-disclaimer { padding: 14px 16px; margin-top: 18px; background: #fff5e8; border-left: 3px solid var(--peach); border-radius: 0 6px 6px 0; font-size: .82rem; color: var(--ink-mid); line-height: 1.55; }
.calc-disclaimer strong { color: var(--ink-deep); }
.calc-cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.calc-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; background: var(--magenta); color: #fff; font-weight: 700; font-size: .86rem; letter-spacing: .06em; text-transform: uppercase; border: none; border-radius: 50px; cursor: pointer; transition: background .15s, transform .15s, box-shadow .15s; text-decoration: none; }
.calc-btn:hover { background: var(--magenta-deep); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(192, 16, 127, .28); color: #fff; text-decoration: none; }
.calc-btn.secondary { background: transparent; color: var(--magenta); border: 2px solid var(--magenta); }
.calc-btn.secondary:hover { background: var(--magenta); color: #fff; }

/* Explainer */
.explainer h2 { font-size: 1.6rem; margin: 40px 0 14px; }
.explainer h2 em { color: var(--magenta); font-style: italic; }
.explainer h3 { font-size: 1.2rem; margin: 24px 0 10px; }
.explainer p { margin: 0 0 14px; color: var(--ink-soft); }
.explainer ul, .explainer ol { margin: 8px 0 16px 24px; color: var(--ink-soft); line-height: 1.8; }
.explainer li { margin-bottom: 6px; }
.snippet-answer { padding: 16px 20px; background: var(--bg-cool); border-left: 3px solid var(--cyan); border-radius: 0 8px 8px 0; margin: 8px 0 18px; font-size: .96rem; color: var(--ink-deep); }
.cite { font-style: italic; }

/* Tables */
.range-table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: .88rem; }
.range-table th, .range-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--ink-line); }
.range-table th { background: var(--bg-tint); font-weight: 700; color: var(--ink-deep); text-transform: uppercase; letter-spacing: .06em; font-size: .76rem; }
.range-table tr:hover td { background: var(--bg-tint); }
.table-wrap { overflow-x: auto; }

/* TOC */
.toc { background: var(--bg-tint); border-left: 3px solid var(--peach); padding: 16px 22px; margin: 24px 0; border-radius: 0 8px 8px 0; font-size: .9rem; }
.toc-h { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cyan-deep); font-weight: 700; margin-bottom: 8px; }
.toc a { display: block; padding: 3px 0; color: var(--ink-soft); }

/* FAQ */
.faq { margin: 36px 0; }
.faq details { margin-bottom: 12px; padding: 14px 18px; background: #fff; border: 1px solid var(--ink-line); border-radius: 8px; transition: border-color .15s; }
.faq details[open] { border-color: var(--cyan); }
.faq summary { cursor: pointer; font-family: var(--font-serif); font-weight: 700; font-size: 1.02rem; color: var(--ink-deep); list-style: none; padding-right: 24px; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 0; top: 0; font-size: 1.3rem; color: var(--magenta); font-weight: 700; transition: transform .2s; }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin-top: 10px; color: var(--ink-soft); font-size: .94rem; line-height: 1.65; }

/* Related */
.related { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 24px 0; }
.related a { display: block; padding: 16px 18px; background: var(--snow-deep); border-top: 3px solid var(--magenta); border-radius: 0 0 8px 8px; text-decoration: none; transition: transform .15s; }
.related a:hover { transform: translateY(-2px); text-decoration: none; color: var(--ink-deep); }
.related strong { display: block; font-family: var(--font-serif); font-weight: 700; color: var(--ink-deep); margin-bottom: 4px; }
.related span { font-size: .82rem; color: var(--ink-mid); }

/* Author bio */
.author-bio { display: grid; grid-template-columns: 90px 1fr; gap: 22px; align-items: start; padding: 24px; background: var(--snow-deep); border-radius: 12px; margin: 36px 0 24px; }
.author-bio .photo { width: 90px; height: 90px; border-radius: 50%; background: var(--peach) center/cover no-repeat; background-image: url('/assets/attorneys/njeri-london-headshot.webp'); }
.author-bio h3 { font-size: 1.1rem; margin: 0 0 6px; }
.author-bio p { font-size: .9rem; color: var(--ink-mid); margin-bottom: 8px; line-height: 1.6; }
.author-bio .links a { font-size: .82rem; margin-right: 14px; font-weight: 600; }
@media (max-width: 640px) { .author-bio { grid-template-columns: 1fr; text-align: center; } .author-bio .photo { margin: 0 auto; } }

/* Cite + embed */
.cite-box { background: var(--bg-cool); border: 1px solid rgba(13,186,232,.2); border-radius: 10px; padding: 20px; margin: 28px 0; }
.cite-box h3 { font-size: 1rem; margin-bottom: 10px; }
.cite-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.cite-tab { padding: 6px 14px; font-size: .8rem; font-weight: 600; background: transparent; border: 1px solid var(--cyan); color: var(--cyan-deep); border-radius: 50px; cursor: pointer; transition: background .15s, color .15s; }
.cite-tab.active { background:#0a7da0; color: #fff; }
.cite-content { font-family: 'SF Mono', Menlo, monospace; font-size: .82rem; color: var(--ink-soft); background: #fff; padding: 14px 16px; border-radius: 8px; border: 1px solid var(--ink-line); white-space: pre-wrap; word-break: break-word; }
.cite-copy { margin-top: 10px; padding: 8px 16px; font-size: .78rem; font-weight: 600; background: var(--cyan-deep); color: #fff; border: none; border-radius: 50px; cursor: pointer; }
.cite-copy:hover { background: var(--navy); }

/* Footer / mob-bar — minimal versions */
.foot { background: var(--navy); color: #dcdcdc; padding: 36px 24px; margin-top: 48px; font-size: .85rem; text-align: center; }
.foot a { color: var(--peach); }
.foot-cta { display: inline-block; background: var(--magenta); color: #fff; padding: 12px 24px; border-radius: 50px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-top: 14px; font-size: .82rem; text-decoration: none; }
.compliance { font-size: .72rem; color: #9aa1ab; margin-top: 18px; line-height: 1.6; max-width: 720px; margin-left: auto; margin-right: auto; }
/* __LL-MOB-BAR-CSS-V1__ mob-bar styles (pre-existing, marked). 2026-05-19. */
.mob-bar { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200; background: var(--navy); border-top: 1px solid var(--peach); padding: 8px 0; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
.mob-bar-in { display: flex; justify-content: space-around; max-width: 600px; margin: 0 auto; }
.mob-bar a { display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--peach); font-size: .55rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 6px 8px; text-decoration: none; }
.mob-bar a:nth-child(2) { color: var(--cyan); }
.mob-bar a:nth-child(3) { color: var(--magenta); }
@media (max-width: 768px) { .mob-bar { display: block; } body { padding-bottom: 80px; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }

.dev-credit{text-align:center;padding:.95rem 1rem 4.5rem;background:#000;color:rgba(255,255,255,.55);font-size:.74rem;letter-spacing:.02em}
.dev-credit a{color:rgba(255,255,255,.85);text-decoration-color:rgba(255,255,255,.3)}
.dev-credit a:hover{color:#fff;text-decoration-color:var(--peach,#ffc46c)}
@media(max-width:780px){.dev-credit{padding-bottom:5.5rem}}

.tldr{background:#fff8e7;border-left:4px solid var(--peach);padding:1rem 1.25rem;border-radius:0 10px 10px 0;margin:0 0 1.6rem;max-width:62ch}
.tldr h2{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.1em;color:var(--magenta);font-weight:700;margin:0 0 .4rem!important;font-family:inherit;border:0!important;padding:0!important}
.tldr p{margin:0 0 .5rem;font-size:.96rem;line-height:1.55}
.tldr ul{margin:.5rem 0 0;padding-left:1.1rem;font-size:.9rem;line-height:1.55}
.tldr li{margin:.18rem 0}
.tldr strong{color:#000}

/* __LL_FLAGSHIP_CHROME_v1__ */
:root{--ink-deep:#143350;--ink-deep-2:#0e2840;--peach-deep:#e8a449;--cyan-deep:#01696f;--magenta-deep:#bf1383;--ink-soft:#3a3a3a;--ink-mute:#6a6a6a;--bg-tint:#fff5e8;--bg-cyan:#e9f9fe;--border-peach:rgba(255,196,108,.45);--serif:'Playfair Display',Georgia,serif}
.fla-top{display:flex;padding:0;background:var(--ink-deep);position:relative;overflow:hidden;border-bottom:1px solid rgba(255,196,108,.12)}
.fla-top a,.fla-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}
.fla-top a em,.fla-top button em{font-family:var(--serif);font-style:italic;font-weight:700;text-transform:none;letter-spacing:.01em;font-size:1.18em;color:#ffc46c;text-shadow:0 0 14px rgba(255,196,108,.55);padding:0 3px}
.fla-top a:first-child,.fla-top button:first-child{border-right:1px solid rgba(255,196,108,.18)}
.fla-hdr-wrap{position:sticky;top:0;z-index:100;background:#fffafa;box-shadow:0 1px 8px rgba(0,0,0,.04)}
.fla-hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid rgba(0,0,0,.08);max-width:1280px;margin:0 auto}
.fla-hdr-logo{font-family:var(--serif);font-size:1.5rem;font-weight:800;color:#000;line-height:1.05;text-decoration:none}
.fla-hdr-logo span{color:#c0107f}
.fla-hdr-sub{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-deep);margin-top:2px}
.fla-hdr-nav{display:flex;gap:24px;align-items:center}
.fla-hdr-nav a{font-size:.78rem;font-weight:500;color:var(--ink-soft);letter-spacing:.04em;padding:6px 0;position:relative;text-decoration:none}
.fla-hdr-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,#0dbae8,#c0107f);transform:scaleX(0);transition:transform .3s ease}
.fla-hdr-nav a:hover::after{transform:scaleX(1)}
.fla-hdr-nav a:hover{color:#000}
.fla-hdr-ham{position:relative;z-index:301;display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.fla-hdr-ham span{display:block;width:26px;height:2px;background:#000;transition:transform .4s,opacity .25s}
body.mnav-open .fla-hdr-ham span:nth-child(1){transform:translateY(7px) rotate(45deg);background:#c0107f}
body.mnav-open .fla-hdr-ham span:nth-child(2){opacity:0;transform:scaleX(0)}
body.mnav-open .fla-hdr-ham span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:#c0107f}
@media(max-width:980px){.fla-hdr-nav{display:none}.fla-hdr-ham{display:flex}}
.fla-mnav{position:fixed;inset:0;z-index:300;background:linear-gradient(135deg,#fffafa 0%,#fff5e8 45%,#e9f9fe 100%);flex-direction:column;padding:96px 40px 40px;overflow-y:auto;display:flex;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 .fla-mnav{clip-path:circle(160% at calc(100% - 36px) 56px);pointer-events:auto;visibility:visible}
.fla-mnav a{display:block;font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:#000;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}
body.mnav-open .fla-mnav a{transform:translateX(0);opacity:1}
body.mnav-open .fla-mnav a:nth-of-type(1){transition-delay:.18s}
body.mnav-open .fla-mnav a:nth-of-type(2){transition-delay:.22s}
body.mnav-open .fla-mnav a:nth-of-type(3){transition-delay:.26s}
body.mnav-open .fla-mnav a:nth-of-type(4){transition-delay:.30s}
body.mnav-open .fla-mnav a:nth-of-type(5){transition-delay:.34s}
body.mnav-open .fla-mnav a:nth-of-type(6){transition-delay:.38s}
body.mnav-open .fla-mnav a:nth-of-type(7){transition-delay:.42s}
body.mnav-open .fla-mnav a:nth-of-type(8){transition-delay:.46s}
body.mnav-open .fla-mnav a:nth-of-type(9){transition-delay:.50s}
body.mnav-open .fla-mnav a:nth-of-type(10){transition-delay:.54s}
body.mnav-open .fla-mnav a:hover{color:#c0107f;padding-left:8px}
body.mnav-open .fla-mnav a:last-of-type{border-bottom:0}
.fla-mnav-close{position:absolute;top:20px;right:24px;background:#fff;border:1px solid rgba(0,0,0,.08);color:#000;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:18px;line-height:1;z-index:302}
.fla-mnav-call{margin-top:24px;background:#c0107f;color:#fff!important;text-align:center;padding:18px!important;border-radius:8px;font-size:1.1rem!important}
.fla-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)}
.fla-announce strong{color:#000}
.fla-announce em{color:#c0107f;font-style:italic;font-weight:700}
.fla-foot{background:var(--ink-deep);color:#dcdcdc;padding:60px 40px 28px;border-top:4px solid #ffc46c}
.fla-foot-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.fla-foot-brand{font-family:var(--serif);font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:8px}
.fla-foot-brand span{color:#c0107f}
.fla-foot-desc{font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.7)}
.fla-foot-col h4{font-family:var(--serif);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffc46c;margin-bottom:14px;border-bottom:1px solid rgba(255,196,108,.16);padding-bottom:8px}
.fla-foot-col a{display:block;color:#c0c4cb;text-decoration:none;font-size:.85rem;padding:5px 0;transition:color .2s}
.fla-foot-col a:hover{color:#0dbae8}
.fla-foot-bottom{max-width:1180px;margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem;color:#7a808a;text-align:center;line-height:1.6}
@media(max-width:780px){.fla-foot-in{grid-template-columns:1fr;gap:28px}.fla-foot{padding:48px 24px 24px}.fla-hdr{padding:14px 20px}}

/* __LL_MOBBAR_FIX_v2__ — flagship-style mobile bar with colored outlined icon circles */
html,body{overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
input,select,textarea{max-width:100%;box-sizing:border-box}
.calc-widget,.calc-widget *{min-width:0}
.fld-row{min-width:0}
.fld-row > *{min-width:0}
.mob-bar{position:fixed;bottom:0;left:0;right:0;background:#0d1320;border-top:1px solid rgba(255,196,108,.18);padding:0;display:none;z-index:60}
@media(max-width:780px){.mob-bar{display:block}main{padding-bottom:92px}}
.mob-bar-in{display:grid;grid-template-columns:repeat(5,1fr);max-width:560px;margin:0 auto;gap:0}
.mob-bar a,.mob-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px 9px;background:none;color:rgba(255,255,255,.85);text-decoration:none;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-family:inherit;border:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease;min-width:0}
.mob-bar a:hover,.mob-bar button:hover{transform:translateY(-1px)}
.mob-bar .mb-ic{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid currentColor;background:rgba(255,255,255,.04);transition:background .2s ease,box-shadow .2s ease}
.mob-bar a:hover .mb-ic,.mob-bar button:hover .mb-ic{background:rgba(255,255,255,.10);box-shadow:0 0 12px currentColor}
.mob-bar .mb-ic svg{width:17px;height:17px;display:block}
.mob-bar .mb-call{color:#c0107f}
.mob-bar .mb-email{color:#0dbae8}
.mob-bar .mb-chat{color:#ffc46c}
.mob-bar .mb-map{color:#0dbae8}
.mob-bar .mb-top{color:#ffc46c}

/* 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, #c0107f 0%, #ff5cc0 30%, #c0107f 55%, #bf1383 80%, #c0107f 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: #01696f !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, #c0107f 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-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, #c0107f) !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(192, 16, 127, 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-calc-canonical-footer */

/* __LL-CALC-CANONICAL-CHROME-V1__ — canonical footer + mob-bar (header already canonical) */
.footer{background:#0A0A0A;color:rgba(255,255,255,.7);padding:48px 24px 24px;font-size:.92rem}
.footer-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}
@media(max-width:880px){.footer-in{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:520px){.footer-in{grid-template-columns:1fr}}
.footer-brand{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:14px}
.footer-brand span{color:#ffc46c}
.footer-desc{font-size:.88rem;line-height:1.6;color:rgba(255,255,255,.65)}
.footer-col h4{color:#fff;font-family:'Outfit',sans-serif;font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-weight:700}
.footer-col a{display:block;color:rgba(255,255,255,.7);text-decoration:none;font-size:.92rem;padding:5px 0;transition:color .2s}
.footer-col a:hover{color:#ffc46c}
.footer-col address{font-style:normal;display:flex;flex-direction:column;gap:8px}
.footer-legal-links{background:#0a1f44;color:rgba(255,255,255,.7);padding:12px 16px;text-align:center;font-size:.72rem;line-height:1.8;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;align-items:center}
.footer-legal-links a{color:#ffc46c;text-decoration:underline;white-space:nowrap}
.footer-tbls{background:#0a1f44;color:rgba(255,255,255,.65);padding:10px 16px;text-align:center;font-size:.7rem;line-height:1.5;border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom{padding:14px 16px;display:block;text-align:center;line-height:1.7}
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#143350;border-top:1px solid #ffc46c;padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.mob-bar-in{display:flex;justify-content:space-around;max-width:600px;margin:0 auto}
.mob-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#ffc46c;font-size:.55rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;text-decoration:none}
.mob-bar a:nth-child(2){color:#0dbae8}
.mob-bar a:nth-child(3){color:#c0107f}
@media (max-width:768px){.mob-bar{display:block}body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
.fla-foot{display:none !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: #01696f;
  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 #c0107f;
  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-css-missing */

/* __LL-MNAV-CSS-MISSING-V1__ — canonical mnav modal CSS (positioning, animation, links, close, call buttons) */

/* Hamburger button — hidden on desktop, shown on mobile */
/* __LL-HAM-GUARDS-V1__ hamburger pipeline CSS (pre-existing, marked). 2026-05-19. */
.hdr-ham {
  position: relative !important;
  z-index: 301 !important;
  display: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding: 8px !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
}
.hdr-ham span {
  display: block !important;
  width: 26px !important;
  height: 2px !important;
  background: #0A0A0A !important;
  transition: transform .4s, opacity .25s !important;
  border-radius: 2px !important;
}
body.mnav-open .hdr-ham span:nth-child(1) {
  transform: translateY(7px) rotate(45deg) !important;
  background: #c0107f !important;
}
body.mnav-open .hdr-ham span:nth-child(2) {
  opacity: 0 !important;
  transform: scaleX(0) !important;
}
body.mnav-open .hdr-ham span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg) !important;
  background: #c0107f !important;
}
@media (max-width: 880px) {
  .hdr-nav { display: none !important; }
  .hdr-ham { display: flex !important; }
}

/* Mnav modal — fixed full-viewport, snow gradient, clip-path circular 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: 96px 40px 40px !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;
  align-items: stretch !important;
  justify-content: flex-start !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 {
  display: none !important;
}

/* Mnav links — block-level Playfair serif, big tap targets */
.mnav a {
  display: block !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.6rem, 5vw, 2.4rem) !important;
  font-weight: 700 !important;
  color: #0A0A0A !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  background: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}
.mnav a:hover {
  color: #c0107f !important;
}

/* Mnav close button — top-right circle */
.mnav .mnav-close,
.mnav-close {
  position: absolute !important;
  top: 20px !important;
  right: 24px !important;
  background: #fff !important;
  border: 1px solid #e5e2da !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  font-size: 1.2rem !important;
  color: #000 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
}

/* Mnav actions: Call + Email pair */
.mnav-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 24px !important;
  width: 100% !important;
  border-bottom: 0 !important;
}
.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: center !important;
  gap: 12px !important;
  padding: 18px 24px !important;
  border-radius: 14px !important;
  background-color: #c0107f !important;
  color: #fff !important;
  text-decoration: none !important;
  margin: 0 !important;
  min-height: 56px !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: 0.96rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  border: 0 !important;
  border-bottom: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate !important;
  position: relative !important;
  z-index: 2 !important;
  box-shadow: 0 4px 14px rgba(192, 16, 127, .25) !important;
  opacity: 1 !important;
  transform: none !important;
  font-style: normal !important;
}
.mnav .mnav-call-email,
body.mnav-open .mnav .mnav-call-email {
  background-color: #0dbae8 !important;
  box-shadow: 0 4px 14px rgba(13,186,232,.25) !important;
}

/* ll-calc-full-footer */

/* __LL-CALC-FULL-FOOTER-V2__ — full footer (social icons + footer-cities + chat-disclaim) */
.footer-social{max-width:1240px;margin:32px auto 0;padding:24px 0;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}
.footer-social-label{color:rgba(255,255,255,.5);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.footer-social-icons{display:flex;gap:14px;align-items:center}
.footer-social-icons a{color:rgba(255,255,255,.55);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.10);border-radius:50%;transition:all .25s}
.footer-social-icons a:hover{color:#ffc46c;border-color:#ffc46c}
.footer-cities{background:#0d1320;padding:40px 0;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}
.fc-h{font-family:'Playfair Display',Georgia,serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#ffc46c;font-weight:700;margin-bottom:14px;border-bottom:1px solid rgba(255,196,108,.2);padding-bottom:8px}
.fc-cities{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;font-size:.86rem;line-height:1.5}
.fc-list{font-size:.86rem;line-height:1.5}
.fc-list a,.fc-cities a{color:#c0c4cb;text-decoration:none;padding:4px 0;display:block;transition:color .2s}
.fc-list a:hover,.fc-cities a:hover{color:#0dbae8}
.chat-disclaim{background:#0a1f44;color:rgba(255,255,255,.7);font-size:.66rem;line-height:1.4;text-align:center;padding:8px 16px;letter-spacing:.02em}

/* 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, #c0107f 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(192, 16, 127, 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(192, 16, 127, 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%, #01696f 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: #01696f !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, #c0107f 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(192, 16, 127, 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(192, 16, 127, 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%, #01696f 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: #01696f !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-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, #c0107f);
  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,#c0107f)!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-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-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-icw-callfix */
/* LL-ICW-CALLFIX-V1 keep Intaker call tab out of the form-control click path */#icw--call--content{top:auto!important;bottom:96px!important;}
/* ll-jctc-widget */
/* jail-time-credit widget styles */
.jc-rows{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.jc-row{border:1px solid var(--ink-line);border-radius:10px;padding:14px;background:var(--snow);position:relative}
.jc-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
@media(max-width:560px){.jc-row-grid{grid-template-columns:1fr}}
.jc-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.jc-row-title{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-deep)}
.jc-remove{background:none;border:1px solid var(--ink-line);color:var(--critical);border-radius:50px;font-size:.72rem;font-weight:700;padding:5px 12px;cursor:pointer;font-family:inherit;line-height:1}
.jc-remove:hover{background:#ffeded;border-color:var(--critical)}
.jc-remove[disabled]{opacity:.4;cursor:not-allowed}
.jc-cs{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:var(--ink-soft);margin-top:10px;cursor:pointer;line-height:1.4}
.jc-cs input{width:16px;height:16px;accent-color:var(--magenta);margin-top:2px;flex:0 0 16px;cursor:pointer}
.jc-add{margin-top:14px;display:inline-flex;align-items:center;gap:8px;background:var(--bg-cool);border:1px dashed var(--cyan);color:var(--cyan-deep);border-radius:10px;padding:11px 18px;font-weight:700;font-size:.86rem;cursor:pointer;font-family:inherit}
.jc-add:hover{background:#dff4fb}
.jc-err{color:var(--critical);font-size:.76rem;margin-top:8px;font-weight:600}
.jc-note{color:var(--warning);font-size:.76rem;margin-top:8px;font-weight:600}
.jc-total{font-family:var(--font-serif);font-size:2rem;font-weight:800;color:var(--magenta);line-height:1}
.jc-sentence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

/* ll-tablewrap-fix */
html body .table-wrap[class],html body .table-wrapper[class],html body .table-scroll[class]{overflow-x:auto!important;max-width:100%}