:root {
  --ink: #17231f;
  --muted: #6a675c;
  --paper: #fcfcf9;
  --surface: #ffffff;
  --soft: #f3f2ee;
  --line: #d8d5ce;
  --brand: #98753A;
  --brand-dark: #b06b03;
  --accent: #ebebd5;
  --warning: #a2481f;
  --shadow: 0 10px 28px rgb(22 54 43 / 8%);
  font-family: "Libre Franklin", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 0; scroll-behavior: smooth; }
body { margin: 0; min-width: 0; overflow-x: hidden; background: var(--paper); line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: var(--brand); text-underline-offset: .18em; }
a:hover { color: var(--brand-dark); }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #e6a23c; outline-offset: 3px; }
h1, h2, h3 { line-height: 1.16; letter-spacing: -.025em; }
h1 { margin: .3rem 0 1rem; font-size: clamp(2rem, 7vw, 4.35rem); max-width: 15ch; }
h2 { margin: .2rem 0 1rem; font-size: clamp(1.45rem, 4vw, 2.25rem); }
h3 { margin: 0 0 .55rem; font-size: 1.05rem; }
p { margin: 0 0 1rem; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.shell { width: min(1160px, calc(100% - 2rem)); margin-inline: auto; }
.narrow { width: min(760px, calc(100% - 2rem)); }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 10000; padding: .7rem 1rem; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-header { position: relative; z-index: 1000; border-bottom: 1px solid var(--line); background: rgba(252, 252, 249, 0.96); }
.header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); font-weight: 800; text-decoration: none; white-space: nowrap; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy small { color: var(--muted); font-size: .7rem; font-weight: 600; }
.brand-mark { width: 2.1rem; height: 2.1rem; flex: 0 0 auto; display: block; object-fit: contain; }
.nav-toggle { min-height: 44px; padding: .45rem .75rem; border: 1px solid var(--line); border-radius: .35rem; background: white; color: var(--ink); }
.primary-nav { display: none; position: absolute; top: 68px; left: 0; right: 0; padding: .7rem 1rem 1rem; border-bottom: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); }
.primary-nav.is-open { display: grid; }
.primary-nav a { min-height: 44px; display: flex; align-items: center; padding: .55rem; color: var(--ink); text-decoration: none; }
.primary-nav a[aria-current="page"] { color: var(--brand); font-weight: 750; }
.site-footer { margin-top: 5rem; padding: 2rem 0; border-top: 1px solid var(--line); background: var(--soft); }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; }
.footer-inner p { margin: 0; }

