/* Groundsheet CRM additions to the site skin (14 October 2026). Forms on paper, ledgers,
   the queue's two-column row (contact left, script right), suppression in red, the gate
   in the report's warning colour. Phone first; the subnav scrolls sideways below 900px. */

.crm-tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); margin-left: 4px; font-weight: 500; }
.crm-nav { gap: 12px; font-size: 13px; flex-wrap: wrap; }
.crm-human { cursor: help; background: var(--paper-3); color: var(--ink); font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.crm-subnav { display: flex; gap: 14px; overflow-x: auto; white-space: nowrap; border-bottom: 1px solid var(--rule-2); padding: 8px var(--gutter); font-size: 13px; font-weight: 500; -webkit-overflow-scrolling: touch; }
.crm-subnav a { color: var(--ink-2); } .crm-subnav a[aria-current] { color: var(--ink); border-bottom: 2px solid var(--ink); }
@media (min-width: 900px) { .crm-subnav { display: none; } }
.crm-main { padding-top: 20px; padding-bottom: 50px; }
.crm-main h1 { font-size: clamp(26px, 4vw, 36px); margin-bottom: 6px; }
.crm-main h2 { font-size: clamp(20px, 2.6vw, 26px); margin: 28px 0 8px; }
.flash { margin: 0 0 18px; }
.crm-user { font-size: 13px; white-space: nowrap; color: var(--ink-2, var(--ink)); }
.crm-gate { max-width: 420px; }
.crm-link { font-family: var(--mono); font-size: 13px; word-break: break-all; user-select: all; }
.head-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.head-row .actions { display: flex; gap: 8px; flex-wrap: wrap; }
.btn.small { padding: 7px 12px; font-size: 13px; }
.btn.warn { background: var(--elevated); }
button.btn { border: 0; cursor: pointer; font-family: inherit; }
button.btn.ghost { background: transparent; color: var(--ink); border: 1px solid var(--ink); }

/* stats */
.stats.six { grid-template-columns: 1fr 1fr; } @media (min-width: 700px) { .stats.six { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 1000px) { .stats.six { grid-template-columns: repeat(6, 1fr); } }
.stat .n.rate { font-size: 28px; }

/* forms */
form.sheet { display: grid; gap: 10px 14px; grid-template-columns: 1fr; margin: 12px 0 20px; }
@media (min-width: 700px) { form.sheet { grid-template-columns: 1fr 1fr; } form.sheet .full { grid-column: 1 / -1; } }
form.sheet label, form.inline label { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 3px; }
input[type=text], input[type=password], input[type=date], input[type=url], input[type=email], input[type=tel], input[type=number], select, textarea, input[type=file] {
  width: 100%; font: inherit; font-size: 14.5px; padding: 7px 9px; border: 1px solid var(--rule-2); background: var(--white); color: var(--ink); border-radius: 2px; }
textarea { min-height: 72px; resize: vertical; }
textarea.body { min-height: 180px; font-family: var(--serif); font-size: 15px; line-height: 1.5; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: var(--accent); }
.check { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; margin-right: 14px; }
.check input { width: auto; }
form.inline { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; margin: 8px 0 16px; }
form.inline > div { min-width: 120px; flex: 1 1 140px; }
form.inline .btn { flex: 0 0 auto; }
.filters { border: 1px solid var(--rule); background: var(--paper-2); padding: 10px 12px 4px; margin: 10px 0 16px; }

/* tables */
table.ledger a { color: var(--ink); } table.ledger a:hover { color: var(--accent); }
table.ledger td.id, table.ledger th.id { font-family: var(--mono); font-size: 12px; color: var(--ink-2); white-space: nowrap; }
table.ledger td.small { font-size: 12.5px; color: var(--ink-2); }
.scroll { overflow-x: auto; }
.badge { display: inline-block; font-family: var(--mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 7px; border: 1px solid var(--rule-2); border-radius: 2px; color: var(--ink-2); background: var(--paper-2); white-space: nowrap; }
.badge.stage-research, .badge.stage-queued { color: var(--ink-2); }
.badge.stage-contacted { border-color: var(--water); color: var(--water); }
.badge.stage-permission, .badge.stage-sample-sent, .badge.stage-demo, .badge.stage-pilot { border-color: var(--accent); color: var(--accent); background: var(--accent-2); }
.badge.stage-paying, .badge.stage-repeat { border-color: var(--low); color: var(--low); }
.badge.stage-closed-lost, .badge.stage-suppressed { border-color: var(--high); color: var(--high); }
.badge.p-High { border-color: var(--ink); color: var(--ink); }
.red, .suppressed { color: var(--high); font-weight: 600; }
.dupe { color: var(--elevated); font-size: 12.5px; font-weight: 600; }
.ok { color: var(--low); font-weight: 600; }
.muted { color: var(--ink-3); }

/* gate */
.gate { border-left: 3px solid var(--elevated); background: var(--paper-2); padding: 8px 12px; font-size: 13.5px; margin: 6px 0; }
.gate.ok { border-left-color: var(--low); }
.gate b { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; display: block; margin-bottom: 2px; }
.gate-strip { display: grid; gap: 8px; margin: 12px 0 18px; } @media (min-width: 700px) { .gate-strip { grid-template-columns: repeat(3, 1fr); } }

/* queue */
.queue-rules { font-size: 13.5px; color: var(--ink-2); columns: 2; column-gap: 28px; margin: 0 0 14px; padding-left: 18px; } @media (max-width: 700px) { .queue-rules { columns: 1; } }
.qrow { border: 1px solid var(--rule-2); background: var(--white); margin: 0 0 14px; display: grid; grid-template-columns: 1fr; }
@media (min-width: 900px) { .qrow { grid-template-columns: 1fr 1fr; } }
.qrow .who { padding: 14px 16px 16px; border-bottom: 1px solid var(--rule); }
@media (min-width: 900px) { .qrow .who { border-bottom: 0; border-right: 1px solid var(--rule); } }
.qrow .who h3 { border: 0; padding: 0; margin: 0 0 4px; font-family: var(--serif); text-transform: none; letter-spacing: 0; font-size: 21px; font-weight: 500; color: var(--ink); }
.qrow .meta { font-size: 13.5px; color: var(--ink-2); margin: 0 0 6px; }
.qrow .meta .mono { color: var(--ink); }
.qrow .script { padding: 14px 16px 16px; background: var(--paper-2); }
.script .kicker { margin-bottom: 4px; }
.script .framing { font-size: 13px; color: var(--ink-2); margin: 0 0 8px; }
.script pre { font-family: var(--serif); font-size: 15px; line-height: 1.5; white-space: pre-wrap; margin: 0 0 10px; color: var(--ink); }
.script details { margin-top: 6px; } .script summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--accent); }
.script .email-subject { font-family: var(--mono); font-size: 12.5px; color: var(--ink-2); margin: 6px 0 4px; }
details.logform { margin-top: 10px; border-top: 1px solid var(--rule); padding-top: 8px; }
details.logform summary { cursor: pointer; font-weight: 600; font-size: 14px; color: var(--accent); }
details.logform form.sheet { margin: 10px 0 0; }

/* history list */
.history { list-style: none; padding: 0; margin: 8px 0 20px; }
.history li { border-bottom: 1px solid var(--rule); padding: 8px 0; font-size: 14px; display: grid; grid-template-columns: 96px 1fr; gap: 0 12px; }
.history li .when { font-family: var(--mono); font-size: 12px; color: var(--ink-2); }
.history li .what b { font-weight: 600; }
.history li .next { color: var(--accent); font-size: 13px; }

/* map */
#map { height: 70vh; min-height: 420px; border: 1px solid var(--rule-2); background: var(--paper-2); }
.leaflet-popup-content { font-family: var(--sans); font-size: 13.5px; line-height: 1.45; }
.leaflet-popup-content b { font-family: var(--serif); font-size: 16px; font-weight: 500; }
.map-legend { font-size: 13px; color: var(--ink-2); margin: 8px 0 0; }

/* variants */
.variant { border: 1px solid var(--rule-2); background: var(--white); margin: 0 0 14px; }
.variant summary { padding: 10px 14px; cursor: pointer; font-weight: 500; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.variant summary .id { font-family: var(--mono); font-size: 13px; color: var(--accent); }
.variant .inner { padding: 0 14px 14px; border-top: 1px solid var(--rule); }
.variant pre { font-family: var(--serif); font-size: 15px; white-space: pre-wrap; line-height: 1.5; margin: 10px 0; }
.two { display: grid; gap: 20px; } @media (min-width: 900px) { .two { grid-template-columns: 1fr 1fr; } }
.def { font-size: 14px; } .def dt { font-family: var(--mono); font-size: 12px; color: var(--ink-2); margin-top: 8px; } .def dd { margin: 0; }
code.path { font-family: var(--mono); font-size: 12.5px; background: var(--paper-2); padding: 1px 5px; }

/* ---- 24 October 2026: research lists, call mode, pipeline board, More menu ---- */
.nav-call { color: var(--accent) !important; font-weight: 600; }
.nav-more { position: relative; }
.nav-more summary { list-style: none; cursor: pointer; color: var(--ink-2); }
.nav-more summary::-webkit-details-marker { display: none; }
.nav-more summary::after { content: " ▾"; font-size: 10px; }
.nav-more summary[aria-current] { color: var(--ink); border-bottom: 2px solid var(--ink); }
.nav-more-menu { position: absolute; top: calc(100% + 10px); left: -10px; background: var(--white); border: 1px solid var(--rule-2); box-shadow: 0 8px 24px rgba(0,0,0,.08); padding: 6px 0; min-width: 170px; z-index: 30; display: flex; flex-direction: column; }
.nav-more-menu a { padding: 6px 14px; color: var(--ink); } .nav-more-menu a:hover { background: var(--paper-2); text-decoration: none; }
.nav-more-menu a[aria-current] { font-weight: 600; border: 0; }
.clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-width: 420px; }
.due { color: var(--elevated); font-weight: 600; }
.pager { display: flex; gap: 12px; align-items: center; justify-content: center; margin: 18px 0; font-size: 14px; }

/* dashboard: start calling + list cards */
.start-calling { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; border: 1px solid var(--ink); background: var(--white); padding: 14px 16px; margin: 6px 0 10px; font-size: 16px; }
.start-calling b { font-family: var(--serif); font-size: 28px; font-weight: 500; margin-right: 4px; }
.list-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin: 10px 0 24px; }
.list-card { display: flex; flex-direction: column; gap: 3px; border: 1px solid var(--rule-2); background: var(--white); padding: 12px 14px; color: var(--ink); }
a.list-card:hover { border-color: var(--accent); text-decoration: none; }
.lc-market { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); }
.lc-aud { font-family: var(--serif); font-size: 21px; line-height: 1.15; }
.lc-bar { height: 5px; background: var(--paper-3); margin: 6px 0 4px; } .lc-bar i { display: block; height: 100%; background: var(--accent); min-width: 2px; }
.lc-n { font-size: 12.5px; color: var(--ink-2); }
.lc-actions { display: flex; gap: 12px; margin-top: 6px; font-size: 13px; font-weight: 600; }

