/* Go Green Plumbing Footer 2026
Scoped to .ggp-footer-2026 to avoid affecting the rest of the website. */
.ggp-footer-2026 {
--ggp-green: #6abd45;
--ggp-green-dark: #4f9f31;
--ggp-ink: #071008;
--ggp-ink-2: #0c1a0e;
--ggp-ink-3: #112515;
--ggp-white: #ffffff;
--ggp-muted: #b8c7ba;
--ggp-line: rgba(255,255,255,.12);
width: 100%;
background: var(--ggp-ink);
color: var(--ggp-white);
font-family: inherit;
line-height: 1.55;
}.ggp-footer-2026,
.ggp-footer-2026 * {
box-sizing: border-box;
}.ggp-footer-2026 a {
color: inherit;
text-decoration: none;
}.ggp-footer-2026 a:focus-visible {
outline: 3px solid rgba(106,189,69,.55);
outline-offset: 4px;
border-radius: 3px;
}.ggp-footer-2026__inner {
width: min(1240px, calc(100% - 48px));
margin: 0 auto;
}/* CTA strip */
.ggp-footer-2026__cta {
position: relative;
overflow: hidden;
background:
radial-gradient(circle at 84% 10%, rgba(255,255,255,.15), transparent 28%),
linear-gradient(135deg, var(--ggp-green-dark), var(--ggp-green));
}.ggp-footer-2026__cta::after {
content: "";
position: absolute;
right: -95px;
bottom: -145px;
width: 360px;
height: 360px;
border: 54px solid rgba(255,255,255,.07);
border-radius: 50%;
pointer-events: none;
}.ggp-footer-2026__cta-inner {
position: relative;
z-index: 1;
min-height: 190px;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 42px;
padding: 38px 0;
}.ggp-footer-2026__eyebrow {
margin: 0 0 7px;
color: #0a1a0b;
font-size: 12px;
font-weight: 800;
letter-spacing: 1.5px;
text-transform: uppercase;
}.ggp-footer-2026__cta-title {
margin: 0;
max-width: 720px;
color: var(--ggp-white);
font-size: clamp(30px, 4vw, 48px);
font-weight: 800;
line-height: 1.08;
letter-spacing: -1.1px;
}.ggp-footer-2026__cta-text {
margin: 10px 0 0;
max-width: 650px;
color: rgba(255,255,255,.92);
font-size: 16px;
}.ggp-footer-2026__cta-actions {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
gap: 12px;
}.ggp-footer-2026__button {
min-height: 50px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 9px;
padding: 12px 20px;
border: 2px solid var(--ggp-white);
border-radius: 6px;
font-size: 14px;
font-weight: 800;
line-height: 1.2;
transition: transform .2s ease, background-color .2s ease, color .2s ease;
}.ggp-footer-2026__button:hover {
transform: translateY(-2px);
}.ggp-footer-2026__button--light {
background: var(--ggp-white);
color: var(--ggp-ink) !important;
}.ggp-footer-2026__button--outline {
background: transparent;
color: var(--ggp-white) !important;
}/* Main footer */
.ggp-footer-2026__main {
background:
linear-gradient(180deg, rgba(255,255,255,.025), transparent 34%),
var(--ggp-ink);
}.ggp-footer-2026__grid {
display: grid;
grid-template-columns: 1.15fr 1.7fr 1.05fr .9fr;
gap: 54px;
padding: 64px 0 50px;
}.ggp-footer-2026__logo {
display: block;
width: min(230px, 100%);
height: auto;
margin: 0 0 22px;
}.ggp-footer-2026__brand-copy {
margin: 0 0 23px;
max-width: 340px;
color: var(--ggp-muted);
font-size: 14px;
}.ggp-footer-2026__contact-list,
.ggp-footer-2026__links {
list-style: none;
margin: 0;
padding: 0;
}.ggp-footer-2026__contact-list {
display: grid;
gap: 12px;
}.ggp-footer-2026__contact-item {
display: grid;
grid-template-columns: 20px minmax(0, 1fr);
gap: 10px;
align-items: start;
color: #eaf1eb;
font-size: 14px;
}.ggp-footer-2026__contact-item svg {
width: 18px;
height: 18px;
margin-top: 2px;
color: var(--ggp-green);
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}.ggp-footer-2026__contact-item a:hover {
color: var(--ggp-green);
}.ggp-footer-2026__heading {
position: relative;
margin: 0 0 22px;
padding-bottom: 12px;
color: var(--ggp-white);
font-size: 17px;
font-weight: 800;
letter-spacing: .1px;
}.ggp-footer-2026__heading::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 36px;
height: 3px;
border-radius: 10px;
background: var(--ggp-green);
}.ggp-footer-2026__service-groups {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 28px;
}.ggp-footer-2026__subheading {
margin: 0 0 12px;
color: var(--ggp-green);
font-size: 12px;
font-weight: 800;
letter-spacing: 1px;
text-transform: uppercase;
}.ggp-footer-2026__links {
display: grid;
gap: 8px;
}.ggp-footer-2026__links a {
position: relative;
display: inline-block;
color: var(--ggp-muted);
font-size: 13.5px;
line-height: 1.4;
transition: color .18s ease, transform .18s ease;
}.ggp-footer-2026__links a:hover {
color: var(--ggp-green);
transform: translateX(3px);
}.ggp-footer-2026__links a.ggp-footer-2026__hub {
color: var(--ggp-white);
font-weight: 700;
}.ggp-footer-2026__links a.ggp-footer-2026__hub::before {
content: "";
display: inline-block;
width: 6px;
height: 6px;
margin: 0 8px 1px 0;
border-radius: 50%;
background: var(--ggp-green);
}.ggp-footer-2026__areas {
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 18px;
}.ggp-footer-2026__hours {
display: grid;
gap: 8px;
margin-bottom: 25px;
color: var(--ggp-muted);
font-size: 13.5px;
}.ggp-footer-2026__hours-row {
display: flex;
justify-content: space-between;
gap: 16px;
padding-bottom: 7px;
border-bottom: 1px solid rgba(255,255,255,.07);
}.ggp-footer-2026__hours-row strong {
color: var(--ggp-white);
font-weight: 700;
}.ggp-footer-2026__mini-button {
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
min-height: 45px;
padding: 10px 15px;
border-radius: 5px;
background: var(--ggp-green);
color: #081308 !important;
font-size: 13px;
font-weight: 800;
transition: background-color .18s ease, transform .18s ease;
}.ggp-footer-2026__mini-button:hover {
background: #7dce59;
transform: translateY(-2px);
}/* Recognition */
.ggp-footer-2026__recognition {
border-top: 1px solid var(--ggp-line);
border-bottom: 1px solid var(--ggp-line);
background: var(--ggp-ink-2);
}.ggp-footer-2026__recognition-inner {
display: grid;
grid-template-columns: 210px repeat(4, minmax(120px, 1fr));
align-items: center;
gap: 18px;
padding: 24px 0;
}.ggp-footer-2026__recognition-label {
color: var(--ggp-white);
font-size: 15px;
font-weight: 800;
}.ggp-footer-2026__recognition-label span {
display: block;
margin-top: 3px;
color: var(--ggp-muted);
font-size: 12px;
font-weight: 500;
}.ggp-footer-2026__badge {
min-height: 86px;
display: flex;
align-items: center;
justify-content: center;
padding: 12px 14px;
border: 1px solid rgba(255,255,255,.1);
border-radius: 7px;
background: rgba(255,255,255,.96);
}.ggp-footer-2026__badge img {
display: block;
max-width: 100%;
max-height: 62px;
width: auto;
height: auto;
object-fit: contain;
}/* Bottom bar */
.ggp-footer-2026__bottom {
background: #050b06;
}.ggp-footer-2026__bottom-inner {
min-height: 72px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
padding: 18px 0;
color: #91a293;
font-size: 12.5px;
}.ggp-footer-2026__bottom-links {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 18px;
}.ggp-footer-2026__bottom-links a:hover {
color: var(--ggp-green);
}@media (max-width: 1100px) {
.ggp-footer-2026__grid {
grid-template-columns: 1fr 1.45fr 1fr;
}.ggp-footer-2026__hours-column {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
padding-top: 10px;
}.ggp-footer-2026__recognition-inner {
grid-template-columns: repeat(4, 1fr);
}.ggp-footer-2026__recognition-label {
grid-column: 1 / -1;
}
}@media (max-width: 820px) {
.ggp-footer-2026__inner {
width: min(100% - 34px, 1240px);
}.ggp-footer-2026__cta-inner {
grid-template-columns: 1fr;
gap: 24px;
min-height: 0;
padding: 36px 0;
}.ggp-footer-2026__cta-actions {
justify-content: flex-start;
}.ggp-footer-2026__grid {
grid-template-columns: 1fr 1fr;
gap: 42px 34px;
padding: 48px 0 42px;
}.ggp-footer-2026__brand-column,
.ggp-footer-2026__services-column {
grid-column: 1 / -1;
}.ggp-footer-2026__hours-column {
grid-column: auto;
display: block;
padding-top: 0;
}.ggp-footer-2026__recognition-inner {
grid-template-columns: repeat(2, 1fr);
}.ggp-footer-2026__bottom-inner {
align-items: flex-start;
flex-direction: column;
justify-content: center;
}
}@media (max-width: 560px) {
.ggp-footer-2026__inner {
width: min(100% - 28px, 1240px);
}.ggp-footer-2026__cta-title {
font-size: 32px;
}.ggp-footer-2026__cta-actions,
.ggp-footer-2026__button {
width: 100%;
}.ggp-footer-2026__grid {
grid-template-columns: 1fr;
gap: 38px;
}.ggp-footer-2026__brand-column,
.ggp-footer-2026__services-column {
grid-column: auto;
}.ggp-footer-2026__service-groups {
grid-template-columns: 1fr;
}.ggp-footer-2026__recognition-inner {
grid-template-columns: 1fr 1fr;
}.ggp-footer-2026__recognition-label {
grid-column: 1 / -1;
}.ggp-footer-2026__badge {
min-height: 78px;
}.ggp-footer-2026__bottom-links {
gap: 12px 16px;
}
}


