/* Stage 10: isolated light navigation and methodology. created by johnkill34. */
.lec-section--energy-intro.lec-energy-shell{box-sizing:border-box;width:100%;max-width:none;margin-inline:auto}
.lec-section--energy-intro .elementor-widget-text-editor{font-family:Arial,sans-serif;font-size:15px;color:#52627b}
.lec-section--energy-intro .elementor-widget-heading .elementor-heading-title{font-family:Arial,sans-serif;color:#0b073a}
.lec-section--energy-intro .lec-section-title .elementor-heading-title{font-size:clamp(32px,3vw,56px);line-height:1.08;letter-spacing:-.035em}
.lec-section--energy-intro>.elementor-container{width:100%}
.lec-section--energy-intro :where(.elementor-column,.elementor-widget-wrap,.elementor-widget-container){min-width:0}
.lec-section--energy-intro .elementor-heading-title{line-height:1.14}
.lec-section--energy-intro .elementor-widget-text-editor{line-height:1.72}
.lec-section--energy-intro .lec-section-lead{max-width:1120px}

.lec-section--energy-intro .lec-energy-intro-hero{position:relative;overflow:hidden;margin-bottom:30px;border:1px solid #dde4ed;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f6f9fd 55%,#eef4fb 100%);box-shadow:0 18px 46px rgba(11,7,58,.065)}
.lec-section--energy-intro .lec-energy-intro-hero:before{content:"";position:absolute;right:-8%;top:-45%;width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(22,83,184,.14),rgba(22,83,184,0) 67%);pointer-events:none}
.lec-section--energy-intro .lec-energy-intro-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,#8c0e11 0 14%,#1653b8 14% 33%,#7454b8 33% 45%,#e9a80b 45% 58%,#0d8f8a 58% 72%,#b47a00 72% 84%,#27865b 84% 100%)}
.lec-section--energy-intro .lec-energy-intro-hero>.elementor-container{position:relative;z-index:1;align-items:stretch}
.lec-section--energy-intro .lec-energy-intro-hero__copy>.elementor-widget-wrap{height:100%;padding:clamp(28px,4vw,56px)}
.lec-section--energy-intro .lec-energy-intro-hero__copy .lec-section-eyebrow{margin-bottom:8px;color:#8c0e11;font-size:14px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.lec-section--energy-intro .lec-energy-intro-hero__copy .lec-section-title{max-width:880px;margin:0 0 14px;font-size:clamp(38px,4.7vw,74px);letter-spacing:-.04em;color:#0b073a}
.lec-section--energy-intro .lec-energy-intro-hero__copy .lec-section-lead{margin-bottom:0;color:#4f5b70;font-size:clamp(15px,1.25vw,19px)}
.lec-section--energy-intro .lec-energy-intro-hero__side>.elementor-widget-wrap{display:flex;height:100%;flex-direction:column;justify-content:center;padding:28px;background:linear-gradient(145deg,#eaf3f8,#f8fbfd);color:#0b073a}
.lec-section--energy-intro .lec-energy-intro-hero__side .elementor-heading-title{color:#0b073a!important}
.lec-section--energy-intro .lec-energy-intro-hero__side .elementor-widget-text-editor,.lec-section--energy-intro .lec-energy-intro-hero__side p{color:#52627b!important}
.lec-section--energy-intro .lec-energy-intro-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}
.lec-section--energy-intro .lec-energy-intro-badge{padding:10px 12px;border:1px solid #cfdee9;border-radius:12px;background:#ffffffb3}
.lec-section--energy-intro .lec-energy-intro-badge strong{display:block;color:#0b073a;font-size:14px}
.lec-section--energy-intro .lec-energy-intro-badge span{display:block;margin-top:2px;color:#52627b;font-size:14px}

.lec-section--energy-intro .lec-energy-guide{margin:0 0 64px}
.lec-section--energy-intro .lec-energy-guide>.elementor-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.lec-section--energy-intro .lec-energy-guide>.elementor-container>.elementor-column{width:100%}
.lec-section--energy-intro .lec-energy-guide-card>.elementor-widget-wrap{height:100%;padding:24px 26px;border:1px solid #dde4ed;border-radius:19px;background:#fff}
.lec-section--energy-intro .lec-energy-guide-card--live>.elementor-widget-wrap{border-top:4px solid #8c0e11}
.lec-section--energy-intro .lec-energy-guide-card--structural>.elementor-widget-wrap{border-top:4px solid #1653b8}
.lec-section--energy-intro .lec-energy-guide-card--modelled>.elementor-widget-wrap{border-top:4px solid #e9a80b}
.lec-section--energy-intro .lec-energy-guide-card .elementor-heading-title{margin-bottom:7px;color:#0b073a!important}

.lec-section--energy-intro .lec-energy-methodology-section{scroll-margin-top:90px;margin-top:10px;padding:clamp(28px,4vw,50px);border:1px solid #dce3ed;border-radius:26px;background:linear-gradient(145deg,#f8fafc,#fff);box-shadow:0 14px 36px rgba(11,7,58,.055)}
.lec-section--energy-intro .lec-energy-methodology-grid>.elementor-container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.lec-section--energy-intro .lec-energy-methodology-grid>.elementor-container>.elementor-column{width:100%}
.lec-section--energy-intro .lec-energy-method-card>.elementor-widget-wrap{height:100%;padding:22px 24px;border:1px solid #e1e6ee;border-radius:17px;background:#fff}
.lec-section--energy-intro .lec-energy-method-card .elementor-heading-title{color:#0b073a!important;font-size:16px}
.lec-section--energy-intro .lec-energy-method-card .elementor-widget-text-editor{color:#5e697d}
.lec-section--energy-intro .lec-energy-method-card strong{color:#0b073a}

.lec-source-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}
.lec-source-status{display:grid;grid-template-columns:10px minmax(0,1fr);gap:12px;min-height:104px;padding:16px 18px;border:1px solid #e0e5ec;border-radius:15px;background:#fff}
.lec-source-status>span{display:block;width:7px;height:100%;min-height:56px;border-radius:999px;background:#315fbd}
.lec-source-status--bess>span{background:#7454b8}.lec-source-status--solar>span{background:#e9a80b}.lec-source-status--fuels>span{background:#c23b3b}.lec-source-status--gas>span{background:#0d8f8a}.lec-source-status--oil>span{background:#b47a00}.lec-source-status--commodities>span{background:#7d6048}.lec-source-status--transition>span{background:#27865b}
.lec-source-status small{display:block;color:#8c0e11;font-size:14px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.lec-source-status strong{display:block;margin-top:3px;color:#0b073a;font-size:14px}
.lec-source-status p{margin:6px 0 0;color:#748093;font-size:14px;line-height:1.45}


/* Elementor owns the page width; components fill their containing column. */
[data-lec-energy-nav], [data-lec-energy-nav] * {box-sizing:border-box}
[data-lec-energy-nav]{position:relative;width:100%;max-width:100%;margin:20px 0 48px;padding:0;border:0;background:transparent;box-shadow:none;color:#0b073a;font-family:Arial,sans-serif}
[data-lec-energy-nav] .lec-energy-nav__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
[data-lec-energy-nav] .lec-energy-nav-card{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;min-height:320px;padding:0 14px 18px;border:1px solid #dce6ef;border-radius:16px;background:linear-gradient(#fff,#f8fbfd);color:#0b073a;text-align:center;text-decoration:none;box-shadow:0 5px 14px #0b073a0c;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
[data-lec-energy-nav] .lec-energy-nav-card__art{display:block;width:calc(100% + 28px);max-width:none;height:118px;object-fit:cover;border-radius:15px 15px 0 0;mask-image:linear-gradient(#000 72%,transparent)}
[data-lec-energy-nav] .lec-energy-nav-card__number{position:absolute;top:10px;left:10px;z-index:1;padding:3px 6px;border-radius:6px;background:#ffffffdc;color:#52647b;font-size:14px;font-weight:700;letter-spacing:.08em}
[data-lec-energy-nav] .lec-energy-nav-card__icon{display:grid;place-items:center;width:48px;height:48px;margin:-9px 0 10px;position:relative}
[data-lec-energy-nav] .lec-energy-nav-card__icon img{width:38px;height:38px}
[data-lec-energy-nav] .lec-energy-nav-card__copy{display:flex;flex:1;flex-direction:column;gap:10px}
[data-lec-energy-nav] .lec-energy-nav-card__copy strong{font-size:16px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
[data-lec-energy-nav] .lec-energy-nav-card__copy small{font-size:14px;line-height:1.45;color:#52627b}
[data-lec-energy-nav] .lec-energy-nav-card>b{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-top:16px;border:1px solid #cfdae5;border-radius:50%;background:#fff;color:#0b073a;box-shadow:0 2px 5px #0b073a12;font-size:20px;font-weight:400}
[data-lec-energy-nav] .lec-energy-nav-card:hover{transform:translateY(-3px);border-color:#8c0e11;box-shadow:0 10px 24px #0b073a15}
[data-lec-energy-nav] a:focus-visible{outline:3px solid #8c0e11;outline-offset:3px}
[data-lec-energy-nav] .lec-energy-nav-card.is-current{border-color:#8c0e11;background:linear-gradient(#fff,#fcf3f5)}
[data-lec-energy-nav] .lec-energy-nav-card.is-current>b{background:#8c0e11;color:#fff;border-color:#8c0e11}
[data-lec-energy-nav] a[aria-disabled="true"]{cursor:default}
[data-lec-energy-nav] .lec-energy-nav__sticky{position:fixed;z-index:1200;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:8px;border:1px solid #dbe4ed;border-radius:28px;background:rgba(255,255,255,.95);box-shadow:0 8px 32px #0b073a29;backdrop-filter:blur(14px)}
[data-lec-energy-nav] .lec-energy-nav__sticky[hidden]{display:none}
[data-lec-energy-nav] .lec-energy-nav__sticky-inner{display:flex;gap:4px;overflow-x:auto;max-width:100%;padding:3px;scrollbar-width:thin;overscroll-behavior-inline:contain}
[data-lec-energy-nav] .lec-energy-nav__sticky-label{display:none}
[data-lec-energy-nav] .lec-energy-nav__sticky a{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:78px;max-width:116px;min-height:62px;padding:8px 10px;border-radius:18px;color:#263756;text-decoration:none;text-align:center;font-size:14px;line-height:1.2}
[data-lec-energy-nav] .lec-energy-nav__sticky a img{width:23px;height:23px}
[data-lec-energy-nav] .lec-energy-nav__sticky a:hover{background:#edf3f8}
[data-lec-energy-nav] .lec-energy-nav__sticky a.is-current{background:#8c0e11;color:#fff}
[data-lec-energy-nav] .lec-energy-nav__sticky a.is-current img{filter:brightness(0) invert(1)}
html.lec-has-energy-dock{scroll-padding-bottom:var(--lec-dock-clearance,0px)}
html.lec-has-energy-dock body{padding-bottom:var(--lec-dock-clearance,0px)}
/* Native Elementor anchors have the same offset before navigation adds data attributes. */
.lec-public[id^="energy-"],.lec-public[data-lec-energy-target],.lec-energy-methodology-section{scroll-margin-top:86px}
/* Server component placeholders already defer heavy HTML. A second outer
   paint-size substitution moves native hashes; keep real section geometry.
   Override legacy JS inline estimates without changing its widget observers. */
.lec-perf-deferred[data-lec-deferred-section]{content-visibility:visible;contain-intrinsic-size:none!important}
.lec-perf-deferred.is-lec-prewarmed,.lec-perf-deferred.is-lec-measured{content-visibility:visible}
/* ECharts positions its own holder; an extra positioned shell causes a
   zero-to-visible layout-shift record when native paint skipping ends. */
.lec-perf-deferred .lec-echart-shell{position:static}
@media(min-width:821px) and (max-width:1099px){[data-lec-energy-nav] .lec-energy-nav__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:641px) and (max-width:820px){[data-lec-energy-nav] .lec-energy-nav__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1099px){
 .lec-section--energy-intro .lec-energy-guide>.elementor-container,.lec-section--energy-intro .lec-energy-methodology-grid>.elementor-container{grid-template-columns:1fr}
 .lec-source-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lec-section--energy-intro .lec-energy-intro-hero>.elementor-container,
 .lec-section--energy-intro .lec-energy-guide>.elementor-container,
 .lec-section--energy-intro .lec-energy-methodology-grid>.elementor-container{flex-wrap:wrap}
 .lec-section--energy-intro .lec-energy-intro-hero>.elementor-container>.elementor-column,
 .lec-section--energy-intro .lec-energy-guide>.elementor-container>.elementor-column,
 .lec-section--energy-intro .lec-energy-methodology-grid>.elementor-container>.elementor-column{width:100%!important}
}
@media(max-width:640px){
 [data-lec-energy-nav] .lec-energy-nav__grid{display:flex;overflow-x:auto;gap:12px;padding:5px 4px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-inline:contain}
 [data-lec-energy-nav] .lec-energy-nav-card{flex:0 0 84%;min-height:332px;scroll-snap-align:start}
 [data-lec-energy-nav] .lec-energy-nav-card__art{height:140px}
 [data-lec-energy-nav] .lec-energy-nav__sticky{width:calc(100% - 20px);max-width:none;border-radius:22px;padding:7px}
 [data-lec-energy-nav] .lec-energy-nav__sticky-label{display:block;padding:2px 10px 4px;color:#52627b;font-size:14px;font-weight:700}
 [data-lec-energy-nav] .lec-energy-nav__sticky a{min-width:78px;font-size:14px;min-height:58px;padding:6px 8px}
 .lec-source-status-grid{grid-template-columns:1fr}
 .lec-section--energy-intro .lec-energy-methodology-section{padding:20px}
}
@media(prefers-reduced-motion:reduce){[data-lec-energy-nav] *{transition:none!important}[data-lec-energy-nav] .lec-energy-nav-card:hover{transform:none}}
@media print{.lec-perf-deferred[data-lec-deferred-section]{content-visibility:visible;contain-intrinsic-size:none}[data-lec-energy-nav] .lec-energy-nav__sticky{display:none!important}html.lec-has-energy-dock body{padding-bottom:0}}

/* Compact entry, with existing editable explanations progressively disclosed. */
.lec-section--energy-intro .lec-energy-intro-hero{margin-bottom:22px}
.lec-section--energy-intro .lec-energy-intro-hero__copy .lec-section-title{font-size:32px;line-height:1.2}
.lec-section--energy-intro .lec-energy-intro-hero__copy>.elementor-widget-wrap{padding:24px}
.lec-section--energy-intro .lec-energy-intro-hero__side>.elementor-widget-wrap{padding:24px}
.lec-section--energy-intro .lec-energy-intro-badges{gap:10px;margin-top:0}
.lec-section--energy-intro .lec-energy-intro-badge{padding:10px}
.lec-section--energy-intro .lec-energy-guide{margin:20px 0}
.lec-section--energy-intro .lec-energy-methodology-section{margin:0;padding:22px}
.lec-methodology-details{margin:16px 0 0;padding:0 20px;border:1px solid #dce3ed;border-radius:16px;background:#f8fafc;color:#0b073a}
.lec-methodology-details>summary{padding:16px 0;cursor:pointer;font-size:16px;font-weight:700}
.lec-methodology-details>summary:focus-visible{outline:3px solid #8c0e11;outline-offset:4px}
.lec-methodology-details[open]{padding-bottom:20px}
.lec-methodology-details .lec-energy-intro-badges{grid-template-columns:repeat(4,minmax(0,1fr))}
[data-lec-energy-nav]{margin:16px 0 20px}
[data-lec-energy-nav] .lec-energy-nav-card{min-height:0;padding:0 12px 14px}
[data-lec-energy-nav] .lec-energy-nav-card__art{height:70px;width:calc(100% + 24px)}
[data-lec-energy-nav] .lec-energy-nav-card__copy{gap:6px}
[data-lec-energy-nav] .lec-energy-nav-card__copy strong{hyphens:auto;word-break:normal;overflow-wrap:break-word}
[data-lec-energy-nav] .lec-energy-nav-card__copy small{font-size:14px}
[data-lec-energy-nav] .lec-energy-nav-card__icon{height:36px;margin-bottom:6px}
[data-lec-energy-nav] .lec-energy-nav-card__icon img{width:30px;height:30px}
[data-lec-energy-nav] .lec-energy-nav-card>b{margin-top:10px}
[data-lec-energy-nav] .lec-energy-nav__sticky a{font-size:14px;min-width:92px;max-width:132px;min-height:62px;padding:6px 8px;line-height:1.35}
[data-lec-energy-nav] .lec-energy-nav__sticky{max-width:calc(100vw - 80px)}
html.lec-has-energy-dock :is(.gt_float_switcher,.gtranslate_wrapper){bottom:var(--lec-dock-clearance,12px)!important;z-index:1210}
html.lec-has-energy-dock .gt_options{max-height:50vh;overflow-y:auto}
html.lec-has-energy-dock .fm-bar{bottom:var(--lec-dock-clearance,12px)!important;top:auto!important;max-height:calc(100vh - var(--lec-dock-clearance,0px) - 32px);overflow:auto;z-index:1100}
html.lec-has-energy-dock .lec-social-tools{position:fixed;right:8px;bottom:var(--lec-dock-clearance,12px);z-index:1100;max-height:calc(100vh - var(--lec-dock-clearance,0px) - 32px);max-width:150px;overflow:auto;border:1px solid #dce3ed;border-radius:12px;background:#fff;box-shadow:0 4px 16px #0b073a1a}
html.lec-has-energy-dock .lec-social-tools>summary{padding:10px 12px;color:#0b073a;font:700 14px/1.4 Arial,sans-serif;cursor:pointer}
html.lec-has-energy-dock .lec-social-tools>.fm-bar{position:static!important;transform:none!important;margin:0;max-height:none;max-width:none}
html.lec-has-energy-dock .lec-social-tools:focus-within{outline:2px solid #8c0e11;outline-offset:2px}
@media(min-width:768px){html.lec-has-energy-dock .lec-social-tools>summary{display:none}}
@media(max-width:767px){
 [data-lec-energy-nav] .lec-energy-nav__grid{display:flex;overflow-x:auto;gap:12px;padding:5px 4px 16px;scroll-snap-type:x mandatory}
 [data-lec-energy-nav] .lec-energy-nav-card{flex:0 0 78%;min-height:0;scroll-snap-align:start}
 [data-lec-energy-nav] .lec-energy-nav-card__art{height:88px}
 [data-lec-energy-nav] .lec-energy-nav__sticky{width:calc(100% - 24px);max-width:none;padding:6px}
 [data-lec-energy-nav] .lec-energy-nav__sticky a{min-width:92px;min-height:62px;font-size:14px}
 [data-lec-energy-nav] .lec-energy-nav__sticky-label{display:none}
 .lec-section--energy-intro .lec-energy-intro-hero__copy .lec-section-title{font-size:28px}
 .lec-methodology-details{padding-inline:14px}
 .lec-methodology-details .lec-energy-intro-badges{grid-template-columns:repeat(2,minmax(0,1fr))}
 html.lec-has-energy-dock .lec-social-tools{max-height:50vh}
}
@media print{.lec-methodology-details>*{display:block!important}html.lec-has-energy-dock :is(.fm-bar,.gt_float_switcher,.gtranslate_wrapper){display:none!important}}
.lec-lazy-component{min-width:0;min-height:var(--lec-component-height,520px);width:100%;border:1px solid #dce3ed;border-radius:16px;background:#f8fafc}
.lec-lazy-component__status{padding:28px;color:#0b073a;font:16px/1.6 Arial,sans-serif}
.lec-lazy-component__status>strong{font-size:22px}
.lec-lazy-component__status button{min-height:44px;padding:10px 18px;border:1px solid #d3dce7;border-radius:12px;background:#fff;color:#0b073a;font:700 16px/1.4 Arial,sans-serif;cursor:pointer}
.lec-lazy-component__status button:focus-visible{outline:3px solid #8c0e11;outline-offset:3px}
.lec-lazy-component[data-lec-component-state="ready"]{min-height:0;border:0;background:transparent}
.lec-lazy-component[data-lec-component-state="error"]{min-height:0;border-color:#8c0e11;background:#fff8f8}
@media(max-width:767px){.lec-lazy-component{min-height:var(--lec-component-height-mobile,400px)}.lec-lazy-component__status{padding:20px}}
