/* ---------- base (gd-page / lac-root / ep-page base metrics) ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.6;color:#152c47;background:#fff}
img{max-width:100%;display:block}
a{color:#215b87;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:'Source Serif 4',Georgia,serif;font-weight:500;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid #d4a64a;outline-offset:4px}
.gr-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- shared shell (home-css .gr-shell) ---------- */
.gr-shell{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}
.gr-wrap{max-width:1240px;width:calc(100% - 112px);margin:auto}
@media(min-width:1600px){.gr-shell{max-width:1240px}}
@media(max-width:1100px){.gr-shell,.gr-wrap{width:calc(100% - 64px)}}
@media(max-width:500px){.gr-shell,.gr-wrap{width:calc(100% - 40px)}}

/* ---------- masthead (home-css .gr-header, .gr-top-strip, .gr-masthead) ---------- */
.gr-header{color:#fff;background:linear-gradient(110deg,#07346e,#124e91);border-bottom:1px solid #d5aa60}
.gr-top-strip{background:#041e43;color:#c6d8ee;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:12px;line-height:1.5}
.gr-top-strip .gr-shell{display:flex;justify-content:space-between;gap:20px;padding-block:8px}
.gr-masthead{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gr-brand{display:flex;align-items:center;color:#fff}
.gr-brand img{width:177px}
.gr-brand>span{border-left:1px solid #ffffff38;padding-left:24px;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.7;color:#d7e7f9}
.gr-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.gr-nav a{display:inline-flex;align-items:center;gap:12px;border:1px solid #ffffff55;border-radius:4px;padding:11px 17px;font-size:12px;font-weight:600;line-height:1.5;color:#fff}
.gr-nav a:hover{background:#ffffff15;text-decoration:none}
@media(max-width:800px){
  .gr-masthead{flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding-block:16px}
  .gr-nav{justify-content:flex-start}
  .gr-brand img{width:140px}
}

/* ---------- shared type ---------- */
.gr-kicker{font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.16em;color:#397395;text-transform:uppercase}
.gr-section{padding-block:52px}
.gr-section--tint{background:#fafbfc;border-block:1px solid #e4e9ef}
.gr-prose{max-width:74ch}
.gr-prose h2{font-size:34px;line-height:1.18;letter-spacing:-.025em;color:#052f68;margin-bottom:14px}
.gr-prose h3{font-size:20px;line-height:1.3;color:#12365f;margin:26px 0 8px}
.gr-prose p{font-size:14px;line-height:1.8;color:#3d5470;margin-bottom:14px}
.gr-prose ul{margin:0 0 16px;padding-left:0}
.gr-prose li{font-size:14px;line-height:1.8;color:#3d5470;padding-left:20px;position:relative;margin-bottom:8px}
.gr-prose li::before{content:'';position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:#f4b63f}
.gr-prose a{font-weight:600}

/* ---------- breadcrumbs ---------- */
.gr-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:#7b8ba0;padding-block:18px}
.gr-crumbs a{color:#c3d6ec}
.gr-crumbs span{color:#8ea3ba}
.gr-crumbs--on-light a{color:#33628e}
.gr-crumbs--on-light span{color:#7b8ba0}

/* ---------- pills, chips, notices ---------- */
.gr-pill{display:inline-flex;align-items:center;gap:8px;border-radius:100px;padding:5px 12px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.gr-pill--candidate{background:#fff5dd;border:1px solid #e8cc8d;color:#956809}
.gr-pill--verified{background:#eff8f3;border:1px solid #cddfd4;color:#2c6550}
.gr-chips{display:flex;flex-wrap:wrap;gap:6px}
.gr-chip{font-size:9px;font-weight:500;background:#edf3f9;color:#446486;border-radius:4px;padding:4px 8px}
.gr-chip--provider{background:#f4f1ea;color:#8b672e;border:1px solid #e6dcc7}
.gr-disclosure{background:#fff5dd;border:1px solid #e8cc8d;border-radius:6px;padding:18px 20px;color:#6d4f10;font-size:12px;line-height:1.75}
.gr-disclosure strong{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;color:#956809}
.gr-note{background:#f2f5f7;border-radius:5px;padding:16px 18px;font-size:12px;line-height:1.75;color:#5c6f84}
.gr-note strong{color:#2a445f}
.gr-third-party{background:#fbf8f0;border-left:2px solid var(--gold,#f4b63f);border-radius:4px;padding:14px 16px;font-size:11px;line-height:1.75;color:#6d6247}

/* ---------- fact blocks (R121: value, source, observation date) ---------- */
.gr-fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px}
.gr-fact{border-top:1px solid #dfe6ec;padding-top:12px}
.gr-fact dt{font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#738498;margin-bottom:5px}
.gr-fact dd{margin:0;font-size:13px;line-height:1.7;color:#24384d}
.gr-fact dd a{font-weight:600;color:#12618e}
.gr-missing{color:#8b97a5;font-style:italic}
.gr-fact-source{display:block;margin-top:6px;font-size:10px;color:#8a97a6}
.gr-phone-ext{font-size:11px;color:#8a97a6;white-space:nowrap}

/* ---------- buttons ---------- */
.gr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #b00d14;border-radius:5px;min-height:44px;padding:11px 18px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(180deg,#e7282e,#c7131a);box-shadow:inset 0 1px 0 #ffffff35,0 4px 9px #ac0f1614}
.gr-btn:hover{filter:brightness(1.06);text-decoration:none}
.gr-btn--outline{background:#fff;border:1px solid #cdd8e6;color:#052f68;box-shadow:none}
.gr-btn--outline:hover{background:#edf3f9}
.gr-btn--navy{background:#052f68;border-color:#052f68;color:#fff}

/* ---------- editorial page layout ---------- */
.gr-page{background:#fff}
.gr-page-hero{background:linear-gradient(110deg,#052f68 15%,#09427f 70%,#0d4a94);color:#fff;padding:38px 0 54px}
.gr-page-hero h1{font-size:clamp(34px,3.6vw,52px);line-height:1.08;letter-spacing:-.035em}
.gr-page-hero .gr-eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;color:#c3e1ff;text-transform:uppercase;margin-bottom:12px}
.gr-page-hero p{color:#d7e5f4;font-size:14px;line-height:1.8;max-width:64ch;margin-top:14px}
.gr-page-body{padding-block:48px}
.gr-page-aside{border-top:1px solid #e2e5e7;margin-top:34px;padding-top:22px;font-size:12px;color:#66788d}
.gr-steps{display:grid;gap:26px;margin-top:26px}
.gr-step{display:flex;gap:16px}
.gr-step-num{font-family:'Source Serif 4',Georgia,serif;font-size:16px;color:#ba9049;min-width:28px}
.gr-step h3{margin:0 0 6px}

/* ---------- shared footer ---------- */
.gr-footer{background:#052b5d;color:#c3d5ea;padding:30px 0 22px;margin-top:40px}
.gr-footer a{color:#fff}
.gr-footer-top{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between}
.gr-footer-top span{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:13px}
.gr-footer-bottom{border-top:1px solid #e5eaf02e;margin-top:18px;padding-top:14px;font-size:9px;color:#9fb4cd;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}

/* ---------- home (home-css .gd-*) ---------- */
.gd-page{background:#fff}
.gd-hero{background:linear-gradient(110deg,#052f68 15%,#09427f 70%,#0d4a94);border-bottom:3px solid #f4b63f;color:#fff}
.gd-hero-inner{min-height:505px;padding-top:62px;padding-bottom:98px;display:flex;flex-direction:column;justify-content:flex-end;gap:26px}
.gd-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:#c3e1ff;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.gd-eyebrow span{width:6px;height:6px;border-radius:50%;background:#f4b63f}
.gd-hero-copy h1{font-size:clamp(42px,4.6vw,64px);line-height:1.07;letter-spacing:-.035em;max-width:20ch;margin-top:16px}
.gd-hero-copy h1 em{font-style:normal;font-weight:400;color:#ffcf72}
.gd-hero-copy>p{font-size:16px;line-height:1.8;color:#d7e5f4;max-width:56ch;margin-top:18px}
.gd-hero-assurance{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;font-size:12px;color:#c2d1e4}
.gd-hero-assurance span{display:inline-flex;align-items:center;gap:8px}
.gd-search-section{position:relative;z-index:2;margin-top:-38px}
.gd-start{padding-top:52px;padding-bottom:56px;display:grid;grid-template-columns:1.22fr 1fr 1fr 1fr;gap:38px}
.gd-start h2{font-size:28px;line-height:1.18;letter-spacing:-.025em;max-width:240px;color:#052f68;margin-top:10px}
.gd-value h3{font-size:14px;font-weight:600;color:#12365f;margin:12px 0 8px;font-family:Inter,Arial,sans-serif}
.gd-value p{font-size:11px;line-height:1.8;color:#67778a}
.gd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:20px;padding:34px 0 8px}
.gd-stat{background:#f6f7f9;border:1px solid #e7ebf0;border-radius:8px;padding:22px 24px}
.gd-stat strong{display:block;font-family:'Source Serif 4',Georgia,serif;font-size:38px;line-height:1.1;color:#052f68;letter-spacing:-.02em}
.gd-stat span{display:block;margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#7b8797}
.gd-stat p{margin-top:8px;font-size:11px;line-height:1.75;color:#67778a}
.gd-help-row{padding-bottom:65px;display:grid;grid-template-columns:1.45fr 1fr;gap:22px}
.gd-community{background:#f2f5f6;border-radius:7px;padding:35px}
.gd-attorney{background:#fbf8f0;border-radius:7px;padding:31px}
.gd-community h2,.gd-attorney h3{font-size:22px;line-height:1.25;color:#12365f;margin-bottom:10px}
.gd-community p,.gd-attorney p{font-size:12px;line-height:1.8;color:#67778a;margin-bottom:16px}
.gd-tracking{background:linear-gradient(110deg,#052f68,#0d4a94);color:#fff;padding-block:44px}
.gd-tracking .gr-shell{display:flex;flex-wrap:wrap;align-items:center;gap:22px;justify-content:space-between}
.gd-tracking h2{font-size:30px;line-height:1.15;letter-spacing:-.025em}
.gd-tracking p{color:#c7ddf3;font-size:13px;margin-top:8px}
.gd-white-button{display:inline-flex;align-items:center;gap:20px;background:#fff;color:#164375;padding:14px 21px;border-radius:4px;font-size:12px;font-weight:700}
.gd-white-button:hover{background:#fff5de;text-decoration:none}
.gd-footer{background:#052b5d;color:#c3d5ea;padding:30px 0 22px}
.gd-footer a{color:#fff}
.gd-footer .gr-footer-bottom{font-size:9px;color:#7b8797;border-top:1px solid #e5eaf02e}

/* ---------- shared state directory + selector (home-css .gr-*) ---------- */
.gr-state-directory{background:#fafbfc;border-block:1px solid #e4e9ef;padding:60px 0 45px}
.gr-directory-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:end;margin-bottom:26px}
.gr-directory-heading h2{font:500 39px/1.15 'Source Serif 4',Georgia,serif;color:#173b62;letter-spacing:-.02em}
.gr-directory-heading h2 em{font-weight:400;color:#8b672e}
.gr-directory-heading p{font-size:12px;line-height:1.8;color:#67778a}
.gr-directory-rule{border-top:1px solid #b3c4d7;border-bottom:1px solid #e0e6ed;display:flex;justify-content:space-between;gap:16px;padding:12px 0;font-size:10px;font-weight:700;letter-spacing:.12em;color:#576c84;text-transform:uppercase}
.gr-states-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 38px;margin-top:26px}
.gr-state-block h3{font:500 25px/1.25 'Source Serif 4',Georgia,serif;color:#12365f;border-bottom:1px solid #dce4ec;padding-bottom:10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.gr-state-block h3 span{font:600 10px/1 Inter,Arial,sans-serif;color:#967540;letter-spacing:.06em}
.gr-state-block li a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.55;color:#4d6580;padding:4px 0;min-height:29px}
.gr-state-block li a:hover{color:#082f65;text-decoration:underline;text-underline-offset:4px}
.gr-state-block li a b{font-weight:600;color:#96a3b4;font-size:10px}
.gr-state-block-all{display:inline-block;margin-top:10px;font-size:11px;font-weight:600;color:#285b87}
.gr-selector{background:#f7f3e9;border:1px solid #e5d9c2;border-radius:9px;box-shadow:0 12px 30px #06274e0b;color:#143459}
.gr-selector-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 208px;gap:16px;align-items:end;padding:22px 24px 23px}
.gr-select-field{display:block}
.gr-select-field>span{display:block;font-size:10px;color:#97723a;margin-bottom:7px}
.gr-select-field>span b{color:#5c513f;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.gr-select{width:100%;height:56px;border:1px solid #d6cbb6;border-radius:5px;background:#fffdf8;color:#1c3149;font:600 14px/1.4 Inter,Arial,sans-serif;padding:0 12px}
.gr-go{width:100%;height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 22px;border-radius:4px;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(#e52027,#c20e18);border:1px solid #a90913;box-shadow:inset 0 1px #ffffff55,0 3px 9px #9a171a12}
.gr-go:hover{filter:brightness(1.05)}
.gr-selector-foot{border-top:1px solid #e5dccb;padding:11px 24px;font-size:10px;color:#786b58;background:#fffcf655;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
@media(max-width:1100px){
  .gr-states-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gr-directory-heading{grid-template-columns:1fr;gap:18px}
  .gr-selector-fields{grid-template-columns:1fr 1fr;gap:14px}
  .gr-go{grid-column:1/-1}
  .gd-start{grid-template-columns:1fr 1fr;gap:28px}
  .gd-help-row{grid-template-columns:1fr}
}
@media(max-width:800px){
  .gr-states-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
  .gd-start{grid-template-columns:1fr}
}
@media(max-width:500px){
  .gr-states-grid{grid-template-columns:1fr}
  .gr-state-block ul{columns:2;column-gap:24px}
  .gr-selector-fields{grid-template-columns:1fr}
  .gd-hero-inner{min-height:auto;padding-top:44px;padding-bottom:64px}
  .gd-hero-copy h1{font-size:34px}
  .gr-top-strip .gr-shell{justify-content:flex-start}
  .gr-top-strip .gr-shell span:last-child{display:none}
  .gr-directory-heading h2{font-size:30px}
}

/* ---------- city (city-css .lac-*) ---------- */
.lac-root{background:#fafbfD;color:#172b46;line-height:1.55;--navy:#052f68;--blue:#0d4a94;--gold:#f4b63f;--ink:#172b46;--muted:#657184;--line:#dce3eb}
.lac-shell{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}
@media(min-width:1500px){.lac-shell{max-width:1260px}}
@media(max-width:1100px){.lac-shell{width:calc(100% - 54px)}}
@media(max-width:780px){.lac-shell{width:calc(100% - 36px)}}
.lac-hero{background:linear-gradient(115deg,#052f68,#124b88);color:#fff;padding:21px 0 69px}
.lac-hero-content{display:grid;grid-template-columns:1fr 310px;gap:64px;align-items:end;margin-top:22px}
.lac-eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;color:#f3ca7b;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.lac-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#f4b63f}
.lac-city-title{font:500 clamp(44px,6.8vw,94px)/1.03 'Source Serif 4',Georgia,serif;letter-spacing:-.035em;margin:14px 0 18px}
.lac-hero-copy{font-size:16px;line-height:1.8;color:#c8daef}
.lac-hero-title{font:500 clamp(36px,5vw,68px)/1.06 'Source Serif 4',Georgia,serif;letter-spacing:-.03em;margin:14px 0 16px}
.lac-hero-facts{display:flex;flex-wrap:wrap;gap:20px;margin-top:26px;font-size:12px;color:#dce8f4}
.lac-hero-facts span{display:inline-flex;align-items:center;gap:9px}
.lac-hero-counts{background:#ffffff14;border:1px solid #ffffff30;border-radius:8px;padding:22px 24px;font-size:12px;color:#dce8f4}
.lac-hero-counts strong{display:block;font-family:'Source Serif 4',Georgia,serif;font-size:42px;line-height:1.05;color:#fff;margin-bottom:4px}
.lac-hero-counts div+div{margin-top:18px;padding-top:18px;border-top:1px solid #ffffff25}
.gr-city-selector{margin-top:-38px;position:relative;z-index:2}
.lac-results-layout{padding-top:43px;padding-bottom:62px;display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:35px}
.lac-results-heading{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:flex-end;margin-bottom:20px}
.lac-kicker{font-size:9px;font-weight:700;letter-spacing:1.65px;color:#55749a;text-transform:uppercase}
.lac-results-heading h2{font-size:31px;line-height:1.1;letter-spacing:-.8px;color:#052f68;margin-top:8px}
.lac-results-heading p{font-size:12px;color:#657184;margin-top:8px}
.lac-firm{background:#fff;border:1px solid #dbe2eb;border-radius:8px;margin-bottom:16px;box-shadow:0 3px 12px #052f6803;overflow:hidden}
.lac-firm-top{display:flex;gap:18px;align-items:flex-start;padding:23px 23px 18px}
.lac-rank{color:#be974e;font:400 34px/1 'Source Serif 4',Georgia,serif;min-width:44px}
.lac-firm-info{flex:1;min-width:0}
.lac-neighborhood{font-size:9px;color:#667a94;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.06em}
.lac-firm h3{font:600 22px/1.25 'Source Serif 4',Georgia,serif;letter-spacing:-.3px;color:#052f68;margin:7px 0 8px}
.lac-firm h3 a{color:inherit}
.lac-rating{font-size:10px;color:#62728a;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lac-rating strong{color:#203b5c;font-size:11px}
.lac-dot{color:#a3acba}
.lac-firm-body{border-top:1px solid #edf0f4;padding:18px 23px 20px;display:grid;gap:14px}
.lac-services{display:flex;flex-wrap:wrap;gap:6px}
.lac-services>span{font-size:9px;font-weight:500;background:#edf3f9;color:#446486;border-radius:4px;padding:4px 8px}
.lac-firm-practical{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:#4d6580}
.lac-firm-practical span{display:inline-flex;align-items:center;gap:7px}
.lac-firm-footer{border-top:1px solid #edf0f4;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.lac-consult{font-size:10px;color:#426550}
.lac-empty{background:#fff;border:1px solid var(--line);border-radius:8px;text-align:center;padding:55px 20px;color:#7990aa}
.lac-empty h3{font:500 24px 'Source Serif 4',serif;color:#052f68;margin-top:15px}
.lac-empty p{font-size:12px;margin:10px 0 22px}
.lac-sidebar{display:grid;gap:20px;align-content:start}
.lac-local-card{background:#f2f5f9;border-top:3px solid #d5ab5a;border-radius:6px;padding:25px 23px}
.lac-local-card h3{font-size:22px;line-height:1.2;color:#052f68;margin:10px 0 10px}
.lac-local-card p{font-size:12px;line-height:1.8;color:#657184}
.lac-help-card{background:#faf6ec;border-radius:7px;padding:24px}
.lac-help-card h3{font-size:19px;color:#052f68;margin:12px 0 8px}
.lac-help-card p{font-size:12px;line-height:1.75;color:#657184;margin-bottom:14px}
.lac-method{padding:23px 10px;border-bottom:1px solid #e4e8ef}
.lac-method h3{font-size:14px;font-family:Inter,Arial,sans-serif;font-weight:700;color:#052f68;margin-bottom:8px}
.lac-method p{font-size:11px;line-height:1.8;color:#657184}
.lac-guide{background:#fff;border-top:1px solid #e4e8ef;padding:61px 0 35px}
.lac-guide-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin:14px 0 30px}
.lac-guide-heading h2{font-size:38px;line-height:1.12;letter-spacing:-1px;color:#052f68}
.lac-guide-heading h2 em{font-weight:400;color:#8b672e}
.lac-guide-heading p{font-size:13px;line-height:1.8;color:#657184}
.lac-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.lac-guide-item>span{font-family:'Source Serif 4',serif;font-size:16px;color:#ba9049}
.lac-guide-item h3{font-size:19px;color:#12365f;margin:10px 0 8px}
.lac-guide-item p{font-size:12px;line-height:1.85;color:#657184}
.lac-nearby{border-top:1px solid #e4e8ef;margin-top:34px;padding-top:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:12px;color:#4d6580}
.lac-nearby a{font-weight:600}
.lac-bottom-cta{padding:65px 0;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center}
.lac-bottom-cta h2{font-size:32px;line-height:1.17;letter-spacing:-.8px;color:#052f68;margin-top:12px}
.lac-bottom-cta h2 em{font-weight:400;color:#8b672e}
.lac-bottom-cta p{font-size:13px;line-height:1.8;color:#657184;margin-top:12px}
.lac-footer{background:#052f68;color:#b1c9e6;padding:27px 0}
.lac-footer a{color:#fff}
.lac-footer p{font-size:11px;margin-top:10px}
@media(max-width:1100px){
  .lac-results-layout{grid-template-columns:minmax(0,1fr) 255px;gap:26px}
  .lac-hero-content{grid-template-columns:1fr;gap:26px}
  .lac-guide-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .lac-results-layout{grid-template-columns:1fr}
  .lac-bottom-cta{grid-template-columns:1fr}
  .lac-guide-heading{grid-template-columns:1fr;gap:16px}
  .lac-city-title{font-size:44px}
}
@media(max-width:480px){
  .lac-firm-top{flex-direction:column;gap:10px}
  .lac-firm-footer{flex-direction:column;align-items:flex-start}
  .lac-rank{font-size:24px}
}

/* ---------- firm profile (profile-css .ep-*) ---------- */
.ep-page{background:#fffdf9;color:#24384d;line-height:1.6}
.ep-wrap{width:calc(100% - 96px);max-width:1224px;margin:auto}
@media(max-width:1100px){.ep-wrap{width:calc(100% - 56px)}}
@media(max-width:760px){.ep-wrap{width:calc(100% - 40px)}}
.ep-hero{background:linear-gradient(120deg,#052f68,#073775 68%,#0d4a94);color:#fff}
.ep-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:#c3d6ec;padding:18px 0 0}
.ep-crumbs a{color:#c3d6ec}
.ep-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:55px;padding:30px 0 56px}
.ep-overline{font-size:9px;letter-spacing:1.65px;font-weight:700;color:#d6dfec;text-transform:uppercase}
.ep-identity h1{font-size:clamp(43px,4.4vw,63px);line-height:1.08;letter-spacing:-.035em;margin:14px 0 16px}
.ep-intro{font-family:'Source Serif 4',Georgia,serif;font-size:19px;line-height:1.6;color:#dce8f4}
.ep-firm{font-size:12px;color:#c7ddf3;margin-top:12px}
.ep-hero-facts{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:12px;color:#dce8f4}
.ep-hero-facts span{display:inline-flex;align-items:center;gap:9px}
.ep-rating{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:11px;color:#dce8f4}
.ep-stars{color:#f4c56b;letter-spacing:2px}
.ep-hero-panel{border:1px solid #ffffff3b;border-radius:8px;padding:24px 26px;background:#ffffff0f;align-self:start}
.ep-hero-panel h2{font-size:20px;line-height:1.3;color:#fff;margin-bottom:12px}
.ep-hero-panel p{font-size:12px;line-height:1.8;color:#dce8f4;margin-bottom:16px}
.ep-section-nav{border-bottom:1px solid #dfe4e9;background:#fff}
.ep-section-nav .ep-wrap{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;padding-block:14px;font-size:11px;color:#6a7c8d}
.ep-section-nav nav{display:flex;flex-wrap:wrap;gap:18px}
.ep-section-nav nav a{color:#3d5f80;font-weight:600}
.ep-layout{padding:48px 0 70px;display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:64px}
.ep-main{min-width:0}
.ep-content-section{margin-top:48px;padding-top:34px;border-top:1px solid #e2e5e7}
.ep-section-label{font-size:9px;letter-spacing:1.65px;font-weight:700;color:#49718c;text-transform:uppercase}
.ep-content-section h2{font-size:34px;line-height:1.18;letter-spacing:-1.1px;color:#052f68;margin:12px 0 6px}
.ep-message{background:#fff;border:1px solid #e2e5e7;border-radius:7px;padding:34px;position:relative}
.ep-message h2{font-size:39px;line-height:1.15;letter-spacing:-1.1px;color:#052f68;margin:12px 0 16px}
.ep-message p{font-size:13px;line-height:1.85;color:#3d5470;margin-bottom:14px}
.ep-quote-mark{font:110px/1 Georgia,serif;color:#f0dfbd;position:absolute;top:6px;right:24px}
.ep-signoff{margin-top:22px;border-top:1px solid #e2e5e7;padding-top:16px}
.ep-signature{display:block;font:italic 27px/1.5 'Source Serif 4',Georgia,serif;color:#052f68}
.ep-signoff span:last-child{font-size:11px;color:#6a7c8d}
.ep-services{display:grid;grid-template-columns:1fr 1fr;gap:27px 28px;margin-top:24px}
.ep-service{display:flex;gap:14px}
.ep-service>span{font-family:'Source Serif 4',Georgia,serif;font-size:16px;color:#bf9a4f}
.ep-service h3{font-size:13px;font-weight:700;font-family:Inter,Arial,sans-serif;color:#12365f;margin-bottom:6px}
.ep-service p{font-size:12px;line-height:1.7;color:#5c6f84}
.ep-fit-grid{background:#f2f5f7;border-radius:5px;padding:23px 0;display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px}
.ep-fit-grid>div{padding:0 22px}
.ep-fit-grid>div+div{border-left:1px solid #dae1e7}
.ep-fit-grid strong{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#738498;margin:10px 0 8px}
.ep-fit-grid p{font-size:12px;line-height:1.75;color:#5c6f84}
.ep-attorney-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin-top:24px}
.ep-attorney-card{background:#fff;border:1px solid #e2e5e7;border-radius:7px;padding:20px}
.ep-attorney-card h3{font-size:16px;font-family:'Source Serif 4',Georgia,serif;color:#12365f;margin-bottom:6px}
.ep-attorney-card p{font-size:11px;line-height:1.7;color:#5c6f84}
.ep-attorney-card .gr-chips{margin-top:10px}
.ep-review-panel{background:#fff;border:1px solid #e0e5e9;border-radius:6px;padding:25px 27px;margin-top:22px}
.ep-review-score{display:flex;align-items:center;gap:18px}
.ep-review-score>strong{font:54px/1 'Source Serif 4',Georgia,serif;color:#052f68}
.ep-review-score p{font-size:11px;color:#6a7c8d;margin-top:4px}
.ep-review-foot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid #e0e5e9;font-size:10px;color:#7b8ba0}
.ep-office-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:24px}
.ep-office-grid>div{background:#f2f5f7;border-radius:5px;padding:21px}
.ep-office-grid small{display:block;font-size:8px;letter-spacing:1.1px;font-weight:700;color:#738498;text-transform:uppercase;margin:10px 0 6px}
.ep-office-grid strong{display:block;font-size:13px;color:#12365f}
.ep-office-grid p{font-size:11px;line-height:1.75;color:#5c6f84;margin-top:8px}
.ep-record{background:#f2f5f7;padding:21px;border-radius:5px;display:flex;gap:16px;align-items:flex-start;margin-top:34px}
.ep-record h3{font-size:14px;font-family:Inter,Arial,sans-serif;font-weight:700;color:#12365f;margin-bottom:6px}
.ep-record p{font-size:11px;line-height:1.75;color:#5c6f84}
.ep-aside{display:grid;gap:20px;align-content:start}
.ep-contact{background:#fff;border:1px solid #dce2e7;border-radius:7px;padding:26px;box-shadow:0 12px 35px #052f6809}
.ep-contact h2{font-size:30px;line-height:1.15;letter-spacing:-1.1px;color:#052f68;margin:12px 0 10px}
.ep-contact-desc{font-size:12px;line-height:1.8;color:#5c6f84;margin-bottom:18px}
.ep-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:11px 13px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(180deg,#e7282e,#c7131a);border:1px solid #b00d14;border-radius:5px}
.ep-primary:hover{filter:brightness(1.06);text-decoration:none}
.ep-phone{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:15px;font-weight:600;color:#052f68}
.ep-contact-details{margin-top:18px;display:grid;gap:14px}
.ep-contact-details>div{display:flex;gap:11px;color:#446989}
.ep-contact-details span{font-size:11px}
.ep-contact-details strong{display:block;font-weight:400;color:#83909b;font-size:10px}
.ep-availability{margin-top:18px;background:#f1f7f3;border-radius:4px;padding:8px 10px;font-size:10px;color:#3c7257;display:flex;align-items:center;gap:8px}
.ep-availability span{width:6px;height:6px;border-radius:100%;background:#368961}
.ep-claim-record{display:grid;gap:10px;margin-top:14px;text-align:left}
.ep-claim-record dt{font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#738498}
.ep-claim-record dd{margin:0;font-size:12px;line-height:1.6;color:#24384d}
.ep-claim-role{font-weight:600}
.ep-hero-panel img{max-width:100%;height:auto}
.ep-help-note{background:#fbf8f0;border-left:2px solid #d7ae56;border-radius:4px;padding:16px 18px;font-size:11px;line-height:1.75;color:#6d6247}
.ep-help-note a{display:block;margin-top:8px;font-weight:600}
.ep-track{background:linear-gradient(135deg,#052f68,#0d4a94);border-radius:6px;color:#fff;padding:27px}
.ep-track h3{font-size:22px;line-height:1.25;color:#fff;margin:10px 0 10px}
.ep-track p{font-size:11px;line-height:1.8;color:#c7ddf3;margin-bottom:14px}
.ep-track a{color:#ffdd98;font-weight:600}
.ep-owner{padding:27px;text-align:center;color:#7e8893;font-size:10px;border:1px solid #e2e5e7;border-radius:7px;background:#fff}
.ep-owner a{display:block;margin-top:8px;font-size:11px;color:#345e7c;font-weight:600}
.ep-owner a.ep-claim-action{font-weight:700;color:#052f68}
.ep-footer{background:#052951;color:#9dafc5;padding:32px 0}
.ep-footer a{color:#fff}
.ep-footer p,.ep-footer span{font-family:Georgia,serif;font-size:11px;display:block;margin-top:10px}
@media(max-width:1100px){
  .ep-hero-grid{grid-template-columns:195px minmax(0,1fr);gap:30px}
  .ep-layout{grid-template-columns:1fr;gap:34px}
  .ep-attorney-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .ep-hero-grid{grid-template-columns:1fr}
  .ep-services{grid-template-columns:1fr}
  .ep-fit-grid{grid-template-columns:1fr;padding:0}
  .ep-fit-grid>div{padding:18px 20px}
  .ep-fit-grid>div+div{border-left:0;border-top:1px solid #dae1e7}
  .ep-attorney-grid{grid-template-columns:1fr}
  .ep-office-grid{grid-template-columns:1fr}
  .ep-message{padding:24px}
  .ep-message h2{font-size:29px}
}

/* ---------- reduced motion (all three sheets) ---------- */
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* The home page's section order (R81) and R82's reordering below the sm breakpoint. Scoped to the home
   page's own hook class so no other page can be affected. */
.gd-home { display: flex; flex-direction: column; }
.gd-home > .gd-hero { order: 1; }
.gd-home > .gd-search-section { order: 2; }
.gd-home > .gd-map-section { order: 3; }
.gd-home > .gr-state-directory { order: 4; }
.gd-home > .gd-stats { order: 5; }
.gd-home > .gd-start { order: 6; }
.gd-home > .gd-methodology { order: 7; }
.gd-home > .gd-note-row { order: 8; }
.gd-home > .gd-help-row { order: 9; }
.gd-home > .gd-tracking { order: 10; }

/* The map's own colours. R82: the map is not rendered below sm. */
.p2-map { display: none; }
@media (min-width: 640px) {
  .p2-map { display: block; width: 100%; height: auto; }
}
/* Below sm the map section is gone entirely, heading included: a heading with no map under it is a
   dangling label, and R82 puts the all-states block in this section's place. */
@media (max-width: 639.98px) {
  .gd-home > .gd-map-section { display: none; }
}
/* The governed blocks (R91 review excerpts, R93 screenshots) have no counterpart in the exports: none of the
   three designs renders a review excerpt or a captured screenshot. These are therefore the only rules in this
   file that are not a design value, and they are built from the system's own tokens rather than invented --
   navy #052f68, paper #fbfcfe and the rule colour #d7dee9 from DESIGN-SYSTEM section 1. Without them the
   components emitted class names no served rule defined. */
.p2-excerpts, .p2-screenshots { margin: 2rem 0 0; }
.p2-excerpt, .p2-screenshot {
  margin: 0 0 1rem;
  padding: 1rem 1.15rem;
  background: #fbfcfe;
  border: 1px solid #d7dee9;
  border-radius: 7px;
}
.p2-excerpt img { width: 32px; height: 32px; border-radius: 100%; display: inline-block; }
.p2-excerpt blockquote { margin: 0.6rem 0 0; }
.p2-screenshot img { max-width: 100%; height: auto; display: block; border-radius: 4px; }
.p2-excerpt figcaption, .p2-screenshot figcaption { margin-top: 0.6rem; font-size: 0.8rem; color: #66748c; }
.p2-map-state { fill: #052f68; stroke: #fff; stroke-width: 0.4; }
.p2-map-state-muted { fill: #eef2f8; }
.p2-map-link:hover .p2-map-state { fill: #063b7a; }
