/* style */

/* ─────────────────────────────────────────────────────────────────
   L&L LAW GROUP — Foundation-09 token system, FCA-anatomy port
   Light theme: #fffafa snow + #000 + #ffc46c peach + #0dbae8 cyan + #c0107f magenta
   ───────────────────────────────────────────────────────────────── */
:root{
  --snow:#fffafa;
  --black:#000;
  --ink-deep:#143350;        /* deep navy — clearly cyan-tinted dark, lifted from midnight */
  --ink-deep-2:#0e2840;       /* slightly deeper navy for footer-cities layering */
  --peach:#ffc46c;
  --peach-deep:#e8a449;
  --cyan:#0dbae8;
  --cyan-deep:#01696f;
  --magenta:#c0107f;
  --magenta-deep:#bf1383;
  --ink:#1a1a1a;
  --ink-soft:#3a3a3a;
  --ink-mute:#6a6a6a;
  --ink-faint:#9a9a9a;
  --bg:#fffafa;
  --bg-tint:#fff5e8;        /* very faint peach wash */
  --bg-cyan:#e9f9fe;        /* very faint cyan wash */
  --bg-deep:#000;           /* inverse sections */
  --bg-deep-2:#0a0a0a;
  --bg-deep-3:#161616;
  --card:#ffffff;
  --border:rgba(0,0,0,.08);
  --border-strong:rgba(0,0,0,.16);
  --border-peach:rgba(255,196,108,.45);
  --border-cyan:rgba(13,186,232,.35);
  --border-magenta:rgba(192, 16, 127, .35);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Outfit',system-ui,-apple-system,sans-serif;
  --shadow-sm:0 4px 14px rgba(0,0,0,.06);
  --shadow-md:0 10px 32px rgba(0,0,0,.08);
  --shadow-lg:0 18px 50px rgba(0,0,0,.12);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
html,body{overflow-x:clip}
body{font-family:var(--sans);background:var(--snow);color:var(--ink-soft);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cyan-deep);text-decoration:none;transition:.25s}
a:hover{color:var(--magenta)}

/* View Transitions API */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
::view-transition-old(root){animation-name:fade-slide-out}
::view-transition-new(root){animation-name:fade-slide-in}
@keyframes fade-slide-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
@keyframes fade-slide-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hdr-wrap{view-transition-name:site-header}
.footer-cities{view-transition-name:site-cities}

/* Branded scrollbar */
html{scrollbar-width:thin;scrollbar-color:var(--cyan) var(--snow)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--snow)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--cyan),var(--magenta) 60%,var(--peach));border:2px solid var(--snow);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--magenta),var(--cyan))}

/* Focus ring */
*:focus{outline:none}
*:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:4px}
.btn:focus-visible,.hf-input:focus-visible,.hf-submit:focus-visible{outline-offset:2px;box-shadow:0 0 0 4px rgba(192, 16, 127, .18)}

/* Selection */
::selection{background:rgba(192, 16, 127, .25);color:var(--black)}
::-moz-selection{background:rgba(192, 16, 127, .25);color:var(--black)}

/* Reading-progress bar */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(0,0,0,.06);z-index:1001;pointer-events:none}
.scroll-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--cyan) 0%,var(--magenta) 50%,var(--peach) 100%);box-shadow:0 0 10px rgba(192, 16, 127, .4);transition:width .08s linear;will-change:width}

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

/* Magenta sheen on H1 italics */
h1 em,.page-hero h1 em,.hero h1 em,.free-consult-h em{
  background:linear-gradient(100deg,var(--magenta) 0%,#ff5cc0 30%,var(--magenta) 55%,var(--magenta-deep) 80%,var(--magenta) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-style:italic;
  animation:magentaSheen 7s ease-in-out infinite;
}
@keyframes magentaSheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* TOP UTILITY BAR — deep aubergine (magenta-tinted dark) bg with cyan/magenta gradient buttons */
.top{display:flex;padding:0;background:var(--ink-deep);position:relative;overflow:hidden;border-bottom:1px solid rgba(255,196,108,.12)}
.top a,.top button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;background:linear-gradient(120deg,var(--ink-deep) 0%,#214770 50%,var(--ink-deep) 100%);color:#fff;font-size:.86rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:.4s ease;text-decoration:none;border:none;font-family:inherit;cursor:pointer;position:relative;overflow:hidden}
.top a em,.top button em{font-family:var(--serif);font-style:italic;font-weight:700;text-transform:none;letter-spacing:.01em;font-size:1.18em;color:var(--peach);text-shadow:0 0 14px rgba(255,196,108,.55);padding:0 3px}
.top a:first-child,.top button:first-child{border-right:1px solid rgba(255,196,108,.18)}
/* HEADER */
.hdr-wrap{position:sticky;top:0;z-index:100;background:var(--snow);box-shadow:0 1px 8px rgba(0,0,0,.04)}
.hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid var(--border);max-width:1280px;margin:0 auto}
.hdr-logo{font-family:var(--serif);font-size:1.5rem;font-weight:800;color:var(--black);line-height:1.05}
.hdr-logo span{color:var(--magenta)}
.hdr-sub{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-deep);margin-top:2px}
.hdr-nav{display:flex;gap:24px}
.hdr-nav a{font-size:.78rem;font-weight:500;color:var(--ink-soft);letter-spacing:.04em;padding:6px 0;position:relative}
.hdr-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--magenta));transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}
.hdr-nav a:hover::after,.hdr-nav a.active::after,.hdr-nav a[aria-current="page"]::after{transform:scaleX(1)}
.hdr-nav a:hover,.hdr-nav a.active{color:var(--black)}

/* ANNOUNCE */
.announce{background:var(--bg-tint);text-align:center;padding:12px 24px;font-size:.8rem;color:var(--ink-soft);border-bottom:1px solid var(--border-peach)}
.announce strong{color:var(--black)}
.announce em{color:var(--magenta);font-style:italic;font-weight:700}

/* TEAM BANNER */
.team-banner{overflow:hidden;max-height:480px;background:var(--bg-tint);position:relative}
.team-banner img{width:100%;height:480px;object-fit:cover;object-position:center 35%;display:block}
.team-banner-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.55) 100%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:32px;pointer-events:none}
.team-banner-overlay .caption{color:#fff;font-family:var(--serif);font-size:1.15rem;font-weight:600;text-align:center;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.team-banner-overlay .caption em{color:var(--peach);font-style:italic}

/* HERO */
.page-hero{padding:70px 40px 50px;max-width:900px;margin:0 auto;text-align:center}
.page-hero .eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-deep);margin-bottom:14px}
.page-hero h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.4rem);font-weight:800;color:var(--black);line-height:1.1;margin-bottom:20px;letter-spacing:-.01em}
.page-hero .lede{font-size:1.05rem;color:var(--ink-soft);line-height:1.7;max-width:640px;margin:0 auto 28px}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;background:#0a7da0;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;transition:.3s;border:none;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--cyan-deep);color:#fff;transform:translateY(-1px)}
.btn-magenta{background:var(--magenta);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.btn-magenta::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s ease;pointer-events:none;z-index:1}
.btn-magenta:hover{background:var(--magenta-deep);color:#fff}
.btn-magenta:hover::before{transform:translateX(120%)}
.btn-peach{background:var(--peach);color:var(--black)}
.btn-peach:hover{background:var(--peach-deep);color:var(--black)}
.btn-outline{background:transparent;border:2px solid var(--black);color:var(--black);padding:12px 28px}
.btn-outline:hover{background:var(--black);color:#fff}
.btn-outline-light{background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(4px)}
.btn-outline-light:hover{background:var(--peach);border-color:var(--peach);color:var(--black)}

/* HERO INLINE FORM */
.hero-form{max-width:560px;margin:36px auto 0;background:var(--card);border:1px solid var(--border-peach);border-radius:14px;padding:28px;text-align:left;box-shadow:var(--shadow-md)}
.hf-row{margin-bottom:10px}
.hf-input{width:100%;padding:14px 16px;background:var(--snow);border:1.5px solid var(--border);border-radius:6px;color:var(--ink);font-size:.92rem;font-family:var(--sans);outline:none;transition:.25s}
.hf-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(13,186,232,.12)}
.hf-input::placeholder{color:var(--ink-faint)}
textarea.hf-input{resize:vertical;min-height:90px}
.hf-submit{width:100%;padding:16px;background:var(--magenta);color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:6px;cursor:pointer;transition:.3s;margin-top:4px}
.hf-submit:hover{background:var(--magenta-deep)}
.hf-note{font-size:.66rem;color:var(--ink-faint);margin-top:12px;text-align:center;line-height:1.5}
.sec-label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-deep);margin-bottom:12px;text-align:center}

