/* Homepage-only minimalist visual layer. Remove this file to restore the previous look. */
.replica-home{
  --home-ink:#071b2f;
  --home-muted:#607082;
  --home-green:#5aad36;
  --home-cyan:#0ba9b7;
  --home-line:#dce5e8;
  --home-soft:#f3f7f7;
  background:#fff;
  color:var(--home-ink);
}
.replica-home:before{display:none}
.replica-home .replica-wrap{max-width:1360px}

/* Hero: strong image, restrained palette, and a visible hint of the next section. */
.replica-home .replica-hero{
  height:570px;
  min-height:570px;
  background:#0a1c26;
  isolation:isolate;
}
.replica-home .replica-hero:before{
  inset:-10px;
  background-position:center;
  filter:saturate(.82) contrast(1.08);
  transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.025);
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
  animation:espHeroCarousel 15s infinite;
}
.replica-home .replica-hero:after{
  left:auto;
  right:max(34px,calc((100vw - 1304px)/2));
  bottom:34px;
  width:88px;
  height:12px;
  transform:none;
}
.replica-home .hero-copy{
  padding-top:102px;
  padding-bottom:74px;
}
.replica-home .replica-hero .hero-copy:before{
  left:28px;
  top:73px;
  width:74px;
  height:3px;
  background:var(--home-green);
  box-shadow:none;
}
.replica-home .replica-hero .hero-copy:after{display:none}
.replica-home .hero-copy h1{
  max-width:690px;
  margin-bottom:22px;
  font-size:56px;
  line-height:1.04;
  letter-spacing:0;
  text-shadow:0 8px 28px rgba(0,20,32,.25);
}
.replica-home .hero-copy p{
  max-width:560px;
  margin-bottom:30px;
  color:#e8f0f2;
  font-size:16px;
  line-height:1.75;
}
.replica-home .green-btn,
.replica-home .outline-btn{
  min-height:46px;
  padding:13px 22px;
  border-radius:4px;
  letter-spacing:0;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease;
}
.replica-home .green-btn{
  background:var(--home-green);
  box-shadow:0 12px 28px rgba(70,145,45,.24);
}
.replica-home .outline-btn{
  border-color:rgba(255,255,255,.62);
  background:rgba(5,24,34,.18);
  backdrop-filter:blur(6px);
}
.replica-home .green-btn:hover,
.replica-home .outline-btn:hover{transform:translateY(-3px)}
.replica-home .green-btn:hover{box-shadow:0 17px 32px rgba(70,145,45,.32)}
.replica-home .outline-btn:hover{background:rgba(255,255,255,.14);border-color:#fff}
.replica-home .hero-arrow{
  top:auto;
  bottom:78px;
  width:46px;
  height:62px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:4px;
  background:rgba(5,24,34,.28);
  backdrop-filter:blur(7px);
  font-size:38px;
  transform:none;
}
.replica-home .hero-arrow-left{left:auto;right:82px}
.replica-home .hero-arrow-right{right:28px}
.replica-home .replica-hero:after{right:148px}

/* Keep the language chooser compact until the visitor opens it. */
body .esp-lang{position:relative}
body .esp-lang-menu{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:30;
  display:none;
  width:420px;
  max-height:330px;
  padding:10px;
  overflow:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  border:1px solid #d9e3e6;
  border-radius:5px;
  background:#fff;
  box-shadow:0 18px 45px rgba(7,36,48,.16);
}
body .esp-lang.open .esp-lang-menu{display:grid}
body .esp-lang-menu button{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 9px;
  border:0;
  border-radius:3px;
  background:#fff;
  color:#314755;
  text-align:left;
  cursor:pointer;
}
body .esp-lang-menu button:hover,
body .esp-lang-menu button.active{background:#eef5f3;color:#167f78}
body #google_translate_element,
body .goog-te-banner-frame,
body .goog-te-gadget,
body .goog-te-balloon-frame,
body iframe.skiptranslate{
  display:none!important;
}
body{top:0!important}

/* Feature strip becomes a crisp editorial band instead of a floating glass card. */
.replica-home>section.replica-wrap.benefit-strip{
  max-width:1304px;
  margin-top:-25px;
  padding:25px 18px;
  border:1px solid var(--home-line);
  border-top:4px solid var(--home-green);
  border-radius:4px;
  background:#fff;
  box-shadow:0 18px 45px rgba(13,48,58,.1);
}
.replica-home .benefit-strip div{padding:2px 18px;border-color:var(--home-line)}
.replica-home .benefit-strip i{color:var(--home-cyan);font-size:24px;font-weight:700}
.replica-home .benefit-strip b{color:var(--home-ink);font-size:14px}
.replica-home .benefit-strip span{color:var(--home-muted);font-size:11px;line-height:1.55}

/* Shared section rhythm and headings. */
.replica-home .block-section,
.replica-home .about-home,
.replica-home .tech-services{padding-top:76px;padding-bottom:76px}
.replica-home .block-title{display:block;margin-bottom:28px}
.replica-home .block-title small,
.replica-home .about-home small,
.replica-home .tech-services small{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--home-cyan);
  font-size:11px;
  letter-spacing:1.4px;
}
.replica-home .block-title small:before,
.replica-home .about-home small:before,
.replica-home .tech-services small:before{
  width:32px;
  height:2px;
  background:var(--home-green);
}
.replica-home .block-title h2,
.replica-home .about-home h2,
.replica-home .tech-services h2{
  max-width:800px;
  margin:8px 0 0;
  color:var(--home-ink);
  font-size:34px;
  line-height:1.18;
  letter-spacing:0;
}
.replica-home .block-title>a{right:0;bottom:7px;color:var(--home-cyan);font-size:12px}

/* Products stay highly scannable, with movement concentrated on real content. */
.replica-home .catalog-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.replica-home .catalog-row .product-card{
  border:1px solid var(--home-line);
  border-radius:5px;
  background:#fff;
  box-shadow:none;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.replica-home .catalog-row .product-card:hover{
  transform:translateY(-8px);
  border-color:#b8d3cf;
  box-shadow:0 18px 45px rgba(16,61,67,.12);
}
.replica-home .catalog-row .product-visual{height:188px;background:#f2f5f5;overflow:hidden}
.replica-home .catalog-row .product-visual img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.replica-home .catalog-row .product-card:hover .product-visual img{transform:scale(1.045)}
.replica-home .catalog-row .product-card h3{margin:16px 16px 4px;color:var(--home-ink);font-size:15px;line-height:1.35}
.replica-home .catalog-row .product-card small{margin:0 16px;color:var(--home-muted);font-size:11px}
.replica-home .catalog-row .product-card a{
  justify-content:flex-start;
  width:auto;
  margin:14px 16px 17px;
  padding:0;
  background:none;
  color:var(--home-cyan);
  box-shadow:none;
  font-size:12px;
}

/* Solutions use one wider lead panel to vary the page composition. */
.replica-home .solution-row{
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}
.replica-home .solution-row .solution{
  height:258px;
  border-radius:5px;
  box-shadow:inset 0 -100px 75px rgba(2,25,40,.78);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.replica-home .solution-row .solution:first-child{height:292px;margin-top:-17px}
.replica-home .solution-row .solution:hover{transform:translateY(-7px);filter:saturate(1.08)}
.replica-home .solution-row .solution:after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.26);
  pointer-events:none;
}
.replica-home .solution-row .solution b{
  left:20px;
  bottom:23px;
  width:34px;
  height:34px;
  border-radius:3px;
  background:var(--home-green);
  box-shadow:none;
}
.replica-home .solution-row .solution h3{left:65px;bottom:18px;font-size:16px}

/* Metrics become a clean high-contrast band with a thin cyan accent. */
.replica-home>section.replica-wrap.metrics{
  max-width:1304px;
  margin-top:12px;
  padding:31px 24px;
  border:0;
  border-left:5px solid var(--home-cyan);
  border-radius:4px;
  background:#0c2932;
  box-shadow:none;
}
.replica-home .metrics div{padding-left:24px;border-color:rgba(255,255,255,.16)}
.replica-home .metrics b{font-size:27px;font-weight:700}
.replica-home .metrics span{color:#c7d6d8;font-size:11px;letter-spacing:0}

/* About section: image-forward, calm text, precise timeline. */
.replica-home .about-home{grid-template-columns:1.12fr 1fr .78fr;gap:44px}
.replica-home .about-photo{height:390px;border-radius:5px;box-shadow:none}
.replica-home .about-home p{color:var(--home-muted);font-size:13px;line-height:1.85}
.replica-home .about-home ul{padding-left:26px;border-left:1px solid #cddadd}
.replica-home .about-home li{padding-bottom:21px}
.replica-home .about-home li:before{
  left:-31px;
  top:5px;
  width:9px;
  height:9px;
  background:var(--home-green);
  box-shadow:0 0 0 5px #eef5ed;
}
.replica-home .about-home li b{color:var(--home-ink);font-size:13px}
.replica-home .about-home li span{color:var(--home-muted);font-size:11px}

/* News forms a light band and avoids decorative card shadows. */
.replica-home .news-home{
  max-width:none;
  padding-left:max(28px,calc((100vw - 1304px)/2));
  padding-right:max(28px,calc((100vw - 1304px)/2));
  background:var(--home-soft);
}
.replica-home .news-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.replica-home .news-row article{
  border:1px solid var(--home-line);
  border-radius:5px;
  background:#fff;
  box-shadow:none;
  transition:transform .32s ease,border-color .32s ease;
}
.replica-home .news-row article:hover{transform:translateY(-6px);border-color:#b8d3cf}
.replica-home .news-thumb{height:176px;overflow:hidden}
.replica-home .news-thumb img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.replica-home .news-row article:hover .news-thumb img{transform:scale(1.045)}
.replica-home .news-row small{margin:13px 15px 5px;color:#74858b;font-size:10px;letter-spacing:.4px}
.replica-home .news-row h3{margin:5px 15px;color:var(--home-ink);font-size:14px}
.replica-home .news-row article>a:last-child{margin:13px 15px 17px;color:var(--home-cyan);font-size:11px}

/* Technical services are dense and premium without a heavy full-dark section. */
.replica-home .tech-services{
  max-width:1360px;
  margin:0 auto;
  padding-left:28px;
  padding-right:28px;
  background:#fff;
  color:var(--home-ink);
}
.replica-home .tech-services:before{display:none}
.replica-home .tech-services>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.replica-home .tech-services article{
  min-height:222px;
  padding:30px;
  border:1px solid var(--home-line);
  border-top:3px solid var(--home-cyan);
  border-radius:4px;
  background:#fff;
  box-shadow:none;
  transition:transform .32s ease,background-color .32s ease;
}
.replica-home .tech-services article:nth-child(2){border-top-color:var(--home-green)}
.replica-home .tech-services article:hover{transform:translateY(-6px);background:#f8fbfa}
.replica-home .tech-services article b{
  width:38px;
  height:38px;
  border:1px solid #cce0dc;
  border-radius:3px;
  background:#edf6f4;
  color:var(--home-cyan);
}
.replica-home .tech-services article h3{color:var(--home-ink);font-size:16px}
.replica-home .tech-services article p{color:var(--home-muted);font-size:12px}

.replica-home .cta{
  padding:54px 0;
  background:linear-gradient(90deg,rgba(7,32,38,.94),rgba(7,32,38,.67)),url('../images/energy-hero-v2.png') center/cover;
}
.replica-home .cta .replica-wrap{min-height:88px}
.replica-home .cta h2{font-size:31px;letter-spacing:0}
.replica-home .cta p{color:#dbe6e7;font-size:14px}

/* Scroll reveals: each module family has a slightly different entrance. */
.replica-home .esp-animate{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);
}
.replica-home .about-home.esp-animate{transform:translateX(-34px)}
.replica-home .metrics.esp-animate{transform:scale(.975)}
.replica-home .cta.esp-animate{transform:none;clip-path:inset(0 100% 0 0)}
.replica-home .esp-animate.is-visible{opacity:1;transform:none;clip-path:inset(0)}
.replica-home .benefit-strip>div,
.replica-home .catalog-row>* ,
.replica-home .solution-row>* ,
.replica-home .metrics>div,
.replica-home .about-home>* ,
.replica-home .news-row>* ,
.replica-home .tech-services article{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease var(--esp-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--esp-delay,0ms);
}
.replica-home .is-visible .benefit-strip>div,
.replica-home .benefit-strip.is-visible>div,
.replica-home .is-visible .catalog-row>* ,
.replica-home .is-visible .solution-row>* ,
.replica-home .metrics.is-visible>div,
.replica-home .about-home.is-visible>* ,
.replica-home .is-visible .news-row>* ,
.replica-home .is-visible .tech-services article{
  opacity:1;
  transform:none;
}
@keyframes espHomeHeroCopy{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}
.replica-home .hero-copy h1,
.replica-home .hero-copy p,
.replica-home .hero-copy>a{animation:espHomeHeroCopy .75s both cubic-bezier(.2,.7,.2,1)}
.replica-home .hero-copy p{animation-delay:.1s}
.replica-home .hero-copy>a{animation-delay:.2s}

@media(max-width:1000px){
  .replica-home .benefit-strip{grid-template-columns:repeat(2,1fr)}
  .replica-home .benefit-strip div{padding:12px 16px;border-bottom:1px solid var(--home-line)}
  .replica-home .benefit-strip div:nth-child(even){border-right:0}
  .replica-home .catalog-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .replica-home .about-home{grid-template-columns:1fr 1fr}
  .replica-home .about-home ul{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border:0;padding-left:0}
  .replica-home .about-home li:before{display:none}
}
@media(max-width:800px){
  .replica-home .replica-hero{height:auto;min-height:535px}
  .replica-home .hero-copy{padding-top:92px;padding-bottom:90px}
  .replica-home .hero-copy h1{font-size:39px;line-height:1.08}
  .replica-home .hero-copy p{font-size:14px}
  .replica-home .hero-arrow{width:38px;height:52px;font-size:30px}
  .replica-home .hero-arrow{bottom:26px}
  .replica-home .hero-arrow-left{left:auto;right:64px}
  .replica-home .hero-arrow-right{right:16px}
  .replica-home .replica-hero:after{right:112px}
  body .esp-lang-menu{right:-70px;width:min(90vw,360px)}
  .replica-home>section.replica-wrap.benefit-strip{margin-top:-22px}
  .replica-home .block-section,.replica-home .about-home,.replica-home .tech-services{padding-top:54px;padding-bottom:54px}
  .replica-home .block-title h2,.replica-home .about-home h2,.replica-home .tech-services h2,.replica-home .cta h2{font-size:27px}
  .replica-home .catalog-row,.replica-home .solution-row,.replica-home .news-row,.replica-home .tech-services>div{grid-template-columns:1fr}
  .replica-home .solution-row .solution:first-child{height:258px;margin-top:0}
  .replica-home .metrics{grid-template-columns:1fr 1fr}
  .replica-home .about-home{grid-template-columns:1fr}
  .replica-home .about-home ul{grid-column:auto;grid-template-columns:1fr}
  .replica-home .news-home{padding-left:28px;padding-right:28px}
  .replica-home .cta .green-btn{position:static;margin-top:14px}
}
@media(max-width:520px){
  .replica-home .replica-wrap{padding-left:20px;padding-right:20px}
  .replica-home .hero-copy h1{font-size:34px}
  .replica-home .outline-btn{margin-left:6px}
  .replica-home .benefit-strip,.replica-home .metrics{grid-template-columns:1fr}
  .replica-home .benefit-strip div{border-right:0}
  .replica-home .metrics div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:13px 10px}
}
@media(prefers-reduced-motion:reduce){
  .replica-home *,
  .replica-home *:before,
  .replica-home *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .replica-home .esp-animate,
  .replica-home .benefit-strip>div,
  .replica-home .catalog-row>* ,
  .replica-home .solution-row>* ,
  .replica-home .metrics>div,
  .replica-home .about-home>* ,
  .replica-home .news-row>* ,
  .replica-home .tech-services article{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* Refined solution, metrics, and news composition. */
.replica-home .block-section:has(.solution-row){padding-bottom:34px}
.replica-home .solution-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.replica-home .solution-row .solution,
.replica-home .solution-row .solution:first-child{
  height:280px;
  margin-top:0;
  border-radius:4px;
  box-shadow:inset 0 -112px 82px rgba(2,25,40,.78);
}
.replica-home .solution-row .solution:after{
  border:0;
  border-bottom:3px solid var(--home-green);
  background:linear-gradient(180deg,transparent 56%,rgba(3,26,39,.22));
}
.replica-home .solution-row .solution:nth-child(2):after{border-bottom-color:var(--home-cyan)}
.replica-home .solution-row .solution:nth-child(3):after{border-bottom-color:#79a8bf}
.replica-home .solution-row .solution b{
  left:22px;
  bottom:24px;
  width:36px;
  height:36px;
  line-height:36px;
  background:#fff;
  color:#153944;
}
.replica-home .solution-row .solution h3{
  left:72px;
  right:22px;
  bottom:19px;
  font-size:17px;
  line-height:1.35;
}
.replica-home>section.replica-wrap.metrics{
  max-width:1304px;
  margin-top:0;
  padding:30px 10px;
  border:1px solid var(--home-line);
  border-left:0;
  border-right:0;
  border-radius:0;
  background:#f5f8f7;
}
.replica-home .metrics div{
  position:relative;
  padding:8px 28px 5px;
  border-color:#d7e2e1;
}
.replica-home .metrics div:before{
  content:"";
  position:absolute;
  left:28px;
  top:0;
  width:28px;
  height:2px;
  background:var(--home-cyan);
}
.replica-home .metrics div:nth-child(even):before{background:var(--home-green)}
.replica-home .metrics b{padding-top:9px;color:var(--home-ink);font-size:29px}
.replica-home .metrics span{color:var(--home-muted);font-size:11px}

.replica-home .news-home{
  width:100%;
  max-width:1360px;
  margin-left:auto;
  margin-right:auto;
  padding:72px 28px 76px;
  background:#f3f7f7;
}
.replica-home .news-home .block-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  width:100%;
  margin-bottom:30px;
}
.replica-home .news-home .block-title small{grid-column:1;grid-row:1}
.replica-home .news-home .block-title h2{grid-column:1;grid-row:2;max-width:none;padding-right:30px}
.replica-home .news-home .block-title>a{
  position:static;
  grid-column:2;
  grid-row:1/3;
  align-self:end;
  margin-bottom:7px;
  white-space:nowrap;
}
.replica-home .news-home .news-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  width:100%;
}
.replica-home .news-home .news-row article{
  display:flex;
  min-width:0;
  min-height:350px;
  flex-direction:column;
  border:1px solid #d7e2e3;
  border-radius:4px;
  background:#fff;
}
.replica-home .news-home .news-thumb{height:210px;margin:0;overflow:hidden}
.replica-home .news-home .news-thumb img{width:100%;height:100%;object-fit:cover}
.replica-home .news-home .news-row small{margin:17px 18px 4px}
.replica-home .news-home .news-row h3{
  min-height:42px;
  margin:5px 18px 4px;
  font-size:15px;
  line-height:1.45;
}
.replica-home .news-home .news-row article>a:last-child{margin:12px 18px 19px;margin-top:auto}

@media(max-width:800px){
  .replica-home .block-section:has(.solution-row){padding-bottom:30px}
  .replica-home .solution-row{grid-template-columns:1fr}
  .replica-home .solution-row .solution,
  .replica-home .solution-row .solution:first-child{display:block!important;height:248px}
  .replica-home>section.replica-wrap.metrics{grid-template-columns:1fr 1fr;padding:20px 12px}
  .replica-home .metrics div{padding:13px 16px}
  .replica-home .metrics div:before{left:16px}
  .replica-home .news-home{padding:54px 20px}
  .replica-home .news-home .block-title{display:block}
  .replica-home .news-home .block-title h2{padding-right:0}
  .replica-home .news-home .block-title>a{display:block;margin-top:12px}
  .replica-home .news-home .news-row{grid-template-columns:1fr}
  .replica-home .news-home .news-row article{min-height:0}
}
@media(max-width:520px){
  .replica-home>section.replica-wrap.metrics{grid-template-columns:1fr}
  .replica-home .metrics div{border-right:0;border-bottom:1px solid #d7e2e1}
}

/* Full-screen homepage banner trial. */
.replica-home .replica-hero{
  height:calc(100vh - 96px);
  min-height:650px;
  max-height:820px;
}
.replica-home .replica-hero:before{
  inset:-18px;
  background-position:center center;
  filter:saturate(.9) contrast(1.12);
  transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.055);
}
.replica-home .replica-hero:after{
  right:max(96px,calc((100vw - 1304px)/2 + 118px));
  bottom:58px;
}
.replica-home .replica-hero .hero-copy{
  display:flex;
  min-height:100%;
  flex-direction:column;
  justify-content:center;
  padding-top:0;
  padding-bottom:82px;
}
.replica-home .replica-hero .hero-copy:before{
  top:auto;
  margin-top:-318px;
  width:96px;
  height:3px;
  background:linear-gradient(90deg,var(--home-green),var(--home-cyan));
}
.replica-home .hero-copy h1{
  max-width:780px;
  font-size:64px;
  line-height:1.02;
}
.replica-home .hero-copy p{
  max-width:610px;
  font-size:17px;
}
.replica-home .hero-copy .green-btn,
.replica-home .hero-copy .outline-btn{
  align-self:flex-start;
}
.replica-home .hero-arrow{
  bottom:96px;
  width:50px;
  height:64px;
}
.replica-home .hero-arrow-left{right:86px}
.replica-home .hero-arrow-right{right:28px}
.replica-home>section.replica-wrap.benefit-strip{
  margin-top:-74px;
  position:relative;
  z-index:4;
}

@media(max-width:800px){
  .replica-home .replica-hero{
    height:auto;
    min-height:calc(100vh - 70px);
    max-height:none;
  }
  .replica-home .replica-hero .hero-copy{
    min-height:calc(100vh - 70px);
    justify-content:center;
    padding-top:70px;
    padding-bottom:96px;
  }
  .replica-home .replica-hero .hero-copy:before{
    top:86px;
    margin-top:0;
    width:76px;
  }
  .replica-home .hero-copy h1{font-size:40px}
  .replica-home .hero-copy p{font-size:14px}
  .replica-home .hero-arrow{bottom:28px}
  .replica-home .hero-arrow-left{right:64px}
  .replica-home .hero-arrow-right{right:16px}
  .replica-home .replica-hero:after{right:112px;bottom:28px}
  .replica-home>section.replica-wrap.benefit-strip{margin-top:-26px}
}
@media(max-width:520px){
  .replica-home .hero-copy h1{font-size:35px}
  .replica-home .hero-copy .green-btn,
  .replica-home .hero-copy .outline-btn{
    min-height:42px;
    padding:11px 14px;
  }
}

/* Reference-style staged entrances without changing section heights. */
.replica-home .esp-text-reveal,
.replica-home .esp-media-reveal{
  opacity:0;
  transition:
    opacity .9s cubic-bezier(.2,.7,.2,1) var(--esp-delay,0ms),
    transform .9s cubic-bezier(.2,.7,.2,1) var(--esp-delay,0ms),
    clip-path .95s cubic-bezier(.2,.7,.2,1) var(--esp-delay,0ms),
    filter .95s cubic-bezier(.2,.7,.2,1) var(--esp-delay,0ms);
}
.replica-home .esp-text-reveal{
  transform:translateY(34px);
}
.replica-home .block-title h2.esp-text-reveal,
.replica-home .about-home h2.esp-text-reveal,
.replica-home .tech-services h2.esp-text-reveal{
  transform:translateY(42px);
  clip-path:inset(0 0 100% 0);
}
.replica-home .block-title>a.esp-text-reveal,
.replica-home .cta .green-btn.esp-text-reveal{
  transform:translateX(34px);
}
.replica-home .esp-media-reveal{
  transform:translateY(54px) scale(.96);
  clip-path:inset(16% 0 16% 0);
  filter:saturate(.75) contrast(.95);
}
.replica-home .about-photo.esp-media-reveal{
  transform:translateX(-56px) scale(.97);
}
.replica-home .product-card:nth-child(even) .esp-media-reveal,
.replica-home .news-row article:nth-child(even) .esp-media-reveal{
  transform:translateY(54px) scale(.96);
}
.replica-home .is-visible .esp-text-reveal,
.replica-home .is-visible.esp-text-reveal,
.replica-home .about-home.is-visible .esp-text-reveal,
.replica-home .tech-services.is-visible .esp-text-reveal,
.replica-home .cta.is-visible .esp-text-reveal{
  opacity:1;
  transform:none;
  clip-path:inset(0);
}
.replica-home .is-visible .esp-media-reveal,
.replica-home .is-visible.esp-media-reveal,
.replica-home .about-home.is-visible .esp-media-reveal{
  opacity:1;
  transform:none;
  clip-path:inset(0);
  filter:none;
}

/* Restore the original homepage title scale and color. */
.replica-home .block-title{
  position:relative;
  display:block;
  margin-bottom:19px;
}
.replica-home .block-title small,
.replica-home .about-home small,
.replica-home .partners small,
.replica-home .tech-services>small{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#69af37;
  font-size:10px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}
.replica-home .block-title small:before,
.replica-home .about-home small:before,
.replica-home .tech-services>small:before{
  content:"";
  width:28px;
  height:2px;
  background:#69af37;
}
.replica-home .block-title h2,
.replica-home .partners h2{
  max-width:800px;
  margin:5px 0 0;
  color:#071b2f;
  font-size:22px;
  line-height:1.25;
  font-weight:700;
}
.replica-home .about-home h2,
.replica-home .tech-services h2{
  margin:7px 0 0;
  color:#071b2f;
  font-size:23px;
  line-height:1.25;
  font-weight:700;
}
.replica-home .block-title>a{
  position:absolute;
  right:0;
  bottom:2px;
  color:#69af37;
  font-size:11px;
  font-weight:700;
}
.replica-home .catalog-row .product-card h3{
  color:#071b2f;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}
.replica-home .solution-row .solution h3{
  font-size:15px;
  line-height:1.35;
  font-weight:700;
}
.replica-home .news-row h3,
.replica-home .news-home .news-row h3{
  color:#071b2f;
  font-size:12px;
  line-height:1.5;
  font-weight:700;
}
.replica-home .tech-services article h3{
  color:#071b2f;
  font-size:17px;
  line-height:1.35;
  font-weight:700;
}
.replica-home .about-home li b{
  color:#071b2f;
  font-size:13px;
  font-weight:700;
}
.replica-home .cta h2{
  color:#fff;
  font-size:25px;
  line-height:1.2;
  font-weight:700;
}
@media(max-width:800px){
  .replica-home .block-title h2,
  .replica-home .about-home h2,
  .replica-home .tech-services h2,
  .replica-home .cta h2{
    font-size:28px;
  }
  .replica-home .block-title>a{
    position:static;
    display:block;
    margin-top:9px;
  }
}

/* Full homepage visual reset. Keep site features such as the floating contact widget. */
.replica-home,
.replica-home *{
  animation:none!important;
  transition:none!important;
}
.replica-home,
.replica-home:before{
  background:#fff!important;
}
.replica-home{
  position:static!important;
  overflow:visible!important;
  color:#0a2042!important;
}
.replica-home:before{display:none!important}
.replica-home .esp-animate,
.replica-home .esp-text-reveal,
.replica-home .esp-media-reveal,
.replica-home .benefit-strip>div,
.replica-home .catalog-row>*,
.replica-home .solution-row>*,
.replica-home .metrics>div,
.replica-home .about-home>*,
.replica-home .news-row>*,
.replica-home .tech-services article{
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  filter:none!important;
}
.replica-home .replica-wrap,
.replica-home>section.replica-wrap,
.replica-home .cta .replica-wrap{
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:28px!important;
  padding-right:28px!important;
}
.replica-home .replica-hero{
  position:relative!important;
  height:500px!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,#032653 0%,#083b7488 40%,#03265311 72%),var(--home-hero-1,url('../images/energy-hero-v2.png')) center/cover no-repeat!important;
  color:#fff!important;
  isolation:auto!important;
}
.replica-home .replica-hero:before,
.replica-home .replica-hero:after,
.replica-home .replica-hero .hero-copy:before,
.replica-home .replica-hero .hero-copy:after{
  display:none!important;
}
.replica-home .hero-arrow{display:none!important}
.replica-home .hero-copy{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  min-height:0!important;
  padding-top:84px!important;
  padding-bottom:0!important;
}
.replica-home .hero-copy h1{
  max-width:500px!important;
  margin:0 0 20px!important;
  color:#fff!important;
  font-size:43px!important;
  line-height:1.17!important;
  letter-spacing:-1.5px!important;
  text-shadow:none!important;
}
.replica-home .hero-copy p{
  max-width:430px!important;
  margin:0 0 25px!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.replica-home .green-btn,
.replica-home .outline-btn{
  display:inline-block!important;
  min-height:0!important;
  padding:12px 20px!important;
  border-radius:3px!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.replica-home .green-btn{background:#69af37!important;color:#fff!important}
.replica-home .outline-btn{
  margin-left:12px!important;
  border:1px solid #fff!important;
  background:transparent!important;
  color:#fff!important;
  backdrop-filter:none!important;
}
.replica-home>section.replica-wrap.benefit-strip{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  max-width:1320px!important;
  margin-top:-27px!important;
  padding:20px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:0 5px 18px #001d5129!important;
  backdrop-filter:none!important;
}
.replica-home .benefit-strip div{
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  grid-template-rows:30px auto!important;
  padding:0 13px!important;
  border-right:1px solid #e4eaf2!important;
  border-bottom:0!important;
}
.replica-home .benefit-strip div:last-child{border-right:0!important}
.replica-home .benefit-strip i{
  grid-row:span 2!important;
  color:#1682fa!important;
  font-size:27px!important;
  font-weight:400!important;
  font-style:normal!important;
  text-align:center!important;
}
.replica-home .benefit-strip b{color:#0a2042!important;font-size:12px!important}
.replica-home .benefit-strip span{color:#61718a!important;font-size:10px!important;line-height:1.45!important}
.replica-home .block-section{
  padding-top:35px!important;
  padding-bottom:0!important;
}
.replica-home .block-title{
  position:relative!important;
  display:block!important;
  margin-bottom:19px!important;
}
.replica-home .block-title small,
.replica-home .about-home small,
.replica-home .partners small,
.replica-home .tech-services small{
  display:inline!important;
  color:#69af37!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.replica-home .block-title small:before,
.replica-home .about-home small:before,
.replica-home .tech-services small:before{display:none!important}
.replica-home .block-title h2,
.replica-home .partners h2,
.replica-home .about-home h2,
.replica-home .tech-services h2{
  max-width:none!important;
  margin:5px 0 0!important;
  color:#0a2042!important;
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.replica-home .about-home h2{font-size:23px!important;margin:7px 0!important}
.replica-home .block-title>a{
  position:absolute!important;
  right:0!important;
  bottom:2px!important;
  display:block!important;
  margin:0!important;
  color:#69af37!important;
  font-size:11px!important;
  font-weight:700!important;
}
.replica-home .catalog-row,
.replica-home .news-row{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:12px!important;
}
.replica-home .catalog-row .product-card,
.replica-home .news-row article,
.replica-home .tech-services article{
  display:block!important;
  border:1px solid #e3eaf0!important;
  border-radius:5px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.replica-home .catalog-row .product-visual{height:145px!important;background:#f2f5f8!important}
.replica-home .catalog-row .product-card h3{
  margin:9px 10px 0!important;
  color:#0a2042!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:700!important;
}
.replica-home .catalog-row .product-card small{
  display:block!important;
  margin:0 10px!important;
  color:#6c7a8b!important;
  font-size:9px!important;
}
.replica-home .catalog-row .product-card a{
  display:block!important;
  float:none!important;
  width:auto!important;
  margin:8px 10px 11px!important;
  padding:0!important;
  border-radius:0!important;
  background:none!important;
  color:#69af37!important;
  font-size:11px!important;
  box-shadow:none!important;
}
.replica-home .solution-row{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:12px!important;
}
.replica-home .solution-row .solution,
.replica-home .solution-row .solution:first-child{
  height:180px!important;
  margin-top:0!important;
  border-radius:5px!important;
  padding:0 16px!important;
  box-shadow:inset 0 -70px 60px #001c4cc9!important;
}
.replica-home .solution-row .solution:before{display:block!important}
.replica-home .solution-row .solution:after{display:none!important}
.replica-home .solution-row .solution b{
  left:auto!important;
  bottom:21px!important;
  width:33px!important;
  height:33px!important;
  border-radius:50%!important;
  background:#147cf4!important;
  color:#fff!important;
  line-height:33px!important;
  box-shadow:none!important;
}
.replica-home .solution-row .solution h3{
  left:58px!important;
  right:auto!important;
  bottom:12px!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.replica-home>section.replica-wrap.metrics{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  max-width:1320px!important;
  margin-top:20px!important;
  padding:20px 18px!important;
  border:0!important;
  border-radius:4px!important;
  background:linear-gradient(100deg,#07327a,#007a9d)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.replica-home .metrics div{
  padding-left:18px!important;
  border-right:1px solid #ffffff44!important;
}
.replica-home .metrics div:before{display:none!important}
.replica-home .metrics b{color:#fff!important;font-size:21px!important}
.replica-home .metrics span{color:#d5e7f2!important;font-size:9px!important}
.replica-home .about-home{
  display:grid!important;
  grid-template-columns:1.15fr 1.05fr .9fr!important;
  gap:33px!important;
  align-items:center!important;
  padding-top:35px!important;
  padding-bottom:0!important;
}
.replica-home .about-photo{height:275px!important;border-radius:4px!important;box-shadow:none!important}
.replica-home .about-home p{color:#5c6b81!important;font-size:11px!important;line-height:1.7!important}
.replica-home .about-home ul{
  display:block!important;
  margin:0!important;
  padding-left:22px!important;
  border-left:1px solid #e2e9ed!important;
  list-style:none!important;
}
.replica-home .about-home li{padding:0 0 17px!important}
.replica-home .about-home li:before{display:none!important}
.replica-home .about-home li b{color:#0a2042!important;font-size:11px!important}
.replica-home .about-home li span{color:#64728a!important;font-size:9px!important}
.replica-home .news-thumb{height:93px!important}
.replica-home .news-row h3,
.replica-home .news-home .news-row h3{
  min-height:30px!important;
  margin:4px 10px!important;
  color:#0a2042!important;
  font-size:12px!important;
  line-height:1.4!important;
  text-transform:none!important;
}
.replica-home .news-row small{margin:7px 10px!important;color:#7f8b9d!important;font-size:9px!important;letter-spacing:0!important;text-transform:none!important}
.replica-home .news-row article>a:last-child{margin:7px 10px!important;color:#69af37!important;font-size:9px!important}
.replica-home .news-home{
  width:auto!important;
  max-width:1320px!important;
  padding:35px 28px 0!important;
  background:#fff!important;
}
.replica-home .news-home .block-title{
  display:block!important;
  width:auto!important;
  margin-bottom:19px!important;
}
.replica-home .news-home .block-title h2{padding-right:0!important}
.replica-home .news-home .block-title>a{position:absolute!important}
.replica-home .tech-services{
  max-width:1320px!important;
  margin:0 auto!important;
  padding:35px 28px 32px!important;
  background:#fff!important;
  color:#0a2042!important;
}
.replica-home .tech-services:before{display:none!important}
.replica-home .tech-services>div{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:18px!important;
  margin-top:17px!important;
}
.replica-home .tech-services article{
  min-height:210px!important;
  padding:28px!important;
}
.replica-home .tech-services article b{
  display:inline-flex!important;
  width:42px!important;
  height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#eaf6e4!important;
  color:#69af37!important;
  font-size:15px!important;
}
.replica-home .tech-services article h3{color:#0a2042!important;font-size:17px!important}
.replica-home .tech-services article p{color:#5d6e85!important;font-size:13px!important}
.replica-home .cta{
  padding:30px 0!important;
  background:linear-gradient(90deg,#052a61ef,#164b85b8),url('../images/energy-hero-v2.png') center/cover!important;
  color:#fff!important;
}
.replica-home .cta .replica-wrap{position:relative!important;min-height:0!important}
.replica-home .cta h2{margin:0!important;color:#fff!important;font-size:23px!important}
.replica-home .cta p{margin:5px 0!important;color:#fff!important;font-size:12px!important}
.replica-home .cta .green-btn{
  position:absolute!important;
  right:28px!important;
  top:8px!important;
  min-width:195px!important;
  text-align:center!important;
}
@media(max-width:800px){
  .replica-home .replica-hero{height:440px!important}
  .replica-home .hero-copy{padding-top:60px!important}
  .replica-home .hero-copy h1{font-size:34px!important}
  .replica-home .benefit-strip,
  .replica-home .catalog-row,
  .replica-home .solution-row,
  .replica-home .metrics,
  .replica-home .news-row,
  .replica-home .tech-services>div{grid-template-columns:repeat(2,1fr)!important}
  .replica-home .about-home{grid-template-columns:1fr!important}
  .replica-home .about-home ul{border:0!important}
  .replica-home .block-title>a,
  .replica-home .news-home .block-title>a,
  .replica-home .cta .green-btn{
    position:static!important;
    display:block!important;
    margin-top:9px!important;
  }
}

/* Homepage product cards: taller cards, image-led layout, aligned CTA row. */
.replica-home .catalog-row .product-card{
  display:flex!important;
  height:430px!important;
  min-height:430px!important;
  flex-direction:column!important;
}
.replica-home .catalog-row .product-visual,
.replica-home .catalog-row .product-card>img,
.replica-home .catalog-row .product-card>a:first-child>img{
  display:block!important;
  width:100%!important;
  height:270px!important;
  min-height:270px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  border-bottom:1px solid #e3eaf0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.replica-home .catalog-row .product-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.replica-home .catalog-row .product-card h3{
  margin:16px 14px 3px!important;
}
.replica-home .catalog-row .product-card small{
  margin:0 14px!important;
}
.replica-home .catalog-row .product-card a{
  margin:14px 14px 18px!important;
  margin-top:auto!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:#69af37!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  text-align:center!important;
}
@media(max-width:800px){
  .replica-home .catalog-row .product-card{height:410px!important;min-height:410px!important}
  .replica-home .catalog-row .product-visual,
  .replica-home .catalog-row .product-card>img,
  .replica-home .catalog-row .product-card>a:first-child>img{height:255px!important;min-height:255px!important}
}

/* Homepage solutions: equal thirds with a larger visual footprint. */
.replica-home .solution-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  align-items:stretch!important;
}
.replica-home .solution-row .solution,
.replica-home .solution-row .solution:first-child{
  width:100%!important;
  height:235px!important;
  min-height:235px!important;
  margin:0!important;
}
.replica-home .solution-row .solution h3{
  left:66px!important;
  right:20px!important;
  bottom:18px!important;
}
.replica-home .solution-row .solution b{
  left:20px!important;
  bottom:22px!important;
}
@media(max-width:800px){
  .replica-home .solution-row{grid-template-columns:1fr!important}
  .replica-home .solution-row .solution,
  .replica-home .solution-row .solution:first-child{
    height:235px!important;
    min-height:235px!important;
  }
}

/* Align the metrics band with the other homepage content blocks. */
.replica-home>section.replica-wrap.metrics{
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:28px!important;
  padding-right:28px!important;
  box-sizing:border-box!important;
}

/* Homepage news cards: show 10 items, image takes about 60%, CTA aligned. */
.replica-home .news-home .news-row,
.replica-home .news-row{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
}
.replica-home .news-home .news-row article,
.replica-home .news-row article{
  display:flex!important;
  height:360px!important;
  min-height:360px!important;
  flex-direction:column!important;
}
.replica-home .news-home .news-thumb,
.replica-home .news-thumb{
  display:block!important;
  height:216px!important;
  min-height:216px!important;
  overflow:hidden!important;
}
.replica-home .news-home .news-thumb img,
.replica-home .news-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.replica-home .news-row article>a:last-child{
  margin-top:auto!important;
}
@media(max-width:1000px){
  .replica-home .news-home .news-row,
  .replica-home .news-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .replica-home .news-home .news-row,
  .replica-home .news-row{grid-template-columns:1fr!important}
}

/* Homepage motion system: page reveal, nav, micro interactions, cards, carousel, tabs, counters, list focus, loader. */
body.home-motion-on .replica-home,
body.home-motion-on .replica-home *{
  transition:
    transform .28s cubic-bezier(.2,.7,.2,1),
    opacity .32s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease,
    color .28s ease!important;
}
body.home-motion-on .replica-home .esp-animate{
  opacity:0!important;
  transform:translateY(32px)!important;
}
body.home-motion-on .replica-home .esp-animate.is-visible,
body.home-motion-on .replica-home .is-visible .esp-animate{
  opacity:1!important;
  transform:none!important;
}
body.home-motion-on .replica-home .benefit-strip>div,
body.home-motion-on .replica-home .catalog-row>*,
body.home-motion-on .replica-home .solution-row>*,
body.home-motion-on .replica-home .metrics>div,
body.home-motion-on .replica-home .about-home>*,
body.home-motion-on .replica-home .news-row>*,
body.home-motion-on .replica-home .tech-services article{
  opacity:0!important;
  transform:translateY(24px)!important;
  transition-delay:var(--esp-delay,0ms)!important;
}
body.home-motion-on .replica-home .benefit-strip.is-visible>div,
body.home-motion-on .replica-home .is-visible .catalog-row>*,
body.home-motion-on .replica-home .is-visible .solution-row>*,
body.home-motion-on .replica-home .metrics.is-visible>div,
body.home-motion-on .replica-home .about-home.is-visible>*,
body.home-motion-on .replica-home .is-visible .news-row>*,
body.home-motion-on .replica-home .is-visible .tech-services article{
  opacity:1!important;
  transform:none!important;
}
body.home-motion-on .main-menu a{
  position:relative;
}
body.home-motion-on .main-menu a:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:2px;
  background:#69af37;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease!important;
}
body.home-motion-on .main-menu a:hover:after{
  transform:scaleX(1);
}
body.home-motion-on .site-header{
  transition:box-shadow .28s ease,transform .28s ease!important;
}
body.home-motion-on .site-header:hover{
  box-shadow:0 10px 30px rgba(3,28,63,.08)!important;
}
body.home-motion-on .green-btn:hover,
body.home-motion-on .outline-btn:hover,
body.home-motion-on .quote:hover,
body.home-motion-on .block-title>a:hover,
body.home-motion-on .news-row article>a:last-child:hover{
  transform:translateY(-2px)!important;
}
body.home-motion-on .green-btn:hover,
body.home-motion-on .quote:hover{
  box-shadow:0 12px 24px rgba(105,175,55,.24)!important;
}
body.home-motion-on .catalog-row .product-card:hover{
  transform:translateY(-7px)!important;
  border-color:#b9d7c6!important;
  box-shadow:0 18px 38px rgba(3,28,63,.12)!important;
}
body.home-motion-on .catalog-row .product-card:hover>img,
body.home-motion-on .catalog-row .product-card:hover .product-visual,
body.home-motion-on .news-row article:hover .news-thumb{
  transform:scale(1.025)!important;
}
body.home-motion-on .replica-home .hero-arrow{
  display:flex!important;
  opacity:.78!important;
}
body.home-motion-on .replica-home .hero-arrow:hover{
  opacity:1!important;
  transform:translateY(-50%) scale(1.04)!important;
}
body.home-motion-on .replica-home .replica-hero:before{
  display:block!important;
}
body.home-motion-on .replica-home .replica-hero.slide-1:before{
  background-image:linear-gradient(90deg,#032653 0%,#083b7488 40%,#03265311 72%),var(--home-hero-1,url('../images/energy-hero-v2.png'))!important;
}
body.home-motion-on .replica-home .replica-hero.slide-2:before{
  background-image:linear-gradient(90deg,#032653 0%,#083b7488 40%,#03265311 72%),var(--home-hero-2,url('../images/energy-hero-carousel-2.png'))!important;
}
body.home-motion-on .replica-home .replica-hero.slide-3:before{
  background-image:linear-gradient(90deg,#032653 0%,#083b7488 40%,#03265311 72%),var(--home-hero-3,url('../images/energy-hero-carousel-3.png'))!important;
}
body.home-motion-on .solution-row .solution{
  cursor:pointer;
}
body.home-motion-on .solution-row .solution:hover,
body.home-motion-on .solution-row .solution.is-active{
  transform:translateY(-5px)!important;
  box-shadow:inset 0 -70px 60px #001c4cc9,0 15px 30px rgba(3,28,63,.16)!important;
}
body.home-motion-on .solution-row .solution.is-active b{
  background:#69af37!important;
}
body.home-motion-on .metrics b{
  display:block!important;
  transform-origin:left center;
}
body.home-motion-on .metrics.is-visible b{
  animation:espMetricPop .55s ease both!important;
}
body.home-motion-on .news-row article.is-list-focus{
  border-color:#69af37!important;
  box-shadow:0 14px 30px rgba(105,175,55,.14)!important;
  transform:translateY(-3px)!important;
}
body.home-motion-on .esp-home-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#061a35;
  color:#fff;
  font-weight:800;
  letter-spacing:1.8px;
  opacity:1;
  transition:opacity .55s ease,visibility .55s ease!important;
}
body.home-motion-on .esp-home-loader span{
  width:34px;
  height:34px;
  border:3px solid rgba(255,255,255,.25);
  border-top-color:#69af37;
  border-radius:50%;
  animation:espLoaderSpin .8s linear infinite!important;
}
body.home-motion-on.esp-home-loaded .esp-home-loader{
  opacity:0;
  visibility:hidden;
}
@keyframes espLoaderSpin{
  to{transform:rotate(360deg)}
}
@keyframes espMetricPop{
  0%{transform:scale(.92);opacity:.4}
  100%{transform:scale(1);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  body.home-motion-on .replica-home,
  body.home-motion-on .replica-home *,
  body.home-motion-on .esp-home-loader,
  body.home-motion-on .esp-home-loader span{
    animation:none!important;
    transition:none!important;
  }
}

/* Fullscreen homepage hero with split carousel arrows. */
body.home-motion-on .replica-home .replica-hero,
.replica-home .replica-hero{
  height:calc(100vh - 96px)!important;
  min-height:650px!important;
  max-height:860px!important;
}
body.home-motion-on .replica-home .hero-copy,
.replica-home .hero-copy{
  display:flex!important;
  min-height:100%!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-top:0!important;
  padding-bottom:82px!important;
}
body.home-motion-on .replica-home .hero-copy h1,
.replica-home .hero-copy h1{
  max-width:680px!important;
  font-size:56px!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  text-shadow:0 12px 34px rgba(0,18,50,.35)!important;
}
body.home-motion-on .replica-home .hero-copy p,
.replica-home .hero-copy p{
  max-width:590px!important;
  font-size:15px!important;
  line-height:1.8!important;
}
body.home-motion-on .replica-home .hero-copy,
.replica-home .hero-copy{
  display:block!important;
}
body.home-motion-on .replica-home .replica-hero .hero-copy,
.replica-home .replica-hero .hero-copy{
  display:flex!important;
  min-height:100%!important;
  max-width:none!important;
  justify-content:center!important;
  padding-left:max(52px,calc((100vw - 1320px)/2 + 78px))!important;
  padding-right:42px!important;
  padding-top:0!important;
  padding-bottom:120px!important;
}
body.home-motion-on .replica-home .hero-copy h1,
.replica-home .hero-copy h1{max-width:640px!important}
body.home-motion-on .replica-home .hero-copy p,
.replica-home .hero-copy p{max-width:560px!important}
body.home-motion-on .replica-home .hero-copy .green-btn,
body.home-motion-on .replica-home .hero-copy .outline-btn,
.replica-home .hero-copy .green-btn,
.replica-home .hero-copy .outline-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:top!important;
  height:48px!important;
  min-width:146px!important;
  margin-top:0!important;
}
body.home-motion-on .replica-home .hero-copy .outline-btn,
.replica-home .hero-copy .outline-btn{
  margin-left:0!important;
  margin-top:12px!important;
}
body.home-motion-on .replica-home .hero-arrow,
.replica-home .hero-arrow{
  display:flex!important;
  top:50%!important;
  bottom:auto!important;
  width:58px!important;
  height:78px!important;
  border-radius:3px!important;
  background:rgba(4,21,40,.32)!important;
  color:#fff!important;
  transform:translateY(-50%)!important;
  backdrop-filter:blur(8px)!important;
}
body.home-motion-on .replica-home .hero-arrow-left,
.replica-home .hero-arrow-left{
  left:28px!important;
  right:auto!important;
}
body.home-motion-on .replica-home .hero-arrow-right,
.replica-home .hero-arrow-right{
  left:auto!important;
  right:28px!important;
}
body.home-motion-on .replica-home>section.replica-wrap.benefit-strip,
.replica-home>section.replica-wrap.benefit-strip{
  margin-top:-70px!important;
}
@media(max-width:800px){
  body.home-motion-on .replica-home .replica-hero,
  .replica-home .replica-hero{
    height:auto!important;
    min-height:calc(100vh - 70px)!important;
    max-height:none!important;
  }
  body.home-motion-on .replica-home .hero-copy,
  .replica-home .hero-copy{
    min-height:calc(100vh - 70px)!important;
    padding-top:86px!important;
    padding-bottom:100px!important;
  }
  body.home-motion-on .replica-home .hero-copy h1,
  .replica-home .hero-copy h1{font-size:38px!important}
  body.home-motion-on .replica-home .hero-arrow,
  .replica-home .hero-arrow{
    width:42px!important;
    height:58px!important;
  }
  body.home-motion-on .replica-home .hero-arrow-left,
  .replica-home .hero-arrow-left{left:14px!important}
  body.home-motion-on .replica-home .hero-arrow-right,
  .replica-home .hero-arrow-right{right:14px!important}
  body.home-motion-on .replica-home>section.replica-wrap.benefit-strip,
  .replica-home>section.replica-wrap.benefit-strip{margin-top:-32px!important}
  body.home-motion-on .replica-home .replica-hero .hero-copy,
  .replica-home .replica-hero .hero-copy{
    justify-content:center!important;
    padding-left:58px!important;
    padding-right:28px!important;
    padding-top:0!important;
    padding-bottom:86px!important;
  }
}

/* Taller hero benefit strip with larger text. */
.replica-home>section.replica-wrap.benefit-strip{
  min-height:118px!important;
  padding-top:26px!important;
  padding-bottom:26px!important;
}
.replica-home .benefit-strip div{
  grid-template-columns:58px 1fr!important;
  grid-template-rows:34px auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
.replica-home .benefit-strip i{
  font-size:34px!important;
  line-height:38px!important;
}
.replica-home .benefit-strip b{
  font-size:14px!important;
  line-height:1.25!important;
}
.replica-home .benefit-strip span{
  font-size:11px!important;
  line-height:1.55!important;
}
@media(max-width:800px){
  .replica-home>section.replica-wrap.benefit-strip{
    min-height:0!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
  }
  .replica-home .benefit-strip div{
    grid-template-columns:52px 1fr!important;
    padding:14px 18px!important;
  }
}

/* Stronger, more premium metrics band. */
.replica-home>section.replica-wrap.metrics{
  min-height:155px!important;
  padding:36px 44px!important;
  border-radius:8px!important;
  background:linear-gradient(105deg,#0a3279 0%,#075f8a 58%,#078f96 100%)!important;
  box-shadow:0 18px 46px rgba(5,43,88,.16)!important;
  align-items:center!important;
}
.replica-home>section.replica-wrap.metrics{
  width:calc(100% - 56px)!important;
  max-width:1264px!important;
}
.replica-home .metrics div{
  display:flex!important;
  min-height:82px!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-left:26px!important;
  padding-right:26px!important;
  border-right:1px solid rgba(255,255,255,.28)!important;
}
.replica-home .metrics div:last-child{border-right:0!important}
.replica-home .metrics b{
  margin-bottom:8px!important;
  font-size:38px!important;
  line-height:1!important;
  letter-spacing:.2px!important;
}
.replica-home .metrics span{
  font-size:12px!important;
  line-height:1.35!important;
  color:rgba(255,255,255,.88)!important;
}
@media(max-width:800px){
  .replica-home>section.replica-wrap.metrics{
    min-height:0!important;
    padding:26px 22px!important;
  }
  .replica-home .metrics div{
    min-height:72px!important;
    padding:16px!important;
  }
  .replica-home .metrics b{font-size:32px!important}
}

/* Move the quick contact widget to the right-side middle and keep back-to-top at bottom-right. */
.floating-contact{
  top:50%!important;
  right:28px!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
}
.floating-contact-panel{
  right:72px!important;
  bottom:50%!important;
  transform:translateY(50%) translateX(12px) scale(.96)!important;
  transform-origin:center right!important;
}
.floating-contact-toggle:checked~.floating-contact-panel{
  transform:translateY(50%) translateX(0) scale(1)!important;
}
.back-to-top{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:82;
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  background:linear-gradient(135deg,#66b43a,#12a9b4);
  box-shadow:0 18px 38px rgba(8,76,96,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease,box-shadow .22s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 44px rgba(8,76,96,.34);
}
.back-to-top span{
  width:16px;
  height:16px;
  border-top:3px solid #fff;
  border-left:3px solid #fff;
  transform:translateY(4px) rotate(45deg);
}
@media(max-width:800px){
  .floating-contact{
    right:16px!important;
  }
  .floating-contact-panel{
    right:64px!important;
    width:min(292px,calc(100vw - 96px))!important;
  }
  .back-to-top{
    right:16px;
    bottom:16px;
    width:52px;
    height:52px;
  }
}

/* Homepage product category navigation. */
.replica-home .home-product-nav{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:0!important;
  margin:8px 0 24px!important;
  padding:18px 18px!important;
  border:1px solid rgba(255,255,255,.86)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,251,253,.88))!important;
  box-shadow:0 20px 52px rgba(4,31,68,.10)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.replica-home .home-product-nav a{
  position:relative!important;
  display:flex!important;
  min-height:92px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 12px 14px!important;
  border-right:1px solid rgba(8,55,98,.11)!important;
  color:#061a35!important;
  text-align:center!important;
  transition:transform .24s ease,color .24s ease,background .24s ease!important;
}
.replica-home .home-product-nav a:last-child{border-right:0!important}
.replica-home .home-product-nav a:after{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:6px!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#69af37,#21d6ff)!important;
  transform:scaleX(0)!important;
  transition:transform .24s ease!important;
}
.replica-home .home-product-nav a:hover,
.replica-home .home-product-nav a.active{
  color:#138caa!important;
  transform:translateY(-3px)!important;
  background:linear-gradient(180deg,rgba(236,250,246,.64),rgba(255,255,255,0))!important;
}
.replica-home .home-product-nav a:hover:after,
.replica-home .home-product-nav a.active:after{
  transform:scaleX(1)!important;
}
.replica-home .home-product-nav i{
  display:block!important;
  margin-bottom:10px!important;
  color:inherit!important;
  font-size:30px!important;
  font-style:italic!important;
  font-weight:400!important;
  line-height:1!important;
}
.replica-home .home-product-nav b{
  display:block!important;
  max-width:100%!important;
  color:#061a35!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.replica-home .home-product-nav a.active b,
.replica-home .home-product-nav a:hover b{color:#138caa!important}
@media(max-width:1000px){
  .replica-home .home-product-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .replica-home .home-product-nav a:nth-child(3n){border-right:0!important}
  .replica-home .home-product-nav a:nth-child(n+4){border-top:1px solid rgba(8,55,98,.11)!important}
}
@media(max-width:800px){
  .replica-home .home-product-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-bottom:20px!important;
    padding:12px!important;
  }
  .replica-home .home-product-nav a{
    min-height:84px!important;
  }
  .replica-home .home-product-nav a:nth-child(3n){border-right:1px solid rgba(8,55,98,.11)!important}
  .replica-home .home-product-nav a:nth-child(2n){border-right:0!important}
  .replica-home .home-product-nav a:nth-child(n+3){border-top:1px solid rgba(8,55,98,.11)!important}
}
