/* ===========================================================================
   Theme — Report 2026-54, "The Clean Cooking Transition"

   Aesthetic: burner rings. The masthead is a data-generated gas-burner seen
   from above on a soot-dark hob: one ring for every year from 1990 (centre)
   to 2023 (outer edge), each ring divided into arcs by the global share of
   people cooking mainly with gas (blue flame), electricity (teal), kerosene
   (ochre), coal (slate), charcoal (soot) and wood and other biomass (brown),
   read clockwise from twelve o'clock — so the blue flame spreads ring by ring
   as the world's kitchens change. A crown of 48 flame tips around the outer
   ring lights up for the 69% of people in low- and middle-income countries
   who cooked with gas or electricity in 2023. Below it the page is warm
   enamel with a faint kitchen-tile grid; every h2 opens with a burner glyph.
   Domine for display, Nunito for prose, Saira Condensed for figures.

   Loaded after report.css; report.js reads these tokens for chart colours,
   and charts.js reads the --f, --k, --t, --g and --r tokens so no hex lives
   in the script.
   =========================================================================== */

:root {
  --bg: #f7f1e8;
  --bg-card: #fffbf5;
  --bg-accent: #efe5d6;
  --bg-dark: #1f1915;
  --bg-dark-2: #15100d;

  --text: #221a15;
  --text-secondary: #46392f;
  --text-muted: #7a6b5e;
  --text-inverse: #f3e6d0;

  --primary: #2b1e17;
  --primary-light: #2f63b8;
  --accent: #c4502a;
  --accent-light: #f0a35b;

  --border: #e2d5c2;
  --border-light: #efe5d7;
  --rule: #cdbba3;

  /* fuels */
  --f-bio: #8a5a33;
  --f-char: #3f3832;
  --f-coal: #6b7480;
  --f-ker: #d0922b;
  --f-gas: #2f6fd8;
  --f-elec: #17a596;
  /* clean vs polluting, health */
  --k-clean: #2f6fd8;
  --k-dirty: #8a5a33;
  --k-death: #b0302a;
  /* trajectory classes */
  --t-near: #9aa3ad;
  --t-fast: #17a596;
  --t-steady: #2f6fd8;
  --t-slow: #d0922b;
  --t-stall: #b0302a;
  /* income groups */
  --g-lic: #8a2a1f;
  --g-lmc: #c4502a;
  --g-umc: #e3a04a;
  --g-hic: #2f6fd8;
  /* regions */
  --r-ssf: #c4502a;
  --r-sas: #e3a04a;
  --r-eas: #2f6fd8;
  --r-mna: #8a6d3b;
  --r-lcn: #17a596;
  --r-ecs: #7b4fa0;
  --r-nac: #9aa3ad;
  /* map */
  --map-sea: #efe8dc;
  --map-none: #ddd3c4;

  --chart-blue: #2f6fd8;
  --chart-blue-light: #a9c4ee;
  --chart-gold: #e3a04a;
  --chart-red: #b0302a;
  --chart-teal: #17a596;
  --chart-gray: #9aa3ad;
  --chart-orange: #d0922b;
  --chart-purple: #7b4fa0;

  --serif: "Domine", Georgia, "Times New Roman", serif;
  --sans: "Nunito", -apple-system, BlinkMacSystemFont, "system-ui", "Segoe UI", sans-serif;
  --mono: "Saira Condensed", "Arial Narrow", ui-sans-serif, sans-serif;

  --sheet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='440' viewBox='0 0 900 440'%3E%3Cpath d='M650.5 182.0A38.0 38.0 0 0 1 688.0 220.3' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M688.0 221.2A38.0 38.0 0 0 1 687.7 224.9' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M687.5 225.8A38.0 38.0 0 0 1 681.7 241.0' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M681.2 241.7A38.0 38.0 0 0 1 647.4 257.9' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M646.5 257.8A38.0 38.0 0 0 1 641.0 256.9' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M640.2 256.7A38.0 38.0 0 0 1 649.5 182.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.5 177.4A42.6 42.6 0 0 1 692.5 222.2' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M692.5 223.2A42.6 42.6 0 0 1 692.0 227.4' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M691.8 228.4A42.6 42.6 0 0 1 684.4 245.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M683.8 245.9A42.6 42.6 0 0 1 646.7 262.5' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M645.6 262.4A42.6 42.6 0 0 1 639.8 261.4' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M638.8 261.1A42.6 42.6 0 0 1 649.5 177.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.6 172.8A47.2 47.2 0 0 1 697.0 224.7' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M696.8 225.8A47.2 47.2 0 0 1 696.0 230.4' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M695.8 231.5A47.2 47.2 0 0 1 686.9 249.4' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M686.2 250.3A47.2 47.2 0 0 1 646.5 267.1' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M645.4 267.0A47.2 47.2 0 0 1 639.0 265.9' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M637.9 265.6A47.2 47.2 0 0 1 649.4 172.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.6 168.2A51.8 51.8 0 0 1 701.2 227.7' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M701.0 229.0A51.8 51.8 0 0 1 699.9 234.0' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M699.5 235.2A51.8 51.8 0 0 1 688.9 254.2' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M688.1 255.1A51.8 51.8 0 0 1 645.5 271.6' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M644.3 271.5A51.8 51.8 0 0 1 637.5 270.3' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M636.3 269.9A51.8 51.8 0 0 1 649.4 168.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.7 163.6A56.4 56.4 0 0 1 705.2 231.4' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M705.0 232.7A56.4 56.4 0 0 1 703.4 238.1' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M703.0 239.4A56.4 56.4 0 0 1 690.7 259.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M689.7 260.0A56.4 56.4 0 0 1 645.2 276.2' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M643.8 276.1A56.4 56.4 0 0 1 636.6 274.8' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M635.3 274.5A56.4 56.4 0 0 1 649.3 163.6' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.7 159.0A61.0 61.0 0 0 1 708.9 235.8' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M708.5 237.2A61.0 61.0 0 0 1 706.5 243.0' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M705.9 244.3A61.0 61.0 0 0 1 691.7 264.5' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M690.6 265.5A61.0 61.0 0 0 1 644.4 280.7' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.9 280.6A61.0 61.0 0 0 1 635.3 279.2' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M633.9 278.8A61.0 61.0 0 0 1 649.3 159.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.8 154.4A65.6 65.6 0 0 1 712.5 240.1' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M712.0 241.6A65.6 65.6 0 0 1 709.4 247.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M708.7 249.2A65.6 65.6 0 0 1 692.7 269.8' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M691.5 270.8A65.6 65.6 0 0 1 644.2 285.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.6 285.2A65.6 65.6 0 0 1 634.4 283.7' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M632.9 283.3A65.6 65.6 0 0 1 649.2 154.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.8 149.8A70.2 70.2 0 0 1 715.6 245.0' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M715.0 246.6A70.2 70.2 0 0 1 711.8 253.2' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M711.0 254.7A70.2 70.2 0 0 1 693.5 275.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M692.2 276.1A70.2 70.2 0 0 1 643.8 289.9' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.1 289.8A70.2 70.2 0 0 1 633.5 288.2' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M631.8 287.8A70.2 70.2 0 0 1 649.2 149.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M650.9 145.2A74.8 74.8 0 0 1 718.5 250.1' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M717.7 251.8A74.8 74.8 0 0 1 714.0 258.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M713.0 260.3A74.8 74.8 0 0 1 694.5 280.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M693.0 281.2A74.8 74.8 0 0 1 644.5 294.6' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.8 294.4A74.8 74.8 0 0 1 633.5 293.0' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M631.8 292.5A74.8 74.8 0 0 1 649.1 145.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.0 140.6A79.4 79.4 0 0 1 720.7 256.1' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M719.8 257.8A79.4 79.4 0 0 1 715.2 265.3' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M714.1 266.8A79.4 79.4 0 0 1 694.4 285.9' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M692.8 286.9A79.4 79.4 0 0 1 644.8 299.2' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.9 299.1A79.4 79.4 0 0 1 633.1 297.6' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M631.2 297.1A79.4 79.4 0 0 1 649.0 140.6' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.0 136.0A84.0 84.0 0 0 1 722.8 262.0' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M721.7 263.7A84.0 84.0 0 0 1 716.3 271.6' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M715.0 273.2A84.0 84.0 0 0 1 694.2 291.4' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M692.5 292.5A84.0 84.0 0 0 1 644.0 303.8' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.0 303.6A84.0 84.0 0 0 1 631.6 302.0' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M629.6 301.5A84.0 84.0 0 0 1 649.0 136.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.1 131.4A88.6 88.6 0 0 1 724.0 268.7' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M722.8 270.5A88.6 88.6 0 0 1 716.2 278.9' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M714.8 280.5A88.6 88.6 0 0 1 693.7 297.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M691.8 298.1A88.6 88.6 0 0 1 645.4 308.5' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M643.2 308.3A88.6 88.6 0 0 1 632.1 306.8' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M630.1 306.3A88.6 88.6 0 0 1 648.9 131.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.1 126.8A93.2 93.2 0 0 1 725.0 275.3' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M723.7 277.1A93.2 93.2 0 0 1 715.7 286.1' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M714.1 287.7A93.2 93.2 0 0 1 692.2 303.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M690.2 304.1A93.2 93.2 0 0 1 644.5 313.0' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.3 312.9A93.2 93.2 0 0 1 630.5 311.1' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M628.3 310.6A93.2 93.2 0 0 1 648.9 126.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.2 122.2A97.8 97.8 0 0 1 725.5 282.2' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M724.0 284.0A97.8 97.8 0 0 1 714.3 293.7' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M712.5 295.2A97.8 97.8 0 0 1 690.3 309.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M688.1 310.1A97.8 97.8 0 0 1 645.1 317.7' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.8 317.5A97.8 97.8 0 0 1 630.1 315.8' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M627.8 315.3A97.8 97.8 0 0 1 648.8 122.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.2 117.6A102.4 102.4 0 0 1 726.0 288.6' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M724.3 290.4A102.4 102.4 0 0 1 712.7 300.9' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M710.8 302.4A102.4 102.4 0 0 1 688.6 314.8' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M686.3 315.7A102.4 102.4 0 0 1 645.3 322.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M642.8 322.1A102.4 102.4 0 0 1 629.3 320.3' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M626.9 319.8A102.4 102.4 0 0 1 648.8 117.6' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.3 113.0A107.0 107.0 0 0 1 725.5 295.9' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M723.6 297.7A107.0 107.0 0 0 1 709.7 308.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M707.5 310.2A107.0 107.0 0 0 1 685.4 321.0' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M683.0 321.8A107.0 107.0 0 0 1 644.3 326.8' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M641.7 326.7A107.0 107.0 0 0 1 627.2 324.5' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M624.7 324.0A107.0 107.0 0 0 1 648.7 113.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.3 108.4A111.6 111.6 0 0 1 724.3 303.2' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M722.3 305.0A111.6 111.6 0 0 1 705.5 316.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M703.1 318.1A111.6 111.6 0 0 1 681.6 327.0' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M679.0 327.8A111.6 111.6 0 0 1 643.9 331.4' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M641.2 331.3A111.6 111.6 0 0 1 625.7 328.9' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M623.1 328.3A111.6 111.6 0 0 1 648.7 108.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.4 103.8A116.2 116.2 0 0 1 722.8 310.6' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M720.6 312.3A116.2 116.2 0 0 1 700.1 324.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M697.6 326.0A116.2 116.2 0 0 1 676.6 333.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M673.9 333.7A116.2 116.2 0 0 1 641.9 335.9' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M639.1 335.7A116.2 116.2 0 0 1 622.6 332.9' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M619.9 332.2A116.2 116.2 0 0 1 648.6 103.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.4 99.2A120.8 120.8 0 0 1 720.7 317.9' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M718.4 319.6A120.8 120.8 0 0 1 693.7 332.6' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M691.0 333.6A120.8 120.8 0 0 1 671.0 339.0' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M668.2 339.4A120.8 120.8 0 0 1 639.2 340.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M636.3 340.0A120.8 120.8 0 0 1 618.8 336.7' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M616.0 335.9A120.8 120.8 0 0 1 648.6 99.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.5 94.6A125.4 125.4 0 0 1 717.1 326.0' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M714.5 327.5A125.4 125.4 0 0 1 685.0 340.4' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M682.1 341.2A125.4 125.4 0 0 1 663.1 344.7' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M660.1 345.0A125.4 125.4 0 0 1 633.9 344.4' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M631.0 343.9A125.4 125.4 0 0 1 612.3 339.6' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M609.5 338.7A125.4 125.4 0 0 1 648.5 94.6' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.6 90.0A130.0 130.0 0 0 1 713.0 333.7' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M710.3 335.2A130.0 130.0 0 0 1 675.3 347.5' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M672.2 348.1A130.0 130.0 0 0 1 654.1 349.9' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M651.0 350.0A130.0 130.0 0 0 1 627.6 348.1' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M624.6 347.5A130.0 130.0 0 0 1 605.0 342.0' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M602.1 340.8A130.0 130.0 0 0 1 648.4 90.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.6 85.4A134.6 134.6 0 0 1 707.8 341.5' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M704.9 342.9A134.6 134.6 0 0 1 664.2 353.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M661.0 354.1A134.6 134.6 0 0 1 644.4 354.5' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M641.2 354.3A134.6 134.6 0 0 1 620.5 351.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M617.4 350.6A134.6 134.6 0 0 1 596.9 343.7' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M594.0 342.4A134.6 134.6 0 0 1 648.4 85.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.7 80.8A139.2 139.2 0 0 1 700.1 349.9' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M696.9 351.0A139.2 139.2 0 0 1 649.6 359.2' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M646.2 359.1A139.2 139.2 0 0 1 630.7 357.9' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M627.4 357.4A139.2 139.2 0 0 1 609.9 353.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M606.7 352.3A139.2 139.2 0 0 1 585.6 343.4' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M582.7 341.8A139.2 139.2 0 0 1 648.3 80.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.7 76.2A143.8 143.8 0 0 1 689.3 358.3' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M685.9 359.2A143.8 143.8 0 0 1 632.2 362.7' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M628.7 362.2A143.8 143.8 0 0 1 614.5 359.4' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M611.2 358.5A143.8 143.8 0 0 1 596.2 353.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M593.0 352.0A143.8 143.8 0 0 1 571.7 340.6' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M568.8 338.7A143.8 143.8 0 0 1 648.3 76.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.8 71.6A148.4 148.4 0 0 1 680.7 365.2' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M677.2 365.9A148.4 148.4 0 0 1 617.5 364.8' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M614.0 364.0A148.4 148.4 0 0 1 601.1 360.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M597.7 358.9A148.4 148.4 0 0 1 585.1 353.5' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M581.9 351.9A148.4 148.4 0 0 1 560.3 338.2' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M557.5 336.0A148.4 148.4 0 0 1 648.2 71.6' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.8 67.0A153.0 153.0 0 0 1 667.2 372.0' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M663.6 372.4A153.0 153.0 0 0 1 598.8 364.2' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M595.3 362.9A153.0 153.0 0 0 1 583.7 357.9' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M580.4 356.2A153.0 153.0 0 0 1 569.5 350.1' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M566.4 348.2A153.0 153.0 0 0 1 545.2 331.5' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M542.6 329.0A153.0 153.0 0 0 1 648.2 67.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.9 62.4A157.6 157.6 0 0 1 653.9 377.6' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M650.1 377.6A157.6 157.6 0 0 1 580.7 361.6' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M577.3 359.8A157.6 157.6 0 0 1 567.2 354.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M564.0 352.1A157.6 157.6 0 0 1 554.9 345.7' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M551.9 343.3A157.6 157.6 0 0 1 531.3 323.7' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M528.9 320.9A157.6 157.6 0 0 1 648.1 62.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M651.9 57.8A162.2 162.2 0 1 1 637.7 381.7' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M633.9 381.4A162.2 162.2 0 0 1 562.5 356.6' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M559.3 354.5A162.2 162.2 0 0 1 550.7 348.2' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M547.6 345.8A162.2 162.2 0 0 1 540.4 339.5' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M537.5 336.9A162.2 162.2 0 0 1 517.9 314.1' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M515.7 310.9A162.2 162.2 0 0 1 648.1 57.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M652.0 53.2A166.8 166.8 0 1 1 620.0 384.1' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M616.1 383.3A166.8 166.8 0 0 1 543.7 348.5' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M540.6 345.9A166.8 166.8 0 0 1 533.6 339.5' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M530.8 336.6A166.8 166.8 0 0 1 524.9 330.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M522.3 327.3A166.8 166.8 0 0 1 504.4 301.3' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M502.5 297.8A166.8 166.8 0 0 1 648.0 53.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M652.1 48.6A171.4 171.4 0 1 1 604.4 385.2' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M600.5 384.1A171.4 171.4 0 0 1 528.3 340.7' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M525.5 337.8A171.4 171.4 0 0 1 519.8 331.5' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M517.2 328.3A171.4 171.4 0 0 1 512.4 322.1' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M509.9 318.8A171.4 171.4 0 0 1 493.5 289.8' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M491.8 286.1A171.4 171.4 0 0 1 647.9 48.6' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M652.1 44.0A176.0 176.0 0 1 1 586.2 384.0' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M582.3 382.5A176.0 176.0 0 0 1 512.1 329.4' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M509.5 326.0A176.0 176.0 0 0 1 505.3 320.1' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M502.9 316.6A176.0 176.0 0 0 1 499.0 310.4' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M496.9 306.7A176.0 176.0 0 0 1 482.7 274.6' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M481.4 270.5A176.0 176.0 0 0 1 647.9 44.0' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M652.2 39.4A180.6 180.6 0 1 1 569.7 381.8' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M565.8 379.8A180.6 180.6 0 0 1 498.6 318.5' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M496.3 314.8A180.6 180.6 0 0 1 493.0 309.3' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M490.9 305.5A180.6 180.6 0 0 1 487.8 299.4' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M485.9 295.5A180.6 180.6 0 0 1 474.0 260.5' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M473.1 256.3A180.6 180.6 0 0 1 647.8 39.4' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M652.2 34.8A185.2 185.2 0 1 1 553.4 378.0' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M549.6 375.7A185.2 185.2 0 0 1 486.4 306.9' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M484.4 302.9A185.2 185.2 0 0 1 482.0 298.0' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M480.2 293.9A185.2 185.2 0 0 1 477.7 288.0' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M476.2 283.9A185.2 185.2 0 0 1 466.6 246.1' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M466.1 241.7A185.2 185.2 0 0 1 647.8 34.8' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cpath d='M652.3 30.2A189.8 189.8 0 1 1 539.3 374.2' fill='none' stroke='%233d7be0' stroke-width='3.4'/%3E%3Cpath d='M535.7 371.5A189.8 189.8 0 0 1 476.3 296.4' fill='none' stroke='%232cc4b5' stroke-width='3.4'/%3E%3Cpath d='M474.5 292.2A189.8 189.8 0 0 1 472.6 287.4' fill='none' stroke='%23d79a35' stroke-width='3.4'/%3E%3Cpath d='M471.0 283.1A189.8 189.8 0 0 1 469.1 277.3' fill='none' stroke='%236f7882' stroke-width='3.4'/%3E%3Cpath d='M467.7 273.0A189.8 189.8 0 0 1 460.6 232.6' fill='none' stroke='%234a413b' stroke-width='3.4'/%3E%3Cpath d='M460.4 228.0A189.8 189.8 0 0 1 647.7 30.2' fill='none' stroke='%239a6a3f' stroke-width='3.4'/%3E%3Cline x1='663.0' y1='22.0' x2='663.8' y2='9.1' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='688.7' y1='25.4' x2='691.2' y2='12.7' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='713.8' y1='32.1' x2='718.0' y2='19.8' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='737.8' y1='42.1' x2='743.5' y2='30.4' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='760.2' y1='55.0' x2='767.4' y2='44.2' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='780.8' y1='70.8' x2='789.4' y2='61.1' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='799.2' y1='89.2' x2='808.9' y2='80.6' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='815.0' y1='109.8' x2='825.8' y2='102.6' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='827.9' y1='132.2' x2='839.6' y2='126.5' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='837.9' y1='156.2' x2='850.2' y2='152.0' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='844.6' y1='181.3' x2='857.3' y2='178.8' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='848.0' y1='207.0' x2='860.9' y2='206.2' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='848.0' y1='233.0' x2='860.9' y2='233.8' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='844.6' y1='258.7' x2='857.3' y2='261.2' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='837.9' y1='283.8' x2='850.2' y2='288.0' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='827.9' y1='307.8' x2='839.6' y2='313.5' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='815.0' y1='330.2' x2='825.8' y2='337.4' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='799.2' y1='350.8' x2='808.9' y2='359.4' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='780.8' y1='369.2' x2='789.4' y2='378.9' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='760.2' y1='385.0' x2='767.4' y2='395.8' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='737.8' y1='397.9' x2='743.5' y2='409.6' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='713.8' y1='407.9' x2='718.0' y2='420.2' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='688.7' y1='414.6' x2='691.2' y2='427.3' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='663.0' y1='418.0' x2='663.8' y2='430.9' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='637.0' y1='418.0' x2='636.2' y2='430.9' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='611.3' y1='414.6' x2='608.8' y2='427.3' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='586.2' y1='407.9' x2='582.0' y2='420.2' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='562.2' y1='397.9' x2='556.5' y2='409.6' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='539.8' y1='385.0' x2='532.6' y2='395.8' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='519.2' y1='369.2' x2='510.6' y2='378.9' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='500.8' y1='350.8' x2='491.1' y2='359.4' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='485.0' y1='330.2' x2='474.2' y2='337.4' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='472.1' y1='307.8' x2='460.4' y2='313.5' stroke='%237fb2ff' stroke-opacity='0.9' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='462.1' y1='283.8' x2='457.4' y2='285.4' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='455.4' y1='258.7' x2='450.5' y2='259.7' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='452.0' y1='233.0' x2='447.0' y2='233.3' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='452.0' y1='207.0' x2='447.0' y2='206.7' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='455.4' y1='181.3' x2='450.5' y2='180.3' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='462.1' y1='156.2' x2='457.4' y2='154.6' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='472.1' y1='132.2' x2='467.6' y2='130.0' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='485.0' y1='109.8' x2='480.9' y2='107.0' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='500.8' y1='89.2' x2='497.1' y2='85.9' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='519.2' y1='70.8' x2='515.9' y2='67.1' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='539.8' y1='55.0' x2='537.0' y2='50.9' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='562.2' y1='42.1' x2='560.0' y2='37.6' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='586.2' y1='32.1' x2='584.6' y2='27.4' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='611.3' y1='25.4' x2='610.3' y2='20.5' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='637.0' y1='22.0' x2='636.7' y2='17.0' stroke='%23e0c9a6' stroke-opacity='0.25' stroke-width='1.4' stroke-linecap='round'/%3E%3Ctext x='650' y='224' font-family='sans-serif' font-size='10' fill='%23f3e6d0' fill-opacity='0.75' text-anchor='middle'%3E1990%3C/text%3E%3C/svg%3E");
  --ramp: linear-gradient(90deg, var(--f-bio), var(--f-char), var(--f-ker), var(--f-gas), var(--f-elec));
  --glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10.2' fill='%232b1e17'/%3E%3Ccircle cx='12' cy='12' r='6.6' fill='none' stroke='%232f6fd8' stroke-width='2.2' stroke-dasharray='3.2 1.9'/%3E%3Ccircle cx='12' cy='12' r='2.6' fill='%23f0a35b'/%3E%3C/svg%3E");

  --max-width: 1200px;
}

