/* Source-faithful slide 1 map: warm palette, original geography and marker positions. */
.review-map-section{background:#f9f9f9;color:#292929;overflow:hidden}
.review-map-section .section-heading{margin-bottom:46px}
.review-map-section h2{max-width:860px;color:#292929}
.review-map-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:5%;align-items:center}
.review-map-figure{margin:0;min-width:0;position:relative}
.review-map-svg{display:block;width:100%;height:auto;overflow:visible}
.review-map-figure .map-marker{transition:opacity .25s ease}
.review-map-enlarge{display:inline-flex;gap:18px;align-items:center;color:#E4002B;font-size:13px;font-weight:600;padding:12px 0;border-bottom:1px solid #c0c0c0;text-decoration:none;margin-top:10px}
.review-map-enlarge:hover{color:#E4002B}
.review-map-controls{border:0;padding:0;margin:0;min-width:0}
.review-map-controls legend{font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:-.04em;padding:0;margin-bottom:20px;color:#292929}
.review-map-controls label{cursor:pointer}
.review-map-controls input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}
.review-map-all{display:inline-flex;align-items:center;gap:10px;padding:10px 0;margin-bottom:18px;font-size:12px;font-weight:700;color:#595959;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid transparent}
.review-map-all:has(input:checked){color:#E4002B;border-color:#E4002B}
.review-map-key{border-top:1px solid #dadada}
.review-map-key-row{display:grid;grid-template-columns:40px 1fr 20px;gap:12px;align-items:start;padding:20px 0;border-bottom:1px solid #dadada;font-size:14px;line-height:1.55;font-weight:500;position:relative;transition:color .2s ease}
.review-map-key-row:hover,.review-map-key-row:has(input:checked){color:#E4002B}
.review-map-key-number{color:var(--map-colour);font-size:12px;font-weight:800;line-height:1.7;position:relative;padding-left:12px}
.review-map-key-number:before{content:"";position:absolute;left:0;top:5px;width:5px;height:12px;border-radius:1px;background:var(--map-colour)}
.review-map-key-arrow{color:var(--map-colour);opacity:0;transition:opacity .2s ease}
.review-map-key-row:hover .review-map-key-arrow,.review-map-key-row:has(input:checked) .review-map-key-arrow{opacity:1}
.review-map-key-static{cursor:default;grid-template-columns:40px 1fr}
.review-map-key-static:hover{color:inherit}
.review-map-controls label:has(input:focus-visible){outline:2px solid #E4002B;outline-offset:4px}
.review-map-layout:has(input[value="1"]:checked) .map-marker:not([data-project="1"]){opacity:.09}
.review-map-layout:has(input[value="1"]:checked) .map-marker[data-project="1"]{opacity:1}
.review-map-layout:has(input[value="2"]:checked) .map-marker:not([data-project="2"]){opacity:.09}
.review-map-layout:has(input[value="2"]:checked) .map-marker[data-project="2"]{opacity:1}
.review-map-layout:has(input[value="3"]:checked) .map-marker:not([data-project="3"]){opacity:.09}
.review-map-layout:has(input[value="3"]:checked) .map-marker[data-project="3"]{opacity:1}
.review-map-layout:has(input[value="4"]:checked) .map-marker:not([data-project="4"]){opacity:.09}
.review-map-layout:has(input[value="4"]:checked) .map-marker[data-project="4"]{opacity:1}
.review-map-layout:has(input[value="5"]:checked) .map-marker:not([data-project="5"]){opacity:.09}
.review-map-layout:has(input[value="5"]:checked) .map-marker[data-project="5"]{opacity:1}
.review-map-layout:has(input[value="6"]:checked) .map-marker:not([data-project="6"]){opacity:.09}
.review-map-layout:has(input[value="6"]:checked) .map-marker[data-project="6"]{opacity:1}
@media(max-width:1000px){.review-map-layout{gap:32px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.review-map-key-row{padding:15px 0;font-size:13px;grid-template-columns:35px 1fr 15px;gap:8px}}
@media(max-width:760px){.review-map-layout{grid-template-columns:1fr;gap:38px}.review-map-figure{max-width:610px;width:100%;margin:auto}.review-map-section .section-heading{margin-bottom:30px}.review-map-key-row{font-size:14px;padding:18px 0;grid-template-columns:40px 1fr 20px}.review-map-controls legend{font-size:30px}.review-map-enlarge{font-size:12px}.review-map-key-static{grid-template-columns:40px 1fr}}
@media(prefers-reduced-motion:reduce){.review-map-figure .map-marker{transition:none}}
