.section-title{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#cbe6f5;margin:0 0 8px}

.info-type{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#67c7ef;font-weight:900}

.socio-area{stroke:#fff;stroke-width:2;fill-opacity:.78;cursor:pointer;transition:.14s}

.socio-area:hover{stroke:#1e4055;stroke-width:3;fill-opacity:.93}

.socio-area.selected{stroke:#102f43;stroke-width:3.5;fill-opacity:.96;filter:drop-shadow(0 0 5px rgba(25,67,92,.35))}

.socio-value-label{font-size:10px;font-weight:900;fill:#263b4a;text-anchor:middle}

.socio-name-label{font-size:8px;font-weight:800;fill:#536979;text-anchor:middle}

.socio-legend{font-size:10px;line-height:1.45;color:#d9e5ef;background:#102035;border:1px solid #31506d;border-radius:10px;padding:9px;margin:4px 4px 10px}

.socio-legend .legend-title{font-weight:900;color:#a9def4;margin-bottom:5px}

.socio-legend .scale{display:flex;gap:3px;align-items:center;margin-top:5px}

.socio-legend .chip{height:9px;flex:1;border-radius:2px;border:1px solid #ffffff22}

.sector-area{stroke:#fff;stroke-width:2;fill-opacity:.78;cursor:pointer;transition:.14s}

.sector-area:hover{fill-opacity:.94;stroke:#1d4055;stroke-width:3}

.sector-area.selected{fill-opacity:.97;stroke:#102f43;stroke-width:3.5;filter:drop-shadow(0 0 5px rgba(25,67,92,.35))}

.sector-label{font-size:9px;font-weight:900;fill:#263b4a;text-anchor:middle}

.service-marker{cursor:pointer}

.service-halo{fill:#347FB1;fill-opacity:.15;stroke:#347FB1;stroke-width:2;stroke-dasharray:4 3}

.service-core{fill:#184A70;stroke:#fff;stroke-width:2.2}

.service-icon{fill:#fff;font-size:12px;font-weight:900;text-anchor:middle;dominant-baseline:middle}

.service-label{font-size:10px;font-weight:900;fill:#173F5B;text-anchor:middle}

.tourism-zone{fill:#5EAB82;fill-opacity:.19;stroke:#2F7E5A;stroke-width:2;stroke-dasharray:6 4;cursor:pointer;transition:.14s}

.tourism-zone:hover{fill-opacity:.33;stroke-width:3}

.tourism-zone.selected{fill-opacity:.40;stroke:#1A6041;stroke-width:3.2}

.tourism-city{fill:#4B8BB8;stroke:#fff;stroke-width:2.2}

.tourism-label{font-size:10px;font-weight:900;fill:#215B42;text-anchor:middle}

.transform-marker{cursor:pointer}

.transform-ring{fill:#D78349;fill-opacity:.16;stroke:#A75324;stroke-width:2.3}

.transform-core{fill:#9E4A26;stroke:#fff;stroke-width:2}

.transform-arrow{fill:none;stroke:#9E4A26;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.transform-label{font-size:9.5px;font-weight:900;fill:#753A23;text-anchor:middle}

.metro-zone{fill:#4E8EC3;fill-opacity:.12;stroke:#23618F;stroke-width:2;stroke-dasharray:7 4;cursor:pointer;transition:.14s}

.metro-zone:hover{fill-opacity:.24;stroke-width:3}

.metro-core{fill:#173E5A;stroke:#fff;stroke-width:2}

.metro-label{font-size:11px;font-weight:900;fill:#173E5A;text-anchor:middle}

.reason-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#9ed9f2;margin-bottom:4px}

/* DEMOGRAPHY_GRAPHICS_START */
.wide-action{width:calc(100% - 8px);margin:4px 4px 8px;padding:10px 11px;border:1px solid #3b5e79;background:#17344a;color:#e9f4fb;border-radius:9px;font-weight:850;cursor:pointer}

.wide-action:hover{background:#20445f}

.demography-lab{position:absolute;right:18px;bottom:18px;width:min(480px,calc(100% - 36px));max-height:90vh;overflow:auto;background:rgba(10,24,39,.97);border:1px solid #36566e;border-radius:16px;padding:15px 16px;box-shadow:0 18px 45px #10263855;z-index:15}

.demography-lab.hidden{display:none!important}

.demo-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}

.demo-head h2{margin:2px 0 0;font-size:18px}

.demo-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#82c9e8;font-weight:900}

.demo-equations{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0;font-size:10px}

.demo-equations>div{background:#142b40;border:1px solid #2b4b65;border-radius:9px;padding:8px;line-height:1.4}

.demo-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}

.demo-tab{font-size:10px;padding:7px 9px;border:1px solid #35536d;background:#10283c;color:#dceaf4;border-radius:8px;cursor:pointer}

.demo-tab.active{background:#2a759d;border-color:#65b5dc;color:white}

.pyramid-caption{font-size:9px;color:#9fb5c5;margin-bottom:7px}

.pyramid-head{display:grid;grid-template-columns:1fr 58px 1fr;gap:5px;font-size:9px;color:#adc1d0;text-align:center;font-weight:850;margin-bottom:3px}

.pyramid-bars{display:flex;flex-direction:column;gap:3px}

.pyr-row{display:grid;grid-template-columns:1fr 58px 1fr;gap:5px;align-items:center}

.pyr-side{height:13px;display:flex;align-items:center}

.pyr-side.left{justify-content:flex-end}

.pyr-side.right{justify-content:flex-start}

.pyr-bar{height:11px;border-radius:3px;background:#4d92bc;min-width:2px}

.pyr-side.right .pyr-bar{background:#b17497}

.pyr-age{text-align:center;font-size:8px;font-weight:850;color:#dae6ef}

.demo-question{margin-top:12px;padding:10px;border-radius:10px;background:#11263a;border:1px solid #31506d}

.demo-q-title{font-size:9px;color:#77c5e6;text-transform:uppercase;letter-spacing:.08em;font-weight:900}

.demo-question p{font-size:11px;line-height:1.45;margin:6px 0 8px}

.demo-question button{font-size:10px;padding:7px 9px;border:1px solid #446983;background:#1b425c;color:white;border-radius:8px;cursor:pointer}

.demo-answer{font-size:10px;line-height:1.5;margin-top:9px;padding-top:9px;border-top:1px solid #2f4c62;color:#dfeaf2}

.demo-answer.hidden{display:none!important}

@media(max-width:900px){
  .demography-lab{position:fixed;left:10px;right:10px;bottom:10px;width:auto;max-height:82vh}
  .demo-equations{grid-template-columns:1fr}
}

/* DEMOGRAPHY_GRAPHICS_END */