.hero { padding: clamp(2.5rem, 8vw, 6rem) 0; background: linear-gradient(140deg, #f3f4ed 0%, #fcfcf9 65%); border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; gap: 2rem; }
.landing-hero { padding: clamp(1.5rem, 5vw, 3.5rem) 0; }
.landing-grid { display: grid; gap: 1.4rem; }
.landing-grid h1 { font-size: clamp(2rem, 6vw, 3.7rem); }
.lede { font-size: clamp(1.1rem, 2.5vw, 1.35rem); max-width: 60ch; color: #33443d; }
.lede.compact { font-size: 1.15rem; }
.eyebrow { margin-bottom: .5rem; color: var(--brand); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.search-panel, .filter-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.15rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: var(--shadow); }
.discovery-panel { min-width: 0; border: 1px solid var(--line); border-radius: .7rem; background: var(--surface); box-shadow: var(--shadow); overflow: hidden; }
.discovery-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.discovery-choices button { min-height: 52px; border: 0; background: var(--soft); color: var(--ink); font-weight: 800; cursor: pointer; }
.discovery-choices button[aria-selected="true"] { background: var(--surface); color: var(--brand); box-shadow: inset 0 -3px var(--brand); }
.compact-search { display: grid; gap: .85rem; padding: 1rem; }
.compact-search[hidden] { display: none; }
.location-fields { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.category-filter { min-width: 0; border: 1px solid var(--line); border-radius: .35rem; background: white; }
.category-filter summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .7rem; font-weight: 750; cursor: pointer; }
.category-filter fieldset { margin: 0; padding: .75rem; border: 0; border-top: 1px solid var(--line); }
.category-filter legend { font-weight: 800; }
.checkbox-grid { display: grid; gap: .45rem; margin-top: .7rem; }
.checkbox-grid label { display: flex; align-items: start; gap: .45rem; }
.checkbox-grid input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin-top: .2rem; }
.field { min-width: 0; }
.field label { display: block; margin-bottom: .35rem; font-size: .9rem; font-weight: 750; }
.field input, .field select { width: 100%; min-width: 0; min-height: 46px; padding: .65rem .72rem; border: 1px solid #9ead9f; border-radius: .3rem; background: white; color: var(--ink); }
.field input:disabled, .field select:disabled { border-color: #c4cec7; background: #edf1ee; color: var(--muted); cursor: not-allowed; opacity: 1; }
.field-help, .field-message, .muted { color: var(--muted); font-size: .87rem; }
.field-help { margin: .35rem 0 0; }
.field-message { min-height: 1.4em; margin: .4rem 0 0; }
.field-status { margin-left: .35rem; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.input-action { display: grid; gap: .6rem; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1rem; border: 1px solid transparent; border-radius: .32rem; font-weight: 750; text-align: center; text-decoration: none; cursor: pointer; }
.button-primary { background: var(--brand); color: white; }
.button-primary:hover { background: var(--brand-dark); color: white; }
.button-secondary { border-color: var(--brand); background: white; color: var(--brand); }
.section-block { padding: clamp(2.5rem, 6vw, 5rem) 0; }
.section-heading, .results-toolbar { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.category-links { display: grid; grid-template-columns: 1fr; gap: .65rem; margin: 1.5rem 0 2rem; }
.category-links a { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: .35rem; background: white; font-weight: 700; text-decoration: none; }
.browse-actions, .filter-actions, .engagement-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; }
.report-cta { display: grid; gap: 1rem; margin-top: 1.5rem; margin-bottom: 2rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: .65rem; background: var(--soft); }
.report-cta h2 { max-width: 24ch; margin-bottom: .6rem; }
.report-cta p { max-width: 60ch; }
.report-cta .field-help { margin-bottom: 0; }
.account-feature-list { display: grid; gap: 1rem; margin: 1.25rem 0 2rem; }
.account-feature { padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }
.account-feature .eyebrow { margin-bottom: .35rem; }
.account-feature h3 { margin-bottom: .45rem; }
.account-feature p:last-child { margin-bottom: 0; }
.email-signup { margin-top: 1rem; margin-bottom: 2.5rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: .65rem; background: var(--soft); }
.email-signup h2 { margin-bottom: .5rem; }
.email-signup form { display: grid; gap: .85rem; margin-top: 1.2rem; }
.email-signup .field { max-width: 34rem; }
.consent-field { display: flex; align-items: flex-start; gap: .6rem; max-width: 62ch; font-size: .9rem; }
.consent-field input { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; margin-top: .2rem; }
.email-signup .button { justify-self: start; }
.email-signup .button:disabled { cursor: not-allowed; opacity: .55; }
.form-message { margin: 0; color: var(--warning); font-size: .9rem; }
.form-message-success { color: var(--brand); font-weight: 750; }

.page-intro { padding: 2.7rem 0 1.5rem; }
.compact-intro { padding-bottom: .8rem; }
.results-page { padding-bottom: 2rem; }
.search-summary { position: relative; z-index: 5; border: 1px solid var(--line); border-radius: .55rem; background: white; box-shadow: var(--shadow); }
.search-summary > summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; cursor: pointer; }
.search-summary > summary span:first-child { min-width: 0; display: grid; }
.search-summary > summary small { color: var(--muted); overflow-wrap: anywhere; }
.summary-action { flex: 0 0 auto; color: var(--brand); font-weight: 750; }
.edit-search { border-top: 1px solid var(--line); }
.page-intro h1 { font-size: clamp(2rem, 6vw, 3.6rem); }
.explore-layout { display: grid; gap: 1.5rem; align-items: start; }
.filter-panel { box-shadow: none; }
.results { min-width: 0; }
.results-toolbar h2 { margin-bottom: 0; }
.compact-toolbar { margin: 1rem 0 .65rem; }
.view-toggle { display: inline-flex; padding: .2rem; border: 1px solid var(--line); border-radius: .4rem; background: var(--soft); }
.view-toggle a { min-width: 64px; min-height: 40px; display: grid; place-items: center; padding: .3rem .65rem; color: var(--ink); font-weight: 700; text-decoration: none; }
.view-toggle a[aria-current="true"] { border-radius: .25rem; background: white; color: var(--brand); box-shadow: 0 1px 5px rgb(0 0 0 / 10%); }
.filter-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }
.filter-chips a { display: inline-flex; align-items: center; gap: .45rem; padding: .38rem .6rem; border: 1px solid var(--line); border-radius: 2rem; background: white; color: var(--ink); font-size: .85rem; text-decoration: none; }
.project-list, .article-list { display: grid; gap: 1rem; margin-top: 1rem; }
.project-card { width: 100%; max-width: 100%; min-width: 0; height: auto; border: 1px solid var(--line); border-radius: .55rem; background: white; box-shadow: 0 5px 16px rgb(22 54 43 / 5%); }
.project-placeholder { width: 100%; min-height: 135px; }
.project-placeholder { display: grid; place-items: center; padding: 1rem; background: linear-gradient(135deg, #dfe8e1, #f3f5ef); color: #607068; font-size: .77rem; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.project-placeholder::before { content: ""; width: 46px; height: 46px; margin-bottom: .65rem; border: 2px solid #91a398; border-radius: 50%; background: linear-gradient(90deg, transparent 47%, #91a398 48%, #91a398 52%, transparent 53%); }
.project-card-body { width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: .45rem; padding: 1rem; }
.project-card-type,
.project-card-name,
.project-card-stage,
.project-card-condition,
.project-card-match { min-width: 0; margin: 0; }
.project-card-type { color: var(--muted); font-size: .95rem; font-weight: 650; line-height: 1.3; }
.project-card-name { width: 100%; font-size: clamp(1.2rem, 4.8vw, 1.45rem); font-weight: 750; line-height: 1.18; overflow-wrap: break-word; }
.project-card-name a { color: var(--ink); text-decoration-thickness: .08em; }
.project-card-stage { color: #33443d; font-size: .95rem; font-weight: 650; line-height: 1.35; }
.project-card-type, .project-card-name, .project-card-stage, .project-card-condition, .project-card-match, .project-card-geography { overflow-wrap: anywhere; }
.project-card-match { color: var(--muted); font-size: .84rem; font-weight: 650; line-height: 1.35; }
.project-card-condition { --condition-color: #4b5a54; display: inline-flex; align-items: center; gap: .4rem; color: var(--condition-color); font-size: .84rem; font-weight: 500; line-height: 1.35; }
.project-card-condition > span { width: .58rem; height: .58rem; flex: 0 0 auto; border-radius: 50%; background: currentcolor; }
.project-card-condition[data-condition="active"] { --condition-color: #176044; }
.project-card-condition[data-condition="uncertain"] { --condition-color: #695800; }
.project-card-condition[data-condition="delayed"] { --condition-color: #804000; }
.project-card-condition[data-condition="paused"] { --condition-color: #65467d; }
.project-card-condition[data-condition="cancelled"] { --condition-color: #8a2638; }
.badge-row { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .65rem; }
.badge { display: inline-flex; align-items: center; width: fit-content; padding: .25rem .5rem; border-radius: 1rem; font-size: .75rem; font-weight: 750; line-height: 1.25; }
.badge-primary { background: var(--brand); color: white; }
.badge-condition { border: 1px solid #b46c2e; background: #fff4e5; color: #713c10; }
.badge.subtle { background: var(--soft); color: var(--ink); }
.match-reason { padding-left: .65rem; border-left: 3px solid #7ba26d; color: #33443d; }
.card-location { color: var(--muted); }
.project-card.is-selected { border-color: var(--brand); box-shadow: 0 0 0 3px rgb(23 79 63 / 22%); }
.project-card-more { width: 100%; margin-top: .2rem; font-size: .95rem; }
.text-link, .back-link { font-weight: 750; }
.pagination { display: flex; justify-content: center; gap: 1rem; margin: 2rem 0; }
.compact-pagination { align-items: center; gap: .7rem; }
.pagination-control { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: .25rem .65rem; border: 1px solid var(--line); border-radius: .35rem; background: white; color: var(--brand); font-size: 1.5rem; line-height: 1; text-decoration: none; }
.pagination-control[aria-disabled="true"] { color: var(--muted); cursor: default; opacity: .55; }
.pagination-status { min-width: 5ch; text-align: center; font-weight: 750; }
.empty-state { margin-top: 1rem; padding: 1.5rem; border: 1px dashed #aab7ae; border-radius: .5rem; background: var(--soft); }
.compact-empty { margin: .8rem 0 1rem; padding: 1rem; }
.compact-empty p:last-child { margin-bottom: 0; }
.notice { margin-bottom: 1rem; padding: .85rem 1rem; border-radius: .35rem; }
.notice-error { border-left: 4px solid var(--warning); background: #fff3e6; }
.map { min-height: 330px; border: 1px solid var(--line); border-radius: .5rem; background: #e6ece8; overflow: hidden; }
.map-large { margin-top: 0; }
.map-results-layout { position: relative; height: var(--project-results-height, clamp(360px, 62dvh, 860px)); min-height: 360px; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .6rem; background: var(--surface); }
.map-stage { position: relative; height: 100%; min-height: 0; min-width: 0; }
.map-results-layout .map-large { height: 100%; min-height: 0; margin: 0; border: 0; border-radius: 0; }
.map-legend { position: absolute; z-index: 500; top: .65rem; right: .65rem; max-width: min(210px, calc(100% - 1.3rem)); display: grid; gap: .32rem; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: .35rem; background: rgb(255 255 255 / 94%); box-shadow: var(--shadow); font-size: .72rem; }
.map-legend:empty { display: none; }
.map-legend span { display: flex; align-items: center; gap: .42rem; }
.map-legend i { width: 1.6rem; border-top-width: 4px; }
.unmapped-list-note { padding: .7rem; border-left: 4px solid var(--brand); background: var(--soft); }
.map-alternative { margin-top: .65rem; }
.map-popup h3 { margin: .25rem 0; font-size: 1rem; }
.map-popup p { margin: .2rem 0 .6rem; }

.project-identity { padding: 1.2rem 0 2.5rem; border-bottom: 1px solid var(--line); background: linear-gradient(150deg, #f0f5ef, #fbfcf9); }
.identity-grid { display: grid; gap: 1.5rem; margin-top: 1.2rem; align-items: center; }
.identity-grid h1 { font-size: clamp(2rem, 6vw, 3.7rem); }
.identity-grid hr { margin: 1rem 0; border: 0; border-top: 1px solid var(--line); }
.detail-placeholder { min-height: 210px; border-radius: .55rem; }
.detail-cover { width: 100%; max-height: 380px; border-radius: .55rem; object-fit: cover; }
.verified-label { display: inline-block; margin-top: .4rem; padding: .35rem .55rem; border-left: 3px solid var(--brand); background: white; font-size: .8rem; font-weight: 800; }
.identity-location { color: var(--muted); }
.detail-shell { padding-top: 1rem; }
.detail-tabs { position: sticky; z-index: 700; top: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: .25rem; border: 1px solid var(--line); border-radius: .5rem; background: rgb(238 243 238 / 96%); }
.detail-tabs button { min-height: 46px; border: 0; border-radius: .3rem; background: transparent; color: var(--ink); font-weight: 800; cursor: pointer; }
.detail-tabs button[aria-selected="true"] { background: white; color: var(--brand); box-shadow: 0 1px 6px rgb(0 0 0 / 12%); }
.tab-panel[hidden] { display: none; }
.detail-content > section { padding: 2.5rem 0; border-bottom: 1px solid var(--line); }
.detail-content > .report-cta { padding: clamp(1.2rem, 3vw, 2rem); }
.image-gallery { display: flex; gap: .8rem; overflow-x: auto; scroll-snap-type: x mandatory; }
.image-gallery figure { flex: 0 0 min(78%, 360px); margin: 0; scroll-snap-align: start; }
.image-gallery img { width: 100%; height: 190px; border-radius: .4rem; object-fit: cover; }
.image-gallery figcaption { margin-top: .35rem; color: var(--muted); font-size: .78rem; }
.facts-grid, .funding-list { display: grid; gap: .8rem; }
.facts-grid > div, .funding-list > div { min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .4rem; background: white; }
.fact-value { margin-bottom: .25rem; font-size: 1.35rem; font-weight: 800; }
.fact-value.small { font-size: 1.1rem; }
.funding-summary-card { min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .4rem; background: white; overflow-wrap: anywhere; }
.funding-line { margin: 0; }
.funding-line + .funding-line { margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.funding-note { margin-top: 1rem; padding: .8rem; border-left: 4px solid var(--warning); background: #fff8ed; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { position: relative; display: grid; gap: .5rem 1rem; padding: 0 0 1.7rem 1.3rem; border-left: 2px solid #a9baae; }
.timeline li::before { content: ""; position: absolute; top: .2rem; left: -6px; width: 10px; height: 10px; border-radius: 50%; background: var(--brand); }
.timeline time { color: var(--brand); font-weight: 800; }
.timeline-stage { color: var(--muted); font-size: .84rem; }
.two-column { display: grid; gap: 1.5rem; }
.plain-list { padding-left: 1.2rem; }
.community-section { margin-inline: -.5rem; padding-inline: .5rem !important; background: #f7f5ee; }
.conversation-key { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.conversation-key span { padding: .3rem .5rem; border: 1px solid var(--line); border-radius: 2rem; background: white; font-size: .76rem; font-weight: 750; }
.conversation-item { padding: 1rem; border-left: 4px solid #767f79; background: white; }
.conversation-kind { color: #4b554f; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.source-list { list-style: none; margin: 0; padding: 0; }
.source-list li { display: flex; align-items: start; justify-content: space-between; gap: .7rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.source-list a, .source-org { display: block; overflow-wrap: anywhere; }
.source-org { font-size: .82rem; font-weight: 800; }
.article-card { min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .45rem; background: white; overflow-wrap: anywhere; }
.article-card h2 { font-size: 1.28rem; }
.article-card h3 { font-size: 1.13rem; }
.article-meta, .linked-projects { display: flex; flex-wrap: wrap; gap: .45rem .8rem; color: var(--muted); font-size: .84rem; }
.linked-projects { margin-top: .9rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.metadata dl { display: grid; gap: .8rem; }
.metadata dl div { padding: .8rem; background: var(--soft); }
.metadata dt { font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.metadata dd { margin: .2rem 0 0; }
.success-message { color: var(--brand); font-weight: 750; }
.article-detail, .prose-page { padding-top: 2.5rem; }
.article-detail > section, .prose-page > section { padding: 2rem 0; border-top: 1px solid var(--line); }
.linked-project-card { display: grid; gap: .6rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.process { list-style: none; margin: 0; padding: 0; counter-reset: process; }
.process li { display: grid; grid-template-columns: 2rem 1fr; gap: .1rem .8rem; padding: .8rem 0; counter-increment: process; }
.process li::before { content: counter(process); grid-row: span 2; display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: var(--brand); color: white; font-weight: 800; }
.process span { grid-column: 2; color: var(--muted); }
.error-page { padding: 5rem 0; }

@media (min-width: 520px) {
  .search-panel, .filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .full-field { grid-column: 1 / -1; }
  .input-action { grid-template-columns: minmax(0, 1fr) auto; }
  .category-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .facts-grid, .funding-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-feature-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline li { grid-template-columns: 110px minmax(0, 1fr); }
}

@media (min-width: 800px) {
  .nav-toggle { display: none; }
  .primary-nav { position: static; display: flex; align-items: center; gap: .2rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .primary-nav a { padding: .55rem .62rem; font-size: .9rem; }
  .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; }
  .landing-grid { grid-template-columns: minmax(0, .9fr) minmax(410px, 1.1fr); align-items: center; }
  .category-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .explore-layout { grid-template-columns: minmax(250px, 310px) minmax(0, 1fr); }
  .filter-panel { position: sticky; top: 1rem; grid-template-columns: 1fr; }
  .filter-panel .full-field { grid-column: auto; }
  .identity-grid { grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); }
  .facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .funding-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-cta { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
}

@media (max-width: 519px) {
  .location-fields { grid-template-columns: 1fr; }
  .map-legend { top: 3.6rem; }
}

@media (min-width: 1050px) {
  .primary-nav a { padding-inline: .85rem; }
}

/* Shared map-first project exploration. */
.home-map-first .header-inner { min-height: 62px; }
.home-map-first .site-header { z-index: 1200; }
.home-map-first .nav-toggle { display: block; }
.home-map-first .primary-nav { top: 62px; }
.home-map-first .site-footer { margin-top: 0; padding: .55rem 0; font-size: .72rem; }
.home-map-first .footer-inner { flex-wrap: nowrap; gap: .5rem; }
.home-map-first .footer-inner p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-mode-switch { height: 48px; border-bottom: 1px solid var(--line); background: var(--surface); }
.home-mode-switch button { min-height: 48px; }
.home-discovery [data-search-panel][hidden] { display: none; }
.home-news-panel { min-height: calc(100dvh - 162px); padding-block: 1rem 2rem; }
.news-search { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .8rem; border: 1px solid var(--line); border-radius: .55rem; background: white; box-shadow: var(--shadow); }
.news-search > .field:first-of-type { grid-column: 1 / -1; }
.news-count { margin: 1rem 0 0; }

.project-search-disclosure { width: min(360px, 100%); border: 1px solid rgb(23 35 31 / 20%); border-radius: .55rem; background: rgb(255 255 255 / 96%); box-shadow: 0 8px 24px rgb(20 40 32 / 18%); backdrop-filter: blur(8px); }
.project-search-disclosure[open] { width: 100%; max-height: min(72dvh, 540px); overflow-y: auto; }
.project-search-disclosure > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .5rem .7rem; color: var(--brand); font-weight: 800; cursor: pointer; }
.search-summary-label { min-width: 0; display: inline-flex; align-items: center; gap: .4rem; }
.search-summary-label > span { font-size: 1.35rem; line-height: 1; }
.search-filter-count { flex: 0 0 auto; color: var(--muted); font-size: .75rem; font-weight: 700; }
.project-search-overlay { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: .45rem; align-items: end; padding: .55rem; border-top: 1px solid var(--line); background: transparent; }
.project-search-overlay .field label { margin-bottom: .18rem; font-size: .72rem; }
.project-search-overlay .field input,
.project-search-overlay .field select,
.project-search-overlay .button,
.project-search-overlay summary { min-height: 40px; }
.search-more { grid-column: 1 / 3; min-width: 0; border: 1px solid var(--line); border-radius: .35rem; background: white; }
.search-more > summary { display: flex; align-items: center; padding: .4rem .6rem; color: var(--brand); font-size: .78rem; font-weight: 800; cursor: pointer; }
.search-message { grid-column: 1 / -1; min-height: 0; margin: 0; }
.search-apply { grid-column: 3; grid-row: 1; min-width: 72px; }
.map-card-panel { position: absolute; z-index: 600; right: 0; bottom: 0; left: 0; height: auto; max-height: none; display: none; grid-template-rows: auto auto; border-top: 1px solid var(--line); background: rgb(255 255 255 / 95%); box-shadow: 0 -8px 24px rgb(20 40 32 / 14%); transform: none; }
.map-card-panel.is-mobile-open { display: grid; }
.deck-controls { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .3rem .65rem; }
.deck-controls h3 { margin: 0; font-size: inherit; }
.mobile-deck-actions { display: flex; gap: .3rem; }
.deck-button { width: 38px; min-height: 34px; border: 1px solid var(--line); border-radius: .3rem; background: white; color: var(--brand); font-weight: 900; cursor: pointer; }
.deck-minimize { color: var(--ink); font-size: 1.15rem; }
.panel-cards { display: flex; align-items: stretch; gap: 1.1rem; padding: .85rem .85rem 1.25rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: .85rem; overscroll-behavior-x: contain; }
.panel-cards .project-card { flex: 0 0 88%; align-self: stretch; height: auto; scroll-snap-align: start; scroll-snap-stop: always; }
.panel-cards .project-card-body { gap: .3rem; padding: .65rem; }
.panel-cards .project-card-type { font-size: .82rem; }
.panel-cards .project-card-name { font-size: clamp(1.08rem, 4.7vw, 1.28rem); }
.panel-cards .project-card-stage { font-size: .84rem; }
.panel-cards .project-card-condition { font-size: .76rem; }
.panel-cards .project-card-match { font-size: .76rem; }
.panel-cards .project-card-more { min-height: 40px; padding: .35rem .55rem; font-size: .88rem; }
.card-pagination { display: none; }
.map-legend { top: auto; right: .65rem; bottom: .65rem; }

@media (max-width: 519px) {
  .home-map-first .shell.header-inner { width: calc(100% - 1rem); }
  .home-map-first .brand-copy small { display: none; }
  .home-map-first .footer-inner a { display: none; }
  .project-search-disclosure { width: min(300px, 100%); }
  .project-search-disclosure[open] { max-height: min(68dvh, 500px); }
  .project-search-overlay { grid-template-columns: minmax(0, 1fr) 70px; }
  .project-search-overlay .search-keyword { grid-column: 1; }
  .project-search-overlay .search-place { grid-column: 1 / -1; grid-row: 2; }
  .project-search-overlay .search-apply { grid-column: 2; grid-row: 1; padding-inline: .45rem; }
  .project-search-overlay .search-more { grid-column: 1 / -1; grid-row: 3; }
  .panel-cards .project-card { flex-basis: 89%; }
  .map-legend { right: .5rem; }
}

@media (min-width: 800px) {
  .home-map-first .primary-nav { position: absolute; top: 62px; display: none; padding: .7rem 1rem 1rem; border-bottom: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); }
  .home-map-first .primary-nav.is-open { display: grid; }
  .home-mode-switch { width: min(1160px, 100%); margin-inline: auto; }
  .map-results-layout { display: grid; grid-template-columns: clamp(280px, 20vw, 360px) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .map-stage { grid-column: 2; grid-row: 1; }
  .map-card-panel { position: static; grid-column: 1; grid-row: 1; height: 100%; min-height: 0; max-height: none; overflow: hidden; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto auto; border-top: 0; border-right: 1px solid var(--line); border-left: 0; box-shadow: 8px 0 24px rgb(20 40 32 / 10%); }
  .mobile-deck-actions { display: none; }
  .panel-cards { display: flex; flex-direction: column; align-items: stretch; min-height: 0; gap: 1.25rem; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; scroll-snap-type: none; }
  .panel-cards .project-card[hidden] { display: none; }
  .panel-cards .project-card { flex: 0 0 auto; width: 100%; max-width: 100%; min-height: 0; height: auto; }
  .panel-cards .project-card-body { gap: .4rem; padding: .85rem; }
  .panel-cards .project-card-name { font-size: 1.25rem; }
  .map-card-panel .unmapped-results { max-height: 45%; overflow-y: auto; }
  .card-pagination:not([hidden]) { display: grid; gap: .45rem; padding: .65rem; border-top: 1px solid var(--line); background: white; }
  .card-pagination > div { display: flex; align-items: center; justify-content: center; gap: .7rem; }
  .card-pagination [data-card-page-status] { min-width: 5ch; text-align: center; font-weight: 750; }
  .card-pagination button { min-width: 42px; min-height: 42px; padding: .25rem .65rem; border: 1px solid var(--line); border-radius: .3rem; background: white; color: var(--brand); font-size: 1.5rem; line-height: 1; cursor: pointer; }
  .card-pagination button:disabled { color: var(--muted); cursor: default; opacity: .55; }
  .project-search-overlay { grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) auto; }
}

/* Search stays in the document flow above the shared results surface. */
.search-row { margin-block: .5rem .65rem; min-width: 0; }
.project-explorer-shell { min-width: 0; }
.project-results-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin: .45rem 0 .7rem; }
.project-results-summary { flex: 1 1 32rem; min-width: 0; margin: 0; font-size: 1rem; font-weight: 700; line-height: inherit; letter-spacing: normal; overflow-wrap: anywhere; }
.project-results-toolbar .view-toggle { flex: 0 0 auto; margin-left: auto; }
.search-row .project-search-disclosure { width: 100%; max-width: none; background: white; box-shadow: var(--shadow); backdrop-filter: none; }
.search-row .project-search-disclosure[open] { width: 100%; max-height: none; overflow: visible; }
.search-row .project-search-overlay { width: 100%; }
@media (min-width: 800px) {
  .search-row .project-search-overlay {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
  }
  .search-row .project-search-overlay .search-keyword {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .search-row .project-search-overlay .search-apply {
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
  }
  .search-row .project-search-overlay .search-more {
    grid-column: 1 / -1;
    grid-row: 4;
  }
}
.news-search-disclosure { margin-block: .5rem .75rem; }
.news-search-disclosure .news-search { border: 0; border-top: 1px solid var(--line); box-shadow: none; }
.project-card-geography { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 700; }
.project-card.is-selected { border-color: var(--brand); box-shadow: 0 14px 32px rgb(15 46 35 / 28%), 0 0 0 3px rgb(23 79 63 / 26%); }
.place-autocomplete-host { min-height: 46px; }
.place-autocomplete-host gmp-place-autocomplete { width: 100%; min-height: 46px; color-scheme: light; }
.location-search-clear { min-height: 36px; margin-top: .25rem; padding: .2rem 0; border: 0; background: transparent; color: var(--brand); font: inherit; font-size: .78rem; font-weight: 800; text-decoration: underline; cursor: pointer; }
.viewport-search-action { position: absolute; z-index: 700; top: .7rem; left: 50%; display: grid; width: min(290px, calc(100% - 2rem)); justify-items: center; gap: .35rem; transform: translateX(-50%); pointer-events: none; }
.viewport-search-action[hidden] { display: none; }
.viewport-search-action .button { min-width: 154px; min-height: 44px; box-shadow: 0 4px 14px rgb(20 40 32 / 28%); pointer-events: auto; }
.viewport-search-action .button:disabled { border-color: #68736e; background: #68736e; color: white; cursor: default; opacity: 1; }
.viewport-search-action p { max-width: 100%; margin: 0; padding: .35rem .55rem; border-radius: .35rem; background: rgb(255 255 255 / 96%); color: var(--warning); font-size: .78rem; font-weight: 750; text-align: center; box-shadow: var(--shadow); pointer-events: auto; }
.viewport-search-action:not([hidden]) ~ .map-legend { top: 6.7rem; }
.map-status { position: absolute; z-index: 550; inset: 50% auto auto 50%; max-width: min(28rem, calc(100% - 2rem)); margin: 0; padding: .55rem .75rem; border: 1px solid var(--line); border-radius: .35rem; background: rgb(255 255 255 / 94%); color: var(--ink); font-size: .85rem; font-weight: 750; text-align: center; box-shadow: var(--shadow); transform: translate(-50%, -50%); }
.map-status.is-error { border-color: var(--warning); color: var(--warning); }
.unmapped-results { margin: 0 .65rem .65rem; border: 1px solid var(--line); border-radius: .4rem; background: var(--soft); }
.unmapped-results[hidden] { display: none; }
.unmapped-results > summary { min-height: 44px; padding: .65rem; color: var(--brand); font-size: .84rem; font-weight: 850; cursor: pointer; }
.unmapped-results-explanation { margin: 0; padding: 0 .65rem .65rem; color: var(--muted); font-size: .78rem; }
.result-limit-notice { margin: 0; padding: .45rem .65rem; border-top: 1px solid var(--line); background: #fff8ed; color: var(--warning); font-size: .78rem; font-weight: 750; }
.result-limit-notice[hidden] { display: none; }
.project-cluster-marker { display: grid; width: 44px; height: 44px; box-sizing: border-box; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #174f3f; box-shadow: 0 2px 5px rgb(0 0 0 / 25%); color: #fff; font-size: 14px; font-weight: 800; line-height: 1; }
.unmapped-result-cards { display: grid; gap: .65rem; max-height: min(42dvh, 360px); padding: 0 .65rem .65rem; overflow-y: auto; }
.unmapped-result-cards .project-card { min-width: 0; }
.map-legend { top: .65rem; right: .65rem; bottom: auto; max-width: min(230px, calc(100% - 1.3rem)); }
.map-legend[hidden] { display: none; }
.map-legend > summary { cursor: pointer; font-weight: 800; }
.map-legend:not([open]) { display: block; padding: .4rem .6rem; }
.map-legend [data-map-legend-items] { display: grid; gap: .3rem; margin-top: .35rem; }
.map-legend i { border-top-style: solid; }
.map-legend i.approximate-geometry-swatch, .geometry-legend i.approximate-geometry-swatch { border-top-style: dotted; border-color: var(--ink); }
.map-legend i.multipoint-geometry-swatch { width: 2rem; height: .75rem; border: 0; background: radial-gradient(circle, var(--ink) 0 3px, transparent 4px) 0 50% / 1rem 1rem repeat-x; }
.geometry-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-block: .65rem .25rem; color: var(--muted); font-size: .85rem; }
.geometry-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.geometry-legend i { display: inline-block; width: 2rem; border-top: 4px solid var(--brand); }
.source-category { padding: 2.5rem 0; border-bottom: 1px solid var(--line); }
.source-category > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .2rem 0 1rem; list-style: none; color: var(--ink); font-size: clamp(1.45rem, 4vw, 2.25rem); font-weight: 700; line-height: 1.16; letter-spacing: -.025em; cursor: pointer; }
.source-category > summary h2 { margin: 0; font: inherit; }
.source-category > summary::-webkit-details-marker { display: none; }
.source-category > summary::marker { content: ""; }
.source-category > summary::after { content: "▸"; flex: 0 0 auto; color: var(--muted); font-size: 1.15em; line-height: 1; }
.source-category[open] > summary::after { content: "▾"; }
.source-category > section { min-width: 0; }
.source-category .source-list li > div { min-width: 0; }
.source-category > summary:focus-visible, .map-legend > summary:focus-visible, .project-search-disclosure > summary:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.beta-notice { margin-block: 1rem; overflow-wrap: anywhere; }
.beta-notice p { margin: 0; }
.observation-dialog[hidden] { display: none; }
.observation-dialog { position: fixed; z-index: 3000; inset: 0; display: grid; align-items: end; }
.observation-backdrop { position: absolute; inset: 0; background: rgb(12 28 22 / 58%); }
.observation-sheet { position: relative; width: 100%; max-height: 94dvh; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; border-radius: 1rem 1rem 0 0; background: var(--surface); box-shadow: 0 -10px 35px rgb(0 0 0 / 25%); }
.observation-dialog-header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.observation-dialog-header > div { min-width: 0; }
.observation-dialog-header .eyebrow { margin-bottom: .35rem; }
.observation-dialog-header h2 { margin: 0; font-size: clamp(1.4rem, 6vw, 2rem); }
.observation-dialog-body { width: min(100%, 700px); margin-inline: auto; padding-top: 1rem; }
.observation-form > .lede { margin-bottom: .5rem; font-weight: 400; }
.observation-project-context { display: grid; gap: .2rem; margin: 1rem 0 .25rem; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--soft); }
.observation-project-context[hidden] { display: none; }
.observation-project-context span { color: var(--muted); font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.observation-project-context strong { overflow-wrap: anywhere; }
.observation-section { min-width: 0; margin: 0; padding: 1.25rem 0; border: 0; border-bottom: 1px solid var(--line); }
.observation-section legend { padding: 0; font-size: 1.08rem; font-weight: 800; }
.observation-section legend .muted { font-weight: 400; }
.observation-form .field { display: block; min-width: 0; }
.observation-form .field > span:not(.visually-hidden) { display: block; margin-bottom: .35rem; font-size: .9rem; font-weight: 750; }
.observation-form .observation-control, .observation-form input[type="email"] { width: 100%; min-width: 0; padding: .7rem .75rem; border: 1px solid #9ead9f; border-radius: .35rem; background: var(--surface); color: var(--ink); font: inherit; font-size: 1rem; line-height: 1.5; }
.observation-form input.observation-control, .observation-form input[type="email"] { min-height: 46px; }
.observation-form textarea.observation-control { min-height: 9rem; resize: vertical; }
.observation-form .observation-control:focus, .observation-form input[type="email"]:focus { border-color: var(--brand); box-shadow: 0 0 0 2px rgb(152 117 58 / 18%); }
.observation-form [aria-invalid="true"] { border-color: var(--warning); }
.description-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; }
.description-meta .field-help:last-child { margin-left: auto; font-variant-numeric: tabular-nums; }
.location-mode { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.location-mode .is-selected { border-color: var(--brand); background: var(--brand); color: var(--surface); box-shadow: inset 0 0 0 2px var(--surface), 0 0 0 2px var(--brand); }
.location-mode .button { flex: 1 1 10rem; }
.observation-map-instruction { margin: .9rem 0 .35rem; font-weight: 750; }
.observation-map { min-height: 240px; margin-top: .7rem; border: 1px solid var(--line); border-radius: .5rem; }
.selected-location-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-top: .7rem; }
.selected-location-actions p { margin: 0; overflow-wrap: anywhere; }
.photo-upload { display: grid; gap: .25rem; margin-top: .6rem; padding: .85rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--soft); }
.photo-input-label input { display: block; max-width: 100%; margin-top: .45rem; font: inherit; }
.photo-upload .field-help { margin-top: .2rem; }
.photo-permission { margin-top: .7rem; }
.selected-photo { overflow-wrap: anywhere; font-weight: 750; }
.observation-consent { margin-top: .6rem; padding: 1rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--soft); }
.observation-consent [data-notify-fields] { margin-top: .85rem; }
.observation-consent .field-help { max-width: 62ch; }
.observation-submission-note { margin: 1.25rem 0; color: var(--muted); font-size: .9rem; }
.observation-submit { width: 100%; }
.observation-submit:disabled { cursor: not-allowed; opacity: .55; }
.observation-ticket { width: fit-content; margin: 1rem 0; padding: .7rem 1rem; border: 2px solid var(--brand); border-radius: .4rem; color: var(--brand); font-size: 1.6rem; font-weight: 900; letter-spacing: .06em; }
.observation-confirmation { padding: .5rem 0 1rem; }
.observation-confirmation h2 { margin-top: 0; }
.observation-confirmation .button-primary { margin-top: 1rem; }
body.dialog-open { overflow: hidden; }
@media (min-width: 800px) {
  .observation-dialog { place-items: center; padding: 1rem; }
  .observation-sheet { width: min(720px, 100%); max-height: min(90dvh, 820px); border-radius: .8rem; }
}
@media (max-width: 374px) {
  .location-mode .button { flex-basis: 100%; width: 100%; }
}
@media (max-width: 519px) {
  .source-category .source-list li { flex-wrap: wrap; }
}
@media (max-width: 799px) {
  .map-results-layout { display: flex; flex-direction: column; height: auto; min-height: 0; }
  .map-stage { flex: 0 0 auto; height: var(--project-results-height, clamp(280px, 45dvh, 520px)); min-height: 280px; }
  .map-card-panel { position: static; z-index: auto; width: 100%; height: auto; box-shadow: none; }
  .map-legend { top: .65rem; right: .5rem; }
  .search-row .project-search-overlay { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto auto; }
  .search-row .project-search-overlay .search-keyword { grid-column: 1; grid-row: 1; }
  .search-row .project-search-overlay .search-apply { grid-column: 1; grid-row: 4; justify-self: stretch; }
  .search-row .project-search-overlay .search-more { grid-column: 1; grid-row: 5; }
}
@media (max-width: 519px) {
  .map-legend { max-width: min(180px, 48%); }
}

/* Project search is intentionally ordered keyword, place, submit, then optional filters. */
.project-search-overlay,
.search-row .project-search-overlay { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; align-items: stretch; }
.project-search-overlay .search-keyword,
.project-search-overlay .search-place,
.project-search-overlay .search-apply,
.project-search-overlay .search-more,
.search-row .project-search-overlay .search-keyword,
.search-row .project-search-overlay .search-place,
.search-row .project-search-overlay .search-apply,
.search-row .project-search-overlay .search-more { grid-column: 1; grid-row: auto; }
.project-search-overlay .search-apply { width: 100%; min-height: 44px; justify-self: stretch; }
.search-more { width: 100%; container: advanced-filters / inline-size; }
.search-more > summary { min-height: 44px; justify-content: space-between; gap: .75rem; }
.search-more-fields,
.search-row .search-more-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; padding: .5rem; border-top: 1px solid var(--line); overflow: visible; }
.search-more-fields > * { min-width: 0; width: 100%; }
.field-label { display: block; margin-bottom: .18rem; font-size: .72rem; font-weight: 750; }
.advanced-filter-dropdown { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: .35rem; background: #fff; color: var(--ink); }
.advanced-filter-dropdown > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .7rem; font-weight: 400; line-height: 1.25; list-style: none; cursor: pointer; }
.advanced-filter-dropdown > summary::-webkit-details-marker { display: none; }
.advanced-filter-dropdown > summary::marker { content: ""; }
.advanced-filter-dropdown > summary::after { content: "▾"; flex: 0 0 auto; color: var(--muted); font-size: .9rem; }
.advanced-filter-dropdown[open] > summary::after { content: "▴"; }
.advanced-filter-dropdown > fieldset { margin: 0; padding: .75rem; border: 0; border-top: 1px solid var(--line); }
.search-category .category-filter { width: 100%; }
.jurisdiction-picker { min-width: 0; }
.jurisdiction-menu { display: grid; gap: .5rem; padding: .6rem; border-top: 1px solid var(--line); }
.jurisdiction-menu input[type="search"] { width: 100%; min-height: 44px; }
.advanced-filter-option-list { display: grid; grid-template-columns: minmax(0, 1fr); max-height: 220px; gap: .15rem; overflow-x: hidden; overflow-y: auto; }
.search-more .advanced-filter-option-list label { display: flex; min-width: 0; min-height: 44px; align-items: center; gap: .55rem; margin: 0; padding: .3rem .2rem; font-size: .9rem; font-weight: 400; cursor: pointer; }
.search-more .advanced-filter-option-list input[type="checkbox"] { width: 20px; height: 20px; min-width: 20px; min-height: 20px; flex: 0 0 20px; margin: 0; padding: 0; }
.advanced-filter-option-list label span { min-width: 0; overflow-wrap: anywhere; }
.jurisdiction-chips { display: flex; min-width: 0; flex-wrap: wrap; gap: .35rem; margin-top: .4rem; }
.jurisdiction-chip { min-height: 36px; max-width: 100%; padding: .3rem .55rem; border: 1px solid var(--line); border-radius: 2rem; background: var(--surface); color: var(--ink); font: inherit; font-size: .78rem; cursor: pointer; overflow-wrap: anywhere; }
.jurisdiction-chip:focus-visible,
.advanced-filter-dropdown > summary:focus-visible,
.search-more > summary:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.search-reset { padding: 0 .5rem .5rem; }
.jurisdiction-multiselect { min-width: 0; }
@container advanced-filters (min-width: 36rem) {
  .search-more-fields,
  .search-row .search-more-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
