﻿/* Fallback faces sized to the web fonts (19 Sep 2026) so the swap from the local font does not move text (CLS 0.32 -> 0).
   Values come from the font files: frequency-weighted glyph width for size-adjust, hhea ascent/descent for the overrides.
   "... Fallback" is the Windows/Mac/iOS face, "... Fallback 2" the Android one; a stack lists both after the web font. */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:107.60%;ascent-override:87.82%;descent-override:21.60%;line-gap-override:0.00%}
@font-face{font-family:"Inter Fallback 2";src:local("Roboto");size-adjust:107.00%;ascent-override:88.30%;descent-override:21.70%;line-gap-override:0.00%}
@font-face{font-family:"Newsreader Fallback";src:local("Georgia");size-adjust:96.07%;ascent-override:76.51%;descent-override:27.58%;line-gap-override:0.00%}
@font-face{font-family:"Newsreader Fallback 2";src:local("Noto Serif");size-adjust:88.07%;ascent-override:83.46%;descent-override:30.09%;line-gap-override:0.00%}

/* Brand palette (visual-consistency pass, 7 Oct 2026): navy / blue-grey / gold on a warm canvas, from the Grok UI
   audit. The --color-* names are the semantic layer every template should use; the older names below them are the
   same palette under the names hundreds of existing rules already read, so they follow it without per-rule edits.
   Contrast on white: text #1C2A31 14.6:1, muted #5C6B72 5.5:1 (5.2:1 on the canvas), link #274857 9.8:1, gold text
   #8A6420 5.4:1, control border #80888C 3.6:1 (non-text 1.4.11; the audit's #D8D7D2 is kept for cards and hairlines
   only, because it is 1.4:1 and would make empty inputs hard to find). Gold #B88A3B fails as small text (3.1:1): fills,
   rules and icons only. --color-accent-on-primary #D8B36A is the gold for text on navy (6.9:1). */
/* Section surfaces (hierarchy pass, 7 Oct 2026; owner: white, blue-grey and ONE tan): --surface-hero navy, --surface-canvas
   white, --surface-cool blue-grey, --surface-warm the one tan. --on-hero* are the text colours for the navy hero. */
:root{
  --color-primary:#17313D; --color-primary-hover:#102833; --color-secondary:#274857; --color-slate:#5F8298;
  --color-accent:#B88A3B; --color-accent-hover:#A3782F; --color-accent-text:#8A6420; --color-accent-soft:#E7D9BA; --color-accent-wash:#F6F0E2; --color-accent-on-primary:#D8B36A; --color-on-accent:#1B1408;
  --color-text:#1C2A31; --color-text-2:#3E4C53; --color-text-muted:#5C6B72;
  --color-background:#FFFFFF; --color-surface:#FFFFFF; --color-surface-2:#F3F6F7; --color-surface-3:#E6ECEE; --color-tint:#EEF2F4;
  --color-border:#D8D7D2; --color-border-strong:#80888C;
  --color-on-primary:#F7F4EE; --color-on-primary-muted:#C5CBCE;
  --color-success:#1F6B4A; --color-success-soft:#E8F1EC; --color-warning:#8A6420; --color-error:#9B2C2C; --color-error-soft:#F8ECEA; --color-focus:#17313D;
  --font-serif:"Newsreader","Newsreader Fallback","Newsreader Fallback 2",Georgia,"Times New Roman",serif;
  --font-sans:"Inter","Inter Fallback","Inter Fallback 2",-apple-system,"Segoe UI",Arial,sans-serif;
  --fs-page-h1:clamp(32px,4vw,44px); --lh-heading:1.2;
  --radius-sm:6px; --radius-md:8px; --radius-lg:12px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(23,49,61,.06); --shadow-md:0 8px 24px rgba(23,49,61,.08);
  --header-h:72px; --header-h-sm:64px;
  --surface-hero:#17313D; --surface-canvas:#FFFFFF; --surface-cool:#ECF1F3; --surface-warm:#F4EFE6;
  --card-line:#CCD5DA; --tile-line:#DCE3E7; --card-lift:0 1px 2px rgba(23,49,61,.06),0 8px 22px -12px rgba(23,49,61,.22);
  --on-hero:#FFFFFF; --on-hero-2:#D3D9DC; --on-hero-3:#AEBAC0; --on-hero-rule:rgba(255,255,255,.16);

  --ground:var(--color-background); --surface:var(--color-surface); --surface-2:var(--color-surface-2); --firm-bg:var(--color-surface-2); --sunken:var(--color-surface-3);
  --ink:var(--color-text); --ink-2:var(--color-text-2); --ink-3:var(--color-text-muted);
  --rule:var(--color-border); --rule-2:var(--color-border-strong);
  --link:var(--color-secondary);
  --btn-bg:var(--color-primary); --btn-ink:#FFFFFF;
  --card-bg:var(--color-primary); --card-ink:#FFFFFF; --card-ink-2:var(--color-on-primary-muted); --card-accent:var(--color-accent-on-primary); --card-accent-ink:var(--color-on-accent); --card-rule:rgba(255,255,255,.15);
  --p-j:var(--color-error); --p-n:var(--color-secondary); --p-d:var(--color-text-muted);
  --focus:var(--color-focus);
  --map-ground:#EDEFE9; --map-road:#FFFFFF; --map-road-2:#F6F7F3; --map-hwy:#E2E5DB; --map-block:#DCE0D5; --map-pin:var(--color-primary); --map-label:var(--color-text-muted);
  --shadow:var(--shadow-sm);
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px;
  --gutter:16px;
  --tap:44px; --ctl-h:48px; --btn-h:48px; --pill-h:44px;
  --r-card:var(--radius-lg); --r-ctl:var(--radius-md); --r-pill:var(--radius-pill); --r-tag:4px;
  --border-subtle:var(--rule); --border-default:var(--rule-2); --border-strong:var(--ink);
  --brand:var(--color-primary); --brand-ink:#FFFFFF; --gold:var(--color-accent); --gold-ink:var(--color-on-accent);
  --head-basic:var(--color-primary); --head-enh:var(--color-secondary); --head-feat:var(--color-primary-hover); --head-near:var(--color-secondary); --head-ink:#FFFFFF;
  --star:var(--color-accent);
  --hdr-h:var(--header-h-sm); --tab-h:60px;
  --fs-caption:13px; --fs-small:14px; --fs-ui:15px; --fs-body:16px; --fs-lead:18px;
  --fs-title:20px; --fs-h3:22px; --fs-h2:28px; --fs-h1:32px;
  --rg-paper:var(--color-surface-2); --rg-sheet:#FFFFFF; --rg-sheet-hover:var(--color-surface-2); --rg-ink:var(--color-text); --rg-ink-2:var(--color-text-2); --rg-muted:var(--color-text-muted); --rg-muted-2:var(--color-border); --rg-rule:var(--color-border); --rg-rule-strong:var(--color-border-strong);
  --rg-brass:var(--color-accent); --rg-brass-ink:var(--color-accent-text); --rg-brass-soft:var(--color-accent-wash); --rg-on-brass:var(--color-on-accent);
  --rg-tier-std:#FFFFFF; --rg-tier-enh:#FFFFFF; --rg-tier-feat:#FFFFFF; --rg-serif:var(--font-serif); --rg-sans:var(--font-sans); --rg-mono:var(--font-sans);
  --g2-ground:var(--color-background); --g2-ink:var(--color-text); --g2-ink2:var(--color-text-2); --g2-ink3:var(--color-text-muted); --g2-rust:var(--color-accent-text); --g2-deep:var(--color-primary); --g2-card:#FFFFFF; --g2-rule:var(--color-border);
}
/* Light only (owner decision 23 Sep 2026; every page carries data-theme="light"), so no dark token blocks. */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font:400 17px/1.6 var(--font-sans);
  font-synthesis-weight:none;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
/* one focus ring everywhere: 3px navy, 2px offset (white on the navy footer) */
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}

.wrap{width:min(1160px,100% - 48px);margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--btn-bg);color:var(--btn-ink);padding:12px 18px;z-index:100;font-weight:600}
.skip:focus{left:8px;top:8px}

/* ---- type: Newsreader for headings, Inter for everything functional ---- */
h1,h2,h3{font-family:var(--font-serif);font-weight:400;color:var(--color-primary);margin:0;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:var(--fs-page-h1);line-height:1.15}
h2{font-size:clamp(26px,3vw,32px);line-height:var(--lh-heading)}
h3{font-size:20px;line-height:1.3;letter-spacing:-.005em}
p{margin:0}
.mono{font-family:var(--font-sans)}
.lede{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:62ch}
.sec-label{display:flex;align-items:center;gap:18px;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:28px}
.sec-label::after{content:"";flex:1;height:1px;background:var(--rule)}