/* SECTIONS */
.section{padding:70px 40px;max-width:1100px;margin:0 auto}
.section-tight{padding:50px 40px;max-width:900px;margin:0 auto}
.sec-h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700;color:var(--black);text-align:center;margin-bottom:36px;line-height:1.2}
.sec-h2 em{font-style:italic}

/* EXTRACT ZONE — AI Quick Answer */
.extract-zone{background:linear-gradient(135deg,var(--bg-tint),var(--bg-cyan));border-left:4px solid var(--magenta);padding:22px 26px;margin:0 auto;border-radius:8px;max-width:820px;box-shadow:var(--shadow-sm)}
.extract-zone .label{color:var(--magenta);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:8px}
.extract-zone p{color:var(--ink);font-size:.98rem;line-height:1.7;margin:0}

/* STATS STRIP */
.stats-strip{padding:60px 24px;background:var(--black);color:#fff;border-top:4px solid var(--peach);border-bottom:4px solid var(--peach);position:relative;overflow:hidden}
.stats-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(13,186,232,.18),transparent 55%),radial-gradient(ellipse at 70% 50%,rgba(192, 16, 127, .15),transparent 55%);pointer-events:none}
.stats-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:30px 10px;position:relative;text-align:center}
.stat{padding:20px 12px;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:linear-gradient(180deg,transparent,rgba(255,196,108,.35) 50%,transparent)}
.stat-num{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1;background:linear-gradient(135deg,var(--cyan) 0%,#7be4ff 40%,var(--magenta) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:10px;letter-spacing:-.02em}
.stat-word{font-family:var(--serif);font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,var(--peach),#ffd99e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.stat-label{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#dcdcdc;font-weight:600}
@media (min-width:640px){.stats-grid{grid-template-columns:repeat(3,1fr)}.stat:nth-child(3n+1)::before{display:none}}
@media (min-width:1100px){.stats-grid{grid-template-columns:repeat(6,1fr);gap:24px 0}.stat:nth-child(3n+1)::before{display:block}.stat:nth-child(1)::before{display:none}}
@media (max-width:639px){.stats-strip{padding:40px 16px}.stat + .stat::before{display:none}}

/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px;transition:.3s cubic-bezier(.22,1,.36,1);text-decoration:none!important;box-shadow:var(--shadow-sm);display:block}
.card:hover{border-color:var(--magenta);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card h3{color:var(--black);font-family:var(--serif);font-size:1.18rem;margin:0 0 10px;text-decoration:none;line-height:1.3}
.card p{font-size:.88rem;color:var(--ink-soft);line-height:1.65;margin:0 0 16px}
.card .card-link{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--magenta)}
.card .card-emoji{font-size:1.8rem;display:inline-flex;width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,var(--bg-tint),var(--bg-cyan));align-items:center;justify-content:center;margin-bottom:14px;border:1px solid var(--border-peach)}
.card-cta{display:flex!important;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--magenta),var(--magenta-deep))!important;color:#fff!important;border-color:var(--magenta-deep)!important}
.card-cta h3{color:#fff!important}
.card-cta p{color:rgba(255,255,255,.92)!important}

/* FREE CONSULT BAND */
.free-consult-band{position:relative;padding:80px 24px;background:var(--black);color:#fff;overflow:hidden}
.free-consult-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(13,186,232,.2),transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(192, 16, 127, .2),transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(255,196,108,.08),transparent 70%);pointer-events:none}
.free-consult-band::after{content:"";position:absolute;top:-50%;left:-10%;width:140%;height:200%;background:conic-gradient(from 120deg at 50% 50%,transparent 0deg,rgba(13,186,232,.06) 90deg,transparent 180deg,rgba(192, 16, 127, .06) 270deg,transparent 360deg);pointer-events:none;animation:fcSpin 40s linear infinite}
@keyframes fcSpin{to{transform:rotate(360deg)}}
.free-consult-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;position:relative;z-index:1}
.free-consult-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--peach);font-weight:700;margin-bottom:12px}
.free-consult-h{font-family:var(--serif);font-size:clamp(2rem,4.4vw,3rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:16px;letter-spacing:-.01em}
.free-consult-lede{font-size:1.02rem;color:#d2d6df;margin-bottom:22px;max-width:620px;line-height:1.65}
.free-consult-list{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;max-width:620px}
.free-consult-list li{display:flex;align-items:flex-start;gap:10px;color:#e8e9ee;font-size:.93rem;line-height:1.45}
.free-consult-list li svg{flex-shrink:0;width:18px;height:18px;color:var(--cyan);margin-top:3px}
.free-consult-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.free-consult-fine{font-size:.78rem;color:#9aa1ab;margin:0}

/* FREE BADGE — magenta ring with peach center */
.free-consult-badge{display:flex;align-items:center;justify-content:center;position:relative}
.fcb-ring{width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#1a1a1a,#000 70%);border:2px solid var(--magenta);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04) inset,0 0 80px rgba(192, 16, 127, .25)}
.fcb-ring::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px dashed var(--peach);animation:fcbSpin 30s linear infinite}
.fcb-ring::after{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(13,186,232,.3);animation:fcbSpin 60s linear infinite reverse}
@keyframes fcbSpin{to{transform:rotate(360deg)}}
.fcb-word{font-family:var(--serif);font-size:3.4rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--peach) 0%,#ffd99e 40%,var(--peach-deep) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:.02em}
.fcb-sub{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-top:6px}

@media (max-width:900px){
  .free-consult-band{padding:50px 20px}
  .free-consult-inner{grid-template-columns:1fr;gap:36px;text-align:center}
  .free-consult-list{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;text-align:left}
  .free-consult-lede{margin-left:auto;margin-right:auto}
  .free-consult-ctas{justify-content:center}
  .free-consult-badge{order:-1}
  .fcb-ring{width:170px;height:170px}
  .fcb-word{font-size:2.6rem}
}

/* WHY US — info boxes on tinted bg */
.why-us{background:var(--bg-tint);padding:72px 40px;border-top:1px solid var(--border-peach);border-bottom:1px solid var(--border-peach)}
.why-us-inner{max-width:1100px;margin:0 auto}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:36px}
.info-box{background:var(--card);border-left:4px solid var(--cyan);padding:22px 24px;border-radius:8px;box-shadow:var(--shadow-sm);transition:.25s}
.info-box:nth-child(2n){border-left-color:var(--magenta)}
.info-box:nth-child(3n){border-left-color:#946300}
.info-box:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.info-box h4{color:var(--black);font-family:var(--serif);margin-bottom:8px;font-size:1.05rem;line-height:1.3}
.info-box p{font-size:.9rem;margin:0;color:var(--ink-soft);line-height:1.6}

/* RESULT CARDS */
.result-cards{grid-template-columns:repeat(4,1fr)!important}
.result-card{display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px 20px!important;min-height:170px;background:var(--card);border:1px solid var(--border)!important}
.result-card:hover{border-color:var(--cyan)!important}
.result-label{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep);line-height:1.3;min-height:2.6em;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.result-outcome{font-family:var(--serif);font-size:1.8rem;font-weight:800;color:var(--black);line-height:1.05;margin-bottom:8px;font-style:italic}
.result-outcome.dismissed{color:var(--magenta)}
.result-outcome.acquitted{color:var(--magenta)}
.result-outcome.reduced{color:var(--cyan-deep)}
.result-outcome.no-bill{color:#946300}
.result-court{font-size:.72rem;color:var(--ink-mute);letter-spacing:.04em}
@media(max-width:900px){.result-cards{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:480px){.result-card{min-height:150px;padding:22px 14px!important}.result-outcome{font-size:1.5rem}}

/* ATTORNEYS */
.attorneys-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:40px;max-width:880px;margin-left:auto;margin-right:auto}
.atty-card{text-decoration:none;color:inherit;display:block}
.atty-card figure{margin:0 0 16px;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/5;background:var(--bg-tint);border:2px solid var(--border-peach);transition:.35s cubic-bezier(.22,1,.36,1)}
.atty-card:hover figure{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--magenta)}
.atty-card figure img{width:100%;height:100%;object-fit:cover;display:block}
.atty-card .placeholder-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-tint),var(--bg-cyan));color:var(--ink-mute);font-family:var(--serif);font-size:5rem;font-weight:800;font-style:italic}
.atty-card h3{font-family:var(--serif);color:var(--black);font-size:1.5rem;margin-bottom:4px;text-align:center;line-height:1.15}
.atty-card .role{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-deep);font-weight:700;text-align:center;margin-bottom:6px}
.atty-card .bar{font-size:.74rem;color:var(--ink-mute);text-align:center;font-family:var(--serif);font-style:italic}

