/* Homepage hero — wide background image with content above it.
   Scoped to .nrg-hero so nothing else in the design is affected. */
.nrg-hero{
	--nrg-midnight:#071521;--nrg-red:#B7CE74;--nrg-red-deep:#981c2b;
	--nrg-edge:max(var(--gutter,clamp(20px,4vw,72px)),calc((100vw - 1340px)/2));
	position:relative;isolation:isolate;display:flex;align-items:flex-end;padding:0;margin:0;
	min-height:clamp(680px,100svh,880px);
	color:#fff;background:var(--nrg-midnight);overflow:hidden;
}
.nrg-hero::before{content:"";position:absolute;inset:0;z-index:-2;
	background:radial-gradient(circle at 78% 34%,rgba(12,34,51,.12),transparent 34%),linear-gradient(120deg,rgba(7,21,33,.15),rgba(7,21,33,.08))}
.nrg-hero__media{position:absolute;inset:0;z-index:-3;overflow:hidden}
.nrg-hero__media img{width:100%;height:100%;min-width:100%;min-height:100%;max-width:none;object-fit:cover;object-position:center 42%;
	filter:saturate(.82) contrast(1.08) brightness(.78)}
.nrg-hero__shade{position:absolute;inset:0;
	background:linear-gradient(0deg,rgba(5,16,24,.55),transparent 45%),linear-gradient(rgba(5,16,24,.35),rgba(5,16,24,.35))}
.nrg-hero__grid{position:absolute;inset:0;z-index:-1;opacity:.12;
	background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
	background-size:64px 64px;
	-webkit-mask-image:linear-gradient(to right,transparent 25%,#000 100%);mask-image:linear-gradient(to right,transparent 25%,#000 100%)}

.nrg-hero__content{position:relative;margin: 0 auto;z-index:2;width:100%;max-width:calc(1100px + 2 * var(--nrg-edge));
	padding:clamp(150px,20vh,190px) var(--nrg-edge) clamp(64px,9vh,96px)}
.nrg-hero__eyebrow{margin:0 0 18px;font-size:.72rem;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;font-weight:750;color:#B7CE74}
.nrg-hero .nrg-hero__title{margin:0;max-width:1100px;font-family:var(--sans);font-weight:720;
	font-size:clamp(2.75rem,5.4vw,5.4rem);line-height:1.06;letter-spacing:-.035em;color:#fff;text-wrap:balance}
.nrg-hero__lead{margin:26px 0 0;max-width:780px;font-size:clamp(1.12rem,1.5vw,1.35rem);line-height:1.55;color:#c3ccd3}

.nrg-hero__btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.nrg-hero__link{display:inline-block;margin-top:26px;padding-bottom:3px;border-bottom:1px solid currentColor;color:#fff;font-weight:750;text-decoration:none;transition:opacity .2s ease}
.nrg-hero__link:hover{opacity:.8}
.nrg-hero__link:focus-visible{outline:2px solid #fff;outline-offset:4px}
.nrg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:6px;border:1px solid transparent;
	font-size:1rem;line-height:1.2;font-weight:750;letter-spacing:.01em;text-decoration:none;transition:.2s ease}
.nrg-btn:hover{transform:translateY(-1px)}
.nrg-btn--primary{background:#00664f;border-color:#00664f;color:#fff}
.nrg-btn--primary:hover{background:#fff;border-color:#fff;color:#00664f}
.nrg-btn--secondary{border-color:rgba(255,255,255,.36);background:transparent;color:#fff}
.nrg-btn--secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.nrg-btn:focus-visible,.nrg-hero__sectors a:focus-visible{outline:2px solid #fff;outline-offset:3px}

.nrg-hero__sectors{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:44px;padding-top:22px;
	border-top:1px solid rgba(255,255,255,.14);font-size:.83rem;line-height:1.4;text-transform:uppercase;letter-spacing:.09em;color:#aeb9c1}
.nrg-hero__sectors a{color:inherit;text-decoration:none;transition:color .2s ease}
.nrg-hero__sectors a:hover{color:#fff}

.nrg-hero__stamp{position:absolute;z-index:2;right:var(--nrg-edge);bottom:72px;width:290px;padding:20px 22px 20px 26px;
	border-left:2px solid var(--nrg-red);background:rgba(7,21,33,.48);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	color:#aeb9c1;font-size:.95rem;line-height:1.5}
.nrg-hero__stamp strong{display:block;margin-bottom:8px;color:#fff;font-size:1.2rem;letter-spacing:.04em}
@supports not (backdrop-filter:blur(8px)){.nrg-hero__stamp{background:rgba(7,21,33,.9)}}

@media(min-width:1151px){.nrg-hero__sectors{max-width:calc(100% - 340px)}}
@media(max-width:1150px){.nrg-hero__stamp{display:none}}
@media(max-width:760px){
	.nrg-hero{min-height:clamp(620px,88svh,760px); padding-top: 10px;}
	.nrg-hero__media img{object-position:62% center}
	.nrg-hero__content{padding:96px 20px 56px}
	.nrg-hero .nrg-hero__title{font-size:clamp(2.55rem,12vw,4.1rem);line-height:1.01;letter-spacing:-.045em}
	.nrg-hero__lead{margin-top:22px;font-size:1.05rem}
	.nrg-hero__btns{display:grid;grid-template-columns:1fr;gap:12px;margin-top:30px}
	.nrg-btn{width:100%;min-height:52px}
	.nrg-hero__sectors{display:none}
	.eco-header-cta{display:none}
}
@media(max-width:420px){.nrg-hero .nrg-hero__title{font-size:clamp(2.3rem,11.6vw,3.4rem)}}
@media print{.nrg-hero{min-height:auto;color:#000;background:#fff}.nrg-hero__media,.nrg-hero__grid{display:none}}

/* ---------- Transparent header on the homepage (solid once scrolled / menu open) ---------- */
.home .eco-header{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:1px solid transparent;
	transition:background-color .25s ease,border-color .25s ease}
.home .eco-header{padding-left:max(var(--gutter,clamp(20px,4vw,72px)),calc((100vw - 1340px)/2));padding-right:max(var(--gutter,clamp(20px,4vw,72px)),calc((100vw - 1340px)/2))}
.admin-bar.home .eco-header{top:32px}
@media(max-width:782px){.admin-bar.home .eco-header{top:46px}}
.eco-header.is-solid{background:rgba(7,21,33,.97);border-bottom-color:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.home .eco-brand{background:none;padding:0;border-radius:0;width:clamp(190px,16vw,250px)}
.home .eco-header nav>a,.home .eco-header nav>.mega>summary{color:#fff}
.home .eco-header .mega summary:after{color:#B7CE74}
.home .eco-header-cta{background:#00664f;border:1px solid #00664f;color:#fff;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.home .eco-header-cta:hover{background:#fff;border-color:#fff;color:#00664f}
.home .eco-header nav>a:focus-visible,.home .eco-header summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:1180px){
	.home .eco-header{padding-left:20px;padding-right:20px}
	.home .eco-brand{width:190px}
	.home .eco-header nav>a,.home .eco-header nav>.mega>summary{border-bottom-color:rgba(255,255,255,.14)}
}

/* ---------- Mobile / tablet menu on the homepage ----------
   The homepage header is position:fixed, so a long open menu (e.g. Solutions) used to run off the
   bottom of the screen with no way to scroll to the last links. Cap it to the viewport and let it scroll. */
@media(max-width:1180px){
	.home .eco-header nav.open{max-height:calc(100vh - 104px);max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:16px}
	.admin-bar.home .eco-header nav.open{max-height:calc(100dvh - 150px)}
}