/* Survey pages: map + projects */
.mhead{padding:56px 0 28px;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.mhead h1{font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1}
.mhead p.note{font-family:"Newsreader",Georgia,serif;font-size:17px;color:var(--muted);max-width:600px;margin-top:14px}
.stats5{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);margin-bottom:22px;background:var(--paper)}
.stats5 div{padding:18px 18px 16px;border-left:1px solid var(--rule)}
.stats5 div:first-child{border-left:0}
.stats5 b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:400;font-size:clamp(22px,2.6vw,30px);letter-spacing:.02em}
.stats5 span{display:block;margin-top:8px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.cover{border:1px solid var(--rule);padding:18px;margin-bottom:28px;font-family:"IBM Plex Mono",ui-monospace,monospace}
.cover .hd{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.cover .hd b{font-weight:400;color:var(--accent);letter-spacing:.04em;font-size:13px}
.bar{display:grid;gap:2px;margin:14px 0 12px;border:1px solid var(--rule);padding:1px}
.bar i,.bar a{height:16px;background:#e9e4dc;display:block}
.bar .on{background:var(--accent)}
.bar a:hover{outline:2px solid var(--ink);outline-offset:-2px}
.cover .ft{font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.cover .ft a{color:inherit}
.lbl{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.tiles{filter:grayscale(1) contrast(.9) brightness(1.04) sepia(.12)}
.pin{width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink);cursor:pointer}
.pin.on{background:var(--accent);box-shadow:0 0 0 1px var(--accent);transform:scale(1.35)}
.lb{z-index:2000}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.pcard,.ptile{display:block;text-decoration:none;color:inherit;background:none;border:0;padding:0;text-align:left;font:inherit;cursor:pointer}
.pimg{aspect-ratio:4/3;background:var(--paper);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pimg img{width:100%;height:100%;object-fit:cover;transition:opacity .15s}
.pcard:hover img,.ptile:hover img{opacity:.85}
.pimg span{font-family:"IBM Plex Mono",monospace;font-size:34px;color:#cfc7bb}
.pcard.todo .pimg{background:transparent;border:1px dashed var(--rule)}
.pmeta{margin-top:9px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;line-height:1.5}
.pmeta .no{color:var(--accent);margin-right:8px}
.pmeta b{font-weight:600;font-size:13.5px}
.pmeta span:last-child{display:block;color:var(--muted)}
.pcard.todo b{color:var(--muted)}
.ptile .pimg{aspect-ratio:1/1}
.ptile .pimg img{object-fit:contain}
.crumbs{padding-top:40px;color:var(--muted)}
.crumbs a{color:inherit}
.status{border:1px solid var(--rule);padding:5px 10px;color:var(--muted)}
.status.on{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.pmap{height:52vh;min-height:320px;border:2px solid var(--ink);margin-bottom:34px;background:#e8e3da}
.empty-p{font-family:"Newsreader",Georgia,serif;font-size:19px;color:var(--muted);padding:10px 0 20px}
.pnav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:16px;border-top:1px solid var(--rule)}
.pnav a{color:inherit;text-decoration:none}
.pnav a:hover{color:var(--accent)}
.tabs{flex-wrap:wrap}
@media (max-width:820px){.stats5{grid-template-columns:repeat(2,1fr)}.stats5 div{border-left:0;border-top:1px solid var(--rule)}.stats5 div:nth-child(-n+2){border-top:0}.stats5 div:nth-child(even){border-left:1px solid var(--rule)}.stats5 div:last-child{grid-column:1/-1}.pgrid{grid-template-columns:repeat(2,1fr);gap:14px}.mhead{padding-top:32px}.tabs a{padding:6px 9px}}
