:root{--navy:#07394a;--navy-deep:#052d3d;--ink:#112d36;--cream:#f5f0e4;--paper:#fffefa;--line:#dfd5c6;--blue:#193c8f;--gold:#e7a70c;--muted:#647074}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Archivo,Arial,sans-serif}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:4;padding:12px;background:#fff}.dashboard{max-width:1540px;margin:0 auto;padding:28px clamp(18px,4vw,64px) 58px}.dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 23px}.eyebrow{margin:0 0 7px;font:500 10px "DM Mono",monospace;letter-spacing:.13em;text-transform:uppercase;color:#50727a}.dashboard-head h1{max-width:860px;margin:0;font-size:clamp(26px,3.1vw,45px);line-height:1.04;letter-spacing:-.055em}.data-state{padding:10px 13px;border:1px solid #d6c8af;border-radius:999px;background:#fffaf0;white-space:nowrap;font-size:11px;font-weight:800}.pulse{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(231,167,12,.16)}.report-stage{display:grid;grid-template-columns:194px minmax(350px,.87fr) minmax(350px,1.14fr);min-height:675px;overflow:hidden;border-radius:0 0 44px 44px;background:#fff;box-shadow:0 20px 45px rgba(24,48,50,.11)}.report-nav{padding:34px 22px;background:var(--navy);color:#fff}.logo-lockup{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.04em}.logo-lockup small{display:block;margin-top:2px;font-size:7px;letter-spacing:.09em;text-transform:uppercase;color:#b8d0d1}.brand-mark{width:37px;height:25px;background:linear-gradient(145deg,#f2bb14 0 48%,#df4d3b 49% 62%,#37809a 63%);clip-path:polygon(0 88%,64% 0,100% 85%)}.report-nav h2{margin:39px 0 64px;font-size:24px;line-height:1.08;letter-spacing:-.04em}.report-nav nav{display:grid;gap:16px}.report-nav a{display:grid;grid-template-columns:32px 1fr;gap:7px;align-items:center;color:#e7f0ed;text-decoration:none;font-size:12px;line-height:1.22;font-weight:600}.report-nav a span{font-size:21px;text-align:center}.report-nav a.active{margin-left:-7px;padding:13px 10px;border-radius:10px;background:#fff;color:var(--navy);font-weight:900}.report-content{padding:27px 28px 24px;background:#fff;display:flex;flex-direction:column}.intro-copy{max-width:475px;margin:0 auto}.intro-copy p{margin:0;text-align:center;font-size:16px;line-height:1.48;font-style:italic}.intro-copy strong{color:var(--blue)}.indicator-area{margin-top:29px}.section-label{margin:0 0 12px;color:#9dabe3;font-size:25px;font-weight:700;letter-spacing:-.04em}.power-kpis{display:grid;grid-template-columns:1fr 1fr;gap:13px}.power-kpi{min-height:120px;padding:19px 13px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:linear-gradient(135deg,#fff,#f2f2f2);box-shadow:7px 8px 10px rgba(0,0,0,.2)}.power-kpi strong{color:#101d6a;font-size:clamp(32px,3vw,46px);letter-spacing:-.05em}.power-kpi p{margin:7px 0 0;color:#656565;font-size:12px;line-height:1.28;font-weight:800}.power-kpi.wide{grid-column:1/3;min-height:104px;width:55%;justify-self:center}.technical-note{margin-top:auto;padding:28px 8px 0}.technical-note h2{margin:0 0 7px;color:#666;font-size:15px}.technical-note p{margin:0;color:#6a6a6a;font-size:11px;line-height:1.52;font-style:italic}.report-art{position:relative;overflow:hidden;background:#f1eadb}.sun{position:absolute;top:23%;right:19%;width:155px;aspect-ratio:1;border-radius:50%;background:#eaa06e;opacity:.85}.mountain{position:absolute;bottom:26%;width:95%;height:43%;background:#b6c0ad;clip-path:polygon(0 100%,35% 0,56% 54%,75% 7%,100% 100%)}.mountain.one{left:-18%}.mountain.two{right:-24%;height:52%;background:#92a28f}.city{position:absolute;bottom:0;width:100%;height:34%;background:#194d3c;clip-path:polygon(0 100%,0 47%,7% 47%,7% 20%,12% 20%,12% 62%,19% 62%,19% 12%,25% 12%,25% 55%,34% 55%,34% 30%,40% 30%,40% 70%,48% 70%,48% 24%,55% 24%,55% 55%,62% 55%,62% 6%,67% 6%,67% 58%,73% 58%,73% 42%,81% 42%,81% 24%,88% 24%,88% 60%,94% 60%,94% 36%,100% 36%,100% 100%)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:50px 0 16px}.section-head h2,.panel h2,.method h2{margin:0;font-size:29px;letter-spacing:-.045em}.section-head>p{color:var(--muted);font-size:12px}.data-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.panel{padding:23px;border:1px solid var(--line);background:var(--paper);border-radius:12px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.panel-head p{margin:0;color:#667276;font-size:13px}.panel input{width:240px;padding:10px 12px;border:1px solid #d8cdbb;border-radius:6px;font:inherit;font-size:12px}.city-list{margin-top:20px;border-top:1px solid #e7ddcf}.city-row{display:grid;grid-template-columns:1.3fr .9fr 1fr;gap:8px;padding:12px 0;border-bottom:1px solid #eee4d7;font-size:13px}.city-row span{color:var(--muted)}.city-row b{text-align:right}.loading{color:var(--muted);font-size:13px}.insight-panel{background:#e7eee8}.insight-panel>p:not(.eyebrow){color:#526966;font-size:14px;line-height:1.5}.insight-panel dl{margin:24px 0 0}.insight-panel dl div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #cbd8ce}.insight-panel dt{font-size:12px;color:#58706a}.insight-panel dd{margin:0;font-weight:800;text-align:right}.method{margin-top:20px;padding:30px;border-radius:12px;background:#e9dfc9}.method>p:not(.eyebrow){max-width:720px;color:#51605e;line-height:1.5}.method a{color:#113e48;font-weight:800}@media(max-width:1050px){.report-stage{grid-template-columns:170px 1fr}.report-art{display:none}}@media(max-width:700px){.dashboard{padding:22px 15px}.dashboard-head,.section-head,.panel-head{display:block}.data-state{display:inline-block;margin-top:14px}.report-stage{display:block;border-radius:0 0 26px 26px}.report-nav{padding:22px}.report-nav h2{margin:25px 0}.report-nav nav{display:flex;overflow:auto;gap:10px}.report-nav a{min-width:130px}.report-content{padding:26px 19px}.intro-copy p{font-size:14px}.section-label{font-size:22px}.data-layout{grid-template-columns:1fr}.panel input{width:100%;margin-top:14px}.city-row{grid-template-columns:1fr 1fr}.city-row b{grid-column:1/-1;text-align:left}.power-kpi{min-height:105px}.report-nav a.active{margin-left:0}}