/* call mode */
.page-call .crm-main { padding-top: 12px; }
.call-bar { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: end; border-bottom: 1px solid var(--rule-2); padding: 0 0 12px; margin: 0 0 16px; }
.call-bar label { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 3px; }
.call-bar > div { flex: 0 1 160px; } .call-bar .call-bar-list { flex: 1 1 260px; }
.call-bar-count { flex: 1 1 auto !important; text-align: right; font-size: 14px; padding-bottom: 6px; }
.call-bar-count b { font-family: var(--serif); font-size: 24px; font-weight: 500; }
.call-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 1000px) { .call-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } .call-script { position: sticky; top: 74px; max-height: calc(100vh - 90px); overflow: auto; } }
.call-card { background: var(--white); border: 1px solid var(--rule-2); padding: 18px 20px 20px; }
.cc-top { display: flex; gap: 6px; flex-wrap: wrap; }
.badge.list-badge { color: var(--ink); }
.badge.due-badge { border-color: var(--elevated); color: var(--elevated); }
.badge.new-badge { border-color: var(--accent); color: var(--accent); background: var(--accent-2); }
.cc-name { font-size: clamp(30px, 4vw, 40px) !important; margin: 12px 0 0 !important; } .cc-name a { color: var(--ink); }
.cc-role { font-size: 15px; color: var(--ink-2); margin: 2px 0 2px; }
.cc-org { font-size: 15px; margin: 0 0 12px; } .cc-org > a { font-weight: 600; color: var(--ink); }
.cc-phone { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.phone-big { font-size: clamp(26px, 3.4vw, 34px); color: var(--ink); font-weight: 500; letter-spacing: -0.01em; }
.phone-big:hover { color: var(--accent); text-decoration: none; }
.local-time { font-size: 13px; padding: 3px 9px; border-radius: 99px; background: var(--paper-2); color: var(--ink-2); }
.lt-good { background: #e7f0dc; color: #3d6614; } .lt-edge { background: #fbeccf; color: #8a5a06; } .lt-bad { background: #f6dcdc; color: var(--high); }
.cc-email { font-size: 14px; color: var(--ink-2); margin: 10px 0; }
.perm-yes { color: var(--low); } .perm-no { color: var(--high); } .perm-unknown { color: var(--ink-2); font-weight: 500; }
.cc-why { background: var(--accent-2); border-left: 3px solid var(--accent); padding: 8px 12px; margin: 12px 0; }
.cc-why .kicker { margin: 0 0 2px; } .cc-why p:last-child { margin: 0; font-size: 15px; }
.cc-more { font-size: 14px; color: var(--ink-2); margin: 8px 0; } .cc-more summary { cursor: pointer; font-weight: 600; color: var(--ink); font-size: 13px; }
.cc-more p { margin: 6px 0 0; }
.cc-last { font-size: 14px; background: var(--paper-2); padding: 8px 12px; margin: 10px 0; }
.cc-gate summary { cursor: pointer; font-size: 13px; color: var(--elevated); font-weight: 600; }
.outcome { margin-top: 16px; border-top: 2px solid var(--ink); padding-top: 12px; }
.outcome-buttons { display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) { .outcome-buttons { grid-template-columns: repeat(4, 1fr); } }
.ob { font: inherit; font-size: 14px; font-weight: 600; padding: 12px 10px; border: 1px solid var(--rule-2); background: var(--paper); color: var(--ink); cursor: pointer; text-align: left; display: flex; align-items: center; gap: 8px; border-radius: 3px; }
.ob:hover { border-color: var(--ink); }
.ob kbd, .outcome-foot kbd { font-family: var(--mono); font-size: 11px; border: 1px solid currentColor; border-radius: 3px; padding: 0 5px; opacity: .6; font-weight: 500; }
.ob-good { background: #e7f0dc; border-color: #9cbf73; color: #2f5410; } .ob-good:hover { border-color: #2f5410; }
.ob-soft { background: var(--paper-2); }
.ob-bad { background: #f6dcdc; border-color: #d99; color: var(--high); } .ob-bad:hover { border-color: var(--high); }
.outcome-fields { display: grid; gap: 10px 14px; grid-template-columns: 1fr; margin: 14px 0 6px; }
@media (min-width: 640px) { .outcome-fields { grid-template-columns: 1fr 1fr; } .outcome-fields .full { grid-column: 1 / -1; } }
.outcome-fields label { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 3px; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.chips button { font: inherit; font-size: 12px; padding: 3px 9px; border: 1px solid var(--rule-2); background: var(--white); border-radius: 99px; cursor: pointer; color: var(--ink-2); }
.chips button.on, .chips button:hover { border-color: var(--accent); color: var(--accent); }
.outcome-foot { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 12.5px; margin-top: 10px; }
.cc-colleagues, .cc-history { margin-top: 18px; } .cc-colleagues ul { margin: 4px 0 0; padding-left: 18px; font-size: 14px; }
.call-script { background: var(--paper-2); border: 1px solid var(--rule); padding: 16px 18px; }
.call-script pre { font-family: var(--serif); font-size: 16.5px; line-height: 1.55; white-space: pre-wrap; margin: 0 0 12px; color: var(--ink); }
.call-script .framing { font-size: 13.5px; color: var(--ink-2); }
.call-script .email-subject { font-family: var(--mono); font-size: 12px; color: var(--ink-2); margin: 10px 0 4px; }
.call-script summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--accent); }
.call-rules { font-size: 12.5px; color: var(--ink-2); padding-left: 18px; margin: 14px 0 0; border-top: 1px solid var(--rule); padding-top: 10px; }
.call-empty { padding: 20px 0; }

/* pipeline board */
.page-pipeline .wrap.crm-main { max-width: none; }
.board-hint { font-size: 13px; margin: 0 0 10px; }
.board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); gap: 10px; overflow-x: auto; padding-bottom: 12px; align-items: start; }
.col { background: var(--paper-2); border: 1px solid var(--rule); border-top: 3px solid var(--rule-2); min-height: 200px; transition: background .12s; }
.col.over { background: var(--accent-2); }
.col header { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 10px; font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); }
.col-n { font-weight: 600; color: var(--ink); }
.col-contacted { border-top-color: var(--water); } .col-permission, .col-sample-sent, .col-demo, .col-pilot { border-top-color: var(--accent); }
.col-paying, .col-repeat { border-top-color: var(--low); } .col-closed-lost { border-top-color: var(--high); }
.col-body { display: flex; flex-direction: column; gap: 6px; padding: 0 8px 10px; max-height: 72vh; overflow-y: auto; }
.card { background: var(--white); border: 1px solid var(--rule); padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; cursor: grab; font-size: 12.5px; }
.card:hover { border-color: var(--ink-3); } .card.dragging { opacity: .4; }
.card-org { font-weight: 600; font-size: 13.5px; color: var(--ink); line-height: 1.25; }
.card-meta { color: var(--ink-2); }
.card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.card-next { color: var(--elevated); font-family: var(--mono); font-size: 11px; } .card-last { color: var(--ink-3); font-family: var(--mono); font-size: 11px; }
.col-more { font-size: 12px; padding: 4px 2px; } .col-empty { font-size: 12px; color: var(--ink-3); margin: 4px 2px; }
.outcome-fields:first-of-type { margin-top: 6px; } .small-fields { margin-top: 12px; }

