/* Project Intelligence — shared institutional energy transition design system
   Visual-only. No station/project figures, status logic or data transforms. */
:root {
 --pi-navy:#102c47; --pi-navy-deep:#082942; --pi-ink:#193550;
 --pi-forest:#087c6c; --pi-mint:#30d5a4; --pi-azure:#238db5;
 --pi-solar:#eeb351; --pi-muted:#617d91; --pi-line:#dce8ee;
 --pi-surface:#fff; --pi-shell:#f4f9fb;
 --pi-shadow:0 12px 36px rgba(14,49,77,.085);
 --pi-shadow-hover:0 19px 42px rgba(14,49,77,.13);
}
body.product-renewables,body.product-ev{
 color:var(--pi-ink);background:
 radial-gradient(ellipse at 8% -5%,rgba(83,195,189,.16),transparent 36%),
 radial-gradient(ellipse at 98% 8%,rgba(47,129,181,.10),transparent 35%),
 linear-gradient(180deg,#eef6f9,#f6fafc 530px,#f8fbfd);
 -webkit-font-smoothing:antialiased;
}
body.product-renewables .container,body.product-ev .ev-container{max-width:1550px;}
/* A single product identity and nav across both independent pages */
.product-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
 margin-bottom:23px!important;padding:2px 0 0;}
