/* Footer list reset — eliminates default WP list styles in footer nav columns */
.site-footer-wrap .footer-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.site-footer-wrap .footer-list a {
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  font-size: 15px;
  transition: color 160ms ease;
}
.site-footer-wrap .footer-list a:hover {
  color: #fff;
  text-decoration: none;
}

/* Legal sidebar list */
.legal-sidebar-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.legal-sidebar-list li { margin: 0 !important; }
.legal-sidebar-list a {
  display: block;
  padding: 10px 12px;
  border-left: 2px solid rgba(34,34,34,0.10);
  font-size: 14px;
  color: #4A4A4A;
  text-decoration: none;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}
.legal-sidebar-list a:hover,
.legal-sidebar-list a.is-active {
  color: #D2384A;
  border-left-color: #D2384A;
  background: #fff;
}

/* FAQ inline styles backup (for patterns) */
.gf-faq__a { display: none; }
.gf-faq__item.is-open .gf-faq__a { display: block; }

/* Scope list with teal checkmarks */
.gf-scope-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.gf-scope-list li {
  position: relative;
  padding-left: 32px;
  font-size: 16px;
  line-height: 1.5;
  color: #4A4A4A;
  margin-bottom: 12px;
}
.gf-scope-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 4px;
  width: 22px; height: 22px;
  background: #CCE6E7;
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232E9C9F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}

/* Timeline responsive */
@media (max-width: 880px) {
  .gf-timeline { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 520px) {
  .gf-timeline { grid-template-columns: 1fr !important; }
}

/* Coverage grid responsive */
@media (max-width: 720px) {
  [style*="grid-template-columns: repeat(5, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Hero visual height constraint on mobile */
@media (max-width: 820px) {
  .gf-hero__visual { aspect-ratio: 4/3 !important; min-height: 280px !important; }
  .gf-service-hero .wp-block-column:last-child { display: none; }
}
