.if-site-footer {
  background: #101713;
  color: #edf4ef;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

.if-site-footer a {
  color: #edf4ef;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.if-site-footer a:hover {
  color: #bfe3ca;
}

.if-site-footer a:focus-visible,
.if-page-shell a:focus-visible {
  outline: 3px solid #e4b84a;
  outline-offset: 4px;
}

.if-site-footer__inner {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr) minmax(10rem, 1fr);
  margin: 0 auto;
  max-width: 76rem;
  padding: 3.5rem 1.5rem 2.5rem;
}

.if-site-footer__brand {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  text-decoration: none;
}

.if-site-footer__identity p {
  margin: 0 0 1rem;
  max-width: 34rem;
}

.if-site-footer__business {
  color: #c8d5cc;
  font-size: 0.92rem;
}

.if-site-footer h2 {
  color: #edf4ef;
  font-size: 1rem;
  margin: 0 0 0.85rem;
}

.if-site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.if-site-footer li + li {
  margin-top: 0.55rem;
}

.if-site-footer__social-link {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
}

.if-site-footer__social-link svg {
  flex: 0 0 auto;
  height: 1.4rem;
  width: 1.4rem;
}

.if-site-footer__relationships {
  border-top: 1px solid #344139;
  margin: 0 auto;
  max-width: 76rem;
  padding: 1.5rem;
}

.if-site-footer__relationship-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 0.25rem 0.25rem 0.9rem;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-color: #bfe3ca #26332b;
}

.if-site-footer__relationship-track:focus-visible {
  outline: 3px solid #e4b84a;
  outline-offset: 3px;
}

.if-site-footer__relationship-track li {
  flex: 0 0 calc((100% - 3rem) / 4);
  min-width: 0;
  scroll-snap-align: start;
}

.if-site-footer__relationship-track li + li {
  margin-top: 0;
}

.if-site-footer__relationship-card {
  background: #17231c;
  border: 1px solid #405246;
  border-radius: 0.85rem;
  color: #edf4ef;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  height: 100%;
  justify-content: center;
  min-height: 6rem;
  padding: 1rem;
  text-decoration: none;
}

.if-site-footer__relationship-card:hover,
.if-site-footer__relationship-card:focus-visible {
  background: #203027;
  border-color: #bfe3ca;
}

.if-site-footer__relationship-role {
  color: #bfe3ca;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.if-site-footer__relationship-name {
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.3;
}

.if-site-footer__relationship-detail {
  color: #c8d5cc;
  font-size: 0.8rem;
}

.if-site-footer__bottom {
  border-top: 1px solid #344139;
  margin: 0 auto;
  max-width: 76rem;
  padding: 1.25rem 1.5rem 1.75rem;
}

.if-site-footer__bottom p {
  color: #aebbb2;
  font-size: 0.82rem;
  margin: 0;
}

/*
 * IntentForce page roots own their outer canvas. WordPress otherwise applies
 * the global 620px reading width to these direct block children. Keep the
 * narrower reading measure on each page's inner container instead.
 */
.if-ep,
.if-ep2,
.if-vj,
.if-page-shell {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.wp-block-html:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.wp-block-group:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.entry-content:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.wp-block-post-content:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.site-content:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.content-area:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.is-layout-constrained:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
.is-layout-flow:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
main:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)),
article:has(:is(.if-ep, .if-ep2, .if-vj, .if-page-shell)) {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

.if-page-shell {
  background: #f5f1e7;
  box-sizing: border-box;
  color: #152019;
  font-family: Arial, Helvetica, sans-serif;
  min-height: 60vh;
  padding: 1.25rem 1.25rem 5rem;
}

.if-page-shell__nav,
.if-page-shell__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 52rem;
}

.if-page-shell__nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}

.if-page-shell__nav a {
  color: #152019;
  font-weight: 700;
}

.if-page-shell__brand {
  font-size: 1.25rem;
  text-decoration: none;
}

.if-page-shell__content h1 {
  font-size: clamp(2.15rem, 7vw, 4.25rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
  margin: 0 0 1.5rem;
}

.if-page-shell__content h2 {
  font-size: clamp(1.3rem, 3vw, 1.7rem);
  margin: 2.5rem 0 0.75rem;
}

.if-page-shell__content p,
.if-page-shell__content li {
  font-size: 1.05rem;
  line-height: 1.75;
}

.if-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 2rem 0;
}

.if-contact-actions a {
  background: #1f5b3a;
  border: 2px solid #1f5b3a;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  padding: 0.75rem 1.15rem;
  text-decoration: none;
}

.if-contact-actions a:last-child {
  background: transparent;
  color: #1f5b3a;
}

.if-legal-note {
  border-left: 4px solid #1f5b3a;
  color: #405046;
  margin: 2rem 0;
  padding: 0.4rem 0 0.4rem 1rem;
}

@media (max-width: 950px) {
  .if-site-footer__relationship-track li {
    flex-basis: calc((100% - 1rem) / 2);
  }
}

@media (max-width: 700px) {
  .if-site-footer__inner {
    grid-template-columns: 1fr;
    padding-top: 2.5rem;
  }

  .if-site-footer__relationship-track li {
    flex-basis: calc(100% - 1.5rem);
  }

  .if-page-shell__nav {
    margin-bottom: 2.75rem;
  }

  .if-page-shell__content p,
  .if-page-shell__content li {
    font-size: 1rem;
  }
}