.product-lockup{display:inline-flex;align-items:center;gap:12px;color:var(--pi-ink);text-decoration:none;min-width:0;}
.product-lockup:hover .product-symbol{box-shadow:0 10px 28px rgba(3,110,112,.32);}
.product-symbol{position:relative;display:grid;place-items:center;width:49px;height:49px;flex:0 0 49px;
 border-radius:16px;background:linear-gradient(145deg,#0a997e,#0a6e91 60%,#284d99);
 box-shadow:0 9px 22px rgba(7,124,124,.2);color:white;transition:box-shadow .2s ease;}
.product-symbol::before{content:"";position:absolute;inset:4px;border:1px solid #ffffff42;border-radius:12px}
.product-symbol svg{width:27px;height:27px;position:relative}
.product-label{display:block;font-size:10px;letter-spacing:1.35px;font-weight:850;color:#08877b}
.product-name{display:block;font-size:20px;line-height:1.17;letter-spacing:-.7px;color:#1a3653;font-weight:880}
.product-nav{display:flex;gap:5px;border:1px solid #d9e7ea;border-radius:14px;padding:5px;
 background:rgba(255,255,255,.86);box-shadow:0 4px 18px #17365108;}
.product-nav a{display:inline-flex;gap:9px;align-items:center;justify-content:center;text-decoration:none;
 border-radius:10px;padding:10px 16px;color:#5c7588;font-size:12px;line-height:1.2;font-weight:820;
 transition:color .2s,background .2s;white-space:nowrap}
.product-nav a:hover{background:#edf8f6;color:#087968}
.product-nav a[aria-current="page"]{background:linear-gradient(120deg,#0d7e76,#087b91);color:#fff;
 box-shadow:0 5px 13px rgba(4,115,118,.20)}
.product-nav svg{height:16px;width:16px;flex:0 0 16px}
.product-market{color:#678499;font-weight:830;letter-spacing:1.1px;font-size:10px;white-space:nowrap}
/* section headers, content affordances */
.product-trustbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-3px 0 20px}
.product-trustbar span{display:inline-flex;align-items:center;gap:7px;background:#eaf5f6;border:1px solid #d7e9e9;
 color:#35697a;border-radius:30px;padding:7px 11px;font-size:10px;letter-spacing:.2px;font-weight:810}
.product-trustbar span::before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#18b89b;box-shadow:0 0 0 3px #16b99713}
.product-trustbar span.is-dated::before{background:#dba84d;box-shadow:0 0 0 3px #f1b83a20}
.product-trustbar span.is-uncertain::before{background:#93a5b6;box-shadow:0 0 0 3px #95a6b71a}
.product-section-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;
 letter-spacing:1.45px;color:#088c80;font-weight:860;font-size:10px;margin-bottom:7px}
.product-section-kicker::before{content:"";width:23px;height:2px;background:linear-gradient(90deg,#14c99b,#82c3db);border-radius:10px}
body.product-renewables .sectionline h2,body.product-ev .ev-title-row h2,body.product-ev .ev-panel-head h2,
body.product-ev .ev-programme h2{letter-spacing:-.65px}
body.product-renewables .analytics-card,body.product-renewables .insight-card,
body.product-renewables .tablewrap,body.product-renewables .detail,
body.product-ev .ev-kpi,body.product-ev .ev-side-card,body.product-ev .ev-list-card,
body.product-ev .ev-dossier-card,body.product-ev .ev-programme{
 border:1px solid var(--pi-line);box-shadow:var(--pi-shadow);
}
body.product-renewables .analytics-card,body.product-renewables .insight-card,
body.product-renewables .tablewrap,body.product-renewables .detail{
 border-radius:19px;
}
body.product-renewables .kpi,body.product-ev .ev-kpi{transition:transform .2s,box-shadow .2s,border-color .2s}
@media(hover:hover){body.product-renewables .kpi:hover,body.product-ev .ev-kpi:hover{
 transform:translateY(-3px);box-shadow:var(--pi-shadow-hover);border-color:#c9e6e0}}
/* Renewable: subtle energy-grid details on top of original illustration */
body.product-renewables .hero{border-radius:25px;isolation:isolate;box-shadow:0 20px 46px #102e4960;
 background-position:center,65% 57%;position:relative;overflow:hidden}
body.product-renewables .hero::after,body.product-ev .ev-hero::after{
 content:"";position:absolute;left:0;right:0;bottom:0;height:4px;pointer-events:none;
 background:linear-gradient(90deg,#42d3a5 0%,#2faeb8 43%,#7dc6df 73%,#e7b65d 100%);
 opacity:.94;z-index:2}
body.product-renewables .hero::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:repeating-linear-gradient(120deg,transparent,transparent 97px,#b2f3e00a 98px,#b2f3e00a 99px);
 opacity:.75;z-index:0}
body.product-renewables .hero-copy,body.product-renewables .hero-right{position:relative;z-index:1}
body.product-renewables .hero-kicker{display:inline-flex;gap:9px;align-items:center;color:#a6f8dc}
body.product-renewables .hero-kicker::before{content:"";display:inline-block;width:8px;height:8px;
 border-radius:50%;background:#38e7aa;box-shadow:0 0 14px #4ef1bf}
body.product-renewables .hero h1 span{color:#7cf0d3}
body.product-renewables .hero-right{box-shadow:0 7px 24px #02243e35;backdrop-filter:blur(9px)}
body.product-renewables .kpi{background:linear-gradient(158deg,#fff,#f9fcfe)}
body.product-renewables .analytics-card{background:linear-gradient(165deg,#fff 66%,#f7fbfc)}
body.product-renewables .donut{filter:drop-shadow(0 9px 11px #125a671c)}
body.product-renewables .state-track span{background:linear-gradient(90deg,#5bd4bf,#148db2)}
body.product-renewables .tech-tag{border:1px solid #e2e9ed;white-space:nowrap}
body.product-renewables .tech-tag.solar{border-color:#f2dfaf}
body.product-renewables .tech-tag.wind{border-color:#c9e7f5}
body.product-renewables .tech-tag.hybrid{border-color:#e5d7f6}
body.product-renewables .detail{border-top:4px solid #31a99f}
body.product-renewables .detail h3{color:#164563}
body.product-renewables .notice{background:#fffaf0;border-left-color:#e4ac41}
body.product-renewables .tablewrap tbody tr.active{background:#eaf9f5}
body.product-renewables .tablewrap tbody tr.active td:first-child{box-shadow:inset 3px 0 #16ab8b}
body.product-renewables .source,body.product-ev .ev-actions a:first-child{
 background:linear-gradient(125deg,#087d75,#0c6a89);box-shadow:0 5px 12px #0b8e8722}
body.product-renewables .geography-section .geo-location{box-shadow:var(--pi-shadow-hover)}
body.product-renewables .eco{background:linear-gradient(164deg,#fff,#fbfefd)}
body.product-renewables .eco-item{transition:border-color .2s}
body.product-renewables .eco-item:hover{border-color:#b3dbd8}
/* EV: electric charging design overlays and reinforced map */
body.product-ev .ev-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:25px;
 background:
 linear-gradient(97deg,#092b49 0%,#104661 57%,rgba(8,84,80,.63) 100%),
 url("ev-energy-art.svg") right center/auto 100% no-repeat,
 #0c3d54;box-shadow:0 20px 44px #143e5460}
body.product-ev .ev-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(100deg,transparent 45%,#3cffbd16 80%),repeating-linear-gradient(0deg,transparent 0 52px,#64d8b40a 53px 54px)}
body.product-ev .ev-hero-copy,body.product-ev .ev-hero-progress{position:relative;z-index:1}
body.product-ev .ev-hero .ev-overline{display:inline-flex;gap:9px;align-items:center;color:#a1f7dc}
body.product-ev .ev-hero .ev-overline::before{content:"";width:8px;height:8px;border-radius:50%;background:#39eec1;box-shadow:0 0 13px #40eeb9}
body.product-ev .ev-hero h1 em{color:#80f4d6}
body.product-ev .ev-hero-progress{border-radius:17px;backdrop-filter:blur(10px);box-shadow:0 9px 25px #03293a40}
body.product-ev .ev-kpi{background:linear-gradient(150deg,#fff,#f9fcff)}
body.product-ev .ev-map-card{border:1px solid #247889;box-shadow:0 21px 48px #0c3d5f35}
body.product-ev .ev-map-card:after{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse at 43% 50%,transparent 25%,#041b301f 91%);z-index:1}
body.product-ev #ev-map{filter:drop-shadow(0 13px 19px #002d445c)}
body.product-ev .ev-marker .marker-core{filter:drop-shadow(0 0 3px #8effe0)}
body.product-ev .ev-marker.selected .marker-core{filter:drop-shadow(0 0 8px #6dfed3)}
body.product-ev .ev-side-card{border-top:4px solid #0bb99b}
body.product-ev .ev-evidence-note,body.product-ev .intel-source-note{background:#fffaf0;border-left-color:#dfa43c}
body.product-ev .ev-detail-grid>div,body.product-ev .intel-kv{background:linear-gradient(140deg,#f8fcfd,#f1f7f9)}
body.product-ev .ev-intel-kpis>div{border-top:3px solid #27b69e}
body.product-ev .ev-dossier-card{border-top:4px solid #179c97}
body.product-ev .intel-proof.has{background:linear-gradient(125deg,#e7f8f0,#f5fdf9)}
body.product-ev .intel-proof.gap{background:linear-gradient(125deg,#f2f6f8,#fafcfd)}
body.product-ev .intel-next{background:linear-gradient(125deg,#0e314d,#0c5964)}
body.product-ev .ev-export{background:linear-gradient(95deg,#e1f9f0,#ecf7fa);box-shadow:0 5px 16px #169a8e14}
body.product-ev .ev-view-switch button.active{background:linear-gradient(115deg,#097a75,#11828b);color:white}
body.product-ev .ev-view-switch button.active span{color:#075c53;background:#e0fbef}
body.product-ev tbody tr.active{background:#e8f8f2}
body.product-ev .ev-programme{border-top:3px solid #58a7bc}
body.product-ev .ev-footer,body.product-renewables .footer{border-top:1px solid #d6e5eb;padding-top:20px}
body.product-ev .ev-footer a{color:#0e7f79}
body.product-ev .ev-footer-note,body.product-renewables .callout{background:#eaf5f8;border-color:#d3e6eb}
/* compact design polish and graceful accessibility */
.product-nav a:focus-visible,.product-lockup:focus-visible,
body.product-ev button:focus-visible,body.product-renewables a:focus-visible{
 outline:3px solid #24c1a8;outline-offset:3px}
@media(max-width:900px){
 .product-market{display:none}
 .product-header{flex-wrap:nowrap}
 .product-nav a{padding:10px 12px}
 body.product-ev .ev-hero{background-position:center,70% center,center}
}
@media(max-width:660px){
 .product-header{display:flex!important;align-items:center;flex-wrap:wrap;gap:12px}
 .product-lockup{flex:1 1 auto}
 .product-name{font-size:18px}
 .product-market{display:none}
 .product-nav{width:100%;justify-content:stretch;order:3}
 .product-nav a{flex:1;padding:11px 9px;font-size:11px;white-space:normal;text-align:center}
 .product-trustbar{gap:6px;margin-top:12px}
 .product-trustbar span{font-size:9px;padding:6px 8px}
 body.product-renewables .hero,body.product-ev .ev-hero{border-radius:19px}
 body.product-ev .ev-hero{background-size:cover,auto 80%,cover}
 body.product-ev .ev-dossier-card{border-radius:16px}
}
@media(prefers-reduced-motion:reduce){
 .product-nav a,.product-symbol,body.product-renewables .kpi,body.product-ev .ev-kpi{transition:none!important}
 body.product-ev .ev-marker .marker-pulse{animation:none!important}
}

/* Vector icon sizing shared by both executive scorecards */
body.product-renewables .kpi-icon svg,body.product-ev .kpi-symbol svg{height:24px;width:24px;stroke:currentColor;stroke-width:1.9}
@media(max-width:660px){body.product-renewables .kpi-icon svg,body.product-ev .kpi-symbol svg{height:20px;width:20px}}

/* Unified Project-100 top navigation for portal and all research modules. */
.pi-global-header{max-width:100%;margin-bottom:23px!important}
.pi-global-header .product-lockup{flex-shrink:0}
.pi-global-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;max-width:100%}
.pi-global-nav a{padding:10px 12px;font-size:11px}
.pi-global-header .product-market{font-size:9px}
@media(max-width:1320px){.pi-global-header{justify-content:center!important}.pi-global-header .product-market{display:none}.pi-global-header .product-lockup{margin-right:auto}.pi-global-nav{margin-left:auto}}
@media(max-width:850px){.pi-global-header .product-lockup{margin-right:0}.pi-global-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch}.pi-global-nav a{flex-shrink:0}.pi-global-header{gap:12px}}
