/* Requested declarations footer. These rules are confined to the footer. */
footer.hydro-smart-footer {
  position: relative;
  isolation: isolate;
  overflow: visible;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 44px 0 0;
  padding: 34px 24px 28px;
  border: 0;
  border-top: 8px solid #123b4a;
  background-color: #edf4f1;
  background-image: linear-gradient(100deg, rgba(237, 245, 241, .88), rgba(225, 239, 232, .86)), url('/assets/field-circles.webp');
  background-size: cover;
  background-position: center;
  color: #1f343d;
  text-align: left;
  font-size: .92rem;
  line-height: 1.65;
}
.hydro-smart-footer .hydro-footer-inner { position: relative; max-width: 1280px; margin: 0 auto; }
.hydro-smart-footer .hydro-footer-inner::after { content: ''; position: absolute; right: 0; bottom: 10px; width: 300px; height: 220px; opacity: .14; background: url('/assets/footer-irrigation-pattern.svg') center / contain no-repeat; pointer-events: none; z-index: -1; }
.hydro-smart-footer .hydro-footer-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.hydro-smart-footer .hydro-footer-panel { min-width: 0; padding: 20px 18px; margin: 0; border: 1px solid #c9ddd5; border-radius: 12px; background: #fff; }
.hydro-smart-footer .hydro-footer-panel:first-child { position: relative; margin-top: -64px; background-color: #123b4a; background-image: linear-gradient(135deg, rgba(18, 59, 74, .95), rgba(15, 70, 67, .90)), url('/assets/field-circles-640.webp'); background-size: cover; background-position: center; border-color: #123b4a; box-shadow: 0 12px 26px rgba(18, 59, 74, .2); }
.hydro-smart-footer .hydro-footer-panel:nth-child(3) { position: relative; margin-top: -48px; background: #e6f0f6; border-color: #c3d8e5; box-shadow: 0 10px 22px rgba(18, 59, 74, .1); }
.hydro-smart-footer .hydro-footer-panel:nth-child(4) { background: #fff6e6; border-color: #e8d9bd; }
.hydro-smart-footer h2 { margin: 0 0 12px; padding: 0; color: #123b4a; font-size: 1rem; font-weight: 800; line-height: 1.4; letter-spacing: 0; }
.hydro-smart-footer p, .hydro-smart-footer .quiet { margin: 0 0 10px; color: #2d4850; font-size: .9rem; line-height: 1.65; opacity: 1; overflow-wrap: anywhere; }
.hydro-smart-footer a { color: #145f68; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.hydro-smart-footer a:hover { color: #123b4a; text-decoration-thickness: 2px; }
.hydro-smart-footer a:focus-visible { outline: 3px solid #e65100; outline-offset: 4px; border-radius: 2px; }
.hydro-smart-footer .hydro-footer-panel > a { display: block; margin: 8px 0 0; }
.hydro-smart-footer .hydro-footer-contact { margin: 0 0 12px; }
.hydro-smart-footer .hydro-footer-panel:first-child h2 { color: #fff; }
.hydro-smart-footer .hydro-footer-panel:first-child p, .hydro-smart-footer .hydro-footer-panel:first-child .quiet { color: #e6f3f1; }
.hydro-smart-footer .hydro-footer-panel:first-child a { color: #d9f7ed; }
.hydro-smart-footer .hydro-footer-panel:first-child a:hover { color: #fff; }
.hydro-smart-footer .hydro-footer-legal { position: relative; z-index: 2; margin: 20px 0 0; padding: 20px; border: 1px solid #cbded6; border-radius: 12px; background: #fafcfb; }
.hydro-smart-footer .hydro-footer-original { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px 28px; align-items: start; }
.hydro-smart-footer .brand-wordmark { width: 220px; max-width: 100%; height: auto; }
.hydro-smart-footer .page-citation { grid-column: 1 / -1; margin: 0; }
.hydro-smart-footer .page-citation summary { font-weight: 750; color: #123b4a; cursor: pointer; }
.hydro-smart-footer .hydro-footer-image-credit { position: relative; z-index: 2; margin: 14px 0 0; font-size: .78rem; color: #294850; }
@media (max-width: 1000px) {
  .hydro-smart-footer .hydro-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hydro-smart-footer .hydro-footer-panel:nth-child(3) { margin-top: 0; box-shadow: none; }
}
@media (max-width: 600px) {
  footer.hydro-smart-footer { padding: 26px 20px 88px; margin-top: 30px; }
  .hydro-smart-footer .hydro-footer-grid, .hydro-smart-footer .hydro-footer-original { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hydro-smart-footer .hydro-footer-original { gap: 12px; }
}
