/* style */
:root{--snow:#fffafa;--snow-deep:#F2F1EB;--ink-deep:#0A0A0A;--ink-soft:#2A2A2A;--ink-mid:#5A5A5A;--ink-line:#D8D6CF;--peach:#ffc46c;--peach-deep:#e8a449;--cyan:#0dbae8;--cyan-deep:#01696f;--magenta:#c0107f;--magenta-deep:#bf1383;--ink-deep:#143350}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Outfit,system-ui,-apple-system,sans-serif;color:var(--ink-deep);background:var(--snow);line-height:1.6;font-size:16px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink-deep);color:var(--snow);padding:12px 16px;z-index:1000}
.skip-link:focus{left:0}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:999;pointer-events:none}
.scroll-progress-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--magenta));width:0;transition:width .1s}
.top{background:var(--navy);color:var(--snow);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:grid;grid-template-columns:1fr 1fr;text-align:center}
.top a{color:var(--snow);text-decoration:none;padding:14px 8px;display:block}
.top a:first-child{border-right:1px solid rgba(255,255,255,.15)}
.top em{color:var(--peach);font-style:italic;font-family:'Playfair Display',serif;font-weight:700;letter-spacing:.02em;text-transform:none}
.hdr-wrap{background:var(--snow);border-bottom:1px solid var(--ink-line);position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);background:rgba(250,250,247,.92)}
.hdr{max-width:1240px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr-brand{text-decoration:none;color:var(--ink-deep)}
.hdr-brand-name{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:800;line-height:1.1;letter-spacing:-.01em}
.hdr-brand-name em{color:var(--magenta);font-style:italic}
.hdr-brand-tag{font-size:.62rem;color:var(--cyan-deep);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-top:3px}
.hdr-ham{background:none;border:none;cursor:pointer;width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0}
.hdr-ham span{display:block;width:24px;height:2px;background:var(--ink-deep);transition:transform .3s,opacity .3s}
.hdr-ham[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hdr-ham[aria-expanded="true"] span:nth-child(2){opacity:0}
.hdr-ham[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mnav{position:fixed;inset:0;background:rgba(10,10,10,.94);color:var(--snow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-size:1.5rem;font-family:'Playfair Display',serif;z-index:100;clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .55s cubic-bezier(.7,0.3,1)}
.mnav.is-open{clip-path:circle(150% at calc(100% - 44px) 44px)}
.mnav a{color:var(--snow);text-decoration:none;opacity:0;transform:translateX(40px);transition:opacity .4s,transform .4s}
.mnav.is-open a{opacity:1;transform:translateX(0)}
.mnav.is-open a:nth-child(1){transition-delay:.18s}.mnav.is-open a:nth-child(2){transition-delay:.24s}.mnav.is-open a:nth-child(3){transition-delay:.30s}.mnav.is-open a:nth-child(4){transition-delay:.36s}.mnav.is-open a:nth-child(5){transition-delay:.42s}.mnav.is-open a:nth-child(6){transition-delay:.48s}.mnav.is-open a:nth-child(7){transition-delay:.54s}
.mnav-close{position:absolute;top:18px;right:18px;background:none;border:1px solid var(--snow);color:var(--snow);width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.2rem}
.bc-wrap{max-width:1240px;margin:0 auto;padding:18px 24px;font-size:.85rem;color:var(--ink-mid)}
.bc-wrap a{color:var(--cyan-deep);text-decoration:none}
.bc-wrap a:hover{text-decoration:underline}
.loc-hero{background:linear-gradient(180deg,var(--peach) 0%,var(--snow-deep) 100%);padding:80px 24px;text-align:center}
.loc-hero-inner{max-width:920px;margin:0 auto}
.loc-eyebrow{font-size:.78rem;color:var(--cyan-deep);font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
.loc-h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1.1;color:var(--ink-deep);margin-bottom:24px;letter-spacing:-.015em}
.loc-h1 em{font-style:italic;color:var(--magenta);background:linear-gradient(90deg,var(--magenta) 0%,var(--magenta-deep) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.loc-lede{font-size:1.18rem;line-height:1.5;color:var(--ink-soft);max-width:760px;margin:0 auto 28px}
.loc-cta{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:14px 28px;font-weight:600;text-decoration:none;border-radius:4px;font-size:.92rem;letter-spacing:.04em;transition:all .2s;border:2px solid transparent;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--navy);color:var(--snow);border-color:var(--navy)}
.btn-primary:hover{background:var(--magenta);border-color:var(--magenta)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:var(--snow)}
.loc-shell{max-width:1240px;margin:0 auto;padding:60px 24px;display:grid;grid-template-columns:1fr 320px;gap:48px}
.loc-body h2{font-family:'Playfair Display',serif;font-size:1.85rem;font-weight:700;margin:48px 0 18px;letter-spacing:-.01em;color:var(--ink-deep)}
.loc-body h2:first-child{margin-top:0}
.loc-body h3{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;margin:32px 0 12px;color:var(--ink-deep)}
.loc-body p{margin-bottom:16px;font-size:1.02rem;line-height:1.7;color:var(--ink-soft)}
.loc-body a{color:var(--cyan-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.loc-body a:hover{color:var(--magenta)}
.loc-body ul{margin:0 0 16px 24px}
.loc-body li{margin-bottom:8px;font-size:1.02rem;line-height:1.6;color:var(--ink-soft)}
.fact-card{background:var(--snow-deep);border-left:3px solid var(--magenta);padding:20px 24px;margin:24px 0;border-radius:0 4px 4px 0}
.fact-card-label{font-size:.72rem;font-weight:700;color:var(--magenta);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.fact-card-body{font-size:.98rem;color:var(--ink-soft);line-height:1.6}
.faq-item{border-bottom:1px solid var(--ink-line);padding:18px 0}
.faq-item summary{cursor:pointer;font-weight:600;font-size:1.05rem;color:var(--ink-deep);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:var(--magenta);font-size:1.4rem;line-height:1;flex-shrink:0;transition:transform .3s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:14px 0 0;font-size:.98rem;color:var(--ink-soft)}
.refs{background:var(--snow-deep);padding:24px;border-radius:6px;margin-top:40px;font-size:.88rem}
.refs h3{font-size:.78rem;font-weight:700;color:var(--ink-deep);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.refs ol{margin-left:20px}
.refs li{margin-bottom:6px;color:var(--ink-mid);line-height:1.5}
.refs a{color:var(--cyan-deep);text-decoration:none;word-break:break-word}
.refs a:hover{text-decoration:underline}
.loc-side{position:sticky;top:120px;align-self:start}
.side-card{background:var(--snow-deep);padding:28px 24px;border-radius:6px;margin-bottom:18px;border-top:3px solid var(--magenta)}
.side-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:14px;color:var(--ink-deep)}
.side-card p{font-size:.92rem;color:var(--ink-soft);margin-bottom:12px}
.side-card a.btn{width:100%;text-align:center;padding:11px;font-size:.85rem}
.related-list{list-style:none;margin:0;padding:0}
.related-list li{margin:0 0 10px;padding:0}
.related-list a{color:var(--cyan-deep);text-decoration:none;font-size:.92rem;display:block;padding:8px 0;border-bottom:1px solid var(--ink-line)}
.related-list a:hover{color:var(--magenta)}
.mid-cta{background:linear-gradient(135deg,var(--navy) 0%,#152b5a 100%);color:var(--snow);padding:48px 32px;border-radius:8px;text-align:center;margin:48px 0}
.mid-cta h3{font-family:'Playfair Display',serif;color:var(--snow);font-size:1.6rem;margin-bottom:12px}
.mid-cta p{color:rgba(255,255,255,.85);font-size:1rem;margin-bottom:22px}
.mid-cta .btn-primary{background:var(--magenta);border-color:var(--magenta)}
.mid-cta .btn-primary:hover{background:var(--peach);color:var(--ink-deep);border-color:var(--peach)}
.foot{background:var(--ink-deep);color:rgba(255,255,255,.7);padding:48px 24px 24px;font-size:.85rem}
.foot-inner{max-width:1240px;margin:0 auto;text-align:center}
.foot a{color:var(--peach);text-decoration:none}
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--ink-deep);border-top:1px solid rgba(255,255,255,.1);z-index:80;justify-content:space-around;padding:8px 4px;align-items:center}
.mob-bar a,.mob-bar button{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;background:none;border:none;font-family:inherit;cursor:pointer;text-decoration:none}
.mob-bar a:nth-child(2),.mob-bar a:nth-child(2) svg{color:var(--cyan);stroke:var(--cyan)}
.mob-bar a:nth-child(3),.mob-bar a:nth-child(3) svg,.mob-bar button:nth-child(3),.mob-bar button:nth-child(3) svg{color:var(--magenta);stroke:var(--magenta)}
.mob-bar svg{width:22px;height:22px;stroke:var(--peach);fill:none;stroke-width:1.6}
@media(max-width:880px){.mob-bar{display:flex}.loc-shell{grid-template-columns:1fr;padding:0 20px 60px}.loc-side{position:static;margin-top:32px}.loc-hero{padding:50px 20px}}
/* === CANONICAL ADDITIONS (announce / mob-bar / footer-cities) === */
.announce{background:#fff5e8;text-align:center;padding:12px 24px;font-size:.8rem;color:#3a3a3a;border-bottom:1px solid #f0dfc4;line-height:1.5}
.announce strong{color:#0A0A0A}
.announce em{color:#c0107f;font-style:italic;font-weight:700}
.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,.mob-bar button{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;background:none;border:none;font-family:inherit;cursor:pointer;text-decoration:none}
.mob-bar a:nth-child(2),.mob-bar a:nth-child(2) svg{color:#0dbae8;stroke:#0dbae8}
.mob-bar a:nth-child(3),.mob-bar a:nth-child(3) svg,.mob-bar button:nth-child(3),.mob-bar button:nth-child(3) svg{color:#c0107f;stroke:#eb19a3}
.mob-bar svg{width:22px;height:22px;stroke:#ffc46c;fill:none;stroke-width:1.6}
@media (max-width:768px){.mob-bar{display:block}body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
.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}
/* === /CANONICAL ADDITIONS === */

/* === FORCE CANONICAL HEADER LOOK === */
.hdr-wrap{position:sticky;top:0;z-index:100;background:#fffafa !important;box-shadow:0 1px 8px rgba(0,0,0,.04)}
.top{display:flex !important;padding:0 !important;background:#143350 !important;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,196,108,.12);text-align:left}
.top a,.top button{flex:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;padding:15px 20px !important;background:linear-gradient(120deg,#143350 0%,#214770 50%,#143350 100%) !important;color:#fff !important;font-size:.86rem !important;font-weight:500 !important;letter-spacing:.16em !important;text-transform:uppercase !important;transition:.4s ease !important;text-decoration:none !important;border:none !important;font-family:inherit !important;cursor:pointer !important;position:relative;overflow:hidden}
.top a em,.top button em{font-family:'Playfair Display',Georgia,serif !important;font-style:italic !important;font-weight:700 !important;text-transform:none !important;letter-spacing:.01em !important;font-size:1.18em !important;color:#ffc46c !important;text-shadow:0 0 14px rgba(255,196,108,.55) !important;padding:0 3px !important}
.top a:first-child,.top button:first-child{border-right:1px solid rgba(255,196,108,.18) !important}
.hdr{display:flex !important;justify-content:space-between !important;align-items:center !important;padding:16px 32px !important;border-bottom:1px solid #e5e2da !important;max-width:1280px !important;margin:0 auto !important;background:transparent !important}
.hdr-logo{font-family:'Playfair Display',Georgia,serif !important;font-size:1.5rem !important;font-weight:800 !important;color:#0A0A0A !important;line-height:1.05 !important}
.hdr-logo span{color:#c0107f !important}
.hdr-sub{font-size:.58rem !important;font-weight:700 !important;letter-spacing:.22em !important;text-transform:uppercase !important;color:#077191 !important;margin-top:2px !important}
.hdr-nav{display:flex !important;gap:24px !important}
.hdr-nav a{font-size:.78rem !important;font-weight:500 !important;color:#3a3a3a !important;letter-spacing:.04em !important;padding:6px 0 !important;position:relative !important;text-decoration:none !important;background:transparent !important;border:none !important}
.hdr-nav a::after{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;bottom:-2px !important;height:2px !important;background:linear-gradient(90deg,#0dbae8,#eb19a3) !important;transform:scaleX(0) !important;transform-origin:left center !important;transition:transform .3s ease !important}
.hdr-nav a:hover::after,.hdr-nav a.active::after{transform:scaleX(1) !important}
.hdr-nav a.hdr-cta{display:none !important}
.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}
.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{position:fixed !important;inset:0 !important;z-index:300 !important;background:linear-gradient(135deg,#fffafa 0%,#fff5e8 45%,#e9f9fe 100%) !important;flex-direction:column !important;padding:96px 40px 40px !important;overflow-y:auto !important;display:flex !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}
body.mnav-open .mnav{clip-path:circle(160% at calc(100% - 36px) 56px) !important;pointer-events:auto !important;visibility:visible !important}
.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}
.mnav .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}
.mnav .mnav-call{margin-top:32px !important;padding:18px 32px !important;background:#c0107f !important;color:#fff !important;border-radius:50px !important;text-align:center !important;border-bottom:none !important;font-family:'Outfit',sans-serif !important;font-size:.96rem !important;font-weight:700 !important;letter-spacing:.08em !important;text-transform:uppercase !important;align-self:flex-start !important}
body.mnav-open{overflow:hidden !important}
@media (max-width:768px){.hdr{padding:12px 16px !important}.top a{font-size:.72rem !important;letter-spacing:.1em !important;padding:12px 10px !important;gap:6px !important}.hdr-logo{font-size:1.2rem !important}.hdr-sub{font-size:.55rem !important}}
/* === /FORCE CANONICAL === */

/* ll-overflow-fix-v14 — sitewide chrome consistency, 2026-05-15 */
.mobile-sticky,nav.mobile-sticky,.sticky-call,.mobile-cta-bar{display:none!important}
html,body{overflow-x:clip!important;max-width:100vw!important}
@supports not (overflow:clip){html,body{overflow-x:hidden!important}}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe,object,embed{max-width:100%;height:auto}
/* Tables: keep table semantics, share columns, wrap cell text on mobile.
 Use high-specificity selectors (html body + .class) to defeat other !important rules. */
html body table,html body main table,html body article table,html body section table,html body .table-wrap table,html body .table-wrapper table,html body .table-scroll table{display:table!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse;word-wrap:break-word;overflow-wrap:break-word;white-space:normal!important}
html body table th,html body table td,html body .table-wrap table th,html body .table-wrap table td{word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important;vertical-align:top;white-space:normal!important}
/* Defeat any wrapper that's making tables overflow with overflow:auto */
html body .table-wrap,html body .table-wrapper,html body .table-scroll{overflow-x:visible!important;max-width:100%!important;width:100%!important}
@media(max-width:768px){
 html body table{font-size:.82rem!important}
 html body table th,html body table td{padding:6px 4px!important;font-size:inherit}
 html body table th{font-size:.9em!important;font-family:inherit!important;font-weight:700}
 html body table td{line-height:1.4}
}
@media(max-width:380px){
 html body table{font-size:.74rem!important}
 html body table th,html body table td{padding:4px 3px!important}
}
pre,code{max-width:100%;overflow-x:auto;word-wrap:break-word}
/* Force canonical-hdr-wrap to be a real box (some pages have display:contents which prevents sticky) */
.canonical-hdr-wrap{display:block!important;position:sticky!important;top:0!important;z-index:100!important;background:#fffafa!important;box-shadow:0 1px 8px rgba(0,0,0,.04)}
.hdr-wrap{position:sticky!important;top:0!important;z-index:100!important;background:#fffafa!important;box-shadow:0 1px 8px rgba(0,0,0,.04)}
.canonical-hdr-wrap .hdr-wrap{position:static!important;box-shadow:none!important}
.canonical-hdr-wrap .top,.canonical-hdr-wrap .hdr,.canonical-hdr-wrap .announce,.canonical-hdr-wrap .hdr-nav{max-width:100%}
.canonical-hdr-wrap .top a,.canonical-hdr-wrap .top button{min-width:0;padding-left:8px;padding-right:8px;font-size:.78rem}
.canonical-hdr-wrap .hdr-logo{line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.canonical-hdr-wrap .hdr-sub{font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:380px){
 .canonical-hdr-wrap .top a,.canonical-hdr-wrap .top button{font-size:.7rem;padding:12px 6px}
 .canonical-hdr-wrap .hdr{padding:14px 16px;gap:8px}
 .canonical-hdr-wrap .hdr-logo{font-size:1rem}
 .canonical-hdr-wrap .hdr-sub{font-size:.56rem;letter-spacing:.1em}
 .canonical-hdr-wrap .announce{font-size:.78rem;padding:10px 14px}
}
/* Mobile bar — handles .canonical-mob-bar, legacy .mob-bar, and inner-wrapper variants (.canonical-mob-bar-in.mob-bar-in) */
.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}
/* Per-button full-color theming (icon + label both colored): Call/Map peach, Email cyan, Chat magenta, Top cyan */
.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}
}
.loc-shell,.shell,.bp-wrap,.bp-section,main,article{max-width:100%;overflow-wrap:break-word;word-wrap:break-word}
@media(max-width:768px){
 .loc-shell{grid-template-columns:1fr!important;gap:24px!important;padding-left:16px;padding-right:16px}
 .loc-side{position:static!important;margin-top:24px}
}
.fact-card,.mid-cta,.refs,.callout,.info-gain,.ig-section{max-width:100%}
.refs li,.bp-section p,.loc-body p,.loc-body li{overflow-wrap:break-word;word-break:break-word}
/* Left-align body content sitewide (preserve centered heroes, CTAs, stat cards) */
main p,main li,main ol,main ul,main blockquote,main dl,main dd,article p,article li,article ol,article ul,article blockquote,article dl,article dd.loc-body p.loc-body li.loc-body ol.loc-body ul.bp-section p.bp-section li.bp-section ol.bp-section ul.bp-wrap p.bp-wrap li.bp-wrap ol.bp-wrap ul.ig-section p.ig-section li.ig-section ol.ig-section ul.ig-section h3.refs li.refs ol.refs p.fact-card p.fact-card-body.callout p.callout li.shell p.shell li.shell ol.shell ul{text-align:left!important}
/* Headlines that should stay centered: hero, mid-cta, footer rows, stat blocks */
.hero h1,.hero h2,.hero p,.loc-hero h1,.loc-hero h2,.loc-hero p,.bp-hero h1,.bp-hero p,.mid-cta h2,.mid-cta h3,.mid-cta p,.stat,.stats,.trust-badges,.footer-bottom,.footer-tbls,.footer-legal-links,.chat-disclaim,.announce{text-align:center}

/* SHIMMER-START v1 — sitewide canonical Call/Consult top-bar shimmer (2026-05-16) */
.top{position:relative;overflow:hidden}
.top a,.top button{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(235,25,163,.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:hover em,.top button:hover em{color:#ffd58c;text-shadow:0 0 20px rgba(255,196,108,.8)}
/* SHIMMER-END v1 */

.dev-credit{text-align:center;padding:.95rem 1rem 4.5rem;background:#000;color:rgba(255,255,255,.55);font-size:.74rem;letter-spacing:.02em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.dev-credit a{color:rgba(255,255,255,.85);text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.dev-credit a:hover{color:#fff;text-decoration-color:var(--peach,#ffc46c)}
@media(max-width:780px){.dev-credit{padding-bottom:5.5rem}}
@media print{.dev-credit{display:none}}

/* lite-yt-style */

.lite-yt{position:relative;background-color:#000;background-position:center;background-size:cover;cursor:pointer;max-width:720px;margin:0 auto;display:block}
.lite-yt::before{content:'';display:block;position:absolute;top:0;background-image:linear-gradient(180deg,rgba(0,0,0,.67),transparent);height:60px;width:100%;transition:opacity .25s;z-index:1}
.lite-yt::after{content:'';display:block;padding-bottom:56.25%}
.lite-yt > iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}
.lite-yt > .lite-yt-play{font-size:10em;text-align:center;width:68px;height:48px;background-color:#212121;z-index:1;opacity:.8;border-radius:14%;transition:all .25s cubic-bezier(0,0.2,1);position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0);border:0;cursor:pointer}
.lite-yt:hover > .lite-yt-play{background-color:#f00;opacity:1}
.lite-yt > .lite-yt-play::before{content:'';border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0)}
.lite-yt.lite-yt-activated{cursor:unset}.lite-yt.lite-yt-activated::before,.lite-yt.lite-yt-activated > .lite-yt-play{opacity:0;pointer-events:none}

/* rt-style */
.rt-meta{display:inline-flex;gap:14px;font-size:.82rem;color:#5A5A5A;margin:8px 0 18px;align-items:center}.rt-meta span{display:inline-flex;align-items:center;gap:6px}.rt-dot{width:4px;height:4px;background:#c0107f;border-radius:50%}
/* ll-lite-yt-mobile-fs */

.lite-yt-mobile-fs{
 position:fixed !important;
 inset:0 !important;
 width:100vw !important;
 height:100vh !important;
 height:100dvh !important;
 z-index:99999 !important;
 background:#000 !important;
 padding:0 !important;
 margin:0 !important;
 border-radius:0 !important;
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 aspect-ratio:auto !important;
}
.lite-yt-mobile-fs iframe{
 width:100% !important;
 height:100% !important;
 max-width:100vw !important;
 max-height:100vh !important;
 max-height:100dvh !important;
 aspect-ratio:auto !important;
 position:relative !important;
 top:auto !important;
 left:auto !important;
 border:0 !important;
}
.lite-yt-mobile-fs .lite-yt-play{display:none !important}
.lite-yt-close{
 position:fixed !important;
 top:max(12px,env(safe-area-inset-top,12px)) !important;
 right:max(12px,env(safe-area-inset-right,12px)) !important;
 z-index:100000 !important;
 background:rgba(0,0,0,.85) !important;
 color:#fff !important;
 border:1.5px solid rgba(255,255,255,.5) !important;
 width:44px !important;
 height:44px !important;
 border-radius:50% !important;
 font-size:26px !important;
 line-height:1 !important;
 cursor:pointer !important;
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 font-family:system-ui,-apple-system,sans-serif !important;
 padding:0 !important;
 font-weight:300 !important;
 -webkit-tap-highlight-color:transparent !important;
 touch-action:manipulation !important;
}
.lite-yt-close:hover,.lite-yt-close:active{
 background:rgba(235,25,163,.9) !important;
 border-color:#fff !important;
}
html.lite-yt-fs-locked,html.lite-yt-fs-locked body{
 overflow:hidden !important;
 position:relative !important;
 height:100vh !important;
}

/* Hide all site chrome while the lite-yt viewer is in mobile-fullscreen mode */
html.lite-yt-fs-locked .canonical-hdr-wrap,
html.lite-yt-fs-locked .canonical-footer-wrap,
html.lite-yt-fs-locked .canonical-mob-bar,
html.lite-yt-fs-locked .hdr-wrap,
html.lite-yt-fs-locked .top,
html.lite-yt-fs-locked .announce,
html.lite-yt-fs-locked .footer,
html.lite-yt-fs-locked .mob-bar,
html.lite-yt-fs-locked .ll-scroll-progress,
html.lite-yt-fs-locked .scroll-progress,
html.lite-yt-fs-locked .skip-link,
html.lite-yt-fs-locked .atty-disclosure,
html.lite-yt-fs-locked .bar-attribution,
html.lite-yt-fs-locked .mnav,
html.lite-yt-fs-locked .sticky-call,
html.lite-yt-fs-locked .ll-totop,
html.lite-yt-fs-locked .hdr,
html.lite-yt-fs-locked nav.hdr-nav,
html.lite-yt-fs-locked nav[aria-label="Mobile navigation"] { display: none !important; visibility: hidden !important; }

/* ll-city-template-v2 */

/* __LL_CITY_TEMPLATE_V2__ — visual polish for city/county/area pages */

/* 1. Polished mid-CTA (was: dark navy "Arrested in [city]?" box) */
.mid-cta{
 background:linear-gradient(135deg,#fff5e8 0%,#fffafa 50%,#e9f9fe 100%)!important;
 color:#0a0a0a!important;
 border:1px solid rgba(255,196,108,.4)!important;
 border-radius:16px!important;
 padding:44px 32px!important;
 box-shadow:0 8px 28px rgba(0,0,0,.07)!important;
 position:relative!important;
 overflow:hidden!important;
 margin:56px 0!important;
}
.mid-cta::before{
 content:""!important;
 position:absolute!important;
 top:0!important;left:0!important;right:0!important;
 height:5px!important;
 background:linear-gradient(90deg,#bf1383 0%,#eb19a3 28%,#ff5cc0 50%,#ffc46c 72%,#0dbae8 100%)!important;
 z-index:1!important;
}
.mid-cta::after{
 content:""!important;
 position:absolute!important;
 top:-60px!important;
 right:-60px!important;
 width:200px!important;
 height:200px!important;
 border-radius:50%!important;
 background:radial-gradient(circle,rgba(235,25,163,.10) 0%,transparent 70%)!important;
 pointer-events:none!important;
 z-index:0!important;
}
.mid-cta > *{position:relative!important;z-index:2!important}
.mid-cta h3{
 color:#0a0a0a!important;
 font-family:'Playfair Display',Georgia,serif!important;
 font-size:1.75rem!important;
 font-weight:800!important;
 letter-spacing:-.012em!important;
 margin:0 0 14px!important;
 line-height:1.15!important;
}
.mid-cta p{
 color:#3a3a3a!important;
 font-size:1.04rem!important;
 margin:0 0 26px!important;
 line-height:1.6!important;
 max-width:560px!important;
 margin-left:auto!important;
 margin-right:auto!important;
}
.mid-cta .btn.mid-cta .btn-primary.mid-cta a.btn{
 background:#c0107f!important;
 color:#fff!important;
 border:none!important;
 padding:15px 34px!important;
 border-radius:50px!important;
 font-weight:700!important;
 font-size:.86rem!important;
 letter-spacing:.06em!important;
 text-transform:uppercase!important;
 text-decoration:none!important;
 display:inline-block!important;
 box-shadow:0 6px 20px rgba(235,25,163,.28)!important;
 transition:transform .25s,box-shadow .25s,background .25s!important;
}
.mid-cta .btn:hover.mid-cta .btn-primary:hover.mid-cta a.btn:hover{
 background:#c0107f!important;
 transform:translateY(-2px)!important;
 box-shadow:0 10px 28px rgba(235,25,163,.40)!important;
 color:#fff!important;
}

/* 2. Polished loc-hero (was: flat peach block) */
.loc-hero{
 background:linear-gradient(135deg,#fff5e8 0%,#ffe8d0 30%,#fffafa 70%,#e9f9fe 100%)!important;
 position:relative!important;
 overflow:hidden!important;
 padding:64px 24px 48px!important;
}
.loc-hero::before{
 content:""!important;
 position:absolute!important;
 top:-120px!important;
 right:-120px!important;
 width:340px!important;
 height:340px!important;
 border-radius:50%!important;
 background:radial-gradient(circle,rgba(235,25,163,.10) 0%,transparent 70%)!important;
 pointer-events:none!important;
 z-index:0!important;
}
.loc-hero::after{
 content:""!important;
 position:absolute!important;
 bottom:-120px!important;
 left:-120px!important;
 width:340px!important;
 height:340px!important;
 border-radius:50%!important;
 background:radial-gradient(circle,rgba(13,186,232,.10) 0%,transparent 70%)!important;
 pointer-events:none!important;
 z-index:0!important;
}
.loc-hero-inner{position:relative!important;z-index:2!important}
.loc-eyebrow{
 font-size:.72rem!important;
 font-weight:800!important;
 letter-spacing:.20em!important;
 text-transform:uppercase!important;
 color:#077191!important;
 margin-bottom:18px!important;
 display:inline-block!important;
}
.loc-h1{
 font-size:clamp(2.1rem,5.2vw,3.6rem)!important;
 font-weight:800!important;
 line-height:1.08!important;
 color:#0a0a0a!important;
 letter-spacing:-.014em!important;
 margin:0 0 24px!important;
}
.loc-h1 em{
 font-style:italic!important;
 background:linear-gradient(100deg,#eb19a3,#ff5cc0 30%,#eb19a3 55%,#bf1383 80%,#eb19a3)!important;
 background-size:200% 100%!important;
 -webkit-background-clip:text!important;
 background-clip:text!important;
 -webkit-text-fill-color:transparent!important;
 color:transparent!important;
 animation:ll-grad-shift 9s linear infinite!important;
}
@keyframes ll-grad-shift{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.loc-lede{
 font-size:1.08rem!important;
 color:#3a3a3a!important;
 max-width:680px!important;
 margin:0 auto 26px!important;
 line-height:1.6!important;
}
.loc-cta{
 display:flex!important;
 gap:12px!important;
 justify-content:center!important;
 flex-wrap:wrap!important;
 margin-top:18px!important;
}
.loc-cta .btn{
 padding:14px 28px!important;
 border-radius:50px!important;
 font-weight:700!important;
 font-size:.84rem!important;
 letter-spacing:.06em!important;
 text-transform:uppercase!important;
 text-decoration:none!important;
 transition:transform .25s,box-shadow .25s!important;
}
.loc-cta .btn-primary{
 background:#c0107f!important;
 color:#fff!important;
 border:none!important;
 box-shadow:0 6px 20px rgba(235,25,163,.25)!important;
}
.loc-cta .btn-primary:hover{
 background:#c0107f!important;
 transform:translateY(-2px)!important;
 box-shadow:0 10px 28px rgba(235,25,163,.40)!important;
}
.loc-cta .btn-outline{
 background:#fff!important;
 color:#077191!important;
 border:1.8px solid #0dbae8!important;
}
.loc-cta .btn-outline:hover{
 background:#0a7da0!important;
 color:#fff!important;
 transform:translateY(-2px)!important;
 box-shadow:0 10px 26px rgba(13,186,232,.30)!important;
}

/* 3. Polished case-type cards (was: plain white boxes) */
.case-type-grid .ct-card{
 background:#fff!important;
 border:1px solid rgba(0,0,0,.06)!important;
 border-radius:14px!important;
 padding:24px 22px 22px!important;
 box-shadow:0 4px 14px rgba(0,0,0,.05)!important;
 transition:transform .28s cubic-bezier(.22,1.36,1),box-shadow .28s ease,border-color .28s ease!important;
 position:relative!important;
 overflow:hidden!important;
 isolation:isolate!important;
}
.case-type-grid .ct-card::before{
 content:""!important;
 position:absolute!important;
 top:0!important;left:0!important;right:0!important;
 height:3px!important;
 background:linear-gradient(90deg,#077191,#0dbae8)!important;
 transition:height .25s ease!important;
 z-index:1!important;
}
.case-type-grid .ct-card:nth-child(3n+2)::before{
 background:linear-gradient(90deg,#bf1383,#eb19a3 55%,#ff5cc0)!important;
}
.case-type-grid .ct-card:nth-child(3n)::before{
 background:linear-gradient(90deg,#e8a449,#ffc46c)!important;
}
.case-type-grid .ct-card:hover{
 transform:translateY(-4px)!important;
 box-shadow:0 14px 30px rgba(0,0,0,.10)!important;
 border-color:rgba(13,186,232,.30)!important;
}
.case-type-grid .ct-card:nth-child(3n+2):hover{
 border-color:rgba(235,25,163,.30)!important;
}
.case-type-grid .ct-card:nth-child(3n):hover{
 border-color:rgba(255,196,108,.45)!important;
}
.case-type-grid .ct-card:hover::before{height:5px!important}
.case-type-grid .ct-card h3{
 font-family:'Playfair Display',Georgia,serif!important;
 font-size:1.16rem!important;
 font-weight:800!important;
 color:#0a0a0a!important;
 margin:0 0 8px!important;
}
.case-type-grid .ct-card p{
 color:#5a5a5a!important;
 font-size:.84rem!important;
 line-height:1.55!important;
 margin:0!important;
}

/* 4. Polished trust-badges (was: flat F2F1EB block) */
.trust-badges{
 background:linear-gradient(135deg,#fffafa 0%,#fff5e8 100%)!important;
 border:1px solid rgba(255,196,108,.30)!important;
 border-radius:14px!important;
 padding:24px!important;
 gap:18px!important;
 box-shadow:0 4px 16px rgba(0,0,0,.04)!important;
}
.trust-badges > div{
 padding:14px 12px!important;
 background:#fff!important;
 border-radius:10px!important;
 box-shadow:0 2px 8px rgba(0,0,0,.04)!important;
 position:relative!important;
 overflow:hidden!important;
 transition:transform .25s ease,box-shadow .25s ease!important;
}
.trust-badges > div::before{
 content:""!important;
 position:absolute!important;
 top:0!important;left:0!important;right:0!important;
 height:2px!important;
 background:linear-gradient(90deg,#077191,#0dbae8)!important;
}
.trust-badges > div:nth-child(2)::before{background:linear-gradient(90deg,#bf1383,#eb19a3,#ff5cc0)!important}
.trust-badges > div:nth-child(3)::before{background:linear-gradient(90deg,#e8a449,#ffc46c)!important}
.trust-badges > div:nth-child(4)::before{background:linear-gradient(90deg,#eb19a3,#ff5cc0)!important}
.trust-badges > div:hover{
 transform:translateY(-2px)!important;
 box-shadow:0 8px 20px rgba(0,0,0,.08)!important;
}

/* 5. Mobile spacing for hero */
@media(max-width:780px){
 .loc-hero{padding:44px 18px 36px!important}
 .mid-cta{padding:32px 22px!important;margin:40px 0!important}
 .mid-cta h3{font-size:1.45rem!important}
 .loc-h1{font-size:clamp(1.9rem,8vw,2.4rem)!important}
}

/* ll-footer-cities-compact-v1 */

.canonical-footer-wrap .footer-cities.footer-cities {
 padding: 14px 0 16px !important;
 border-top: 1px solid rgba(255,196,108,.12) !important;
}
.canonical-footer-wrap .footer-cities-inner.footer-cities-inner {
 display: block !important;
 grid-template-columns: none !important;
 gap: 0 !important;
 padding: 0 20px !important;
 font-size: .78rem !important;
 line-height: 1.7 !important;
}
.footer-cities .fc-h {
 display: inline !important;
 font-size: .66rem !important;
 letter-spacing: .14em !important;
 text-transform: uppercase !important;
 color: #ffc46c !important;
 font-weight: 700 !important;
 margin: 0 8px 0 0 !important;
 padding: 0 !important;
 border-bottom: none !important;
}
.footer-cities .fc-cities.footer-cities .fc-counties {
 display: inline !important;
 margin: 0 !important;
 padding: 0 !important;
}
.footer-cities .fc-cities a.footer-cities .fc-counties a {
 display: inline !important;
 font-size: .78rem !important;
 padding: 0 !important;
 margin: 0 6px 0 0 !important;
 color: #c0c4cb !important;
 text-decoration: none !important;
 white-space: nowrap !important;
}
.footer-cities .fc-cities a:hover.footer-cities .fc-counties a:hover { color: #0dbae8 !important; }
.footer-cities .footer-cities-inner > div {
 display: block !important;
 margin: 0 0 4px !important;
 padding: 0 !important;
}
@media (max-width: 768px) {
 .canonical-footer-wrap .footer-cities.footer-cities { padding: 10px 0 12px !important; }
 .canonical-footer-wrap .footer-cities-inner.footer-cities-inner { font-size: .72rem !important; line-height: 1.6 !important; }
}

/* ll-footer-cities-hide-v1 */

.canonical-footer-wrap .footer-cities.footer-cities {
 display: none !important;
 visibility: hidden !important;
 height: 0 !important;
 padding: 0 !important;
 margin: 0 !important;
 border: none !important;
}

/* ll-mnav-call-pair-v3 */

.mnav .mnav-actions {
 display: flex !important;
 flex-direction: column !important;
 gap: 10px !important;
 margin: 28px 0 16px !important;
 width: 100% !important;
 max-width: 360px !important;
 align-self: stretch !important;
}
body.mnav-open .mnav a.mnav-call.mnav a.mnav-call {
 flex-shrink: 0 !important;
 flex-grow: 0 !important;
 margin: 0 !important;
 padding: 12px 14px !important;
 border-radius: 16px !important;
 background: rgba(255,255,255,.82) !important;
 backdrop-filter: blur(16px) saturate(160%) !important;
 -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
 box-shadow:
 0 1px 0 rgba(255,255,255,.7) inset,
 0 10px 28px -12px rgba(0,0,0,.20),
 0 1px 2px rgba(0,0,0,.04) !important;
 border: 1px solid rgba(0,0,0,.08) !important;
 color: #0a0a0a !important;
 text-transform: none !important;
 letter-spacing: 0 !important;
 align-self: stretch !important;
 display: flex !important;
 align-items: center !important;
 justify-content: flex-start !important;
 gap: 14px !important;
 width: 100% !important;
 position: relative !important;
 overflow: visible !important;
 text-decoration: none !important;
 border-bottom: 1px solid rgba(0,0,0,.08) !important;
 text-align: left !important;
 transform: none !important;
 box-sizing: border-box !important;
 min-height: 64px !important;
 transition: transform .35s cubic-bezier(.22,1.36,1), box-shadow .35s ease, border-color .35s ease !important;
 font-weight: 500 !important;
}
.mnav a.mnav-call::before { display: none !important; }
.mnav a.mnav-call::after { display: none !important; }
.mnav a.mnav-call .mnav-call-icon {
 flex: 0 0 auto;
 width: 40px; height: 40px;
 border-radius: 12px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 color: #fff;
}
.mnav a.mnav-call .mnav-call-icon svg { width: 20px; height: 20px; color: #fff; }
.mnav a.mnav-call .mnav-call-icon-phone {
 background: linear-gradient(135deg, #eb19a3 0%, #c8108c 100%);
 box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 6px 14px -4px rgba(235,25,163,.45);
}
.mnav a.mnav-call .mnav-call-icon-email {
 background: linear-gradient(135deg, #0dbae8 0%, #0a99c0 100%);
 box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 6px 14px -4px rgba(13,186,232,.45);
}
.mnav a.mnav-call .mnav-call-stack {
 display: flex !important;
 flex-direction: column !important;
 line-height: 1.1;
 flex: 1 1 auto;
 min-width: 0;
 align-items: flex-start !important;
 text-align: left !important;
}
.mnav a.mnav-call .mnav-call-label {
 font-size: .62rem;
 font-weight: 600;
 letter-spacing: .18em;
 text-transform: uppercase;
 color: rgba(0,0,0,.52);
 margin-bottom: 3px;
}
.mnav a.mnav-call .mnav-call-value {
 font-size: 1.06rem;
 font-weight: 700;
 letter-spacing: -.005em;
 color: #0a0a0a;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 font-feature-settings: "tnum" 1;
 max-width: 100%;
}
.mnav a.mnav-call-email .mnav-call-value { font-size: .92rem; letter-spacing: 0; }
body.mnav-open .mnav a.mnav-call:hover {
 transform: translateY(-1px) !important;
 box-shadow:
 0 1px 0 rgba(255,255,255,.85) inset,
 0 14px 28px -10px rgba(0,0,0,.18) !important;
 border-color: rgba(235,25,163,.20) !important;
}
.mnav a.mnav-call-phone:hover .mnav-call-icon-phone {
 box-shadow: 0 1px 0 rgba(255,255,255,.45) inset, 0 8px 18px -3px rgba(235,25,163,.6);
}
.mnav a.mnav-call-email:hover .mnav-call-icon-email {
 box-shadow: 0 1px 0 rgba(255,255,255,.45) inset, 0 8px 18px -3px rgba(13,186,232,.6);
}
.mnav a.mnav-call:active { transform: translateY(0) scale(.99) !important; }

/* ll-mnav-scroll-fix-css */

/* __MNAV-SCROLL-FIX-V1__
 Force mnav top padding to clear the close button + peach gradient header band.
 Convert close button to sticky so it stays visible during scroll. */
.mnav,.canonical-hdr-wrap .mnav {
 padding-top: 130px !important;
 scroll-padding-top: 80px !important;
 overscroll-behavior: contain !important;
 -webkit-overflow-scrolling: touch !important;
}
.mnav .mnav-close,
.canonical-hdr-wrap .mnav .mnav-close {
 position: sticky !important;
 top: 16px !important;
 align-self: flex-end !important;
 margin: 0 !important;
 flex-shrink: 0 !important;
 /* Keep the close button visible above the gradient header band */
 z-index: 303 !important;
}
/* Ensure the peach gradient header band doesn't intercept pointer events
 nor cover the close button visually */
.mnav::before { height: 100px !important; z-index: 1 !important; }
/* First menu link clearance — add a small top margin to feel airy */
.mnav a:first-of-type { margin-top: 0 !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-totop-bottom-left */

/* __LL-TOTOP-BOTTOM-LEFT-V1__ — pin back-to-top to bottom LEFT */
.ll-totop,
button.ll-totop,
a.ll-totop {
 left: 14px !important;
 right: auto !important;
 bottom: 80px !important;
}
@media (min-width: 881px) {
 .ll-totop,
 button.ll-totop,
 a.ll-totop {
 bottom: 24px !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-rt-dot-fix */

/* __LL-RT-DOT-FIX-V1__ — restore readable spacing in .rt-meta reading-time lines */

.rt-meta.ll-rt-meta {
 display: flex !important;
 flex-wrap: wrap !important;
 align-items: center !important;
 gap: 0 !important;
 font-size: 0.85rem !important;
 color: #5A5A5A !important;
 margin: 12px 0 18px !important;
 justify-content: center !important;
}

.rt-meta > span:not(.rt-dot).ll-rt-meta > span:not(.ll-rt-dot) {
 display: inline-flex !important;
 align-items: center !important;
 gap: 6px !important;
}

.rt-meta .rt-dot.ll-rt-meta .ll-rt-dot {
 display: inline-block !important;
 width: 5px !important;
 height: 5px !important;
 border-radius: 50% !important;
 background: currentColor !important;
 opacity: 0.4 !important;
 margin: 0 12px !important;
 flex: 0 0 5px !important;
}

/* If a .rt-meta accidentally landed inside a flex column, snap to row */
section .rt-meta,
header .rt-meta.bp-header .rt-meta {
 flex-direction: row !important;
 text-align: center !important;
}

/* ll-mnav-visible-fix */

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

/* When the body has .mnav-open class, ALL .mnav links should be immediately visible */
body.mnav-open .mnav a,
body.mnav-open .mnav button,
body.mnav-open .mnav-actions a,
body.mnav-open .mnav-actions button,
html body.mnav-open .mnav > a,
html body.mnav-open .mnav .mnav-actions > a {
 opacity: 1 !important;
 transform: translateX(0) !important;
 visibility: visible !important;
 pointer-events: auto !important;
 display: block !important;
}

/* mnav-close button should always be visible when mnav-open */
body.mnav-open .mnav .mnav-close {
 opacity: 1 !important;
 transform: scale(1) rotate(0deg) !important;
 visibility: visible !important;
 display: flex !important;
 pointer-events: auto !important;
}

/* mnav itself must be visible + interactive */
body.mnav-open .mnav {
 visibility: visible !important;
 pointer-events: auto !important;
}

/* Special: mnav-actions wrapper (Call/Email/etc. block) needs to flex properly */
body.mnav-open .mnav-actions {
 display: flex !important;
 flex-direction: column !important;
 gap: 8px !important;
}

/* ll-mnav-call-fix */

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

/* Mnav-call buttons: flex row with icon left, text right — NOT block */
body.mnav-open .mnav .mnav-call,
body.mnav-open .mnav-actions .mnav-call.mnav .mnav-call.mnav-actions .mnav-call {
 display: flex !important;
 flex-direction: row !important;
 align-items: center !important;
 gap: 12px !important;
 padding: 14px 18px !important;
 border-radius: 14px !important;
 background: var(--magenta, #eb19a3) !important;
 color: #fff !important;
 text-decoration: none !important;
 margin: 8px 0 !important;
 width: auto !important;
 min-height: 56px !important;
 box-shadow: 0 4px 14px rgba(235, 25, 163, 0.25) !important;
 border-bottom: 0 !important;
 font-family: 'Outfit', system-ui, sans-serif !important;
 transform: none !important;
 font-size: 0.92rem !important;
 font-weight: 600 !important;
 letter-spacing: 0.04em !important;
}

.mnav .mnav-call-email,
body.mnav-open .mnav .mnav-call-email {
 background: var(--cyan, #0dbae8) !important;
 box-shadow: 0 4px 14px rgba(13, 186, 232, 0.25) !important;
}

/* Icon column — fixed size, centered */
.mnav .mnav-call-icon,
body.mnav-open .mnav .mnav-call-icon {
 flex: 0 0 32px !important;
 width: 32px !important;
 height: 32px !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 background: rgba(255, 255, 255, 0.18) !important;
 border-radius: 8px !important;
 padding: 6px !important;
 margin: 0 !important;
}
.mnav .mnav-call-icon svg,
body.mnav-open .mnav .mnav-call-icon svg {
 width: 20px !important;
 height: 20px !important;
 color: #fff !important;
 fill: currentColor !important;
}

/* Text stack — column with label on top, value below */
.mnav .mnav-call-stack,
body.mnav-open .mnav .mnav-call-stack {
 flex: 1 1 auto !important;
 display: flex !important;
 flex-direction: column !important;
 align-items: flex-start !important;
 line-height: 1.2 !important;
 gap: 2px !important;
}

.mnav .mnav-call-label,
body.mnav-open .mnav .mnav-call-label {
 font-size: 0.66rem !important;
 font-weight: 700 !important;
 letter-spacing: 0.16em !important;
 text-transform: uppercase !important;
 opacity: 0.85 !important;
 margin: 0 !important;
 display: block !important;
}

.mnav .mnav-call-value,
body.mnav-open .mnav .mnav-call-value {
 font-size: 1rem !important;
 font-weight: 700 !important;
 letter-spacing: -0.005em !important;
 text-transform: none !important;
 margin: 0 !important;
 display: block !important;
}

/* mnav-actions wrapper: vertical stack, full width */
.mnav .mnav-actions,
body.mnav-open .mnav .mnav-actions {
 display: flex !important;
 flex-direction: column !important;
 gap: 10px !important;
 margin-top: 24px !important;
 width: 100% !important;
}

/* ll-mnav-opaque */

/* __LL-MNAV-OPAQUE-V1__ */
.mnav,
body.mnav-open .mnav {
 background-color: #fffafa !important;
 background-image: linear-gradient(135deg, #fffafa 0%, #fff5e8 45%, #e9f9fe 100%) !important;
 z-index: 999 !important;
 isolation: isolate !important;
}
.mnav::before {
 content: "";
 position: absolute;
 inset: 0;
 background: #fffafa !important;
 z-index: -1;
}

/* ll-mnav-header-hide */

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

/* Hide all sticky header chrome behind the mnav */
body.mnav-open .hdr-wrap,
body.mnav-open .canonical-hdr-wrap,
body.mnav-open .announce,
body.mnav-open .scroll-progress,
body.mnav-open header.hdr {
 display: none !important;
 visibility: hidden !important;
 opacity: 0 !important;
 pointer-events: none !important;
}

/* Kill backdrop-filter on Call/Email buttons so nothing bleeds through their
 opaque magenta/cyan backgrounds (defense in depth even with header hidden) */
.mnav .mnav-call.mnav .mnav-call-phone.mnav .mnav-call-email,
body.mnav-open .mnav .mnav-call,
body.mnav-open .mnav .mnav-call-phone,
body.mnav-open .mnav .mnav-call-email {
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 background-color: var(--magenta, #eb19a3) !important;
 isolation: isolate !important;
 position: relative !important;
 z-index: 2 !important;
}

.mnav .mnav-call-email,
body.mnav-open .mnav .mnav-call-email {
 background-color: var(--cyan, #0dbae8) !important;
}

/* Make sure the mnav itself stomps everything below it */
.mnav,
body.mnav-open .mnav {
 z-index: 9999 !important;
}

/* ll-totop-sitewide */

/* __LL-TOTOP-SITEWIDE-V1__ — floating back-to-top button, bottom-LEFT corner */
.ll-totop {
 position: fixed;
 left: 14px;
 right: auto;
 bottom: 80px;
 width: 44px;
 height: 44px;
 border-radius: 50%;
 background: #077191;
 color: #fff;
 border: none;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 opacity: 0;
 visibility: hidden;
 transition: opacity .3s, visibility .3s, transform .25s, box-shadow .25s, background .25s;
 z-index: 95;
 box-shadow: 0 4px 14px rgba(0,0,0,.18);
 padding: 0;
}
.ll-totop.visible {
 opacity: 1;
 visibility: visible;
}
.ll-totop:hover {
 transform: translateY(-3px);
 box-shadow: 0 6px 18px rgba(0,0,0,.22);
 background:#0a7da0;
}
.ll-totop:focus-visible {
 outline: 2px solid #eb19a3;
 outline-offset: 3px;
}
.ll-totop svg {
 width: 18px;
 height: 18px;
 stroke: #fff;
 fill: none;
 stroke-width: 2.5;
}
@media (min-width: 881px) {
 .ll-totop { bottom: 24px; width: 48px; height: 48px; }
 .ll-totop svg { width: 20px; height: 20px; }
}

/* ll-unified-mnav-css */

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

/* The mnav itself: full-viewport modal, snow gradient, clip-path reveal */
.mnav {
 position: fixed !important;
 inset: 0 !important;
 z-index: 9999 !important;
 background: linear-gradient(135deg, #fffafa 0%, #fff5e8 45%, #e9f9fe 100%) !important;
 display: flex !important;
 flex-direction: column !important;
 padding: 88px 28px 36px !important;
 overflow-y: auto !important;
 clip-path: circle(0% at calc(100% - 36px) 56px) !important;
 transition: clip-path .7s cubic-bezier(.22,1.36,1) !important;
 pointer-events: none !important;
 visibility: hidden !important;
 isolation: isolate !important;
 gap: 0 !important;
 font-size: 1rem !important;
 font-family: 'Outfit', system-ui, -apple-system, sans-serif !important;
}
body.mnav-open .mnav {
 clip-path: circle(160% at calc(100% - 36px) 56px) !important;
 pointer-events: auto !important;
 visibility: visible !important;
}
body.mnav-open {
 overflow: hidden !important;
}
body.mnav-open .hdr-wrap,
body.mnav-open .canonical-hdr-wrap,
body.mnav-open .announce,
body.mnav-open .scroll-progress,
body.mnav-open header.hdr {
 display: none !important;
}

/* Close button — top-right circle, soft shadow */
.mnav .mnav-close.mnav-close {
 position: absolute !important;
 top: 22px !important;
 right: 24px !important;
 width: 44px !important;
 height: 44px !important;
 border-radius: 50% !important;
 background: rgba(255, 255, 255, 0.95) !important;
 border: 1px solid rgba(0, 0, 0, 0.06) !important;
 color: #0a0a0a !important;
 cursor: pointer !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 padding: 0 !important;
 z-index: 10 !important;
 box-shadow: 0 4px 14px -4px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
 transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.mnav .mnav-close:hover {
 transform: rotate(90deg) !important;
 background: #fff !important;
 box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.15) !important;
}

/* Nav links wrapper */
.mnav-nav {
 display: flex !important;
 flex-direction: column !important;
 flex: 0 0 auto !important;
 width: 100% !important;
 margin: 0 !important;
 padding: 0 !important;
 gap: 0 !important;
}

/* Nav links — block-level Playfair, big tap targets, subtle slide on hover */
.mnav-nav a,.mnav a:not(.mnav-call):not(.mnav-close) {
 display: block !important;
 font-family: 'Playfair Display', Georgia, serif !important;
 font-size: clamp(1.5rem, 4.4vw, 2rem) !important;
 font-weight: 700 !important;
 color: #0A0A0A !important;
 padding: 14px 4px !important;
 border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
 text-decoration: none !important;
 line-height: 1.15 !important;
 background: transparent !important;
 letter-spacing: -0.005em !important;
 transition: color .2s ease, padding-left .25s ease !important;
 opacity: 1 !important;
 transform: none !important;
 visibility: visible !important;
}
.mnav-nav a:hover.mnav a:not(.mnav-call):not(.mnav-close):hover {
 color: #c0107f !important;
 padding-left: 8px !important;
}
.mnav-nav a:last-of-type {
 border-bottom: 0 !important;
}

/* Actions block (Call + Email buttons) */
.mnav-actions {
 display: flex !important;
 flex-direction: column !important;
 gap: 10px !important;
 margin-top: 26px !important;
 width: 100% !important;
 border-bottom: 0 !important;
}

/* ============================================
 MODERN ELEGANT CALL / EMAIL BUTTONS
 ============================================ */
.mnav .mnav-call,.mnav-actions .mnav-call,
body.mnav-open .mnav .mnav-call {
 position: relative !important;
 display: flex !important;
 flex-direction: row !important;
 align-items: center !important;
 gap: 14px !important;
 padding: 16px 18px 16px 16px !important;
 border-radius: 18px !important;
 background: linear-gradient(135deg, #eb19a3 0%, #bf1383 100%) !important;
 color: #fff !important;
 text-decoration: none !important;
 margin: 0 !important;
 min-height: 64px !important;
 font-family: 'Outfit', system-ui, sans-serif !important;
 border: 0 !important;
 border-bottom: 0 !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 isolation: isolate !important;
 overflow: hidden !important;
 box-shadow:
 0 12px 28px -10px rgba(235, 25, 163, 0.55),
 0 0 0 1px rgba(255, 255, 255, 0.08) inset,
 0 1px 0 rgba(255, 255, 255, 0.22) inset !important;
 transition: transform .35s cubic-bezier(.22, 1.36, 1), box-shadow .35s ease !important;
 opacity: 1 !important;
 transform: none !important;
 visibility: visible !important;
 font-style: normal !important;
 font-weight: 600 !important;
 letter-spacing: 0 !important;
 text-transform: none !important;
 align-self: stretch !important;
}
.mnav .mnav-call::before {
 content: '' !important;
 position: absolute !important;
 top: 0 !important;
 left: -100% !important;
 width: 100% !important;
 height: 100% !important;
 background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.18) 50%, transparent 100%) !important;
 transition: left .7s ease !important;
 pointer-events: none !important;
}
.mnav .mnav-call:hover {
 transform: translateY(-2px) !important;
 box-shadow:
 0 18px 36px -10px rgba(235, 25, 163, 0.65),
 0 0 0 1px rgba(255, 255, 255, 0.14) inset,
 0 1px 0 rgba(255, 255, 255, 0.32) inset !important;
}
.mnav .mnav-call:hover::before {
 left: 100% !important;
}
.mnav .mnav-call:active {
 transform: translateY(0) scale(0.99) !important;
}

/* Email button — cyan variant */
.mnav .mnav-call-email,
body.mnav-open .mnav .mnav-call-email {
 background: linear-gradient(135deg, #0dbae8 0%, #077191 100%) !important;
 box-shadow:
 0 12px 28px -10px rgba(13, 186, 232, 0.55),
 0 0 0 1px rgba(255, 255, 255, 0.08) inset,
 0 1px 0 rgba(255, 255, 255, 0.22) inset !important;
}
.mnav .mnav-call-email:hover {
 box-shadow:
 0 18px 36px -10px rgba(13, 186, 232, 0.65),
 0 0 0 1px rgba(255, 255, 255, 0.14) inset,
 0 1px 0 rgba(255, 255, 255, 0.32) inset !important;
}

/* Icon tile — glassmorphic square inside button */
.mnav-call-icon {
 flex: 0 0 40px !important;
 width: 40px !important;
 height: 40px !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 background: rgba(255, 255, 255, 0.18) !important;
 border: 1px solid rgba(255, 255, 255, 0.22) !important;
 border-radius: 12px !important;
 color: #fff !important;
 position: relative !important;
 z-index: 1 !important;
 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset !important;
}
.mnav-call-icon svg {
 width: 20px !important;
 height: 20px !important;
 fill: currentColor !important;
}

/* Text stack — label + value */
.mnav-call-stack {
 flex: 1 1 auto !important;
 display: flex !important;
 flex-direction: column !important;
 align-items: flex-start !important;
 line-height: 1.15 !important;
 gap: 3px !important;
 position: relative !important;
 z-index: 1 !important;
 min-width: 0 !important;
}
.mnav-call-label {
 font-size: 0.66rem !important;
 font-weight: 700 !important;
 letter-spacing: 0.18em !important;
 text-transform: uppercase !important;
 color: rgba(255, 255, 255, 0.85) !important;
 margin: 0 !important;
 display: block !important;
}
.mnav-call-value {
 font-size: 1.02rem !important;
 font-weight: 700 !important;
 letter-spacing: -0.005em !important;
 color: #fff !important;
 margin: 0 !important;
 display: block !important;
 font-family: 'Outfit', system-ui, sans-serif !important;
}

/* Arrow chevron on the right */
.mnav-call-arrow {
 flex: 0 0 18px !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 color: rgba(255, 255, 255, 0.82) !important;
 position: relative !important;
 z-index: 1 !important;
 transition: transform .3s ease !important;
}
.mnav .mnav-call:hover .mnav-call-arrow {
 transform: translateX(4px) !important;
 color: #fff !important;
}

/* ============================================
 REVIEW WIDGET — at the bottom of mnav
 ============================================ */
.mnav-reviews {
 margin-top: 24px !important;
 padding-top: 22px !important;
 border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
 width: 100% !important;
}
.mnav-reviews-eyebrow {
 font-family: 'Outfit', sans-serif !important;
 font-size: 0.68rem !important;
 font-weight: 700 !important;
 letter-spacing: 0.22em !important;
 text-transform: uppercase !important;
 color: #077191 !important;
 margin-bottom: 12px !important;
}
.ll-grevs {
 background: rgba(255, 255, 255, 0.6) !important;
 border: 1px solid rgba(0, 0, 0, 0.06) !important;
 border-radius: 14px !important;
 padding: 16px !important;
 font-family: 'Outfit', sans-serif !important;
 font-size: 0.92rem !important;
 color: #2a2a2a !important;
 min-height: 80px !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 8px !important;
 box-shadow: 0 4px 12px -6px rgba(0, 0, 0, 0.06) !important;
}
.ll-grevs[aria-busy="true"]::before {
 content: 'Loading reviews…' !important;
 color: #6a6a6a !important;
 font-size: 0.86rem !important;
}

/* Hide the legacy "Main" duplicate mnav if it co-exists */
nav.mnav[aria-label="Main"] {
 display: none !important;
}

/* Larger viewports — keep the close button safe-area aware */
@media (max-width: 380px) {
 .mnav { padding: 82px 22px 32px !important; }
 .mnav-nav a { font-size: 1.45rem !important; padding: 12px 4px !important; }
 .mnav-call { min-height: 60px !important; padding: 14px 16px !important; }
}
@media (min-width: 880px) {
 .mnav { padding: 100px 56px 48px !important; }
 .mnav-nav a { font-size: 2rem !important; }
}

/* ll-mnav-compact-v2 */

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

/* ---- HEADER: stop "L and L" from wrapping into hdr-nav row ---- */
.hdr {
 flex-wrap: nowrap !important;
 gap: 16px !important;
}
.hdr-wrap .hdr a[href="/"].hdr a[href="/"]:has(.hdr-logo) {
 flex: 0 1 auto !important;
 min-width: 0 !important;
 overflow: hidden !important;
}
.hdr-logo {
 white-space: nowrap !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 max-width: 100% !important;
}
.hdr-sub {
 white-space: nowrap !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
}
.hdr-nav {
 flex: 0 1 auto !important;
 flex-wrap: nowrap !important;
 min-width: 0 !important;
}
.hdr-nav a {
 white-space: nowrap !important;
}
/* Hide nav on viewports too narrow to fit it cleanly — bump from 880 to 1024 */
@media (max-width: 1023px) {
 .hdr-nav { display: none !important; }
 .hdr-ham { display: flex !important; }
}

/* ---- COMPACT MNAV BUTTONS (single-line: icon + value) ---- */
.mnav .mnav-call,.mnav-actions .mnav-call,
body.mnav-open .mnav .mnav-call {
 display: flex !important;
 flex-direction: row !important;
 align-items: center !important;
 justify-content: flex-start !important;
 gap: 12px !important;
 padding: 12px 16px !important;
 border-radius: 12px !important;
 background: linear-gradient(135deg, #eb19a3 0%, #bf1383 100%) !important;
 color: #fff !important;
 text-decoration: none !important;
 margin: 0 !important;
 min-height: 48px !important;
 font-family: 'Outfit', system-ui, sans-serif !important;
 font-size: 0.92rem !important;
 font-weight: 600 !important;
 letter-spacing: 0 !important;
 text-transform: none !important;
 font-style: normal !important;
 border: 0 !important;
 border-bottom: 0 !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 isolation: isolate !important;
 overflow: hidden !important;
 position: relative !important;
 box-shadow:
 0 6px 16px -8px rgba(235, 25, 163, 0.5),
 0 0 0 1px rgba(255, 255, 255, 0.08) inset !important;
 transition: transform .25s cubic-bezier(.22, 1.36, 1), box-shadow .25s ease !important;
 opacity: 1 !important;
 transform: none !important;
 visibility: visible !important;
 align-self: stretch !important;
 width: 100% !important;
 box-sizing: border-box !important;
}
.mnav .mnav-call:hover {
 transform: translateY(-1px) !important;
 box-shadow:
 0 10px 20px -8px rgba(235, 25, 163, 0.6),
 0 0 0 1px rgba(255, 255, 255, 0.14) inset !important;
}
.mnav .mnav-call:active {
 transform: translateY(0) scale(.99) !important;
}

/* Email button — cyan variant */
.mnav .mnav-call-email,
body.mnav-open .mnav .mnav-call-email {
 background: linear-gradient(135deg, #0dbae8 0%, #077191 100%) !important;
 box-shadow:
 0 6px 16px -8px rgba(13, 186, 232, 0.5),
 0 0 0 1px rgba(255, 255, 255, 0.08) inset !important;
}
.mnav .mnav-call-email:hover {
 box-shadow:
 0 10px 20px -8px rgba(13, 186, 232, 0.6),
 0 0 0 1px rgba(255, 255, 255, 0.14) inset !important;
}

/* Icon — compact glass tile */
.mnav-call-icon {
 flex: 0 0 32px !important;
 width: 32px !important;
 height: 32px !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 background: rgba(255, 255, 255, 0.16) !important;
 border-radius: 9px !important;
 color: #fff !important;
 position: relative !important;
 z-index: 1 !important;
}
.mnav-call-icon svg {
 width: 16px !important;
 height: 16px !important;
 stroke: currentColor !important;
 fill: none !important;
}

/* Value text — phone number or email */
.mnav-call-value {
 flex: 1 1 auto !important;
 font-family: 'Outfit', system-ui, sans-serif !important;
 font-size: 0.95rem !important;
 font-weight: 600 !important;
 color: #fff !important;
 letter-spacing: -0.005em !important;
 position: relative !important;
 z-index: 1 !important;
 min-width: 0 !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: nowrap !important;
 display: block !important;
 margin: 0 !important;
}

/* Hide any legacy label/stack/arrow if they exist from previous build */
.mnav-call-label.mnav-call-stack .mnav-call-label.mnav-call-arrow.mnav-call-stack {
 display: none !important;
}
/* If mnav-call-stack is present (older HTML), reset it to flat */
.mnav .mnav-call .mnav-call-stack {
 display: contents !important;
}

.mnav-actions {
 display: flex !important;
 flex-direction: column !important;
 gap: 8px !important;
 margin-top: 22px !important;
 width: 100% !important;
}

/* ---- COMPACT REVIEW WIDGET ---- */
.mnav-reviews {
 margin-top: 18px !important;
 padding-top: 16px !important;
 border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
 width: 100% !important;
}
.mnav-reviews-eyebrow {
 font-family: 'Outfit', sans-serif !important;
 font-size: 0.6rem !important;
 font-weight: 700 !important;
 letter-spacing: 0.2em !important;
 text-transform: uppercase !important;
 color: #077191 !important;
 margin-bottom: 8px !important;
}
.ll-grevs {
 background: rgba(255, 255, 255, 0.55) !important;
 border: 1px solid rgba(0, 0, 0, 0.05) !important;
 border-radius: 10px !important;
 padding: 10px 12px !important;
 font-family: 'Outfit', sans-serif !important;
 font-size: 0.82rem !important;
 color: #2a2a2a !important;
 min-height: 56px !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 4px !important;
 box-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.05) !important;
}
.ll-grevs[aria-busy="true"]::before {
 content: 'Loading reviews\2026' !important;
 color: #8a8a8a !important;
 font-size: 0.76rem !important;
}

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

/* __LL-CONTACT-HEADER-MOB-FIX-V1__
 Force the firm-name logo to never wrap. Belt-and-suspenders: nowrap on the
 div, the wrapping <a>, and the parent header row. */
.hdr {
 flex-wrap: nowrap !important;
 align-items: center !important;
}
.hdr > a[href="/"].hdr > a:first-child {
 flex: 0 1 auto !important;
 min-width: 0 !important;
 overflow: hidden !important;
 white-space: nowrap !important;
 display: flex !important;
 flex-direction: column !important;
 align-items: flex-start !important;
}
.hdr-logo.hdr-logo span.hdr-logo * {
 white-space: nowrap !important;
 word-spacing: normal !important;
 word-break: keep-all !important;
}
.hdr-logo {
 display: block !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 max-width: 100% !important;
}

/* Hide the search button on mobile/tablet — search is still accessible
 inside the mnav modal. Search button is injected by /assets/search.js?v=20260620
 directly into <header class="hdr"> as a sibling of .hdr-ham. */
@media (max-width: 880px) {
 /* __LL-SEARCH-CSS-FIX-V2__ search button always visible — icon-only on all viewports per user 2026-05-19. Sizing handled by /assets/search.js?v=20260620 injected styles. */
 .hdr-logo {
 font-size: 1.1rem !important;
 }
}
@media (max-width: 380px) {
 .hdr-logo {
 font-size: 1rem !important;
 }
 .hdr-sub {
 font-size: 0.5rem !important;
 }
}

/* Make sure the 5-button .mob-bar (the calc-page legacy variant) stays hidden
 if any survived the strip. */
div.mob-bar:not([class*="mob-bar-in"]):not([aria-label]) {
 display: none !important;
}

/* ll-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;
}

/* style */
:root{--snow:#fffafa;--ink-deep:#143350;--peach:#ffc46c;--cyan:#0dbae8;--magenta:#c0107f;--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',system-ui,sans-serif}
/* 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-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-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}

/* 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-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}}

/* __LL-LOCSHELL-GRID-V1__ county template: pin grid regions so a stray child cannot swap them */
@media(min-width:881px){main.loc-shell>*{grid-column:1}main.loc-shell>aside.loc-side,main.loc-shell>nav.bc-wrap,main.loc-shell>.ll-grevs-section,main.loc-shell>aside.related-topics,main.loc-shell>aside.cofounders-block{grid-column:2}}