/* OFFICE / MAP SECTION */
.office-grid{margin-top:22px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:stretch}
.map-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}
.map-card iframe{height:340px}
.map-cta{text-align:center;padding:14px 14px 18px}
.address-card{background:linear-gradient(135deg,var(--bg-tint),var(--bg-cyan));border:1px solid var(--border-peach);border-radius:14px;padding:30px;display:flex;flex-direction:column;justify-content:center}
.address-card h3{font-family:var(--serif);color:var(--black);font-size:1.35rem;margin:0 0 12px;line-height:1.2}
.address-card p{font-size:.95rem;color:var(--ink-soft);margin-bottom:14px;line-height:1.55}
.address-card p strong{color:var(--black)}
.address-card .address-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}
@media(max-width:760px){.office-grid{grid-template-columns:1fr}}

/* OFFICE BANNER */
.office-banner{margin:28px 0 0;border-radius:14px;overflow:hidden;border:1px solid var(--border-peach);box-shadow:var(--shadow-md);aspect-ratio:16/9;background:var(--bg-tint)}
.office-banner img{width:100%;height:100%;display:block;object-fit:cover}
.office-banner .placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--ink-mute);font-family:var(--serif);font-style:italic;font-size:1.1rem;background:linear-gradient(135deg,var(--bg-tint) 0%,var(--bg-cyan) 100%)}
.office-banner .placeholder strong{font-size:1.6rem;color:var(--black);margin-bottom:6px}

/* MID-PAGE CTA STRIP */
.mid-cta-strip{background:var(--black);color:#fff;padding:50px 40px;text-align:center;position:relative}
.mid-cta-strip::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cyan),var(--magenta) 50%,var(--peach))}
.mid-cta-strip h2{font-family:var(--serif);color:#fff;font-size:1.8rem;margin-bottom:14px;line-height:1.2}
.mid-cta-strip h2 em{font-style:italic;color:var(--peach)}
.mid-cta-strip p{color:#c8ccd5;margin-bottom:20px}
.mid-cta-strip .cta-row{margin-top:20px}

/* EDITORIAL REVIEW ASIDE */
.editorial-aside{max-width:900px;margin:24px auto;padding:14px 24px;font-size:.78rem;color:var(--ink-mute);text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-tint)}
.editorial-aside .ea-label{color:var(--magenta);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;margin-right:8px}
.editorial-aside strong{color:var(--black)}
.editorial-aside a{color:var(--cyan-deep);text-decoration:underline;text-decoration-color:rgba(13,186,232,.35);text-underline-offset:2px}

/* ADVERTISING DISCLOSURE */
.ad-disclosure{background:var(--bg-tint);padding:32px 24px;border-top:1px solid var(--border-peach);border-bottom:1px solid var(--border-peach)}
.ad-disclosure-inner{max-width:900px;margin:0 auto;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:12px;font-size:.84rem;color:var(--ink-soft);line-height:1.65;box-shadow:var(--shadow-sm)}
.ad-disclosure-inner .ad-label{font-weight:700;color:var(--magenta);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;margin-bottom:10px}
.ad-disclosure-inner p{margin-bottom:12px}
.ad-disclosure-inner p:last-child{margin-bottom:0}
.ad-disclosure-inner a{color:var(--cyan-deep);text-decoration:underline;text-decoration-color:rgba(13,186,232,.4);text-underline-offset:2px}
.ad-disclosure-inner a:hover{color:var(--magenta);text-decoration-color:var(--magenta)}

/* FOOTER */
.footer{background:var(--ink-deep);color:#dcdcdc;padding:60px 40px 28px;border-top:4px solid var(--peach)}
.footer-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}
.footer-brand{font-family:var(--serif);font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:8px;line-height:1.1}
.footer-brand span{color:var(--magenta)}
.footer-desc{font-size:.84rem;color:#9aa1ab;line-height:1.6}
.footer-col h4{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--peach);margin-bottom:14px}
.footer-col a{display:block;font-size:.82rem;color:#c0c4cb;padding:3px 0;transition:.2s;text-decoration:none}
.footer-col a:hover{color:var(--cyan)}
.footer-col address{font-style:normal}
.footer-col address a{padding:5px 0}
.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}

/* FOOTER SOCIAL */
.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}
.footer-social-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--peach);font-weight:700}
.footer-social-icons{display:flex;gap:14px;align-items:center}
.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:var(--peach);transition:.25s}
.footer-social-icons a:hover{background:var(--magenta);border-color:var(--magenta);color:#fff;transform:translateY(-2px)}

/* FOOTER CITIES */
.footer-cities{background:var(--ink-deep-2);padding:40px 0;border-top:1px solid rgba(255,196,108,.08)}
.footer-cities-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.fc-h{font-family:var(--serif);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--peach);font-weight:700;margin-bottom:14px;border-bottom:1px solid rgba(255,196,108,.2);padding-bottom:8px}
.fc-cities{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;font-size:.86rem;line-height:1.5}
.fc-list{font-size:.86rem;line-height:1.5}
.fc-list a,.fc-cities a{color:#c0c4cb;text-decoration:none;padding:4px 0;display:block;transition:color .2s}
.fc-list a:hover,.fc-cities a:hover{color:var(--cyan)}

/* MOB BAR */
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--ink-deep);border-top:1px solid var(--peach);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.mob-bar-in{display:flex;justify-content:space-around;max-width:600px;margin:0 auto}
.mob-bar a,.mob-bar button{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--peach);font-size:.55rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;background:none;border:none;font-family:inherit;cursor:pointer;text-decoration:none}
.mob-bar a:nth-child(2),.mob-bar a:nth-child(2) svg{color:var(--cyan);stroke:var(--cyan)}
.mob-bar a:nth-child(3),.mob-bar a:nth-child(3) svg,.mob-bar button:nth-child(3),.mob-bar button:nth-child(3) svg{color:var(--magenta);stroke:var(--magenta)}
.mob-bar svg{width:22px;height:22px;stroke:var(--peach);fill:none;stroke-width:1.6}

/* STICKY CALL */

