/* v30: layout and typography inherit the existing business-sector system. */
.re-page{hyphens:none;word-break:normal;overflow-wrap:normal}
@media(min-width:761px){.re-page .v-sector-hero>.v-slider{align-self:stretch}.re-page .v-sector-hero .v-slide-frame{width:100%;height:100%;min-width:0}}
.re-page .re-heading{max-width:800px;margin-bottom:30px}
.re-page .re-heading h2{margin-bottom:17px}
.re-page .re-heading>p:not(.v-kicker),.re-page .re-copy>p,.re-page .re-generation-grid article>p,.re-page .re-steps p{font-size:16px;line-height:1.8;color:var(--muted)}
.re-page .re-nav{background:var(--pale);border-block:1px solid var(--rule)}
.re-page .re-nav>.v-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.re-page .re-nav a{display:grid;gap:7px;padding:22px 25px;border-left:1px solid var(--rule)}
.re-page .re-nav a:first-child{padding-left:0;border-left:0}
.re-page .re-nav small{color:var(--muted);font-size:10px;letter-spacing:.1em;font-weight:650}
.re-page .re-nav span{font-size:17px;line-height:1.4;color:var(--green);font-weight:700}
.re-page .re-nav a:hover span{text-decoration:underline;text-underline-offset:5px}
.re-page .re-nano{position:relative;isolation:isolate;overflow:hidden}
.re-page .re-nano::after{content:"";position:absolute;right:0;bottom:0;width:clamp(260px,30vw,500px);height:100%;z-index:-1;pointer-events:none;background:url('assets/nano-hex-approved-v07.png') right bottom/100% auto no-repeat;mix-blend-mode:multiply;opacity:.16}
.re-page .re-generation::after{opacity:.14;width:360px}
.re-page .re-generation-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}
.re-page .re-generation-grid article{min-width:0}
.re-page .re-generation-grid h3{margin:0 0 20px}
.re-page .re-generation-grid article>p{margin:20px 0 0;max-width:68ch}
.re-page .re-solar-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.re-page .re-photo{margin:0;min-width:0}
.re-page .re-photo img{display:block;width:100%;height:300px;object-fit:cover;border-radius:3px}
.re-page .re-photo figcaption{font-size:14px;font-weight:650;color:var(--ink);line-height:1.6;padding-top:10px}
.re-page .re-wind img{object-position:51% center}
.re-page .re-storage{background:var(--pale)}
.re-page .re-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.re-page .re-copy{min-width:0;position:relative}
.re-page .re-split .re-heading{margin-bottom:22px}
.re-page .re-storage .re-split{padding-bottom:36px}
.re-page .re-storage-photo img{height:auto;aspect-ratio:1.55}
.re-page .re-key-points{list-style:none;padding:0;margin:20px 0 0}
.re-page .re-key-points li{border-top:1px solid var(--rule);padding:13px 0;font-size:16px;font-weight:600;color:var(--ink)}
.re-page .re-key-points li::before{content:"+";color:var(--green);font-weight:700;margin-right:16px}
.re-page .re-trade-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center;margin-bottom:22px}
.re-page .re-trade-detail .v-link{margin-top:20px}
.re-page .re-partnership{background:#f7f9f6;border-block:1px solid var(--rule)}
.re-page .re-partnership-photo img{height:450px;object-position:47% center}
.re-page .re-steps{padding:0;margin:0 0 22px;list-style:none}
.re-page .re-steps li{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--rule)}
.re-page .re-steps h3{margin:0 0 5px}
.re-page .re-step-visual{position:relative;display:block;color:var(--green)}
.re-page .re-step-visual b{position:absolute;right:0;top:0;font-size:11px;line-height:1.5;color:var(--green);background:var(--pale);padding:1px 4px}
.re-page .re-drawing{display:block;width:100%;height:auto;color:var(--green)}
.re-page .re-diagram-wrap{padding-bottom:clamp(42px,5.5vw,82px)}
.re-page .re-diagram{margin:0;padding:28px 34px;background:#ffffffd9;border:1px solid var(--rule);border-radius:4px}
.re-page .re-diagram>figcaption{font-size:16px;font-weight:650;color:var(--ink);line-height:1.55;margin-bottom:22px}
.re-page .re-flow{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr) 100px minmax(0,1fr);align-items:start;gap:15px}
.re-page .re-flow-node{display:flex;align-items:center;flex-direction:column;text-align:center;min-width:0}
.re-page .re-flow-node .re-drawing{width:160px;max-width:100%;margin-bottom:12px}
.re-page .re-flow-node strong{font-size:18px;font-weight:700;line-height:1.4;color:var(--ink)}
.re-page .re-flow-node>span{font-size:14px;color:var(--muted);line-height:1.6;margin-top:5px}
.re-page .re-flow-arrow{padding-top:42px;color:var(--green);text-align:center}
.re-page .re-flow-arrow span{font-size:12px;font-weight:650;white-space:nowrap}
.re-page .re-flow-arrow svg{width:100%;height:24px;fill:none;stroke:currentColor;stroke-width:2;overflow:visible}
.re-page .re-current{stroke-dasharray:8 6;animation:re-current-flow 2.5s linear infinite}
.re-page .re-contract{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px dashed #b6d1bf}
.re-page .re-contract svg{width:25px;height:25px;flex:none;stroke:var(--green);stroke-width:1.5;fill:none}
.re-page .re-contract p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
@keyframes re-current-flow{to{stroke-dashoffset:-28}}
@media(prefers-reduced-motion:reduce){.re-page .re-current{animation:none}}
@media(max-width:1000px){.re-page .re-generation-grid{grid-template-columns:1.25fr 1fr;gap:26px}.re-page .re-photo img{height:260px}.re-page .re-storage-photo img{height:auto}.re-page .re-partnership-photo img{height:400px}.re-page .re-nav a{padding-inline:18px}.re-page .re-nav span{font-size:15px}.re-page .re-flow{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr) 68px minmax(0,1fr);gap:8px}.re-page .re-diagram{padding:24px}.re-page .re-flow-node strong{font-size:16px}}
@media(max-width:760px){
 .re-page .re-generation-grid,.re-page .re-split,.re-page .re-trade-intro{grid-template-columns:1fr;gap:30px}
 .re-page .re-generation-grid article>p{margin-top:14px}
 .re-page .re-solar-photos{gap:13px}
 .re-page .re-photo img{height:240px}
 .re-page .re-generation-grid h3{margin-bottom:16px}
 .re-page .re-wind img{height:auto;aspect-ratio:1.5}
 .re-page .re-storage-photo img{height:auto;aspect-ratio:1.6}
 .re-page .re-partnership-photo img{height:auto;aspect-ratio:1.3}
 .re-page .re-nav>.v-wrap{grid-template-columns:1fr}
 .re-page .re-nav a{padding:14px 0;border-left:0;border-top:1px solid var(--rule);gap:4px}
 .re-page .re-nav a:first-child{border-top:0}
 .re-page .re-nav span{font-size:16px}
 .re-page .re-heading{margin-bottom:24px}
 .re-page .re-nano::after{width:300px;opacity:.14}
 .re-page .re-trade-intro{gap:0}
 .re-page .re-diagram{padding:22px 18px}
 .re-page .re-flow{grid-template-columns:1fr;gap:12px}
 .re-page .re-flow-node{display:grid;grid-template-columns:92px 1fr;text-align:left;column-gap:16px}
 .re-page .re-flow-node .re-drawing{grid-row:1/3;width:92px;margin:0}
 .re-page .re-flow-node strong{align-self:end;font-size:18px}
 .re-page .re-flow-node>span{align-self:start}
 .re-page .re-flow-arrow{padding:0 0 0 28px;display:flex;align-items:center;gap:10px;text-align:left}
 .re-page .re-flow-arrow svg{order:-1;width:32px;height:24px;transform:rotate(90deg)}
 .re-page .re-contract{align-items:flex-start;justify-content:flex-start}
 .re-page .re-steps li{grid-template-columns:65px 1fr;gap:16px}
}
@media(max-width:420px){.re-page .re-solar-photos .re-photo img{height:210px}.re-page .re-generation-grid figcaption{font-size:13px}.re-page .re-solar-photos{gap:12px}.re-page .re-flow-node{grid-template-columns:74px 1fr;column-gap:12px}.re-page .re-flow-node .re-drawing{width:74px}.re-page .re-flow-node strong{font-size:16px}}
