@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--forest:#183d32;--lime:#b4d774;--cream:#f6f5ee;--muted:#748078;--line:#dce1d6}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--forest);font:14px/1.55 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b3c960;outline-offset:3px}header{height:90px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;background:#fafaf5}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.1em;line-height:1.15}.wordmark small{display:block;font-size:10px;letter-spacing:.32em;margin-top:6px}.star{font-size:40px;font-weight:400;color:#7c965c}.header-caption{font-size:10px;letter-spacing:.19em;color:#738170}.outline{background:transparent;border:1px solid #c8d0c2;padding:10px 18px;border-radius:30px;font-size:12px}main{height:calc(100dvh - 90px);min-height:650px;display:grid;grid-template-columns:390px 1fr}aside{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--cream)}.intro{padding:30px 30px 22px}.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:700}h1{font:500 39px/1.1 'Playfair Display',Georgia,serif;letter-spacing:-1.5px;margin:22px 0 16px}h1 i{font-size:35px;font-weight:500;color:#688157}.intro p{font-size:12px;color:#6d786d;line-height:1.8}.statrow{display:flex;gap:40px;margin-top:24px}.statrow strong{font-size:25px;font-weight:500;letter-spacing:-1px}.statrow small{display:block;font-size:10px;color:var(--muted)}.finder{padding:0 26px;background:var(--cream)}.searchbox{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;gap:10px;padding:8px 13px}.searchbox span{font-size:25px}.searchbox input{width:100%;min-width:0;border:none;outline:none;padding:4px;background:transparent;font-size:13px}.filters{display:flex;gap:7px;margin-top:10px}.filters select{width:50%;min-width:0;border:1px solid var(--line);border-radius:5px;background:transparent;color:#526548;font-size:10px;padding:9px}.listhead{display:flex;justify-content:space-between;align-items:center;padding:20px 0 10px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.listhead button{border:0;background:none;color:var(--forest);font-size:10px}.towns{overflow:auto;flex:1;padding:0 26px;min-height:120px}.row{border-top:1px solid var(--line);display:flex;align-items:center}.town{background:none;border:0;color:var(--forest);text-align:left;padding:13px 0;width:100%}.town b{font-size:15px;font-weight:500;display:block}.town small{font-size:10px;color:var(--muted)}.town:hover b,.row.active b{color:#6e923a}.town .warning{color:#a17631}.save{background:none;border:0;font-size:22px;color:#9faa91;padding:10px}.save.on{color:#597b32}.sidefoot{padding:14px 26px 16px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.sidefoot>span{color:#84946f}.sidefoot button{background:none;border:0;padding:7px 0 0;color:var(--forest);font-size:10px}.mapwrap{position:relative;min-width:0;overflow:hidden;background:#e8eddf}#map{position:absolute;inset:0}.maptools{position:absolute;top:24px;left:26px;right:70px;display:flex;gap:10px;flex-wrap:wrap}.segmented{display:flex;border-radius:30px;background:white;padding:4px;box-shadow:0 3px 20px #12351e12}.segmented button{border:0;background:transparent;border-radius:30px;padding:10px 15px;color:#768273;font-size:10px;letter-spacing:.09em}.segmented button[aria-pressed=true]{background:var(--forest);color:white}.white{border:0;background:white;padding:12px 18px;border-radius:30px;color:var(--forest);font-size:11px;box-shadow:0 3px 20px #12351e12}.welcome{position:absolute;left:28px;bottom:90px;background:#fafaf4f2;border:1px solid #fff;padding:28px 30px;width:310px;border-radius:4px;box-shadow:0 12px 35px #1f3a2312}.welcome h2{font:500 30px/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.8px;margin:15px 0}.welcome p{font-size:11px;color:#79826f;line-height:1.9}.welcome button{margin-top:12px;display:flex;justify-content:space-between;width:100%;background:var(--forest);color:white;border:0;border-radius:4px;padding:13px 16px;font-size:11px}.welcome button span{color:var(--lime)}.legend{position:absolute;bottom:25px;left:28px;display:flex;flex-wrap:wrap;gap:14px;background:#fafaf4ed;border-radius:5px;padding:10px 14px;font-size:9px}.legend span{display:flex;gap:6px;align-items:center}.legend i{display:inline-block;width:7px;height:7px;background:#48764e;border-radius:50%}.legend i.amber{background:#bd8d42}.legend-note{color:#839078}.mapcredit{position:absolute;right:22px;bottom:60px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#84907d}#mapstatus{position:absolute;left:28px;top:95px;background:#fafaf4;padding:10px 15px;font-size:11px;border-radius:5px}#detail{position:absolute;left:28px;bottom:88px;background:#fafaf5f5;border:1px solid white;width:340px;max-height:calc(100% - 190px);overflow:auto;padding:28px;border-radius:7px;box-shadow:0 15px 50px #24422422}#detail h2{font:500 36px/1.1 'Playfair Display',Georgia,serif;margin:16px 0;letter-spacing:-1px}#detail .pop{font-size:30px;letter-spacing:-1px}#detail p{font-size:11px;color:#75816e}#detail .buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}#detail .buttons a,#detail .buttons button{display:inline-block;background:var(--forest);color:white;border:0;border-radius:4px;padding:10px 12px;text-decoration:none;font-size:11px}#detail .candidate{display:block;padding:10px 0;background:none;color:#8d682f;border:0;border-bottom:1px solid #ddd;width:100%;text-align:left;font-size:11px}.close{float:right;font-size:24px;background:transparent;border:none;color:var(--forest);line-height:1}dialog{border:none;border-radius:10px;padding:40px;width:600px;max-width:calc(100% - 30px);color:var(--forest);background:var(--cream);max-height:85vh}dialog::backdrop{background:#102c24aa;backdrop-filter:blur(4px)}dialog h2{font:500 34px/1.15 'Playfair Display',Georgia,serif}dialog p{font-size:13px;line-height:1.8}#detail[hidden],#welcome[hidden],#mapstatus[hidden]{display:none}@media(min-width:1600px){main{grid-template-columns:430px 1fr}.intro{padding:40px 36px 26px}h1{font-size:45px}.intro p{font-size:14px}}@media(max-width:900px){.header-caption{display:none}main{grid-template-columns:320px 1fr}.intro{padding:24px}h1{font-size:34px}h1 i{font-size:30px}.maptools{left:16px}.welcome{left:16px;width:270px;padding:22px}.legend-note{display:none}#detail{left:16px;max-width:calc(100% - 32px)}}@media(max-width:650px){header{height:72px;padding:0 18px}.wordmark{font-size:12px}.star{font-size:32px}.outline{font-size:10px;padding:8px 11px}main{height:auto;display:flex;flex-direction:column;min-height:0}.mapwrap{height:68dvh;min-height:470px;order:-1}aside{min-height:600px}.intro{padding:25px 24px 14px}h1{margin:15px 0}.statrow{margin-top:15px}.towns{max-height:450px}.welcome{width:245px;bottom:68px}.welcome h2{font-size:27px}.welcome p{display:none}.legend{bottom:24px;left:15px;gap:10px;font-size:8px}.mapcredit{display:none}.maptools{top:14px;gap:6px}.segmented button{padding:9px 10px;font-size:9px}.white{padding:10px;font-size:10px}#detail{bottom:75px;max-height:calc(100% - 150px);padding:22px}.maplibregl-ctrl-top-right{top:75px!important}}
.overlay-controls{border-top:1px solid var(--line);padding-top:15px;margin-bottom:12px}.layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 6px;padding:12px 0;font-size:10px}.layer-grid label{display:flex;align-items:center;gap:5px;cursor:pointer}.layer-grid input{margin:0;accent-color:var(--forest);width:12px;height:12px}.swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0}.town-color{background:#477b4c}.campus-color{background:#500000}.operating-color{background:#2f78a3}.proposed-color{background:#fff;border:2px solid #cf8d28}.directory-label{font-size:8px;letter-spacing:.13em;font-weight:bold;display:block;margin:7px 0}#directory{width:100%;padding:9px 10px;background:#fff;border:1px solid var(--line);border-radius:5px;font-size:11px;color:var(--forest)}.overlay-scope{font-size:9px;color:var(--muted);line-height:1.5;margin:7px 0}.intro{padding-bottom:12px;padding-top:20px}.intro h1{margin-top:14px}.intro .statrow{margin-top:12px}.intro p{margin-bottom:10px}.overlay-controls~.searchbox{margin-top:10px}.legend{max-width:calc(100% - 55px);gap:7px 12px}.legend i.maroon{background:#500000}.legend i.blue{background:#2f78a3}.legend i.planned{background:transparent;border:2px solid #cf8d28;width:9px;height:9px}#overlayDownload{display:block;margin-top:4px;background:none;border:0;padding:0;color:var(--forest);font-size:10px}#detail .status-badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;background:#e2ebf2;color:#2f678e}#detail .status-badge.campus{background:#f1e3e3;color:#500000}#detail .status-badge.proposed{background:#f7ebd4;color:#96651c}#detail .nearby{display:block;background:transparent;border:0;border-top:1px solid var(--line);padding:8px 0;width:100%;text-align:left;color:var(--forest);font-size:11px}#detail .nearby small{float:right;color:var(--muted)}.record-kind{font-size:10px;color:#52665d;margin-top:8px}.filters[hidden]{display:none}.sidefoot{padding-top:9px;padding-bottom:9px}@media(max-height:850px) and (min-width:651px){.intro h1{font-size:28px;margin:10px 0}.intro h1 i{font-size:25px}.intro p{display:none}.intro .statrow{display:none}.intro{padding-top:15px}.layer-grid{gap:6px;padding:8px 0}.overlay-controls{padding-top:10px}.listhead{padding-top:10px}}@media(max-width:650px){.intro p{display:block}.layer-grid{font-size:11px}.overlay-scope{font-size:10px}.legend{bottom:23px;font-size:8px}.mapwrap{min-height:510px}}

.atlas-tabs{display:flex;gap:5px;margin:0 0 20px;flex-wrap:wrap}.atlas-tabs button{flex:1;white-space:nowrap;border:1px solid #bac4b5;border-radius:5px;background:#fff;color:#183d32;padding:12px 9px;font:inherit;font-size:12px;cursor:pointer}.atlas-tabs button[aria-pressed="true"]{background:#183d32;color:white;border-color:#183d32}.atlas-tabs button[data-directory="campus"][aria-pressed="true"]{background:#500000;border-color:#500000}.atlas-tabs button:focus-visible{outline:3px solid #cf8d28;outline-offset:2px}