/* ---- buttons: primary (navy), secondary (white + hairline), accent (gold, one per view), text links ---- */
.btn[hidden]{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid transparent;border-radius:var(--radius-md);padding:12px 20px;font:600 15px/1.2 var(--font-sans);text-align:center;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn-solid{background:var(--color-primary);color:#FFFFFF}
.btn-solid:hover{background:var(--color-primary-hover)}
.btn-line{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}
.btn-line:hover{border-color:var(--color-slate);background:var(--surface-cool)}
.btn-claim{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}
.btn-claim:hover{border-color:var(--color-slate);background:var(--surface-cool)}
.btn-gold{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}
.btn-gold:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}

/* ---- chrome: the one header and footer (7 Oct 2026). Header spec = the approved homepage header: white bar,
   32px logo + Newsreader wordmark, muted Inter nav, navy current item with a gold underline, 72px tall (64px under
   1100px, where the nav becomes the Menu panel). Footer = the homepage's dark navy footer. ---- */
.masthead{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--color-border);padding-top:env(safe-area-inset-top,0px)}
.masthead .mh-in{height:var(--header-h);display:flex;align-items:center;gap:40px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:0;flex:none;color:var(--color-primary);font:500 23px/1 var(--font-serif);letter-spacing:-.01em;white-space:nowrap}
.brand-name{overflow:hidden;text-overflow:ellipsis}
.brand-logo{width:32px;height:32px;display:block;flex:none}
.mainnav{display:flex;align-items:center;gap:28px;flex:1;min-width:0}
.mainnav>a:not(.btn),.nav-dd-btn{display:inline-flex;align-items:center;min-height:44px;padding:0;font:500 15px/1 var(--font-sans);color:var(--color-text-muted);background:none;border:0;cursor:pointer;white-space:nowrap}
.mainnav>a:not(.btn):hover,.nav-dd-btn:hover,.nav-dd.is-open .nav-dd-btn{color:var(--color-primary)}
.mainnav>a[aria-current="page"],.nav-dd-btn.is-current{color:var(--color-primary);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:9px}
.mainnav-att{margin-left:auto}
.mainnav>.btn-claim{min-height:44px;padding:0 16px;font-size:14px;color:var(--color-primary);font-weight:600;white-space:nowrap}
.nav-dd{position:relative}
.nav-dd-btn::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.6}
.nav-dd.is-open .nav-dd-btn::after{transform:translateY(1px) rotate(225deg)}
.nav-dd-menu{display:none;position:absolute;left:-16px;top:calc(100% + 14px);z-index:41;min-width:280px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.nav-dd.is-open .nav-dd-menu{display:flex;flex-direction:column}
.nav-dd-menu a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);font:500 14.5px/1.3 var(--font-sans);color:var(--color-text);white-space:nowrap}
.nav-dd-menu a:hover,.nav-dd-menu a:focus-visible{background:var(--color-surface-2);color:var(--color-primary)}
.navtoggle{display:none}
@media (max-width:1100px){
  .masthead .mh-in{height:var(--header-h-sm);gap:16px}
  .brand{flex:0 1 auto;font-size:20px}
  .navtoggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;margin-left:auto;min-height:44px;min-width:44px;padding:0 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font:600 14px/1 var(--font-sans);cursor:pointer}
  .navtoggle-bars{position:relative;display:inline-block;width:16px;height:2px;background:currentColor}
  .navtoggle-bars::before,.navtoggle-bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor}
  .navtoggle-bars::before{top:-5px}.navtoggle-bars::after{top:5px}
  .masthead.nav-open .navtoggle-bars{background:transparent}
  .masthead.nav-open .navtoggle-bars::before{top:0;transform:rotate(45deg)}
  .masthead.nav-open .navtoggle-bars::after{top:0;transform:rotate(-45deg)}
  .mainnav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);max-height:calc(100vh - var(--header-h-sm));overflow:auto}
  .masthead.nav-open .mainnav{display:flex}
  .mainnav>a:not(.btn),.nav-dd-btn{width:100%;min-height:48px;justify-content:flex-start;font-size:16px;border-bottom:1px solid var(--color-border);text-align:left}
  .mainnav>a[aria-current="page"],.nav-dd-btn.is-current{text-decoration:none;box-shadow:inset 3px 0 0 var(--color-accent);padding-left:12px}
  .mainnav-att{margin-left:0}
  .nav-dd-menu{position:static;min-width:0;padding:4px 0 8px 12px;border:0;box-shadow:none;background:transparent}
  .nav-dd-menu a{white-space:normal;font-size:15px}
  .mainnav>.btn-claim{width:100%;min-height:48px;margin-top:16px;font-size:15px}
}
@media (max-width:640px){
  .masthead .mh-in{width:calc(100% - 2 * var(--gutter))}
  .mainnav{padding:8px var(--gutter) 20px}
  .brand{font-size:18px;gap:8px}
  .brand-logo{width:28px;height:28px}
}
@media (max-width:374px){.brand{font-size:16px}.navtoggle{padding:0 12px}.navtoggle-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

footer{background:var(--color-primary);color:var(--color-on-primary-muted);padding:56px 0 40px;font-size:14px;line-height:1.55}
.fbrand{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-bottom:28px;color:#FFFFFF;font:500 21px/1 var(--font-serif);letter-spacing:-.01em}
.fbrand img{width:28px;height:28px;filter:brightness(0) invert(1)}
.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.14)}
.fcol-h{margin:0 0 10px;font:600 12px/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:#FFFFFF}
.flinks{display:flex;flex-wrap:wrap;gap:4px 24px}
.flinks--col{flex-direction:column;gap:0}
.flinks a{display:inline-flex;align-items:center;min-height:40px;color:var(--color-on-primary-muted)}
.flinks a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.fhot{margin:24px 0 0;font-size:14px;color:var(--color-on-primary-muted)}
.fhot a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.fhot .fnw{white-space:nowrap}
.fdisc{margin:14px 0 0;max-width:900px;font-size:13px;line-height:1.6;color:var(--color-on-primary-muted)}
.fdisc strong{color:#FFFFFF;font-weight:600}
.fcopy{margin:12px 0 0;font-size:13px;color:var(--color-on-primary-muted)}
.fby a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
footer :focus-visible{outline-color:#FFFFFF}
@media (max-width:820px){.fcols{grid-template-columns:1fr 1fr;gap:28px 16px}.flinks a{min-height:44px}footer{padding:44px 0 32px}}

/* ---- form controls: one primitive for every text field, select and textarea (7 Oct 2026). The :not() chain gives it
   (0,3,1) specificity so a template's ".x input" rule can no longer shrink a field below the floor: 48px tall, 8px
   radius, 16px type (no iOS zoom), a 3:1 border colour. It sets the border colour only, so a field a component draws
   without a border stays borderless. Checkboxes, radios, file and button inputs are untouched. ---- */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
select:not([multiple]):not([size]),textarea:not([rows="1"]){min-height:48px;border-radius:var(--radius-md);font-size:16px;border-color:var(--color-border-strong)}
textarea:not([rows="1"]){min-height:96px}
input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}
input[type="checkbox"],input[type="radio"]{accent-color:var(--color-primary)}

/* ---- page hierarchy (7 Oct 2026). One hero band and one section rhythm for every template:
   navy hero (--surface-hero) with a 3px gold rule -> sections alternating cool blue-grey (.alt-b) and white (.alt-a)
   -> the one tan (--surface-warm #F4EFE6) for help / next-step bands -> navy footer. Cards and panels stay white on all of them.
   Contrast on the navy #17313D: white 13.6:1, --on-hero-2 #D3D9DC 9.9:1, --on-hero-3 #AEBAC0 6.6:1 (small meta),
   gold text --color-accent-on-primary #D8B36A 6.9:1, gold button #B88A3B vs navy 4.4:1 (non-text), its text #1B1408 5.8:1.
   On the cool #ECF1F3 and sand #F4EFE6: body text >= 13:1, muted #5C6B72 4.8:1, link #274857 8.6:1. ---- */
main > .phero{background:var(--surface-hero);color:var(--on-hero-2);border-bottom:3px solid var(--color-accent)}
main > .phero h1,main > .phero h1 *{color:var(--on-hero)}
main > .phero :is(.eyebrow,.tg-eyebrow){color:var(--color-accent-on-primary)}
main > .phero :is(.lede,.hero-lede,.tb-sum,.hero-counts,.tb-free),main > .phero :is(.lede,.hero-lede,.tb-sum,.hero-counts) span{color:var(--on-hero-2)}
main > .phero .tb-count{color:var(--on-hero)}
main > .phero .hero-counts i{color:var(--on-hero-3)}
main > .phero :is(.lede,.hero-lede,.hero-counts,.tb-free,.tb-sum) a,main > .phero > .wrap > p > a:not(.btn){color:var(--on-hero);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-accent-on-primary)}
main > .phero .tb-facts li{background:rgba(255,255,255,.08);color:var(--on-hero);border:1px solid var(--on-hero-rule)}
main > .phero .btn-solid{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}
main > .phero .btn-solid:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
main > .phero .btn-line{background:transparent;color:var(--on-hero);border-color:rgba(255,255,255,.55)}
main > .phero .btn-line:hover{background:rgba(255,255,255,.08);border-color:var(--on-hero)}
main > .phero :focus-visible{outline-color:var(--on-hero)}
/* white cards inside a hero (district stats, the claim page's firm finder) keep the light-surface text colours */
main > .phero :is(.jd-kpi > div,.findfirm){color:var(--color-text)}
main > .phero :is(.jd-kpi > div,.findfirm) :is(span,small,.ff-hint){color:var(--color-text-muted)}
main > .phero :is(.jd-kpi > div,.findfirm) :focus-visible{outline-color:var(--color-focus)}
main > .phero .crumbs,main > .phero .crumbs a{color:var(--on-hero-3);border-color:var(--on-hero-rule)}
main > .phero .crumbs [aria-current],main > .phero .crumbs span:last-child{color:var(--on-hero-2)}
/* the breadcrumb directly above a hero joins the navy band (full-bleed paint behind a .wrap-width nav) */
main > .crumbs:has(+ .phero){background:var(--surface-hero);box-shadow:0 0 0 100vmax var(--surface-hero);clip-path:inset(0 -100vmax);color:var(--on-hero-3);border-bottom-color:var(--on-hero-rule)}
main > .crumbs:has(+ .phero) a{color:var(--on-hero-3)}
main > .crumbs:has(+ .phero) a:hover{color:var(--on-hero)}
main > .crumbs:has(+ .phero) > :last-child{color:var(--on-hero-2)}
main > .crumbs:has(+ .phero) :focus-visible{outline-color:var(--on-hero)}
/* section rhythm: the page shell tags plain sections alt-a / alt-b in turn (build-pages.js alternateSections) */
.sec.alt-a{background:var(--surface-canvas)}
.sec.alt-b{background:var(--surface-cool)}
/* ---- firm profiles: three surface levels (owner review, 7 Oct 2026) ----
   1 page: white.  2 cards: primary modules (At a glance, About, Office & hours, Services, Coverage & courts) are white with a
   blue-grey line and soft elevation; utility groups (Frequently asked, Nearby) sit on the blue-grey surface instead.
   3 inner items: tiles, FAQ rows, nearby firms and notes are their own sub-surfaces inside the card.
   The sidebar is the action area: the contact panel is a blue-grey panel with a navy top rule, the claim card a white card.
   --card-line #CCD5DA is the blue-grey hairline used for these edges (decorative; every control keeps its 3:1 border). */
.pwrap .pcard{background:var(--color-surface);border:1px solid var(--card-line);border-radius:var(--radius-lg);box-shadow:var(--card-lift)}
.pwrap .pmain{gap:24px}
.pwrap .pcard:has(.faqs),.pwrap .pcard--nearby{background:var(--surface-cool);box-shadow:none}
.pwrap .pcard .faqs{border-top:0;gap:8px}
.pwrap .pcard .faq{background:var(--color-surface);border:1px solid var(--tile-line);border-radius:var(--radius-md);padding:0 16px}
.pwrap .pcard--nearby .featside{border-top:0;gap:8px}
.pwrap .pcard--nearby .featside a{background:var(--color-surface);border:1px solid var(--tile-line);border-radius:var(--radius-md);padding:12px 14px}
/* tiles in Services and Coverage & courts: the same two states, each a clear sub-surface on the white card */
.pwrap .svct:not(.svct--off){background:#E1E8EC;border-color:var(--color-secondary)}
.pwrap .svct--off{background:color-mix(in srgb,var(--color-accent-wash) 45%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-accent-soft) 60%,var(--color-surface))}
/* Contour-line page background (owner pick, 8 Oct 2026): firm profiles only, on the page ground behind the cards. Every block of
   text on these pages sits inside an opaque card or the navy header panel, so no wording is printed over the lines. */
main:has(.pwrap--side){background-color:var(--color-background);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' fill='none' stroke='%2317313D' stroke-opacity='.07' stroke-width='1.2'%3E%3Cpath d='M-20 420C80 360 140 440 240 390S400 300 540 360'/%3E%3Cpath d='M-20 380C80 320 140 400 240 350S400 260 540 320'/%3E%3Cpath d='M-20 340C80 280 140 360 240 310S400 220 540 280'/%3E%3Cpath d='M-20 300C80 240 140 320 240 270S400 180 540 240'/%3E%3Cpath d='M-20 120C100 60 170 150 270 100S420 20 540 80'/%3E%3Cpath d='M-20 160C100 100 170 190 270 140S420 60 540 120'/%3E%3Cpath d='M-20 200C100 140 170 230 270 180S420 100 540 160'/%3E%3C/svg%3E");background-size:520px 520px}
.pwrap .svct--off b,.pwrap .svct--off em{color:var(--color-text-muted)}
/* Coverage & courts: the intro bar needs air before the tiles, and the tiles read at full strength */
.faq-lab{font-weight:700;color:var(--ink)}
.pwrap .pcard--courts .scope{margin:16px 0 20px}
.pwrap .pcard--courts .svcgrid{opacity:1;gap:12px}
/* sidebar: the action area */
.pwrap .pside .claimcard{background:var(--color-surface);border:1px solid var(--card-line);border-radius:var(--radius-lg);box-shadow:var(--card-lift)}
.pwrap .pside .cpanel{margin-top:20px;padding:20px 20px 22px;background:var(--surface-cool);border:1px solid var(--card-line);border-top:3px solid var(--color-primary);border-radius:var(--radius-lg)}
.pwrap .pside .cpanel-body{margin-top:10px;padding:0;border:0;background:transparent}
/* profile header (owner pick, option A, 8 Oct 2026): a navy panel with white name, light grey town line, white-outline chips
   and a solid green "Confirmed by the firm" chip (white on #1F6B4A, 6.4:1) */
.pwrap .phead{background:var(--color-primary);border-radius:var(--radius-lg);padding:28px 28px 26px;align-items:center;gap:20px}
.pwrap .phead h1{color:#FFFFFF !important;margin:0 0 14px}
.pwrap .phead h1 span{color:var(--color-on-primary-muted) !important}
.pwrap .phead .pav{background:transparent;border:1px solid rgba(255,255,255,.55);color:#FFFFFF}
.pwrap .phead .pills{gap:8px}
.pwrap .phead .pill,.pwrap .phead .badge,.pwrap .phead .vbadge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.45);color:#FFFFFF}
.pwrap .phead .pill b{color:#FFFFFF}
.pwrap .phead .pill .stars{color:var(--color-accent-on-primary)}
.pwrap .phead .pill--ok{background:var(--color-success);border-color:var(--color-success);color:#FFFFFF;font-weight:600}
@media (max-width:820px){.pwrap .phead{padding:20px 18px}}
.pwrap .pside .cpanel .consult-form{padding:0;border:0;background:transparent}
/* card header bands (owner, 7 Oct 2026): every profile module's heading is a navy band across the top of its card,
   white text 13.6:1. Phones: the fold tap row is the band, closed or open. */
.pwrap .pmain > .pcard{padding-top:0}
.pwrap .pmain > .pcard > h2{margin:0 -28px 22px;padding:15px 28px;background:var(--color-primary);color:#FFFFFF;font-size:20px !important;line-height:1.3;border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}
.pwrap .pmain > .pcard:has(.faqs) > h2,.pwrap .pmain > .pcard--nearby > h2{margin-bottom:20px}
/* phones fold secondary modules into tap rows (fold.js): a folded module is just its row, drawn as the card; an open one
   keeps the card and its row sits flush inside it, so there is never a box inside a box */
@media (max-width:820px){
  .pwrap .pmain > .pcard > h2{margin:0 -16px 18px;padding:13px 16px;font-size:18px !important}
  .pwrap .pcard.is-folded{padding:0;background:transparent;border:0;box-shadow:none}
  .pwrap .pcard .fold-btn{color:#FFFFFF;background:var(--color-primary);border:1px solid var(--color-primary);font-family:var(--font-serif);font-weight:400;font-size:18px;letter-spacing:-.005em}
  .pwrap .pcard .fold-btn i{background:rgba(255,255,255,.16);color:#FFFFFF;font-family:var(--font-sans);font-size:18px;font-weight:600}
  .pwrap .pcard .fold-btn:focus-visible{outline-color:var(--color-focus)}
  .pwrap .pcard.is-folded .fold-btn{width:100%;margin:0;border-radius:var(--radius-lg);box-shadow:var(--card-lift)}
  .pwrap .pcard[data-fold]:not(.is-folded){padding:0 16px var(--space-5)}
  .pwrap .pcard[data-fold]:not(.is-folded) .fold-btn{width:calc(100% + 32px);margin:0 -16px 18px;min-height:48px;padding:0 16px;border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;box-shadow:none}
  /* open: the band already names the module; its h2 stays in the page for screen readers */
  .pwrap .pcard[data-fold]:not(.is-folded) > h2{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* help and next-step bands: the one tan, whatever their place in the alternation */
main > .sec:is(#local-help,#help,#free,#next-step,#find-help){background:var(--surface-warm)}

/* the sticky header is 72px (64px under 1100px), so anchored sections need to clear it */
[id]{scroll-margin-top:96px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- hero ---- */
.hero{padding:46px 0 50px;border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.hero h1{font-size:var(--fs-page-h1);margin-bottom:16px}
.hero .lede{font-size:16.5px;max-width:52ch}

/* toggle */
.toggle{display:inline-grid;grid-auto-flow:column;gap:3px;margin-top:26px;padding:4px;background:var(--surface);border:1px solid var(--rule-2);border-radius:100px}
.toggle button{
  display:inline-flex;align-items:center;gap:7px;border:0;border-radius:100px;
  padding:11px 21px;background:none;color:var(--ink-2);cursor:pointer;
  font:600 14px/1 "Inter","Inter Fallback","Inter Fallback 2",sans-serif;transition:background-color .15s,color .15s;
}
.toggle button:hover{color:var(--ink)}
.toggle button[aria-selected="true"]{background:var(--btn-bg);color:var(--btn-ink)}
.toggle .spark{font-size:12px;line-height:1}
@media (prefers-reduced-motion:reduce){.toggle button{transition:none}}

/* finder */
.finder{margin-top:14px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:22px;box-shadow:var(--shadow)}
.finder[hidden]{display:none}
.finder-legend{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.finder-legend--lg{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:20px;font-weight:400;letter-spacing:-.015em;text-transform:none;color:var(--ink);margin-bottom:14px}
.finder-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.finder-row--single{grid-template-columns:1fr auto}
.finder-row--single .btn{grid-column:auto}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field-wide{grid-column:1/-1}
.field label{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.field select,.field input{
  appearance:none;width:100%;min-height:52px;padding:0 14px;
  border:1px solid var(--rule-2);border-radius:3px;background:var(--surface);color:var(--ink);
  font:400 15px/1.3 "Inter","Inter Fallback","Inter Fallback 2",sans-serif;
}
.field select{
  padding-right:40px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.field input::placeholder{color:var(--ink-3)}
.finder .btn{grid-column:1/-1;min-height:52px}
.finder-note{margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.free-note{margin-top:16px;font-size:15px;font-weight:700;color:var(--ink-2)}

/* quiz — five steps, in place, no page change */
.quiz-head{margin-bottom:20px}
.quiz-bar{height:3px;background:var(--sunken);border-radius:2px;overflow:hidden;margin-top:9px}
.quiz-bar i{display:block;height:100%;background:var(--link);transition:width .25s ease}
@media (prefers-reduced-motion:reduce){.quiz-bar i{transition:none}}
.qstep{border:0;margin:0;padding:0;min-width:0}
.qstep[hidden]{display:none}
.qstep + .qstep{margin-top:26px}
.qstep--nudge .qopt-b,.qstep--nudge .qstates{border-color:var(--focus)}
.qlegend{padding:0;margin-bottom:14px}
.qh{display:block;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:22px;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.qsub{display:block;margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.qopts{display:grid;gap:9px}
.qopt{position:relative;display:block;cursor:pointer}
.qopt input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.qopt-b{display:block;border:1px solid var(--rule-2);border-radius:3px;padding:13px 15px;background:var(--surface);transition:border-color .12s,background-color .12s}
.qopt-b b{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.qopt-b em{display:block;margin-top:3px;font-style:normal;font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.qopt input:hover + .qopt-b{border-color:var(--ink-3)}
.qopt input:checked + .qopt-b{border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link);background:var(--surface)}
.qopt input:focus-visible + .qopt-b{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.qopt-b{transition:none}}
.qstates{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:270px;overflow-y:auto;padding:4px;border:1px solid var(--rule);border-radius:3px;background:var(--ground)}
.qstate{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:9px 11px;border:1px solid transparent;border-radius:2px;background:var(--surface);cursor:pointer;font-size:13.5px}
.qstate input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.qstate em{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.06em;color:var(--ink-3)}
.qstate:hover{border-color:var(--rule-2)}
.qstate:has(input:checked){border-color:var(--link);background:var(--surface-2)}
.qstate:has(input:checked) em{color:var(--link)}
.qstate:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}
.qcontact{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qcontact .field:first-child,.qcontact .field:nth-child(2){grid-column:1/-1}
.quiz-done{display:none}
.quiz-results{display:flex;flex-wrap:wrap;margin:14px 0 10px}
#panel-match[data-done="1"] .qstep,#panel-match[data-done="1"] .quiz-nav,#panel-match[data-done="1"] .quiz-head,#panel-match[data-done="1"] .finder-note{display:none}
#panel-match[data-done="1"] .quiz-done{display:block}
.senderr{margin-top:12px;font-size:13px;font-weight:600;color:var(--p-j)}
.senderr[hidden]{display:none}
.quiz-nav{display:flex;gap:10px;margin-top:20px}
.quiz-nav .btn{min-height:50px;flex:1}
.quiz-nav .quiz-back{flex:0 0 auto;padding-inline:20px}

/* about card in hero */
.about{background:var(--card-bg);color:var(--card-ink);border-radius:4px;padding:28px;box-shadow:0 22px 52px rgba(22,29,27,.16)}
.about-eyebrow{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--card-accent);margin-bottom:12px}
.about-h{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:500;font-size:clamp(27px,2.4vw,34px);line-height:1.12;letter-spacing:-.02em;color:var(--card-ink);margin:0;text-wrap:balance}
.about-lede{margin-top:12px;font-size:13.5px;line-height:1.55;color:var(--card-ink-2)}
.stats{margin:18px 0 0;border-top:1px solid var(--card-rule)}
.stats div{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--card-rule)}
.stats dt{margin:0;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:17px;line-height:1.15;letter-spacing:-.015em;color:var(--card-accent);font-variant-numeric:tabular-nums}
.stats dd{margin:0;font-size:13px;line-height:1.4;color:var(--card-ink-2)}
.served{margin-top:16px}
.served-label{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--card-ink-2)}
.served-list{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:7px 0 0;padding:0}
.served-list li{padding:4px 9px;border:1px solid var(--card-rule);border-radius:100px;font-size:11.5px;line-height:1.3;color:var(--card-ink)}
.served-list li.wt{color:var(--card-ink);border-color:var(--card-ink-2);font-weight:600}

.about-person{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--card-rule)}
.about-avatar{position:relative;width:44px;height:44px;flex:none;border:1px solid var(--card-rule);border-radius:50%;display:grid;place-items:center;overflow:hidden;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:16px;color:var(--card-accent)}
.about-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.about-person b{font-weight:600;font-size:14px}
.about-person span{display:block;font-size:11.5px;color:var(--card-ink-2);margin-top:2px}
.about-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.about-actions .btn{flex:1 1 auto;min-width:150px;padding:10px 14px;font-size:13px}
.btn-li{background:#0A66C2;color:#FFFFFF}
.btn-li:hover{background:#08529B}
.btn-press{background:transparent;color:var(--card-ink);border-color:var(--card-rule)}
.btn-press:hover{border-color:var(--card-accent);color:var(--card-accent)}
.about-more{display:inline-block;margin-top:14px;color:var(--card-accent);font-weight:600;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:2px}

/* ---- coverage map ---- */
.cover{padding:64px 0;border-bottom:1px solid var(--rule)}
.mapwrap{overflow-x:auto;padding:8px 0 4px}
.usmap{display:grid;grid-template-columns:repeat(11,minmax(46px,1fr));grid-template-rows:repeat(8,auto);gap:6px;min-width:560px;max-width:760px;margin:22px 0 0}
.tile{display:grid;place-items:center;aspect-ratio:1;border-radius:3px;border:1px solid transparent;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.04em;transition:transform .12s}
.tile:hover{transform:translateY(-2px);border-color:var(--ink)}
.tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.tile{transition:none}.tile:hover{transform:none}}
.t-j{background:color-mix(in srgb,var(--p-j) 16%,var(--surface));color:var(--p-j)}
.t-n{background:color-mix(in srgb,var(--p-n) 16%,var(--surface));color:var(--p-n)}
.t-d{background:color-mix(in srgb,var(--p-d) 18%,var(--surface));color:var(--p-d)}
.covstats{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin-top:30px;border-top:1px solid var(--rule)}
.covstats div{padding:16px 0;border-bottom:1px solid var(--rule)}
.covstats dt{margin:0;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:30px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.covstats dd{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--ink-2)}

/* ---- SEO annotations: a review aid, off by default, shared by every page ---- */
.seotoggle{display:flex;align-items:center;gap:8px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:none;border:0;padding:6px 0;white-space:nowrap}
.seotoggle:hover{color:var(--ink)}
.seotoggle .dot{width:26px;height:15px;border-radius:100px;background:var(--rule-2);position:relative;transition:background-color .15s;flex:none}
.seotoggle .dot::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--surface);transition:transform .15s}
.seotoggle[aria-pressed="true"]{color:var(--link)}
.seotoggle[aria-pressed="true"] .dot{background:var(--link)}
.seotoggle[aria-pressed="true"] .dot::after{transform:translateX(11px)}
@media (prefers-reduced-motion:reduce){.seotoggle .dot,.seotoggle .dot::after{transition:none}}
.seonote{display:none;margin:14px 0 0;padding:13px 15px;border:1px dashed var(--rule-2);border-radius:3px;background:var(--surface-2);font-size:13px;line-height:1.6;color:var(--ink-2);max-width:74ch}
.seonote b{color:var(--ink);display:block;margin-bottom:4px;font-size:10px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
body[data-seo="on"] .seonote{display:block}

/* alternating page bands — every other section takes the tinted ground */
.band-alt{background:var(--surface-2)}

/* ---- listing tiers ---- */
.tiers{padding:64px 0;border-bottom:1px solid var(--rule)}
/* subgrid keeps the tier headers and the sample bodies on the same baselines across all three cards */
.slist{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:20px}
.scard{display:grid;grid-row:span 2;grid-template-rows:subgrid;background:var(--surface);border:1px solid var(--rule);border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}
.scard--featured{border-color:var(--link);box-shadow:0 6px 22px rgba(22,29,27,.09)}
.tier{padding:22px 24px;border-bottom:1px solid var(--rule)}
.scard--featured .tier{background:var(--card-bg);border-bottom-color:var(--card-bg)}
.tier-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.tier-name{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:21px;letter-spacing:-.015em;color:var(--ink)}
.scard--featured .tier-name{color:var(--card-ink)}
.tier-price{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.scard--featured .tier-price{color:var(--card-accent)}
.tier-what{margin-top:11px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.scard--featured .tier-what{color:var(--card-ink-2)}
.sample{padding:22px 24px}
.tag{display:inline-block;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--rule-2);border-radius:2px;color:var(--ink-3);margin-bottom:16px}
.tag--featured{border-color:var(--link);color:var(--link)}
.scard--featured .tier-top{align-items:center}
.tier-badge{display:inline-flex;align-items:center;gap:6px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--card-accent-ink);background:var(--card-accent);padding:5px 11px;border-radius:100px;white-space:nowrap}
.fstar{color:var(--link);margin-right:8px}
.sample .tag{display:table;margin-left:auto;margin-right:auto}
.sample h3{margin-bottom:4px;text-align:center}
.sample .where{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11.5px;letter-spacing:.05em;color:var(--ink-3);text-align:center}
.srow{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--rule);font-size:14px}
.srow dt{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0;padding-top:3px}
.srow dd{margin:0;color:var(--ink-2)}
.sample dl{margin:18px 0 0}
.tiers-note{margin-top:24px;font-size:13.5px;line-height:1.6;color:var(--ink-2);max-width:82ch}
.tiers-note b{color:var(--ink);font-weight:600}

/* ---- 50 state index, grouped by procedure ---- */
.index{padding:64px 0;border-bottom:1px solid var(--rule)}
.options{display:grid;grid-template-columns:76px 1fr 56px 1fr;gap:16px 18px;align-items:stretch;margin-top:26px;border-top:1px solid var(--rule-2);padding-top:30px}
.opt{display:flex;flex-direction:column}
.opt .finderbox{flex:1}
.opt .finder.quiz{flex:1}
/* Desktop hover: the option under the pointer lifts, the other recedes, so the
   two choices stop blending on scroll-over. Pointer-hover devices only. */
@media (hover:hover) and (min-width:1001px){
  .opt{transition:opacity .18s ease}
  .opt .finderbox,.opt .finder.quiz{transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
  .opt:hover .finderbox,.opt:hover .finder.quiz{border-color:var(--btn-bg);box-shadow:0 14px 34px rgba(22,29,27,.16);transform:translateY(-2px)}
  .opt:hover .opt-label{color:var(--btn-bg)}
  .options:has(.opt:hover) .opt:not(:hover){opacity:.55}
}
.opt-label{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.opt-h{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:21px;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.opt-sub{font-size:13.5px;line-height:1.55;color:var(--ink);margin:3px 0 14px;max-width:52ch;min-height:42px}
.orbar{display:flex;flex-direction:column;align-items:center;gap:10px;align-self:stretch}
.orbar i{flex:1;width:1px;background:var(--rule-2)}
.orbar span{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--rule-2);background:var(--surface);display:grid;place-items:center;font-weight:600;font-size:13px;color:var(--ink-2)}
.opt .finder{margin-top:0}
.quiz-intro{margin-bottom:14px}
.finderbox{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:6px;box-shadow:var(--shadow);overflow:hidden}
.fstep{padding:20px 22px}
.fstep + .fstep{border-top:1px solid var(--rule)}
.fstep-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.fstep-n{flex:none;width:26px;height:26px;border:1px solid var(--rule-2);border-radius:50%;display:grid;place-items:center;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:12px;color:var(--ink-2);background:var(--ground)}
.fstep-h{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.fstep-sub{font-size:13px;color:var(--ink-3);margin-top:2px}
.finder--bare{margin:0;border:0;box-shadow:none;padding:0;background:none}
.freenote{margin:auto 22px 18px;padding-top:14px;font-size:12.5px;color:var(--ink-2)}
.freenote--top{margin:14px 0 0;padding-top:0;font-weight:600}
/* Progressive disclosure: the options row waits until a track is picked.
   The noscript style above re-shows it when JS is unavailable. */
.options[data-wait]{display:none}
.options{scroll-margin-top:88px}
.opt-label--big{font-size:14px;letter-spacing:.2em;margin-bottom:18px}
.trackrow{margin-top:48px;padding-bottom:44px;display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:start}
.stepdot{width:62px;height:62px;border-radius:50%;background:var(--btn-bg);border:2px solid var(--btn-bg);display:grid;place-items:center;align-content:center;gap:1px;color:var(--btn-ink);margin-top:8px}
.stepdot i{font-style:normal;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.stepdot b{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:24px;line-height:1;font-weight:500}
.tcards.tcards--wide{max-width:none;grid-template-columns:1fr 56px 1fr;gap:24px;align-items:stretch}
.tcards--wide .tcard{padding:50px 64px 50px 44px;gap:14px;min-height:300px;align-content:start}
.tcards--wide .tcard b,
.tcards--wide .tcard .tcard-h{font-size:22px;letter-spacing:-.01em}
.tcards--wide .tcard span{font-size:17px;line-height:1.65;max-width:44ch}
.tcards--wide .tcheck{width:34px;height:34px;font-size:16px;top:22px;right:22px}
.options-lab{align-self:start;margin-top:0}
@media (min-width:1001px){
  .hero>.wrap{display:flex;flex-direction:column;min-height:calc(100vh - 76px)}
  .trackrow{flex:1}
}
.method-cta{margin-top:24px}
.maud[hidden]{display:none}
.method-head{max-width:78ch;margin-bottom:40px}
.method-head p{color:var(--ink-2);margin-top:16px;max-width:70ch}
.msets{display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;align-items:start}
@media (max-width:1000px){
  .msets{grid-template-columns:1fr}
  .msets>.mset+.mset{margin-top:34px;padding-top:26px;border-top:1px solid var(--rule-2)}
}
.mset-h{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;text-align:center}
.mset-h--next{margin-top:40px;padding-top:28px;border-top:1px solid var(--rule-2)}
.mset-intro{font-size:14px;color:var(--ink);margin-bottom:18px;max-width:60ch;margin-left:auto;margin-right:auto;text-align:center}
@media (min-width:1001px){.mset-intro{min-height:68px}}
/* Shorter screens (typical laptops, esp. at 125% Windows scaling): compact the
   hero + Step 1 so the whole first view fits above the fold. */
@media (max-height:900px){
  .hero{padding:30px 0 36px}
  .hero-top{gap:26px}
  .lede{margin-top:12px}
  .trackrow{margin-top:26px;padding-bottom:26px}
  .opt-label--big{margin-bottom:12px}
  .tcards--wide .tcard{min-height:0;padding:30px 64px 30px 32px;gap:10px}
  .tcards--wide .tcard b,
  .tcards--wide .tcard .tcard-h{font-size:20px}
  .tcards--wide .tcard span{font-size:15.5px}
  .options{margin-top:20px;gap:12px 16px}
  .opt-h{font-size:19px}
  .opt-sub{margin:2px 0 10px;min-height:0}
  .opt .finder{padding:16px}
  .fstep{padding:16px 20px}
  .fstep-head{margin-bottom:10px}
  .qstates{max-height:180px}
  .quiz-head{margin-bottom:10px}
}
.hero-top{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}
@media (max-width:1000px){.hero-top{grid-template-columns:1fr;gap:18px}}
.fquizrow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:16px 22px;background:var(--ground)}
.fquizrow .fstep-h{font-size:14.5px}
.fquizrow .fstep-sub{max-width:40ch}
.quizlink{font:inherit;font-size:14px;font-weight:600;color:var(--link);background:none;border:0;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.quizlink:hover{color:var(--ink)}
.quizclose{display:block;margin-bottom:12px;font-size:12.5px}
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tcard{position:relative;text-align:left;padding:16px 40px 16px 16px;border:1px solid var(--rule-2);border-radius:4px;background:var(--surface);cursor:pointer;display:grid;gap:7px;font:inherit;color:inherit}
.tcard:hover{border-color:var(--ink-3)}
.tcard[aria-pressed="true"]{background:var(--surface-2);border-color:var(--btn-bg)}
.tcard b,
.tcard .tcard-h{font-size:15px;color:var(--ink)}
.tcard span{font-size:13px;line-height:1.55;color:var(--ink-2)}
.tcheck{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--btn-bg);color:var(--btn-ink);display:none;place-items:center;font-size:11px;font-style:normal}
.tcard[aria-pressed="true"] .tcheck{display:grid}
.sgroups{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto 1fr auto;gap:20px;align-items:stretch}
/* each card shares the four row tracks (head / blurb / states / notes), so the
   Notes rule sits at the same height in all three columns */
.sgroup{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:24px;box-shadow:var(--shadow)}
.sgroup-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--rule-2)}
.sgroup-title{display:flex;align-items:center;gap:10px;font-size:19px}
.sgroup-title i{width:20px;height:4px;border-radius:1px;flex:none}
.sgroup-count{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.sgroup-blurb{margin:12px 0 16px;font-size:13px;line-height:1.5;color:var(--ink-2)}
/* multi-column runs A–Z down a column before starting the next */
.states{columns:2;column-gap:22px;margin-bottom:20px}
.st{display:grid;grid-template-columns:24px 1fr;align-items:baseline;gap:8px;padding:7px 2px;border-bottom:1px solid var(--rule);break-inside:avoid}
.st:hover{background:var(--surface-2)}
.st-code{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:.05em}
.st-name{font-size:14px;font-weight:500}
.sgroup-notes{align-self:start;padding-top:16px;border-top:1px solid var(--rule)}
.sgroup-notes-label{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:9px}
.sgroup-notes dl{margin:0;display:grid;gap:6px}
.sgroup-notes div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:baseline}
.sgroup-notes dt{margin:0;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.05em;color:var(--ink-3)}
.sgroup-notes dd{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink-2)}

/* ---- jurisdiction strip ---- */
.jur{padding:64px 0;border-bottom:1px solid var(--rule)}
.jur-head{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;margin-bottom:14px}
.jur-head p{color:var(--ink-2);max-width:56ch;margin-top:10px}
.legend{display:flex;flex-direction:column;gap:9px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.06em;color:var(--ink-2);flex:none;padding-bottom:4px}
.legend span{display:flex;align-items:center;gap:9px;white-space:nowrap}
.legend i{width:13px;height:13px;border-radius:3px;display:block;flex:none}
.jscale{margin:22px 0 18px;font-size:13px;color:var(--ink-2)}
.jscale b{color:var(--ink);font-weight:600}
.jchart{display:grid;gap:30px}
.jgroup-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:9px}
.jgroup-label{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink)}
.jgroup-scale{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.jaxis{display:grid;grid-template-columns:40px 158px 1fr 92px 132px;gap:18px;padding:2px 4px 0}
.jaxis-t{position:relative;display:flex;justify-content:space-between;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;letter-spacing:.05em;color:var(--ink-3)}
.jaxis-t i{font-style:normal;position:relative;padding-top:7px}
.jaxis-t i::before{content:"";position:absolute;top:0;width:1px;height:5px;background:var(--rule-2)}
.jaxis-t i:nth-child(1)::before{left:0}
.jaxis-t i:nth-child(2)::before{left:50%}
.jaxis-t i:nth-child(3)::before{right:0}
.jtable{border-top:1px solid var(--rule)}
.jrow{display:grid;grid-template-columns:40px 158px 1fr 92px 132px;align-items:center;gap:18px;padding:14px 4px;border-bottom:1px solid var(--rule)}
.jrow-days{text-align:right;font-size:12px;color:var(--ink-3);white-space:nowrap}
.jrow-days b{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:19px;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;margin-right:3px}
.jrow:hover{background:var(--surface)}
.jrow-code{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:.06em}
.jrow-name{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:20px}
.jrow-bar{position:relative;height:6px;background:var(--sunken);border-radius:1px;min-width:60px}
.jrow-bar i{display:block;height:100%;border-radius:1px;min-width:2px}
/* national-average reference line, shared by every row via --avg on .jchart */
.jrow-bar::after{content:"";position:absolute;left:var(--avg);top:-5px;bottom:-5px;width:1px;background:var(--rule-2)}
.jgroup--noavg .jrow-bar::after{display:none}
.jrow-proc{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.p-j{color:var(--p-j)}
.p-n{color:var(--p-n)}
.p-d{color:var(--p-d)}
i.p-j{background:var(--p-j)}
i.p-n{background:var(--p-n)}
i.p-d{background:var(--p-d)}
.jnote{margin-top:22px;font-size:12.5px;line-height:1.6;color:var(--ink-3);max-width:82ch}
.jnote a{color:var(--link);border-bottom:1px solid currentColor}

/* ---- methodology ---- */
.method{padding:64px 0;border-bottom:1px solid var(--rule)}
.method-link{color:var(--link);font-weight:600;border-bottom:1px solid currentColor;padding-bottom:2px}
.method-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:start}
.method-grid>div>h2{margin-bottom:0}
.method-grid>div>p{color:var(--ink-2);margin-top:16px}
.checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.checks li{display:grid;grid-template-columns:26px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--rule)}
.checks li > div > b{display:block;font-size:15px;font-weight:600;margin-bottom:3px}
.checks p b{font-weight:600}
.checks p{font-size:14px;color:var(--ink-2)}
.checks .num{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:500;color:var(--ink-3);padding-top:3px}

/* ---- claim ---- */
.claim{padding:64px 0;border-bottom:1px solid var(--rule)}
.claim .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.claim p{color:var(--ink-2);margin-top:12px;max-width:52ch}
.claim-actions{display:flex;gap:12px;flex-wrap:wrap}

.frow{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid var(--rule-2)}

.disclaimer{margin-top:26px;font-size:12.5px;line-height:1.65;color:var(--card-ink-2);max-width:88ch}
.disclaimer strong{color:var(--card-ink);font-weight:600}

/* ---- responsive ---- */
@media (max-width:1040px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .about{max-width:660px}
}
@media (max-width:1000px){
  .method-grid{grid-template-columns:1fr;gap:36px}
  .sgroups{grid-template-columns:1fr}
  .tcards{grid-template-columns:1fr}
  .options{grid-template-columns:1fr}
  .trackrow{grid-template-columns:1fr;gap:12px}
  .stepdot{width:50px;height:50px;margin-top:0}
  .stepdot b{font-size:19px}
  .orbar{flex-direction:row;padding-top:0}
  .orbar i{height:1px;width:auto;flex:1}
  .states{columns:3}
  .slist{grid-template-columns:1fr;grid-template-rows:none}
  .scard{grid-row:auto;grid-template-rows:none}
}

@media (max-width:820px){

  .jrow{grid-template-columns:38px 1fr 84px;gap:12px}
  .jrow-bar,.jrow-proc{display:none}
  /* bars are hidden here, so the axis has nothing to measure */
  .jaxis{display:none}
  .jgroup-scale{white-space:normal}
  .jrow-name{font-size:17px}
  .finder-row{grid-template-columns:1fr}
  .states{columns:2}
  .qstates{grid-template-columns:1fr}
  .qcontact{grid-template-columns:1fr}
  .stats div{grid-template-columns:132px 1fr;gap:14px}
}
@media (max-width:820px){
  .covstats{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .wrap{width:calc(100% - 32px)}
  /* masthead: brand + claim button only, sized to fit a phone */

  .seotoggle{display:none}
  .btn-cp{display:none}
  .jgroup-head{flex-direction:column;align-items:flex-start;gap:4px}
  .cover{padding:44px 0}
  .hero{padding:44px 0 40px}
  .jur,.index,.method,.tiers,.claim{padding:44px 0}
  .about{padding:26px}
  .stats div{grid-template-columns:1fr;gap:2px}
  .toggle{width:100%;grid-auto-flow:row;grid-auto-rows:1fr;border-radius:6px}
  .toggle button{justify-content:center;border-radius:4px}
  .states{columns:1}
  .sgroup-head{flex-direction:column;align-items:flex-start;gap:6px}
  .quiz-nav{flex-wrap:wrap}

}

/* ---- brief A1 / A9: homeowner vs investor split ---- */
.tcards--wide .tcard b,

/* ---- brief A1 / A9: homeowner vs investor split ---- */
.tcards--wide .tcard .tcard-h{font-size:clamp(24px,2.3vw,30px);line-height:1.12}
.tcard[data-trk="home"]{background:var(--color-surface-2);border-color:var(--color-border)}
.tcard[data-trk="home"][aria-pressed="true"]{background:var(--color-surface-3);border-color:var(--color-primary)}
.tcard[data-trk="inv"]{background:var(--color-accent-wash);border-color:var(--color-accent-soft)}
.tcard[data-trk="inv"][aria-pressed="true"]{background:var(--color-accent-soft);border-color:var(--color-accent-text)}
.tcards--wide .orbar i{width:2px;background:var(--rule-2)}
@media (max-width:860px){
  .tcards.tcards--wide{grid-template-columns:1fr;gap:14px}
  .tcards--wide .orbar{display:none}          /* no useless midline on mobile */
}
/* ---- brief A8: staging-only SEO notes, easy to spot, stripped for prod ---- */
.seonote{background:var(--color-accent-wash);border:1px dashed var(--color-accent);color:var(--color-on-accent)}
.seonote b{color:var(--color-accent-text)}

/* ---- homepage FAQ ---- */
.hfaq{margin:26px 0 0;max-width:78ch}
.hfaq > div{padding:20px 0;border-top:1px solid var(--rule-2)}
.hfaq > div:last-child{border-bottom:1px solid var(--rule-2)}
.hfaq dt{font-weight:600;font-size:16px;color:var(--ink);margin-bottom:7px}
.hfaq dd{margin:0;font-size:15px;line-height:1.7;color:var(--ink-2)}
.tcard-h{display:block;margin:0;font-weight:700}

/* ---- hero: county / Featured Positions illustration ---- */
.cpviz{display:flex;flex-direction:column;align-items:center;gap:13px;width:300px;color:inherit}
.cpviz-card{display:block;width:262px;background:var(--surface);border:1px solid var(--color-border);
  border-radius:8px;padding:14px 15px 15px;transform:rotate(-7deg);
  box-shadow:0 8px 20px rgba(31,92,61,.14);
  transition:transform .22s ease,box-shadow .22s ease}
.cpviz:hover .cpviz-card{transform:rotate(-2deg) scale(1.05);
  box-shadow:0 16px 34px rgba(31,92,61,.22)}
.cpviz-head{display:flex;align-items:center;gap:7px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;
  font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);
  padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--color-surface-2)}
.cpviz-dot{width:7px;height:7px;border-radius:50%;background:var(--color-border);flex:none}
.cpviz-slot{position:relative;display:flex;align-items:center;gap:9px;
  border:1px dashed var(--color-border);border-radius:5px;padding:9px 11px;margin-bottom:7px;
  background:var(--color-surface)}
.cpviz-slot:last-child{margin-bottom:0}
.cpviz-slot i{font-style:normal;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;
  font-weight:700;color:var(--color-text-muted);flex:none}
.cpviz-slot b{font-size:11.5px;font-weight:600;color:var(--color-text-2);letter-spacing:-.01em}
.cpviz-slot--give{border-style:solid;border-color:var(--color-border);background:var(--color-surface-2)}
.cpviz-slot--give b{color:var(--color-primary)}
.cpviz-slot--give i{color:var(--color-primary)}
.cpviz-heart{width:18px;height:17px;margin-left:auto;flex:none}
.cpviz-heart path{fill:var(--color-primary)}
.cpviz:hover .cpviz-slot--give{background:var(--color-surface-3)}
.cpviz-note{font-size:13px;line-height:1.6;color:var(--ink-2);max-width:280px;text-align:center}
.cpviz-go{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);
  border-bottom:1px solid var(--color-border);padding-bottom:2px}
.cpviz:hover .cpviz-go{border-bottom-color:var(--color-primary)}

/* ---- choice cards: white with green, tint on hover (matches step 2) ---- */
.tcard[data-trk="home"],.tcard[data-trk="inv"]{background:var(--surface);border-color:var(--color-border);
  border-radius:6px;box-shadow:var(--shadow);transition:background-color .16s ease,border-color .16s ease}
.tcard[data-trk="home"]:hover,.tcard[data-trk="inv"]:hover{background:var(--color-surface-2);border-color:var(--color-primary)}
.tcard[data-trk="home"][aria-pressed="true"],.tcard[data-trk="inv"][aria-pressed="true"]{
  background:var(--color-surface-3);border-color:var(--color-primary)}

/* ---- step-one overlay over the choice cards ---- */
.trackrow{position:relative}
.tstep-hint{position:absolute;top:-16px;left:50%;transform:translateX(-50%);z-index:2;
  display:flex;align-items:baseline;gap:9px;pointer-events:none;white-space:nowrap;
  background:var(--color-primary);color:var(--color-background);border-radius:99px;padding:8px 18px;
  box-shadow:0 5px 16px rgba(31,92,61,.26);font-size:13px;
  transition:opacity .2s ease,visibility .2s ease}
.tstep-hint b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.60)}
.trackrow:has(.tcard[aria-pressed="true"]) .tstep-hint{opacity:0;visibility:hidden}
@media (max-width:900px){
  .cpviz{width:auto;flex-direction:row;align-items:center;gap:20px;flex-wrap:wrap}
  .cpviz-card{width:190px;flex:none;padding:11px 12px 12px}
  .cpviz-slot b{font-size:10.5px}
  .cpviz-note{flex:1;min-width:200px;text-align:left}
  .tstep-hint{white-space:normal;max-width:92%;border-radius:12px;text-align:center;
    flex-direction:column;gap:2px;align-items:center}
}
@media (prefers-reduced-motion:reduce){
  .cpviz-card,.cpviz:hover .cpviz-card{transition:none;transform:rotate(-7deg)}
}

/* class-based state: attribute-only selectors were not re-evaluating reliably */
.tcard.is-on{background:var(--color-surface-3);border-color:var(--color-primary)}
.trackrow.has-choice .tstep-hint{opacity:0;visibility:hidden}

/* ---- homepage refinements ---- */
.tcard .tcard-h,.tcards--wide .tcard .tcard-h{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:700}
.method-voice{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:clamp(30px,3.4vw,42px);
  line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:0 0 16px}
#faq{padding:64px 0;border-bottom:1px solid var(--rule)}
#faq .sec-head{margin-bottom:8px}

/* ---- hero: top-align the headline with the illustration card ---- */
.hero-top{align-items:start}
.hero-top > div:first-child{padding-top:2px}
.cpviz-slot--give b{color:var(--color-accent-text)}
.cpviz-slot--give i{color:var(--color-accent-text)}
.cpviz-slot--give{border-color:var(--color-error-soft)}
.cpviz-heart path{fill:var(--color-accent-text)}

/* white box on the heading + intro only; the column itself stays as it was */
.mset-top{background:var(--surface);border:1px solid var(--rule);border-radius:6px;
  box-shadow:var(--shadow);padding:22px 24px 20px;margin-bottom:4px}
.mset-top .mset-h{margin-bottom:8px}
.mset-top .mset-intro{margin:0}

/* hero: let the illustration column take the slack instead of leaving dead space */
.hero-top{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:40px}
.hero .lede{max-width:none}
.cpviz-card{margin-left:0;margin-right:auto}
.cpviz{width:100%}
.cpviz-card{width:100%;max-width:300px;margin-left:auto;margin-right:auto}
.cpviz-note{max-width:320px}
@media (max-width:1000px){
  .hero-top{grid-template-columns:1fr}
  .cpviz-card{margin-left:0}
}

/* tighten the hero: smaller illustration + smaller step-1 cards, pulled up */
.cpviz{gap:9px}
.cpviz-card{max-width:248px;padding:11px 12px 12px}
.cpviz-slot{padding:7px 10px;margin-bottom:6px}
.cpviz-slot b{font-size:11px}
.cpviz-heart{width:16px;height:15px}
.cpviz-note{font-size:12.5px;line-height:1.55;max-width:270px}
.cpviz-go{font-size:10px}
.hero-top{gap:32px;grid-template-columns:minmax(0,1fr) minmax(270px,320px)}
.trackrow{margin-top:14px}
.tcards--wide .tcard{padding:22px 30px 24px 26px;gap:8px;min-height:0}
.tcards--wide .tcard .tcard-h{font-size:clamp(20px,1.9vw,25px);line-height:1.12}
.tcards--wide .tcard span{font-size:15px;line-height:1.55;max-width:46ch}
.tcards.tcards--wide{gap:18px}

/* illustration compact enough that it no longer sets the hero row height */
.cpviz{gap:7px}
.cpviz-card{max-width:212px;padding:9px 10px 10px}
.cpviz-head{font-size:8px;padding-bottom:7px;margin-bottom:7px}
.cpviz-slot{padding:5px 8px;margin-bottom:5px}
.cpviz-slot b{font-size:10px}
.cpviz-slot i{font-size:8px}
.cpviz-heart{width:14px;height:13px}
.cpviz-note{font-size:12px;line-height:1.5;max-width:250px}
.cpviz-go{font-size:9.5px}
.hero-top{grid-template-columns:minmax(0,1fr) minmax(240px,270px);gap:28px}
.hero{padding-bottom:34px}
.trackrow{margin-top:18px}

/* the hero was pinned to the viewport height, so spare space became gaps */
.hero>.wrap{min-height:0;justify-content:flex-start}

/* ================= hero, in the simplified reference design ================= */
.hero{position:relative;overflow:hidden}
.hero .hero-top,.hero .trackrow{font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif}
.hero .hero-top{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:74px;align-items:center}
.hero .h-eyebrow{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;
  font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--color-primary);margin:0 0 18px}
.hero h1{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:500;
  font-size:clamp(3rem,5.2vw,5rem);line-height:.9;letter-spacing:-.043em;
  color:var(--color-text);margin:0}
.hero .headline-rule{width:185px;height:2px;background:var(--color-secondary);margin:30px 0 20px}
.hero .lede{font-size:16.8px;line-height:1.68;color:var(--color-text-2);max-width:54ch}

/* step 1 — inline prompt, then two pills (still real track buttons) */
.hero .trackrow{margin-top:30px;position:relative}

.hero .tstep-hint{position:static;transform:none;display:flex;align-items:baseline;gap:11px;
  background:none;color:var(--color-text);box-shadow:none;padding:0;margin:0 0 14px;font-size:14px;
  white-space:normal;opacity:1;visibility:visible;border-radius:0}
.hero .tstep-hint b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-secondary)}
.hero .trackrow .tcards.tcards--wide{display:flex;flex-wrap:wrap;gap:12px;max-width:none}
.hero .trackrow .orbar{display:none}
.hero .trackrow .tcards--wide .tcard{display:inline-flex;align-items:center;gap:9px;width:auto;
  min-height:0;height:58px;padding:0 26px;border-radius:999px;border:1px solid rgba(38,78,65,.3);
  background:transparent;box-shadow:none;min-width:0;align-content:center;
  transition:background-color .16s,color .16s,border-color .16s}
.hero .trackrow .tcards--wide .tcard .tcard-h{font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif;
  font-size:16px;font-weight:650;letter-spacing:-.01em;color:inherit;margin:0}
.hero .trackrow .tcards--wide .tcard span:not(.tcard-h):not(.tcheck){display:none}
.hero .trackrow .tcard .tcheck{display:none !important}
.hero .trackrow .tcards--wide .tcard::after{content:"\2197";font-size:15px;line-height:1;opacity:.9}
.hero .trackrow .tcard[data-trk="home"]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.hero .trackrow .tcard[data-trk="home"]:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.hero .trackrow .tcard[data-trk="inv"]{background:transparent;color:var(--color-text)}
.hero .trackrow .tcard[data-trk="inv"]:hover{border-color:var(--color-primary);background:rgba(25,77,63,.05)}
.hero .trackrow .tcard.is-on{outline:2px solid var(--color-primary);outline-offset:2px}
.hero .h-choose{margin:16px 0 0;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;
  font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}

/* county card */
.hero .cpviz{width:100%;gap:44px}
.hero .cpviz-card{width:min(100%,410px);max-width:410px;background:#fff;
  border:1px solid rgba(38,78,65,.10);border-radius:18px;padding:19px 19px 17px;
  box-shadow:0 22px 50px rgba(19,45,38,.13);transform:rotate(-1.1deg);margin:0 auto}
.hero .cpviz:hover .cpviz-card{transform:rotate(0deg) translateY(-3px);
  box-shadow:0 28px 62px rgba(19,45,38,.18)}
.hero .cpviz-head{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;
  font-weight:600;letter-spacing:.13em;color:var(--color-text-muted);border-bottom:0;padding:0;margin-bottom:15px}
.hero .cpviz-dot{background:var(--color-primary)}
.hero .cpviz-slot{padding:13px 15px;border:1px solid rgba(38,78,65,.13);border-style:solid;
  border-radius:11px;margin-bottom:9px;background:#fff;gap:13px}
.hero .cpviz-slot i{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;color:var(--color-text-muted)}
.hero .cpviz-slot b{font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif;font-size:14.5px;
  font-weight:550;color:var(--color-text-2)}
.hero .cpviz-slot--give{border-color:rgba(156,60,45,.32);background:rgba(156,60,45,.045)}
.hero .cpviz-slot--give b,.hero .cpviz-slot--give i{color:var(--color-secondary)}
.hero .cpviz-heart{width:18px;height:17px}
.hero .cpviz-heart path{fill:var(--color-secondary)}
.hero .cpviz-note{font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif;font-size:14px;
  line-height:1.62;color:var(--color-secondary);max-width:330px;text-align:center}
.hero .cpviz-go{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;
  font-weight:600;letter-spacing:.13em;color:var(--color-primary);
  border-bottom:1px solid rgba(25,77,63,.3);padding-bottom:3px}

/* faint corner curves */
.hero .corner-orbit{position:absolute;border:1px solid rgba(156,60,45,.16);border-radius:50%;
  pointer-events:none;z-index:0}
.hero .corner-orbit-left{width:420px;height:420px;left:-230px;bottom:-250px}
.hero .corner-orbit-right{width:360px;height:360px;right:-200px;top:-190px;
  border-color:rgba(25,77,63,.14)}
.hero>.wrap{position:relative;z-index:1}

@media (max-width:1000px){
  .hero .corner-orbit{display:none}
  .hero .hero-top{grid-template-columns:1fr;gap:38px}
}
@media (max-width:620px){
  .hero .trackrow .tcards--wide .tcard{width:100%;justify-content:center}
  .hero h1{font-size:var(--fs-page-h1)}
}

/* the track row is a grid on the rest of the site; in the hero it stacks */

.hero .tstep-hint{width:100%}
.hero .h-choose{display:block;width:100%}

/* hero refinements: no eyebrow, no arrows, equal pills, Or between them */
.hero{padding-top:26px}
.hero .hero-top{padding-top:0}
.hero h1{margin-top:0}
.hero .headline-rule{margin:24px 0 18px}
.hero .trackrow{margin-top:24px}
.hero .trackrow .tcards--wide .tcard::after{content:none}
.hero .trackrow .tcards--wide .tcard{min-width:212px;justify-content:center;height:56px}
.hero .trackrow .orbar{display:flex;flex-direction:row;align-items:center;
  align-self:center;gap:0;flex:none}
.hero .trackrow .orbar i{display:none}
.hero .trackrow .orbar span{width:auto;height:auto;border:0;background:none;border-radius:0;
  font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif;font-size:14px;font-weight:400;
  text-transform:none;letter-spacing:0;color:var(--color-text-muted);padding:0 4px}
.hero .tstep-hint{margin-bottom:12px}

/* selected state for the hero pills; the step prompt always stays visible */
.hero .trackrow .tstep-hint{opacity:1 !important;visibility:visible !important}
.hero .trackrow .tcard[data-trk="home"].is-on{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}
.hero .trackrow .tcard[data-trk="inv"].is-on{background:rgba(25,77,63,.10);
  border-color:var(--color-primary);color:var(--color-text)}
/* Selection is shown by the fill, not by an outer ring. A 2px outline at 2px
   offset made the chosen box read as 8px wider and taller than the other one,
   so the pair never looked the same size. The ring is now inset. */
.hero .trackrow .tcard.is-on{outline:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.hero .trackrow .tcard[data-trk="inv"].is-on{box-shadow:inset 0 0 0 2px rgba(25,77,63,.28)}

/* Step 1 badge to the left of the buttons, matching the Step 2 badge */
.hero .trackrow{display:grid !important;grid-template-columns:76px 1fr;
  column-gap:18px;row-gap:9px;align-items:center;
  grid-template-areas:". prompt" "badge buttons";padding-bottom:0}
.hero .trackrow .stepdot{display:grid;grid-area:badge;align-self:center;margin:0}
.hero .trackrow .tstep-hint{grid-area:prompt;margin:0;align-self:end}
.hero .trackrow .tcards.tcards--wide{grid-area:buttons}

/* both choice buttons start white and take colour on hover */
.hero .trackrow .tcard[data-trk="home"],
.hero .trackrow .tcard[data-trk="inv"]{background:#fff;border-color:rgba(38,78,65,.28);
  color:var(--color-text)}
.hero .trackrow .tcard[data-trk="home"]:hover,
.hero .trackrow .tcard[data-trk="inv"]:hover{background:var(--color-primary);
  border-color:var(--color-primary);color:#fff}
.hero .trackrow .tcard[data-trk="home"].is-on,
.hero .trackrow .tcard[data-trk="inv"].is-on{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}

/* the Step 1 badge sits on the buttons row, centred with Homeowner */
.hero .trackrow .stepdot{align-self:center}

/* Community Position seal, sitting on the corner of the county card */
.hero .cpviz-card{position:relative;overflow:visible}
.hero .cpviz-badge{position:absolute;right:-14px;bottom:-10px;width:104px;height:auto;
  transform:rotate(7deg);filter:drop-shadow(0 7px 16px rgba(19,45,38,.24));
  pointer-events:none;transition:transform .25s ease}
.hero .cpviz:hover .cpviz-badge{transform:rotate(3deg) scale(1.04)}
@media (max-width:1000px){.hero .cpviz-badge{width:86px;right:-10px;bottom:-8px}}
@media (max-width:620px){.hero .cpviz-badge{width:72px;right:-4px;bottom:-6px}}
@media (prefers-reduced-motion:reduce){
  .hero .cpviz-badge,.hero .cpviz:hover .cpviz-badge{transition:none;transform:rotate(7deg)}
}

/* the community caption reads in the same near-black as the headline */
.hero .cpviz-note{color:var(--color-text)}

/* the sample firm name lost its heading styling when it stopped being an <h3> */
.sample .sample-name{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:19px;line-height:1.25;
  letter-spacing:-.005em;font-weight:600;color:var(--ink);text-align:center;margin:0 0 4px}

/* the brand line should read exactly like the other section headings */
.method-head p.method-voice{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;
  font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.015em;
  color:var(--ink);margin:0 0 16px;max-width:none}

/* brand mark is now the Hub logo */

/* brand reads as one line, one colour */

/* larger brand wordmark */

/* Community Position reads orange, not red */
.hero .cpviz-slot--give{border-color:rgba(184,90,0,.34);background:rgba(184,90,0,.06)}
.hero .cpviz-slot--give b,.hero .cpviz-slot--give i{color:var(--color-accent-text)}
.hero .cpviz-heart path{fill:var(--color-accent-text)}

/* hero: drop the county card so it sits centred against the headline.
   The column already spans the row, so the card was pinned to its top.
   Tighten the internal gaps and spend the reclaimed space above the card. */
.hero .cpviz{gap:26px;padding-top:56px;justify-content:flex-start}
@media (max-width:1000px){.hero .cpviz{padding-top:0;gap:22px}}

/* step 2: property ZIP finder */
#f-zip{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;letter-spacing:.12em;font-size:16px}
.zipmsg{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--ink-2)}
.zipmsg--err{color:var(--color-error)}
.zipmsg a{text-decoration:underline;text-underline-offset:3px}

/* hero: Step 1 and Step 2 (the original side-by-side layer; overridden by the stacked layer below) */
.hero .steprow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:38px;align-items:start;margin-top:30px}
.hero .steprow .trackrow{margin-top:0}
.hero .steprow .tcards.tcards--wide{flex-direction:column;align-items:stretch;gap:9px;max-width:none}
.hero .steprow .tcards--wide .tcard{width:100%;justify-content:center;height:56px}
.hero .steprow .orbar{display:flex;align-items:center;gap:12px;margin:0;padding:0}
.hero .steprow .orbar i{flex:1;height:1px;background:rgba(38,78,65,.18)}
.hero .steprow .orbar span{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}
.hero .zipcol{position:relative;padding-left:56px}
.hero .zipcol .stepdot{position:absolute;left:0;top:2px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--color-primary);color:#fff;margin:0}
.hero .zipcol .stepdot i{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:7.5px;
  font-style:normal;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.hero .zipcol .stepdot b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:14px;line-height:1}
.hero .zipcol-h{margin:0 0 5px;font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif;
  font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--color-text)}
.hero .zipcol-sub{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--color-text-2);max-width:42ch}
.hero .zip-row{display:flex;gap:10px;align-items:stretch}
.hero #f-zip{flex:0 0 148px;height:56px;padding:0 16px;border:1px solid rgba(38,78,65,.3);
  border-radius:999px;background:#fff;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;
  font-size:16px;letter-spacing:.14em;color:var(--color-text)}
.hero #f-zip:focus{outline:2px solid var(--color-primary);outline-offset:2px}
.hero #zipGo{height:56px;padding:0 24px;border-radius:999px;white-space:nowrap}
.hero .zipmsg{margin:11px 0 0;font-size:13px;line-height:1.55;color:var(--color-text-2);max-width:44ch}
.hero .zipmsg--err{color:var(--color-error)}
.hero .zipmsg a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){
  .hero .steprow{grid-template-columns:1fr;gap:26px}
  .hero .zipcol{padding-left:0;padding-top:56px}
  .hero .zipcol .stepdot{top:0}
}
@media (max-width:520px){
  .hero .zip-row{flex-direction:column}
  .hero #f-zip{flex:none;width:100%}
  .hero #zipGo{width:100%}
}

/* both steps share one structure: badge at the left, content indented, tops flush */
.hero .steprow{align-items:start}
.hero .steprow .trackrow{position:relative;padding-left:56px;margin-top:0}
.hero .steprow .trackrow .stepdot,.hero .zipcol .stepdot{
  position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--color-primary);color:#fff;margin:0;transform:none;opacity:1;visibility:visible}
.hero .steprow .trackrow .stepdot i,.hero .zipcol .stepdot i{
  font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:7.5px;font-style:normal;
  letter-spacing:.12em;text-transform:uppercase;opacity:.8;color:#fff}
.hero .steprow .trackrow .stepdot b,.hero .zipcol .stepdot b{
  font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:14px;line-height:1;color:#fff}
/* step 1's prompt becomes its heading, matching step 2 */
.hero .steprow .tstep-hint{display:block;position:static;margin:0 0 5px;padding:0;background:none;
  box-shadow:none;font-family:"Inter","Inter Fallback","Inter Fallback 2","Helvetica Neue",Arial,sans-serif;font-size:16px;font-weight:650;
  letter-spacing:-.01em;color:var(--color-text);opacity:1;visibility:visible;white-space:normal}
.hero .steprow .tstep-hint b{display:none}
.hero .steprow .trackrow::after{content:"Either one filters the results. You can change it later.";
  display:none}
.hero .zipcol{padding-top:0}
.hero .zipcol-h{min-height:0}
/* the sub-lines sit on the same baseline so the buttons and the input line up */
.hero .steprow .tcards.tcards--wide{margin-top:19px}
.hero .zipcol-sub{margin:0 0 14px;min-height:42px}
@media (max-width:1000px){
  .hero .steprow .trackrow{padding-left:56px}
  .hero .zipcol{padding-left:56px;padding-top:0}
  .hero .steprow .tcards.tcards--wide{margin-top:14px}
  .hero .zipcol-sub{min-height:0}
}

/* .trackrow is a named-areas grid; an abspos child there resolves against its
   grid area, not the padding box, which is what pushed the Step 1 badge down.
   Inside the two-column row it flows as a normal block instead. */
.hero .steprow .trackrow{display:block !important;grid-template-columns:none !important;grid-template-areas:none !important}
.hero .steprow .trackrow > *{grid-area:auto}
.hero .steprow .trackrow .stepdot{top:0;left:0}

/* step 1 gets the same heading + sub + control rhythm as step 2, so the
   buttons and the ZIP field land on the same line instead of being propped */
.hero .steprow .tstep-hint{margin:0 0 5px}
.hero .steprow .step1-sub{margin:0 0 14px;min-height:42px;font-size:13.5px;line-height:1.55;
  color:var(--color-text-2);max-width:42ch}
.hero .steprow .tcards.tcards--wide{margin-top:0}
@media (max-width:1000px){.hero .steprow .step1-sub{min-height:0}}

/* step 1 buttons match the ZIP field's width, so the two steps read as a pair */
.hero .steprow .tcards.tcards--wide{max-width:256px}
.hero .steprow .tcards--wide .tcard{width:256px;height:54px}
.hero .steprow .orbar{width:256px}
@media (max-width:520px){
  .hero .steprow .tcards.tcards--wide,
  .hero .steprow .tcards--wide .tcard,
  .hero .steprow .orbar{width:100%;max-width:none}
}

/* Steps stacked one under the other. Each step is a row on the same two columns
   as the hero above it: badge + wording on the left (under the headline), the
   controls on the right (under the county card / "See how it works").
   Step 1: Homeowner / or / Investor on one line. Step 2: ZIP box beside the
   wording, Find attorneys underneath it all. */
.hero .steprow{grid-template-columns:1fr;gap:34px;margin-top:34px}
/* Third track is a right-hand filler: it pulls the Homeowner / Investor pair and
   the ZIP box left, off the far edge, while the fixed middle track keeps both
   controls the width they already had. */
.hero .steprow .trackrow,
.hero .zipcol{display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,430px) minmax(0,120px) !important;
  column-gap:52px;row-gap:16px;align-items:start;padding-left:0;position:relative}
/* Smaller controls, and clear air above them: the "See how it works" link sits
   directly over the Investor button and was only 6px clear of it, which invited
   a mis-click onto the Community Position page. */
.hero .steprow .tcards--wide .tcard{height:50px;font-size:15px}
.hero .steprow #f-zip,.hero .steprow #zipGo,.hero .zipcol #f-zip,.hero .zipcol #zipGo{height:50px}
.hero .steprow{margin-top:40px}
.hero .steprow .step-text{grid-column:1;grid-row:1;padding-left:56px}
.hero .steprow .tstep-hint{margin:0 0 5px}
.hero .steprow .step1-sub,.hero .zipcol .zipcol-sub{margin:0;min-height:0}
/* step 1: the two choices side by side, "or" between them */
.hero .steprow .trackrow .tcards.tcards--wide{grid-column:2;grid-row:1;margin:0;
  flex-direction:row;align-items:center;gap:12px;max-width:none}
.hero .steprow .tcards--wide .tcard{width:auto;flex:1 1 0;min-width:0;height:54px}
.hero .steprow .orbar{width:28px;flex:none;justify-content:center}
.hero .steprow .orbar i{display:none}
/* step 2: the form's boxes are placed on the grid directly */
.hero .zipcol .zipcol-in,.hero .zipcol .finder,.hero .zip-row{display:contents}
/* ZIP box = one Homeowner/Investor pill: half the column minus half of (or + gaps) */
.hero #f-zip{grid-column:2;grid-row:1;flex:none;width:calc(50% - 26px);max-width:100%;height:54px}
.hero .zipcol .step-text,.hero .steprow .trackrow .step-text{align-self:center}
.hero #zipGo{grid-column:1 / -1;grid-row:2;justify-self:start;margin-left:56px;height:54px;padding:0 28px}
.hero .zipmsg{grid-column:1 / -1;grid-row:3;margin:0 0 0 56px}
.hero .zipmsg[hidden]{display:none}
/* Find attorneys sits beside the ZIP box, not under the step labels. The two
   read as one search bar, the submit is next to the field it acts on, and the
   hero loses a whole row of height. .zip-row becomes the grid item so the input
   and the button can share column 2. */
.hero .zipcol .zip-row{display:flex !important;grid-column:2;grid-row:1;
  gap:12px;align-items:stretch;min-width:0}
.hero .zipcol #f-zip{grid-column:auto;grid-row:auto;flex:1 1 auto;width:auto;min-width:0;margin:0}
.hero .zipcol #zipGo{grid-column:auto;grid-row:auto;flex:0 0 auto;justify-self:auto;
  margin-left:0;padding:0 20px;white-space:nowrap}
.hero .zipcol .zipnext{grid-column:2;grid-row:2;margin:8px 0 0}
.hero .zipcol .zipmsg{grid-column:2;grid-row:3;margin:8px 0 0}
@media (max-width:1000px){
  .hero .zipcol .zip-row{grid-column:1;grid-row:2;margin-left:56px}
  .hero .zipcol .zipnext{grid-column:1;grid-row:3;margin-left:56px}
  .hero .zipcol .zipmsg{grid-column:1;grid-row:4;margin-left:56px}
}
@media (max-width:520px){
  .hero .zipcol .zip-row{flex-direction:column;margin-left:0}
  .hero .zipcol #zipGo{width:100%}
  .hero .zipcol .zipnext,.hero .zipcol .zipmsg{margin-left:0}
}
@media (max-width:1000px){
  .hero .steprow{gap:28px}
  .hero .steprow .trackrow,
  .hero .zipcol{grid-template-columns:1fr !important;row-gap:14px;padding-top:0}
  .hero .steprow .trackrow .tstep-hint{text-align:left;max-width:none;display:block}
  .hero .steprow .trackrow .tcards.tcards--wide{grid-column:1;grid-row:2;padding-left:56px}
  .hero #f-zip{grid-column:1;grid-row:2;margin-left:56px}
  .hero #zipGo{grid-row:3}
  .hero .zipmsg{grid-row:4}
}
@media (max-width:520px){
  .hero .steprow .trackrow .tcards.tcards--wide{padding-left:0;flex-direction:column;align-items:stretch}
  .hero .steprow .tcards--wide .tcard{width:100%;flex:none}
  .hero #f-zip{margin-left:0;width:100%}
  .hero #zipGo{margin-left:0;width:100%;justify-self:stretch}
  .hero .zipmsg{margin-left:0}
}

/* Step 2 reads as the NEXT step: indented under Step 1, joined by a dotted
   connector from badge 1, and its badge stays outlined until Step 1 is chosen. */
.hero .zipcol .stepdot{left:56px}
.hero .zipcol .step-text{padding-left:112px}
.hero #zipGo{margin-left:112px}
.hero .zipcol::before{content:"";position:absolute;left:21px;top:-40px;width:35px;height:62px;
  border-left:2px dotted rgba(25,77,63,.45);border-bottom:2px dotted rgba(25,77,63,.45);
  border-bottom-left-radius:16px;pointer-events:none}
.hero .zipcol .stepdot{background:#fff;color:var(--color-primary);border:2px solid var(--color-primary);transition:background-color .2s,color .2s}
.hero .zipcol .stepdot i{color:var(--color-primary);opacity:.85}
.hero .zipcol .stepdot b{color:var(--color-primary)}
.hero .steprow:has(.tcard.is-on) .zipcol .stepdot{background:var(--color-primary);color:#fff}
.hero .steprow:has(.tcard.is-on) .zipcol .stepdot i,.hero .steprow:has(.tcard.is-on) .zipcol .stepdot b{color:#fff}
@media (max-width:1000px){
  .hero .zipcol .stepdot{left:28px}
  .hero .zipcol .step-text{padding-left:84px}
  .hero #f-zip{margin-left:84px}
  .hero #zipGo{margin-left:84px}
  .hero .zipcol::before{left:21px;top:-34px;width:7px;height:56px;border-bottom-left-radius:10px}
}
@media (max-width:520px){
  .hero .zipcol .stepdot{left:0}
  .hero .zipcol .step-text{padding-left:56px}
  .hero #f-zip,.hero #zipGo{margin-left:0}
  .hero .zipcol::before{display:none}
}

/* Step 2 caption + lighter panel until Step 1 is chosen; quiet map-dot ground in the hero */
.hero .zipnext{display:none;grid-column:1 / -1;grid-row:3;margin:-4px 0 0 112px;font-size:13px;color:var(--color-text-2)}
.hero .zipmsg{grid-row:4}
.hero .steprow:has(.tcard.is-on) .zipnext{display:block}
.hero .zipcol::after{content:"";position:absolute;inset:-12px -16px -12px 40px;z-index:-1;border-radius:14px;background:rgba(255,255,255,.55);transition:background-color .25s}
.hero .steprow:has(.tcard.is-on) .zipcol::after{background:transparent}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(25,77,63,.13) 1px,transparent 1.2px);background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 72% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 72% 40%,#000 20%,transparent 75%)}
.hero::after{content:"";position:absolute;width:560px;height:560px;right:-120px;top:-140px;pointer-events:none;z-index:0;border-radius:50%;
  background:radial-gradient(circle,rgba(214,169,78,.16),rgba(214,169,78,0) 62%)}
@media (max-width:1000px){.hero .zipnext{margin-left:84px}.hero .zipcol::after{left:12px}.hero::after{display:none}}
@media (max-width:520px){.hero .zipnext{margin-left:0}.hero .zipcol::after{display:none}}

/* county-card caption in the Community Position orange */
.hero .cpviz-note{color:var(--color-accent-text);font-weight:700}

/* timeline chart caption as a question */
.jscale--ask{color:var(--color-primary);max-width:74ch}
.jscale--ask b{display:block;margin-bottom:4px;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:19px;font-weight:600;color:var(--color-primary)}

/* Common questions gets its own ground so it does not run into the section above */
.sec{background:var(--sunken)}
/* floating CTA, bottom right — always one tap from the ZIP step */
.findcta{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;
  gap:9px;padding:14px 22px;border-radius:999px;background:var(--btn-bg,var(--color-primary));
  color:var(--btn-ink,var(--color-surface-2));font-size:14.5px;font-weight:650;letter-spacing:-.01em;
  text-decoration:none;box-shadow:0 10px 26px rgba(19,45,38,.26);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s}
.findcta.is-on{opacity:1;visibility:visible;transform:none}
.findcta:hover{background:var(--color-primary-hover)}
.findcta:focus-visible{outline:3px solid var(--focus,var(--color-accent-text));outline-offset:3px}
@media (max-width:620px){
  .findcta{right:12px;bottom:12px;padding:13px 18px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  .findcta{transition:none}
}
/*seometrics*/
.seometrics{max-width:none;margin:14px auto 0;width:min(1160px,100% - 48px)}
.seometrics[data-status="pass"]{border:2px solid var(--color-primary);background:var(--color-surface-2);color:var(--color-primary-hover)}
.seometrics[data-status="fail"]{border:2px solid var(--color-error);background:var(--color-error-soft);color:var(--color-error)}
.seometrics b{margin-bottom:8px}
.seometrics[data-status="pass"] b{color:var(--color-primary)}.seometrics[data-status="fail"] b{color:var(--color-error)}
.seometrics table{width:100%;border-collapse:collapse;font-size:12.5px}
.seometrics td{padding:4px 8px 4px 0;border-top:1px solid rgba(0,0,0,.08);vertical-align:top}
.seometrics td:nth-child(2){font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;white-space:nowrap}
.seometrics td:last-child{text-align:right;white-space:nowrap;font-weight:700}
.seometrics .ok{color:var(--color-primary)}.seometrics .bad{color:var(--color-error)}

/*hero-fit*/
/* Laptop screens: on a 1440x800 window Step 1, Step 2 and the Find attorneys
   button fell below the fold, so the page opened on a headline with no visible
   way in (and the floating CTA fired precisely because the step row was off
   screen). This layer tightens the hero's vertical rhythm on short viewports
   only; tall desktop screens keep the original scale. */
@media (min-width:1001px) and (max-height:880px){
  .hero{padding-top:16px;padding-bottom:22px}
  .hero h1{font-size:var(--fs-page-h1)}
  .hero .lede{font-size:15.5px;line-height:1.62;margin-top:8px}
  .hero .steprow{margin-top:34px;gap:30px}
  .hero .cpviz{padding-top:26px}
  .hero .cpviz-note{margin-top:12px}
}
@media (min-width:1001px) and (max-height:820px){
  .hero h1{font-size:var(--fs-page-h1)}
  .hero .lede{font-size:15px;margin-top:6px}
  .hero .steprow{margin-top:30px}
  .hero .cpviz{padding-top:14px}
}
/* Short laptop viewports — a 1920x1080 screen at 150% Windows scaling lands near
   1280x600. The county card alone was 440px of a 600px viewport, so the ZIP step
   and the Find attorneys button fell below the fold. This tier shrinks the card,
   its slots and the giving note so both steps and the button are on screen at
   first paint. */
@media (min-width:1001px) and (max-height:830px){
  .hero{padding-top:10px;padding-bottom:14px}
  .hero h1{font-size:var(--fs-page-h1)}
  .hero .lede{font-size:14.5px;line-height:1.5;margin-top:6px}
  .hero .cpviz{padding-top:4px;gap:12px}
  .hero .cpviz-card{padding:12px 14px 10px}
  .hero .cpviz-slot{height:42px;padding:9px 13px;font-size:14.5px}
  .hero .cpviz-badge{width:86px;height:auto}
  .hero .cpviz-note{font-size:12.5px;line-height:1.45;margin-top:6px}
  .hero .cpviz-go{font-size:10px}
  .hero .steprow{gap:22px}
  .hero .steprow .trackrow .stepdot,.hero .zipcol .stepdot{width:38px;height:38px}
  .hero .zipcol,.hero .steprow .trackrow{padding-left:48px}
  .hero .zipcol-sub{margin-bottom:9px}
  .hero .steprow .tcards--wide .tcard{height:46px}
  .hero .steprow #f-zip,.hero .steprow #zipGo,.hero .zipcol #f-zip,.hero .zipcol #zipGo{height:46px}
  .hero .steprow{margin-top:26px}
  .hero .zipmsg{margin-top:7px}
}
@media (min-width:1001px) and (max-height:640px){
  .hero{padding-top:6px;padding-bottom:10px}
  .hero h1{font-size:var(--fs-page-h1)}
  .hero .lede{font-size:13.5px;line-height:1.45}
  .hero .cpviz{gap:8px}
  .hero .cpviz-card{padding:10px 12px 8px}
  .hero .cpviz-slot{height:36px;padding:7px 12px;font-size:13.5px}
  .hero .cpviz-note{font-size:11.5px;margin-top:4px}
  .hero .cpviz-badge{width:70px}
  .hero .steprow{gap:16px}
  .hero .zipcol-h,.hero .steprow .tstep-hint{font-size:15px}
  .hero .zipcol-sub{font-size:12.5px;margin-bottom:6px}
  .hero .steprow .tcards--wide .tcard{height:42px;font-size:14px}
  .hero .steprow #f-zip,.hero .steprow #zipGo,.hero .zipcol #f-zip,.hero .zipcol #zipGo{height:42px}
  .hero .steprow{margin-top:20px}
}
/*/hero-fit*/
/*ctl-size*/
/* One source of truth for the three hero controls. Previously the pill, the ZIP
   field and the button each got their height from a different rule, and
   `.finder .btn{min-height:52px}` beat all of them, so the button never matched
   the field beside it. Everything now reads one variable and clears min-height. */
.hero .steprow .tcards--wide .tcard,
.hero .steprow #f-zip,.hero .zipcol #f-zip,
.hero .steprow #zipGo,.hero .zipcol #zipGo{height:54px;min-height:0}
@media (min-width:1001px) and (max-height:880px){.hero .steprow .tcards--wide .tcard,
.hero .steprow #f-zip,.hero .zipcol #f-zip,
.hero .steprow #zipGo,.hero .zipcol #zipGo{height:50px}}
@media (min-width:1001px) and (max-height:830px){.hero .steprow .tcards--wide .tcard,
.hero .steprow #f-zip,.hero .zipcol #f-zip,
.hero .steprow #zipGo,.hero .zipcol #zipGo{height:46px}}
@media (min-width:1001px) and (max-height:640px){.hero .steprow .tcards--wide .tcard,
.hero .steprow #f-zip,.hero .zipcol #f-zip,
.hero .steprow #zipGo,.hero .zipcol #zipGo{height:42px}}
/*/ctl-size*/

/* Community Position card: taller, with air between the county label and the slot row */
.cpviz .cpviz-card{padding:28px 22px 26px;min-height:156px}
.cpviz .cpviz-head{margin-bottom:26px}
@media (min-width:1001px) and (max-height:830px){.cpviz .cpviz-card{padding:24px 20px 22px;min-height:144px}.cpviz .cpviz-head{margin-bottom:22px}}
@media (min-width:1001px) and (max-height:640px){.cpviz .cpviz-card{padding:20px 16px 18px;min-height:0}.cpviz .cpviz-head{margin-bottom:18px}}

/* steps block: sits lower, clear of the hero copy and the Community Position card */
.hero .steprow{margin-top:90px}
@media (min-width:1001px) and (max-height:880px){.hero .steprow{margin-top:84px}}
@media (min-width:1001px) and (max-height:830px){.hero .steprow{margin-top:76px}}
@media (min-width:1001px) and (max-height:640px){.hero .steprow{margin-top:70px}}

/* Community Position card extends upward and carries its own note */
.cpviz .cpviz-card{margin-top:-34px;padding-top:58px}
.cpviz .cpviz-card .cpviz-note{display:block;margin:18px 0 0;padding-right:96px;max-width:none;text-align:left;font-size:12.5px;line-height:1.55;color:var(--color-text-2)}
@media (min-width:1001px) and (max-height:830px){.cpviz .cpviz-card{margin-top:-26px;padding-top:48px}.cpviz .cpviz-card .cpviz-note{margin-top:14px;font-size:12px;padding-right:80px}}
@media (min-width:1001px) and (max-height:640px){.cpviz .cpviz-card{margin-top:-18px;padding-top:38px}.cpviz .cpviz-card .cpviz-note{padding-right:66px}}
@media (max-width:1000px){.cpviz .cpviz-card{margin-top:0;padding-top:28px}}

/* Community Position card: county label at the top, slot centred, note a little higher */
.cpviz .cpviz-card{display:flex;flex-direction:column;justify-content:space-between;padding-top:22px;padding-bottom:30px;min-height:262px}
.cpviz .cpviz-card .cpviz-head{margin-bottom:0}
.cpviz .cpviz-card .cpviz-slot{margin:0}
.cpviz .cpviz-card .cpviz-note{margin-top:0}
@media (min-width:1001px) and (max-height:830px){.cpviz .cpviz-card{padding-top:18px;padding-bottom:26px;min-height:236px}}
@media (min-width:1001px) and (max-height:640px){.cpviz .cpviz-card{padding-top:16px;padding-bottom:20px;min-height:200px}}
@media (max-width:1000px){.cpviz .cpviz-card{min-height:0;padding-top:22px;gap:16px}}

/* rollout note under the ZIP field */
.hero .finder--bare{flex-wrap:wrap}
.hero .zip-live{grid-column:2;margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--color-text-2)}
@media (max-width:1000px){.hero .zip-live{grid-column:1;padding-left:56px}}
@media (min-width:1001px) and (max-height:830px){.hero .zip-live{margin-top:8px;font-size:12px}}

/* Community Position card: no longer lifted above the hero (it was sliding under the sticky masthead);
   it now starts level with the headline and grows downward instead */
.hero .cpviz{align-self:start}
.cpviz .cpviz-card{margin-top:0}
@media (min-width:1001px) and (max-height:830px){.cpviz .cpviz-card{margin-top:0}}
@media (min-width:1001px) and (max-height:640px){.cpviz .cpviz-card{margin-top:0}}

/* hero: more air under the ZIP note so it sits clear of the section's bottom rule */
.hero{padding-bottom:58px}
@media (min-width:1001px) and (max-height:880px){.hero{padding-bottom:50px}}
@media (min-width:1001px) and (max-height:830px){.hero{padding-bottom:42px}}
@media (min-width:1001px) and (max-height:640px){.hero{padding-bottom:30px}}

/* ---- Phone helpers used at every width (the phone layout itself lives in mobile.css) ---- */
.backlink{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2);text-decoration:none;margin:0 0 4px}
.backlink:hover{color:var(--ink)}
.svc-more>summary{cursor:pointer;font-size:14px;color:var(--ink-2);padding:10px 0 12px;list-style:none}
.svc-more>summary::-webkit-details-marker{display:none}
.svc-more>summary::before{content:"\25B8";margin-right:6px;font-size:12px}
.svc-more[open]>summary::before{content:"\25BE"}
@media (min-width:821px){.svc-more>summary{display:none}}

/* consent row (shared by the quiz request form and the claim form) */
.qlead-consent{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-weight:400;font-size:13.5px;line-height:1.45}
.qlead-consent input{width:auto;margin:3px 0 0}

/* firm row parts that exist at every width */
.ftop{display:none}
.frm-row--ph{display:none}
.frm-rows{margin:0}
.frm-rows dt{display:none}
.frm-rows dd{margin:0}
.frm-rate{margin:2px 0 0;font-size:12.5px;color:var(--ink-2)}
.frm-rate .stars{color:var(--color-accent)}
.frm-rate-none{color:var(--ink-3)}
.frm-lvl{display:flex;align-items:flex-start;gap:6px}
/* Light-only site (owner decision 23 Sep 2026): the CSS repeats the <meta name="color-scheme" content="only light"> so native
   controls and browsers that read the property rather than the meta stay light; the root paints its own white. */
:root{color-scheme:only light}
html{background:#FFFFFF}
/* Windows High Contrast: selected pills and chips are shown by a fill that forced colors removes, so give them an outline in the system highlight colour */
@media (forced-colors:active){.fq-pill[aria-pressed="true"],.cd-chip[aria-pressed="true"],.qopt input:checked + .qopt-b{outline:3px solid Highlight;outline-offset:1px}.cd-form [aria-invalid="true"]{outline:2px solid Mark}}


.cta-call{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-weight:700}
.cta-call .call-ico{flex:0 0 auto}
.call-note{display:block;margin:6px 0 0;font-size:12.5px;line-height:1.35;color:var(--ink-3)}
.pside .call-wrap{margin:12px 0 0}
.pside .call-wrap .cta-call{width:100%;background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.pside .call-wrap .cta-call:hover{background:var(--color-primary-hover);color:#fff}
.frms.register .foot:has(.call-wrap),#attorneys .frms.register .foot:has(.call-wrap),#attorneys.list--rail .frms.register .foot:has(.call-wrap){flex-wrap:wrap;row-gap:6px}
.frms.register .foot .call-wrap{grid-column:1 / -1;order:9;flex:1 0 100%}
.frms.register .foot .call-wrap .call-note{margin:0}
/* Send a question widget (owner spec 20 Sep 2026): sticky launcher, one-screen dialog, closed by X / Escape / backdrop */
.sq-launcher{position:fixed;right:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:999px;border:0;background:var(--color-primary);color:#fff;font:600 15px/1 "Inter","Inter Fallback","Inter Fallback 2",system-ui,sans-serif;box-shadow:0 6px 18px rgba(20,32,28,.25);cursor:pointer}
.sq-launcher svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.sq-launcher:hover{background:var(--color-primary-hover)}
.sq-launcher:focus-visible{outline:3px solid var(--color-accent-on-primary);outline-offset:3px}
@media (max-width:900px){.sq-launcher{bottom:calc(env(safe-area-inset-bottom,0px) + 72px);right:12px}.sq-launcher span{font-size:14px}}
.sq-launcher .sq-short{display:none}
@media (max-width:640px){.sq-launcher{min-height:44px;padding:8px 14px;opacity:.96}.sq-launcher .sq-long{display:none}.sq-launcher .sq-short{display:inline}body{padding-bottom:64px}}
.sq-backdrop{position:fixed;inset:0;z-index:61;background:rgba(20,32,28,.45)}
.sq-panel{position:fixed;right:16px;bottom:16px;z-index:62;width:min(440px,calc(100vw - 32px));max-height:min(88vh,760px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:12px;box-shadow:0 18px 48px rgba(20,32,28,.28);padding:18px 20px 20px}
@media (max-width:640px){.sq-panel{right:0;bottom:0;left:0;width:auto;max-height:92vh;border-radius:14px 14px 0 0;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 18px)}}
body.sq-open{overflow:hidden}
.sq-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sq-title{margin:0;font-size:20px;line-height:1.25}
.sq-close{border:0;background:transparent;color:var(--ink-2);font-size:28px;line-height:1;width:40px;height:40px;border-radius:8px;cursor:pointer}
.sq-close:hover{background:var(--sunken)}
.sq-close:focus-visible,.sq-btn:focus-visible,.sq-form input:focus-visible,.sq-form select:focus-visible,.sq-form textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}
.sq-sub{margin:6px 0 12px;color:var(--ink);font-size:14.5px;font-weight:700}
.sq-form{display:block}.sq-panel [hidden],.sq-backdrop[hidden],.sq-panel[hidden]{display:none!important}
.sq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
@media (max-width:420px){.sq-grid{grid-template-columns:1fr}}
.sq-field{display:block;margin:0 0 10px;font-weight:600;font-size:13.5px}
.sq-field input,.sq-field select,.sq-field textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;font:inherit;font-weight:400;font-size:15px;color:var(--ink);background:var(--surface);border:1.5px solid var(--ink-3);border-radius:8px;padding:10px 12px;min-height:44px}
.sq-field textarea{resize:vertical;min-height:96px}
.sq-help{display:block;font-weight:400;font-size:12.5px;color:var(--ink-3);margin-top:4px}
.sq-pills{border:0;padding:0;margin:0 0 12px;min-width:0}
.sq-pills-l{padding:0;margin:0 0 6px;font-weight:600;font-size:13.5px}
.sq-pill{display:inline-block;margin:0 6px 6px 0;min-height:36px;padding:7px 12px;border-radius:var(--r-pill,999px);border:1.5px solid var(--color-primary);background:var(--surface);color:var(--color-primary);font:500 13.5px/1.2 inherit;font-family:inherit;cursor:pointer}
.sq-pill[aria-pressed="true"]{background:var(--color-primary);color:#fff}
.sq-pill:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}
.sq-opt{font-weight:400;color:var(--ink-3)}
.sq-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin:0 0 12px;color:var(--ink-2)}
.sq-consent input{margin:3px 0 0;width:18px;height:18px;flex:0 0 auto}
.sq-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
/* The question launcher is the secondary path on every page (homepage review, 25 Sep 2026): white with a green outline, so the
   page's primary action (property ZIP search, Contact Firm) stays the strongest control. */
html .sq-launcher{background:#FFFFFF;color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:0 2px 10px rgba(20,32,28,.14)}
html .sq-launcher:hover{background:var(--color-surface-2);color:var(--color-primary-hover)}
html .sq-launcher svg{color:var(--color-primary)}
.sq-actions{margin-top:6px}
.sq-btn{width:100%;min-height:48px;border-radius:8px;border:0;background:var(--color-primary);color:#fff;font:600 15.5px/1.2 inherit;font-family:inherit;cursor:pointer}
.sq-btn:disabled{opacity:.55;cursor:not-allowed}
.sq-err{color:var(--color-error);font-size:14px;margin:8px 0 0}
.sq-done{outline:none}
.sq-done-h{font-weight:700;font-size:18px;margin:8px 0 6px}
.sq-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
/* .sec.alt-a / .sec.alt-b backgrounds: base.css page-hierarchy block (7 Oct 2026) */

.link-blue{color:var(--color-secondary);text-decoration:underline;text-underline-offset:2px}
.link-blue:hover{color:var(--color-primary-hover)}

.citeban-rate{white-space:nowrap}
.citeban-rev{font-size:14px;white-space:nowrap}
.citeban-stars{letter-spacing:.04em}
.citeban-num{margin-left:6px}

.sec.cite-band{background:var(--color-background);border-top:3px solid var(--color-primary);border-bottom:1px solid var(--color-border)}
.cite-band .citeban,.cite-band .citeban:hover{background:var(--color-primary-hover);border:1px solid rgba(255,255,255,.12);color:#ffffff;box-shadow:0 12px 32px rgba(0,14,29,.12)}
.cite-band .citeban-tag{background:var(--color-surface-3);color:var(--color-text);border-color:var(--color-surface-3)}
.cite-band .citeban-logo{border-color:rgba(255,255,255,.20);color:#ffffff;background:rgba(255,255,255,.06)}
.cite-band .citeban-name{color:#FFFFFF}
.cite-band .citeban-meta,.cite-band .citeban-copy,.cite-band .citeban-fine{color:rgba(255,255,255,.65)}
.cite-band .citeban-tags span{border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.06);color:#ffffff;font-weight:600}
.cite-band .citeban-rail b{color:rgba(255,255,255,.55)}
.cite-band .citeban-rate{color:var(--color-accent-on-primary)}
.cite-band .citeban-btn{background:var(--color-surface-3);color:var(--color-text)}
.cite-band .citeban-pick{color:rgba(255,255,255,.80)}
.cite-band .citeban-pick input{accent-color:var(--color-surface-3)}
.cite-band .citeban-rate{color:#FFFFFF;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;white-space:normal}
.cite-band .citeban-stars{grid-column:1;grid-row:1;font-size:15px;letter-spacing:.06em;color:var(--color-accent-on-primary);line-height:1}
.cite-band .citeban-num{grid-column:2;grid-row:1;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:26px;line-height:1;font-weight:600;color:#FFFFFF}
.cite-band .citeban-rate .citeban-rev{grid-column:1 / -1;grid-row:2;font-family:inherit;font-size:12.5px;color:rgba(255,255,255,.65);margin-top:4px;white-space:nowrap}
.cite-band .cite-head h2{color:var(--color-primary)}
.cite-band .cite-head h2::after{background:var(--color-surface-3);color:var(--color-text)}
.cite-band .citeban.is-stuck{padding:14px 24px;min-height:74px;background:var(--color-primary-hover);border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 8px 22px rgba(0,14,29,.14)}
.cite-band .citeban.is-stuck .citeban-in{align-items:center}
.cite-band .citeban.is-stuck .citeban-name{font-size:19px;line-height:1.2;color:#FFFFFF}
.cite-band .citeban.is-stuck .citeban-meta{color:rgba(255,255,255,.65);font-size:12.5px;margin-top:2px}
.cite-band .citeban.is-stuck .citeban-rail{background:transparent;padding:0;display:flex;flex-direction:row;align-items:center;gap:16px}
.cite-band .citeban.is-stuck .citeban-rate{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.cite-band .citeban.is-stuck .citeban-stars{font-size:14px}
.cite-band .citeban.is-stuck .citeban-num{font-size:22px}
.cite-band .citeban.is-stuck .citeban-rate .citeban-rev{margin:0;font-size:12.5px;white-space:nowrap}
.cite-band .citeban.is-stuck .citeban-btn{padding:11px 16px;white-space:nowrap}
.cite-band .citeban.is-stuck .citeban-pick{font-size:12px}
.cite-band .cite-head h2{color:var(--color-primary);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cite-band .cite-head h2::after{content:"★ Featured Position";font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text);background:var(--color-surface-3);border-radius:var(--r-ctl);padding:4px 10px;white-space:nowrap}
.cite-band .cite-head p{color:var(--color-text-2)}

.cite-head{margin:0 0 22px}
.cite-head h2{font-size:24px;margin:0 0 6px}
.cite-head p{margin:0 0 6px;max-width:none;font-size:15px;line-height:1.7;color:var(--ink-2)}

.totop{position:fixed;left:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:var(--btn-bg);color:var(--btn-ink);font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:0 4px 14px rgba(22,29,27,.18);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
.totop.is-on{opacity:1;pointer-events:auto;transform:none}
.totop:hover{background:var(--link)}
.totop:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}
@media print{.totop{display:none}}

/* ================= shared page furniture ================= */
/* one vertical rhythm for every band on every page */
.phero,.sec,.claim{padding:64px 0;border-bottom:1px solid var(--rule)}
.phero h1{font-size:var(--fs-page-h1);margin-bottom:18px;max-width:20ch}
.phero .lede{max-width:60ch}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.06em;color:var(--ink-3);padding:16px 0;border-bottom:1px solid var(--rule)}
.crumbs a{border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:var(--ink-3)}
.crumbs .here{color:var(--ink)}
.sec-head{margin-bottom:30px}
.sec-head p{margin-top:12px;color:var(--ink-2);max-width:62ch}

/* ================= deposit rationale ================= */
.whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px;align-items:stretch}
.why{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:26px;box-shadow:var(--shadow)}
.why-n{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--link);margin-bottom:14px}
.why h3{font-size:18px;line-height:1.25;margin-bottom:10px}
.why p{font-size:14px;line-height:1.6;color:var(--ink-2)}

/* ================= coverage table ================= */
.cov{width:auto;min-width:560px}
.cov th,.cov td{padding-right:34px}
.cov td.num,.cov th[scope="col"]:nth-child(3),.cov th[scope="col"]:nth-child(4){text-align:left}
.cov tbody th{width:auto;font-weight:600}
.cov td:first-child{color:var(--ink-3);font-size:13px;white-space:nowrap}
.cov .num{font-variant-numeric:tabular-nums}
.avail{display:inline-block;padding:3px 9px;border:1px solid var(--p-n);border-radius:100px;font-size:11.5px;font-weight:600;color:var(--p-n);white-space:nowrap}
.avail--low{border-color:var(--p-j);color:var(--p-j)}
.cov .act{text-align:right;white-space:nowrap}
.cov .act a{color:var(--link);font-weight:600;border-bottom:1px solid currentColor}
.askcounty{display:grid;grid-template-columns:1fr 1.35fr;gap:28px;align-items:end;margin-top:28px;padding:24px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;box-shadow:var(--shadow)}
.askcounty h3{font-size:19px;margin-bottom:8px}
.askcounty > div > p{font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.askrow{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:10px;align-items:end}
.askrow .btn{min-height:52px}
@media (max-width:1040px){.askcounty{grid-template-columns:1fr;align-items:start}}
@media (max-width:820px){.askrow{grid-template-columns:1fr}}
.askdone{margin-top:12px;font-size:14px;font-weight:600;color:var(--p-n)}
.askdone[hidden]{display:none}
.covnote{margin-top:22px;font-size:13px;line-height:1.65;color:var(--ink-3);max-width:82ch}
.covnote b{color:var(--ink-2);font-weight:600}

/* ================= pricing ================= */
.ptiers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ptier{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:24px;box-shadow:var(--shadow)}
.ptier--best{border-color:var(--link);box-shadow:0 6px 22px rgba(22,29,27,.09)}
.ptier-flag{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--link);margin-bottom:10px}
.ptier-cov{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:21px;letter-spacing:-.015em;color:var(--ink)}
.ptier-price{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:38px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin:14px 0 4px}
.ptier-per{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.ptier-note{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule);font-size:13px;line-height:1.5;color:var(--ink-2);flex:1}
/* level cards: three across, above the four coverage cards */
.lvls{grid-template-columns:repeat(3,1fr);margin-bottom:8px}
@media (max-width:1040px){.lvls{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.lvls{grid-template-columns:1fr}}
.lvl-list{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--rule);display:grid;gap:8px;font-size:13px;line-height:1.5;color:var(--ink-2);flex:1;align-content:start}
.lvl-list li{position:relative;padding-left:18px}
.lvl-list li::before{content:"✓";position:absolute;left:0;color:var(--p-n);font-weight:700}
.ptier .btn{margin-top:18px}
.rates{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);display:grid;gap:7px}
.rates div{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ink-2)}
.rates b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;white-space:nowrap}
.rates i{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:400}
.ptier-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.ptier-acts .btn{margin-top:0;padding:12px 8px;font-size:13px;white-space:nowrap}

.cmp{width:100%;border-collapse:collapse;font-size:14px}
.cmp caption{text-align:left;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);padding-bottom:12px}
.cmp th,.cmp td{padding:13px 14px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.cmp thead th{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2);border-bottom-color:var(--rule-2)}
.cmp tbody th{font-weight:500;color:var(--ink);width:38%}
.cmp td{color:var(--ink-2)}
.cmp .y{color:var(--p-n);font-weight:700}
.cmp .n{color:var(--ink-3)}
/* comparison table: fixed, equidistant level columns, centred marks */
.cmp:not(.cov){table-layout:fixed}
.cmp:not(.cov) tbody th{width:40%}
.cmp:not(.cov) thead th:not(:first-child),.cmp:not(.cov) td{width:20%;text-align:center}
.cmp-wrap{overflow-x:auto}

.deposit{background:var(--card-bg);color:var(--card-ink);border-radius:4px;padding:34px}
.deposit h2{margin-bottom:0;color:var(--card-ink);font-size:clamp(24px,2.4vw,31px)}
.deposit>p{color:var(--card-ink-2);margin-top:14px;max-width:64ch}
.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;margin-top:24px;border-top:1px solid var(--card-rule)}
.dgrid div{padding:15px 0;border-bottom:1px solid var(--card-rule)}
.dgrid dt{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--card-accent);margin:0 0 5px}
.dgrid dd{margin:0;font-size:14px;line-height:1.5;color:var(--card-ink)}

.faqs{display:grid;gap:0;border-top:1px solid var(--rule)}
.faq{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;padding:17px 30px 17px 0;position:relative;font-size:16px;font-weight:600;color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:15px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:17px;color:var(--ink-3)}
.faq[open] summary::after{content:"\2212"}
/* FAQs are always open (owner, 7 Oct 2026; openFaqs() writes them open): no toggle sign, no pointer, on every page */
details.faq > summary,details.hp-faq-i > summary{cursor:default !important;pointer-events:none}
details.faq > summary{padding-right:0 !important}
details.faq > summary::after,details.faq > summary::before{content:none !important;display:none !important}
.faq p{padding:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--ink-2);max-width:78ch}

/* ================= claim ================= */
.claim-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:auto 1fr;gap:0 48px;align-items:start}
.claim-grid > .steps{grid-column:1;grid-row:1}
.claim-grid > .cform{grid-column:1;grid-row:2}
.claim-grid > aside{grid-column:2;grid-row:2}
.steps{margin-bottom:24px}
.cprog{height:4px;background:var(--sunken);border-radius:2px;overflow:hidden;margin-bottom:14px}
.cprog i{display:block;height:100%;background:var(--link);transition:width .25s ease}
@media (prefers-reduced-motion:reduce){.cprog i{transition:none}}
.stepchips{display:flex;flex-wrap:wrap;gap:7px}
.stepchip{display:flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--rule-2);border-radius:100px;font-size:12.5px;font-weight:500;color:var(--ink-3);background:var(--surface)}
.stepchip b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:700}
.stepchip[data-on="1"]{border-color:var(--btn-bg);background:var(--btn-bg);color:var(--btn-ink)}
.stepchip[data-done="1"]{border-color:var(--link);color:var(--link)}
.cform{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:30px;box-shadow:var(--shadow)}
.cstep{border:0;margin:0;padding:0;min-width:0}
.cstep[hidden]{display:none}
.cstep + .cstep{margin-top:30px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cgrid .field-wide{grid-column:1/-1}
.cform textarea{width:100%;min-height:104px;padding:12px 14px;border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:400 15px/1.55 "Inter","Inter Fallback","Inter Fallback 2",sans-serif;resize:vertical}
.cform textarea::placeholder{color:var(--ink-3)}
.chelp{margin-top:7px;font-size:12px;line-height:1.5;color:var(--ink-3)}
.pickline{margin:0 0 18px;padding:12px 16px;background:color-mix(in srgb,var(--link) 8%,var(--surface));border-left:3px solid var(--link);border-radius:2px;font-size:15px;font-weight:700;color:var(--ink)}
.pickline[hidden]{display:none}
.senderr{margin-top:12px;font-size:13px;font-weight:600;color:var(--p-j)}
.senderr[hidden]{display:none}
.cnav{display:flex;gap:10px;margin-top:26px;padding-top:24px;border-top:1px solid var(--rule)}
.cnav .btn{min-height:50px;flex:1}
.cnav .btn[hidden]{display:none}
.cnav .cback{flex:0 0 auto;padding-inline:20px}
.reassure{display:grid;gap:0;border-top:1px solid var(--rule);margin-top:20px}
.reassure div{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--rule)}
.reassure i{font-style:normal;color:var(--p-n);font-weight:700;line-height:1.5}
.reassure p{font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.reassure b{color:var(--ink);font-weight:600}
.claim-grid > aside{display:grid;gap:18px;align-content:start}
.aside-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:24px;box-shadow:var(--shadow)}
.aside-card h3{margin-bottom:12px}
.aside-card p{font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.aside-card ol{margin:12px 0 0;padding-left:18px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.upsell{background:var(--card-bg);color:var(--card-ink);border-radius:4px;padding:24px}
.upsell h3{margin-bottom:0}
.upsell h3{color:var(--card-ink)}
.upsell p{color:var(--card-ink-2);font-size:13.5px;line-height:1.6;margin-top:10px}
.upsell .btn{margin-top:16px;width:100%}
.done{display:none;text-align:left}
.cform[data-done="1"] .cstep,.cform[data-done="1"] .cnav,.cform[data-done="1"] .steps{display:none}
.cform[data-done="1"] .done{display:block}
.payrow{margin-top:20px;padding:20px;background:color-mix(in srgb,var(--p-n) 6%,var(--surface));border:1px solid var(--p-n);border-radius:4px}
.payrow[hidden]{display:none}
.payrow-h{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:14px}
.paybtns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.paybtns .btn{padding:13px 8px;font-size:13.5px;white-space:nowrap}
@media (max-width:620px){.paybtns{grid-template-columns:1fr}}
.paynote{margin-top:12px;font-size:12px;line-height:1.55;color:var(--ink-3)}
.done h2{font-size:26px;margin-bottom:12px}
.done p{color:var(--ink-2);font-size:15px;line-height:1.6;max-width:56ch}

/* ================= county page ================= */
.ctrls{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:18px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;margin-bottom:18px}
.ctrls .field{min-width:200px}
.count{margin-left:auto;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);padding-bottom:14px}
.kstats{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin:28px 0 0;border-top:1px solid var(--rule-2)}
.kstats div{padding:15px 0}
.kstats dt{margin:0;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:30px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.kstats dd{margin:6px 0 0;font-size:13px;color:var(--ink-2)}

.fslots{display:grid;grid-template-columns:1fr;gap:18px}
/* the same Community Position card, shown on a city page above its firm list */
.citefeat{margin-bottom:18px;text-decoration:none}
/* Featured banner on city pages: LinkedIn-banner proportions (1584x396), a
   little taller, so the placeholder reads as the ad unit it will become. */
.citeban{display:block;width:100%;max-width:100%;box-sizing:border-box;text-decoration:none;position:relative;border:2px dashed var(--p-d);border-radius:5px;background:color-mix(in srgb,var(--p-d) 7%,var(--surface));padding:26px 30px;margin:0 0 6px;aspect-ratio:1584/470;min-height:330px;transition:background-color .15s,border-color .15s}
.citeban:hover{background:color-mix(in srgb,var(--p-d) 13%,var(--surface));border-color:var(--link)}
@media (max-width:760px){.cite-band .citeban:not(.is-stuck){aspect-ratio:auto;min-height:0;padding:20px 18px}.cite-band .citeban:not(.is-stuck) .citeban-in{grid-template-columns:1fr;gap:16px;height:auto}.cite-band .citeban:not(.is-stuck) .citeban-logo{width:96px;height:96px}.cite-band .citeban:not(.is-stuck) .citeban-rail{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:14px;height:auto}.cite-band .citeban:not(.is-stuck) .citeban-badge{width:64px;right:6px;bottom:6px}}
@media (max-width:760px){.tb[data-tip]::after,.tb[data-tip]::before{display:none !important}.tbadges{flex-wrap:wrap}}
.cite-band.cite-band--hero{background:transparent;border:0;padding:0;margin:0}
.cite-band--hero .citeban-hold{margin:0}
.cite-band--hero .citeban:not(.is-stuck){aspect-ratio:auto;min-height:0;padding:18px 18px 16px;border-radius:10px;margin:0}
.cite-band--hero .citeban:not(.is-stuck) .citeban-in{grid-template-columns:1fr;gap:12px;height:auto}
.cite-band--hero .citeban:not(.is-stuck) .citeban-logo{width:64px;height:64px;font-size:8px}
.cite-band--hero .citeban:not(.is-stuck) .citeban-name{font-size:20px;line-height:1.2}
.cite-band--hero .citeban:not(.is-stuck) .citeban-copy{max-width:none;font-size:13px}
.cite-band--hero .citeban:not(.is-stuck) .citeban-rail{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.18);padding-top:12px;height:auto;gap:8px}
.cite-band--hero .citeban:not(.is-stuck) .citeban-badge{width:60px;right:-4px;bottom:-6px}
.fcard-line{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.fcard-line b{color:var(--ink)}
.cite-band.cite-band--wide{background:transparent;border:0;padding:0;margin:22px 0 0}
.cite-band--wide .citeban-hold{margin:0}
.cite-band .citeban--wide:not(.is-stuck){display:block;aspect-ratio:auto;min-height:0;padding:0;margin:0;background:var(--color-background);color:var(--ink);border:1px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:8px;box-shadow:0 8px 24px rgba(0,14,29,.06);overflow:hidden}
.citeban--wide .cb-head{display:block;background:var(--color-primary-hover);color:#ffffff;padding:22px 28px 24px}
.citeban--wide .cb-place{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.citeban--wide .cb-feat{display:inline-flex;align-items:center;gap:6px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-surface-3)}
.citeban--wide .cb-ex{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.60);text-align:right}
.citeban--wide .cb-id{display:flex;gap:18px;align-items:flex-start}
.citeban--wide .cb-mono{width:54px;height:58px;border:1px solid rgba(255,255,255,.20);border-radius:4px;display:grid;place-items:center;flex:none;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:23px;letter-spacing:-.04em;color:var(--color-surface-3)}
.citeban--wide .cb-idtext{display:block;min-width:0}
.citeban--wide .citeban-name{display:block;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:clamp(24px,2.4vw,31px);line-height:1.15;letter-spacing:-.02em;color:#FFFFFF;margin:-2px 0 8px}
.citeban--wide .cb-att{display:block;font-size:14px;color:#ffffff}
.citeban--wide .cb-contact{display:block;font-size:13px;color:rgba(255,255,255,.55);margin-top:4px}
.citeban--wide .cb-body{display:block;padding:24px 28px 0}
.citeban--wide .cb-spec{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin:0 0 12px}
.citeban--wide .cb-spec i{font-style:normal;color:var(--ink-3);padding:0 10px}
.citeban--wide .cb-cred{display:block;font-size:12.5px;color:var(--ink-2);padding-bottom:18px;border-bottom:1px solid var(--rule)}
.citeban--wide .cb-desc{display:block;font-size:14px;line-height:1.75;color:var(--ink-2);margin:18px 0 0;max-width:72ch}
.citeban--wide .cb-desc b{color:var(--ink)}
.citeban--wide .cb-comm{display:flex;gap:10px;align-items:center;margin:18px 0;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.citeban--wide .cb-comm b{color:var(--ink);font-size:13px}
.citeban--wide .cb-comm em{font-style:normal;color:var(--color-error);font-size:20px;line-height:1}
.citeban--wide .cb-decide{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:22px}
.citeban--wide .cb-rate b{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:30px;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.citeban--wide .cb-rate i{font-style:normal;color:var(--color-text-muted);letter-spacing:1.5px;font-size:14px;margin-left:10px}
.citeban--wide .cb-rate small{display:block;font-size:12px;color:var(--ink-2);margin-top:3px}
.citeban--wide .cb-act{display:flex;flex-direction:column;align-items:center;gap:6px}
.citeban--wide .citeban-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:11px 22px;border:1px solid var(--color-primary);border-radius:4px;background:var(--color-primary);color:#ffffff;font-weight:600;font-size:14px;transition:background .15s ease}
.citeban--wide:hover .citeban-btn{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.citeban--wide .cb-act small{font-size:12px;color:var(--ink-2)}
.citeban--wide .cb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 28px;border-top:1px solid var(--rule);background:rgba(196,198,205,.12);font-size:12px;color:var(--ink-2)}
.citeban--wide .cb-foot .citeban-pick{margin:0;min-height:44px;font-size:12px;color:var(--ink)}
.citeban--wide .cb-county{font-size:11.5px;color:var(--ink-3)}
.citeban--wide.is-stuck .cb-body,.citeban--wide.is-stuck .cb-place,.citeban--wide.is-stuck .cb-att,.citeban--wide.is-stuck .cb-county{display:none}
.citeban--wide.is-stuck{display:flex;align-items:center;justify-content:space-between;gap:16px}
.citeban--wide.is-stuck .cb-head{flex:1 1 auto;min-width:0}
.citeban--wide.is-stuck .cb-foot{display:flex;flex:0 0 auto;padding:0;border:0;background:transparent}
.citeban--wide.is-stuck .cb-foot .citeban-pick{color:rgba(255,255,255,.92);font-size:12.5px;padding:8px 14px;border:1.5px solid rgba(255,255,255,.35);border-radius:var(--r-ctl);min-height:0}
.citeban--wide.is-stuck .cb-foot .citeban-pick input{accent-color:var(--color-surface-3)}
.citeban--wide.is-stuck .cb-foot .citeban-pick:has(input:checked){background:var(--color-surface-3);border-color:var(--color-surface-3);color:var(--color-text)}
.citeban--wide.is-stuck .cb-head{background:transparent;padding:0}
.citeban--wide.is-stuck .cb-id{align-items:center;gap:14px}
.citeban--wide.is-stuck .cb-mono{width:40px;height:40px;font-size:16px}
.citeban--wide.is-stuck .citeban-name{font-size:19px;margin:0}
.citeban--wide.is-stuck .cb-contact{margin:0}
@media (max-width:640px){.citeban--wide .cb-head,.citeban--wide .cb-body{padding-left:18px;padding-right:18px}.citeban--wide .cb-foot{padding:6px 18px}.citeban--wide .cb-mono{display:none}.citeban--wide .cb-place{flex-direction:column;align-items:flex-start;gap:4px}.citeban--wide .cb-ex{text-align:left}.citeban--wide .cb-decide{flex-direction:column;align-items:stretch;gap:14px}.citeban--wide .cb-act{align-items:stretch}.citeban--wide .citeban-btn{width:100%}}
.citeban--wide:not(.is-stuck) .cb-body{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:0 28px;padding:20px 28px 22px}
.citeban--wide .cb-main{display:block;min-width:0}
.citeban--wide:not(.is-stuck) .cb-decide{flex-direction:column;align-items:stretch;justify-content:center;gap:12px;padding:0 0 0 24px;border-left:1px solid var(--rule)}
.citeban--wide .cb-rate{display:block;text-align:left}
.citeban--wide .cb-act{align-items:stretch}
.citeban--wide .citeban-btn{width:100%}
.citeban--wide .cb-desc{margin-top:14px;font-size:13.5px;line-height:1.65}
.citeban--wide .cb-comm{margin:14px 0 0;padding:12px 0 0;border-bottom:0}
.frm-cta.frm-cta--view{background:var(--color-surface-3);color:var(--color-text);border:1px solid var(--color-border)}
.frm-cta.frm-cta--view:hover{background:var(--color-surface-3);border-color:var(--color-border-strong)}
@media (max-width:760px){.citeban--wide:not(.is-stuck) .cb-body{grid-template-columns:1fr}.citeban--wide:not(.is-stuck) .cb-decide{border-left:0;padding:14px 0 0;margin-top:14px;border-top:1px solid var(--rule)}}
.cb-paid{display:block;margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--ink-3)}
.cb-paid a{color:var(--link);font-weight:600}
@media (prefers-reduced-motion:reduce){.citeban{transition:none}}
.citeban-tag{position:absolute;top:-11px;left:24px;background:var(--surface);border:1px solid var(--p-d);border-radius:99px;padding:3px 12px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-error)}
.citeban-in{display:grid;grid-template-columns:132px minmax(0,1fr) 216px;gap:28px;height:100%;align-items:center}
.citeban-in>.citeban-logo,.citeban-in>.citeban-rail{display:flex}
.citeban-logo{width:132px;height:132px;border:2px dashed var(--p-n);border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--surface)}
.citeban-in>span,.citeban-name,.citeban-meta,.citeban-copy,.citeban-rate,.citeban-fine{display:block}
.citeban-name{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:30px;line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.citeban-meta{font-size:13px;color:var(--ink-2);margin:0 0 12px}
.citeban-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.citeban-tags span{border:1px dashed var(--rule);border-radius:99px;padding:3px 10px;font-size:11.5px;color:var(--ink-3);background:var(--surface)}
.citeban-copy{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin:0;max-width:62ch}
.citeban-rail{border-left:1px solid var(--rule);padding-left:24px;height:100%;display:flex;flex-direction:column;justify-content:center;gap:10px}
.citeban-rail b{display:block;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.citeban-rate{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:22px;color:var(--ink-3)}
.citeban-btn{display:inline-block;background:var(--ink);color:var(--surface);border-radius:3px;padding:11px 16px;text-align:center;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.citeban-fine{font-size:11.5px;line-height:1.5;color:var(--ink-3);margin:0}
.citeban{position:relative}
/* profile-tiers sales page */
.tiers-demo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.tiers-col{min-width:0}
.tiers-col--wide{margin-top:8px}
.tiers-lab{margin:0 0 10px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.tiers-frms .frm{margin:0}
.hero-lede{margin:12px 0 4px;font-size:17px;line-height:1.55;color:var(--ink-2);max-width:66ch}
.fqgrid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 16px;align-items:start;margin-top:14px}
.fqgrid .fq-lab{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:9px 0 0;white-space:nowrap}
.fqgrid .fq-lab--all{color:var(--ink-3)}
.fqrow{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.fq-all{font-weight:600}
.jd-prose > p{max-width:68ch;margin:0 0 14px;line-height:1.65;color:var(--ink-2)}
.jd-prose ul:not([class]),.jd-prose ol:not([class]){margin:0 0 16px;padding-left:22px;max-width:68ch}
.jd-prose ul:not([class]){list-style:disc}
.jd-prose ol:not([class]){list-style:decimal}
.jd-prose ul:not([class]) li,.jd-prose ol:not([class]) li{margin:0 0 8px;line-height:1.6;color:var(--ink-2)}
.jd-prose ul:not([class]) li::marker,.jd-prose ol:not([class]) li::marker{color:var(--p-j)}
.jd-prose .sec-head{margin-bottom:18px}
.jd-prose .sec-head h2{font-size:27px;line-height:1.2;margin:0}
@media (max-width:820px){.jd-prose .sec-head h2{font-size:23px}}
@media (max-width:700px){.fqgrid{grid-template-columns:1fr;gap:4px}.fqgrid .fq-lab{margin:10px 0 2px}}
@media (max-width:820px){.hero-lede{font-size:15.5px}}
.tiers-col .scope{margin-top:10px}
.tiers-col--wide .citeban-hold{margin-bottom:0}
.tiers-scroll{overflow-x:auto}
.tiers-table th[scope=row]{font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);width:24%}
.tiers-table td{font-size:13.5px;line-height:1.5;width:25%}
.tiers-table .ok{color:var(--color-primary)}
.tiers-table .muted{color:var(--ink-3)}
.tiers-table .tb{vertical-align:middle}
/* comparison table: framed card, clear column separation, Featured column tinted */
.tiers-scroll{border:1px solid var(--rule);border-radius:10px;background:var(--surface);overflow:hidden;overflow-x:auto}
.tiers-table{margin:0;border-collapse:separate;border-spacing:0}
.tiers-table th,.tiers-table td{padding:13px 16px;border-bottom:1px solid var(--rule);border-left:1px solid var(--rule)}
.tiers-table th:first-child,.tiers-table td:first-child{border-left:0}
.tiers-table thead th{background:var(--surface-2);padding:12px 16px;border-bottom:2px solid var(--rule-2);font-size:10px;letter-spacing:.12em;color:var(--ink-2)}
.tiers-table thead th:last-child,.tiers-table td:last-child{background:var(--color-surface-2)}
.tiers-table thead th:last-child{color:var(--color-primary)}
.tiers-table tbody tr:last-child th,.tiers-table tbody tr:last-child td{border-bottom:0}
.tiers-table th[scope=row]{background:var(--surface);color:var(--ink);width:22%}
.tiers-table td{width:26%;color:var(--ink-2)}
.tiers-table td .ok{font-weight:700;margin-right:4px}
.tiers-table td .muted{opacity:.8}
.sec-head--badge{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;align-items:center}
.sec-head--badge h2{margin-top:0}
.cp-badge{width:132px;height:auto;display:block}
@media (max-width:820px){
  .sec-head--badge{grid-template-columns:76px minmax(0,1fr);gap:14px}
  .cp-badge{width:76px}
}
.tiers-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tiers-three h3{margin:0 0 8px;font-size:22px}
.tiers-three p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
.tiers-cta{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.tiers-demo,.tiers-three{grid-template-columns:1fr}}
.eyebrow{margin:0 0 10px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.tbadges{display:inline-flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;vertical-align:middle}
.tb{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:3px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;white-space:nowrap;position:relative}
.tb-feat{background:var(--color-accent-wash);color:var(--color-accent-text);border:1px solid var(--color-accent)}
.tb-give{background:var(--color-accent-wash);color:var(--color-accent-text);border:1px solid var(--color-accent-soft);cursor:help}
.tb-give:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:2px}
.tb[data-tip]::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 8px);width:min(300px,80vw);padding:10px 12px;background:var(--ink);color:var(--surface);font-family:"Inter","Inter Fallback","Inter Fallback 2",system-ui,sans-serif;font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5;border-radius:4px;box-shadow:0 8px 20px rgba(22,29,27,.22);white-space:normal;z-index:6;opacity:0;visibility:hidden;transition:opacity .12s;display:none}
.tb[data-tip]:hover::after,.tb[data-tip]:focus-visible::after{opacity:1;visibility:visible;display:block}
@media (prefers-reduced-motion:reduce){.tb[data-tip]::after{transition:none}}
.citeban .tbadges{margin:2px 0 8px}
.citeban.is-stuck .citeban-name{display:inline-block;vertical-align:middle;max-width:60%}
.citeban.is-stuck .tbadges{display:inline-flex;margin:0 0 0 10px;vertical-align:middle}
.citeban.is-stuck .tb{font-size:8.5px;padding:3px 7px}
@media (max-width:760px){.citeban.is-stuck .tbadges{display:none}}
.frm-tags .tbadges{margin:0}
/* Featured profile page (gen-featured.mjs) */
.fp-hero{display:block;text-decoration:none;color:inherit}
.fp-h1{display:block;font-size:var(--fs-page-h1);line-height:1.15;letter-spacing:-.02em;margin:0 0 6px;font-weight:400}
.fp-logo{font-size:22px;letter-spacing:.02em;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;text-transform:none;color:var(--ink)}
.fp-link{display:block;margin-top:2px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--link)}
.fp-src{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;white-space:nowrap}
.fp-src:hover{color:var(--link)}
.fp-quotes{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fp-quotes li{padding:12px 16px;border-left:3px solid var(--p-d);background:var(--surface-2);border-radius:0 4px 4px 0;font-size:15px;line-height:1.55}
.fp-chips span .fp-src{margin-left:4px}
.fp-people{display:grid;gap:16px}
.fp-person{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}
.fp-person b{display:block;font-size:16px;margin-bottom:2px}
.fp-person p{margin:0 0 4px;font-size:14px;color:var(--ink-2)}
.fp-check{margin:10px 0 12px;padding-left:20px;display:grid;gap:6px;font-size:14.5px;line-height:1.55}
.fp-verify{scroll-margin-top:90px}
.fp-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px}
.fp-table th,.fp-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
.fp-table th{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:640px){.fp-h1{font-size:var(--fs-page-h1)}.fp-person{grid-template-columns:40px 1fr}}
.citeban-badge{position:absolute;right:-12px;bottom:-14px;width:96px;height:auto;transform:rotate(6deg);filter:drop-shadow(0 6px 14px rgba(19,45,38,.24));pointer-events:none}
.citeban.is-stuck .citeban-badge{display:none}
@media (max-width:900px){.citeban-badge{width:72px;right:-6px;bottom:-10px}}
.citeban-hold{margin:0 0 6px}
.sec.cite-band--brand{background:var(--firm-bg,var(--surface-2))}
.cite-band--brand .citeban{background:var(--surface);border-color:color-mix(in srgb,var(--firm-bg,var(--p-d)) 55%,var(--ink))}
.cite-band--brand .citeban:hover{background:var(--surface);border-color:var(--ink)}
.cite-band--brand .citeban-tag{border-color:color-mix(in srgb,var(--firm-bg,var(--p-d)) 55%,var(--ink))}
.cite-band--brand .citeban.is-stuck{border-top:4px solid var(--firm-bg,var(--p-d));border-bottom-color:var(--rule)}
.citeban.is-stuck{position:fixed;top:75px;left:0;right:0;z-index:19;aspect-ratio:auto;min-height:0;margin:0;padding:10px 24px;border-width:0 0 2px;border-radius:0;box-shadow:0 6px 18px rgba(22,29,27,.08)}
.citeban.is-stuck .citeban-tag,.citeban.is-stuck .citeban-tags,.citeban.is-stuck .citeban-copy,.citeban.is-stuck .citeban-fine,.citeban.is-stuck .citeban-rail b{display:none}
.citeban-pick{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);margin-top:8px;cursor:pointer}
.citeban-pick input{width:15px;height:15px;margin:0;accent-color:var(--btn-bg)}
.citeban.is-stuck .citeban-pick{margin:0;font-size:11px}
.citeban.is-stuck .citeban-in{max-width:1160px;margin:0 auto;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;height:auto}
.citeban.is-stuck .citeban-logo{width:44px;height:44px;font-size:11px;border-width:1px}
.citeban.is-stuck .citeban-name{font-size:18px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.citeban.is-stuck .citeban-meta{margin:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.citeban.is-stuck .citeban-rail{border-left:0;border-top:0;padding:0;height:auto;flex-direction:row;align-items:center;gap:14px}
.citeban.is-stuck .citeban-rate{font-size:14px;white-space:nowrap}
.citeban.is-stuck .citeban-btn{padding:8px 12px;font-size:10px;white-space:nowrap}
@media (max-width:760px){.citeban.is-stuck .citeban-rate,.citeban.is-stuck .citeban-logo{display:none}.citeban.is-stuck .citeban-in{grid-template-columns:minmax(0,1fr) auto}}
@media (max-width:900px){
  .citeban{aspect-ratio:auto;min-height:0;padding:24px}
  .citeban-in{grid-template-columns:1fr;gap:18px;align-items:start}
  .citeban-logo{width:96px;height:96px}
  .citeban-name{font-size:25px}
  .citeban-rail{border-left:0;border-top:1px solid var(--rule);padding-left:0;padding-top:18px}
}
.fslot{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:24px;box-shadow:var(--shadow)}
.fslot-taken{border-style:solid;border-color:var(--link)}
.fslot-open{border-style:dashed;border-color:var(--p-n);background:color-mix(in srgb,var(--p-n) 6%,var(--surface));transition:border-color .15s,background-color .15s}
/* the Community Position (Position 3 in program counties) reads gold */
.fslot-gold{border-color:var(--p-d);background:color-mix(in srgb,var(--p-d) 9%,var(--surface))}
.fslot-gold .fslot-n{color:var(--color-error)}
.fslot-gold .fslot-cta{color:color-mix(in srgb,var(--p-d) 75%,var(--ink))}
.fslot-gold:hover{background:color-mix(in srgb,var(--p-d) 15%,var(--surface))}
.communitynote{margin-top:14px;font-size:13px;line-height:1.6;color:var(--ink-2)}
.communitynote a{color:var(--link);border-bottom:1px solid currentColor}
.fslot-open:hover{border-color:var(--link);background:color-mix(in srgb,var(--p-n) 12%,var(--surface))}
@media (prefers-reduced-motion:reduce){.fslot-open{transition:none}}
.fslot-n{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.fslot-taken .fslot-n{color:var(--link)}
.fslot-name{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:23px;letter-spacing:-.015em;color:var(--ink);margin:9px 0 10px}
.fslot-copy{font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.fslot-cta{display:block;margin-top:auto;padding-top:16px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.fslot-taken .fslot-cta{color:var(--ink-3)}
.cf{display:grid;gap:10px;margin-top:14px;text-align:left}
.cf label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.cf .cf-opt{font-weight:400;color:var(--ink-3)}
.cf input{width:100%;box-sizing:border-box;margin-top:4px;padding:9px 10px;border:1px solid var(--rule);border-radius:4px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}
.cf input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.cf-ok{margin-top:14px;padding:12px 14px;border:1px solid var(--rule);border-radius:4px;background:color-mix(in srgb,var(--btn-bg) 8%,var(--surface));font-size:13.5px}
.cf-err{color:var(--color-error)}
.sec-head .consult-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule);max-width:70ch}

.frms{display:grid;gap:0;border-top:1px solid var(--rule)}
.frm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:start;padding:18px 4px;border-bottom:1px solid var(--rule)}
.frm-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:start}
.frm-body{padding-left:56px}
.frm-act{grid-column:2;grid-row:1/3}
.frm[hidden]{display:none}
.frm-enh{background:color-mix(in srgb,var(--link) 4%,var(--surface));box-shadow:inset 2px 0 0 var(--link)}
.frm-enh .frm-av{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
.pill-enh{border-color:var(--link);color:var(--link);font-weight:600}
.gnote{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-bottom:14px}
.getmatched{max-width:300px;text-align:right;display:grid;gap:12px;justify-items:end}
.getmatched p{font-size:13px;line-height:1.55;color:var(--ink-2);margin:0}
@media (max-width:820px){.getmatched{max-width:none;text-align:left;justify-items:start}}
.getmatched--below{max-width:none;text-align:center;justify-items:center;margin:22px 0 8px;padding:18px 20px;background:var(--surface);border:1px solid var(--rule);border-radius:8px}
.getmatched--below p{font-size:14.5px;color:var(--ink)}
@media (max-width:820px){.getmatched--below{text-align:center;justify-items:center}}
.frm h3,.frm h3 a{font-weight:400}
.frm.frm-enh h3,.frm.frm-enh h3 a,.frm.frm-feat h3,.frm.frm-feat h3 a{font-weight:700}
.frm:hover{background:var(--surface)}
.frm-av{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--rule-2);border-radius:3px;background:var(--surface);font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:15px;color:var(--link)}
.frm-body h3{font-size:17px;margin-bottom:3px}
.frm-body h3 a:hover{color:var(--link)}
.frm-meta{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.05em;color:var(--ink-3)}
.frm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.pill--none{color:var(--ink-3)}
.pill--cred{border-color:var(--p-n);color:var(--p-n)}
.pill--debt{border-color:var(--p-j);color:var(--p-j)}
.frm-act{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.frm-act .btn{padding:8px 14px;font-size:13px;white-space:nowrap}
.frm-more{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--link)}

.procgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:32px}
.pstep{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:22px}
.pstep-n{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--link);margin-bottom:12px}
.pstep h3{font-size:16.5px;line-height:1.25;margin-bottom:9px}
.pstep p{font-size:13.5px;line-height:1.6;color:var(--ink-2)}

.tlbox{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;padding:26px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;align-items:center}
.tl-lab{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.tl-num{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:56px;line-height:1;letter-spacing:-.03em;color:var(--p-j);font-variant-numeric:tabular-nums;margin:10px 0 8px}
.tl-sub{font-size:13px;color:var(--ink-2)}
.tl-bars{display:grid;gap:12px}
.tl-row{display:grid;grid-template-columns:130px 1fr 56px;gap:14px;align-items:center;font-size:13px;color:var(--ink-2)}
.tl-row b{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}
.tl-bar{height:8px;background:var(--sunken);border-radius:1px;overflow:hidden}
.tl-bar i{display:block;height:100%;border-radius:1px}
.tl-src{grid-column:1/-1;font-size:12px;color:var(--ink-3);margin-top:4px}
.tl-src a{color:var(--link);border-bottom:1px solid currentColor}

.courtwrap{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}
.courtlist{display:grid;gap:16px}
.court{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:22px}
.court h3{font-size:18px;margin-bottom:5px}
.court-kind{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.court-kind .ok{color:var(--p-n)}
.court-kind a.ok:hover{border-bottom:1px solid var(--p-n)}
.court-d{margin:0;border-top:1px solid var(--rule)}
.court-d div{display:grid;grid-template-columns:104px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule)}
.court-d dt{margin:0;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.court-d dd{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink)}
.verify{font-size:12px;color:var(--ink-3)}
.verify--link{color:var(--link);border-bottom:1px solid currentColor}
.courtmap{margin:0;border:1px solid var(--rule);border-radius:4px;overflow:hidden;background:var(--map-ground);position:sticky;top:96px}
.courtmap svg{display:block;width:100%;height:auto}
.courtmap iframe{display:block;width:100%;aspect-ratio:4/3;border:0;background:var(--map-ground)}
.courtmap figcaption{padding:11px 14px;border-top:1px solid var(--rule);background:var(--surface);font-size:11.5px;line-height:1.5;color:var(--ink-3)}

.chips a b{font-variant-numeric:tabular-nums;color:var(--ink-3);font-weight:600;margin-left:4px}
.foot2{margin-top:22px;font-size:12.5px;line-height:1.6;color:var(--ink-2);max-width:80ch}

@media (max-width:1040px){
  .fslots,.procgrid{grid-template-columns:1fr 1fr}
  .courtwrap{grid-template-columns:1fr}
  .courtmap{position:static;max-width:520px}
  .tlbox{grid-template-columns:1fr;gap:22px}
}
@media (max-width:700px){
  .fslots,.procgrid{grid-template-columns:1fr}
  .kstats{grid-template-columns:1fr 1fr}
  .frm{grid-template-columns:36px 1fr;gap:12px}
  .frm-act{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}
  .court-d div{grid-template-columns:1fr;gap:3px}
  .tl-row{grid-template-columns:96px 1fr 48px;gap:10px}
}

/* ================= state page ================= */
.cogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;grid-auto-rows:1fr}
.cocard{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:20px;box-shadow:var(--shadow);transition:border-color .15s}
.cocard{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.cocard:hover,.cocard:focus-visible{border-color:var(--link);background:var(--color-surface-2);box-shadow:0 6px 18px rgba(22,29,27,.12)}
.cocard:hover .cocard-go{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.cocard{transition:none}}
.cocard-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cocard h3{font-size:18px;font-weight:600;color:var(--ink)}
.cocard-n{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--link);white-space:nowrap}
.cocard-meta{font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.cocard-stats{font-size:12px;color:var(--ink-3)}
.cocard-go{margin-top:auto;padding-top:8px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.courtnote{font-size:14.5px;line-height:1.65;color:var(--ink-2);max-width:58ch;margin-top:16px}
.courtnote a:not(.btn){color:var(--link);border-bottom:1px solid currentColor}
@media (max-width:1040px){.cogrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cogrid{grid-template-columns:1fr}}

/* ================= firm profile ================= */
.pwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:start;padding:40px 0 64px;width:min(920px,100% - 48px)}
.pwrap--side{grid-template-columns:minmax(0,1fr) 320px;width:min(1180px,100% - 48px);gap:32px}
.pside{position:sticky;top:90px;display:grid;gap:14px;align-self:start}
.claimcard{padding:20px 22px;background:var(--surface);border:1px solid var(--rule-2);border-radius:8px}
.claimcard h2{font-size:19px;margin:0 0 8px}
.claimcard p{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.claimcard .btn{width:100%;justify-content:center}
.pside .cpanel{margin:0}
.pside .cpanel .cpanel-btn{width:100%;justify-content:center}
.svcgrid--12{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
/* Coverage & courts, read-only (7 Oct 2026): the Services tile styles (.svct / .svct--off) unchanged, plus a small status
   line. Plain list items: no hover, default cursor. */
ul.crtgrid{list-style:none;margin:0;padding:0}
.svct.crt{color:inherit;cursor:default}
.svct.crt .crt-st{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:10.5px;line-height:1.35}
.svct.crt .crt-st--on{color:var(--color-primary);font-weight:600}
.svct.crt .crt-st--off{color:var(--ink-3);font-weight:400}   /* the Services tiles' "Not confirmed" type */
body.ip-on .svct.crt .crt-st{display:none}   /* claim editor open: its own on/off badges show the state */
.pcard--courts .svcgrid{opacity:.92}
.otabs{position:relative}
.otabs input{position:absolute;opacity:0;width:0;height:0}
.otabs .otab{display:inline-block;padding:8px 14px;margin:0 6px 12px 0;border:1px solid var(--rule-2);border-radius:3px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}
.otabs input:checked + .otab{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-ink)}
.otabs .otab:hover{border-color:var(--ink)}
.otabs .opane{display:none}
.otabs--one .opane{display:block}
.otabs input:nth-of-type(1):checked ~ .opane[data-i="0"],.otabs input:nth-of-type(2):checked ~ .opane[data-i="1"],.otabs input:nth-of-type(3):checked ~ .opane[data-i="2"],.otabs input:nth-of-type(4):checked ~ .opane[data-i="3"],.otabs input:nth-of-type(5):checked ~ .opane[data-i="4"],.otabs input:nth-of-type(6):checked ~ .opane[data-i="5"],.otabs input:nth-of-type(7):checked ~ .opane[data-i="6"],.otabs input:nth-of-type(8):checked ~ .opane[data-i="7"]{display:block}
.otabs .otab{margin-bottom:8px}
.hrs{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline}
.hrs--week{gap:0;row-gap:0}
.hrs--week .hrs-d,.hrs--week .hrs-t{padding:6px 0;border-bottom:1px solid var(--rg-rule,var(--color-border))}
.hrs--week .hrs-d:last-of-type,.hrs--week .hrs-t:last-of-type{border-bottom:0}
.hrs--week .hrs-d{font-weight:600}
.hrs--week .hrs-nc{color:var(--rg-muted,var(--color-text-muted))}

.hrs-d{font-weight:600;color:var(--ink);white-space:nowrap}
.hrs-t{color:var(--ink-2);font-variant-numeric:tabular-nums}
.hrs-n{grid-column:1/-1;color:var(--ink-3);font-size:.92em;margin-top:2px}
@media (max-width:1000px){.pwrap--side{grid-template-columns:1fr}.pside{position:static}.svcgrid--12{grid-template-columns:repeat(2,minmax(0,1fr))}}
.claimband{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:var(--surface);border:1px solid var(--rule);border-radius:14px}
.claimband-t h2{font-size:20px;margin:0 0 4px}
.claimband-t p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.claimband .btn{flex:0 0 auto;white-space:nowrap}
@media (max-width:620px){.claimband{flex-direction:column;align-items:stretch}.claimband .btn{width:100%}}
.pcard--nearby .featside{margin-top:4px}
.phead{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding-bottom:26px;border-bottom:1px solid var(--rule)}
.pav{width:74px;height:74px;flex:none;border:1px solid var(--rule-2);border-radius:4px;display:grid;place-items:center;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:26px;letter-spacing:-.01em;color:var(--link);background:var(--surface)}
.pav--img{display:block;object-fit:cover;padding:0;background:#fff}
.phead h1{font-size:var(--fs-page-h1);line-height:1.1;margin-bottom:10px}
.phead h1 span{color:var(--ink-2)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--rule-2);border-radius:3px;font-size:12px;font-weight:500;color:var(--ink-2);background:var(--surface)}
.pill--ok{border-color:var(--p-n);color:var(--p-n)}
.pill b{font-variant-numeric:tabular-nums;color:var(--ink)}
.phead-act{display:flex;flex-wrap:wrap;gap:10px}
.pcard{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:28px;box-shadow:var(--shadow)}
.pmain{display:grid;gap:20px;align-content:start}
.pcard h2{font-size:22px;margin-bottom:14px}
.pcard p{font-size:15px;line-height:1.65;color:var(--ink-2)}
.pcard p + p{margin-top:12px}
.pcard a:not(.btn){color:var(--link);border-bottom:1px solid currentColor}
.subhead{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:20px 0 10px}
.svc{list-style:none;margin:0;padding:0;display:grid;gap:0}
.svc li{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:14.5px;color:var(--ink)}
.svc i{font-style:normal;font-weight:700;line-height:1.5}
.svc .yes i{color:var(--p-n)}
.svc .no{color:var(--ink-3)}
.svc .no i{color:var(--ink-3)}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.scope{margin-top:18px;padding:14px 16px;background:var(--surface-2);border-left:2px solid var(--link);font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.deflist{margin:0;border-top:1px solid var(--rule)}
.deflist div{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--rule)}
.deflist dt{margin:0;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.deflist dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chips span,.chips a{padding:5px 10px;border:1px solid var(--rule-2);border-radius:3px;font-size:12.5px;color:var(--ink-2);background:var(--surface)}
.chips a:hover{border-color:var(--ink);color:var(--ink)}
.bring{list-style:none;margin:16px 0 0;padding:0}
.bring li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:7px 0;font-size:14px;color:var(--ink-2)}
.bring i{font-style:normal;color:var(--link);font-weight:700}
.rev{display:grid;gap:0;border-top:1px solid var(--rule)}
.rev article{padding:16px 0;border-bottom:1px solid var(--rule)}
.rev-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rev-av{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:600}
.rev-who{font-size:14px;font-weight:600;color:var(--ink)}
.rev-when{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.06em;color:var(--ink-3);margin-left:auto}
.rev p{font-size:14px;line-height:1.6;color:var(--ink-2)}
.stars{color:var(--card-accent);font-size:12px;letter-spacing:.08em}
.res{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.res li{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule)}
.res a{font-size:14.5px;font-weight:500;color:var(--ink)}
.res a:hover{color:var(--link)}
.res small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px;font-weight:400}
.res .gov{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p-n);border:1px solid var(--p-n);border-radius:2px;padding:3px 6px;white-space:nowrap}
.res .muni{color:var(--ink-3);border-color:var(--rule-2)}
.side{position:sticky;top:96px;display:grid;gap:18px;align-content:start}
.sidecard{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:24px;box-shadow:var(--shadow)}
.sidecard h2{font-size:20px;margin-bottom:6px}
.sidecard>p{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin-bottom:16px}
.sidecard .field + .field{margin-top:12px}
.sidecard textarea{width:100%;min-height:92px;padding:11px 13px;border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:400 14.5px/1.55 "Inter","Inter Fallback","Inter Fallback 2",sans-serif;resize:vertical}
.sidecard .btn{width:100%;margin-top:16px;min-height:50px}
.sform[data-done="1"] .cstep,.sform[data-done="1"] .cnav{display:none}
.sform .done{display:none}
.sform[data-done="1"] .done{display:block}
.featside{display:grid;gap:0;border-top:1px solid var(--rule)}
.featside a{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule)}
.featside a:hover .fs-name{color:var(--link)}
.fs-av{width:34px;height:34px;border-radius:4px;display:grid;place-items:center;background:var(--surface-2);font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:13px;color:var(--link)}
.fs-name{font-size:14.5px;font-weight:600;color:var(--ink)}
.fs-meta{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;font-weight:400}
.fs-flag{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-accent-text)}
.protonote{padding:22px 0 0;font-size:12.5px;color:var(--ink-3)}

/* ---- office locator ---- */
.locator{margin:20px 0 0;border:1px solid var(--rule);border-radius:4px;overflow:hidden;background:var(--map-ground)}
.locator svg{display:block;width:100%;height:auto}
.locator figcaption{padding:11px 14px;border-top:1px solid var(--rule);background:var(--surface);font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.05em;color:var(--ink-3)}

/* alternating page bands */
.band-alt{background:var(--surface-2)}

/* SERP mock — revealed with the annotations */
.serp{display:none;border:1px solid var(--rule);border-radius:4px;padding:18px;background:var(--surface);margin-top:14px;max-width:640px}
body[data-seo="on"] .serp{display:block}
.serp-url{font-size:12.5px;color:var(--ink-2);margin-bottom:5px}
.serp-title{font-family:var(--font-sans);font-size:19px;line-height:1.3;color:#1a0dab;margin-bottom:5px}
:root:not([data-theme="light"]) .serp-title{color:#8ab4f8}
:root[data-theme="dark"] .serp-title{color:#8ab4f8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .serp-title{color:#8ab4f8}}
.serp-desc{font-size:13.5px;line-height:1.6;color:var(--ink-2)}

@media (max-width:1040px){
  .pwrap{grid-template-columns:1fr;gap:28px}
  .side{position:static}
  .claim-grid{grid-template-columns:1fr;grid-template-rows:none;gap:32px}
  .claim-grid > .steps,.claim-grid > .cform,.claim-grid > aside{grid-column:1;grid-row:auto}
  .ptiers{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .svc-cols{grid-template-columns:1fr}
  .deflist div{grid-template-columns:1fr;gap:4px}
  .dgrid{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr}
}
@media (max-width:1040px){
  .whygrid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .ptiers{grid-template-columns:1fr}
  .phead{grid-template-columns:1fr}
  .sec,.phero,.claim{padding:44px 0}
  .cov td:first-child{width:auto}
}

/* ================= sticky get-matched pill (county/state/firm pages) ================= */

/* ================= giving page (gv2, editorial design) ================= */
/* g2 tokens live in the base stylesheet (build-fi) for cross-page parity */
.gv2{background:var(--g2-ground);color:var(--g2-ink)}
.gv2-eyebrow{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g2-rust);margin-bottom:20px}
.gv2-display{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:clamp(40px,4.8vw,66px);line-height:1.02;letter-spacing:-.035em;color:var(--g2-ink)}
.gv2-display--h2{font-size:clamp(32px,3.4vw,50px)}
.gv2-lede{margin-top:24px;font-size:16.5px;line-height:1.65;color:var(--g2-ink2);max-width:52ch}
.gv2-lede b{color:var(--g2-ink);font-weight:600}
.gv2-sub{margin-top:18px;font-size:15px;line-height:1.65;color:var(--g2-ink2);max-width:46ch}
.gv2-acts{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px}
.gv2-btn{display:inline-flex;align-items:center;gap:10px;background:var(--g2-deep);color:var(--color-on-primary);padding:15px 24px;font-size:14.5px;font-weight:600}
.gv2-btn:hover{background:color-mix(in srgb,var(--g2-deep) 86%,#000)}
.gv2-link{font-size:14.5px;font-weight:600;color:var(--g2-ink);border-bottom:1.5px solid var(--g2-ink)}
.gv2-meta{margin-top:20px;font-size:12.5px;color:var(--g2-ink3)}

.gv2-hero{padding:84px 0 72px}
.gv2-hero-grid{display:grid;grid-template-columns:1.15fr .9fr;gap:60px;align-items:start}

.ledger{background:var(--g2-card);border:1px solid var(--g2-rule);box-shadow:0 10px 30px rgba(20,37,31,.06)}
.lg-head{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--g2-rule);font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--g2-ink2)}
.lg-pill{display:inline-flex;align-items:center;gap:7px;color:var(--g2-rust)}
.lg-pill i{width:7px;height:7px;border-radius:50%;background:var(--color-surface-3)}
.lg-hero{text-align:center;padding:26px 20px 22px}
.lg-lab{font-size:12.5px;color:var(--g2-ink2)}
.lg-big{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:46px;letter-spacing:-.02em;color:var(--g2-ink);margin:6px 0 4px;font-variant-numeric:tabular-nums}
.lg-sub{font-size:12px;color:var(--g2-ink3)}
.lg-states{border-top:1px solid var(--g2-rule);padding:14px 20px 16px}
.lg-states-head{display:flex;justify-content:space-between;align-items:baseline;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--g2-ink2);margin-bottom:10px}
.lg-states-head b{color:var(--g2-ink);font-size:11.5px}
.lg-strow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.lg-st{border:1px solid var(--g2-rule);text-align:center;padding:9px 4px}
.lg-st b{display:block;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--g2-rust)}
.lg-st span{font-size:12.5px;color:var(--g2-ink);font-variant-numeric:tabular-nums}
.lg-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 20px;border-top:1px solid var(--g2-rule)}
.lg-row span{font-size:13px;color:var(--g2-ink2)}
.lg-row b{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:19px;font-weight:400;color:var(--g2-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.lg-note{padding:14px 20px;border-top:1px solid var(--g2-rule);font-size:11.5px;line-height:1.6;color:var(--g2-ink3);background:color-mix(in srgb,var(--g2-ground) 55%,var(--g2-card))}

.gv2-band{background:var(--g2-deep);color:#ffffff;padding:24px 0}
.gv2-band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gv2-band-grid > div{display:flex;align-items:center;gap:14px}
.gv2-band-grid svg{color:var(--color-surface-3);flex:none}
.gv2-band-grid b{display:block;font-size:13.5px;font-weight:700}
.gv2-band-grid span{display:block;font-size:12.5px;opacity:.72;margin-top:2px}

.gv2-sec{padding:88px 0}
.gv2-sec--tint{background:color-mix(in srgb,var(--g2-deep) 4%,var(--g2-ground))}
.gv2-split{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}
.gv2-sticky{position:sticky;top:110px}

.gv2-steps{list-style:none;margin:0;padding:0}
.gv2-steps li{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--g2-rule)}
.gv2-steps li:last-child{border-bottom:1px solid var(--g2-rule)}
.gv2-steps i{font-style:normal;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:700;color:var(--g2-rust);padding-top:7px}
.gv2-steps h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:22px;letter-spacing:-.01em;color:var(--g2-ink);margin-bottom:8px}
.gv2-steps p{font-size:14.5px;line-height:1.65;color:var(--g2-ink2)}

.gv2-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.gv2-chips span{background:var(--g2-card);border:1px solid var(--g2-rule);padding:10px 20px;font-size:13.5px;font-weight:600;color:var(--g2-ink)}
.gv2-slots2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:32px}
.gv2-sg h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:19px;letter-spacing:-.01em;color:var(--g2-ink);margin-bottom:10px}
.gv2-slot{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--g2-rule);background:var(--g2-card);padding:10px 13px;font-size:13px;font-weight:600;color:var(--g2-ink);margin-bottom:8px}
.gv2-slot em{font-style:normal;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--g2-rust);white-space:nowrap}
.gv2-slot.on{border-color:var(--p-n);background:color-mix(in srgb,var(--p-n) 9%,var(--g2-card))}
.gv2-slot.on em{color:var(--p-n)}
.gv2-mathstrip{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px}
.gv2-mathstrip > div{flex:1;min-width:180px;background:var(--g2-card);border:1px solid var(--g2-rule);padding:22px 26px}
.gv2-mathstrip b{display:block;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.015em;color:var(--g2-ink);font-variant-numeric:tabular-nums}
.gv2-mathstrip span{display:block;font-size:12.5px;color:var(--g2-ink2);margin-top:5px}
.gv2-mathstrip em{font-style:normal;font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:26px;color:var(--g2-rust)}

