/* V4: clear service choices, explicit PPA responsibilities, compact mobile hero. */
.sap-needs {background:#f3f7fa}
.sap-needs__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.sap-need {padding:1.75rem;background:#fff;border-top:3px solid #159aca;display:flex;flex-direction:column;align-items:flex-start}
.sap-need__number {color:#466577;font-size:.875rem;margin-bottom:1.5rem}
.sap-need h3 {font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:1rem}
.sap-need p {color:#405d70;line-height:1.65;flex:1}
.sap-need .text-link,.ppa-funding .text-link {display:inline-flex;align-items:center;min-height:48px;text-decoration:underline;text-underline-offset:.25em;color:#08638a;font-weight:650}
.page-sap .solution-hero h1 {font-size:clamp(2.25rem,3.7vw,3.6rem)}
.ppa-funding {background:#f6f9f1}
.ppa-funding .section-heading {max-width:55rem}
.ppa-funding__intro {max-width:48rem;color:#405d70}
.ppa-funding__grid {display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.ppa-funding__card {padding:2rem;background:#fff;border-top:3px solid #5f921e}
.ppa-funding__card h3 {font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.15;letter-spacing:-.03em;margin-bottom:1rem}
.ppa-funding__card p:last-child {color:#405d70;line-height:1.65;margin-bottom:0}
.ppa-funding__charging {padding:1.5rem 0;margin-top:1rem;border-bottom:1px solid #d1dfc5}
.ppa-funding__charging strong {display:block;font-size:1.2rem;color:#315c08;margin-bottom:.4rem}
.ppa-funding__charging p,.ppa-funding__terms {color:#405d70;line-height:1.65;font-size:1rem}
.ppa-funding__charging p {margin:0}
.ppa-funding__terms {margin:1.4rem 0 .7rem;max-width:65rem}
.ppa-details {background:#f3f7fa}
.project-detail {border-top:1px solid #b8cbd6}
.project-detail:last-child {border-bottom:1px solid #b8cbd6}
.project-detail>summary {padding:1.5rem .5rem;cursor:pointer;font-size:1.2rem;font-weight:650;min-height:56px;color:#071a33}
.project-detail[open]>summary {border-bottom:1px solid #d6e1e6}
.project-detail__body {padding:1.5rem 0}
.project-detail__body>.section {padding:1.5rem 0;background:transparent}
.project-detail__body .container {width:100%;max-width:none;padding-inline:0}
.project-detail__body h2 {font-size:clamp(1.6rem,3vw,2.5rem)}
.project-detail__body .ppa-transform-stage {position:relative;top:auto}
.project-detail__body .ppa-process-grid {gap:1.5rem}
.project-detail__body .ppa-process-step {padding-block:1rem}
.page-index {flex-wrap:wrap}
[data-sap-need][hidden] {display:none}
.hero-switch__note {font-size:.875rem}
@media(max-width:68rem){.sap-needs__grid{gap:1rem}.sap-need{padding:1.3rem}.sap-need h3{font-size:1.4rem}}
@media(max-width:48rem){
 .sap-needs__grid,.ppa-funding__grid{grid-template-columns:1fr}
 .sap-need{padding:1.5rem}.sap-need__number{margin-bottom:1rem}
 .ppa-funding__card{padding:1.5rem}.ppa-funding__grid{gap:1rem}
 .project-detail>summary{font-size:1.0625rem}
 .hero-switch__top{padding-block:.35rem;gap:.5rem}
 .hero-switch__top h1{font-size:.8125rem;max-width:none}
 .hero-switch__rotation{min-width:80px;min-height:44px;font-size:.75rem;padding:.4rem .5rem}
 .hero-switch__selectors button{display:flex;min-height:76px;padding:.7rem .75rem .7rem 0}
 .hero-switch__selectors button+button{padding-left:1rem}
 .hero-switch__selectors strong{font-size:.9375rem}
 .hero-switch__selectors small{font-size:.75rem;margin-top:.15rem}
 .hero-switch__copy{padding:1.6rem 1.25rem}
 .hero-switch__pillar{margin-bottom:.8rem}
 .hero-switch__panel h2{font-size:clamp(2rem,7.8vw,2.7rem);margin-bottom:1.1rem;line-height:1.1}
 .hero-switch__lead{font-size:1rem;margin-bottom:1.25rem;line-height:1.55}
 .hero-switch__tags{display:none}
 .hero-switch__note{font-size:.8125rem;margin-top:.9rem;line-height:1.5}
 .hero-switch .button-row{gap:.4rem}
 .hero-switch__contact{font-size:.8125rem;padding-inline:.5rem}
 .page-sap .solution-hero h1{font-size:clamp(2rem,7.5vw,3rem)}
}
@media(max-width:22rem){.hero-switch__copy{padding-inline:1rem}.hero-switch__top h1{max-width:10rem}.hero-switch__selectors button+button{padding-left:.65rem}.hero-switch .button-row .button{padding-inline:1rem}.hero-switch__contact{padding-inline:.25rem}}
@media(prefers-reduced-motion:reduce){.project-detail{scroll-behavior:auto}}
