.location-solar__hero{padding:clamp(48px,7vw,96px) 0;background:#e9f5ed;color:#163f2f}
.location-solar h1{font-size:clamp(36px,6vw,64px);line-height:1.08;letter-spacing:-.03em;margin:16px 0 24px}
.location-solar__hero p{max-width:720px;line-height:1.7;margin-bottom:24px}
.location-solar__kicker{font-weight:600}
.location-solar__content{padding:clamp(40px,6vw,80px) 0;scroll-margin-top:140px}
.location-solar__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.location-solar h2{font-size:clamp(26px,3vw,36px);line-height:1.2;margin-bottom:24px}
.location-solar__content p{line-height:1.75;margin-bottom:20px}
.location-solar__form{padding:clamp(18px,3vw,36px);border:1px solid #dce7df;border-radius:20px;background:white}
@media(max-width:900px){.location-solar__grid{grid-template-columns:minmax(0,1fr);gap:28px}}
.location-solar{color:#082f23;overflow-wrap:anywhere}
.location-solar__grid>*{min-width:0}
.location-solar__hero{background:#f2f9f5}
.location-solar__hero nav{font-size:14px;margin-bottom:28px}
.location-solar__hero nav a{text-decoration:underline}
.location-solar__hero .location-solar__kicker,.location-solar__kicker{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.location-solar__secondary{display:block;margin-top:20px;text-decoration:underline;text-underline-offset:4px}
.location-solar__photo{margin:0;align-self:center}
.location-solar__photo img{width:100%;height:clamp(280px,34vw,480px);object-fit:cover;border-radius:16px 16px 64px 16px}
.location-solar h3{font-size:21px;line-height:1.35;margin:0 0 12px}
.location-solar__content p{color:#596760}
.location-solar__note{border-left:3px solid #48ab7c;padding:8px 0 8px 22px;margin:28px 0}
.location-solar__note p{margin:0}
.location-solar__pale{background:#f2f9f5}
.location-solar__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}
.location-solar__cards article{min-width:0;border:1px solid #cfe3d9;border-radius:16px;padding:28px;background:white}
.location-solar__cards span{display:block;color:#216c48;font-size:14px;margin-bottom:24px}
.location-solar__cards p{margin:0}
.location-solar__steps{padding-left:24px}
.location-solar__steps li{padding-left:12px;margin-bottom:24px}
.location-solar__checklist{padding-left:22px;line-height:1.7;margin:24px 0}
.location-solar__checklist li{margin:10px 0}
.location-solar__faq{max-width:900px}
.location-solar__faq details{border-bottom:1px solid #cfe3d9;padding:22px 0}
.location-solar__faq summary{cursor:pointer;font-size:19px;font-weight:600;line-height:1.5}
.location-solar__faq p{margin:18px 0 0}
.location-solar a:focus-visible,.location-solar summary:focus-visible{outline:3px solid #ffb31f;outline-offset:5px}
@media(max-width:900px){.location-solar__cards{grid-template-columns:minmax(0,1fr)}.location-solar__photo img{height:320px}.location-solar__hero .location-solar__grid{gap:36px}}
@media(max-width:390px){.location-solar__form{padding:16px}.location-solar h1{font-size:36px}.location-solar__photo img{height:260px}}

.location-solar .text-link{color:#216c48;text-decoration:underline;text-underline-offset:3px}
.location-solar__photo--full img{height:auto;object-fit:contain;border-radius:16px}

.location-solar__photo--overlay{position:relative;overflow:hidden;border-radius:16px;isolation:isolate}
.location-solar__photo--overlay img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.location-solar__photo--overlay::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.48);pointer-events:none;z-index:1}
.location-solar__photo-caption{position:absolute;inset:0;z-index:2;display:grid;place-content:center;padding:24px;color:#fff;text-align:center;font-size:clamp(28px,3.2vw,46px);font-weight:800;line-height:1.12;letter-spacing:-.035em;text-shadow:0 2px 12px rgba(0,0,0,.25)}