.gv2-rules{margin:0}
.gv2-rules > div{display:grid;grid-template-columns:170px 1fr;gap:26px;padding:21px 0;border-top:1px solid var(--g2-rule)}
.gv2-rules > div:last-child{border-bottom:1px solid var(--g2-rule)}
.gv2-rules dt{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--g2-rust);padding-top:3px}
.gv2-rules dd{margin:0;font-size:14.5px;line-height:1.65;color:var(--g2-ink2)}

.gv2-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.gv2-roles article{background:var(--g2-card);border:1px solid var(--g2-rule);padding:28px}
.gv2-roles h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:21px;letter-spacing:-.01em;color:var(--g2-ink);margin-bottom:10px}
.gv2-roles p{font-size:13.5px;line-height:1.65;color:var(--g2-ink2)}

@media (max-width:1040px){
  .gv2-hero-grid{grid-template-columns:1fr;gap:44px}
  .gv2-split{grid-template-columns:1fr;gap:36px}
  .gv2-sticky{position:static}
  .gv2-band-grid{grid-template-columns:1fr;gap:16px}
  .gv2-roles{grid-template-columns:1fr}
}
@media (max-width:620px){
  .gv2-hero{padding:52px 0 44px}
  .gv2-sec{padding:52px 0}
  .gv2-rules > div{grid-template-columns:1fr;gap:8px}
  .gv2-mathstrip em{width:100%;text-align:center}
  .lg-strow{gap:6px}
  .lg-st{padding:7px 2px}
}

