:root{--accent:#245b49;--paper:#f5f3eb;--ink:#193e34;--line:#d4dece;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0;padding:0 28px}header,main,footer{max-width:1320px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:25px 0;border-bottom:1px solid var(--line)}h1{font:400 30px Georgia,serif;margin:5px 0}h2{font:400 24px Georgia,serif;margin:0 0 10px}p{line-height:1.65;margin:8px 0}.eyebrow{font-size:9px;letter-spacing:.15em;margin:0}.badge{font-size:10px;background:#e3eadd;padding:10px;border-radius:30px;white-space:nowrap}main{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px;padding-top:24px}.map-card{background:#fffdf8;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.map-top{padding:20px;display:flex;justify-content:space-between;gap:16px;align-items:start}.map-top p{font-size:11px;color:#5b6c61}.map-top h2{font-size:22px}button,a{font:inherit}button{cursor:pointer;color:var(--ink);background:#f5f6ef;border:1px solid var(--line);border-radius:6px;min-height:42px;padding:9px 13px}button:hover{background:#e3ebdd}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b98232;outline-offset:3px}#map{display:block;width:100%;height:470px;touch-action:pan-y;background:#edf2e7;cursor:grab}#map:active{cursor:grabbing}.controls{padding:12px 16px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--line)}.controls button{font-size:20px;min-width:42px}.controls span{font-size:9px;color:#5b6c61;margin-left:auto;max-width:200px;line-height:1.5}.info{padding:24px;background:#e5ecdf;border-radius:12px;align-self:start;overflow-wrap:anywhere}.info h2{margin-top:14px}.info p{font-size:13px}.info a{display:inline-block;padding:11px 15px;background:var(--accent);color:white;border-radius:5px;text-decoration:none;margin:12px 0}.info a[hidden]{display:none}.notice{border-top:1px solid #cbd6c4;padding-top:14px;font-size:11px!important;color:#5c6a60}#directory{grid-column:1/-1;padding:5px 0 10px}.small{font-size:11px;color:#5b6c61}#building-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}#building-list button{font-size:12px}#building-list button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}footer{font-size:10px;line-height:1.7;padding:24px 0;color:#5b6c61}#error{display:block;color:#9b3020;font-size:13px}.skip{position:fixed;top:-100px;left:12px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:12px}@media(max-width:820px){main{grid-template-columns:1fr}.info{grid-row:2}.map-top{padding:16px}.map-top h2{font-size:20px}#map{height:370px}body{padding:0 16px}header{flex-wrap:wrap}.badge{font-size:8px}h1{font-size:26px}.controls span{max-width:160px;font-size:8px}}@media(max-width:400px){.map-top{display:block}.map-top button{margin-top:7px}#map{height:330px}.controls{gap:5px;padding:10px}.controls span{max-width:110px}body{padding:0 12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.demo-return{display:block;padding:12px 24px;color:#e7efe8;background:#153e35;font:14px system-ui;text-decoration:none}
.demo-roadmap{border-top:1px solid #cbd6c4;margin-top:20px;padding-top:18px}.demo-roadmap h3{font:400 22px Georgia,serif;margin:0 0 18px}.demo-roadmap ol{list-style:none;padding:0;margin:0}.demo-roadmap li{display:flex;align-items:flex-start;gap:12px;padding-bottom:18px}.demo-roadmap li>b{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#245b49;color:white;font-size:11px}.demo-roadmap li span{font-size:12px;line-height:1.6}.demo-roadmap li strong{display:block;font-size:14px}.info .demo-project{display:block;margin:0;text-align:center;font-size:13px;font-weight:700}.info{background:linear-gradient(145deg,#edf2e7,#e1e9da)}.controls{justify-content:center}#directory h2{text-align:center}#directory>.small{text-align:center}#building-list{justify-content:center}

.info p#place-description{font-size:16px;line-height:1.6}.info h2#place-name{font-size:27px;line-height:1.2}.info .eyebrow{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase}.map-card{align-self:start}.badge b{font-weight:700}.budget{display:grid;gap:2px;margin:16px 0 4px;padding:14px 16px;background:#fffdf4;border:1px solid #cbd6c4;border-radius:10px}.budget[hidden]{display:none}.budget span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5c6a60}.budget strong{font:400 30px Georgia,serif;color:var(--accent)}.budget small{font-size:11px;color:#5c6a60}
