/* BSolar project gallery */
.ref-hero{background:radial-gradient(ellipse at 82% 5%,#315846,transparent 68%),#173f34;color:#fff}
.ref-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(26px,5vw,76px);padding-block:clamp(34px,5.6vw,84px)}
.ref-hero h1{font-size:clamp(38px,5.3vw,80px);letter-spacing:-.045em;line-height:1.04;margin:0 0 20px;overflow-wrap:break-word}
.ref-hero p:not(.eyebrow){font-size:clamp(16px,1.5vw,20px);line-height:1.65;color:#e4eee8;max-width:32rem;margin-bottom:25px}
.ref-hero .eyebrow,.ref-work .eyebrow{margin-bottom:14px}
.ref-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px 22px}
.ref-actions>a:not(.button){font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.ref-actions .button{gap:14px}
.ref-hero figure{margin:0;border-radius:18px;overflow:hidden;background:#102c24;border:1px solid #ffffff26;box-shadow:0 20px 56px #0e2c24a0}
.ref-hero img{display:block;width:100%;height:auto}
.ref-hero figcaption{padding:10px 16px;color:#e4eee8;font-size:13px;font-weight:700}
.ref-hero figcaption span{color:var(--sun);margin-right:5px}
.ref-work{padding-block:clamp(38px,6vw,88px)}
.ref-work h2{margin-bottom:10px}
.ref-work>p:not(.eyebrow){margin-bottom:clamp(23px,3vw,38px)}
.ref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,38px)}
.ref-project{min-width:0;border:1px solid #dce3e1;border-radius:18px;background:#f8faf7;box-shadow:0 10px 28px #123f3210}
.ref-project-body{padding:clamp(16px,2.6vw,30px)}
.ref-project h3{font-size:clamp(21px,2.3vw,31px);letter-spacing:-.025em;line-height:1.18;margin-bottom:10px}
.ref-project p:not(.ref-location){margin:0;font-size:15px;line-height:1.65}
.ref-location{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:#315846;font-size:13px;font-weight:800}
.ref-location span{padding:1px 7px;border-radius:4px;background:#e7eee5;font-variant-numeric:tabular-nums}
.ref-photo{display:block;position:relative}
.ref-photo img{display:block;object-fit:cover}
.ref-photo-cover img{border-radius:17px 17px 0 0;width:100%;height:auto;aspect-ratio:8 / 5}
.ref-photo-cover>span{position:absolute;right:10px;bottom:10px;background:#122d25f0;color:white;padding:6px 11px;border-radius:6px;font-size:12px;font-weight:750}
.ref-photo-cover>span span{color:var(--sun);margin-left:3px}
.ref-photo:hover>span{text-decoration:underline;text-underline-offset:3px}
.ref-details{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid #dce3e1}
.ref-photo-thumb{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce3e1;border-radius:9px;background:white;padding:4px 10px 4px 4px;font-size:12px;font-weight:750}
.ref-photo-thumb img{width:64px;height:48px;border-radius:5px}
.ref-dialog{position:fixed;overflow:auto;width:max-content;max-width:min(94vw,1120px);max-height:93dvh;padding:12px;background:#102d25;color:white;border:1px solid #ffffff33;border-radius:15px}
.ref-dialog::backdrop{background:#071912d9}
.ref-dialog button{display:grid;place-items:center;width:44px;height:44px;line-height:1;margin:0 0 8px auto;border:1px solid #ffffff40;border-radius:50%;background:#214538;color:white;font-size:29px}
.ref-dialog figure{margin:0}
.ref-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(90dvh - 115px);object-fit:contain;margin:auto;border-radius:8px}
.ref-dialog figcaption{margin-top:9px;text-align:center;font-size:14px;line-height:1.45}
@media(max-width:760px){
  .ref-hero-inner,.ref-grid{grid-template-columns:1fr}
  .ref-hero h1{font-size:clamp(33px,10vw,52px)}
  .ref-hero .button{min-height:46px;padding:11px 15px}
  .ref-project-body{padding:18px}
}
