.energy-portfolio{--ep-ink:#17382c;--ep-muted:#5f7068;--ep-line:#d6dfd8;color:var(--ep-ink);background:#fafbf8;font-family:Arial,"Noto Sans SC",sans-serif}.energy-portfolio *{box-sizing:border-box}.energy-portfolio .ep-shell{width:min(1280px,calc(100% - 96px));margin:auto}.energy-portfolio h1,.energy-portfolio h2,.energy-portfolio h3,.energy-portfolio p,.energy-portfolio figure{margin:0}.energy-portfolio h1,.energy-portfolio h2,.energy-portfolio h3{font-family:Arial,"Noto Sans SC",sans-serif;font-weight:500;text-transform:none;letter-spacing:-.035em}.energy-portfolio a{color:inherit;text-decoration:none}.energy-portfolio a:focus-visible{outline:2px solid #a17017;outline-offset:5px}.energy-portfolio p{font-size:15px;line-height:1.85;color:var(--ep-muted)}.energy-portfolio .ep-kicker{font-size:10px;font-weight:600;letter-spacing:.11em;color:#247353;margin-bottom:22px}.energy-portfolio .ep-hero{padding:82px 0;background:#f3f5ee}.energy-portfolio .ep-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.energy-portfolio h1{font-size:clamp(36px,4.2vw,60px);line-height:1.18}.energy-portfolio h1>span{display:block}.energy-portfolio h1>span:last-child{color:#648371}.energy-portfolio .ep-hero p:not(.ep-kicker){margin-top:25px;max-width:470px}.energy-portfolio .ep-hero img{width:100%;aspect-ratio:1.25;object-fit:cover}.energy-portfolio figcaption{font-size:10px;color:var(--ep-muted);padding-top:12px}.energy-portfolio .ep-button{display:inline-flex;align-items:center;gap:35px;background:#155b40;color:#fff;font-size:13px;padding:16px 22px;min-height:52px;margin-top:28px}.energy-portfolio .ep-button:hover{background:#103c2d}.energy-portfolio .ep-section{padding-block:86px;scroll-margin-top:110px}.energy-portfolio .ep-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:90px;margin-bottom:43px}.energy-portfolio h2{font-size:clamp(29px,3vw,40px);line-height:1.35}.energy-portfolio h3{font-size:23px;line-height:1.4}.energy-portfolio .ep-heading>p{max-width:430px}.energy-portfolio .ep-families{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px}.energy-portfolio .ep-families article{display:flex;flex-direction:column;align-items:flex-start;padding:27px 0 36px;border-top:1px solid var(--ep-line)}.energy-portfolio .ep-number{font-size:11px;color:#698d79;display:block;margin-bottom:25px}.energy-portfolio .ep-families p{margin:13px 0 22px}.energy-portfolio .ep-families a{font-size:12px;color:#186345;margin-top:auto;min-height:32px;display:flex;align-items:center}.energy-portfolio .ep-soft{background:#edf2ec}.energy-portfolio .ep-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.energy-portfolio .ep-examples img{width:100%;aspect-ratio:1.4;object-fit:cover;transition:filter .2s}.energy-portfolio .ep-examples a:hover img{filter:brightness(1.05)}.energy-portfolio .ep-example-copy{padding:23px 0 0}.energy-portfolio .ep-example-copy .ep-kicker{margin-bottom:12px}.energy-portfolio .ep-example-copy h3{font-size:25px;margin-bottom:15px}.energy-portfolio .ep-link{font-size:12px;color:#185e43;display:inline-block;margin-top:20px}.energy-portfolio .ep-capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--ep-line);padding-top:30px}.energy-portfolio .ep-capabilities p{margin-top:14px}.energy-portfolio .ep-applications{background:#17382c;color:#f5f8f3}.energy-portfolio .ep-applications p{color:#c4d4c9}.energy-portfolio .ep-applications .ep-kicker{color:#a5bfae}.energy-portfolio .ep-use-list a{display:grid;grid-template-columns:55px 1fr 30px;align-items:center;gap:15px;border-top:1px solid #426052;padding:23px 0}.energy-portfolio .ep-use-list a:last-child{border-bottom:1px solid #426052}.energy-portfolio .ep-use-list a>span{font-size:12px;color:#b4caba}.energy-portfolio .ep-use-list a:hover h3{color:#bdd9c1}.energy-portfolio .ep-cta{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}html[lang^=zh] .energy-portfolio h1{font-size:clamp(34px,3.4vw,48px);line-height:1.35}
@media(max-width:900px){.energy-portfolio .ep-shell{width:calc(100% - 48px)}.energy-portfolio .ep-hero-grid,.energy-portfolio .ep-heading,.energy-portfolio .ep-cta{gap:35px}.energy-portfolio .ep-families,.energy-portfolio .ep-capabilities{grid-template-columns:repeat(2,1fr)}.energy-portfolio .ep-examples{gap:18px}.energy-portfolio .ep-example-copy h3{font-size:22px}}
@media(max-width:650px){.energy-portfolio .ep-shell{width:calc(100% - 40px)}.energy-portfolio .ep-hero{padding:60px 0 45px}.energy-portfolio .ep-hero-grid,.energy-portfolio .ep-heading,.energy-portfolio .ep-cta,.energy-portfolio .ep-examples{grid-template-columns:1fr}.energy-portfolio .ep-section{padding-block:54px}.energy-portfolio .ep-heading{gap:18px;margin-bottom:30px}.energy-portfolio .ep-families,.energy-portfolio .ep-capabilities{grid-template-columns:1fr}.energy-portfolio .ep-families article{padding-block:24px}.energy-portfolio .ep-examples{gap:38px}.energy-portfolio .ep-use-list a{grid-template-columns:24px 1fr 20px}.energy-portfolio .ep-use-list h3{font-size:21px}.energy-portfolio h1{font-size:42px}.energy-portfolio h2{font-size:30px}.energy-portfolio .ep-capabilities article{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){.energy-portfolio *{transition:none!important}}

/* Approved photographic first screen. Only this hero changes; shared nav and atlas stay intact. */
.energy-portfolio .ep-hero--photo {
  position: relative;
  isolation: isolate;
  min-height: 680px;
  min-height: max(680px, 100svh);
  padding: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0c352b;
  color: #fff;
}
.energy-portfolio .ep-hero--photo .ep-hero__background {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
.energy-portfolio .ep-hero__content {
  width: 86%;
  margin-inline: auto;
  padding-block: 175px 110px;
}
.energy-portfolio .ep-hero--photo .ep-kicker {
  margin: 0 0 30px;
  color: #f2f7f4;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .14em;
}
.energy-portfolio .ep-hero--photo h1,
html[lang^=zh] .energy-portfolio .ep-hero--photo h1 {
  max-width: 12em;
  color: #fff;
  font-size: clamp(46px, 4.15vw, 80px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.035em;
  white-space: pre-line;
  text-wrap: initial;
}
.energy-portfolio .ep-hero--photo p.ep-hero__lead {
  max-width: 31em;
  margin-top: 28px;
  color: #d5e1dc;
  font-size: clamp(17px, 1.2vw, 22px);
  line-height: 1.65;
  white-space: pre-line;
}
.energy-portfolio .ep-hero--photo .ep-button {
  min-width: 215px;
  min-height: 66px;
  justify-content: space-between;
  gap: 32px;
  margin-top: 38px;
  padding: 18px 30px;
  border-radius: 4px;
  background: #00835b;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  transition: background .2s ease;
}
.energy-portfolio .ep-hero--photo .ep-button:hover { background: #006c4b; }
.energy-portfolio .ep-hero--photo .ep-button:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.energy-portfolio .ep-hero--photo .ep-button svg { flex-shrink: 0; }
@media (max-width: 1100px) {
  .energy-portfolio .ep-hero--photo h1,
  html[lang^=zh] .energy-portfolio .ep-hero--photo h1 { font-size: clamp(38px, 4.15vw, 46px); }
  .energy-portfolio .ep-hero--photo p.ep-hero__lead { max-width: 28em; }
}
@media (max-width: 650px) {
  .energy-portfolio .ep-hero--photo {
    min-height: max(780px, 100svh);
    align-items: flex-start;
  }
  .energy-portfolio .ep-hero--photo .ep-hero__background {
    top: auto;
    height: 55%;
    object-position: 78% center;
  }
  .energy-portfolio .ep-hero--photo::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, #0c352b 37%, #0c352be6 44%, transparent 66%);
    pointer-events: none;
  }
  .energy-portfolio .ep-hero__content { width: calc(100% - 40px); padding: 125px 0 340px; }
  .energy-portfolio .ep-hero--photo .ep-kicker { font-size: 11px; margin-bottom: 22px; }
  .energy-portfolio .ep-hero--photo h1,
  html[lang^=zh] .energy-portfolio .ep-hero--photo h1 {
    max-width: 100%;
    font-size: clamp(26px, 7.35vw, 44px);
    line-height: 1.35;
  }
  .energy-portfolio .ep-hero--photo p.ep-hero__lead { margin-top: 20px; font-size: 15px; max-width: 28em; }
  .energy-portfolio .ep-hero--photo .ep-button { min-width: 190px; min-height: 54px; margin-top: 25px; padding: 15px 22px; font-size: 14px; }
}