/* parcel data tiers and the counties page */
.badge.tier-live { border-color: var(--low); color: #3d6614; background: #e7f0dc; }
.badge.tier-verified { border-color: var(--accent); color: var(--accent); background: var(--accent-2); }
.badge.tier-statewide { color: var(--ink-2); }
.badge.tier-none { color: var(--ink-3); border-style: dashed; }
.tier-key { display: grid; gap: 6px; font-size: 13.5px; color: var(--ink-2); margin: 4px 0 8px; }
.sect-note { font-size: 13.5px; max-width: 820px; margin-top: 0; }
.county-table td { vertical-align: middle; }
.county-table th, .county-table td.num { white-space: nowrap; } .county-table td.num, .county-table th.num { padding-right: 14px; } .county-table .btn { white-space: nowrap; }
.county-table th.why { min-width: 280px; } .county-table td.small { min-width: 140px; }

/* call mode: browse arrows */
.call-nav { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 12px; }
.nav-arrow { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--ink); background: var(--white); color: var(--ink); font-size: 22px; border-radius: 50%; line-height: 1; }
.nav-arrow:hover { background: var(--ink); color: var(--paper); text-decoration: none; }
.nav-pos { font-size: 15px; font-variant-numeric: tabular-nums; } .nav-pos b { font-family: var(--serif); font-size: 22px; font-weight: 500; }
.nav-hint { font-size: 12.5px; }

