/* Homepage video hero: the power yard shrinks into DOR packages, then new sites rise. */
.vh-hero{position:relative;background:#fff;color:#14241d;padding:40px 0 0}
.vh-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;padding-bottom:30px}
.vh-kicker{font-size:14px;font-weight:550;letter-spacing:.02em;color:#357048;margin:0 0 14px}
.vh-hero h1{font-size:clamp(44px,5.4vw,82px);font-weight:550;letter-spacing:-.055em;line-height:1;margin:0;text-wrap:balance}
.vh-message{font-size:clamp(24px,2.3vw,34px);line-height:1.2;letter-spacing:-.03em;color:#357048;margin:0 0 20px}
.vh-message strong{font-weight:600;color:#14241d}
.vh-description{font-size:17px;line-height:1.6;color:#45594b;margin:0 0 22px;max-width:44ch}
.vh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.vh-actions .bp{background:#254f33;border-color:#254f33;font-size:13px}
.vh-actions .hx-link{font-size:13px}

.vh-frame{position:relative;margin:0;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#d9c7a0;container-type:inline-size}
.vh-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.vh-pins{position:absolute;inset:0;pointer-events:none}
.vh-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,calc(-100% - var(--l) * .052cqw - 8px));padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:#14241d;font-size:clamp(11px,1.15cqw,16px);font-weight:600;letter-spacing:-.01em;white-space:nowrap;box-shadow:0 6px 18px rgba(20,36,29,.18);opacity:0;transition:opacity .45s ease,transform .45s ease}
.vh-pin::before{content:"";position:absolute;left:50%;top:100%;width:1.5px;height:calc(var(--l) * .052cqw);background:rgba(255,255,255,.9);transform:translateX(-50%)}
.vh-pin::after{content:"";position:absolute;left:50%;top:calc(100% + var(--l) * .052cqw);width:11px;height:11px;border-radius:50%;background:#43a05a;border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 0 5px rgba(67,160,90,.28)}
.vh-pin-down{transform:translate(-50%,calc(var(--l) * .052cqw + 8px))}
.vh-pin-down::before{top:auto;bottom:100%}
.vh-pin-down::after{top:auto;bottom:calc(100% + var(--l) * .052cqw);transform:translate(-50%,50%)}
.vh-pin.is-on{opacity:1}

.vh-phase{position:absolute;left:clamp(14px,2.2cqw,32px);bottom:clamp(14px,2.2cqw,30px);margin:0;display:grid}
.vh-phase span{grid-area:1/1;padding:9px 16px;border-radius:10px;background:rgba(20,36,29,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:clamp(13px,1.6cqw,22px);font-weight:550;letter-spacing:-.015em;opacity:0;transition:opacity .5s ease;justify-self:start}
.vh-phase span.is-on{opacity:1}
.vh-caption{position:absolute;right:clamp(58px,6cqw,84px);bottom:clamp(16px,2.4cqw,32px);margin:0;font-size:12px;color:rgba(255,255,255,.92);text-shadow:0 1px 6px rgba(0,0,0,.45)}
.vh-caption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.vh-toggle{position:absolute;right:clamp(12px,1.6cqw,24px);bottom:clamp(10px,1.6cqw,22px);width:40px;height:40px;border-radius:50%;border:0;background:rgba(20,36,29,.66);cursor:pointer;display:grid;place-items:center}
.vh-toggle span{width:12px;height:13px;border-inline:4px solid #fff;box-sizing:border-box}
.vh-toggle[aria-pressed="true"] span{border:0;width:0;height:0;border-left:12px solid #fff;border-block:7px solid transparent;margin-left:3px}
.vh-toggle:focus-visible,.vh-caption a:focus-visible{outline:2px solid #fff;outline-offset:3px}

.vh-stats{padding-top:34px;padding-bottom:10px}
.vh-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;border-top:1px solid #dbe2dc;border-bottom:1px solid #dbe2dc}
.vh-stats-grid>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:6px;padding:26px 20px 24px 0}
.vh-stats-grid>div+div{padding-left:22px;border-left:1px solid #dbe2dc}
.vh-stats dd{margin:0;font-size:clamp(30px,3.2vw,48px);font-weight:550;letter-spacing:-.045em;line-height:1;color:#14241d}
.vh-stats dt{font-size:13px;line-height:1.4;color:#596860}

@media(max-width:900px){
  .vh-head{grid-template-columns:1fr;gap:18px;padding-bottom:24px}
  .vh-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vh-stats-grid>div{padding:20px 14px 18px 0;border-bottom:1px solid #dbe2dc}
  .vh-stats-grid>div+div{padding-left:0;border-left:0}
  .vh-stats-grid>div:nth-child(even){padding-left:16px;border-left:1px solid #dbe2dc}
  .vh-stats-grid>div:last-child{grid-column:1/-1;border-bottom:0}
}
@media(max-width:600px){
  .vh-hero{padding-top:28px}
  .vh-hero h1{font-size:clamp(38px,11vw,52px)}
  .vh-description{font-size:16px}
  .vh-stage{padding-inline:0}
  .vh-frame{border-radius:0}
  .vh-pin{padding:4px 8px;box-shadow:0 3px 10px rgba(20,36,29,.2)}
  .vh-pin::after{width:8px;height:8px;box-shadow:0 0 0 3px rgba(67,160,90,.28)}
  .vh-caption{display:none}
  .vh-phase span{padding:6px 10px;border-radius:8px}
  .vh-toggle{width:34px;height:34px}
}
@media(prefers-reduced-motion:reduce){.vh-pin,.vh-phase span{transition:none}}

/* Package scale: 0.2 MW blocks, 2 MW packages, sites in megawatts. */
.vs-scale{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:center;padding-top:clamp(56px,7vw,100px);padding-bottom:clamp(56px,7vw,100px)}
.vs-kicker{font-size:14px;font-weight:550;color:#357048;margin:0 0 12px}
.vs-scale h2{font-size:clamp(38px,4.4vw,64px);font-weight:550;letter-spacing:-.05em;line-height:1.02;margin:0 0 18px;color:#14241d}
.vs-lead{font-size:17px;line-height:1.6;color:#45594b;margin:0 0 28px;max-width:42ch}
.vs-equation{font-size:clamp(30px,3.2vw,48px);font-weight:550;letter-spacing:-.04em;line-height:1.1;color:#357048;margin:0 0 18px}
.vs-note{font-size:12px;color:#6a766e;margin:0}
.vs-media{margin:0;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#e7e2d6}
.vs-video{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.vs-scale{grid-template-columns:1fr}}
