:root{font-family:system-ui,sans-serif;color:#213e30;background:#f6f5ef;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{background:#203e2e;color:white;padding:20px max(24px,calc((100% - 1240px)/2));display:flex;justify-content:space-between;gap:20px}header a{color:white;text-decoration:none;font:bold 23px Georgia}header span{font:14px system-ui}main{max-width:1240px;margin:auto;padding:32px 24px}h1{font:700 clamp(32px,5vw,50px) Georgia;margin:8px 0}h2{font-size:24px;margin:0 0 12px}h3{margin:24px 0 8px}.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700}.intro{margin-bottom:32px}.muted,small{color:#56665b;font-size:13px}.layout{display:grid;grid-template-columns:260px 1fr;gap:28px}aside,#detail,.empty{background:white;padding:24px;border:1px solid #d7ddd6;border-radius:16px;min-width:0}button,.browse{font:600 14px system-ui;border:1px solid #254f39;border-radius:8px;background:#254f39;color:white;padding:12px 16px;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button.secondary{background:white;color:#254f39}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #af760c;outline-offset:3px}.visit-button{display:block;width:100%;text-align:left;margin:8px 0;background:#fff;color:#254f39}.visit-button[aria-pressed=true]{background:#254f39;color:white}.visit-button small{display:block;color:inherit}.browse{display:block;margin-top:24px;text-decoration:none}a{color:#254f39}.detail-heading{display:flex;gap:16px;justify-content:space-between;align-items:start}.readiness{background:#edf2e9;border-left:4px solid #426545;padding:16px;margin:18px 0}.readiness p{margin:6px 0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}#map{height:460px;background:#e9e8df;border-radius:10px;border:1px solid #bbc4b9;z-index:0}.notice{font-size:14px;background:#fff5dc;padding:14px;border-radius:8px}textarea{display:block;width:100%;border:1px solid #8d9d90;border-radius:8px;padding:12px;font:inherit;margin:8px 0}#message:not(:empty){padding:16px;background:#fff0cc;border:1px solid #c4a665;border-radius:8px;margin:16px 0}progress{width:100%;height:18px}footer{max-width:1240px;margin:0 auto;padding:24px;color:#56665b;font-size:13px}[hidden]{display:none!important}@media(max-width:760px){main{padding:24px 16px}.layout{grid-template-columns:1fr}.detail-heading{display:block}.detail-heading button{margin:8px 0}#map{height:380px}header{padding:16px}aside,#detail{padding:18px}}

/* Map-first phone layout. */
header{align-items:center}header a{font-size:21px}#connection{font-size:12px;text-align:right}main{padding-top:20px}.intro{margin-bottom:20px}.intro h1{font-size:32px}.intro p{margin:6px 0}.layout{grid-template-columns:220px minmax(0,1fr);gap:20px}aside{align-self:start;padding:16px}summary{cursor:pointer;font-weight:650;min-height:44px;padding:10px 0}summary:focus-visible{outline:3px solid #af760c;outline-offset:3px}.detail-heading h2{font:700 28px Georgia;margin-bottom:6px}.detail-heading p{margin:4px 0 12px}.map-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.map-actions button{flex:1;min-height:48px}button{min-height:44px}#map{height:440px}.leaflet-touch .leaflet-bar a{width:44px;height:44px;line-height:44px}.preparation{border-block:1px solid #d7ddd6;margin:24px 0;padding-bottom:16px}.preparation>p{font-size:14px;margin:6px 0}.readiness{padding:12px;font-size:14px;margin:14px 0}.readiness small{display:block;margin-top:8px}.actions button{flex:1}.directions{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid #254f39;border-radius:8px;font-weight:650;text-decoration:none}.help{border-top:1px solid #d7ddd6;margin-top:20px;padding-top:8px}.help p{font-size:14px}#location-status:empty{display:none}#location-status{font-size:14px;background:#edf2e9;padding:10px;border-radius:8px}#notes{font-size:16px}#save-notes{width:100%}
@media(max-width:760px){main{padding:16px 12px}.intro h1{font-size:28px}.intro>p:not(.eyebrow){font-size:14px}.intro{margin-bottom:14px}.layout{grid-template-columns:1fr;gap:12px}aside{padding:4px 16px;border-radius:12px}#detail{padding:16px;border-radius:12px}.detail-heading h2{font-size:25px}.map-actions button{padding:10px 8px;font-size:13px}#map{height:clamp(300px,48svh,440px)}.actions{display:grid;grid-template-columns:1fr 1fr}.actions button{padding:12px 8px}.notice{font-size:13px;padding:12px}header{padding:14px 16px;gap:12px}.browse{margin:12px 0}}

/* Let the map use the entire phone screen while keeping text comfortably inset. */
@media(max-width:760px){
  #map{width:calc(100% + 58px);max-width:none;margin-left:-29px;margin-right:-29px;border-left:0;border-right:0;border-radius:0}
}

/* Space around the full-width map. */
.detail-heading{padding-bottom:16px}.map-actions{margin-top:16px!important}
