/* style */


:root{--bg:#fffafa;--ink:#0A0A0A;--gold:#FFC46C;--cyan:#0dbae8;--magenta:#c0107f;--navy:#143350}

*{box-sizing:border-box}

body{margin:0;font-family:'Outfit','Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7}

.hdr-wrap{position:sticky;top:0;z-index:100;background:var(--bg);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{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;text-decoration:none}

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

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

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

.hdr-logo{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:800;color:var(--ink);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);margin-top:2px}

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

.hdr-nav a{font-size:.78rem;font-weight:500;color:#3a3a3a;letter-spacing:.04em;padding:6px 0;position:relative;text-decoration:none}

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

.hdr-nav a:hover::after{transform:scaleX(1)}

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

.hdr-ham span{display:block;width:26px;height:2px;background:var(--ink);transition:.4s;border-radius:2px}

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

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

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

@media(max-width:880px){.hdr-nav{display:none}.hdr-ham{display:flex}}

.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 .mnav{clip-path:circle(160% at calc(100% - 36px) 56px);pointer-events:auto;visibility:visible}

.mnav a{display:block;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:var(--ink);padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06);text-decoration:none}

.mnav-close{position:absolute;top:20px;right:24px;background:#fff;border:1px solid #e5e2da;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.2rem}

.mnav-call{margin-top:32px;padding:18px 32px;background:var(--magenta);color:#fff !important;border-radius:50px;text-align:center;border-bottom:none !important;font-family:'Outfit',sans-serif !important;font-size:.96rem !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;align-self:flex-start}

body.mnav-open{overflow:hidden}

main{max-width:780px;margin:0 auto;padding:32px 24px 48px}

main h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2;margin:24px 0 16px}

main h2{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;margin:32px 0 12px;color:var(--navy)}

main h3{font-family:'Playfair Display',Georgia,serif;font-size:1.2rem;margin:24px 0 10px;color:var(--navy)}

main p{margin:0 0 16px;font-size:1rem;color:#2A2A2A}

main a{color:var(--cyan);text-decoration:underline}

main a:hover{color:var(--magenta)}

main ul,main ol{margin:0 0 16px 24px;padding:0}

main li{margin:0 0 8px;font-size:1rem;color:#2A2A2A}

main blockquote{margin:20px 0;padding:16px 24px;border-left:4px solid var(--gold);background:#fff;color:#3a3a3a;font-style:italic}

main img{max-width:100%;height:auto;border-radius:6px;margin:16px 0}

.meta{font-size:.86rem;color:#5A5A5A;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e2da}

.cta-block{background:linear-gradient(135deg,var(--navy) 0%,#214770 100%);color:#fff;padding:28px 24px;border-radius:8px;margin:32px 0;text-align:center}

.cta-block h3{color:#fff !important;margin:0 0 12px !important}

.cta-block p{color:#E5E2DA;margin:0 0 16px}

.cta-block a{display:inline-block;background:var(--magenta);color:#fff !important;padding:12px 24px;border-radius:50px;text-decoration:none !important;font-weight:600;letter-spacing:.04em}

@media(max-width:768px){.hdr{padding:12px 16px}.top a{font-size:.72rem;letter-spacing:.1em;padding:12px 10px;gap:6px}.hdr-logo{font-size:1.2rem}.hdr-sub{font-size:.55rem}}



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


/* canonical-footer-css */


.canonical-footer-wrap{display:contents;--c-snow:#fffafa;--c-black:#000;--c-ink-deep:#143350;--c-ink-deep-2:#0e2840;--c-peach:#ffc46c;--c-cyan:#0dbae8;--c-magenta:#eb19a3;--c-serif:'Playfair Display',Georgia,serif;--c-sans:'Outfit',system-ui,-apple-system,sans-serif}

.canonical-footer-wrap .footer{background:#143350;color:#dcdcdc;padding:60px 40px 28px;border-top:4px solid #ffc46c;font-family:'Outfit',system-ui,sans-serif}

.canonical-footer-wrap .footer-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}

.canonical-footer-wrap .footer-brand{font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:8px;line-height:1.1}

.canonical-footer-wrap .footer-brand span{color:#c0107f}

.canonical-footer-wrap .footer-desc{font-size:.84rem;color:#9aa1ab;line-height:1.6;margin:0}

.canonical-footer-wrap .footer-col h4{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#ffc46c;margin:0 0 14px;font-family:inherit}

.canonical-footer-wrap .footer-col a{display:block;font-size:.82rem;color:#c0c4cb;padding:3px 0;transition:.2s;text-decoration:none}

.canonical-footer-wrap .footer-col a:hover{color:#0dbae8}

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

.canonical-footer-wrap .footer-col address a{padding:5px 0}

.canonical-footer-wrap .footer-bottom{max-width:1180px;margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.7rem;color:#7a808a;text-align:center}

.canonical-footer-wrap .footer-social{max-width:1180px;margin:24px auto 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}

.canonical-footer-wrap .footer-social-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#ffc46c;font-weight:700}

.canonical-footer-wrap .footer-social-icons{display:flex;gap:14px;align-items:center}

.canonical-footer-wrap .footer-social-icons a{display:inline-flex;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,196,108,.2);align-items:center;justify-content:center;color:#ffc46c;transition:.25s;text-decoration:none}

.canonical-footer-wrap .footer-social-icons a:hover{background:#c0107f;border-color:#c0107f;color:#fff;transform:translateY(-2px)}

.canonical-footer-wrap .footer-cities{background:#0e2840;padding:40px 0;border-top:1px solid rgba(255,196,108,.08);color:#dcdcdc;font-family:'Outfit',system-ui,sans-serif}

.canonical-footer-wrap .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}

.canonical-footer-wrap .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}

.canonical-footer-wrap .fc-cities{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;font-size:.86rem;line-height:1.5}

.canonical-footer-wrap .fc-list{font-size:.86rem;line-height:1.5}

.canonical-footer-wrap .fc-list a,.canonical-footer-wrap .fc-cities a{color:#c0c4cb;text-decoration:none;padding:4px 0;display:block;transition:color .2s}

.canonical-footer-wrap .fc-list a:hover,.canonical-footer-wrap .fc-cities a:hover{color:#0dbae8}

.canonical-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));font-family:'Outfit',system-ui,sans-serif}

.canonical-mob-bar-in{display:flex;justify-content:space-around;max-width:600px;margin:0 auto}

.canonical-mob-bar a,.canonical-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}

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

.canonical-mob-bar a:nth-child(3),.canonical-mob-bar a:nth-child(3) svg,.canonical-mob-bar button:nth-child(3),.canonical-mob-bar button:nth-child(3) svg{color:#c0107f;stroke:#eb19a3}

.canonical-mob-bar svg{width:22px;height:22px;stroke:#ffc46c;fill:none;stroke-width:1.6}

@media(max-width:880px){.canonical-mob-bar{display:block}body{padding-bottom:64px}.canonical-footer-wrap .footer-in{grid-template-columns:1fr;gap:28px}.canonical-footer-wrap .footer-cities-inner{grid-template-columns:1fr}.canonical-footer-wrap .footer{padding:40px 24px 24px}}


/* canonical-header-css */


.canonical-hdr-wrap{display:contents;--c-snow:#fffafa;--c-black:#000;--c-ink-deep:#143350;--c-peach:#ffc46c;--c-cyan:#0dbae8;--c-cyan-deep:#077191;--c-magenta:#eb19a3;--c-ink:#1a1a1a;--c-ink-soft:#3a3a3a;--c-bg-tint:#fff5e8;--c-border:rgba(0,0,0,.08);--c-border-peach:rgba(255,196,108,.45);--c-serif:'Playfair Display',Georgia,serif;--c-sans:'Outfit',system-ui,-apple-system,sans-serif}

.canonical-hdr-wrap .hdr-wrap{position:sticky;top:0;z-index:100;background:#fffafa;box-shadow:0 1px 8px rgba(0,0,0,.04);font-family:'Outfit',system-ui,sans-serif}

.canonical-hdr-wrap .top{display:flex;padding:0;background:#143350;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,196,108,.12)}

.canonical-hdr-wrap .top a,.canonical-hdr-wrap .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 ease;text-decoration:none;border:none;font-family:inherit;cursor:pointer;position:relative;overflow:hidden}

.canonical-hdr-wrap .top a em,.canonical-hdr-wrap .top button em{font-family:'Playfair Display',Georgia,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}

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

.canonical-hdr-wrap .top a:hover,.canonical-hdr-wrap .top button:hover{background:linear-gradient(120deg,#0e2840,#214770 50%,#0e2840);letter-spacing:.2em}

.canonical-hdr-wrap .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;background:#fffafa}

.canonical-hdr-wrap .hdr-logo{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:800;color:#000;line-height:1.05}

.canonical-hdr-wrap .hdr-logo span{color:#c0107f}

.canonical-hdr-wrap .hdr-sub{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#077191;margin-top:2px}

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

.canonical-hdr-wrap .hdr-nav a{font-size:.78rem;font-weight:500;color:#3a3a3a;letter-spacing:.04em;padding:6px 0;position:relative;text-decoration:none}

.canonical-hdr-wrap .hdr-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,#0dbae8,#eb19a3);transform:scaleX(0);transform-origin:left;transition:transform .3s}

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

.canonical-hdr-wrap .hdr-nav a:hover,.canonical-hdr-wrap .hdr-nav a.active{color:#000}

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

.canonical-hdr-wrap .hdr-ham span{display:block;width:26px;height:2px;background:#000;transition:.4s;border-radius:2px}

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

body.mnav-open .canonical-hdr-wrap .hdr-ham span:nth-child(2){opacity:0}

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

@media(max-width:880px){.canonical-hdr-wrap .hdr-nav{display:none}.canonical-hdr-wrap .hdr-ham{display:flex}}

.canonical-hdr-wrap .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 .canonical-hdr-wrap .mnav{clip-path:circle(160% at calc(100% - 36px) 56px);pointer-events:auto;visibility:visible}

.canonical-hdr-wrap .mnav a{display:block;font-family:'Playfair Display',Georgia,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}

.canonical-hdr-wrap .mnav-close{position:absolute;top:20px;right:24px;background:#fff;border:1px solid rgba(0,0,0,.08);width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.2rem}

.canonical-hdr-wrap .mnav-call{margin-top:32px;padding:18px 32px;background:#c0107f;color:#fff !important;border-radius:50px;text-align:center;border-bottom:none !important;font-family:'Outfit',sans-serif !important;font-size:.96rem !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;align-self:flex-start}

body.mnav-open{overflow:hidden}

.canonical-hdr-wrap .announce{background:#fff5e8;text-align:center;padding:12px 24px;font-size:.8rem;color:#3a3a3a;border-bottom:1px solid rgba(255,196,108,.45)}

.canonical-hdr-wrap .announce strong{color:#000}

.canonical-hdr-wrap .announce em{color:#c0107f;font-style:italic;font-weight:700}

@media(max-width:768px){.canonical-hdr-wrap .hdr{padding:12px 16px}.canonical-hdr-wrap .top a,.canonical-hdr-wrap .top button{font-size:.72rem;letter-spacing:.1em;padding:12px 10px;gap:6px}.canonical-hdr-wrap .hdr-logo{font-size:1.2rem}.canonical-hdr-wrap .hdr-sub{font-size:.55rem}.canonical-hdr-wrap .announce{font-size:.72rem;padding:10px 16px}}


/* extract-zone-css */


.extract-zone{background:linear-gradient(135deg,#fff5e8,#e9f9fe);border-left:4px solid #eb19a3;padding:22px 26px;margin:24px auto;border-radius:8px;max-width:820px;box-shadow:0 4px 14px rgba(0,0,0,.06)}

.extract-zone .label{color:#c0107f;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:8px;font-family:'Outfit',system-ui,sans-serif}

.extract-zone p{color:#1a1a1a !important;font-size:.98rem;line-height:1.7;margin:0;font-family:'Outfit',system-ui,sans-serif}

.extract-zone p a{color:#0dbae8;text-decoration:underline}

.extract-zone p a:hover{color:#c0107f}

.extract-zone strong{color:#000}


/* cta-only-fix-css */
.cta-block > a{display:inline-block !important;background:#c0107f !important;color:#fff !important;padding:12px 24px !important;border-radius:50px !important;text-decoration:none !important;font-weight:600 !important;letter-spacing:.04em !important}.cta-block p a{display:inline !important;background:transparent !important;color:#FFC46C !important;padding:0 !important;border-radius:0 !important;text-decoration:underline !important;font-weight:inherit !important;letter-spacing:normal !important}.cta-block p a:hover{color:#fff !important}
/* post-header-css */


.bp-header{margin:0 0 28px 0;padding:0}

.post-category{display:inline-block;font-family:'Outfit',system-ui,-apple-system,sans-serif;font-size:.74rem;color:#946300;letter-spacing:.22em;text-transform:uppercase;font-weight:800;margin:0 0 14px 0;line-height:1.4;padding:0}

.bp-h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.7rem,4.4vw,2.6rem);font-weight:800;color:#0A0A0A;line-height:1.15;margin:0 0 16px 0;letter-spacing:-.01em}

.bp-byline{display:block !important;font-size:.92rem;color:#6a6a6a;margin:0 0 24px 0;font-family:'Outfit',system-ui,-apple-system,sans-serif;line-height:1.7}

.bp-byline a{color:#077191;text-decoration:none;font-weight:600}

.bp-byline a:hover{text-decoration:underline}

.bp-byline .sep{color:#bdbdbd;margin:0 6px}

.cred-photos{display:inline-flex;align-items:center;flex-shrink:0}

.cred-photos img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 2px #eb19a3,0 2px 6px rgba(0,0,0,.12);background:#fff}

.cred-photos img+img{margin-left:-14px}


/* post-header-align-css */


.bp-header,.bp-header *{text-align:left !important}

.bp-h1{text-align:left !important}

.bp-byline{text-align:left !important}

.post-category{text-align:left !important}

article table,article table th,article table td{text-align:left !important;vertical-align:top}

article table.center,article table.eael-data-table{text-align:left !important}

article table th{font-weight:700;background:var(--bg-tint,#fff5e8);padding:10px 12px;border-bottom:1px solid var(--border,#e0e0e0)}

article table td{padding:9px 12px;border-bottom:1px solid #eee}

article table tr:nth-child(even) td{background:#fafafa}


/* ll-global-convenience-css */


/* Paragraphs left-aligned (per user) */

p,article p,section p,main p,.hub-card-excerpt,.bp-intro,.bp-section p,blockquote p{text-align:left !important}

/* Lists left-aligned */

article ul,article ol,article li,main ul,main ol,main li{text-align:left !important}

/* Headings: NO forced alignment — pages can center their titles where appropriate */

/* Tables: cells left-aligned by default; on mobile, allow horizontal scroll */

article table,article table th,article table td,main table,main table th,main table td{text-align:left !important;vertical-align:top}

@media (max-width:768px){

 article table,main table{display:block !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;max-width:100% !important;width:100% !important;white-space:normal !important;border-collapse:collapse}

 article table thead,main table thead{display:table-header-group}

 article table tbody,main table tbody{display:table-row-group;width:100%}

 article table tr,main table tr{display:table-row}

 article table th,main table th,article table td,main table td{display:table-cell;min-width:90px}

}



.ll-rt-meta{display:inline-flex;align-items:center;gap:14px;font-size:.82rem;color:#5A5A5A;margin:8px 0 18px;flex-wrap:wrap;font-family:'Outfit',system-ui,-apple-system,sans-serif}

.ll-rt-meta span{display:inline-flex;align-items:center;gap:6px}

.ll-rt-meta .ll-rt-dot{width:4px;height:4px;background:#c0107f;border-radius:50%}

.ll-rt-meta svg{width:14px;height:14px;stroke:#eb19a3;fill:none;stroke-width:2}



.bp-section h2,article h2[id],article h3[id]{position:relative}

.bp-section h2:hover .ll-anchor,article h2[id]:hover .ll-anchor,article h3[id]:hover .ll-anchor{opacity:.7}

.ll-anchor{position:absolute;left:-22px;top:.1em;color:#c0107f;text-decoration:none;opacity:0;transition:opacity .2s;font-size:.7em;font-weight:400;font-family:'Outfit',sans-serif;padding:8px;margin:-8px;min-width:24px;min-height:24px;box-sizing:content-box;display:inline-block}

.ll-anchor:hover{opacity:1 !important}

@media(max-width:768px){.ll-anchor{left:-18px;font-size:.6em}}



.ll-totop{position:fixed;right:20px;bottom:88px;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:.3s;z-index:90;box-shadow:0 4px 14px rgba(0,0,0,.18)}

.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 svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.5}

@media(max-width:880px){.ll-totop{bottom:80px;right:14px;width:40px;height:40px}}


/* ll-print-css */
@media print{


@page{margin:.75in}

/* Hide all chrome */

.canonical-hdr-wrap,.canonical-footer-wrap,.canonical-mob-bar,.hdr-wrap,.top,.announce,.mnav,.mnav-close,.hub-pagination,.hub-filter,.sticky-call,.scroll-progress,.ll-totop,.skip-link,.mid-cta .cta-block,.lite-yt,.video-embed,.ll-was-helpful,.bp-prevnext,nav.hdr-nav,nav[aria-label="Mobile navigation"]{display:none !important}

/* Layout adjustments for print */

body{background:#fff !important;color:#000 !important;font-size:11pt;line-height:1.55}

article,main{max-width:100% !important;padding:0 !important;margin:0 !important}

article a,main a{color:#000 !important;text-decoration:underline}

/* Show URLs after external links */

article a[href^="http"]:after,main a[href^="http"]:after{content:" (" attr(href) ")";font-size:9pt;color:#444;word-break:break-all}

/* Strip background gradients/colors */

.tldr-box,.quick-answer-box,.experience-block,.cofounders-block,.bp-refs,.trust-badges,.toc-box,.bp-intro,.ig-section,.extract-zone,.key-terms,.faq-item,.rel-card{background:#fff !important;border:1px solid #ccc !important;box-shadow:none !important;color:#000 !important}

/* Expand collapsed details (TOC + FAQ) */

details{display:block !important}

details summary{font-weight:700;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:8px;list-style:none}

details summary::-webkit-details-marker{display:none}

details > *:not(summary){display:block !important}

/* Tables */

table{break-inside:avoid;page-break-inside:avoid;border-collapse:collapse;width:100%}

table th,table td{border:1px solid #888 !important;padding:6px 8px}

/* Avoid breaking inside cards/sections */

.bp-section,h1,h2,h3{break-inside:avoid;page-break-inside:avoid}

h2,h3{page-break-after:avoid}

/* Footer attribution */

body::after{content:"Source: " attr(data-canonical) " · L and L Law Group, PLLC · (972) 370-5060 · info@landllawgroup.com";display:block;font-size:9pt;color:#444;border-top:1px solid #888;margin-top:24px;padding-top:8px}


}
/* ll-prevnext-css */


.bp-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:48px 0 24px;padding:24px 0;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);font-family:'Outfit',system-ui,-apple-system,sans-serif}

.bp-prevnext > a{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:14px 18px;border-radius:8px;transition:.25s;background:#fafafa;border:1px solid rgba(0,0,0,.04)}

.bp-prevnext > a:hover{background:#F2F1EB;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}

.bp-prevnext .bp-pn-label{font-size:.7rem;color:#c0107f;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:8px}

.bp-prevnext .bp-pn-title{font-family:'Playfair Display',Georgia,serif;font-size:.98rem;color:#0A0A0A;line-height:1.35;font-weight:700}

.bp-prevnext .bp-next{text-align:right;align-items:flex-end}

.bp-prevnext .bp-pn-empty{visibility:hidden}

@media(max-width:680px){.bp-prevnext{grid-template-columns:1fr;gap:10px;margin:36px 0 18px}.bp-prevnext .bp-next{text-align:left;align-items:flex-start}}


/* ll-was-helpful-css */


.ll-was-helpful{margin:40px 0 24px;padding:28px 32px;background:#F2F1EB;border-radius:10px;border-left:4px solid #077191;font-family:'Outfit',system-ui,-apple-system,sans-serif;text-align:left}

.ll-was-helpful-eyebrow{font-size:.68rem;color:#077191;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:8px}

.ll-was-helpful h3{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;color:#0A0A0A;margin:0 0 16px;font-weight:700}

.ll-was-helpful-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}

.ll-was-helpful-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1.5px solid rgba(0,0,0,.08);border-radius:50px;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;color:#2A2A2A;transition:.2s}

.ll-was-helpful-btn:hover{border-color:#077191;color:#077191}

.ll-was-helpful-btn.selected{background:#077191;color:#fff;border-color:#077191}

.ll-was-helpful-btn[data-vote="no"].selected{background:#c0107f;border-color:#c0107f}

.ll-was-helpful-thanks{display:none;font-size:.92rem;color:#3a3a3a;line-height:1.6;margin-top:10px}

.ll-was-helpful.voted .ll-was-helpful-thanks{display:block}

.ll-was-helpful.voted .ll-was-helpful-buttons .ll-was-helpful-btn:not(.selected){opacity:.4;pointer-events:none}

.ll-was-helpful-count{font-size:.78rem;color:#666;margin-top:6px}


/* ll-glass-shimmer-css */


.top a,.top button,.canonical-hdr-wrap .top a,.canonical-hdr-wrap .top button{

 position:relative !important;

 background:linear-gradient(120deg,rgba(20,51,80,.55) 0%,rgba(33,71,112,.55) 50%,rgba(20,51,80,.55) 100%) !important;

 backdrop-filter:blur(14px) saturate(180%);

 -webkit-backdrop-filter:blur(14px) saturate(180%);

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

 overflow:hidden !important;

}

.top a::before,.top button::before,.canonical-hdr-wrap .top a::before,.canonical-hdr-wrap .top button::before{

 content:"";position:absolute;inset:0;

 background:linear-gradient(115deg,

 transparent 6%,

 rgba(255,196,108,.60) 20%,

 rgba(232,164,73,.65) 28%,

 rgba(255,92,192,.65) 38%,

 rgba(235,25,163,.75) 48%,

 rgba(191,19,131,.70) 54%,

 rgba(255,92,192,.65) 62%,

 rgba(13,186,232,.65) 72%,

 rgba(8,148,187,.55) 82%,

 transparent 94%);

 background-size:220% 100%;

 background-position:200% 0;

 pointer-events:none;

 z-index:0;

 opacity:0;

 animation:none;

 transition:opacity .25s ease;

}

.top a > *,.top button > *,.canonical-hdr-wrap .top a > *,.canonical-hdr-wrap .top button > *{position:relative;z-index:1}

.top a:hover::before,.top button:hover::before,
.top a:active::before,
.top button:active::before,
.canonical-hdr-wrap .top a:hover::before,
.canonical-hdr-wrap .top button:hover::before,
.canonical-hdr-wrap .top a:active::before,
.canonical-hdr-wrap .top button:active::before{

 opacity:1;

 animation:llg-shimmer 10s linear infinite;

}

@keyframes llg-shimmer{

 0%{background-position:200% 0}

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

}



/* Footer columns — glass cards (unchanged from prior pass) */

.canonical-footer-wrap .footer-in > .footer-col{

 background:rgba(255,255,255,.04);

 backdrop-filter:blur(12px) saturate(160%);

 -webkit-backdrop-filter:blur(12px) saturate(160%);

 border:1px solid rgba(255,196,108,.10);

 border-radius:12px;

 padding:22px 22px 18px;

 transition:background .3s ease,border-color .3s ease,transform .3s ease;

}

.canonical-footer-wrap .footer-in > .footer-col:hover{

 background:rgba(255,255,255,.07);

 border-color:rgba(255,196,108,.22);

 transform:translateY(-2px);

}

.canonical-footer-wrap .footer-in > .footer-col h4{

 position:relative;

 padding-bottom:8px;

 margin-bottom:14px;

 border-bottom:1px solid rgba(255,196,108,.15);

}

.canonical-footer-wrap .footer-in > .footer-col h4::after{

 content:"";position:absolute;left:0;bottom:-1px;height:1px;width:36px;

 background:linear-gradient(90deg,#ffc46c,#eb19a3);

}

.canonical-footer-wrap .footer-in > .footer-col a:hover{padding-left:6px;color:#ffc46c}

@media(max-width:880px){

 .canonical-footer-wrap .footer-in > .footer-col{padding:18px}

}



/* Mobile bottom bar — full-spectrum tap flash */

.canonical-mob-bar{

 position:fixed !important;

 bottom:0 !important;left:0 !important;right:0 !important;

 background:linear-gradient(180deg,#143350 0%,#0e2840 100%) !important;

 border-top:none !important;

 overflow:hidden !important;

}

.canonical-mob-bar a,.canonical-mob-bar button{

 position:relative !important;

 overflow:hidden !important;

}

.canonical-mob-bar a::after,.canonical-mob-bar button::after{

 content:"";

 position:absolute;

 inset:0;

 background:linear-gradient(115deg,

 transparent 8%,

 rgba(255,196,108,.40) 22%,

 rgba(232,164,73,.42) 32%,

 rgba(255,92,192,.44) 42%,

 rgba(235,25,163,.50) 50%,

 rgba(191,19,131,.45) 58%,

 rgba(255,92,192,.44) 65%,

 rgba(13,186,232,.40) 75%,

 rgba(8,148,187,.36) 85%,

 transparent 92%);

 background-size:220% 100%;

 background-position:200% 0;

 pointer-events:none;

 z-index:0;

 opacity:0;

 transition:opacity .15s ease;

}

.canonical-mob-bar a > *,.canonical-mob-bar button > *{position:relative;z-index:1}

.canonical-mob-bar a:active::after,
.canonical-mob-bar a:hover::after,
.canonical-mob-bar button:active::after,
.canonical-mob-bar button:hover::after{

 opacity:1;

 animation:llg-shimmer-tap 2s ease-out;

}

@keyframes llg-shimmer-tap{

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

 20%{opacity:1}

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

}


/* ll-filter-pills-css */


/* Container — compact flex grid, centered, wraps cleanly */

.hub-filter{display:flex !important;flex-wrap:wrap !important;gap:6px !important;justify-content:center !important;max-width:1200px !important;margin:24px auto 0 !important;padding:0 16px !important}

/* Each pill (a + button) — small, organized, all same size */

.hub-filter a,.hub-filter button,.hub-filter-all{

 display:inline-flex !important;

 align-items:center !important;

 justify-content:center !important;

 background:#fff !important;

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

 color:#3a3a3a !important;

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

 font-size:.72rem !important;

 font-weight:600 !important;

 letter-spacing:.03em !important;

 padding:7px 13px !important;

 border-radius:999px !important;

 text-decoration:none !important;

 cursor:pointer !important;

 transition:all .2s ease !important;

 line-height:1 !important;

 white-space:nowrap !important;

 box-shadow:0 1px 2px rgba(0,0,0,.03) !important;

}

.hub-filter a:hover,.hub-filter button:hover,.hub-filter-all:hover{

 border-color:#077191 !important;

 color:#077191 !important;

 background:#fff !important;

 transform:translateY(-1px) !important;

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

}

.hub-filter a.active,.hub-filter button.active,.hub-filter-all.active{

 background:#c0107f !important;

 color:#fff !important;

 border-color:#c0107f !important;

 box-shadow:0 2px 6px rgba(235,25,163,.25) !important;

}

.hub-filter a.active:hover,.hub-filter button.active:hover{

 background:#bf1383 !important;

 border-color:#bf1383 !important;

 color:#fff !important;

}

/* "All Posts" pill gets a subtle navy fill to stand out as the reset action */

.hub-filter-all,.hub-filter a[href="/blog/"]:not(.active){

 background:#143350 !important;

 color:#fff !important;

 border-color:#143350 !important;

 font-weight:700 !important;

}

.hub-filter-all:hover,.hub-filter a[href="/blog/"]:not(.active):hover{

 background:#0e2840 !important;

 border-color:#0e2840 !important;

 color:#ffc46c !important;

}

@media (max-width:600px){

 .hub-filter{gap:5px !important;padding:0 12px !important}

 .hub-filter a.hub-filter button.hub-filter-all{font-size:.68rem !important;padding:6px 11px !important}

}


/* ll-critical-fixes-css */


/* Force left-align in every legitimate body content block (lists inherit from these) */

.ig-section.ig-section *.bp-section.bp-section *.bp-intro.bp-intro *.experience-block.experience-block *.extract-zone.extract-zone *.tldr-box.tldr-box *.quick-answer-box.quick-answer-box *.toc-box.toc-box *.key-terms.key-terms *.bp-refs.bp-refs *.faq.faq *.faq-item.faq-item *.bp-faqs.bp-faqs *.cofounders-block.cofounders-block *.attorney-bios.attorney-bios *.edit-aside.edit-aside *.ymyl-disclaimer.ymyl-disclaimer *.trust-badges p.trust-badges div:not([style*="text-align:center"]){text-align:left !important}

/* Lists everywhere — always left */

article ol,article ul,article ol li,article ul li,article dl,article dt,article dd,

main ol,main ul,main ol li,main ul li,main dl,main dt,main dd,

ol,ul,ol li,ul li,dl,dt,dd{text-align:left !important}

/* Article paragraphs + plain p in main left-aligned (re-enforce) */

article p,main p,section p,article div > p,main div > p{text-align:left !important}



/* ============== Mobile nav menu — force links visible when open ============== */

/* Reset all transition-based hiding the moment body.mnav-open is set. */

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

 visibility:visible !important;

 pointer-events:auto !important;

 opacity:1 !important;

 display:flex !important;

}

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

 opacity:1 !important;

 transform:none !important;

 transition:color .25s ease !important;

 transition-delay:0s !important;

 visibility:visible !important;

 display:block !important;

}

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

 opacity:1 !important;

 transform:none !important;

 transition-delay:0s !important;

}

/* Belt and suspenders: even if the menu has nth-of-type delay rules, override */

body.mnav-open .mnav a:nth-of-type(n){transition-delay:0s !important;opacity:1 !important;transform:none !important}

/* Ensure mnav has a visible background even on minimal pages */

.mnav,.canonical-hdr-wrap .mnav{

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

 z-index:300 !important;

}

.mnav-close,.canonical-hdr-wrap .mnav-close{z-index:302 !important}


/* ll-universal-footer-css */


/* Apply rainbow shimmer line + glass styling to EVERY 



<footer class="footer"> sitewide. */

footer.footer,.canonical-footer-wrap .footer{

 position:relative !important;

 overflow:hidden !important;

}

footer.footer::before,.canonical-footer-wrap .footer::before{

 content:"" !important;

 position:absolute !important;

 top:0 !important;left:0 !important;right:0 !important;

 height:4px !important;

 background:linear-gradient(90deg,#ffc46c 0%,#eb19a3 50%,#0dbae8 100%) !important;

 background-size:200% 100% !important;

 animation:llg-shimmer-bar 6s linear infinite !important;

 z-index:2 !important;

 pointer-events:none !important;

}



/* Glass card backgrounds on every footer column */

footer.footer .footer-in > .footer-col,
.canonical-footer-wrap .footer-in > .footer-col{

 background:rgba(255,255,255,.04) !important;

 backdrop-filter:blur(12px) saturate(160%) !important;

 -webkit-backdrop-filter:blur(12px) saturate(160%) !important;

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

 border-radius:12px !important;

 padding:22px 22px 18px !important;

 transition:background .3s ease,border-color .3s ease,transform .3s ease !important;

}

footer.footer .footer-in > .footer-col:hover,
.canonical-footer-wrap .footer-in > .footer-col:hover{

 background:rgba(255,255,255,.07) !important;

 border-color:rgba(255,196,108,.22) !important;

 transform:translateY(-2px) !important;

}



/* Peach uppercase eyebrow + underline accent under each h4 */

footer.footer .footer-in > .footer-col h4,
.canonical-footer-wrap .footer-in > .footer-col h4{

 position:relative !important;

 padding-bottom:8px !important;

 margin-bottom:14px !important;

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

 font-size:.65rem !important;

 font-weight:700 !important;

 letter-spacing:.18em !important;

 text-transform:uppercase !important;

 color:#ffc46c !important;

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

}

footer.footer .footer-in > .footer-col h4::after,
.canonical-footer-wrap .footer-in > .footer-col h4::after{

 content:"" !important;

 position:absolute !important;

 left:0 !important;

 bottom:-1px !important;

 height:1px !important;

 width:36px !important;

 background:linear-gradient(90deg,#ffc46c,#eb19a3) !important;

}



/* Hover lift on links — peach color on hover with subtle indent */

footer.footer .footer-in > .footer-col a:hover,
.canonical-footer-wrap .footer-in > .footer-col a:hover{

 padding-left:6px !important;

 color:#ffc46c !important;

}



/* Mobile: tighter padding */

@media(max-width:880px){

 footer.footer .footer-in > .footer-col,
.canonical-footer-wrap .footer-in > .footer-col{padding:18px !important}

 footer.footer .footer-in,
.canonical-footer-wrap .footer-in{

 grid-template-columns:1fr !important;

 gap:14px !important;

 }

}



@keyframes llg-shimmer-bar{

 0%{background-position:0% 0}

 100%{background-position:200% 0}

}


/* ll-table-wrap-css */


.table-wrap{

 display:block;

 max-width:100%;

 overflow-x:auto;

 -webkit-overflow-scrolling:touch;

 margin:18px 0;

 border-radius:6px;

 position:relative;

}

.table-wrap table{

 margin:0 !important;

 width:100% !important;

 border-collapse:collapse;

 display:table !important; /* override the broken display:block from earlier pass */

}

.table-wrap table thead,.table-wrap table tbody,.table-wrap table tfoot{display:table-row-group}

.table-wrap table tr{display:table-row}

.table-wrap table th,.table-wrap table td{display:table-cell;text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.06)}

.table-wrap table th{font-weight:700;background:#fff5e8;color:#000}

@media (max-width:768px){

 /* Cancel earlier overly-aggressive table display:block rules */

 article table,main table{

 display:revert !important;

 overflow:visible !important;

 }

 /* Force wrap container to scroll horizontally */

 .table-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch !important}

 .table-wrap table{min-width:100%;width:max-content !important}

 .table-wrap table th.table-wrap table td{white-space:normal;min-width:140px;font-size:.86rem;padding:8px 10px}

}


/* ll-scroll-progress-css */


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

.ll-scroll-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#0dbae8 0%,#eb19a3 50%,#ffc46c 100%);box-shadow:0 0 10px rgba(235,25,163,.4);transition:width .08s linear;will-change:width}


/* ll-rainbow-flow-fix */


@keyframes ll-rainbow-flow{

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

 100%{background-position:200% 50%}

}

.canonical-footer-wrap .footer::before,

footer.footer::before{

 content:"" !important;

 position:absolute !important;

 top:0 !important;left:0 !important;right:0 !important;

 height:4px !important;

 background:linear-gradient(90deg,

 #ffc46c 0%,

 #e8a449 8%,

 #ff5cc0 20%,

 #eb19a3 32%,

 #bf1383 42%,

 #077191 50%,

 #bf1383 58%,

 #eb19a3 68%,

 #ff5cc0 80%,

 #e8a449 92%,

 #ffc46c 100%) !important;

 background-size:200% 100% !important;

 background-repeat:no-repeat !important;

 animation:ll-rainbow-flow 9s linear infinite !important;

 z-index:2 !important;

 pointer-events:none !important;

}

.canonical-mob-bar::before{

 content:"" !important;

 position:absolute !important;

 top:0 !important;left:0 !important;right:0 !important;

 height:3px !important;

 background:linear-gradient(90deg,

 #ffc46c 0%,

 #e8a449 8%,

 #ff5cc0 20%,

 #eb19a3 32%,

 #bf1383 42%,

 #077191 50%,

 #bf1383 58%,

 #eb19a3 68%,

 #ff5cc0 80%,

 #e8a449 92%,

 #ffc46c 100%) !important;

 background-size:200% 100% !important;

 background-repeat:no-repeat !important;

 animation:ll-rainbow-flow 9s linear infinite !important;

 z-index:3 !important;

 pointer-events:none !important;

}

.ll-scroll-progress-fill.scroll-progress-fill{

 background:linear-gradient(90deg,

 #0dbae8 0%,

 #077191 8%,

 #ff5cc0 20%,

 #eb19a3 32%,

 #bf1383 42%,

 #e8a449 50%,

 #bf1383 58%,

 #eb19a3 68%,

 #ff5cc0 80%,

 #077191 92%,

 #0dbae8 100%) !important;

 background-size:200% 100% !important;

 background-repeat:no-repeat !important;

 animation:ll-rainbow-flow 9s linear infinite !important;

}


/* ll-rainbow-scrollbar-css */


/* Page scrollbar — full-brand rainbow with vertical flow animation + glow */

html::-webkit-scrollbar,body::-webkit-scrollbar{

 width:12px !important;

 height:12px !important;

}

html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{

 background:rgba(20,51,80,.06) !important;

}

html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{

 background:linear-gradient(180deg,

 #ffc46c 0%,

 #e8a449 12%,

 #ff5cc0 25%,

 #eb19a3 38%,

 #bf1383 50%,

 #eb19a3 62%,

 #ff5cc0 75%,

 #0dbae8 88%,

 #077191 100%) !important;

 background-size:100% 300% !important;

 background-repeat:no-repeat !important;

 animation:ll-scrollbar-flow 8s linear infinite !important;

 border:2px solid #fffafa !important;

 border-radius:10px !important;

 box-shadow:

 inset 0 0 0 1px rgba(255,255,255,.25),

 0 0 6px rgba(235,25,163,.35),

 0 0 12px rgba(13,186,232,.25) !important;

}

html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{

 animation-duration:3s !important;

 box-shadow:

 inset 0 0 0 1px rgba(255,255,255,.40),

 0 0 10px rgba(235,25,163,.55),

 0 0 18px rgba(13,186,232,.45),

 0 0 22px rgba(255,196,108,.30) !important;

}

html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner{background:transparent !important}

@keyframes ll-scrollbar-flow{

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

 100%{background-position:50% 200%}

}

/* Firefox — best we can do is two-tone (no gradient or animation support) */

html,body{

 scrollbar-color:#c0107f rgba(20,51,80,.06) !important;

 scrollbar-width:auto !important;

}


/* 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-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-byline-fix */


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

.bp-byline.bp-byline-meta {

 display: block !important;

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

 font-size: .92rem !important;

 line-height: 1.6 !important;

 margin: 12px 0 18px !important;

}

.bp-byline a {

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

 text-decoration: none !important;

}

.bp-byline a:hover {

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

 text-decoration: underline !important;

}

.bp-byline .sep.bp-byline-sep {

 margin: 0 6px !important;

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

 font-weight: 400 !important;

 display: inline !important;

}


/* ll-page-polish-v1 */


/* __LL-PAGE-POLISH-V1__ */



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

.cred-photos {

 display: inline-flex !important;

 flex-direction: row !important;

 align-items: center !important;

 gap: 0 !important;

}

.cred-photos img,.cred-photos picture img {

 width: 56px !important;

 height: 56px !important;

 border-radius: 50% !important;

 object-fit: cover !important;

 object-position: center top !important;

 border: 3px solid #fff !important;

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

 display: block !important;

 margin: 0 !important;

}

.cred-photos img + img.cred-photos picture + picture {

 margin-left: -18px !important;

 position: relative !important;

 z-index: 1 !important;

}



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

.sticky-call {

 display: none !important;

}

@media (max-width: 880px) {

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

}


/* ll-h1-eyebrow-polish */


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



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

.bp-h1.loc-h1.page-hero h1.hero h1,

section.hero h1,

section.page-hero h1,

main h1:first-of-type.hub-hero h1 {

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

 font-weight: 800 !important;

 letter-spacing: -0.01em !important;

 line-height: 1.12 !important;

 color: #143350 !important;

}



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

.bp-h1 em.loc-h1 em.page-hero h1 em.hero h1 em,

section.hero h1 em,

section.page-hero h1 em,

main h1:first-of-type em.hub-hero h1 em {

 font-style: italic !important;

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

 background-size: 200% 100% !important;

 -webkit-background-clip: text !important;

 background-clip: text !important;

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

 color: transparent !important;

 font-weight: 800 !important;

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

}



@keyframes ll-h1-sheen {

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

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

}



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

.post-category,.bp-eyebrow,.hero-eyebrow,.eyebrow,.loc-eyebrow,.page-hero .eyebrow {

 display: block !important;

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

 font-size: 0.72rem !important;

 font-weight: 700 !important;

 letter-spacing: 0.18em !important;

 text-transform: uppercase !important;

 color: #077191 !important;

 margin-bottom: 12px !important;

}



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

 "pink flow" is preserved visually */

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

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

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

 content: "";

 display: block;

 width: 64px;

 height: 4px;

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

 border-radius: 2px;

 margin-top: 14px;

}



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

[lang="es"] h1,.es h1 {

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

}


/* ll-header-footer-fix */


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



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

.hdr-logo {

 font-size: 1.2rem !important;

 line-height: 1.1 !important;

}

@media (min-width: 880px) {

 .hdr-logo {

 font-size: 1.4rem !important;

 }

}



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

.fc-h {

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

 font-size: 0.78rem !important;

 letter-spacing: 0.18em !important;

 text-transform: uppercase !important;

 color: #ffc46c !important;

 font-weight: 700 !important;

 margin-bottom: 14px !important;

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

 padding-bottom: 8px !important;

}



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

.fc-cities {

 display: grid !important;

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

 gap: 0 16px !important;

 font-size: 0.86rem !important;

 line-height: 1.5 !important;

}



/* Footer plain list */

.fc-list {

 font-size: 0.86rem !important;

 line-height: 1.5 !important;

 display: block !important;

}



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

.fc-list a,.fc-cities a {

 color: #c0c4cb !important;

 text-decoration: none !important;

 padding: 4px 0 !important;

 display: block !important;

 transition: color 0.2s !important;

}

.fc-list a:hover,.fc-cities a:hover {

 color: #0dbae8 !important;

}



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

.footer-bottom-cities.footer .footer-in > div.foot-bottom {

 max-width: 100% !important;

 overflow-x: hidden !important;

}

.footer .footer-in.foot-inner {

 padding-left: 20px !important;

 padding-right: 20px !important;

}


/* ll-rounded-line-caps */


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

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



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

.tldr-box.pa-callout.bp-callout.mid-cta.mid-cta-strip.callout.callout-box.fact-card.fact-box.info-card.info-box.refs.bp-refs.pa-refs.cite-box.trust-badges.editorial-aside.note.pull-quote.quote.statute-callout.snippet-answer.quick-answer-box.last-reviewed-card.ll-courthouse-card.ll-da-approach.ll-defense-process.ll-free-downloads.ll-local-pd.ll-numbers-grid.ll-tool-card.ll-case-timeline.ll-county-faq.ig-section.ig-meta.pa-faq-item.faq-item.bp-section.cred-photos.cofounders-block.experience-block {

 border-radius: 10px !important;

 overflow: hidden !important;

}



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

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

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

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

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

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

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

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

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

 border-radius: 10px !important;

}



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

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

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

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

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

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

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

 border-radius: 10px !important;

}



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

hr,.divider,.scroll-progress-fill {

 border-radius: 4px !important;

}



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

svg {

 stroke-linecap: round !important;

 stroke-linejoin: round !important;

}


/* ll-mnav-visible-fix */


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



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

body.mnav-open .mnav a,

body.mnav-open .mnav button,

body.mnav-open .mnav-actions a,

body.mnav-open .mnav-actions button,

html body.mnav-open .mnav > a,

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

 opacity: 1 !important;

 transform: translateX(0) !important;

 visibility: visible !important;

 pointer-events: auto !important;

 display: block !important;

}



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

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

 opacity: 1 !important;

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

 visibility: visible !important;

 display: flex !important;

 pointer-events: auto !important;

}



/* mnav itself must be visible + interactive */

body.mnav-open .mnav {

 visibility: visible !important;

 pointer-events: auto !important;

}



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

body.mnav-open .mnav-actions {

 display: flex !important;

 flex-direction: column !important;

 gap: 8px !important;

}


/* ll-mnav-call-fix */


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



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

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

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

 display: flex !important;

 flex-direction: row !important;

 align-items: center !important;

 gap: 12px !important;

 padding: 14px 18px !important;

 border-radius: 14px !important;

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

 color: #fff !important;

 text-decoration: none !important;

 margin: 8px 0 !important;

 width: auto !important;

 min-height: 56px !important;

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

 border-bottom: 0 !important;

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

 transform: none !important;

 font-size: 0.92rem !important;

 font-weight: 600 !important;

 letter-spacing: 0.04em !important;

}



.mnav .mnav-call-email,

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

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

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

}



/* Icon column — fixed size, centered */

.mnav .mnav-call-icon,

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

 flex: 0 0 32px !important;

 width: 32px !important;

 height: 32px !important;

 display: inline-flex !important;

 align-items: center !important;

 justify-content: center !important;

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

 border-radius: 8px !important;

 padding: 6px !important;

 margin: 0 !important;

}

.mnav .mnav-call-icon svg,

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

 width: 20px !important;

 height: 20px !important;

 color: #fff !important;

 fill: currentColor !important;

}



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

.mnav .mnav-call-stack,

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

 flex: 1 1 auto !important;

 display: flex !important;

 flex-direction: column !important;

 align-items: flex-start !important;

 line-height: 1.2 !important;

 gap: 2px !important;

}



.mnav .mnav-call-label,

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

 font-size: 0.66rem !important;

 font-weight: 700 !important;

 letter-spacing: 0.16em !important;

 text-transform: uppercase !important;

 opacity: 0.85 !important;

 margin: 0 !important;

 display: block !important;

}



.mnav .mnav-call-value,

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

 font-size: 1rem !important;

 font-weight: 700 !important;

 letter-spacing: -0.005em !important;

 text-transform: none !important;

 margin: 0 !important;

 display: block !important;

}



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

.mnav .mnav-actions,

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

 display: flex !important;

 flex-direction: column !important;

 gap: 10px !important;

 margin-top: 24px !important;

 width: 100% !important;

}


/* ll-mnav-opaque */


/* __LL-MNAV-OPAQUE-V1__ */

.mnav,

body.mnav-open .mnav {

 background-color: #fffafa !important;

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

 z-index: 999 !important;

 isolation: isolate !important;

}

.mnav::before {

 content: "";

 position: absolute;

 inset: 0;

 background: #fffafa !important;

 z-index: -1;

}


/* ll-mnav-header-hide */


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



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

body.mnav-open .hdr-wrap,

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

body.mnav-open .announce,

body.mnav-open .scroll-progress,

body.mnav-open header.hdr {

 display: none !important;

 visibility: hidden !important;

 opacity: 0 !important;

 pointer-events: none !important;

}



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

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

.mnav .mnav-call.mnav .mnav-call-phone.mnav .mnav-call-email,

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

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

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

 backdrop-filter: none !important;

 -webkit-backdrop-filter: none !important;

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

 isolation: isolate !important;

 position: relative !important;

 z-index: 2 !important;

}



.mnav .mnav-call-email,

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

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

}



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

.mnav,

body.mnav-open .mnav {

 z-index: 9999 !important;

}


/* ll-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-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-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-ham-drawer-unhide */


/* __LL-HAM-DRAWER-UNHIDE-V1__ 2026-05-22 — #mnav drawer is nested inside .canonical-hdr-wrap;

 __LL-MNAV-HEADER-HIDE-V1__ set that wrapper to display:none on menu-open,

 which hid the drawer too. Keep the (boxless) wrapper rendered so the drawer

 shows; .hdr-wrap + .announce still hide the real header chrome themselves. */

html body.mnav-open .canonical-hdr-wrap{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}


/* ll-canonical-header */


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

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

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

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

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

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

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

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

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

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

@media(max-width:768px){

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

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

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

}


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

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

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


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

.preview-watermark{display:none!important}

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

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

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

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

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

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

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

a.statute{color:#077191!important}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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