/* Battery and financing pages share the visual language of the energy-plan pages. */
.battery-page,.finance-page { --detail-ink:#0b343d; --detail-deep:#092f38; --detail-lime:#ccf46d; --detail-line:#d5e1d8; color:var(--detail-ink); }
.battery-page *,.finance-page * { min-width:0; }
.battery-page h2,.finance-page h2 { font-size:clamp(2.7rem,4.5vw,4.9rem); line-height:1.03; letter-spacing:-.045em; font-weight:720; }
.battery-page .eyebrow,.finance-page .eyebrow { font-size:10px; font-weight:850; letter-spacing:.16em; }
.battery-page .primary-button,.finance-page .primary-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:56px; border-radius:2px; padding:16px 21px; font-size:13px; font-weight:800; }

/* Matching dark photographic heroes. */
.battery-hero,.finance-hero { padding:0; background:var(--detail-deep); color:#fff; overflow:hidden; }
.battery-hero__grid,.finance-hero-grid { display:grid; grid-template-columns:1.07fr .93fr; gap:clamp(50px,8vw,120px); align-items:stretch; min-height:640px; }
.battery-hero__content,.finance-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:44px 0 70px; }
.battery-breadcrumb,.finance-breadcrumb { display:flex; align-items:center; gap:12px; margin:0 0 62px; color:#aec8bc; font-size:11px; }
.battery-breadcrumb a,.finance-breadcrumb a { color:inherit; text-decoration:none; }
.battery-breadcrumb a:hover,.finance-breadcrumb a:hover { text-decoration:underline; }
.battery-hero .eyebrow,.finance-hero-copy>.eyebrow { color:#b3d68b; margin:0 0 20px; }
.battery-hero h1,.finance-hero h1 { max-width:none; font-size:clamp(3.6rem,5.4vw,6.3rem); line-height:.98; letter-spacing:-.055em; font-weight:750; margin:0 0 27px; }
.battery-hero h1 em,.finance-hero h1>span { color:var(--detail-lime); }
.battery-hero__intro,.finance-hero-copy>p:not(.eyebrow) { max-width:570px; color:#c7d9d2; font-size:17px; line-height:1.7; margin:0; }
.finance-hero-copy>p.finance-hero-lead { color:#fff; font-size:19px; font-weight:650; line-height:1.5; margin:0 0 10px; }
.battery-hero__actions,.finance-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin:27px 0 0; }
.battery-hero .primary-button,.finance-hero-actions .primary-button { background:var(--detail-lime); color:var(--detail-ink); }
.battery-hero .primary-button:hover,.finance-hero-actions .primary-button:hover { background:#dfff8e; }
.battery-hero .text-link--light,.finance-hero-actions .finance-inline-link { color:#eff8ef!important; border-color:#eff8ef!important; font-size:12px; font-weight:800; }
.finance-hero-copy>p.finance-hero-note { color:#adc8b6; margin-top:19px; font-size:11px; }
.finance-hero-note>span { color:var(--detail-lime); }
.finance-breadcrumb { margin-bottom:42px; }
.finance-hero h1 { font-size:clamp(3.5rem,4.9vw,5.6rem); }
.battery-hero__media,.finance-hero-photo { align-self:stretch; min-height:640px; height:auto; margin:0; border:0; border-radius:0; background:#174750; }
.battery-hero__media img,.finance-hero-photo>img { object-position:center; }
.battery-hero__media:after,.finance-hero-photo:after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#062c35a8); pointer-events:none; }
.battery-hero__media figcaption,.finance-photo-caption { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:35px 37px; border-top:4px solid var(--detail-lime); background:transparent; color:#fff; }
.battery-hero__media figcaption span,.finance-photo-caption>span { display:block; margin:0 0 9px; color:var(--detail-lime); font-size:10px; font-weight:850; letter-spacing:.14em; }
.battery-hero__media figcaption strong,.finance-photo-caption p { display:block; max-width:390px; font-size:clamp(24px,2.3vw,34px); font-weight:700; line-height:1.1; letter-spacing:-.035em; margin:0; }
.battery-hero__facts { width:100%; grid-template-columns:repeat(3,1fr); padding:20px 0 24px; border-top:1px solid #50717a; }
.battery-hero__facts>div+div { border-left:1px solid #50717a; padding-left:22px; }
.battery-hero__facts dt { color:var(--detail-lime); font-size:12px; }
.battery-hero__facts dd { color:#c7d9d2; }
.battery-subnav,.finance-page-nav { background:#f8faf5; border-bottom:1px solid var(--detail-line); }
.battery-subnav a,.finance-page-nav a { color:#345e59; font-size:12px; font-weight:750; }
.battery-subnav a:hover,.finance-page-nav a:hover { color:#1b8770; }

/* Roomier editorial rhythm below the hero. */
.battery-page .section-space { padding:clamp(75px,8vw,125px) 0; }
.battery-intro__copy,.battery-section-heading>p,.battery-dimension__content>p:not(.eyebrow),.battery-location__grid>div>p:not(.eyebrow) { color:#587369; font-size:16px; line-height:1.7; }
.battery-cases { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; border:0; margin-top:55px; }
.battery-cases article,.battery-cases article+article { min-height:290px; padding:25px; background:#f5f8f1; border:1px solid #d0dfd2; display:flex; flex-direction:column; }
.battery-cases h3 { margin:55px 0 12px; font-size:clamp(21px,1.9vw,28px); letter-spacing:-.035em; }
.battery-cases p { min-height:0; font-size:13px; color:#526e63; }
.battery-cases a { margin-top:auto; }
.battery-flow { background:var(--detail-deep); }
.battery-flow .battery-section-heading h2 { font-size:clamp(2.8rem,4.1vw,4.5rem); }
.battery-flow .battery-section-heading>p { color:#c1d4cd; }
.battery-dimension { background:#f5f8f1; }
.battery-location figure { overflow:hidden; }
.battery-location figure img { object-position:49% center; }
.battery-route { background:#e5f2cf; }
.battery-route .battery-section-heading>p { color:#496957; }
.battery-route__steps { gap:14px; border:0; margin-top:58px; }
.battery-route__steps li,.battery-route__steps li+li { min-height:215px; padding:25px; background:#fff; border:1px solid #bfd3b2; }
.battery-route__steps h3 { margin:52px 0 9px; }
.battery-faq { background:#f6f8f3; }
.battery-final { background:var(--detail-deep); }
.battery-final .primary-button--lime { background:var(--detail-lime)!important; }

.finance-calculation { background:#e5f2cf; color:var(--detail-ink); padding:clamp(75px,8vw,120px) 0; }
.finance-calculation .funding-copy .eyebrow { color:#4e826b; }
.finance-calculation .funding-copy h2 { font-size:clamp(2.7rem,4.5vw,4.9rem); }
.finance-calculation .funding-copy h2>span { color:#3c7968; }
.finance-calculation .funding-copy>p:not(.eyebrow):not(.funding-contact-note) { color:#496957; font-size:16px; line-height:1.7; }
.finance-calculation .funding-copy .funding-advantages h3 { color:#254b40; }
.finance-calculation .funding-copy .funding-advantage { background:#f7faef; border-color:#bfd3b2; }
.finance-calculation .funding-copy .funding-advantage>span { color:#377765; border-color:#8daf82; }
.finance-calculation .funding-copy .funding-advantage strong { color:#254b40; }
.finance-calculation .funding-copy .funding-advantage p { color:#587369; }
.finance-calculation .funding-contact-note { color:#567066; }
.finance-calculation .loan-calculator { box-shadow:0 20px 48px #163e301b; }
.finance-section { padding:clamp(75px,8vw,120px) 0; }
.finance-section-heading { margin-bottom:45px; }
.finance-section-heading>p { color:#587369; font-size:16px; line-height:1.7; }
.finance-routes { gap:14px; }
.finance-route { border-radius:0; border-top:4px solid #a9d77e; box-shadow:none; padding:32px; }
.finance-route-light { background:#f5f8f1; border-top-color:#377765; }
.finance-route h3 { font-size:29px; font-weight:700; }
.finance-route>p.finance-route-amount { color:var(--detail-ink); font-weight:700; }
.finance-fit { background:#f5f8f1; }
.finance-investment { border-radius:0; }
.finance-guidance-photo { border-radius:0; }
.finance-process { background:#e5f2cf; }
.finance-steps { gap:14px; }
.finance-steps li { min-height:220px; background:#fff; border:1px solid #bfd3b2; border-top:4px solid #a9d77e; padding:24px; }
.finance-steps h3 { font-size:22px; font-weight:700; margin-top:52px; }
.finance-faq { background:#f6f8f3; }
.finance-final { background:var(--detail-deep); color:#fff; padding:clamp(75px,8vw,120px) 0; }
.finance-final h2 { font-size:clamp(2.7rem,4.5vw,4.9rem); color:#fff; }
.finance-final p:not(.eyebrow) { color:#bed2c9; font-size:16px; line-height:1.65; }
.finance-final .eyebrow { color:var(--detail-lime); }
.finance-final-action .primary-button { background:var(--detail-lime); color:var(--detail-ink); }
.finance-final-action>span { color:#b8ccca; }

@media(max-width:900px) {
  .battery-hero__grid,.finance-hero-grid { grid-template-columns:1fr; gap:0; }
  .battery-hero__content,.finance-hero-copy { padding:42px 0 50px; }
  .battery-breadcrumb,.finance-breadcrumb { margin-bottom:65px; }
  .finance-breadcrumb { margin-bottom:50px; }
  .battery-hero__media,.finance-hero-photo { min-height:430px; height:430px; margin:0 0 36px; }
  .battery-hero__facts { margin-top:0; }
  .battery-cases,.battery-route__steps { grid-template-columns:repeat(2,1fr); }
  .finance-calculation .funding-layout { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:560px) {
  .battery-page h2,.finance-page h2 { font-size:clamp(2.5rem,10vw,3.4rem); }
  .battery-hero h1,.finance-hero h1 { font-size:clamp(3.1rem,11vw,4.4rem); }
  .battery-hero__intro,.finance-hero-copy>p:not(.eyebrow) { font-size:15px; }
  .battery-breadcrumb,.finance-breadcrumb { margin-bottom:55px; }
  .finance-breadcrumb { margin-bottom:45px; }
  .battery-hero__actions,.finance-hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .battery-hero__actions .primary-button,.finance-hero-actions .primary-button { width:100%; }
  .battery-hero__media,.finance-hero-photo { min-height:330px; height:330px; margin-bottom:0; }
  .battery-hero__media figcaption,.finance-photo-caption { padding:23px; }
  .battery-hero__facts { grid-template-columns:1fr; gap:0; }
  .battery-hero__facts>div,.battery-hero__facts>div+div { border:0; border-bottom:1px solid #50717a; padding:13px 0; }
  .battery-cases,.battery-route__steps,.finance-steps { grid-template-columns:1fr; }
  .battery-cases article,.battery-cases article+article,.battery-route__steps li,.battery-route__steps li+li { min-height:220px; padding:24px; border:1px solid #d0dfd2!important; }
  .finance-section-heading>p { font-size:14px; }
  .finance-route { padding:24px; }
  .finance-steps li { min-height:195px; }
  .finance-final h2 { font-size:clamp(2.5rem,10vw,3.4rem); }
}
