html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}dl dl,dl ol,dl ul,ol dl,ul dl{margin:0}hr{box-sizing:content-box;height:0}pre{font-family:monospace,monospace;font-size:1em}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}button,input,select{margin:0}button{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{padding:.35em .75em .625em}progress{vertical-align:baseline}select{text-transform:none}textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}details,dialog{display:block}dialog{background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}dialog:not([open]){display:none}summary{display:list-item}.section.city-points-map-section{padding:24px 0;background-color:transparent}.section.city-points-map-section .city-map-title{font-size:24px;font-weight:700;text-align:center;margin:0 0 8px;border-bottom:none!important;color:#333}.section.city-points-map-section .city-map-subtitle{font-size:16px;text-align:center;margin:0 0 20px;color:#444}.section.city-points-map-section .city-map-wrapper{position:relative;width:100%;max-width:900px;margin:0 auto;background:transparent}.section.city-points-map-section .city-map-svg-container{position:relative;width:100%}.section.city-points-map-section .city-map-svg-container svg{width:100%;height:auto;display:block}.section.city-points-map-section .city-map-svg-container svg path{stroke:#fff;stroke-width:1px;transition:fill .2s ease}.section.city-points-map-section .city-points-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.section.city-points-map-section .city-point{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;z-index:10}.section.city-points-map-section .city-point:hover{z-index:100}.section.city-points-map-section .city-point:hover .city-marker{transform:scale(1.2);box-shadow:0 4px 12px rgba(0,0,0,.3)}.section.city-points-map-section .city-marker{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.section.city-points-map-section .city-marker.active{transform:scale(1.2);box-shadow:0 4px 12px rgba(0,0,0,.3)}.section.city-points-map-section .city-tooltip,.section.city-points-map-section [id^=city-tooltip-]{position:absolute;background-color:rgba(0,0,0,.92);color:#fff;padding:8px 12px;border-radius:6px;font-size:14px;pointer-events:none;z-index:1000;box-shadow:0 4px 16px rgba(0,0,0,.3);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .15s ease}.section.city-points-map-section .city-tooltip.hidden,.section.city-points-map-section [id^=city-tooltip-].hidden{display:none}.section.city-points-map-section .city-tooltip .tooltip-city-location,.section.city-points-map-section [id^=city-tooltip-] .tooltip-city-location{font-weight:600;font-size:14px;display:inline}.section.city-points-map-section .city-tooltip .tooltip-city-rank,.section.city-points-map-section [id^=city-tooltip-] .tooltip-city-rank{font-weight:700;font-size:14px;color:#fff;display:inline;margin-left:8px;padding-left:8px;border-left:1px solid hsla(0,0%,100%,.3)}.section.city-points-map-section .city-tooltip .tooltip-city-extra,.section.city-points-map-section [id^=city-tooltip-] .tooltip-city-extra{font-size:12px;opacity:.85;margin-top:6px;padding-top:6px;border-top:1px solid hsla(0,0%,100%,.15);line-height:1.3;white-space:normal;max-width:200px}.section.city-points-map-section .city-map-legend{display:flex;justify-content:center;margin-top:24px;padding:16px 20px;background-color:#f0f0f0;border-radius:8px}.section.city-points-map-section .city-map-legend .legend-gradient{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:300px}.section.city-points-map-section .city-map-legend .legend-bar-wrapper{position:relative;width:100%}.section.city-points-map-section .city-map-legend .legend-rank-indicator{position:absolute;top:-13px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;transition:left .2s ease}.section.city-points-map-section .city-map-legend .legend-rank-indicator.hidden{display:none}.section.city-points-map-section .city-map-legend .legend-rank-arrow{font-size:14px;line-height:1;color:#333}.section.city-points-map-section .city-map-legend .legend-color-bar{width:100%;height:12px;border-radius:6px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.section.city-points-map-section .city-map-legend .legend-labels{display:flex;justify-content:space-between;width:100%}.section.city-points-map-section .city-map-legend .legend-labels span{font-size:13px;font-weight:600;color:#333}.section.city-points-map-section .city-map-legend .legend-labels .legend-label-best{text-align:left}.section.city-points-map-section .city-map-legend .legend-labels .legend-label-worst{text-align:right}