
:root{--ink:#193c42;--muted:#607b80;--line:#dce6e5;--bg:#f3f6f1;--teal:#087f82}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
#app{height:100dvh;min-height:480px;display:flex;flex-direction:column;background:var(--bg)}#app > header{background:#fff;border-bottom:1px solid var(--line);padding:12px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center}h1{font-size:19px;letter-spacing:-.35px;margin:0}#app > header p{font-size:12px;color:var(--muted);margin:3px 0 0}.chip{border:1px solid #d2e6de;background:#f4faf7;color:#326c61;border-radius:40px;font-size:11px;font-weight:650;padding:7px 10px}
#app > main{display:flex;flex:1;min-height:0}.sidebar{width:285px;flex:none;background:#fff;border-right:1px solid var(--line);padding:20px 16px;overflow:auto}.sidebar h2{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:3px 0 11px}.themes{display:grid;gap:7px;margin-bottom:22px}.theme{font:600 13px system-ui;text-align:left;background:#fff;border:1px solid #dbe7e4;color:var(--ink);border-radius:9px;padding:10px 12px;cursor:pointer}.theme.active{background:#e8f5f4;border-color:#44a8a1}.theme:hover{background:#f1f8f7}.n{font-size:11px;color:#6d8b8e;margin-right:9px}.checkrow{display:flex;gap:9px;align-items:center;padding:7px 0;font-size:12.5px;cursor:pointer}.checkrow input{accent-color:#087f82}.note{margin-top:24px;font-size:11px;line-height:1.55;color:#799094}
.map-section{min-width:0;position:relative;flex:1;background:#e9f1e9;overflow:hidden}#map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#map.dragging{cursor:grabbing}.controls{position:absolute;right:13px;top:13px;z-index:4;display:flex;background:white;border:1px solid #d4e3e0;box-shadow:0 2px 13px #15323622;border-radius:10px;overflow:hidden}.controls button{background:#fff;color:#335b61;padding:10px 13px;border:0;cursor:pointer;font-size:12px}.controls button.active{background:#dff2f0;color:#086f77;font-weight:800}.zoom{position:absolute;left:12px;bottom:15px;z-index:4;display:grid;gap:4px}.zoom button{font-size:22px;font-weight:500;border:1px solid #d4e3e0;background:#fff;color:#183d42;border-radius:7px;width:36px;height:36px;cursor:pointer;box-shadow:0 2px 8px #15323620}.notice{position:absolute;left:14px;top:14px;z-index:4;pointer-events:none;max-width:min(390px,55%);background:#ffffffed;border:1px solid #dce6e4;border-radius:9px;padding:9px 12px;font-size:12px;box-shadow:0 2px 12px #18383c16}.notice small{display:block;color:var(--muted);margin-top:3px}.legend{position:absolute;bottom:15px;right:13px;z-index:4;border-radius:10px;padding:10px 12px;background:#fffffff2;box-shadow:0 2px 14px #18383c22;font-size:11px;max-width:225px;max-height:32vh;overflow:auto}.legend-row{display:flex;gap:7px;align-items:center;margin:4px 0}.sw{width:12px;height:12px;border:1px solid #536c6c54;border-radius:3px;flex-shrink:0}.popup{position:absolute;z-index:5;min-width:175px;max-width:260px;background:#fff;border:1px solid #d7e7e2;border-radius:12px;padding:12px 15px;box-shadow:0 5px 24px #0a293e3b;display:none;font-size:13px;pointer-events:none}.popup strong{font-size:15px}.popup small{display:block;margin-top:4px;color:var(--muted)}.feature{cursor:pointer;transition:fill-opacity .15s}.feature:hover{stroke-width:4!important;fill-opacity:.58!important}.route:hover{stroke-width:9!important}.map-label{font:bold 15px system-ui;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;fill:#123942;pointer-events:none}.attribution{position:absolute;left:58px;bottom:12px;z-index:4;font:10px/1.35 system-ui;background:#ffffffdc;border-radius:5px;padding:4px 6px;color:#34565a;max-width:60%;pointer-events:auto}.attribution a{color:#255c67}.map-label.route-label{font-size:13px}.outline{pointer-events:none}.error{position:absolute;left:15px;top:68px;background:#fff8ed;border:1px solid #ebd9b8;color:#795524;padding:8px 11px;border-radius:8px;font-size:11px;z-index:4;max-width:320px;display:none}
@media(max-width:760px){#app > header{padding:9px 12px}#app > header h1{font-size:16px}.chip{display:none}#app > main{flex-direction:column}.sidebar{width:100%;height:auto;max-height:168px;padding:11px 13px}.themes{display:flex;gap:6px;margin-bottom:8px;overflow:auto}.theme{flex:none;white-space:nowrap;padding:8px 9px;font-size:12px}.sidebar h2{margin:0 0 6px}.sidebar h2:nth-of-type(2),.checks,.note{display:none}.map-section{min-height:0}.controls{top:8px;right:8px}.controls button{padding:8px 9px;font-size:11px}.notice{top:8px;left:8px;font-size:10px;max-width:43%}.legend{font-size:10px;bottom:9px;right:8px}.attribution{font-size:9px;left:51px;bottom:8px;max-width:58%}}

/* Friends of Lower Field visual language */
:root{--ink:#2D2D2D;--muted:#666861;--line:rgba(45,45,45,.14);--bg:#FAF9F5;--teal:#2E7DD7}
#app{height:min(820px,calc(100dvh - 225px));min-height:570px;border:1px solid rgba(45,45,45,.14);border-radius:18px;overflow:hidden;box-shadow:0 22px 60px rgba(31,53,38,.09)}
#app > header{padding:12px 20px;background:#FFF}
#app > header h1{font-family:"Space Grotesk",system-ui,sans-serif;font-size:19px;letter-spacing:-.035em}
#app > header p{font-family:"Nunito Sans",system-ui,sans-serif}
#app .sidebar,#app .controls button,#app .legend,#app .notice,#app .checkrow,#app .theme,#app .popup{font-family:"Nunito Sans",system-ui,sans-serif}
#app .theme{border-radius:10px;color:#2D2D2D;font-weight:800}
#app .theme.active{background:#EDF5FD;border-color:#2E7DD7}
#app .theme:hover{background:#EDF5FD}
#app .checkrow input{accent-color:#2E7DD7}
#app .chip{background:#EEF7EE;border-color:#cbe7d0;color:#235a34}
#app .controls button.active{background:#EDF5FD;color:#2369ad}
#app .map-section{background:#edf5e8}
#app .map-label{font-family:"Space Grotesk",system-ui,sans-serif;fill:#233b3e}
@media(max-width:760px){#app{height:calc(100dvh - 175px);min-height:560px;border-radius:14px}#app > header{padding:9px 12px}}
/* Preview page layout; the main site is not modified */
.preview-page{background:#FAF9F5;color:#2D2D2D;font-family:"Nunito Sans",system-ui,sans-serif}
.preview-page .site-header{min-height:78px}
.preview-page .brand img{width:235px;height:62px;object-fit:contain}
.preview-intro{padding:38px 0 24px}
.preview-intro .section-label{color:#2E7DD7}
.preview-intro h1{font-family:"Space Grotesk",system-ui,sans-serif;font-size:clamp(2.1rem,4.2vw,3.7rem);letter-spacing:-.055em;line-height:1.05;margin:4px 0 14px}
.preview-intro .description{font-size:1.02rem;color:#666861;max-width:770px;margin:0}
.preview-status{display:inline-flex;align-items:center;gap:8px;color:#666861;font-size:.82rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.preview-dot{width:9px;height:9px;border-radius:50%;background:#F4B400;display:inline-block}
.map-shell{width:min(1500px,calc(100% - 40px));margin:0 auto 30px}
.preview-disclaimer{padding:0 0 52px;color:#666861;font-size:.9rem}
.preview-disclaimer strong{color:#2D2D2D}
.preview-page footer{padding:28px 0}
.preview-page footer .footer-inner{justify-content:space-between}
.preview-page .nav-links a{font-size:.94rem}
@media(max-width:650px){.preview-page .brand img{width:182px;height:53px}.preview-intro{padding:25px 0 20px}.map-shell{width:calc(100% - 20px)}.preview-disclaimer{padding:0 0 32px}.preview-page .nav-links a:not(.nav-cta){display:none}.preview-intro .description{font-size:.93rem}}


/* Mobile map: keep full map canvas visible, move key below map instead of covering it. */
.mobile-map-tools,.mobile-key{display:none}
.mobile-map-tools *{box-sizing:border-box}
.mobile-map-tools{background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:9px 11px;gap:9px;align-items:end;grid-template-columns:minmax(0,1fr) auto}
.mobile-map-tools label{display:block;font-size:11px;font-weight:800;color:#666861;line-height:1.4}
.mobile-map-tools select{display:block;width:100%;height:42px;padding:0 13px;border:1px solid #cddddd;border-radius:9px;background:white;color:#2D2D2D;font:800 14px 'Nunito Sans',system-ui,sans-serif;margin-top:4px}
#mobile-layers-toggle{height:42px;min-width:86px;border:1px solid #cadbd8;border-radius:9px;background:#EEF7EE;color:#28583c;font:800 14px 'Nunito Sans',system-ui,sans-serif;cursor:pointer}
#mobile-layers-toggle span{margin-left:4px;display:inline-block;transition:transform .18s}
#mobile-layers-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.mobile-layers-panel{grid-column:1/-1;background:#FAF9F5;border:1px solid #e2e6e0;border-radius:10px;padding:10px 13px}
.mobile-layers-panel[hidden]{display:none}
.mobile-layers-panel p{font-size:12px;color:#666861;margin:0 0 6px}
.mobile-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.mobile-checks label{display:flex;align-items:center;gap:8px;padding:8px 0;line-height:1.2;font-size:13px;font-weight:700;color:#2D2D2D}
.mobile-checks input{width:17px;height:17px;accent-color:#2E7DD7;flex-shrink:0}
.mobile-key{padding:14px 16px;background:#fff;border:1px solid rgba(45,45,45,.14);border-top:0;border-radius:0 0 14px 14px}
.mobile-key h2{margin:0 0 10px;font-family:'Space Grotesk',sans-serif;font-size:14px;letter-spacing:-.02em}
.mobile-legend{display:flex;gap:8px 16px;flex-wrap:wrap}
.mobile-legend .legend-row{margin:0;display:flex;align-items:center;font-size:12px;color:#494b48;gap:7px}
.mobile-legend .sw{width:13px;height:13px}
@media(max-width:760px){
  #app > header{display:none}
  #app > main{min-height:0;display:flex;flex:1}
  #app > main > aside.sidebar{display:none}
  #app{height:clamp(410px,62svh,720px);min-height:0;border-radius:0;border-top:0;border-bottom:0;box-shadow:none}
  .mobile-map-tools{display:grid}
  .mobile-key{display:block}
  #app .map-section{min-height:0}
  #app .notice{display:none}
  #app .legend{display:none!important}
  #app .controls{top:10px;left:10px;right:auto;max-width:calc(100% - 20px);border-radius:9px}
  #app .controls button{padding:10px 12px;min-height:42px;font-size:12px;white-space:nowrap}
  #app .zoom{left:10px;bottom:11px;gap:6px}
  #app .zoom button{width:42px;height:42px;border-radius:10px;font-size:24px}
  #app .attribution{left:58px;bottom:11px;max-width:calc(100% - 72px);font-size:9px}
  #app .error{top:63px;left:10px;right:10px;max-width:none}
  #app .popup{max-width:min(260px,75%)}
  .preview-page .site-header,.preview-page .header-inner{min-height:62px}
  .preview-page .brand img{width:162px;height:48px}
  .preview-intro{padding:13px 0 13px}
  .preview-intro .section-label{display:none}
  .preview-intro h1{font-size:clamp(1.55rem,6vw,2rem);margin:3px 0 3px}
  .preview-intro .description{font-size:.82rem;line-height:1.35}
  .preview-status{font-size:.65rem;margin:0;line-height:1.1}
  .map-shell{width:calc(100% - 18px);margin-bottom:12px}
  .preview-disclaimer{padding-bottom:20px;font-size:.77rem;line-height:1.45}
  .preview-disclaimer p{margin:0}
  .preview-page footer{padding:18px 0}
}
@media(max-width:360px){
  #app .controls button{padding:9px 8px;font-size:11px}
  .mobile-checks{grid-template-columns:1fr}
}

/* Meaningful map information without obscuring the mobile map */
[hidden] { display:none!important; }
.mode-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 15px;background:#fff;border:1px solid rgba(45,45,45,.14);border-radius:15px;margin-bottom:10px}
.mode-bar-caption{font-size:13px;font-weight:800;color:#545c56}
.mode-switch{display:inline-flex;gap:3px;padding:4px;background:#EEF7EE;border-radius:999px}
.mode-button{border:0;border-radius:999px;background:transparent;color:#3f5448;font:800 13px "Nunito Sans",system-ui,sans-serif;padding:10px 17px;cursor:pointer;white-space:nowrap}
.mode-button.active{background:#2D2D2D;color:#fff;box-shadow:0 2px 7px #0002}
.mode-button:focus-visible,.explore-question:focus-visible,.map-detail-close:focus-visible{outline:3px solid #2E7DD7;outline-offset:2px}
#app.explore-mode .sidebar{width:345px}
#explore-sidebar-panel{padding-bottom:12px}
.explore-intro{font-size:13px;line-height:1.45;margin:0 0 14px;color:#666861}
.explore-questions{display:grid;gap:7px}
.explore-question{width:100%;display:grid;grid-template-columns:26px 1fr 11px;gap:9px;align-items:center;text-align:left;padding:10px 10px;border:1px solid #dde4db;border-radius:9px;background:#fff;color:#2D2D2D;font:700 12.5px/1.35 "Nunito Sans",system-ui,sans-serif;cursor:pointer}
.explore-question:hover{background:#f6f9f4}
.explore-question.active{background:#EDF5FD;border-color:#2E7DD7}
.question-number{font-family:"Space Grotesk",system-ui,sans-serif;font-size:11px;color:#2E7DD7}
.explore-answer{background:#f5f9f3;border:1px solid #d8e5d5;border-radius:12px;padding:16px;margin-top:14px;color:#2D2D2D}
.explore-answer-heading h3{font-family:"Space Grotesk",system-ui,sans-serif;font-size:18px;line-height:1.25;margin:5px 0 10px}
.explore-answer-label{text-transform:uppercase;font-size:10px;letter-spacing:.11em;font-weight:900;color:#36803f}
.explore-answer p{margin:0 0 11px;font-size:13px;line-height:1.58;color:#3a493f}
.map-detail-source{display:inline-block;color:#22629b!important;font-weight:800;text-decoration:underline;text-underline-offset:3px;font-size:12px;line-height:1.45;margin-top:10px}
#app .popup{min-width:260px;max-width:326px;width:min(326px,calc(100% - 16px));padding:16px 17px;pointer-events:auto;z-index:9;max-height:min(330px,75%);overflow-y:auto}
.map-detail-head{display:flex;align-items:start;gap:9px;justify-content:space-between}
.map-detail-head strong{display:block;font:700 18px/1.24 "Space Grotesk",system-ui,sans-serif;margin-top:4px;color:#2D2D2D}
.map-detail-tag{display:block;color:#32723d;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
.map-detail-close{appearance:none;display:grid;place-items:center;background:#F2F4F1;border:1px solid #dde6dd;border-radius:50%;width:30px;height:30px;min-width:30px;font:20px/1 system-ui;cursor:pointer;color:#445045}
.map-detail-copy{font-size:13px;line-height:1.55;margin:13px 0 0;color:#39443f}
.map-detail-stat{font-size:12px;color:#566158;font-weight:800;margin-top:10px}
#app .legend-title{font-size:10px;line-height:1.3;letter-spacing:.035em;font-weight:800;margin-bottom:8px;color:#315b5b}
#app .feature.muted-feature{opacity:.18}
#app .feature.focus-feature{opacity:1;stroke-width:4}
#app .feature.route.focus-feature{stroke-width:6}
#app .map-label{font-size:13px}
.mobile-question-picker{grid-column:1/-1;min-width:0}
.mobile-question-picker[hidden]{display:none!important}
.mobile-question-picker label{display:block}
.mobile-question-picker select{width:100%;height:43px;min-width:0;font:800 13px "Nunito Sans",system-ui,sans-serif}
.mobile-feature-detail{padding:15px 16px;background:#fff;border:1px solid rgba(45,45,45,.14);border-top:0}
.mobile-feature-detail p{margin:12px 0 0}
@media(min-width:761px){
 .mobile-feature-detail,.explore-answer-mobile{display:none!important}
}
@media(max-width:760px){
 .mode-bar{padding:7px 9px;margin-bottom:8px}
 .mode-bar-caption{display:none}
 .mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .mode-button{padding:9px 10px;font-size:13px;min-height:38px}
 #app.explore-mode .sidebar{display:none}
 #app .popup{display:none!important}
 .mobile-feature-detail{border-radius:0;background:#fff}
 .mobile-feature-detail .map-detail-head strong{font-size:16px}
 .mobile-feature-detail .map-detail-copy{font-size:13px}
 .explore-answer-mobile{margin:0;padding:14px 16px;border-radius:0;border-top:0;border-color:rgba(45,45,45,.14);background:#f5f9f3}
 .explore-answer-mobile h3{font-size:17px}
 .explore-answer-mobile p{font-size:13px}
 .mobile-key{border-radius:0 0 14px 14px}
 .mobile-map-tools:has(.mobile-question-picker:not([hidden])){grid-template-columns:1fr}
}
@media(min-width:761px) and (max-width:1000px){
 #app.explore-mode .sidebar{width:310px}
}

/* Distinct key headings, especially useful for the sale/kept-land split. */
#app .legend-title:not(:first-child){margin-top:12px;padding-top:10px;border-top:1px solid rgba(45,45,45,.12)}
.mobile-legend .legend-title{flex-basis:100%;font-size:11px;line-height:1.35;font-weight:900;color:#345d66;margin-top:7px}
.mobile-legend .legend-title:first-child{margin-top:0}
@media(max-width:760px){.mobile-legend .legend-row{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}

/* Site area and exclusive route controls */
.map-special-controls{margin:14px 0 18px;padding:14px 0;border-top:1px solid rgba(45,45,45,.12)}
.map-special-controls h2{margin:0 0 8px!important}
.map-special-controls p{font-size:12px;color:#666861;line-height:1.45;margin:0 0 11px}
.map-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.map-option-grid button{min-height:41px;border:1px solid #d5dfd8;border-radius:9px;padding:8px;background:#fff;color:#2D2D2D;font:800 12px/1.2 "Nunito Sans",system-ui,sans-serif;cursor:pointer;transition:background .15s,border .15s}
.map-option-grid button:hover{background:#f3f8f3}
.map-option-grid button.active{background:#EDF5FD;border-color:#2E7DD7;color:#205a88}
.map-option-grid button:focus-visible{outline:3px solid #2E7DD7;outline-offset:2px}
.map-shared-route-options{padding-top:8px}
.mobile-special-controls{grid-column:1/-1;min-width:0;padding:8px 0 0}
.mobile-special-controls label{display:block;color:#555;font-size:11px;font-weight:800;line-height:1.4}
.mobile-special-controls select{display:block;width:100%;height:42px;padding:0 11px;border:1px solid #cddddd;border-radius:9px;background:#fff;color:#2D2D2D;font:800 14px "Nunito Sans",system-ui,sans-serif;margin-top:4px}
.mobile-special-controls p{margin:6px 0 0;font-size:11px;color:#666861;line-height:1.4}
#app .legend-note{font-size:10px;line-height:1.35;color:#666861;margin:8px 0 0}
.map-sr-only{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}

/* Map views are now single, self-contained expanding groups. */
#app .themes{display:grid;gap:8px;margin:0 0 22px;overflow:visible}
#app .theme-group{display:grid;gap:0;min-width:0}
#app .theme-group > .theme{width:100%;border-radius:10px;text-align:left}
#app .theme-group > .theme.active{border-radius:10px 10px 7px 7px}
#app .theme-group .map-special-controls{
  margin:0 0 3px;padding:12px 11px 14px;background:#F4F7F2;
  border:1px solid #DCE6D8;border-top:0;border-radius:0 0 11px 11px
}
#app .theme-group .map-special-controls h2{margin:0 0 8px!important;font-size:10px;color:#667468}
#app .theme-group .map-special-controls p{margin:0 0 10px}
#app .theme-group .map-option-grid button{min-width:0;min-height:42px}
#app .theme-group .map-option-grid{gap:7px}
#app .sidebar .note{font-size:11px;margin-top:14px}
#app .theme-group .map-option-grid button.active{border-color:#2E7DD7;background:#E5F1FE;color:#225A86}

/* A clear, persistent information card inside the map, rather than an
   ephemeral click tooltip. The card can be closed or changed by tapping
   another feature. */
#app .popup.map-info-panel{ 
  position:absolute;z-index:12;
  top:66px!important;right:14px!important;left:auto!important;bottom:auto!important;
  width:min(350px,calc(100% - 28px));max-width:none;max-height:calc(100% - 95px);
  overflow:auto;padding:18px 19px 20px;border-radius:16px;border:1px solid #D7E4DB;
  background:#FFF;box-shadow:0 18px 50px rgba(24,49,35,.3);
  pointer-events:auto;
}
#app .popup.map-info-panel.is-open{display:block!important}
#app .popup.map-info-panel:not(.is-open){display:none!important}
#app .map-info-titlebar{padding-bottom:10px;border-bottom:1px solid #EBF0EB;margin-bottom:13px}
#app .map-info-eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#2E7DD7}
#app .map-info-panel .map-detail-head strong{font-size:20px;line-height:1.24}
#app .map-info-panel .map-detail-copy{font-size:13px;line-height:1.6;margin-top:15px}
#app .map-info-panel .map-detail-close{flex-shrink:0}
#app .map-info-panel .map-detail-source{margin-top:14px}
#app .map-section.info-open .legend{opacity:0;pointer-events:none}
#app .feature:focus-visible{outline:none;stroke-width:5;filter:drop-shadow(0 0 5px #FFF)}

/* Route buttons remain available when an Explore question focuses on paths. */
.explore-route-options{margin:12px 0 5px}
.explore-route-caption{font-weight:800;color:#476049;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.explore-route-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.explore-route-buttons button{font:800 12px 'Nunito Sans',system-ui,sans-serif;min-height:38px;background:#FFF;border:1px solid #CFDED0;color:#425347;border-radius:9px;cursor:pointer}
.explore-route-buttons button.active{background:#E5F1FE;color:#225A86;border-color:#2E7DD7}
.explore-route-buttons button:focus-visible{outline:3px solid #2E7DD7;outline-offset:2px}

/* The mobile view dropdown is followed immediately by its own options,
   without the old additional-layer button/panel. */
@media(max-width:760px){
  .mobile-map-tools{grid-template-columns:minmax(0,1fr);gap:5px}
  .mobile-map-tools > label{grid-column:1/-1}
  .mobile-special-controls{grid-column:1/-1}
  #app .popup.map-info-panel{
    position:absolute;left:10px!important;right:10px!important;
    top:auto!important;bottom:10px!important;
    width:auto;max-width:none;max-height:62%;
    overflow:auto;border-radius:17px;
    padding:16px 18px 18px;
    box-shadow:0 12px 45px rgba(21,38,27,.38)
  }
  #app .popup.map-info-panel.is-open{display:block!important}
  #app .popup.map-info-panel:not(.is-open){display:none!important}
  #app .map-info-panel .map-detail-head strong{font-size:17px}
  #app .map-info-panel .map-detail-copy{font-size:13px}
}

/* FoLF preview: compact, full-height desktop map workspace */
@media(min-width:761px){
  html:has(body.preview-page),body.preview-page{height:100dvh;overflow:hidden}
  body.preview-page{display:flex;flex-direction:column}
  .preview-page .site-header{min-height:64px;height:64px;flex:none}
  .preview-page .brand img{width:205px;height:51px}
  .preview-page .preview-main{display:flex;flex:1;min-height:0;flex-direction:column}
  .preview-page .preview-intro{flex:none;padding:8px 0 10px}
  .preview-page .preview-intro h1{font-size:clamp(1.45rem,2.25vw,2.1rem);line-height:1.08;margin:2px 0 5px}
  .preview-page .preview-intro .description{font-size:.82rem;line-height:1.3;max-width:1040px}
  .preview-page .preview-status{font-size:.63rem;line-height:1.2;margin:0 0 2px}
  .preview-page .preview-intro .section-label{display:none}
  .preview-page .map-shell{
    flex:1;min-height:0;max-height:none;
    margin:0 auto;width:min(1500px,calc(100% - 36px));
    display:flex;flex-direction:column
  }
  .preview-page .mode-bar{flex:none;min-height:45px;padding:5px 12px;margin:0 0 7px}
  .preview-page .mode-button{padding:7px 16px;min-height:32px}
  .preview-page #app{flex:1;min-height:0;height:auto;max-height:none;border-radius:14px}
  .preview-page #app > header{display:none}
  .preview-page #app > main{flex:1;min-height:0}
  .preview-page .preview-disclaimer{flex:none;padding:7px 0 9px;font-size:.73rem}
  .preview-page .preview-disclaimer p{margin:0}
  .preview-page > footer{display:none}
}

/* Two alternative views of the Elmhirst sports and community-use mapping. */
#app .sports-switch{grid-template-columns:1fr}
#app .sports-switch button{min-height:37px;text-align:left;padding-left:12px}
#app .sports-switch button.active{font-weight:800}

/* Two full-width land choices nested directly underneath map view 02 */
#app .sale-switch{grid-template-columns:1fr}
#app .sale-switch button{min-height:37px;text-align:left;padding-left:12px}
#app .theme-group .map-special-controls{padding-top:9px;padding-bottom:10px}

/* An explicit source of context; the site boundary itself is stroke-only
   so a tap within Redworth or Elmhirst doesn't select the entire school. */
#app .map-about-view{
  position:absolute;top:12px;left:12px;z-index:6;display:flex;align-items:center;gap:7px;
  min-height:38px;padding:5px 12px;background:rgba(255,255,255,.96);
  border:1px solid #D6E2DD;border-radius:10px;color:#24535d;
  font:800 12px "Nunito Sans",system-ui,sans-serif;
  cursor:pointer;box-shadow:0 2px 12px rgba(15,40,30,.16)
}
#app .map-about-view:hover{background:#EFF5FF}
#app .map-about-view:focus-visible{outline:3px solid #2E7DD7;outline-offset:2px}
#app .map-about-icon{font:700 19px/1 system-ui}

/* Remove the black browser focus rectangle from mouse-selected SVG shapes,
   without removing keyboard focus styling. */
#app .feature:focus{outline:none!important}
#app .feature:focus-visible{outline:none!important;filter:drop-shadow(0 0 3px #FFF)}
#app .popup.map-info-panel:focus{outline:none!important}

/* Desktop information opens within the SAME sidebar, replacing the view
   list temporarily. It never covers imagery or map controls. */
@media(min-width:761px){
  #app .sidebar .popup.map-info-panel{
    position:relative!important;top:auto!important;right:auto!important;
    left:auto!important;bottom:auto!important;min-width:0;max-width:none;
    width:100%;height:auto;max-height:none;overflow:visible;
    padding:2px 0 18px;background:#FFF;border:none;border-radius:0;
    box-shadow:none;outline:0!important
  }
  #app .sidebar .popup.map-info-panel.is-open{display:block!important}
  #app .sidebar .popup.map-info-panel:not(.is-open){display:none!important}
  #app .sidebar.sidebar-info-active{background:#FFF}
  #app .map-section.info-open .legend{opacity:1;pointer-events:auto}
}
#app .map-info-titlebar{display:flex;align-items:center;justify-content:space-between;gap:6px}
#app .map-info-titlebar .map-info-back{
  font:800 11px "Nunito Sans",system-ui,sans-serif;cursor:pointer;
  border:0;background:#EDF5FD;color:#1D6297;border-radius:7px;
  padding:7px 10px
}
#app .map-info-panel .map-detail-head strong{font-size:18px}
#app .map-info-panel .map-detail-copy{line-height:1.55}
#app .map-detail-source{overflow-wrap:anywhere}

/* Mobile: two dropdowns on a SINGLE row to return height to the map.
   All view-specific submenus use the right-hand dropdown. */
@media(max-width:760px){
  .preview-page .mobile-map-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:7px;padding:7px 9px;align-items:end}
  .preview-page .mobile-map-tools > label{grid-column:1;grid-row:1;min-width:0}
  .preview-page .mobile-map-tools .mobile-special-controls:not([hidden]){
    grid-column:2;grid-row:1;min-width:0;padding:0;margin:0;display:block
  }
  .preview-page .mobile-map-tools .mobile-special-controls label{width:100%;min-width:0}
  .preview-page .mobile-map-tools select{width:100%;max-width:100%;min-width:0;height:40px;
    font-size:12px;padding-left:7px;padding-right:5px}
  .preview-page .mobile-map-tools > label:has(+ .mobile-special-controls[hidden]){
    grid-column:1
  }
  .preview-page .mobile-question-picker:not([hidden]){grid-column:1/-1;grid-row:1}
  .preview-page .mobile-map-tools:has(.mobile-question-picker:not([hidden])){grid-template-columns:1fr}
  .preview-page .mobile-map-tools:has(.mobile-question-picker:not([hidden])) > label{display:none}
  .preview-page #app{height:clamp(430px,65svh,720px)}
  #app .map-about-view{left:10px;top:10px;width:41px;min-height:41px;
    height:41px;padding:0;justify-content:center;border-radius:9px}
  #app .map-about-view .map-about-label{display:none}
  #app .controls{top:10px;left:auto;right:10px}
  #app .controls button{padding:8px 9px;min-height:41px}
  #app .map-section .popup.map-info-panel{
    position:absolute!important;top:auto!important;left:10px!important;
    right:10px!important;bottom:9px!important;
    width:auto!important;max-width:none!important;
    max-height:min(64%,420px)!important;overflow-y:auto;
    padding:13px 16px 17px;border:1px solid #D6E2DD;
    border-radius:15px;box-shadow:0 10px 38px rgba(15,40,30,.28);
    background:#FFF;outline:0!important;z-index:15
  }
  #app .map-section .popup.map-info-panel.is-open{display:block!important}
  #app .map-section .popup.map-info-panel:not(.is-open){display:none!important}
  #app .map-info-titlebar{margin-bottom:11px}
  #app .map-info-panel .map-detail-head strong{font-size:17px}
  #app .map-info-panel .map-detail-copy{font-size:12.5px}
}

/* Map-first preview: no hero, more vertical room, calm outlined geometry. */
.preview-page .preview-main{min-height:0}
#app .feature.focus-feature{stroke-width:2.8}
#app .feature.route.focus-feature{stroke-width:5}
#app .feature:hover{stroke-width:3!important}
#app .route:hover{stroke-width:6!important}
@media(min-width:761px){
  .preview-page .site-header{min-height:57px;height:57px}
  .preview-page .brand img{height:46px}
  .preview-page .map-shell{width:min(1640px,calc(100% - 18px))}
  .preview-page .mode-bar{min-height:42px;margin-bottom:5px}
  .preview-page #app{flex:1;min-height:0;height:auto;max-height:none}
  .preview-page .preview-disclaimer{padding:5px 0 7px}
  .preview-page #app .sidebar{padding:14px 14px}
}
/* Each question is an accordion: its answer opens IMMEDIATELY beneath it.
   The entire question, including the chevron, is one accessible button. */
#app .explore-questions{display:grid;gap:8px}
#app .explore-question-group{display:grid;gap:0;min-width:0}
#app .explore-question-group .explore-question{
  display:grid;grid-template-columns:25px minmax(0,1fr) 18px;
  align-items:center;width:100%;gap:9px;
  padding:12px 11px;min-height:49px;
  border-radius:10px;background:#FFF;border:1px solid #DEE6DE;
  color:#2D2D2D;font:800 12.5px/1.38 'Nunito Sans',system-ui,sans-serif;
  text-align:left;cursor:pointer
}
#app .explore-question-group .explore-question.active{
  background:#EFF6FE;border-color:#9CBEE2;border-radius:10px 10px 0 0;
  border-bottom-color:#D7E5F3
}
#app .question-label{min-width:0}
#app .question-chevron{font-size:22px;line-height:1;color:#347CA7;
  text-align:center;display:block;transform:rotate(0deg);transition:transform .18s}
#app .explore-question.active .question-chevron{transform:rotate(180deg)}
#app .explore-answer-inline{
  display:block;width:100%;margin:0 0 2px;padding:12px 13px 14px;
  border:1px solid #9CBEE2;border-top:0;border-radius:0 0 10px 10px;
  background:#FAFCFF;color:#2D2D2D
}
#app .explore-answer-inline[hidden]{display:none!important}
#app .explore-answer-inline p{
  margin:7px 0 6px;font-size:12.5px;line-height:1.55;color:#42504B
}
#app .explore-answer-inline .explore-answer-label{
  display:block;font-size:10px;letter-spacing:.09em;color:#28724B;font-weight:900
}
#app .explore-answer-inline .map-detail-source{margin-top:7px}
#app .explore-answer-inline .explore-route-buttons button{min-height:35px}
#app .explore-question:focus-visible{outline:2px solid #2E7DD7;outline-offset:2px}
/* Sidebar itself scrolls while the map keeps its full desktop height. */
#app #explore-sidebar-panel{padding:0 1px 14px}
#app #explore-sidebar-panel .explore-intro{font-size:12px;margin:2px 0 10px}
/* Mobile map gets all height freed by the removed introductory content. */
@media(max-width:760px){
  .preview-page .map-shell{width:calc(100% - 12px);margin-bottom:7px}
  .preview-page .mode-bar{margin-bottom:5px}
  .preview-page #app{height:clamp(470px,calc(100dvh - 158px),960px);
    min-height:0;border-radius:0}
  .preview-page .mobile-map-tools{padding:6px 7px}
  .preview-page .mobile-question-picker:not([hidden]){grid-column:1/-1}
  .preview-page .mobile-question-picker .explore-answer-mobile{
    display:block;margin:7px 0 0;padding:10px 12px 12px;
    max-height:190px;overflow-y:auto;
    background:#FAFCFF;border:1px solid #CDDFE9;border-radius:9px
  }
  .preview-page .mobile-question-picker .explore-answer-mobile[hidden]{display:none!important}
  .preview-page .mobile-question-picker .explore-answer-mobile p{
    margin:5px 0;font-size:12px;line-height:1.5
  }
  .preview-page .mobile-question-picker .explore-answer-label{font-size:10px}
  .preview-page .preview-disclaimer{padding-bottom:12px}
}

/* Site boundaries are outlined, never filled even on pointer hover. */
#app .feature[data-layer="site_boundaries"]:hover{
 fill-opacity:0!important;stroke-width:2.7!important
}
#app .feature[data-layer="site_boundaries"].muted-feature:hover{
 stroke-width:1.5!important
}

/* Ownership details: readable title breakdown in both Explore and map information. */
#app .map-ownership-lists{margin:12px 0 7px;display:grid;gap:9px}
#app .map-ownership-lists > div > strong{display:block;font:800 12px 'Nunito Sans',system-ui,sans-serif;color:#284851;margin-bottom:5px}
#app .map-ownership-lists ul{list-style:disc;margin:0 0 0 19px;padding:0}
#app .map-ownership-lists li{margin:3px 0;font:700 12px/1.5 'Nunito Sans',system-ui,sans-serif;color:#424E4D}
#app .map-ownership-lists .map-lease-note{font-size:12px;line-height:1.5;margin:5px 0 7px;color:#3D4D4C}
#app .explore-answer-inline .map-ownership-lists{margin-top:8px}
#app .explore-answer-inline .map-ownership-lists li{font-size:12px}
#app .map-info-panel .map-ownership-lists{margin-top:11px}
@media(max-width:760px){
  .preview-page .mobile-question-picker .explore-answer-mobile{max-height:min(34svh,300px);overflow-y:auto}
  #app .map-ownership-lists{gap:7px}
  #app .map-ownership-lists .map-lease-note{font-size:11.5px}
}


/* Site overview: three site-level controls plus nine compact parcel buttons. */
#app #site-area-options .site-overview-sites{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px
}
#app #site-area-options .site-overview-sites button{
  padding:7px 4px;font-size:11px;min-height:36px
}
#app #site-area-options .site-overview-subheading{
  margin:13px 0 7px;font:900 10px/1.3 "Nunito Sans",system-ui,sans-serif;
  letter-spacing:.075em;text-transform:uppercase;color:#5c6e66
}
#app #site-area-options .site-overview-areas{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px
}
#app #site-area-options .site-overview-areas button{
  min-height:38px;padding:6px 5px;font:800 13px/1.2 "Space Grotesk",system-ui,sans-serif
}
#app #site-area-options .site-overview-areas button.active{
  box-shadow:inset 0 0 0 1px #2E7DD7
}


/* Playing-field audit views share one category palette and readable area tables. */
.playing-field-note{font-size:11px;line-height:1.5;color:#52615c;margin:10px 0 0}
.map-audit-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:12px;line-height:1.4}
.map-audit-table th,.map-audit-table td{padding:8px 4px;border-bottom:1px solid #dce5dd;text-align:left;vertical-align:top}
.map-audit-table th:last-child,.map-audit-table td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.map-audit-table th{font-size:11px;color:#52615c}

/* Preview-only comparison of present aerial and the illustrative layout. */
#app .future-compare{position:absolute;z-index:5;top:61px;right:13px;display:flex;gap:3px;padding:3px;border:1px solid #d4e3e0;border-radius:10px;background:#fff;box-shadow:0 2px 13px #15323622}
#app .future-compare button{border:0;border-radius:7px;padding:9px 10px;background:transparent;color:#335b61;font:700 12px 'Nunito Sans',system-ui,sans-serif;cursor:pointer}
#app .future-compare button.active{background:#dff2f0;color:#086f77}
#app .future-compare button:focus-visible{outline:3px solid #2e7dd7;outline-offset:2px}
#app .future-caption{position:absolute;z-index:4;right:13px;bottom:14px;max-width:240px;padding:7px 9px;border-radius:7px;background:#fffef3e8;color:#38545a;font:700 11px/1.35 'Nunito Sans',system-ui,sans-serif;box-shadow:0 2px 12px #18383c22}
#app .future-explainer p{margin-bottom:8px}
@media(max-width:760px){#app .future-compare{top:55px;right:10px}#app .future-compare button{font-size:11px;padding:8px}#app .future-caption{right:9px;bottom:10px;max-width:180px;font-size:10px}}
#app .future-compare[hidden],#app .future-caption[hidden],#app .future-explainer[hidden]{display:none!important}

/* Question 10: compact three-column comparison, scrollable on narrow screens. */
.explore-figures-scroll{max-width:100%;overflow-x:auto;margin:10px 0 13px}
.explore-figures{border-collapse:collapse;min-width:350px;width:100%;font-size:11px;line-height:1.4;color:#30433b}
.explore-figures th,.explore-figures td{padding:8px 7px;border-bottom:1px solid #dce6df;text-align:right;vertical-align:top;white-space:nowrap}
.explore-figures th:first-child,.explore-figures td:first-child{text-align:left;white-space:normal;min-width:112px}
.explore-figures thead{background:#eef4f0}
.explore-figures th{font-weight:800;color:#31514e}
.explore-figures-total{font-weight:900;background:#eff3f7}
#app .attribution{font-size:11px;line-height:1.3;max-width:min(360px,calc(100% - 72px))}
@media(max-width:760px){#app .attribution{font-size:10px;left:12px;bottom:9px;max-width:calc(100% - 24px)}}

.map-evidence{margin-top:.75rem;padding-top:.65rem;border-top:1px solid #b8cab8}.map-evidence strong{display:block;font-size:.84rem}.map-evidence ul{padding-left:1.2rem;margin:.45rem 0}.map-evidence li{margin:.25rem 0}.map-evidence a{color:inherit;text-decoration:underline;text-underline-offset:3px}.map-copy-link,.map-archive-link{border:1px solid currentColor;border-radius:7px;padding:.42rem .65rem;font:inherit;font-size:.82rem;cursor:pointer;background:transparent;color:inherit;text-decoration:none;white-space:normal}.map-copy-link:hover,.map-archive-link:hover{background:rgba(80,105,75,.1)}.mode-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}

/* Compact controls: map/explore choice lives above the sidebar's view buttons.
   No standalone toolbar consumes vertical map space. */
.preview-page .map-shell{margin-top:0}
#app .map-mode-tools{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0 0 13px;padding:0}
#app .map-mode-tools .mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;min-width:0}
#app .map-mode-tools .mode-button{min-width:0;white-space:normal;padding:8px 6px;line-height:1.25;font-size:12px}
#app .map-mode-tools .map-copy-link{align-self:flex-start;font-size:11px;padding:5px 8px}
#app #explore-sidebar-panel .map-mode-tools{margin-bottom:12px}
@media(min-width:761px){
  .preview-page #app{flex:1;min-height:0}
  .preview-page .map-shell{flex:1;min-height:0}
  .preview-page #app .map-section{min-height:0}
}
.mobile-mode-choice{display:none}
@media(max-width:760px){
  .mobile-mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:4px;grid-column:1/-1;padding:2px 2px 3px;background:#eef7ee;border-radius:9px}
  .mobile-mode-choice .mode-button{min-width:0;font-size:12px;min-height:34px;padding:6px}
  #app .map-mode-tools{display:none}
  .preview-page #app{height:clamp(490px,calc(100dvh - 120px),980px)}
}
/* Q10 must fit exactly the same answer width as the other questions. */
#app .explore-answer,#app .explore-answer-inline,#app .explore-answer-mobile{min-width:0;max-width:100%;box-sizing:border-box}
#app .explore-figures-scroll{width:100%;max-width:100%;overflow-x:visible;margin:9px 0 12px}
#app .explore-figures{table-layout:fixed;min-width:0;width:100%;font-size:10px;line-height:1.35}
#app .explore-figures th,#app .explore-figures td{padding:7px 4px;white-space:normal;overflow-wrap:break-word;word-break:normal}
#app .explore-figures th:first-child,#app .explore-figures td:first-child{width:42%;min-width:0}
#app .explore-figures th:nth-child(2),#app .explore-figures td:nth-child(2){width:28%}
#app .explore-figures th:nth-child(3),#app .explore-figures td:nth-child(3){width:30%}
@media(max-width:390px){#app .explore-figures{font-size:9px}#app .explore-figures th,#app .explore-figures td{padding:6px 2px}}

/* Mobile control row 1 is the Map/Explore choice; dropdowns are row 2.
   This overrides the older one-row rules without affecting their widths. */
@media(max-width:760px){
  .preview-page .mobile-map-tools .mobile-mode-choice{grid-column:1/-1;grid-row:1}
  .preview-page .mobile-map-tools > label,
  .preview-page .mobile-map-tools > label:has(+ .mobile-special-controls[hidden]){grid-column:1;grid-row:2}
  .preview-page .mobile-map-tools .mobile-special-controls:not([hidden]){grid-column:2;grid-row:2}
  .preview-page .mobile-map-tools .mobile-question-picker:not([hidden]){grid-column:1/-1;grid-row:2}
  .preview-page .mobile-map-tools:has(.mobile-question-picker:not([hidden])) > label{display:none}
}

/* Display the full information-button label on mobile as well as desktop. */
@media(max-width:760px){
 #app .map-about-view{width:auto;max-width:calc(100% - 126px);height:auto;min-height:41px;padding:8px 10px;font-size:11px;line-height:1.25;text-align:left}
 #app .map-about-view .map-about-label{display:inline;white-space:normal}
}

/* Mobile map: a stable viewport, with information inside a bottom sheet.
   Map gestures don't scroll the page; only the sheet content scrolls. */
@media(max-width:760px){
  html:has(body.preview-page),body.preview-page{height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none}
  body.preview-page{display:flex;flex-direction:column}
  .preview-page .site-header{flex:none}
  .preview-page .preview-main{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}
  .preview-page .map-shell{display:flex;flex:1;min-height:0;flex-direction:column;margin:0 auto;width:calc(100% - 12px);overflow:hidden}
  .preview-page .mobile-map-tools{flex:none;max-height:42dvh;overflow-y:auto;overscroll-behavior:contain}
  .preview-page #app{display:flex;flex:1;min-height:180px;height:auto;max-height:none;overflow:hidden}
  .preview-page #app > main{flex:1;min-height:0}
  .preview-page #app .map-section{flex:1;min-height:0;position:relative}
  .preview-page .mobile-key,.preview-page .preview-disclaimer,.preview-page footer{display:none}
  .preview-page .mobile-question-picker .explore-answer-mobile{display:none!important}
  #app .map-section .popup.map-info-panel.map-bottom-sheet{
    position:absolute!important;z-index:20;top:auto!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box;
    height:40%!important;max-height:none!important;overflow:hidden!important;
    padding:0!important;margin:0!important;border:1px solid #C9DACD!important;border-bottom:0!important;
    border-radius:17px 17px 0 0!important;background:#fff!important;
    box-shadow:0 -7px 28px rgba(17,48,32,.21)!important;
    display:flex!important;flex-direction:column;touch-action:pan-y;
  }
  #app .map-section .popup.map-info-panel.map-bottom-sheet.is-expanded{height:86%!important}
  #app .map-section .popup.map-bottom-sheet .map-sheet-toolbar{
    flex:none;display:flex;align-items:center;justify-content:space-between;
    padding:7px 12px 4px;min-height:35px;border-bottom:1px solid #E8EEE8;background:#fff;
    touch-action:pan-y
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-expand{
    border:0;background:none;display:flex;align-items:center;gap:9px;cursor:pointer;
    color:#395e49;font:800 11px "Nunito Sans",sans-serif;min-height:30px;padding:0 5px
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-grip{
    display:block;width:34px;height:5px;border-radius:5px;background:#C3D3C7
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-close{
    border:0;background:#EDF3ED;color:#264b32;width:32px;height:32px;border-radius:8px;
    font-size:23px;line-height:1;cursor:pointer
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-body{
    min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;
    padding:10px 16px max(20px,env(safe-area-inset-bottom));touch-action:pan-y
  }
  #app .map-section .popup.map-bottom-sheet .map-info-titlebar{display:none}
  #app .map-section .popup.map-bottom-sheet .map-detail-head{margin:0 0 10px}
  #app .map-section .popup.map-bottom-sheet .map-detail-head strong{font-size:17px;line-height:1.28}
  #app .map-section .popup.map-bottom-sheet .map-explore-sheet-heading{display:flex}
  #app .map-section .popup.map-bottom-sheet .explore-answer-label{display:none}
  #app .map-section .popup.map-bottom-sheet .map-detail-close{display:none}
  #app .map-section .popup.map-bottom-sheet .map-detail-copy,
  #app .map-section .popup.map-bottom-sheet p{font-size:13px;line-height:1.55}
  #app .map-section .popup.map-bottom-sheet .explore-figures-scroll{max-width:100%}
  #app .map-section .popup.map-bottom-sheet .map-evidence{margin-bottom:10px}
  #app .map-section .popup.map-bottom-sheet:not(.is-open){display:none!important}
}

/* Mobile: give each map control its own row/edge.
   Row 1 = information; row 2 = base map choices; zoom on right. */
@media(max-width:760px){
  #app .map-section .map-about-view{
    top:9px;left:9px;right:auto;width:auto;max-width:calc(100% - 18px);
    min-height:39px;max-height:none;padding:7px 11px;
    font-size:11px;line-height:1.3;justify-content:flex-start;
  }
  #app .map-section .controls{
    top:57px;left:9px;right:9px;width:auto;max-width:none;
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:hidden;box-sizing:border-box;
  }
  #app .map-section .controls button{
    min-width:0;min-height:39px;padding:7px 4px;
    white-space:normal;font-size:11px;line-height:1.2;
  }
  #app .map-section .zoom{
    top:108px;right:9px;left:auto;bottom:auto;gap:5px;
  }
  #app .map-section .zoom button{width:39px;height:39px;font-size:22px}
  #app .map-section.info-open .zoom{opacity:0;pointer-events:none}
}

/* Keep the expand/collapse action fixed at the very bottom of the mobile sheet. */
@media(max-width:760px){
  #app .map-section .popup.map-bottom-sheet .map-sheet-toolbar{
    position:relative;justify-content:center;min-height:32px;padding:4px 12px;
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-close{
    position:absolute;right:9px;top:4px;
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-footer{
    flex:none;display:block;background:#fff;border-top:1px solid #e0eae0;
    padding:8px 12px max(9px,env(safe-area-inset-bottom));
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-footer .map-sheet-expand{
    display:block;width:100%;min-height:41px;border:1px solid #c3d8c7;
    border-radius:9px;background:#edf5ee;color:#235337;
    font:800 13px "Nunito Sans",sans-serif;text-align:center;cursor:pointer;
  }
  #app .map-section .popup.map-bottom-sheet .map-sheet-body{
    padding-bottom:12px;
  }
}

/* Ownership parcel markers and contextual information prompt */
#map-labels .ownership-marker{cursor:pointer;pointer-events:all}
#map-labels .ownership-marker circle{filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.map-about-view.ownership-prompt{display:flex;flex-direction:column;align-items:center;gap:2px}
.map-about-hint{font-size:11px;font-weight:600;opacity:.85;line-height:1.25}

/* Keep the map page's mobile header consistent with the rest of the site. */
@media(max-width:900px){
  .preview-page .site-header{position:relative;z-index:60}
  .preview-page .brand{width:58px;flex:0 0 58px;overflow:visible}
  .preview-page .brand img{content:url("/images/FoLF_Logo_Icon_FullColour.png");width:58px;height:58px;object-fit:contain}
}
@media(max-width:650px){
  .preview-page .brand{width:52px;flex-basis:52px}
  .preview-page .brand img{width:52px;height:52px}
}