body { font-size: 1.04rem; line-height: 1.66; background-image: linear-gradient(90deg, rgba(122, 107, 94, 0.07) 1px, transparent 1px), linear-gradient(180deg, rgba(122, 107, 94, 0.07) 1px, transparent 1px); background-size: 56px 56px; }

::selection { background: rgba(47, 111, 216, 0.2); }
:where(a, button, [tabindex], input, select):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

a { color: var(--primary-light); }
a:hover { color: var(--accent); }

.progress__bar { background: var(--ramp); }
.skip-link { background: var(--primary); }

/* --- masthead: burner rings ---------------------------------------------------------- */

.masthead {
  position: relative;
  color: var(--text-inverse);
  border-bottom: 0;
  padding: 3.3rem var(--gutter) 4.2rem;
  background:
    linear-gradient(90deg, rgba(21, 16, 13, 0.97) 0 36%, rgba(21, 16, 13, 0.6) 55%, rgba(21, 16, 13, 0.02) 78%),
    var(--sheet) right 4% center / auto 112% no-repeat,
    radial-gradient(circle at 74% 50%, rgba(240, 163, 91, 0.16), transparent 42%),
    linear-gradient(180deg, #241c17, #15100d);
}
.masthead::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--ramp); }
.masthead .overline { font-family: var(--mono); font-weight: 600; font-size: 0.86rem; letter-spacing: 0.1em; color: var(--accent-light); margin-bottom: 1rem; }
.masthead .overline::before { content: "◎ ONE RING PER YEAR · 1990 → 2023 · BLUE = GAS · TEAL = ELECTRIC · BROWN = WOOD · "; color: #9cc0ff; }
.masthead h1 { font-family: var(--serif); font-weight: 700; font-size: clamp(2.0rem, 4.5vw, 3.35rem); line-height: 1.1; letter-spacing: -0.015em; max-width: 21ch; color: #fff; }
.masthead .subtitle { font-family: var(--sans); font-weight: 600; font-size: 1.18rem; color: #e6d6bd; max-width: 54ch; }
.masthead .strapline { font-family: var(--sans); font-style: normal; font-size: 1.03rem; color: #f6ecdc; border-left: 4px solid var(--f-gas); max-width: 64ch; background: rgba(21, 16, 13, 0.82); }
.masthead .meta-row { border-top: 1px solid rgba(255, 255, 255, 0.16); color: #bfae98; font-family: var(--mono); font-size: 0.9rem; position: relative; }
.masthead .meta-row strong { color: var(--accent-light); font-family: var(--mono); font-weight: 600; font-size: 0.76rem; letter-spacing: 0.1em; }

/* --- nav --------------------------------------------------------------------- */

.sticky-nav { background: rgba(247, 241, 232, 0.96); border-bottom: 1px solid var(--border); }
.nav-inner a { color: var(--text-muted); font-family: var(--mono); font-size: 0.84rem; }
.nav-inner a:hover { color: var(--text); }
.nav-inner a.is-active { color: var(--primary); border-bottom-color: var(--accent); }

/* --- headings with a burner glyph ------------------------------------------------ */

section > h2 {
  position: relative;
  font-family: var(--serif);
  font-weight: 700;
  font-size: clamp(1.75rem, 3.7vw, 2.4rem);
  letter-spacing: -0.012em;
  line-height: 1.1;
  color: var(--primary);
  border-bottom: 1px solid var(--rule);
  padding: 0 0 0.55rem 2.3rem;
}
section > h2::before {
  content: "";
  position: absolute; left: 0.05rem; top: 0.2em;
  width: 1.5rem; height: 1.5rem;
  background: var(--glyph) center / contain no-repeat;
}
.abstract h2, .endmatter h2 { padding-left: 0; border-bottom: 0; font-family: var(--mono); font-size: 0.86rem; }
.abstract h2::before, .endmatter h2::before { content: none; }
section > .section-dek { font-family: var(--sans); font-style: normal; font-weight: 600; color: var(--text-muted); font-size: 1.15rem; line-height: 1.45; max-width: none; }

.section-rule { border-top: 1px solid var(--border-light); margin: 2.6rem 0 2.8rem; }

/* --- abstract, endmatter ------------------------------------------------------------- */

.abstract { background: var(--bg-card); border: 1px solid var(--border); border-top: 6px solid transparent; border-image: var(--ramp) 1; border-radius: 0; }
.abstract h2 { color: var(--primary); letter-spacing: 0.12em; }
.endmatter .kw { background: var(--bg-accent); border-color: var(--border); font-family: var(--mono); font-size: 0.72rem; }
.endmatter dt { font-family: var(--mono); font-size: 0.72rem; }

/* --- KPI board ------------------------------------------------------------------------- */

.kpi-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 1.6rem 0; }
.kpi { position: relative; background: var(--bg-card); border: 1px solid var(--border); border-radius: 2px; padding: 1.15rem 1.05rem 0.85rem; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.kpi::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--k, var(--accent)); }

.kpi--clean { --k: var(--k-clean); }
.kpi--dirty { --k: var(--k-dirty); }
.kpi--elec { --k: var(--f-elec); }
.kpi--death { --k: var(--k-death); }
.kpi--stall { --k: var(--t-stall); }
.kpi--money { --k: var(--f-ker); }
.kpi--char { --k: var(--f-char); }
.kpi-value { font-family: var(--serif); font-weight: 700; font-size: clamp(1.75rem, 3.1vw, 2.3rem); letter-spacing: -0.02em; line-height: 1; color: var(--text); font-variant-numeric: lining-nums tabular-nums; }
.kpi-label { font-size: 0.86rem; line-height: 1.42; color: var(--text-secondary); margin-top: 0.45rem; flex: 1; }
.kpi-source { font-family: var(--mono); font-size: 0.74rem; color: var(--text-muted); margin-top: 0.6rem; border-top: 1px solid var(--border-light); padding-top: 0.4rem; margin-bottom: 0.3rem; }

/* --- readout ----------------------------------------------------------------------------- */

.readout { background: var(--bg-dark); border-radius: 2px; padding: 1.15rem 1.4rem 0.45rem; margin: 1.6rem 0; position: relative; overflow: hidden; border-top: 6px solid transparent; border-image: var(--ramp) 1; }
.readout-title { font-family: var(--mono); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-light); margin: 0 0 0.4rem !important; }
.readout p { color: #efe3d1; text-align: justify; hyphens: auto; -webkit-hyphens: auto; position: relative; }
.readout strong { color: #fff; }

/* --- panels ------------------------------------------------------------------------------ */

.dash-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 1.2rem 0; }
.panel { background: var(--bg-card); border: 1px solid var(--border); border-radius: 2px; padding: 1.05rem 1.15rem 0.95rem; min-width: 0; }
.panel--wide { grid-column: 1 / -1; }
.panel--hero { margin: 1.2rem 0; padding: 1.15rem 1.25rem 1.05rem; border-top: 5px solid transparent; border-image: var(--ramp) 1; }
.panel-head { border-bottom: 1px solid var(--border-light); margin-bottom: 0.75rem; padding-bottom: 0.55rem; }
.panel-title { font-family: var(--serif); font-weight: 700; letter-spacing: -0.01em; font-size: 1.18rem; line-height: 1.2; color: var(--text); margin: 0 !important; }
.panel-meta { font-family: var(--mono); font-size: 0.8rem; color: var(--text-muted); margin: 0.25rem 0 0.4rem !important; }
.panel-note { font-size: 0.85rem; line-height: 1.5; color: var(--text-muted); margin: 0.6rem 0 0 !important; text-align: left !important; }
.panel canvas { max-width: 100%; }
.panel .chart-frame { height: 310px; }
.panel .chart-frame--tall { height: 440px; }
.panel .chart-frame--short { height: 240px; }

.stat-tile { background: var(--bg-card); border: 1px solid var(--border); border-radius: 2px; padding: 0.85rem 1rem; border-left: 6px solid var(--k, var(--accent)); min-width: 0; }
.stat-tile--clean { --k: var(--k-clean); }
.stat-tile--elec { --k: var(--f-elec); }
.stat-tile--dirty { --k: var(--k-dirty); }
.stat-tile--death { --k: var(--k-death); }
.stat-tile-value { font-family: var(--serif); font-weight: 700; letter-spacing: -0.02em; font-size: 1.6rem; line-height: 1.05; color: var(--text); margin: 0 !important; font-variant-numeric: lining-nums tabular-nums; }
.stat-tile-label { font-size: 0.82rem; color: var(--text-muted); margin: 0.2rem 0 0 !important; text-align: left !important; line-height: 1.4; }
.tile-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 1rem 0; }

/* --- controls ------------------------------------------------------------------------------ */

.controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px 22px; margin-bottom: 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--border-light); }
.slider { display: grid; gap: 3px; }
.slider-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.slider label, .seg-wrap .seg-label { font-family: var(--sans); font-weight: 600; font-size: 0.9rem; color: var(--text); }
.slider output { font-family: var(--mono); font-weight: 700; font-size: 0.84rem; color: var(--accent); white-space: nowrap; }
.slider .hint { font-size: 0.78rem; line-height: 1.35; color: var(--text-muted); margin: 0 !important; text-align: left !important; }
.slider input[type="range"] { width: 100%; accent-color: var(--accent); margin: 2px 0; }
.seg-wrap { display: grid; gap: 5px; }
.segmented { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--rule); border-radius: 2px; overflow: hidden; background: var(--bg-card); width: fit-content; max-width: 100%; }
.segmented button { font: inherit; font-family: var(--mono); font-size: 0.84rem; padding: 0.38rem 0.66rem; border: 0; background: transparent; color: var(--text-secondary); cursor: pointer; }
.segmented button + button { border-left: 1px solid var(--rule); }
.segmented button.is-on { background: var(--primary); color: #fff; }
.calc-note { font-family: var(--mono); font-size: 0.8rem; color: var(--text-muted); margin: 0.6rem 0 0 !important; line-height: 1.5; }
select.pick { font: inherit; font-family: var(--sans); font-size: 0.92rem; padding: 0.35rem 0.5rem; border: 1px solid var(--rule); border-radius: 2px; background: var(--bg-card); color: var(--text); max-width: 100%; }

/* --- atlas and country card ------------------------------------------------------------------- */

.atlas-layout { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.atlas-wrap { position: relative; border-radius: 2px; overflow: hidden; background: var(--map-sea); border: 1px solid var(--border); }
.atlas { display: block; width: 100%; height: auto; }

.atlas-corner { position: absolute; left: 10px; bottom: 8px; font-family: var(--mono); font-size: 0.62rem; color: var(--text-muted); background: rgba(255, 255, 255, 0.85); padding: 1px 6px; border-radius: 2px; }
.legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0.6rem 0 0; }
.legend span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 0.72rem; color: var(--text-secondary); }
.legend i { width: 14px; height: 10px; border-radius: 1px; flex: none; }
.country-card { border: 1px solid var(--border); border-radius: 2px; background: var(--bg); padding: 0.85rem 0.95rem; min-height: 300px; border-top: 6px solid var(--cc, var(--rule)); }
.country-card .cc-kicker { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin: 0 !important; }
.country-card h3 { font-family: var(--serif); font-weight: 700; font-size: 1.45rem; color: var(--primary); margin: 0.05rem 0 0.15rem; line-height: 1.1; }
.country-card .cc-class { font-family: var(--mono); font-size: 0.72rem; margin: 0 0 0.55rem !important; color: var(--text-secondary); text-align: left !important; }
.kv { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; font-size: 0.86rem; margin: 0; }
.kv dt { color: var(--text-secondary); }
.kv dd { margin: 0; font-family: var(--mono); font-size: 0.8rem; color: var(--text); text-align: right; }
.tag-row { display: flex; flex-wrap: wrap; gap: 5px; margin: 0.5rem 0 0; }
.tag-row span { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.04em; padding: 2px 6px; border-radius: 2px; background: var(--bg-accent); color: var(--text-secondary); }
.tag-row span.on { background: var(--accent); color: #fff; }

/* --- breaker cards -------------------------------------------------------------- */

.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 1.2rem 0; }
.card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 2px; padding: 0.95rem 1rem; border-top: 5px solid var(--k, var(--primary-light)); }
.card h3 { font-family: var(--serif); font-weight: 700; font-size: 1.15rem; line-height: 1.2; color: var(--primary); margin: 0 0 0.35rem; }
.card p { font-size: 0.88rem; line-height: 1.5; color: var(--text-secondary); margin: 0 !important; text-align: left !important; }
.card .tag { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 0.25rem !important; }
.card--a { --k: var(--f-gas); }
.card--b { --k: var(--f-elec); }
.card--c { --k: var(--f-ker); }
.card--d { --k: var(--f-bio); }
.card--e { --k: var(--k-death); }
.card--f { --k: var(--f-char); }