/* coverage map (24 Oct 2026) */
.page-map .wrap.crm-main { max-width: none; }
.map-wrap { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 8px; }
@media (min-width: 1000px) { .map-wrap { grid-template-columns: minmax(0, 1fr) 360px; } }
.page-map #map { height: 76vh; min-height: 480px; }
.map-panel { background: var(--white); border: 1px solid var(--rule-2); padding: 12px 14px; max-height: 76vh; overflow: auto; font-size: 14px; }
.mp-controls { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--rule); }
.mp-controls select { width: auto; font-size: 13px; padding: 4px 6px; }
.mp-legend { padding: 8px 0; border-bottom: 1px solid var(--rule); font-size: 13px; display: grid; gap: 3px; }
.mp-legend .sw { display: inline-block; width: 14px; height: 10px; border: 1px solid var(--rule-2); margin-right: 7px; vertical-align: -1px; }
.mp-detail h2 { font-size: 24px !important; margin: 0 0 4px !important; }
.mp-detail h4 { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-2); margin: 12px 0 3px; border: 0; padding: 0; }
.mp-detail p { margin: 0 0 4px; } .mp-detail ul { margin: 0; padding-left: 18px; } .mp-detail li { margin: 1px 0; }
.mp-crm { margin: 8px 0; padding: 8px 10px; background: var(--paper-2); }
.mp-crm b { font-family: var(--serif); font-size: 20px; font-weight: 500; }
.mp-actions { display: flex; gap: 8px; margin-top: 6px; }
.mp-note { font-size: 12.5px; color: var(--ink-2); }
.page-map .leaflet-tile-pane { filter: grayscale(0.9) contrast(0.92) brightness(1.04); }

/* where the contact is: state, city, county and a locator map (25 Oct 2026) */
svg.locator { flex: 0 0 auto; display: block; }
svg.locator .loc-c { fill: var(--paper-3); stroke: var(--white); stroke-width: 0.6; }
svg.locator .loc-me { fill: var(--accent); stroke: var(--white); stroke-width: 0.6; }
svg.locator .loc-pin { fill: #C53030; stroke: var(--white); stroke-width: 1; }
svg.locator .loc-dot { fill: var(--white); }
.cc-place { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: -4px 0 10px; padding-bottom: 10px; border-bottom: 1px solid var(--rule); }
.pl-text { display: flex; flex-direction: column; line-height: 1.2; }
.pl-state { font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.pl-city { font-family: var(--serif); font-size: 26px; font-weight: 500; color: var(--ink); margin-top: 2px; }
.pl-county { font-size: 14px; color: var(--ink-2); }
.q-place { display: flex; align-items: center; gap: 10px; float: right; margin: 0 0 6px 10px; font-size: 13px; color: var(--ink-2); }
.q-place b { color: var(--ink); font-weight: 600; }
.q-place span { max-width: 180px; line-height: 1.25; }