/* MOBILE MENU OVERLAY */
.hdr-ham{position:relative;z-index:301;display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.hdr-ham span{display:block;width:26px;height:2px;background:var(--black);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .25s ease;transform-origin:center;border-radius:2px}
body.mnav-open .hdr-ham span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--magenta)}
body.mnav-open .hdr-ham span:nth-child(2){opacity:0;transform:scaleX(0)}
body.mnav-open .hdr-ham span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--magenta)}
@media(max-width:880px){.hdr-nav{display:none}.hdr-ham{display:flex}}
.mnav{position:fixed;inset:0;z-index:300;background:linear-gradient(135deg,var(--snow) 0%,var(--bg-tint) 45%,var(--bg-cyan) 100%);flex-direction:column;padding:96px 40px 40px;overflow-y:auto;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::before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,rgba(255,196,108,.18),transparent);pointer-events:none}
.mnav::after{content:"L and L Law Group, PLLC";position:absolute;bottom:32px;left:40px;font-family:var(--serif);font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);opacity:0;transition:opacity .6s ease .65s;pointer-events:none}
body.mnav-open .mnav::after{opacity:1}
.mnav a{display:block;font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:var(--black);padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06);text-decoration:none;transform:translateX(80px);opacity:0;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s ease,color .25s ease;position:relative;line-height:1.1;letter-spacing:-.005em}
.mnav a::before{content:counter(mnav-i,decimal-leading-zero);counter-increment:mnav-i;position:absolute;left:-44px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.18em;color:var(--magenta);opacity:0;transition:opacity .35s ease .15s}
.mnav{counter-reset:mnav-i}
.mnav a::after{content:"";position:absolute;left:0;bottom:10px;height:2px;width:0;background:linear-gradient(90deg,var(--cyan),var(--magenta));transition:width .4s cubic-bezier(.22,1,.36,1)}
.mnav a:hover{color:var(--magenta);padding-left:8px}
.mnav a:hover::after{width:48%}
@media(min-width:480px){.mnav a:hover::before{opacity:1}}
body.mnav-open .mnav a{transform:translateX(0);opacity:1}
body.mnav-open .mnav a:nth-of-type(1){transition-delay:.18s}
body.mnav-open .mnav a:nth-of-type(2){transition-delay:.24s}
body.mnav-open .mnav a:nth-of-type(3){transition-delay:.30s}
body.mnav-open .mnav a:nth-of-type(4){transition-delay:.36s}
body.mnav-open .mnav a:nth-of-type(5){transition-delay:.42s}
body.mnav-open .mnav a:nth-of-type(6){transition-delay:.48s}
body.mnav-open .mnav a:nth-of-type(7){transition-delay:.54s}
body.mnav-open .mnav a:nth-of-type(8){transition-delay:.60s}
.mnav .mnav-close{position:absolute;top:20px;right:24px;background:#fff;border:1px solid var(--border);color:var(--ink-soft);font-size:0;cursor:pointer;z-index:302;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;opacity:0;transform:scale(.7) rotate(-90deg)}
body.mnav-open .mnav .mnav-close{opacity:1;transform:scale(1) rotate(0);transition-delay:.35s}
.mnav .mnav-close::before,.mnav .mnav-close::after{content:"";position:absolute;width:18px;height:2px;background:var(--ink);border-radius:1px;transition:background .25s}
.mnav .mnav-close::before{transform:rotate(45deg)}
.mnav .mnav-close::after{transform:rotate(-45deg)}
.mnav .mnav-close:hover{background:var(--magenta);border-color:var(--magenta);transform:scale(1.1)}
.mnav .mnav-close:hover::before,.mnav .mnav-close:hover::after{background:#fff}
.mnav .mnav-call{margin-top:32px !important;margin-bottom:8px;padding:18px 32px !important;background:var(--magenta) !important;color:#fff !important;border-radius:50px !important;text-align:center !important;border-bottom:none !important;font-family:var(--sans) !important;font-size:.96rem !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;align-self:flex-start;box-shadow:0 8px 24px rgba(192, 16, 127, .3);transform:translateX(80px) scale(.95)}
.mnav .mnav-call::before{display:none}
.mnav .mnav-call::after{display:none}
.mnav .mnav-call:hover{background:var(--magenta-deep) !important;color:#fff !important;padding-left:32px !important;transform:translateX(0) scale(1)}
body.mnav-open .mnav .mnav-call{transform:translateX(0) scale(1)}
body.mnav-open{overflow:hidden}

/* RESPONSIVE */
@media (max-width:1024px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .footer-in{grid-template-columns:1fr 1fr}
  .attorneys-grid{grid-template-columns:1fr;max-width:340px}
}
@media (max-width:768px){
  .hdr-nav{display:none}
  .hdr-ham{display:flex}
  .mob-bar{display:block}
  
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .footer-cities{padding-bottom:32px}
  .page-hero{padding:40px 20px 30px}
  .section,.section-tight{padding:44px 20px}
  .card-grid{grid-template-columns:1fr}
  .footer-in{grid-template-columns:1fr;padding:0 4px}
  .footer{padding:36px 20px 110px}
  .hdr{padding:12px 16px}
  .top a{font-size:.72rem;letter-spacing:.1em;padding:12px 10px;gap:6px;white-space:nowrap}
  .top a em{font-size:1.12em}
  .hf-input,input,select,textarea{font-size:16px!important}
  .btn,.hf-submit{min-height:44px}
  .page-hero h1{font-size:clamp(1.7rem,7vw,2.2rem)!important;line-height:1.15}
  .sec-h2{font-size:clamp(1.5rem,5vw,1.9rem)!important}
  .lede{font-size:.95rem!important;line-height:1.6}
  .cta-row{flex-direction:column;align-items:stretch}
  .cta-row .btn{width:100%;justify-content:center}
  .hdr-logo{font-size:1.2rem!important}
  .hdr-sub{font-size:.55rem;letter-spacing:.18em}
  .team-banner img{height:280px;object-position:center 45%}
  .team-banner-overlay{padding-bottom:18px}
  .team-banner-overlay .caption{font-size:.95rem;padding:0 16px}
  .why-us{padding:50px 20px}
  .footer-social{flex-direction:column;align-items:flex-start;gap:14px}
  .footer-social-icons{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .free-consult-band::after,.fcb-ring::before,.fcb-ring::after{animation:none}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* === CONVERSION OVERHAUL — appended === */
.experience-block{max-width:880px;margin:24px auto;padding:20px 26px;background:linear-gradient(135deg,var(--bg-cyan),var(--bg-tint));border-left:4px solid var(--magenta);border-radius:8px;text-align:left;box-shadow:var(--shadow-sm)}
.experience-block .eb-eyebrow{font-family:var(--serif);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--magenta);font-weight:700;margin-bottom:10px}
.experience-block p{color:var(--ink);font-size:.96rem;line-height:1.65;margin-bottom:10px}
.experience-block p:last-child{margin-bottom:0}
.experience-block p strong{color:var(--black)}
.pa-trust-row{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin:0 auto 22px;max-width:820px}
.pa-trust-row span{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:.78rem;font-weight:600;letter-spacing:.02em;background:var(--bg-tint);border:1px solid var(--border-peach);padding:6px 12px;border-radius:999px}
.pa-trust-row span::before{content:"\2713";color:var(--magenta);font-weight:800;font-size:.95rem}
.hero-form-wrap{max-width:560px;margin:28px auto 0;background:linear-gradient(135deg,#fff,var(--bg-tint));border:2px solid var(--border-peach);border-radius:14px;padding:26px 28px;text-align:left;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.hero-form-wrap::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cyan),var(--magenta) 50%,var(--peach))}
.hero-form-wrap .hf-eyebrow{display:block;text-align:center;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--magenta);font-weight:700;margin-bottom:6px}
.hero-form-wrap .hf-headline{display:block;text-align:center;font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--black);margin-bottom:16px;line-height:1.25}
.hero-form-wrap .hf-headline em{font-style:italic;color:var(--magenta)}
.bottom-cta-section{background:linear-gradient(135deg,var(--bg-tint),var(--bg-cyan));padding:60px 40px;border-top:1px solid var(--border-peach);border-bottom:1px solid var(--border-peach)}
.bottom-cta-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.bottom-cta-copy .bc-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--magenta);font-weight:700;margin-bottom:12px}
.bottom-cta-copy h2{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;color:var(--black);line-height:1.2;margin-bottom:14px}
.bottom-cta-copy h2 em{font-style:italic;color:var(--magenta)}
.bottom-cta-copy p{font-size:1rem;color:var(--ink-soft);line-height:1.65;margin-bottom:16px}
.bottom-cta-list{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.bottom-cta-list li{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:.92rem;line-height:1.45}
.bottom-cta-list li::before{content:"\2713";color:var(--magenta);font-weight:800;flex-shrink:0;font-size:1rem}
.bottom-cta-phone{padding:18px 22px;background:#fff;border:1.5px solid var(--border-peach);border-radius:10px;display:flex;flex-direction:column;gap:4px}
.bottom-cta-phone .bcp-eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-deep);font-weight:700}
.bottom-cta-phone a{font-family:var(--serif);font-size:1.6rem;font-weight:800;color:var(--black);letter-spacing:-.01em;text-decoration:none}
.bottom-cta-phone a:hover{color:var(--magenta)}
.bottom-form{background:#fff;border:2px solid var(--border-peach);border-radius:14px;padding:28px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.bottom-form::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cyan),var(--magenta) 50%,var(--peach))}
.bottom-form h3{font-family:var(--serif);font-size:1.2rem;color:var(--black);font-weight:700;margin-bottom:6px;line-height:1.25}
.bottom-form > p{font-size:.86rem;color:var(--ink-mute);margin-bottom:18px}
@media(max-width:880px){.bottom-cta-inner{grid-template-columns:1fr;gap:28px}.bottom-cta-list{grid-template-columns:1fr}}

/* 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(192, 16, 127, .35),transparent);transition:.8s;pointer-events:none}
.top a:hover::before,.top button:hover::before{left:100%}
.top a:hover,.top button:hover{background:linear-gradient(120deg,#0e2840,#214770 50%,#0e2840);letter-spacing:.2em}
.top a: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}}

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

.extract-zone{background:linear-gradient(135deg,#fff5e8,#e9f9fe);border-left:4px solid #c0107f;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-badges-fix-css */

/* Fix: only direct-child <a> in CTA gets pill-button styling — inline <p> links stay as normal text links */
.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}

/* Enhanced trust badges — colored top accents matching brand palette */
.trust-badges{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;gap:12px !important;margin:24px 0 !important;padding:0 !important;background:transparent !important;border-radius:0 !important;font-size:.86rem !important}
.trust-badges > div{background:#fff !important;padding:16px 18px !important;border-radius:8px !important;border:1px solid #e5e2da !important;box-shadow:0 2px 6px rgba(0,0,0,.04) !important;position:relative;transition:transform .2s,box-shadow .2s}
.trust-badges > div::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:8px 8px 0 0}
.trust-badges > div:nth-child(1)::before{background:linear-gradient(90deg,#ffc46c,#e8a449)}
.trust-badges > div:nth-child(2)::before{background:linear-gradient(90deg,#ffc46c,#c0107f)}
.trust-badges > div:nth-child(3)::before{background:linear-gradient(90deg,#0dbae8,#01696f)}
.trust-badges > div:nth-child(4)::before{background:linear-gradient(90deg,#c0107f,#bf1383)}
.trust-badges > div:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.08)}
.trust-badges strong{display:block;font-family:'Outfit',system-ui,sans-serif;font-size:.86rem;color:#0A0A0A;margin-bottom:2px}
@media(max-width:600px){.trust-badges{grid-template-columns:1fr !important}}

/* 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:#c0107f;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:#01696f;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-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(192, 16, 127, .75) 48%,
    rgba(191,19,131,.70) 54%,
    rgba(255,92,192,.65) 62%,
    rgba(13,186,232,.65) 72%,
    rgba(1, 105, 111, .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,#c0107f);
}
.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(192, 16, 127, .50) 50%,
    rgba(191,19,131,.45) 58%,
    rgba(255,92,192,.44) 65%,
    rgba(13,186,232,.40) 75%,
    rgba(1, 105, 111, .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:#01696f !important;
  color:#01696f !important;
  background:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 3px 8px rgba(1, 105, 111, .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(192, 16, 127, .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-trust-badges-enhanced-css */

.trust-badges-enhanced{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
  margin:32px auto;
  max-width:1200px;
  padding:0 16px;
  font-family:'Outfit',system-ui,-apple-system,sans-serif;
}
.trust-badges-enhanced .tb-card{
  position:relative;
  background:linear-gradient(135deg,#fffafa 0%,#fbf6e9 100%);
  border-radius:14px;
  padding:26px 20px 22px;
  text-align:center !important;
  overflow:hidden;
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
  border:1px solid rgba(0,0,0,.05);
  isolation:isolate;
  /* Anchor-as-card: kill underlines + inherit colors so clickable cards render like the original divs */
  text-decoration:none !important;
  color:inherit;
  display:block;
  cursor:pointer;
}
.trust-badges-enhanced a.tb-card:hover{text-decoration:none}
.trust-badges-enhanced a.tb-card:focus-visible{outline:3px solid var(--magenta);outline-offset:3px}
.trust-badges-enhanced .tb-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  transition:height .3s ease;
  z-index:1;
}
.trust-badges-enhanced .tb-card::after{
  content:"";
  position:absolute;
  top:-50px;right:-50px;
  width:140px;height:140px;
  border-radius:50%;
  filter:blur(28px);
  opacity:.18;
  pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
  z-index:0;
}
.trust-badges-enhanced .tb-cyan::before{background:linear-gradient(90deg,#01696f 0%,#0dbae8 100%)}
.trust-badges-enhanced .tb-cyan::after{background:#0a7da0}
.trust-badges-enhanced .tb-cyan .tb-stat{
  background:linear-gradient(135deg,#01696f,#0dbae8);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.trust-badges-enhanced .tb-magenta::before{background:linear-gradient(90deg,#bf1383 0%,#c0107f 50%,#ff5cc0 100%)}
.trust-badges-enhanced .tb-magenta::after{background:#c0107f}
.trust-badges-enhanced .tb-magenta .tb-stat{
  background:linear-gradient(135deg,#bf1383,#c0107f 60%,#ff5cc0);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.trust-badges-enhanced .tb-card:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 32px rgba(0,0,0,.12);
  border-color:rgba(0,0,0,.08);
}
.trust-badges-enhanced .tb-card:hover::before{height:5px}
.trust-badges-enhanced .tb-card:hover::after{opacity:.30;transform:scale(1.15)}
.trust-badges-enhanced .tb-card > *{position:relative;z-index:2}
.trust-badges-enhanced .tb-icon{
  font-size:1.7rem;
  line-height:1;
  margin-bottom:10px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.10));
}
.trust-badges-enhanced .tb-stat{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.4rem,2.4vw,1.7rem);
  font-weight:800;
  line-height:1.05;
  margin-bottom:4px;
  letter-spacing:-.01em;
}
.trust-badges-enhanced .tb-label{
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.02rem;
  font-weight:800;
  color:#0A1F44;
  line-height:1.2;
  margin-bottom:10px;
}
.trust-badges-enhanced .tb-sub{
  font-size:.66rem;
  color:#5A5A5A;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:700;
  line-height:1.5;
}
@media(max-width:600px){
  .trust-badges-enhanced{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px}
  .trust-badges-enhanced .tb-card{padding:22px 14px 18px}
  .trust-badges-enhanced .tb-stat{font-size:1.3rem}
  .trust-badges-enhanced .tb-label{font-size:.92rem}
  .trust-badges-enhanced .tb-sub{font-size:.60rem;letter-spacing:.06em}
}
@media(max-width:380px){
  .trust-badges-enhanced{grid-template-columns:1fr 1fr;gap:10px}
}

/* 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%,#c0107f 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,#c0107f) !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-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%,
    #c0107f 32%,
    #bf1383 42%,
    #01696f 50%,
    #bf1383 58%,
    #c0107f 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%,
    #c0107f 32%,
    #bf1383 42%,
    #01696f 50%,
    #bf1383 58%,
    #c0107f 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%,
    #01696f 8%,
    #ff5cc0 20%,
    #c0107f 32%,
    #bf1383 42%,
    #e8a449 50%,
    #bf1383 58%,
    #c0107f 68%,
    #ff5cc0 80%,
    #01696f 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%,
    #c0107f 38%,
    #bf1383 50%,
    #c0107f 62%,
    #ff5cc0 75%,
    #0dbae8 88%,
    #01696f 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(192, 16, 127, .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(192, 16, 127, .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(192, 16, 127, .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-pa-hero-v3 */

/* __LL_PA_HERO_POLISH_V3__ — sub-charge + hub polish */

/* 1. Polished .pa-hero (sub-charge pages) */
.pa-hero{
  background:linear-gradient(135deg,#fff5e8 0%,#ffe8d0 30%,#fffafa 70%,#e9f9fe 100%)!important;
  position:relative!important;
  overflow:hidden!important;
  padding:56px 24px 44px!important;
}
.pa-hero::before{
  content:""!important;
  position:absolute!important;
  top:-100px!important;
  right:-100px!important;
  width:300px!important;
  height:300px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(192, 16, 127, .10) 0%,transparent 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.pa-hero::after{
  content:""!important;
  position:absolute!important;
  bottom:-100px!important;
  left:-100px!important;
  width:300px!important;
  height:300px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(13,186,232,.10) 0%,transparent 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.pa-hero > *{position:relative;z-index:2}
.pa-hero .eyebrow{
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.20em!important;
  text-transform:uppercase!important;
  color:#01696f!important;
  margin-bottom:14px!important;
  display:block!important;
}
.pa-hero h1{
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(2rem,5vw,3.2rem)!important;
  font-weight:800!important;
  line-height:1.08!important;
  color:#0a0a0a!important;
  letter-spacing:-.012em!important;
  margin:0 0 18px!important;
}
.pa-hero h1 em{
  font-style:italic!important;
  background:linear-gradient(100deg,#c0107f,#ff5cc0 30%,#c0107f 55%,#bf1383 80%,#c0107f)!important;
  background-size:200% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
  animation:ll-grad-shift 9s linear infinite!important;
}
.pa-hero .code-badge{
  display:inline-block!important;
  font-family:'SF Mono',Menlo,Consolas,monospace!important;
  font-size:.7rem!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  padding:6px 12px!important;
  background:#fff!important;
  color:#c0107f!important;
  border:1.5px solid #c0107f!important;
  border-radius:50px!important;
  margin-bottom:12px!important;
  box-shadow:0 2px 8px rgba(192, 16, 127, .10)!important;
}

/* 2. Polished .cta-row buttons (cta-row appears on sub-charge pages) */
.pa-hero .cta-row,
.cta-row{
  display:flex!important;
  gap:12px!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  margin-top:20px!important;
}
.cta-row a,
.cta-row button,
.pa-hero .cta-row a,
.pa-hero .cta-row button{
  padding:14px 28px!important;
  border-radius:50px!important;
  font-weight:700!important;
  font-size:.84rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  display:inline-block!important;
  transition:transform .25s,box-shadow .25s,background .25s!important;
  cursor:pointer!important;
}
.cta-row a.cta-primary,
.cta-row a:first-child,
.pa-hero .cta-row a.cta-primary,
.pa-hero .cta-row a:first-child{
  background:#c0107f!important;
  color:#fff!important;
  border:none!important;
  box-shadow:0 6px 20px rgba(192, 16, 127, .25)!important;
}
.cta-row a.cta-primary:hover,
.cta-row a:first-child:hover,
.pa-hero .cta-row a.cta-primary:hover,
.pa-hero .cta-row a:first-child:hover{
  background:#c0107f!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 28px rgba(192, 16, 127, .40)!important;
  color:#fff!important;
}
.cta-row a.cta-secondary,
.cta-row a:not(:first-child),
.pa-hero .cta-row a.cta-secondary,
.pa-hero .cta-row a:not(:first-child){
  background:#fff!important;
  color:#01696f!important;
  border:1.8px solid #0dbae8!important;
}
.cta-row a.cta-secondary:hover,
.cta-row a:not(:first-child):hover,
.pa-hero .cta-row a.cta-secondary:hover,
.pa-hero .cta-row a:not(:first-child):hover{
  background:#0a7da0!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 26px rgba(13,186,232,.30)!important;
}

/* 3. Generic .hero polish (catches blog posts, generic pages) */
section.hero,
.hero:not(.pa-hero):not(.loc-hero):not(.bp-hero){
  background:linear-gradient(135deg,#fff5e8 0%,#ffe8d0 30%,#fffafa 70%,#e9f9fe 100%)!important;
  position:relative!important;
  overflow:hidden!important;
}
section.hero::before,
.hero:not(.pa-hero):not(.loc-hero):not(.bp-hero)::before{
  content:""!important;
  position:absolute!important;
  top:-100px!important;
  right:-100px!important;
  width:280px!important;
  height:280px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(192, 16, 127, .08) 0%,transparent 70%)!important;
  pointer-events:none!important;
}
section.hero > *,
.hero:not(.pa-hero):not(.loc-hero):not(.bp-hero) > *{position:relative;z-index:2}

/* 4. Polished pa-trust-row (the trust row inside the sub-charge hero) */
.pa-trust-row{
  display:flex!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  margin:20px auto!important;
  max-width:760px!important;
  padding:16px 20px!important;
  background:#fff!important;
  border:1px solid rgba(255,196,108,.30)!important;
  border-radius:12px!important;
  box-shadow:0 4px 16px rgba(0,0,0,.04)!important;
}

/* 5. Polished hero-form-wrap (the form embedded in sub-charge hero) */
.hero-form-wrap{
  background:#fff!important;
  border:1px solid rgba(255,196,108,.30)!important;
  border-radius:14px!important;
  padding:24px!important;
  box-shadow:0 6px 24px rgba(0,0,0,.06)!important;
  max-width:520px!important;
  margin:24px auto 0!important;
}
.hero-form-wrap .hf-input{
  width:100%!important;
  padding:13px 14px!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:8px!important;
  font-size:.94rem!important;
  font-family:inherit!important;
  margin-bottom:10px!important;
  box-sizing:border-box!important;
}
.hero-form-wrap .hf-input:focus{
  outline:none!important;
  border-color:#0dbae8!important;
  box-shadow:0 0 0 3px rgba(13,186,232,.12)!important;
}
.hero-form-wrap button[type="submit"]{
  background:#c0107f!important;
  color:#fff!important;
  border:none!important;
  padding:14px 28px!important;
  border-radius:50px!important;
  font-weight:700!important;
  font-size:.84rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  width:100%!important;
  box-shadow:0 6px 20px rgba(192, 16, 127, .25)!important;
  transition:transform .25s,box-shadow .25s,background .25s!important;
}
.hero-form-wrap button[type="submit"]:hover{
  background:#c0107f!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 28px rgba(192, 16, 127, .40)!important;
}

@keyframes ll-grad-shift{0%{background-position:0% 50%}100%{background-position:200% 50%}}

/* Mobile */
@media(max-width:780px){
  .pa-hero{padding:40px 18px 32px!important}
  .pa-hero h1{font-size:clamp(1.8rem,7vw,2.4rem)!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-HOMEPAGE-GREVS-BODY-V1__ host section for the Google reviews widget */
.ll-grevs-host{padding:36px 16px;background:#fff;display:flex;justify-content:center}
.ll-grevs-host .ll-grevs{margin:0;max-width:720px;width:100%}
@media(max-width:540px){.ll-grevs-host{padding:24px 14px}}

/* ll-page-polish-v1 */

/* __LL-PAGE-POLISH-V1__ */

/* 2) Cred photos — profile bubbles, side-by-side */
.cred-photos {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
}
.cred-photos img,
.cred-photos picture img {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  display: block !important;
  margin: 0 !important;
}
.cred-photos img + img,
.cred-photos picture + picture {
  margin-left: -18px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* 3) Hide redundant sticky-call (mob-bar already has Call button) */
.sticky-call {
  display: none !important;
}
@media (max-width: 880px) {
  .sticky-call { display: none !important; }
}

/* ll-h1-eyebrow-polish */

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

/* H1 base: ensure Playfair serif + bold weight + tight tracking */
.bp-h1,
.loc-h1,
.page-hero h1,
.hero h1,
section.hero h1,
section.page-hero h1,
main h1:first-of-type,
.hub-hero h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.12 !important;
  color: #143350 !important;
}

/* <em> inside H1 → magenta italic gradient (the "pink flow") */
.bp-h1 em,
.loc-h1 em,
.page-hero h1 em,
.hero h1 em,
section.hero h1 em,
section.page-hero h1 em,
main h1:first-of-type em,
.hub-hero h1 em {
  font-style: italic !important;
  background: linear-gradient(100deg, #c0107f 0%, #ff5cc0 30%, #c0107f 55%, #bf1383 80%, #c0107f 100%) !important;
  background-size: 200% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  font-weight: 800 !important;
  animation: ll-h1-sheen 8s linear infinite !important;
}

@keyframes ll-h1-sheen {
  0% { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

/* Eyebrows — cyan uppercase with letter-spacing */
.post-category,
.bp-eyebrow,
.hero-eyebrow,
.eyebrow,
.loc-eyebrow,
.page-hero .eyebrow {
  display: block !important;
  font-family: 'Outfit', system-ui, -apple-system, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #01696f !important;
  margin-bottom: 12px !important;
}

/* For H1 that has NO <em>: add a small magenta underline accent so the
   "pink flow" is preserved visually */
.bp-h1:not(:has(em))::after,
h1.bp-h1:not(:has(em))::after,
section.hero h1:not(:has(em))::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  background: linear-gradient(90deg, #c0107f 0%, #ff5cc0 100%);
  border-radius: 2px;
  margin-top: 14px;
}

/* Spanish-page H1 normalization (some use no serif by default) */
[lang="es"] h1,
.es h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
}

/* ll-header-footer-fix */

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

/* Header logo — smaller to match homepage (prevents wrapping on narrow viewports) */
.hdr-logo {
  font-size: 1.2rem !important;
  line-height: 1.1 !important;
}
@media (min-width: 880px) {
  .hdr-logo {
    font-size: 1.4rem !important;
  }
}

/* Footer Cities/Counties/Districts section headings */
.fc-h {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #ffc46c !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,196,108,0.2) !important;
  padding-bottom: 8px !important;
}

/* Footer Cities grid layout — 2 columns of links */
.fc-cities {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 16px !important;
  font-size: 0.86rem !important;
  line-height: 1.5 !important;
}

/* Footer plain list */
.fc-list {
  font-size: 0.86rem !important;
  line-height: 1.5 !important;
  display: block !important;
}

/* All footer links — proper color + spacing */
.fc-list a,
.fc-cities a {
  color: #c0c4cb !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
  display: block !important;
  transition: color 0.2s !important;
}
.fc-list a:hover,
.fc-cities a:hover {
  color: #0dbae8 !important;
}

/* Constrain footer width + add safe horizontal padding so it doesn't overflow */
.footer-bottom-cities,
.footer .footer-in > div,
.foot-bottom {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
.footer .footer-in,
.foot-inner {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* ll-rounded-line-caps */

/* __LL-ROUNDED-CAPS-V1__ — round the top + bottom of all colored left-border
   accent lines so they have circular caps instead of square ends. */

/* Named callout/card classes that have left-border accents */
.tldr-box,
.pa-callout,
.bp-callout,
.mid-cta,
.mid-cta-strip,
.callout,
.callout-box,
.fact-card,
.fact-box,
.info-card,
.info-box,
.refs,
.bp-refs,
.pa-refs,
.cite-box,
.trust-badges,
.editorial-aside,
.note,
.pull-quote,
.quote,
.statute-callout,
.snippet-answer,
.quick-answer-box,
.last-reviewed-card,
.ll-courthouse-card,
.ll-da-approach,
.ll-defense-process,
.ll-free-downloads,
.ll-local-pd,
.ll-numbers-grid,
.ll-tool-card,
.ll-case-timeline,
.ll-county-faq,
.ig-section,
.ig-meta,
.pa-faq-item,
.faq-item,
.bp-section,
.cred-photos,
.cofounders-block,
.experience-block {
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* Inline-styled elements with border-left: ...
   override the 0 N N 0 pattern by forcing all 4 corners rounded */
[style*="border-left:"][style*="border-radius:0"],
[style*="border-left:4px"],
[style*="border-left: 4px"],
[style*="border-left:3px"],
[style*="border-left: 3px"],
[style*="border-left:6px"],
[style*="border-left: 6px"] {
  border-radius: 10px !important;
}

/* Special: where the box has rounded-only-right (0 N N 0), make rounded-all */
[style*="border-radius:0 6px 6px 0"],
[style*="border-radius: 0 6px 6px 0"],
[style*="border-radius:0 8px 8px 0"],
[style*="border-radius: 0 8px 8px 0"],
[style*="border-radius:0 4px 4px 0"],
[style*="border-radius: 0 4px 4px 0"] {
  border-radius: 10px !important;
}

/* Horizontal rule + decorative line treatment — round the ends */
hr,
.divider,
.scroll-progress-fill {
  border-radius: 4px !important;
}

/* SVG path lines (chrome animations, etc.) — apply stroke-linecap round */
svg {
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* ll-mnav-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, #c0107f) !important;
  color: #fff !important;
  text-decoration: none !important;
  margin: 8px 0 !important;
  width: auto !important;
  min-height: 56px !important;
  box-shadow: 0 4px 14px rgba(192, 16, 127, 0.25) !important;
  border-bottom: 0 !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  transform: none !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}

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

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

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

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

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

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

/* ll-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, #c0107f) !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, #c0107f 0%, #bf1383 100%) !important;
  color: #fff !important;
  text-decoration: none !important;
  margin: 0 !important;
  min-height: 64px !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  border: 0 !important;
  border-bottom: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate !important;
  overflow: hidden !important;
  box-shadow:
    0 12px 28px -10px rgba(192, 16, 127, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 1px 0 rgba(255, 255, 255, 0.22) inset !important;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s ease !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  align-self: stretch !important;
}
.mnav .mnav-call::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.18) 50%, transparent 100%) !important;
  transition: left .7s ease !important;
  pointer-events: none !important;
}
.mnav .mnav-call:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 18px 36px -10px rgba(192, 16, 127, 0.65),
    0 0 0 1px rgba(255, 255, 255, 0.14) inset,
    0 1px 0 rgba(255, 255, 255, 0.32) inset !important;
}
.mnav .mnav-call:hover::before {
  left: 100% !important;
}
.mnav .mnav-call:active {
  transform: translateY(0) scale(0.99) !important;
}

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

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

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

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

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

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

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

/* ll-mnav-compact-v2 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* __LL-HDR-BRAND-NO-TRUNCATE-V1__ — bug class #22 (Header Brand Truncation at Narrow Viewport)
   Releases nowrap/ellipsis at <480px so "L and L Law Group, PLLC"
   and "Criminal Defense · Frisco, Texas" wrap to 2 lines instead of truncating. */
@media (max-width: 480px) {
  .hdr-logo {
    white-space: normal !important;
    word-break: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.05 !important;
    font-size: 1.05rem !important;
    max-width: 100% !important;
  }
  .hdr-logo span,
  .hdr-logo * {
    white-space: normal !important;
  }
  .hdr-sub {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: 0.62rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0.12em !important;
  }
}

/* ll-pa-extra-hide-v1 */

/* __LL-PA-EXTRA-HIDE-V1__ */
#practice-areas .card-grid [data-pa-extra="true"] {
  display: none;
}
#practice-areas.pa-expanded .card-grid [data-pa-extra="true"] {
  display: block;
}
.pa-toggle-wrap-v1 {
  text-align: center;
  margin-top: 24px;
}
.pa-toggle {
  background: transparent;
  border: 2px solid var(--magenta, #c0107f);
  color: var(--magenta, #c0107f);
  font-family: inherit;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 12px 28px;
  border-radius: 999px;
  cursor: pointer;
  transition: all .2s;
  letter-spacing: 0.05em;
}
.pa-toggle:hover { background: var(--magenta, #c0107f); color: #fff; }
.pa-toggle .pa-count { font-weight: 800; }
.pa-toggle .pa-arrow { display: inline-block; transition: transform .2s; margin-left: 6px; }
#practice-areas.pa-expanded .pa-toggle .pa-arrow { transform: rotate(180deg); }

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

/* __LL-FOOTER-AVVO-ICON-FIX-V1__ (rev: inline-fit v2) — Avvo social icon badge sized to match other 6 social icons in same row */
.footer-social-icons a.avvo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--peach, #ffc46c);
  color: #0a1f44;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, color .2s ease;
  margin: 0;
  flex-shrink: 0;
}
.footer-social-icons a.avvo-link:hover {
  background: var(--magenta, #c0107f);
  color: #fff;
  transform: translateY(-2px);
}
.footer-social-icons a.avvo-link .avvo-badge {
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -.02em;
}
/* Narrow-viewport: tighten gap so all 7 icons (6 SVG + 1 Avvo) fit in one row */
@media (max-width: 480px) {
  .footer-social-icons {
    gap: 8px !important;
  }
}
@media (max-width: 380px) {
  .footer-social-icons {
    gap: 6px !important;
  }
  .footer-social-icons a,
  .footer-social-icons a.avvo-link {
    width: 34px !important;
    height: 34px !important;
  }
  .footer-social-icons a svg {
    width: 16px;
    height: 16px;
  }
  .footer-social-icons a.avvo-link .avvo-badge {
    font-size: 16px;
  }
}

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

/* __LL-MNAV-CALL-ICON-V2_1__ — higher-specificity respec to defeat existing body.mnav-open .mnav .mnav-call-icon rules (specificity 0,3,1); anchors on #mnav ID 2026-05-19 */
#mnav .mnav-actions .mnav-call,
body.mnav-open #mnav .mnav-actions .mnav-call {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 16px 22px !important;
  text-align: left !important;
  border-radius: 14px !important;
}
#mnav .mnav-actions .mnav-call .mnav-call-icon,
body.mnav-open #mnav .mnav-actions .mnav-call .mnav-call-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
#mnav .mnav-actions .mnav-call .mnav-call-icon svg,
body.mnav-open #mnav .mnav-actions .mnav-call .mnav-call-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 1.8 !important;
  stroke: currentColor !important;
  fill: none !important;
  display: block !important;
}
#mnav .mnav-actions .mnav-call .mnav-call-value,
body.mnav-open #mnav .mnav-actions .mnav-call .mnav-call-value {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.01em !important;
  line-height: 1.2 !important;
  color: inherit !important;
  display: inline-block !important;
}

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

/* __LL-MNAV-AFTER-FIX-V1__ — relocate decorative .mnav::after watermark from absolute-bottom (overlapped nav links on tall menus) to flow-positioned end-of-list 2026-05-19 */
.mnav::after {
  position: static !important;
  display: block !important;
  margin-top: 32px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  text-align: center !important;
  left: auto !important;
  bottom: auto !important;
  opacity: 0.45 !important;
  font-size: 0.68rem !important;
}
body.mnav-open .mnav::after {
  opacity: 0.45 !important;
}

/* ll-canonical-header */

/* __LL-CANONICAL-HEADER-V1__ 2026-05-22 — force header chrome to the homepage's canonical sizing.
   Triple-class + !important beats drifted per-page + .canonical-hdr-wrap rules.
   Scope: skip-link hide + .hdr/.hdr-logo/.hdr-sub/.announce sizing only. */
.skip-link.skip-link.skip-link{position:absolute!important;top:-100%!important;left:50%!important;transform:translateX(-50%)!important}
.skip-link.skip-link.skip-link:focus{top:0!important}
.hdr.hdr.hdr{padding:16px 32px!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}
.hdr-logo.hdr-logo.hdr-logo{font-size:1.5rem!important;font-weight:800!important;line-height:1.05!important}
.hdr-logo.hdr-logo.hdr-logo span{color:var(--magenta,#c0107f)!important}
.hdr-sub.hdr-sub.hdr-sub{font-size:.58rem!important;font-weight:700!important;letter-spacing:.22em!important;text-transform:uppercase!important;margin-top:2px!important}
.announce.announce.announce{padding:12px 24px!important;font-size:.8rem!important;text-align:center!important}
@media(max-width:768px){
  .hdr.hdr.hdr{padding:12px 16px!important}
  .hdr-logo.hdr-logo.hdr-logo{font-size:1.2rem!important}
  .hdr-sub.hdr-sub.hdr-sub{font-size:.55rem!important;letter-spacing:.18em!important}
}

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

/* __LL-MOB-BAR-CSS-V1__ canonical mob-bar styles — must accompany .canonical-mob-bar HTML injection. 2026-05-19. */
.canonical-mob-bar,.mob-bar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:90!important;background:#0a1f44!important;border-top:2px solid #ffc46c!important;padding:0!important;margin:0!important;box-shadow:0 -2px 12px rgba(0,0,0,.2);min-height:56px;display:block!important}
.canonical-mob-bar-in,.mob-bar-in,.canonical-mob-bar > a,.canonical-mob-bar > button{display:flex!important;flex-direction:row!important;justify-content:space-around!important;align-items:stretch!important;max-width:100%;width:100%;margin:0!important;padding:0!important;gap:0!important;height:100%}
.canonical-mob-bar-in > a,.canonical-mob-bar-in > button,.mob-bar-in > a,.mob-bar-in > button,.canonical-mob-bar > a,.canonical-mob-bar > button,.mob-bar > a:not(.mob-bar-in),.mob-bar > button:not(.mob-bar-in){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;flex:1 1 0!important;text-align:center!important;color:#ffc46c!important;text-decoration:none!important;font-weight:600!important;font-size:.62rem!important;letter-spacing:.04em!important;text-transform:uppercase!important;background:none!important;border:none!important;padding:6px 2px!important;margin:0!important;min-width:0!important;font-family:inherit!important;cursor:pointer!important;line-height:1.1}
.canonical-mob-bar-in > a svg,.canonical-mob-bar-in > button svg,.mob-bar-in > a svg,.mob-bar-in > button svg,.canonical-mob-bar svg,.mob-bar svg{width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;color:inherit;display:block!important;margin:0 auto!important;flex-shrink:0}
.canonical-mob-bar-in > :nth-child(2),.mob-bar-in > :nth-child(2),.canonical-mob-bar > :nth-child(2){color:#0dbae8!important}
.canonical-mob-bar-in > :nth-child(3),.mob-bar-in > :nth-child(3),.canonical-mob-bar > :nth-child(3){color:#c0107f!important}
.canonical-mob-bar-in > :nth-child(5),.mob-bar-in > :nth-child(5),.canonical-mob-bar > :nth-child(5){color:#0dbae8!important}
.canonical-mob-bar-in a:hover,.canonical-mob-bar-in button:hover,.mob-bar-in a:hover,.mob-bar-in button:hover{color:#fff!important}
@media(min-width:769px){
  .canonical-mob-bar,.mob-bar,.canonical-mob-bar-in,.mob-bar-in{display:none!important}
  body{padding-bottom:0!important}
}
@media(max-width:768px){
  body{padding-bottom:60px!important}
  .ll-totop{bottom:72px!important}
}

/* ll-mnav-call-aa-v6 */
/* __LL-MNAV-CALL-AA-V6__ 2026-06-10 drawer call-pill AA guarantee (white-on-snow regression fix) */
.mnav .mnav-call,.mnav-call{background:#c0107f !important;color:#fff !important}
.mnav-call *{color:#fff !important}

/* ll-aa */
/* __LL-AA-V1__ WCAG 2.2 AA contrast overrides (CHG-15..18) */
.preview-watermark{display:none!important}
body .mob-bar-in > :nth-child(3),body .canonical-mob-bar > :nth-child(3),body .canonical-mob-bar-in > :nth-child(3),body .mob-bar > :nth-child(3){color:#ff66c9!important}
.hf-note,.cf-note,p.ll-mh-disclaimer{color:#595959!important}
.hf-note a,.cf-note a{color:#077191!important}
.lrr-h,.lrr2-h{color:#595959!important}
.lg-cta-h2{color:#fffafa!important}
.lg-step-num{color:rgba(10,10,10,.48)!important}
li.sep,span.sep{color:#666!important;opacity:1!important}
a.statute{color:#077191!important}
.post-category,.hdr-sub,.hero-eyebrow,.mnav-reviews-eyebrow,.author-bio-role,.sidebar-attorney-role{color:#077191!important}
.refs a,.references a,.refs-list a,.article-refs a,.disclaimer-note a{color:#077191!important}
.disclaimer-section,.disclaimer-section p{color:rgba(0,0,0,.62)!important}
.article-body aside a{color:#077191!important}
.ll-grevs-read{color:#c0107f!important}
.ll-grevs-write{color:#077191!important}
.ll-anchor{color:#c0107f!important}
.btn-primary,.cf-submit,a.btn.btn-primary{background:#c0107f!important;border-color:#c0107f!important;color:#fff!important}
.btn-cyan,.btn-urgent,button.cite-tab.active,.cite-tab.active{background:#0a7da0!important;border-color:#0a7da0!important;color:#fff!important}
button.cite-tab:not(.active),.cite-tab:not(.active){color:#077191!important}
.cite-copy{background:#077191!important;color:#fff!important}
body .footer-brand span{color:#ff4fc1!important}
body .footer-bottom,body .footer-bottom span,body .footer-bottom time,footer time{color:#c0c4cb!important}
.footer-desc{color:#c9d2dd!important}
.bar-cite{color:#c9d2dd!important}.bar-cite a{color:#9fd9ea!important}
footer [aria-label="Attorney advertising disclosure"],footer [aria-label="Attorney advertising disclosure"] p,footer [aria-label="Attorney advertising disclosure"] strong{color:#aab6c6!important}
footer a[href^="mailto:"]{color:#8fd9de!important}

/* ll-fc-css */
/* __LL-FOOTER-CITIES-CSS-V1__ */
.footer-cities{background:var(--ink-deep-2,#0e2840);padding:40px 0 32px;border-top:1px solid rgba(255,196,108,.08)}
.footer-cities-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}

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