@font-face{font-family:"Newsreader";src:url(fonts/newsreader-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader-500.woff2) format("woff2");font-weight:400 500;font-display:swap}
@font-face{font-family:"Public Sans";src:url(fonts/public-sans.woff2) format("woff2");font-weight:400 800;font-display:swap}
:root{
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --navy-900:#0B1F3A;--navy-800:#122B4D;--navy-700:#1B3A63;
  --blue-600:#1E5AA8;--blue-700:#174A8C;--blue-100:#DCE7F5;--blue-50:#EEF4FB;
  --ink:#0B1F3A;--ink-2:#334460;--ink-3:#55657D;
  --bg:#F6F8FB;--card:#FFFFFF;--line:#D5DEEA;--line-2:#E6ECF4;
  --accent:#E8B04B;--accent-d:#D69A2E;
  --focus:#1E5AA8;
  --sh1:0 1px 2px rgba(11,31,58,.06),0 1px 3px rgba(11,31,58,.08);
  --sh2:0 4px 12px rgba(11,31,58,.08),0 2px 4px rgba(11,31,58,.05);
  --sh3:0 18px 40px rgba(11,31,58,.22),0 4px 10px rgba(11,31,58,.10);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:10px;--max:1320px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-block-start:16px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:var(--blue-700)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;inset-inline-start:var(--s4);inset-block-start:-60px;background:var(--navy-900);color:#fff;padding:var(--s2) var(--s4);z-index:2000;transition:inset-block-start .2s ease-out}
.skip:focus{inset-block-start:var(--s2)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;margin:0;color:var(--ink);letter-spacing:-.01em}
/* header */
header.site{background:#fff;border-block-end:1px solid var(--line-2)}
.hwrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);max-width:var(--max);margin:0 auto;padding:var(--s3) var(--s5)}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--ink)}
.brand svg{flex:none;border-radius:10px}
.wm{display:flex;flex-direction:column;line-height:1.1}
.wm1{font:700 11px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-600)}
.wm2{font:600 21px/1.15 var(--serif);color:var(--navy-900)}
header nav ul{display:flex;gap:var(--s5);list-style:none;margin:0;padding:0}
header nav a{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink-2);padding:var(--s3) 0;display:inline-block}
header nav a:hover{color:var(--navy-900);text-decoration:underline;text-underline-offset:5px}
.strip{background:var(--blue-50);border-block-end:1px solid var(--blue-100);color:var(--navy-800);font-size:14px;line-height:1.45}
.strip p{display:flex;gap:var(--s2);align-items:flex-start;justify-content:center;margin:0 auto;max-width:var(--max);padding:var(--s2) var(--s5)}
.strip svg{flex:none;margin-block-start:1px;color:var(--blue-600)}
main{display:block}
section{max-width:var(--max);margin:0 auto;padding-inline:var(--s5)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:8px;font:700 16px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:background-color .15s ease-out,box-shadow .15s ease-out}
.btn.call{background:var(--accent);color:var(--navy-900);box-shadow:var(--sh1)}
.btn.call:hover{background:var(--accent-d)}
.btn.go{background:var(--navy-900);color:#fff}
.btn.go:hover{background:var(--navy-700)}
.ghostbtn{background:#fff;color:var(--navy-900);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600}
.ghostbtn:hover{box-shadow:inset 0 0 0 1.5px var(--navy-700)}
.ghostbtn[aria-pressed="true"]{background:var(--navy-900);color:#fff;box-shadow:none}
/* hero */
.hero{position:relative;max-width:none;padding:0;color:#fff;background:var(--navy-900);isolation:isolate;overflow:hidden}
.hphoto,.hphoto img{position:absolute;inset:0;width:100%;height:100%}
.hphoto img{object-fit:cover;object-position:50% 60%}
.hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(11,31,58,.94) 0%,rgba(11,31,58,.82) 42%,rgba(11,31,58,.35) 75%,rgba(11,31,58,.25) 100%)}
.hphoto{z-index:-1}
.hin{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:var(--s8) var(--s5) var(--s9);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"intro quick" "search quick" "towns quick";column-gap:var(--s8);align-items:start}
.hin>*{min-width:0}
.mmapslot{grid-area:map}.mmapslot:empty{display:none}
.intro{grid-area:intro}.hsearch{grid-area:search}.towns-q{grid-area:towns}.quick{grid-area:quick}
.eyebrow{margin:0 0 var(--s3);font:700 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hero h1{color:#fff;font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-.02em;max-width:14ch;text-wrap:balance}
.lede{font-size:19px;line-height:1.55;color:#D9E3F0;max-width:44ch;margin:var(--s5) 0 var(--s6)}
.hsearch label{display:block;font-weight:600;font-size:15px;margin-block-end:var(--s2);color:#E6EDF6}
.row{display:flex;gap:var(--s2);background:#fff;padding:6px;border-radius:12px;box-shadow:var(--sh3);max-width:600px}
.row input{flex:1;min-width:0;border:0;font:400 17px var(--sans);padding:0 var(--s3);color:var(--ink);background:transparent;min-height:48px}
.row input:focus-visible{outline-offset:0}
.towns-q{margin-block-start:var(--s5)}
.lab{margin:0 0 var(--s2);font-size:14px;font-weight:600;color:#C9D6E6}
.towns-q ul{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:0}
.tchip{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(11,31,58,.35);color:#fff;font:600 15px var(--sans);cursor:pointer;backdrop-filter:blur(4px)}
.tchip:hover{background:rgba(255,255,255,.14)}
.tchip .n{font-weight:500;color:#C9D6E6;font-size:14px}
.tchip[aria-pressed="true"]{background:#fff;color:var(--navy-900)}
.quick{background:#fff;color:var(--ink);border-radius:14px;box-shadow:var(--sh3);padding:var(--s5)}
.quick h2{font-size:24px}
.qsub{margin:var(--s1) 0 var(--s3);font-size:14px;color:var(--ink-3)}
.quick ul{list-style:none;margin:0;padding:0}
.quick li+li{border-block-start:1px solid var(--line-2)}
.qd{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s3);padding:var(--s3) var(--s2);margin-inline:calc(var(--s2)*-1);text-decoration:none;color:var(--ink);border-radius:8px}
.qd:hover{background:var(--blue-50)}
.qn{font-weight:700;font-size:15px;line-height:1.35}
.qt{grid-row:2;font-size:13px;color:var(--ink-3)}
.qp{grid-row:1/3;grid-column:2;align-self:center;display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--navy-900);font-weight:700;font-size:14px;padding:var(--s2) var(--s3);border-radius:8px;white-space:nowrap;min-height:40px}
.credit{position:absolute;z-index:1;inset-inline-end:var(--s4);inset-block-end:calc(var(--s7) + var(--s3));margin:0;font-size:12px;line-height:1.4;color:#E6EDF6;background:rgba(11,31,58,.6);padding:4px 10px;border-radius:6px;max-width:calc(100% - 32px)}
.credit a{color:#fff}
/* smart search */
.smart .hint{margin:-4px 0 var(--s2);font-size:14px;color:#C9D6E6}
.smartnote{margin:var(--s2) 0 0;font-size:13px;line-height:1.5;color:#D9E3F0;max-width:600px}
.count.smartchip{display:inline-flex;align-items:center;background:var(--navy-900);color:#fff;border-radius:999px;padding:6px var(--s4);font-size:15px}
.smartres .btn{min-height:40px;font-size:14px;padding:0 var(--s4)}
.smartmsg{flex-basis:100%;margin:0;padding:var(--s3) var(--s4);background:var(--blue-50);border:1px solid var(--blue-100);border-radius:10px;color:var(--navy-800);font-size:15px}
/* attorney registration badges */
.atty{margin:var(--s4) 0 0}
.atl{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.atty ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.atty li{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s2);font-size:14px}
.an{font-weight:700;color:var(--ink)}
.ab{color:var(--navy-800);background:var(--bg);border:1px solid var(--line-2);border-radius:6px;padding:1px 8px;font-size:13px}
.atty a{font-size:13px;font-weight:600;display:inline-flex;align-items:center;min-height:24px}
/* r3.1: picker, mobile fine print, map hint, mobile map bar, tile seams */
.pickrow{margin-block-start:var(--s2);max-width:600px}
.pickrow select{width:100%;min-height:44px;border:0;border-radius:10px;padding:0 var(--s3);font:600 15px var(--sans);color:var(--ink);background:#fff;box-shadow:var(--sh2)}
.smartmore{display:none;margin-block-start:var(--s2);font-size:13px;color:#D9E3F0}
.smartmore summary{cursor:pointer;min-height:24px;list-style-position:inside}
.smartmore .more{text-decoration:underline;margin-inline-start:4px}
.smartmore p{margin:var(--s1) 0 0}
.mapbox{position:relative}
.maphint{position:absolute;inset:0;z-index:1000;display:grid;place-items:center;margin:0;background:rgba(11,31,58,.55);color:#fff;font:700 16px var(--sans);text-align:center;padding:var(--s4);opacity:0;pointer-events:none;transition:opacity .2s ease-out}
.maphint.show{opacity:1}
.mmapbar{display:none;justify-content:space-between;align-items:center;gap:var(--s3);margin:var(--s2) 0 0;font-size:14px;color:var(--ink-2)}
.mmapbar a{font-weight:700;min-height:44px;display:inline-flex;align-items:center}
#map.leaflet-container{background:#F2EFE9!important}
.leaflet-container img.leaflet-tile{outline:1px solid transparent}
.pin .pt{font:700 13px var(--sans);fill:#fff}
.pin.on .pt{fill:var(--navy-900)}
/* proof */
.proofw{margin-block-start:calc(var(--s7)*-1);position:relative;z-index:2}
.proof{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--s2) var(--s4);list-style:none;margin:0;padding:var(--s4) var(--s5);background:#fff;border-radius:12px;box-shadow:var(--sh2);font-size:16px;color:var(--ink-2)}
.proof strong{font:600 22px/1 var(--serif);color:var(--navy-900)}
.proof .dot{color:var(--accent-d);font-weight:700}
/* tiles */
.tiles{padding-block:var(--s8) var(--s6)}
.shead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s3) var(--s6);margin-block-end:var(--s5)}
.shead h2,.dhead h2,.how h2,.who h2,.adv h2{font-size:clamp(28px,3vw,36px)}
.tnote{margin:0;max-width:56ch;color:var(--ink-3);font-size:15px}
.tiles ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4);list-style:none;margin:0;padding:0}
.tile{width:100%;height:100%;text-align:start;display:flex;flex-direction:column;gap:var(--s1);padding:var(--s5);border-radius:12px;background:#fff;border:1px solid var(--line-2);box-shadow:var(--sh1);cursor:pointer;font:inherit;color:var(--ink);transition:box-shadow .15s ease-out,border-color .15s ease-out}
.tile:hover{box-shadow:var(--sh2);border-color:var(--line)}
.ti{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--blue-50);color:var(--blue-600);margin-block-end:var(--s3)}
.tl{font-weight:700;font-size:17px;line-height:1.3}
.tn{font-size:14px;color:var(--ink-3)}
.tile[aria-pressed="true"]{border-color:var(--navy-900);box-shadow:inset 0 0 0 1px var(--navy-900)}
.tile[aria-pressed="true"] .ti{background:var(--navy-900);color:var(--accent)}
/* directory */
.dir{padding-block:var(--s7) var(--s8)}
.dhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s6);align-items:end;margin-block-end:var(--s5)}
.sort{margin:0;color:var(--ink-2);font-size:15px;max-width:80ch}
.bar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:var(--s4) var(--s5);align-items:start;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s5);box-shadow:var(--sh1)}
.bar label,.bar legend{display:block;font-weight:700;font-size:14px;margin-block-end:var(--s2);padding:0;color:var(--ink)}
.bar fieldset{border:0;margin:0;padding:0;min-width:0}
.bar input,.bar select{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:8px;padding:0 var(--s3);font:400 16px var(--sans);color:var(--ink);background:#fff}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chip{min-height:44px;padding:0 var(--s3);border-radius:999px;border:1.5px solid var(--line);background:#fff;font:600 14px var(--sans);color:var(--ink);cursor:pointer}
.chip .n{color:var(--ink-3);font-weight:500}
.chip[aria-pressed="true"]{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.chip[aria-pressed="true"] .n{color:#C9D6E6}
.fd{display:flex;flex-direction:column;gap:var(--s2);padding-block-start:29px}
.fa{grid-column:1/-1;grid-row:2}
.fd .btn{min-height:48px;font-size:15px;padding:0 var(--s4)}
.locnote{margin:0;font-size:13px;line-height:1.45;color:var(--ink-3)}
.countrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin:var(--s5) 0 var(--s4)}
.count{margin:0;font-weight:700}
.clearall{min-height:40px;font-size:14px;padding:0 var(--s3)}
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s6);align-items:start}
.listcol{min-width:0}
.mapcol{position:sticky;inset-block-start:var(--s4);min-width:0}
.mapbox{height:calc(100vh - 96px);min-height:420px;max-height:880px;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh2);background:var(--blue-50)}
#map{width:100%;height:100%}
.maphold{margin:0;display:grid;place-items:center;height:100%;color:var(--ink-3)}
.mapnote{margin:var(--s2) 0 0;font-size:13px;color:var(--ink-3);line-height:1.45}
/* sponsored profile */
.sponsored{background:#fff;border:1.5px solid var(--accent);border-radius:14px;margin-block-end:var(--s6);box-shadow:var(--sh1);overflow:hidden}
.adlabel{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);align-items:baseline;margin:0;padding:var(--s2) var(--s5);background:#FBF1DC;color:#5C3D00;font-size:14px;border-block-end:1px solid #F0D9A6}
.adlabel strong{letter-spacing:.02em}
.sponsored article{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s5);padding:var(--s5)}
.sponsored h3{font-size:26px}
.smp{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink-3)}
.firm{margin:2px 0 0;font-weight:700;color:var(--ink-2)}
.bio{margin:var(--s3) 0 0;color:var(--ink-2);max-width:60ch}
.resp{margin:var(--s2) 0 0;font-size:14px;font-weight:600;color:var(--ink-2)}
.btn.ghost{background:#FBF1DC;color:#5C3D00;cursor:not-allowed;box-shadow:inset 0 0 0 1.5px #F0D9A6}
.muted{margin:0;font-size:13px;color:var(--ink-3);max-width:44ch}
.adv .muted,.advc .muted{margin-block-start:var(--s2)}
/* town groups and cards */
.town{padding:0;margin-block-end:var(--s7)}
.town h3{display:flex;align-items:baseline;gap:var(--s3);font-size:30px;padding-block-end:var(--s3);margin-block-end:var(--s4);border-block-end:2px solid var(--navy-900)}
.tc{font:600 15px var(--sans);color:var(--ink-3)}
.list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4)}
.office article{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--s5);background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s6) var(--s5);box-shadow:var(--sh1);transition:border-color .15s ease-out,box-shadow .15s ease-out}
.office.hl article{border-color:var(--accent-d);box-shadow:0 0 0 3px rgba(232,176,75,.45),var(--sh2)}
.mono{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--navy-800);font:600 20px/1 var(--serif);letter-spacing:.02em}
.num{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 6px;margin-inline-end:8px;border-radius:999px;background:var(--navy-900);color:#fff;font:700 14px/1 var(--sans);vertical-align:3px}
.office h4{font-size:25px;line-height:1.2;font-weight:600}
.addr{margin:var(--s1) 0 0;color:var(--ink-2)}
.dist{margin-inline-start:var(--s2);font-weight:700;color:var(--navy-900);background:var(--blue-50);border-radius:6px;padding:1px 8px;font-size:14px;white-space:nowrap}
.pa{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:var(--s3) 0 0;padding:0}
.pa li{font-size:13px;font-weight:600;color:var(--navy-800);background:var(--blue-50);border-radius:999px;padding:4px 12px}
.src{margin:var(--s4) 0 0;font-size:13px;color:var(--ink-3)}
.src a{display:inline-block;padding:4px 2px;min-height:24px}
.acts{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);padding-block-start:var(--s4);border-block-start:1px solid var(--line-2)}
.links{list-style:none;margin:0;padding:0;font-size:14px;display:flex;flex-wrap:wrap;gap:0 var(--s4)}
.links a{display:inline-flex;align-items:center;gap:4px;min-height:32px;font-weight:600}
.links svg{display:inline}
.showmap{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--s3);border:1.5px solid var(--line);border-radius:8px;background:#fff;font:600 14px var(--sans);color:var(--navy-900);cursor:pointer}
.showmap:hover{border-color:var(--navy-700)}
.nopin{margin:0;font-size:13px;color:var(--ink-3);flex-basis:100%}
.more-btn{margin-block-start:var(--s4);width:100%}
.empty{text-align:center;padding:var(--s7);background:#fff;border-radius:14px;border:1px dashed var(--line)}
.note{font-size:13px;color:var(--ink-3)}
/* map pins */
.pin{background:none;border:0}
.pin svg{width:30px;height:40px;transition:transform .12s ease-out;transform-origin:50% 100%;filter:drop-shadow(0 2px 2px rgba(11,31,58,.35))}
.pin .pb{fill:var(--navy-900)}.pin .pd{fill:var(--accent)}
.pin.on svg,.pin:focus-visible svg,.pin:hover svg{transform:scale(1.3)}
.pin.on .pb{fill:var(--accent)}.pin.on .pd{fill:var(--navy-900)}
.pin:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:50%}
.clu{background:none;border:0}
.clu .cn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:rgba(244,246,249,.94);border:2px dashed #6B7A90;color:#3B4759;line-height:1;box-shadow:0 1px 4px rgba(11,31,58,.25)}
.clu .cn b{font:700 15px var(--sans)}
.clu .cn small{font:600 9px var(--sans);letter-spacing:.02em;margin-block-start:2px}
.clu.on .cn{border:3px solid var(--navy-900);background:#fff}
.clu:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:50%}
.pop{font:400 14px/1.45 var(--sans);color:var(--ink);min-width:200px}
.pop b{display:block;font:600 17px/1.25 var(--serif);margin-block-end:2px}
.pop .pa2{color:var(--ink-3);margin:0 0 var(--s2)}
.pop a.btn{min-height:40px;font-size:14px;padding:0 var(--s3);color:var(--navy-900)}
.pop .golist{display:block;margin-block-start:var(--s2);background:none;border:0;padding:4px 0;font:600 14px var(--sans);color:var(--blue-700);text-decoration:underline;cursor:pointer}
/* how, who, adv */
.how{padding-block:var(--s8)}
.how dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5);margin:var(--s5) 0 0}
.how dl>div{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s5)}
.how dt{font-weight:700;font-size:17px;margin-block-end:var(--s2)}
.how dd{margin:0;color:var(--ink-2);font-size:15px}
.who{padding-block:0 var(--s8)}
.whoin{background:var(--navy-900);color:#D9E3F0;border-radius:16px;padding:var(--s7) var(--s6);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--s2) var(--s7)}
.whoin h2{color:#fff;grid-row:span 3}
.whoin p{margin:0}
.wl{font:500 24px/1.3 var(--serif);color:#fff}
.whoin a{color:#fff;font-weight:700}
.adv{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s7);padding-block:0 var(--s8)}
.adv p{color:var(--ink-2)}
.advc{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s5)}
.advc p:first-child{margin-block-start:0;font-weight:700;color:var(--ink)}
/* footer */
footer.site{background:var(--navy-900);color:#C9D6E6;font-size:14px;padding-block:var(--s7) var(--s6)}
footer a{color:#fff}
.fwrap{max-width:var(--max);margin:0 auto;padding-inline:var(--s5);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,.8fr);gap:var(--s6)}
.fname{font:600 20px/1.2 var(--serif);color:#fff;margin-block-start:0}
.fname span{display:block;font:700 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.fdisc{color:#fff;font-weight:600;margin-block-start:0}
.flinks ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.flinks a{display:inline-block;padding:4px 0}
.fsmall{max-width:var(--max);margin:var(--s6) auto 0;padding:var(--s4) var(--s5) 0;border-block-start:1px solid rgba(255,255,255,.12);color:#9FB2CA;font-size:13px}
.mbar{display:none}
.stub{max-width:760px;margin:0 auto;padding:var(--s8) var(--s5)}
.stub h1{font-size:44px;margin-block-end:var(--s4)}
.stub p{color:var(--ink-2);font-size:17px}
/* leaflet attribution must stay readable */
.leaflet-container{font-family:var(--sans)}
.leaflet-control-attribution{font-size:12px}
/* responsive */
@media (max-width:1180px){
  .hin{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "search" "map" "quick" "towns"}
  .quick{margin-block-start:var(--s4)}
  .bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fa{grid-column:1/-1;grid-row:2}
  .fd{padding-block-start:0;grid-column:1/-1}
  .split{display:block}
  .mapcol{position:static}
  .mmapslot .mapcol{margin:var(--s4) 0 0}
  .mmapslot .mapbox{height:280px;min-height:0;max-height:none;border-color:rgba(255,255,255,.25)}
  .mmapslot .mapnote,.mmapslot .mmapbar{color:#D9E3F0}
  .mmapslot .mmapbar a{color:#fff}
  .mmapbar{display:flex}
  .tiles ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .how dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hwrap{padding:var(--s2) var(--s4)}
  header nav .hm{display:none}
  .hin{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "search" "map" "quick" "towns";padding:var(--s5) var(--s4) var(--s8)}
  .hero::after{background:linear-gradient(180deg,rgba(11,31,58,.42) 0%,rgba(11,31,58,.6) 30%,rgba(11,31,58,.88) 58%,rgba(11,31,58,.95) 100%)}
  .hphoto img{object-position:30% 50%}
  .hero h1,.eyebrow,.lede{text-shadow:0 1px 12px rgba(11,31,58,.7)}
  .quick{margin-block-start:var(--s4);padding:var(--s4)}
  .quick h2{font-size:20px}
  .dhead,.adv,.whoin,.fwrap{grid-template-columns:minmax(0,1fr)}
  .whoin h2{grid-row:auto}
  section{padding-inline:var(--s4)}
}
@media (max-width:640px){
  .strip{font-size:13px}
  .strip p{padding:var(--s2) var(--s4);justify-content:flex-start}
  .wm2{font-size:18px}.wm1{font-size:10px}
  .brand svg{width:38px;height:38px}
  .eyebrow{font-size:12px;margin-block-end:var(--s2)}
  .hero h1{font-size:32px}
  .lede{font-size:16px;margin:var(--s3) 0 var(--s4)}
  .hsearch label{font-size:14px}
  .row .btn{padding:0 var(--s4)}
  .credit{position:relative;inset:auto;margin:calc(var(--s7)*-1) var(--s4) var(--s7);font-size:11px}
  .tiles ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles li:last-child{grid-column:1/-1}
  .tile{padding:var(--s4)}
  .proof{justify-content:flex-start;font-size:15px;padding:var(--s4)}
  .bar{grid-template-columns:minmax(0,1fr);padding:var(--s4)}
  .fa{grid-row:auto}
  .office article,.sponsored article{grid-template-columns:44px minmax(0,1fr);padding:var(--s5) var(--s4);gap:var(--s3) var(--s4)}
  .mono{width:44px;height:44px;font-size:17px}
  .sil svg{width:44px;height:44px}
  .office h4{font-size:22px}
  .sponsored h3{font-size:22px}
  .acts{grid-column:1/-1;min-width:0}
  .acts .btn.call{width:100%}
  .links{display:flex;flex-wrap:wrap;gap:0 var(--s4)}
  .links a{min-height:44px}
  .how dl{grid-template-columns:minmax(0,1fr)}
  .whoin{padding:var(--s6) var(--s5)}
  .smartnote{display:none}
  .smartmore{display:block}
  .mbar{display:flex;position:fixed;inset-inline:0;inset-block-end:0;z-index:1500;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s4);background:#fff;border-block-start:1px solid var(--line);box-shadow:0 -4px 12px rgba(11,31,58,.08);transform:translateY(110%);transition:transform .2s ease-out}
  .mbar[data-show="true"]{transform:none}
  .mbar p{margin:0;font-weight:700}
  body{padding-block-end:64px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.pin.on .pb{stroke:var(--navy-900)}

/* r3.2 mobile fold: first Call button on the first 390x844 screen */
.mnote-m{display:none}
@media (max-width:640px){
  .hin{grid-template-areas:"intro" "search" "map" "quick" "mnote" "towns";padding-block-start:var(--s4)}
  .hero h1{font-size:28px;max-width:none}
  .lede{font-size:15px;line-height:1.45;margin:var(--s2) 0 var(--s3)}
  .smart .hint{font-size:13px;line-height:1.35;margin-block-end:var(--s1)}
  .pickrow{margin-block-start:var(--s1)}
  .smartmore{margin-block-start:var(--s1)}
  .mmapslot .mapcol{margin-block-start:var(--s2)}
  .mmapslot .mapbox{height:200px}
  .mmapslot .mapnote{display:none}
  .mmapbar{margin-block-start:0}
  .mmapbar a{min-height:36px}
  .mnote-m{display:block;grid-area:mnote;color:#D9E3F0;margin-block-start:var(--s3)}
  .quick{margin-block-start:var(--s2);padding:var(--s3) var(--s4)}
  .quick h2{font-size:19px}
  .qsub{font-size:13px;margin:0 0 var(--s1)}
  .qd{padding-block:var(--s2)}
  .hin{padding-block-start:var(--s3)}
  .strip{line-height:1.35}
  .hsearch label{float:left;margin:0 6px 0 0;line-height:1.35}
  .smart .hint{margin-block-end:var(--s1)}
  .row{padding:4px}
  .lede{line-height:1.4;margin-block-end:var(--s2)}
  .mmapslot .mapbox{height:188px}
  .mmapbar{font-size:13px}
  .mmapbar a{min-height:24px}
  .quick{margin-block-start:6px;padding:var(--s3)}
  .quick h2{font-size:18px}
  .qsub{font-size:12.5px;line-height:1.35}
  .qd{padding-block:6px}
  #map .leaflet-popup-content{margin:8px 12px}
  .pop{min-width:0;display:grid;grid-template-columns:auto auto;column-gap:var(--s3);align-items:center}
  .pop b,.pop .pa2{grid-column:1/-1}
  .pop b{font-size:15px}
  .pop .pa2{font-size:13px;margin-block-end:var(--s1)}
  .pop .golist{margin:0}
  .clu .cn{width:44px;height:44px;margin:3px}
  .clu .cn b{font-size:14px}
  .clu .cn small{font-size:8.5px}
}
/* ===== inner pages (full site) ===== */
.pg{max-width:var(--max);margin:0 auto;padding:var(--s5) var(--s5) var(--s8)}
.pg h1{font-size:clamp(30px,4vw,44px);line-height:1.12;margin:var(--s3) 0 var(--s3)}
.pg h2{font-size:26px;margin:var(--s7) 0 var(--s3)}
.pg .h3,.pg h2.h3{font-size:19px;margin:var(--s5) 0 var(--s2)}
.pg p{max-width:72ch}
.lede2{font-size:18px;color:var(--ink-2);max-width:68ch;margin:0 0 var(--s5)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0;font-size:14px;color:var(--ink-3)}
.crumbs li+li::before{content:"/";margin-inline-end:6px;color:var(--line)}
.crumbs a{display:inline-block;min-height:24px;padding-block:2px}
.banner{background:#FFF7E6;border:1px solid #F0D9A6;border-radius:10px;padding:var(--s3) var(--s4);color:#4A3300;max-width:none!important}
.muted{color:var(--ink-3);font-size:14px}
.fine{font-size:13px;color:var(--ink-3);margin-block-start:var(--s5)}
.empty{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:var(--s5)}
.tlist{list-style:none;padding:0;margin:var(--s4) 0;display:grid;gap:var(--s2);max-width:560px}
.tlist li{background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:var(--s3) var(--s4);display:flex;justify-content:space-between;gap:var(--s3);align-items:center}
.tlist a{font-weight:700;min-height:32px;display:inline-flex;align-items:center}
.tlist span{color:var(--ink-3);font-size:14px}
.ticks{padding-inline-start:1.2em;max-width:72ch}.ticks li{margin-block-end:var(--s2)}
/* list + map */
.lm{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s6);align-items:start}
.lmmap{position:sticky;inset-block-start:var(--s4)}
.lmmap .mapbox{height:min(70vh,640px);min-height:360px}
.pg .office article{grid-template-columns:56px minmax(0,1fr)}
/* profile */
.prof .phead{display:flex;gap:var(--s5);align-items:flex-start;margin-block:var(--s4) var(--s5)}
.prof .phead h1{margin:var(--s1) 0}
.prof .phead .mono{width:72px;height:72px;font-size:26px;flex:none}
.pnum{display:flex;align-items:center;margin:0;font-size:14px;color:var(--ink-3)}
.prof .addr{font-size:18px;color:var(--ink-2);margin:0}
.pgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s7);align-items:start}
.pcall{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4)}
.pcall .muted{margin:0}
.plinks{font-size:15px;margin-block-start:var(--s3)}
.plinks2{margin-block-start:var(--s4)}
.pmap .mapbox{height:380px;min-height:0}
.nomap{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:var(--s5);color:var(--ink-2)}
.claimbox{margin-block-start:var(--s5);background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s4) var(--s5)}
.claimbox p{margin-block-start:0}
/* pricing */
.plans{list-style:none;padding:0;margin:var(--s5) 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.plan{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s5);box-shadow:var(--sh1);display:flex;flex-direction:column}
.plan h2{margin:var(--s1) 0 var(--s3);font-size:24px}
.pl1{margin:0;font:700 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-600)}
.price{margin:0;display:flex;align-items:baseline;gap:4px}.amt{font:600 40px/1 var(--serif);color:var(--navy-900)}.per{color:var(--ink-3)}
.std{font-size:14px;color:var(--ink-3)}
.plan ul{padding-inline-start:1.1em;font-size:15px;color:var(--ink-2);flex:1}
.plan .btn{width:100%}
.pid{font-size:12px;color:var(--ink-3);margin:var(--s2) 0 0}
.faq{background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:var(--s3) var(--s4);margin-block-end:var(--s2);max-width:820px}
.faq summary{cursor:pointer;font-weight:700;min-height:32px;display:flex;align-items:center}
.faq p{margin:var(--s2) 0 0;color:var(--ink-2)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.box{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s5)}
.box h2{margin-block-start:0}
.ghostbtn{background:#fff;color:var(--navy-900);box-shadow:inset 0 0 0 1.5px var(--navy-900)}
/* form */
.cform{max-width:640px;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:var(--s5);box-shadow:var(--sh1)}
.fld{margin-block-end:var(--s4)}
.fld label{display:block;font-weight:700;margin-block-end:var(--s1)}
.req,.opt{font-weight:400;color:var(--ink-3);font-size:14px}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform select,.cform textarea{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:8px;padding:var(--s2) var(--s3);font:400 16px var(--sans);color:var(--ink);background:#fff}
.cform textarea{min-height:120px;resize:vertical}
.cform [aria-invalid=true]{border-color:#B42318}
.err{color:#B42318;font-size:14px;font-weight:600;margin:var(--s1) 0 0}
.hint2{font-size:14px;color:var(--ink-3);margin:var(--s1) 0 0}
.fld.chk{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:var(--s2)}
.fld.chk input{width:24px;height:24px;margin:2px 0 0}
.fld.chk label{font-weight:600}
.fld.chk .err{grid-column:2}
.forfice{font-weight:700;color:var(--navy-800);text-transform:capitalize}
.status{border-radius:10px;padding:var(--s3) var(--s4);margin-block-end:var(--s4)}
.status.good{background:#ECFDF3;border:1px solid #A6E9C1;color:#05603A}
.status.bad{background:#FEF3F2;border:1px solid #FDA29B;color:#7A271A}
/* guides */
.qlist{max-width:72ch;padding-inline-start:1.4em}.qlist li{margin-block-end:var(--s2)}
.courts{list-style:none;padding:0;display:grid;gap:var(--s3);max-width:820px}
.court{background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:var(--s4) var(--s5)}
.court h2{margin-block-start:0}
.signin{color:var(--navy-900)!important}
@media (max-width:900px){
  .lm,.pgrid,.two{grid-template-columns:minmax(0,1fr)}
  .lmmap{position:static;order:-1}
  .lmmap .mapbox{height:260px;min-height:0}
  .pmap .mapbox{height:240px}
  .plans{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .pg{padding:var(--s3) var(--s4) var(--s7)}
  .prof .phead{gap:var(--s3)}
  .prof .phead .mono{width:52px;height:52px;font-size:20px}
  .pg .office h4{font-size:21px}
}
@media (max-width:640px){
  header nav .ha{display:none}
  .hwrap{flex-wrap:wrap;gap:4px 8px;padding:10px 14px}
  .brand{gap:8px}
  .brand svg{width:36px;height:36px}
  .wm1{font-size:10px}
  .wm2{font-size:16px}
  header nav ul{gap:12px}
  header nav a{font-size:13.5px;white-space:nowrap;padding:8px 0}
}
.pg section{max-width:none;margin:0;padding-inline:0}
/* r4 */
.pg .wl{color:var(--ink);font-weight:700}
.hp{position:absolute!important;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}
.plan ul{margin-block-end:var(--s5)}
@media (max-width:400px){
  .hwrap{flex-wrap:nowrap;gap:6px;padding:10px 10px}
  .brand{gap:6px;min-width:0}
  .brand svg{width:30px;height:30px}
  .wm1{font-size:9px;letter-spacing:.12em}
  .wm2{font-size:14px;white-space:nowrap}
  header nav ul{gap:10px}
  header nav a{font-size:12.5px}
}
@media (max-width:340px){
  .wm1{display:none}
  .wm2{font-size:13px}
  header nav ul{gap:8px}
  header nav a{font-size:12px}
}
.ordnote.mob,.lmbar{display:none}
@media (max-width:900px){
  .pg .dsk{display:none}
  .ordnote.mob{display:block;margin:0 0 var(--s3);font-size:14px;color:var(--ink-2)}
  .ordnote summary{cursor:pointer;font-weight:600;min-height:32px;padding-block:4px}
  .lmbar{display:flex;position:sticky;inset-block-start:0;z-index:500;align-items:center;justify-content:space-between;gap:var(--s3);background:rgba(246,248,251,.97);backdrop-filter:blur(4px);padding:var(--s2) 0;margin-block-end:var(--s3);border-block-end:1px solid var(--line-2)}
  .lmn{font-weight:700;color:var(--ink)}
  .lmbar .btn{min-height:44px;padding:0 var(--s4);font-size:15px}
  .lmmap{display:none}
  .lm.mapon .lmmap{display:block;order:-1}
  .pg .lede2{font-size:16px;margin-block-end:var(--s2)}
}
@media (max-width:640px){
  .pg .office article{grid-template-columns:44px minmax(0,1fr);column-gap:var(--s3);row-gap:0;padding:var(--s4)}
  .pg .office .mono{width:44px;height:44px;font-size:16px;grid-row:1/span 2}
  .pg .office .info{display:contents}
  .pg .office h4{grid-column:2;order:1}
  .pg .office .addr{grid-column:2;order:2;margin-block-end:var(--s3)}
  .pg .office .acts{grid-column:1/-1;order:3}
  .pg .office .pa{grid-column:1/-1;order:4}
  .pg .office .atty{grid-column:1/-1;order:5}
  .pg .office .src{grid-column:1/-1;order:6}
  .pg .office .mono{order:0}
}
.fx{margin:0 0 var(--s5);display:grid;gap:var(--s3)}
.fx dt{font-weight:700;color:var(--ink)}
.fx dd{margin:0;color:var(--ink)}
.fx .src{display:block;font-size:13px;color:var(--ink-2)}
.sponsored.house article{grid-template-columns:minmax(0,1fr) auto;align-items:center}
@media (max-width:640px){.sponsored.house article{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.sponsored.house .bio{display:none}.sponsored.house article{padding:var(--s3) var(--s4);gap:var(--s2)}.sponsored.house h3{font-size:19px}.sponsored.house .adlabel .hx{display:none}.sponsored.house .adlabel{padding:6px var(--s4);font-size:13px;line-height:1.35}.sponsored.house .btn{min-height:44px;font-size:15px}}
@media (max-width:400px){
  .pg .crumbs{margin-block-end:4px}
  .pg h1{font-size:26px;line-height:1.15;margin-block-end:6px}
  .pg .lede2{font-size:15px;margin-block-end:4px}
  .ordnote.mob{margin-block-end:4px}
  .ordnote summary{min-height:28px;padding-block:2px}
  .lmbar{padding:4px 0;margin-block-end:var(--s2)}
  .lmbar .btn{min-height:44px}
  .pg .plinks{font-size:14px;margin-block:4px}
  .pg .office article{padding:var(--s3)}
}
.tmpaddr{font-size:14px;color:var(--ink);background:var(--blue-50);border-radius:8px;padding:4px 8px;margin-block:4px 8px}
@media (max-width:640px){.pg .office .tmpaddr{grid-column:1/-1;order:2}}
@media (max-width:400px){
  .strip p{font-size:12.5px;line-height:1.35;padding-block:6px}
  .pg{padding-block-start:8px}
  .pg .office .mono{width:36px;height:36px;font-size:14px}
  .pg .office h4{font-size:18px}
  .pg .office .addr{margin-block-end:6px;font-size:14.5px}
}
@media (max-width:400px){.pg h1{font-size:22px}.ordnote.mob{font-size:13px}}
@media (max-width:400px){.pg .crumbs ol{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.pg .crumbs li:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0}.pg .crumbs{font-size:13px}}
