.body--index-pg.gridfield,
.div--canvas.gridfield {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.body--index-pg,
.div--canvas {
  margin: 0 auto;
  max-width: 75rem;
}

.div--cta-and-contact-info,
.footer--index-pg { grid-column: 3 / span 8; }

.div--gp-contact-info--header--desktop.flexcolumn,
.div--gp-contact-info--header--mobile.flexcolumn {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}

.article--testimonial {
  background: var(--testimonial-background);
  border: 1px solid var(--testimonial-border-color);
  border-radius: 3px;
  box-shadow: 2px 2px 8px var(--testimonial-shadow-color);
  font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
  font-size: 1.1em;
  margin-bottom: 3em;
  padding: 2em;
}

.body--index-pg {
  padding-top: 2.5em;
  text-align: center;
}

.body--interior-pg { overflow-x: hidden; }

.div--gp-contact-info--header--desktop { margin-top: 3em; }

.div--gp-contact-info--header--mobile { font-size: .8em; }

.div--gp-contact-info-index-pg.flexcolumn {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.div--gp-contact-info-index-pg {
  font-size: 1.4em;
  margin-bottom: 40px;

  @media (max-width: 640px) {
    font-size: 1.2em;
  }
}

.div--gp-signatures.flextrack {
  column-gap: 2em;
  display: flex;
  flex-wrap: wrap;
}
.div--gp-signatures { margin-left: 1em; }

.figure--servicearea-map {
  height: 400px;
  margin-top: 2.6em;
}

.footer--interior-pg {
  grid-column: 1 / span 12;

  @media (min-width: 40rem) {
    grid-column: 4 / span 9;
    padding-inline: .9375rem;
  }
}

.header--index-pg {
  grid-column: 2 / span 10;
  padding-inline: .625rem; /* immitate Foundation's column default padding */

  @media (min-width: 40rem) {
    grid-column: 3 / span 8;
    padding-inline: 1rem; /* imitate Foundation's logo size at this breakpoint */
  }
}

.header--interior-pg-desktop.flexrow {
  @media (min-width: 40rem) {
    display: flex;
    justify-content: space-between;
  }
}
.header--interior-pg-desktop {
  display: none;

  @media (min-width: 40rem) {
    grid-column: 1 / span 12;
    height: 12em;
    margin-bottom: 1em;
    padding-inline: 1.875rem;
    padding-top: 1em;
  }
}

.header--interior-pg-mobile.flexrow { /* mirror: nav.css::.header-nav--mobile.flexrow */
  align-items: center; /* mirror */
  display: flex; /* mirror */
  justify-content: space-between; /* mirror */

  @media (min-width: 40rem) {
    display: none;
  }
}
.header--interior-pg-mobile { /* mirror: nav.css::.header-nav--mobile */
  background-color: white;
  box-shadow: 0 2px 15px rgba(50, 50, 50, 0.74);
  grid-column: 1 / span 12;
  line-height: 1;
  margin-bottom: 2em;
  padding: .7em .5rem;
  position: sticky;
  top: 0;
  z-index: 100;
}

.header--print-pg.flexrow {
  display: flex;
  justify-content: space-between;
}
.header--print-pg {
  height: 180px;
  margin-right: 20px;
}

.header--testimonial {
  margin-bottom: 3em;
  text-align: right;
}

.li--testimonial-excerpt {
  font-size: 1.2em;
  font-style: italic;
  margin: 0 auto 3em;
  text-align: left;

  @media (max-width: 640px) { font-size: 1em; }
}

.main--interior-pg {
  grid-column: 1 / span 12;
  padding-inline: .625rem; /* immitate Foundation's column default padding */

  @media (min-width: 40rem) {
    grid-column: 4 / span 9;
    padding-inline: .9375rem;
  }
}

.main--print-pg {
  font-size: 10pt;
  margin: 0 20px 0 0;
}

.nav--desktop {
  display: none;

  @media (min-width: 40rem) {
    display: block;
    grid-column: 1 / span 3;
    padding-inline: .9375rem;
  }
}

.section--testimonials-intro { margin-bottom: 3em; }

.ul--testimonials-excerpts {
  grid-column: 1 / span 12;
  list-style: none;
  margin-left: 0;
  padding-inline: 1.375rem;

  @media (min-width: 40rem) {
    grid-column: 3 / span 8;
    padding: unset;
  }

  @media (min-width: 64rem) {
    grid-column: 4 / span 6;
  }
}
