{"id":2803,"date":"2026-09-14T12:35:59","date_gmt":"2026-09-14T12:35:59","guid":{"rendered":"https:\/\/netzerolab-feba.bg\/?page_id=2803"},"modified":"2026-09-23T20:02:02","modified_gmt":"2026-09-23T20:02:02","slug":"report-methodology","status":"publish","type":"page","link":"https:\/\/netzerolab-feba.bg\/bg\/report-methodology\/","title":{"rendered":"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043d\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0430"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2803\" class=\"elementor elementor-2803\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3a25d0 methodology-story e-flex e-con-boxed e-con e-parent\" data-id=\"d3a25d0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-7b60905 e-con-full methodology-hero e-flex e-con e-child\" data-id=\"7b60905\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<p class=\"methodology-hero-eyebrow e-paragraph-base\" data-interaction-id=\"63a15f9\">\u041c\u0415\u0422\u041e\u0414\u041e\u041b\u041e\u0413\u0418\u042f \u041d\u0410 \u0414\u041e\u041a\u041b\u0410\u0414\u0410<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"5db55c8\" class=\"methodology-hero-title e-heading-base\">\u041a\u0430\u043a \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0431\u044a\u0434\u0435\u0449\u0435, \u043a\u043e\u0435\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043e \u0441\u044a\u0441 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442?<\/h2>\n\t\t\t\t\t<p class=\"methodology-hero-copy e-paragraph-base\" data-interaction-id=\"4d53f13\">\u041a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0438 \u043d\u0435 \u0441\u0430 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e \u0443\u0442\u0440\u0435. \u0422\u0435 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u0442 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0438 \u0431\u044a\u0434\u0435\u0449\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u0440\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0438\u044f \u0437\u0430 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u0442\u043e, \u0435\u043c\u0438\u0441\u0438\u0438\u0442\u0435 \u0438 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/p>\n\t\t\t\t\t<p class=\"methodology-scroll-hint e-paragraph-base\" data-interaction-id=\"1ae378b\">\u041f\u0420\u0415\u0412\u042a\u0420\u0422\u0415\u0422\u0415 \u041d\u0410\u0414\u041e\u041b\u0423, \u0417\u0410 \u0414\u0410 \u0420\u0410\u0417\u0413\u041b\u0415\u0414\u0410\u0422\u0415 \u2193<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ff95ba1 e-con-full methodology-story e-flex e-con e-child\" data-id=\"ff95ba1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-002026f e-con-full methodology-stage e-flex e-con e-child\" data-id=\"002026f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-207986b e-con-full methodology-scene methodology-scene-1 e-flex e-con e-child\" data-id=\"207986b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"7991f82\">01 \/ \u041f\u0420\u041e\u0413\u041d\u041e\u0417\u0410 \u2260 \u041f\u0420\u041e\u0415\u041a\u0426\u0418\u042f<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"3ca1f3d\" class=\"method-big-title method-weather e-heading-base\">\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u043d\u0438 \u043f\u043e\u043a\u0430\u0437\u0432\u0430 \u043a\u0430\u043a\u0432\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u043b\u0443\u0447\u0438 \u0443\u0442\u0440\u0435.<\/h2>\n\t\t\t\t\t<h2 data-interaction-id=\"c8ea445\" class=\"method-weather method-climate e-heading-base\">\u041a\u043b\u0438\u043c\u0430\u0442\u044a\u0442 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430 \u043a\u0430\u043a\u0432\u043e \u0431\u0438 \u043c\u043e\u0433\u043b\u043e \u0434\u0430 \u0441\u0435 \u0441\u043b\u0443\u0447\u0438 \u043f\u0440\u0435\u0437 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u0442\u0435 \u0434\u0435\u0441\u0435\u0442\u0438\u043b\u0435\u0442\u0438\u044f.<\/h2>\n\t\t\t\t\t<p class=\"method-scene-copy e-paragraph-base\" data-interaction-id=\"7be4331\">\u041a\u043e\u043b\u043a\u043e\u0442\u043e \u043f\u043e-\u0434\u0430\u043b\u0435\u0447 \u0432 \u0431\u044a\u0434\u0435\u0449\u0435\u0442\u043e \u043f\u043e\u0433\u043b\u0435\u0436\u0434\u0430\u043c\u0435, \u0442\u043e\u043b\u043a\u043e\u0432\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u044a\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0438\u044f\u0442\u0430, \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438\u0442\u0435 \u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/p>\n\t\t<div class=\"elementor-element elementor-element-16ee47e e-con-full method-time-scale e-flex e-con e-child\" data-id=\"16ee47e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-time method-time-1 e-paragraph-base\" data-interaction-id=\"3197033\">\u0423\u0422\u0420\u0415<\/p>\n\t\t\t\t\t<p class=\"method-time-1 method-time-2 e-paragraph-base\" data-interaction-id=\"2f52546\">\u0414\u0415\u0421\u0415\u0422\u0418\u041b\u0415\u0422\u0418\u042f<\/p>\n\t\t\t\t\t<p class=\"method-time-1 method-time-3 e-paragraph-base\" data-interaction-id=\"15570aa\">\u0412\u0415\u041a<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3675330 e-con-full methodology-scene methodology-scene-2 e-flex e-con e-child\" data-id=\"3675330\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"b4f91a3\">02 \/ \u041d\u0415\u0421\u0418\u0413\u0423\u0420\u041d\u041e\u0421\u0422<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"59a5a14\" class=\"method-scene-title e-heading-base\">\u0417\u0430\u0449\u043e \u0431\u044a\u0434\u0435\u0449\u0435\u0442\u043e \u0435 \u043d\u0435\u0441\u0438\u0433\u0443\u0440\u043d\u043e?<\/h2>\n\t\t<div class=\"elementor-element elementor-element-e93b492 e-con-full uncertainty-grid e-flex e-con e-child\" data-id=\"e93b492\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c5c3b1f e-con-full uncertainty-card uncertainty-card-1 e-flex e-con e-child\" data-id=\"c5c3b1f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<p class=\"uncertainty-number e-paragraph-base\" data-interaction-id=\"dc13ced\">01<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"6728c8a\" class=\"uncertainty-title e-heading-base\">\u0411\u044a\u0434\u0435\u0449\u0438 \u0432\u043b\u0438\u044f\u043d\u0438\u044f<\/h2>\n\t\t\t\t\t<p class=\"uncertainty-copy e-paragraph-base\" data-interaction-id=\"9722ba4\">\u0411\u044a\u0434\u0435\u0449\u0430\u0442\u0430 \u0447\u043e\u0432\u0435\u0448\u043a\u0430 \u0434\u0435\u0439\u043d\u043e\u0441\u0442 \u0438 \u043f\u0440\u0438\u0440\u043e\u0434\u043d\u0438\u0442\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0438 \u0441\u044a\u0441 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442.<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5d211c9 e-con-full uncertainty-card uncertainty-card-2 e-flex e-con e-child\" data-id=\"5d211c9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<p class=\"uncertainty-number e-paragraph-base\" data-interaction-id=\"a5b6881\">02<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"7fae84a\" class=\"uncertainty-title e-heading-base\">\u041a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0438 \u043c\u043e\u0434\u0435\u043b\u0438<\/h2>\n\t\t\t\t\t<p class=\"uncertainty-copy e-paragraph-base\" data-interaction-id=\"d1cf81f\">\u041f\u043e\u0437\u043d\u0430\u043d\u0438\u044f\u0442\u0430 \u043d\u0438 \u0437\u0430 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0430 \u043d\u0435\u043f\u044a\u043b\u043d\u0438 \u0438 \u043c\u043e\u0434\u0435\u043b\u0438\u0442\u0435 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u043e\u043f\u0440\u043e\u0441\u0442\u044f\u0432\u0430\u0442 \u0440\u0435\u0430\u043b\u043d\u043e\u0441\u0442\u0442\u0430.<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-346de03 e-con-full uncertainty-card uncertainty-card-3 e-flex e-con e-child\" data-id=\"346de03\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<p class=\"uncertainty-number e-paragraph-base\" data-interaction-id=\"e13653f\">03<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"94a1685\" class=\"uncertainty-title e-heading-base\">\u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0447\u0438\u0432\u043e\u0441\u0442<\/h2>\n\t\t\t\t\t<p class=\"uncertainty-copy e-paragraph-base\" data-interaction-id=\"b3d58ef\">\u041a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438\u043c\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0447\u0438\u0432\u043e\u0441\u0442, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0430 \u043e\u0442 \u0434\u044a\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0442\u043e \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0444\u043e\u0440\u0441\u0438\u0440\u0430\u043d\u0435.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c0d7688 e-con-full methodology-scene methodology-scene-3 e-flex e-con e-child\" data-id=\"c0d7688\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"454ebe6\">03 \/ POSSIBLE FUTURES<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"3218bac\" class=\"method-scene-title e-heading-base\">\u0415\u0434\u043d\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u0430. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0438 \u043f\u044a\u0442\u0438\u0449\u0430.<\/h2>\n\t\t\t\t\t<p class=\"method-scene-copy e-paragraph-base\" data-interaction-id=\"1e2e694\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u043d\u0438\u0442\u0435 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u2014 RCP \u2014 \u043e\u043f\u0438\u0441\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0437\u0430 \u0431\u044a\u0434\u0435\u0449\u0438\u0442\u0435 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u0430\u0440\u043d\u0438\u043a\u043e\u0432\u0438 \u0433\u0430\u0437\u043e\u0432\u0435 \u0438 \u0442\u044f\u0445\u043d\u043e\u0442\u043e \u0432\u044a\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432\u044a\u0440\u0445\u0443 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/p>\n\t\t\t\t<div class=\"elementor-element elementor-element-c04f893 elementor-widget elementor-widget-html\" data-id=\"c04f893\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"methodology-rcp-chart\">\n\n    <figure class=\"methodology-rcp-figure\">\n\n        <div class=\"methodology-rcp-image-wrap\">\n            <img decoding=\"async\"\n                class=\"methodology-rcp-image\"\n                src=\"https:\/\/netzerolab-feba.bg\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-17-at-22.34.31.png\"\n                alt=\"Atmospheric carbon dioxide concentrations under RCP2.6, RCP4.5, RCP6.0 and RCP8.5 scenarios\"\n            >\n        <\/div>\n\n        <figcaption class=\"methodology-rcp-caption\">\n            <span class=\"methodology-rcp-caption-title\">\n                \u0422\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 CO\u2082 \u0432 \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u0430\u0442\u0430\n            <\/span>\n\n            <span class=\"methodology-rcp-caption-copy\">\n                \u0427\u0435\u0442\u0438\u0440\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u043d\u0438 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u0438\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u0430\u0442 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u043d\u0430 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 CO\u2082 \u0432 \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u0430\u0442\u0430 \u043f\u0440\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0431\u044a\u0434\u0435\u0449\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043d\u0430 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0432\u044a\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.\n            <\/span>\n\n            <span class=\"methodology-rcp-source\">\n                \u0418\u0437\u0442\u043e\u0447\u043d\u0438\u043a: IPCC, 2014 \u0433.\n            <\/span>\n        <\/figcaption>\n\n    <\/figure>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c57bc0a e-con-full methodology-scene methodology-scene-4 e-flex e-con e-child\" data-id=\"c57bc0a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"8b66019\">04 \/ WHAT SHAPES A SCENARIO?<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"d67df51\" class=\"method-scene-title e-heading-base\">\u041a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u0442 \u0441 \u0438\u0437\u0431\u043e\u0440\u0438.<\/h2>\n\t\t<div class=\"elementor-element elementor-element-0edf91c e-con-full rcp-drivers e-flex e-con e-child\" data-id=\"0edf91c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c71c4ff e-con-full rcp-driver rcp-driver-1 e-flex e-con e-child\" data-id=\"c71c4ff\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"0dca842\">01<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"4515426\" class=\"e-heading-base\">\u041d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"0a8f22b\">\u041f\u0440\u043e\u043c\u0435\u043d\u0438 \u0432 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u043d\u043e \u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u043d\u0438\u0432\u043e<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ef8da0c e-con-full rcp-driver rcp-driver-2 e-flex e-con e-child\" data-id=\"ef8da0c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"9576131\">02<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"816b46f\" class=\"e-heading-base\">\u0418\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"7616a4d\">\u0418\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0436, \u0443\u0440\u0431\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c396a7a e-con-full rcp-driver rcp-driver-3 e-flex e-con e-child\" data-id=\"c396a7a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"3d3933f\">03<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"a4dd42a\" class=\"e-heading-base\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"68df7f7\">\u0422\u044a\u0440\u0441\u0435\u043d\u0435 \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f, \u0432\u044a\u0437\u043e\u0431\u043d\u043e\u0432\u044f\u0435\u043c\u0438 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u0446\u0438 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0438\u0437\u043a\u043e\u043f\u0430\u0435\u043c\u0438 \u0433\u043e\u0440\u0438\u0432\u0430<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0107745 e-con-full rcp-driver rcp-driver-4 e-flex e-con e-child\" data-id=\"0107745\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"a05e617\">04<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"f4393f1\" class=\"e-heading-base\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0435\u043c\u044f\u0442\u0430<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"99413a1\">\u0413\u043e\u0440\u0438, \u043f\u0430\u0441\u0438\u0449\u0430 \u0438 \u0437\u0435\u043c\u0435\u0434\u0435\u043b\u0441\u043a\u0438 \u0437\u0435\u043c\u0438<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t\t<h2 data-interaction-id=\"335d7a4\" class=\"rcp-driver-center e-heading-base\">RCP \u0421\u0426\u0415\u041d\u0410\u0420\u0418\u0419<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4ae84e9 e-con-full methodology-scene methodology-scene-5 e-flex e-con e-child\" data-id=\"4ae84e9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"2e38348\">05 \/ \u041e\u0422 \u0421\u0426\u0415\u041d\u0410\u0420\u0418\u0418\u0422\u0415 \u041a\u042a\u041c \u0412\u042a\u0417\u0414\u0415\u0419\u0421\u0422\u0412\u0418\u042f\u0422\u0410<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"3a86ea2\" class=\"method-scene-title e-heading-base\">\u041f\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u0430. \u0415\u0434\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0430\u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0430.<\/h2>\n\t\t<div class=\"elementor-element elementor-element-268bd51 e-con-full method-pipeline e-flex e-con e-child\" data-id=\"268bd51\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-17e8224 e-con-full method-step method-step-1 e-flex e-con e-child\" data-id=\"17e8224\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"ec2cd71\">01<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"fad14d7\" class=\"e-heading-base\">\u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u0430\u043d\u0435<\/h2>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-949cf6d e-con-full method-step method-step-2 e-flex e-con e-child\" data-id=\"949cf6d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"4ce1961\">02<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"26e5dc8\" class=\"e-heading-base\">\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0437<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"575e6a4\">\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0437<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9a92980 e-con-full method-step method-step-3 e-flex e-con e-child\" data-id=\"9a92980\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"6867bfb\">03<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"d6e36c3\" class=\"e-heading-base\">\u0414\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u043e\u043d\u043d\u0438 \u0438\u0437\u0441\u043b\u0435\u0434\u0432\u0430\u043d\u0438\u044f<\/h2>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-909c368 e-con-full method-step method-step-4 e-flex e-con e-child\" data-id=\"909c368\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"0035446\">04<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"2d17e14\" class=\"e-heading-base\">\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u043d \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u043d\u0430\u0443\u0447\u043d\u0438\u0442\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u0430<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"e04d797\">\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u0438 \u0438 \u043c\u0435\u0442\u0430\u0430\u043d\u0430\u043b\u0438\u0437<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4bc28c0 e-con-full method-step method-step-5 e-flex e-con e-child\" data-id=\"4bc28c0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"241108b\">05<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"7cc16f1\" class=\"e-heading-base\">\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"f49e928\">\u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u0438 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u0446\u0438<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b7a109d e-con-full methodology-scene methodology-scene-6 e-flex e-con e-child\" data-id=\"b7a109d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"64bdbe1\">06 \/ \u0414\u0418\u0410\u041f\u0410\u0417\u041e\u041d\u042a\u0422<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"9e3ea5e\" class=\"method-scene-title e-heading-base\">\u0414\u0432\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u043e\u0447\u0435\u0440\u0442\u0430\u0432\u0430\u0442 \u0440\u0430\u043c\u043a\u0430\u0442\u0430 \u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0430\u0442\u0430.<\/h2>\n\t\t<div class=\"elementor-element elementor-element-3b28a0d e-con-full scenario-comparison e-flex e-con e-child\" data-id=\"3b28a0d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a73b9e7 e-con-full scenario-card scenario-card-moderate e-flex e-con e-child\" data-id=\"a73b9e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<h2 data-interaction-id=\"53fcfcc\" class=\"e-heading-base\">RCP4.5<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"b269303\">\u0423\u041c\u0415\u0420\u0415\u041d\u041e \u0417\u0410\u0422\u041e\u041f\u041b\u042f\u041d\u0415<\/p>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"bff4267\">\u0422\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u044f, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u0437\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u043f\u043e-\u0443\u043c\u0435\u0440\u0435\u043d \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430 \u0431\u044a\u0434\u0435\u0449\u043e \u0437\u0430\u0442\u043e\u043f\u043b\u044f\u043d\u0435.<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9df72d0 e-con-full scenario-card scenario-card-intensive e-flex e-con e-child\" data-id=\"9df72d0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<h2 data-interaction-id=\"dea7854\" class=\"e-heading-base\">RCP8.5<\/h2>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"bc0ae5f\">\u0418\u041d\u0422\u0415\u041d\u0417\u0418\u0412\u041d\u041e \u0417\u0410\u0422\u041e\u041f\u041b\u042f\u041d\u0415<\/p>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"c0f928b\">\u0422\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u044f, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u0449\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u043d\u043e \u043f\u043e-\u0438\u043d\u0442\u0435\u043d\u0437\u0438\u0432\u0435\u043d \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430 \u0431\u044a\u0434\u0435\u0449\u043e \u0437\u0430\u0442\u043e\u043f\u043b\u044f\u043d\u0435.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0bb4d86 e-con-full methodology-scene methodology-scene-7 e-flex e-con e-child\" data-id=\"0bb4d86\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<p class=\"method-scene-label e-paragraph-base\" data-interaction-id=\"e419f5e\">07 \/ \u041e\u0422 \u041d\u0410\u0423\u041a\u0410\u0422\u0410 \u041a\u042a\u041c \u0420\u0415\u0428\u0415\u041d\u0418\u042f\u0422\u0410<\/p>\n\t\t\t\t\t<h2 data-interaction-id=\"c006120\" class=\"method-final-title e-heading-base\">\u0426\u0435\u043b\u0442\u0430 \u043d\u0435 \u0435 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0438 \u0435\u0434\u043d\u043e-\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043e \u0431\u044a\u0434\u0435\u0449\u0435.<\/h2>\n\t\t\t\t\t<h2 data-interaction-id=\"bc779ce\" class=\"method-final-titl e-heading-base\">\u0426\u0435\u043b\u0442\u0430 \u0435 \u0434\u0430 \u0441\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u0438\u043c \u0437\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0438 \u0431\u044a\u0434\u0435\u0449\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438.<\/h2>\n\t\t\t\t\t<p class=\"method-final-copy e-paragraph-base\" data-interaction-id=\"446e361\">\u041e\u0446\u0435\u043d\u043a\u0430\u0442\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043d\u0430\u0443\u0447\u043d\u0430 \u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430 \u0437\u0430 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438\u0442\u0435 \u0437\u0430 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u043a\u044a\u043c \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u043d\u0430 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u043d\u0438\u0432\u043e.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-77bf3fa e-con-full methodology-footer e-flex e-con e-child\" data-id=\"77bf3fa\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<h2 data-interaction-id=\"03e37b8\" class=\"e-heading-base\">\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0435\u0442\u0435 \u0434\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u0442\u0435 \u043e\u0446\u0435\u043d\u043a\u0430\u0442\u0430.<\/h2>\n\t\t\t\t\t<a href=\"\/bg\/climate-vulnerability-bulgaria\/\" target=\"_self\" class=\"methodology-nav methodology-nav-back e-button-base\" data-interaction-id=\"08b8877\">\n\t\t\u2190 \u041d\u0410\u0417\u0410\u0414 \u041a\u042a\u041c \u041a\u041b\u0418\u041c\u0410\u0422\u0418\u0427\u041d\u0410\u0422\u0410 \u0423\u042f\u0417\u0412\u0418\u041c\u041e\u0421\u0422\n\t<\/a>\t\t\t\t\t<a href=\"\/bg\/mapping-climate-change-science-in-bulgaria\/\" target=\"_self\" class=\"methodology-nav methodology-nav-next e-button-base\" data-interaction-id=\"717d68d\">\n\t\t\u0421\u041b\u0415\u0414\u0412\u0410: \u041a\u0410\u0420\u0422\u0418\u0420\u0410\u041d\u0415 \u041d\u0410 \u041d\u0410\u0423\u041a\u0410\u0422\u0410 \u0417\u0410 \u041a\u041b\u0418\u041c\u0410\u0422\u0418\u0427\u041d\u0418\u0422\u0415 \u041f\u0420\u041e\u041c\u0415\u041d\u0418 \u2192\n\t<\/a>\t\t\t\t<div class=\"elementor-element elementor-element-a0cac1e closing-button closing-button-secondary elementor-widget elementor-widget-button\" data-id=\"a0cac1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/netzerolab-feba.bg\/wp-content\/uploads\/2026\/09\/\u0418\u0437\u0441\u043b\u0435\u0434\u0432\u0430\u043d\u0435-\u043d\u0430-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438\u0442\u0435-\u043a\u044a\u043c-\u0438-\u043f\u043e\u0441\u043b\u0435\u0434\u0438\u0446\u0438\u0442\u0435-\u043e\u0442-\u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435-\u043f\u0440\u043e\u043c\u0435\u043d\u0438-\u0432-\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f.pdf\" download=\"Net-Zero-Lab-Report.pdf\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u0418\u0417\u0422\u0415\u0413\u041b\u0415\u0422\u0415 \u041f\u042a\u041b\u041d\u0418\u042f \u0414\u041e\u041a\u041b\u0410\u0414<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a4ba93e elementor-widget elementor-widget-html\" data-id=\"a4ba93e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3.12.5\/dist\/gsap.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3.12.5\/dist\/ScrollTrigger.min.js\"><\/script>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\n    if (\n        typeof gsap === \"undefined\" ||\n        typeof ScrollTrigger === \"undefined\"\n    ) {\n        return;\n    }\n\n    gsap.registerPlugin(ScrollTrigger);\n\n\n    \/* =========================================================\n       EXACT REAL ELEMENTOR DOM\n       ========================================================= *\/\n\n    const outer =\n        document.querySelector(\n            \".elementor-element-d3a25d0\"\n        );\n\n    const story =\n        document.querySelector(\n            \".elementor-element-ff95ba1\"\n        );\n\n    const stage =\n        document.querySelector(\n            \".elementor-element-002026f\"\n        );\n\n    const footer =\n        document.querySelector(\n            \".elementor-element-77bf3fa\"\n        );\n\n\n    if (\n        !outer ||\n        !story ||\n        !stage\n    ) {\n        console.warn(\n            \"Methodology runtime: required containers not found.\"\n        );\n\n        return;\n    }\n\n\n    \/*\n     * REAL DOM:\n     * scenes are direct children of #002026f.\n     *\/\n    const scenes =\n        Array.from(\n            stage.children\n        )\n        .filter(\n            function (element) {\n\n                return element\n                    .classList\n                    .contains(\n                        \"methodology-scene\"\n                    );\n            }\n        );\n\n\n    if (!scenes.length) {\n        console.warn(\n            \"Methodology runtime: no scenes found.\"\n        );\n\n        return;\n    }\n\n\n    console.log(\n        \"Methodology scenes:\",\n        scenes.length\n    );\n\n\n    \/* =========================================================\n       HELPERS\n       ========================================================= *\/\n\n    function clamp(\n        value,\n        min,\n        max\n    ) {\n\n        return Math.min(\n            Math.max(\n                value,\n                min\n            ),\n            max\n        );\n    }\n\n\n    function range(\n        value,\n        start,\n        end\n    ) {\n\n        if (\n            end === start\n        ) {\n            return 1;\n        }\n\n\n        return clamp(\n            (\n                value -\n                start\n            ) \/\n            (\n                end -\n                start\n            ),\n            0,\n            1\n        );\n    }\n\n\n    function reveal(\n        element,\n        amount,\n        y = 24,\n        scale = .96\n    ) {\n\n        if (!element) {\n            return;\n        }\n\n\n        amount =\n            clamp(\n                amount,\n                0,\n                1\n            );\n\n\n        gsap.set(\n            element,\n            {\n                opacity:\n                    amount,\n\n                visibility:\n                    amount > .001\n                        ? \"visible\"\n                        : \"hidden\",\n\n                y:\n                    y *\n                    (\n                        1 -\n                        amount\n                    ),\n\n                scale:\n                    scale +\n                    (\n                        (\n                            1 -\n                            scale\n                        ) *\n                        amount\n                    )\n            }\n        );\n    }\n\n\n    \/* =========================================================\n       DELETE OLD RUNTIME STYLE\n       ========================================================= *\/\n\n    [\n        \"methodology-final-stacked-scenes-fix\",\n        \"methodology-native-scroll-footer-final\",\n        \"methodology-real-dom-final-fix\",\n        \"methodology-clean-runtime-style\",\n        \"methodology-stable-runtime\",\n        \"methodology-all-elements-scroll-fix-final\"\n    ]\n    .forEach(\n        function (id) {\n\n            document\n                .getElementById(id)\n                ?.remove();\n        }\n    );\n\n\n    \/* =========================================================\n       CLEAN OLD SCROLLTRIGGERS\n       ========================================================= *\/\n\n    ScrollTrigger\n        .getAll()\n        .forEach(\n            function (trigger) {\n\n                const triggerElement =\n                    trigger.trigger;\n\n\n                if (\n                    triggerElement === story ||\n                    triggerElement === stage ||\n                    triggerElement === outer\n                ) {\n\n                    trigger.kill(\n                        true\n                    );\n                }\n            }\n        );\n\n\n    \/* =========================================================\n       RUNTIME CSS\n       ========================================================= *\/\n\n    const style =\n        document.createElement(\n            \"style\"\n        );\n\n\n    style.id =\n        \"methodology-runtime-final\";\n\n\n    style.textContent = `\n\n        \/* =====================================================\n           REMOVE ELEMENTOR BOXED OFFSET\n           This is what was pushing everything to the right.\n           ===================================================== *\/\n\n        .elementor-element-d3a25d0{\n            width:100% !important;\n            max-width:none !important;\n\n            height:auto !important;\n            min-height:0 !important;\n            max-height:none !important;\n\n            margin:0 !important;\n            padding:0 !important;\n\n            overflow:visible !important;\n        }\n\n\n        .elementor-element-d3a25d0\n        > .e-con-inner{\n\n            width:100% !important;\n            max-width:none !important;\n\n            margin:0 !important;\n            padding:0 !important;\n\n            gap:0 !important;\n        }\n\n\n        \/* =====================================================\n           REAL SCROLL STORY\n           ===================================================== *\/\n\n        .elementor-element-ff95ba1{\n\n            position:relative !important;\n\n            width:100% !important;\n            max-width:none !important;\n\n            margin:0 !important;\n            padding:0 !important;\n\n            align-self:stretch !important;\n\n            overflow:visible !important;\n        }\n\n\n        \/* =====================================================\n           STAGE\n           ===================================================== *\/\n\n        .elementor-element-002026f{\n\n            position:sticky !important;\n\n            left:auto !important;\n            right:auto !important;\n\n            transform:none !important;\n\n            width:100% !important;\n            max-width:none !important;\n\n            margin:0 !important;\n            padding:0 !important;\n\n            overflow:hidden !important;\n\n            align-self:flex-start !important;\n        }\n\n\n        \/* =====================================================\n           SCENES\n           ===================================================== *\/\n\n        .elementor-element-002026f\n        > .methodology-scene{\n\n            position:absolute !important;\n\n            inset:0 !important;\n\n            left:0 !important;\n            right:0 !important;\n\n            transform:none;\n\n            width:100% !important;\n            max-width:none !important;\n\n            height:100% !important;\n            min-height:100% !important;\n            max-height:100% !important;\n\n            margin:0 !important;\n\n            box-sizing:border-box !important;\n\n            display:flex !important;\n            flex-direction:column !important;\n\n            align-items:center !important;\n            justify-content:flex-start !important;\n\n            overflow-x:hidden !important;\n            overflow-y:hidden !important;\n\n            text-align:center !important;\n\n            backface-visibility:hidden;\n            -webkit-backface-visibility:hidden;\n        }\n\n\n        \/* =====================================================\n           LABEL + TITLES\n           ===================================================== *\/\n\n        .methodology-scene\n        > .method-scene-label{\n\n            position:relative !important;\n            top:auto !important;\n            right:auto !important;\n            bottom:auto !important;\n            left:auto !important;\n\n            flex:0 0 auto !important;\n\n            width:100% !important;\n\n            margin:\n                0 auto 12px\n                !important;\n\n            opacity:1 !important;\n            visibility:visible !important;\n\n            transform:none !important;\n            translate:none !important;\n\n            text-align:center !important;\n            z-index:20 !important;\n        }\n\n\n        .methodology-scene\n        > .method-scene-title,\n\n        .methodology-scene\n        > .method-big-title,\n\n        .methodology-scene\n        > .method-weather,\n\n        .methodology-scene\n        > .method-final-title,\n\n        .methodology-scene\n        > .method-final-titl{\n\n            position:relative !important;\n\n            top:auto !important;\n            left:auto !important;\n            right:auto !important;\n\n            flex:0 0 auto !important;\n\n            width:min(\n                1080px,\n                100%\n            ) !important;\n\n            max-width:1080px !important;\n\n            margin:\n                0 auto 16px\n                !important;\n\n            opacity:1 !important;\n            visibility:visible !important;\n\n            transform:none !important;\n            translate:none !important;\n\n            text-align:center !important;\n            z-index:20 !important;\n        }\n\n\n        .methodology-scene\n        > .method-scene-copy,\n\n        .methodology-scene\n        > .method-final-copy{\n\n            position:relative !important;\n\n            flex:0 0 auto !important;\n\n            width:min(\n                980px,\n                100%\n            ) !important;\n\n            max-width:980px !important;\n\n            margin:\n                14px auto 0\n                !important;\n\n            text-align:center !important;\n        }\n\n\n        \/* =====================================================\n           VISUAL COMPONENTS\n           ===================================================== *\/\n\n        .methodology-stage\n        .uncertainty-grid,\n\n        .methodology-stage\n        .methodology-rcp-chart,\n\n        .methodology-stage\n        .rcp-drivers,\n\n        .methodology-stage\n        .method-pipeline,\n\n        .methodology-stage\n        .scenario-comparison{\n\n            flex:0 0 auto !important;\n\n            width:min(\n                1160px,\n                calc(100% - 40px)\n            ) !important;\n\n            max-width:1160px !important;\n\n            min-width:0 !important;\n\n            margin-left:auto !important;\n            margin-right:auto !important;\n\n            box-sizing:border-box !important;\n        }\n\n\n        \/* =====================================================\n           SECTION 7\n           ===================================================== *\/\n\n        .methodology-scene-7{\n\n            justify-content:flex-start !important;\n\n            gap:8px !important;\n        }\n\n\n        .methodology-scene-7\n        > .method-final-title,\n\n        .methodology-scene-7\n        > .method-final-titl,\n\n        .methodology-scene-7\n        > .method-final-copy{\n\n            opacity:1 !important;\n            visibility:visible !important;\n\n            transform:none !important;\n        }\n\n\n        \/* =====================================================\n           FOOTER\n           ===================================================== *\/\n\n        .elementor-element-77bf3fa{\n\n            position:relative !important;\n\n            inset:auto !important;\n\n            left:auto !important;\n            right:auto !important;\n\n            transform:none !important;\n\n            width:100% !important;\n            max-width:none !important;\n\n            margin:0 !important;\n\n            box-sizing:border-box !important;\n        }\n\n\n        \/* =====================================================\n           MOBILE\n           ===================================================== *\/\n\n        @media(max-width:767px){\n\n            .elementor-element-002026f\n            > .methodology-scene{\n\n                padding-left:16px !important;\n                padding-right:16px !important;\n            }\n\n\n            .methodology-stage\n            .uncertainty-grid,\n\n            .methodology-stage\n            .methodology-rcp-chart,\n\n            .methodology-stage\n            .rcp-drivers,\n\n            .methodology-stage\n            .method-pipeline,\n\n            .methodology-stage\n            .scenario-comparison{\n\n                width:100% !important;\n\n                max-width:100% !important;\n            }\n        }\n    `;\n\n\n    document.head.appendChild(\n        style\n    );\n\n\n    \/* =========================================================\n       HEADER OFFSET\n       ========================================================= *\/\n\n    function getHeaderHeight() {\n\n        const header =\n            document.querySelector(\n                \".elementor-location-header\"\n            ) ||\n\n            document.querySelector(\n                \"[data-elementor-type='header']\"\n            ) ||\n\n            document.querySelector(\n                \"#masthead\"\n            ) ||\n\n            document.querySelector(\n                \".site-header\"\n            ) ||\n\n            document.querySelector(\n                \"header\"\n            );\n\n\n        if (!header) {\n            return 0;\n        }\n\n\n        const rect =\n            header.getBoundingClientRect();\n\n\n        if (\n            rect.height > 0 &&\n            rect.height < 260\n        ) {\n\n            return Math.round(\n                rect.height\n            );\n        }\n\n\n        return 0;\n    }\n\n\n    \/* =========================================================\n       SCROLL SEGMENTS\n       ========================================================= *\/\n\n    \/*\n     * Explicit durations.\n     *\n     * 7 is deliberately shorter.\n     *\/\n    const weights = [\n        1.00,\n        .88,\n        1.04,\n        1.16,\n        1.08,\n        1.00,\n        .48\n    ];\n\n\n    const starts = [];\n\n    let totalWeight = 0;\n\n\n    weights\n        .forEach(\n            function (weight) {\n\n                starts.push(\n                    totalWeight\n                );\n\n                totalWeight +=\n                    weight;\n            }\n        );\n\n\n    let headerHeight = 0;\n\n    let viewportHeight = 0;\n\n\n    function updateLayout() {\n\n        headerHeight =\n            getHeaderHeight();\n\n\n        \/*\n         * Small visual gap BELOW the header.\n         *\n         * Header itself is already outside the stage.\n         *\/\n        const headerGap =\n            window.innerWidth <= 767\n                ? 8\n                : 12;\n\n\n        const stickyTop =\n            headerHeight +\n            headerGap;\n\n\n        viewportHeight =\n            Math.max(\n                420,\n                window.innerHeight -\n                stickyTop\n            );\n\n\n        \/*\n         * IMPORTANT:\n         * outer wrapper remains AUTO.\n         *\/\n        outer.style.setProperty(\n            \"height\",\n            \"auto\",\n            \"important\"\n        );\n\n\n        \/*\n         * Only inner story receives scroll length.\n         *\/\n        const scrollDistance =\n            viewportHeight *\n            totalWeight;\n\n\n        story.style.setProperty(\n            \"height\",\n            (\n                viewportHeight +\n                scrollDistance\n            ) +\n            \"px\",\n            \"important\"\n        );\n\n\n        stage.style.setProperty(\n            \"top\",\n            stickyTop +\n            \"px\",\n            \"important\"\n        );\n\n\n        stage.style.setProperty(\n            \"height\",\n            viewportHeight +\n            \"px\",\n            \"important\"\n        );\n\n\n        stage.style.setProperty(\n            \"min-height\",\n            viewportHeight +\n            \"px\",\n            \"important\"\n        );\n\n\n        stage.style.setProperty(\n            \"max-height\",\n            viewportHeight +\n            \"px\",\n            \"important\"\n        );\n\n\n        scenes.forEach(\n            function (\n                scene,\n                index\n            ) {\n\n                \/*\n                 * Real top spacing.\n                 *\n                 * This is intentionally applied to the SCENE itself.\n                 *\/\n                scene.style.setProperty(\n                    \"padding-top\",\n\n                    window.innerWidth <= 767\n                        ? \"62px\"\n                        : \"82px\",\n\n                    \"important\"\n                );\n\n\n                scene.style.setProperty(\n                    \"padding-left\",\n\n                    window.innerWidth <= 767\n                        ? \"16px\"\n                        : \"30px\",\n\n                    \"important\"\n                );\n\n\n                scene.style.setProperty(\n                    \"padding-right\",\n\n                    window.innerWidth <= 767\n                        ? \"16px\"\n                        : \"30px\",\n\n                    \"important\"\n                );\n\n\n                scene.style.setProperty(\n                    \"padding-bottom\",\n\n                    index ===\n                    scenes.length - 1\n\n                        ? (\n                            window.innerWidth <= 767\n                                ? \"24px\"\n                                : \"28px\"\n                          )\n\n                        : (\n                            window.innerWidth <= 767\n                                ? \"48px\"\n                                : \"58px\"\n                          ),\n\n                    \"important\"\n                );\n            }\n        );\n    }\n\n\n    \/* =========================================================\n       GET SCENE POSITION\n       ========================================================= *\/\n\n    function getScenePosition(\n        progress\n    ) {\n\n        const position =\n            clamp(\n                progress,\n                0,\n                1\n            ) *\n            totalWeight;\n\n\n        let index =\n            scenes.length - 1;\n\n\n        for (\n            let i = 0;\n            i < weights.length;\n            i++\n        ) {\n\n            if (\n                position <\n                starts[i] +\n                weights[i]\n            ) {\n\n                index = i;\n                break;\n            }\n        }\n\n\n        const local =\n            clamp(\n                (\n                    position -\n                    starts[index]\n                ) \/\n                weights[index],\n                0,\n                1\n            );\n\n\n        return {\n            index,\n            local\n        };\n    }\n\n\n    \/* =========================================================\n       ANIMATED ITEMS\n       ========================================================= *\/\n\n    const uncertaintyCards =\n        Array.from(\n            stage.querySelectorAll(\n                \".uncertainty-card\"\n            )\n        );\n\n\n    const rcpChart =\n        stage.querySelector(\n            \".methodology-rcp-chart\"\n        );\n\n\n    const rcpDrivers =\n        Array.from(\n            stage.querySelectorAll(\n                \".rcp-driver\"\n            )\n        );\n\n\n    const rcpCenter =\n        stage.querySelector(\n            \".rcp-driver-center\"\n        );\n\n\n    const methodSteps =\n        Array.from(\n            stage.querySelectorAll(\n                \".method-step\"\n            )\n        );\n\n\n    const moderate =\n        stage.querySelector(\n            \".scenario-card-moderate\"\n        );\n\n\n    const intensive =\n        stage.querySelector(\n            \".scenario-card-intensive\"\n        );\n\n\n    \/* =========================================================\n       RESET ANIMATION STATES\n       ========================================================= *\/\n\n    gsap.set(\n        uncertaintyCards,\n        {\n            opacity:0,\n            y:28,\n            scale:.94\n        }\n    );\n\n\n    if (rcpChart) {\n\n        gsap.set(\n            rcpChart,\n            {\n                opacity:0,\n                y:30,\n                scale:.96\n            }\n        );\n    }\n\n\n    gsap.set(\n        rcpDrivers,\n        {\n            opacity:0,\n            y:22,\n            scale:.92\n        }\n    );\n\n\n    if (rcpCenter) {\n\n        gsap.set(\n            rcpCenter,\n            {\n                opacity:0,\n                scale:.75\n            }\n        );\n    }\n\n\n    gsap.set(\n        methodSteps,\n        {\n            opacity:0,\n            y:24,\n            scale:.96\n        }\n    );\n\n\n    if (moderate) {\n\n        gsap.set(\n            moderate,\n            {\n                opacity:0,\n                x:-50,\n                scale:.95\n            }\n        );\n    }\n\n\n    if (intensive) {\n\n        gsap.set(\n            intensive,\n            {\n                opacity:0,\n                x:50,\n                scale:.95\n            }\n        );\n    }\n\n\n    \/* =========================================================\n       SHOW SCENE\n       ========================================================= *\/\n\n    let activeScene =\n        -1;\n\n\n    function showScene(\n        index\n    ) {\n\n        index =\n            clamp(\n                index,\n                0,\n                scenes.length - 1\n            );\n\n\n        if (\n            index === activeScene\n        ) {\n            return;\n        }\n\n\n        gsap.killTweensOf(\n            scenes\n        );\n\n\n        \/*\n         * Reset ALL scene wrapper transforms.\n         *\/\n        scenes.forEach(\n            function (\n                scene,\n                i\n            ) {\n\n                gsap.set(\n                    scene,\n                    {\n                        autoAlpha:\n                            i === index\n                                ? 1\n                                : 0,\n\n                        visibility:\n                            i === index\n                                ? \"visible\"\n                                : \"hidden\",\n\n                        pointerEvents:\n                            i === index\n                                ? \"auto\"\n                                : \"none\",\n\n                        zIndex:\n                            i === index\n                                ? 2\n                                : 0,\n\n                        x:0,\n                        y:0,\n\n                        xPercent:0,\n                        yPercent:0\n                    }\n                );\n            }\n        );\n\n\n        \/*\n         * Always enter at true top.\n         *\/\n        scenes[index].scrollTop =\n            0;\n\n\n        \/*\n         * Titles are NEVER part of the hidden animation.\n         *\/\n        gsap.set(\n            scenes[index]\n                .querySelectorAll(\n                    [\n                        \".method-scene-label\",\n                        \".method-scene-title\",\n                        \".method-big-title\",\n                        \".method-weather\",\n                        \".method-scene-copy\",\n                        \".method-final-title\",\n                        \".method-final-titl\",\n                        \".method-final-copy\"\n                    ].join(\",\")\n                ),\n            {\n                opacity:1,\n                visibility:\"visible\",\n\n                x:0,\n                y:0,\n\n                xPercent:0,\n                yPercent:0,\n\n                scale:1\n            }\n        );\n\n\n        \/* Keep the title group in its real top position even if an\n         * older Elementor animation left inline offsets behind. *\/\n        scenes[index]\n            .querySelectorAll(\n                \".method-scene-label, .method-scene-title, .method-big-title, .method-weather, .method-final-title, .method-final-titl\"\n            )\n            .forEach(function (element) {\n                element.style.setProperty(\"top\", \"auto\", \"important\");\n                element.style.setProperty(\"left\", \"auto\", \"important\");\n                element.style.setProperty(\"right\", \"auto\", \"important\");\n                element.style.setProperty(\"translate\", \"none\", \"important\");\n                element.style.setProperty(\"opacity\", \"1\", \"important\");\n                element.style.setProperty(\"visibility\", \"visible\", \"important\");\n            });\n\n\n        gsap.to(\n            stage,\n            {\n                backgroundColor:\n                    [\n                        \"#4D9275\",\n                        \"#476B73\",\n                        \"#356B56\",\n                        \"#6F9B8E\",\n                        \"#356B56\",\n                        \"#73557A\",\n                        \"#356B56\"\n                    ][index],\n\n                duration:.22,\n\n                overwrite:true\n            }\n        );\n\n\n        activeScene =\n            index;\n    }\n\n\n    \/* =========================================================\n       RCP LINES\n       ========================================================= *\/\n\n    function buildDriverLines() {\n\n        const container =\n            stage.querySelector(\n                \".rcp-drivers\"\n            );\n\n\n        if (\n            !container ||\n            !rcpCenter ||\n            !rcpDrivers.length\n        ) {\n            return;\n        }\n\n\n        container\n            .querySelector(\n                \".rcp-drivers-svg\"\n            )\n            ?.remove();\n\n\n        if (\n            window.innerWidth <\n            768\n        ) {\n            return;\n        }\n\n\n        const ns =\n            \"http:\/\/www.w3.org\/2000\/svg\";\n\n\n        const svg =\n            document.createElementNS(\n                ns,\n                \"svg\"\n            );\n\n\n        svg.classList.add(\n            \"rcp-drivers-svg\"\n        );\n\n\n        svg.setAttribute(\n            \"viewBox\",\n            `0 0 ${container.clientWidth} ${container.clientHeight}`\n        );\n\n\n        const parentRect =\n            container\n                .getBoundingClientRect();\n\n\n        function centerOf(\n            element\n        ) {\n\n            const rect =\n                element\n                    .getBoundingClientRect();\n\n\n            return {\n\n                x:\n                    rect.left -\n                    parentRect.left +\n                    rect.width \/ 2,\n\n                y:\n                    rect.top -\n                    parentRect.top +\n                    rect.height \/ 2\n            };\n        }\n\n\n        const center =\n            centerOf(\n                rcpCenter\n            );\n\n\n        rcpDrivers\n            .forEach(\n                function (\n                    driver\n                ) {\n\n                    const point =\n                        centerOf(\n                            driver\n                        );\n\n\n                    const line =\n                        document.createElementNS(\n                            ns,\n                            \"line\"\n                        );\n\n\n                    line.setAttribute(\n                        \"x1\",\n                        center.x\n                    );\n\n                    line.setAttribute(\n                        \"y1\",\n                        center.y\n                    );\n\n                    line.setAttribute(\n                        \"x2\",\n                        point.x\n                    );\n\n                    line.setAttribute(\n                        \"y2\",\n                        point.y\n                    );\n\n\n                    svg.appendChild(\n                        line\n                    );\n                }\n            );\n\n\n        container.prepend(\n            svg\n        );\n\n\n        svg\n            .querySelectorAll(\n                \"line\"\n            )\n            .forEach(\n                function (\n                    line\n                ) {\n\n                    const length =\n                        line\n                            .getTotalLength();\n\n\n                    line.dataset.length =\n                        length;\n\n\n                    line.style.strokeDasharray =\n                        length;\n\n\n                    line.style.strokeDashoffset =\n                        length;\n                }\n            );\n    }\n\n\n    \/* =========================================================\n       INITIAL\n       ========================================================= *\/\n\n    updateLayout();\n\n\n    gsap.set(\n        scenes,\n        {\n            autoAlpha:0,\n            visibility:\"hidden\",\n            pointerEvents:\"none\",\n            x:0,\n            y:0\n        }\n    );\n\n\n    showScene(\n        0\n    );\n\n\n    buildDriverLines();\n\n\n    \/* =========================================================\n       MAIN SCROLLTRIGGER\n       ========================================================= *\/\n\n    const trigger =\n        ScrollTrigger.create({\n\n            trigger:\n                story,\n\n\n            start:\n                function () {\n\n                    return (\n                        \"top top+=\" +\n                        (\n                            headerHeight +\n                            (\n                                window.innerWidth <= 767\n                                    ? 8\n                                    : 12\n                            )\n                        )\n                    );\n                },\n\n\n            end:\n                \"bottom bottom\",\n\n\n            invalidateOnRefresh:\n                true,\n\n\n            onUpdate:\n                function (self) {\n\n                    const state =\n                        getScenePosition(\n                            self.progress\n                        );\n\n\n                    const index =\n                        state.index;\n\n\n                    const local =\n                        state.local;\n\n\n                    showScene(\n                        index\n                    );\n\n\n                    const scene =\n                        scenes[index];\n\n\n                    \/* =============================================\n                       INTERNAL VERTICAL MOVEMENT\n                       ============================================= *\/\n\n                    const overflow =\n                        Math.max(\n                            0,\n                            scene.scrollHeight -\n                            scene.clientHeight\n                        );\n\n\n                    \/*\n                     * Keep heading at top for first 32%.\n                     *\n                     * Final scene NEVER scrolls internally.\n                     *\/\n                    const isDesktop =\n                        window.innerWidth > 767;\n\n                    \/*\n                     * Keep label + title + intro fully visible for much\n                     * longer before any inner movement starts. Short\n                     * desktop scenes (especially 6 and 7) never need\n                     * inner scrolling, which was the reason their titles\n                     * were disappearing underneath the fixed header.\n                     *\/\n                    const allowInnerScroll =\n                        index !== scenes.length - 1 &&\n                        !(isDesktop && index === 5) &&\n                        overflow > (isDesktop ? 140 : 70);\n\n                    if (allowInnerScroll) {\n\n                        scene.scrollTop =\n                            overflow *\n                            range(\n                                local,\n                                .48,\n                                .88\n                            );\n\n                    } else {\n\n                        scene.scrollTop =\n                            0;\n                    }\n\n\n                    \/* =============================================\n                       SCENE 1\n                       ============================================= *\/\n\n                    if (\n                        index === 0\n                    ) {\n\n                        document\n                            .documentElement\n                            .style\n                            .setProperty(\n                                \"--time-progress\",\n\n                                range(\n                                    local,\n                                    .10,\n                                    .78\n                                )\n                            );\n                    }\n\n\n                    \/* =============================================\n                       SCENE 2\n                       ============================================= *\/\n\n                    if (\n                        index === 1\n                    ) {\n\n                        uncertaintyCards\n                            .forEach(\n                                function (\n                                    card,\n                                    i\n                                ) {\n\n                                    reveal(\n                                        card,\n\n                                        range(\n                                            local,\n\n                                            .05 +\n                                            i * .10,\n\n                                            .23 +\n                                            i * .10\n                                        ),\n\n                                        28,\n\n                                        .94\n                                    );\n                                }\n                            );\n                    }\n\n\n                    \/* =============================================\n                       SCENE 3\n                       ============================================= *\/\n\n                    if (\n                        index === 2\n                    ) {\n\n                        reveal(\n                            rcpChart,\n\n                            range(\n                                local,\n                                .06,\n                                .38\n                            ),\n\n                            30,\n\n                            .96\n                        );\n                    }\n\n\n                    \/* =============================================\n                       SCENE 4\n                       ============================================= *\/\n\n                    if (\n                        index === 3\n                    ) {\n\n                        rcpDrivers\n                            .forEach(\n                                function (\n                                    driver,\n                                    i\n                                ) {\n\n                                    reveal(\n                                        driver,\n\n                                        range(\n                                            local,\n\n                                            .03 +\n                                            i * .055,\n\n                                            .18 +\n                                            i * .055\n                                        ),\n\n                                        22,\n\n                                        .92\n                                    );\n                                }\n                            );\n\n\n                        if (\n                            rcpCenter\n                        ) {\n\n                            const p =\n                                range(\n                                    local,\n                                    .20,\n                                    .36\n                                );\n\n\n                            gsap.set(\n                                rcpCenter,\n                                {\n                                    opacity:p,\n\n                                    visibility:\n                                        p > 0\n                                            ? \"visible\"\n                                            : \"hidden\",\n\n                                    scale:\n                                        .75 +\n                                        .25 *\n                                        p\n                                }\n                            );\n                        }\n\n\n                        const svg =\n                            stage.querySelector(\n                                \".rcp-drivers-svg\"\n                            );\n\n\n                        if (svg) {\n\n                            const p =\n                                range(\n                                    local,\n                                    .24,\n                                    .56\n                                );\n\n\n                            svg\n                                .querySelectorAll(\n                                    \"line\"\n                                )\n                                .forEach(\n                                    function (\n                                        line,\n                                        i\n                                    ) {\n\n                                        const length =\n                                            Number(\n                                                line.dataset.length\n                                            ) ||\n                                            line.getTotalLength();\n\n\n                                        const lineProgress =\n                                            clamp(\n                                                p * 1.5 -\n                                                i * .07,\n                                                0,\n                                                1\n                                            );\n\n\n                                        line.style\n                                            .strokeDashoffset =\n                                            length *\n                                            (\n                                                1 -\n                                                lineProgress\n                                            );\n                                    }\n                                );\n                        }\n                    }\n\n\n                    \/* =============================================\n                       SCENE 5\n                       ============================================= *\/\n\n                    if (\n                        index === 4\n                    ) {\n\n                        methodSteps\n                            .forEach(\n                                function (\n                                    step,\n                                    i\n                                ) {\n\n                                    reveal(\n                                        step,\n\n                                        range(\n                                            local,\n\n                                            .04 +\n                                            i * .065,\n\n                                            .19 +\n                                            i * .065\n                                        ),\n\n                                        22,\n\n                                        .96\n                                    );\n                                }\n                            );\n\n\n                        document\n                            .documentElement\n                            .style\n                            .setProperty(\n                                \"--pipeline-progress\",\n\n                                range(\n                                    local,\n                                    .06,\n                                    .65\n                                )\n                            );\n                    }\n\n\n                    \/* =============================================\n                       SCENE 6\n                       ============================================= *\/\n\n                    if (\n                        index === 5\n                    ) {\n\n                        reveal(\n                            moderate,\n\n                            range(\n                                local,\n                                .05,\n                                .30\n                            ),\n\n                            26,\n\n                            .95\n                        );\n\n\n                        reveal(\n                            intensive,\n\n                            range(\n                                local,\n                                .18,\n                                .43\n                            ),\n\n                            26,\n\n                            .95\n                        );\n                    }\n\n\n                    \/* =============================================\n                       SCENE 7\n                       ============================================= *\/\n\n                    if (\n                        index ===\n                        scenes.length - 1\n                    ) {\n\n                        scene.scrollTop =\n                            0;\n\n\n                        gsap.set(\n                            scene\n                                .querySelectorAll(\n                                    \".method-scene-label, .method-final-title, .method-final-titl, .method-final-copy\"\n                                ),\n                            {\n                                opacity:1,\n                                visibility:\"visible\",\n\n                                x:0,\n                                y:0,\n\n                                xPercent:0,\n                                yPercent:0,\n\n                                scale:1\n                            }\n                        );\n                    }\n\n\n                    \/* =============================================\n                       SAFETY\n                       ============================================= *\/\n\n                    if (\n                        local >= .70\n                    ) {\n\n                        gsap.set(\n                            scene\n                                .querySelectorAll(\n                                    [\n                                        \".uncertainty-card\",\n                                        \".methodology-rcp-chart\",\n                                        \".rcp-driver\",\n                                        \".method-step\",\n                                        \".scenario-card-moderate\",\n                                        \".scenario-card-intensive\"\n                                    ].join(\",\")\n                                ),\n                            {\n                                opacity:1,\n                                visibility:\"visible\",\n\n                                x:0,\n                                y:0,\n\n                                scale:1\n                            }\n                        );\n                    }\n                },\n\n\n            onLeaveBack:\n                function () {\n\n                    activeScene =\n                        -1;\n\n\n                    scenes\n                        .forEach(\n                            function (\n                                scene\n                            ) {\n\n                                scene.scrollTop =\n                                    0;\n                            }\n                        );\n\n\n                    showScene(\n                        0\n                    );\n                }\n        });\n\n\n    \/* =========================================================\n       DEVICE-INDEPENDENT DESKTOP WHEEL \u2014 SLOW + SAFE\n       ---------------------------------------------------------\n       Keep the existing ScrollTrigger as the SINGLE source of:\n         - weighted scene timing\n         - active scene\n         - internal scene scrollTop\n         - all animations\n\n       This layer only normalizes physical wheel \/ trackpad input.\n\n       SHORT SCENE:\n         one deliberate gesture -> adjacent scene\n\n       LONG SCENE DOWN:\n         gesture 1 -> REAL bottom of current scene\n         short fixed inertia hold\n         next gesture -> next scene\n\n       LONG SCENE UP:\n         gesture 1 -> REAL top\/title of current scene\n         short fixed inertia hold\n         next gesture -> previous scene\n\n       Raw deltaY magnitude is NEVER used as travel distance.\n\n       Balanced pacing:\n         scene transition ~620 ms\n         long-scene movement ~520 ms\n\n       MOBILE is intentionally untouched.\n       ========================================================= *\/\n\n    const methodologyDesktopMedia =\n        window.matchMedia(\n            \"(min-width:768px)\"\n        );\n\n\n    let methodologyWheelBusy =\n        false;\n\n\n    let methodologyWheelCooldownUntil =\n        0;\n\n\n    let methodologyWheelReleaseTimer =\n        null;\n\n\n    let methodologyEdgeHoldUntil =\n        0;\n\n\n    const methodologySceneSnapMs =\n        520;\n\n\n    const methodologyInnerSnapMs =\n        430;\n\n\n    const methodologyFixedCooldownMs =\n        130;\n\n\n    \/*\n     * Fixed edge hold after a long scene reaches its real top\/bottom.\n     * Residual inertia does NOT extend this timestamp.\n     *\/\n    const methodologyEdgeHoldMs =\n        120;\n\n\n    const methodologyInnerTolerance =\n        26;\n\n\n    function methodologyEaseInOutCubic(\n        t\n    ) {\n\n        return t < .5\n            ? 4 * t * t * t\n            : 1 -\n              Math.pow(\n                  -2 * t + 2,\n                  3\n              ) \/ 2;\n    }\n\n\n    function methodologyAnimateWindowTo(\n        target,\n        duration,\n        onComplete\n    ) {\n\n        const start =\n            window.scrollY;\n\n\n        const distance =\n            target - start;\n\n\n        const started =\n            performance.now();\n\n\n        function frame(now) {\n\n            const elapsed =\n                now - started;\n\n\n            const progress =\n                clamp(\n                    elapsed \/ duration,\n                    0,\n                    1\n                );\n\n\n            const eased =\n                methodologyEaseInOutCubic(\n                    progress\n                );\n\n\n            window.scrollTo(\n                0,\n                start +\n                distance * eased\n            );\n\n\n            if (progress < 1) {\n\n                requestAnimationFrame(\n                    frame\n                );\n\n            } else {\n\n                window.scrollTo(\n                    0,\n                    target\n                );\n\n\n                if (\n                    typeof onComplete ===\n                    \"function\"\n                ) {\n\n                    onComplete();\n                }\n            }\n        }\n\n\n        requestAnimationFrame(\n            frame\n        );\n    }\n\n\n    function methodologyTriggerActive() {\n\n        if (\n            !methodologyDesktopMedia.matches ||\n            !trigger\n        ) {\n            return false;\n        }\n\n\n        if (trigger.isActive) {\n            return true;\n        }\n\n\n        const y =\n            window.scrollY;\n\n\n        return (\n            y > trigger.start &&\n            y < trigger.end\n        );\n    }\n\n\n    function methodologyState() {\n\n        if (!trigger) {\n\n            return {\n                index:0,\n                local:0\n            };\n        }\n\n\n        return getScenePosition(\n            trigger.progress || 0\n        );\n    }\n\n\n    function methodologyPageTarget(\n        index,\n        local\n    ) {\n\n        index =\n            clamp(\n                index,\n                0,\n                scenes.length - 1\n            );\n\n\n        local =\n            clamp(\n                local,\n                0,\n                .98\n            );\n\n\n        \/*\n         * IMPORTANT:\n         * This chapter uses WEIGHTED segments.\n         *\n         * getScenePosition() maps:\n         * progress * totalWeight -> starts[index] + local*weight\n         *\n         * So this reverses that exact mapping.\n         *\/\n        const weightedPosition =\n            starts[index] +\n            weights[index] *\n            local;\n\n\n        const progress =\n            weightedPosition \/\n            totalWeight;\n\n\n        return Math.max(\n            0,\n            Math.round(\n                trigger.start +\n                (\n                    trigger.end -\n                    trigger.start\n                ) *\n                progress\n            )\n        );\n    }\n\n\n    function armMethodologyEdgeHold() {\n\n        \/*\n         * Fixed timestamp only.\n         * Wheel momentum cannot restart or lengthen this hold.\n         *\/\n        methodologyEdgeHoldUntil =\n            performance.now() +\n            methodologyEdgeHoldMs;\n    }\n\n\n    function releaseMethodologyWheel(\n        duration\n    ) {\n\n        clearTimeout(\n            methodologyWheelReleaseTimer\n        );\n\n\n        methodologyWheelReleaseTimer =\n            setTimeout(\n                function () {\n\n                    methodologyWheelBusy =\n                        false;\n\n\n                    \/*\n                     * Fixed cooldown only.\n                     * Momentum does NOT extend it.\n                     *\/\n                    methodologyWheelCooldownUntil =\n                        performance.now() +\n                        methodologyFixedCooldownMs;\n\n                },\n                duration\n            );\n    }\n\n\n    function methodologySnapToScene(\n        index\n    ) {\n\n        index =\n            clamp(\n                index,\n                0,\n                scenes.length - 1\n            );\n\n\n        methodologyWheelBusy =\n            true;\n\n\n        \/*\n         * Enter every new scene just inside its real weighted segment.\n         * This avoids browser rounding choosing the previous scene.\n         *\/\n        methodologyAnimateWindowTo(\n            methodologyPageTarget(\n                index,\n                .10\n            ),\n            methodologySceneSnapMs\n        );\n\n\n        releaseMethodologyWheel(\n            methodologySceneSnapMs\n        );\n    }\n\n\n    function methodologySnapCurrentToEdge(\n        index,\n        direction,\n        scene,\n        overflow\n    ) {\n\n        methodologyWheelBusy =\n            true;\n\n\n        \/*\n         * Existing engine uses:\n         * local .48 -> inner scroll begins\n         * local .88 -> inner scroll reaches REAL bottom\n         *\n         * Go slightly beyond .88 on DOWN to guarantee range(...)=1.\n         * Go slightly before .48 on UP to guarantee scrollTop=0.\n         *\/\n        const targetLocal =\n            direction > 0\n                ? .93\n                : .44;\n\n\n        methodologyAnimateWindowTo(\n            methodologyPageTarget(\n                index,\n                targetLocal\n            ),\n            methodologyInnerSnapMs,\n            function () {\n\n                \/*\n                 * Final hard guarantee that the scene is at its\n                 * REAL visual edge before navigation is unlocked.\n                 *\/\n                if (direction > 0) {\n\n                    scene.scrollTop =\n                        overflow;\n\n                } else {\n\n                    scene.scrollTop =\n                        0;\n                }\n            }\n        );\n\n\n        clearTimeout(\n            methodologyWheelReleaseTimer\n        );\n\n\n        methodologyWheelReleaseTimer =\n            setTimeout(\n                function () {\n\n                    methodologyWheelBusy =\n                        false;\n\n\n                    \/*\n                     * Critical safety:\n                     * reaching the edge of a LONG scene must NOT let\n                     * residual inertia from the same physical gesture\n                     * move into another scene.\n                     *\/\n                    armMethodologyEdgeHold();\n\n                },\n                methodologyInnerSnapMs\n            );\n    }\n\n\n    function methodologySnapPastStory() {\n\n        methodologyWheelBusy =\n            true;\n\n\n        methodologyAnimateWindowTo(\n            Math.max(\n                0,\n                Math.round(\n                    trigger.end +\n                    2\n                )\n            ),\n            methodologySceneSnapMs\n        );\n\n\n        releaseMethodologyWheel(\n            methodologySceneSnapMs\n        );\n    }\n\n\n    function handleMethodologyDesktopWheel(\n        event\n    ) {\n\n        if (\n            !methodologyDesktopMedia.matches ||\n            event.ctrlKey ||\n            !event.deltaY ||\n            !methodologyTriggerActive()\n        ) {\n            return;\n        }\n\n\n        const state =\n            methodologyState();\n\n\n        const index =\n            clamp(\n                state.index,\n                0,\n                scenes.length - 1\n            );\n\n\n        const local =\n            state.local;\n\n\n        const scene =\n            scenes[index];\n\n\n        if (!scene) {\n            return;\n        }\n\n\n        const direction =\n            event.deltaY > 0\n                ? 1\n                : -1;\n\n\n        const overflow =\n            Math.max(\n                0,\n                scene.scrollHeight -\n                scene.clientHeight\n            );\n\n\n        \/*\n         * Match the exact existing desktop allowInnerScroll rule.\n         *\/\n        const allowInnerScroll =\n            index !==\n                scenes.length - 1 &&\n            index !== 5 &&\n            overflow > 190;\n\n\n        \/*\n         * From the top of scene 1, allow normal page scroll back\n         * to content above the story.\n         *\/\n        if (\n            index === 0 &&\n            direction < 0 &&\n            local <= .08\n        ) {\n            return;\n        }\n\n\n        \/*\n         * Controlled movement already running.\n         *\/\n        if (methodologyWheelBusy) {\n\n            event.preventDefault();\n\n            return;\n        }\n\n\n        \/*\n         * LONG-SCENE EDGE GUARD:\n         * briefly absorb the tail of the gesture that just reached\n         * the real edge. This timestamp is FIXED and is never\n         * restarted by momentum events.\n         *\/\n        if (\n            performance.now() <\n            methodologyEdgeHoldUntil\n        ) {\n\n            event.preventDefault();\n\n            return;\n        }\n\n\n        \/*\n         * Fixed tail after a normal scene transition.\n         * This does NOT get extended by inertia.\n         *\/\n        if (\n            performance.now() <\n            methodologyWheelCooldownUntil\n        ) {\n\n            event.preventDefault();\n\n            return;\n        }\n\n\n        \/*\n         * LONG CURRENT SCENE:\n         * first reveal the REAL full content.\n         *\/\n        if (allowInnerScroll) {\n\n            \/*\n             * DOWN:\n             * Do not allow navigation until the REAL scene scrollTop\n             * has actually reached the REAL max scroll position.\n             *\/\n            if (\n                direction > 0 &&\n                scene.scrollTop <\n                    overflow -\n                    methodologyInnerTolerance\n            ) {\n\n                event.preventDefault();\n\n\n                methodologySnapCurrentToEdge(\n                    index,\n                    1,\n                    scene,\n                    overflow\n                );\n\n\n                return;\n            }\n\n\n            \/*\n             * UP:\n             * Do not allow navigation to the previous scene until the\n             * current scene is physically back at its real top\/title.\n             *\/\n            if (\n                direction < 0 &&\n                scene.scrollTop >\n                    methodologyInnerTolerance\n            ) {\n\n                event.preventDefault();\n\n\n                methodologySnapCurrentToEdge(\n                    index,\n                    -1,\n                    scene,\n                    overflow\n                );\n\n\n                return;\n            }\n        }\n\n\n        \/*\n         * FINAL HARD EDGE CHECK:\n         * even if browser\/ScrollTrigger progress moved farther than\n         * expected, a long scene may NOT be left before its actual\n         * scrollTop reaches the physical edge.\n         *\/\n        if (allowInnerScroll) {\n\n            if (\n                direction > 0 &&\n                scene.scrollTop <\n                    overflow -\n                    methodologyInnerTolerance\n            ) {\n\n                event.preventDefault();\n\n\n                methodologySnapCurrentToEdge(\n                    index,\n                    1,\n                    scene,\n                    overflow\n                );\n\n\n                return;\n            }\n\n\n            if (\n                direction < 0 &&\n                scene.scrollTop >\n                    methodologyInnerTolerance\n            ) {\n\n                event.preventDefault();\n\n\n                methodologySnapCurrentToEdge(\n                    index,\n                    -1,\n                    scene,\n                    overflow\n                );\n\n\n                return;\n            }\n        }\n\n\n        \/*\n         * Final scene:\n         * it intentionally has no internal scroll in the existing\n         * runtime. One new gesture leaves the story for the footer.\n         *\/\n        if (\n            index ===\n                scenes.length - 1 &&\n            direction > 0\n        ) {\n\n            event.preventDefault();\n\n\n            methodologySnapPastStory();\n\n\n            return;\n        }\n\n\n        const targetIndex =\n            index +\n            direction;\n\n\n        if (\n            targetIndex < 0 ||\n            targetIndex >=\n                scenes.length\n        ) {\n            return;\n        }\n\n\n        \/*\n         * SHORT scene, or long scene already at its real edge:\n         * one deliberate gesture = exactly one scene.\n         *\/\n        event.preventDefault();\n\n\n        methodologySnapToScene(\n            targetIndex\n        );\n    }\n\n\n    stage.addEventListener(\n        \"wheel\",\n        handleMethodologyDesktopWheel,\n        {\n            passive:false\n        }\n    );\n\n\n    function resetMethodologyWheelState() {\n\n        methodologyWheelBusy =\n            false;\n\n\n        methodologyWheelCooldownUntil =\n            0;\n\n\n        methodologyEdgeHoldUntil =\n            0;\n\n\n        clearTimeout(\n            methodologyWheelReleaseTimer\n        );\n    }\n\n\n    window.addEventListener(\n        \"resize\",\n        resetMethodologyWheelState,\n        {\n            passive:true\n        }\n    );\n\n\n    if (\n        typeof methodologyDesktopMedia\n            .addEventListener ===\n        \"function\"\n    ) {\n\n        methodologyDesktopMedia\n            .addEventListener(\n                \"change\",\n                resetMethodologyWheelState\n            );\n    }\n\n\n    \/* =========================================================\n       FOOTER\n       ========================================================= *\/\n\n    if (footer) {\n\n        gsap.set(\n            footer\n                .querySelectorAll(\n                    \"h2, .methodology-nav, .closing-button\"\n                ),\n            {\n                opacity:1,\n                visibility:\"visible\",\n\n                x:0,\n                y:0,\n\n                scale:1\n            }\n        );\n    }\n\n\n    \/* =========================================================\n       RESIZE\n       ========================================================= *\/\n\n    let resizeTimer;\n\n\n    function refreshAll() {\n\n        updateLayout();\n\n        buildDriverLines();\n\n        ScrollTrigger.refresh();\n    }\n\n\n    window.addEventListener(\n        \"resize\",\n        function () {\n\n            clearTimeout(\n                resizeTimer\n            );\n\n\n            resizeTimer =\n                setTimeout(\n                    refreshAll,\n                    200\n                );\n        }\n    );\n\n\n    window.addEventListener(\n        \"orientationchange\",\n        function () {\n\n            setTimeout(\n                refreshAll,\n                250\n            );\n        }\n    );\n\n\n    window.addEventListener(\n        \"load\",\n        function () {\n\n            setTimeout(\n                refreshAll,\n                250\n            );\n        },\n        {\n            once:true\n        }\n    );\n\n\n    setTimeout(\n        refreshAll,\n        450\n    );\n\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>REPORT METHODOLOGY How do we understand a climate future that cannot be predicted with certainty? Climate projections are not forecasts of tomorrow\u2019s weather. They explore possible futures under different assumptions about society, emissions and the climate system. SCROLL TO EXPLORE \u2193 01 \/ FORECAST \u2260 PROJECTION Weather tells us what may happen tomorrow. Climate explores &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/netzerolab-feba.bg\/bg\/report-methodology\/\"> <span class=\"screen-reader-text\">\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043d\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0430<\/span> Read More &raquo;<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2803","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Report Methodology - Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/netzerolab-feba.bg\/bg\/report-methodology\/\" \/>\n<meta property=\"og:locale\" content=\"bg_BG\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Report Methodology - Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\" \/>\n<meta property=\"og:description\" content=\"REPORT METHODOLOGY How do we understand a climate future that cannot be predicted with certainty? Climate projections are not forecasts of tomorrow\u2019s weather. They explore possible futures under different assumptions about society, emissions and the climate system. SCROLL TO EXPLORE \u2193 01 \/ FORECAST \u2260 PROJECTION Weather tells us what may happen tomorrow. Climate explores &hellip; Report Methodology Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/netzerolab-feba.bg\/bg\/report-methodology\/\" \/>\n<meta property=\"og:site_name\" content=\"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-23T20:02:02+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/netzerolab-feba.bg\/report-methodology\/\",\"url\":\"https:\/\/netzerolab-feba.bg\/report-methodology\/\",\"name\":\"Report Methodology - Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\",\"isPartOf\":{\"@id\":\"https:\/\/netzerolab-feba.bg\/#website\"},\"datePublished\":\"2026-09-14T12:35:59+00:00\",\"dateModified\":\"2026-09-23T20:02:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/netzerolab-feba.bg\/report-methodology\/#breadcrumb\"},\"inLanguage\":\"bg-BG\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/netzerolab-feba.bg\/report-methodology\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/netzerolab-feba.bg\/report-methodology\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/netzerolab-feba.bg\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Report Methodology\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/netzerolab-feba.bg\/#website\",\"url\":\"https:\/\/netzerolab-feba.bg\/\",\"name\":\"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\",\"description\":\"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\",\"publisher\":{\"@id\":\"https:\/\/netzerolab-feba.bg\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/netzerolab-feba.bg\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"bg-BG\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/netzerolab-feba.bg\/#organization\",\"name\":\"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\",\"url\":\"https:\/\/netzerolab-feba.bg\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"bg-BG\",\"@id\":\"https:\/\/netzerolab-feba.bg\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/netzerolab-feba.bg\/wp-content\/uploads\/2024\/02\/cropped-FullLogo_Transparent_Header.webp\",\"contentUrl\":\"https:\/\/netzerolab-feba.bg\/wp-content\/uploads\/2024\/02\/cropped-FullLogo_Transparent_Header.webp\",\"width\":450,\"height\":99,\"caption\":\"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions\"},\"image\":{\"@id\":\"https:\/\/netzerolab-feba.bg\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Report Methodology - Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/netzerolab-feba.bg\/bg\/report-methodology\/","og_locale":"bg_BG","og_type":"article","og_title":"Report Methodology - Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","og_description":"REPORT METHODOLOGY How do we understand a climate future that cannot be predicted with certainty? Climate projections are not forecasts of tomorrow\u2019s weather. They explore possible futures under different assumptions about society, emissions and the climate system. SCROLL TO EXPLORE \u2193 01 \/ FORECAST \u2260 PROJECTION Weather tells us what may happen tomorrow. Climate explores &hellip; Report Methodology Read More &raquo;","og_url":"https:\/\/netzerolab-feba.bg\/bg\/report-methodology\/","og_site_name":"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","article_modified_time":"2026-09-23T20:02:02+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/netzerolab-feba.bg\/report-methodology\/","url":"https:\/\/netzerolab-feba.bg\/report-methodology\/","name":"Report Methodology - Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","isPartOf":{"@id":"https:\/\/netzerolab-feba.bg\/#website"},"datePublished":"2026-09-14T12:35:59+00:00","dateModified":"2026-09-23T20:02:02+00:00","breadcrumb":{"@id":"https:\/\/netzerolab-feba.bg\/report-methodology\/#breadcrumb"},"inLanguage":"bg-BG","potentialAction":[{"@type":"ReadAction","target":["https:\/\/netzerolab-feba.bg\/report-methodology\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/netzerolab-feba.bg\/report-methodology\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/netzerolab-feba.bg\/"},{"@type":"ListItem","position":2,"name":"Report Methodology"}]},{"@type":"WebSite","@id":"https:\/\/netzerolab-feba.bg\/#website","url":"https:\/\/netzerolab-feba.bg\/","name":"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","description":"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","publisher":{"@id":"https:\/\/netzerolab-feba.bg\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/netzerolab-feba.bg\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"bg-BG"},{"@type":"Organization","@id":"https:\/\/netzerolab-feba.bg\/#organization","name":"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions","url":"https:\/\/netzerolab-feba.bg\/","logo":{"@type":"ImageObject","inLanguage":"bg-BG","@id":"https:\/\/netzerolab-feba.bg\/#\/schema\/logo\/image\/","url":"https:\/\/netzerolab-feba.bg\/wp-content\/uploads\/2024\/02\/cropped-FullLogo_Transparent_Header.webp","contentUrl":"https:\/\/netzerolab-feba.bg\/wp-content\/uploads\/2024\/02\/cropped-FullLogo_Transparent_Header.webp","width":450,"height":99,"caption":"Research Lab of Sofia University Aimed at Transforming Climate Neutrality Targets into Tangible Realities through Knowledge-Based Solutions"},"image":{"@id":"https:\/\/netzerolab-feba.bg\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/pages\/2803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/comments?post=2803"}],"version-history":[{"count":250,"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/pages\/2803\/revisions"}],"predecessor-version":[{"id":4566,"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/pages\/2803\/revisions\/4566"}],"wp:attachment":[{"href":"https:\/\/netzerolab-feba.bg\/bg\/wp-json\/wp\/v2\/media?parent=2803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}