/* Discovery is the first screen: options, a real map, and a visible shortlist. */
:root { --water:#e1edf3; --land:#eef2e6; --teal:#0d7778; }
body { background:#f7f9fc; }
.page,.header-inner { max-width:1560px; padding-left:24px; padding-right:24px; }
.site-header { height:60px; }
.brand { font-size:23px; }
.brand-mark { width:30px;height:32px;border-radius:7px;transform:none; }
.brand-mark .icon { width:21px;height:21px;transform:none; }
.header-right { gap:22px; }
.page { padding-top:14px; }
.intro { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);padding:0; }
.intro h1 { font-size:26px;line-height:1.2;letter-spacing:-.7px;margin:0 0 5px; }
.intro>p { margin:0;color:#627086;font-size:13px;line-height:1.5; }
.navigator-view .filter-options,.navigator-view #early-learning-help,.navigator-view #scope-help { display:none!important; }
.navigator-view .finder { margin:0;padding:0;background:transparent;border:0;box-shadow:none; }
.navigator-view .filter-bar { margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px; }
.navigator-view .search-composer .search-field { height:48px;background:white;border-radius:7px; }
.navigator-view .search-context { margin:0;min-height:44px; }
.navigator-view .search-context .location-description:has(#countywide-button[hidden]) { display:none; }
.navigator-view #locate-button { margin:0;white-space:nowrap; }
.journey-nav { display:flex;align-items:center;gap:20px;min-height:40px;margin:8px 0 12px;border-bottom:1px solid #dae2ee; }
.journey-nav button,.journey-nav>a { background:none;font-size:12px;font-weight:600;text-decoration:none;color:#627086;padding:9px 0;border-bottom:2px solid transparent;min-height:40px; }
.journey-nav button.active { color:var(--blue-dark);border-bottom-color:var(--blue); }
.journey-nav>a:last-child { margin-left:0;color:var(--blue-dark); }
#brief-nav-count { display:inline-grid;place-items:center;width:20px;height:20px;background:#e9eefb;border-radius:50%;margin-left:4px; }
.navigator,.decision-brief,.official-guidance { scroll-margin-top:18px; }
.navigator-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px; }
.navigator-heading h2 { font-size:17px;font-weight:650;margin:0;letter-spacing:-.3px; }
.discovery-controls { display:flex;align-items:center;gap:8px;margin-left:auto; }
body:not(.navigator-view) .discovery-controls { display:none; }
.stage-control select,.navigator-filters select,.guidance-heading select { min-height:40px;border:1px solid #c8d2e1;border-radius:6px;background:white;padding:8px 10px;font-size:12px;color:var(--ink);max-width:100%; }
#refine-toggle { min-height:40px;padding:8px 12px;background:white;border:1px solid #c8d2e1;border-radius:6px;box-shadow:none;font-size:12px; }
#refine-toggle[aria-expanded=true] { background:#eaf0ff;border-color:var(--blue); }
.navigator-filters { display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:14px;background:#edf2fa;margin:0 0 14px;border-radius:7px; }
.navigator-filters label { display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:170px; }
.navigator-filters>p { max-width:52ch;font-size:11px;line-height:1.6;margin:0;color:#627086; }
.discovery-workspace { display:grid;grid-template-columns:minmax(280px,.95fr) minmax(360px,1.5fr) minmax(235px,.72fr);grid-template-areas:'results map shortlist';gap:18px;align-items:start; }
.discovery-map-column { grid-area:map;position:sticky;top:16px;min-width:0;background:white;border:1px solid #d7e0ec;border-radius:9px;overflow:clip; }
.map-toolbar { display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:8px 12px; }
.map-toolbar strong { font-size:12px; }
.map-toolbar .text-button { font-size:11px; }
#map-skip-results:not(:focus) { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
.geographic-map { position:relative;width:100%;height:min(59vh,520px);min-height:350px;background:var(--water);overflow:hidden; }
.geographic-map svg { display:block; }
.map-zoom-controls { position:absolute;top:52px;right:10px;z-index:4;display:flex;flex-direction:column;box-shadow:0 1px 5px #14283c30;border-radius:5px;overflow:hidden; }
.map-zoom-controls button { background:white;min-width:34px;min-height:34px;border:1px solid #d6dfeb;font-size:20px; }
.map-settings { border-top:1px solid #d7e0ec; }
.map-settings[open] { max-height:calc(38vh - 55px);overflow-y:auto;overscroll-behavior:contain; }
.map-settings>summary { font-size:11px;color:#627086;padding:10px 12px;cursor:pointer; }
.map-controls { display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:0 12px 8px; }
.map-controls>button { min-width:34px;min-height:34px;background:#eef3fa;border:1px solid #d7e0ec;border-radius:4px; }
.map-controls label { display:flex;align-items:center;gap:6px;font-size:11px;flex:1 1 180px; }
.map-controls select { min-width:0;flex:1;padding:8px 4px;border:1px solid #d7e0ec;background:white;border-radius:4px; }
.map-sector-legend { display:flex;gap:8px 12px;flex-wrap:wrap;margin:8px 12px; }
.map-sector-legend>span { display:flex;align-items:center;gap:4px;font-size:10px;color:#627086; }
.map-sector-legend i { display:inline-block; }
.map-disclosure,.map-provenance p { font-size:11px;line-height:1.6;color:#627086;margin:8px 12px; }
.map-provenance { padding:3px 12px 12px; }
.map-provenance summary { font-size:11px;cursor:pointer; }
.map-provenance p { margin-left:0;margin-right:0; }
.map-attribution a { color:#274e84; }
.geo-pin:focus-visible circle,.map-cluster:focus-visible circle { stroke:#152845!important;stroke-width:4!important; }
.discovery-results { grid-area:results;min-width:0;background:white;border:1px solid #d7e0ec;border-radius:9px;overflow:hidden; }
.discovery-results:focus-visible { outline:3px solid #8d9ff2;outline-offset:2px; }
.discovery-results-heading { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px 0; }
.discovery-results-heading h3 { font-size:15px;margin:0; }
#nav-summary { margin:5px 14px 10px;font-size:11px;color:#627086;line-height:1.5; }
#nav-caveats { margin:0 14px 10px; }
#nav-caveats summary { font-size:11px;color:#627086;cursor:pointer; }
#nav-warnings { font-size:11px;line-height:1.6;color:#627086; }
#nav-warnings ul { padding-left:16px; }
.investigation-queue { margin:0 14px 10px; }
.investigation-queue summary { color:#627086;font-size:11px;cursor:pointer; }
.investigation-queue p,.investigation-queue li { color:#627086;font-size:11px;line-height:1.6; }
.investigation-queue ul { padding-left:16px; }
.investigation-queue li span { display:block; }
.investigation-queue .text-button { font-size:12px;text-align:left; }
.option-card { padding:15px 14px;border-top:1px solid #e2e8f0;overflow-wrap:anywhere; }
.option-card.active { background:#f2f6fd; }
.option-meta { display:flex;align-items:center;gap:5px 7px;flex-wrap:wrap;font-size:10px;color:#627086; }
.option-meta>span:last-child { margin-left:auto; }
.sector-key { display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#3859d9; }
.sector-charter { background:#8052b6; }
.sector-private { background:#a24670; }
.sector-childcare { background:#0d7778; }
.sector-head_start { background:#9b6611; }
.option-card h4 { font-size:16px;line-height:1.4;letter-spacing:-.2px;margin:8px 0 6px; }
.option-card h4 button { padding:0;background:none;text-align:left;font-weight:650;line-height:1.4; }
.option-card h4 button:hover { color:var(--blue-dark); }
.option-address { margin:0 0 5px;font-size:12px;line-height:1.5;color:#596b80; }
.option-distance { font-size:10px;color:#708094;margin:0; }
.option-program { margin:8px 0 0;font-size:10px;line-height:1.5;color:#596b80; }
.option-actions { display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:12px; }
.option-actions .text-button { font-size:11px; }
.save-option { min-height:39px!important;padding:9px 12px!important;border:1px solid #3559d9!important;background:#3559d9!important;color:white!important;border-radius:6px;white-space:nowrap;justify-content:center!important;font-weight:650; }
.save-option:hover { text-decoration:none!important;background:#2947b4!important; }
.save-option[aria-pressed=true] { background:#e7f4ed!important;border-color:#b4d7c4!important;color:#23633e!important; }
.save-option:disabled { background:#e8edf5!important;border-color:#d6deea!important;color:#7e8ca1!important; }
#nav-more { margin:14px;max-width:calc(100% - 28px); }
.discovery-loading,.discovery-empty { padding:18px 14px;font-size:12px;line-height:1.6; }
.discovery-empty h4 { margin:0 0 7px; }
.shortlist-dock { grid-area:shortlist;position:sticky;top:16px;border:1px solid #c7d4ec;border-top:3px solid #3559d9;background:white;border-radius:8px;padding:17px 15px;min-width:0; }
.shortlist-title { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.shortlist-title h2 { margin:0;font-size:17px;letter-spacing:-.3px; }
.shortlist-title>span { font-size:12px;color:#708094;white-space:nowrap; }
#shortlist-count { color:var(--blue-dark);font-size:17px; }
.shortlist-help { font-size:12px;line-height:1.7;color:#596b80;margin:12px 0; }
.shortlist-help strong { color:var(--blue-dark);font-weight:650;white-space:nowrap; }
.shortlist-empty { padding:16px 10px;border:1px dashed #cbd5e3;border-radius:5px;font-size:12px;line-height:1.6;color:#708094; }
.shortlist-item { display:flex;align-items:start;gap:8px;border-bottom:1px solid #e2e8f0;padding:13px 0;min-width:0; }
.shortlist-number { flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;background:#eaf0ff;border-radius:50%;font-size:11px;color:var(--blue-dark); }
.shortlist-item>div { flex:1;min-width:0; }
.shortlist-name { background:none;padding:0;font-size:12px;font-weight:650;text-align:left;line-height:1.5;overflow-wrap:anywhere; }
.shortlist-item>div>span { display:block;font-size:10px;color:#708094;margin-top:3px; }
.shortlist-remove { flex-shrink:0;background:none;color:#627086;font-size:20px;min-width:26px;min-height:30px;padding:0; }
.shortlist-caption { font-size:11px;line-height:1.6;color:#386049;margin:12px 0;overflow-wrap:anywhere; }
#shortlist-review { width:100%;min-height:43px;font-size:12px;box-shadow:none; }
.shortlist-memory { margin:8px 0 0;text-align:center;font-size:10px;color:#708094; }
.decision-brief { background:white;border:1px solid #cad6e9;border-radius:9px;padding:24px;margin-top:28px; }
.brief-heading,.guidance-heading { display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px; }
.brief-heading h2,.guidance-heading h2 { margin:0 0 7px;font-size:23px;letter-spacing:-.5px; }
.brief-heading p,.guidance-heading p { font-size:12px;line-height:1.65;color:#627086;margin:0;max-width:70ch; }
.brief-actions { display:flex;gap:8px;flex-shrink:0; }
#brief-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
#brief-options>p { grid-column:1/-1;font-size:13px;color:#627086; }
.brief-candidate { min-width:0;border-top:2px solid #d0dcf0;padding:15px 0;overflow-wrap:anywhere; }
.brief-candidate-heading { display:flex;gap:10px;align-items:start;justify-content:space-between; }
.brief-candidate-heading span { font-size:10px;color:#708094; }
.brief-candidate h3 { margin:5px 0 0;font-size:15px;line-height:1.4; }
.brief-candidate h3 button { text-align:left;font-size:15px;padding:0;line-height:1.4;color:var(--ink); }
.brief-candidate-heading>button { font-size:11px; }
.decision-blocker { margin:18px 0 14px;padding-left:11px;border-left:3px solid #d3ae59; }
.decision-blocker strong,.official-next strong { font-size:12px; }
.decision-blocker p,.official-next p { font-size:12px;line-height:1.7;margin:5px 0; }
.official-next a { font-size:12px; }
.brief-candidate details { margin-top:14px; }
.brief-candidate details summary { font-size:11px; }
.brief-candidate details p,.brief-candidate details ul { font-size:11px;line-height:1.7;color:#627086; }
.brief-candidate details ul { padding-left:16px; }
.brief-footer { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px; }
.brief-footer p { font-size:11px;color:#627086;line-height:1.6;max-width:75ch;margin:0; }
.brief-footer button { font-size:11px;flex-shrink:0; }
#brief-copy-fallback { width:100%;min-height:200px;padding:12px;border:1px solid #cbd5e3;font:12px/1.7 'DM Sans',sans-serif; }
.official-guidance { margin:32px 0; }
.guidance-heading label { display:flex;flex-direction:column;gap:5px;font-size:12px;flex-shrink:0; }
#guidance-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.guidance-route { min-width:0;border-top:2px solid #a5b9d2;padding-top:14px; }
.guidance-route h3 { font-size:16px;margin:0 0 9px;line-height:1.45; }
.guidance-route p,.guidance-route ol,.guidance-route ul { font-size:12px;line-height:1.75;color:#627086; }
.guidance-route ol,.guidance-route ul { padding-left:18px; }
.guidance-route summary { font-size:11px; }
#guidance-warning { font-size:11px;line-height:1.7;color:#627086; }
#option-detail h2 { font-size:26px;line-height:1.3;margin:6px 0 14px; }
#option-detail>p,#option-detail li,#option-detail .detail-section p { font-size:12px;line-height:1.7;color:#596b80; }
.option-identity { font-size:10px!important;overflow-wrap:anywhere; }
.program-evidence { background:#f1f5fa;border-radius:5px;padding:12px;margin:10px 0;font-size:12px; }
.program-evidence a { font-size:12px; }
@media(max-width:1080px) {
  .discovery-workspace { grid-template-columns:minmax(0,1fr) 265px;grid-template-areas:'map shortlist' 'results shortlist';gap:16px; }
  .discovery-map-column { position:relative;top:0; }
  .geographic-map { height:320px;min-height:0; }
  .shortlist-dock { position:sticky;top:16px; }
  #brief-options { grid-template-columns:1fr; }
  .brief-candidate { display:grid;grid-template-columns:1fr 1fr;gap:0 22px; }
  .brief-candidate-heading,.brief-candidate details { grid-column:1/-1; }
  .brief-heading { align-items:start;flex-direction:column; }
  #guidance-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .page,.header-inner { padding-left:14px;padding-right:14px; }
  .site-header { height:52px; }
  .brand { font-size:21px; }
  .brand-mark { width:27px;height:29px;margin-right:7px; }
  .county { display:none; }
  .header-right .text-button { font-size:11px; }
  .intro { padding:12px 0 10px; }
  .intro h1 { font-size:20px;letter-spacing:-.5px;margin:0; }
  .intro>p { display:none; }
  .navigator-view .filter-bar { gap:8px; }
  .navigator-view .search-composer .search-field { height:44px;padding:0 12px; }
  .navigator-view .search-composer input { font-size:14px; }
  .navigator-view #locate-button { min-width:40px; }
  .navigator-view #locate-button span { display:none; }
  .navigator-view .search-context { gap:3px; }
  .navigator-view .search-context:has(#countywide-button:not([hidden])) { grid-column:1/-1; }
  .journey-nav { gap:6px 17px;margin:5px 0 8px;min-height:35px;flex-wrap:wrap; }
  .journey-nav button,.journey-nav>a { font-size:11px;padding:7px 0;min-height:35px; }
  .journey-nav>a[href='#official-guidance'] { display:none; }
  .navigator-heading { margin-bottom:8px; }
  .navigator-heading h2 { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
  .discovery-controls { width:100%;flex-basis:100%;order:3;margin-left:0; }
  .journey-nav>a:last-child { margin-left:auto; }
  .stage-control { flex:1;min-width:0; }
  .stage-control select { width:100%; }
  .navigator-filters { align-items:stretch; }
  .navigator-filters label { flex:1;min-width:0; }
  .navigator-filters>p { flex-basis:100%; }
  .discovery-workspace { display:flex;flex-direction:column;gap:12px; }
  .discovery-map-column { width:100%;order:0; }
  .geographic-map { height:clamp(175px,24vh,210px);min-height:0; }
  .map-toolbar { min-height:35px;padding:6px 10px; }
  .map-toolbar strong { font-size:11px; }
  .map-zoom-controls { top:44px;right:8px; }
  .map-zoom-controls button { min-width:30px;min-height:30px; }
  .map-settings>summary { padding:8px 10px;font-size:10px; }
  .discovery-results { width:100%;order:1; }
  .option-card { padding:13px 14px; }
  .option-card h4 { font-size:16px; }
  .shortlist-dock { position:fixed;left:0;right:0;bottom:0;top:auto;z-index:8;border-radius:0;border-width:1px 0 0;display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:2px 12px;padding:10px 14px;background:#fff;box-shadow:0 -3px 15px #1d2b4b0d; }
  .shortlist-title { justify-content:flex-start;gap:12px; }
  .shortlist-title h2 { font-size:13px; }
  .shortlist-title>span,#shortlist-count { font-size:12px; }
  .shortlist-help,#shortlist-items,.shortlist-memory { display:none; }
  .shortlist-caption { margin:0;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  #shortlist-review { grid-column:2;grid-row:1/3;align-self:center;min-height:38px;font-size:11px;padding:8px; }
  .navigator-view .header-right { padding-right:45px; }
  .navigator-view .chat-launcher { position:absolute;top:8px;right:14px;bottom:auto;width:36px;height:36px;min-height:36px;padding:0;border-radius:7px;font-size:0;box-shadow:none; }
  .navigator-view .chat-launcher .icon { width:19px;height:19px; }
  .page { padding-bottom:90px; }
  .decision-brief { padding:18px 14px; }
  .brief-heading h2,.guidance-heading h2 { font-size:21px; }
  .brief-candidate { display:block; }
  .brief-actions { flex-wrap:wrap; }
  .brief-footer,.guidance-heading { align-items:start;flex-direction:column; }
  .brief-footer button { min-height:40px; }
  #guidance-list { grid-template-columns:1fr;gap:20px; }
}
@media(max-width:360px) {
  .geographic-map { height:160px; }
}
