@font-face{font-family:Manrope;src:url('assets/manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;color:#352d3d;background:#f4eee6;font-synthesis:none;--plum:#73617e;--ink:#352d3d;--muted:#807685;--line:#8d7d8d28;--green:#4d8069}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit;color:inherit}button{border:0;cursor:pointer;background:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:var(--plum);text-underline-offset:3px}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #73617e;outline-offset:4px}h1,h2,h3,p{margin:0}svg{display:block}button svg{pointer-events:none}button svg,summary svg,.search-input-wrap>svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button svg{width:18px;height:18px;flex:none}[hidden]{display:none!important}
.mini-atlas{height:100dvh;min-height:320px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 40%,#f5eee5 0%,#f4eee6 70%,#f7f2ec 100%);overflow:hidden}
.signature{position:absolute;top:30px;left:34px;display:flex;align-items:center;gap:17px;z-index:5;pointer-events:none}.signature img{object-fit:contain;width:117px;height:29px}.signature>span{height:19px;width:1px;background:#77677b40}.signature h1{font-size:12px;font-weight:500;color:#7e7382;letter-spacing:.015em}
.glass{background:linear-gradient(125deg,#ffffffc7,#ffffffe0 55%,#ffffffb3);backdrop-filter:blur(20px) saturate(1.12);-webkit-backdrop-filter:blur(20px) saturate(1.12);border:1px solid #fffffff0;box-shadow:0 6px 24px #4c344d12,inset 0 0 0 1px #ffffff3b}
.floating-tools{position:absolute;right:32px;top:24px;display:flex;gap:9px;z-index:21}.tool-pill{border-radius:30px;min-height:44px;padding:11px 17px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.tool-pill:hover{transform:translateY(-2px);background:#fffffff2;box-shadow:0 10px 25px #4c344d19}.tool-pill[aria-expanded=true]{background:#4c3e58;color:#fff;border-color:#4c3e58}.tool-pill svg{width:16px;height:16px}.tool-pill circle{fill:#f8f6f2}.tool-pill[aria-expanded=true] circle{fill:#4c3e58}.interaction-hint{position:absolute;top:85px;left:35px;font-size:10px;color:#8b7f8d;display:flex;align-items:center;gap:7px;z-index:3;transition:opacity .3s}.interaction-hint span{width:4px;height:4px;border-radius:50%;background:#a291ad}.mini-atlas.has-detail .interaction-hint{opacity:0}
.map-stage{position:absolute;inset:66px 0 68px;z-index:0}.map-stage #map-svg{display:block;width:100%;height:100%;overflow:visible;outline-offset:-8px;touch-action:none;user-select:none;cursor:default}.map-stage.can-pan #map-svg{cursor:grab}.map-stage.is-dragging #map-svg{cursor:grabbing}#map-world{transform-origin:0 0;transition:transform .4s cubic-bezier(.22,.7,.2,1)}.is-dragging #map-world{transition:none}#geo-base{fill-rule:evenodd}.geo-region{fill-opacity:.12;stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .3s,fill-opacity .3s}.geo-region:hover{fill-opacity:.24}.geo-region.selected{fill-opacity:.28;stroke:var(--plum);stroke-width:2}.geo-label{font-size:18px;fill:#7b9399;letter-spacing:.14em}.heat-circle{pointer-events:none}.heat-ring{fill:none;stroke-width:1.1;vector-effect:non-scaling-stroke;opacity:.60;transition:opacity .2s}.heat-circle.active .heat-ring{stroke-width:1.6;opacity:1}.heat-circle.active .heat-outer{opacity:.9}.heat-outer{fill:none;stroke:#fff;stroke-dasharray:2 7;stroke-width:1.1;opacity:0;vector-effect:non-scaling-stroke;transition:opacity .2s}.region-marker{cursor:pointer;outline:none}.marker-label{font-family:Manrope,Arial,sans-serif;fill:#473b4f;font-size:16px;font-weight:700;paint-order:stroke;stroke:#fcf8eedb;stroke-width:4px;stroke-linejoin:round;letter-spacing:.01em;pointer-events:none;transition:fill .2s}.region-marker:hover .marker-label,.region-marker:focus .marker-label,.region-marker.selected .marker-label{fill:#261a34;stroke:#fffcf5;stroke-width:5px}.marker-pin{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px #6d4f5e38);transition:r .2s}.marker-centre{fill:#fff;pointer-events:none}.region-marker.selected .marker-pin,.region-marker:hover .marker-pin,.region-marker:focus .marker-pin{stroke-width:3}.region-marker:focus .marker-focus{opacity:1}.marker-focus{stroke:#584563;stroke-width:2;fill:none;opacity:0;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}
.floating-panel{position:absolute;z-index:20;border-radius:23px;padding:17px 19px 15px;animation:panel-in .18s ease-out;transform-origin:top right}.panel-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.panel-topline h2{font-size:13px;font-weight:600;letter-spacing:-.02em}.close-button{display:grid;place-items:center;width:32px;height:32px;min-width:32px;border-radius:50%;color:#8f8196;transition:background .2s}.close-button svg{width:16px;height:16px}.close-button:hover{background:#d6cbd54d;color:#493553}.search-panel{right:32px;top:80px;width:324px;max-height:calc(100dvh - 174px);overflow:auto}.search-input-wrap{display:flex;align-items:center;gap:9px;background:#fff9;border:1px solid #a08da32a;border-radius:13px;padding:0 11px}.search-input-wrap>svg{width:16px;height:16px;color:#928299;flex:none}.search-input-wrap input{width:100%;min-width:0;background:none;border:0;padding:11px 0;font-size:12px;min-height:42px;outline:none}.search-input-wrap:focus-within{outline:2px solid #a38baa;outline-offset:1px}.search-input-wrap input::placeholder{color:#aa9caf}.search-results{max-height:275px;overflow:auto;margin-top:9px;overscroll-behavior:contain}.search-results button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;width:100%;border-radius:11px;padding:8px 10px;text-align:left;transition:background .2s}.search-results button:hover,.search-results button:focus{background:#e6dce980;outline-offset:-1px}.search-results button>span{font-size:12px;font-weight:600}.search-results small{font-size:9px;color:#9a8c9d;white-space:nowrap}.search-results p{font-size:11px;color:#8a7b8d;padding:15px 7px;line-height:1.7}.panel-note{font-size:9px;line-height:1.65;color:#9c8da0;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.settings-panel{right:32px;top:80px;width:273px;max-height:calc(100dvh - 174px);overflow:auto}.field-label{display:block;font-size:10px;font-weight:500;color:#948399;margin:14px 0 7px}.segmented{display:flex;gap:3px;padding:3px;background:#a88caa12;border:1px solid #95759c13;border-radius:12px}.segmented button{flex:1;min-height:36px;border-radius:9px;padding:5px 8px;font-size:11px;font-weight:500}.segmented button[aria-pressed=true]{background:#fff;box-shadow:0 2px 8px #573a6a12;color:#6f547d}.settings-panel select{width:100%;padding:10px 12px;background:#fff9;border:1px solid #a08da328;border-radius:12px;font-size:11px;min-height:40px;cursor:pointer}.panel-link{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:40px;margin-top:13px;padding:12px 0 2px;font-size:10px;text-align:left;color:var(--plum);border-top:1px solid var(--line)}.panel-link span{font-family:Arial,sans-serif;font-size:16px}
.detail-card{position:absolute;z-index:12;width:295px;border-radius:23px;padding:16px 20px 13px;animation:card-in .2s ease-out;outline-offset:2px;max-height:calc(100dvh - 160px);overflow:auto;overscroll-behavior:contain}.detail-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#96849b;font-size:8px;letter-spacing:.12em;font-weight:600;margin-bottom:3px}.detail-kicker .close-button{width:28px;height:28px;min-width:28px;margin-right:-8px;margin-top:-5px}.detail-card h2{font-size:25px;font-weight:500;letter-spacing:-.05em;line-height:1.3}.region-subtitle{font-size:9px;color:#988a9b;line-height:1.5;margin-top:4px}.rate-row{display:flex;align-items:center;gap:10px;margin-top:17px}.rate-row>span{height:30px;width:4px;flex:none;border-radius:10px;background:#c8aa56}.rate-row>strong{font-size:43px;font-weight:500;line-height:1.1;letter-spacing:-.06em}.rate-row>div{font-size:9px;line-height:1.6;color:#97859d;display:flex;flex-direction:column}.rate-row>div>span:first-child{color:#75627e;font-weight:600}#province-comparison{font-size:9px;color:var(--green);line-height:1.6;margin-top:9px}#province-comparison.above{color:#b2724d}.detail-stats{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:15px;padding:12px 0;gap:19px}.detail-stats>div{display:flex;flex:1;flex-direction:column;gap:5px}.detail-stats>div+div{border-left:1px solid var(--line);padding-left:19px}.detail-stats span{font-size:8px;line-height:1.5;color:#9a8a9f}.detail-stats strong{font-size:21px;font-weight:500;line-height:1.3;letter-spacing:-.04em}.trend-down{color:var(--green)}.trend-up{color:#b56554}#coverage-details summary{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8e7898;cursor:pointer;padding:12px 0 8px;list-style:none;min-height:35px}#coverage-details summary::-webkit-details-marker{display:none}#coverage-details svg{width:12px;height:12px}#coverage-details[open] svg{transform:rotate(180deg)}#coverage-details p{font-size:10px;line-height:1.7;color:#8e7e94;margin:5px 0 10px}.city-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px}.city-tags span{font-size:8px;padding:3px 7px;border:1px solid #ac99b137;border-radius:20px;color:#8a7197}.trend-title{font-size:8px;color:#9a88a2}.sparkline{display:flex;align-items:flex-end;gap:18px;height:80px;padding-top:17px;margin-bottom:10px}.spark-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;flex:1;height:100%}.spark-bar .bar{width:100%;background:#b89fc638;border-radius:4px 4px 0 0;min-height:3px}.spark-bar.active .bar{background:#a385b2}.bar-value{position:absolute;font-size:8px;color:#9a83a5;transform:translateY(-3px)}.bar-year{font-size:8px;color:#9f8daa;margin-top:4px}.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;color:#ad9bb5;font-size:8px;line-height:1.4}.detail-bottom button{font-size:8px;color:#8e759a;min-height:25px;white-space:nowrap;padding:2px 0 2px 5px}.detail-bottom button span{font-family:Arial,sans-serif}.detail-card.pinned{box-shadow:0 15px 55px #55405d22,inset 0 0 0 1px #fff9}
.bottom-left{position:absolute;left:30px;bottom:25px;display:flex;align-items:center;gap:11px;z-index:15}.icon-button{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;color:#8f7b9c;transition:transform .2s,background .2s}.icon-button:hover{transform:translateY(-2px);background:#fff}.icon-button svg{width:20px;height:20px;stroke-width:1.3}.view-note{font-size:9px;color:#a091a3;max-width:120px;line-height:1.5;pointer-events:none}.colour-key{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:15;border-radius:18px;padding:10px 17px 11px;display:grid;grid-template-columns:1fr auto;gap:7px 13px;text-align:left;min-width:290px;transition:background .2s}.colour-key:hover{background:#fffffff2}.key-heading{display:flex;align-items:baseline;gap:7px;font-size:10px;color:#84718e;font-weight:600}.key-unit{font-size:8px;font-weight:400;color:#a28cab}.key-bands{display:flex;gap:13px;grid-column:1/-1}.key-band{display:flex;align-items:center;gap:5px;font-size:8px;color:#a18da8;white-space:nowrap}.key-band i{height:6px;width:16px;display:inline-block;border-radius:10px}.colour-key>svg{width:12px;height:12px;grid-column:2;grid-row:1;color:#ab97b1;align-self:center;transition:transform .2s}.colour-key[aria-expanded=true]>svg{transform:rotate(180deg)}.legend-panel{left:50%;bottom:96px;transform:translateX(-50%);width:315px;transform-origin:bottom center;animation:card-in .2s ease-out}.legend-panel p{font-size:11px;line-height:1.8;color:#95829e}.legend-panel #expanded-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0 0}.legend-panel #expanded-legend .key-band{font-size:10px}.zoom-controls{position:absolute;right:31px;bottom:25px;z-index:15;display:flex;border-radius:30px;padding:3px;color:#8d759a}.zoom-controls button{width:39px;height:37px;display:grid;place-items:center;border-radius:50%}.zoom-controls button:hover:not(:disabled){background:#fff}.zoom-controls button:last-child{border-left:1px solid #ae97b223;border-radius:0 20px 20px 0}.zoom-controls svg{width:17px;height:17px;stroke-width:1.3}
.load-state,.load-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:18px;padding:18px 22px;z-index:6;font-size:11px;display:flex;align-items:center;gap:10px;white-space:nowrap}.loading-dot{height:6px;width:6px;border-radius:50%;background:#a28aaf;animation:breathe 1s infinite alternate}.load-error{flex-direction:column;gap:8px;white-space:normal;min-width:230px}.load-error p{font-size:14px}.load-error button{font-size:11px;color:var(--plum);min-height:35px;padding:8px 12px;background:#fff8;border-radius:12px}
dialog{max-width:660px;width:calc(100% - 40px);max-height:83dvh;border:1px solid #fff;border-radius:25px;padding:27px 31px;background:#fbf8f2f5;color:var(--ink);box-shadow:0 30px 100px #38253e24;overscroll-behavior:contain}dialog::backdrop{background:#33203c24;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.eyebrow{font-size:9px;letter-spacing:.13em;color:#a08aa9;font-weight:600}dialog h2{font-size:28px;letter-spacing:-.045em;line-height:1.3;font-weight:500;margin:14px 0 11px}.dialog-lead,#compare-desc{font-size:12px;line-height:1.8;color:#948399}.dialog-close{font-family:Arial,sans-serif;min-width:34px;height:34px;border-radius:50%;font-size:24px;font-weight:400;color:#9984a2;background:#dfd2e42b}.source-record{display:flex;gap:17px;border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.source-number{font-size:18px;color:#b39fbb;flex:none}.source-record h3{font-size:13px;font-weight:600;margin-bottom:8px}.source-record p{font-size:11px;line-height:1.85;color:#928099;margin:8px 0}.source-record a{font-size:10px;margin-right:12px;line-height:2}.source-record .attribution{font-size:9px}.dialog-end,.dialog-note{font-size:10px;color:#aa96b2;line-height:1.75;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.table-scroll{margin-top:20px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;white-space:nowrap}th{font-size:9px;color:#9e8aa7;font-weight:500;padding:8px 9px;border-bottom:1px solid var(--line)}th button{font-size:9px;min-height:33px;padding:0;color:#8e729d}td{padding:14px 9px;border-bottom:1px solid #a68cad19}td button{min-height:30px;padding:0;font-size:11px;text-align:left;display:flex;align-items:center;gap:7px}td button:before{content:'';width:6px;height:6px;background:var(--row-colour);border-radius:50%}.current td{background:#e6d9ed40}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes panel-in{from{opacity:0;translate:0 -6px;scale:.98}to{opacity:1;translate:0 0;scale:1}}@keyframes card-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes breathe{from{opacity:.3}to{opacity:1}}
@media(min-width:1600px){.map-stage{inset:58px 28px 64px}.signature{left:45px;top:38px}.floating-tools{right:44px;top:32px}.interaction-hint{left:45px;top:90px}}
@media(max-width:1050px){.signature{left:24px;top:26px;gap:12px}.signature h1{font-size:11px}.signature img{width:106px;height:27px}.floating-tools{right:24px;top:20px}.interaction-hint{left:25px;top:77px}.bottom-left{left:23px}.view-note{font-size:8px;max-width:90px}.zoom-controls{right:23px}.colour-key{min-width:275px;gap:6px 9px}.key-bands{gap:11px}}
@media(max-width:680px){.signature{left:19px;top:24px;gap:10px}.signature img{width:95px;height:24px}.signature>span,.signature h1{display:none}.floating-tools{right:17px;top:16px;gap:7px}.tool-pill{min-height:41px;padding:10px 13px;font-size:10px;gap:7px}.tool-pill svg{width:15px;height:15px}.interaction-hint{top:79px;left:20px;font-size:10px}.map-stage{inset:100px 0 130px}.search-panel,.settings-panel{right:17px;top:67px;width:min(324px,calc(100vw - 34px));max-height:calc(100dvh - 160px)}.search-results{max-height:285px}.search-results button{min-height:46px}.floating-panel{padding:15px 17px}.panel-topline h2{font-size:13px}.close-button{width:34px;height:34px;min-width:34px}.detail-card{width:278px;padding:15px 18px 12px;max-height:calc(100dvh - 160px)}.detail-card h2{font-size:25px}.rate-row>strong{font-size:43px}.rate-row>div{font-size:9px}.detail-stats span{font-size:9px}.detail-stats strong{font-size:23px}.detail-kicker{font-size:8px}.detail-kicker .close-button{width:32px;height:32px;min-width:32px}.region-subtitle{font-size:10px}.detail-bottom{font-size:8px}.detail-bottom button{min-height:30px}#coverage-details summary{min-height:39px;font-size:10px}#coverage-details p{font-size:11px}.bottom-left{left:18px;bottom:calc(24px + env(safe-area-inset-bottom));gap:0}.icon-button{width:39px;height:39px}.view-note{display:none}.zoom-controls{right:18px;bottom:calc(24px + env(safe-area-inset-bottom));padding:2px}.zoom-controls button{width:37px;height:35px}.colour-key{bottom:calc(24px + env(safe-area-inset-bottom));left:66px;transform:none;min-width:0;width:calc(100vw - 210px);height:39px;padding:6px 9px;border-radius:14px;gap:3px 2px}.key-heading{font-size:8px;gap:5px;white-space:nowrap}.key-unit{font-size:7px}.key-bands{gap:3px;grid-column:1/-1}.key-band{flex:1;gap:0}.colour-key .key-band i{height:4px;width:100%}.colour-key .key-band>span{display:none}.colour-key>svg{width:9px;height:9px}.legend-panel{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 34px);max-width:350px;padding:18px}.legend-panel #expanded-legend{gap:14px}.legend-panel #expanded-legend .key-band{gap:7px}.legend-panel #expanded-legend .key-band i{width:21px;flex:none}.legend-panel p{font-size:12px}.legend-panel h2{font-size:14px}dialog{padding:22px 21px;width:calc(100% - 24px);max-height:86dvh}dialog h2{font-size:25px}.source-record{gap:12px}.source-record p{font-size:11px}.source-record a{font-size:10px}.dialog-top .eyebrow{font-size:8px}td,th{padding-left:6px;padding-right:6px}td button{font-size:10px}.table-scroll{margin-top:12px}.dialog-note{font-size:9px}}
@media(max-width:380px){.signature{left:14px}.signature img{width:83px}.floating-tools{right:13px;gap:5px}.tool-pill{padding:10px 11px;font-size:9px}.interaction-hint{left:16px;font-size:9px}.bottom-left{left:13px}.zoom-controls{right:13px}.zoom-controls button{width:34px}.colour-key{left:59px;width:calc(100vw - 185px)}.key-unit{display:none}.detail-card{width:267px}}
@media(max-height:530px) and (min-width:681px){.map-stage{inset:40px 0 45px}.signature{top:19px}.floating-tools{top:11px}.interaction-hint{display:none}.detail-card{max-height:calc(100dvh - 100px)}.bottom-left,.zoom-controls{bottom:13px}.colour-key{bottom:10px}.search-panel,.settings-panel{top:65px;max-height:calc(100dvh - 125px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.search-input-wrap input,.settings-panel select{font-size:16px}.source-record p{font-size:12px}.source-record a{font-size:11px}.region-subtitle{color:#7d6987}.detail-stats span{color:#81698c}.detail-bottom{color:#887294}}