/* ================= long-form document pages (methodology, legal, about) ================= */
.doc{max-width:74ch}
.doc h2{font-size:24px;margin:44px 0 14px}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:17px;margin:26px 0 8px}
.doc p{margin:0 0 14px;font-size:15px;line-height:1.7;color:var(--ink-2)}
.doc ul{margin:0 0 14px;padding-left:22px;display:grid;gap:8px}
.doc li{font-size:15px;line-height:1.65;color:var(--ink-2)}
.doc b{color:var(--ink);font-weight:600}
.doc a{color:var(--link);border-bottom:1px solid currentColor}
.doc .updated{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:26px}

/* featured waitlist */
.waitrow{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:4px;padding:20px 22px;background:color-mix(in srgb,var(--p-d) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--p-d) 40%,var(--surface));border-radius:4px}
.waitrow p{font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.waitrow .btn{white-space:nowrap}
@media (max-width:820px){.waitrow{grid-template-columns:1fr}}
.qstate .wl{font-style:normal;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--p-j);border:1px solid currentColor;border-radius:100px;padding:1px 7px;margin-left:6px;vertical-align:1px}

/* hero that flows straight into the section below it (claim page) */
.phero--tight{border-bottom:0;padding-bottom:12px}
.phero--tight + .sec{padding-top:12px}

