.city-geography{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px, .8fr);gap:30px;margin:28px 0 38px;padding:28px;border-radius:16px;background:#eef6f7}.city-geography h2{margin:0 0 15px;font-size:1.55rem}.city-geography h3{font-size:1.05rem;margin:20px 0 7px}.city-geography p{line-height:1.65;margin:8px 0}.city-geography small{color:#657b86}.city-mini-map{position:relative;min-height:235px;border-radius:12px;overflow:hidden;background:#e7eee8}.city-mini-map img,.province-map>img{position:absolute;width:100%;height:100%;object-fit:fill}.city-mini-map .selected-city{z-index:1}.city-map-caption{font-size:.75rem!important}.selected-city{position:absolute;transform:translate(-50%,-50%);width:14px;height:14px;background:#ed8c29;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #27425388;z-index:2;pointer-events:none}.selected-city span{position:absolute;left:12px;top:-12px;white-space:nowrap;background:#fff;padding:4px 7px;border-radius:5px;color:#17394d;font-size:12px;font-weight:700}.province-map{position:relative;min-height:650px;background:#e7eee8;overflow:hidden}.province-name{position:absolute;left:24px;top:24px;font-size:12px;color:#587879;letter-spacing:.12em;font-weight:700}.province-marker{position:absolute;transform:translate(-50%,-50%);z-index:3;width:36px;height:36px;border:3px solid white;border-radius:50%;background:#008a9f;color:white;font-weight:700;box-shadow:0 3px 9px #16485b66;cursor:pointer}.province-marker:hover,.province-marker[aria-expanded=true]{background:#db8429}.province-list{margin:18px 0 28px;max-height:490px;overflow:auto}.province-list h3{font-size:.85rem;text-transform:uppercase;color:#71909a;letter-spacing:.06em;margin:20px 0 5px}.province-list a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e4edef;color:#17394d;font-weight:600}.province-list a:hover{color:#008fa5}.province-popup{position:absolute;z-index:4;left:16px;bottom:24px;max-width:300px;max-height:65%;overflow:auto;background:white;padding:16px;border-radius:12px;box-shadow:0 5px 20px #173b4d2c}.province-popup strong,.province-popup a{display:block}.province-popup a{margin-top:9px;color:#008fa5}.city-map-link{color:#008fa5;font-weight:700}@media(max-width:760px){.city-geography{grid-template-columns:1fr;padding:20px}.city-mini-map{min-height:220px}.province-map{min-height:430px}.province-list{max-height:none}.province-name{font-size:10px}}