/* --- references, footer --------------------------------------------------------------------- */

.ref-list .ref-org { font-family: var(--mono); color: var(--primary-light); font-size: 0.7rem; }
.report-footer { border-top: 0; position: relative; padding-top: calc(3rem + 6px); }
.report-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--ramp); }
.footer-inner h3 { color: #fff; font-family: var(--serif); font-weight: 700; font-size: 1.45rem; }
.footer-inner a { color: var(--accent-light); }
.cite-box { border-left-color: var(--accent); }

/* --- responsive ------------------------------------------------------------------------------ */

@media (max-width: 1000px) {
  .kpi-board, .tile-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .atlas-layout { grid-template-columns: minmax(0, 1fr); }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .dash-grid, .cards { grid-template-columns: minmax(0, 1fr); }
  .masthead { padding-top: 2.2rem; background: linear-gradient(180deg, rgba(21, 16, 13, 0.9) 0 60%, rgba(21, 16, 13, 0.5)), var(--sheet) 70% 100% / auto 70% no-repeat, linear-gradient(180deg, #241c17, #15100d); }
  .segmented button { padding: 0.34rem 0.5rem; font-size: 0.7rem; }
}
@media (max-width: 420px) {
  .kpi-board, .tile-row { grid-template-columns: minmax(0, 1fr); }
}

@media print {
  .controls { display: none; }
  .masthead, .readout, .report-footer::before, .atlas-wrap, .strip { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}






/* --- report-specific: fuel ladder, explorer, simulator, atlas, table ----------------------------- */

.ladder { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0.3rem 0 0.2rem; }
.rung { border: 1px solid var(--border); border-radius: 3px; background: var(--bg-card); padding: 0.7rem 0.75rem; border-bottom: 6px solid var(--k); min-width: 0; }
.rung b { display: block; font-family: var(--mono); font-weight: 600; font-size: 1.5rem; line-height: 1; color: var(--k); }
.rung span { display: block; font-family: var(--serif); font-weight: 700; font-size: 0.98rem; color: var(--primary); margin: 0.3rem 0 0.15rem; }
.rung p { font-size: 0.82rem; line-height: 1.4; color: var(--text-secondary); margin: 0 !important; text-align: left !important; }
.rung--bio { --k: var(--f-bio); } .rung--char { --k: var(--f-char); } .rung--coal { --k: var(--f-coal); } .rung--ker { --k: var(--f-ker); } .rung--gas { --k: var(--f-gas); } .rung--elec { --k: var(--f-elec); }
.ladder-axis { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 0.8rem; color: var(--text-muted); margin: 0.35rem 0 0; }
@media (max-width: 900px) { .ladder { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) { .ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.sim-out { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0.9rem 0 0.4rem; }
.sim-out div { border: 1px solid var(--border); border-left: 5px solid var(--k, var(--f-gas)); border-radius: 2px; background: var(--bg); padding: 0.6rem 0.75rem; min-width: 0; }
.sim-out b { display: block; font-family: var(--mono); font-weight: 600; font-size: 1.45rem; line-height: 1.05; color: var(--text); }
.sim-out span { display: block; font-size: 0.8rem; line-height: 1.35; color: var(--text-muted); margin-top: 0.2rem; }
@media (max-width: 900px) { .sim-out { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ex-head { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: end; justify-content: space-between; margin-bottom: 0.6rem; }
.ex-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0.6rem 0 0; }
.ex-stats div { background: var(--bg); border: 1px solid var(--border-light); border-radius: 2px; padding: 0.45rem 0.6rem; min-width: 0; }
.ex-stats b { display: block; font-family: var(--mono); font-weight: 600; font-size: 1.2rem; color: var(--text); }
.ex-stats span { display: block; font-size: 0.76rem; color: var(--text-muted); line-height: 1.3; }
@media (max-width: 700px) { .ex-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.atlas .atlas-sea { fill: var(--map-sea); }
.atlas .atlas-land path { fill: var(--map-none); stroke: #fff; stroke-width: 0.45; stroke-linejoin: round; transition: fill 0.25s; }
.atlas [data-iso].is-in { cursor: pointer; }
.atlas [data-iso].is-in:hover { stroke: var(--text); stroke-width: 1.3; }
.atlas [data-iso].is-pick { stroke: var(--text); stroke-width: 2.2; }
.mixbar { display: flex; height: 16px; border-radius: 2px; overflow: hidden; margin: 0.3rem 0 0.1rem; background: var(--bg-accent); }
.mixbar i { display: block; height: 100%; }
.mix-lab { font-family: var(--mono); font-size: 0.8rem; color: var(--text-muted); margin: 0 0 0.5rem !important; text-align: left !important; }
.cls-chip { display: inline-block; font-family: var(--mono); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; padding: 1px 7px; border-radius: 2px; color: #fff; background: var(--k, var(--text-muted)); }
table.rank { width: 100%; border-collapse: collapse; font-size: 0.86rem; }
table.rank th, table.rank td { padding: 0.36rem 0.5rem; border-bottom: 1px solid var(--border-light); text-align: left; }
table.rank thead th { position: sticky; top: 0; background: var(--bg-card); font-family: var(--mono); font-weight: 600; font-size: 0.82rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); border-bottom: 2px solid var(--rule); }
table.rank th button { font: inherit; background: none; border: 0; color: inherit; cursor: pointer; padding: 0; text-transform: inherit; letter-spacing: inherit; }
table.rank th button[aria-sort]::after { content: " ↓"; color: var(--accent); }
table.rank td.n { font-family: var(--mono); font-size: 0.92rem; text-align: right; white-space: nowrap; }
table.rank tbody tr { cursor: pointer; }
table.rank tbody tr:hover td { background: var(--bg-accent); }
table.rank .minimix { display: inline-flex; width: 70px; height: 9px; border-radius: 1px; overflow: hidden; vertical-align: middle; background: var(--bg-accent); }
table.rank .minimix i { display: block; height: 100%; }
.rank-wrap { overflow-x: auto; max-height: 480px; overflow-y: auto; }
.explorer-top { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: end; margin-bottom: 0.7rem; }
.explorer-top input[type="search"] { font: inherit; font-size: 0.92rem; padding: 0.38rem 0.6rem; border: 1px solid var(--rule); border-radius: 2px; background: var(--bg-card); color: var(--text); min-width: 220px; }
