/* =========================================================================
   Personal Injury Law Locator — Redesign: base + site-wide chrome
   Loaded on every page (header + footer). Homepage sections = redesign-home.css
   Scoped under .pilx to avoid collisions with legacy theme CSS.
   ========================================================================= */

/* ---- Fonts: self-hosted Inter (variable) + metric-matched fallback (zero CLS) ---- */
@font-face{
  font-family:'InterPIL';
  src:url('../fonts/inter-var.woff2') format('woff2');
  font-weight:400 800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'InterPIL Fallback';
  src:local('Arial');
  size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%;
}

/* ---- Design tokens ---- */
.pilx{
  --ink:#0a0a0a; --ink-soft:#1c1c1c; --gray:#5b5b5b; --gray-2:#8a8a8a;
  --line:#e7e7e7; --line-2:#f0f0f0; --bg:#ffffff; --bg-soft:#f6f6f4; --bg-dark:#0d0d0f;
  --btn:#0a0a0a; --btn-ink:#ffffff;
  --r-sm:12px; --r:16px; --r-lg:22px; --r-xl:28px; --pill:999px;
  --maxw:1340px; --gut:clamp(16px,3.4vw,52px);
  --fs-eyebrow:.8rem; --ls-eyebrow:.14em;
  font-family:'InterPIL','InterPIL Fallback',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

/* ---- Reset / base, scoped ---- */
.pilx *,.pilx *::before,.pilx *::after{box-sizing:border-box;margin:0;padding:0}
.pilx img,.pilx svg{display:block;max-width:100%}
:where(.pilx a){color:inherit;text-decoration:none}
:where(.pilx button){font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.pilx ul{list-style:none}
.pilx h1,.pilx h2,.pilx h3,.pilx h4{line-height:1.08;letter-spacing:-.02em;font-weight:800;text-wrap:balance}
.pilx p{line-height:1.6}

/* ---- Layout helpers ---- */
.pil-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.pil-eyebrow{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;
  font-weight:600;color:var(--gray)}

/* ---- Buttons ---- */
.pil-btn{display:inline-flex;align-items:center;gap:.5em;border-radius:var(--pill);
  font-weight:600;font-size:1rem;line-height:1;padding:.95em 1.5em;transition:transform .12s ease,background .15s ease,opacity .15s ease;white-space:nowrap}
.pil-btn:active{transform:translateY(1px)}
.pil-btn--dark{background:var(--btn);color:var(--btn-ink)}
.pil-btn--dark:hover{background:#242424}
.pil-btn--white{background:#fff;color:var(--ink)}
.pil-btn--white:hover{background:#f0f0f0}
.pil-btn--ghost{border:1px solid var(--line);background:#fff}
.pil-btn--ghost:hover{border-color:#cfcfcf}
.pil-btn .pil-arrow{font-size:.85em}

/* ---- Icon sprite sizing ---- */
.pil-ico{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}

/* =========================================================================
   HEADER
   ========================================================================= */
.pil-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}
.pil-header.is-stuck{border-bottom-color:var(--line);box-shadow:0 1px 20px rgba(0,0,0,.04)}
.pil-header__bar{display:flex;align-items:center;gap:24px;min-height:76px}

/* brand / wordmark */
.pil-brand{display:flex;align-items:center;gap:12px;flex:none}
.pil-brand__mark{height:30px;width:auto;flex:none;display:block}
.pil-brand__divider{width:1px;height:30px;background:var(--line);flex:none}
.pil-brand__text{display:flex;flex-direction:column;line-height:1.02}
.pil-brand__text b{font-size:1.12rem;font-weight:800;letter-spacing:-.02em}
.pil-brand__text span{font-size:.62rem;letter-spacing:.26em;font-weight:600;color:#2a2a2a;margin-top:2px}

/* primary nav */
.pil-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.pil-nav__item{position:relative}
.pil-nav__link{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;
  font-weight:500;font-size:.98rem;color:#202020;transition:background .15s ease}
.pil-nav__link:hover{background:var(--bg-soft)}
.pil-nav__link .pil-caret{width:14px;height:14px;transition:transform .2s ease}
.pil-nav__item.is-open .pil-caret{transform:rotate(180deg)}

/* dropdown */
.pil-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);box-shadow:0 16px 40px rgba(0,0,0,.1);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:10}
.pil-nav__item.is-open .pil-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.pil-dropdown a{display:block;padding:9px 12px;border-radius:9px;font-size:.94rem;color:#333}
.pil-dropdown a:hover{background:var(--bg-soft)}

/* phone pill CTA */
.pil-cta-phone{display:inline-flex;align-items:center;gap:9px;background:var(--btn);color:#fff;
  border-radius:var(--pill);padding:.72em 1.25em;font-weight:700;font-size:1rem;flex:none;transition:background .15s ease}
.pil-cta-phone:hover{background:#242424}
.pil-cta-phone .pil-ico{width:17px;height:17px;stroke-width:1.8}
.pil-header__cta{display:flex;align-items:center;gap:10px;flex:none}
.pil-cta-help{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#5b5b5b;flex:none;transition:border-color .15s ease,color .15s ease}
.pil-cta-help:hover{border-color:#bdbdbd;color:#111}
.pil-cta-help .pil-ico{width:20px;height:20px}

/* mobile toggler */
.pil-burger{display:none;width:44px;height:44px;border-radius:11px;align-items:center;justify-content:center;
  border:1px solid var(--line);margin-left:auto}
.pil-burger .pil-ico{width:22px;height:22px}

/* mobile drawer */
.pil-drawer{position:fixed;inset:0 0 0 auto;width:min(380px,86vw);background:#fff;z-index:1100;
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
  padding:22px var(--gut) calc(22px + env(safe-area-inset-bottom,0));overflow-y:auto;box-shadow:-12px 0 40px rgba(0,0,0,.14)}
.pil-drawer.is-open{transform:translateX(0)}
.pil-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.pil-drawer__close{width:42px;height:42px;border-radius:11px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.pil-drawer__close .pil-ico{width:22px;height:22px}
.pil-drawer nav a{display:block;padding:13px 4px;font-size:1.1rem;font-weight:600;border-bottom:1px solid var(--line-2)}
.pil-drawer__sub a{font-size:.98rem;font-weight:500;color:#444;padding-left:16px}
.pil-drawer .pil-cta-phone{margin-top:20px;justify-content:center;width:100%;padding:1em}
.pil-overlay{position:fixed;inset:0;background:rgba(10,10,12,.45);z-index:1090;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}
.pil-overlay.is-open{opacity:1;visibility:visible}
body.pil-noscroll{overflow:hidden}

@media (max-width:980px){
  .pil-nav,.pil-header__cta{display:none}
  .pil-burger{display:flex}
  .pil-header__bar{min-height:66px}
}

/* =========================================================================
   FOOTER
   ========================================================================= */
.pil-footer{background:#fff;border-top:1px solid var(--line);padding:64px 0 40px;margin-top:0}
.pil-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:40px}
.pil-footer__brand .pil-brand__mark{height:38px;width:auto}
.pil-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.pil-footer__col h4{font-size:1.02rem;font-weight:700;margin-bottom:16px;letter-spacing:-.01em}
.pil-footer__col a{display:block;color:var(--gray);font-size:.95rem;padding:6px 0;transition:color .15s ease}
.pil-footer__col a:hover{color:var(--ink)}
.pil-footer__phone{display:inline-flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:34px 0 8px}
.pil-footer__phone .pil-ico{width:24px;height:24px;stroke-width:1.8}
.pil-footer__disclaimer{color:var(--gray);font-size:.95rem;max-width:620px}
.pil-footer__bottom{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;
  margin-top:34px;padding-top:26px;border-top:1px solid var(--line);color:var(--gray-2);font-size:.86rem}
.pil-footer__legal{display:flex;gap:18px;flex-wrap:wrap}
.pil-footer__legal a:hover{color:var(--ink)}
@media (max-width:760px){
  .pil-footer__cols{grid-template-columns:repeat(2,1fr);gap:28px}
  .pil-footer__phone{font-size:1.3rem}
}

/* =========================================================================
   STICKY MOBILE CALL BAR + disclosure modal (compliance)
   ========================================================================= */
.pil-sticky-call{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;
  align-items:center;justify-content:space-between;gap:12px;background:var(--bg-dark);color:#fff;
  padding:10px max(14px,env(safe-area-inset-right,0)) calc(10px + env(safe-area-inset-bottom,0)) max(14px,env(safe-area-inset-left,0))}
.pil-sticky-call__label{font-size:.78rem;color:#cfcfcf;line-height:1.2}
.pil-sticky-call a{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:1.05rem}
.pil-sticky-call__q{width:30px;height:30px;border-radius:50%;border:1px solid #444;display:flex;align-items:center;justify-content:center;flex:none;color:#cfcfcf}
@media (max-width:980px){.pil-sticky-call{display:flex} }

.pil-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px}
.pil-modal.is-open{display:flex}
.pil-modal__backdrop{position:absolute;inset:0;background:rgba(10,10,12,.6)}
.pil-modal__box{position:relative;background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;padding:34px 28px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.pil-modal__box h2{font-size:1.5rem;margin-bottom:12px}
.pil-modal__box p{color:#333;font-size:.98rem;line-height:1.65}
.pil-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center}
.pil-modal__close .pil-ico{width:20px;height:20px}

/* accessible-only */
.pil-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   CHROME V2 — mega menu + mobile accordion + FAB (ported from mockup kit 2026-11-03)
   ============================================================ */
/* ===================== FLOATING CALL BUTTON ===================== */
.pil-fab{position:fixed;right:clamp(16px,2vw,30px);bottom:clamp(16px,2vw,30px);z-index:1050;
  display:flex;align-items:center;gap:9px;
  opacity:0;transform:translateY(18px) scale(.96);pointer-events:none;
  transition:opacity .35s ease,transform .35s cubic-bezier(.34,1.3,.5,1)}
.pil-fab.is-on{opacity:1;transform:none;pointer-events:auto}
.pil-fab__call{position:relative;display:inline-flex;align-items:center;gap:10px;background:#0a7a3c;color:#fff;
  border-radius:999px;padding:15px 24px 15px 22px;font-weight:700;font-size:1.05rem;line-height:1;text-decoration:none;
  box-shadow:0 14px 38px rgba(10,122,60,.36),0 2px 8px rgba(0,0,0,.12);transition:background .15s ease;white-space:nowrap}
.pil-fab__call:hover{background:#0b8c45}
.pil-fab__call:focus-visible{outline:3px solid rgba(10,122,60,.4);outline-offset:3px}
.pil-fab__call svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2;flex:none}
.pil-fab__call .lbl{display:none}
.pil-fab__call::before{content:"";position:absolute;inset:-2px;border-radius:999px;border:2px solid #0a7a3c;opacity:0;z-index:-1;animation:pilfabpulse 2.6s ease-out infinite}
@keyframes pilfabpulse{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.42);opacity:0}}
@media(prefers-reduced-motion:reduce){.pil-fab__call::before{animation:none}}
.pil-fab__help{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line);color:#444;
  display:grid;place-items:center;flex:none;box-shadow:0 10px 30px rgba(0,0,0,.12);cursor:pointer;transition:border-color .15s ease,color .15s ease}
.pil-fab__help:hover{border-color:#bdbdbd;color:#111}
.pil-fab__help svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9}
@media(max-width:980px){
  .pil-fab{bottom:calc(16px + env(safe-area-inset-bottom,0))}
  .pil-fab__call .num{display:none}
  .pil-fab__call .lbl{display:inline}
  .pil-fab__help{display:none}
  .pil-sticky-call{display:none!important}
}

/* ===================== MEGA MENU (desktop) ===================== */
.pil-nav__item--mega{position:static}
.pil-mega{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 26px 54px rgba(0,0,0,.10);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:30}
.pil-nav__item--mega.is-open .pil-mega{opacity:1;visibility:visible;transform:none}
.pil-mega__inner{max-width:var(--maxw);margin:0 auto;padding:clamp(26px,2.8vw,40px) var(--gut);
  display:flex;gap:clamp(20px,2.4vw,40px);align-items:stretch}
.pil-mega__col{flex:1 1 0;min-width:0}
.pil-mega__col h4{font-size:.71rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gray-2);font-weight:700;margin-bottom:12px;min-height:1em}
.pil-mega__col a{display:block;padding:8px 0;color:#3a3a3a;font-size:.96rem;font-weight:500;line-height:1.3;transition:color .12s ease}
.pil-mega__col a:hover{color:var(--ink)}
.pil-mega__feat{flex:none;width:256px;background:var(--bg-soft);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column}
.pil-mega__feat h4{font-size:1.12rem;margin-bottom:8px;letter-spacing:-.01em}
.pil-mega__feat p{color:var(--gray);font-size:.9rem;line-height:1.5;margin-bottom:16px}
.pil-mega__b{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn);color:#fff;border-radius:var(--pill);padding:12px 18px;font-weight:600;font-size:.92rem}
.pil-mega__b:hover{background:#242424}
.pil-mega__b svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2}
.pil-mega__feat--dark{background:var(--ink)}
.pil-mega__feat--dark h4{color:#fff}.pil-mega__feat--dark p{color:rgba(255,255,255,.7)}
.pil-mega__b--light{background:#fff;color:#0a0a0a}.pil-mega__b--light:hover{background:#f0f0ee}.pil-mega__b--light svg{stroke:#0a0a0a}
.pil-nav__link[aria-expanded]{cursor:pointer}
@media(max-width:1180px){.pil-mega__feat{width:220px}.pil-mega__col a{font-size:.92rem}}

/* ===================== MOBILE ACCORDION DRAWER ===================== */
.pil-drawer__nav{display:flex;flex-direction:column;margin-bottom:8px}
.pil-drawer .pil-acc{border-bottom:1px solid var(--line-2)}
.pil-drawer .pil-acc__head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:16px 2px;font-size:1.14rem;font-weight:700;letter-spacing:-.01em;border-bottom:none}
.pil-drawer .pil-acc__head .pil-caret{width:18px;height:18px;opacity:.55;transition:transform .22s ease;flex:none}
.pil-drawer .pil-acc__head[aria-expanded="true"] .pil-caret{transform:rotate(180deg)}
.pil-drawer .pil-acc__body{overflow:hidden;max-height:0;transition:max-height .3s ease}
.pil-drawer .pil-acc__body a{display:block;padding:12px 2px 12px 16px;font-size:1rem;font-weight:500;color:#444;border-top:1px solid var(--line-2)}
.pil-drawer .pil-acc__body a:last-child{padding-bottom:18px}
.pil-drawer__direct{display:flex;align-items:center;padding:16px 2px;font-size:1.14rem;font-weight:700;letter-spacing:-.01em;border-bottom:1px solid var(--line-2)}
