/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.grid{display:grid}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--green:#9bc53d;--lime:#c6ef58;--ink:#101310;--cream:#f1f0e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:#fff;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.nav-wrap{z-index:20;border-bottom:1px solid #ffffff25;align-items:center;width:100%;height:94px;padding:0 5vw;display:flex;position:absolute;top:0;left:0}.brand{letter-spacing:-2px;align-items:center;width:240px;display:flex}.brand-gfr{color:var(--lime);font-size:31px;font-weight:900;transform:skew(-9deg)}.brand-group{letter-spacing:5px;color:#fff;margin-left:9px;font-size:13px;font-weight:700}nav{color:#d4d8d1;gap:36px;margin:auto;font-size:13px;display:flex}nav a:hover{color:var(--lime)}.nav-cta{text-align:right;width:240px;font-size:13px;font-weight:700}.nav-cta span,.secondary span{color:var(--lime);margin-left:9px}.hero{background:radial-gradient(circle at 75% 46%,#334531 0,#172019 30%,#0b0e0c 67%);align-items:center;height:100vh;min-height:850px;padding:120px 5vw 65px;display:flex;position:relative;overflow:hidden}.grid-lines{opacity:.16;transform-origin:bottom;background-image:linear-gradient(#fff 1px,#0000 1px),linear-gradient(90deg,#fff 1px,#0000 1px);background-size:90px 90px;position:absolute;inset:0;transform:perspective(600px)rotateX(65deg)scale(1.5);-webkit-mask-image:linear-gradient(90deg,#0000 35%,#000);mask-image:linear-gradient(90deg,#0000 35%,#000)}.hero-copy{z-index:5;width:55%;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:3px;align-items:center;gap:12px;font-size:11px;font-weight:700;display:flex}h1{letter-spacing:-5px;max-width:950px;margin:28px 0;font-size:clamp(52px,5.5vw,92px);font-weight:500;line-height:.96}h1 em{color:var(--lime);font-style:normal}.intro{color:#b9c0b9;max-width:580px;font-size:16px;line-height:1.7}.actions{gap:14px;margin-top:36px;display:flex}.actions a{border:1px solid #ffffff40;padding:17px 22px;font-size:13px;font-weight:700}.primary{background:var(--lime);color:#111;border-color:var(--lime)!important}.actions span{margin-left:26px}.primary:hover{background:#fff}.scene-wrap{perspective:1000px;width:56vw;height:70%;position:absolute;bottom:7%;right:-2vw}.journey-title{z-index:8;border-right:3px solid var(--lime);text-transform:uppercase;flex-direction:column;align-items:flex-end;padding-right:15px;display:flex;position:absolute;top:0;right:8%}.journey-title span{color:#9ca69d;letter-spacing:2px;font-size:9px}.journey-title b{letter-spacing:.5px;margin-top:6px;font-size:15px}.journey-steps{z-index:9;grid-template-columns:1fr 1fr;gap:6px;width:360px;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:68px;right:8%}.journey-steps li{background:#0a0f0bcc;border:1px solid #ffffff24;align-items:center;gap:9px;min-height:54px;padding:9px 10px;animation:8s infinite step-focus;display:flex}.journey-steps li:nth-child(2){animation-delay:2s}.journey-steps li:nth-child(3){animation-delay:4s}.journey-steps li:nth-child(4){animation-delay:6s}.journey-steps li>b{color:var(--lime);letter-spacing:1px;font-size:9px}.journey-steps li span{flex-direction:column;display:flex}.journey-steps strong{font-size:12px;line-height:1.2}.journey-steps small{color:#aeb7ae;margin-top:2px;font-size:8px}@keyframes step-focus{0%,18%{border-color:var(--lime);background:#304029e8;transform:translateY(-2px);box-shadow:0 0 20px #aee14025}23%,to{box-shadow:none;background:#0a0f0bcc;border-color:#ffffff24;transform:none}}.scene{transform-style:preserve-3d;transition:transform .5s;position:absolute;inset:6% 0 0;transform:rotateX(58deg)rotate(-34deg)}.scene-wrap:hover .scene{transform:rotateX(55deg)rotate(-30deg)scale(1.03)}.terrain{background:#172119;border:1px solid #a9d84f35;position:absolute;box-shadow:inset 0 0 80px #91c93a14}.terrain-a{clip-path:polygon(9% 0,100% 11%,92% 90%,16% 100%,0 68%);width:74%;height:82%;top:7%;left:13%}.terrain-b{background:#202b20;width:44%;height:32%;top:48%;left:1%}.substation{width:210px;height:180px;transform-style:preserve-3d;position:absolute;top:34%;left:36%}.base{background:#313a32;border:2px solid #a7c67c;position:absolute;inset:0;box-shadow:0 0 30px #b8ed4650}.transformer{background:#8da55f;width:90px;height:65px;position:absolute;top:52px;left:60px;transform:translateZ(45px);box-shadow:18px 18px #51603d}.transformer i{background:repeating-linear-gradient(#d9e7b9 0 4px,#49583d 4px 8px);width:13px;height:50px;margin:4px 5px;display:inline-block;position:relative;transform:translateY(-38px)}.cage{border:4px double #afc38c;width:45px;height:45px;position:absolute;transform:translateZ(25px)}.cage-one{top:20px;left:18px}.cage-two{bottom:20px;right:16px}.data-centre{border-left:8px solid var(--green);background:#414c42;width:190px;height:96px;position:absolute;top:15%;left:62%;transform:translateZ(52px);box-shadow:28px 28px #252d26}.data-centre b{background:repeating-linear-gradient(90deg,#111 0 3px,#768276 3px 5px);width:40px;height:28px;margin:17px 8px 0;display:inline-block}.data-centre span{letter-spacing:2px;font-size:9px;position:absolute;bottom:8px;right:12px}.solar{grid-template-columns:repeat(2,62px);gap:7px;display:grid;position:absolute;transform:translateZ(12px)}.solar-one{top:19%;left:9%}.solar-two{bottom:5%;right:5%}.solar i{background:linear-gradient(45deg,#172d2b,#416763);border:1px solid #9abdb1;width:62px;height:42px;box-shadow:inset 0 0 0 1px #172b28}.pylon{width:50px;height:100px;position:absolute;transform:translateZ(45px)}.pylon-one{top:38%;right:16%}.pylon-two{top:53%;right:3%}.pylon i{background:#b9c5b6;width:4px;height:100%;position:absolute;left:23px}.pylon b{background:#b9c5b6;width:47px;height:3px;position:absolute;left:2px}.pylon b:nth-child(2){top:22px}.pylon b:nth-child(3){width:38px;top:43px;left:6px}.pylon b:nth-child(4){width:28px;top:65px;left:11px}.power-line{transform-origin:0;background:#c7d8c6;height:1px;position:absolute}.line-one{width:300px;top:43%;right:10%;transform:rotate(-9deg)translateZ(90px)}.line-two{width:260px;top:58%;right:4%;transform:rotate(7deg)translateZ(80px)}.energy-path{background:var(--lime);width:57%;height:3px;box-shadow:0 0 15px var(--lime);animation:2.3s ease-in-out infinite energy;position:absolute;top:58%;left:24%}@keyframes energy{0%,to{opacity:.2;transform:scaleX(.2)}50%{opacity:1;transform:scaleX(1)}}.asset-label{z-index:12;border:1px solid #bce84a70;border-left:3px solid var(--lime);color:#fff;opacity:.68;pointer-events:none;background:#0c110ded;width:152px;padding:9px 11px;animation:8s infinite label-focus;position:absolute;transform:rotate(34deg)rotateX(-58deg)translateZ(75px);box-shadow:0 10px 24px #0007}.asset-label small{color:var(--lime);letter-spacing:2px;font-size:8px;font-weight:900;display:block}.asset-label strong{margin-top:3px;font-size:13px;line-height:1.1;display:block}.asset-label span{color:#b8c0b8;margin-top:3px;font-size:9px;display:block}.asset-substation .asset-label{animation-delay:2s;top:-72px;left:-8px}.asset-client .asset-label{animation-delay:6s;top:-77px;left:70px}.asset-grid .asset-label{animation-delay:0s;top:-70px;left:-148px}.civils{background:#71834928;border:2px dashed #b8df62;width:180px;height:48px;position:absolute;top:68%;left:44%;transform:translateZ(9px)}.civils>i{background:#9bc53d;height:5px;display:block;position:absolute;left:12px;right:12px;box-shadow:0 8px #46533d,0 16px #9bc53d}.civils .asset-label{animation-delay:4s;top:65px;left:45px}@keyframes label-focus{0%,18%{opacity:1;border-color:var(--lime);box-shadow:0 0 28px #b8ed4660}23%,to{opacity:.52;border-color:#bce84a45;box-shadow:0 10px 24px #0007}}.flow-key{color:#cbd3ca;text-transform:uppercase;letter-spacing:1.7px;font-size:9px;position:absolute;bottom:0;right:8%}.flow-key>i{background:#bce84a;width:18px;height:1px;margin:0 8px 3px 16px;display:inline-block}.pulse{background:var(--lime);width:7px;height:7px;box-shadow:0 0 12px var(--lime);border-radius:50%;margin-right:8px;display:inline-block}.hero-index{letter-spacing:2px;text-transform:uppercase;color:#adb4ad;align-items:center;gap:13px;font-size:10px;display:flex;position:absolute;bottom:34px;right:5vw}.hero-index strong{color:#fff;font-size:13px}.hero-index span{background:#899188;width:40px;height:1px}.scene-wrap{perspective:1200px;width:57vw;height:68%;bottom:8%;right:-1vw}.cinema-frame{perspective:900px;isolation:isolate;background:linear-gradient(#8d9b9a 0,#5e706d 39%,#38453e 42%,#171c17 43%);border:1px solid #ffffff20;position:absolute;inset:0;overflow:hidden;box-shadow:0 35px 90px #000b}.sky-glow{background:radial-gradient(circle at 73% 12%,#f2efd89c 0 2%,#d8e3c94c 3%,#0000 22%),linear-gradient(175deg,#0000 48%,#a8d94a18 49%,#0000 51%);position:absolute;inset:0}.camera-world{width:130%;height:130%;transform-style:preserve-3d;transform-origin:50% 70%;animation:12s cubic-bezier(.55,.05,.42,.95) infinite camera-flight;position:absolute;top:-10%;left:-15%}@keyframes camera-flight{0%,8%{transform:translate3d(16%,3%,180px)rotateY(-10deg)rotateX(1deg)scale(1.05)}27%{transform:translate3d(5%,1%,80px)rotateY(-4deg)rotateX(0)scale(1.08)}52%{transform:translate3d(-10%,0,-80px)rotateY(4deg)rotateX(-1deg)scale(1.12)}76%{transform:translate3d(-24%,-2%,-210px)rotateY(9deg)rotateX(0)scale(1.18)}92%,to{transform:translate3d(-34%,-3%,-320px)rotateY(13deg)rotateX(1deg)scale(1.22)}}.ground-plane{transform-origin:bottom;background:linear-gradient(96deg,#24271f,#48503b 38%,#343b2c 62%,#1f241d),repeating-linear-gradient(90deg,#0000 0 68px,#aed9571c 69px 70px);border-top:1px solid #72895a;height:66%;position:absolute;bottom:-13%;left:-10%;right:-10%;transform:rotateX(69deg);box-shadow:inset 0 35px 55px #0c110a99}.ground-plane i{background:#bceb56;width:3px;height:3px;position:absolute;box-shadow:0 0 12px #bceb56}.ground-plane i:first-child{top:24%;left:12%}.ground-plane i:nth-child(2){top:63%;left:31%}.ground-plane i:nth-child(3){top:18%;left:55%}.ground-plane i:nth-child(4){top:70%;left:72%}.ground-plane i:nth-child(5){top:38%;left:88%}.road{transform-origin:bottom;background:#353a35;border-left:4px solid #656d65;border-right:4px solid #656d65;width:105%;height:29%;position:absolute;bottom:0;left:16%;transform:rotateX(68deg)rotate(-5deg)}.road span{background:#bac1ad;width:4px;height:36%;position:absolute;left:50%;box-shadow:0 88px #bac1ad,0 176px #bac1ad}.cinema-pylon{z-index:4;filter:drop-shadow(16px 20px 10px #0008);width:105px;height:270px;position:absolute}.pylon-near{bottom:8%;left:8%;transform:translateZ(130px)scale(1.15)}.pylon-far{bottom:34%;left:32%;transform:translateZ(-120px)scale(.64)}.cinema-pylon>i{clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:repeating-linear-gradient(57deg,#0000 0 15px,#9ba49e 16px 18px),repeating-linear-gradient(-57deg,#0000 0 15px,#77817b 16px 18px);border-left:3px solid #b4bcb7;border-right:3px solid #68716c;width:55px;height:100%;position:absolute;left:25px}.cinema-pylon>b{clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);background:#9ba69d;width:95px;height:6px;position:absolute;left:5px}.cinema-pylon>b:first-of-type{top:48px}.cinema-pylon>b:nth-of-type(2){width:75px;top:91px;left:15px}.cinema-pylon>b:nth-of-type(3){width:56px;top:133px;left:24px}.cinema-pylon>em{transform-origin:0;opacity:.8;border-top:2px solid #a8b1a7;border-radius:50%;width:330px;height:65px;position:absolute;top:54px}.cinema-pylon>em:first-of-type{left:87px;transform:rotate(-4deg)}.cinema-pylon>em:last-of-type{top:97px;left:75px;transform:rotate(-2deg)}.cinema-pylon>span{z-index:2;background:repeating-linear-gradient(#d9e0d8 0 3px,#646c68 3px 5px);border-radius:4px;width:7px;height:20px;position:absolute;top:54px;box-shadow:0 12px 0 -2px #8e9891}.cinema-pylon>span:first-of-type{left:10px}.cinema-pylon>span:nth-of-type(2){top:97px;left:49px}.cinema-pylon>span:nth-of-type(3){right:10px}.cinema-substation{z-index:3;filter:drop-shadow(20px 24px 15px #07100ba0);--blueprint:#bfe8f5;--blueprint-dim:#83cada;width:310px;height:205px;position:absolute;bottom:22%;left:42%;transform:translateZ(-35px)rotateY(-5deg)}.station-pad{transform-origin:bottom;background-image:linear-gradient(#89d4e526 1px,#0000 1px),linear-gradient(90deg,#89d4e526 1px,#0000 1px);background-size:19px 19px;border:1px solid #77cddd88;height:105px;position:absolute;bottom:-12px;left:-18px;right:-18px;transform:rotateX(67deg)skew(-8deg)}.station-fence{border:2px solid var(--blueprint-dim);background:repeating-linear-gradient(45deg,#0000 0 9px,#8bd4e926 10px 11px);position:absolute;inset:42px -8px 0;box-shadow:0 0 9px #78d6eb2f}.station-fence:before,.station-fence:after{content:"";background:var(--blueprint);width:2px;height:calc(100% + 8px);position:absolute;top:-8px}.station-fence:before{left:31%}.station-fence:after{right:24%}.station-control{z-index:3;border:2px solid var(--blueprint);background:repeating-linear-gradient(0deg,#0000 0 17px,#8bd4eb19 18px 19px);width:72px;height:78px;position:absolute;bottom:20px;right:17px}.station-control:before{content:"";border:2px solid var(--blueprint-dim);transform-origin:0 0;border-left:0;width:16px;height:100%;position:absolute;top:8px;right:-18px;transform:skewY(-37deg)}.station-control:after{content:"";border:2px solid var(--blueprint);transform-origin:0 100%;border-bottom:0;height:13px;position:absolute;top:-15px;left:8px;right:-9px;transform:skew(-49deg)}.station-control span{color:#c7eff8;letter-spacing:1px;font-size:5px;font-weight:800;position:absolute;top:8px;left:7px}.station-control i{background:#8ed3e4;height:1px;position:absolute;left:8px;right:8px}.station-control i:first-of-type{top:31px}.station-control i:nth-of-type(2){top:47px}.station-control i:nth-of-type(3){top:63px}.station-unit{z-index:4;border:2px solid var(--blueprint);background:repeating-linear-gradient(90deg,#0000 0 15px,#8bd4eb1d 16px 17px);width:105px;height:64px;position:absolute;bottom:23px;left:95px;box-shadow:0 0 9px #78d6eb26}.station-unit:before{content:"MV TRANSFORMER";color:#c7eff8;letter-spacing:1px;font-size:5px;font-weight:800;position:absolute;top:8px;left:9px}.station-unit:after{content:"";border:2px solid var(--blueprint-dim);transform-origin:0 0;border-left:0;width:18px;height:100%;position:absolute;top:9px;right:-20px;transform:skewY(-34deg)}.station-unit i{border:1px solid var(--blueprint);background:repeating-linear-gradient(#bfe8f5 0 2px,#0000 2px 5px);border-radius:7px 7px 0 0;width:14px;height:43px;position:absolute;top:-42px}.station-unit i:first-of-type{left:13px}.station-unit i:nth-of-type(2){left:44px}.station-unit i:nth-of-type(3){left:75px}.station-unit b{border:1px solid var(--blueprint-dim);width:17px;height:23px;position:absolute;bottom:8px}.station-unit b:first-of-type{left:12px}.station-unit b:nth-of-type(2){left:43px}.station-unit b:nth-of-type(3){left:74px}.station-bus{z-index:2;border-top:2px solid var(--blueprint);width:220px;height:62px;position:absolute;top:20px;left:12px}.station-bus b{background:var(--blueprint-dim);width:2px;height:57px;position:absolute;top:-2px}.station-bus b:first-of-type{left:22px}.station-bus b:nth-of-type(2){left:92px}.station-bus b:nth-of-type(3){left:162px}.station-bus i{border:1px solid var(--blueprint);background:repeating-linear-gradient(#bfe8f5 0 2px,#0000 2px 4px);border-radius:6px;width:12px;height:17px;position:absolute;top:-8px}.station-bus i:first-of-type{left:17px}.station-bus i:nth-of-type(2){left:87px}.station-bus i:nth-of-type(3){left:157px}.station-gear{z-index:3;gap:13px;display:flex;position:absolute;bottom:16px;left:17px}.station-gear i{border:1px solid var(--blueprint);background:repeating-linear-gradient(0deg,#0000 0 7px,#8bd4eb28 8px 9px);width:15px;height:39px;box-shadow:0 0 5px #7fdef032}.cable-trench{z-index:6;background:linear-gradient(#171a16 0 18%,#080a08 19% 100%);border-top:13px solid #71664d;border-bottom:13px solid #4b4435;border-left:25px solid #625843;border-right:9px solid #413b2e;width:390px;height:102px;position:absolute;bottom:3%;left:61%;transform:rotate(-5deg)skew(-18deg)translateZ(40px);box-shadow:inset 0 13px 20px #000c,inset 0 -8px 12px #252115,0 17px 25px #000c}.cable-trench:before{content:"";clip-path:polygon(0 62%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 3px 2px #0008);background:repeating-linear-gradient(100deg,#88775a 0 13px,#635640 13px 25px);height:13px;position:absolute;top:-21px;left:-25px;right:-9px}.cable-trench:after{content:"";background:linear-gradient(#242a23,#10130f);border:1px solid #8d978d38;height:38px;position:absolute;bottom:8px;left:16px;right:18px;transform:skew(10deg);box-shadow:inset 0 7px 10px #0009}.cable-trench i{z-index:2;background:linear-gradient(#aeb8b1 0 22%,#59635d 45%,#252c28 78%,#151916);border:1px solid #cdd5d087;border-radius:12px;width:315px;height:14px;position:absolute;left:28px;transform:rotate(-1deg);box-shadow:0 7px 8px #000a,inset 0 2px 2px #e8eeea82}.cable-trench i:before{content:"";background:radial-gradient(circle,#111 0 36%,#626d66 39% 61%,#bdc7c0 64% 70%,#28302b 73%);border-radius:50%;width:17px;height:17px;position:absolute;top:-2px;left:-13px;box-shadow:0 2px 5px #000c}.cable-trench i:after{content:"";background:#d4ddd75c;border-radius:2px;height:2px;position:absolute;top:4px;left:28px;right:28px}.cable-trench i:first-child{top:25px}.cable-trench i:nth-child(2){background:linear-gradient(#c99755 0 18%,#85582f 44%,#36281d 79%,#191713);top:47px}.cable-trench i:nth-child(3){background:linear-gradient(#8bac70 0 18%,#526c44 44%,#253020 79%,#151913);top:69px}.cable-trench span{z-index:4;color:#d5eef1;border-left:2px solid var(--lime);letter-spacing:1.5px;text-shadow:0 1px 5px #000;background:#111713dd;padding:4px 7px;font-size:6px;font-weight:800;display:block;position:absolute;top:-31px;right:12px;transform:skew(18deg)}.sketch-excavator{z-index:8;--line:#caeff7;filter:drop-shadow(13px 16px 10px #0009);width:170px;height:145px;position:absolute;bottom:17%;left:64%;transform:translateZ(75px)rotateY(-8deg)scale(.82)}.exc-track{border:2px solid var(--line);background:repeating-linear-gradient(90deg,#0000 0 8px,#a4dfec4a 9px 10px);border-radius:18px 10px 9px 18px;width:103px;height:28px;position:absolute;bottom:4px;left:53px;transform:skew(-9deg)}.exc-track:after{content:"";border:1px solid #8fd1df;border-radius:12px;position:absolute;inset:6px 9px}.exc-track i{border:1px solid #c7eef7;border-radius:50%;width:10px;height:10px;position:absolute;top:8px}.exc-track i:first-child{left:14px}.exc-track i:nth-child(2){left:43px}.exc-track i:nth-child(3){right:13px}.exc-body{border:2px solid var(--line);background:linear-gradient(135deg,#8bd4eb15,#0000);width:76px;height:31px;position:absolute;bottom:30px;left:68px;transform:skew(-14deg)}.exc-body i{border:1px solid #91d8e8;width:21px;height:15px;position:absolute;top:7px;left:6px}.exc-cab{border:2px solid var(--line);clip-path:polygon(22% 0,88% 0,100% 100%,0 100%);background:#79cce218;width:46px;height:52px;position:absolute;bottom:59px;left:101px}.exc-cab:before{content:"";border:1px solid #afe5f0;width:25px;height:27px;position:absolute;top:7px;left:9px}.exc-cab i{background:#9addeb;width:2px;height:65px;position:absolute;bottom:-11px}.exc-cab i:first-child{left:8px;transform:rotate(9deg)}.exc-cab i:last-child{right:7px;transform:rotate(-7deg)}.exc-boom{border:2px solid var(--line);transform-origin:0;border-radius:10px 2px 2px 10px;width:91px;height:17px;position:absolute;bottom:75px;left:67px;transform:rotate(-51deg)}.exc-boom:after{content:"";border:1px solid #8ed6e5;height:3px;position:absolute;top:5px;left:11px;right:5px}.exc-boom i{border:2px solid var(--line);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;right:-7px}.exc-stick{border:2px solid var(--line);transform-origin:100%;width:73px;height:13px;position:absolute;bottom:91px;left:31px;transform:rotate(62deg)}.exc-stick:after{content:"";background:#8ed6e5;height:2px;position:absolute;top:3px;left:5px;right:9px}.exc-stick i{border:2px solid var(--line);border-radius:50%;width:11px;height:11px;position:absolute;top:1px;left:-6px}.exc-bucket{border:3px solid var(--line);clip-path:polygon(16% 0,100% 8%,83% 78%,62% 96%,31% 100%,0 66%);background:#83d0e22b;border-top:0;width:68px;height:47px;position:absolute;bottom:9px;left:-6px;transform:rotate(-13deg);box-shadow:inset -8px -6px #8bd4eb16,0 0 8px #8bd4eb33}.exc-bucket:before{content:"";background:#a9e4ef;height:2px;position:absolute;top:7px;left:11px;right:8px;transform:rotate(5deg)}.exc-bucket:after{content:"";border-left:3px solid var(--line);width:8px;height:11px;box-shadow:15px 2px 0 -2px var(--line),30px 0 0 -2px var(--line);position:absolute;bottom:-7px;left:17px;transform:skew(-18deg)}.renewable-field{z-index:1;--rline:#bce8f2;filter:drop-shadow(20px 22px 17px #0008);width:460px;height:290px;position:absolute;bottom:23%;left:73%;transform:translateZ(-185px)rotateY(-6deg)}.solar-array{transform-origin:0 100%;filter:drop-shadow(11px 15px 7px #0008);grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(5,1fr);gap:10px 7px;width:310px;height:150px;display:grid;position:absolute;bottom:-8px;left:-20px;transform:perspective(430px)rotateX(59deg)rotate(-14deg)skew(-7deg)}.solar-array i{border:2px solid var(--rline);transform-origin:bottom;background:linear-gradient(145deg,#78cce02c,#b6e8f00b);position:relative;box-shadow:inset 0 0 0 1px #8bd8e844}.solar-array i:nth-child(n+6){opacity:.86;transform:scale(.84)}.solar-array i:before,.solar-array i:after{content:"";background:#8bd7e970;position:absolute}.solar-array i:before{width:1px;top:0;bottom:0;left:50%}.solar-array i:after{height:1px;top:50%;left:0;right:0}.solar-array:after{content:"SOLAR ARRAY";color:#c7eff8;letter-spacing:2px;font-size:7px;font-weight:800;position:absolute;bottom:-19px;left:8px}.wind-turbine{transform-origin:50% 100%;position:absolute}.wind-mast{border-left:2px solid #d1f2f8;border-right:1px solid #77c4d4;width:4px;height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)skew(-1deg)}.wind-hub{z-index:2;background:#6bbfd12d;border:2px solid #d0f2f8;border-radius:50%;width:12px;height:12px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.blade{transform-origin:50% 2%;background:#8ed4e31c;border:1px solid #caedf5;border-radius:100% 10% 80%;width:4px;height:52%;position:absolute;top:0;left:50%}.blade-a{transform:translate(-50%,-2%)rotate(3deg)}.blade-b{transform:translate(-50%,-2%)rotate(123deg)}.blade-c{transform:translate(-50%,-2%)rotate(243deg)}.wind-one{width:120px;height:225px;bottom:5px;left:255px}.wind-two{width:82px;height:158px;bottom:59px;left:345px}.wind-three{width:58px;height:112px;bottom:105px;left:410px}.wind-four{width:42px;height:80px;bottom:137px;left:451px}.wind-one .blade{animation:7s linear infinite wind-turn}.wind-two .blade{animation:8s linear infinite wind-turn}.wind-three .blade{animation:9s linear infinite wind-turn}.wind-four .blade{animation:10s linear infinite wind-turn}@keyframes wind-turn{to{rotate:360deg}}.renewable-link{color:#c7eff8;letter-spacing:1.5px;white-space:nowrap;padding-left:20px;font-size:7px;font-weight:800;position:absolute;bottom:-23px;left:246px}.renewable-link:before{content:"";background:var(--lime);width:14px;height:1px;box-shadow:0 0 8px var(--lime);position:absolute;top:4px;left:0}.client-building{z-index:2;width:470px;height:285px;transform-style:preserve-3d;filter:drop-shadow(32px 30px 20px #07100ba0);position:absolute;bottom:15%;left:88%;transform:translateZ(-120px)rotateY(-8deg)}.sketch-block{transform-style:preserve-3d;background:repeating-linear-gradient(0deg,#0000 0 20px,#8bd4eb16 21px 22px),repeating-linear-gradient(90deg,#0000 0 29px,#8bd4eb12 30px 31px);border:2px solid #bfe8f5;position:absolute;box-shadow:0 0 10px #8fdfff35,inset 0 0 35px #76c9df0c}.sketch-block:before{content:"";transform-origin:0 0;background:repeating-linear-gradient(0deg,#0000 0 20px,#8bd4eb20 21px 22px);border:2px solid #8bc9db;border-left:0;width:32px;height:100%;position:absolute;top:15px;right:-34px;transform:skewY(-41deg);box-shadow:0 0 9px #86d9ef30}.sketch-block:after{content:"";transform-origin:0 100%;background:repeating-linear-gradient(90deg,#0000 0 29px,#9ee7f625 30px 31px);border:2px solid #d4f4fc;border-bottom:0;height:26px;position:absolute;top:-28px;left:15px;right:-18px;transform:skew(-49deg)}.sketch-block i{color:#c7eff8;letter-spacing:2px;text-shadow:0 0 9px #74d8ee;font-size:7px;font-style:normal;font-weight:800;position:absolute;top:9px;left:12px}.sketch-block b{background:repeating-linear-gradient(90deg,#9ee7f61e 0 3px,#0000 3px 8px);border:1px solid #9ddced;width:20%;height:46%;position:absolute;bottom:13px;box-shadow:0 0 5px #7fdef03b}.sketch-block b:first-of-type{left:9%}.sketch-block b:nth-of-type(2){left:39%}.sketch-block b:nth-of-type(3){left:69%}.sketch-block u{opacity:.62;background:#8ed3e4;height:1px;text-decoration:none;position:absolute;left:0;right:0}.sketch-block u:first-of-type{top:34%}.sketch-block u:nth-of-type(2){top:57%}.sketch-block u:nth-of-type(3){top:76%}.sketch-block s{border:1px solid #b7e4ef;width:15%;height:25%;text-decoration:none;position:absolute;bottom:13px;box-shadow:inset 0 0 0 3px #8bd3e515}.sketch-block s:first-of-type{left:25%}.sketch-block s:nth-of-type(2){left:58%}.block-main{width:270px;height:165px;bottom:25px;left:52px}.block-main:after{background:repeating-linear-gradient(90deg,#0000 0 34px,#9ee7f62b 35px 36px);height:40px;top:-42px;transform:skew(-49deg)}.block-office{width:80px;height:90px;bottom:23px;left:5px;transform:translateZ(22px)}.block-plant{width:105px;height:118px;bottom:24px;left:315px;transform:translateZ(-18px)}.block-office b,.block-plant b{height:35%}.sketch-grid{transform-origin:bottom;background-image:linear-gradient(#88d3e526 1px,#0000 1px),linear-gradient(90deg,#88d3e526 1px,#0000 1px);background-size:24px 24px;border:1px solid #75c9dd60;height:185px;position:absolute;bottom:-6px;left:-35px;right:5px;transform:rotateX(69deg);box-shadow:0 0 22px #69cde31b}.sketch-road{opacity:.68;border-top:2px dashed #a9deeb;width:455px;height:2px;position:absolute;bottom:2px;left:-5px;transform:rotate(-4deg)}.perspective-lines{pointer-events:none;opacity:.34;background:linear-gradient(15deg,#0000 49.7%,#9bdbea 50%,#0000 50.3%),linear-gradient(-13deg,#0000 49.7%,#9bdbea 50%,#0000 50.3%),linear-gradient(4deg,#0000 49.7%,#9bdbea 50%,#0000 50.3%);width:570px;height:260px;position:absolute;top:16px;left:-70px}.power-stream{z-index:8;background:linear-gradient(90deg,transparent,var(--lime) 20%,var(--lime) 84%,transparent);width:71%;height:5px;box-shadow:0 0 18px var(--lime);position:absolute;bottom:28%;left:29%;overflow:visible;transform:rotate(-4deg)translateZ(90px)}.power-stream i{width:13px;height:13px;box-shadow:0 0 18px 7px var(--lime);background:#fff;border-radius:50%;animation:2.1s linear infinite power-particle;position:absolute;top:-4px}.power-stream i:nth-child(2){animation-delay:.7s}.power-stream i:nth-child(3){animation-delay:1.4s}@keyframes power-particle{0%{opacity:0;left:0}12%{opacity:1}88%{opacity:1}to{opacity:0;left:100%}}.scene-vignette{z-index:15;pointer-events:none;background:radial-gradient(#0000 42%,#050706b8 100%),linear-gradient(90deg,#080b098c 0,#0000 23% 82%,#080b0977);position:absolute;inset:0}.film-label{z-index:20;border-left:3px solid var(--lime);opacity:0;text-shadow:0 2px 12px #000;padding-left:14px;animation:12s infinite film-caption;position:absolute;bottom:11%;left:7%;transform:translateY(12px)}.film-label small{color:var(--lime);letter-spacing:2px;font-size:9px;display:block}.film-label strong{letter-spacing:-1px;margin:5px 0 2px;font-size:25px;display:block}.film-label span{color:#d1d7d1;font-size:11px}.label-grid{animation-delay:0s}.label-sub{animation-delay:3s}.label-civil{animation-delay:6s}.label-client{animation-delay:9s}@keyframes film-caption{0%,3%{opacity:0;transform:translateY(12px)}7%,20%{opacity:1;transform:none}24%,to{opacity:0;transform:translateY(-8px)}}.film-progress{z-index:22;color:#bac2ba;letter-spacing:2px;align-items:center;gap:12px;font-size:8px;display:flex;position:absolute;bottom:4%;left:7%;right:7%}.film-progress span{background:linear-gradient(90deg,var(--lime) 0 25%,#ffffff30 25%);background-size:400% 100%;flex:1;height:2px;animation:12s linear infinite progress-line}.film-progress i{font-style:normal}.film-progress b{white-space:nowrap;color:#fff;font-size:8px}@keyframes progress-line{to{background-position:-133% 0}}.capabilities{background:var(--cream);color:#111;grid-template-columns:.8fr 1.4fr;gap:8vw;padding:110px 7vw;display:grid}.section-heading h2{letter-spacing:-5px;margin:35px 0;font-size:clamp(50px,6vw,84px);font-weight:500;line-height:.95}.section-heading>p:last-child{color:#5b625b;max-width:390px;line-height:1.7}.cap-list{border-top:1px solid #b7bbb2}.cap-list button{text-align:left;color:#141714;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #b7bbb2;grid-template-columns:55px 1fr 1.2fr 35px;align-items:center;gap:20px;width:100%;min-height:100px;padding:18px 8px;transition:all .25s;display:grid}.cap-list button:hover,.cap-list button.active{background:#dfe8c8;padding-left:18px}.cap-code{color:#77972c;font-size:11px;font-weight:800}.cap-title{font-size:19px;font-weight:700}.cap-text{color:#5d635d;font-size:13px;line-height:1.6}.cap-arrow{font-size:20px}.sectors{background:#1a201b;grid-template-columns:repeat(3,1fr);display:grid}.sectors div{background:linear-gradient(160deg,#0000,#293329);border-right:1px solid #ffffff18;flex-direction:column;justify-content:space-between;min-height:410px;padding:50px;transition:all .3s;display:flex}.sectors div:hover{background:linear-gradient(160deg,#2a3728,#80a834)}.sectors span{color:var(--lime);font-size:11px}.sectors h3{font-size:38px;font-weight:500;line-height:1.05}.contact{background:var(--lime);color:#101310;padding:95px 7vw;position:relative}.contact p{text-transform:uppercase;letter-spacing:2px;font-size:11px}.contact h2{letter-spacing:-5px;margin:25px 0 0;font-size:clamp(45px,7vw,100px);font-weight:500}.contact a{border-bottom:1px solid #111;padding:14px 0;font-weight:700;position:absolute;bottom:105px;right:7vw}.contact a span{margin-left:60px}@media (width<=900px){.nav-wrap{height:76px}.nav-wrap nav{display:none}.brand{width:auto}.nav-cta{width:auto;margin-left:auto;font-size:0}.nav-cta span{font-size:22px}.hero{align-items:flex-start;height:auto;min-height:940px;padding-top:125px}.hero-copy{width:100%}h1{letter-spacing:-3px;font-size:52px}.intro{max-width:92%}.scene-wrap{width:104vw;height:43%;bottom:4%;right:-18vw}.cinema-frame{border-right:0}.camera-world{width:145%;left:-20%}.film-label{bottom:13%;left:6%}.film-label strong{font-size:19px}.film-progress{left:6%;right:18%}.hero-index{display:none}.actions{flex-wrap:wrap}.capabilities{grid-template-columns:1fr;padding:80px 7vw}.cap-list button{grid-template-columns:40px 1fr 25px}.cap-text{display:none}.sectors{grid-template-columns:1fr}.sectors div{min-height:250px}.contact a{margin-top:35px;display:inline-block;position:static}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.energy-path,.camera-world,.film-label,.film-progress span,.power-stream i,.blade{animation:none}.label-grid{opacity:1;transform:none}}:root{--forest:#111713;--forest-2:#1b241c;--lime:#c6ef58;--paper:#f1f0e9;--muted:#687068;--line:#d2d5ca}body{overflow-x:hidden}.container{width:min(1180px,90vw);margin:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px)saturate(125%);backdrop-filter:blur(16px)saturate(125%);background:#44474975;border-bottom:1px solid #ffffff38;align-items:center;height:92px;padding:0 5vw;display:flex;position:absolute;inset:0 0 auto;box-shadow:0 8px 30px #00000014}.site-header .brand{width:190px}.site-header .brand img{width:145px;height:auto}.site-nav{align-items:center;gap:32px;margin-left:auto;font-size:14px;display:flex}.site-nav>a{position:relative}.site-nav>a:not(.nav-cta){color:#fffffff0;text-shadow:0 1px 8px #0006;padding:11px 0;font-weight:600;transition:color .25s}.site-nav>a:not(.nav-cta):hover{color:var(--lime)}.site-nav .nav-cta{background:#14171824;border:1px solid #ffffff59;width:auto;margin-left:22px;padding:14px 18px}.site-nav .nav-cta span{color:var(--lime);margin-left:14px}.site-nav .nav-active:after{content:"";background:var(--lime);transform-origin:0;height:2px;animation:.45s ease-out both nav-active-line;position:absolute;bottom:3px;left:0;right:0}.site-nav .nav-cta.nav-active:after{bottom:7px;left:18px;right:18px}@keyframes nav-active-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.menu-toggle{background:0 0;border:0;padding:8px;display:none}.menu-toggle span{background:#fff;width:25px;height:2px;margin:5px;display:block}.home-hero{background:linear-gradient(90deg,#19201de0 0%,#27372fb3 48%,#2c4c3d47 100%),url(../images/hero-grid-delivery.jpg) 50%/cover;align-items:center;height:100vh;min-height:850px;padding:120px 5vw 65px;display:flex;position:relative;overflow:hidden}.hero-grid{opacity:.1;background-image:linear-gradient(#fff 1px,#0000 1px),linear-gradient(90deg,#fff 1px,#0000 1px);background-size:90px 90px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 32%,#000);mask-image:linear-gradient(90deg,#0000 32%,#000)}.home-hero .hero-copy{z-index:5;width:53%;position:relative}.home-hero h1{letter-spacing:-4px;text-shadow:0 3px 24px #101a14a8;margin:25px 0;font-size:clamp(48px,5vw,82px);font-weight:500;line-height:.96}.home-hero h1 em{color:var(--lime);font-style:normal}.hero-intro{color:#e0e6e0;text-shadow:0 2px 12px #101a14;max-width:570px;font-size:16px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:34px;display:flex}.button{border:1px solid #ffffff3b;justify-content:space-between;align-items:center;gap:28px;padding:16px 20px;font-size:13px;font-weight:800;display:inline-flex}.button.primary{background:var(--lime);color:#111;border-color:var(--lime)}.button.primary:hover{background:#fff}.button.ghost{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12}.button.ghost:hover{border-color:var(--lime);color:var(--lime)}.eyebrow{text-transform:uppercase;letter-spacing:3px;align-items:center;gap:11px;margin:0;font-size:10px;font-weight:800;display:flex}.eyebrow span{background:var(--lime);width:32px;height:2px}.eyebrow.dark{color:#668128}.section-light{color:#2f3340;background:#f2f7f8!important}.content-section,.intro-section,.division-section{padding:105px 0}.content-section{color:#2f3340;background:#fff}.split-copy{grid-template-columns:1fr 1fr;align-items:start;gap:10vw;display:grid}.split-copy h2,.content-section h2,.section-heading h2{letter-spacing:-3px;margin:24px 0;font-size:clamp(40px,5vw,68px);font-weight:500;line-height:1}.split-copy p,.content-section p,.section-heading>p:last-child{color:#737b8c;font-size:15px;line-height:1.8}.text-link{border-bottom:1px solid #111;margin-top:20px;padding-bottom:8px;font-weight:700;display:inline-block}.text-link span{color:#6e9221;margin-left:35px}.center{text-align:center}.center .eyebrow{justify-content:center}.section-heading{margin-bottom:58px}.section-heading.center>p:last-child{max-width:670px;margin:20px auto 0}.capabilities-section{color:#2f3340;background:linear-gradient(#f2f7f8,#fff);padding:110px 0}.capabilities-section .container{grid-template-columns:.75fr 1.3fr;gap:8vw;display:grid}.capabilities-section .eyebrow{color:#668128}.capabilities-section .section-heading>p:last-child{color:#687078}.capability-list{border-top:1px solid #cbd2d2}.capability-list article{border-bottom:1px solid #cbd2d2;grid-template-columns:55px 1fr 1.2fr 25px;align-items:center;gap:20px;min-height:104px;padding:18px 8px;transition:all .25s;display:grid}.capability-list article:hover{background:#e4edd7;padding-left:18px}.capability-list article>span{color:#668d24;font-size:11px;font-weight:800}.capability-list h3{font-size:19px}.capability-list p{color:#69716f;font-size:13px;line-height:1.6}.capability-list b{color:#668d24}.image-card-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.image-card{isolation:isolate;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;min-height:280px;padding:30px;display:flex;position:relative;overflow:hidden}.image-card:before{content:"";z-index:-1;background:linear-gradient(#0000 24%,#07100bd6);transition:all .3s;position:absolute;inset:0}.image-card:hover:before{background:linear-gradient(#a5d5390d,#07100be0)}.image-card.large{grid-column:span 2}.image-card span{color:var(--lime);font-size:10px}.image-card h3{color:#fff;text-shadow:0 3px 16px #000000f2;width:fit-content;max-width:100%;margin:10px 0;font-size:27px;font-weight:600}.image-card h3:after{content:"";background:#a4cd39;width:100%;height:2px;margin-top:8px;display:block;box-shadow:0 0 10px #a4cd3959}.image-card p{color:#eef2ee;text-shadow:0 2px 10px #000000e6;margin:0;font-size:13px}.sectors-section{color:#2f3340;background:#f2f7f8;padding:100px 0}.sectors-section .section-heading{grid-template-columns:.65fr 1fr;align-items:end;column-gap:8vw;display:grid}.sectors-section .section-heading .eyebrow{grid-column:1}.sectors-section .section-heading h2{grid-column:1;margin-bottom:0}.sectors-section .section-heading>p:last-child{grid-area:1/2/span 2;margin:0 0 5px}.sector-grid{border:1px solid #d4dadd;grid-template-columns:repeat(3,1fr);margin-top:38px;display:grid}.sector-grid article{background:#fff;border-right:1px solid #d4dadd;flex-direction:column;min-height:330px;padding:38px;transition:all .3s;display:flex}.sector-grid article:last-child{border-right:0}.sector-grid article:hover{background:#e8f0df;transform:translateY(-4px);box-shadow:0 18px 45px #2728341a}.sector-grid span{color:#79a027;font-size:11px;font-weight:800}.sector-grid h3{margin:65px 0 20px;font-size:34px;font-weight:500;line-height:1.08}.sector-grid p{color:#737b8c;margin:0;font-size:13px;line-height:1.7}.cta{color:#fff;background:linear-gradient(135deg,#0b4a7c99,#20222cb8),url(../images/grid-connection-cta.jpg) 50%/cover;padding:95px 0;position:relative;overflow:hidden}.cta:before{content:"";border:70px solid #a4cd391f;border-radius:50%;width:420px;height:420px;position:absolute;top:-170px;right:-120px}.cta .container{z-index:1;position:relative}.cta .eyebrow{color:#a4cd39}.cta h2{letter-spacing:-4px;margin:22px 0;font-size:clamp(45px,7vw,92px);font-weight:500;line-height:.95}.cta p:not(.eyebrow){color:#ffffffc7;max-width:650px;line-height:1.7}.cta .button{color:#272834;background:#a4cd39;border-color:#a4cd39;position:absolute;bottom:8px;right:0}.page-hero{isolation:isolate;background-image:linear-gradient(90deg,#272834db,#0b4a7c8c 62%,#0b4a7c38),var(--hero-image);background-position:50%;background-size:cover;align-items:flex-end;min-height:610px;padding:190px 0 100px;animation:.8s ease-out both hero-settle;display:flex;position:relative}.page-hero:after{content:"";z-index:-1;background:radial-gradient(circle at 15% 75%,#a4cd3933,#0000 32%),linear-gradient(#0000 74%,#2728347a);position:absolute;inset:0}.page-hero .container{animation:.75s ease-out .1s both content-rise}.page-hero h1{letter-spacing:-4px;max-width:900px;margin:24px 0;font-size:clamp(50px,6vw,84px);line-height:.98}.page-hero .container>p:last-child{color:#e2e7ea;max-width:700px;line-height:1.75}@keyframes hero-settle{0%{filter:brightness(.75)}to{filter:brightness()}}@keyframes content-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.media-split{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;display:grid}.feature-image{isolation:isolate;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;min-height:450px;padding:35px;display:flex;position:relative}.feature-image:before{content:"";z-index:-1;background:linear-gradient(#0000,#07100be5);position:absolute;inset:0}.feature-image strong{font-size:26px}.feature-image span{color:var(--lime);letter-spacing:1px;margin-top:9px;font-size:11px}.number-grid{border-top:1px solid #ffffff2c;grid-template-columns:repeat(3,1fr);display:grid}.number-grid.four{grid-template-columns:repeat(4,1fr)}.number-grid article{border-bottom:1px solid #ffffff24;border-right:1px solid #ffffff24;min-height:240px;padding:38px 30px}.section-light .number-grid,.section-light .number-grid article{border-color:var(--line)}.number-grid span{color:#769b2a;font-size:11px;font-weight:800}.number-grid h3{margin:50px 0 14px;font-size:22px}.number-grid p{font-size:13px;line-height:1.65}.link-list{border-top:1px solid var(--line)}.link-list a{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 5px;font-size:18px;font-weight:700;display:flex}.link-list a span{color:#759a26}.division-features{background:var(--paper);color:#111;padding:90px 0}.division-feature{background:#fff;grid-template-columns:1fr 1fr;min-height:460px;margin-bottom:28px;display:grid}.division-feature.reverse .division-copy{order:2}.division-copy{padding:65px}.division-copy h2{letter-spacing:-2px;margin:22px 0;font-size:53px}.division-copy p{color:#646c64;line-height:1.7}.division-copy ul,.check-list{margin:25px 0;padding:0;list-style:none}.division-copy li,.check-list li{border-bottom:1px solid var(--line);padding:10px 0 10px 23px;position:relative}.division-copy li:before,.check-list li:before{content:"↗";color:#719425;position:absolute;left:0}.division-image{isolation:isolate;color:#fff;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;padding:35px;display:flex;position:relative}.division-image:before{content:"";z-index:-1;background:linear-gradient(#0000,#07100be0);position:absolute;inset:0}.division-image span{color:var(--lime);font-size:11px}.division-image strong{margin-top:10px;font-size:28px}.project-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.project-grid article{color:#fff;isolation:isolate;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;min-height:360px;padding:35px;display:flex;position:relative}.project-grid article:before{content:"";z-index:-1;background:linear-gradient(#0000,#07100bed);position:absolute;inset:0}.project-grid span{color:var(--lime);font-size:11px}.project-grid h3{margin:12px 0;font-size:28px}.project-grid p{color:#d1d7d1;margin:0}.pipeline{border-top:1px solid var(--line)}.pipeline div{border-bottom:1px solid var(--line);gap:30px;padding:20px 0;display:flex}.pipeline span{color:#719425;font-size:11px}.process-row{grid-template-columns:repeat(4,1fr);display:grid}.process-row article{border:1px solid var(--line);border-right:0;padding:35px 24px}.process-row article:last-child{border-right:1px solid var(--line)}.process-row span{color:#719425;margin-bottom:45px;font-size:11px;display:block}.pipeline h3,.process-row h3{margin:0;font-size:16px;font-weight:700}.contact-grid{grid-template-columns:1fr 1fr;gap:9vw;display:grid}.contact-details{gap:70px;margin-top:45px;display:flex}.contact-details span{color:#6e766e;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;font-size:11px;display:block}.contact-details a,.contact-details strong{font-size:18px}.contact-form{color:#fff;background:#1c251d;padding:45px}.contact-form h3{font-size:30px}.contact-form label{color:#b9c0b9;text-transform:uppercase;letter-spacing:1px;margin:18px 0;font-size:11px;display:block}.contact-form input,.contact-form textarea{color:#fff;width:100%;font:inherit;background:#0d120e;border:1px solid #ffffff30;margin-top:8px;padding:13px;display:block}.contact-form small{color:#8f998f;margin-top:18px;line-height:1.5;display:block}.thank-you{text-align:center;background:radial-gradient(circle,#334531,#0b0e0c 65%);place-items:center;min-height:700px;padding:150px 5vw;display:grid}.thank-you>div{max-width:800px}.thank-you h1{font-size:clamp(52px,7vw,90px)}.thank-you .eyebrow{justify-content:center}.thank-you p:not(.eyebrow){color:#c0c8c0;margin-bottom:35px}.footer{color:#b8c0b8;background:#090d0a;padding:75px 0 0}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:55px;display:grid}.footer h4{color:#fff;margin:0 0 22px}.footer a,.footer span{margin:10px 0;font-size:13px;display:block}.footer a:hover{color:var(--lime)}.footer-intro img{width:150px}.footer-intro p{max-width:260px;font-size:13px;line-height:1.7}.footer-bottom{border-top:1px solid #ffffff18;margin-top:60px;padding:22px 5vw;font-size:11px}.footer .footer-logo{isolation:isolate;margin:0 0 18px;padding:12px 14px 15px 0;display:inline-flex;position:relative}.footer-logo:before{content:"";z-index:-1;opacity:.45;background:radial-gradient(#a4cd392e,#0000 68%);transition:opacity .55s,transform .55s;position:absolute;inset:-20px -30px;transform:scale(.85)}.footer-logo:after{content:"";transform-origin:0;background:linear-gradient(90deg,#0000,#a4cd39 18% 82%,#0000);width:150px;height:2px;animation:3.2s ease-in-out infinite footer-logo-line;position:absolute;bottom:5px;left:0;transform:scaleX(.15);box-shadow:0 0 12px #a4cd39a6}.footer-logo img{filter:drop-shadow(0 0 #a4cd3900);transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .55s}.footer-logo:hover:before{opacity:1;transform:scale(1.12)}.footer-logo:hover img{filter:brightness(1.1)drop-shadow(0 8px 15px #a4cd3961);transform:translateY(-4px)scale(1.055)}@keyframes footer-logo-line{0%,to{opacity:.35;transform:scaleX(.15)}50%{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.footer-logo:after{animation:none;transform:scaleX(1)}.footer-logo img,.footer-logo:before{transition:none}.footer-logo:hover img{transform:none}}@media (width<=1050px){.home-hero{align-items:flex-start;height:auto;min-height:940px;padding-top:145px}.home-hero .hero-copy{width:100%}.scene-wrap{width:105vw;height:45%;bottom:3%;right:-18vw}.home-hero h1{max-width:720px}.capabilities-section .container{grid-template-columns:1fr}.image-card-grid,.number-grid.four{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.site-header{height:76px}.site-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#444749e6;flex-direction:column;align-items:flex-start;padding:25px 5vw;display:none;position:absolute;top:76px;left:0;right:0}.site-nav.open{display:flex}.site-nav .nav-cta{margin-left:0}.menu-toggle{margin-left:auto;display:block}.home-hero{min-height:900px;padding:115px 5vw 50px}.home-hero h1{letter-spacing:-2px;font-size:44px}.hero-intro{font-size:14px}.scene-wrap{height:39%;bottom:3%;right:-28vw}.film-label strong{font-size:17px}.film-progress{right:16%}.hero-index{display:none}.content-section,.intro-section,.division-section,.capabilities-section,.sectors-section{padding:75px 0}.split-copy,.media-split,.contact-grid{grid-template-columns:1fr;gap:45px}.capability-list article{grid-template-columns:40px 1fr 25px}.capability-list article p{display:none}.image-card-grid,.project-grid{grid-template-columns:1fr}.image-card.large{grid-column:auto}.sectors-section .section-heading{display:block}.sector-grid{grid-template-columns:1fr}.sector-grid article{min-height:220px}.sector-grid h3{margin-top:35px}.cta .button{margin-top:20px;position:static}.page-hero{min-height:540px;padding-top:150px}.page-hero h1{letter-spacing:-2px;font-size:48px}.number-grid,.number-grid.four,.process-row,.division-feature{grid-template-columns:1fr}.division-feature.reverse .division-copy{order:0}.division-image{min-height:300px}.division-copy{padding:40px 28px}.footer-grid{grid-template-columns:1fr 1fr}.contact-form{padding:28px}.contact-details{gap:35px}}@media (width<=480px){.home-hero h1{font-size:38px}.scene-wrap{height:35%;bottom:2%;right:-38vw}.image-card{min-height:240px}.footer-grid{grid-template-columns:1fr}.cta h2{letter-spacing:-2px}}.energy-visual{isolation:isolate;background:#172019;border:1px solid #ffffff30;width:52vw;height:64%;position:absolute;bottom:10%;right:4vw;overflow:hidden;box-shadow:0 35px 90px #000c}.energy-photo{z-index:-4;background:url(../images/grid-connection-substation.jpg) 50%/cover;animation:18s ease-in-out infinite alternate photo-drift;position:absolute;inset:-3%;transform:scale(1.04)}.energy-shade{z-index:-3;background:linear-gradient(90deg,#08100ca8 0,#08100c45 38%,#08100c0d 68%,#08100c6b),linear-gradient(0deg,#07100cbd 0,#0000 54%,#07100c3d);position:absolute;inset:0}.technical-grid{opacity:.15;z-index:-2;background-image:linear-gradient(#dff5e6 1px,#0000 1px),linear-gradient(90deg,#dff5e6 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 82%);mask-image:linear-gradient(90deg,#000,#0000 82%)}@keyframes photo-drift{0%{transform:scale(1.04)translate(-.8%)}to{transform:scale(1.09)translate(.8%,-.5%)}}.energy-route{transform-origin:0;height:2px;position:absolute;top:51%;left:15%;right:12%;transform:rotate(-7deg)}.route-line{background:linear-gradient(90deg,#c6ef5855,var(--lime),#c6ef5855);width:100%;height:2px;display:block;box-shadow:0 0 12px #c6ef5880}.route-pulse{width:10px;height:10px;box-shadow:0 0 14px 5px var(--lime);background:#fff;border-radius:50%;animation:6s linear infinite route-flow;position:absolute;top:-4px}.pulse-two{animation-delay:3s}@keyframes route-flow{0%{opacity:0;left:0}10%,90%{opacity:1}to{opacity:0;left:100%}}.infra-point{border-left:2px solid var(--lime);background:#09100ccf;min-width:125px;padding:10px 13px 10px 17px;position:absolute;box-shadow:0 9px 28px #0009}.infra-point>i{background:var(--lime);width:9px;height:9px;box-shadow:0 0 12px var(--lime);border:2px solid #fff;border-radius:50%;position:absolute}.infra-point small{color:var(--lime);letter-spacing:1.5px;font-size:7px;display:block}.infra-point strong{margin-top:4px;font-size:12px;display:block}.point-grid{top:57%;left:9%}.point-grid>i{top:-41px;left:35px}.point-substation{top:35%;left:43%}.point-substation>i{bottom:-54px;left:54px}.point-site{top:48%;right:7%}.point-site>i{top:-35px;left:24px}.energy-caption{border-left:3px solid var(--lime);text-shadow:0 2px 14px #000;padding-left:16px;position:absolute;bottom:7%;left:6%}.energy-caption>span{color:var(--lime);text-transform:uppercase;letter-spacing:2px;font-size:8px;display:block}.energy-caption strong{margin:6px 0;font-size:25px;display:block}.energy-caption p{color:#d1d7d1;letter-spacing:1px;margin:0;font-size:10px}.visual-status{letter-spacing:1.5px;color:#d4dad4;font-size:7px;position:absolute;bottom:7%;right:5%}.visual-status i{background:var(--lime);width:6px;height:6px;box-shadow:0 0 9px var(--lime);border-radius:50%;margin-right:7px;animation:2.5s ease-in-out infinite status-breathe;display:inline-block}@keyframes status-breathe{50%{opacity:.3}}@media (width<=1050px){.energy-visual{width:92vw;height:44%;bottom:4%;right:4vw}}@media (width<=760px){.energy-visual{height:36%;bottom:3%}.infra-point{transform:scale(.82)}.point-grid{left:4%}.point-substation{left:38%}.point-site{right:2%}.energy-caption strong{font-size:19px}.visual-status{display:none}}@media (width<=480px){.energy-visual{width:94vw;height:32%;right:3vw}.infra-point{transform:scale(.7)}.point-substation{left:34%}.energy-caption{bottom:6%}.energy-caption p{display:none}}@keyframes tile-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.number-grid{border-color:#d4dadd}.number-grid article{border-color:#d4dadd;transition:transform .3s,box-shadow .3s,background-size .65s;animation:.65s ease-out both tile-rise}.number-grid article:nth-child(2){animation-delay:80ms}.number-grid article:nth-child(3){animation-delay:.16s}.number-grid article:nth-child(4){animation-delay:.24s}.number-grid article:hover{z-index:2;transform:translateY(-7px);box-shadow:0 22px 50px #27283424}.photo-grid{border:0;gap:14px}.number-grid .photo-card{color:#fff;isolation:isolate;background-position:50%;background-size:105%;border:0;flex-direction:column;justify-content:flex-end;min-height:350px;display:flex;position:relative;overflow:hidden}.number-grid .photo-card:before{content:"";z-index:-1;background:linear-gradient(#27283414,#272834e6);transition:all .35s;position:absolute;inset:0}.number-grid .photo-card:hover{background-size:114%}.number-grid .photo-card:hover:before{background:linear-gradient(#0b4a7c1f,#272834f0)}.number-grid .photo-card span{color:#a4cd39}.number-grid .photo-card h3{margin:65px 0 12px;font-size:24px}.number-grid .photo-card p{color:#ffffffd6;margin:0}.link-list a{transition:all .25s}.link-list a:hover{color:#0b4a7c;background:#f2f7f8;padding-left:14px}.division-feature{transition:transform .35s,box-shadow .35s;animation:.7s ease-out both tile-rise}.division-feature:hover{transform:translateY(-6px);box-shadow:0 25px 60px #27283424}.division-image{background-size:105%;transition:background-size .7s}.division-feature:hover .division-image{background-size:114%}.division-image:before{background:linear-gradient(#0000,#272834de)}.division-image span{color:#a4cd39}.project-grid article{background-size:105%;transition:transform .35s,box-shadow .35s,background-size .7s;animation:.7s ease-out both tile-rise}.project-grid article:nth-child(2),.project-grid article:nth-child(4){animation-delay:.1s}.project-grid article:hover{background-size:114%;transform:translateY(-7px);box-shadow:0 24px 55px #2728342e}.project-grid article:before{background:linear-gradient(#0000,#272834e6)}.project-grid span{color:#a4cd39}.project-grid p{color:#e0e4e7}.pipeline div{transition:all .25s}.pipeline div:hover{background:#f2f7f8;padding-left:12px}.process-row article{transition:all .3s;animation:.6s ease-out both tile-rise}.process-row article:hover{background:#fff;transform:translateY(-6px);box-shadow:0 18px 42px #2728341a}.contact-form{background:linear-gradient(145deg,#0b4a7c,#272834);box-shadow:0 22px 55px #27283429}.contact-form label{color:#d5dde4}.contact-form input,.contact-form textarea{background:#ffffff0d;border-color:#ffffff45;transition:all .25s}.contact-form input:focus,.contact-form textarea:focus{background:#ffffff17;border-color:#a4cd39;outline:2px solid #a4cd39}.contact-form small{color:#b7c2cb}.thank-you{background:linear-gradient(135deg,#272834e0,#0b4a7cb3),url(../images/grid-connection-cta.jpg) 50%/cover}.thank-you p:not(.eyebrow){color:#dbe1e5}@media (prefers-reduced-motion:reduce){.energy-photo,.route-pulse,.visual-status i,.page-hero,.page-hero .container,.number-grid article,.division-feature,.project-grid article,.process-row article{animation:none}.number-grid article:hover,.division-feature:hover,.project-grid article:hover,.process-row article:hover{transform:none}}.typing-line{letter-spacing:-1px;color:#fff;text-shadow:0 2px 15px #101a14;min-height:38px;margin:22px 0 0;font-size:clamp(22px,2.2vw,34px);font-weight:400;line-height:1.1}.typing-line span{color:#fff}.typing-line strong{color:#a4cd39;font-weight:700}.typing-line i{vertical-align:-.08em;background:#a4cd39;width:2px;height:.95em;margin-left:4px;animation:.8s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.image-card,.number-grid .photo-card,.division-image,.project-grid article,.feature-image{background-position:bottom!important;background-size:cover!important}.number-grid .photo-card:hover,.division-feature:hover .division-image,.project-grid article:hover{background-size:cover!important}.image-card:hover,.number-grid .photo-card:hover,.division-feature:hover .division-image,.project-grid article:hover{filter:saturate(1.06)brightness(1.04)}@media (width<=760px){.typing-line{min-height:30px;margin-top:17px;font-size:22px}}@media (prefers-reduced-motion:reduce){.typing-line i{animation:none}}.about-feature-image{color:#fff;animation:8s ease-in-out infinite alternate about-image-zoom;box-shadow:inset 0 0 0 1000px #ffffff1a,0 28px 64px #27283438;background-size:auto 105%!important}.about-feature-image:hover{box-shadow:inset 0 0 0 1000px #ffffff1f,0 34px 72px #0b4a7c40}.about-feature-image:before{z-index:0;background:linear-gradient(#0000 45%,#272834c7 100%)}.about-feature-image strong,.about-feature-image span{z-index:1;text-shadow:0 2px 12px #000000a6;position:relative}.about-feature-image strong{color:#fff}.about-feature-image span{color:#d7ef6d}@keyframes about-image-zoom{0%{background-size:auto 105%}to{background-size:auto 114%}}@media (prefers-reduced-motion:reduce){.about-feature-image{animation:none;background-size:cover!important}}.about-focus-grid .photo-card{filter:brightness(1.035);transition:transform .55s cubic-bezier(.2,.75,.25,1),box-shadow .55s,filter .55s}.about-focus-grid .photo-card:before{background:linear-gradient(#27283405,#272834c7)}.about-focus-grid .photo-card:hover{filter:brightness(1.075)saturate(1.04);transform:translateY(-4px);box-shadow:0 20px 45px #0b4a7c2e}.about-focus-grid .photo-card:hover:before{background:linear-gradient(#0b4a7c08,#272834cc)}.about-focus-grid .photo-card h3{width:fit-content;max-width:100%;font-weight:600}.about-focus-grid .photo-card h3:after{content:"";background:#a4cd39;width:100%;height:2px;margin-top:8px;display:block}.contact-help-grid .photo-card h3{width:fit-content;max-width:100%;font-weight:600}.contact-help-grid .photo-card h3:after{content:"";background:#a4cd39;width:100%;height:2px;margin-top:8px;display:block}.group-structure-title{font-weight:600!important}.divisions-intro .split-copy>div:last-child{padding-top:8px}.division-pillars{border-top:1px solid #cfd7da;border-bottom:1px solid #cfd7da;grid-template-columns:repeat(4,1fr);margin-top:30px;display:grid}.division-pillars span{color:#0b4a7c;text-align:center;text-transform:uppercase;letter-spacing:1px;border-right:1px solid #cfd7da;padding:16px 10px;font-size:11px;font-weight:700}.division-pillars span:last-child{border-right:0}@media (width<=620px){.division-pillars{grid-template-columns:repeat(2,1fr)}.division-pillars span:nth-child(2){border-right:0}.division-pillars span:nth-child(-n+2){border-bottom:1px solid #cfd7da}}.primary-focus-label{font-size:13px}.project-focus-intro .split-copy>div:last-child{padding-top:8px}.project-focus-intro .split-copy>div:last-child p:first-child{color:#2f3340;font-size:17px;font-weight:500}.partnership-intro .split-copy>div:last-child{padding-top:8px}.partnership-intro .split-copy>div:last-child p:first-child{color:#2f3340;font-size:17px;font-weight:500}.partner-type-grid .photo-card h3{width:fit-content;max-width:100%;font-weight:600}.partner-type-grid .photo-card h3:after{content:"";transform-origin:0;background:#a4cd39;width:100%;height:2px;margin-top:8px;animation:.7s ease-out .35s forwards partner-title-line;display:block;transform:scaleX(0)}.partner-type-grid .photo-card:nth-child(2) h3:after{animation-delay:.43s}.partner-type-grid .photo-card:nth-child(3) h3:after{animation-delay:.51s}.partner-type-grid .photo-card:nth-child(4) h3:after{animation-delay:.59s}@keyframes partner-title-line{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.partner-type-grid .photo-card h3:after{animation:none;transform:none}}.partners-feature-image{transition:box-shadow .5s;overflow:hidden;box-shadow:0 18px 42px #27283429;background-image:none!important}.partners-feature-image:hover{box-shadow:0 24px 52px #0b4a7c33}.partners-feature-image:after{content:"";z-index:-2;background:url(../images/battery-storage-project-opportunity.jpg) bottom/cover no-repeat;transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .7s;position:absolute;inset:-1%;transform:scale(1)}.partners-feature-image:hover:after{filter:saturate(1.03)brightness(1.015);transform:scale(1.035)}.partners-feature-image:before{background:linear-gradient(#07100b0d 20%,#07100be6 100%);transition:background .55s}.partners-feature-image:hover:before{background:linear-gradient(#07100b00 16%,#07100bdb 100%)}.partners-feature-image strong,.partners-feature-image span{z-index:1;text-shadow:0 3px 16px #000000f2;position:relative}.partners-feature-image strong{color:#fff;max-width:470px;font-weight:700;line-height:1.18}.partners-feature-image span{color:#d7ef6d;font-weight:700}@media (prefers-reduced-motion:reduce){.partners-feature-image,.partners-feature-image:after{transition:none}.partners-feature-image:hover:after{transform:none}}.partnership-path-grid{gap:14px}.partnership-path-grid article,.partnership-path-grid article:last-child{isolation:isolate;background:#fff;border:0;position:relative;overflow:hidden;box-shadow:0 14px 34px #27283417}.partnership-path-grid article:before{content:"";z-index:0;aspect-ratio:1;background:conic-gradient(transparent 0 78%,#a4cd39 84% 90%,transparent 96%);width:190%;animation:4.8s linear infinite partnership-path-stroke;position:absolute;top:50%;left:-45%;translate:0 -50%}.partnership-path-grid article:after{content:"";z-index:1;background:#fff;position:absolute;inset:2px}.partnership-path-grid article:nth-child(2):before{animation-delay:-1.2s}.partnership-path-grid article:nth-child(3):before{animation-delay:-2.4s}.partnership-path-grid article:nth-child(4):before{animation-delay:-3.6s}.partnership-path-grid article>*{z-index:2;position:relative}.partnership-path-grid article:hover{box-shadow:0 24px 52px #0b4a7c2b}@keyframes partnership-path-stroke{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.partnership-path-grid article:before{background:#a4cd39;animation:none}}.project-grid article{overflow:hidden}.project-card-image{z-index:-2;background-position:bottom;background-size:cover;transition:transform .7s;animation:9s ease-in-out infinite alternate project-card-zoom;position:absolute;inset:0}.project-grid article:nth-child(2) .project-card-image{animation-delay:-2s}.project-grid article:nth-child(3) .project-card-image{animation-delay:-4s}.project-grid article:nth-child(4) .project-card-image{animation-delay:-6s}.project-card-copy{z-index:1;position:relative}.project-grid article:hover .project-card-image{transform:scale(1.05)}@keyframes project-card-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.project-card-image{animation:none}.project-grid article:hover .project-card-image{transform:none}}.project-grid article{box-shadow:0 18px 42px #2728342e}.project-grid article:hover{box-shadow:0 30px 68px #0b4a7c47}.project-grid h3{width:fit-content;max-width:100%;font-weight:600}.project-grid h3:after{content:"";background:#a4cd39;width:100%;height:2px;margin-top:9px;display:block}.readiness-grid{border:0;gap:14px}.readiness-grid article{isolation:isolate;background:#fff;border:0;position:relative;overflow:hidden;box-shadow:0 14px 34px #27283417}.readiness-grid article:before{content:"";z-index:0;aspect-ratio:1;background:conic-gradient(transparent 0 78%,#a4cd39 84% 90%,transparent 96%);width:190%;animation:4.8s linear infinite readiness-stroke;position:absolute;top:50%;left:-45%;translate:0 -50%}.readiness-grid article:after{content:"";z-index:1;background:#fff;position:absolute;inset:2px}.readiness-grid article:nth-child(2):before{animation-delay:-1.2s}.readiness-grid article:nth-child(3):before{animation-delay:-2.4s}.readiness-grid article:nth-child(4):before{animation-delay:-3.6s}.readiness-grid article>*{z-index:2;position:relative}.readiness-grid h3{margin-top:46px;font-weight:600}.readiness-grid article:hover{box-shadow:0 24px 52px #0b4a7c2b}@keyframes readiness-stroke{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.readiness-grid article:before{background:#a4cd39;animation:none}}
/* GFR premium art direction — 2026 */
  :root {
    --gfr-lime: #c6ef58;
    --gfr-black: #303030;
    --gfr-charcoal: #292929;
    --ink: #303030;
    --gfr-paper: #f0f0e9;
    --gfr-muted: #9ca39c;
    --gfr-line: rgba(255,255,255,.14);
  }

  body {
    background: var(--gfr-black);
    color: #f5f6f1;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-feature-settings: "kern" 1, "ss01" 1;
  }

  ::selection { background: var(--gfr-lime); color: var(--gfr-black); }

  .container { width: min(100% - 9vw, 1540px); max-width: none; margin-inline: auto; }

  .site-header {
    height: 104px;
    padding: 0 4.5vw;
    background: linear-gradient(180deg, rgba(48,48,48,.96), rgba(48,48,48,.58) 70%, transparent);
    border: 0;
  }
  .site-header:after {
    content: "";
    position: absolute;
    left: 4.5vw;
    right: 4.5vw;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, var(--gfr-lime) 0 76px, rgba(255,255,255,.18) 76px);
  }
  .site-header .brand { width: 168px; }
  .site-header .brand img { width: 100%; }
  .site-nav { gap: clamp(22px, 2.5vw, 46px); color: rgba(255,255,255,.68); }
  .site-nav > a:not(.nav-cta) {
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    padding-block: 10px;
  }
  .site-nav > a:not(.nav-cta):hover,
  .site-nav > a.nav-active { color: #fff; }
  .site-nav > a:not(.nav-cta) { position: relative; }
  .site-nav > a.nav-active:not(.nav-cta):after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    display: block;
    height: 1px;
    background: var(--gfr-lime);
    box-shadow: 0 0 8px rgba(198,239,88,.5);
  }
  .site-nav > a.nav-cta.nav-active { box-shadow: none; }
  .site-nav .nav-cta {
    color: var(--gfr-black);
    background: var(--gfr-lime);
    border: 1px solid var(--gfr-lime);
    border-radius: 0;
    padding: 13px 18px;
    font-size: 11px;
    letter-spacing: .04em;
    transition: background .25s, color .25s;
  }
  .site-nav .nav-cta:hover { color: #fff; background: transparent; }

  .home-hero {
    min-height: 920px;
    height: 100svh;
    padding: 150px 4.5vw 70px;
    background: var(--gfr-black);
    overflow: hidden;
    align-items: flex-end;
  }
  .home-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(90deg, rgba(7,9,7,.98) 0%, rgba(7,9,7,.86) 38%, rgba(7,9,7,.22) 71%, rgba(7,9,7,.45) 100%),
      linear-gradient(0deg, rgba(7,9,7,.94), transparent 38%);
    pointer-events: none;
  }
  .home-hero .hero-grid {
    opacity: .13;
    z-index: 2;
    background-size: 96px 96px;
    mask-image: linear-gradient(90deg, #000, transparent 62%);
  }
  .home-hero .hero-copy {
    z-index: 4;
    width: min(64vw, 1080px);
    padding-bottom: 2vh;
  }
  .eyebrow {
    color: rgba(255,255,255,.68);
    letter-spacing: .22em;
    font-size: 9px;
    font-weight: 700;
  }
  .eyebrow span { width: 38px; height: 1px; background: var(--gfr-lime); }
  .typing-line {
    min-height: 0;
    margin: 28px 0 16px;
    font-size: clamp(15px, 1.25vw, 20px);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 500;
  }
  .home-hero h1 {
    max-width: 1050px;
    margin: 0;
    font-size: clamp(64px, 7.4vw, 128px);
    font-weight: 500;
    letter-spacing: -.07em;
    line-height: .82;
    text-wrap: balance;
  }
  .home-hero h1 em { color: var(--gfr-lime); font-weight: 500; }
  .hero-intro {
    max-width: 510px;
    margin-top: 36px;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.7;
  }
  .hero-actions { margin-top: 30px; gap: 2px; }
  .button {
    border-radius: 0;
    min-height: 54px;
    padding: 0 22px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 800;
  }
  .button.primary { background: var(--gfr-lime); color: var(--gfr-black); border-color: var(--gfr-lime); }
  .button.ghost { background: rgba(11,13,11,.42); border-color: rgba(255,255,255,.25); backdrop-filter: blur(12px); }

  .energy-visual {
    inset: 0 0 0 auto;
    z-index: 0;
    width: 68%;
    height: 100%;
    border: 0;
    box-shadow: none;
    overflow: hidden;
  }
  .energy-photo { inset: -2%; filter: saturate(.72) contrast(1.08); animation: none; }
  .energy-shade {
    background:
      linear-gradient(90deg, var(--gfr-black) 0%, rgba(11,13,11,.62) 22%, transparent 58%),
      linear-gradient(0deg, rgba(11,13,11,.82), transparent 52%);
  }
  .technical-grid { opacity: .08; background-size: 96px 96px; }
  .infra-point, .energy-route, .visual-status { opacity: .7; }
  .infra-point {
    border: 0;
    border-top: 1px solid var(--gfr-lime);
    background: rgba(8,11,8,.58);
    backdrop-filter: blur(8px);
    box-shadow: none;
    padding: 10px 12px;
  }
  .energy-caption {
    left: auto;
    right: 4.5vw;
    bottom: 5.5vh;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.55);
    padding: 13px 0 0;
    text-align: right;
  }
  .energy-caption strong { font-size: 15px; font-weight: 500; letter-spacing: -.02em; }
  .energy-caption p { letter-spacing: .14em; font-size: 8px; }
  .hero-index { z-index: 4; right: 4.5vw; top: 135px; color: rgba(255,255,255,.55); }

  .intro-section { padding: clamp(120px, 14vw, 220px) 0; background: var(--gfr-paper); }
  .split-copy { grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: 10vw; align-items: end; }
  .split-copy h2 {
    margin-top: 34px;
    max-width: 980px;
    color: var(--gfr-black);
    font-size: clamp(54px, 6.1vw, 104px);
    line-height: .92;
    letter-spacing: -.065em;
    font-weight: 500;
  }
  .split-copy > div:last-child { padding-bottom: 7px; }
  .split-copy > div:last-child p { color: #484d48; font-size: 15px; line-height: 1.75; }
  .text-link {
    margin-top: 30px;
    padding-bottom: 9px;
    border-bottom: 1px solid #111;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .13em;
  }

  .capabilities-section {
    padding: clamp(110px, 12vw, 190px) 0;
    color: #2f3340;
    background: linear-gradient(#f2f7f8, #fff);
  }
  .capabilities-section .container { grid-template-columns: .78fr 1.22fr; gap: 9vw; }
  .section-heading h2 {
    max-width: 760px;
    font-size: clamp(48px, 5vw, 82px);
    line-height: .94;
    letter-spacing: -.06em;
    font-weight: 500;
  }
  .section-heading > p:last-child { max-width: 430px; color: var(--gfr-muted); font-size: 13px; line-height: 1.75; }
  .capabilities-section .eyebrow { color: #626a66; }
  .capabilities-section .section-heading > p:last-child { color: #626a66; }
  .capability-list { border-top: 1px solid #cbd2d2; }
  .capability-list article {
    min-height: 112px;
    grid-template-columns: 56px 1fr minmax(160px,.7fr) 24px;
    border-color: #cbd2d2;
    padding: 22px 0;
    transition: padding .35s cubic-bezier(.2,.75,.25,1), color .25s;
  }
  .capability-list article:hover {
    background: transparent !important;
    box-shadow: none !important;
    padding-left: 20px;
    color: inherit;
  }
  .capability-list article:hover h3 { color: var(--green); }
  .capability-list article > span { font-size: 9px; letter-spacing: .12em; }
  .capability-list h3 { font-size: clamp(22px, 2vw, 34px); letter-spacing: -.04em; font-weight: 500; }
  .capability-list p { color: #68706b; font-size: 13px; line-height: 1.55; }
  .capability-list b { font-weight: 400; }

  .division-section { padding: clamp(120px, 13vw, 210px) 0; background: var(--gfr-paper); }
  .division-section .section-heading.center { text-align: left; margin-bottom: 82px; }
  .division-section .section-heading.center > p:last-child { margin-left: 0; }
  .division-section .section-heading > p:last-child { max-width: 760px; font-size: 15px; line-height: 1.7; }
  .image-card-grid { grid-template-columns: repeat(12,1fr); gap: 14px; }
  .image-card {
    min-height: 470px;
    grid-column: span 4;
    border-radius: 0;
    padding: 26px;
    filter: saturate(.72);
    transition: filter .5s, transform .5s cubic-bezier(.2,.75,.25,1);
  }
  .image-card:nth-child(1),
  .image-card:nth-child(4),
  .image-card:nth-child(5) { grid-column: span 8; }
  .image-card:nth-child(2),
  .image-card:nth-child(3),
  .image-card:nth-child(6) { grid-column: span 4; }
  .image-card:before { background: linear-gradient(0deg, rgba(5,8,5,.9), transparent 68%); }
  .image-card:hover { filter: saturate(1); transform: translateY(-4px); }
  .image-card h3 { font-size: clamp(26px, 2.4vw, 42px); letter-spacing: -.045em; font-weight: 500; }
  .image-card p { max-width: 330px; color: rgba(255,255,255,.74); font-size: 11px; }

  .sectors-section { padding: clamp(120px, 13vw, 210px) 0; background: #fff; color: var(--gfr-black); }
  .sectors-section .section-heading > p:last-child { font-size: 16px; }
  .sectors-section .section-heading { grid-template-columns: 1fr 1fr; align-items: end; margin-bottom: 80px; }
  .sector-grid { border-top: 1px solid rgba(11,13,11,.32); }
  .sector-grid article {
    min-height: 410px;
    border-color: rgba(11,13,11,.2);
    padding: 28px;
    background: transparent;
    transition: background .3s, color .3s;
  }
  .sector-grid article:hover { background: var(--gfr-black); color: #fff; }
  .sector-grid article > span { color: #616761; font-size: 9px; letter-spacing: .14em; }
  .sector-grid article:hover > span { color: var(--gfr-lime); }
  .sector-grid h3 { margin-top: 120px; font-size: clamp(38px, 3.6vw, 62px); line-height: .92; letter-spacing: -.055em; font-weight: 500; }
  .sector-grid p { color: #606660; font-size: 12px; }
  .sector-grid article:hover p { color: #aeb4ae; }

  .cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(82px, 8vw, 124px) 0;
    background:
      radial-gradient(circle at 78% 38%, rgba(198,239,88,.16), transparent 32%),
      linear-gradient(135deg, #414141 0%, #303030 50%, #292929 100%);
    color: #fff;
    border-bottom: 1px solid rgba(198,239,88,.5);
    box-shadow: inset 0 -30px 70px rgba(0,0,0,.16);
  }
  .cta:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .15;
    background-image:
      linear-gradient(rgba(255,255,255,.38) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.38) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 100%);
    animation: cta-grid-drift 18s linear infinite;
  }
  .cta:after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 7%;
    right: 4%;
    bottom: 7%;
    width: 42%;
    opacity: .42;
    background: url(../images/pylon-blueprint.png) center / contain no-repeat;
    filter: saturate(.9) drop-shadow(0 0 18px rgba(198,239,88,.18));
    animation: cta-pylon-draw 8s cubic-bezier(.45,0,.3,1) infinite;
  }
  @keyframes cta-grid-drift {
    to { background-position: 84px 42px, 84px 42px; }
  }
  @keyframes cta-pylon-draw {
    0%, 8% { opacity: 0; clip-path: inset(100% 0 0 0); }
    18% { opacity: .5; }
    58%, 78% { opacity: .42; clip-path: inset(0 0 0 0); }
    94%, 100% { opacity: 0; clip-path: inset(0 0 0 0); }
  }
  @keyframes cta-route-dot {
    0% { left: 76%; top: calc(86% - 4px); opacity: 0; }
    8% { opacity: 1; }
    28% { left: 84%; top: calc(68% - 4px); }
    48% { left: 75%; top: calc(49% - 4px); }
    68% { left: 84%; top: calc(31% - 4px); }
    90% { opacity: 1; }
    100% { left: 80%; top: calc(10% - 4px); opacity: 0; }
  }
  .cta .container { position: relative; z-index: 1; }
  .cta .container:before {
    content: none;
  }
  .cta .container:after {
    content: "";
    position: absolute;
    top: calc(86% - 4px);
    left: 76%;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--gfr-lime);
    box-shadow: 0 0 8px 3px rgba(198,239,88,.8), 0 0 22px 8px rgba(198,239,88,.25);
    animation: cta-route-dot 8s cubic-bezier(.45,0,.3,1) infinite;
  }
  .cta .eyebrow { color: rgba(255,255,255,.68); }
  .cta .eyebrow span { background: var(--gfr-lime); }
  .cta h2 { max-width: 1050px; font-size: clamp(68px, 8vw, 140px); line-height: .82; letter-spacing: -.075em; font-weight: 500; }
  .cta > .container > p:not(.eyebrow) { max-width: 520px; margin-top: 34px; color: rgba(255,255,255,.7); }
  .cta .button.primary { background: var(--gfr-lime); color: var(--gfr-black); border-color: var(--gfr-lime); }

  .footer { padding-top: 90px; background: var(--gfr-black); }
  .footer-grid { grid-template-columns: 1.8fr repeat(3,1fr); gap: 5vw; }
  .footer h4 { color: #fff; font-size: 11px; letter-spacing: .17em; text-transform: uppercase; }
  .footer a, .footer span, .footer p { color: #8f958f; font-size: 13px; }
  .footer-bottom { margin-top: 80px; padding-inline: 4.5vw; color: #646a64; font-size: 13px; letter-spacing: .08em; }

  @media (max-width: 1050px) {
    .home-hero { min-height: 860px; }
    .home-hero .hero-copy { width: 88%; }
    .energy-visual { width: 82%; height: 100%; bottom: 0; right: 0; }
    .capabilities-section .container { grid-template-columns: 1fr; gap: 70px; }
    .image-card { grid-column: span 6 !important; }
  }

  /* A more compact closing panel on the Partners page. */
  .partnership-path-section + .cta {
    padding-block: clamp(64px, 6vw, 88px);
  }
  .partnership-path-section + .cta h2 {
    font-size: clamp(58px, 7vw, 112px);
  }

  @media (max-width: 760px) {
    .container { width: min(100% - 40px, 1540px); }
    .site-header { height: 78px; padding-inline: 20px; }
    .site-header:after { left: 20px; right: 20px; }
    .site-header .brand { width: 138px; }
    .site-nav { background: rgba(11,13,11,.97); top: 78px; padding: 34px 20px; border-bottom: 1px solid var(--gfr-lime); }
    .site-nav > a:not(.nav-cta) { font-size: 11px; }
    .home-hero { min-height: 710px; height: auto; padding: 112px 20px 34px; align-items: flex-end; }
    .home-hero:before {
      background: linear-gradient(0deg, rgba(48,48,48,.96) 0%, rgba(48,48,48,.68) 38%, rgba(48,48,48,.12) 78%, rgba(48,48,48,.04) 100%);
    }
    .home-hero .hero-copy { width: 100%; }
    .home-hero h1 { font-size: clamp(47px, 14vw, 70px); line-height: .86; letter-spacing: -.065em; }
    .typing-line { font-size: 13px; }
    .hero-intro { margin-top: 25px; }
    .hero-actions { flex-wrap: wrap; }
    .energy-visual { width: 100%; height: 58%; top: 0; bottom: auto; }
    .energy-photo {
      filter: saturate(.9) contrast(1.02) brightness(1.12);
      animation: none;
    }
    .infra-point, .energy-route, .energy-caption { display: none; }
    .split-copy { grid-template-columns: 1fr; gap: 55px; }
    .split-copy h2 { font-size: clamp(46px, 13vw, 68px); }
    .section-heading h2 { font-size: clamp(44px, 12vw, 66px); }
    .capability-list article {
      grid-template-columns: 42px 1fr 20px;
      grid-template-rows: auto auto;
      column-gap: 12px;
      row-gap: 8px;
      min-height: 112px;
      padding-block: 20px;
    }
    .capability-list article > span { grid-column: 1; grid-row: 1; align-self: center; }
    .capability-list article h3 { grid-column: 2; grid-row: 1; }
    .capability-list article b { grid-column: 3; grid-row: 1; align-self: center; }
    .capability-list article p {
      display: block;
      grid-column: 2 / 4;
      grid-row: 2;
      max-width: 34rem;
      margin: 0;
      font-size: 13px;
      line-height: 1.5;
    }
    .division-section .section-heading.center { margin-bottom: 52px; }
    .image-card-grid { display: grid; grid-template-columns: 1fr; }
    .image-card { grid-column: auto !important; min-height: 360px; }
    .sectors-section .section-heading { display: block; margin-bottom: 50px; }
    .sector-grid { grid-template-columns: 1fr; }
    .sector-grid article { min-height: 270px; }
    .sector-grid h3 { margin-top: 70px; }
    .cta h2 { font-size: clamp(58px, 18vw, 88px); }
    .cta { padding-block: 76px; }
    .cta:after { right: -16%; width: 72%; opacity: .25; }
    .cta .container:after { display: none; }
    .cta .button { position: static; margin-top: 25px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
  }

  @media (max-width: 480px) {
    .home-hero h1 { font-size: 48px; }
    .hero-actions .button { width: 100%; justify-content: space-between; }
    .footer-grid { grid-template-columns: 1fr; }
  }

  @media (prefers-reduced-motion: reduce) {
    .energy-photo, .route-pulse, .typing-line i, .cta:before, .cta:after, .cta .container:after { animation: none !important; }
  }

  .cookie-banner {
    position: fixed;
    z-index: 1000;
    left: 24px;
    right: 24px;
    bottom: 24px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 36px;
    max-width: 1180px;
    margin-inline: auto;
    padding: 26px;
    color: #fff;
    background: rgba(48,48,48,.97);
    border: 1px solid rgba(255,255,255,.18);
    border-top-color: var(--gfr-lime);
    box-shadow: 0 24px 80px rgba(0,0,0,.42);
    backdrop-filter: blur(18px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(24px);
    transition: opacity .3s, visibility .3s, transform .3s;
  }
  .cookie-banner.is-visible { opacity: 1; visibility: visible; transform: none; }
  .cookie-copy { max-width: 720px; }
  .cookie-kicker { margin: 0 0 8px; color: var(--gfr-lime); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
  .cookie-copy h2 { margin: 0 0 9px; font-size: 25px; line-height: 1; letter-spacing: -.035em; }
  .cookie-copy > p:not(.cookie-kicker) { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.55; }
  .cookie-copy a { display: inline-block; margin-top: 12px; padding-bottom: 3px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.5); font-size: 11px; }
  .cookie-actions { display: flex; gap: 8px; }
  .cookie-actions button {
    min-height: 46px;
    padding: 0 17px;
    border: 1px solid rgba(255,255,255,.46);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
  }
  .cookie-actions button:hover, .cookie-actions button:focus-visible { border-color: var(--gfr-lime); color: var(--gfr-lime); outline: none; }
  .cookie-actions button:last-child { background: var(--gfr-lime); border-color: var(--gfr-lime); color: var(--gfr-black); }
  .cookie-actions button:last-child:hover, .cookie-actions button:last-child:focus-visible { background: #fff; border-color: #fff; color: var(--gfr-black); }
  .cookie-settings-button {
    display: none;
    width: fit-content;
    margin: 10px 0 0;
    padding: 0;
    color: #8f958f;
    background: transparent;
    border: 0;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
  }
  .cookie-settings-button.is-visible { display: block; }
  .cookie-settings-button:hover, .cookie-settings-button:focus-visible { color: var(--gfr-lime); outline: none; }

  .legal-page .page-hero { min-height: 560px; }
  .legal-page .page-hero:before { background: linear-gradient(120deg, rgba(48,48,48,.98), rgba(48,48,48,.72)), url(../images/grid-connection-substation.jpg) center / cover; }
  .legal-layout { display: grid; grid-template-columns: 240px minmax(0, 850px); justify-content: space-between; gap: 8vw; align-items: start; }
  .legal-layout aside { position: sticky; top: 125px; display: flex; flex-direction: column; gap: 10px; padding-top: 6px; }
  .legal-layout aside p { margin: 0; color: #727872; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
  .legal-layout aside strong { margin-bottom: 20px; color: #303030; font-size: 14px; }
  .legal-layout aside a { padding-block: 10px; border-bottom: 1px solid #d4d8d4; color: #4f554f; font-size: 12px; }
  .legal-layout aside a:hover { color: #739c18; }
  .legal-copy > section { padding: 0 0 58px; margin-bottom: 58px; border-bottom: 1px solid #d4d8d4; scroll-margin-top: 120px; }
  .legal-copy > section:last-child { border-bottom: 0; margin-bottom: 0; }
  .legal-copy h2 { max-width: 760px; margin: 18px 0 24px; color: #303030; font-size: clamp(34px, 4vw, 58px); line-height: .98; letter-spacing: -.055em; font-weight: 500; }
  .legal-copy p { max-width: 760px; margin: 0 0 18px; color: #505650; font-size: 15px; line-height: 1.75; }
  .legal-copy a { color: #527600; border-bottom: 1px solid #9bc53d; }
  .legal-copy code { padding: 2px 6px; background: #e5e8e0; color: #303030; font-size: .9em; }

  .about-hero, .divisions-hero, .projects-hero, .partners-hero, .contact-hero {
    min-height: 680px;
    background-image:
      linear-gradient(90deg, rgba(48,48,48,.98) 0%, rgba(48,48,48,.82) 40%, rgba(48,48,48,.24) 76%, rgba(48,48,48,.45) 100%),
      linear-gradient(0deg, rgba(48,48,48,.86), transparent 48%),
      var(--hero-image);
    background-position: center, center, center;
    background-size: auto, auto, 106%;
    animation: none;
    overflow: hidden;
  }
  .about-hero:before, .divisions-hero:before, .projects-hero:before, .partners-hero:before, .contact-hero:before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    opacity: .12;
    background-image:
      linear-gradient(rgba(255,255,255,.42) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.42) 1px, transparent 1px);
    background-size: 96px 96px;
    mask-image: linear-gradient(90deg, #000, transparent 70%);
    animation: cta-grid-drift 24s linear infinite;
  }
  .about-hero:after, .divisions-hero:after, .projects-hero:after, .partners-hero:after, .contact-hero:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 4.5vw;
    right: 4.5vw;
    bottom: 54px;
    height: 1px;
    background: linear-gradient(90deg, var(--gfr-lime) 0 90px, rgba(255,255,255,.22) 90px);
  }
  .about-hero .container, .divisions-hero .container, .projects-hero .container, .partners-hero .container, .contact-hero .container { position: relative; z-index: 2; }
  .about-hero h1, .divisions-hero h1, .projects-hero h1, .partners-hero h1, .contact-hero h1 { max-width: 1000px; font-size: clamp(58px, 6.8vw, 104px); line-height: .9; letter-spacing: -.065em; font-weight: 500; }
  .contact-hero h1 em { color: var(--gfr-lime); font-style: normal; font-weight: 500; }
  .contact-hero + .content-section .section-heading {
    display: block;
    max-width: none;
    margin-inline: auto;
    text-align: center;
  }
  .contact-hero + .content-section .section-heading .eyebrow {
    justify-content: center;
  }
  .contact-hero + .content-section .section-heading h2 {
    max-width: none;
    margin-inline: auto;
    text-align: center;
  }

  .contact-form {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
      radial-gradient(circle at 100% 0%, rgba(198,239,88,.14), transparent 34%),
      linear-gradient(145deg, #3b3b3b 0%, #303030 52%, #282828 100%);
    border: 1px solid rgba(198,239,88,.24);
    box-shadow: 0 24px 58px rgba(48,48,48,.22);
  }
  .contact-form:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .08;
    background-image:
      linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
    background-size: 54px 54px;
    pointer-events: none;
  }
  .contact-form .eyebrow { color: rgba(255,255,255,.7); }
  .contact-form .eyebrow span { background: var(--gfr-lime); }
  .contact-form label { color: rgba(255,255,255,.72); }
  .contact-form input,
  .contact-form textarea {
    color: #fff;
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.24);
  }
  .contact-form input:focus,
  .contact-form textarea:focus {
    background: rgba(255,255,255,.09);
    border-color: var(--gfr-lime);
    outline: 1px solid var(--gfr-lime);
    box-shadow: 0 0 0 3px rgba(198,239,88,.1);
  }
  .contact-form small { color: rgba(255,255,255,.58); }

  /* Homepage: keep the Connected Infrastructure heading balanced and centred. */
  .division-section .section-heading.center {
    display: block;
    max-width: none;
    margin-inline: auto;
    text-align: center;
  }
  .division-section .section-heading.center .eyebrow {
    justify-content: center;
  }
  .division-section .section-heading.center h2 {
    max-width: 1400px;
    margin-inline: auto;
    font-size: clamp(48px, 4.5vw, 68px);
    text-wrap: balance;
  }
  .division-section .section-heading.center > p:last-child {
    max-width: 900px;
    margin-inline: auto;
    text-align: center;
  }

  .about-core-focus-section .section-heading {
    display: block;
    max-width: none;
    text-align: center;
  }
  .about-core-focus-section .section-heading .eyebrow {
    justify-content: center;
  }
  .about-core-focus-section .section-heading h2 {
    max-width: none;
    margin-inline: auto;
    font-size: clamp(46px, 4.4vw, 68px);
    white-space: nowrap;
  }
  @media (max-width: 760px) {
    .division-section .section-heading.center h2 {
      font-size: clamp(42px, 12vw, 62px);
    }
    .about-core-focus-section .section-heading h2 {
      font-size: clamp(42px, 12vw, 62px);
      white-space: normal;
      text-wrap: balance;
    }
  }
  .about-hero > .container > p:last-child, .divisions-hero > .container > p:last-child, .projects-hero > .container > p:last-child, .partners-hero > .container > p:last-child, .contact-hero > .container > p:last-child { max-width: 590px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.7; }
  .division-features { background: #f2f2f2; }
  .division-pillars span { color: #5f7f24; }
  .project-readiness-section .section-heading {
    display: block;
    text-align: center;
  }
  .project-readiness-section .eyebrow { justify-content: center; }
  .project-readiness-section .section-heading h2 {
    max-width: none;
    margin-inline: auto;
    white-space: nowrap;
    text-align: center;
  }
  .content-section.section-light.opportunity-pipeline-section { background: #fff; }
  .project-opportunities-section .section-heading {
    display: block;
    max-width: 1120px;
    margin-inline: auto;
    text-align: center;
  }
  .project-opportunities-section .eyebrow { justify-content: center; }
  .project-opportunities-section .section-heading h2 {
    max-width: 1050px;
    margin-inline: auto;
    text-align: center;
    text-wrap: balance;
  }
  .partner-types-section .section-heading {
    display: block;
    max-width: 1200px;
    margin-inline: auto;
    text-align: center;
    transform: translateX(-6vw);
  }
  .partner-types-section .eyebrow { justify-content: center; }
  .partner-types-section .section-heading h2 {
    max-width: none;
    margin-inline: auto;
    text-align: center;
    white-space: nowrap;
  }
  .partnership-path-section .section-heading {
    display: block;
    max-width: 1200px;
    margin-inline: auto;
    text-align: center;
    transform: translateX(-8vw);
  }
  .partnership-path-section .eyebrow { justify-content: center; }
  .partnership-path-section .section-heading h2 {
    max-width: none;
    margin-inline: auto;
    text-align: center;
    white-space: nowrap;
  }
  .group-structure-section .link-list a:hover,
  .group-structure-section .link-list a:focus-visible {
    color: var(--green);
    outline: none;
  }
  @keyframes about-hero-drift {
    from { background-size: auto, auto, 106%; background-position: center, center, 50% 50%; }
    to { background-size: auto, auto, 112%; background-position: center, center, 52% 48%; }
  }
  @media (prefers-reduced-motion: reduce) {
    .about-hero:before, .divisions-hero:before, .projects-hero:before, .partners-hero:before, .contact-hero:before {
      animation: none;
    }
  }

  @media (max-width: 760px) {
    .cookie-banner { left: 12px; right: 12px; bottom: 12px; grid-template-columns: 1fr; gap: 22px; padding: 20px; }
    .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .cookie-actions button { padding-inline: 10px; }
    .legal-page .page-hero { min-height: 470px; }
    .legal-layout { grid-template-columns: 1fr; gap: 55px; }
    .legal-layout aside { position: static; }
    .legal-copy > section { padding-bottom: 42px; margin-bottom: 42px; }
    .about-hero, .divisions-hero, .projects-hero, .partners-hero, .contact-hero {
      min-height: 590px;
      padding: 138px 0 72px;
      background-image:
        linear-gradient(0deg, rgba(48,48,48,.96) 0%, rgba(48,48,48,.66) 56%, rgba(48,48,48,.12) 100%),
        var(--hero-image);
      background-size: auto, cover;
      background-position: center, center;
    }
    .about-hero:before, .divisions-hero:before, .projects-hero:before, .partners-hero:before, .contact-hero:before { background-size: 72px 72px; opacity: .1; }
    .about-hero:after, .divisions-hero:after, .projects-hero:after, .partners-hero:after, .contact-hero:after { left: 20px; right: 20px; bottom: 30px; }
    .about-hero h1, .divisions-hero h1, .projects-hero h1, .partners-hero h1, .contact-hero h1 { font-size: clamp(46px, 13vw, 68px); }
    .project-readiness-section .section-heading h2 { white-space: normal; }
    .partner-types-section .section-heading h2 { white-space: normal; }
    .partner-types-section .section-heading { transform: none; }
    .partnership-path-section .section-heading { transform: none; }
    .partnership-path-section .section-heading h2 { white-space: normal; }
    .partnership-path-section + .cta { padding-block: 58px; }
  }

  /* Thank-you page: use the same blackish, lime and technical-grid language. */
  .thank-you {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 760px;
    padding: 170px 5vw 110px;
    background:
      radial-gradient(circle at 72% 38%, rgba(198,239,88,.14), transparent 30%),
      linear-gradient(115deg, rgba(48,48,48,.99) 0%, rgba(48,48,48,.9) 52%, rgba(35,35,35,.78) 100%),
      url(../images/grid-connection-cta.jpg) center / cover no-repeat;
    color: #fff;
  }
  .thank-you:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .12;
    background-image:
      linear-gradient(rgba(255,255,255,.42) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.42) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent 2%, #000 38%, #000 100%);
    animation: cta-grid-drift 18s linear infinite;
  }
  .thank-you:after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 4.5vw;
    right: 4.5vw;
    bottom: 54px;
    height: 1px;
    background: linear-gradient(90deg, var(--gfr-lime) 0 90px, rgba(255,255,255,.2) 90px);
  }
  .thank-you > div {
    position: relative;
    z-index: 1;
    max-width: 980px;
  }
  .thank-you h1 {
    max-width: 980px;
    margin-inline: auto;
    font-size: clamp(58px, 7vw, 104px);
    line-height: .9;
    letter-spacing: -.065em;
    font-weight: 500;
    text-wrap: balance;
  }
  .thank-you h1 em {
    color: var(--gfr-lime);
    font-style: normal;
  }
  .thank-you p:not(.eyebrow) {
    max-width: 610px;
    margin: 0 auto 38px;
    color: rgba(255,255,255,.7);
    font-size: 16px;
    line-height: 1.7;
  }
  .thank-you .button.primary {
    color: var(--gfr-black);
    background: var(--gfr-lime);
    border-color: var(--gfr-lime);
  }
  @media (max-width: 760px) {
    .thank-you {
      min-height: 650px;
      padding: 145px 22px 86px;
    }
    .thank-you:before { background-size: 68px 68px; opacity: .1; }
    .thank-you:after { left: 20px; right: 20px; bottom: 28px; }
    .thank-you h1 { font-size: clamp(48px, 14vw, 68px); }
    .thank-you p:not(.eyebrow) { font-size: 15px; }
  }

  /* Keep the Partners hero neutral blackish, without a blue cast. */
  .partners-hero {
    background-image:
      linear-gradient(90deg, rgba(48,48,48,.99) 0%, rgba(48,48,48,.9) 42%, rgba(48,48,48,.58) 76%, rgba(38,38,38,.74) 100%),
      linear-gradient(0deg, rgba(48,48,48,.9), rgba(48,48,48,.18) 52%),
      var(--hero-image);
  }
  @media (max-width: 760px) {
    .partners-hero {
      background-image:
        linear-gradient(0deg, rgba(48,48,48,.98) 0%, rgba(48,48,48,.78) 58%, rgba(48,48,48,.38) 100%),
        var(--hero-image);
    }
  }
