.gal-hero{position:relative;min-height:42vh;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden;text-align:center}.gal-hero__bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(to bottom,#003049ad,#00304985),url(/images/Scarpignato-Plumbing-and-Heating-Wallingford-PA.jpg);background-size:cover;background-position:top center}.gal-hero__inner{position:relative;z-index:1;padding-block:80px}.gal-hero h1{color:#fff;margin-bottom:12px}.gal-hero__sub{font-size:1.05rem;opacity:.88;max-width:560px;margin-inline:auto;font-family:var(--font-body)}.gal-section{padding-block:72px;background:var(--white)}.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gal-item{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;background:var(--light-bg);aspect-ratio:1 / 1;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}.gal-item:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.gal-item:hover img{transform:scale(1.06)}.gal-item__overlay{position:absolute;inset:0;background:#00304900;display:flex;align-items:center;justify-content:center;transition:background .25s}.gal-item:hover .gal-item__overlay{background:#0030496b}.gal-item__overlay svg{opacity:0;transform:scale(.7);transition:opacity .25s,transform .25s;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.gal-item:hover .gal-item__overlay svg{opacity:1;transform:scale(1)}.gal-lb{display:none;position:fixed;inset:0;z-index:9999;background:#000000eb;align-items:center;justify-content:center;padding:20px;animation:lb-fade-in .2s ease}.gal-lb.is-open{display:flex}@keyframes lb-fade-in{0%{opacity:0}to{opacity:1}}.gal-lb__inner{position:relative;max-width:1000px;width:100%;display:flex;align-items:center;gap:16px}.gal-lb__img-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.gal-lb__img{max-width:100%;max-height:82vh;border-radius:var(--radius-lg);box-shadow:0 8px 48px #00000080;display:block;animation:lb-img-in .18s ease}@keyframes lb-img-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gal-lb__btn{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s;padding:0}.gal-lb__btn:hover{background:#ffffff38;border-color:#fff9}.gal-lb__close{position:absolute;top:-56px;right:0;width:40px;height:40px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;padding:0}.gal-lb__close:hover{background:#ffffff40}.gal-lb__counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#fff9;font-family:var(--font-head);font-size:.85rem;font-weight:600;letter-spacing:.06em;white-space:nowrap}.gal-cta{background:var(--navy);padding-block:64px;text-align:center}.gal-cta h2{color:#fff;margin-bottom:14px}.gal-cta p{color:#ffffffd1;font-size:1.05rem;max-width:560px;margin-inline:auto;margin-bottom:28px;line-height:1.7}.gal-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.gal-cta__btn{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:1rem;padding:14px 28px;border-radius:var(--radius);border:2px solid transparent;transition:background .15s,border-color .15s}.gal-cta__btn--red{background:var(--red);color:#fff;border-color:var(--red)}.gal-cta__btn--red:hover{background:var(--red-hover);border-color:var(--red-hover)}.gal-cta__btn--outline{background:transparent;color:#fff;border-color:#ffffff80}.gal-cta__btn--outline:hover{background:#ffffff1a;border-color:#fff}@media(max-width:768px){.gal-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gal-hero{min-height:36vh}.gal-hero__inner{padding-block:60px}.gal-lb__inner{gap:8px}.gal-lb__btn{width:38px;height:38px}}@media(max-width:480px){.gal-grid{grid-template-columns:1fr;gap:10px}}