/* firm profile: unclaimed notice + not-confirmed values */
.pnotice{margin-top:14px;padding:12px 16px;background:color-mix(in srgb,var(--p-d) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--p-d) 35%,var(--surface));border-radius:4px;font-size:13px;line-height:1.6;color:var(--ink-2)}
.nc{color:var(--ink-3)}

/* ================= firm profile: tiered claim buttons ================= */
.claim3{display:grid;gap:8px;margin-top:14px}
.claim3 .btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px}
.claim3 .btn b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap;opacity:.9}
.btn-gold{background:color-mix(in srgb,var(--p-d) 16%,var(--surface));color:color-mix(in srgb,var(--p-d) 72%,var(--ink));border:1px solid color-mix(in srgb,var(--p-d) 45%,var(--surface))}
.btn-gold:hover{background:color-mix(in srgb,var(--p-d) 26%,var(--surface))}

/* ================= firm profile: services, map ================= */
.svcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));grid-auto-rows:1fr;gap:10px;align-items:stretch}
.svct{display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;min-height:96px;padding:12px 10px;border:1.5px solid var(--p-n);border-radius:4px;background:color-mix(in srgb,var(--p-n) 18%,var(--surface))}
.svct b{font-size:12.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.svct em{font-style:normal;font-size:10.5px;line-height:1.35;color:var(--ink-2)}
.svct--off{border:1px solid color-mix(in srgb,var(--rule) 60%,var(--surface));background:color-mix(in srgb,var(--sunken) 45%,var(--surface))}
.svct--off b{color:var(--ink-3);font-weight:600}
.svct--off em{color:var(--ink-3)}

.svc{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.svc li{position:relative;padding-left:18px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.svc li::before{content:"\2713";position:absolute;left:0;color:var(--p-n);font-weight:700}
.pmap{margin-top:16px;border:1px solid var(--rule);border-radius:4px;overflow:hidden;background:var(--sunken)}
.pmap iframe{display:block;width:100%;height:260px;border:0}

/* ================= canonical listing-level definitions (every page) ================= */
.tierdef-h{font-size:24px;margin-bottom:18px}
.tierdef-rows{display:grid;gap:10px;max-width:80ch}
.tierdef-rows p{font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.tierdef-rows b{color:var(--ink);font-weight:600}
.tierdef-cap{margin-top:4px;padding-top:12px;border-top:1px solid var(--rule)}

/* ================= founder bio panel on the about page ================= */
.bio-wrap{max-width:520px;margin:26px 0 6px}

/* ================= audience track toggle (state + county pages) ================= */
.trackfield{display:flex;flex-direction:column;gap:8px}
.tlab{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.trackbar{display:flex;flex-wrap:wrap;gap:8px}
.trk{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;letter-spacing:.05em;padding:8px 14px;border:1px solid var(--rule);border-radius:3px;background:none;color:var(--ink-2);cursor:pointer}
.trk:hover{border-color:var(--ink-3)}
.trk[aria-pressed="true"]{border-color:var(--ink);color:var(--ink);font-weight:600}
.trknote{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex-basis:100%}
.frm-match{border-left:3px solid var(--ink)}

/* ================= about page (av2 — the approved editorial concept) ================= */
.av2{background:var(--g2-ground);color:var(--g2-ink);padding:76px 0;border-bottom:1px solid var(--g2-rule)}
.av2-band{background:var(--g2-card)}
.av2-hero{padding:88px 0 78px}
.av2-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.av2-grid--head{grid-template-columns:1.4fr .8fr;align-items:end;margin-bottom:38px}
.av2-eyebrow{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--g2-ink);opacity:.65;margin-bottom:16px}
.av2-eyebrow--gold{color:var(--card-accent);opacity:1}
.av2-h1{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:var(--fs-page-h1);line-height:1.06;letter-spacing:-.02em;color:var(--g2-ink)}
.av2-dash{display:block;width:56px;height:3px;background:var(--card-accent);margin-top:28px}
.av2-h1--sm{font-size:var(--fs-page-h1);margin-bottom:18px}
.av2-h2{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:clamp(27px,3.1vw,40px);line-height:1.12;letter-spacing:-.015em;margin-bottom:16px}
.av2-lead{font-size:17px;line-height:1.65;max-width:56ch}
.av2-body{font-size:14.5px;line-height:1.7;opacity:.85;margin-top:12px;max-width:62ch}
.av2-body a{text-decoration:underline;text-underline-offset:3px}
.av2-note{font-size:13.5px;line-height:1.6;opacity:.7;max-width:38ch}
.av2-btn{display:inline-flex;align-items:center;gap:10px;background:var(--g2-deep);color:var(--color-on-primary);padding:14px 22px;border-radius:4px;font-weight:700;font-size:14.5px}
.av2-btn--cream{background:var(--color-on-primary);color:var(--color-text)}
.av2-link{font-weight:700;font-size:14px;color:var(--g2-deep);text-decoration:underline;text-underline-offset:4px}
.av2-link--light{color:var(--color-surface-2)}
.av2-free{margin-top:16px;font-size:12.5px;opacity:.75}
.av2-free--light{color:var(--color-surface-2);opacity:.85}
.av2-secno{display:flex;align-items:center;gap:12px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:36px;opacity:.75}
.av2-secno b{font-weight:500}
.av2-secno i{flex:1;max-width:220px;height:1px;background:var(--g2-rule)}
.av2-secno--light{color:var(--color-surface-2);opacity:.9}
.av2-secno--light i{background:rgba(255,255,255,.25)}
.av2-founder{background:var(--g2-ground);border:1px solid var(--g2-rule);border-radius:6px;padding:24px}
.av2-frow{display:flex;gap:14px;align-items:center}
.av2-frow img{border-radius:50%;width:52px;height:52px;object-fit:cover}
.av2-frow b{display:block;font-size:15.5px}
.av2-frow span{font-size:12.5px;opacity:.65}
.av2-stats{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--g2-rule);display:grid;gap:10px}
.av2-stats div{display:grid;grid-template-columns:132px 1fr;gap:10px;font-size:13px}
.av2-stats dt{font-weight:700}
.av2-stats dd{opacity:.75}
.av2-chiplab{margin:16px 0 8px;padding-top:14px;border-top:1px solid var(--g2-rule);font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.av2-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.av2-chips li{font-size:11.5px;padding:4px 10px;border:1px solid var(--g2-rule);border-radius:99px;background:var(--g2-card)}
.av2-flinks{margin-top:16px;padding-top:14px;border-top:1px solid var(--g2-rule);display:flex;gap:18px}
.av2-flinks a{font-weight:700;font-size:13.5px;color:var(--g2-deep);text-decoration:underline;text-underline-offset:3px}
.av2-list{list-style:none;margin:0;padding:0;display:grid}
.av2-list li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--g2-rule)}
.av2-list li:last-child{border-bottom:1px solid var(--g2-rule)}
.av2-list b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;color:var(--card-accent);padding-top:5px}
.av2-list h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:500;font-size:19px;margin-bottom:4px}
.av2-list p{font-size:13.5px;opacity:.75;line-height:1.6}
.av2-aud{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--g2-rule)}
.av2-card{padding:36px;background:var(--g2-ground)}
.av2-card h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:500;font-size:26px;margin:6px 0 10px}
.av2-card p{font-size:14px;opacity:.8;line-height:1.65}
.av2-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-size:14px}
.av2-card ul li{padding-left:18px;position:relative}
.av2-card ul li::before{content:"\2013";position:absolute;left:0;opacity:.6}
.av2-card--deep{background:var(--g2-deep);color:var(--color-surface-2)}
.av2-card--deep h3{color:var(--color-surface-2)}
.av2-card--deep p{opacity:.85}
.av2-steps{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--g2-rule);border-bottom:1px solid var(--g2-rule)}
.av2-steps>div{padding:28px 26px;border-left:1px solid var(--g2-rule)}
.av2-steps>div:first-child{border-left:0;padding-left:0}
.av2-stepn{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:12px;margin-bottom:12px}
.av2-steps h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:500;font-size:20px;line-height:1.25;margin-bottom:8px}
.av2-steps p{font-size:13px;opacity:.75;line-height:1.6}
.av2-quizbar{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;background:color-mix(in srgb,var(--g2-deep) 10%,var(--g2-ground));border-radius:6px;padding:18px 24px}
.av2-quizbar b{display:block;font-size:14.5px}
.av2-quizbar span{font-size:13px;opacity:.75}
.av2-quizbar a{font-weight:700;font-size:14px;color:var(--g2-deep);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.av2-trust{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.av2-trust>div{padding:20px 0;border-top:1px solid var(--g2-rule)}
.av2-trust h3{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:500;font-size:20px;margin-bottom:6px}
.av2-trust p{font-size:13.5px;opacity:.75;line-height:1.6;max-width:44ch}
.av2-deep{background:var(--g2-deep);color:var(--color-surface-2)}
.av2-deep .av2-h1,.av2-deep .av2-h2{color:var(--color-surface-2)}
.av2-deep .av2-body{color:var(--color-surface-2);opacity:.85}
.av2-quote{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-size:21px;line-height:1.45;border-left:2px solid var(--card-accent);padding-left:22px;align-self:center;color:var(--color-surface-2);margin:0}
.av2-sage{background:color-mix(in srgb,var(--g2-deep) 12%,var(--g2-ground))}
.av2-cta .av2-heroright{padding-top:30px}
.av2-clarify{margin-top:54px;padding-top:34px;border-top:1px solid rgba(255,255,255,.18)}
.av2-clarify-h{font-family:Newsreader,"Newsreader Fallback","Newsreader Fallback 2",Georgia,serif;font-weight:400;font-size:24px;line-height:1.2;color:var(--color-surface-2)}
.av2-deep .av2-body a{color:var(--color-surface-2)}
@media (max-width:900px){
  .av2{padding:52px 0}
  .av2-grid,.av2-grid--head{grid-template-columns:1fr;gap:28px}
  .av2-aud{grid-template-columns:1fr}
  .av2-steps{grid-template-columns:1fr}
  .av2-steps>div{border-left:0;border-top:1px solid var(--g2-rule);padding-left:0}
  .av2-steps>div:first-child{border-top:0}
}
/* city pages + venue guide */
.venue-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:24px;align-items:stretch}
.courtlist{align-content:stretch;grid-auto-rows:1fr}
.venue-grid .court,.venue-grid .venue-side{height:100%;box-sizing:border-box}
.venue-side{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:18px 20px}
.venue-rule{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.venue-rule:last-child{margin-bottom:0}
.venue-rule b{color:var(--ink)}
.alsoserve{margin:28px 0 12px;padding-top:22px;border-top:1px solid var(--rule)}
.alsoserve h3{margin:0 0 6px;font-size:17px}
.alsoserve p{margin:0;font-size:13.5px;color:var(--ink-2)}
.townnotes{margin:0;padding-left:20px;max-width:70ch}
.townnotes li{margin:0 0 10px;font-size:15px;line-height:1.6}
.vlookup{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px}
.vresults{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:22px}
.vcard{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:20px}
.vcard-n{margin:0 0 6px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.vcard-h{margin:0 0 12px;font-weight:600;color:var(--ink)}
.vcard-l{margin:0 0 16px;padding-left:18px;font-size:13.5px;line-height:1.55}
.vcard-l li{margin-bottom:8px}
.vnote{grid-column:1/-1;margin:0;padding:14px 16px;border-left:3px solid var(--btn-bg);background:var(--surface-2);font-size:14px}
@media (max-width:760px){.venue-grid,.vlookup{grid-template-columns:1fr}}
/* firm list: filters left, results right */
.listwrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;align-items:start}
.filters{position:sticky;top:14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:18px 18px 14px;box-shadow:0 6px 18px rgba(22,29,27,.06)}
.fgroup{padding:10px 0 12px;border-bottom:1px solid var(--rule)}
.fgroup:last-of-type{border-bottom:0}
.flab{display:block;margin:0 0 10px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}
.fradios{display:grid}
.flocked{padding-bottom:14px}
.fbox{display:grid;grid-template-columns:18px minmax(0,1fr) auto;column-gap:10px;align-items:center;padding:9px 6px;margin:0 -6px;border-radius:6px;font-size:14px;font-weight:500;line-height:1.3;color:var(--ink);cursor:pointer;transition:background .12s ease}
.fbox:hover{background:var(--color-surface-2)}
.fbox:has(input:checked){background:var(--color-surface-2)}
.fbox+.fbox{border-top:1px solid var(--rule)}
.fbox:has(input:checked)+.fbox,.fbox:hover+.fbox{border-top-color:transparent}
.fbox input{margin:0;width:16px;height:16px;accent-color:var(--color-primary)}
.fbox b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:11px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border-radius:3px;padding:2px 8px;min-width:30px;text-align:center}
.fbox b:empty,.fbox b[data-zero]{opacity:.5}
.fbox small{grid-column:2/4;font-size:11.5px;font-weight:400;color:var(--ink-3);margin-top:2px}
.fnote{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:var(--ink-3)}
.filters select{width:100%;padding:8px 10px;border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px}
.flock{margin:0;padding:8px 10px;border-radius:4px;font-weight:600;font-size:14px;background:var(--surface-2)}
.flock--home{background:var(--color-surface-2);color:var(--color-primary)}
.flock--inv{background:var(--color-accent-wash);color:var(--color-accent-text)}
.fclear{display:block;width:100%;margin-top:14px;padding:10px 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--color-primary);background:var(--surface);border:1.5px solid var(--color-primary);border-radius:3px;cursor:pointer}
.fclear:hover{background:var(--color-primary);color:#fff}
.fswitch{display:block;width:100%;margin-top:8px;padding:8px 12px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;cursor:pointer}
.fswitch:hover{border-color:var(--ink)}
.fpills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.fpills:empty{display:none}
.fpill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:3px;border:1px solid var(--ink);background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;font-weight:600;cursor:default}
button.fpill{cursor:pointer}
button.fpill:hover{background:var(--ink);color:var(--surface)}
.fpill i{font-style:normal;font-size:14px;line-height:1}
.fpill--home{background:var(--color-surface-2);border-color:var(--color-primary);color:var(--color-primary)}
.fpill--inv{background:var(--color-accent-wash);border-color:var(--color-accent-text);color:var(--color-accent-text)}
.fpill--count{border-color:var(--rule-2);color:var(--ink-3);font-weight:500}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* select + compare */
.frm-act{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
/* ==== register cards (attorney-card-spec.md), every list ==== */
/* the register section sits on the spec's paper ground */
/* filter pills and the Filters button squared to match the card tags */
#attorneys .fq-pill,#attorneys .fbtn,#attorneys .fpill,#attorneys .fclear{border-radius:3px}
.rg-sort{margin:0 0 10px;font-family:var(--rg-mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2)}
.frms.register{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;border-top:0}
.frms.register .frm.entry{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:0 14px;height:100%;padding:15px 18px 0 17px;background:var(--rg-tier-std);color:var(--rg-ink);border:1px solid var(--rg-rule);border-radius:var(--r-card);box-shadow:none;overflow:hidden;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.frms.register .frm.entry::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);transform:scaleY(0);transform-origin:top;transition:transform .18s ease}
.frms.register .frm.entry:hover,.frms.register .frm.entry:focus-within{border-color:var(--rg-rule-strong);background:var(--rg-sheet-hover);box-shadow:0 4px 14px -6px rgba(19,26,22,.25)}
.frms.register .frm.entry:hover::before,.frms.register .frm.entry:focus-within::before{transform:scaleY(1)}
.frms.register .frm.entry:hover .firm{color:var(--color-primary)}
.frms.register .frm.entry:has(.pick:checked){border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}
.frms.register .frm.entry:has(.pick:checked)::before{transform:scaleY(1)}
.frms.register .frm.entry[hidden]{display:none !important}
.frms.register .firm a{color:inherit;text-decoration:none}
.frms.register .firm a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}
.frms.register .rail{grid-row:1 / 5;display:flex;flex-direction:column;align-items:center;gap:6px;padding-bottom:14px}
.frms.register .monogram{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rg-rule-strong);border-radius:2px;background:var(--rg-sheet);font-family:var(--rg-serif);font-size:16px;font-weight:600;letter-spacing:.02em;color:var(--rg-ink)}
.frms.register .firm{margin:2px 0 4px;font-family:var(--rg-serif);font-size:18.5px;font-weight:600;line-height:1.2;letter-spacing:-.012em;text-wrap:balance;color:var(--rg-ink);transition:color .14s ease}
.frms.register .metaline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;font-family:var(--rg-sans);font-size:12.5px;color:var(--rg-muted);line-height:1.3}
.frms.register .rate{position:relative;display:inline-block;font-size:13px;line-height:1;letter-spacing:1px;color:var(--rg-rule-strong);white-space:nowrap}
.frms.register .rate .on{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--rg-brass)}
/* stars drawn by CSS so text extraction reads one label, not ten star characters (24 Sep 2026) */
.frms.register .rate::before,.frms.register .rate .on::before{content:'★★★★★'}
.frms.register .score{font-weight:700;font-size:13px;color:var(--rg-ink);font-variant-numeric:tabular-nums}
.frms.register .revs{font-family:var(--rg-mono);font-size:11.5px;color:var(--rg-muted)}
.frms.register .sep{color:var(--rg-rule-strong)}
.frms.register .place{display:inline-flex;align-items:center;gap:4px;color:var(--rg-muted)}
.frms.register .place svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.frms.register .tierbadge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:2px;font-family:var(--rg-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.frms.register .tierbadge.enh{border:1px solid var(--color-secondary);color:var(--color-secondary)}
.frms.register .tierbadge.feat{background:var(--rg-brass);color:var(--rg-on-brass)}
.frms.register .body{padding:10px 0 12px}
/* the other towns a firm works from, named on the card because that is what a homeowner scans for */
.frms.register .alsoin{display:flex;align-items:center;gap:5px;margin:0 0 8px;font-family:var(--rg-sans);font-size:12.5px;line-height:1.35;color:var(--rg-brass-ink)}
.frms.register .alsoin::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--rg-brass)}
.frms.register .tags{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}
.frms.register .tag{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid var(--rg-rule);border-radius:2px;background:transparent;font-family:var(--rg-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--rg-muted);line-height:1}
.frms.register .tag.key{border-color:var(--color-primary);background:var(--color-tint);color:var(--color-primary);font-weight:500}
/* The Compare label stretches to fill the flex line, so an in-flow middle item resolves to zero width. The day's hours are centred on the footer instead, which the footer's own position:relative makes exact and which cannot be squeezed by either neighbour. */
.frms.register .foot .today{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--rg-mono,ui-monospace,monospace);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rg-ink-2,var(--color-text-muted));white-space:nowrap;pointer-events:none}
@media (max-width:820px){.frms.register .foot{flex-wrap:wrap}.frms.register .foot .today{position:static;transform:none;order:3;flex:1 0 100%;text-align:center;margin-top:7px}}
.frms.register .foot .today:empty{display:none}
.frms.register .detail{margin:0;font-family:var(--rg-sans);font-size:12.5px;line-height:1.5;color:var(--rg-ink-2)}
.frms.register .detail .em{color:var(--rg-muted)}
.frms.register .foot{grid-column:1 / 3;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -18px 0 -17px;padding:10px 18px 12px 17px;border-top:1px solid var(--rg-rule)}
.frms.register .cmp{display:inline-flex;align-items:center;gap:7px;font-family:var(--rg-sans);font-size:12.5px;color:var(--rg-muted);cursor:pointer}
.frms.register .cmp .pick{width:14px;height:14px;margin:0;accent-color:var(--color-primary);border-radius:2px}
.frms.register .cta{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex:none;padding:6px 11px;border:1px solid var(--color-primary);border-radius:2px;font-family:var(--rg-sans);font-size:12.5px;font-weight:600;color:var(--color-primary);background:transparent;transition:background-color .14s ease,color .14s ease}
.frms.register .cta .arw{display:inline-block;transition:transform .14s ease}
.frms.register .frm.entry:hover .cta{background:var(--color-primary);color:var(--brand-ink)}
.frms.register .frm.entry:hover .cta .arw{transform:translateX(3px)}
.frms.register .frm.entry .cta:focus-visible,.frms.register .frm.entry .pick:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
/* tiers: surface + left rule + accent, never size */
.frms.register .frm.entry.enhanced{background:var(--rg-tier-enh);border-color:color-mix(in srgb,var(--color-secondary) 32%,transparent)}
.frms.register .frm.entry.enhanced::before{background:var(--color-secondary);transform:scaleY(1)}
.frms.register .frm.entry.enhanced .monogram{border-color:var(--color-secondary)}
.frms.register .frm.entry.featured{background:var(--rg-tier-feat);border-color:color-mix(in srgb,var(--rg-brass) 42%,transparent);box-shadow:0 2px 10px -6px rgba(154,107,24,.4)}
.frms.register .frm.entry.featured::before{background:var(--rg-brass);transform:scaleY(1);width:4px}
.frms.register .frm.entry.featured .monogram{border-color:var(--rg-brass);background:var(--rg-brass-soft)}
.frms.register .frm.entry.featured .tag.key{border-color:var(--rg-brass);background:var(--rg-brass-soft);color:var(--rg-brass-ink)}
.frms.register .frm.entry.featured .cta{border-color:var(--rg-brass);color:var(--rg-brass-ink)}
.frms.register .frm.entry.featured:hover .cta{background:var(--rg-brass);color:var(--rg-on-brass)}
.frms.register .frm.entry.featured:hover .firm{color:var(--rg-brass-ink)}
/* trailing tile */
.frms.register .claimtile{order:99;display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:120px;padding:18px;border:1px dashed var(--rg-rule-strong);border-radius:3px;background:transparent;color:var(--rg-muted);text-decoration:none}
.frms.register .claimtile:hover{border-color:var(--color-primary);color:var(--color-primary)}
.frms.register .claimtile-h{font-family:var(--rg-serif);font-size:17px;font-weight:600;color:var(--rg-ink)}
.frms.register .claimtile-p{font-family:var(--rg-sans);font-size:12.5px;line-height:1.5}
@media (max-width:780px){
  .frms.register,.frms.register.frms--home{grid-template-columns:1fr;grid-auto-rows:auto}
  .frms.register .frm.entry{height:auto}
}
@media (max-width:820px){
  .frms--home .frm.entry .foot{display:none}
  .frms--home .frm.entry .body{padding-bottom:16px}
}
@media (prefers-reduced-motion:reduce){
  .frms.register .frm.entry,.frms.register .frm.entry::before,.frms.register .firm,.frms.register .cta,.frms.register .cta .arw{transition:none}
}
.frms.register.frms--home{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1041px){
  .frms.register.frms--home{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.frms--home .cmp{visibility:hidden}
@media (max-width:780px){
  .frms.register.frms--home{grid-template-columns:1fr}
}
#attorneys{background:var(--surface-cool)}   /* every results band: the cool section surface, white cards on it (7 Oct 2026) */
.tierkey{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:8px 0 0;font-size:12.5px;color:var(--ink-3)}
.tk-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tk{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-1px}
.tk-feat{background:var(--rg-brass)}
.tk-enh{background:var(--color-secondary)}
.frm-pick{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);cursor:pointer}
.frm-pick input{width:16px;height:16px;margin:0;accent-color:var(--btn-bg);border-radius:3px}
.cmpbar{position:sticky;top:8px;z-index:30;display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:10px 14px;background:var(--surface);border:1px solid var(--ink);border-radius:4px;box-shadow:0 6px 18px rgba(22,29,27,.14)}
.cmpbar-n{font-size:13.5px;font-weight:600;color:var(--ink)}
.cmpbar .btn{padding:9px 16px;font-size:13px}
.cmpbar .btn[disabled]{opacity:.45;cursor:not-allowed}
.cmpbar-clear{margin-left:auto;font:inherit;font-size:12.5px;color:var(--ink-2);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cmpinline{margin:0 0 18px;padding:18px 20px 14px;background:var(--surface);border:1px solid var(--rule-2);border-top:3px solid var(--btn-bg);border-radius:4px}
.cmphead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cmphead h2{margin:0;font-size:22px}
.cmpclose{font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--ink);border-radius:3px;padding:6px 12px;cursor:pointer}
.cmpclose:hover{background:var(--ink);color:var(--surface)}
.cmpscroll{overflow:auto}
.cmptable{border-collapse:collapse;width:100%;font-size:14px}
.cmptable th{text-align:left;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:12px 14px 12px 0;border-top:1px solid var(--rule);white-space:nowrap;vertical-align:top;width:150px}
.cmptable td{padding:12px 14px;border-top:1px solid var(--rule);border-left:1px solid var(--rule);vertical-align:top;min-width:180px}
.cmptable tr:first-child th,.cmptable tr:first-child td{border-top:0}
.cmptable .ok{color:var(--color-primary)}
.cmptable .muted{color:var(--ink-3)}
.cmptable a{color:var(--link)}
.cmptable .btn{padding:8px 12px;font-size:12.5px}
.cmptable a.cmp-contact{white-space:nowrap;color:var(--btn-ink);text-decoration:none}
.cmptable a.cmp-contact:hover{color:var(--btn-ink)}
.cmpbar[hidden]{display:none}   /* the tray shows only after a firm is ticked (24 Sep 2026) */
@media (max-width:760px){.cmpbar{flex-wrap:wrap}}
.listmain .count{margin:0 0 6px}
/* profile level: a badge, not a pill. Enhanced removed 11 Sep 2026 (Basic and Featured only); restore by reverting that commit. */
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:4px;font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}
.badge-enh{background:var(--color-secondary);color:#fff;box-shadow:0 1px 3px rgba(76,96,123,.35)}
.badge-enh i{font-style:normal;font-size:12px}
.badge-basic{background:transparent;color:var(--ink-3);border:1px solid var(--rule-2);font-weight:600}
.frm-enh{background:color-mix(in srgb,var(--color-secondary) 6%,var(--surface));box-shadow:inset 3px 0 0 var(--color-secondary)}
/* firms serving the town from elsewhere in the county: tan, so they read apart from the local firms */
.frms--near{border-top-color:var(--color-accent-soft)}
.frms--near .frm{background:color-mix(in srgb,var(--color-accent) 6%,var(--surface));box-shadow:inset 3px 0 0 var(--color-accent);border-bottom-color:var(--color-accent-soft)}
.frms--near .frm.frm-enh{background:color-mix(in srgb,var(--color-accent) 11%,var(--surface));box-shadow:inset 3px 0 0 var(--color-accent)}
.frms--near .frm[data-side],.frms--near .frm-enh[data-side]{box-shadow:inset 3px 0 0 var(--color-accent)}
.alsoserve{margin-top:26px}
.alsoserve h3{margin:0 0 6px}
.alsoserve p{margin:0 0 14px;max-width:76ch;color:var(--ink-2);font-size:14.5px;line-height:1.6}
.frm-enh .frm-av{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}
.frm-enh[data-side]{box-shadow:inset 3px 0 0 var(--color-secondary)}
/* Community Position card carries the seal; Featured strip pins under the masthead */
.fslot{position:relative;overflow:visible}
.fslot-badge{position:absolute;right:-10px;bottom:-12px;width:92px;height:auto;transform:rotate(6deg);filter:drop-shadow(0 6px 14px rgba(19,45,38,.24));pointer-events:none}
.fstick{position:fixed;top:74px;left:0;right:0;z-index:19;background:var(--surface);border-bottom:1px solid var(--rule);box-shadow:0 6px 18px rgba(22,29,27,.08)}
.fstick .wrap{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap}
.fstick-lab{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.fstick-slot{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px dashed var(--ink-3);border-radius:4px;font-size:13px;font-weight:500;color:var(--ink);background:var(--surface)}
.fstick-slot b{font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;color:var(--ink-3)}
.fstick-slot--gold{border-color:var(--p-d);background:color-mix(in srgb,var(--p-d) 10%,var(--surface))}
.fstick-slot--taken{color:var(--ink-3);text-decoration:line-through}
.fstick .btn{margin-left:auto;padding:8px 14px;font-size:13px}
@media (max-width:760px){.fstick{display:none}}
.pill--home{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-2)}
.pill--inv{border-color:var(--color-accent-text);color:var(--color-accent-text);background:var(--color-accent-wash)}
.pill--both{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-2)}
.frm[data-side="borrower"]{box-shadow:inset 3px 0 0 var(--color-primary)}
.frm[data-side="creditor"]{box-shadow:inset 3px 0 0 var(--color-accent)}
.frm[data-side="both"]{box-shadow:inset 3px 0 0 var(--color-primary)}
.frm-match{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
@media (max-width:860px){.listwrap{grid-template-columns:1fr}.filters{position:static}}

/* ---- Connecticut judicial-district pages (court-*-jd-ct) --------------------
   Namespaced jd-* because the shipped template reused class names the site
   already defines for other things: .steps is a grid rule here, .court and
   .badge are taken too. Everything below is built from the site tokens so the
   court pages inherit both themes without their own palette. */
.jd-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:22px 0}
.jd-kpi div{background:var(--surface);padding:12px 14px}
.jd-kpi b{display:block;font-size:1.6rem;line-height:1.1;font-variant-numeric:tabular-nums}
.jd-kpi span{font-size:.85rem;color:var(--ink-3)}
.jd-court{display:grid;grid-template-columns:1fr 1fr;gap:22px;border:1px solid var(--rule);padding:18px;background:var(--surface);border-radius:6px}
.jd-court dt{font-size:.8rem;color:var(--ink-3);margin-top:10px}
.jd-court dd{margin:0}
.jd-badge{display:inline-block;background:var(--surface-2);color:var(--ink-2);font-size:.78rem;padding:2px 8px;border-radius:3px}
.jd-towns{columns:3;column-gap:24px;list-style:none;padding:0;margin:8px 0}
.jd-towns li{padding:3px 0;border-bottom:1px dotted var(--rule-2);break-inside:avoid}
.jd-towns li small{color:var(--ink-3)}
.jd-steps{list-style:none;padding:0;margin:0}
.jd-steps li{padding:12px 0;border-bottom:1px solid var(--rule-2)}
.jd-steps li:last-child{border-bottom:none}
.jd-steps b{display:block;margin-bottom:2px}
.jd-callout{border-left:3px solid var(--link);background:var(--sunken);padding:12px 16px;max-width:76ch;border-radius:0 4px 4px 0}
.jd-firm{border:1px solid var(--rule);padding:14px;margin:10px 0;background:var(--surface);border-radius:6px}
.jd-firm h3{margin:0 0 4px;font-size:1.05rem}
.jd-badge{display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid var(--color-accent);border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-text);vertical-align:middle}
.jd-meta{font-size:.9rem;color:var(--ink-3)}
.jd-call{display:inline-block;margin-top:8px;background:var(--btn-bg);color:var(--btn-ink);padding:8px 14px;text-decoration:none;border-radius:4px}
.jd-empty{border:1px dashed var(--rule);padding:16px;color:var(--ink-3);border-radius:6px}
@media (max-width:860px){.jd-court{grid-template-columns:1fr}.jd-towns{columns:2}}
@media (max-width:520px){.jd-towns{columns:1}}
/* ---- profile tiers ---- */
.vbadge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:4px;border:1px dashed var(--rule-2);font-family:"Inter","Inter Fallback","Inter Fallback 2",sans-serif;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.vbadge--on{border-style:solid;border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-2)}
.frm-jd{color:var(--ink-3)}
.frm-focus{margin:2px 0 6px;font-size:13px;color:var(--ink-2)}
.frm-contact{margin:6px 0 0;font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 12px}
.frm-contact a{color:var(--link)}
.frm-cta{display:inline-block;margin-top:4px;padding:8px 14px;border-radius:var(--r-ctl);background:var(--btn-bg);color:var(--btn-ink);font-size:12.5px;font-weight:600;text-decoration:none}
.frm-cta:hover{filter:brightness(1.08)}
.frm-feat{background:var(--color-surface);box-shadow:inset 0 3px 0 var(--color-accent)}
.badge-feat{background:var(--color-surface);color:var(--color-accent-text);border:1px solid var(--color-accent)}
.cpanel{margin:12px 0 0}
.cpanel-title{margin:0;font-size:18px;line-height:1.3}
.cpanel--open .cpanel-body{margin-top:10px}
.cpanel-body{margin-top:12px;padding:16px 18px;border:1px solid var(--rule-2);border-left:3px solid var(--p-n);border-radius:4px;background:var(--surface-2)}
.cpanel-h{margin:0 0 6px;font-size:15px}
.cpanel-body p{margin:0 0 10px;font-size:14px;line-height:1.55}
.cpanel-claim{margin-top:12px!important;font-size:13px;color:var(--ink-2)}
.pcard--locked{border:1px dashed var(--rule-2);background:var(--surface-2)}
.locked-list{margin:8px 0 12px;padding-left:20px;display:grid;gap:5px;font-size:14px;color:var(--ink-2)}
.locked-list li::marker{content:"\1F512  ";font-size:12px}
.consult{margin-top:8px}
.consult-form{display:grid;gap:12px;max-width:720px}
.consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.consult-form[hidden],.consult-ok[hidden]{display:none!important}
.consult-form label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--ink)}
.consult-form input,.consult-form select,.consult-form textarea{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--rule-2);border-radius:4px;background:var(--surface);color:var(--ink)}
.consult-form input[readonly]{background:var(--surface-2);color:var(--ink-2)}
.consult-consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400!important;font-size:12.5px!important;color:var(--ink-2)!important;line-height:1.5}
.consult-consent input{margin-top:3px;accent-color:var(--btn-bg)}
.consult-form .btn{justify-self:start}
.consult-err,.consult-need{color:var(--color-error);font-weight:600}
.consult-ok{padding:14px 16px;border-left:3px solid var(--color-primary);background:var(--color-surface-2);border-radius:0 4px 4px 0;font-size:14px}
.consult--compact .consult-form{max-width:none}
.cf-set{border:0;margin:0;padding:0;min-width:0}
.cf-leg{display:block;font-weight:600;font-size:13px;margin:0 0 8px;padding:0;color:var(--ink)}
.cf-pills{display:flex;flex-wrap:wrap;gap:8px}
.cf-pill{position:relative;display:inline-flex;align-items:center;padding:8px 12px;border:1.5px solid var(--rule-2);border-radius:3px;font-size:13px;line-height:1.2;cursor:pointer;background:var(--surface);color:var(--ink);font-weight:500}
.cf-pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.cf-pill:has(input:checked){border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:600}
.cf-pill:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}
.cf-hint{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;font-weight:400}
.cf-opt{font-weight:400;color:var(--ink-3)}
.consult--compact .consult-grid{grid-template-columns:1fr}
.consult--compact .consult-form{gap:14px}
.consult--compact .consult-form .btn{justify-self:stretch;width:100%}
.cpanel-body .cpanel-h{margin-bottom:4px}
.pcard .cpanel--enh .cpanel-body{background:var(--surface)}
@media (max-width:640px){.consult-grid{grid-template-columns:1fr}}
