/* Prevent WordPress global constrained-layout rules from narrowing homepage sections. */
.editable-homepage > .wp-block-group,
.editable-homepage .wp-block-group.shell,
.editable-homepage .focus > .focus-inner,
.editable-homepage .wp-block-columns.cards,
.editable-homepage .wp-block-columns.steps,
.editable-homepage .wp-block-columns.industries,
.editable-homepage .wp-block-post-template.post-grid {
  max-width: none !important;
}

.editable-homepage .wp-block-group.shell > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.editable-homepage .focus-inner > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.editable-homepage .hero,
.editable-homepage .statement,
.editable-homepage .services,
.editable-homepage .approach,
.editable-homepage .about,
.editable-homepage .insights,
.editable-homepage .contact,
.editable-homepage .focus-inner {
  width: min(1180px, calc(100% - 48px));
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.editable-homepage .focus {
  width: 100%;
  max-width: none !important;
}

/* Restore the layouts WordPress may replace with its default block gaps. */
.editable-homepage .statement { display: grid; grid-template-columns: 1fr 3fr; }
.editable-homepage .cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editable-homepage .focus-inner { display: grid; grid-template-columns: 1.1fr .9fr; }
.editable-homepage .industries { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editable-homepage .steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.editable-homepage .about { display: grid; grid-template-columns: 1fr 1.2fr; }
.editable-homepage .contact { display: grid; grid-template-columns: 1fr 1fr; }
.editable-homepage .post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 900px) {
  .editable-homepage .statement,
  .editable-homepage .focus-inner,
  .editable-homepage .about,
  .editable-homepage .contact { grid-template-columns: 1fr; }
  .editable-homepage .cards { grid-template-columns: 1fr; }
  .editable-homepage .steps,
  .editable-homepage .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .editable-homepage .hero,
  .editable-homepage .statement,
  .editable-homepage .services,
  .editable-homepage .approach,
  .editable-homepage .about,
  .editable-homepage .insights,
  .editable-homepage .focus-inner { width: min(100% - 30px, 1180px); }
  .editable-homepage .contact { width: 100%; }
  .editable-homepage .steps,
  .editable-homepage .post-grid { grid-template-columns: 1fr; }
}
