.tech-hero{padding-top:85px;padding-bottom:80px}.tech-hero h1{font-size:clamp(3rem,7vw,6rem);margin:20px 0 28px}.kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;color:#c3c3c3;margin-bottom:14px}.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.tech-grid.two{grid-template-columns:repeat(2,1fr)}.tech-grid article{padding:28px;border:1px solid var(--gray-200);border-radius:12px;background:var(--ink)}.tech-grid article>span{font-size:.7rem;letter-spacing:.15em;color:#aaa}.tech-grid h3{margin:18px 0 15px}.fine{font-size:.85rem}.city-main{max-width:1550px;margin:0 auto;padding:35px 30px 65px}.city-intro{padding:22px 0 30px}.city-intro h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:15px 0}.city-intro p{margin-bottom:12px}.city-toolbar{display:flex;align-items:end;gap:18px;padding:20px;background:#151515;border:1px solid #333;border-radius:12px;flex-wrap:wrap}.city-toolbar form{flex:1;min-width:250px}.city-toolbar label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.form-row{display:flex;gap:8px}.form-row input{flex:1;min-width:100px}.city-toolbar input,.city-toolbar select,#place-search{background:#090909;border:1px solid #555;border-radius:6px;color:white;padding:11px;font:inherit}.city-button{padding:12px 18px;border:1px solid #eee;background:#eee;color:#050505;border-radius:6px;font:600 .85rem var(--font-body);cursor:pointer;white-space:nowrap}.city-button.secondary{background:#222;color:white;border-color:#555}.city-button:disabled{opacity:.5;cursor:wait}.city-button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8fc6fb;outline-offset:3px}.city-status{padding:13px 3px;margin:0;font-size:.85rem;min-height:45px}.city-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;border:1px solid #333;border-radius:12px;overflow:hidden}#geo-map{height:650px;background:#242424;z-index:1}.city-sidebar{padding:25px;background:#151515;overflow-y:auto;max-height:650px}.city-sidebar h2{font-size:1.7rem;margin:15px 0}.city-sidebar h3{font-size:1rem;margin:22px 0 9px}.city-sidebar p{font-size:.9rem}.city-sidebar ul{padding-left:20px;color:#bbb;font-size:.9rem}.city-tag{background:#303030;padding:5px 9px;border-radius:4px;font-size:.65rem;letter-spacing:.1em;display:inline-block;text-transform:uppercase}.city-directory{margin-top:30px}.city-directory h2{font-size:1.7rem}.place-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px;max-height:400px;overflow:auto}.place-card{text-align:left;border:1px solid #333;border-radius:8px;background:#151515;padding:14px;color:#eee;cursor:pointer;font:inherit}.place-card:hover{border-color:#bbb}.place-card small{display:block;color:#aaa;margin-top:7px}.city-note{margin-top:35px;border-top:1px solid #333;padding-top:20px}.city-note p{font-size:.8rem;max-width:110ch}.city-note a{text-decoration:underline}.search-result{display:block;margin-top:7px;text-align:left;background:#222;color:white;padding:12px;border:1px solid #555;border-radius:5px;cursor:pointer;width:100%;font:inherit}.map-pin{border-radius:50%;border:2px solid #fff;background:#222;width:24px;height:24px;display:grid;place-items:center;color:white;font:bold 11px Arial;box-shadow:0 2px 5px #0008}.map-pin.education{background:#405bb2}.map-pin.community{background:#4d7962}.map-pin.finance{background:#977527}.leaflet-container{font-family:var(--font-body)}.leaflet-control-attribution a{color:#06486e}.leaflet-popup-content{color:#111}.geo-link{display:block;margin-top:14px;text-decoration:underline}.city-sidebar .city-button{display:inline-block;margin-top:16px;white-space:normal}.agent-main h1{line-height:1.1}.agent-main .intro p{margin-top:15px}@media(max-width:1000px){.city-layout{grid-template-columns:1fr}.city-sidebar{max-height:none}#geo-map{height:450px}.place-list{grid-template-columns:repeat(2,1fr)}.tech-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.city-main{padding:15px 14px 40px}.city-toolbar{padding:14px}.city-toolbar>div,.city-toolbar>button{width:100%}.city-toolbar select{width:100%}#geo-map{height:380px}.tech-grid,.tech-grid.two{grid-template-columns:1fr}.tech-hero{padding-top:45px;padding-bottom:45px}.place-list{grid-template-columns:1fr}.city-intro h1{font-size:2.5rem}}
