.population-topic{--population-blue:#1c5cab;--population-orange:#d95926}
.population-topic .population-hero{padding:6px 0 18px}
.population-topic .population-hero h1{font-size:clamp(36px,4.6vw,68px);line-height:1.08;letter-spacing:-.045em;max-width:100%;margin:12px 0}
.population-topic .population-hero .regional-intro{font-size:clamp(15px,1.3vw,19px);max-width:75ch;margin:0 0 22px;line-height:1.6;color:var(--ink2,#3f484e)}
.population-jumps{display:flex;gap:8px;flex-wrap:wrap}
.population-jumps a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--line,#dce0d7);border-radius:999px;text-decoration:none;color:var(--ink,#111827);font-size:13px;font-weight:600;background:var(--surface,#fff)}
.population-jumps a:hover{background:var(--surface-muted,#f3f5f4)}
.population-overview{margin:16px 0 36px}
.population-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.population-kpi{background:var(--surface,#fff);border:1px solid var(--line,#e1e5e1);border-radius:18px;padding:20px 22px;min-width:0;display:flex;flex-direction:column;gap:6px}
.population-kpi span{font-size:13px;color:var(--ink2,#52514e);line-height:1.4}.population-kpi strong{font-size:clamp(24px,2.1vw,38px);line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.population-kpi small{font-size:12px;color:var(--muted,#686b67);line-height:1.4}
.population-topic .regional-section{margin:42px 0 52px}
.population-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 18px}
.population-section-heading h2{font-size:clamp(26px,2.4vw,36px);letter-spacing:-.025em;margin:0}
.population-section-heading p{max-width:62ch;color:var(--ink2,#52514e);margin:0}
.population-topic .distribution-legend{display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:8px 0 16px;font-size:13px}
.population-key{display:inline-block;width:20px;height:3px;flex:none}
.population-topic .distribution-chart{max-width:none;width:100%;margin:12px 0 18px;background:var(--surface,#fff);border:1px solid var(--line,#e1e5e1);border-radius:20px;padding:24px 26px 18px;box-sizing:border-box;overflow:hidden}
.population-topic .distribution-chart svg{display:block;width:100%;height:auto;overflow:visible}
.population-topic .distribution-chart figcaption{margin-top:16px;max-width:100ch;font-size:12px;line-height:1.6}
.population-topic .distribution-tick{font-size:13px}.population-topic .distribution-direct{font-size:15px}
.population-hit{fill:transparent;cursor:crosshair}.population-hit:focus-visible{outline:2px solid var(--population-blue)}
.population-zero{stroke:#89929b;stroke-width:1.3}
.population-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.population-card{display:flex;flex-direction:column;text-align:left;align-items:flex-start;min-height:122px;gap:5px;background:var(--surface,#fff);border:1px solid var(--line,#dce0d7);border-radius:16px;padding:17px 18px;min-width:0;font:inherit;color:inherit;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.population-card:hover,.population-card[aria-pressed=true]{border-color:var(--population-blue);background:#f1f7ff;box-shadow:0 2px 10px #1c5cab0d}
.population-card:focus-visible,.population-compare:focus-visible,.population-jumps a:focus-visible{outline:3px solid var(--population-blue);outline-offset:3px}
.population-card span{display:block;font-size:13px;line-height:1.4;color:var(--ink2,#52514e)}
.population-card strong{font-size:clamp(22px,1.9vw,31px);line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.population-card small{margin-top:auto;font-size:12px;font-weight:600;color:var(--population-blue)}
.population-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.population-chart-heading h3{margin:0;font-size:21px}
.population-compare{font:inherit;font-size:13px;font-weight:600;background:var(--surface,#fff);border:1px solid var(--line,#dce0d7);border-radius:10px;color:var(--ink,#111827);min-height:42px;padding:9px 14px;cursor:pointer}
.population-compare:hover{background:var(--surface-muted,#f4f6f5)}
.population-controls{grid-template-columns:minmax(280px,540px);margin:12px 0 20px}
.population-controls select{min-height:54px;font-size:16px;border:1px solid var(--line,#d7dcd2);border-radius:12px;padding:10px 40px 10px 16px}
.population-cantons{list-style:none;padding:0;margin:18px 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;row-gap:13px}
.population-cantons li{display:grid;grid-template-columns:minmax(100px,12em) minmax(0,1fr);gap:12px;align-items:center;font-size:14px;line-height:1.4;min-width:0}
.population-cantons li>a{color:var(--ink,#111827);font-weight:600;text-decoration:none}.population-cantons li>a:hover{text-decoration:underline;color:var(--population-blue)}
.population-cantons li>div{display:flex;align-items:center;gap:9px;min-width:0}
.population-cantons b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.population-bar{height:14px;background:var(--population-blue);border-radius:4px;flex:none;max-width:calc(100% - 8em);min-width:2px}
.population-bar.negative{background:#86b6ef}
.population-meta{margin:12px 0;border:1px solid var(--line,#dce0d7);border-radius:14px;background:var(--surface,#fff);overflow:hidden}
.population-meta>summary{display:list-item;cursor:pointer;padding:18px 22px;font-weight:650;font-size:15px;list-style-position:inside}
.population-meta[open]>summary{border-bottom:1px solid var(--line,#dce0d7)}
.population-meta-content{padding:18px 22px;max-width:100%;overflow-wrap:anywhere}
.population-meta-content .regional-source{padding-bottom:12px;border-bottom:1px solid var(--line,#dce0d7)}
.population-meta-content .regional-source a{overflow-wrap:anywhere}
.population-topic ul.lim{font-size:14px;line-height:1.7;padding-left:20px}
.population-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.population-related a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;background:var(--surface,#fff);border:1px solid var(--line,#dce0d7);border-radius:14px;min-height:76px;text-decoration:none;color:var(--ink,#111827);font-weight:600;font-size:14px}
.population-related a:hover{border-color:var(--population-blue);color:var(--population-blue)}
@media(max-width:1100px){.population-kpis,.population-cards,.population-related{grid-template-columns:repeat(2,minmax(0,1fr))}.population-cantons{column-gap:20px}.population-cantons li{grid-template-columns:minmax(90px,9em) minmax(0,1fr)}}
@media(max-width:760px){.population-topic .population-hero h1{font-size:clamp(34px,9vw,48px)}.population-overview{margin:16px 0 26px}.population-kpi{padding:15px 16px}.population-kpi strong{font-size:clamp(22px,5.5vw,30px)}
.population-topic .regional-section{margin:28px 0 36px}.population-section-heading h2{font-size:25px}
.population-topic .distribution-chart{padding:14px 10px 12px;border-radius:14px}
.population-topic .distribution-tick{font-size:21px}.population-topic .distribution-direct{font-size:23px}
.population-topic .distribution-legend{gap:10px 16px}
.population-cards{gap:8px}.population-card{padding:13px;min-height:112px}.population-card strong{font-size:20px}.population-card span{font-size:12px}
.population-cantons{grid-template-columns:minmax(0,1fr)}.population-cantons li{grid-template-columns:minmax(0,10em) minmax(0,1fr)}
.population-related{grid-template-columns:minmax(0,1fr)}.population-related a{min-height:54px;padding:14px 16px}
.population-meta-content{padding:14px 16px}}
@media(max-width:360px){.population-kpis{grid-template-columns:minmax(0,1fr)}.population-cantons li{grid-template-columns:minmax(0,7em) minmax(0,1fr)}}



/* Public canton table: a persistent, legible data surface on desktop and mobile. */
.population-region .population-section-heading{margin-bottom:24px}
.population-region .population-section-heading p{margin:12px 0 0;max-width:85ch;line-height:1.55}
.population-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:20px;background:var(--surface,#fff);box-shadow:0 7px 26px #15334d0d;outline-offset:4px}
.population-data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1320px;table-layout:auto;font-variant-numeric:tabular-nums}
.population-data-table caption.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.population-data-table thead{background:#133b73;color:#fff}
.population-data-table thead .population-table-groups{height:45px;background:#2478DB}
.population-data-table thead .population-table-groups th{padding:12px 18px;font-weight:800;font-size:12px;letter-spacing:.07em;text-transform:uppercase;text-align:center}
.population-data-table thead .population-table-groups th:first-child{background:#2478DB}
.population-data-table thead .population-table-groups th:last-child{background:#F36B2B}
.population-data-table thead .population-table-fields{height:59px;background:#133b73}
.population-data-table thead .population-table-fields th{padding:0;vertical-align:middle;white-space:nowrap;text-align:right}
.population-data-table thead .population-table-fields th:first-child{text-align:left}
.population-data-table thead .population-table-fields th:nth-child(n+7){background:#244d78}
.population-data-table thead .population-table-fields button{appearance:none;border:0;outline-offset:-4px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:700;min-height:59px;display:flex;gap:10px;align-items:center;justify-content:flex-end;width:100%;padding:12px 18px;white-space:nowrap;cursor:pointer}
.population-data-table thead .population-table-fields th:first-child button{justify-content:flex-start}
.population-data-table thead .population-table-fields button:hover,.population-data-table thead .population-table-fields button:focus-visible{background:#ffffff1b}
.population-sort-icon{opacity:.7;font-size:17px}
.population-data-table thead [aria-sort=descending] .population-sort-icon{font-size:0}
.population-data-table thead [aria-sort=descending] .population-sort-icon::after{content:"↓";font-size:17px}
.population-data-table thead [aria-sort=ascending] .population-sort-icon{font-size:0}
.population-data-table thead [aria-sort=ascending] .population-sort-icon::after{content:"↑";font-size:17px}
.population-data-table tbody tr{background:#fff;transition:background .14s ease}
.population-data-table tbody tr:nth-child(even){background:#f6f9fd}
.population-data-table tbody tr:hover,.population-data-table tbody tr:focus-within{background:#e5f2ff}
.population-data-table tbody td,.population-data-table tbody th{height:64px;padding:12px 18px;border-bottom:1px solid #e3edf6;vertical-align:middle;font-size:15px;line-height:1.25;white-space:nowrap;text-align:right;color:#172d46}
.population-data-table tbody th{text-align:left;font-weight:800;position:sticky;left:0;z-index:2;background:inherit;min-width:194px}
.population-data-table tbody tr:hover th,.population-data-table tbody tr:focus-within th{background:#e5f2ff}
.population-data-table tbody td:nth-child(n+7){background:#f36b2b09}
.population-data-table tbody tr:hover td:nth-child(n+7){background:#f36b2b13}
.population-data-table tbody td:nth-child(8){color:#163d7b;font-weight:850}
.population-data-table tbody th a{display:flex;align-items:center;gap:13px;color:#133b73;text-decoration:none;min-height:40px;max-width:270px;white-space:normal}
.population-data-table tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.population-data-table tbody th a span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.population-data-table tbody th a small{font-size:11px;letter-spacing:.1em;color:#6b7f91}
.population-table-language{display:block;flex:none;width:6px;height:38px;background:var(--canton-accent,#2478DB);border-radius:8px}
.population-cell-sub{display:block;color:#637b90;font-size:12px;font-weight:650;margin-top:3px}
.population-table-note{max-width:110ch;line-height:1.55;color:var(--ink2,#556579);font-size:13px;margin:20px 0 0}
.population-table-note strong{color:#133b73}
@media(max-width:760px){
 .population-table-wrap{border-radius:15px}
 .population-data-table{min-width:1230px}
 .population-data-table tbody th{min-width:175px}
 .population-data-table tbody td,.population-data-table tbody th{padding:12px 14px;font-size:14px;height:60px}
 .population-data-table thead .population-table-fields button{padding:12px 14px}
}

.population-map-language-note{font-size:12px;line-height:1.45;color:var(--ink2,#5a6775);margin:-15px 0 22px}
